C4 game engine drops Linux support citing frustrations with desktop Linux - <AUTHOR> http://www.terathon.com/forums/viewtopic.php?f=2&t=14050 <comment><USER3> While Linux development, especially for game development, does has it's fare share of pain points. I don't think this should be interpreted as any more than it is, a single developer deciding he wants to stop supporting, one specific platform.

Eric is indeed a very skilled programmer, but this engine is very much developed to meet his whims. He hasn't yet released any games on it, and the vast majority of his engine licensees are hobbyists, who quite frankly are also unlikely to release a game.

So while Linux was a nice-to-have earlier on, and likely sold him a few licenses, with UE4 heading to Linux it's unlikely to give him many more sales. And I suspect he's used to developing in Windows, likely with visual studio, and in comparison, Linux can feel quite archaic. And in that context, maintaining Linux build systems can seem quite painful, likely the primary reason it's getting dropped.

On the contrary, with Valve's current and monumental efforts, I suspect we're going to see a lot of games continuing to be released on Linux. And the tools are improving vastly, and some rather nice tools, vogl for instance, are only fully functional on Linux, which provides a strong advantage.

I'm personally pretty excited to see what comes from AMD being much more open with their ISA, and related documentation. I'm pretty hopeful for a very open and fast graphics API, OpenGL in my opinion is the worst part of working on Linux.

<comment><USER4> I still haven't see any of the Steam machines on the wild.

Frankly I doubt I will ever see them.

<comment><USER5> I was running Steam in Big Picture mode on my Linux laptop only minutes before reading your comment. It's not a true Steam Machine, but neither is it that far off. :)

<comment><USER6> What is the specific difference between a true Steam Machine and a PC with Steam installed?

<comment><USER7> Well they use the SteamOS as an operating system

<comment><USER6> I don't think that is a requirement though, realistically the cost saving on a Windows OEM license will be eclipsed by the reduced game catalog for quite some time.

</comment></comment></comment></comment></comment></comment><comment><USER8> I hate to admit but graphics part of Linux is really a big mess. I hope Valve will not abandon their efforts and succeed in making useable 3D platform/API running on Linux.

</comment><comment><USER9> IMO, the biggest issue with Linux gaming is not OpenGL, as others claim, but input support.

Specifically, advanced controller support. SDL2 is far from enough.

For windows, there's no issue adding support for Logitech G25, G27, F710, Microsoft gamepads and Joysticks (the best joysticks ever made), and several other wheels like Fanatec.

In Linux it seems that only XBox360 compatibility is possible and everything else requires a huge amount of refactoring.

Also, raw keyboard and mouse support requires having root permissions and whatnot, something users can't be expected to set up themselves.

So, OpenGL has some performance issues but it works, input programming is actually a nightmare in comparison.

Still no Steam game works with the G25. Euro Truck Simulator 2 can't read it right, despite having kernel support, and the game is simply boring with a controller instead of a wheel.

</comment><comment><USER10> What a pity they've decided to take a political position rather than a technological one .. plenty of other game engines work just fine on Linux (my personal example is MOAI) and so it seems to me what was needed was to just learn a little more about how to support Linux properly, and stop complaining about it. The fact that other game engines have no problems with this speaks volumes about the author. I respect his 'personal choice' in the matter - <USER2> removing working features from the release just seems like politics as usual..

<comment><USER11> _What a pity they 've decided to take a political position rather than a technological one ._

Not sure if that really is the case - to me it reads like "I spent so much time getting this thing to work and it still doesn't work properly now, so I just give up"

Yeah sure, the underlying reason for this might be that he doesn't know how to properly do it (and the reason for that in turn might be that it is hard), but how is not wanting to spend any more time on it purely a political position rather than a technological or business decision? Especially the latter, which is also explained again by Eric:

 _I cannot afford to spend weeks at a time just trying to install Linux, get it to boot, and get a development environment working. I simply don 't have the funding to justify letting the engine stagnate while I mess around with an OS that should just work. It's extremely wasteful and unfair to users who are waiting on new features._

<comment><USER12> > spend weeks at a time just trying to install Linux, get it to boot, and get > a development environment working

I think we found the problem. It's between chair and keyboard.

<comment><USER13> Oddly enough, I had a lot of trouble getting my new laptop to boot, work and sleep properly. Not for lack of experience: I first installed linux in the summer of 1992 using hlu's floppies and have used linux for daily work for about 20 of the 22½ years since then.

I can easily believe that someone used to windows with its mishmash of installers might have an unpleasant experience. Apt-get works wonderfully on a pristine system, but not so well if the system is halfway upgefucked with tarballs and rm -rf.

And particularly if systemd on ubuntu 14.04 supports his hardware as poorly as it supports my new laptop.

<comment><USER10> I'm with you - been running Linux since those days too, and I also think that the problem is entirely political in this case - he's already admitted that its not for any problem with the Linux host for C4 in particular, just that he's a frustrated Linux desktop user and wants nothing to do with Linux. But the Linux support is there and the C4 engine works on it .. so this is more of a political rant than anything else.

<comment><USER13> In that case I expressed myself badly (possibly due to systemd-induced gritting of teeth). Sorry.

I think it doesn't have to be political. The tiniest bit of ill will towards linux, a bit of windows-like behaviour (tar xf, rm -rf), and a bit of badly- supported hardware is quite enough to end up with an unworkable system and difficult-to-diagnode problems.

</comment></comment></comment></comment></comment></comment><comment><USER14> My 3 cents:

Maybe a possible alternative would be to focus on one particular linux distribution, like ubuntu or debian, with certain dirty intall scripts ?

Or go all the way and just deliver a bootable CD or USB drive that install the games somewhere, and then boots up a certain linux kernel configuration with specific, working nvidia or amd drivers.

Honestly if I had a successful game I could sell, I'd try to sell it at half the price by packaging it with some linux distribution the game works on, just for promoting linux to show the consumers that developers appreciate it.

Maybe another other alternative would be to offer games on certain hardware which is supported, and not to other types of hardware.

But obviously, as long as hardware vendors don't give a damn about linux, I won't be surprised reading those posts.

Game developers should not expect being able to use the latest graphics features on an open platform. It just won't happen. The 3D hardware industry always adds new things, it's impossible to keep up unless you had engineers working tightly with nvidia or AMD.

So drop the support of high end 3D features, only keep the core ones that have been working for a long time (do you really need that shader ?), focus on other basic things (like scriptability and other libraries, there is so much stuff to put in a game engine), and deliver a working 3D engine that is easy to use and program with. I don't think any small developer who wants to release on linux can really compete with AAA, high end graphics titles. The only possible way to compete is to bring something new in term of gameplay, stop focusing on the graphics and the bells and whistles, it just won't happen.

TLDR:

gaming is obviously anti competitive if you want to release on linux. what to do: don't try to compete with what other games have already done, and focus on things that are doable and have been done well for a long time. There are many existing game concept that could be improved if you stop wasting time on the graphics. Having basic 3D rendering is already awesome in itself.

<comment><USER3> > So drop the support of high end 3D features

You're really suggesting people in a field that is constantly pushing the boundaries of graphics to drop one of the things they do best?

> do you really need that shader

Yes!

> I don't think any small developer who wants to release on linux can really > compete with AAA

You'd be surprised with what a small developer can do, See tomorrow children. Sadly sometimes it sometimes seems that if you want to push graphics features, you cannot release on Linux.

> Having basic 3D rendering is already awesome in itself

No, not really. I'd prefer 2D rendering to basic 3D rendering.

> don't try to compete with what other games have already done, and focus on > things that are doable and have been done well for a long time

Did you really just contradict yourself in the same sentence?

Though, more to the point, the problem isn't that getting _something_ running Linux would be difficult. The problem is that in order for Linux to have proper and first-rate support, or in some cases, any support at all, you need to start getting developers working on it as a primary development platform. And if I can't do the things that I, as a graphics programmer, need to do, I'll go elsewhere. Working on Linux is nice, but if I _have_ to choose between developing the game I want to, or having Linux support, that's a trivial decision.

<comment><USER14> > You're really suggesting people in a field that is constantly pushing the > boundaries of graphics to drop one of the things they do best?

Better work in CGI graphics then. Also, what's the point of rendering ? You won't make a game if all you have is good rendering. You also need quality content. You can't be a good graphics programmers AND spend time producing geometry.

> Did you really just contradict yourself in the same sentence?

I just meant do improve designs that have been proven to work, not try to make the same kind of design you usually see in AAA shelves.

I see many indie games just being some remake, or influenced by many other games. They don't have any kind of standing out feature, the only interesting thing there is, is content, which is not what makes a good game. There is almost never a feature of the game that is standing out in term of gameplay and algorithm.

A good example is minecraft: the game is interesting because it has an infinite, consistent 3D level. No game had that before. All I care is gameplay and interactions. My point is this: if a game is not different in gameplay and can't attract the player imagination, it's maybe not worth doing.

</comment></comment></comment><comment><USER15> Whoa, blast from the past; I did a minor game design using this engine. I spent most of the time refactoring the demo game code to something a bit more OO / to my style though. I don't know if that was good for performance, but it pleased me.

But yeah, as another commenter stated, it just doesn't have the leverage as the bigger engines have (U4, Unity, etc), and those have very competitive pricing for hobbyist developers nowadays. Not to mention the financial means to have their developers also support Linux, with all the headaches that may incur.

<comment><USER16> From a consumer point of view, everything above the Linux Kernel is a mess. A mess means actually choice where the consumer doesn't need one. I had hopes that Steam Machines may leverage Linux to consumers but trying to configure my father's Linux machine to his needs brought me back to reality.

I even think that the consumer perspective is the one that hinders Linux. Want to develop something for Linux? What's the display server? Proprietary or free drivers? What Desktop Environment? QT or GTK Application? All those things are fine to develop for, but what do you develop for when you don't have time to test and support every existing configuration.

<comment><USER17> > "From a consumer point of view, everything above the Linux Kernel is a > mess."

That's the sort of thing projects like systemd aim to fix.

> "Want to develop something for Linux? What's the display server? Proprietary > or free drivers? What Desktop Environment? QT or GTK Application?"

You don't need to concern yourself with the display server if you're writing using a library like Qt or GTK+, but it's not a hard question anyway (X.org now, Wayland/Mir in the future). Drivers wise, most devices only have one driver to choose from, the only exceptions are for the GPU, and if you want to play games the answer is clear (NVidia card, proprietary driver). Desktop environment doesn't matter, they all support X.org graphics frameworks.

There are certainly challenges with Linux development, and there is a need for a bit more stability lower down the OS stack, but the situation is improving, and Windows proves you can offer both choice and stability. The only issue I see that is a time bomb with regards to Linux gaming is the sound stack, everything else appears to be improving.

<comment><USER18> Looks like a cure that is worse than the illness from here...

</comment></comment></comment></comment><comment><USER19> I think it's better to hand over the platform support to experts (Mono/JVM) and just focus on the engine.

</comment><comment><USER20> Fragmentation still continues to increase; see the recent systemd debacle and the ALSA vs Pulseaudio farce.

A veritable shitfest of useless and downright poisonous changes that alienate users and non-core developers.

"Oh, you have this thing that works perfectly? Well, here's a shitty idea with a shoddy execution that is the new standard. It supports this feature that 1 percent of users like and no longer supports this other feature that 99 percent of users actually care about."

</comment><comment><USER21> Worst for him.

I personally feel that C & C++ develop on Windows is ANAL. Installing libs and detecting isntalled libs, it's very problematic, when on my GNU/Linux desktop I only need to do a : sudo apt-get XXX or git clone XXX & make & sudo make install

<comment><USER22> "Easy to pull 3rd party libraries" is not particularly positive for a engine/library developer; ideally, you should incur as little dependencies on your users as possible.

<comment><USER23> Why?

There are outstanding ecosystems for packaging and dependency management in place. That makes it easier to embrace than to avoid dependencies as a library developer.

<comment><USER24> A library can't depend on other libraries unless there's a strong guarantee that those other libraries will work everywhere. If you go using tons of dependencies, you limit yourself on porting. If you go crazy with apt dependencies, you've probably just limited yourself to Linux, and end up with the opposite problem as shown in the article.

</comment></comment></comment></comment><comment><USER25> The answer to this developer's install problems are a VMWare virtual machine running on his usual Windows setup. By his own account his actual Linux code works just fine - the only thing that was in his way was his inability to install the OS in the first place. It seems a shame to throw out all that working code over such a trivial & easily solvable problem.

Wrestling with weird stability problems (which might be a hardware fault, might be buggy display drivers, who knows?) for weeks on end before flouncing out stage right promising never to return is the mark of someone who hasn't really thought things through.

<comment><USER26> VMs just add another dimension to the pain of incompatible or buggy components. I don't know if VMWare provides modern OpenGL support (3.x or better). I have only experience with Virtual Box, and only ever got OpenGL 2.1 (8 years old) without extensions running with hardware acceleration, but with bugs (e.g. vsync never works). Right now I can't update to the latest VBox version because its display driver is incompatible with my Linux version.

I work on Linux running in VMs every day, but can't recommend this setup at all for OpenGL development.

<comment><USER25> Ah, fair point - VMWare only gets you OpenGL 2.1 & given that the guy is writing a games engine he probably wants 3.x at least.

<comment><USER3> The OpenGL profile isn't enough either. You really need direct and real hardware access. Emulated graphics just won't do.</comment></comment></comment></comment>


UK IPv6 Council Meeting, October 2016 - <AUTHOR> http://www.ipv6.org.uk/2016/08/31/ipv6-council-meeting-october-2016/ <comment><AUTHOR> These are mostly slide decks at the moment with videos to come later on IET.tv, as far as I know.

I found the presentation from Imperial on their deployment to be pretty interesting. There's no mention of Virgin Media, though a representative (Daryl Tanner) was scheduled to speak according to the announcement post for the meeting. I can only speculate he wasn't able to make it.</comment>


Ask HN: How do you use university? - <AUTHOR> Do you just take part in university to get your degree or do you socialize and engage in clubs etc.?<p>I always like to discuss and have conversations with people who share my interests, but I have the feeling people my age often dont want to have factual discussions about topics and rather smalltalk to socialize. <comment><USER2> Go work for a Prof or a Research Lab on campus. Most of them are always short of labour. You will find interesting conversations going on day and night. In some labs more conversations than any work even.

<comment><USER3> I second this, and would stress to evaluate the PI, their personal reputation, published works, and ongoing projects. My experience was fantastic- I have a great admiration for both my undergrad PIs and they opened doors for me because I worked hard and had genuine interest. But some people have nightmare experiences depending on who they work for.</comment></comment>


A Beginners Guide to Erlang - <AUTHOR> http://blog.equanimity.nl/blog/2013/05/29/a-beginners-guide-to-erlang/

<comment><USER2> The post does link to Learn You Some Erlang, but does so with what looks like an associate/affiliate link to amazon. I do prefer people to go to the home page, <http://learnyousomeerlang.com/> which also contains the entire thing visible for free online.

<comment><AUTHOR> Fixed and pushed. Also included this great guide under documentation. (And added a warning for the affiliate links).

<comment><USER2> Thanks for the quick response, much appreciated!

</comment></comment></comment><comment><USER3> I'm currently reading "Programming Erlang" by Joe Amstrong and I'm loving it.

Buy the second edition beta ebook here - <http://pragprog.com/book/jaerlang2/programming-erlang>. The new edition highlights features that are in the yet-to-be-released versions of Erlang. Also has content on how to use tools like rebar.

There's also Chicago Boss, which is a cool web framework. If you are coming from Rails, you'll feel right at home. <https://github.com/evanmiller/ChicagoBoss/>

The IRC channels: #erlang, #chicagoboss #ninenines (for Cowboy, Ranch, etc) on Freenode.

</comment><comment><USER4> erlang is not a difficult language to learn IMO. What I, as a beginner to erlang from other languages, would like to see is a lot more solid libraries and sample code for strings rather than bytes.

</comment><comment><USER5> This is a great page, but it assumes that I (the reader) am already certain I want to invest time learning Erlang. I think it would be valuable if the author would open the page with a brief paragraph on why it's worth investing the time to learn Erlang and some of its tradeoffs vs other languages.

<comment><USER6> Collating all the tradeoffs and bugbears would benefit both the existing community and newcomers. Things that bug me that immediately come to mind:

* No public bug tracker

* epmd's security (or lack thereof)

* Can't insist that epmd be started separately (`erl -no_epmd` won't start epmd but it also won't start epmd's gen_server)

* Can't swap out epmd because while `erl -epmd_module foo` is there, `net_kernel:epmd_module()` is barely used. (Although I don't think it's interface is documented anyway)

* No built-in way to hook UNIX signals

* While the documentation itself is pretty good, it's presentation is lacking and it's difficult to quickly correct mistakes as you run into them

* It can be difficult to reason about when a shared binary will be garbage collected

* OS packaging (I'm thinking of Debian/Ubuntu) of Erlang and Erlang apps tends to be more harmful than helpful (old packages, namespace conflicts, etc)</comment></comment>


Inbox Zero - <AUTHOR> https://inboxze.ro/ <comment><USER2> _> If the entire email fits in the subject, put it in the subject.

> If you think that's rude, it's not.

> If you insist that it's rude, put 'Thanks!' in the body._

Please don't. It's rude, even with the meaningless 'Thanks!' in the body.

<comment><USER3> It could be considered rude to someone you don't know. It's fine to someone one works with closely.

E-mails that add fluff to fill space, whether in the message or the subject, are frustrating.

<comment><USER4> I'm not sure how you make that determination. For social reasons, the closer people are the more they may tolerate rude behavior they otherwise find unacceptable. For the same social reasons, if you ask them their opinion directly they may lie and say it doesn't bother them at all. They may also exhibit behaviors they personally find rude, so even that is not a useful indicator.

<comment><USER3> > _I'm not sure how you make that determination_

Solely based on my actions and reactions. People who take a simple confirmation and turn it into a multi-line e-mail are, to me, frustrating. People who do that in time-sensitive contexts are memorably infuriating. Then again, I'll write similar e-mails to people I don't know on account of social convention.

I've never met a highly-productive person who doesn't think similarly. This is true across cultures. It's also partly a reflection of hierarchy. People who see each other as equals can (note: option, not obligation) dispose with certain niceties. (If I got a subject-only e-mail from a new hire, I might see that negatively.)

Shifting to friends, I don't have many who confuse customs with respect. The two are, in my view, orthogonal.

</comment></comment></comment></comment><comment><USER5> Looks like a collection of tweets with a few ads mixed in. Not sure what I'm supposed to learn from this. What works for e-celebs doesn't necessarily work for most folks.

<comment><USER6> Agreed. And the person who coined the term "inbox zero" rolls over in his grave.</comment></comment>


Ubuntu on AWS Gets Serious Performance Boost with AWS-Tuned Kernel - <AUTHOR> https://insights.ubuntu.com/2017/04/05/ubuntu-on-aws-gets-serious-performance-boost-with-aws-tuned-kernel/ <comment><USER2> > If, for now, you prefer stability over speed, you can get still get going > with Livepatch by reverting to the old kernel,

Ha, that's not the most inspirational ending.

I would have hoped that stability doesn't even need to be mentioned, considering that this is now one of the default images on AWS. I don't think anyone would choose this kernel if they thought there might be a higher chance of it crashing and taking down their server.

<comment><USER3> I think in this context by "stability" they mean "not rebooting"

[https://www.ubuntu.com/server/livepatch](https://www.ubuntu.com/server/livepatch) is a commercial service that can apply security patches to a running kernel.

<comment><USER2> Oh, you're right. Whoops, should have paid more attention!

</comment></comment></comment><comment><USER4> I wish they did a better job describing where their gains were. I tried to pull something interesting out of the changelog but it wasn't obvious.

</comment><comment><USER5>
        * Disabled CONFIG_NO_HZ_FULL to eliminate deadlocks
          on some instance types

That... sounds like a bad bug?

</comment><comment><USER6> Cool — now to finally get around to moving to 16.04 :-)

Each time I look at what the last stable Ubuntu release is, I feel like the years are rushing by too fast. I slowly drift further and further behind schedule, though it still doesn't seem a minute since 10.04 came out!

<comment><USER7> Had a similar conversation about that just yesterday. Our company is using 12.04 and I was nearly floored to see it is soon entering end of life... A quick test of 16.04 says, wow it is not going to be fun for us to upgrade...

<comment><USER8> One of the most valuable aspects of Debian was (and hopefully is and will always be) the fact that a release upgrade was always possible and (at least for me) never caused any problems (rtm of course).

The idea of "LTS" is a stupid reversion of something better we already had - the idea that upgrades are always reliable.

Saying "LTS" for me sounds like "we have lost control over the upgrade process."

Of course I must add that updating from Ubuntu 14.04 to 16.04 went ok on all machines I have seen (servers and also desktop workstations) - this should not be surprising, but the expected default, then we do not need no "LTS" theater.

<comment><USER9> LTS is a guideline about extended support, extended beta cycles, and less potentially breaking changes vs the non-LTS releases. I don't see it as saying much of anything about the upgrade path, but rather that if you do an apt-get update on an existing LTS box, you can expect to not get major version bumps of tools and libraries and thus less breakage. Of course, you don't get the latest and greatest software, but for most server deployments, that's a desired compromise.

And at least I never do an upgrade anyway -- I always do a fresh install from one LTS to the next one on bare metal -- and simply recycle VMs in the cloud.

</comment></comment></comment></comment><comment><USER10> If you prefer RedHat, I've been releasing CentOS images with similar tunning for some time: [https://www.bashton.com/blog/2017/centos-7.3-ami/](https://www.bashton.com/blog/2017/centos-7.3-ami/)

<comment><USER11> Hi Bashtoni, will this CentOS AMI be your fork (as an individual contributor) or will this be the official CentOS AMI on AWS Marketplace?

</comment></comment><comment><USER12> > Resolved CPU throttling with AWS t2.micro instances

What does it mean? I know that all t2.micro instances are CPU throttled (credits system)

<comment><USER13> Not sure. Perhaps it might be a reference to [https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1518457](https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1518457) which caused 100% CPU usage (and thus throttling) on t2 instances in some cases.

<comment><USER9> Disabling hotadd also fixes I/O errors on nvme disks on the new i3 instances which is mentioned here as well.

</comment></comment></comment><comment><USER14> How does it compare with Amazon Linux? Does it already have the improvements added now to Ubuntu?

</comment><comment><USER15> The built in support for ENA is nice but what about the other instances such as C3, C4, D2, I2, R3, and M4 (excluding m4.16xlarge) where you have EN using Intel 82599 Virtual Function interface? Why not support it out of the box?

<comment><USER16> I assume ENA support relies on this new driver. [1]

Ubuntu 16.04 already supports the ixgbevf driver, I believe. [2]

[1] [https://github.com/amzn/amzn- drivers/tree/master/kernel/linu...](https://github.com/amzn/amzn- drivers/tree/master/kernel/linux/ena)

[2] [https://bugs.launchpad.net/intel/+bug/1536473](https://bugs.launchpad.net/intel/+bug/1536473)

<comment><USER17> The latest Amazon Ubuntu 16.04 AMI comes with ixgbevf version 2.12.1-k, while the Enhanced Networking documentation [1] suggests installing version 2.16.4.

[1] [http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/sriov- net...](http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/sriov- networking.html#enhanced-networking-ubuntu)

</comment></comment></comment><comment><USER18> I'm not seeing any speed increase when using an ENA vs non-ENA ami as seen by iperf. ami-80861296 vs ami-2757f631; tested transfer between pairs of m4.large and m4.xl VM-s.

</comment><comment><USER19> Nothing about enhanched networking and configuration for 10Gb nets? I had to setup all this (jumbo frames, etc) - felt like a waste of time.

<comment><USER20> Looks like it's enabled by default on a lot of their images now

</comment></comment><comment><USER11> this is great news!! Along with CentOS, I find it a joy working with Ubuntu servers when it comes to administration.

I wish SUSE (SLES) also had a smoother / stable performance on AWS (e.g. recurring issues with their susecloud on aws repo).

</comment><comment><USER21> Will this be an automatic update through normal apt-get?

<comment><USER22> Not an automatic update but it is in the standard repo as linux-image-aws. But new AMIs come with the AWS kernel by default.

<comment><USER23> But only in xenial repositories for whatever reasons.</comment></comment></comment>


Guess what the most wanted christmas present will be... - <AUTHOR> http://techcrunch.com/2012/11/21/more-american-kids-than-ever-clamor-for-iphones-and-ipads-this-holiday-season/

<comment><USER2> I can understand. Part of it is certainly going to be peer pressure related. My own nephew has friends he knows are getting an iPad so in his mind nothing else would suffice.

Pretty much the biggest innovation of Apple was marketing. Yes the devices are very good but their marketing is something that their competitors always seem to overlook.

Fortunately you can buy iPad's of earlier generations, even the first retina types, for a lot less off of either Apple's own site or even through their e-bay entity.

While I see the value they represent I am all for finding more reasons to keep kids outdoors instead of indoors. I kept my Kindle for reading because of this one issue, it is much better outside than any tablet. If need mail or internet my phone is fine and any serious mail/browsing is best on the computer (iMac fwiw)

</comment><comment><AUTHOR> Well, I suppose its a matter of taste. I initially didn't know what I would need an iPad for when I received it. Nowadays, a year and a half later, I wouldn't change it for anything. Its amazing for checking emails when I wake up, for checking facebook right before bed. For porn its amazing, easiest thing to take to the bathroom, try taking your macbook pro hehe.

<comment><USER3> How much do you love it? Do you think it's perfect? Do you like responding to emails on the iPad? What about reading HN? Do the thumb keyboards work for you? Do you like the autocorrection? Do you use a case or cover?

<comment><AUTHOR> I use a cover that works quite well. I always use the ipad sideways, so that the keyboard is bigger and the format of the pages is good. Its not great for responding to emails but it works. For reading them its perfect. I love it very much, then again im sure it will become better over time. I have the autocorrection disabled because I write emails and messages in various languages.

</comment></comment></comment><comment><USER3> I feel sorry for the kids. I think the iPad is going to lose its lustre pretty fast. If you want great games, get a Wii U, not an iPad. If you want a great tablet, wait two years or so until the ecosystem is mature. Buying an iPad now is little better than buying a ticking clock of obsolescence.

<comment><USER4> I agree with you 100%. What?

I'm on my second iPad and I sold the first one for about 1/2 what I paid for it. I'm not really sore at that since I got to use an iPad 1 for 2 years, then I got an iPad 3. I also get a new laptop roughly every 2 years -- another ticking clock of obsolescence.

I could wait two years, or I could buy and iPad now and another in two years. The difference is I get to use an iPad for the next 2 years while I wait. When I buy something computer related, I don't really expect it to meet my needs for more than 1 or 2 years (except maybe LCD's).

<comment><USER3> My point was not a general one about tech products becoming obsolete with time. You and I are perfectly capable of assessing the range of tech products available at this point in time, weighing up the advantages of buying now versus what products are likely to be available soon, and making a buying decision which is optimally satisfactory. Additionally, we have large disposable incomes, so even if we are not that happy with one or two of the purchases we make it is generally not a big deal for us.

Kids on the other hand are, in general, poorly informed, vulnerable to fads, and have limited disposable incomes. I'm sure a lot of kids barely even know what an iPad is - they just know they want one. And when they get it, and they do what kids generally do with these devices - play games - how are they supposed to know that the iPad sucks for gaming? For a lot of the current generation of kids, the iPad will be an entry point into gaming - it has the cachet that Nintendo had for earlier generations. Kids buy or ask for iPads because then they can show them off at school. But the iPad is such a limited device - the cost for a highly modular OS with an abundant app ecosystem is that there's just not much to get your teeth into with the device. The most interesting thing you can do with the OS is long-press an icon until they all start to wiggle.

I watch my little brother with his $600 iPad. First he's playing Dragonvale - a Farmville clone - for hours. Then he's playing GTA3 - do you know that videogame is 10 years old I ask him? Don't you want to play it with a real controller instead of slidy glass controls on a heavy tablet? Then he plays Chinatown Wars - more slidy glass controls for a ported DS game. Maybe I'm just being cranky and my-generation-was-better-ist. Maybe there's a lot to be said for one device that can do all of these things. Maybe the iPad is great because first kids plays with the games, then they find other cool apps, then suddenly they've set up recording studios at home. I dunno. Anyway as a game- playing device in my opinion the iPad is too limited, and as a useful tablet I think it is very far from a mature ideal of how a tablet could work - and I think tablets will evolve very, very quickly over the next three years, and the iPad will look very outdated soon. So I feel sorry for the kids because I think they could do better for gaming and because their new treasure is about to submerged in a looming surge of innovation.

</comment></comment></comment><comment><USER5> Kids don't watch Oprah, dontchaknow.

<comment><USER6> Au contraire Oprah is pimping the cool tablet this Christmas

[http://www.cultofmac.com/201944/oprah-gushes-about-her- love-...](http://www.cultofmac.com/201944/oprah-gushes-about-her-love-for- microsoft-surface-while-tweeting-from-her-ipad-image/)</comment></comment>


Write Code Every Day - <AUTHOR> http://ejohn.org/blog/write-code-every-day/ <comment><USER3> I am a total convert to the "don't break the chain" idea. I started writing a book on game programming[1] about four years ago. At the time, I was working at EA, miserable, and highly motivated to have the book done so it could help pad my resume. I got a book deal (O'Reilly) then, when that fell through, another (Apress). I had a real writing schedule, and a very supportive wife, and I would work on it for hours at a time.

Then I left the game industry, moved across the country, and had another kid. Suddenly, motivation and time were scarce. I backed out of the book deal and basically put it on hiatus for two years. I still really wanted to finish it but it just wasn't happening.

About a year ago, I realized that if I didn't finish it soon, I never would. My familiarity with the domain was fading every day. I didn't want the project to be a failure, so I decided to try writing every day.

I didn't have a set goal each day, but I try to do around 30-45 minutes. That ends up being ~500 words of first draft, ~1,000 words of later revisions.

In the past 309 days, I've finished 12 chapters. That's 59,568 words, plus a few thousand more for intro sections. I've redesigned the site twice, set up a mailing list, gotten a business license, and a bunch of other grunt work.

I'm about halfway through the very last chapter now (!). In less than a month, I should be able to say the book is done. (Though what I mean is that the _manuscript_ is done, I'll be doing ebook and print versions after that.)

I absolutely could not have done this without working on it every day.

        [1]: http://gameprogrammingpatterns.com/

<comment><USER4> The "don't break the chain" rule is brittle: if you _do_ break the chain, your motivation can crater. I think [Beeminder]([http://beeminder.com/](http://beeminder.com/)) has a clever solution to this problem; it gives you a way to track and enforce your goals while being robust to the occasional lapse.

<comment><USER5> I haven't found this. Because I can still see a calendar that shows all the days I hit my goal, my motivation doesn't suddenly evaporate if I miss a day. One of the keys I think is setting goals that you can't fail at. So rather than "go to gym" which is a hard habit to form, you could start with "do 10 pushups". Eventually once the habit has formed you can step it up, but it's far more valuable to win/succeed every day than it is to accomplish lots on one day then laps for 5.

EDIT: for example here are my current widgets for the My Chains app on android: [https://db.tt/pYRrrPZs](https://db.tt/pYRrrPZs) you'll notice they're pretty quick and easy, but there are quite a few of them. This gives me a tremendous sense of achievement and progress which has been invaluable in the quest to form better habits.

<comment><USER6> Another side note - where is the "My Chains" app? The app store doesn't know it...

<comment><USER5> [https://play.google.com/store/apps/details?id=se.lixi.mychai...](https://play.google.com/store/apps/details?id=se.lixi.mychain)

Sorry it's MyChain

</comment></comment></comment></comment></comment><comment><USER7> Telling a programmer to write code every day is a bit like asking an aspiring carpenter to swing a hammer: it's a necessary component of improving your skills and building things, but it is also a narrow, technical task that has limited value in isolation.

Having said that, programmers should spend _at least_ as much time _reading_ and _thinking about_ code as they do writing it. You can write code for hours each day and do nothing but revert to the technologies and techniques that you find most comfortable.

<comment><USER8> I'd agree with you if my primary desire were to improve my ability as a programmer. Unfortunately, at least at this time, it's not. My major concern is getting meaningful work done. I spend far too much time thinking and reading about technologies, techniques, and planning for the future - <USER2> time needs to be spent on actually implementing all the amazing stuff that you want to exist.

<comment><USER9> I agree. I have the habit of constantly learning, without producing. So I'll pick up side projects, suck the learning-marrow from their bones, and discard them without finishing.

I have so little to show in terms of actual work product, which I am attempting to fix with a similar "don't break the chain" approach.

<comment><USER10> I have been in the same boat as you when it comes to side projects, but I'm curious about your use of the metaphor of "sucking the marrow from the bones" because that metaphor is typically used to describe completion to an extreme. For example, if "eating an animal" was your metaphor for working on a side project, I think that a more apt extension to that metaphor would be "leaving meat on the bone" rather than "sucking the marrow from the bones". However your metaphor refers to the marrow as "learning-marrow" which confuses the larger metaphor that is "eating an animal".

Have I completely misunderstood the extended metaphor you were trying to use?

<comment><USER9> Yeah, probably. Also I didn't think it through either.

I extract the goodies from whatever I'm learning, and never finish the project I'm learning from.

My attention shifts as soon as the project stops being interesting & new, and becomes "work" to finish up.

<comment><USER11> You gotta think of your project as you think of a woman you are in love with, otherwise, there's no sex. I think there is a lot in common between love, advancing in a project and even picking a movie to watch - they all involve a kind of 'sexual' openness towards the subject.

<comment><USER12> i know it's usually frowned upon to make jokes on HN, but it's amusing that this comment seems be sexualising everything and your user name is an anagram of "viagras"

<comment><USER11> It's actually a word in Sanskrit, meaning creative energy, but it has a secondary meaning of seed / discharge. And my comment sexualizing the relationship between a dev and his work is not a joke - I really believe that thing that allows us to enjoy such work that other find repulsive is a kind of attraction similar to sex. I'm using this insight for finding a good attitude towards my work - you know, you gotta admire the curves before you get into the mood. :-P

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER13> I was onboard with this school of thought for a while, right now it isn't my flow.

I work hard as-is teaching WDI at GA. I commit code frequently, but I also really want to focus more on work-life balance at the expense of getting more done. This summer, I'm taking two months off to do Burning Man and travel the country via motorcycle. During that time I expect no code to be committed. Do I feel bad about that at all? Not in the least bit, in fact I'm super excited to do it.

Currently, I try to _not_ do much work on weekends. I like working hard during the week and then stepping away from the computer. I'll go and play music, ride my motorcycle, hang out with friends, travel, etc. The more time spent on my laptop on weekends feels like I'm missing out on things that matter strongly to me right now.

Now I am nowhere near the prolific coder that John is, and nowhere near his skill. I don't think he's wrong for doing it this way, but it isn't right for me and I'm glad that its producing results for him. I also go through periods of wanting to code daily, and other times where I'm ok with not coding for several days at a time.

To each their own. Also, Hi John!!! I haven't seen you since betahouse or you holding a Jelly at your place in Cambridge.

<comment><USER8> Hey David! It's been too long :)

I agree with your sentiment -- I've been through long periods of little-to-no side project hacking. Like multi-year, long. I've been working on my current side projects for over two years now but I finally made the decision last fall to make the hard decision: either this is going to be something that I REALLY want to get out there (and thus, I need to work really hard to make it happen) or I need to be comfortable with letting it slowly progress over a long period of time. I made the decision to go for it, so I'm writing the code to make it happen!

But yeah, for every season there is definitely a different formula. In the next phase of my life hopefully I can find other things to bring this level of excitement and stimulation!

<comment><USER13> You're absolutely right in that its critical to either kick things into gear, or know that its going to take a long time for things to happen. That's excellent focus. I look forward to shifting back to the other side at some point. Maybe in 2015 ;)

</comment></comment></comment><comment><USER14> This "don't break the chain" approach has worked extremely well for me, particularly during busy periods of high stress. I first learned about it in my college writing classes, where you're supposed to write something, anything, meaningless jibberish even, every single morning. Recently I read about Seinfeld using this approach to great successs. Every day he works on material, and puts a big, fat, "X" on the calendar.

<comment><USER8> An important change that I made, compared with these techniques, is that I require myself to write meaningful code. It's certainly much harder to do that but as a result I find myself developing good time management skills. Knowing that I have to be mentally "present" for my work forces myself to schedule and plan my days better, resulting in higher quality work all around!

<comment> FLUX-YOU How do you define meaningful code? I feel like I'd quickly run out of approachable ideas without reinventing some wheel. I'm also not to the point that I can write Node/Python/other packages and have them be useful or unique.

<comment><USER15> Pick something in your domain and write something useful.

</comment></comment></comment></comment><comment><USER16> Do everything you want to excel at everyday.

One big problem I've learned with not working consistently at any one task is that after dropping and returning to a project, I find myself being familiar enough with areas I last touched that I want to speed through them to reach a point where I begin working on new ideas and concepts. But in most cases, those areas I left off at were the very reasons I jumped ship, either because they were too difficult or mind-numbing to wade through, leaving them incomplete/unlearned, and resulting in me having to take a few steps back to fully refresh myself before I can continue building, which leads to a lot of frustration and feeling like I'm wasting a ton of time.

</comment><comment><USER17> In the long run, this is unhealthy.

Yes, it makes you more productive, but what if you fall in love, get sick, have a child...? Then you feel guilty about not catering to your side projects and guilt breeds procrastination.

I learned how to break down work into small pieces and rather finish one small piece and then call it a day instead of leaving something half-working for the next day. Because of this, I left projects dormant for 3 months and then picked them up again.

Granted, my side-projects are for-fun and not for-money, that makes it easier...

<comment><USER8> I think you might be conflating things a bit. The guilt about a lack of productivity already exists (daily work, or not). Doing daily work helps to mitigate it to a large degree. Naturally if I get sick I'll be comfortable enough to "let it slide". If anything I'll be eager to get back to work right when I can.

I do agree that breaking things into tiny tasks is the best way to go, it's helped me tremendously. More than anything else though it seems that passion is the largest "secret ingredient". If you're not passionate about the work it just won't happen, regardless of what happens in your life.

<comment><USER17> >The guilt about a lack of productivity already exists (daily work, or not).

This is what I think is unhealthy. If you want to spend a lot of time coding in your free time, go for it. If you notice guilt because you are slacking, you should revisit your priorities and earnestly think about why you are coding that much.

</comment></comment></comment><comment><USER18> That was a beautiful post.

Currently I'm in the complete opposite modus operandi. I don't do a lick of side-project work during the week, and on weekends I take a modafinil(wakefullness promoting medication) and stay up nights on end to crack out as much as I can.

I get an INSANE amount done on the weekends that I have the energy to pull this off, but it's horrible for my health. The rest of the week I have anxiety about the coming weekend, and it completely throws of my circadian rhythm. Not to mention that I'm only able to pull this off perhaps once or twice a month.

I'll definitely be changing my work schedule to be more in-line with a daily habit. Being able to look back and see a lot of consistent work being done sounds way preferable to being able to look back at a few weekends of consistent insanity.

<comment><USER19> no side effects from the modafinil? I take them very rarely pretty much only when it's of the utmost importance that something gets done by a deadline and even then i'll only take a half or a quarter.

<comment><USER20> I used to take 8 modafinil / day but have been able to bring my wakefulness back to what I feel is going to be normal for me without medication.

I did experience one side effect -- paranoia. I became really paranoid about what my spouse was doing behind my back. I knew that there was nothing going on though, so I was able to finally make the call to get my doctor to take me off the medication. I'd imagine the situation would be much worse if you were paranoid but didn't realize that you were delusional.

<comment><USER19> 8 a day damn i would be up for a month.

</comment></comment></comment></comment><comment><USER21> The real problem with "don't break the chain" is that once it does, things collapse.

See my graph: [https://github.com/steveklabnik](https://github.com/steveklabnik)

As you can see, I'm about to lose a ton of green. I'm at 87 days as my longest, but July 6, 2013 was brutal for me. I was actually flying, and had saved a small bit of work to do during a layover, but then I totally forgot.

Once that chain was broken, it was super easy to justify taking some time off...

<comment><USER22> One thing I've found is that when you miss days, having some sort of planned reset time is definitely helpful. I use the same chain technique to journal every day through 750words. They track streaks both overall in days and visually on a montly basis, meaning that if you fall off the wagon, you can still easily get back on. The motivation comes from the fact that you can work from scratch towards getting another perfect month. I really like this approach, though I'm not sure exactly how you could apply it to Github's commit UI.

</comment></comment><comment><USER23> Really? I'm so surprised to see so many "Awesome! Go for it" answers to this.

While I admire the dedication and focus it takes to stay up to such routine, I am certainly concerned by the quality of life and the narrow mindedness of enforcing upon oneself to code on a daily basis. What about days off? Going out friends / family for a weekend or holidays? One would suggest to bring your laptop so you can stick to it? This is madness to me...

I love to code, contribute to OS projects, do code for a leaving and for myself - but for nothing in the world I'd even attempt such thing.

Setting yourself with goals is great and required to some extend but on a proper schedule. Going to the gym 3 times a week can be achieved without being complexed by the fact you didn't go there every single day - and yet you can substantially improve yourself. I don't envy those buffy dudes that stick to it.

I'll stick to enjoying evenings with my wife, do code maybe 1 or 2 times during the week days, spend an extra day on more complex issues on the week end, and rest for the last day. Just saying.

<comment><USER24> Mhh, read the article a bit more carefully. Specifically:

 _Minimum viable code. I was forced to write code for no less than 30 minutes a day._

30 minutes a day? That's not exactly a huge quality of life problem or a work addiction. That's keeping a useful skill up to par, the same way I'd expect a good musician to practice every day.

Besides, when you're a serial procrastinator, tactics like these can help you break out of that rut.

</comment></comment><comment><USER25> I just want to caution folks, from experience, that it is easy to miss the forest for the trees if you are constantly trying to code.

I think the key takeaway here is that sticking to a plan is helpful, and that a coding heavy plan is a productive one. This is a great post for that.

I would argue that a good plan should include time off for reflection, and to avoid burning out. I have seen too many engineers burn out because they were convinced that working constantly was optimal for progress.

<comment><USER8> Perhaps surprisingly I feel like this process has allowed me to come to these conclusions even more quickly. If I spend five days in a row working on the same thing it's a giant red alarm in my mind. "Is this the most important thing I should be working on? Why did I just spend five days working on it? Should I move on to something else now?" I'd contrast this with before where if I only worked on it every weekend my ability to make those realization would be on the scale of a month, rather than a week - allowing me to adapt and respond much more easily.

</comment></comment><comment><USER26> Zero days are great. Enjoy them without guilt. Don't fear going back to day 1. Make your decision each day if you're going to enjoy a zero day or get something done and long streaks can follow.

</comment><comment><USER27> I know for some people, TDD is the kind of friction-causing mechanism that kills the desire for everyday coding...but I've found it extremely helpful, even for small personal projects.

On nights when I absolutely cannot write a piece of working code, I scaffold out the tests. When I wake up the next morning and have 5 minutes with my coffee, I pass a test. Not much gets done, but by building the habit and ability to "jump into coding", no matter the time, place, or circumstance...that's how I've been able to build the coding-zen-mentality needed to write "real" code when the time comes.

</comment><comment><USER28> Why is it so noble and healthy to be a workaholic if you are a Software Engineer?

<comment><USER29> I think your comment deserves many more replies. It is taken completely granted that this is the case. I don't think it is good at all but that is the mindset.

<comment><USER30> Writing code every day doesn't necessarily make you a workaholic. Working on code all day, every day might make you one though.

What John is doing is akin to what an artist would do to hone their skills. Practice. Every great singer practices often. Every master of a musical instrument. And for programmers, it's a similar thing - there's no substitute for writing code.

His approach is to write something meaningful every day, but it shouldn't be interpreted as 'let the code writing take over your life every day'

</comment></comment></comment><comment><USER31> "No more zero days" is a good quote to live by. No matter how busy I get, I try to code _something_ everyday.

<comment><USER32> Link to the original article. [http://www.reddit.com/r/getdisciplined/comments/1q96b5/i_jus...](http://www.reddit.com/r/getdisciplined/comments/1q96b5/i_just_dont_care_about_myself/cdah4af)

</comment></comment><comment><USER33> On a slightly related note, I'm trying to impose a new behaviorist training on myself. I've never been one to listen to music when working, although I love music (as in member of two active bands, produced many albums love music).

So now, I'm trying to do work in album-length increments. Put on the headphones, pick an album, and work on one task all the way through it. No breaks, no interruptions. It's kind of a Pomodoro technique variant, a bit longer and with the headphones involved for extra habit and insulation from the outside world.

<comment><USER34> That sounds vaguely similar to what John Carmack allegedly used to do: [http://bookofhook.blogspot.com/2013/03/smart-guy- productivit...](http://bookofhook.blogspot.com/2013/03/smart-guy-productivity- pitfalls.html)

<comment><USER33> Good article, thanks!

</comment></comment></comment><comment><USER35> Absolutely this. You can also use a tool like Gitstats (if you don't use Github) to track your progress. A lot of my code is written inside thirty minutes on the bus and tube on the way to work. Sometimes you might feel like there's no point even pulling the laptop out of your bag since the time window is too small- but every time you will surprise yourself with how much you manage to get done.

The best thing about the 'little and often' approach is how you get drawn into fixing something big just by starting to fix something small. Getting into The Zone for hours at a time is great and everything but honestly I'm starting to view the whole process as just clocking in keystrokes.

My gitstats ([http://notes.darkfunction.com/gitstats/index.html](http://notes.darkfunction.com/gitstats/index.html)) is showing commits on 56 of 85 days. A week of the remainder I was on holiday, and I tend to rebase quite a lot so actual days committed should be higher. But in that time I have written over 18,000 lines of code and removed over 6000. Almost a full iPhone application since January in my spare time, now onto the home stretch and couldn't be more pleased with the results.

<comment><USER36> I agree. Having a 40 minute daily BART commute was really productive for me, even if it's that short.

</comment></comment><comment><USER37> Great post! A similar approach has been working really well for me. I'm on target to hit a year of consecutive days of coding this weekend. GitHub: [https://github.com/zachlatta](https://github.com/zachlatta)

I had a bit lower baseline than the author. My rules are as follows:

1\. Commit something, anything. Even if it's just fixing a typo in a readme or phrasing some documentation better.

2\. You must commit every day.

3\. Every contribution must be useful.

</comment><comment><USER38> This is a good article. I believe this idea comes from Jerry Seinfeld^1.

Here's an article that really complements the submission: [http://start.jcolemorrison.com/how-i-fight- procrastination/](http://start.jcolemorrison.com/how-i-fight-procrastination/) It's titled "How I fight Procrastination" and gives advice on how to break up tasks into day-sized activities.

Finally, I want to say I _personally_ disagree with the OP's 2nd point:

        2. It must be useful code. No tweaking indentation, no code
        re-formatting, and if at all possible no refactoring.
        (All these things are permitted, but not as the exclusive work of the day.)

I've noticed that when I'm really tired or "not feelin' it" sometimes I just want to do something that takes 10 minutes so I can keep the chain going. When I spend a day (ie: 10 minutes) refactoring some code, I don't lose my motivation to work on my project tomorrow. It's breaking the chain makes me lose motivation and if I forced myself to write something "useful" on a day I don't feel like it, I may just end up breaking the chain instead. It's of the utmost priority to lower the bar to work on your project and rule 2 is an obstacle to that. Plus, I take mild offense to the idea that refactoring is not considered useful :)

And, if I had this rule I think I'd avoid refactoring a lot of code that needs it. I'd spend more effort squeezing that square feature into that round hole if refactoring "didn't count".

        ^1: http://lifehacker.com/281626/jerry-seinfelds-productivity-secret

</comment><comment><USER39> This essay[1] made a deep impression on me and I rationalize not working if I don't have a long chunk of time available to work on my side projects.

[1][http://www.paulgraham.com/makersschedule.html](http://www.paulgraham.com/makersschedule.html)

Will need to change my attitude and get more done. Good piece.

</comment><comment><USER40> I have the opposite problem. I need to code less per day and work on the other important things in my life.

</comment><comment><USER41> It's crazy that I found this today...I just started something similar except instead of coding every day I set a goal of 4 hours per week and I use Beeminder to track my progress. Many of the benefits you listed are spot on especially "the feeling of making progress is just as important as making actual progress." Now that I have children, coding for 8 hours on a Saturday just doesn't work. To reach my current goal of 4 hours per week, I plan on coding for 30 minutes in the morning or night where I can but I also have arranged with my wife one weeknight where I leave the house and go code at a coffee shop for 2-3 hours.

</comment><comment><USER42> While Resig's dedication is admirable, I'd caution against applying his advice too broadly. He is doing it because he has side projects that he wants to complete. There's no reason to force yourself to code every day for coding's sake.

I've been doing a lot of side-project hacking the past three months, as evidenced by my Github activity graph ([https://github.com/zhemao](https://github.com/zhemao)), which, admittedly, is not as impressive as Resig's. However, this week, I finished up my latest side project and found myself at a loss for new ideas. At first, I did feel a bit guilty about not doing any coding, since it had been a long time since I had nothing to work on. But then I realized that there's more to productivity than a nice contribution graph and sometimes it's good to take a step back in order to think, reflect, and get inspiration.

I'm currently reading through Patterson and Hennessy's "Computer Organization and Design" to learn more about computer architecture. I'd also like to practice my saxophone some more, start learning how to draw, help a friend who is still in college find a job, and expand my social life a bit. My Github account will still be there when I am ready to get back into it.

</comment><comment><USER43> Don't focus on the how. You can produce good code by: 1\. Coding every day 2\. Hackathons 3\. Coding on certain days 4\. However you want.

What matters though, is how -you- work. Are you the sort of person who prefers to code as much as possible? Code every day. Do you enjoy getting a big thing done fast? Hackathons are for you. Do you have children, a life or a job? You might want to code whenever you can instead of trying to force yourself into something that might not work for you.

</comment><comment><USER44> "An interesting side effect of writing side project code every day is that your current task is frequently running in the back of your mind. Thus when I go for a walk, or take a shower, or any of the other non-brain-using activities I participate in, I'm thinking about what I'm going to be coding later and finding a good way to solve that problem."

Is that not a negative? I find it hard to stop thinking about what I'm working on, and it negatively impacts my life. I leave the office after 8 hours, but the next 2 hours are spent turning over problems in my head, and the 2 hours before I sleep are spent on it too. The days that I work on a problem at the office for a few hours and can't unblock myself before leaving are hell. My brain won't turn off until I can get into work the next day and begin on the problem. Some days I will even wake up in the morning or night with _answers_ to the problem. Why is the AWS instance in my head turned on all night long when I'm not even getting paid for it?

</comment><comment><USER45> 2 years ago some friends and I started writing one song each per week (and met every Thursday to listen to our respective _master-pieces_ ). We mostly ended up composing and recording the songs on iphones the Wednesday night before (thank god for GarageBand), and after 3-4 weeks were producing more creative content in this compressed timeframe than we'd had been able to with no deadline before. A few months in we skipped a Thursday or two, and suggested the solution was to write one song per month instead. That was definitely not the solution. We didn't find more time to write, and the lack of schedule killed the momentum. My biggest regret of the last year is not sticking to it - however a friend just moved to our city with the condition that we'd get it started again with the weekly frequency, so I'm optimistic :)

</comment><comment><USER46> Great blog post john,

I had this experience when i was working on a book and i had to spend considerable amount of time every week on one example. The book had 100 examples so it took me two years to complete the book but the experience was amazingly satisfying because i was able to justify the effort, going slow and steady.

The other thing i noticed is the increase in quality when you do less but give more time to think. Keeping the problem in your mind create innovative solutions. Which is impossible if you want to just hack up everything one weekend.

My personal favorite is keeping a point system for all the good things you want to do in your day and add them up for weeks and at the end of the month, check the total and see where are you lacking behind. What percentage of life you are actual able to live the way you want. Haven't got to 100% yet but above 60% i give a pat in the back.

</comment><comment><USER47> I recently started the same discipline. I spent a good part of my career writing code then worked my way up to executive management and stopped. After several years as Director of this, or VP of that, my skills had eroded. Late last year I decided to take a sabbatical and get back into the game by applying to Hack Reactor in SF. It was an intense period of two months of pre- course work (18 Code School classes and a bunch of coding assignments), followed by three months of intense work on site where we went 11+ hours a day for 6 days a week. One of the disciplines there is to work on a short "toy problem" every morning for 30-60 minutes. Although I finished the program recently I am keeping up that practice as well as working on my real project, a new startup for social video. I'll never stop coding again!

</comment><comment><USER48> I'm curious if 30 minutes is the lower bound on meaningful project time if the constraint of writing code is lifted. I've been thinking about what kinds of projects could be decomposed into 20 minute work units, allowing some work units to basically be all thinking (design, specs, figuring out how to split up a problem, etc.) and others to be more coding.

I'm suspicious that there are many projects that could be decomposed like this, or even into 10 minute blocks, but that it'd be really helpful to have tools that makes this more achievable -- ones that basically remind you of where you were and help with the what-do-I-do-next decision.

Does anyone have any experience with this kind of development process?

<comment><USER49> I've been finding mind maps extremely helpful for doing exactly what you describe: working in small chunks through the process of approaching a high- level problem. (I currently use FreeMind for this, but I want to find something that works better on my laptop and/or would let me edit maps on my phone as well.)

I use mind maps like an endlessly hierarchical to-do list. Every high-level task I want to accomplish is a node, and whenever I start to think about the approach to one, I make child nodes for the broad strokes of that approach. So long as I'm actually interested in completing the project, I can continue to break each step down in this way until I get down to a level where it's easier for me to just start writing code. (This level varies largely, depending on my mental state at the time.)

If I stop at any point I have all the thoughts that came to me, written down in exactly the places they'll be useful. I can go as deep as I want into breaking down any particular step, knowing that those thoughts will be available later. And it's much easier for me to spot problems and reconsider my approach when my plans are all laid out hierarchically in front of me.

I might sound overexcited about this because I hadn't figured out how to use any external tools to help me think about my projects before I was recently introduced to mind maps, and they immediately had a huge impact on my ability to think about my projects without getting bogged down. So if you already have tools that give you similar benefits, take all this with some salt or whatever.

Anyway, I've lately been working mostly on weekends and finding myself with similar issues as the blog post describes, so I'm planning to start trying to do a little bit every day instead, starting today. I think I will be content if the little bit I do on some days is breaking down some tasks I haven't yet thought through in my mind maps, even if I don't write any actual code.

</comment></comment><comment><USER50> I'm actually testing this strategy for competitive programming. Was very difficult to train for the ACM-ICPC when I was working as developer, but now that I only study in the University I solve at least a problem a day for maintain my streak in my Github in these are the results in some online judges for competitive competitions: [http://community.topcoder.com/tc?module=MemberProfile&cr=227...](http://community.topcoder.com/tc?module=MemberProfile&cr=22778322) [http://codeforces.com/profile/jhtan](http://codeforces.com/profile/jhtan) It works!..

</comment><comment><USER51> Inspirational post.

Last year, I [1] set a goal to teach myself git by committing at least once every day for a month. At the end of this, I saw the streak, and was too afraid to see it go down to 1 in a snap. Ever since, I've been committing code daily, and it's been about 40 weeks, and I'm still going strong. Being a full time student, this wasn't really easy for me, but I'm proud of myself.

The one thing I learned is, that the problem isn't the lack of ideas or time, but the lack of motivation to work on them.

[1] [https://github.com/karan](https://github.com/karan)

<comment><USER52> Being fairly new to programming, I usually have a hard time coming up with realistic/manageable ideas that can be completed in a reasonable timeframe.

Your huge list of projects has been a huge help in that regard, so thanks!

</comment></comment><comment><USER53> Related: for the first time in my 15-year programming career, I've spent the past year or so doing more engineering management than actual coding, and it has noticeably improved my programming ability.

</comment><comment><USER54> This doesn't improve you much unless you're really new or skilled at challenging at yourself and finding new things to learn.

If the latter is true, do you really need advice?

Said differently: flow is the opiate of the masses.

<comment><USER8> Not everything has to be a life-improving challenge - sometimes you just want to ship some code!

<comment><USER55> I would say shipping is definitely life improving. Shipping is where you expose your work to the public and open it up to feedback and criticism. You can learn a lot more from direct feedback than you can learn from a general book.

I have far too many books and half finished projects that will never get finished. I have forgotten most of the stuff I learned from them.

</comment></comment></comment><comment><USER56> I don't write code every day, but that is largely due to my military obligations as a reservist. Other than that, I often work on various side- projects and/or help others with their coding woes as a way to learn & help keep sharp. I'm disciplined enough to learn what I need to on my own time whenever I want.

Sometimes I burn out, and in those instances I take my free time away from programming.

The most important take away is to figure out how you want to improve yourself, instill passion in doing so, then executing.

</comment><comment><USER57> I love coding, but the idea of doing it every day would make me hate it so quickly. I love learning new technologies when I want too, or fiddling with a concept, but I want it to be because I want to do it and not because I feel obligated too. I've put myself in that situation before and all it did was bum me out and push me close to a burnout situation, it works for some people sure but people should be doing things because they enjoy it.

Don't write code every day, do something you _want to_ everyday.

</comment><comment><USER58> Very inspiring, but take into account that John (most likely) lives in a good enviroment to proceed with this, his job is intellectually demanding but he is not overworked or extramulti-tasked.

If your job leaves you depleted, and when you arrive home you're like a husk of a human being you can't expect to do something like this.

Take into account that great developers like John live in a place where they can grow, you can't copy what they do and expect to have the same great results in a not so great environment.

</comment><comment><USER59> The pitfalls of context switching is mentioned often in this article. I have a "problem" where I'll work heavily on a side project for a few days, before getting bored and wanting to move onto another project. The result is that I have many unfinished side projects.

Is it better to focus on one project until completion, even if you aren't as into it anymore? What do other HNers do regarding multiple on-going side projects?

</comment><comment><USER60> As much as I like this idea, I do wish John talked more about HOW he did it. "No More Zero Days" is a good thing as a target, but it's often unachievable.

For me at least, the context switch required between what pg calls the manager's schedule and maker's schedule is so huge that it takes hours to cross that gulf (that's what I'm mostly switching between anyway)

Do you just sit down and force yourself to hammer out code?

</comment><comment><USER61> I've made it a point to NOT check things in on Sundays. I break my own rule. I get the OCD gimmick to get yourself motivated but ...

I flies against of my philosophy of coding. Less is more, quality over lines of code. Not coding for coding sake. And coding on paper and writing out data structures and algorithms.

Hey, if a whole bunch connected green dots gives you a feeling of accomplishment. Enjoy!

</comment><comment><USER62> I totally agree with this. About a month ago I created a site that puts up a new programming or logic puzzle every day Monday-Friday. The exercises usually take no more than 30min and the community has been steadily growing. If you're interested you can check it out at [http://problemotd.com/](http://problemotd.com/)

<comment><USER63> Something similar can be found at Project Euler, [http://projecteuler.net/](http://projecteuler.net/) or at Codewars, [http://www.codewars.com/](http://www.codewars.com/), although those have a stricter format than your examples. For example, the challenges at Project Euler all have a single number as answer. Some problems can thus be solved via mathematics, but for most a program -- you may pick the language -- is most efficient.

</comment></comment><comment><USER64> Jeff Haden refers to this mindset as a systems-oriented mindset as opposed to a goals-oriented mindset. He's written a great article about it here: [http://www.inc.com/jeff-haden/an-nearly-foolproof-way-to- ach...](http://www.inc.com/jeff-haden/an-nearly-foolproof-way-to-achieve- every-goal-you-set-wed.html)

</comment><comment><USER65> I decided I would write a short story everyday. Ended up forcing myself to write random gibberish for a few days before i gave up.

</comment><comment><USER66> I find my daily intelligence is highest in the early morning 6:30 am but productivity peaks at about 9:30 am.

Anything in the afternoon is a steady decline and by evening I should just do something that doesn't involve sitting in front of the glowing box. Trying to push yourself too hard results in overall productivity loss.

</comment><comment><USER67> I've read multiple articles on people doing this. Practice is the best way to learn. Admittedly, I've tried and failed on this before. I love seeing people succeed and become better at their practice using this method. It can only serve as inspiration for others. Thanks and congrats!

</comment><comment><USER68> This reminds me my 'Half hour' productivity hack that I've been testing last year: [http://blog.self.li/post/34104114881/4-weeks-into-half- hour-...](http://blog.self.li/post/34104114881/4-weeks-into-half-hour- productivity-hack)

</comment><comment><USER69> I'm guessing this doesn't apply to the average developer; after all, we write code for a living. I sure do. I don't usually do any coding when not on the clock, after all, I've already done 8ish hours of work by then (and if I'm lucky, most of it spent coding).

</comment><comment><USER70> I really like this approach. I'll do my best to write meaningful code every day to my side projects.

</comment><comment><USER71> I tried to do this, but in the end I ended up getting a job at a fast food place (part time). It uses different parts of my brain (as opposed to freelancing), and forces me to stick to the schedule. I can't exactly explain it, but it really gave me a BIG productivity boost.

</comment><comment><USER72> I tried this a few months ago and failed miserably: [https://medium.com/lessons-learned/ab219377be93](https://medium.com/lessons- learned/ab219377be93)

Really enjoyed your post, though. I think I might give it another shot from a different perspective.

<comment><USER73> Your link redirects to a login page?

<comment><USER72> Can't seem to reproduce that - it's just a Medium article. Could have something to do with Heartbleed if you've logged in before.

</comment></comment></comment><comment><USER74> Does working toward your side projects without necessarily writing code count? There are some days where I devote myself to figuring out something on my system that's essential for my side project, and those days I don't necessarily write any code.

</comment><comment><USER75> It's best if you actually just _read_ code everyday and the writing is just the side effect of tinkering with it. Like chess you will save a lot of time by learning from other people's games before you actually do something on your own.

</comment><comment><USER76> This is exactly my approach on my side project, but rather than "write code every day" I say "make some progress every day". Simply because it's not a Open Source framework, but a wannabe product.

</comment><comment><USER77> I am totally facing the same issue which you faced about working only during weekends. Your idea of working everyday seems nice i will try giving it a go :)

Nice post!

<comment><USER77> And also Congratulations! :)

</comment></comment><comment><USER78> Doing this helped me start my startup while working full time and eventually feel confident enough to quit my job and work full time on my startup

</comment><comment><USER33> I really needed to read this, today. Thank you.

</comment><comment><USER79> How long do you spend every day on your side coding? Do you try to set a minimum/maximum amount of time?

</comment><comment><USER80> "I realized that the feeling of making progress is just as important as making actual progress."

Yeah...no.

</comment><comment><USER81> That post was awesome... slow and steady wins the race. Inspiring!

</comment><comment><USER82> Hey John, just quit KA.

Life is too short to waste it in things you don't love. Remember jQuery brought you fame, not because you were chasing fame itself but because your love for jQuery and programming.

Love for what you do comes first, money is just a secondary effect.

<comment><USER8> Haha ehhh I think you're reading into this a bit too much. It is possible to love more than one thing - I love helping educate people and doing it at a scale that Khan Academy can provide. I also love building reusable JavaScript libraries. I also love building tools for Art Historians. They all shouldn't be to the exclusion of each other and, in fact, there's often overlap. Part of the fun in life is embracing that and trying to make the most of it!

</comment></comment><comment><USER83> Is your side project really this important to you? It's your source of identity and self-worth?

I say: take three months off from even touching a text editor and practice guitar every day.

I think my system leads to happier, healthier human beings.

<comment><USER84> I think your system leads to a happier, healthier you, since you're doing what _you_ like. I don't know about John, but I'd code every day, because I actually enjoy coding. I have the feeling it applies to him as well.

It's the same with writers who write every day, no matter how little, to get into the rhythm and to constantly improve.

Also, doing something every day, doesn't imply neglecting other parts of your life. It just means constantly giving to something you care about.

</comment></comment><comment><USER85> thank you, this is the best advice about side projects i have ever read, I'm going to practice this from today!

</comment><comment><USER86> there's a saying; practise makes perfect

it applies not only to coding, but also to other areas

</comment><comment><USER87> Hey THIS IS AWESOME!

</comment><comment><USER88> it sounds great, I like to try.

</comment><comment><USER89> If you don't use it, you lose it...

</comment><comment><USER90> ABC.

Always be coding.

Always.

Be.

Coding.

</comment><comment><USER91> The best code is no code.

</comment><comment><USER92> Highlanders vs Bulls Live Super 15 Game Free Streaming xv rugby Online [http://storify.com/superrugbyoz/higvbulnzt](http://storify.com/superrugbyoz/higvbulnzt)</comment>


Find the lowest airfare (and have fun doing it) [Tripeedo - YC 08] - <AUTHOR> http://blogs.computerworld.com/find_the_lowest_airfare_and_have_fun_doing_it

<comment><USER2> Hmm.

I don't think the natural language input is a very good idea. It's very error prone and only works correctly if you actually know what language it supports. I tried it and it got confused. Also it didn't correctly recognize a three letter airport code that I used.

To be frank I've found that Kayak has the best interface for doing this and there's no need to select which sites to search, etc. The interface here does not seem like an improvement.

And maybe it's just me but when I hear 'peedo' I think paedophile and so this company sounds like its name is 'try paedo' to me.

<comment><USER3> On the one hand I agree: I'd rather it popped up while I typed "Frankfurt, Germany" to let me disambiguate HHN and FRA, rather than open 20 tabs that all said "do not service that airport". I didn't realize HHN was the wrong code until nothing was found, whereas other sites (eg Kayak) let me disambiguate immediate.

On the other hand: not using a date picker is _awesome_. I've been using nl date parsing on my own sites lately and it's The Best.

<comment><USER4> ha! I just tried to find a flight from Frankfurt to Moscow and also wasn't successful because of your software insisting on 'Frankfurt/Hahn(HHN)'. Please fix this fast! I also tried 'From Frankfurt/Main' and 'From FRA' but wasn't understood:-( Apart from that, I like the 'command line approach to finding flights a lot. Suggestion: Why not open the third party travel sites (Orbitz etc.) in a Javascript-Window (instead of a new browser window).

Then I tried to report the airport issue to you by clicking on the feedback button on the right. After entering my feedback, upon clicking on 'Submit', the feedback window showed me something like 'there was a problem sending your message...' I tried again, to no avail - sadly, the feedback form didn't tell me what went wrong or what to do next, it only offered me to add a 'sad' emotion to my message. Which wasn't of much use, because the 'problem sending the message' prevented me from showing you my sadness (Ironically, the third party company that makes your feedback system has named itself 'getsatisfaction'). Well, I closed the feedback window and found another way to post my feedback: [http://getsatisfaction.com/wundrbar/topics/i_didnt_want_to_p...](http://getsatisfaction.com/wundrbar/topics/i_didnt_want_to_post_this_here_but_your_feedback_thing_on_the_right_continued_to_give_me_errors_there)

I only had to create an account, submit a fake email address, enter a new password (twice) make up a new username and enter a captcha. After that, I had to enter the password again (twice), because it has to be at least 6 characters long. And, of course, enter the captcha again. After that, I was allowed to post my comment!

:-)

<comment><USER5> frankfurt/main is now the top match for 'frankfurt'. :)

the way to specify an airport if the top match is not right is just to keep typing. eg: london => london all airports (lon); london gatw => london, gatwick (lgw); lon hea => london, heathrow (lhr)

similarly: sa fr => san francisco; sa di => san diego

typing frankfurt/main didn't work because the slash was confusing the interpreter. i'm fixing that right now.

</comment></comment></comment></comment><comment><USER6> I don't like the pop ups, I want comparable data not 20 different pages, all of which I have to dig through before I get my information.

<comment><AUTHOR> agreed-- but until airlines open up their fare data via APIs, users can only truly get all data by actually searching individual sites. even meta-search sites like Kayak don't have access to all fares, which is why results often vary between the various sites. tripeedo is a step toward making that process more simple.

<comment><USER7> What about Open Travel (<http://www.opentravel.org/>)? Its a format being supported by some of the major players in the travel industry: <http://www.opentravel.org/Join/Members.aspx>

I am working in a startup that aggregates rental car rates, similar to Tripeedo using OpenTravel. Its all XML based, and can be a PITA--but the result are a better product and a better user experience.

<comment><USER8> I doubt this sort of scheme will gain real traction - much of the airline industry's scheme involves building consumer loyalty (e.g. "I always fly with XYZ Air, they have decent prices and I don't have to hunt around hard to use websites"). An open API destroys this, and makes airfare even more of a commodity than it already is. I've heard anecdotal stories about Kayak being constantly blocked by the sites they scrape.

<comment><USER7> Sites like Tripeedo are not geared towards loyal customers-they're geared towards bargain shoppers.

OTA is gaining real traction. By my count about 1/3rd of the companies listed on Tripeedo are _members_ of OTA, while many more unofficially support some derivative of it. Most of these companies don't have open API's--they are very private and require NDA's and partnership agreements.

There are systems in place to handle use-cases like this. API's are in place for travel agents to search available rates and creating bookings. This is essentially the same concept.

Kayak is justifiably being blocked because they're scraping sites. If they had partnership agreements in place this wouldn't happen.

</comment></comment></comment></comment></comment><comment><USER9> I for one welcome our new meta meta meta travel search engine overlords. :)

It worked really well for me. I loved the natural language search, one of the things that beats me down with travel search engines is having to select my date on their little calenders and then figuring out the airport codes of the airports I want to go into.

The 2 dozen browser tabs were pretty neat, on a low memory machine that might get annoying, but for my pc it was smooth.

One recommendation I have on the natural language sort is to have it recognize times of day i want to leave like morning, afternoon, etc

<comment><AUTHOR> glad you like it, and thanks for the suggestion. time of day is a parameter we'll definitely be adding soon. (it's actually one of the trickier ones to implement).

</comment></comment><comment><USER10> Also opening a couple dozen new browser windows is a good way to ensure your site is only used once.

<comment><USER11> Normally I'd agree, but in this case it is exactly what I wanted!

</comment></comment><comment><USER12> That is a great site, beats all others hands down. Pop-ups suck, but still beats the other sites. I love entering the date in words.

</comment><comment><USER13> If you are going to create a new site in this space it has to be at least as good as Kayak. Tripeedo fails horribly. As others have mentioned, a site that simply opens numerous windows with the results from each site is not adequate.

<comment><USER14> Tripeedo has two obvious advantages over Kayak:

(1) It can help you search discount airlines like JetBlue and Southwest.

(2) It will show you fairs that are exclusive to the airlines' websites. (I don't think I've ever run into a situation where the airline's website had a price significantly lower than what was on Kayak but I've heard rumblings that it happens.)

<comment><USER15> I agree with both of these thoughts, but where is tripeedo when kayak partners with all of these?

i recently went to hong kong and searched all of these engines and got discouraging prices. I did one search on Cathay Pacific's website and saved close to 40%. I'm almost positive you won't see this with domestic flights (for now.)

<comment><USER8> They won't partner I don't think. Airlines dislike fare competition, it drives profits down and worsens their already-bad financial situation. From the couple guys I know who work in that industry, there is real push-back against aggregation sites.

You also provided the evidence of this yourself - I too have had a lot of trouble with Kayak recently, and it seems their ability to scrape accurate fares is severely compromised, and I suspect that airlines have some hand in this.

</comment></comment></comment></comment><comment><USER16> FF3 and IE7's pop up blockers prevent access to search results. This is default browser behavior. How many people know or care about disabling pop up blocking for individual sites (or changing any defaults, for that matter)?

</comment><comment><USER17> I had a frustrating experience with the site. Took me longer to get what I wanted than if I had gone to Kayak (the market leader) or Jetblue (that normally runs my best fare).

What, if I may ask, was the vision and rationale behind this approach?

</comment><comment><USER18> once I selected all "travel sites" & all "airlines", i got a warning "you are about to open 20 tabs" and I promptly closed the tab. I don't like the idea of opening that many tabs or the fact that I need to select individual airlines or sites. I rather get all the data in 1 page first and then filter by removing airlines/ sites.

I really like the cleartrip guys when it comes to travel/ticket booking. It's mostly India only but check out the UI & usability -- really nice. <http://cleartrip.com>

</comment><comment><USER19> Site works fine for me in Chrome.

A lot of travel agencies have systems that actually can check all airlines for their flight information. I would suggest you look into that and run off of a hybrid between server and queries instead of waiting for an API and in the meantime tell people something is easy when in fact it really isn't. Most of my queries return errors on the pop-ups.

</comment><comment><USER20> Most meta travel sites like this get their commissions one of two ways, either a commission for booking a flight, or a click through commission to the travel site. It is in tripeedo's best interest to open as many popups as possible.

They are adding little to no value on the flight pricing. Thumbs down.

</comment><comment><USER21> What I was really _hoping_ to find here was a travel search site that let me find cheap fares without necessarily having firm dates in mind. To me, Tripeedo just puts the functionality of kayak in a slightly different UI, as opposed to offering a new way to interact with the data itself.

<comment><USER5> increasingly, travel sites are letting people do those kind of flexible dates search, which is a promising trend. you're right, for the time being tripeedo is primarily a different UI (though one we feel is more user-friendly), along with the benefit of only entering trip details once.

</comment></comment><comment><USER22> Disappointing .. Doesn't really work with all the airline sites that it has on main page.

<comment><USER5> yeah, we need to fix or warn about that better. the reason that the airline searches don't work reliably is that most airlines only serve a few airports, and if you search for airports they don't serve, the result is not always handled gracefully. some airlines prompt for a known airport - some just give up and display an error. to counter this, we would need to maintain a list of all airports served by each airline, and only let users launch valid searches to the airline sites. i think that is good from a usability perspective, and it's definitely doable, but maintaining it is time-consuming. that's why we haven't done it yet. but, we may well get to it soon.

</comment></comment><comment><USER23> Seriously, I love the pop ups. I believe you have to respect the boundaries of different companies (jetblue, southwest, etc). The amount of time that this saves on my flight purchasing is huge. Well done!

</comment><comment><USER24> Yikes, that was an awful experience. I didn't know it would open tabs, so I selected all items. And of all the tabs it opened, almost none gave me any useful information.

<comment><USER5> sorry about that - we try to make it clear that new windows open, by saying so in the instructions on the left, and also displaying a message when more than 5 airfare providers are selected. how could we make it more clear in a user- friendly way?

<comment><USER24> Most critical to me was that most of the airlines displayed there were not relevant to me. I usually use about 5 airlines (and I think most people do so also), and I KNOW the airlines that I use. They are Air France, KLM, Lufthansa, Turkish Airlines and EasyJet. Your site would be VERY useful if it would send queries to those particular airlines and open tabs after running a correct search on all those airlines.

But your site is useless with the America-Centric airlines you have there.

My suggestion would be to also add a natual language processor where I can type in the airlines I fly with, and this this info is immediately saved in a cookie for the next time I use the site. Also, when I start the search, an account should immediately be created for me.

</comment></comment></comment><comment><USER25> First we had aggregators like Kayak, Expedia and Farecast. That's clearly too much work, so now with Tripeedo we have aggregators for the aggregators!

</comment><comment><USER26> I'd never thought someone would compete with Orbitz.

<comment><USER27> Orbitz, et. al don't actually do their own search. They outsource all the real work to ITA Software in Cambridge, MA - who actually run all the searches on a large cluster of servers running Common Lisp.

</comment></comment><comment><USER28> This site doesn't load in Chrome for me (aw snap error). Is anyone else getting that?

I'm running Chrome 2 on Windows 7.

</comment><comment><USER3> i need tehcnical support: on firefox 3 it first blocked pop-ups, so i enabled and got a spew of opened tabs with no search results found (see my other comment). when i tried to search again ff keeps blocking the pop-ups, even though i keep enabling them. !!! nuts, i really want to buy cheap plane tickets :P i'll keep trying.

<comment><USER5> this sounds like a firefox issue. if you choose to enable popups for tripeedo.com, then firefox should remember that choice. let me know if you find otherwise...

</comment></comment><comment><USER29> Wow, that was annoying. Opening two dozen browser windows without warning, half of which contain errors? Not cool.

<comment><USER5> we try to warn (in 2 ways on the homepage) that popups will be opened. how could we make it more clear in a user-friendly way?

</comment></comment><comment><USER12> Is the parsing algorithm for the location and date proprietary or is it based on something existing? If so, what?

<comment><USER5> it's custom built. the site is rails hosted on heroku. ruby already had some decent time/date parsing, and there is a great natural language time/date library called chronic that helps out too. but otherwise it's custom-built.

</comment></comment><comment><USER11> Awesome UI. I'm blown away.

</comment><comment><USER30> i don't seem to get the popups :(</comment>


Hawaii Baby with Brain Damage Is First U.S. Case Tied to Zika Virus - <AUTHOR> http://www.nytimes.com/2016/01/17/health/hawaii-reports-baby-born-with-brain-damage-linked-to-zika-virus.html <comment><USER2> This is Children of Men level shit. It's time to make the mosquito extinct.</comment>


Live Chat Statistics: Trends and Insights from 1000 Consumers and 100 Businesses - <AUTHOR> https://www.kayako.com/live-chat-software/statistics <comment><AUTHOR> Consumers are more likely to remain loyal, engage in positive word of mouth, and spend up to $500 extra per month with businesses that provide effortless live chat experiences.

\- 79% of businesses say offering live chat has had a positive effect on sales, revenue, and customer loyalty

\- 38% of consumers are more likely to buy from a company if they offer live chat support

\- 51% of consumers are more likely to stay with or buy again from a company if they offer live chat support

\- 63% of people who spend between $250-500 a month online are the most likely to both buy from, and be loyal to, companies who offer live chat

But, there's a disconnect between business and consumer expectations of how live chat should be.</comment>


What is the fastest serial computer? - <AUTHOR> For some time, the fastest computers (such as those listed at Top500) have been massively parallel. Not all software solutions can be broken into many distinct, independent streams, though. What is the fastest computer which does not rely on many processing units and parallel code? <comment><USER2> Probably a single 5Ghz Intel core i9 - Extreme Edition. If its serial, only 1 core can run at a time. I don't know of many faster than 5ghz.</comment>