Today I Learned
This is a collection of small things I’ve learned while working on various projects. These notes are primarily for my own reference, but maybe they’ll be helpful to others too.
All Entries
How to implement terminal raw mode in Go for capturing keystrokes without waiting for Enter
Creating a basic Language Server Protocol implementation in Go that provides emoji autocompletion
Setting up automatic PDF preview for Markdown files using Knap plugin in Neovim
How I diagnosed and fixed slow zsh startup times using zprof and lazy loading
- 2025-03-16 ZSH Completion for Custom Functions
Adding file completion to custom shell functions in ZSH
- 2025-03-15 MIME Sniffing
How browsers and servers detect file types by examining binary patterns
- 2025-03-15 Dokploy: A Simple Docker Deployment Solution
The deployment solution that I wasn't looking for
- 2025-03-14 0x0.st: A Simple File Hosting Service
A quick and easy way to host files using 0x0.st, and why I built my own alternative.
- 2025-03-14 Using comm as an Alternative to diff
A look at how `comm` can be used to compare files, and how it differs from `diff`
- 2025-03-13 Mailpit: A Simple SMTP Mock Server
How to easily mock an SMTP server with Mailpit for development environments
- 2025-03-13 Swayidle Lockscreen
How to setup swayidle and swaylock for automatic screen locking and power management in Sway
- 2025-03-13 Hugo Learnings: Layouts and Templates
My notes on Hugo template structure and how it actually works