skysight-inc/HackerNews huggingface dataset:
* Stanford (esp. around the oval, but you can walk south of there to check out campus)

* The Googleplex

* Apple's Infinite Loop HQ

* Downtown Palo Alto (coupa cafe) -- (not so much downtown MV)

* Buck's in Woodside

* If you want, hiking in one of the regional parks in the hills (I know San Antonio, but all of them are nice)

* Coffee cake at Hobee's

* Yelp works well for food spots around here

* The Tech museum in downtown SJ
I would like to take a poke at the automobile engineer analogy. I think the reason they don't build there own parts is because of one of the two:
[1]They don't know how to build it.These parts are sometimes too advanced for a single engineer to build.This is because there field of engineering has advanced to a level to which,I think, software engineering has just not reached.

[2]They don't have the experience points (Money) to buy the material needed to build those parts. And that's not just limited to material, sometimes even the tools are too expensive to buy.Not to mention the transport charges.This is because they are...umm...physical. The parts cost them materials,chemicals,casting/forging devices etc...etc.

Now on the other hand for a software engineer,
[1]If you are worth your salt its fairly easy to learn anything in programming in time.And I put an emphasize on "in time".

[2]The cost of material is quite nominal (and transport charges free).And this is because mostly programming material or tools are not...umm...physical.They can be easily downloaded from the internet or from any other 'net you are on.

So in my opinion the analogy is just not fair.

PS: For the umm...physical part, I am not satisfied with the word "physical" to distinguish between programming and automobile tools. So please someone give me a better word.
Poll: Universities for Aspiring Hacker?
In the United States, it is application season now for admission into universities and colleges. I wonder what would be good research universities to consider for a student who desires to found a Web-service start-up as soon as possible, just after or while double majoring in math and computer science. The poll choices exclude some "obvious" fine universities, but please mention those in comments to this post if you like.
Washington University (St. Louis, Missouri)
Vanderbilt University (Nashville, Tennessee)
University of Southern California (Los Angeles, California)
University of Pennsylvania (Philadelphia, Pennsylvania)
Rice University (Houston, Texas)
Northwestern University (Evanston, Illinois)
New York University (New York, New York)
Columbia University (New York, New York)
Case Western Reserve University (Cleveland, Ohio)
Brown University (Providence, Rhode Island)
I second going to Fry's.

For beach trips, I'd recommend Capitola.
Offline Updates For Windows 7
How to perform offline updates on Microsoft Windows 7 computers without an internet connection.
Did you read the article? The ethical issue is the fact that you are _not_ preventing a vaccine preventable disease.

What information do you have that the flu vaccine is not tested properly?

edit to your edit: You clearly didn't read the post I linked to above if you think it's about nazi death camps above the ethical considerations of randomized, placebo controlled, double blinded studies.
I recommend the Computer History Museum as well. I was pitching a geek tent when I visited. They have Google's original cluster and a Canon Cat! (among other cool stuff) And it's in SGI's old headquarters
Haiku actually does this. Haiku is not a UNIX, but there's a fairly complete POSIX layer for building UNIX programs. As far as I know, Syllable and SkyOS do something like this, too (I might be wrong, though).
What was with the hats?
Well what's rule #34 of programming, then?
Great interview. Very enlightening to say the least. He should be on TED.com. When is the Barack Mitra interview available?
I don't think a slashdotting is what it used to be, both in the number of users, and in the amount of bandwidth available to the site getting slashdotted.
Global warming: Moral vs Economic solutions
At my current job we use FogBugz and it's nice. I don't really see anything too special about it. I only use the basic features, but other people seem to get really into it and some of the features it provides (such as the email integration).

I've previously used Unfuddle and found it easy and intuitive. I liked it a lot. I've also met the two guys who started it a couple times. They are based in Honolulu, it is in Ruby/Rails, and they host at Rackspace. They seem to be doing very well.

I've looked, but never used a few of the others like Github, Bitbucket, google code, and Trac.
My Beginning Ruby royalties post that did pretty well here got about 3000 visitors from HN in the first 24 hours, and 4000 from Slashdot in.. several hours, before I took it down due to their erroneous summary (and having had a kid the same day) :-)
I actually think the reverse of this is the biggest problem in our industry.

From my experience most programmers I've worked with don't understand the underlying mechanism that make their tools work. And when they hit a bug or a problem their tools weren't designed for, the shit hits the fan.

And I've seen the reverse of what you're talking about quite a lot ... developers or managers choosing off-the-shelf software with no clue of what they are choosing, just to spend countless resources and important amounts of money ... later to realize that it doesn't fix their problem. But they use it anyway, adapting the problem to the software, just to get a return of investment ... which is the most idiotic thing one can do. But it happens quite often, especially in big companies that get lured by salesmen with promises of greatness.

Another thing that happens is that quite often I've seen situations where inventing the wheel is faster than using something prebuilt. That's because software development is not like lego-building. Many times you'll find a module that's close to what you want, but it's not good enough. So you start fixing that, and then you realize that the mismatch is greater than what you thought, and you lost more time than doing it from scratch and keeping it simple.

And more to the topic ... the first rule of programming is there are no rules. What works for one project, doesn't necessarily work for another.

Also, developers that consciously and constantly try to "keep it simple" and "not to repeat themselves" are doing a pretty good job at not reinventing the wheel anyway.
Http headers say 'Server: White House'

I would guess all that is publicly accessible is static and being served from Squid or Varnish.

Good luck taking advantage of any Drupal security hole.
How about "hard"?

As in hardware vs software?

I'm just going down to the hardware store to buy a spanner and some raw materials.
You're missing some major ones with top notch CS departments:

* Carnegie Mellon

* Berkley

* MIT

* Stanford

* UIUC

* Wisconsin

If someone thinks s/he can get into Columbia or Brown, s/he has a shot at any of these.

I'm bias, but I'll tell you a bit about UIUC. We've got something called work life balance (pretty much every party scene imaginable: frat, hacker, LGBT, sober, etc). We're also a top five CS program, ranked as the #1 most wired college by PC Magazine (2008), and ranked a top 25 program for entrepreneurship education by Entrepreneur magazine. Feel free to pass my email along (in my profile) to whoever is applying to college. I've given advice to several HNers on what it's like to study CS at UIUC.

Of course, you have to get over the fact that you're in central Illinois.

EDIT: A few words about large versus small CS departments. Small CS departments tend to be much more traditional and suffer from a severe lack of systems. This means they usually are heavy on the theory and things like security and web application programing are limited or nonexistent. Large CS departments have more money, more professors, and more to offer in terms of subject area. Make sure you look at the course catalog from the last several years for each place.
Very interesting. Strangely, no mention of the hangar collapse that destroyed the Buran. At least that's what happened if Wikipedia and this picture from buran.ru can be trusted:

http://www.buran.ru/images/jpg/bbur89.jpg
I'd recommend driving up Page Mill and then turning right and
driving along Skyline till you get to Skylonda. Skyline runs along the ridge of the Santa Cruz mountains, so you can see the Valley on one side and the sea on the other.

I'd also recommend visiting Palo Alto and Stanford. The main downtown of Palo Alto is University Ave. Copious free parking. The best cafe IMO is Coupa, on Ramona just off University. If you want to explore a bit, walk south on Waverley or Bryant. Great frozen yogurt at Fraiche, on Emerson 2 blocks south of University.

The original home of Shockley Semiconductor is still there, on San Antonio Road in Los Altos.

Woodside is sort of interesting. Buck's is the big landmark in the town center. Good brunch.
Most people fall for the songs of the unwritten-code. When confronted with existing code, they can see all of the unevenness of the terrain, the special cases that needed to be shoe-horned because the original architecture didn't allow for them. It is at this time when the unwritten-code starts luring them inside their heads, a sweet, seductive melody. They (who am I kidding, we) think of a perfect generic architecture which will take into account all cases. This architecture will be so extensible that when new requirements arrive, it will take care of them without mutating the design. And performance will be equal or better.

It's all good, if it wasn't for one little problem. Unwritten-code is non-functional. Until we sit down and spend weeks --yes, weeks-- working on it, it's absolutely useless. What is worse, once we start getting better clarity on the domain, we start to understand what those architectural bumps were on the original codebase. At best, our new architecture will be better than what existed before, but our codebase is yet to be tested on the wild.

Oh, the wild, the proverbial real world where code is tortured in ways that we failed to imagine. If your code runs on a server, you may be lucky. Given the continuous feedback, you can patch it and evolve it, effectively reacting to the environment where your program runs. But if you pack it in a released form and part with it, then you're in for a ride.

There's a few rules to heed when rewriting something that's readily available, they are:

1- You are an expert in the domain of what you're rewriting. You're only an expert iff you've written the previous codebase and maintained it for years or you're an user of the codebase and worked with it for years. Yes, years.

2- You have the time and disposition to claim ownership (design, implementation, unit testing, functional testing, maintenance) of this code. It's like having a baby, you have to see it through College.

So, what to do? Write new functionality using existing parts. The value is on the new parts, and since they're new, there are few or no experts, and anyone can go ahead and explore that vast unknown.
Buck's is definitely worth the stop. At Stanford in the Gates building they have one of the original Google machines (LEGO!). If you're in Palo Alto for lunch I recommend the Peninsula Creamery, they have the best sandwiches in the area.
If you look at research papers in software engineering, you will notice a significant thing has happened in the last several years. With the rise of, first the WWW, and then open-source repositories, there is now a large body of code available that was simply absent before. It is now usual/common for research to investigate, test, experiment against that. This must be a positive change, that we should be hopeful about yielding more substantial results.
Agreed. I am not a programmer by any stretch of even my own imagination, but I do have a website that kindof sortof seems to work. I've had things make it to the front page of here, and slashdot and was extremely surprised that it didn't just crash my machine (it's slicehost's cheapest VPS).

This was weird to me because I grew up around fark and slashdot hearing stories about servers going down almost immediately after being posted. I think that those days might actually be gone.
Ok - I program in a software product company. Our business depends on getting out the best solution - not the fastest solution. It's definitely not a "hobby".

Some businesses may requires "fast" solutions, but I would argue that most businesses would be better off with "the best" solutions. And, in any case, requirements of a certain segment of businesses shouldn't really qualify as "The No #1 Rule Of Programming".
I think "Don't solve the same problem twice" might be a good way to say the same thing.

If someone else has solved the same problem, use their code. If your problem is different enough, solve it yourself.

Knowing the difference is the hard part.

Also, sometimes the problem actually is "Purchasing a complementary solution will take 6 months of managerial approvals". The solution is to build it yourself.
Look, I don't doubt that there are difficult ethical situations. But the flu situation is not one of them. The danger of not getting a flu jab just isn't severe enough to throw Dr. Mengele into the debate.

And to answer your question, I gather that seasonal flu vaccines have never been tested using a controlled, randomized, double-blind study. If that is not the case, then what are we talking about?

And I fail to see how it can be an ethical problem not to use a vaccine of which we don't know whether it prevents anything or not.
Having gone through similar Basic Training to Yossi's, I can testify it contains less jungle survival knowledge than most boyscouts pick up during their training.

Basic Training is short, and most of the time is spent on elementary soldier skills such as handling your equipment, coordinated movement etc (a lot more difficult to learn than it seems in CoD4 :)). Since he didn't have a gun with him in the jungle, his odds would be pretty much the same as the average young backpacker.
This is one of those mantras that I lived by when I got out of college, and then found that the reality was far more complicated than I initially believed.

There're costs and benefits both to implementing something yourself and to using an off-the-shelf solution. It's a given that if you do something yourself, it will take 3 times as long as you expect, and you will be finding, tracking down, and fixing bugs long after you thought you'd be "done". And then if you bring in other people to help you, they'll all have to go through the same process.

But using off-the-shelf solutions has hidden costs too. Abstractions leak; that 3rd-party library never completely shields you from the complexity it purportedly solves. There may not be docs, or they may be incompletely specified. You'll probably have to spend some time customizing it, and your customization code may often end up more convoluted than just reimplementing from scratch. You'll probably run into incompatibilities between different libraries. The libraries may themselves have bugs that you have to dig in and fix.

Worse, reliance on off-the-shelf solutions often warps your product so that it fits the solutions you have available. ("When all you have is a hammer, everything looks like a nail.") As much as people say that they'll figure out the problem first and then pick solutions to solve it, the choice of solution then feeds back into the types of additional features you can add. If you decided to use an RDBMS early in development and then find you want to add, say, clustering of related items where "related" is defined by a fuzzy matching function, you'll likely say "This is too hard" and fall back using an exact match, one that can easily be stored in a relational table. Users suffer.

Obviously, a blanket rule of DON'T PROGRAM is wrong, because many successful websites throw away all the off-the-shelf solutions and write their own. Google's probably the most obvious one. I'd amend it to "Carefully consider the infrastructure you'll be using, and only reach for the third-party solutions when they save you significant time and complexity over doing it yourself."
Bass as a weapon: Can overly loud bass damage your hearing?
In some languages, this is rule #0 btw.
http://bogdan.org.ua/2009/01/05/unix-sex-linux-command-refer...
Oh please, apple is the worst file-system designer on the planet. HFS, HFS+ and what not. Wastes tonnes of space (space allocation+journalling) and i'd rather use FAT, atleast it is compatible with other operating systems.

Apple should stick to fancy buttons and animation thanks.
This is a balance one has to make when working for someone else. Often, all of your suggestions you made end up with more limitations than freedoms.

You need freedoms within apps that are going to be around for the long haul.

Example...
Do I build an app in MOSS 2007 or simply use asp.net. Ya, then comes MOSS 2010 and you need to do a rewrite, if you used asp.net then there is no rewrite needed.
It's more often a problem of running our of server side resources than bandwidth (if your blog software isn't configured to survive a lot of users, you're going to run out of RAM and CPU long before you run out of bandwidth).
You can also look into Canadian universities. U of Waterloo is a very entrepreneurial place:
http://en.wikipedia.org/wiki/University_of_Waterloo#Spin-off...

If interested, you should also check out VeloCity, a dorm for entrepreneurs:
http://velocity.uwaterloo.ca/

They also have an MBET master's program that lets you incubate an idea over 11 months and you get student volunteers. It's right in their technology park next to the RIM (Blackberry) global HQ, OpenText, Google Canada, etc.

O and should mention McMaster's MEEI program which also is a master's program/incubator combo.

DISCLAIMER: Once you get it going, you are better off finding round 1 financing in the Valley than anywhere else, as far as I am told.
That looks like the manager's (or any other person spending money, not writing code) point of view... In reality you missed a couple of things:

- Buy an off the shelf program and take 3 hours to read their proprietary API for extra functionality. Then learn that you cannot integrate it into the current system (because of licensing, data format, missing features). Since you cannot make changes to the off the shelf program, you have to rewrite most of the existing code, just to satisfy the programs expectation. Or spend a month writing software that does a two-way sync between the proprietary API and the current data. Then learn that the API documentation is not complete/correct, then that new versions come out once a year - whether you need a bugfix or not.

I agree with the rest though... if there is a library, use it. Pay for it if you really need it. Just make sure you can modify it when needed and that you can do what the api/docs says you can - otherwise the software you bought is worth nothing as soon as you hit a problem, or you spend more money working around the problems than rewriting the software from scratch would cost.
Ummm... you do realize that the slides point out scientific studies of programming with interesting, practical results, yes? And that the author of the slides is a professor of computer science doing more such studies? One of his points in the talk was to call for the professional programmers in the audience to participate in these sorts of studies.
a) The people asking questions weren't public speakers. Speaking in front of 800+ strangers with a mic in your hand is nerve wracking for a lot of people; cut them some slack.

b) Nobody else had such a huge ego to interrupt a speaker on stage in the middle of his talk. Let alone in the first 5 minutes of it. It was humorous that he interrupted the CEO of Zappos to ask a question about how to figure out who the ego-centric people were.
We use FogBugz with about 60 users. Its been interesting seeing its growth over the years. The recent Fogbugz 7 release seems to be one of the most significant though with the addition of plugin support enabling a lot more customization.
Even if it were "much faster", this isn't really the goal, because code writing is usually the quickest step; at least, it is if your employees are competent. What matters more is how maintainable your project is, and how easy it is to deploy.

I may use several libraries, but I lean heavily on platforms; for instance, I have no problem using what's in /usr/lib from a typical Linux distribution, or the Python standard library. This keeps deployment pretty simple, and I can rely on well-tested components that are widely used and unlikely to go away. The platform libraries are also usually free. And I can ask or hire anyone who knows something about them.

While I don't rule out incorporating another library, this is definitely not a rule of programming. A 3rd party library has to do a lot to justify its added deployment complexity. After all, maintainers will have to read through API documentation just to figure out what something does, and this shouldn't take more time than it would take to read through my own implementation of the functions.
Your bounce rate is surely very high (90%) - do others also have this large bounce rate? Ours is close to 50%
If you buy an apartement and rent it out, or acquire the websites, that is not only an investment, but also a (part-time) job you are buying. Whereas putting your money into an index-fund or a bank account are just investments.

Both can be nice --- but keep the additional work in mind, when you make comparisons.

(Disclosure: I just bought the index-fund with the lowest fees I could find.)

By the way, have you thought of buying stuff that will reduce your expenditures --- like a fuel efficient car, or buying an apartment for you to live in; or if you already have a house, putting proper insulation on it?
I call that hood "Specific Whites".
A couple of points buried in the talk: defects increase as the code size increases. The increase is greater than linear. So my question for folks is why would you program in Java rather than Python, where you are guaranteed to have more bugs, even with static type checking?

The issue of programmer productivity has been around at least since The Mythical Man Month, but the generic responses have been better estimates and better methodologies. There is even the Software Engineering Institute to make life worse for all of us. I think that except for academics and programmers themselves, no one cares. Large companies used Cobol and now Java because it is safe. Everyone else is doing the same. I once asked an executive why he picked Java over Python for a greenfield reimplementation of his site. he said it was because there were more Java programmers than any other kind.
Yes, I took that into account. I figured I would spend about 10 hours per year having to deal with apartment stuff (maybe more at first when I'm still clueless), and that it would be empty one month per year while I look for renters.

Apartment is also not that suitable for me, because I will very likely not live in one country that long, and couldn't really check on the apartment always. Of course there are companies that can handle this for you, but then you take a hit in the profit.

And on your second point, yes I am always looking for things to reduce expenses. But because I don't know where I will live after a year, I can't buy an apartment for myself to live in. Currently I am renting, and don't have a car. My biggest expenses right now are food ($450 / month), rent ($450) and my vice energy drinks ($270).
Purely in terms of traffic, slashdot or reddit doesn't give you anywhere as much traffic as Digg or Stumbleupon can send your way.

They all have a high bounce rate, I think it is normal for traffic from social media sites.
+1 for going up to Skyline. Make a stop at Windy Hill, make the short hike up to the top of said hill, and you'll be rewarded with amazing views. On a clear day, you can see from San Francisco to San Jose, from the Diablo Range to the Pacific Ocean. Beautiful.