development,

The Tools I use

Apr 17, 2020 10:00 PM

The Tools I use
Share this

This page is for keeping track of the software and hardware I use on a regular basis, as well as instructions for setup and other customizations if reference needed in the future.

PCs and OSs

  • A markdown unordered list which will be replaced with the ToC, excluding the “Contents header” from above

Devices

Asus Zenbook 14 Lenovo Flex 4 Acer Chromebook C740 MacBook Pro 2020 13'
Intel Core i7-8565U Intel Core i7-6500U Intel Celeron 3205U M1
Quad Core Quad Core Dual Core Octo Core
1.5 GHz - 1.6GHz 2.5 GHz - 2.6GHz 1.5 GHz 3.2 GHz
16GB RAM 16GB RAM 4GB RAM 8GB RAM
512GB SSD 512GB SSD 16GB SSD 256GB SSD
Nvidia GeForce MX250 N/A N/A Apple GPU
Windows 10 Pro Windows 10 Home Chrome OS MacOS Big Sur

Nick J’s videos, blogs, and other content on the topic are super useful.

Some settings need to be manually changed for further customization:

  • Turn on developer mode (Windows 10 Pro)
  • Turn on remote desktop (Windows 10 Pro)
  • Sign in for windows insider program (required for Docker desktop to work on Windows Home)
  • Check Virtual Desktop availability
  • Turn on Hypervisor services
  • Turn on Virtualization

Devices

  • Samsung a70
    • I keep my old phone around for testing builds of mobile development projects.
  • Apple iPhone 13 Pro
    • I recently switched to iPhone from Android for the first time in my life. I have opinions.
  • Apple Watch Series 3
  • Kobo Nia

Peripherals and Furnishing

  • Logitech MX Anywhere 2S wireless mouse
    • Seriously great battery life (literally months at full charge)
    • Logitech Flow and Duolink are indispensable once adjusted to
  • Logitech K780 Multi-device wireless keyboard
  • Keyboards
  • Logitech MX Keys Multi-device wireless keyboard
  • Ducky One 2 Mini (Cherry MX Silent Red switches) with HyperX pudding keycaps
    • I recently got into keyboards and this was my first mechanical keyboard since a long time ago, when I had a Razer Blackwidow
  • HHKB Hybrid Type-S
    • This is my most recent purchase (and honestly probably my last) and it definitely the best keyboard I’ve ever used, hands down.
  • Pluggable USB 3.0 Universal Laptop Docking Station
    • Requires Pluggable’s proprietary driver for triple monitor support
  • Seagate 4TB HDD hard drive
  • Samsung T7 2TB SSD hard drive
  • HP 24es dual monitor displays
  • I sit on a Herman Miller chair (graciously gifted by Ryan Li) at my ALEX desk from Ikea, but I prefer to stand and work when I can
  • I retrofitted my IKEA Alex desk tabletop (the one with 2 drawers) with a standing desk frame so I can stand more often.

Software

Setup Script

What I’ll need

  • git (probably already installed)
  • Anaconda (conda in cli)
  • Conda envs
    • use environment.yml files
    • manually install torch, PyG, and DGL
  • zsh (and oh-my-zsh)
    • Themes? (powerlevel9k)
  • tmux
    • tmux plugin manager
    • set up tmux config for proper scrolling and selecting text

WSL (Ubuntu 18.04)

WSL with zShell (with oh-my-zsh installed and vi-mode enabled) used mostly for scripting (tmux and vim) and monitoring of device processes (htop and ncdu) as well as for container management/orchestration with Docker (desktop app only works with Windows Pro otherwise it requires you to use a VM with HyperV or WSL as the backend). My Chromebook also has a Linux subsystem installed for light dev work and SSHing.

Both WSL and cmd can use themes from iTerm2 using the Microsoft colortool app and colorscheme from the iTerm2 repository Further customization with Zsh and ConEmu

To copy the output (or files) from WSL bash to windows clipboard, pipe your command as such:

  • command.txt | clip.exe

I keep track of my linux system packages on Notion:

*nix Systems Packages

Dotfiles

Important dotfiles

Try to manage with git bare repository

  • Example 1, 2, 3

If not, then clone into normal git repo and symlink into root dir (Currently on this setup for .vimrc only) still need to implement git bare strategy on all dotfiles in root dir

Reference Nickj Janetakis’ or Jonathan Gin’s dotfile repos for detailed implementations of dotfiles


Desktop Apps

Apps

Editors

See here for installation.

Currently using JetBrain’s IDE series including PyCharm, Webstorm, IntelliJ, and Android Studio (ordered from most to least used)

IDE Plugins

There are a couple settings I do to customize my IDE a bit:

  • Import settings if there is an existing settings file
  • Enable detection of TODO, XXX, FIXME, and BUG
  • Set stable Vim/Editor shortcuts
  • Symlink my dotfiles so that I can use my .vimrc (kudos to the amix vim configuration) as my .ideavimrc
  • You can open any JetBrains IDE in Administrator mode for admin privilege (otherwise, go to the executable and set it to always run as admin in the compatibility tab.

Terminals

I mainly use Powershell (for SSHing and environment management) unless there is something quick that needs to be done (git stuff, file/folder management). When possible I prefer to use WSL for the linux commands.

Conda Environments

Media

Browser

I use Chrome for all my online activities and web dev work.

Chrome Extensions

Hardware

  • Blue Yeti Microphone
  • Logitech B525 HD Webcam
  • UE Megaboom wireless speaker
  • Sony HT-Z9F Soundbar and Subwoofer with SA-Z9R rear speakers
  • Sennheiser HD600 headphones
  • Sony WH-1000XM4 headphones
  • Sony WF-1000XM4 earbuds
  • Apple Airpod Pro
  • 1MORE Triple Driver Hi-Res In Ear Monitors
  • Casio PX-5S Privia 88-Key Digital Stage Piano
  • Focusrite Scarlett 2i2 Gen 3 audio interface
  • Rode M5 condenser microphones (matched pair)
  • Sony Walkman NW-A45 Digital Analog Converter
    • Compatible with Sony Music Center desktop app only

Software

  • Music Apps
    • iTunes for orchestral/trailer/movie score music
    • Sony Music Center for Hi-Fi Walkman transfers
    • Spotify for everything else
  • Audio Apps
    • Audacity
    • Ableton Live 11 (courtesy of Ramy Zhang)
    • MuseScore 3 (for writing sheet music)
    • Opus to play EastWest virtual instruments