skysight-inc/HackerNews huggingface dataset:
> the part I'm really curious about is "From there, you can pretty much combine these rules to analyze many algorithms."

I'm not sure if I'm still misunderstanding you, but here's an example of what I meant.

Say, for whatever reason, you want to populate a binary tree with k items of random data:

for(int i = 0; i < k; ++i) {
int data = rand(); // Let's assume this is O(1)
tree.insert(data); // O(log(n))
}

The inside of the loop runs in O(log(n)) time because O(log(n)) > O(1). We're doing it k times, so the total time is O(klog(n))

Now, if you wanted to do this for m trees:

for(int j = 0; j < m; ++j) {
for(int i = 0; i < k; ++i) {
int data = rand();
tree[j].insert(data);
}
}

We already know that the inner loop runs in O(klog(n)). Since we've just added a loop around that, it's easy to see that the whole thing runs in O(mklog(n)) time.
You mean the anti-Wikileaks Palantir?
I haven't read Data Structures and Algorithms, but I can point you to a draft of the book for my current Algorithms class, creatively called Algorithms[1]. I think content-wise the draft is almost identical to the published versions; the main differences are in the exercises.

[1]: http://www.cs.berkeley.edu/~vazirani/algorithms.html

It's fairly in-depth but narrative in style and readable; I rather like it. One particularly nice touch is that it goes over the practical applications of the various algorithms at a high level, giving you a good idea of where they are used and why.

If you do not do much math and do not remember Linear Algebra/Discrete Mathematics, it might be best to skip the first couple of chapters and look at graphs first instead. That said, the first two chapters cover some math which is probably good to know.

The book is primarily about algorithms. It touches on data structures where needed to implement or describe an algorithm, but not much more besides (at least in the parts I've gotten through so far). I have not read any good data structures book, but have found Wikipedia to be a very good resource. I suggest avoiding overly language-specific books on the matter--I think that Java books in particular are insidious, but I am little biased in that regard.

The best approach would probably be to read through a section about some algorithm, look at what sorts of problems it can solve and then write a simple program to solve those problems. For example, when reading about path-finding algorithms, you could write a simple navigation program. I find this helps keep the material interesting and also aids retention.

Additionally, I have heard good things about Introduction to Algorithms[2] (another creative name)--it was suggested as a reference for the course, although I did not get it (Wikipedia is good enough for me).

[2]: http://en.wikipedia.org/wiki/Introduction_to_Algorithms
Cheap hardware and cheap bandwidth are easy to get... in datacenters. And if you have reasonable scale you can amortize away the cost of high availability, too. The cloud isn't the problem here, it's SaaS. If you have a personal cloud server, you can not upgrade all you want.
Facebook Timeline vs Google+: Vision = Product Manifestation
Show HN: textlaundry.com
How is this going to affect Three20 or your work on Nimbus? I'm really looking forward to seeing Nimbus develop as I've been fairly frustrated with Three20 so far. Best of luck on the new job and thank you for your contributions to the iOS community.
2.0 Feature Focus: Connect Email Accounts to your App
Top 5 iPhone 5 rumors
6 sigma is 1 in 506 million.
Agreed - this was also my favorite part of the post.
For ruby you could likely do something similar using rubinius which can precompile .rb files to .rbc files prior to execution.

Though they discourage the use of the .rbc files directly so not sure this is much to worry about as they change the bytecode format often enough.
Google Gets Groupon COO Back, Offers Kicking Butt
Another good option is Algorithms by S. Dasgupta, C.H. Papadimitriou, and U.V. Vazirani. A draft is available at http://www.cs.berkeley.edu/~vazirani/algorithms.html.

I find this book readable and interesting; it does tie the algorithms to practical applications at a high level. It is language-agnostic, so it should be a good fit for almost anybody.
My customer wants me to record a video of how I develop his software product
The quicksort implementation is incorrect. The code simply picking the left-most element as the pivot, and as a result it becomes pathologically slow for nearly-sorted array -- for example, run bubblesort then quicksort, or run quicksort twice -- not to mention potential stack overflow problem due to O(N) recursive call.
The social network killer? Like email
For a significant number of gigs, you don't need to know algorithms and data structures. This continues to surprise me.

I think for interviewers, this approach to quizzing on algorithms and data structures is probably just a well-known practice and probably lacks correlation with the work of a specific job role most of the time.

If you aspire to work somewhere that has a demand for deeper algorithmic work, you do need to understand algorithms and data structures. I think this is probably a smaller number of potential jobs than many of us on HN would like to admit - there is simply a large number of mundane IT/dev jobs where the naive imperative solution will be just fine.

I would skip flash cards, but try to find small projects at work that require algorithmic and data structure thinking. Then you get some applied experience that will "tell a good story" at an interview plus build your analysis skills.

I think for a lot of jobs, even being able to talk about an algorithm and data structure design that you personally did will put you way out in front of a number of candidates.
I agree.

2011 Programmer Cost/Benefit reality:

1) The chance my app will be so heavily used that it requires deep knowledge of many algorithms is pretty low.

2) The chance my app has serious marketing or business model problems is pretty high.

3) The extra cost of using a scalable platform (PaaS) like Appengine, Heroku or plain EC2 is less than both the cost of my time to learn or relearn all of those algorithms and the cost of setting up my own scalable platform.

I see far more business model/marketing problems than scalability/performance ones.
That does seem to be an interview technique used at some companies. It comes with its own set of problems, though.

What if someone asks a friend for help or pays someone to solve the problem in its entirety? If your problems aren't unique enough, they could also google the answers.

With that said, I actually prefer your approach. Its pitfalls have to be weighed carefully; hiring someone who knew enough to fake it could be a costly setback for a small company. However, it does remove some unnecessary pressure from the interview process.
Radix-exchange sort:

sort = (begin, end, bit) ->
i = begin
j = end
mask = 1 << bit
while i < j
while i < j and !(VA.get(i) & mask)
++i
while i < j and (VA.get(j - 1) & mask)
--j
if i < j
VA.swap(i++, --j)

if bit and i > begin
sort(begin, i, bit - 1)
if bit and i < end
sort(i, end, bit - 1)

sort(0, VA.length, 30)
MOG has been great for me too, and it's more web based
Cool concept, Soundcloud seems to be constantly innovating on ways to get people to socially listen to new music.
Several people here mention Sublime Text 2. I can't see code folding (which I really like in TM).
Digi Auto Links WP Plugin Is Here
This may be fallout from Google flagging a larger network.
How is this any different from storing source code on GitHub, or using Campfire to communicate?

A very reasonable argument is that you shouldn't be using those either. GitHub is fine for open source projects but if I were involved in writing proprietary code I'd probably not put it up there.
And there might be other fixed points, perhaps with even greater catchment areas.
Tumblr closes $85 million investment round
Say what you will but the fact they wrote that on their site means there is a certain amount of realism to the whole thing.
My Mac Locked Me Out & Threw Away the Key
This article hints at, but could do a better job of explaining why humans aren't currently capable of evolving, and why we as a species haven't been able to for thousands of years. Society acts as a buffer, disintermediating genetic advantage from reproductive advantage. Your genes might affect WHO you can reproduce with but not IF you will reproduce.

The article implies that the only course is devolution, once we hit diminishing returns from an educational standpoint. It's equally plausible that we as a species could diverge on the lines of intelligence. Intelligent people are likely to self-select who they reproduce with based on similar intelligence levels. There's certainly a bias towards people moving to areas with other high densities of similar people, so the process is possible even if it's not done intentionally.
Didn't Bill Gates search for a mate among the employees?
Not to mention that Google is in the business of sending you away from their website; hopefully through an ad link.

If users are spending more time on Facebook, one could extrapolate that they are spending less time clicking on ads. The exact opposite of what Google wants.
Uh.

YouTube. Android (their market share isn't declining). Likely the most popular cloud office suite. GMail. Picasa. Google+. Analytics.

Just to name a few.

I'm pretty sure AdSense accounts for around 30-35% of Google's revenue.
Speaking of pain inducing, I found watching the bubble sort very pain inducing! I've always known it was slow compared to other options, but this make you never want to see the thing mentioned again!
Does Facebook's privacy statement state that they don't track "logged out" users? Logging out of Facebook does not delete all facebook.com cookies (let alone any web beacons from covert domains Facebook might use), so they could technically still track users.

I just deleted my facebook.com cookies. Visiting facebook.com login page issued me 5 cookies. Logging in issued 31 (!) additional cookies. Logging out and restarting my browsing (to clear session cookies) left me with 3 cookies. And those 3 cookies have suspicious names like "datr" and "lu" (Log User?) with obfuscated hash values.
Poor choice of the pivot makes the implementation bad, but absolutely not incorrect.
White people in the upper mid-west are a lot healthier and long lived than whites elsewhere

This doesn't surprise me. People knock the Midwest both out here (New York) and in California, but people out there are happy. Minneapolis, Toronto, Madison and Chicago are among the nicest cities I've seen in the world.

The winters can be very, very cold, but you get used to that. You dress for it. If the 3 worst things about the place where you live are December, January, and February, I'd say you're pretty well off. I do prefer the New York fall, though... 57 degrees and peak foliage in early November is pretty tough to beat, whereas in the midwest November is already winter.
That's still a quicksort - it always has n^2 as its worst case I thought? If you pick the wrong pivot each time.
I love it! This is art + algorithm + engineering + craftmanship.
Three20 is mostly in a bug-fixes only state right now. The fact is that the framework is complex enough that the cost of adding a new feature often outweighs the benefit. This is the main reason why I've decided to start anew with Nimbus and so far the progress has been really great.

Going forward I'm planning to dedicate a chunk of my mornings to working on Nimbus, splitting my time between going over pull requests and building new features. I love building tools to accelerate the development process of other iOS developers and plan to continue doing so for the foreseeable future.
I'm able to read it fine with Chrome on both Windows and Linux systems. I just did a quick test with Chrome on Mac, and failed. I'm not sure if that is a difference in rendering, or just installed fonts. Here's someone asking a similar question: http://ask.metafilter.com/126672/Can-has-squamous-text
I could pay for this. When did you launch it?
Yeah, the only problem is that it has a nasty habit of devouring your RAM when used. On my job's Rails project, doing a single find-in-project results in 1.6GB RAM bloat. It never goes higher than that, but it's unacceptable. AND it's not performed in a separate thread! Though it's hard to beat its command-T behavior (and yes, Vim plugin - TM has had it for years).

As to unmaintained, there are bugfixes occasionally, but yes, no feature changes for quite a while. But that still makes it by far one of the most solid applications I've ever used - everything but my terminal application crashes more often than TextMate.

All that said, ack/grep all the way. Faster, with/without context, and doesn't leave bloat around.
The Buddhist parable of the blind turtle is actually a metaphor for how long it takes to be reborn as a human after being reborn as a non-human.

"Suppose a man threw into the ocean a yoke with one hole in it, and then the east wind blew it west and the west wind blew it east and the north wind blew it south and the south wind blew it north; and suppose there were a blind turtle that came up to the surface once at the end of each century. How do you conceive this, bhikkhus, would that blind turtle eventually put his head through that yoke with the one hole in it?"

"He might, Lord, at the end of a long period."

"Bhikkhus, the blind turtle would sooner put his head through that yoke with a single hole in it than a fool, once gone to a lower realm, would find his way back to the human state."

M. 129

[Nanamoli, The Life of the Buddha, p. 250]

As the post says, the probability of the turtle surfacing with his head in the yoke on any one try is about 10^-15. Since the turtle tries once per century, the expected length of time as a non-human is 10^17 years, or 10 million times longer than the amount of time since the most recent Big Bang. It's actually kind of cool to visualize this. Let one penny represent the amount of time since the Big Bang (about 10 billion years). Then here's a picture of the amount of pennies representing the expected length of time as a non-human: http://www.kokogiak.com/megapenny/seven.asp
Joe Hewitt - What the web is and is not
This is not true: the iPhone Facebook app has worked nearly perfectly on the iPad for some time now (I think almost a year, in fact). On jailbroken devices we have a hack called "FullForce" that flips the "this is an iPad-native app" flag for any app (its a new panel under Settings), and a lot of people jailbreak just so they can get a quite reasonable iPad Facebook app.
no spoilers for those of us that haven't read them.
Back to school with Minus
Force Facebook sharing by scaling like buttons
I feel like I should tell people about this. Or maybe not..
Sorry about that.

I should have linked to the Amazon page in the first place (who am I kidding?). You linked to the correct version.
nice job! nice design to streamline proofreading.
Python on a microcontroller
This makes me wonder if there was some backroom deal to give Facebook an edge over Google+.
A systematic uncertainy is very possible, but a systematic uncertainty is a combination of things.

Assuming it's on the FPGA/DAQ side first and foremost is silly because there's multiple systems involved and they are geographically very far apart. Maybe someone forgot that they cut the cables shorter somewhere, or someone is using different cable with a different velocity factor than they are used to. Maybe their geometries are off by 18 meters.

The experimental setup and calibration, along with how it is performed, is much more important than any single component. Assuming it's the (seemingly) most complicated piece in the experiment is wrong. Everything needs to be checked and double checked at this point.
Without seeing any examples of improved text, my first thought was that an API/Wordpress/Gmail plugin would be awesome.

Though before I pay, it would be nice to see some examples of improved text.
DHS Thinks Some SCADA Problems Are Too Big To Call "Bug"
Park Dental Care
Park Dental Care of Astoria Queens provides a full range of general and cosmetic dentistry services including cosmetic bonding, dental crowns, dental bridges, dental implants, laser dentistry, laser teeth whitening, Lumineers, orthodontics, porcelain veneers, smile makeover, Snap-on Smile, Invisalign, dental hygiene, dentures, halitosis, tooth fillings, oral surgery, periodontist, prosthodontics, root canals, sealants, and TMJ disorder. Park Dental office offers sleep sedation dentistry, emergency dentistry, pediatric dentistry as well as dental financing and affordable payment options. We are located in Astoria, Queens, NY, conveniently located just 1 block from the N and Q subway line from midtown Manhattan.
This Quick Sort Visualization is cool too. Were you inspired by this? ;-)

http://www.youtube.com/watch?v=ywWBy6J5gz8
We already know that the inner loop runs in O(klog(n)). Since we've just added a loop around that, it's easy to see that the whole thing runs in O(mklog(n)) time.

This is not necessarily true for all cases. (It is for yours.) It's possible for interaction to exist between a loop and its contents, such that the total time is not m times the running time of the interior of the loop.

for (int i = 0; i < data.length(); i++)
bubble_sort(data);

That's a trivial case but sufficient to prove the point. Bubble sort runs in O(n^2), and it looks like we're doing that n times, so the whole thing runs in O(n^3). But that's not true, since bubble sort runs in O(n) when the array is already sorted, so the whole thing is still O(n^2). In other words, the first iteration of the loop induces a side effect that affects all later iterations.
Ask HN: Places for promoting small projects?
Today I launched Photoshop Wireframing Kit http://www.photoshopwireframingkit.com/ I was wondering if there are places beside HN, Reddit, Blog where I can show my project?

Any other tips?
The 'Circle Blogging' experiment Can Google+ change the way we work
Without Google, Ytbe would be sued to oblivion, and if it's making money it can't be that much.

Android would last a couple of hours without Google's tens of billions in protection. Isn't it free anyway?

Revenue vs earnings matter on Adsense. Their pay and inventory is linked to the power of Google.

So in the end Google has, search.
I agree, and I have a "nutty" conspiracy theory to explain why things are this way:

Social media is simply the middle class and the tax payers paying for investments in technology. The U.S. government inflates the money supply, through bailouts and zero interest loans, for banks, who refuse to lend to the general public. However, this money can not sit on the sidelines, since inflation the cash itself creates cause it to lose value so tons of it end up in wacky technology investments.

It does not matter which type the investor is — angel or some other sort of creature. A billionaire or a friendly neighbour. Everybody wants to invest as much money they get from banks as loans and as little of their own as possible.

The money the banks give ultimately comes from the middle class that consumes these services (can't really call them products can we?) in the first place.

Thus the middle class is paying a bunch of middle men and lucky dorks with it's own money to invent these services and they will be later paying lots more to "enjoy" them.

Nevermind the loss of privacy, which is simply an icing on the cake.

Question: if these are social technologies shouldn't the State be doing these types of investments in the first place?

Or if they are social in the other sense, in terms of authentic grass-roots and anti-state citizenry — shouldn't social media be about personal blogs, news feeds, videos etc..?
How To Hack Ancestry.com
why not infect .py files directly?
What BS:

> "Even Google isn't well-served by this; not everyone updates their Chrome version immediately, especially updates like this one which require that you restart the browser (and all running browser instances)."

Protip: Updating Flash requires the same thing. In fact, updating Flash will shut down all kinds of apps you have running, including all Flash-capable browsers and even some Flash-reliant native apps.
This would be fun to try with a TV show or movie.
Add the following right above the line "pivot = left" to fix it:

VA.swap(left, Math.floor(Math.random() * (right - left + 1)) + left)
As an interviewer, I have asked candidates what questions they like to ask when interviewing and then proceeded to ask them that question. :)

Or ask the candidate "when question should I ask you that I haven't?" These are somewhat softball questions, but they let the candidate drive the interview and highlight what they think is important about their experience.
Great perspective on Netflix' decisions last few months....change is painful
The repeat accuracy of such a simple mechanism is absolutely amazing. Never in my life would I have guessed that you could make some many reversals without some accumulating error somewhere.
Look at the fundamentals:

Facebook has a shit-ton of information about you already. It knows your social graph, it knows what you "like", it knows your name, it knows your relationship and job status, it knows your religion, it knows your age, it knows your education, it knows your phone number and address. These are things you may have explicitly told it. It now also knows a significant fraction of your browsing history. Web-savvy folks with a solid business sense know how that sort of information can be easily monetized.

Consider what Facebook can easily determine from the information it explicitly knows: your income, debt level, and credit rating; your family size (and stage); your job satisfaction; your relationship satisfaction; your hobbies; your fetishes; every single one of your buying patterns. Facebook can not only determine a better set of ads to present to you on facebook.com it can resell information elsewhere to others so they can present better and more effective ads/deals on potentially every site you visit and offers you receive in the mail and through other mechanisms as well.

A hypothetical example: facebook is able to determine that you are a gainfully employed person with a much higher than average income and no children, they can also tell that you "like" a lot of things about motorcycles, you visit motorcycle news sites and web forums several times a week, you visit motorcycle manufacturer pages often. How valuable is that information to a local motorcycle dealership?
Would be nice if you could include some information about whether the usage of the fonts is free eg licensing/legal type information
Sorry, I mean search market share was declining. Gmail is #
to Hotmail and Yahoo, despite all the hype.

Can G out-Microsoft Microsoft in Office? I doubt it.
Analytics and everything else is subsidized by search.
Index Annuity Guide
I think you're correct that for certain types of apps, this sort of knowledge is pretty useless.

However, once the number of things you're dealing with gets up to, say, the millions, algorithmic complexity can really bite you in the ass and no matter how much hardware you throw at it (rented or otherwise), if the work that a single node needs to do is unreasonably complex, your whole app will be slow for every user, even if you have enough capacity to handle many simultaneous users.

In the mobile space, you can think of algorithmic complexity being a proxy for battery life - if you can make it cheaper to compute, you do less overall work, and the battery lasts longer.