HN2new | past | comments | ask | show | jobs | submit | 2010-07-06login
Stories from July 6, 2010
Go back a day, month, or year. Go forward a day, month, or year.
1.How to Lose Time and Money (paulgraham.com)
467 points by michael_nielsen on July 6, 2010 | 175 comments
2.Woot To The AP: Nice Story About Our Sale — You Now Owe Us $17.50 (techcrunch.com)
314 points by dwynings on July 6, 2010 | 46 comments
3.AP Not Amused By The Woot Story, Tries To Play The Oil Spill Card (techcrunch.com)
226 points by jasonlbaptiste on July 6, 2010 | 34 comments
4.Follow-up to: Did Americans in 1776 have British accents?
170 points by joshkaufman on July 6, 2010 | 42 comments
5.Rate my startup: ChompStack, a mobile website builder for restaurants (chompstack.com)
166 points by stevenwei on July 6, 2010 | 140 comments
6.The Origin of the <blink> Tag (montulli.org)
158 points by bkrausz on July 6, 2010 | 32 comments
7.1995: The Internet? Bah (newsweek.com)
149 points by MykalM on July 6, 2010 | 93 comments
8.Terminal Tips and Tricks For Mac OS X (superuser.com)
143 points by bemmu on July 6, 2010 | 32 comments
9.Fake - Mac OS X Web Browser Automation and Webapp Testing Made Simple. (fakeapp.com)
143 points by sant0sk1 on July 6, 2010 | 36 comments
10.The Japanese Soldier Who Fought WWII for 30 Years (todayifoundout.com)
138 points by _pius on July 6, 2010 | 78 comments
11.Save NYC sublets and vacation rentals from anti-competitive bill (savenysublets.com)
118 points by rantfoil on July 6, 2010 | 36 comments
12.PayPal Hates Conferences – Especially OpenCamp (openca.mp)
117 points by johns on July 6, 2010 | 48 comments
13.The Way I Work: Justin Kan of Justin.tv (inc.com)
114 points by evansolomon on July 6, 2010 | 62 comments
14.Traction Trumps Everything (gabrielweinberg.com)
115 points by michaelfairley on July 6, 2010 | 24 comments
15.The next wave of programming languages (oreilly.com)
108 points by Anon84 on July 6, 2010 | 85 comments

I sense a bit of irony here: the guy who started HN is telling you not to waste your time by sitting around being unproductive... and you are seeing this article because you are on HN. :)
17.Data URIs make CSS sprites obsolete (nczonline.net)
102 points by mnemonik on July 6, 2010 | 64 comments

What the AP flack meant to say:

"We are the AP, we are a for-reals, big-timey news agency. Without us you wouldn't even know what was happening two towns over. Thus, re-using our content costs money, because our content is valuable. You, you are just some guy who runs a multi-million dollar company or some a-hole with a blog. Your content is meaningless pablum slathered on the walls of the digital romper room that is "the internet". It is valueless and thus we are able to reproduce it in any way we choose."

19.How to Deconstruct Almost Anything, by a Software Engineer (ucl.ac.be)
94 points by lionhearted on July 6, 2010 | 102 comments

I do worry about this a lot, actually. HN is a huge time sink for me, and I worry that it is for other people too. It's way worse for me of course-- moderating a forum is exactly the sort of pseudo-work I'm talking about in the essay-- but I often think about whether HN is too engaging for users too, and whether there are things I could to make it less so.

This reads like a textbook, i.e. it's algorithms that are highly useful to CS professors and students but not necessarily to practitioners. If I had to pick a top-10 list based on my professional experience, it would be:

1. Tree traversal. This comes up all the time, from directory walks to DOM traversal to code analysis to folds over abstract data types. It's also something that you need to know and can't always rely on having a library function for, because many things exhibit tree-like structure without actually being instances of your language's Tree data type.

2. Hashing. Obviously as a base for hashtables (which are often your dictionary data structure of choice), but also as a general technique for generating a small fingerprint from a large set of data.

3. Statistics - mean/median/mode, but also things like confidence intervals, regressions, sample sizes, how to make sure your populations unbiased, etc.. You are evaluating your product, right? Knowing how to make good inferences from data is critical, particularly since there're lots of ways you can do it wrong.

4. Sorting. This can usually be hidden behind a library function, but it's useful to understand because many other algorithms have very different (and often better) performance characteristics if the input data is kept sorted. Binary search falls into this bullet point too.

5. Data compression algorithms. Another one that you'll rarely have to directly implement, but knowing their characteristics helps you make good speed/space tradeoffs for the rest of the system.

6. Bloom filters. This is one that I never learned in school but tends to be incredibly useful when dealing with massive data sets. Oftentimes, you want to be able to quickly reject elements if they're not in a set, but don't really care about it taking a while if they are in a set (because you expect that many more elements will be outside of the set than inside it). A Bloom filter is one of the fastest, most space-efficient ways to do this.

7. Topological sort. Dependency graphs come up all the time in practical programming problems, and usually you want a way to linearize them into a list of tasks that you can perform in order. It's also a shame that many languages' standard libraries don't have a topological sort function, so oftentimes you will have to implement this one yourself.

8. Support vector machines. These are your bread & butter machine-learning classifiers, and are really nice to know when you've got a bunch of data and want to try to automate some rote classification job.

9. Physics simulations. I've found it surprising how useful my intro physics course knowledge has been. Things like vectors, position vs. velocity vs. acceleration, damped harmonic oscillators, FFTs, etc. It's most useful when building UIs and games - oftentimes, you can make a UI feel significantly more natural by adding easing functions that behave like acceleration when you ease in and frictional damping when you ease out.

10. Unification. I'm probably biased because a lot of my hobby programming is in compilers & type systems, but unification comes up all the time in compilers, and is a really general technique for equation solving.

22.Firefox 4 Beta 1 Released (mozilla.com)
83 points by ssclafani on July 6, 2010 | 54 comments
23.The Egg (galactanet.com)
80 points by pavs on July 6, 2010 | 20 comments
24.Design Tips for Programmers (arandomurl.com)
74 points by daleharvey on July 6, 2010 | 17 comments

He alone could have created more than 19 successful companies...
26.Chrome 6: Early peek under the hood (geek.com)
64 points by thomas on July 6, 2010 | 21 comments
27.How can a website cost £35 million? You’d better ask the government (matthewparsons.net)
60 points by swombat on July 6, 2010 | 28 comments
28.There Are No Pictures of iPhone 4 on Google Image Search (google.com)
60 points by cloudwalking on July 6, 2010 | 26 comments
29.Erlang on the JVM (wiki.github.com)
57 points by silkodyssey on July 6, 2010 | 16 comments
30.Ask HN: How will it impact my webapp if it is written in Python instead of PHP.
51 points by Chirag on July 6, 2010 | 86 comments

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: