skysight-inc/HackerNews huggingface dataset:
In 1985, Peter Naur wrote a similar article presenting programming as theory building. In essence, a programmer primarily constructs a mental model of the problem, and its
solution; secondarily writes code; and incidentally documents. Naur discusses how this view affects program life and modification, system development methods, and the professional status of programmers.

Naur, P. 1985. Programming as theory building. Microprocessing and Microprogramming 15, 5, 253--261. http://www.zafar.se/bkz/Articles/NaurProgrammingTheory
The Rock and Why Its Bad for Your Mind
iPhone Challengers Don't Quite Cut It
I don't like this. It's like PC-BSD is trying to steal marketshare from Ubuntu instead of "fighting" against the common enemies Mac OS X and Windows.
FireFox Bug running Google Docs?
I've noticed a disturbing pattern when running Google Docs on FireFox. I typically run 2 separate gdoc gmail account tabs and 2 separate calendar tabs as well as other tabs for my web app etc. What consistently happens is that FF uses increasing amounts of memory. By the time it hits 1gig of memory used, the response time is amazingly slow.

As an experiment, I tried running just the gmail and calendar on IE, and was shocked not to find a similar problem. Is there some kind of javascript bug running on Firefox? Or could this be related to Firebug and Yslow running on the browser at the same time? Anyone have a similar problem?
http://www.google.com/apis/gadgets/
That article forgot the most important point: you're not actually there to eat lunch.

I.e. it's ok if you don't finish your plate (or even don't get a bite in your mouth) as long as you meet you goal (get a next meeting, close a deal, etc.).
Yeah. I've been thinking about how to best add more than one chain since I started. My main concern is making sure that at any time you can single click on a day with an unambiguous result (viz. it toggles color). So far I'm thinking some sort of tabbish view where you only see one chain at a time.

Adding non daily chains is something to think about.
When I have a choice (not very often when working with a company) I use FogBugz. It's a bit pricey compared to FREE, but now that they have a hosted version, it's great if you need to track bugs with a team.

The simplicity and approach of FogBugz is fantastic. Really worth a look if you have the cash to afford it. That being said - they do have provide it for free if you only need 2 accounts. See: http://discuss.joelonsoftware.com/default.asp?biz.5.482288
Thanks. And thanks for inspiring me to get it out. I look forward to seeing what you are working on.
+1. All of Google's AJAX apps start blowing up the VSZ/RSS of the process when I leave them open for even a medium amount of time (i.e. longer than 15 minutes). This is using Firefox on Mac OS X. Most of the Google AJAX apps are not supported in Safari as yet, so I can't really compare and contrast ;-) I can't say that FF is great on RAM to begin with, however, but this could be b/c I always have at least 3 tabs going, sometimes up to 30.
At first I just tried to use the site itself as my homepage. I missed iGoogle.
This reminds me of when Shawn Fanning of Napster visited my university in 2000. He came along with some corporate guys that seemed like his body guards and filters for anything he said. The discussion revolved around the whole Napster debate of course and the main business guy said they wanted to start charging a couple of dollars per song to make it legal. When time came for questions, I asked why they didn't just move their operations to a country where they would be within the legal limits to continue Napster as it was. His answer was basically "we just don't want to", which wasn't very satisfying. Now after allofmp3.com made their millions, I wonder if they regret not doing something like that. Of course, I'm sure there were compelling factors that would prevent well-known american businessmen from circumventing the system in that manner. Looks like Mendel doesn't suffer from the same limitations.
Lack of garbage collection built into the language, you mean? I'm not disagreeing with you, just clarifying.
Comic Sans designer: "Comic Sans was not designed as a typeface"
You may want to avoid 'brainstorming' as an idea-production method. There have been several studies done where it has been shown to be less productive than other methods. See Marc Andreessen's recent post on the subject: http://blog.pmarca.com/2007/07/quote-of-the--3.html
The separation of life into school, college, then work is completely artificial in the first place. Trying to fix "undergraduate " education is just putting a band-aid on a broken system. It even assumes the premise that the goal is to receive a degree, by completing X units of assigned work (whether over 4 years or 2.5).

People don't learn in the same ways, at the same rate, at the same age, and waiting until they're adults just wastes years of neuroplasticity. On the other end, stopping after 4 years or some other arbitrary amount is just under-utilization of adult learning capacity.

"If the colleges were better, if they really had it, you would need to get the police at the gates to keep order in the inrushing multitude. See in college how we thwart the natural love of learning by leaving the natural method of teaching what each wishes to learn, and insisting that you shall learn what you have no taste or capacity for. The college, which should be a place of delightful labor, is made odious and unhealthy, and the young men are tempted to frivolous amusements to rally their jaded spirits. I would have the studies elective. Scholarship is to be created not by compulsion, but by awakening a pure interest in knowledge. The wise instructor accomplishes this by opening to his pupils precisely the attractions the study has for himself. The marking is a system for schools, not for the college; for boys, not for men; and it is an ungracious work to put on a professor." -- Ralph Waldo Emerson
I like this analysis. Very good! I wonder if there could be an Olin-type school for software developers?

Here's a link to such a discussion: http://news.ycombinator.com/item?id=45910

I think she was let go simply because there is no telling what else one might lie about if one falsifies their job application, college education or not.
An Olin College-Type School for Hackers?
There are very hot specialized schools with new ways of learning about different subjects.

Engineering -- Olin College (http://www.olin.edu) 300 students, 4 years, full scholarships

Acting -- Juilliard (http://www.juilliard.edu) 1,000 students

Game Development -- DigiPen (http://www.digipen.edu)

There are also specialized two-year colleges for game developers, and colleges for fine musicians. With all the complaints every computer science major gives about their college, why not have a prestigious, hard-core hacker school?
I agree, it's an awesome essay and dead on. Now I can finally give my friends a good answer when they ask about my computer habits. Glad to know I'm not the only person who works like this. Great job.
What a comment stream would look like in a real meeting
So, so true- lol
Great article, but it seems to point out the flaws in some languages and how to avoid or go back and fix them ...

Isn't it better to start with a language that naturally helps you avoid those problems and reduces the need for re-factoring in the first place?
We also use Trac (for a ~8 person engineering team). Works great: very convenient to have a wiki, bug tracker, and SVN browser integrated together in one nicely-designed piece of software.
Actually, the dean didn't lie. He never said that the number of those rights and privileges is more than zero.
Have a look at "The Myths of Innovation" by Scott Berkun
So who here actually took his class? I took it IAP 2000, and it really did have a big impact on me. I was course 8 though (Physics).
That's awesome! Wow.

I have a new home/start page in my browser, and I NEVER normally use a start page!

Please keep it as simple as it is now! Its beautiful! If you must add new features, please hide them away so as not to clutter it.
Ok, I am fully sold on the new format for Hacker News.

This is a truly enlightening article. I've never liked Plato (I am a big Aristotle fan), and this article shows in a convincing way how Plato used his communicative gifts to "corrupt" the historic record to make Plato's very bad political ideas more palatable to the public. Socrates was killed for repeatedly advocating the violent overthrow of the Athenian Democracy in favor of a brutal oligarchy. Was this punishment warranted? I think so. In the same way that the identical punishment is warranted for those who convince their followers to blow up others.
Like my dad would say, "Americans design beautiful cars, Not!"

Although the engineering looks good (http://www.fuelvaporcar.com/html/about_us.html) I'm not as impressed with this car as with the "Tesla Roadster".

The Tesla is all electric, uses no fuel. You can buy it now, plug it into a power socket and go.

Hands down it beats a lot of current muscle cars in design, performance and efficiency. Also not many cars are assembled by Lotus (English high performance car company) ~ http://en.wikipedia.org/wiki/Lotus_Cars

As for acceleration try 100% torque available all the time and zero to 60 in just under four seconds ~ http://www.teslamotors.com The most important parts of the Tesla aside from the Lotus designed chassis is the power storage and electronic systems. You can read more about it here ~ http://www.teslamotors.com/efficiency/how_it_works.php
"X is better than Y" is meaningless. Better for what under what specific conditions, and how so?
Super Simple Authentication Plugin and Generator
Joel, we know it's you.
Although it does need a user timezone setting. It thinks its Thursday, when its actually Friday here in Australia! Threw me for a moment there!
PG, you just got me wondering about feedback. When you let people you trust or respect read drafts of your essays, what kind of feedback do you expect? How does the feedback affect your essays?
I've been using Apple iCal for chains!

Implement it like Apple's iCal. Have a menu at the right side where you can display, hide, pick color, add new chains etc. (chain is equivalent to subscribing to a new calendar in iCal). Can't beat the iCal usability.
Definitely. I knew I was going to get a comment on that.
That is generally along the lines of what happens when working on my own stuff . The real "Oh crap" moments come when I'm trying to figure out what someone else did.
:) I think I did, but it's not a big deal.
Has anyone else noticed how many great articles start out with "when I worked at Microsoft?"
The great news is that this same mental complexity trap will trip up 99% of your competition. If you can avoid it you have a significant advantage. Look to the grand master: Steve Jobs. Who else would have had the balls to make a beautiful little music player that did almost nothing but play music? The Microsoft Zune is what most people will do when they start off to make a music player and realize how much they could do.

The most difficult part about a simple solution is having the confidence to see it through. The ability to not feel ashamed or embarrassed when people ask "Why doesn't it have X?".

Inspiration from Steve Jobs, on what is essentially The WiFi Question:

NEWSWEEK: Microsoft has announced its new iPod competitor, Zune. It says that this device is all about building communities. Are you worried?

STEVE JOBS: In a word, no. I've seen the demonstrations on the Internet about how you can find another person using a Zune and give them a song they can play three times. It takes forever. By the time you've gone through all that, the girl's got up and left! You're much better off to take one of your earbuds out and put it in her ear. Then you're connected with about two feet of headphone cable.

More great stuff in this article: http://www.msnbc.msn.com/id/15262121/site/newsweek/
Glad you liked it, although I thought the point I. F. Stone missed was that democracy is a terrible idea (and a dangerous intellectual fad). Progress happens when new ideas contradict established ideas -- it is, in other words, intrinsically undemocratic (Copernicus, Newton, Darwin, and Einstein all spent time as constituencies of one).
Personal projects: a 'TODO' text file, 1 line per issue, open in the editor (emacs or Eclipse) for the project.

Group/open-source projects: JIRA, which was a nice step up from Sourceforge's built-in tracking.
I'm personally not a fan of Craig Newmark.He'll wake up one day and kick himself in the ass for not doing more with craiglists.

He worries that effort to monetize the site more will be the equvilant of selling out, but the reality is that it will happen with or without his consent (my guess is without). A big player like ebay holding 25% will not lie still forever and will jump at any opportunity to acquire more interest in the company from any shareholder willing to sell out.
".. 500 - Error Opps broke the chain Whoops. Looks like something actually did get broken. ..."

Damn... I broke it. Nice error message though ~ http://flickr.com/photos/bootload/1218317738/

- created user account
- logged in
- clicked on 2 successive days after today
- they went red
- clicked 'last 4 weeks'
- barfed
- now 500 on every login
I can admit that Ruby completely sidesteps a lot of the problems you might see in Java--but that doesn't mean you can't write bad code in Ruby.

The meta-programming tricks, continuations, and dynamic calls to private methods are rife for abuse by mediocre programmers. While Ruby has a great syntax and libraries, it seems easy to use and read largely because the current leading-edge crop of Rubists that write the libraries we use are great programmers with discipline and taste.
> Most people don't even share their passwords with their spouses - why would they give it to an third party website on the internet?

websites on the net won't withhold sex for three days because I said emailed an ex.

More seriously, it's obvious why no one follows his recomendation. Not only is google's page and extra step, but it's intimidating as hell!

http://www.venturecake.com/images/google_authentication.png

I don't see an easy way to fix this problem while letting these sites keep the high percentage of people releasing their contact lists.
The iphone version of facebook is not exactly complete. Most annoying is the fact that it regularly opens up the full facebook.com in a new window and asks you to log in again!!
To easily replicate this behaviour, click on a group while in iphone.facebook.com.
To me sleeping is the greatest problem solving technique ever invented. I have even lost count of how many times this has worked for me. If companies had any sense, they would allow employees to take cat naps.
Sounds like Microsoft's sum of its parts is less than its individual constituents...
It's the same way that cartoonists come up with ideas for their strips. Sit there, and let your mind wander. Too often, we rely on outside stimulus to entertain ourselves. If you can cultivate your sense of imagination and freedom to let your mind wander, you'll think of some stuff.

By another token, read a lot and read widely. Avoid reading junk...like how to get funded by VCs--you're not there yet. The more you read, the more you see how everything's related to one another, and you start to see where the gaps are that you can fill.
Management has decided the sprinkler system in the dev room will be activated and remain on until further notice.
Godspeed. I think you have the right attitude.
I completely agree with this. However, I have disdain for the word "programmer" to describe what I do. I am a "software developer" which describes it much better and indicates much of what you've said here. A "programmer" is a monkey that writes x+2=y a developer has domain knowledge over the problem he is solving. Let's change the terminology to fit the job.
Just like Marc Andreessen's "don't keep a schedule": http://blog.pmarca.com/2007/06/the_pmarca_guid.html
Fall '03, probably one of the most useful (and brutal) courses I took. MIT's CS program leans a bit on the the theoretical side, so classes like this serve up a good dose of reality.
Not just Wolfram... also Google's Director of Research Peter Norvig, and as usual, the historic hacker Robert Morris.
Multiple chains concept sounds cool. In the shower this morning I thought of a dozen "chains" I want to start!
I was actually just about to fire up my browser to find that cast. This article is watered down fluff in comparison.
This is a collection of points PG has made before in other essays and comments. If the ideas are new to you, you may want to check out the others: http://www.paulgraham.com/articles.html

> Perhaps the optimal solution is for big companies not even to try to develop ideas in house, but simply to buy them.

What's good for YC is good for the country!
Such a clever hack.
Pg isn't speaking about programmers as in code monkeys, but about programmers as in hackers. Using other terminology to speak about programmers is not necessary, as programming shouldn't be disdained as an activity; you're probably better enhancing your terminology by going back to using the word "programming" without fear.
It was designed as a floor wax.
Nice. Thanks. Should be fixed now.

I kept thinking that I should disable being able to toggle days after today because it did not provide any utility. It could have helped out in this case.
My YC idea is going to be YouTube, without ads. Ever. Or revenue.
interesting: "Factions are self-constituting - they are responsible for their own reputation algorithms. Anyone can start a new faction for any reason, but generally they form by the usual process of human group formation - one group gets too large and quarrelsome, and splits into parts."

From what I remember of social psychology, the perfect faction size is about 8 members. Once you go over that number new factions will form inside the original one... then again i think this only applies to people that meet face to face
I'll grant you that.

I suppose I wrote that response as a knee-jerk reaction to the twinge I get in my left shoulder every time I hear the word "programmer". I program and I code but I also paint and write but painting does not make me an artist and writing does not make me an author.

Regardless, I agree with you after taking a breath and composing myself enough to slip back into regularity of terminology fearlessness.
I like keeping things simple while we're still small, so right now we just use 37signals' basecamp's (http://www.basecamphq.com/) to do list. this will probably change in the future
I would definitely take the Athenian Democracy over the brutal dictatorship. I think Aristotle did a great job of pointing out the problems with a pure democracy, and John Adams did a great job of helping invent the best solution to those problems - a constitutional republic.

But as far as talking about scientific progress in political terms, I guess I don't follow your reasoning there. Apparently, one of the virtues of the Athenian Democracy was free speech, one of the key ingredients enabling great thinkers to thrive.
I'm not a huge fan of brainstorming, that has never seemed to work for me.

Almost all of my ideas come from encountering problems. Sometimes it me who encounters the problem, sometimes some one I've talked to, and sometimes I read about it. For example, I was looking at doing some programming contracting, but noticed all of the outsourcing sites like ODesk have a race to the bottom where all that matters is price. Maybe there is an opportunity for a high end odesk that rewards firms have good communication skills and do more than work for a spec. For another example, I read about the horrible CPM's that Facebook gets. Maybe there is an opportunity to build an Adsense-like product for social networks that allows targeting based on user profile rather than page content.

The other thing I do is every time I see a brand new technology that has the potential to create a category, I think of all the things that I could build off of it. For instance, e-ink has this electronic paper that is easier on the eyes than paper. Who has high print costs that might benefit from this? School systems? Universities? If you can think of how a technology applies to a unique area, you can be the first to a lucrative market.

One of the hardest things about being a young company founder is that you do not spend time around people with a lot of money. You would be amazed at how many bigger companies just throw away money on crappy software or throw away time on things that could easily be automated. One source of ideas would be to spend time around people who have money.
"any shareholder" == Craig, you mean, since he owns the other 75%.
I take it you already got the domain name?
Blah I hate the term "software developer", not so much because its inaccurate but because its a symptom of the greatest evil to ever face computer science; software engineering. Software engineering's relationship to computer science is like accountancy is to mathematics. Sure they both use maths but a thousand accountants aren't likely to come up with any great proofs (unless theres a genius amongst them who does the hard work, which is generally how I think large projects ever have successes).
The 'This website has not registered with Google' is only true for websites that haven't registered with Google - which mine has not.

It would go away for sites that have registered with Google - which I don't think would be too hard. Unfortunately, I couldn't find any sites that used Google authentication at all. I think this probably has something to do with the whole 'why bother supporting every proprietary identity scheme' thing.
Hacker News | New Comments Viewer & RSS Feed
http://watrcoolr.us/hn/

If you just want an RSS feed: http://watrcoolr.us/hn/cfeed.pl

The Hacker News Comments Viewer will pop-up a window and then display new comments as they come in through overlay pop-ups within that window. You can move the main window to a desired location on your desktop and/or resize it, and the forthcoming interior pop-ups will change size appropriately.

To dismiss a comment, just click on it. To dismiss all currently displayed comments, hit the enter key. The main window itself needs to be in focus for the latter to work. (For those of you from MIT, I tried to replicate the basic UI of zwgc. I used to subscribe to the help instance.)

This is a 6 hour hack that I made for myself, but I figured some of you might also find it useful. Feedback is of course welcome.
Yes, it's interesting. http://www.google.com/search?q=%22when+i+worked+at+microsoft...
This reminds me of the last two sentences of "How Software Companies Die."

http://www.apocalypse.org/pub/u/kjc/cool/Card.on.Software.ht...
When I worked at Microsoft...
Also interesting to see with NASA, Google, Wolfram (despite giving only an interesting result)... can you tell any other interesting "when I worked at..."?
This is interesting, and sounds a bit semantic web-ish even :) You could maybe use something like Greenspun's Solar Magnitude Forum to find things that are closer to your interests as well.
"... Nice. Thanks. Should be fixed now. ..."

Thanks brett, checked it, works.

"... I kept thinking that I should disable being able to toggle days after today because it did not provide any utility ..."

so I shouldn't have been able to click the days after today? Oh also found another PIA which is going to require a bit of a login detail. I'm Aus and close to the date line. Today, now is 2007AUG241154 meaning I'm working yesterday.

Any chance of making the default time format GMT, UTC ? Should allow everyone to be on the same page OR you'll have to (probably have to anyway) modify users time by selecting location then adjusting the date-time to the user location.
Anyone willing to help me out in this CS education debate on the Computational Complexity Blog?
See:

http://weblog.fortnow.com/2007/08/impact-of-facebook-platfor...
Microsoft Launches Open Source