Backpressure explained – the resisted flow of data through software (2019)
Backpressure is something nearly every software engineer will have to deal with at some point, and for some it’s a frequent problem. But…
Every blog post that took off on Hacker News, ranked by the votes of its best submission. 21,843 posts.
Backpressure is something nearly every software engineer will have to deal with at some point, and for some it’s a frequent problem. But…
I have recently published a blog post that, as I had expected (actually, hoped for, as that would attract people to contribute to the “study”), generated quite some polemic on the Internet!
We've been building a bridge from React Router to Remix, and we made it so good that we're going to merge the two projects.
Explore the pros and cons of Docker for local development and learn how to set up a developer-friendly, container-based workflow. Perfect for DevOps enthusiasts and developers!
Everyone uses math libraries. Surprisingly, mainstream math libraries do not produce correct results for several thousands of inputs. Developers are seldom aware of them, which affects reproducibil…
Allow me to present a simple thought experiment. Suppose we didn’t need to store our code as ASCII text on disk. Could we change the way we write – and more importantly read – symbolic code? Let’s assume we have a magic code editor which can read, edit, and write anything we can imagine. Furthermore, assume we have a…
Michael Snoyman's personal homepage and blog, featuring writing about programming, open source, health, finance, religion, and whatever else catches his interest.
I'm no graphics expert, but appreciate why square roots are useful. The Pythagorean theorem computes distance between points, and dividing by distance helps…
JSMeter: Measuring JavaScript Behavior in the Wild showed that benchmarks are not representative of the behavior of real web applications. But lacking credible benchmarks, engine developers are tuning to what they have. The danger is that the performance of the engines will be tuned to non-representative benchmarks…
Someone on the internet says that strings are broken, and some more people on the internet disagree. The problem is that all kinds of common operations on strings, such as counting the amount of ch…
BUILDING FOR HUMANITY
Let’s start from the beginning — what is an application?
I've recently tasted AMD Zen 5 CPUs (AWS' m8a instances) and... Whooaaa. Even before talking about GPUs and NPUs, the next 5 years of CPUs will be very exciting! For
You are seeing this because the administrator of this website has set up Anubis to protect the server against the scourge of AI companies aggressively scraping websites. This can and does cause downtime for the websites, which makes their resources inaccessible for everyone.
Go is decidedly polarizing. While many are touting their transition to Go, it has become equally fashionable to criticize and mock the language. As Bjarne Stroustrup so eloquently put it, “There are only two kinds of programming languages: those people always bitch about and those nobody uses.” This adage couldn’t be…
I just did a massive spring cleaning of one of my servers, trying to clean up what has become quite the mess of clutter. For every website on the server, I either:
Thoughts about programming, mostly
The Forces That Call for Microservices
Idempotence means duplicates don't matter. It means you can safely retry an operation with no issues. The classic example is the elevator button: you press it twice and it does not call two elevators. We explore why we would want that property in an email server.
Tetration -- repeated exponentiation a fractional number of times.
Here’s an unavoidable fact: the software project you’re working on has some flaws that no one knows about. Not you, your users, nor anyone in your team. These could be anything from fau…
Qt 5.9 released