skysight-inc/HackerNews huggingface dataset:
Unit tests have sometimes been a great help, especially for regression tests, but they can get in the way, especially if you actually want to ship.

I can see the benefits of getting the 1.0 to market first (if buggy), getting some market share and using that lead time to either iron out the bugs or to rewrite so you don't have to put up with duct tape maintenance.

I've been in a situation where the users started using the prototype because, despite being buggy as hell, it did stuff light years ahead of what they had before. So imo duct tape 1.0 is ok.
It's nice to see Spolsky get this enthusiastic about something other than his marketing, and I'm sure Peter Seibel agrees. But he negates his entire point at the end. After going on about how great duct tape programmers are, he says, don't think that means you can be one, because they're magic. (He says "pretty", but in this case pretty means magic.) To wit:

Duct tape programmers have to have a lot of talent to pull off this shtick.

In other words what matters is talent, not duct tape. Untalented duct tape programmers do as much damage as the untalented design-pattern programmers he scourges. So what was the point again?
Good point. Being left handed is rough... I smudge everything i write on.
The answer to this question almost completely hinges on what you want for yourself. What are your career goals? What is your current education? Do you feel any educational deficiency or are you comfortable with your status? Do you have the financial means currently?
The cost savings are still there with reserved instances if you do the math.

Actually, the cost is not the biggest issue with the cloud. If you're talking about large-scale crawling, AWS will not adequately scale. You can't get enough nodes or enough bandwidth.
You can decompile the Eve source code. Python is not in fact the best language for obfuscating what you do.

IIRC the EVE people do what every game developer does, and stupidly assumes that the client follows the rules.

Furthermore, all of this is against the TOS, so if you agree to that, you can't do any of this. If you don't agree to the TOS, it's fine.
Just a quick heads up - we'll be looking into allowing JRuby and Jython fairly soon for when you create 80Apps.

You'll also be able to mashup third-party apps and libraries into your own code. This is something we hope to have in 2-3 months.
Yes, I pointed out that decompilation is one of the steps that needs to happen to make this into something useful. However, without a simple, hard to detect mechanism of getting your code into the process (which this sort of injection is), its usefulness is limited. By injecting into the client rather than putting code into their archives, you make it considerably simpler and harder to detect.
While complex processing can be difficult, having a scalable infrastructure is also unbelievably hard. Sure, you can easily crawl from a single IP address, but if you want to do millions of pages in minutes, you would typically need several servers, IP addresses, and much more.
We're not using EC2. AWS doesn't and can't scale to our size, actually :)

Side note: AWS guys have asked if we use them. We said "No, we'd be losing money then and wouldn't be able to scale to our size with you."
I like how the author not so subtly compares the less self-driven employees to retarded people by saying they are like Forrest Gump.
We are looking at storing data, doing pre-done crawls, offering data feeds, etc. It's something on the horizon for us.

Hopefully guys that write parselets will be interested in becoming developers for the upcoming 80legs App Store. They'll be able to sell their parselets and earn 100% recurring revenue from 80legs users using their parselets.
And it only cost $78M, less than what Google paid for feedburner. http://news.bbc.co.uk/2/hi/science/nature/7679818.stm
"In addition to races, Robic trains 335 days each year, logging some 28,000 miles, or roughly one trip around the planet."

Jeez, I suspect the majority here drive way less than that.
Ability to skip the line in the morning would be worth it.
Bootup Labs
While Google is targeting smaller notebooks with small displays, and arguably in those cases people are more likely to focus on just a few tasks, I don't like how "modal" the OS seems to be. I like having lots of things open in the background, that are often arranged where I can see them.
If you can legally work in Canada, you're insane if you don't try to get into this program. $150K - 10x what YC does, but still with buy-in from top-tier US VCs? Eight months to just get to ramen profitable (not paying back the $150K)? This is awesome.
Is that raw numbers or as a percentage of the population?

He never answers this question. In terms of raw numbers, if the percentage stayed constant, you would expect to see a higher total number of slaves because the world population is constantly growing.

He also uses a much looser definition of slavery, including those who work for "no pay beyond subsistence". People falling into this category surely existed throughout history, along with the more obvious shackled slaves.
Thanks for the link. The site seems to have dropped off the original URL (verified Google Cache).
Sysadmins: free teeshirts, $5,000, laptop, guitar hero. and FAME
yes. it's the sysadmin of the year contest. and the prizes are amped up. turn the M upside down and sysadWin
From my experience, it won't help you get a job...I've personally seen candidates with masters' degrees in CS get turned down in favor of self-taught programmers at a large profitable internet company.
My sentiments exactly. Joel's article is just unnecessarily long with very little real content. There are many different ways to develop - Some people like C++, some don't, some do TDD, some don't.

You can never say this is the ONE true way to develop. Do what works for you, but just be aware of other points of view.
Yes, it can, and the input syntax is much nicer, even:

> latex('y = int(x^2, x=0..100)')

y=\int _{0}^{100}\!{x}^{2}{dx}
Well obviously he's not hiring people at the extreme end of the autism spectrum - and he has actual data to back up his statements so I don't see why you should criticize him by taking one or two statements out of context like that.
Forest wins in the end so not sure that is such a great analogy :-)
How To Get From A To B In 5 Random Steps
Found This Comment Discussionworthy - On Memes and HN's Future
Joel did not write, not imply, that he himself is a duct tape programmer.

In fact he made it quite clear in the last paragraph that these duct tape programmers are a rare breed. Maybe you never read that far though.
One of the best ways to be free of the tyranny of money is to have enough and lock it away in relatively safe investments. You'd be surprised at it not being that hard to deal with. Certainly if you are smart enough to generate it in an interesting way then you should be smart enough to crack this problem too. Leeches etc. need not be a problem if you have a modicum of discretion and are not ostentatious.

Like you, I definitely don't want fame.
A New Speaker Series For NYC’s Founders At Work
Why aren't tabs a window manager feature?
Why do you suppose tabs are constantly reimplemented by applications? Shouldn't this be a window manager feature?

Consider the similarities. A tab overlaps other tabs, as windows do. It has a title. It can be moved. It can be created and closed.

Sure, tabs have a few "expected" differences from windows: the tabs in a stack all move together, and when resized they stay in sync. But this is already behavior that window managers are capable of (e.g. Mac OS X drawers can resize a drawer in sync with its parent window).

The devil is in all the other "differences" tabs have from windows, that are really just silly. For one, every application seems to have "redundant" commands to satisfy their tabs, such as "New Tab" and "Close Tab". All the nice keyboard short-cuts, such as rotating between windows, are either broken or unpredictable for tabs in each application. You can't necessarily minimize/hide tabs. On Mac OS X, a window-modal sheet blocks all tabs for no reason, when it could block just one tab "window".

As far as programming, all kinds of extra work is required to make tabs do the trivial things that are automatic with regular windows: for instance, on Windows, tabs do not have miniaturized previews unless the app goes to great effort; and on the Mac, Exposé can't split out all of a window's tabs.

There's one final problem with this "design decision" for tabs: it's impossible to tab-stack arbitrary things. What if I want a tab stack with 2 web browsers, an E-mail message and a text editor? I can't, because tabs are inherently app-specific.

As programmers and OS designers, it's time to step back and fix this, isn't it? A tab fundamentally is a window. It's a wheel being constantly reinvented. Technically, all you need is a gizmo in the window manager to turn any window into a tab, at which point any other window can be dragged onto the window to "stack" more tabs into it (or dragged out, to recreate normal windows). This behavior seems so clearly in the window manager's domain, that it's hard to imagine why an application would even need to know when one of its windows is technically a tab.
I would have guessed that it was in Oregon's "empty quarter". There is a whole lot of nothing in southeastern Oregon:

http://maps.google.com/maps?f=q&source=s_q&hl=en&...

It's extremely desolate: it's very cold in the winter, hot in the summer, and dry year round, so nothing much grows out there.

But it's a fascinating place to explore if you like big empty spaces (or at least like them once in a while - I wouldn't want to live there).
There are some tabbed window managers out there, and many swear by them. Check out fluxbox - http://fluxbox.org
That article was from 2006. I'm sure that his (and many other people's) viewpoints change over the corse of 3 years.
That raises an intriguing question--what if an MMO was developed that was explicitly designed to be a competition between programmers to write the best bots? Even if a bot exploited a bug, you could write bug-fixes, and the programmer would have to evolve the bot to the new environment.
I bit the bullet and paid almost that much for a reflashed PC ATI 4870, but with 1GB of VRAM as opposed to the Apple stock card's 512.

I resent all the obstacles I encountered getting a decent graphics card & Windows 7 64-bit on my Mac Pro 1,1, but now that it is done I'm quite happy with it. The card performs very well in both Windows & OS X.

The whole "no 64 bit SL kernel on EFI32" however is more than I can deal with.

I can work around 64 bit Windows not booting properly & and the Boot Camp drivers denying installation on a 1,1 Mac Pro. I can pay a stupid amount for a decent graphics card because Apple provides NO upgrade option for 1,1 owners, not even an expensive one.

But as it stands, there is simply no way to work around the 64 bit kernel problem.

I'm not interested in using it now, but from the way things look I'll never be able to use it on this machine, even when Apple makes it default.

The moral of this is never trust Apple to be reasonable or care at all about a product they can't hype up or sell to millions of people. Upgrades fall into this category.

Only buy a Mac if you really like OS X. If you are looking for the absolute best of both worlds, Apple will cripple you intentionally & unintentionally along the way in ways you can't even predict.

I'm not defending it, I hate it & it sucks. But its true. Good thing I really like OS X.

Oh and if you do buy the card, do tell me if it still causes your mouse to freeze every 3 seconds with dual 3rd party monitors. Thats a fun one to troubleshoot, especially right after a 400 dollar purchase!

Oh, Apple.
The full climate change tale
Really? Come on now, all that, a well worded argument and ending it with a Bel-Air?
The use of duct tape and WD40 as basic tools certainly far predates that movie. Per the ancient quote:

“All of life’s problems can be solved with two things—duct tape and WD40. If it moves and it shouldn’t, you need duct tape. And if it doesn’t move and it should, you need WD40.”
Jamie Zawinski is not "hard at work building the future". According to his own website, he is managing the DNA lounge, and the last thing of any substance he worked on was a program to delete silence from mp3 streams (see http://www.dnalounge.com/backstage/src/archiver/). He claims a copyright date of 2001-2006 for this program, which, after a quick skim, appears to be high quality. In my opinion, he is a talented programmer who has this to say about the software industry:

(1999+) But now I've taken my leave of that whole sick,
navel-gazing mess we called the software
industry. Now I'm in a more honest line of
work: now I sell beer.

So, I suppose, Joel is right, in a roundabout way:

Selling beer => flirtation => sex => sperm + egg = Building a future human being!

But seriously, Joel is on crack.
HP has no respect for EDS
IIRC the EVE people do what every game developer does, and stupidly assumes that the client follows the rules.

No they don't; everything the client does is validated server-side. The purpose of this is automation of client-side tasks, not doing tasks which would be impossible by game rules.
Site monitoring with Python and cron
Umm, to be fair you can do most of that now. Take the bit with the photo guy who has the image preview, color wheel, histogram on his tablet; you can do that right now if you have a Canon EOS camera - as a matter of fact you can focus and twiddle the white balance etc. from the laptop without touching the camera if you want. I am looking at buying exactly such a system later this year (the camera does what I want, this computer connectivity is a bonus, albeit a welcome one).

Not that Microsft gets all the credit for that, but they've had tablet-capable Windows for ages now, and I don't blame them for the time it's taken the hardware manufacturers to catch up.
For First Time, AIDS Vaccine Shows Some Success in Trials
Once you build something as important as Netscape Navigator and cash out for a good chunk of money, I think it's ok to do whatever you want. Building something for the future doesn't have to be a lifelong thing.
The answer, for those too lazy to read the article:

---
Between the tiny Dakotan hamlets of Meadow and Glad Valley lies the McFarthest Spot: 107 miles distant from the nearest McDonald’s, as the crow flies, and 145 miles by car!
---
I would have liked to see a direct link to the research paper, and told more about it: name, release date, length, sponsor; especially since the whole article is based on it.

This might be it:

Judge, T. A. (2009). Core self-evaluations and work success.

Current Directions in Psychological Science, 18, 58-62.

http://www.ufstudies.net/tim/VITA/Judge-CSE.pdf

- but there are lots of similar papers linked from Judge's site. http://www.ufstudies.net/tim/VITA/
Vermont?
A custom "compiler" for me is a bit of a stretch. It's essentially a code generation tool where you code in a language similar to VBScript and it could output php or classic asp. It's not a custom C / C++ compiler or anything complicated like that.

So it's not completely crazy.
It's not quite as good as it sounds. You get $50-150k in exchange for 5-15% equity, which sounds like a post-money valuation of $1M, far higher than what YC provides; but then you have to pay bootuplabs $50k out of that. In effect, bootuplabs puts a dollar value on the assistance which YC provides to startups for free.

If you're doing a startup which only needs $20k in order to reach the point where you can find other funding, bootuplabs will take 7% of your company, exactly in line with YC's typical 6-7% for $20k... but I'd much rather have the YC team advising me than the bootuplabs team.
Www.oasections.com - Directory
Such an info pad would also be an ideal platform for taking my library of documentation, and my personally compiled tune-book. (Music notation.) The key here, is that there is a nascent market for a device on which users can compile self-generated content. Notes are such self-generated content. Moleskins and other kinds of journals and sketchbooks are another.
Those costs that you do have, however, are almost certainly higher in the bay area.
I am not a fan of this kind of extreme maximalism; surely there has got to be a decent compromise? That's assuming, of course, that purely utilitarian pragmatism vs. lofty, academic architecture idealism is a valid dichotomy, and that there don't exist a variety of third ways and composite profiles. Of course, any useful generalisation that posits a continuum can be torn down, but I really think that in this case it needs doing.

There has got to be a better way than being a "duct tape programmer." It seems to me that one can practice good design, architectural grace, and hold true to a variety of other tendencies that seem theoretically and aesthetically appealing (the latter is very important; every good programmer I have ever met sees an artistic aspect to programming, even if it is not necessarily the central or principal one - it is a craft) without being the guy that never actually puts out any concrete deliverables.

I think this is just an angry, bitter overreaction - and a very understandable one that I fully endorse - to the dogmatism of many test-driven development acolytes and pig-headed "patterns" people.
This comment is indescribably hilarious.
I've been toying with the idea myself, I even considered writing a Valgrind plugin to keep a record of how values change in register and memory until I got scared enough of the complexity and enormity of the code.

I wonder how much memory will it take to run a "usefully large" program with state recording on? In theory you could compress some memory mutations pretty easily (like bzero()ing something) while other mutations would need more memory (writing single ints to various locations). I bet you could generate some nifty 10GB logs with this thing!
That's not true. Just because he never gets the chance to doesn't mean that if he had it, it wouldn't make him more efficient. If you're bailing out a ship, you might not have time to run and get a motorized pump, but you sure as hell would like one!
90 minutes of sleep a day is enough for "normal people" to avoid hallucinations... But doing what he's doing, I'd imagine he'd need a hell of a lot more, so you're probably right.
Cloud Computing Series: Exploring the Google App Engine Java Runtime Environment
Google recently released a Java runtime environment for their App Engine platform. As a software development organization, this offering is of special interest to Nagarro
;-) I think many other engineering disciplines would be upset if we took it all for ourselves - especially mechanical engineers.
So the bottom line again seems to be: it is not actually THAT important. Otherwise you would make the time.

Another possibility is that it is important, possibly even more important than the other things they are working on, but isn't getting prioritized for other reasons. They've succeeded thus far with the way they have prioritized things, but that doesn't mean that they made all the right choices, it just means they made enough right choices to survive to this point. The future may prove tdavis painfully right in his concern about not having test cases. Another company that may not have made enough other choices correctly may be able to cling to having tests and deployment automated as the thing that saves them. I don't think you can draw any real correlation except that it might not be that important, and only time will tell.
You're confusing two different things here.

Re-writing a codebase to spawn a totally seperate application is not the same as when you're doing it to re-release an enhanced version of the same application (with a bumped up version number).
Just aslong as they say how they have to work around the FooCorp fuck up rather than saying something like "Dunno how we did it, it just works".
I'm shocked the above viewpoint has not gotten the majority of votes, it should.
And if you squint just a little bit you can understand what they're trying to say instead of getting on a rant horse about proper English grammar.
I bet the real code had all the other problems of real code PLUS the absurdly long names.... At that rate, I'd worry about carpal tunnel syndrome.
> With no money for research, nobody will invent a more efficient gun. Hopefully.

You don't have much experience with people.
If you do that, you'll run a very considerable risk of wonder why version 2.0 of your product is taking so damn long to ship. The answer: all of the things you punted, ignored, assumed, patched over, and otherwise haphazardly threw together in version 1.0. Now all these have set your code in concrete, and you have to remove half the foundation to get them back out.
Luna Online Philippines
Luna Online will soon hit the Philippines. It’s a cutesy fast paced, free to play MMORPG that everyone will find entertaining.
I disagree with your statement that a codebase without tests cannot safely be refactored.

I've been refactoring code for 20+ years, the overwhelming majority of time without any automated tests, and I'd say offhand 99% of the time it causes no bugs, and in the occasional case where it does cause a bug (because I am imperfect and sometimes make mistakes), I almost always soon find it during the same coding session and fix it.

The key is to understand the code well enough to know what effects what and how. Hold that model in your mind and you're golden. Lots of time saved not writing tests, updating them, fixing them when they break, etc.

Note that this is not an argument against tests in general, just an argument for there being cases where you don't miss them and they would be a net loss if you had them due to all the extra make-work required. I think there's a lot of kool-aid drinking going on among people who themselves probably lacked the ability to do "naked" refactors well. To those folks I say, "Great, have fun storming the castle!" but don't assume that other folks who haven't drunk your kool-aid are constantly banging their head on the wall breaking the code or living in fear of mysterious hypothetical bugs due to a lack of tests. A really excellent 'old fashioned' sort of test is to just run the fricking code -- did it work? did it do what it was supposed to do? data look good? k, move on to the next one of the thousands of other problems you have to solve and tasks you have to do in life. And use version control, so if you retroactively do discover a problem, you can review the diffs, or rollback, or do a tactical patch against the branch, etc.

I do agree with your statement, "By all means, ship. Do what you gotta do." And I agree that that attitude may cause you to at least temporarily incur technical debt, and you generally want to pay that down as soon as feasible. (backing out ugly hacks to replace with more elegant or easier to read implementations, etc.)
Sounds like an untapped market. I wonder how much depth to the story would be required. Would it be a puzzle game or a true MMORPG?
It really depends. If you put together such a kludge that you're going to have to completely rebuild it to scale past a nontrivial quantity of initial customers, you would do well to put at least a little thought into the theoretical foundation of what you're doing.
This also made me cringe. The thing that drove me to programming is how much I hate routine. All these traits are strengths of computers which we then program so we don't have to do those repetitive things ourselves. I suppose to the laymen writers at Wired us software engineers are just extensions of the computers we are seated at.
> Making sure mad man doesn't get a weapon in the first place will.

And how do you do that?

The most effective mass killers tend to use fire. (I'm surprised at how few people use cars to kill intentionally, but a demo may well change that.)

Rwanda reminded us that knives and clubs are quite effective.
Indians among most corrupt while doing business abroad