Blogs / Personal blogs

Dan Luu

danluu.com

Popular posts
102
Total points
37,133
HN comments
27,190
Rank
#10 personal

Visit danluu.com → On Hacker News Sep 2013 – Oct 2026

Software Engineering 37Systems & Performance 30Tech Industry & Business 24Career & Management 22Society, Policy & Culture 18Life, Learning & Writing 14

31

Is developer compensation becoming bimodal?

Developer compensation has skyrocketed since the demise of the Google et al. wage-suppressing no-hire agreement , to the point where compensation rivals and maybe even exceeds compensation in traditionally remunerative fields like law, consulting, etc. In software, "senior" dev salary at a high-paying tech company is…

32

What to Learn

It's common to see people advocate for learning skills that they have or using processes that they use. For example, Steve Yegge has a set of blog posts where he recommends reading compiler books and learning about compilers. His reasoning is basically that, if you understand compilers, you'll see compiler problems…

33

Steve Ballmer was an underrated CEO

There's a common narrative that Microsoft was moribund under Steve Ballmer and then later saved by the miraculous leadership of Satya Nadella. This is the dominant narrative in every online discussion about the topic I've seen and it's a commonly expressed belief "in real life" as well. While I don't have anything…

37

How I learned to program

Tavish Armstrong has a great document where he describes how and when he learned the programming skills he has . I like this idea because I've found that the paths that people take to get into programming are much more varied than stereotypes give credit for, and I think it's useful to see that there are many possible…

39

Reviewing Steve Yegge's Prediction Record

I try to avoid making predictions 1 . It's a no-win proposition: if you're right, hindsight bias makes it look like you're pointing out the obvious. And most predictions are wrong. Every once in a while when someone does a review of predictions from pundits, they're almost always wrong at least as much as you'd expect…

43

Programming blogs

This is one of those “N technical things every programmer must read” lists, except that “programmer” is way too broad a term and the styles of writing people find helpful for them are too different for any such list to contain a non-zero number of items (if you want the entire list to be helpful to everyone). So…

44

A simple way to get more value from metrics

We spent one day 1 building a system that immediately found a mid 7 figure optimization (which ended up shipping). In the first year, we shipped mid 8 figures per year worth of cost savings as a result. The key feature this system introduces is the ability to query metrics data across all hosts and all services and…

45

Why don't schools teach debugging? (2014)

In the fall of 2000, I took my first engineering class: ECE 352 , an entry-level digital design class for first-year computer engineers. It was standing room only, filled with waitlisted students who would find seats later in the semester as people dropped out. We had been warned in orientation that half of us…

46

CPU Backdoors

It's generally accepted that any piece of software could be compromised with a backdoor. Prominent examples include the Sony/BMG installer , which had a backdoor built-in to allow Sony to keep users from copying the CD, which also allowed malicious third-parties to take over any machine with the software installed…

47

Algorithms Interviews: Theory vs. Practice

When I ask people at trendy big tech companies why algorithms quizzes are mandatory, the most common answer I get is something like "we have so much scale, we can't afford to have someone accidentally write an O(n^2) algorithm and bring the site down" 1 . One thing I find funny about this is, even though a decent…

49

The Container Throttling Problem

This is an excerpt from an internal document David Mackey and I co-authored in April 2019. The document is excerpted since much of the original doc was about comparing possible approaches to increasing efficency at Twitter, which is mostly information that's meaningless outside of Twitter without a large amount of…

51

Against Essential and Accidental Complexity

In the classic 1986 essay, No Silver Bullet , Fred Brooks argued that there is, in some sense, not that much that can be done to improve programmer productivity. His line of reasoning is that programming tasks contain a core of essential/conceptual 1 complexity that's fundamentally not amenable to attack by any…

53

Files Are Fraught with Peril

This is a psuedo-transcript for a talk given at Deconstruct 2019. To make this accessible for people on slow connections as well as people using screen readers, the slides have been replaced by in-line text (the talk has ~120 slides; at an average of 20 kB per slide, that's 2.4 MB. If you think that's trivial…

55

Misidentifying talent

Out of context, you might think they were scouting actors or models, but these are baseball players ("A" is Lloyd Moseby, "B" is Jim Abbott, and "C" is Derek Jeter), ones that were quite good (Lloyd Moseby was arguably only a very good player for perhaps four years, but that makes him extraordinary compared to most…

58

Why Intel Added Cache Partitioning

Typical server utilization is between 10% and 50%. Google has demonstrated 90% utilization without impacting latency SLAs . Xkcd estimated that Google owns 2 million machines . If you estimate an amortized total cost of $4k per machine per year , that's $8 billion per year. With numbers like that, even small…

59

The Value of In-House Expertise

An alternate title for this post might be, "Twitter has a kernel team!?". At this point, I've heard that surprised exclamation enough that I've lost count of the number times that's been said to me (I'd guess that it's more than ten but less than a hundred). If we look at trendy companies that are within a couple…