Uses


This page lists the things that I use in my daily life. It is not exhaustive by any means. I only include things that I think are noteworthy. This page also serves as a my personal reference as well, in case I need to redo my setup in the future OR upgrade in the future.

Hardwares

Computers 🖥️

  1. Windows 10 PC

    • CPU: Intel i5-14600K
    • Memory: 128 GB DDR4
    • SSD:
      • 1TB Samsung EVO 870 (Boot drive)
      • 2TB Samsung EVO 970 Plus (Work stuff, WSL2, Docker, etc.)
      • 4TB Samsung EVO 870 (Games and other stuff)

    This PC started off as my gaming PC to unwind after work. In mid 2022, I decided to upgrade it and run Ubuntu in WSL2 on it. My development workflow involves running a lot of Docker containers and running them on Mac wasn't a pleasant experience. I now run Docker on this PC with WSL2 backend, while still mostly writing code on my MacBook via SSH. I wrote about how to go about setting it up in wsl2-as-devbox.

  2. MacBook Pro 2024 - M4 Pro 24GB/1TB

    I finally upgraded from my 2017 MacBook Pro! I got the 24GB eventhough it is less than the previous 32GB MBP. I think this is fine because I am using my Windows PC as the devbox anyway. I got the nano-texture display and it has been an absolute joy to use this machine when I am on-the-go! Harsh lighting conditions are no longer a problem.

Displays 📺

I am using a AORUS FO27Q3 as my primary display. OLED isn't the best for productivity, but I gave into the temptation because I love good blacks when gaming. I have a 21-inch Acer as a secondary. I also have a 27-inch LG which is currently used as a substitute, but I may be replacing the 21-inch Acer with this soon.

I used to use a Dell monitor with USB-C connection and it was great! Though now that I don't use my MacBook that much, I replaced it with a monitor with higher refresh rate.

Software 📋

Terminal

I use iTerm2 on Mac and Windows Terminal on my Windows PC. Both are set up with Oh My Zsh just because it comes with some quality of life improvements out-of-the-box, 2 of my most favorite one being git aliases and not having to type cd everytime 😄.

I don't have a lot of customization in the .zshrc file, here is the addition I have to the default .zshrc:

# Adds docker-compose plugin
# Allows for aliases like: dce, dcup, dcdn, dclf, etc.
plugins=(git docker-compose)

# Some aliases for less keystrokes
alias gpuo="git push -u origin"
alias gpuo="git push -u origin"
alias dclfs="docker-compose logs -f --since 0m"
alias dcrr="docker-compose run --rm"

# Clean up branches excluding the provided args
# e.g.: `gbclean develop` will delete all branches except `master` and `develop`
gbclean() {
  exclude_branches="master"
  if [[ -n $1 ]]; then
    exclude_branches="$exclude_branches|$1"
  fi
  gb | cut -c 3- | grep -vE "$exclude_branches" | xargs git branch -D
}


# Customizing prompt so I know I am currently in an SSH session in my WSL2 instance
# I only do this on my WSL2 instance
PROMPT="%{$fg[grey]%}[%D{%f/%m/%y} %D{%L:%M:%S}] %{$fg[green]%}%n@%{$fg[cyan]%}%m%{$reset_color%} ${PROMPT}"

Code editor

I use Visual Studio Code. Unfortunately I just never got into using Vim 😅

VSCode has excellent SSH and WSL support which makes everything very seamless even when coding from different computers. One day, I might even set up VSCode server so I can code from my iPad.

Some extensions that I install on VSCode:

  1. ESLint
  2. Docker
  3. Prettier
  4. GitHub (yes, the deprecated one)
  5. GitLens
  6. Remote - SSH
  7. :emojisense:
  8. styled-jsx, when I am working on codebase that uses it
  9. Tailwind CSS IntelliSense, also when I am working on codebase that uses it

Web browsers

I use Chrome as my primary web browser. On Mac, I also use Arc, a browser by The Browser Company for web sites/apps that I tend to keep open for a longer time. I tweeted about how I am using Arc a while back.

Some notable web apps

  1. Notion, for note-taking and personal journal.
  2. GitHub, I have a private repo named growth on GitHub where I put technical things that I plan to learn/do for self-improvement.
  3. Cal.com, the scheduling infrastructure that I use on /chat.
  4. omatsuri.app, various handy tools for web development.

Some handy Mac apps

  1. Pandan, I use Pandan to alert me every 20 minutes, after which I will take a short break to avoid me sitting and staring at the computer for too long.
  2. Hand Mirror, a handy app to give myself a quick access to the webcam.
  3. Gifox, my go-to app to record a short GIF.
  4. Cron, a simply better calendar experience (also available on Windows!)