skysight-inc/HackerNews huggingface dataset:
Sorry if this comment comes off as naive; about 2002 I realized I didn't have the necessary set of personality traits to survive as a sole proprietor in the open-source field, so I earn my money elsewhere now (technical translation). And so I'm only peripherally aware of the software industry, so to speak.

But here and there I keep seeing the notion of a bounty pop up, whereby people can sponsor specific changes. These frameworks don't seem to last long, though. And it's fairly obvious why: if I have a business need for a specific change to the point that I can afford a bounty, then I also need a non-flaky pledge from a developer to make the change in a timely manner and follow through with testing and so forth.

It seems to me that we have a mismatch of scale. A small change is worth a week of my time if I really want polka dots on my music player. It's fun and I take time from the paying work just because I get a charge out of it, and maybe the community appreciates it. The positive charge I get from that improves my life -- perhaps makes me happy and motivated enough to be more efficient with the paying work.

But I can't make a living doing other people's small changes one after the other. I don't care about their changes, only their money -- and they can't afford a week of my time to make me care enough about it.

So what you would really need would be to find all the people interested in a given change, and they would all pay for it, and in sum, it might be worthwhile. Right? But that won't work, either -- if I want polka dots on my music player, I might chip in ten bucks, say. If I see that it's already got $75 x 8 x 5 = $3000 dollars pledge, I'm going to say, what? Three thousand bucks for polka dots?

Problem two: I don't actually know it's going to take a week, do I? If it takes two, I'm working myself into a hole. What if 300 people have already pledged their ten bucks and I flake out because it really didn't seem that good an idea afterwards?

And finally, problem three: how long will it take for 300 people to think they want polka dots? The need will have passed by the time it can gain momentum.

So what? Do I work on spec and hope 300 people will pay me? That won't work -- I either give it back to the community, so there's no motivation to pay me, or I withhold my change until paid enough, and it's not open source any more. (By which I mean, it violates the spirit of open source -- the mood is gone, to my mind.)

It could be that when all six billion of us are online and more of us make more than a dollar a day, this kind of scale problem will melt away. But until then, paradoxical as it sounds, maybe the world just isn't big enough for this stuff.

It could also be that a magical change in technology will make it way cheaper to make changes (some hand-wavy high-semantics AI-supported coding system -- be honest, you want to write one, too). That would also alleviate the scale mismatch.

But until then, I think these efforts are doomed to failure. Unless somebody proves me wrong -- but so far, I don't see it happening.
Not really hacker news. Need a bury function.
Can you link me to this "doors for desks" thing? This argument's interesting, but I can't say I've ever heard of this before.
Listen to the Stack Overflow podcast. The developer estimated that it would take "a few weeks". A day and a half of Joel's time sees like a fair trade to do this experiment.

Listen to the podcast. The conversation starts at about 16:00 mark if that helps. I am seeing a ton of comments that don't understand the context of the article.

http://blog.stackoverflow.com/2009/03/podcast-47/
What's wrong with that? All else being equal, compiling will generally be faster. Most languages (Python, Java, Ruby, most Common Lisps, etc) do compile - just (usually) to some intermediate and portable bytecode rather than raw machine code. That's probably what their compiler (Wasabi) does too (except, it seems like they are using PHP/VBScript/JS as their bytecode ;-)).
I love this distinction. It's like the distinction between accuracy and precision.
Yep, right you are. That seems like a much more reasonable way to go. Parallelize the build - not the compiler.
If disk sizes are different, which they almost always are, AFAIK dd doesn't quite hack it, otherwise I would have just booted off a Ubuntu live CD and done that.
Are Long URLs Wasting Bandwidth?
Could be a viable competitor to Yahoo Answers and other help forums.
I was thinking this would be a post about how some startup was facing terrible obstacles. If the only problem is that you can't find someone with design ability, the answer is easy: try harder. They're all over, especially at colleges.

Incidentally, as other posters have pointed out, you may be in danger of confusing graphic design with UI design. They overlap but they're not identical.
But the developer wasn't going to take this brain-dead approach; he was going to do something that would actually help. Joel spent time and got nothing; the developer wanted to spend time doing something that would probably speed up the build.
My partner Dave made this point in 2006; it's one of our more popular posts, and got good comments:

http://www.matasano.com/log/644/safety-vs-security-2/

OS X is a suburb. Win32 is downtown Manhattan. You might prefer the suburbs, but remember: neighborhoods change.
Yes, after the dd you have to run parted to adjust the partition table and then possibly use some other tool to grow the filesystem.
A good sample image URL: http://ycombinator.com/images/yc500.gif

Very impressive work. I can't think of any real need for it myself, but it is cool.
Are you angry that they used/wrote something called wasabi? Joel force you to read stuff that makes you mad?

I mean, seriously, what's with all the random ire in the HN comments on this story?
partimage was the tool you were looking for. It natively understands NTFS, FAT, extX, Reiser, XFS, etc. and can resize as it images.

By default it pops up a somewhat annoying ncurses interface, but it's quite a solid tool.
Seriously? You would gouge your eyes out? Most good hackers that I know actually prefer to work on compilers. We like the fact that we can change the compiler and control our destiny... we've added code generation, active records, lambdas, picture functions, and a lot of other nice stuff to our code without having to rewrite or port any working code.

Does your language let you write one function and have it run on the browser or the server? When you want to change something about your language, can you?

People seem to be pretty quick to criticize the decisions we made without really having all the facts, based on a couple of bits and pieces of obsolete info they gathered from the internet.
Suggestion: check whether a process is IO bound first before spending hundreds of dollars trying to make it faster with SSDs.
Laptops are now down to $250 and probably still dropping a bit more yet before even next fall's term. That's getting down to the same class of cost as books (actually I spent more than that on books most terms, in ~1996 dollars no less), and you can probably use aid money on the laptop. This laptop will do everything a non-engineering major will need, and a great deal of what a non-engineering major might want, barring 3D games.

I understand that even $250 can be a lot, but I want to make the point that if you still conceptualize a laptop as a ~$1000 item, it's not really like that anymore. Since the laptop companies aggressively compete for the college student market, I bet that barring massive inflation, somebody manages to offer a $199 laptop for next fall that will do just as much as the adequate laptops of today.

Interestingly, a laptop is now cheaper than a desktop. I couldn't find a desktop at Dell just now for under $279, and that didn't include a monitor.
Indeed. Without this, though, I think his system still would have booted. Incremental progress is certainly better than wasting two days pressing buttons in a GUI, at least IMHO. (Once the system boots, you can worry about using the extra bits on the disk.)
If the new volume is smaller (which it almost always is when switching to a SSD), you'd need to shrink the filesystem before you block-copied it with dd.
Exactly.

"Hmm... Love to get one of those new SSD drives. Just need to justify it somehow"
No matter how much you speed up a 30 second build, you're not going to save a month on the release process. Be realistic, now.

SSDs provide so many other performance benefits--even just launching apps--that they're going to make our developers a lot happier anyway. And my time is far less valuable than a developer who is in the critical path to shipping.
Is Facebook Intentionally Lowballing Its Official User Numbers?
Except that he didn't "get nothing" out of the exercise. As he expected it would, the new drive did provide significant speedups for a variety of tasks and will undoubtedly improve his productivity enough to have been worth the time and money he spent on it. As it happens, it didn't improve the build speed specifically, but so what?
That would be like telling a designer that he could just grab a copy of python and start coding. Sure it might work, but it'll be a steaming pile of shit.

Graphic design is hard if you want to do it right.
Aka "opt-out". Which is why privacy is dead: who's going to be able to keep up with that, especially when other people have no problem tagging you if you know about the picture or not.
Wasn't there also some magic required so that bad sectors get zeroed on the target disk, instead of skipped, which would be bad.
In FogBugz 6 the compiler output was PHP and VBScript.

In FogBugz 7 the compiler output is .NET/CLR bytecodes.

It also emits compressed JavaScript which runs on the browser.
1. Joel is trolling us, and we love it.

2. He is describing a stupid decision he made, which is framed around an unacknowledged stupid decision he made years ago (see 3).

3. His company uses a private language they wrote themselves, for totally ridiculous reasons, despite having written essays about how "you shouldn't let your programmers use any non-mainstream languages".
With the current abundance of incremental and/or parallel tools, the fact that the compilation process takes up a significant amount of time is your first clue that there is something fundamentally wrong with the technology selection and overall thought process at this shop.

Also, he could have saved $350 dollars and bought the 80 GB drive (unless he just HAS to store 40+ feature-length pirated movies on his boot/app drive?).
You can use http://imageheader.com/alpha , which reads image file and displays all information about the image including geolocation tags. This is alpha version

Example:

http://imageheader.com/alpha/index.php?url=http://farm4.stat...
Yeah, otherwise my boss never would have let me spend the money ;/
You should write a new article about Wasabi as it is now, so we can stop making fun of you for it.
Deep Integration of Ruby and Semantic Web Ontologies (2005)
See this (old) presentation for thinking along these lines:

http://www.jroller.com/obie/entry/deep_integration_of_ruby_a...
Try and run A/B split tests on a merchant site with good and bad design and you'll change your mind.
I think people are upset that Joel markets it as a good idea when, in fact, it is probably not that good of an idea.

(Yes, he gets that 1% of the market that can't run whatever language they pick, but he has to maintain his own in-house programing language and toolchain, and train new developers to use a language that exists nowhere else in the world.)
If you code in Python, then code like a Pythonist would code. Don't code like you would code in Scheme or like you would code in Java. Why? It produces some pretty hard to read code - there's nothing worse than reading some Python code that is written like Java or some other language X. And some languages are optimized for certain things and function calls in Python are pretty expensive...

A little tip: tail_rec is a decorator and it would have been nice if the decorator syntax was used: http://www.python.org/dev/peps/pep-0318/
He got: snappier computers for everyone and a story to write about (key to his marketing).
I was also curious what sort of business licenses the State of Delaware would impose upon a start up software company. Thoughts?
Newspapers need a new business model
I've seen more than a few salesmen that did their best work selling themselves into the job, but never live up to that initial impression. I now realize that I can't spot the fakers.

Agree on women in technical sales, as long as they're competent. Among the vendors that call on me, some of the best use women for outside sales. OTOH, the saleswomen that don't know the tech/product/business are really frustrating, more so than the clueless salesmen. (Not sure why--maybe the ones I've run across come off as especially whiny or needy?)
Designers: Make it Memorable
That's a fair point - I don't have all the facts.

I do respect that you had a huge (and effective) code base in ASP that you (for very valid business reasons) didn't want to rewrite from scratch. I understand that each of the decisions you have made have probably made you successful and profitable - and in your shoes I probably would have done something similar. From your point of view, I completely understand that your choices were to do a complete rewrite (which was obviously unacceptable), or to come up with these sort of hackish workarounds.

However, I think you have to understand that as a hypothetical programmer thinking about working at Fog Creek, my choice is to work on your large legacy code base in (what appears to me to be) a not very pleasant language - or work on fun little 3 month AI projects in whatever language I choose (which is roughly what I do now). The fact that your compiler infers type information from a variable's name is an ugly hack - and frankly scares me (not only itself, but also more than a little about other design decisions you made). The hoops you guys had to jump through with Wasabi to do metaprogramming would annoy me - I'd rather focus on the fun stuff.

I recognize that, as a business, you made good decisions. But do you understand why I, as a programmer, would not want to work with those sort of technologies?

Oh, and for what it's worth, my language has all the features you've mentioned. For example, we used Parenscript (http://common-lisp.net/project/parenscript/) at my last job - it's a subset of common lisp that can be compiled to Javascript and runs on either the client or server.

Also - sorry about the 'Gouge my eyes out' bit. I meant it to be a bit of funny hyperbole, but guess I failed to convey that properly (humor is hard on the internet). Fogcreek, in my mind, would definitely be above the average Java or .Net shop, but probably below a few fun research labs, prototyping contractors, or small startups.
I've been doing this wrong for as long as I've been programming (eight or nine years.) I always just try to get stuff to compile as quickly as possible, then to run, and then handle the edge cases if they come up. Needless to say, unconsidered exceptions always come back to bite me in the ass...
I appreciate the recommendation for my startup...
Caterina Fake launches Hunch
When they tag you in a picture you get a notification -- it's how someone implicitly 'tells you' about a picture they have of you.
Probably done to get feedback in the area. If you publish a paper on a better map-reduce strategy, Google benefits. The important thing is to seed the research community with the right idea.

Of course, when some researches comes up with a better idea, you headhunt him.
It doesn't infer type information from variable names. (An old version had to do that in one particular case to work around a VBScript ambiguity). It does type inference like Haskell, from the actual types that are assigned to things, so DIM a=9 means a must be an integer.

Again, you're assuming a lot about Fog Creek without a lot of information. The dev team here is extremely happy to be working at Fog Creek. In 8 years only one developer ever left, because he had to move away. Your theory that Fog Creek is "not a very fun environment" seems utterly at odds with what everybody else tells us, which is that they would give their left ear to work here.
monads... don't even necessarily involve state or sequencing at all

I never said that they do.
If you need something like this to guide you through life, you're a bit sad...

What's wrong with making your own decisions based on passed experience?
This is just tall poppy syndrome.

Joel runs his successful business, bothers to blog about it since he founded it years ago, graciously comes on here and responds to people - nice of him, huh? So why so bitchy?

You clearly disagree with his company's engineering decisions that you can't possibly have been privy to the reasoning behind. What's your motivation?
Some sort of Citrix/Xterm setup would negate most of the installed software issues.
Financial collapse shows failure of free markets?
You're in college. Go down to your art department and see if they have an art class you can take. Or at the very least, will let you put up fliers somewhere in the building.
Or to put it another way, music startups should focus on being more competitive with the labels as far as attracting talent directly.
Lua has tail call optimization (and is otherwise very similar to Python).

function even(x)
if x == 0 then
return true
else
return odd(x - 1)
end
end

function odd(x)
if x == 0 then
return false
else
return even(x - 1)
end
end

-- (at the repl)
> print(even(10e6 + 1))
false

Testing that way is slow, of course, but if you wanted speed you'd use something more like

function even(x) return x % 2 == 0 end

(and Lua is typically faster than Python, anyway.)

There's also Stackless Python, though I haven't personally done much with it.
Doors are large, sturdy, finished pieces of flat tree-product. They are very cheap compared to material intended for counters, and are available used for free. They already have a hole (doorknob) for you to put your cables through.

For legs you can use some combination of: shelving, filing cabinets, sawhorses, brackets+lumber, and a-la-carte legs.

At my parent's software startup they used doors for desks for their whole 20-year run. Be careful though -- with great surface area comes great responsibility! Once my mom's desk clutter reached critical mass, it stayed that way for 15 years (18" deep in the back, 2" in the front).
5 Useful Google Labs Features To Improve Your Gmail
Gmail has changed our lives permanently it offer 5 GB of email storage for free and a lot of google labs features. This is one of the reasons why I love Google. Here is a list of useful google labs features which will for sure , improve your gmail.
You used the word "impurity". What other meaning did you intend?
Yes - I love everything about being self-employed except for the fact that my boss is an asshole.
I don't think the parent cares how AT&T was broken up.

Why not break up financial institutions through the judiciary? Oh, because the anti-trust laws are crippled...
? really ?

First, looking at the examples, it doesn't seem to be restricted to exact images, not by a long shot.

Second, your approach is hopelessly naive. ;) Consider: rescaling, re-encoding using a lossy image format, color adjustments, and so on.

Good news though, I bet your approach is way, way, _less_ computationally expensive than whatever it is they are doing ;)

(My guess would be something like SIFT or SURF, probably minus (some) rotation invariance to speed things up, combined with a whole bunch of hackery to make the feature database search suitably fast while still acceptably accurate. Worth your time to google + read up as those algorithms can achieve positive red stapler identification fairly robustly, but you'll be in for rather a lot of math.)
There is also [this](http://iqdb.org/).
Eh ... the people who frequent this site, found this an interesting article, thats why the upvoted it I think. I don't think Hacker News has to always adhere to just startup news and technical news, this is a breath of fresh air. At the end of the day it depends on Hacker News viewers to upvote this knida of a news !
Fibonacci-Inspired British National Wildflower Center
Thanks for the response.

By "not a very fun environment" I was referring to the Wasabi programming environment, not the people/social/office environment. Sorry for the ambiguity. I've read most of your essays, and the FogCreek environment seems amazing - you've clearly done a wonderful job with that.

And you're right - I am inferring a lot from not very much information. But, imagine that I'm a hypothetical programmer that was considering working at Fog Creek (I'm probably not up to your standards, but bear with me ;-)). You publicly stated that your compiler infers type information from variable names. That, in conjunction with some other worrisome things I've read about Wasabi, might be enough to push me some other way.

Most of the other places I'd consider working have decent enough benefits (salary, offices, food, etc) that they really aren't a deciding factor. When I look for a job, my primary concern is how interesting/fun the problems/technologies are. As long as all the other stuff is decent, I kind of disregard it.
Ask HN: Can I print and sell custom waterproof Google Maps?
I run a hiking website called www.trailbehind.com, and we have maps of all the US parks and forests. As one way to monetize the site, we plan to sell custom-printed maps.

Other sites currently sell custom print-outs of USGS topo maps. However, Google's tiles now overlay topo lines at the appropriate zoom level and are comparable, if not better than a lot of USGS maps.

My question is: can I print and sell maps using Google's titles? I had a hard time finding an answer on Google, so I thought I'd ask here.
Incorporate for free (still valid)
http://news.ycombinator.com/item?id=384402
Mulligans are built into tournament rules.

That being said, I find that they are quite the leveler; high tempo decks with less lands suffer less than a control deck, but need mulligans more often. It's a trade-off, and evens out the playing field more than people realize.
I agree that coding in the style of the language is important, and I can assure you that my python code has gotten a fair bit more pythonic since writing this :).

Still, there are times when things like this could be useful. Even though I code in python more than anything these days, I still find it useful to "think in scheme" sometimes, and having access to unlimited tail recursion helps. A fair bit of my code is experimental or write-once run-once, so as long as I can understand it performance and readability is not a huge issue.

> A little tip: tail_rec is a decorator [...]

Unfortunately, it's not that easy. The tail-recursive function itself needs to be able to reference itself (unmodified by a decorator) when it creates the lambda. There is a way around this (by having the function take a copy of itself as an argument, as in the y-combinator), but that has a negative net effect on readability.
Vince DelMonte Fitness Review
Their crawler could use some work. (I uploaded my PR screenshot of my software. They flagged several copies which are domains 301 redirected to my homepage.)

The algorithm, however, is beyond awesome. They found half a dozen instances of my screenshot on the Internet, including my site, some download sites, and a Chinese pirate or two who had gone to the trouble of watermarking my image.

I think Getty just had kittens.
Are you really doing "type inference like Haskell"? -- somehow I doubt that you're actually doing Hindley-Milner.

I'd wager that you're doing something more like what csc and javac do to give error messages, and which C# 3.0 uses to support the var keyword.
Said steaming pile should be used as fertilizer for the next iteration.
http://maps.google.com/help/terms_maps.html

Section 2, subsection b and c says no.