Organizing complexity is the most important skill in software development
Organization skills are more important than algorithmic wizardry, but harder to teach. So we teach algorithms instead. Managing complexity you learn on a job.
Companies come to us for help data analysis and data privacy. Clients have included Amazon, Google, Microsoft, law firms, start-ups, and smaller businesses.
Visit johndcook.com → RSS feedOn Hacker News Jan 2010 – Sep 2026
Math & Algorithms 44Software Engineering 24Life, Learning & Writing 11Career & Management 11Science & Space 9Programming Languages 6
Organization skills are more important than algorithmic wizardry, but harder to teach. So we teach algorithms instead. Managing complexity you learn on a job.
People have been comparing software components to LEGO blocks for a couple decades. We should be able to assemble applications by snapping together modular components, just like LEGOs. There has been progress, but for the most part we haven't realized the promise LEGO-style software development. Integrating two…
The ratio 987654321 / 123456789 is very nearly 8. What about the analogous ratio in other bases?
A handy rule of thumb for creating a confidence interval for the probability of an event you haven't seen happen yet.
How to combine data spread over two CSV files, like separate tables in a normalized relational database.
As I've blogged about before, and mentioned again in my previous post, the great mathematician and physicist Henri Poincaré put in two hours of work in the morning and two in the evening. Apparently this is a common pattern. Cal Newport mentions this in his interview with Todd Henry. Now we also know that if
The math behind how people wait in line
OOP, for all its excesses, was a big step forward in software engineering. The way to move past OOP is to replace it with another discipline, not anarchy.
The most productive programmers are orders of magnitude more productive than average programmers. But salaries usually fall within a fairly small range in any company. Even across the entire profession, salaries don't vary that much. If some programmers are 10x more productive than others, why aren't they paid 10x as…
As n increases, the distance from phi^n to the nearest integer decreases exponentially where phi is the golden ratio.
Frequency modulation (FM) is more robust to noise than amplitude modulation (AM) because static itself is primarily a form of amplitude modulation.
Heights are normally distributed because height is determined by many factors. But why are other things with many inputs not normally distributed?
How to manually test whether a large number is divisible by 7, 11, and 13 all at the same time.
Why hasn't new technology made us more productive than it has?
Using the best tool for a job may slow things down. It may be "best" in a sense you don't need. The actual best tool might be relatively crude.
Someone once asked Napoleon how he decided where to assign soldiers. Napoleon's reply was that it's simple: soldiers are either smart or dumb, lazy or energetic. The smart and energetic I make field commanders. They know what to do and can rally the troops to do it. The smart and lazy I make generals. They
A paper on Kalman filtering and functional folds that I alluded to previously has been split into several papers and posted online.
Charles Dodgson (a.k.a. Lewis Carroll) developed a method of computing determinants which has some practical advantages.
Many times on this blog I've argued that the difference between pure and applied math is motivation. As my graduate advisor used to say, “Applied mathematics is not a subject classification. It's an attitude.” Traditionally there was general agreement regarding what is pure math and what is applied. Number theory and…
The distances to the planets are fairly evenly distributed on a logarithmic scale, not only in our solar system but in extrasolar systems as well.
An impressive poster summarizing biochemical pathways reminds us how complex life is, and how interconnected the world is.
The applied math classic Courant & Hilbert was banned in Nazi Germany. The US seized the copyright and published an English edition.
I've long been impressed by shell one-liners. They seem like magical incantations. Pipe a few terse commands together, et voilà! Out pops the solution to a problem that would seem to require pages of code. Are these one-liners real or mythology? To some extent, they're both. Below I'll give a famous real example. Then…
If AM radio antennas were as long as a quarter wavelength of the carrier signal, you'd need an antenna as long as a football field.
When OpenAI released their proof that solutions to the Navier-Stokes equations can blow up in finite time, they also released a formal proof in Lean 4.
Changing the case of text can change the size of the corresponding QR code. This is one of the reasons Bitcoin moved from Base58 to bech32 encoding.
Latanya Sweeney blew the whistle on how easy supposedly de-identified data could be re-identified. Her results were not well received.
When I was working on my dissertation, I thought someone might scoop my research and I'd have to start over. Looking back, that was ridiculous. For one thing, my research was too arcane for many others to care about. And even if someone had proven one of my theorems, there would still be something original
Deriving the basic mathematical properties of the Smith chart from electrical engineering
Physicist Lev Landau used to play a mental game with Soviet license plates [1]. The plates had the form of two digits, a dash, two more digits, and some letters. Rules of the game His game was to apply high school math operators to the numbers on both side of the dash so that the