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]
List of Vim forks Here are the Vim forks I know about: Neovim: “a Vim-based text editor engineered for extensibility...
2 days ago
1

List of Vim forks

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

2 days ago
Here are the Vim forks I know about: Neovim: “a Vim-based text editor engineered for extensibility and usability, to encourage new applications and contributions.” Vim Classic: “a stable, long-term support fork of the ubiquitous text editor, maintained without the assistance of...
Anecdotally, programmers dislike "reduce" In short: from my experience, people like map and filter, but not reduce. I use functions like map...
13th Sep 2026
1

Anecdotally, programmers dislike "reduce"

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

13th Sep 2026
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...
📚 BoredReading

You seem to be enjoying this.

Join free to unlock everything.

Create free account

Already have an account? Sign in