Linux Journal Ceases Publication: An Awkward Goodbye - <AUTHOR> https://www.linuxjournal.com/ <comment><USER2> This quote is particularly biting:

"It became clearer than ever to me that while Linux and FOSS had won the battle over the tech giants a decade before, new ones had taken their place in the meantime, and we were letting them win."

It's true. We won it all, but we somehow still lost, and that's a difficult and sad thing to realize. Even though FOSS ate the world, we didn't win software freedom, we just enabled a bunch of new tech giants to put us into consumer roles with little to no freedom once again.

<comment><USER3> I think the wins of the open camp are real and tangible and they powerfully shape the industry. Android is free precisely because an open kernel is available that could empower a competitor. Google is absolutely paranoid about this possibility, and is severly limited in the Microsoft-esque moves they can make.

I think what precludes the final victory of open source is that the world itself changed for the better. The mobile and web revolution brought easy to use software into the hands of billions. These are people who wouldn't have been able to touch a PC twenty years ago, let alone understand or care about what source code is. They have vastly different expectations than the professional software users that created the free source movement in the image of the hackers of the 70s and 80s. Just look at the number of rooted phones sold. It's an appliance model of computing.

In this new consumer environment, the free source development model is less adequate and cannot compete with commercial software that can directly monetize the apps and invest in further development. What is required, I think, is to update the free software philosophy to the 21st century, and relax some of the ideological goals to facilitate development and reach the more substantial goals, like privacy and security.

The walled gardens of Google and Apple can be replicated. What is lacking is a free software business model that can gather the $1 billion or so required.

<comment><USER4> > I think what precludes the final victory of open source is that the world > itself changed for the better.

Maybe we don't live in the same world???

> The mobile and web revolution brought easy to use software into the hands of > billions.

Yes, but this software is not empowering the users, it is controlling them, isolating them, radicalizing them and making them feel more depressed.

<comment><USER5> "We put a chicken in every pot! Nevermind that they're rotting, salmonella- filled carcasses, we still did it!"

And:

>In this new consumer environment, the free source development model is less adequate and cannot compete with commercial software that can directly monetize the apps and invest in further development.

What, exactly, is supposed to be new here? I see nothing distinguishing the economics of this "new consumer environment" from 1995, except maybe that Redhat doesn't sell CDs anymore.

What has changed since the 90s is increasingly onerous intellectual property law, anti-reverse-engineering laws, and the continued creep of the belief that ideas should be owned.

And this is precisely backwards:

> What is required, I think, is to update the free software philosophy to the > 21st century, and relax some of the ideological goals to facilitate > development and reach the more substantial goals, like privacy and security.

If everybody's crazy uncle RMS had been more accommodating, more willing to compromise on ideology, things never would have changed in the 90s. One slightly cynical way of looking at it is that he was could play Bad Cop to ESR and others' more corporate-friendly, accommodationist "Open Source" promotion, somewhat similar (for much lower stakes) to how Huey Newton played bad-cop to MLK's nonviolence.

If you drop the principle of always putting the user first, you'll eventually compromise on everything else.

<comment><USER3> > What, exactly, is supposed to be new here? I see nothing distinguishing the > economics of this "new consumer environment" from 1995

The free software model failed all the same in 1995 for a certain class of applications. It's great for high performance, challenging pieces of code, for kernels, servers and databases. Things with a large community of devolopers among the users, willing to push patches back. Things that look good on a CV. Software that needs to customized for professional users.

It's less good for mass market software. It's flawed for complete games (as opposed to game engines). It's bad for professional software not used by developers and that does not require customization. For example, it has never been able to displace most Adobe products, despite the numerous attempts and the revolting behavior of that company towards it's clients.

What changed was not the economic realities of free software. It's simply that the type of projects where it shines have grown much slower than the rest of the consumer software ecosystem. The world of computing moved ahead from the needs of programmers to the needs of ordinary people, many of whom are willing to pay .99 to solve them.

Insisting on "free to use" today stops you from realizing the other, more substantial free software freedoms, and deprives the projects from much needed resources in their competition with closed software.

</comment></comment></comment></comment></comment><comment><USER6> I've been writing for Linux Journal since 1996.

Two years ago, we were told (with zero notice) that the magazine was shutting down. This was disappointing on numerous levels, and I wrote about it here:

[https://lerner.co.il/2017/12/01/sad-day-end-linux- journal-2/](https://lerner.co.il/2017/12/01/sad-day-end-linux-journal-2/)

This morning, I woke up to discover that once again, Linux Journal is shutting down -- this time, for good. I'm sad for myself, but I'm also sad for the many amazing authors and editors with whom I've worked over the years. I've also met a huge number of readers at conferences at clients' offices, and I'm sorry that the magazine will no longer be around to serve them.

<comment><USER7> Do you think some of the same content might make it to other publications, or will most of the writers stop producing Linux articles?

<comment><USER6> I'm going to keep blogging and writing my free, weekly Better Developers newsletter about Python and related technologies. (Not the same circulation as LJ, but more than 13k subscribers.)

I don't know about the others, but I hope they continue writing, as well.

<comment><USER8> Can you please link your newsletter subscription link here?

<comment><USER9> It's here [http://lerner.co.il/newsletter](http://lerner.co.il/newsletter)

</comment></comment></comment></comment></comment><comment><USER10> I've saved it! Here is a backup mirror:

[http://linuxjournal.as.boramalper.org/secure2.linuxjournal.c...](http://linuxjournal.as.boramalper.org/secure2.linuxjournal.com/ljarchive/)

If you'd like a copy too, please download & seed the torrent instead of scraping: [http://linuxjournal.as.boramalper.org/linuxjournal.torrent](http://linuxjournal.as.boramalper.org/linuxjournal.torrent)

<comment><USER11> Could you make a mirror and torrent of the 170 PDFs as well? They go back to April 2005. You can find them at ljarchive.neverlocate.me/LinuxJournal

<comment><USER10> I am afraid that might be illegal as they did not un-paywall the PDFs yet.

<comment><USER12> All PDFs on this page: [https://secure2.linuxjournal.com/pdf/dljdownload.php](https://secure2.linuxjournal.com/pdf/dljdownload.php) appear to be un-paywalled now (they were not yesterday).

<comment><USER10> Well here you go then! [https://linuxjournal.as.boramalper.org/linuxjournal- issues.t...](https://linuxjournal.as.boramalper.org/linuxjournal- issues.torrent)

<comment><USER13> Transmission seems to be unable to open this for some reason. No errors, but no progress then appears. Also doesn't ask where I want to save locally. Weird.

<comment><USER14> Yeah, too bad. Worked fine in qBittorrent though.

But I wanted to seed it for a while via Transmission on one of my servers, that is not gonna fly now for me unfortunately.

Thanks for the mirroring effort!

<comment><USER13> Here is a magnetic link to the Transmission archive magnet:?xt=urn:btih:f3ef2d13f39efbb92ad84b877a6a686c5eba6ca6&dn=linuxjournal- issues-mirror.tar.gz

<comment><USER13> Updated link with a a tracker magnet:?xt=urn:btih:f3ef2d13f39efbb92ad84b877a6a686c5eba6ca6&dn=linuxjournal- issues-mirror.tar.gz&tr=http%3A%2F%2Ftracker.gbitt.info%3A80%2Fannounce

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER15> Let's hope lwn doesn't suffer the same fate... if there are any LJ subscribers who don't subscribe to lwn, I hope they may take out a lwn subscription.

<comment><USER16> lwn?

<comment><USER17> Linux Weekly News focuses on substantive technical content, like today's article on the Linux kernel's use of the switch statement: [https://lwn.net/SubscriberLink/794944/a5770e282352a2e6/](https://lwn.net/SubscriberLink/794944/a5770e282352a2e6/)

Or today's article on the CTF debugging format. They're pretty much the only resource aimed at intermediate or advanced developers that's written to be highly technical but not academic.

</comment></comment></comment><comment><USER18> I have been a subscriber since 1997.

Even when my focus switched back to Windows, I kept subscribing to it (there were a few times failed to renew though), because I saw value on them.

Sad to see it go, apparently we weren't enough to save them, on a generation that doesn't want to pay for their tools.

Free beer tools, free beer information, free beer everywhere.

And then good quality stuff just vanishes.

<comment><USER19> Well, considering the boom of streaming services across young generation, that's a free attack.

Other reformulated: People change interests. Unfortunately Apple is taking the cake of the most desirable gadgets manufacturer and of course Linux never got that traction (how many years have we read about 'This is the year of Linux Desktop'?).

<comment><USER19> The worse part is when a Big $$$ Corp uses free tools and never pays back to those who worked hard. Most of the Cloud Services are using opensource and free tools to gain billions of dollars yearly, but how much do the Linux community gets back? Maybe $25K once in a while

<comment><USER20> Are you personally a part of the linux community? I mean: Do you maintain some free tool, or are you essentially like those big corps who use free tools and never pay pack?

<comment><USER21> This is a tough question, at least for me. I do maintain a number of pieces of Free software, and have contributed (sometimes significantly) to a number of applications with wide(ish) use.

I once got a kind note once from someone working in the film industry who told me my mtf/bkf tool saved their renders after a particularly nasty blunder involving their cluster and backup servers. I'm sure this probably saved them a quarter-million dollars or more, but none of that savings made it my way.

And outside of that one email, over the last nearly thirty years I've received nothing else but abuse and nit. Forks, sure. Patches, a few. But the overwhelming attitude of the open source community is that I work for free, or fuck you.

Well, fuck you guys right back!

HN isn't unique in believing there's some kind of virtue if you can get one over on your fellow man and make a buck on his or her back. Everyone seems to be like that. And if someone complains about it, it turns personal quick, often attacking the economics as you have: Have I contributed more than I've taken? Has anyone? General criticisms of whataboutism and entitlement notwithstanding, this slippery slope doesn't go anywhere good, and despite how well-meaning your question might have been, the reality is it's never enough. Nobody does anything anymore who hasn't stood on the backs of someone else.

This sucks. It sucks bad that Facebook and Google got me to work for free. And to sell ads, no less. How ashamed am I of _that_?

<comment><USER20> You emphasise free with an upper-case F. What does that emphasis really mean? I don't mean "well, gnu", I mean what is the deepest meaning of that emphasis?

Do you, for example, think it's good or bad if others have the freedom to use your software to do things you heartily dislike? Or if users you heartily dislike have the freedom to use your software?

<comment><USER21> _Dislike_? I mean, I don't like strawberries, but I wouldn't think of prohibiting anyone from enjoying them. Why should I care?

But, no, I don't believe other people should have the Freedom to do things I think are _Wrong_. I don't think anyone believes that.

What exactly do you want to argue? Nobody is saying Google or Facebook is violating the letter of the law (here), but they are certainly abusing our goodwill. Shame on us for not setting the terms finely enough? Or shame on them for being dicks?

</comment></comment></comment></comment></comment></comment></comment><comment><USER22> It's really interesting to note that on the same day that MSDN Magazine said they are ceasing publication, Linux Journal says too..

Completely random but interesting.

<comment><USER23> Magazines all over are obsoleted unfortunately.

<comment><USER24> MSDN Magazine was published by Microsoft?

I was a subscriber for about five years. Very deep dive, very Microsoft culture.

LJ was an independent magazine, I think. That is, not paid for by Linux Foundation or major distributors like IBM or Canonical. Ad and subscription support.

</comment></comment></comment><comment><USER25> Huge bummer; I've used to read LJ for many years and have fond memories. Hope they release the entire archive before shutting down for good.

* edit 1: a better link would be [https://www.linuxjournal.com/content/linux-journal-ceases-pu...](https://www.linuxjournal.com/content/linux-journal-ceases-publication-awkward-goodbye), directly to the article.

* edit 2: also, lots more comments from staff and readers on Kyle's twitter feed, at [https://twitter.com/kylerankin](https://twitter.com/kylerankin)

<comment><USER26> They had/have a script that would let you download the recent edition via CLI, I don't think the panel works anymore to grab the PDFs but I used their script as a base to grab all the past issues and keep them backed up, I'm glad I did that now.

Edit: I spoke too soon, looks like they opened the page up for anyone to grab them now. Check it: [https://secure2.linuxjournal.com/pdf/dljdownload.php](https://secure2.linuxjournal.com/pdf/dljdownload.php)

<comment><USER10> Can you download them without subscription? Or if I became a subscriber, would I be able to download previous issues too?

<comment><USER26> It sounds like I may have been mistaken and it is still walled off. There is an archive of issues up to 2018 here: [https://secure2.linuxjournal.com/ljarchive/LJArchive2018.zip](https://secure2.linuxjournal.com/ljarchive/LJArchive2018.zip) \-- I know this works for sure since I downloaded it from a server of mine a few hours ago. Since the main issue download page is still restricted to members it seems, I'll hold off on sharing my mirrored copy of all the previous issues just so I'm not being a dick.

</comment></comment></comment></comment><comment><USER27> Full goodbye message at [1]

[1] [https://www.linuxjournal.com/content/linux-journal-ceases- pu...](https://www.linuxjournal.com/content/linux-journal-ceases-publication- awkward-goodbye)

</comment><comment><USER28> Kyle! I'm so sorry to hear this. It's a long shot, but I'm interested to see if we have the resources now to give this another life. I FB'd you about it, which is I think now a dumb way to reach you.

<comment><USER28> It might not be financially possible, but if it were, I'm curious what the community reaction would be.

Essentially, as a fan of LJ, would you pay a $5 subscription to Medium to see Linux Journal continue there with maybe (I'm estimating w/o knowing traffic numbers) 15 new articles per month?

LJ's editor, Kyle, and I both lived north of San Francisco when he was writing for O'Reilly and I was working there. And that's what I pitched him: the basic Medium offer is very O'Reilly-like, at least compared to the general web. There's a simple trade-off. Publish behind a metered paywall (very un-GPL, but O'Reilly books are their own kind of paywall), and in exchange get money to invest in the quality of the articles.

I'm kind of iffy on the details beyond that. I helped start a programming publication on Medium recently and I don't know if the right thing to do would be to have LJ be separate or be inside that publication. But I do know that I see a lot of Linux publishing where the articles seem light. I think money to the author (or maybe it's money to an editor) would help that.

But obviously, there's the flip side which is that culturally there's a bias that information be free. :shrug: I just want information to be accurate! And given the number of Linux pubs, I think at least one of them has got to be in a situation where both the quality and the check book would be improved inside Medium.

</comment></comment><comment><USER29> The website layout is counter intuitive on mobile. Anyone else wondering where the article is, tap on the red header picture.

<comment><USER30> Thanks, the layout is no better on web. Direct link: [https://www.linuxjournal.com/content/linux-journal-ceases- pu...](https://www.linuxjournal.com/content/linux-journal-ceases-publication- awkward-goodbye)

</comment></comment><comment><USER31> They should contact the team from archive.org to make sure everything is archived properly.

<comment> jonah-archive We're on it :)

<comment><USER32> Bless you. And this reminded me to donate to Archive again.

Please, folks, donate to Archive so we don't lose all the amazing things they've archived over the decades.

As for LJ, so sad to see them go. I was a subscriber since 2012 or so. I'm still hopeful someone buys out their assets and resurrects the journal at least in an online-only form.

</comment></comment></comment><comment><USER33> I used to be a loyal subscriber to Linux Journal and would await every issue. Then I started getting junk mail from (if memory serves me) ACM. When I pressed them about it they revealed that they'd gotten my physical address from Linux Journal.

I cancelled my subscription and never picked up another copy.

I can't help wonder how many other people got annoyed at that kind of behaviour given the cross over between Linux and Privacy.

Note: I'll still mourn it's loss because it had a huge impact on my teenage years.

<comment><USER34> Letters from the ACM. That must have been so hard for you.

<comment><USER33> It's the principle more than anything. I gave LJ my address so they could deliver my magazine (that I paid for) not so they could sell it to someone else.

<comment><USER35> Yet many on HN despise the GDPR, which was designed for exactly this type of data misuse

</comment></comment></comment></comment><comment><USER36> Issue download archive: [https://secure2.linuxjournal.com/pdf/dljdownload.php](https://secure2.linuxjournal.com/pdf/dljdownload.php)

If you have a big hard drive sitting around somewhere, please save these! I'll see if I can't get them uploaded to IPFS myself eventually. (edit: Got too excited, should probably wait and see what they're planning to do w/ respect to licensing)

<comment><USER37> The PDF downloads aren't working, but the HTML archive (all issues, 1-301) works fine: [https://secure2.linuxjournal.com/ljarchive/LJ/](https://secure2.linuxjournal.com/ljarchive/LJ/)

There's also a ZIP with issues 1-293 (March 1994 to December 2018): [https://secure2.linuxjournal.com/ljarchive/LJArchive2018.zip](https://secure2.linuxjournal.com/ljarchive/LJArchive2018.zip) (805 MB)

<comment> jonah-archive We're pulling them into the Internet Archive now. Very sad to see this one go... lots of memories.

</comment></comment></comment><comment><USER38> Isn't there any service that allows one to subscribe to baskets of magazines by topics, and handles payment distribution to them with some mutual agreements? I think many of these online mags suffer because there are too many of them each with its own payment schedule, and people don't really like to set up dozens of subscriptions.

<comment><USER39> I had hoped Apple News+ would be a way to access and compensate all the great small niche magazines like the stuff you see in Casa Magazines in Manhattan. Instead it was the most generic stuff that's in every supermarket check out line. I know they have to appeal to a broad range of people, but you'd think Apple would appreciate all those music, art, and culture magazines. Maybe there was no easy way to include them, but for a company with that many resources they should have found a way.

<comment><USER40> I agree that Apple's News service is disappointingly pedestrian. The reason for its mediocrity illustrates the problem that original publishing has with the current market. When these mega corporations post their yearly earnings, those earnings are the result of a focus on the lowest common denominator. The Art, Music, Culture stuff doesn't mean much aside from marketing. Any business that gets its primary funding through niche markets withers after they scale to their maximum sustainable size.

</comment></comment></comment><comment><USER41> Very strange. Early yesterday morning, I thought out of nowhere: "hey! around 2011 or so, our lounge in our organization used to have Linux Journal. Wonder what happened to that subscription?" So sad to see this happen. I personally would like this to continue, as I am sure many of my generation of programmers.

</comment><comment><USER42> I think it's time for me to retire from engineering.

<comment><AUTHOR> Mister Moyer! Long time no talk, my friend. Please don't retire. Between you and Colin H., I learned a _lot_. I'm grateful!

<comment><USER42> Calling me "mister" was never required (and makes me feel old). Working for start-ups (or start-ups within large companies as was the case with ARRIS gave me the opportunity to constantly teach people my job and then create a new one for myself. I don't have the personality to repeatedly do anything so this was pretty ideal. How are you doing (I haven't logged into LinkedIn for a while)? Still out hiking the beautiful NorthWest?

</comment></comment></comment><comment><USER43> They have shutdown before about 1.5 years ago. Then a private investment group took over.

[https://itsfoss.com/linux-journal-discontinued/](https://itsfoss.com/linux- journal-discontinued/)

</comment><comment><USER44> Looks like Linux Toady's httpd server is taking a knee in sympathy.

[https://www.linuxtoday.com/](https://www.linuxtoday.com/)

</comment><comment><USER45> I started subscribing to them due to a Black Friday discount. I wish I had read them longer, as they seemed to be a practical, valuable resource for developing my skillset.

I'm also sad to see them go because they were one of the few magazines that offered an EPUB download option, so that I could read them on my Kobo. Does anyone know of any other digital magazine distributions that offer the same?

</comment><comment><USER46> Linux Journal I think putting the magazines out with live cd's of linux mandrake in 1998 is a huge part of why i'm able to feed my family today. I put a computer together and ran out of money to buy windows... Thank you guys for that.

</comment><comment><USER47> Oh no. I've been a digital subscriber for years! I hope they release their archives.

</comment><comment><USER48> I'm sad to see LJ go. I have been reading this on and off since the 1990s, not long after I received my first floppy disk with Slackware on it from a friend. I failed to renew this year. Now I wish that I would have.

</comment><comment><AUTHOR> This makes me sad. I _loved_ this magazine, and looked forward to every issue.

</comment><comment><USER49> I hope we can invent new revenue models to support quality journalism! We need free as in freedom press which does not get paid through ads.

Sad to see Linux journal close down. It was a very good magazine!

</comment><comment><USER50> > Linux Journal Ceases Publication

... again.

[https://news.ycombinator.com/item?id=15826220](https://news.ycombinator.com/item?id=15826220)

<comment><USER51> I suppose London Trust Media is not bankrupt, so is Linux Journal LLC free to be sold? It's sad to lose jobs etc. but at least a non-profit caretaker to host a static copy shouldn't be too hard.

</comment></comment><comment><USER52> There seems to be a crossover between Linux Journal and Purism. Is that just a coincidence / confluence or was there a formal / funding relationship?

<comment><USER53> He works full time for Purism, he was only a contributor from what I gathered in his last farewell.

<comment><USER52> Yeah, Lunduke got involved in both relatively recently too.

</comment></comment></comment><comment><USER54> I'd never heard of them before seeing it here, but it's probably something I would have paid for. Maybe it was a lack of advertising?

</comment><comment><USER55> There is still Linux Magazine [http://www.linux- magazine.com](http://www.linux-magazine.com)

</comment><comment><USER56> In terms of archiving efforts... How big is the server? Would be great to keep this mirrored somewhere.

<comment><USER57> Posts are currently being archived to [https://archive.org](https://archive.org). I was curious about this too, I found a blog post from 2010: [https://blog.archive.org/2010/07/27/the-fourth- generation-pe...](https://blog.archive.org/2010/07/27/the-fourth-generation- petabox/)

Some mention of Docker recently in their technical blog.

[https://blog.archive.org/category/technical](https://blog.archive.org/category/technical)

</comment></comment><comment><USER58> This makes me so sad. Would be great if the magazines pdf could be uploaded to the Internet archive.

</comment><comment><USER23> I thought the bash trap command article was a part of a long goodbye. That was indeed awkward.

</comment><comment><USER59> Sad to see this go; any recommendations for a good alternative available in Canada?

</comment><comment><USER60> and patreon is down for maintenance when this article is on HN main page

</comment><comment><USER61> whoa - this is very sad indeed...

</comment><comment><USER62> N. C

</comment><comment><USER53> idk, i just read this article from top to bottom [https://www.linuxjournal.com/content/what-linux-journals- res...](https://www.linuxjournal.com/content/what-linux-journals-resurrection- taught-me-about-foss-community) and quite frankly from the attitude expressed in that article, I'm not too surprised at the outcome. There is a very elitist and condescending tone - which is vaguely masked by "learnings", but if you continue reading, is still clearly there at his heart. New people coming to "Foss" are still "frat party like keggers" apparently that spit on nerds and need to learn how to dork out harder, while there are supposedly still "nerds" that lack the proper skills to socialize with others. That was his final takeaway.

I think the opposite is true - millennials (if I may) appear to be one of the most compassionate demographic groups in society. If you worked for any modern startup, you would see they care deeply about minorities of every angle in society - LGBT, Women's equal Pay, Black Lives Matter, etc...these are all initiative of the "newcomers" whom haven't been around since 1996.

In contrast, he writes "These days, you're just as likely to see popular kids, jocks and MBAs using technology and writing software. There's even a "brogrammer" designation given to software developers who culturally are more akin to fraternity members. "

Are there brogrammers? For certain, they exist - but they are actually a tiny minority, if you pay attention. It's a stereotypical cliche that is humorous, but by far are not representative of most software developers in 2019.

I think the hostile attitude that somehow we're "not cool enough purists" because we still need to work for closed source companies in order to pay the rent and feed our families. It's _that_ sort of attitude that sinks Linux ships. The linux that has thrived is the linux that realizes it needs to co- exist for a very long tail journey until business models - the way capitalist systems work at their very core - are able to transform.

I _wish_ we could all work for altruistic companies like Purism, but the truth of the matter is the past 25 years of Linux Journal's existence was paid for by subscribers, that get this, worked for non-FOSS companies. That's the reality.

I'm not trying to take away from Kyle's contribution from the Linux Community, or say that Linux Journal shutting down is a good thing in any way. I just think it needs to be said that Linux Journal failed because Linux Journal failed - it didn't appeal to enough people in enough ways. Didn't attract modern developers to be interested in it's articles. And heck, didn't appeal to people outside of programming - which, btw, is actually the key to successfully moving Linux in the upward direction. You can't expect all of society to "top level nerds". Some people need to dance. Some people need to paint. Some people need to pick up the heaps of commercial trash at 5am. All of these people have computers, and any failure to appeal to them is the authors faults, not their own. Linux thrives when it recognizes this - Ubuntu, Mint, Manjaro, PopOS!...these are the platforms becoming the most popular desktops - and for the first time making Linux desktops feasible for the dancers of the world - because they put down their elitist 'hollier than though because I was there at the start' and 'you must obey the 10 Commandments of FOSS in all parts of your life' attitudes.

Sorry to be such a *ick here, I don't intend to rub salt in the wound. I hope it's received more as constructive feedback than a low blow. Just calling it as I read it.

</comment><comment><USER63> Did they try to ask for donation? Linux Journal has a huge reader base most of who probably grew up in the 90s and early 2000s. Most of these readers are now probably working professionals and earning well enough to donate a small amount to Linux Journal on a monthly or yearly basis to keep this journal running.

<comment><USER64> Looks like they have a patreon [https://www.patreon.com/bePatron?u=10705728](https://www.patreon.com/bePatron?u=10705728)

<comment><USER65> Yep, currently around 200 patrons at $1153 per month total.

Compare that to, for example, the top 200 "adult" (porn) projects on Patreon: [https://graphtreon.com/patreon-creators/adult- games](https://graphtreon.com/patreon-creators/adult-games)

One example would be DarkCookie with "SummerTime saga", a "dating sim" at around $50,000 US.

Or another example at 769 patrons and $2,287 per month: "Porn Empire is a simulation/management with light RPG elements where you play as an amateur porn producer. Start small, shoot amateur porn and as you progress, you earn more money, buy better equipment, pick up better girls and train them"

If people really cared they would have signed up. But the proof is in the pudding. What people really care about is totally different from what they say publicly. What they really care about, apparently, if you follow the money, is interactive cartoon porn.

I wonder if Patreon would consider diverting a small amount of the porn money to worthy causes like Linux Journal.

<comment><USER66> > _What they really care about, apparently, if you follow the money, is > interactive cartoon porn._

But, according to the link you sent, the global top 100 only has 15 NSFW creators. People seem way more interested in Podcasts and YouTube videos.

<comment><USER65> Right. Sorry. What people care about is probably something like this ranking:

\- podcasts

\- YouTube

\- porn

\- Skyrim mods

\- Minecraft mods

\- Instagram models

... several other bullet points ....

\- journalism

<comment><USER67> The real issue is the we've forgotten what real journalism looks like. Nobody wants to pay.

<comment><USER68> I beg to differ. There's just more competition, and the bar for entering is lower. And so you get a lot of chaff. But there are serious journalists with high standards and integrity out there that thrive on the donation model, such as Timcast. Now there's a guy who actually meets up where it happens! Add to this that often it's not needed to send someone out, because you can always read some random guy's twitter. We don't exactly have less access to news or reporting. The problem is the filtering. But I'm not sad for it. Not one bit! Because it has revealed to us just how things were filtered in the past by the big giants. Not so anymore.

Other than that, you have to remember that there's been a pretty painful phase of adaptation with new and emergent technology. This means a lot of the old bastions have fallen, or are trying to figure out how to cope with the new media reality. Either way tabloids will always sell more than real news, sadly. They also did during the heyday of serious broadsheets, and there's not really any indication that it's going to change in the near future. There are some noble efforts to fight the fake news agenda, that tries to pick apart the rabble of the tabloids, such as Snopes -- until you realise that they're also extremely biased. So in the end, you're left with thinking for yourself, which can be both a blessing and a curse. Probably more of the latter if you believe in UFO's and crystal healing...

<comment><USER67> I support Timcast because of how refreshing and real his journalism is. I actually had him in mind as an example of a real journalist when I posted the above comment. But it's still going to be an upwards battle, there's a few good ones like Tim, but not nearly enough to replace what we used to call the journalism industry, most of which has turned to mush in past decades.

<comment><USER69> I am afraid it was mush long before I was born even. That internet platforms could beat it isn't a praise of the platforms but an utter indictment of their quality - if they had it they could survive regardless of medium.

<comment><USER67> I have a hunch that internet platforms are making the media show it's true colours by revealing how shoddy it is in comparison. The amount of constant smear attacks against new media personalities and big tech to mind. Not that I dislike criticism of big tech, but notice how it wasn't a problem for them until YouTubers (political or not) really started affecting their bottom line as less people go to the news for "entertainment".

Also, say what you want about PewDiePie, but he was able to go toe-to-toe with The Wall Street Journal and win (at least in terms of views and reputation). This just shows how much they've lost control.

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER70> Linux journal, firefox and others are all victims of the free of charge obsession of the foss movement, and they all struggle financially. Hoards of developers want to escape their jobs and join wilderness of independent software development, yet they write software that's free of charge, reducing scarcity and enabling their cloud corporate overlords to monopolise everything they touch at near zero licensing costs.

End the free of charge part of foss and save these great products by charging at least enough to stay afloat.

<comment><USER71> How do you propose that we charge for FOSS?

<comment><USER72> Universal Basic Income would be a start. I for one would _love_ to do FOSS development full-time, or at least 75% part-time next to a small salaried job.

<comment><USER70> Well yes, but until that happens we need to keep FOSS afloat somehow.

<comment><USER73> Won't it float because it is better? I mean I don't have a magic solution except that I'm inclined to remove the F from FOSS.

</comment></comment></comment></comment></comment><comment><USER74> What a bleak point of view. Why is it a battle against tech giants? Just don't use Google shit if it bothers you. There's more FOSS material out there than ever before and it's easier to use too. Why can't everyone win? The consumer that wants some crappy Google service and someone like us that wants to download their stuff from GitHub? Why do tech giants HAVE to lose for us to feel good?

</comment><comment><USER75> Better call Jason Scott. :(

</comment><comment><USER76> It was a good journal that I enjoyed. I salute them.

</comment><comment><USER77> Hum... all I remember is that Linux Journal closed years ago.

Moral of the history: Don't say that you close if is not true. You'll lose a good chunk of your readers even if you reopen later</comment>


Create an algorithm to distinguish dogs from cats - <AUTHOR> https://www.kaggle.com/c/dogs-vs-cats <comment><USER2> All it needs is a robot that says: "Come Here Boy, Come! That's a good doggie."

If the animal comes, it's a dog. If it continues without looking at you, it's a cat.

<comment><USER3> Lots of good cat jokes here. One thought would be to automatically upload the images to Reddit and gather the # of upvotes. The higher the upvotes the more likely it's a cat.

/joke session

<comment><USER4> Feed a dog and it thinks you're god. Feed a cat and it thinks IT is god:

if (human.feedanimal() == true) { animal.type = "Dog"; human.name = "GOD"; }else{ animal.type = "Cat"; animal.name = "GOD"; }

<comment><USER5> > Feed a cat and it thinks IT is god

Incorrect. The cat doesn't depend on your validation of its status; if you feed it, you just increase the chance that it thinks you are a subject worthy of its time and attention.

<comment><USER4> good point

</comment></comment></comment></comment></comment><comment><USER6> When we can get computers to tell the difference between animals accurately we can make a real life pokedex app. I can't wait.

EDIT: If anyone one thinks we can start working on this now, I'm game.

<comment><USER7> Oh my god you're right, wow, I need to start working on this now and fulfill my dream to be the very best...

EDIT: I would definitely be interested in building something like this. iOS/mobile app? I have basic experience in ML and have written an ANN in C++ to classify letters (they were 'pixelated' images, 1 and 0's).

<comment><USER8> If I saw this post earlier maybe I would taken more AI route with my classes.

<comment><USER9> Ha! If I hadn't thought ML was a fad used for making book recommendations on Amazon I wouldn't be sitting here kicking myself for never learning AI/ML techniques.

Bloody ML Summer...

</comment></comment></comment></comment><comment><USER10> The sample images are of two types: images which are mostly of the subject (cat or dog), and images which have a cat or dog in them, but are not necessarily focused on them.

In computer vision, these two types of images are traditionally handled separately. First, a detector for a class (like "dog" or "cat") is run across the image at all locations and multiple scales to find _where_ the things are. Once you have the locations, then an image classification algorithm is run for each detection window to either confirm it, or to give you more information about the object.

The latter often takes the form of giving more fine-grained category information, such as what species of dog/cat it is. Both leafsnap [1] and dogsnap [2] take the form of this type of program; i.e., they both assume that you've captured a single subject, roughly centered in the photo window, and that you already know that it's a plant/dog.

Sometimes you don't have to run a detector even if the object is not the focus of the image, if the context/setting can narrow down the answer for you. For example, if you were deciding between dogs and airplanes, it would be pretty unlikely to see a dog on a runway or a plane in a living room, so just by classifying the entire image, you can do reasonably well. That's not the case here, as dogs and cats will, for the most part, appear in pretty similar environments.

So if I were attacking this problem, I'd first see how many images were of the non-focused type. If not many, I'd basically ignore them and focus on building a classification system. Note also that if you're constrained to make a hard choice between only two classes, that's a much easier problem than a more open-ended "what is this?"

As many have pointed out, deep learning approaches seem to be the current state of the art on classification tasks such as these. But deep learning requires a lot of training data to be effective. A procedure I've been hearing many people use to great success is to use the Imagenet [3] hierarchy and images to train a deep learning classifier (i.e., as if you were going to compete in the Imagenet Large Scale Visual Recognition Challenge [4]). Then use the trained network, chop off the last stage (which makes the final prediction), and replace it with an SVM trained on your specific training data. In this way, you'd be using the network only as a feature extractor.

I'm happy to try and answer other questions.

[1] [http://leafsnap.com](http://leafsnap.com) or see my project page for more details on how it works: [http://homes.cs.washington.edu/~neeraj/projects/leafsnap/](http://homes.cs.washington.edu/~neeraj/projects/leafsnap/)

[2] [https://itunes.apple.com/app/dogsnap/id532468586?mt=8](https://itunes.apple.com/app/dogsnap/id532468586?mt=8)

[3] [http://www.image-net.org/](http://www.image-net.org/)

[4] [http://www.image-net.org/challenges/LSVRC/2013/index](http://www.image- net.org/challenges/LSVRC/2013/index)

<comment><USER11> As so often happens, the top rated comment on HN is more interesting than the article itself. Leafsnap and Dogsnap are so awesome!

</comment></comment><comment><USER12> I think that if I were to do this, I would use facial landmark recognition (using something like a Haar classifier). Haar-like features have been used to aid in (human) facial recognition since 2001 to great success[0]. And recently, people have been thinking about using similar methods for animal tracking[1].

If one _could_ locate the face in the test set, she could also presumably find some landmarks of interest: eyes, nose, mouth, etc. Considering that dogs typically have longer snouts, cats have pointier ears, etc, this data could be used to differentiate between a dog and a cat. There would be difficulty dealing with awkward angles and bad lighting though.

[0] [http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.6.35...](http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.6.3549)

[1] [http://www.eng.auburn.edu/~troppel/internal/sparc/TourBot/To...](http://www.eng.auburn.edu/~troppel/internal/sparc/TourBot/TourBot%20References/Haar/2000186.pdf)

<comment><USER10> Haar wavelets are most useful for _detecting_ faces (drawing a rectangle around the entire face). They are not very good for locating landmarks on the face. Also, they tend to be much more sensitive to the orientation of the face than other features, so modern face detectors are often composed of multiple independent detectors, each specialized for different pose angles.

Standard computer vision features like HOG (histograms of oriented gradients) or SIFT will probably do much better, or the deep learning features others have mentioned.

Your larger point of adapting a face detectors for animal use is well taken, though probably overkill for simply saying "dog" or "cat". You need that level of detail to identify which breed (e.g., this is the approach that dogsnap takes), but not for the base distinction.

The other way to go would be to train a deformable parts model (DPM) detector [1] for dogs and cats. DPMs are the current state of the art in detecting objects, e.g. as measured on the pascal VOC benchmark [2].

[1] [http://www.cs.berkeley.edu/~rbg/latent/](http://www.cs.berkeley.edu/~rbg/latent/)

[2] [http://pascallin.ecs.soton.ac.uk/challenges/VOC](http://pascallin.ecs.soton.ac.uk/challenges/VOC)

</comment></comment><comment><USER13> "Hey Cool challenge dude, any relation to AI? Didn't think so..."

or

"You too could solve this problem, a get a Phd and joined that overcrowded labor market"

Just consider that if you have M categories and you have N Phd students who can each four years to create one clever algorithms to distinguish category i from category j, then you need M(M-1) Phd students for a complete classification system - which when you consider many, _many_ categories there are in human knowledge, works out to being more than can even be pumped out by excess student loans today and exponentially more than can find tenured positions.

IE, once you'd add to the "deep but not wide" algorithms of computer vision, And twenty years ago, we might have believed this adding-to would lead to something broad and general but it's been twenty years and the trend is becoming clear.

See:

[https://news.ycombinator.com/item?id=6401026](https://news.ycombinator.com/item?id=6401026)

</comment><comment><USER14> Easy: Put videos of the animal on youtube and [http://www.cuteoverload.com](http://www.cuteoverload.com) and count the upvotes.

To quote @BigDataBorat (Twitter): 90% of data is unstructure. Furthering analysis reveal that 60% of unstructure data is cat video.

</comment><comment><USER15> While it isn't specific to dogs and cats, nor open source or publicly available, doesn't Google already have this ability? \- [https://encrypted.google.com/search?tbm=isch&q=dogs&tbs=imgo...](https://encrypted.google.com/search?tbm=isch&q=dogs&tbs=imgo:1) \- [https://encrypted.google.com/search?tbm=isch&q=cats&tbs=imgo...](https://encrypted.google.com/search?tbm=isch&q=cats&tbs=imgo:1)

edit: I'm sure some of theirs is from metadata, but I thought I read a while back that they were doing some graphical identification also.

<comment><USER16> There is definitely some graphical identification. You should try Google+ image search (if you have any images on there), it's really incredible. I searched "water" on my friend's images and got pictures of water glasses, the ocean, etc. None of the pictures had comments or metadata. Also worked searching for things like "soccer", got a bunch of pictures of him playing soccer.

</comment></comment><comment><USER17> I can bet for $1000 that winning team is going to use Convolutional neural networks. Anyone willing to bet (I can bet also for smaller amount if you prefer)?

<comment><USER18> The "state of the art" they reference is SVM's trained on color and texture features.

Pre deep belief network I'd agree with your guess on convolutional neural networks. However, now I'd guess you'd use a deep belief network to create a network that would pick out better features than those picked out "by hand" in the convolutional neural network. (See for example [1][2])

So my money would be on some deep belief network.

[1] Hinton, G. E, Osindero, S., and Teh, Y. W. (2006). A fast learning algorithm for deep belief nets. Neural Computation, 18:1527-1554.

[2] Building high-level features using large scale unsupervised learning arXiv:1112.6209

<comment><USER17> So far as it comes to large datasets unsupervised learning doesn't work ! You better off training initially discriminatively your network on imagenet, and then switch to this cat vs dog training. Rather, than do unsupervised learning.

<comment><USER19> program it in Lush then.

everyone here found out about Deep Neural Networks and that is all they know.

</comment></comment></comment></comment><comment><USER20> What would it say about hyenas?

</comment><comment><USER21> I understand Kaggle wants someone to make an algorithm to "identify the entity", but if used as an alternative to CAPTCHA, is it not possible to defeat this HIP (Human Interactive Proof) by reading the image and the classification data from the same Petfinder.com and just do image matching?

It may take some time to match from 3 million images, but doable right? Or am I missing something here?

</comment><comment><USER22> I just gave it a try and submitted a program. I scored 64% accuracy. Currently in 4th place, but I'm sure that won't last for long. [http://www.kaggle.com/c/dogs-vs- cats/leaderboard](http://www.kaggle.com/c/dogs-vs-cats/leaderboard)

</comment><comment><USER23> A captcha of 8 characters has a space of ~26^8 (~208 billions) possible combinations in a brute force attack. To divide a set of 12 images between dogs and cats has a space of 2^12 (4096) possible combinations in a brute force attack.

</comment><comment><USER24> i heard that before, [http://www.bbc.co.uk/news/technology-18595351](http://www.bbc.co.uk/news/technology-18595351)

<comment><AUTHOR> Sure, they may have solved the cat problem, but the well-documented challenges of "pug face" and "slobber smudging" makes dog recognition an order of magnitude harder. Some say the Clay Institute is pondering a $1M prize for it.

</comment></comment><comment><USER25> Clever way to crowdsource your spambot's CAPTCHA breaking routines.

</comment><comment><USER26> Too bad it's just for swag. I'd have given it a shot :D

</comment><comment><USER27> Anyone else compete on these types of sites? Are they worth it?

<comment><USER28> Have been playing with their contests since I finished ML course on coursera. I think they worth it, pretty fun and addictive, plus a very good way to practice your machine learning/data mining skills. Community there is very good and helpful.

</comment></comment><comment><USER29> OpenCV plus a ton of training data should do the trick.

</comment><comment><USER30> I have a cat. I know it's a cat, because she bites me when I don't let her outside, when I let her back inside, when I brush her, when I don't brush her, etc, etc.

</comment><comment><USER31> I would have expected that putting this through a machine learning algorithm( or one of the face recognition ones) trained with a very huge dataset might improve the odds.

<comment><USER32> That's the whole point of kaggle. ;)

Fighting your machine learning algorithm against everyone else's. Best one wins the prize.

There's a lot more "interesting" competitions from different companies of course.

[https://www.kaggle.com/competitions](https://www.kaggle.com/competitions)

<comment><USER33> This competition is the first "Playground" one just for fun [http://blog.kaggle.com/2013/09/25/the- playground/](http://blog.kaggle.com/2013/09/25/the-playground/)

</comment></comment></comment><comment><USER34> So narrow and so useless. What exactly are dogs? Almost all cats look the same and are almost the same size. But dogs? Dogs vary greatly in size, and looks. some of what we have accepted as dogs today, if you take them back to the past before TV/Computers, people back then won't recognize them as dogs, because of the looks or size. They would have to hear it back and behave like a dog to classify it as such. if all they had was a picture, they mgiht very well refuse and reject say pugs as dogs. so an algorithm to distinguish dogs from cats without context (behaviour, sound) will be more difficult.

<comment><USER35> >if you take them back to the past before TV/Computers, people back then won't recognize them as dogs, because of the looks or size. They would have to hear it back and behave like a dog to classify it as such. if all they had was a picture, they mgiht very well refuse and reject say pugs as dogs.

my dog without using TV or computer (at least to my knowledge as i don't know what he is up to when we are not at home) easily recognizes other dogs of all the different breeds and sizes from the distance like across the street, etc...

<comment><USER36> To be fair this is usually based on scent.

<comment><USER37> From my experience, it's based on body language. So: not the superficial appearance of the dog, but its movement and 'greeting' signals.

And, of course, cats move in a _very_ different way to dogs!</comment></comment></comment></comment>


How should you fire someone? - <AUTHOR> http://www.nytimes.com/2009/03/03/business/03toolkit.html?ex=1252382400&en=a710d7dbcda5168d&ei=5087&WT.mc_id=BU-D-I-NYT-MOD-MOD-M085-ROS-0309-L1&WT.mc_ev=click <comment><USER2> After the first, it gets easier. If it's 3 or more, call it a layoff, which sounds better. Be respectful, but don't get into a debate. I disagree with the article's recommendation to outline all the reasons you're letting someone go. I prefer to say something like "this is a team, and I'm the coach. It's not personal. I need to make sure I have all the right players in all the positions I need. Right now you don't fit into my playbook.". Not that hackneyed, but along those lines. Don't act like you're ashamed or embarrassed (even if you are); this is just business.

Unless they're unstable, offer to write a recommendation. Always make it positive, but not glowing unless they really were good and you let them go for financial reasons.

</comment><comment><USER3> Here's another question: What's the best way to fire multiple people. Tell them at once? One at a time and risk the rumor getting out?

It seems like every time I hear a story about a layoff people complain that the management mishandled it. I haven't put a lot of thought into it, but I don't know if there's a humane way to do it.

It's the same with romantic break-ups -- there's never a good time or place.

<comment><USER4> Text message...

</comment></comment><comment><USER5> Through a cannon.

Jokes aside, it's best to be respectful and use common sense. If it's because they're underperforming, you can be clear about that. If it's a long time employee and it's because of the economy, obviously, you have to be quite a bit more sensitive. This is especially true in a small company.

</comment><comment><USER6> Don't say "hey do you have a minute?" Instead say "step into my office."</comment>


Ask HN: Would you play a distributed, programmable MMO? - <AUTHOR> In college I enjoyed participating in a few AI competitions. Students would develop some basic AI for a robot who could move and shoot, submit the code and then watch everyone's robots battle on a large projector in a digital arena. Very educational and fun.
I know there are many open source projects that let you build and compete in these sort of things, but they always seem to be language specific. You can't battle your Java AI against your C# or Python AI. So, what if we all settled on a common language such as JSON & REST? And what if we made the game persistent?
The idea is this. A cloud hosted game which is persistent but allows new players to join or leave at any time. To participate you only need to register an account and give it a base URL of where you are hosting your player's AI logic. There would be some documentation on the expected REST URLs that need to be available. This lets you use any language you want to participate. It also allows players to have a database to store past moves or data about the environment. The game server could manage invoking the player's AI based on a turn system or in real-time when needed. A player's AI while waiting for a 'turn' could invoke service calls on the game server to 'look around' and learn about the environment.
The visuals would obviously be basic at first and should be displayable on a webpage.
The game itself could be as simple as a 'player' moving and shooting when it detects another player. You could introduce items, weapons, etc.
Or it could be more complex and similar to this (posted on HN not too long ago): http://phonons.wordpress.com/2010/06/01/cells-a-massively-multi-agent-python-programming-game/
Does something like this exist? <comment><USER2> I have participated in a few AI programming competitions (where the AI control simple programs, robots, ants, etc) and they generally turn into a few weeks of wonderful ideas followed by discovery of a degenerate case in the rules set.

(For example, in a beautiful simulation where a single program had to control a colony of ants who did not have any room for state other than a current instruction pointer and the input of their senses, someone successfully identified an algorithm to have each ant figure out which ant they were, and then execute a pre-planned sequence of moves to wall in the entire enemy base, faster than any non-degenerate program could possibly counteract it. It was beauty to behold but it also crushed the life out of the community -- the best ant has been crowned, everyone else gets to play for second best.

<comment><USER3> This is, of course, a universal problem in game design. The answer is to iterate on the rules. I don't play WoW, for much the same reason that I've never tried heroin, but I have heard the term _to nerf_ ; it was obviously invented by people whose killer strategies were neutralized by a new iteration of the rules.

With luck you eventually discover chess or Go: a game with no obvious degenerate case in the rules. But that takes lots of design work.

My suspicion is that writing AIs is so much work, and the player base is so rarefied, that there's not quite enough energy to support a game that evolves quickly enough to be constantly escaping from the degenerate case of the week, wandering through game-design space in search of the next chess. But I suppose that could change. There didn't used to be a core audience for a card game whose rules and cards changed constantly, but now there apparently is.

<comment><USER4> I love your point about chess and go. Is there any way to objectively evaluate that a game with no obvious degenerate cases?

<comment><USER5> I am fairly sure that for any non-trivial game that would boil down to a solution to the halting problem, though I lack time to prove it.

(Or possibly what I think of as the "finite halting problem" somewhat colloquially; a system that isn't actually Turing Complete because it's finite and bounded, but shares "enough" aspects of Turing Completeness that it still means that it's completely computationally infeasible to "prove" the property in question in the real world. Technically the halting problem on real computers falls into this class, a program running without IO is technically on a finite state machine but you're still not going to solve even _that_ halting problem in a world where the bidding opens at 4GB of RAM.)

<comment><USER3> This is going to be like the second half of a joke about a mathematician and an engineer walking into a bar....

... but, to objectively evaluate whether a game has a degenerate winning condition, make it good enough that twelve-year-olds want to play it, then wait a month or two. ;)

</comment></comment></comment></comment></comment><comment><USER6> I'm fairly sure most people kick around ideas like this at some point or another. It would definitely be cool to give a try.

It does have the problem of playability. How do you keep someone's interest beyond a week or two of this?

My thoughts on the subject have lead to something like this:

Create a fairly persistent world. This means that any action a player can make will be permanent in the game. It can be something fairly simple, a grid based game, maybe some resource management. I like the idea of a turn based strategy game, with ~30s per turn.

Create a point system. How points are won doesn't really matter, but make it something interesting. Point reset every week. When they reset, the person with the highest amount of points gets to make a new "rule". This could be anything from a new ability for a unit to a change in the way the physics work. It (obviously) has to be tested and verified, but would be deployed relatively quickly. This process iterates for as long as desired.

Obviously a number of iterations will cause problems of complexity eventually. My thoughts on the matter have led me to a rather specific idea for a game of this type, which I think would be incredibly enjoyable to play.

If you're interested, send me an email. I'd be happy to send you a more complete description of my idea, and if you still like it I'd be up for trying to implement it. That is true for anyone, not just the OP.

<comment><USER7> The bit regarding the winner getting to make a new rule has long been tested since the industrial revolution and likely far before then: In that context, of course, the new "rule" is essentially a law through lobby efforts, etc.

It becomes a competitive advantage to win early for express purpose of introducing protectionist mechanisms that would favor your particular technique or more likely, blocking the approach used by one's greatest challenger.

This may degenerate to "dirty tricks" early for the sake of an early win.

Therefore, to counteract that tendency:

Consider an "evolving" world. Take a card from artificial life techniques or randomly permute some attribute of the environment; e.g., terrain might become a more rocky, introduction of a natural predator, or perhaps switch from land to sea.

Mythology is rich with scenarios to draw upon.

I'd recommend NOT revealing the change until the round begins! Between rounds, let participants experiment only with the previous iteration of the world.

</comment></comment><comment><USER8> This is something I've been thinking about for a long time, albeit with ridiculous sets of features that are unlikely to ever be practical.

<http://metavore.org/faff/Botlife.txt> is the sketch of what I came up with there.

The main novel aspect would be that it is essentially an MMO, but there is _no_ direct control ability; you can only upload new programs to your robots.

<comment><AUTHOR> Thats a nice idea, pretty complex. I wonder if the complexity of the game chosen would scare away people though. I'm not sure I would even know where to start to build an AI for that. I typically would want to tinker at first (get a unit moving around) and go from there. Small progress and victories keep people interested. And like others have mentioned, the challenge will be finding a way to let advanced AIs play with basic AIs.

<comment><USER8> There were a few ideas that I thought might help with those problems:

1) The goal is primarily to gather/produce resources, not to actually force combat. Combat is one strategy that could prove beneficial (since you avoid the cost of mining/production by just taking it from their wreckage), but with minimal effort, you should be able to outrun/avoid most of these 'pirates'.

2) By employing some sort of hosted code, you can organise some sort of a market for code snippets/components, encouraging people to share what they have done in a variety of ways, on teh basis that profitting from it being used by others outweighs the cost of others using it against you.

3) It doesn't need all that complexity to start, or even in the same game. But the complexity helps to some extent by making it harder for a single abusable game mechanic to control the whole system. Most people will focus initially on developing a good (or just workable) solution to a single aspect.

</comment></comment></comment><comment><USER9> I use to be really big into "Robot Auto Racing Sim" (~ 12 years ago): <http://rars.sourceforge.net/>

You would write all the logic of your car in a single C program and then race it against others. It had a visual so you could watch the race or just see the results. At the time I thought the physics engine was pretty realistic, not sure what I would think if I went back to it now though. It was a blast to play with friends.

</comment><comment><USER10> There are actually thousands of these types of project, almost all abandoned. One of the longest lived, and perhaps not coincidentally the simplest, is Core Wars.

I started working on something very similar to what you describe a few months ago because it's a fantastic idea that I don't think has been implemented well in a while. It was Java-based but the idea was that you had a team of robots with 64k RAM and a simple CPU. You could configure robots with different types of equipment, (radios, weapons, sensors, etc.) that would be mapped to memory locations for control.

To play you'd write an assembly-language program to control the robot and set it loose on the world.

You could write compilers and such to compile down to the robot machine language if you wanted to get sophisticated.

Each "round" would consist of running one machine cycle for every robot in the world.

The problem I ran into, other than not having enough time to work on it, was that you could really go down the rabbit hole on "realism." For example, the radios; should I implement actual antenna propagation patterns and delays, or should a transmission just be instantaneous and recievable everywhere?

There's a tradeoff between realism and fun, and between limitations of the world and longevity. If you make it too limited, you end up with gameplay that essentially favors a single strategy. If it's too complex, only the most hardcore players will put in the effort to play. I think this is a fundamental problem with a game like this.

Maybe something like this would be fun and accessible if you eliminated the competitive aspect of it.

Edit: if you decide to pursue this project and want some (intermittent) help, send me an email at [my username]@gmail.com

</comment><comment><USER11> This sounds like Core Wars and Network Tierra combined, both from 15-25 years ago.

I would definitely play an MMO which let me script and didn't require my realtime involvement. EVE Online is like that for some of the gameplay already, but something where everything is through "agents" would be even better.

<comment><AUTHOR> What are you thoughts on the game server itself?

You could open source it and just expect someone to pick it up and host it somewhere for others to play on. The advantage is the host could make modifications to the game mechanics itself (just like any other game).

The alternative would be to develop the server with the 'cloud' in mind. Meaning, there would most likely only be one large game server that perhaps managed 'instances' of matches. The advantage here is that you avoid fragmenting an already small pool of players.

</comment></comment><comment><USER12> Sounds like fun :) I really like the idea of having the it communicate with the BOTS via a REST API. Presumably people would all run them on their own servers and submit a URL of their bot's interface to the tournament site.

It would have to be turn based otherwise latency would make it very unfair. Which of course would mean that efficiency wouldn't be part of it much (there would have to be a timeout of course, but you still wouldn't usually be able to get an advantage by optimising your code to run really fast).

Having them run on other machines would also mean that collusion and such between bots would be a possibility if you had games with more than two players. I think you'd just have to accept and embrace it.

I'm up for getting involved if you want to make this. Email is in my profile.

</comment><comment><USER13> A civilisation like game could work. Thinking about something like this in the past I like the idea of something that may run for some days and then have a winner. At which point it can be modified to remove any game breaking strategies that may crop up, probably changed enough to that copying the previous winner won't help. Then give everyone say another week to rescript their AI.

Possibly something like 30 seconds to 1 minute turns with allowing the server your querying maybe 5 seconds to return moves. Then you would just need some way to assess progress. I like the idea to the people can get beaten relatively fast, just the idea that everyone starts out on a massive map and bigger civilisations soon start to form by wiping others out.

</comment><comment><USER14> I'd _love_ to see a larger scale version of something like Defcon (<http://www.introversion.co.uk/defcon/>).

Closer to realtime too (rather than a huge multiple) - which would make close to 24x7 interaction necessary, requiring automation, teamwork, mobile device interfaces....

Damn - yet another project to think about :-)

Edit: I've just noticed that they are trying to encourage the development of nuclear war fighting bots within Defcon.

</comment><comment><USER15> I think several games like that exist, of varying complexity. Sorry I don't have names ready :-(

I know WeeWar has an API, but that is probably not the kind of game you have in mind. I think you mean long running simulations with agents trying to survive.

There might even be one by Microsoft, not sure if they are language agnostic, though.

I think there is still room for interesting worlds of that kind.

<comment><USER16> The Microsoft one you are thinking of is called Terrarium. It was built to help people learn .NET 1.0 but I don't think it's been updated for newer versions of .NET (currently 4.0). It was .NET specific, meaning you could write your dll in any .NET language but non .NET languages would not be compatible.

</comment></comment><comment><USER17> Interesting idea. Final Fantasy 12 is my favorite game that allows you to "script" your characters' moves, but you're only ever fighting against the computer. Incorporating this into a programmable MMO seems like it could be very fun, and somewhat parallel to the way stock markets work with everyone using algorithms to compete against each other.

<comment><USER18> I really enjoyed the Gambit system. It felt a lot, at times, like playing with other people in that you'd have those "noooooo, don't do that!" moments (despite them being unanticipated use cases, effectively). You'd also have your "other players" get more sophisticated over time as you acquired more fine-grained Gambits in parallel with you getting better at the game.

I definitely think this concept would have legs. Even for an MMO where you could make a rudimentary party and go do something if the rest of your play group were asleep during the middle of the day.

</comment></comment><comment><USER19> Look up .NET Terrarium. You programmed behaviors for "bugs" that could either be herbivores or carnivores. It was pretty amazing - it would serialize people's AI controller classes and inject them into other players' instances so copies of them could compete. Sadly by the time I discovered .NET Terrarium, it had already been abandoned (having served its purpose of demonstrating the power of .NET serialization). It's a tragedy it was never open sourced.

Interestingly the ultimate winning strategy was a herbivore that acted even more aggressively than a carnivore. Any carnivore that wantonly killed everything would also be wasting its food source, but a herbivore has no such limitation. Someone programmed herbivores that formed packs to attack everything & keep the plant for themselves, and it was impossible for anything else to gain a foothold once bugs with that strategy were in a terrarium.

<comment><USER20> <http://terrarium2.codeplex.com/>

Terrarium 2 with source on codeplex.

</comment></comment><comment><USER21> I'd be interested in something like a "WoW for robots" where you navigate through some kind of world using an API and control your character and its interactions all automatically.

If you limit the number of API calls per minute to something reasonable, should be scalable, too.

</comment><comment><USER22> While it's not what you're asking for, you might be interested in Robocode: <http://robocode.sourceforge.net/> It has been around long enough to be 'balanced', and even the most advanced strategies are documented by the community and available for you to improve upon. The community has also developed a way for people to submit their robots and have them run against all of the other robots via a distributed tournament client.

The description, from the website: "Robocode is a programming game, where the goal is to develop a robot battle tank to battle against other tanks in Java or .NET. The robot battles are running in real-time and on-screen."

</comment><comment><USER23> What I would really like is a RTS (such as starcraft) that let me play realtime, but we my macro preconfigured. To explain a bit more, starcraft let you queue up actions.. (For instance, build this, then go take minerals). However, suppose there was a script language that you could use and use it in all your games.. For instance, this script could take care of scouting the opponent, queuing up workers automatically, etc etc. while you focus mainly on the high level strategy.

</comment><comment><USER24> Why not take a reverse engineered Ultima Online server and client, and add your AI twist to it? <http://en.wikipedia.org/wiki/Ultima_Online_shard_emulation>

<http://www.runuo.com/index.php>

</comment><comment><USER25>
      You can't battle your Java AI against your C# or Python AI

In things like realtimebattle and the recent Google AI competition, you most certainly could. This is usually accomplished by routing all commands and their results via the command line.

</comment><comment><USER26> There have been a lot of answers about the AI-competition aspect. Here's an attempt at a MUD-style distributed, programmable MMO: <http://wiki.erights.org/wiki/Den>

</comment><comment><USER27> Good idea. I like games where the rules are simple, but the strategies can be complex. Like chess. Are there bot vs bot chess games around?

</comment><comment><USER28> I do not know whether something like this exists, but it certainly sounds fun - something I'd probably "waste" a lot of time on.

</comment><comment><USER29> Second Life comes to mind, but its not exactly what you're describing here, but close being user created and all.

</comment><comment><USER30> I'd be up for giving it a shot.

</comment><comment><USER31> I've had this exact thought and may even try to implement it. What I'm planning is closer to a MOO than an MMORPG or other game type, but we're on the same wavelength.</comment>


Amazon EC2 gets static IPs. - <AUTHOR> http://developer.amazonwebservices.com/connect/ann.jspa?annID=295

<comment><USER2> It's about damned time. They've been trying to pretend EC2 is for utility computing...like running large distributed apps for a short period of time. But nobody is using it for that...people want Amazon's network and a cheap way to scale from zero to huge for websites. Now that they've finally embraced that, if they'll just resolve the reliability issues, EC2 will be a fantastic hosting option.

<comment><USER3> We've been running 24/7 on EC2/S3 for months now with no downtime - 0 bad experiences so far.

<comment><AUTHOR> I too have instances run for 5-6 months without downtime.

The reliabilty concerns are overstated. As long as one accounts for the lack of persistent storage, there should not be a problem.

<comment><USER4> Though I am a happy user too, we are worried about a huge Black Swan scenario.

<comment><USER5> Heh, thinking of exactly that, I was going to write about how turkeys are fed and well taken care of by humans for 99% of their lives, until that last day, when things take a turn for the worse.

That said, things will run just fine, even with downtime, if you're not depending on the machine in any way, don't have _any_ local storage, and are capable of switching over to other systems. However the lack of downtime might lull people into not worrying about that stuff.

<comment><USER6> You raise an important concern, but I wonder if the analogy is the right one. For a lot of startups/businesses, a period of downtime (in hours, not days) is not death. It might suck, but you won't die. In the late '90s, Ebay was down for three days straight (!) and it's still doing OK.

I will be surprised if Amazon doesn't work out the reliability issues anyway, given the massive resources and smart people it has available to it.

<comment><USER5> A bit of downtime is certainly not a catastrophe, but it might turn into one if you lose a bunch of data because you weren't properly shipping it elsewhere.

<comment><USER7> A much more sane response to the overwrought fears of EC2 downtime. If you don't know your hourly/daily income rate (often $0), then you can't even correctly value uptime.

<comment><USER8> Thats just it. Downtime is expensive if you rely on your web site to make you money. If you are a small eCommerce shop with all your eggs in the EC2 basket, downtime can be expensive.

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER4> Does this mean emails sent from EC2 will not be automatically marked as spam? (right now I think Hotmail marks all EC2 emails as spam). I read that reverse DNS and PTR records are needed to accomplish this. So, this solves just half the problem?

I am asking these as exploratory questions... I don't really have a good grasp on what I am talking about. Please point me to resources.

BTW, do you know of any sample Python code that is used to act on incoming emails in the server?

<comment><USER2> Amazon probably provides PTR records for all of their IPs. You can check with the host command on Linux:

host 10.1.1.1

You'll also want an SPF record for your zone:

<http://www.openspf.org/>

DomainKeys are being checked by some webmail providers, but it's only a non- spammy characteristic at this point, not mandatory for delivery. As long as nothing else about your message is stupid (e.g. RFC compliant SMTP server, reasonable DNS records, and you aren't sending 100 per minute to addresses in the same domain), it'll go through.

I'd suggest using whatever Python library will allow you to send using a real SMTP server (or just pipe your email into the mail or sendmail command, which use the local smtpd to send, by default), like Postfix or Sendmail. There may be a standalone library that is actually RFC compliant and handles error conditions properly, but it seems unlikely from a historical standpoint (most such libraries, particularly in the PHP world, are renowned for epic failure). As long as Postfix or Sendmail are configured properly, your mail will be RFC- compliant and will look far less spammy than those coming from a half-assed implementation of the spec.

<comment><USER4> Great! Thanks.

Can you please point me to some how-to about acting on incoming email using Python? I look far and wide but couldn't find much.

<comment><USER2> I have no idea. I haven't worked with Python in several years. But, I know that both Mailman and Trac are written in Python and they both do stuff with incoming mail...so, there's certainly some python code out their for dealing with incoming mail. That's where I'd start my search if I were in your shoes.

<comment><USER4> Thanks.

</comment></comment></comment></comment></comment><comment><USER9> I was speaking with an Amazon WS evangelist last year and he was recommending a 5 server system: load balancer, two web/app servers and two DB servers.

The issue I brought up was that you couldn't guarantee colocation, so you might be making DB calls cross-country. If you're using a poorly optimized ORM (untweaked ActiveRecord, Hibernate, etc.), that is issuing tons of queries, the net lag between the app server and the DB could slow you to a crawl.

The availability zones seem like the could be an answer to that, but they're being marketed as an answer to disaster recovery and failover. It would definitely be nice to request your app server and DB server are close to each other.

</comment><comment><USER10> Great to see this development but won't they need a huge block of IP addresses to support this?

<comment><USER11> So? They'll just pass the cost on to customers.

</comment></comment><comment><USER12> Perhaps this is just a coincidence, but interesting nevertheless.

This story was submitted to reddit at least two times: the original submission was downmodded to zero (or less), a resubmit eventually to 1. Here, it's at 51 points.

I suppose what I want to say is

127.0.0.1 reddit.com programming.reddit.com

<comment><USER13> interesting. OTOH we all know how much reddit sucks and any further comments on the topic are just adding to the noise here.

<comment><USER12> Old habits die hard. My apologies.

</comment></comment></comment><comment><USER14> This is amazing. I am in the process of deploying my webapp, and was considering slicehost due to the static ip's issue.

Then I took another look on the aws pages, and, hooray: elastic ip's were introduced yesterday!

<comment><USER6> Amazon's pricing compares favorably with slicehost's?

<comment><USER15> Depends on your bandwidth requirements. For somebody without traffic, absolutely not. Slicehost blows them away. That's why I use Slicehost:).

</comment></comment></comment><comment><USER16> Yeah, I was going to use it for my online gambling (legal) site, and found the dynamic IP problem to be the real decision maker for me. I use smartfox server as a socket server, and renewing a license with a new ip address takes 24 to 48 hours, which means death to an online gaming site using social networking.

The static IPs make it possible to use AWS now. I can finally add voice chat functionality because of the power behind the large and extra large instances.

</comment><comment><USER17> so is it much easier to use EC2 as a server now that IPs don't change? IE, you don't need dyndns and/or a load balancer? I wouldn't mind hosting a site of mine on there..

</comment><comment><USER18> Great news</comment>