Full Width [alt+shift+f] Shortcuts [alt+shift+k]
Sign Up [alt+shift+s] Log In [alt+shift+l]

Evan Hahn (dot com)

Sort By

Recent [alt+2]
Anecdotally, programmers dislike "reduce" In short: from my experience, people like map and filter, but not reduce. I use functions like map...
3 weeks ago
1

Anecdotally, programmers dislike "reduce"

from Evan Hahn (dot com) [alt+shift+b] in technology

3 weeks ago
In short: from my experience, people like map and filter, but not reduce. I use functions like map and filter all the time. When I put that code up for review, my peers rarely complain. I get plenty of feedback about other decisions, but not about my use of map and filter. I...
Vim's UserGettingBored autocmd In short: Vim has a joke autocmd called UserGettingBored that doesn’t do anything. Vim’s automatic...
22nd Aug 2026
1

Vim's UserGettingBored autocmd

from Evan Hahn (dot com) [alt+shift+b] in technology

22nd Aug 2026
In short: Vim has a joke autocmd called UserGettingBored that doesn’t do anything. Vim’s automatic commands feature, usually shortened to “autocmd”, lets you run code when various events occur. For example, you could implement an auto-save feature by binding the TextChanged event...
Prefer STRICT tables in SQLite In short: I prefer strict tables in SQLite because they avoid some datatype problems, such as...
11th Jul 2026
1

Prefer STRICT tables in SQLite

from Evan Hahn (dot com) [alt+shift+b] in technology

11th Jul 2026
In short: I prefer strict tables in SQLite because they avoid some datatype problems, such as putting text in number columns. SQLite has a feature that I think is underrated: strict tables. Strict tables help enforce rigid typing, preventing mistakes like putting text into...
"Sixteenth of a year", a 1.8 KiB art piece As I write this, we’re about 7 sixteenths through 2026, and it’s about 14 sixteenths through the...
3rd Jun 2026
1

"Sixteenth of a year", a 1.8 KiB art piece

from Evan Hahn (dot com) [alt+shift+b] in technology

3rd Jun 2026
As I write this, we’re about 7 sixteenths through 2026, and it’s about 14 sixteenths through the day. For the sixteenth issue of the Taper online magazine, I split time into sixteenths to think about its passage in a different way. The code, which had to be under 2048 bytes,...
Offline command line translation with TranslateGemma + Ollama I wrote a simple script that translates text at the command line, completely offline. Here’s an...
1st May 2026
1

Offline command line translation with TranslateGemma + Ollama

from Evan Hahn (dot com) [alt+shift+b] in technology

1st May 2026
I wrote a simple script that translates text at the command line, completely offline. Here’s an example of how it works on my computer: echo '¿Cómo estás?' | translate # => How are you? It combines a few tools: TranslateGemma, a special-purpose language model for...
In defense of GitHub's poor uptime In short: GitHub’s downtime is bad, but uptime numbers can be misleading. It’s not as bad as it...
10th Apr 2026
1

In defense of GitHub's poor uptime

from Evan Hahn (dot com) [alt+shift+b] in technology

10th Apr 2026
In short: GitHub’s downtime is bad, but uptime numbers can be misleading. It’s not as bad as it looks; more like a D than an F. “Zero nines uptime”? 99.99% uptime, or “four nines”, is a common industry standard. Four nines of uptime is equivalent to 1.008 minutes of downtime per...
The two kinds of error In short: in my mind, errors are divided into two categories. Expected errors (think “user entered...
1st Mar 2026
1

The two kinds of error

from Evan Hahn (dot com) [alt+shift+b] in technology

1st Mar 2026
In short: in my mind, errors are divided into two categories. Expected errors (think “user entered invalid data”), which are part of normal operation, aren’t the developer’s fault, and should be handled. Unexpected errors (think “null pointer exception”) are the developer’s...
Track Zelda release anniversaries in your calendar The original Legend of Zelda came out 40 years ago today. With other birthdays on the horizon, like...
21st Feb 2026
1

Track Zelda release anniversaries in your calendar

from Evan Hahn (dot com) [alt+shift+b] in technology

21st Feb 2026
The original Legend of Zelda came out 40 years ago today. With other birthdays on the horizon, like Twilight Princess’s 20th in November, I wanted a calendar that showed the anniversary of every Zelda game. So I made one. Subscribe to this URL in your calendar...
Notes from "On Writing Well" I’ve been trying to improve my writing so I read On Writing Well by William Zinsser. My main...
4th Jan 2026
2

Notes from "On Writing Well"

from Evan Hahn (dot com) [alt+shift+b] in technology

4th Jan 2026
I’ve been trying to improve my writing so I read On Writing Well by William Zinsser. My main takeaways: Clear thinking is a prerequisite for clear writing. How do you avoid cluttered writing? “The answer is to clear our heads of clutter. Clear thinking becomes clear writing; one...
I made a little audio speed calculator I was recently listening to an 8-hour-and-51-minute audiobook, and wanted to know how much time I’d...
3rd Dec 2025
1

I made a little audio speed calculator

from Evan Hahn (dot com) [alt+shift+b] in technology

3rd Dec 2025
I was recently listening to an 8-hour-and-51-minute audiobook, and wanted to know how much time I’d save if I listened to it on 1.5× speed. This math is easy enough; divide 8 hours and 51 minutes by 1.5 to get the new duration: 5 hours and 54 minutes. But I also wanted to: See...
📚 BoredReading

You seem to be enjoying this.

Join free to unlock everything.

Create free account

Already have an account? Sign in