Top posts
Every blog post that took off on Hacker News, ranked by the votes of its best submission. 4,415 posts.
Using a mild Twitter addiction to get things done
Modern mobile devices contain a myriad of distractions and addictive platforms. My vices are Twitter and TikTok.
Self-contained Python scripts with uv
You can add uv into the shebang line for a Python script to make it a self-contained executable.
I prefer rST to Markdown
I will never stop dying on this hill
How I block all online ads
A couple of years ago, I decided I'd had enough of ads. Not just the occasional banner or a quick pre-roll video — I mean all of them. They have to go.
Removing Home Internet Is the Most Productive Thing I've Done
Earlier this year I made the conscious decision to remove all Internet service from my home...
A Good Vimrc
There are tons of tutorials such as this one on the internet that contain all kinds of awesome hacks to make your Vim better, but the absolute worst way to make your environment better is to just copy it wholesale from others.
All my favorite tracing tools
Ever wanted more different ways to understand what’s going on in a program? Here I catalogue a huge variety of tracing methods you can use for varying types of problems. Tracing has been such a long-standing interest (and job) of mine that some of these will novel and interesting to anyone who reads this. I’ll…
Formatting code should be unnecessary
and we knew this back in the 80s
Monitoring energy usage with smart plugs, Prometheus and Grafana
My obsession with measuring the power consumption of my devices reached a whole new level.
Useful patterns for building HTML tools
I’ve started using the term HTML tools to refer to HTML applications that I’ve been building which combine HTML, JavaScript, and CSS in a single file and use them to …
Why GNU Emacs?
I don’t usually try to explain tools that I use to other people, unless they made an explicit request as to how they could improve their workflow. However, since today is “I love Free Software” Day I think I should seize this opportunity and explain what draws me to GNU Emacs and how I use it.
Shell Productivity Tips and Tricks
An introduction to shell productivity features: autocompletion, keyboard shortcuts, history navigation and shell expansions.
AI coding at home without going broke
There are three ways to do AI coding at home without spending like a company, and which one fits depends mostly on how much you trust the next year of hardwa...
Migrating from Google Analytics
In this post we'll explore what happened when I migrated away from Google Analytics (GA) to a self-hosted solution. The tool that I migrated to is an open-source platform called Countly . It offers a subset of features from what GA offers.
Automatic supercuts on the command line with Videogrep
I’ve been working on some long-needed updates to Videogrep , my command-line tool that automatically generates supercuts. These updates were motivated in part by a 10 week class I recently developed and taught at the School for Poetic Computation called Scrapism (web-scraping-as-art). The class includes a section on…
Videogrep: Automatic Supercuts with Python
Videogrep is a python script that searches through dialog in videos and then cuts together a new video based on what it finds. Basically, it’s a command-line “supercut” generator. The code is here on github .
Making a font
This month I decided to learn how to make a font to use in my comic hakum . Previously, I was drawing the text digitally with my pen tablet. The result was fine, but sometimes difficult to read(the text would grow and shrink often in one page). I didn't want to use an existing font, so I decided to make one based on…
Names should be cute, not descriptive
A long-standing debate between me and a peer at work has been how we should name services. His position was always that services should be named something descriptive, so that you can infer from the name what it does. My position is that the name should definitely not be descriptive, but should be something cute and…
Switching from Pyenv to Uv
Premise The 0.4.0 release of uv does everything I currently do with pip, pyenv, pipx, pip-tools, and pipdeptree. Because of that, I'm in the process of switching to uv. This blog post covers switching
Making Firefox's right-click not suck with about:config
A practical about:config checklist to declutter Firefox right-click menus on macOS, disabling AI/chatbot prompts, link previews, OCR, visual search, and other low-value context menu items.
Git In Two Minutes (updated after 8 years)
A minimal guide to everyday Git for solo developers: initialize a repo, add files, commit changes, view history, and restore earlier versions.
Ultrasonic investigations in shopping centres
Many public address systems emit a continuous near-ultrasonic sound that is used for system health monitoring.
Netcat – All you need to know
Introduction Netcat is a tool that reads and writes data across network connections, using TCP or UDP protocol. Netcat has been referred to as the TCP/IP / networking swiss army knife. In this article we’ll look at different applications of netcat and how it can be useful in day to day activities of a pentester…
Leaving Neovim for Zed
A journey through text editors and how I landed on Zed after years of Neovim
Building a Hackintosh Pro
If Apple built a compact, upgradeable tower that could house one or two full-size GPUs, I'd have bought it without hesitation. Sadly, that machine doesn't exist. There's no doubt that Apple has a refresh for the desktop market in the works. I just don't know