F
Feed Atlas
OPML directory + server-side RSS reader

evanhahn.com

SiteRSSBlogs
Back

Latest posts

  • png-cmp: like cmp for PNGs
    May 03, 2026

    png-cmp is a program I built that checks if two PNGs are visually equivalent. It’s inspired by the cmp command. Here’s how you use it: png-cmp a.png b.png Like cmp, it silently exits if the images are identical, and gives an error if they’re different. Unlike cmp, it checks pixel data, not binary data. PNGs can look the same but be stored differently. For example, png-cmp ignores text metadata.

  • Offline command line translation with TranslateGemma + Ollama
    May 01, 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 translation Ollama, a tool for running language models locally Efficient Language Detector, a library that detects the language for a

  • Notes from April 2026
    Apr 30, 2026

    After a busy March, April was a little quieter. But don’t worry, I still have a bunch of little links for you to click on. Things I published GitHub’s uptime hasn’t been great recently. Even though I dislike the Microsoft subsidiary, I wrote “In defense of GitHub’s poor uptime”, which argues that it’s not as bad as folks seems to be saying. See this Lobsters thread for some discussion. Published v

  • In defense of GitHub's poor uptime
    Apr 10, 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 week. GitHub is not meeting that, and it’s frustrating. Even though they’re owned by Microsoft’s, one of the richest com

  • Notes from March 2026
    Mar 31, 2026

    March always seems to be my life’s busiest month. Things I wrote and made “The two kinds of error”: in my mind, software errors are divided into two categories: expected and unexpected errors. I finally wrote up this idea I’ve had for a long time. “All tests pass” is a short story about a strange, and sorta sad, experience I had with a coding agent. Inspired by others, I published a disclaimer abo

  • All tests pass: a short story
    Mar 22, 2026

    One night, I wrote a simple tool to pick a random programming language. After shuffling a few times, I landed on Arturo. I decided to try it for fun. What’s Arturo? Best I understand, Arturo is a stack-based programming language. It’s primarily maintained by Yanis Zafirópulos. They published a vision of the language in 2020. Here’s the stated goal from that post: to make something that I myself wi

  • Little web app to pick a random programming language
    Mar 22, 2026

    I wrote a web app to choose a random programming language. It’s very simple; I hestitate to even call it an “app”! The interesting part was scraping all the languages on Rosetta Code, and even that wasn’t very interesting. But I hope you like it! I learned about a language called Arturo this way, and wrote a short story about that experience.

  • human.json
    Mar 14, 2026

    To quote the human.json Protocol: human.json is a protocol for humans to assert authorship of their site content and vouch for the humanity of others. It uses URL ownership as identity, and trust propagates through a crawlable web of vouches between sites. I think this is a neat idea, so I added it to my site. It’s available at evanhahn.com/human.json. For more, see the human.json documentation. A

  • How I use generative AI on this blog
    Mar 12, 2026

    Inspired by others, I’m publishing how I use generative AI to write this little blog. General feelings on generative AI Generative AI, like any technology, has tradeoffs. I think the cons far outweigh the pros. In other words, the world would be better off without generative AI. Despite this belief, I use it. I’m effectively forced at work, but I also use LLMs to help write this personal blog. I t

  • Introducing llm-eliza
    Mar 08, 2026

    LLM is a popular CLI tool for talking with language models. I built llm-eliza, a plugin to chat with the ELIZA language model. Usage: llm install llm-eliza llm -m eliza "I'm worried about computers." # => What do you think machines have to do with your problem? ELIZA, released in 1966, is a state-of-the-art language model. It offers zero-GPU inference with sub-millisecond semantic throughput, an