skysight-inc/HackerNews huggingface dataset:
There's an argument that in the strict sense, everyone is rational because they are all maximising some utility - it just isn't clear what that utility is, eg. money, sex, power, the satisfaction of having a well ironed shirt, it could be anything really.

Which is why this definition of rationality isn't very practical. In the traditional economic sense, rationality means maximimising money. With this narrow definition (and big assumption), the economic equations become tractable and can actually be analysed. Of course this doesn't represent reality. Going back to Kahneman and Tversky with their study on decision-making under risk (probably even further back than them since this is pretty obvious), psychologists have shown that humans aren't very rational.

But economists still tend to rely on this assumption so that the game theory equations work. Having said that though, I'm not sure whether or not this assumption holds (at least reasonably well) in the macro sense.
Certainly food for thought. I think the author underestimates just how bad some programmers are, though. To me, his assertion that there is some arbitrary limit on the productivity differential between any two given programmers is much harder to prove than the assertion that there exist some programmers who are 20x better than others.
Microsoft Patent: Monitoring Group Activities, Dec. 2007.
Most certainly "hive".
Touche. :)

I think you're right. I already found a task for Python to do, spent a couple weeks (off and on) refining it, and at the end I seemed to have used all of the prominent features of Python somewhere in that script. At the end of that, I had this vague feeling that I now "knew" Python and wasn't sure what was left to learn.

So, you are confirming my vague feeling and I can now move on to Scala and decide whether or not to switch to Arc once it emerges. :)
I think you mean "Ron Paul Graham."
There is resistance to almost every new web application.
That's because very few new technologies make sense. But add in enough users, and enough money for the company to survive, and all of a sudden the benefits become self-evident, the most important of which are user-to-user interaction.

In 2004, facebook was a terrible way to share pictures or communicate with your friends. Nobody had heard of it. Users already had to login to AIM and check one yahoo, hotmail, home ISP, and school e-mail accounts.
But in 2008, with millions of users, Facebook is what everybody uses.

In the early years of the telephone, very few were available. What's the point of inventing new technology if you can only think of a few cases where people will use it? Right?
'Certified ScrumMaster' isn't worth the paper it's written on
I'm already listening to music, so shut the f*ck up. thanks.
If Zed is working in Manhattan, that's probably pretty reasonable to assume. I doubt that you'd get that in Omaha, however.
Apple Insider Leaks Ultra-Portable Details
Tip: Generate Ideas In Moderation
Smart windshield
Since you asked, my preference is GPL.

I prefer GPL over BSD strictly for the reason that if someone makes a modified version of Arc publicly available, then we all get to see (and maybe use) the modifications.
curious: is there any difference between public domain and MIT?

they seem like ostensibly the same thing.
The fact that PG owns this domain isn't interesting. We all know he's developing a language called Arc. When there's content here, it will be interesting.
N.B. You've been downmodded (though not by me) because the existence of Apple Records is common knowledge. The parent poster, relying on this knowledge, was being ironic.
Nice article as far as it goes. I've always felt that the productivity of all developers is affected greatly by all the other mundane tasks that surround the programming - communications, deployment, answering the phone, logging in, futzing in general - and that they are much better targets for productivity improvement.
That's why I find the recent rails vs. php deployment discussion very interesting. I've been working on a django app for a while, and while I enjoy the language and framework, I suspect any (slim) productivity increase I have gained will be negated by the deployment.
Arc compiler: NOAH
Why software still stinks
Great to see you as well, Dharmesh, and please do ping me when you launch your new social site. I'd love to get the SEOmoz community involved.
The Merb roadmap
Public domain is not enforcable in some countries. You can't give up your copyright as author for example in germany. So a license defining the rights of the users will work better.
He's right that almost all the discourse on this topic is anecdotal and that the literature basically sucks. It's surprisingly difficult to find hard evidence for the claims people make about software development. The only good, readable source I know is Robert Glass' Facts and Fallacies of Software Engineering, which systematically cites research, most of which is surprisingly weak.
Scientists discover darkest material known to man
Heh. I applied to SFP05 with an idea that was essentially this. I wonder if I should've stuck with it instead of getting a job.

Ah well. My current startup's a lot of fun, and I'm much less likely to give up on it than I was fresh out of college.
the anecdote about the noob who asked a dumb question and got a script to format his hard drive traveled pretty far

The exact same complaints about the Lisp community were being repeated just as much before that incident as after it. I remember reading that hard-drive post the day it came out and thinking, this is really going to please a lot of people - now they'll have something canonical to point to.
use 'inspiration'
> find me a peer-reviewed study of individual programmer productivity among professionals not students

Often, five man development teams create products that are very successful while thousand man development teams create a product thats useless and basically has no value. Thus the five man teams were way more productive. This happens all the time.

Also, the same principal can be seen on an individual level within projects.

There ya go pal. It would be a waste to do a peer reviewed study just to confirm something so obvious. You could even say that they reviewers would be "less productive" if they spent their time doing so;)
Since you're feeling cocky, have a look at the Zope/Plone source. You'll almost certainly realize you don't know Python (and possibly that you don't actually want to).
I like the hacker stuff - focusing on startup/business doesn't provide me with enough variety.
My favorite license is MIT. BSD ain't bad but MIT makes so much more sense for a programming language.
Does 'this winter' mean eg February, or eg December?
He is the kind of guy that wakes up one morning, and writes a interpreter of a 4g scripting language in a couple of days, just for the heck of it.
And he is very normal, (maybe, probably boring too you as he doesn't look like a mad scientist, or have thick framed glasses, or hipster looking), but he is much more productive in those 8hrs than any of you heroic "young guns" who decide to sleep on the desk.

Please tell me, you can be very productive more than 8hrs a day on the long run.

Remember, staying longer in office, doesn't mean you work harder. Some of the people that stay longer at work, do it b/c to compesate for their inability to code fast. They have to pull longer hours to keep up with their peers.

BTW, he is smart and some good money during the last tech boom.
Andrew, all of your points are basically a slam in the face of this site's readers. You obviously read HN a lot so you took some headlines that hit top spots here and turned them against HN users.

Are you saying HN readers are wrong?!
He lists C++ and C# as his favorite languages, and I tend to agree that with these languages you can't really be x100 more productive than the average competent programmer.

That kind difference is only possible in languages that are more expressive & condensed, where you spend most of your time thinking not typing.
Granted. To be fair to Paul, I got about 60% of it based on a (rusty) idea of lisp. The _ got me (should've thought of Perl)... but now it is clear.

My broader point still holds though - there is a maximal density ...

And the reason I commented on it was that in posting that code fragment, the message was that it would be "kind of obvious" to any reasonably competent programmers how macros really help. I agree macros really do help, so no quarrel there.

In this case, we understand the "application" perfectly, and then we get to see the code. It still got (some of us) stumped, and (some of us again) actually know about macros and are moderately familiar with Lisp idioms. That is why I asked if density can go too far.

Compare that to something like LINQ, which I am coincidentally studying. It is a DSL for querying object collections (a similar use case to the code here). With no special background, you can go in, read code, and get a reasonable idea of what is going on.

LINQ actually lets you get rid of a lot of code (something I agree with in general), so it lives much higher on the density scale than a typical blub.
I'd program in raw machine code if it meant that I could live in HI.
It's amazing how many otherwise intelligent people are unable to control their LOL reflex even after the online equivalent of shock therapy.
The confusion to me, is that they state they have not been able to get the hardware to boot.

As of now, only the OpenSolaris "betas" allow you to boot from a ZFS volume - all the "officially blessed" Solaris releases still require the older UFS filesystem as a boot volume.

Were they running OpenSolaris instead of Solaris?
> Anyone have any preference for licenses?

From what I've seen, projects that go GPL tend to be more community-focused, and seem to more readily gather a contributor community around them. I think contributors tend to like the idea of their contribution being free in perpetuity.

MIT-licensed projects, OTOH, tend to be mostly worked-on by their creator (again, FWICT). That is, there are fewer individuals willing to contribute code to a project which could simply be scooped up and put into some company's closed-source product. I get the impression that MIT-licensed projects are always looking to be popular, and feel entitled to be so, since users can basically do whatever they want with the code.

A lot of careful thought by lawyers, the community, and the FSF has gone into the most current GPL. I'd suggest that it's worth considering.
Why Apple might not be able to get away with it anymore
#eee > #ccc
Would he deny that there are good programmers who can do things that bad ones couldn't no matter how much time they were given? This is true in other fields; why should programming be any different? And if one programmer can be infinitely more productive than another, he can also be 20x more productive.
"-- it's a great platform, but if your app proves too popular, Apple is likely to just roll their own version into the next release of the OS, and shove you out of the market."

Now where have I heard that before?
And I'm not allowed to compete in the marathon using roller-blades. The reason this is a story is that he is perceived to be a victim.

I'm psyched he's running that fast though. For a while I really wanted to work in prosthetics. Would be satisfying...
Let me see if I can translate that in to Ruby. Note that the expression isn't closed, so I'm changing it to:

(each c (dedup (map downcase (trues [uvar _ topcolor] (keys profs*))))
(do-stuff-with c))

which I think translates roughly to:

keys(profs*).find_all{|prof| uvar(prof, topcolor)}.map(lambda {|str| str.downcase}).uniq.each do |c|
do_stuff_with(c)
end

This could be slightly off, as I'm having to guess at what some of this stuff does. It's almost as dense and no more readable.
If someone publishes a bug fix, or finds a cleaner way of doing something, I'd like to be able to incorporate it without being accused of having stolen their IP. That's the main thing.
Fake: SDK for iPhone is everyone's wet dream for some odd reason. They'll release the SDK when they go to an "OS-centric" mindset.
Close, except trues returns the values returned by the function, not the elements for which the function returned true.

(def keep (f seq) (rem [no (f _)] seq))

(def trues (f seq) (rem nil (map f seq)))
Not to sound too argumentative, but let me clarify:

> "young guns"

Age has nothing to do with my list.

> He is the kind of guy that wakes up one morning, and writes a interpreter of a 4g scripting language in a couple of day

fluff talk. You cannot recognize a man who is said to do this by his acquaintances. Almost always, when someone is said to be like this, it turns out to be a gross misinterpretation of their actual ability.

> And he is very normal,

I am not at all saying that such people cannot appear and act so. This is important, I am talking about what the person thinks, in his head. NOT how he appears or acts.

> Please tell me, you can be very productive more than 8hrs a day on the long run.

I'm just talking about being able to get into the zone and stay there for as long as possible. Nothing to do with work schedules. You've really got me wrong on that one. I'm not saying the same amount of work has to be done every day either.

> made some good money during the last tech boom.

Unfortunately, that's not a good metric either because a ton of both morons and smart people got rich.

(Aside: Wow it sucks to not be able to edit comments here now..)
Yeah the problem is the scope of the problems he's imagining. Given a task that takes a great programmer several months to complete, I can easily imagine a team of average programmers taking man-years to complete it. The open-source community is full of such projects and before anyone says they are all copies, so are most average software company's products.

There isn't much data on single average programmers taking years to do projects because they just don't work alone and on one project for that long. A mean measure probably isn't a good way to break down the difference as it's likely to be infinite far too often.
I am waiting to type:

darcs get http://ycombinator.com/arc
They would only be 20 times better or infinitely better at those particular tasks though.

That seems right to me, it seems like only really Hard problems allow people to show what they are made of, and the easier problems keep the pack more bunched together.

It's an important distinction, because a lot of programming is not of the demanding sort described above. It might even be that for some jobs, in some job markets, you don't want to try to hire the best. The cost in salary, recruitment, lost time and turn over might trump the 2-3x gain a top level programmer would offer in a non-challenging environment.
20x is ridiculous - it's far too low.

Look at the graph referenced - it describes, on a scale of hundreds of minutes, how long it took programmers to implement something to spec.

My biggest problem with this is the time scale. More advanced programmers build generalized solutions to problems and build on previous abstractions. There's no clear limit to how clever someone can be while building abstractions, so the gap between programmers will become greater over larger time periods.

Taking a sample of developers creating small, custom websites, better developers will have factored out a lot of functionality into a general purpose web development kit with metaprogramming by site #3 (i.e. created a Django, Rails).

Is it unreasonable to accept that:

1) Creating a site with a decent web tool kit is 20x faster than rolling your own with mod_python, and

2) Metaprogramming for creating an (elegant) web tool kit is beyond the abilities of a section of programmers?

Now, the barrier to picking up Django or Rails is much lower than writing one, so perhaps this advantage is somewhat less important in a world with open source and extensive libraries?

Well, I would argue that in a way, the efforts of the creators of Rails and Django have been multiplied so many times by all the users that they, in effect, have increased global productivity by a factor so large it dwarfs the productivity of a single programmer - so their 'productivity', as measured by the impact they have on the world, is a hell of a lot more than 20x the impact of Mr Blub programmer in the cubicle next door.

Why stop at frameworks? What about languages? What is Guido van Rossum's impact on global value delivered by programmers? What about the developers of the microchip? I'm pretty sure my personal productivity would be lower without that. The invention of the internet, which allowed for free sharing of knowledge? What would the productivity of a programmer who invents general purpose AI be? It really depends on how philosophical you want to get.

So, sure, the difference between developers creating an application to spec on the time scale of hundreds of minutes is unlikely to be 20x. But that's a garbage metric, and as always, GIGO.
Hype to get into the press is something that is really annoying about AI and robots. It would be great if people actually understood how most research just doesn't scale into the human analog. This line of research will NOT produce human-like robots that know the subtleties of deceit.

We're talking about "robots with light sensors, rings of blue light, and wheels". Ridiculous.
Yes. And that is just the technical reason easily overcome. There's also a 'common sense rule':

"The moderator has plenty of holes if you're acting in bad faith. But if you're doing that, why are you in the channel at all? Folks who persist in doing this anyway earn (like any spammers) a prompt manual ban."
There is a difference between a language and its common idioms. "Generator expressions" is a good phrase to test how much people know. For example: http://norvig.com/sudoku.html

Python can definitely fit in your head, as far as the language. Reading lots of code is a good way to learn the idioms.
I guess computers will learn to bluff long before they learn to deceit.
Perhaps you had just bad timing, bad luck - or you should learn to write better titles?
Thanks for the update. I briefly considered sending a mail.

But I guess sending something there to get notified will be a use of time if you already hang out on news.yc.
Why use profanities - but then censor yourself in a transparent?
BSD license allows you to re-use fixes of others (assuming they also release their fix under BSD), but it does not compel them them to reveal their fix if they distribute only a binary.

GPLv2 requires modified public distributions to also be under GPLv2, so you could both see the fix/change and use it (in the sense that you won't be infringing on copyright).

GPLv3 adds patent protection, so someone adding a fix/change that they have also patented explicitly grants a license for that patent.

I think GPLv3 is the most comprehensive way to keep fixes/changes of others available for reuse.
I wonder where this would have lead had he been allowed to compete - and won.

Professional athletes are already crippling there bodies with drugs. Would someone have deliberately and literaly crippled himself to get an edge (i.e. prosthetics)?

Professional sports make me sick. They are selling their body. I do have more understanding for prostitution than this.

(Nothing against double-amputee sprinter Oscar Pistorius - he just games the system - he surely did not set out to lose his legs in the first place.)
Sorry. What does 'HI' mean?
Try RLisp, http://chaosforge.org/taw/rlisp/

"RLisp is a Lisp dialect naturally embedded in Ruby"
RLisp - Lisp dialect naturally embedded in Ruby
I censored him for the simple reason of not triggering any filters that some people might be behind. I don't want anyone blocking Hacker News. No, profanities don't bother me at all.
That's why he was talking about the macpro and not the macbook pro.
If I recall correctly, the Apache license has some kind of clause to the effect that all contributors automatically grant you all the same rights available under the license, meaning that by contributing, they acknowledge the license and give you permission to make use of their contribution. There is also some anti-patent stuff.

http://www.apache.org/licenses/LICENSE-2.0

OTOH, it's a big, long license, and perhaps the BSD license would be simpler, which is always an advantage.
Those guys are morons. They evolved a robot, but not one that cleans or cooks for you. Just one that goes around eating stuff. Basically, they created my wife.

(She's going to do whatever the real life equivalent of down-modding me is if she ever sees that.)
Come on, that has to be bullshit. I sympathize with the new "power languages" hype, but it can't be that much of a factor. Even with C++, C# or Java, you spend most of the time thinking. You don't even type all that much, because of the IDE support...

Actually I recently thought about the "dependency on IDE makes you miss out on cool languages argument", and you could basically just turn it on it's head: rejecting IDEs makes you miss out on a lot of cool features, too.
What next? Are they going to ban guys who take steroids from playing in the MLB?
What about PHP, though? The crappiest, least abstracting language seems to be the most productive one. Perhaps abstractions really are just bullshit? I like abstractions, but while I am busy thinking about my abstractions, the PHP coder has already churned out another three no-brainer pages.
I wasn't actually referring to the usual Python idioms, but if you're unfamiliar with Zope/Plone, you can be forgiven for not knowing that. The Zope developers (and to a lesser degree Plone) don't actually seem to like Python, and so they've reinvented many common language features and libraries. Partly this is historical...the Python that Zope was originally written in didn't have most of those features or the standard library that exists today. It's one of the problems of developing a large codebase in a language that is still in rapid flux and doesn't mind throwing out backward compatibility (my Perl code written before Zope existed still runs on modern Perl, while practically none of my Python code from 1.5 through 2.2 runs today unmodified).

But, regardless of the very sound reasons for it to be the way it is, it's a very intimidating codebase, and a really good case study in the "reinvent everything" mindset. (It's quite powerful, and I've worked with several of the guys who built it, as I did contract work for Zope Corp for a few years, and I have the utmost respect for their talent and intellect. They're some of the smartest developers I've ever met. But it's not quite like anything else I've ever seen when it comes to having a learning cliff, even with some pre-existing Python knowledge.)
just clarifying, does this mean that it will be released by March 2008, or is it going to be november?
Silverback programmers:

http://www.newtechusa.com/ppi/talent.asp
That's really impressive work, and you seem to have written it from the ground up using your own framework :)

Have you had any problems getting the AIR versions to run?
This was a little midnight web programming project of mine. Maybe there's another service like it, but I haven't found it yet. If you have any suggestions for additional shortcuts, send them over!
Postal code for Hawaii.