New
The latest blog posts to take off on Hacker News. 49,241 posts.
DHH: Let It All Out
Casey's reporting for The Verge brought some of the dirty laundry that helped motivate our change of direction regarding societal politics at Basecamp onto the public record. It erased part of that fine line we try to toe between sharing as much of the inner workings at the company as possible while respecting the…
Film simulations from scratch using Python
Disclaimer: The post is more about understanding LUTs and HaldCLUTs and writing methods from scratch to apply these LUTs to an image rather than coming up with CLUTs themselves from scratch. Outlin…
Google can ban your Android app if they think you’ve clicked on your own ads
Google can and will permanently ban your Android app if Google thinks you’ve clicked on your own ads
The health benefits of better air
Why the air you breathe matters, and what to do about it.
What’s wrong with Git? A conceptual design analysis (2016)
What’s wrong with Git? A conceptual design analysis De Rossi & Jackson Onward! 2013 We finished up last week talking about the how to find good concepts / abstractions in a software desig…
An open letter to Jason and David
Dear Jason and David, aka the founder-owners of Basecamp who up until 2021 earned 100% of the company’s profits along with Jeff Bezos, As you know, I am writing this while on medical leave fr…
I forgot about print style sheets (2016)
A small collection of useful CSS techniques and a quick reminder that print style sheets are still a thing.
Why UML “Really” Died
There's this post going around the internet called Has UML died without anyone noticing?, In the piece, Ernesto Garbarino says that UML was killed by...
Print Debugging Should Go Away
Robert O'Callahan. Christian. Kiwi. Software guy. All content human-authored unless otherwise noted.
My Current HTML Boilerplate
Every element I use for the basic structure of a HTML document, with explanations why.
Types of Legal Argument
I have been teaching about legal reasoning and legal argumentation for years. When I do so, I try to impress upon students that legal argume...
Experian’s credit freeze security is still a joke
In 2017, KrebsOnSecurity showed how easy it is for identity thieves to undo a consumer’s request to freeze their credit file at Experian , one of the big three consumer credit bureaus in the United States. Last week, KrebsOnSecurity heard from a reader who had his freeze thawed without authorization through Experian’s…
Basecamp's new etiquette regarding societal politics at work
Jason announced a raft of changes we've made to Basecamp earlier today. By far the most controversial is a new etiquette around societal politics at work, and the stances we'll take as a company. So to expand on that, here's a segment from what I wrote internally on that topic, as part of the announcement to employees…
99 bits of unsolicited advice
UPDATE Several years ago on my 68th birthday I wrote up 68 bits of advice for my adult children, and posted them here. The bits were extremely popular, and they were widely shared by others. I was encouraged to write … Continue reading →
CSS Tips
26 CSS tips and tricks with live demos: text-overflow ellipsis, line-clamp, position: sticky, scroll snap, gradient text, CSS-only modals and tooltips.
Changes at Basecamp
At Basecamp, we treat our company as a product. It's not a rigid thing that exists, it's a flexible, malleable idea that evolves. We aren't stuck with what we have, we can create what we want. Just as we improve products through iteration, we iterate on our company too. Recently, we've made some internal company…
A practical guide to reducing loneliness
11 easy, dorky, & life-affirming ways to connect to others — according to an introvert.
We were promised Strong AI, but instead we got metadata analysis
How simple structured data trumps clever machine learning
Red and blue functions are a good thing
By avoiding effect aware functions a language hobbles engineers and makes programs sloppier than they could be.
API versioning has no “right way” (2017)
API versioning is a really difficult topic, and sometimes seen as a merely religious debate. It’s done differently at different companies, and different teams within different companies often vary. Some folks move from approach A to approach B, and when approach B solves their specific issues they act like
2021 Williams F1 Computational Fluid Dynamics
Thanks to some clever people I was able to get a CAD model of the current 2021 Williams F1 car — that’s not something that happens every day, so of course I had to run CFD on it. CAD Ge…
The Tamagotchi Cemetery
In 1996, Japanese toy designers Aki Maita and Yokoi Akihiro debuted the first ever Tamagotchi.
Heroku-style deployments with Docker and Git tags
In this post I want to explain a new deployment method I came up with while working on drwn.io. I wanted it to meet a few requirements: Simple Based on git tags Zero-downtime Easy rollbacks Creating …
A Product Engineer’s Guide to Platform Engineers (2019)
A Product Engineer’s Guide to Working with Platform Engineers
Swift on the Server (2020)
Why choose Swift as a backend language in 2020? What are the available frameworks to build your server? Let me guide you.