Death by design patterns, or On the cognitive load of abstractions in the code
After many years coding in different teams — big and small — I think I can now finally explain to myself why and when do we need, or not…
After many years coding in different teams — big and small — I think I can now finally explain to myself why and when do we need, or not…
I’ve been programming for a long time. When I say long time, I mean decades, with an S. Hopefully that’s long enough. In that time my experience has primarily been programming for contemporary platforms, e.g. Linux, Windows, macOS on desktop-class or server-class CPU architectures. Recently, I embarked on building a…
The name is all but dead, nerfed by the company who invented it. Here’s why Netlify was ahead of its time and where everything went wrong.
A model that helps people design effective teams for software development.
It might seem like a click baity title but it’s not. Let me explain.
I've been operating Pushover 's public-facing API for over a decade now and I thought I'd pass on some advice for those creating a new API.
I opened GopherCon Australia in early November with the talk “Go Testing By Example”. Being the first talk, there were some A/V issues, so I re-recorded it at home and have posted it here:
Let's start with an example. In Advent of Code 2022 day 1 we get groups of numbers as input like: 1000 2000 3000 4000 5000 6000 7000 8000 ...
Augmenting GPT-3 with tools is a popular technique right now. But is GPT-3 really using them?
The Guardian is one of my favorite news sources. I’m a subscriber (support news organizations!) and I read it daily. But it is not immune to errors, as this headline shows:68 °F above average is a …
These words cause problems as table or column name
How to use a CTE instead of complicated CASE expressions
How to stand out in job interviews as an engineer.
Replacing an internal Node.js module with a native Rust module made a x25 perf boost. Let’s understand why.
Last year I finally decided to learn some Rust. The official book by Steve Klabnik and Carol Nichols is excellent, but even after reading it and working on some small code exercises, I felt that I needed more to really understand the language. I wanted to work on a small project to get some hands-on experience, but…
Elixir supports the usual supects of observability. Open Telemetry (OTel), log handlers, capturing metrics. And it does it well. This post will mostly focus on the observability you have on the BEAM that is either incredibly rare to see elsewhere or possibly entirely unique.
A couple of months ago our washing machine produced a considerable quantity of smoke when I opened its door, which I interpreted as a suggestion that a replacement was needed. After rummaging around the internet for advice, a couple of days later a new Miele washing machine took its place in our home.
I always thought of 1+N as a thing that you just keep in your head, catch on code reviews or via performance regressions. This worked well for a long …
A common failure mode in complex systems is that some part of the system hits a limit and falls over. In the software world, we call this phenomenon resource exhaustion, and a classic example of th…
In this article, I describe my journey creating a barely functional rust backend enabling compilation for the .NET runtime (Usually used to run C# and F#).
Dmitry.GR: Driving a poorly-designed display and touch board using no CPU at all
I’ve been in an interviewing mindset for awhile and I’ve come to realize something important about C++ in particular. C++ is a “two peak” language. That is to say C++ is the only language I know of where two very different sets of programmers consider themselves well versed in the language. Let me show you in fake…
Bun is a JavaScript runtime that just released version 1.0! Now you have three choices for running JavaScript outside of the browser: Node, Deno, and Bun. One of Bun's selling points is speed! It makes some interesting decisions to achieve this.
I cancelled my annual Replit Hacker plan and I'll let it lapse at the end of December of 2023. Replit is a popular and growing multi lan...
Disclaimer: This article mentions https://terra-cotta.ai/, an LLM experimentation platform I am building Introduction ChatGPT, Bard, and other large language models (LLMs) are very useful for a wide variety of tasks from writing code to answering complex questions to aiding with education. However, these models are…
This post describes some performance work I have been doing recently on rustc. I spent several weeks on a particular problem with only a small amount of success. I hope a write-up will be interesting and educational, and may even lead to suggestions that make things better. The post is aimed at readers with some…