Evan Hahn built ZIP Shrinker, a browser tool that reduces ZIP file sizes by re-compressing entries with higher compression (via libdeflate), removing metadata, and deleting directory entries. The tool also supports APK, EPUB, and JAR formats. Tests showed savings of 5-30% on files like the Linux source code and an Android APK.
evanhahn-com
15 items from evanhahn-com
Evan Hahn has published "Open Link in Unloaded Tab," a Firefox extension that adds an option to the right-click context menu to open links in new tabs that are initially unloaded, saving system resources. It is the developer's first extension submitted to the Firefox Add-ons directory.
png-cmp is a command-line tool that checks whether two PNG files are visually equivalent by comparing pixel data rather than binary data, ignoring differences like text metadata. It behaves like the standard cmp command—exiting silently if images match and returning an error if they differ.
A developer created a command-line translation tool that works completely offline. It combines TranslateGemma, Ollama, and an Efficient Language Detector to automatically detect the input language and translate text into the system's language. The tool is written in Deno and prioritizes privacy by running locally.
Monthly notes from Evan Hahn covering April 2026, including blog posts defending GitHub's uptime, a new version of his setbigtimeout library, April Fool's posts on Zelda Dungeon, and a collection of links about AI skepticism, driverless cars, Palantir employee concerns, and other topics.
The gzip file format contains metadata including the operating system used for compression, modification time, original filename, and other fields. A new tool called gzpeek allows users to inspect this metadata from gzip streams, revealing information that many implementations handle differently.
In February 2026, Evan Hahn shipped his first feature at Ghost called Inbox Links and built tools including gzpeek to inspect gzip metadata. He also created a calendar feed for video game anniversaries and shared various online links about technology, AI, and privacy concerns.
The article categorizes software errors into two types: expected errors that occur during normal operation and should be handled gracefully, and unexpected errors that indicate bugs and should cause crashes. Expected errors include user input validation and network failures, while unexpected errors involve logic flaws and invalid assumptions.
Evan Hahn has created llm-eliza, a plugin for the LLM CLI tool that enables chatting with the ELIZA language model. The plugin allows users to install it and interact with ELIZA, which was originally released in 1966 as an early language model.
The author uses generative AI on their blog despite believing the technology's cons outweigh its pros. They employ AI as a thesaurus and for brainstorming, with the rule that the final product must match what they would have written without AI. The author aims to critique AI from a user's perspective to influence AI enthusiasts.
human.json
2.0The human.json protocol allows humans to assert authorship of their site content and vouch for others' humanity using URL ownership as identity. The author implemented this protocol on their website, making it available at evanhahn.com/human.json.
A developer created a simple web application that randomly selects programming languages from Rosetta Code's comprehensive list. The tool helps users discover languages they might not have encountered otherwise, as the creator did with Arturo.
The author experimented with the Arturo programming language after randomly selecting it. They attempted to write a Deflate compression implementation in Arturo using AI assistance, but the AI produced a wrapper around Python instead of a pure Arturo solution. The project was ultimately abandoned, though the tests passed.
In March 2026, Evan Hahn published several blog posts including "The two kinds of error" and a disclaimer about AI use, built the llm-eliza command-line tool, and added human.json to his site. He contributed to work projects, wrote articles for Zelda Dungeon, and fixed a bug in fzf. Hahn also shared various AI-related and non-AI links he read during the month.
GitHub's reported 89.43% uptime over 90 days appears poor, but the aggregate number can be misleading because it combines downtime across multiple services. Individual services like core Git operations show better performance at 98.98% uptime, though still below industry standards.