skysight-inc/HackerNews huggingface dataset:
Ajaxian is nice, but they only add a one paragraph summary to the original article.

Go straight to the content: http://googlecode.blogspot.com/2009/09/gmail-for-mobile-html...
If "we" already know these things are hard, why are "we" all programming in languages with mutable state? That seems to indicate that "we" are all idiots, or masochists.

I found the analogy to garbage collection just right. It's obvious now that for large parts of the problem space of writing computer programs, having garbage collection built into the language makes programs significantly easier to write and understand. Joel Spolsky made the argument that object oriented programming didn't do nearly as much to make programming more productive as automated memory management did, and I agree.

So why not take this other problem that is very hard to reason about, and build constructs into the language that take care of it for you automatically? I think the fact this seems so obvious to you that it's hardly worth saying points to how powerful the argument is. If it's so obvious, why is almost everyone still programming with mutable state and with so little support for "time management" constructs? Isn't this the same thing as stubbornly clinging to free and malloc in programs where garbage collection would work just fine?
Golf Shop
Today, golf has developed into a sport that has changed the way the world plays the game. Ranging from celebrities to school children, everyone seems to be looking forward in perfecting the sport. However perfection is an art that is mastered by the blend of talent and the perfect equipment.
The issue isn't computation, it is modeling. The next order of evolution for computation is quantum computation. What R Hickey is addressing is modeling.

I think the modeling problem could be alternatively addressed by unlearning the notion (conceit?) that every program is a representation/simulation (which is where (domain) state creeps in) and instead embrace a descriptive/measurement approach. Or more precisely, to accept that a program is always orthogonal to the domain model and give up chasing after the holy grail/folly of seeking a paradigm to express "reality" in computer instructions.

One could argue that this is what FP is all about, but suggestion here is that the issue is fundamentally the conceptual view of the programmer and it can apply equally to OO or any other paradigm of programming.

For example, the "Date" case he outlines conceptually works if one is to suspend disbelief and accept the notion that a "Date" type object is really a point in time. "How can September 22, 2009 change?" But at some level this is just semantics. Would calling the "Date" object "DateDatum" cause a similar conceptual problem?

DateDatum lastUpdate = now ();
//...
doSomething();
lastUpdate = now();
That's classic creeping featurism, and there doesn't appear to be an easy way out. Either your project is rich and full-featured or it's lean and lightweight. I don't see how it can be both.
Scarcity of resources is also a temporary (but serious) problem.

So, pushing back the date of catastrophe far enough is exactly what's needed. Conditions are not static. Often buying more time is all that's necessary.

How do you live for ever? Don't die.
"I find it best when I put a guard with a whip near each programmer. They work faster , more eager to stay long hours, produce on average x2 more lines of code. They should not forget that only 100 years ago their forefathers were working 18 hours in Manchester assembly lines factories. They should know that although it's a 21 century, the system has not changed"
Well, you can decide that for yourself, but you'd be wrong to force that suicidal preference on others.
Quick aside:

> 6. 123456, 123, 123123, 01234 and other retarded combinations

I dated a girl whose brother came down with a high fever when he was young, and he became mentally retarded and stayed on the development level of a young boy his whole life before dying in his early 20's. I'd always colloquially used "retard" and "retarded" the way I used "fag" and "homo" in high school - y'know, it was what the other kids did. Things "sucked", and teachers were "retarded", and things like that.

Anyway, one time I asked her how to translate "retarded" into her language, and she kind of froze and said, "I don't know." I'd never seen her unhappy quite like that, and only realized why later. That made me think - was it cutting her to the bone every time I casually dropped a "The airport baggage people must be retarded" or some such?

There's got to be a million synonyms for really stupid people doing really stupid things, so it wasn't too hard to cut down my use of the word. I still get it wrong sometimes, but maybe worth five seconds of thinking about.
A longer, more detailed essay that actually went into the reasoning behind Monderman's shared space concept would make exactly this point. When you take away the signs, lines and markings, you force people to pay attention and communicate with each other.
This makes me think of Apple's Snow Leopard. It was remarkable that they took an entire release just to shape up the code. Is something like that feasible for Linux with the open source model? Do you just have Linus tell everyone "I will only accept commits that improve performance and reduce memory footprint in this release?"
Now economists, but previously game theorists:

http://news.ycombinator.com/item?id=183158
This is Saigon, not India, but the general premise is similar: http://www.youtube.com/watch?v=1dqibvh96Og

Here are some European examples:

in Drachten Intersection
http://www.youtube.com/watch?v=Q47umjW7GfE

in Makkinga
http://www.youtube.com/watch?v=5SaLhbbtmlE

in Bohmte
http://www.youtube.com/watch?v=CIvtJ3D_whc

in Haren
http://www.youtube.com/watch?v=plgcFjCJJPA

in Opeinde
http://www.youtube.com/watch?v=uuchvIyNfps

in Donkerbroek
http://www.youtube.com/watch?v=TYSMZhbLnNE

in Oosterwolde
http://www.youtube.com/watch?v=2amDl1Hkl0w

in Nijega
http://www.youtube.com/watch?v=hB7myB8TZ0M

in London
http://www.youtube.com/watch?v=hqGWz_lafa8

* * *

Bonus - Jaywalking restrictions don't work:
http://www.youtube.com/watch?v=sqAMV_suf9A
It's easy to make a tiny super efficient kernel. Just don't support stuff. WLAN? Who needs it? SMP? That'll never catch on. Take it out. Device driver support? Bleh. Let hardware makers post the source code on their websites and users can download and compile the code. No need to include it in the kernel source tree. And who uses anything but x86 anymore? Get all that PPC, ARM, SPARC non-sense out of there too. If we all work together we can make Linux completely useless but hey, it'll be tiny and efficient. We can sit around and congratulate each other for being such elegant programmers. We won't have to worry about those pesky end users anymore either.
> ...if his firm decided to let him go for whatever reason, he had two weeks to leave the country forever.

I love EU. It got something right.
There's Heroku for Ruby/Rails
Halloween Costume Ideas
Halloween is coming up quick, the time of year when you get to dress up as anything you want. You can dress up to become something different, something from the past or something from the future. You could dress up as a movie star character or famous actor/actress or singer. There are so many to choose from that it can be difficult to narrow it down.
> Hashrocket is a boutique shop, so we can be very picky about who we hire. [snip] We've hired qualified interns, but we don't hire apprentice or junior-level folks.

What ever happened to hiring good people and training them?
You recognize, of course, that the ironic fact of Clojure's implementation on top of JVM (using JVM concurrency mechanisms) argues against the very thesis he is putting forward.
Personally the idea of pair programming would suck out the joy of programming for me. I just can't stand the thought of not thinking through what I am doing and talking about it, is way slower than doing it in my head.
Good point about the identity of the tagger. Of course the SEOs can also become taggers, but that is another problem.
The Top 7 StartUps That Will Save The World
I am not sure it is. If you have a strong enough password of 8+ characters of mixed numbers, letters and symbols, why not sure if forever? I understand that using the same password for every website is not the best practice, but his suggestion quoted above is a great alternative for people that are using their first name and birthday for passwords.
AFAICT, yes.
What kind of code was that? It sounds like churning out boilerplate stuff in flow state. The passive one should be able to join to debug failing unit tests and to listen to your thoughts.
The Suggested Users List as a tool to control news?
I like speed. I like the Google Toolbar. I look forward to the day when Chrome satisfies both.
I think the point is to think-and-talk instead of think-and-rewrite.
> 2. Make a chain mail shirt

...from pop can ring tabs. :)
What's worse is even DownloadHelper (Firefox plugin) can't do anything.
I, for one, get higher quality work done when I'm allowed to take breaks. This shop might be heaven for workaholics, but there's a lot of really excellent folks who just wouldn't enjoy their jobs if there was someone in the room constantly pushing them to keep working. It's great their culture works for some, but if this were the norm - I'd quit my job and go back to school in something that didn't involve computers, very quickly.

Or go into management. Do they practice Pair Leadership? Didn't think so.
A new computer from SGI? Almost made me look at my calendar to see if it's April's Fools time, heh. This looks ... I don't know, pretty heavy-weight with up to 80 cores on the desktop. Not sure why you'd want an 80-core server machine on your desk, though.
Looking at your submissions, the most recent 30 (I didn't check further) are all from the same web site, a web site whose name bears a remarkable similarity to your username.

Also, most of them appear to be really, really trivial. Maybe that's just my viewpoint, but really, redirection in Bash? Have you tested these in other shells? Are they specific to Bash? Do they work in other operating systems?

Have you done anything other than write down something off the top of your head?

Maybe I'm being unfair, but I expect things lunk to from HN to contain some evidence of work being done. This, and all your other submissions, just look like blog spam.
This list was a bit of a let down. I'm 21 right now, and I definitely had over half of this list done before my 20th birthday.

It's not so much a list of things that geeks must do as much as a list of things that people with geeky personalities have already thought about doing or have actually done.

I was really hoping for a list of things that geek types should try to do that they naturally wouldn't.
How so ? Do you say the manual implementation of automatic time management is contradictory ? Automating things requires manual work. Interpreters, compilers, garbage collectors, STM etc are the same in this respect.
The health benefits to losing weight could be incredible. For example, the risk of a heart attack would drop and there would be less stress on the knees and ankles.
I think this post is pretty biased. I've spoken with a lot of "entrepreneurial" developers and many of them just don't have what it takes, particularly on the consumer side, to complete the loop and take a product to market successfully. That's not to say they aren't amazing developers.

I'm a big advocate of teams, ~3 seems to be a good mix to move quickly and thoroughly at the start. Developer, UX/Designer, Business/Marketer. The 3rd you can do without if the first two are competent enough, business and marketing isn't that difficult (especially with a great product) unless your revenue is reliant on software sales/licensing. Then having a deal-guy is pretty good if he has a big rolodex, reputation, legal understanding to protect the company, and of course – is a closer.

The reason I feel designers are pretty important now is that the web has matured and consumers generally have an elevated expectation compared to the early 00's. Most matured web apps are pretty damn impressive and I think it would be a mistake to assume a developer can handle both the backend and frontend.
Having a ton of free time to do the work certainly wouldn't hurt...
Bashed your head? You need a stiff drink
New aircraft design plans to seat passengers face-to-face
Well then. I guess I can't read. My bad.
I took a course which addressed exactly this stuff, and I was going to point out material from that course, but he cites one of the professors who taught the course! Clark Glymour. That doesn't happen to me every day.
Just out of curiosity, did you see that Yahoo! Store (previously Viaweb) is part of the small business division?
Amazon and Pricing/Seller Experiments
>> " I understand that using the same password for every website is not the best practice"

It's ridiculously bad practice. Using lots of weak different passwords is probably better than using one strong password for everything.
9) Write a graphical demo on the Vic20 or C64 in machine code
This was odd - happened to me for the first time at Amazon. Oh - and I'm trying out Posterous as well to see if I like it :)
Give them the option of filling in the CC info and provide a "Do it later" button?

It would be interesting to see how the conversation rate differed between the group that filled in the information immediately and those that opted for later.
Pretty Please: When do I see AWS in APAC/HK? Thanks, Jeff!
I like it. Not sure what I'd use it for, but I'm trying it out to see.
Comparison of PHP performance in Windows and Linux, and PHP vs ASP.net
You Can't Trust A Tortured Brain: Neuroscience Discredits Coercive Interrogation
Sorry, replied to the wrong comment. (Was addressing the "concurrency is hard" bit.)
I've only ever had exceptional experiences when pair programming. Maybe it's for reasons similar to Obie's; the people that I paired with were excellent programmers.

If I tried to tell you why it was great, I'd basically be re-iterating what he said. More focus, better code, less time, less bugs, better design...
I'm sorry, but this article is completely disingenuous, and will only set these 'non-techie' entrepreneurs up for more disappointment and frustration. I love the idea of 'walking a mile in our shoes' to better understand what it means to be a developer, but to suggest that a non-techie should learn to program, and that it could take 2 or 10 years, is the best way to guaruntee that not only is that dream never realized, but the whole world has passed them by in those 10 years and they've lost multiple opportunities that they could have capitalized on because they were so focused on learning how to program.

Instead, build your network, and that goes for us developers as well. If you can't pick up the phone and call a mentor or at least email one, find one. If you don't have friends who are designers or are JS / CSS wizards (or backend if you are the frontend wiz), work on finding them. Contact people who's sites you admire, go to Meetups, etc.
http://www.stifflog.com/2007/05/09/erlang-for-the-practical-...

Not the best tutorial ever, but I found it helpful.. It describes a fairly simple, but non-trivial task (creating an RSS feed from your email inbox, generating the RSS feed, and directly interacting with the POP3 protocol over SSL)

Also, most of the code will require slight modification to work with the most recent version of Erlang. This seems like a bad thing, but it forces you to actually understand the code and determine what broke, rather than just copy-and-pasting everything.. For example, the regexp module had changed name, so I prodded around the erlang library code to see where it went, and if the arguments had changed - in doing so I realised how simple (most of) the code was, something I wouldn't have done if the tutorial was "better"..
Students launch camera to edge of space, snap pics of Earth
I disagree. Sure it's bloated if you need / want all the features that create the bloat. However, if there are user's who require very few features then they end up with a very slim system.

It's only marketing spin if you will always need all of the features in order to do anything meaningful.
Basically, the guy is saying that pervasive mutation hurts. If it takes buzzwords like "management" to make programmers understand that, I'm glad he uses them.

We may already know concurrency and consistency are hard, but we do little to identify and eliminate the root causes. Those who do can show the bright side, like Rich Hickey does, or they can finger-point the dark side, like I do: http://theroleplayingprogrammer.blogspot.com/2009/06/assignm...
They might even volunteer it before you ask. When I interviewed at Mahalo, there was a big timeline painted on the wall. There was a big red "X" about 18 months out that read "We're funded through this date." That was in 2007, and we know how that worked out.
Video processing; simulation; monitoring all your social networking feeds & graphing them :-)
Kernels in the Slicemanager
These aren't very deep.
LLVM > CIL.
Pairing has helped me and my code a lot but as with most things there is a learning curve. Only an atrocious pair would say something like "Oh... yes, that function... I already thought of that, and here's why it can't work.". When pairing, thinking is talking. If the one not typing at the moment is allowed to get bored, then the pairing is not done correctly.

Also, in my experience, two developers working as a pair will have better work ethics and discipline than any of the two taken separately.

BTW, you're calling the one not typing the 'passive' one? That's the wrong attitude.
What about tangential activities that aren't techie per se but are connected to the geek mindset at a deeper level?
Why do ref and out parameters not allow type variation?
Interesting idea, I wonder how it will turn out in a year. I think the initial motivational boost will drop after a while and they will have hard time keeping their sales people motivated after that.
This is pretty neat. How long did it take you to draw each panel?
Google Преводилац
I think you didn't have the type of pair programming experience which is described in the article. I've long ceased being a vocal advocate of pair programming, but when done well, you're having an ongoing dialogue with your pair partner. If the code isn't amenable to working that way, or if you or your partner aren't amenable to working that way (i.e., thinking out loud almost constantly), then it's probably a poor choice for you and your group.

In a healthy environment, I prefer pairing, for most of the same reasons that are described in the NYT article. But it's not for everyone any more than red crewneck shirts are for everyone.
one of the trickiest things i found about basic erlang syntax was difference between "," and "and" and "andalso" as guard clause separators.
The greatest line I ever heard relating to customer service, and the one I think I'll choose to take over 'the customer is always right', was when an old boss I had in hospitality was fielding an aggressive objection from a customer over one of our best waitresses.

Clearly expecting my boss to fold and berate his staff she was shocked into silence by my boss turning to her and saying:

"Ma'am, please don't ask me to choose between my staff and my customers, because you just wont win."

Needless to say, every single one of his staff was massively dedicated to him and did our utmost to reflect it in our work.
Colin Powell is the guy who stood up at the UN, looked America in the eye, and sold them the lie.

I can accept differing political views or party affiliations, but that man sold out his country. For shame!
I like!
The little tip bit on the iphone and altering camera angles is pretty damn cool. Imagine that attached to formula 1, Football, cricket, Olympics ( whatever it is ). Its going to make watching things on your mobile device quite interesting!

The porn industry has for a while been the lead in tech, so it was a little saddening to read they are looking to the "music" industry to make more money. Oh dear.

All in all blewis, top article :)
A Google search for

allinurl:passwd.txt site:.com

gives 320 results.
German scientists produce first Bose-Einstein condensate with calcium atoms
Get a Free Yearly Subscription to the Fabulous IdN Magazine
"Pair flow" is difficult to achieve, especially if you're new to pair programming. What you describe here is simply a dysfunctional pairing situation.
I'm guessing this is to fool the pointy-haired bosses?
From the photo on the product page this looks like it's basically a desktop blade server.
Sonofabitch - Amazon is really messing with me today. They have increased prices on two items today by a total of about $35.
> why are "we" all programming in languages with mutable state?

My argument is not against closure or using immutable objects. My argument is against trying to rebrand a problem that has been well-known and well-studied for over 40 years.

Clojure does a bit of copying (memory management, not "time management") to force you to avoid concurrency problems that arise in some scenarios. Arguably that is a good thing, because people tend to think of concurrency when it's too late. However, it too ultimately has a mutable authoritative source where the same issues arise. Moreover, the hardest concurrency and consistency problems arise in distributed systems. Using Clojure certainly isn't the answer to that.

> Isn't this the same thing as stubbornly clinging to free and malloc in programs where garbage collection would work just fine?

People "stubbornly clinge" to programming with free and malloc (in C), because it allows them to have very specific control over how their program will behave. This allows you to perform very effective optimizations. Moreover, because it is cumbersome, C programmers will avoid dynamic memory, which will again make your program faster and more durable. The same thing will apply to mutable objects. Clojure simply restricts you to a certain model, which is not necessarily most efficient.

Does that mean Clojure is bad? No it means it's not the right tool for every job.
I'm embarrassed to say: each one took about 10-25 minutes. The math ones took a lot longer. I used up two Sharpie markers in the process. My handwriting was hard to read, so I had to do a lot of editing with Paint.net to make them legible.
VC Jason Mendelson's Open Letter To President Obama on Innovation Policy
http://www.lloydianaspects.co.uk/armour/mail/mail.html
Linode gets the maximum rating from me as well, wonderful people, amazing support, very pleasant control panels.

Yup, Linode all the way.
CIL is already the name of the standard for the IL used by .NET and Mono. (Common Intermediate Language)

http://en.wikipedia.org/wiki/Common_Intermediate_Language
Money can't buy culture. A poor kid with the right culture at home will do better than a richer kid with the wrong culture.

The good news is you can choose your culture. The bad news is, it's hard to overturn what you grew up with.
Do other types of employees lose motivation after a year of being paid a steady income?
It sounds like you just didn't understand what he was trying to say.

Maybe you failed to invest the proper amount of time in the article? Perhaps you didn't pay enough attention, because you're lazy? I suppose you might be too overworked and stressed out to get it? Could it be that you used traditional reading practices? Is your work environment not conducive to reading a top N list? It could be that your boss doesn't care about excellence, which is why he hired a twit...

By chance, do you have halitosis?
Inside the Apocalyptic Soviet Doomsday Machine (It actually exists)
Like I said on Twitter. It's boxy, gray, and x86-based but, at least, it runs Linux and is an SGI.

I want one.

They could have used some plastic to make it prettier...