Alain de Botton on existential maturity and what emotional intelligence means
“The emotionally intelligent person knows that they will only ever be mentally healthy in a few areas and at certain moments, but is committed to fathoming their inadequacies and warning othe…
The case against CS master’s degrees
Around half of all software engineers are self-taught, One way to approximate this number is via the Stack Overflow developer survey . Another rough approximation comes from the fact that over the last decade, typically only 40-60K students graduated each year with a CS major from a US university, whereas the total…
Solving my truck’s TPMS sensor problem with the help of an RTL-SDR dongle
This post is going to be a bit different from my usual posts. It’s still about computers, but it’s about a different type of computer: the computer modules in my 2009 Dodge Ram 1500 pickup. Vehicles these days have lots of computers in them. I’ve historically been afraid to mess too much with them in fear of screwing…
Virtual offices are not remote-friendly workplaces
The pandemic made evident how much work can, and should, be different. The forced change to accommodate remote workflows also brought to light what I like to call “virtual offices”. Unlike truly remote friendly workplaces optimized for asynchronous communication, these aim to merely transport the office into a virtual…
DigitalOcean Functions: A powerful serverless computing solution
DigitalOcean Functions is a fast, scalable, and cost-effective compute solution that enables you to build quickly, scale automatically, and save costs by removing the need to pay for idle resources.
DeWitt Clause, or can you benchmark %database% and get away with it
The DeWitt clause lets database vendors forbid publishing benchmarks. What the clause is, which vendors still use it, and what you can legally publish.
Eight studies reveal a bias in human imagination
Eight studies reveal a (possibly universal) bias in human imagination
Private profiles are now generally available on GitHub
Private profiles (now generally available) enables users to turn their GitHub profile "private", which gives users control over features that share user data across the GitHub platform. When a profile…
Do data-driven companies win?
Some gut-based judgements on the effectiveness of data.
The worst dam idea: evaporating the Mediterranean to power Europe
Lessons from Atlantropa, the megaproject to unite Europe (& erase Africa)
52% of YouTube videos live in 2010 have been deleted
YouTube is a platform and a community which live off of reuploads. With the privating of old unlisted videos, let's re-examine the relationship between YouTube and reuploading.
Interview with CEO of Flexport: Supply chain crunch, modern logistics
The supply chain crunch, modern logistics, and that famous trip around the Port of Long Beach
The Modern Observability Problem
The observability problem - Why is the system exhibiting this behaviour?
Why have I never heard of the Ene-Farm? (2017)
While reading up on architecture in Japan recently, I came across a technology that I hadn’t heard of before: the Ene-Farm. It’s a domestic energy system that is being used in Japan and…
Implementing ‘strlen’ using SVE
In C, the length of a string in marked by a 0 byte at the end of the string. Thus to determine the length of the string, one must scan it, looking for the 0 byte. Recent ARM processors have a powerful instruction set (SVE) that is well suited for such problems. It allows you … Continue reading Implementing ‘strlen’…
Writing docs well: why should a software engineer care?
Recently I gave a guest lecture in a graduate level software engineering course on the value of technical writing for software engineers. This post is a sort of rough transcript of my talk. I live-…
How to make sure no dynamic memory is used
How to disable heap (dynamic memory allocation) in an embedded application? This article goes into the details of linker files and how to detect dynamic memory allocation.
Making all your integers positive with zigzag encoding
You sometimes feel the need to make all of your integers positive, without losing any information. That is, you want to map all of your integers from 'signed' integers (e.g., -1, 1, 3, -3) to 'unsigned integers' (e.g., 3,2,6,7). This could be useful if you have a fast function to compress integers that fails to ……
The internet was designed with a narrow waist
When you hear the term, you should picture an hourglass with M things on one side, N on the other, and an important concept in the middle.
LocalStack and AWS Parity Explained
How LocalStack's AWS Server Framework and snapshot testing framework keep its AWS emulation in parity with changes to AWS APIs.
Visi On by VisiCorp – The obscure first full GUI for the IBM PC
Visi On was the first full GUI for the IBM PC. First demonstrated by VisiCorp at Fall Comdex 1982 and released at the end of 1983, just prior to the Apple Macintosh, it pre-dated the release of Microsoft Windows by several years.
MicroPython officially becomes part of the Arduino ecosystem
At Arduino we like to experiment with new technologies to figure out if we can use them to improve the tools we make for our users. We’ve recently been
Supabase Storage v2: Image Resizing and Smart CDN
We're introducing new features for Supabase Storage: Image resizing and a Smart CDN.
Rust on Espressif chips Q1 2022
Scott Mabin's blog
Simple declarative schema migration for SQLite
At my company we use a small SQLite database. We define the schema in a single file with SQL CREATE TABLE statements. If we add tables, columns, or indexes, our application will create them automatically the next time it starts up.