Hacker Newsnew | past | comments | ask | show | jobs | submit | 2011-09-30login
Stories from September 30, 2011
Go back a day, month, or year. Go forward a day, month, or year.
1.Try Python, Ruby, Lua, Scheme, QBasic, Forth ... (repl.it)
390 points by amasad on Sept 30, 2011 | 78 comments
2.Write your app in HTML5, upload it and get back app-store ready apps (phonegap.com)
330 points by geoffroy on Sept 30, 2011 | 93 comments
3.Single psilocybin dose may make lasting personality change (medicalxpress.com)
190 points by MaysonL on Sept 30, 2011 | 158 comments
4.Sharding and IDs at Instagram (instagram-engineering.tumblr.com)
183 points by singhshashi on Sept 30, 2011 | 50 comments
5.Amazon in talks with HP to buy Palm (venturebeat.com)
175 points by mjfern on Sept 30, 2011 | 98 comments
No
172 points | parent
7.MIT’s ‘Artificial leaf’ makes fuel from sunlight (web.mit.edu)
166 points by audionerd on Sept 30, 2011 | 28 comments
8.Client asks for 100% uptime (serverfault.com)
164 points by splattne on Sept 30, 2011 | 96 comments
9.The Slashdot Effect from the Other Side (cmdrtaco.net)
163 points by CmdrTacoMalda on Sept 30, 2011 | 41 comments
10.How to Give Your Product Personality (jasonshen.com)
131 points by jasonshen on Sept 30, 2011 | 30 comments

I've been tempted to write rants like this before. Ryan's point seems particularly centered around Unix, which makes sense. My experience of trying to get stuff done in Unix has taught me that it is a really powerful, extremely well-thought-out way to waste my fucking time.

All of it. Down the fucking toilet, and for stuff I don't give a shit about. Every single goddamn thing I try to accomplish while setting up a server involves a minimum of 1 hour of googling and tinkering. Installing PHP? Did you install it the right way? Did you install the special packages that make it secure and not mastadon slow? You want to create a daemon process? Hope you found the right guide! Setting up a mail sever? Kill yourself.

For some people, this is not the case. They have spent multiple decades breathing in the Unix environment, and are quite good at guessing how the other guy probably designed his system. And they don't mind spending the majority of their productive hours tinkering with this stuff. But I don't have time. I don't care. I don't have time to read your 20-page manual/treatise on a utility that doesn't explain how to actually use the thing until page 17. I don't want to figure out why your project doesn't build on my machine because I'm missing some library that you need even though I have it installed but some bash variable isn't set and blah blah blah blah.

The problem with Unix is that it doesn't have a concept of a user. It was not designed that way. It was designed for the people who programmed it. Other pieces were designed for the people who programmed them. If you are using a piece that you built, then you are a user. Otherwise you are a troublesome interloper, and the system is simply waiting in a corner, wishing you would go away.

And yet...we put up with it. Because there isn't a better option. Because it's our job. Because we'd rather just bull through and get things done than spend an infinite amount of time fixing something that isn't fixable. Life sucks, but NodeJS is pretty cool.

12.Microsoft security tools nuking Chrome browser (zdnet.com)
125 points by FrancescoRizzi on Sept 30, 2011 | 38 comments
13.Basho Releases Riak v1.0.0 (basho.com)
122 points by roder on Sept 30, 2011 | 20 comments
14.The Stack Exchange Architecture (serverfault.com)
110 points by javery on Sept 30, 2011 | 29 comments
15.The world economy is heading towards a black hole unless bold action taken (economist.com)
109 points by colinprince on Sept 30, 2011 | 135 comments
16.What’s contained in a boarding pass barcode? (shaun.net)
98 points by bootload on Sept 30, 2011 | 18 comments

I would love to see someone drag it kicking and screaming outside of the US. :(
18.Ask HN: European startup looking for a service for recurring billing
95 points by davidvanleeuwen on Sept 30, 2011 | 67 comments
19.Bored? Try Doodling To Keep The Brain On Task (npr.org)
94 points by tjr on Sept 30, 2011 | 22 comments
20.Berlios closing down (berlios.de)
93 points by ethereal on Sept 30, 2011 | 24 comments
21.How Much Money Do The Top Grossing YouTube Partners Make? (socialtimes.com)
92 points by fezzl on Sept 30, 2011 | 28 comments
22.The Geoffrey Moore talk that Joel Spolsky said changed his business. (thebln.com)
91 points by marklittlewood on Sept 30, 2011 | 7 comments
23.Tips for applying to YC (entreposeur.com)
89 points by smilliken on Sept 30, 2011 | 24 comments
24.Try the Flask web framework in your Browser (ep.io)
91 points by DasIch on Sept 30, 2011 | 31 comments
25.Parse adds easy caching support for iOS and Android (parse.com)
81 points by csmajorfive on Sept 30, 2011 | 11 comments
26.Ludumdare October challenge: Finish a game — Take it to market — Earn $1 (ludumdare.com)
81 points by Impossible on Sept 30, 2011 | 16 comments

This is just raw pessimism, you could rant like this about anything.

I hate all cars, especially my own. I hate that heavy, dangerous, gas-guzzling honda civic with an over-sensitive brake pedal and enormous, completely pointless blind spots over both shoulders. I hate filling it up with gas, which is expensive, smelly, and bad for the environment. I hate the dishes that I have to wash every day after I use them. I hate my Aeron chair that I sit in all day long. I hate peeling grapefruit. I hate the sound of my central air conditioning fan powering up. I hate how I'm either sore from working out or depressed from not working out.

There's nothing wrong with a rant now and again but let's recognize it for what it is.

Life is pain, Highness. Anyone who says differently is selling something.


On one hand, I agree with him. The software ecosystems we work in have a whole lot of needless and incidental complexity. I could go on and on about the insanely and overly complicated things that developers -- especially ones like Ryan Dahl -- have to deal with all the time.

On the other hand, it's arrogant for one to think that he or she could do it that much better than the next guy. Writing efficient, maintainable, and "simple" software requires adding layers of indirection and complexity. You have to use your best judgment to ask whether the new layer you're adding will make things ultimately cleaner and simpler for future generations of programmers, or will hang like a millstone around their necks for years to come.

Let's try a little thought experiment: go back a few decades to the early 80s. Propose to build node.js as a tool to make it much easier for developers to write real-time network applications. You'll need to design a prototype-based dynamic language, itself an extremely difficult (and dare I say complicated) task. The implementation will need a garbage-collector, a delicate, complicated, and cumbersome piece of code to write. To make it acceptably fast, you'll need to write a JIT, which traces and profiles running code, then hot-swaps out JITted routines without missing a beat. You'll need to write a library which abstracts away event-based IO, like the "libev" node.js uses. That will require kernel support.

Frankly, even forgetting about relative CPU power at the time, I think you'd be laughed out of the room for proposing this. All of these things, for production systems, were extremely speculative, "complicated" things at the time they were introduced. People can't predict the future, and they obviously have difficulty predicting what tools will become useful and simple, and which will become crufty tarpits of painful dependencies and incidental complexity. No one in 1988 could say "a dynamic, prototype-based, garbage-collected language paired with a simple event model will allow developers to create simple real-time network applications easily in 2011". Many of them probably had high hopes that C++ templates would deliver on the same vision by then. But, instead, we have Boost.

Further, it's extremely arrogant of Dahl to create a dichotomy between those who "just don't yet understand how utterly fucked the whole thing is" and those, like him, with the self-proclaimed power of clear vision to see what will help us tame and conquer this complexity. Who knows, maybe in 15 years we'll be saddled with tons of crufty, callback-soup, unreliable node.js applications we'll all have to maintain. I don't think James Gosling envisioned the mess that "enterprise Java" became when he designed the initial simple language. Most developers do many of the things he cites, like adding "unnecessary" hierarchies to their project, because they believe it will help them in conquering complexity, and leave something simple and powerful for others to use down the line.

29.Googler Builds Site That Shows You What Top Tech Companies Pay (techcrunch.com)
75 points by Bartlet on Sept 30, 2011 | 21 comments
30.Join EFF in Demanding a Digital Upgrade to 25-Year-Old Electronic Privacy Law (eff.org)
74 points by zoowar on Sept 30, 2011 | 5 comments

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: