Fire your bad customers
Know when it's time to break up with your customers.
Every blog post that took off on Hacker News, ranked by the votes of its best submission. 49,204 posts.
Know when it's time to break up with your customers.
By Gremlins, For Gremlins™
Last week, Microsoft published the binary file formats for Office. These formats appear to be almost completely insane. The Excel 97-2003 file format is a 349 page PDF file. But wait, that’s not al…
An overview of the tools and environment Stripe engineers used to write and test code, as of 2019 or so.
<p>For years I’ve noodled around with various setups for a Python development environment. A couple of years ago <a href="https://jacobian.org/2018/feb/21/python-environment-2018/">I wrote about a setup I finally liked</a>; this is an update to that post.</p> <p>Bad news: this stuff still isn’t stable, and…
To bootstrap Rust, no cost is too great.
The Bitcoin community has changed greatly over the years; from technophiles that could explain a Merkle tree in their sleep, to speculators driven by the desire for a quick profit & blockchain startups seeking billion dollar valuations led by people who don’t even know what a Merkle tree is. As the years have gone on…
There's a problem with Silicon Valley and the subcultures that imitate it. It's a design bug woven into people's identities and sense of self-worth. Fixing it will be painful. Influential and otherwise very smart people will deny till their last breath that it even exists. But I believe it should be fixed before it…
Some of the interesting and insane facts I learned about SQLite
WebGPU is an upcoming Web API that gives you low-level, general-purpose access GPUs.
A collection of advanced Python features that I've found interesting, underrated, or unique - as someone who's seen a lot of Python code.
Reader question: “Why do all old statues have such small penises?” The reader who sent me this felt that it was a question that was maybe too silly for my blog, but – firstly – there ar…
Privacy focused “smart” doorbells seem to be few and far between so I decided to build one that integrates with Home Assistant via ESPHome and is easy to build.
Hot takes and cold truths on software, startups, and the lies we tell ourselves.
For the past few months, I have been working on a project called CAMLBOY, a Game Boy emulator that runs in the browser.
Learning new language or framework can sometimes be a struggle. Traditional approach is to read documentation which explains the concepts, and provides simple examples. Sometimes that might be enough, but what those documentations are often lacking are some advanced examples and usages in real projects.
If there is one pattern this book couldn’t live without, this is it. Game loops are the quintessential example of a “game programming pattern”. Almost every game has one, no two are exactly alike, and relatively few programs outside of games use them.
The SaaS website best practices you need to close more sales, based on online behavior of 1,000s of SaaS buyers.
October 2008 The economic situation is apparently so grim that some experts fear we may be in for a stretch as bad as the mid seventies. When Microsoft and Apple were founded. As those examples suggest, a recession may not be such a bad time to start a startup. I'm not claiming it's a particularly good time either…
Hatching... Cursor Shenanigans Cursor, my beloved, started rate limiting shenanigans a few days back. For a good 2 weeks after June 16, 2025, we had almo...
Why agents need project documentation instead of retrieval from old conversations.
ChatGPT and LLMs amplify both insight and illusion. They are not knowledge engines, but confidence engines shaping how we think and learn.
Resistor-based dividers, linear regulators, buck converters, and other ways to adjust voltages.
5k words, 23 minutes reading time