(Foreshadowing: I found a bug in MacOS X 10.6's fcntl(F_SETLK) locking thatcould cause corruption of sqlite databases. To see if your syst... | Continue reading
My parents live in a rural area, where the usual monopolist Internet serviceprovider provides the usual monopolist Internet service: DSL, r... | Continue reading
How big should your queue be, and what should you do when it fills up? Manytimes, we implement or even deploy a networking system before w... | Continue reading
What if all these weird tech trends actually add up to something?Last time, we explored why various bits of trendy technology are, in my o... | Continue reading
I guess I know something about train wrecks.One night when I was 10 years old, me and my mom were driving home. We cameto a train crossin... | Continue reading
Let's talk about bug/feature tradeoffs.Anyone who knows me has probably already heard me rant about [Crossing theChasm](https://en.wikipe... | Continue reading
"Systems design" is a branch of study that tries to find universalarchitectural patterns that are valid across disciplines.You might thin... | Continue reading
Welcome to this week's edition of "building a startup in 2020," in which allyour meetings are suddenly remote, and you probably weren't pre... | Continue reading
No. | Continue reading
Let me tell you about the still-not-defunct real-time log processingpipeline we built at my now-defunct last job. It handled logs from a la... | Continue reading
A few years ago I wrote [_The World in Which IPv6 was a GoodDesign_](https://apenwarr.ca/log/20170810). I'm stillproud of that article, bu... | Continue reading
Last November I went to an IETF meeting for the first time. The IETF is aninteresting place; it seems to be about 1/3 maintenance grunt wo... | Continue reading
As a "fully remote work" company, we had to make some choices about thetechnologies we use to work together and stay in touch.Some of the... | Continue reading
My last article on theugliness that is C++ didn't actually receive this complaint, but itshould have: I offered a lot of criticism, but no... | Continue reading
I rarely get the chance to try out words of wisdom on real people beforeI present them to you here. So when I post something, it might tur... | Continue reading
Since before graduating from university and up until taking my current job(which is its own story I'll tell some other time), I've initiate... | Continue reading
Long ago, I wrote git-subtreeto work around some of my annoyances with git submodules. I've learned a lotsince then, and the development e... | Continue reading
...is djb redo.There are only two problems. In order of increasing difficulty: 1. you've never heard of it.2. it doesn't exist.Well... | Continue reading
[Note to the impatient: to try out my beamforming simulation, which producedthe above image, visit my beamlab testpage - ideally in a brow... | Continue reading
...everything that's wrong with C++ comes down to that.Background: I've been programming in C++ since about 1993; that's 17 yearsnow. As... | Continue reading
An executive with 8,000 indirect reports and 2000 hours of workin a year can afford to spend, at most, 15 minutes per year perperson in th... | Continue reading
The Internet has gotten too big.Growing up, I, like many computery people of my generation, was an idealist.I believed that better, faste... | Continue reading
Last November I went to an IETF meeting for the first time. The IETF is aninteresting place; it seems to be about 1/3 maintenance grunt wo... | Continue reading
I was recently recommended to read the book [AccidentalEmpires](https://en.wikipedia.org/wiki/Accidental_Empires) by [Robert X. Cringely](... | Continue reading
I don't mind letting your programs see my private data as long as I getsomething useful in exchange. But that's not what happens.A forme... | Continue reading
Multi-factor authentication remains hard-to-use, hard-to-secure,and error-prone. I've been studying authentication lately to see if itmig... | Continue reading
[Note 2017-12-29: the news.ycombinator.comdiscussion of this post is unusually useful. You may want to read itfirst.][Note 2018-09-01:... | Continue reading
I've been working on a series of tutorials using redo for various usecases. (One of the most common user requests is more examples of how... | Continue reading
I recently decided to switch my laptop from a Macbook to a Chromebook,partly because Apple's keyboards are so terrible lately, and partly b... | Continue reading