Click to visit a random link
Essential developer tools
These are the tools I use most frequently. Some of them are modern replacements for classic tools (ripgrep replaces grep, fd replaces find, etc..) and some are just essential.
micro
A terminal editor that works like you would hope it works. Ctrl+S for save, Ctrl+C/V for copy/paste, Ctrl+Q for quit. Home and End work. Even mouse support.
ripgrep
Like grep but with easier defaults. Ripgrep by default searches the directory you are in recursively.
ripgrep-all
Wraps ripgrep and allows you to search tar.gz and other interesting formats
fd
Like find but with easier defaults. By default searches your current directory recursively. You can also add an .fdignore file to make it ignore certain directories.
sd
Like sed but easier to use.
bat
Like cat but it highlights and formats and many other things
mkcert
Create a local CA for your dev environment. The CA is installed in all your browsers and your OS-level trust store, which means you can make certs that are not treated as self-signed.
starship
Smart prompt. Single config applies to any supported shell.
navi
TUI cheatsheet. Write custom files full of commands and then get a nice TUI interface to select them. Powered by
fzf.
Demo Magic
Great tool for driving terminal-focused demos. Never type live or hide complex commands in scripts again!
croc
Simple CLI to send files to another machine on the same network. Exactly as easy as it should be.
Colima
Convenience CLI on top of the Lima project. Lima makes lightweight VMs on macOS via Hypervisor.Framework. Colima streamlines the workflow and allows the easy installation of Docker on the VM.
K8s essentials
ketall
Actually "get all" from kubectl, instead of the pretend "get all" it does now.
k9s
Great TUI for looking at a K8s cluster
k3sup
Easiest way to start up a k8s cluster on bare metal or a VM. Does not run k8s in a container
kubecm
Great tool to merge and manage multiple kubeconfig files
k3d
Deploys multi-node k3s clusters via Docker
K8s controllers
MetalLB
Load balancer for K8s on bare metal
SeaweedFS
Distributed file system that provides S3 API, a user interface for POSIX-style file management, and a CSI driver to create read-write-many volumes. It has a stated goal of being easier to use than other offerings and it shows. It is incredibly easy to use.
K8s sites and articles
Popular "what happens when you click..." exercise but for Kubernetes
Common K8s mistakes. Really good article
Language Tools
Tools focused on specific languages or perhaps just coding in general
Language Server Protocol
Decouples the language support from the editor. Prevents only certain editors from being the best at a particular language and instead allows editors to focus on text editing features.
rust-analyzer
Rust had one of the first language servers, rls. rust-analyzer is the gen2 version of rls and does not rely on code compilation to learn about your code.
gopls
Go also has a language server. Its functionality replaces the collection of CLI tools that the VS Code extension relies on by default. Despite being in alpha the docs say "gopls is recommended for projects that use Go modules."
PyOxidizer
Turn your Python project into a single executable. Can be a static executable if you want to link against musl. PyOxidizer itself is a Rust project.
Deno
TypeScript runtime in a single executable. Can create single executables out of your TypeScript, like PyOxidizer above. Simplify distribution whether to end users or servers.
Zig
Some say its the actual new C, instead of Rust. Zig is self-described as "better at using C libraries than C is at using C libraries." Simple language with build tools and cross-compilation included. Zig has a language server that follows the LSP as discussed a few posts above.
Cloud
awless
Golang AWS CLI. Much cleaner and easier to use than the standard aws CLI.
Investing
My personal preference is to invest in Closed End Funds (CEFs) for a variety of reasons. This section doesn't have to be limited to CEFs though.
Return of Capital Demystified
Good PDF from Eaton Vance on the difference between constructive and destructive RoC.
Auth
The Complete Guide to Protecting Your APIs with OAuth2
Great explanation of OAuth2 vs OIDC
Beer drinkers guide to SAML. Really easy to read introduction to SAML
Frontend
Very interesting article about building advanced static sites
HTMX
Embed the most common Javascript patterns into simple HTML tags. Looks like the easiest way to get a simple Web 2.0 site up and running.
Networking
Good articles for developers to understand networking concepts
Deep but approachable tutorial on DNS
Backend
How to Use Exceptions Correctly
Very in-depth comparison of RabbitMQ and Kafka
Great explanation of how C and C++ linkers work
Deep and in-depth explanation of the distributed log from the creator of Kafka
What is the C standard library anyway?
Guide to Linux IPC. Also explains a lot about fork and exec and how processes work in general
Great explanation of Python modules and packages
Good blog post about how distributed transactions work
Explanation of Cloud Native Buildpacks (CNB) and Paketo Buildpacks
dive
Good tool for exploring the contents of an OCI image
DataDog guide to Golang performance profiling
Borg, Omega, and Kubernets
A whitepaper from Google describing all they've learned about managing containers over the last decade. It's very informative.
HN threads about stacks
Self-hosting
HN thread about self-hosting in 2022
cloudflared
Tool from Cloudflare to pipe traffic from their servers to your servers via an already open connection. Prevents you from having to open your firewall
macOS
Pacifist by Charlessoft
Very helpful explorer for .pkg files on macOS. Runs natively on Apple Silicon
Software
What happens when you type 'ls' and hit Enter, from the creators of the Warp terminal emulator
Python MIDI library that I enjoyed using
Incredible UEFI booting explanation
One of the top 5 programming blogs of all time
Github repos with more than 5000 stars
Popular thread on HN about personal blogs. Good stuff in here
govc
The actual vSphere CLI. The other ones are outdated or deprecated. This one is written in Go and based on a separate Golang library called govmomi. govmomi is a dependency for large projects like K8s and Terraform.
Interesting blog post and good HN commentary about bootstrapping every tool in a Linux system.
Health
Pretty interesting stuff on how your muscles/body move and work
Guide to men's underwear, which has dedicated pouches for support
Music
MusicTheorySite
The most straightforward music theory site I've found. It's short and gives you everything you need.
Life in general
Succint explanation of the relationship between Chinese written language and Chinese spoken language
4-part series about how work is performance theater
Convincing explanation for why writing is key to learning
The harsh truth about fear is that it's a cop out. You're probably just lazy.
Fellow I found on lobste.rs that has some interesting philosophies
Cryptocurrency
Web3 CLI
Simple and lightweight CLI for interacting with Ethereum-compatible blockchains. Includes lightweight wallet functionality.
OpenEthereum
Super clean and well documented Ethereum client written in Rust. Emits Prometheus metrics.
geth
The original Ethereum client, written in Golang. Emits custom metric format.