skysight-inc/HackerNews huggingface dataset:
that formula narrows it down pretty well once the constants are defined and takes about a minute to determine. with more time than is found in a typical job interview you could actually go much further.

the real criticism of the question is that the real skill they're trying to test is better determined by directly asking about Fermi calculations relating to computer software and hardware.

the golf ball question could be interesting in it's own right, but it's asked in a context where additional information to optimize the solution is not available and an optimized solution couldn't be determined due to time constraints. hence the formula sucks and you end up simplifying it with fudge factors that only demonstrate that you are able to use basic algebra to model the volume of a bus and a golf ball.

see:

http://en.wikipedia.org/wiki/Sphere_packing

there are numerous practical reasons you would want to solve this problem. for example, say you work in an orange factory. you want to pack oranges of radius n. perhaps you would like to determine and minimize the amount of shrink wrap you have to stretch around them for transport, or keep track of the materials cost for accounting purposes.

that's essentially the same problem and uses the same formula, you're just solving for the dimensions of the container instead of the number of golf balls. you can save a lot of money minimizing the wrapping material if you pump out hundreds/thousands of packed oranges a day and choose an optimal packing.

alternatively, if you have to ship it in a non-optimal packing like boxes, perhaps it's good to calculate the materials cost to pack your product to estimate future expenses.

that article lists other problems where sphere packing is integral to the solution. just because an application doesn't seem obvious doesn't mean there isn't one.

if someone honestly expected me to challenge this interview question without understanding how it could be useful i would rather not work there. people have been studying this problem for practical reasons ever since they had to stack cannonballs for transport, it's not exactly a contrived example.
MacObserver SpamDensed:

- http://news.ycombinator.com/submitted?id=digiwizard

- http://news.ycombinator.com/submitted?id=Semteksam

- http://news.ycombinator.com/submitted?id=jmartellaro

- http://news.ycombinator.com/submitted?id=davethenerd

- http://news.ycombinator.com/submitted?id=tanousjm

- http://news.ycombinator.com/submitted?id=mfiman
I agree with all your points, but also think one must be circumspect when applying this sort of question.

You're right, some people, when faced with a question like this, will flounder. Maybe sixty percent of the population. The rest will all solve it in a similar sort of way.

It's thus a bit of an "are you a complete idiot?" test, so by applying it you express an uncertainty over whether the person you're interviewing is a complete idiot. This is fine if you're interviewing fresh-faced undergraduates or something, not so good if you're interviewing someone with a long track record of success for a senior role.

I don't interview people all that often, and the circumstances are such that by the time someone gets in front of me I can take it for granted that they're not a complete idiot. Thus, I feel no need to apply this kind of test.
And your post comes off as a bit too smug.
羊汤
He seems to think of himself as very skilled because most other people in his field can't program. While he certainly is pretty good at what he does, it is scary to think what somebody with real knowledge could do.
Isn't this more a story of sexualization and objectification than sexism? It was an interesting read to empathize with the uncomfortableness of the situation, but the sexualization stood out to me far more sexism.
Thanks! I have been around stained glass folks quite a bit,but while they repair using the h shaped lead, most used the copper foil method. I had never heard about the putty, so I am off to research that a bit.
The most important general problem solving skill is the ability to eliminate problems entirely so that you don't need to come up with a solution at all.

I think it's prudent to know the etymology of the word problem, whose origin is in "proballein", which literally means "thing thrown forward", much like a hot potato. And like a hot potato, the easiest solution is to throw it forward until it cools down. i.e. it comes to rest with someone who no longer sees it as a problem.

Handled elegantly and diplomatically, the "it's not my problem" approach to eliminating problems is a perfectly acceptable strategy, especially when you poorly understand the problem and the benefits of finding a solution. Eventually, if it is a problem worth solving, it will come to rest with the person who sees an opportunity in solving it and is equipped to do so. In fact, this is essentially the very basis of all rational economic activity.
Little known fact: the source code is available.

http://arclanguage.org/install
Yes, I have it and it's very good and pretty. But I just can't possibly live without a chronological list of submissions (like http://hckrnews.com/) so right now that app just sits in my first home screen and I never use it!
You're asking the wrong question. If an interviewer asked me "How many golf balls fir on a bus?", the only sensible answer is "I don't know.", and if the interviewer would expect anything else, I'd call him an idiot.

The correct question is "Estimate how many golf balls fit on a bus." I.e. I'm not expecting the correct answer, I'm expecting an order-of-magnitude estimate.

This specific question is however inappropriate even with the estimate wording, since 1) busses differ (double decker, how many seats vs. standing space, ...), and 2) golf balls are round. This means that the simple estimate "how many 2 cubic inch things fit into a x * y * z box" (as attempted by another commenter below) would produce wildly incorrect results.
Yes, thank you.

SO opened up programming to the masses by treating knowledge as something to be shared and not something to be hidden.

Again, thank you.
I'm not quite sure why Pike wrote this. Was he afraid that the wheelchair concealed a weapon of some sort? But how can you visually verify that a person needs a wheelchair?

Considering the sign she had, I think Pike considered the hypothesis that she was using the wheelchair as a "theatrical prop".
The woman was carrying the sign "Patents Cripple Software.". Rob might have thought the wheelchair was symbolic.
Fermi problems come up all the time in computing

Hm. I've never faced any such problem. But then, I do uninteresting stuff like deciphering horribly documented APIs and writing desktop software.

If I go into an interview for a desktop software role and they start asking me Fermi questions, I'm probably just going to walk out. In fact, if they ask me questions that look like dynamic programming, I might walk out, too. Why? Because I know they aren't ever going to present me with such problems, and they're just cargo-culting their interviews.
Yes, Netscape acted stupidly.

Nevertheless, it is rare if ever that a company retained a significant market share for a product once Microsoft decided to kill it by forcibly bundling the same functionality with their 95% monopoly product, Windows.

Microsoft acted stupidly too. Mr. G didn't understand the internet until years after everyone else. MSIE was a piece of junk. The decision to integrate it deeply into the operating system was a security disaster of epic proportions.

The difference between Microsoft and their competitors was that they had unlimited money in the bank and could ship whatever they wanted on 95% of new machines whenever they wanted. Consequently, Microsoft could screw up just as often or even more often than other companies. Most new products only get one chance in the market, but Microsoft products always got a second chance, or a third chance, or however many chances it takes for the competition to give up.
This is amusing.

I was told
that among MIT undergraduates a bizarre form of political correctness
had developed, putting Stallman in charge of a pack of eager
misguided nerds who in a healthier environment would probably
be protesting the killing of rats in biology class.
XML is highly overrated

I don't think XML is overrated but certainly overused and misused.
OK, I have to admit that looking at the picture in the article, I personally would have tried to vire some of the money for the super-router into a less fancy one and some decent all-in-one lcd desktop pcs for that table. The space saved by the all-in-ones could have provided a 'quiet table' for someone (and the PCs could double as DVD players).

I would have to make a spreadsheet (good at those) of all the sites and then include a rating for current traffic and then expected traffic growth over the life of the project. Yes, a library with 4 PCs is not going to have a lot of growth...
Well, in the Swedish case where TPB had issues with the judge, the judge was chosen essentially because they knew what this newfangled filesharing thing was, which was more than could be said for just any random judge.
The fun thing is that “they are new” now lasts for almost 6 years. How long will we have to wait for the “long run” now, considering that exactly the same thing was said 6 years ago? :-)
Y'see, with that attitude I wouldn't hire you.

I don't want people who solve problems because they're important, I want people who solve problems because they're intensely curious and just love solving problems.
Warning: I don't actually do web startups myself, so this is based on an outsider's view of the field.

Computer science provides some really awesome ways to deal with algorithmic problems... but for most startup-type applications, those problems only come into play in a few places (if that). A cool time-management webapp might have an interesting algorithm at its core that uses machine learning to auto-decide what tasks are most important (making something ridiculous up), but the rest of the app is basically just a shiny interface to a database.

I really doubt the problems of scaling a CRUD webapp (at less than Facebook scale) lend themselves to good mathematical analysis. Even if they did, these apps involve lots of third-party layers glued together to put together interesting functionality, and those seem to change often enough that it's not worth even trying detailed analysis.

So instead they do Fermi-problem estimates to figure out their basic scaling relationships. Then you can decide how to plug things together, decide what your basic resource constraints are (compute, memory, disk, bandwidth...) and make it easy to add those resources when your customer base expands.

Edit to add: Thinking a little more, that's exactly when you'd want a set of approximate algebraic constraints, so you could decide how many customers-per-EC2-instance you could serve and how that number might change as instance count increased. Math, it's important.
It's funny, in Dungeons and Dragons, "beggar" is the lowest ranking person in a thieves' guild.
Given Google vs. Oracle: What about Android?
I'm seriously concerned about the future of Android. Can anyone share some insight into what may be?

Currently, I'm building my MVP and it includes an android app. I'm worried about the legal implications that the ruling may have on the code I write.
Not sure it's legal to set up land-based economic activities without the blessing of at least one Antarctic-Treaty member countries. Even then, it's not legal to do mining or related activities.
> I've found that usually once I get asked one of these, that's the end of the interview. Why? Because I epitomize "think outside the box". You see, there are a number of different bus styles [...]

That's IMHO the wrong approach. Everyone who's thought two minutes about this problem realizes these issues. None of these are a show-stopper to making a reasonable estimate. It would be completely acceptable for you to say 'Okay, I'll assume a sort of schoolbus like in the Simpsons, let's say 12 rows of seats, we'll need about 2m of vertical space plus some extra for when the driver goes over a speedbump so tall people don't hit their head', etc. The point is whether you can make a quick estimate, so that when in a real work situation you are asked to do something tricky, you can work out whether it's feasible or not.
Hardware macroarchitecture vs mircoarchitecture
I came here to say exactly this. The site design is horrible on iPhone. I had to use the Mobile Safari reader to even be able to read the content.
Volkswagen New Beetle Price and Spec
Wait, so are you saying it isn't possibly to help homeless people in the USA? Or that they don't deserve help? Either way, I think you are very wrong.
Nobody is arguing that intro-/extraversion does not exist and is not a valuable component in predicting human behaviour. pg
's article predicts that people self-identifying as X will have certain hangups around X, e.g. people self-identifying as shy are less likely to learn to be less shy, even if this would be desirable. Looking at this thread, that is exactly what happens. (And I'm done with this thread.)
YES. Getting a sense of core thought process and problem solving skills in an interview is the hard part. Isolating variables is important.
Wonder if some day they'll do the same thing to Facebook as well, since you auth in Safari if the FB app is not installed and you can buy ads on the FB site.
There are two things here that need to be addressed:

1. I agree, hypocrisy is ridiculous - I workout 6 days a week, am deeply engrained in programming, and have females everywhere (in my industry and outside of it) constantly staring at me, or making comments about my "nice ass". Does it bother me? No. But that leads into my second point...

2. Gender roles and cultures are very different, I agree that there is a problem but it's hard to pin-point it because honestly, passive-aggressive geeks that aren't getting laid just embarrass me as a man when I see them try to interact with women and the women that are bitching and moaning about sexism are doing exactly that: bitching and moaning.

I don't have a solution for this, boys will be boys and girls will be girls - our industry has a history of being a place for the socially awkward and inept to collect. There is a correlation there even if not all members fit the stereotype.

[EDIT] I'm a dude btw
Are you sure you aren't conflating "having an attitude about 'stupid' questions" with "simply rejecting 'stupid' questions"?

It's possible to reject stupid questions in a way that is diplomatic and non-douchy.

I'd think that being tolerant of accepting 'stupid' questions is as undesirable as having an attitude about them. The former demonstrates unproductive compliance, while the latter demonstrates unproductive social behavior. Surely there must be an optimum point where someone can behave in a way that demonstrates productive non-compliance, no?
Indeed. I also expect they will have the usual turbulence of a new political movement. Infighting, policy changes, etc and that all of that will be used to again dismiss the larger reason for their existence.
This comment stood out for me as well, and strikes me as extremely disingenuous.

Another that caught my eye was "Free Software is
like Free Love, a hippie pipe dream in which computing is free from venality, commercial interests, even capitalism"

I was upset that Pike could write such things in 2006 as this is demonstrably untrue -- contrary to being a pipe dream, Free Software has completely replaced the space previously occupied by ATT unix. But, then I realized this piece was authored in 1991, which makes this opinion merely lacking in foresight.
Please clarify what you mean by "but they will never actually utilize my potential".Does that mean that you simply dont want to work at those places?
They ride the "we are new" horse themselves, to explain their lack of expertise and knowledge in many pressing political issues. They are a new party, so people will look over some gaps, but this cannot last forever (maybe not even until the federal election next year).
Why Flipping Through Paper-Like Pages Endures in the Digital World
I highlighted your question, right-clicked and chose to Google it, and it was answer number 3 on the returned results. I suspect Alpha would give more useful detail, but then I really think that wasn't what you were looking for.

Slightly more seriously, going to Google first for ANY such problem would highlight both what is already known about the issue, and profitable answers to look for further information.
Some dude is checking (or should be checking) on the PCs in that library anyway.

Hell, a college kid could do the job.
I did not know that. Thanks for the link. I shall go and dust off my LISP.

Now, if any fix is written, where is it to be submitted?
They are the best programming and general technology questions and answers anywhere by far. Discussions are not tolerated, nor are open-ended questions, but if you need to know the most efficient way to do X in language Y, then look no farther than stackoverflow.
My first thought when I read that was, "I can't remember the last time I heard someone rate it positively." I would probably have to go back to the days when everyone expected a transition to XHTML, which would end the tyranny of broken HTML markup on the Internet. Perhaps in those days, it had some positive ratings.
Yes, I have been there, bid by fax with 6h turnaround in one case but that was only a few thousand.

Fix the process.
Custom web development
There's no wheel being reinvented. XULRunner is based on XUL, which makes it fundamentally different from the goal of above projects (that is, to use HTML technologies alone to build 'native' apps).

Some of us at Mozilla Labs have tried to fill this gap through the Chromeless project (https://github.com/mozilla/chromeless), but we've stopped working on it in favor of a more general runtime for web apps (that's what I was talking about in the last sentence: https://wiki.mozilla.org/Apps/WebRT).

The very fact that XULRunner/Chromeless didn't take off like PhoneGap did in the mobile arena for example is evidence that there's room for innovation in this space.

Happy to elaborate on this, but only if you promise you'll be nicer :)
Really? Because the times I've tried to "seriously" answer such questions it became apparent the person asking was looking for "THE" answer. In fact I was halfway into the effect of having seat belts included when the interviewer started gently feeding me "the" answer they were looking for. Why? Because they felt that there really was a "right" answer that folks could agree upon. Not surprisingly, said company folded two years later as I gather their client didn't agree...
Is it a coincidence that someone posted a comment here on HN about Betteridge’s Law of Headlines, just last week, which got quite many upvotes, and now this is posted...(can't remember in which thread, something about "is x dead?")

Seems like circlejerking and/or blogspam to me. Sure, it's a quite interesting theory but just post to wikipedia or the comment instead.
I just want to keep my identity here separate from my IRL identity. The more info someone can piece together to me, the more chance they'll find out who I am. It's not (at the moment) a case of having changed my mind about something I've said.

I like to go over my Reddit posts regularly to remove (or edit to neutralise) comments which haven't drawn much interest from Redditors and aren't particularly important, but which do give an extra titbit of info that could be used to identify me and isn't available in my other comments.

I enjoy the anonymity that lets me express myself more freely without having to worry about colleagues' judgements and retribution (for example).

I thought this site might operate like Reddit, where comments can be deleted and edited.

I remind you that it's not only the HackerNews regulars who can read HackerNews comments.
Couldn't help noticing this article was right next to "Is it time to stop writing headlines that end in question marks?"

http://news.ycombinator.com/item?id=3963685
The Power Of A Tweet
And I started seem to have the flame war! Here are my two cents if they make anyone feel better: First it is a recommendation from a user not lecture from a UI expert. Second as a developer i'm flattered that compared my crappy blog which mostly I read to boost my alter ego ;)- its usability expectations with HN. Third your point well taken, I need to work on responsive CSS when I get to my machine later in the day. In the meantime you can use Safari reader if you really want to read the article on iPhone. Sorry for the inconvenience to iPhone users. Thanks.
Yes. And what's wrong with any of those things? It's a give and take - the interviewer will say "Ok, let's stipulate it is full length and you can't tamp them" and "Oh, that's interesting, assuming some sort of variance in size, estimate a range instead of a number", etc. That's one of the reasons made-up questions are better than "real" questions, the imaginative tit-for-tat is a good thing, and is harder with "real" questions.
Put this in the end of your html file in a <script> tag

(function() {
var src = (document.querySelector) ? '//zeptojs.com/zepto.min.js' : '//ajax.googleapis.com/ajax/libs/jquery/1.7/jquery.min.js';
document.write('<script src="' + src + '"><\/script>');
})();

This will load Zepto if the browser supports it, and jQuery otherwise.
What does tablet market share have to do with search market share?
I've been to & heard of plenty of startups doing cutting edge things and using .NET. Maybe a geographical thing?
Sun's Tim Bray when Sun GPL-ed Java: "There will be lots of forks and I approve"
Fermi trained his students by asking them questions that were not related to physics, like the number of piano tuners in Chicago (D. Hubbard, 2007).
After the summer we'll be having elections: this case is proof that NOW is the time to push the Pirate Partij.

We're the Netherlands, it's our job to be forward thinking, an example to our friends a few kilometers to the East (the Germans, for those not well versed in European geography). As it now stands they're past the first corner, but there's still time to catch up and overtake..
I wrote a whole FORTH interpreter[1], and I have to agree with the article, in part. I don't think it's a good language for large scale engineering, and I don't think if I was a great FORTH programmer I'd change my opinion of it.

[1] http://git.annexia.org/?p=jonesforth.git;a=summary
If a company is solving interesting problems, I think that they won't even be thinking about irrelevant problems for an interview.

Assuming a company has interesting problems that they are solving, why would they willingly leave their interesting problems at the door instead of using those problems as the basis for their interview dialogue.

The best interviews are a dialogue (not an interrogation!) where both the interviewer and interviewee spend about equal time talking. Questions where the interviewer spends a few seconds asking the question and the interviewee spends several minutes answering is not demonstrative of real life collaboration, and at the day the purpose of an interview is to recruit a potential collaborator.
If you want a library that both supports older and newer browsers you need jQuery.

But you could load Zepto if the browser supports it, and otherwise load jQuery because their API is the same.