Recommendations
A loosely organized list of things I love and go out of my way to recommend.
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.
- nix: A cross-platform package manager. All my devtools are installed and managed by Nix. It's phenomenally well designed.
- 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.
Vim
- conform.nvim: General purpose formatter supporting everything you didn't know you had to have.
- markdown-preview.nvim: A very good markdown previewer with scroll sync and tons of rendering features.
- neovim: IMO vim is getting left behind in favor of Neovim. They're leading the charge for new editor features.
- 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.
- vim-surround: Manage delimiters like a pro.
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.
- Stylus: A tool for injecting custom CSS. I use this to hide annoying UI elements and apply custom dark themes.
- Vimium: Vim keybindings for navigating the web. It works surprisingly well.
- uBlock Origin: Most of you already know this ad blocker. I didn't for a while. It's pretty great.
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.
- 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.
Books
- 1984 (George Orwell): A dystopian novel describing in shocking detail how massive countries could censor, oppress, and indefinitely subdue citizens through technology and propaganda.
- Avogadro Corp (William Hertling): This novel pitches a precise and believable scenario of how an AI could run out of control. It's a startling difference from your typical Terminator narrative, and deeply unsettling.
- Designing Data-Intensive Applications (Martin Kleppmann): A high-level tour of tools and approaches for system design.
- Divided by Infinity (Robert Wilson): A short story that may briefly make you question your own reality.
- Permutation City (Greg Egan): This book helped me grapple with the meaning of life under nihilism and explores some fascinating aspects of transhumanism.
- Sapiens (Yuval Harari): A history of humankind, from the agricultural revolution to the current day.
- The Code Book (Simon Singh): Follows the practice of cryptography from ancient Egypt to beyond the present day.
- The Phoenix Project (Gene Kim): A fiction book describing a dumpster fire of a software megaproject, how it got there, and how a team slowly turned it into a success. It gave me perspective and empathy for managers, along with ideas for improving my own work.
TV Shows
Movies
- Fight Club
- 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.