Recommendations
A loosely organized list of things I love and go out of my way to recommend.
Nix
- nix: Cross-platform package manager with one of the largest and up-to-date registries in the world. By design, it supports project-local development environments with pinned dependencies.
- nixos: Declarative Linux distro built on Nix. It's like Docker on steriods. Instead of pinning development shells, pin everything from your linux kernel to your terminal emulator. Bricked your boot process? Just roll back to the last working version.
- home-manager: User configuration layer built on the NixOS module system. Makes your configs portable and identical across Linux distros, macOS, and WSL.
- nix-darwin: Manages the macOS host as though it's a NixOS system. (You'd still use Home Manager for everything cross-platform.)
- colmena: Remote deployment tool built for NixOS. Ideal for managing pet servers such as home labs.
- nix-direnv: Integrates with
direnv
to automatically load development environments when youcd
into a project. - noogle: Search engine for the Nix language. Particularly useful for discovering
lib
functions.
Terminal Tools
- bottom: Quite possibly the greatest system monitor ever written.
- delta: The fanciest git diff viewer you'll ever find.
- doggo: An alternative to
dig
that's so good, you'll want to use it. - fd: A
find
replacement with a great command line interface. It's significantly faster and easier to use. - glow: A markdown renderer built for the terminal. This makes documentation much more comfortable to absorb.
- nushell: An incredibly powerful shell with structured data and an even stronger commitment to pipeline processing.
- rage: A small and simple encryption tool that works on public keys.
- ripgrep: A
grep
/ag
replacement, and wicked fast, too. - skim or fzf: Fuzzy finders. Fantastic for finding files, searching notes, or sorting through massive troves of unstructured text.
- spotify-player: An ncurses-style Spotify client.
- tmux: You know what this is. I'm still going to recommend it.
- viu: Renders images in the terminal using colored ascii art. Especially handy when working over SSH.
- wezterm: An insanely powerful cross-platform terminal emulator configurable (and scriptable!) by config file.
- zoxide: Quick navigation around your file system. Phenomenal for jumping between projects without remembering the exact path.
Neovim
- avante.nvim: LLM integration for code generation and refactoring.
- codecompanion.nvim: Chat interface supporting multiple LLM backends and tool use.
- conform.nvim: General purpose formatter supporting everything you didn't know you had to have.
- gitlinker.nvim: Share web permalinks to files and lines of code.
- gitsigns.nvim: Deep git integration with hunk and blame support. Better than fugitive for most tasks.
- markdown-preview.nvim: A very good markdown previewer with scroll sync and tons of rendering features.
- nvim-treesitter-textobjects: Structural navigation and editing based on TreeSitter symbols.
- telescope.nvim: General purpose command palette. Extensible, but powerful out of the box.
- treesj: A convenient way of splitting things from one line into multiple statements (or reversing it).
- undotree: I've never found vim's 2D edit history easy to navigate. This plugin provides a nicer graphical interface.
Web Development
- Fontsource: Import and manage fonts as normal npm packages. Carries advantages over doing it manually or loading from a CDN.
- Gatsby: React framework that adds invaluable compile-time tooling without complete lock-in.
- React Icons: Collection of popular icon libraries available as React SVG components.
- Vanilla Extract: Use TypeScript to define your CSS and compile it all away. Add LSP features for your style and you won't go back.
Browser Extensions
- Bitwarden: Not technically just a browser extension. This password manager is open source, self-hostable, and has official clients for about every platform, including command line.
- Vimium: Vim keybindings for navigating the web. It works surprisingly well.
- uBlock Origin: Best-in-class ad blocker.
Android Apps
All references are open source and available on F-Droid.
- Aegis: Hands-down the best 2FA app of the 12 realms.
- AntennaPod: A beautiful and feature-filled podcast client.
- Infinity: An ad-free reddit client.
- NewPipe: YouTube client with download capabilities and a snazzy ad-free interface. And it supports PeerTube!
- Olauncher: A minimal launcher with heavy emphasis on search.
- VoucherVault: The slickest loyalty card manager on the open-source market.
Servers
- Nomad: A modern replacement for Kubernetes, and easier to manage, too.
- OPNsense: Turns your computer into a cutting-edge router, including treasures like DDNS and ad blocking.
- Pi-Hole: Use a Raspberry Pi as a network wide ad blocking DNS proxy (without committing to OPNsense).
- Syncthing: An peer-to-peer encrypted Dropbox alternative with support for most platforms.
Websites
- AST Explorer: Interactively explore and transform ASTs for various languages.
- Learn Vimscript the Hard Way: If you're serious about vim, take some time to learn Vimscript. It's worth it.
- Learn X in Y Minutes: A set of comment annotated programming language references. Very useful for jumping into a new language, or remembering how to use an old one.
- Penpot: An open source Sketch/Figma competitor.
- Squoosh: An image compression tool right in your browser.
- TLS, Byte by Byte: Walk through a TLS connection with every byte annotated and explained.
Engineering Presentations
- Bret Victor: Inventing on Principle
- Jack Rusher: Stop Writing Dead Programs
- Pat Helland: Immutability Changes Everything
- Philip Wadler: Propositions as Types
- Rich Hickey: Deconstructing the Database
- Rich Hickey: Simple Made Easy
- Sandi Metz: Rules
Standards
- ActivityPub: An open and interoperable protocol for adding social features in your app.
- Keep a Changelog: A sensible format for organizing and maintaining changelogs.
- Markdown Architectural Decision Records: Lightweight methods for organizing and collaborating on architecture decisions.
Services
- Cloudflare Pages: Immutable, static site hosting integrated with serverless functions.
- Mend Renovate: A solid competitor to Dependabot that supports auto-merging PRs when tests pass.
Papers
- Dining Cryptographers Problem: A thought experiment describing anonymous communication.
- Kademlia: A clever routing algorithm for volatile P2P networks traversable in
O(log n)
time. - Paxos Made Simple: A true classic. This paper describes distributed consensus with attractive CAP tradeoffs.
Blog Posts
- Data Laced with History: Building CRDTs over causal trees.
- Lambda Calculus in TS: Abusing the TypeScript type system to solve LC expressions at compile time.
- Merklizing the key/value store for fun and profit: Optimizing Merkle trees using content probabilities.
- Okay, Color Spaces: Brief tour of color spaces and why they're all confusing.
- Visualizing Elliptic Curve Cryptography: A tour of the math behind EC25519.
- Wolfram's Physics Project: How the universe would work if it were designed by a computer scientist.
- cpu.land: Explores how CPUs, processes, and kernels actually function at a low level.
Podcasts
- Darknet Diaries
This guy interviews hackers, both ethical and unethical. The format is pretty structured and the stories are always captivating. - Hardcore History (Dan Carlin)
Apparently everyone knew about this podcast except me. Dan Carlin gives incredible renditions of history topics. As someone equally ignorant about history as philosophy, this podcast was a gold mine. - Philosophize This!
Before coming to this podcast, I had no real exposure to the field of philosophy. The podcast proved a fantastic gateway drug, and its broad overviews gave me enough context to navigate the reading landscape on my own.
Fiction Books
- 17776 (Jon Bois): Existentialist piece on sentient space probes watching immortal humans play absurdly evolved forms of football.
- 1984 (George Orwell): Classic dystopian novel describing sustainable totalitarianism. It slides to non-fiction with every passing day.
- Avogadro Corp (William Hertling): Play-by-play of an AI gone out of control. It's more "paperclip maximizer" than "Skynet" told from the perspective of the programmer.
- Blindsight (Peter Watts): First contact story twisting the idea of consciousness. Just as alien as Solaris but more believable in an unsettling way.
- Diaspora (Greg Egan): The most densely packed sci-fi book in existence. Egan often explores the nature of reality and consciousness. This book dials it to 11 and just keeps going.
- Divided by Infinity (Robert Wilson): Mind-bending short story mixing the Mandela Effect with Quantum Immortality. Read it before it becomes... unlikely...
- Permutation City (Greg Egan): Turned me into a Greg Egan zealot. Explores existentialism, solipsism, and the nature of consciousness while stomping on your brain in the process.
- The Phoenix Project (Gene Kim): Author of the DevOps Handbook describes a fictionalized failing software megaproject, how it got there, and how a team slowly turned it into a success.
Non-Fiction Books
- Anything You Want (Derek Sivers): Short and to the point. Presents an unusual approach to running a business.
- Designing Data-Intensive Applications (Martin Kleppmann): A high-level tour of tools and approaches for system design.
- Sapiens (Yuval Harari): History of humankind, from the agricultural revolution to the current day.
- The Code Book (Simon Singh): Follows the practice and evolution of cryptography from ancient Egypt all the way to the speculative future.
TV Shows
Movies
- Fight Club
- Kung Fury
- Memento
- Predestination
- Requiem for a Dream
- Tenet
- The Departed
- The Thing
- They Live
- Upgrade
If you like this idea, make your own recommendations repo and add the my-recommendations
topic.