What I Use

April 2, 2022

This post is up-to-date as of May 2022.

Here is a non-exhaustive list of the things I use every day either for fun, writing code, or doing “life things”.

This list won’t encompass: things I use so rarely they’re not worth mentioning. I also intend to write a list focused on how I build the world of Valinde and run and plan D&D sessions at some point in the future so you won’t find any information on those tools here. I also plan to write a few posts exploring thing like my personal Kubernetes infrastructure, and any custom tools I’ve made, so they’re excluded here as well.

Hardware

  • Computer: Dell XPS 13 Laptop (9370) running Ubuntu. This isn’t the perfect machine, but it’s very close. Its 512 GB SSD size is a little too small, and the webcam is below the screen providing incredibly unflattering upwards angles if used, but otherwise the machine is rock solid. I use the XPS 13 for all my coding outside my full-time employment and for general day-to-day use.
  • Computer: My main gaming PC and also the PC I use for socialising is an older Ryzen 5 3600X / RTX 2070 Super build 1. This is hooked up to three screens: two older ASUS VC239H screens (1080p) and an ASUS VG27AQ (1440p / 165hz) which I use as my primary display. The secondary screens are mainly for having a browser or chat open whilst playing games or on a video call, or for having a lot of information open whilst playing Dungeons and Dragons. These are all mounted on monitor arms.
    • Keyboard: TADA 68 2 with Gateron Silent Browns.
    • Webcam: Logitech C920 which is rock solid and does the job. At some point I’d like to upgrade it to a more professional mounted DSLR setup.
    • Headphones: Bose Quiet Comfort 25. I originally bought these from eBay a few years back as a desperation move dreading a long flight to the US. They do a decent job of noise cancellation but the headband and ear cup size can begin to strain after a few hours of use. I use these exclusively at my desk now.
    • Microphone: Blue Yeti Blackout which works best for group recording scenarios or Antlion Audio ModMic 4 which attaches magnetically to my headphones. The ModMic requires a USB to 3.5 mm adapter and is a little finicky (it needs an extra wire!) but seems to have the best audio quality.
    • Mouse: Corsair Scimitar PRO RGB. This is a mouse designed for gaming which has twelve buttons on the side of the mouse. These days I don’t make much use of the keys on the side, given the software for the key-mapping and managing the profiles on the device is frustrating. The mouse itself though is incredibly well-built and is a joy to use.
    • Streaming: Elgato Key Light Air 3. I use this for streaming and running Dungeons and Dragons to attempt to counteract the awful lighting in my upstairs office.
    • Streaming: Elgato Stream Deck. I use this for managing OBS when streaming and for controlling my Elgato Key Light Air. I think this could be useful for running Dungeons and Dragons as well, but I haven’t fully explored it.
  • Noise-Cancelling Headphones: Sony WH-1000XM3. These are incredible headphones, best I’ve ever owned both in terms of noise-cancelling and audio quality. These don’t pair or play nicely with Ubuntu, so I use them primarily with my work MacBook and my phone.
  • Note-Taking: reMarkable 2 is an E Ink device for note-taking. It transforms the way I work as I love the physical part of writing, but hate managing multiple notebooks. I am grandfathered into their cloud sync plan which I do not think is good value and wouldn’t otherwise purchase. I use a Lamy al Star EMR stylus instead of the official reMarkable pen.
  • Reading: I have an 8th Generation Kindle Wi-Fi without backlight which I primarily use for reading long-form books. I’ll pick this up and charge it when there’s something to read, read the book over a few days, and then put this back on the shelf. My two complaints are: there are no physical buttons (I loved my Kindle Keyboard) and that it is the only device I regularly use that needs a USB B Micro cable for charging instead of USB-C.

Software

  • Web: Notion for storing long term notes and information. I treat this like my own personal knowledge base.
  • Web: Gifster for managing my wish list and buying gifts for friends.
  • Web: Feedbin for subscribing to blogs and managing my RSS feeds.
  • Web: Board Game Geek for managing my board game collection.
  • Web: iCheckMovies for tracking the films I’ve seen.
  • Web/Android/Chrome/Firefox: bitwarden for storing, remembering, and managing all my passwords.
  • Web/Android: Fastmail for hosting my email.
  • Web/Android: Google Drive for file storage, Google Calendar for sharing calendar invites, and Google Docs/Sheets/Slides for documents.
  • Web/Android: League of Comics for tracking my comic collection.
  • Android: Pocket Casts for subscribing and listening to podcasts.
  • Android: Relay for reddit for browsing Reddit.
  • Android: BG Stats for storing my Board Game plays and syncing them to Board Game Geek.
  • Android: Readably 4 for syncing and reading feeds from Feedbin.
  • Android: Primus for selecting a first player for board games.
  • Android: FitNotes for tracking my gym progress.
  • PC: Backblaze for storing backups of important files
  • PC: inSync a replacement for Google’s terrible Google Drive client.
  • PC: OBS for managing streams and video capture.
  • PC: Backblaze for backing up my PC.

Coding Tools

  • Version Control System Tool: I use git, to version all my projects. I mainly use the git command line tool for simple and mundane tasks and fall back to GitKraken 5 for visualising changes, more complicated rebases, or composing longer commit messages. All my projects are stored on GitHub.
  • Editor: I use Visual Studio Code for editing across all of my projects. It “just works”.
  • Terminal: Starship is my “prompt” of choice. It provides contextual information like my current Kubernetes context, Git status, Node.js version, and AWS cluster.
  • Terminal: Scotty lets me jump to any directory based on fuzzy matching.
  • Terminal: nvm helps me manage Node.js versions across projects.
  • Terminal: ngrok allows me to develop applications locally that need to be connected to via the internet.
  • Small Command Line Utilities:
    • ambr / ambs for searching and replacing for text in files. You can read more about using them here.
    • bat, a replacement for cat.
    • exa, a replacement for ls.
    • rg, a replacement for grep.
    • tokei for basic code statistics.
    • dutree for viewing file system usage.
  • Insomnia for testing and storing web requests.
  • DB Browser for SQlite as a GUI for managing SQLite databases
  • Robo 3T for managing local MongoDB databases

Hosting

  • Gandi.net is my domain registrar of choice. I could spend less money on domain names, but they provide a quality and reliable service.
  • Cloudflare manages all of my DNS.
  • AWS is used for S3 and the odd Lambda 6. My AWS setup isn’t the most straightforward and clear, and would benefit from being revisited and managed declaratively.
  • MongoDB Atlas manages the MongoDB databases for Jonathan’s Movies.
  • upstash manages the Redis server for Jonathan’s Movies.
  • Digital Ocean manages my Kubernetes cluster, which hosts the vast majority of my applications.
  • Netlify hosts the vast majority of my static sites, including this blog.

  1. This post explains how I unwound performance problems with this PC after building it ↩︎

  2. This post runs through how I debugged an issue with the TADA68 ISO layout ↩︎

  3. This post explains how I had to work around my Wi-Fi to pair the Elgato Key Light Air ↩︎

  4. No longer listed on play.google.com. ↩︎

  5. I have also historically used SmartGit which operates much more effectively with large repositories. ↩︎

  6. I don’t really have any workloads that benefit from lambdas but I used to use them for scheduled tasks. My default for this is now to use a Kubernetes CronJob. ↩︎

Last Updated: 2022-05-09 08:11