DEV Community

Tom Harada
Tom Harada

Posted on • Edited on

Hardware, Software, Learning Sources

Hardware

Keyboard

  • Kinesis Advantage2, Microsoft Natural Keyboard 4000 Nulea Ergonomic Wired Keyboard + remove keys from numpad and attach macOS Magic Trackpad with velcro strips

Monitor

Computer

  • High-powered Linux workstation MBP (M* chips make such a difference) + Cloud/EC2 desktop

Headphones

  • Bose QC or QC Ultra (though you can replace the headphone linings if they wear out without replacing the whole headphones; also I don't use the noise-cancelling (that way no need to charge, just connect with a cord). This is important from a microphone standpoint since the microphone on these headphones is pretty bad. But an external mic works well (fyi different external mics fit different Bose models).
  • Apple Wired Headphones (I just lost too many AirPods Pro in the laundry and these work fine, good microphone, able to switch between phone and laptop, etc).

Other hardware that I ended up just not using regularly

  • iPad Pro with Pencil (for Procreate mostly)
  • Occulus Quest 2
  • Apple Watch

Desktop Software

macOS

  • defaults
defaults write com.microsoft.VSCode ApplePressAndHoldEnabled -bool false
defaults write -g ApplePressAndHoldEnabled -bool false
defaults write NSGlobalDomain ApplePressAndHoldEnabled -bool false
Enter fullscreen mode Exit fullscreen mode
  • System Preferences
    • Keyboard
    • map Caps Lock -> Control
    • set key repeat to fastest and delay shortest

Firefox

  • about:config -> browser.sessionstore.resume_from_crash = false
  • Add-ons
# Insert your preferred key mappings here.
map <c-d> scrollPageDown
map <c-u> scrollPageUp
Enter fullscreen mode Exit fullscreen mode

Chrome

  • Same tampermonkey scripts
  • ARIA Devtools

Node

Design software

  • Figma
  • Blender (shortcuts to not use numkey and track pad), Inkscape, Krita (simpler the better until you need extra features), After Effects, Illustrator, Photoshop, Premiere Pro

Work productivity software

  • Communication: Slack, Chime, Outlook
  • Notes and todos: Things (also things-patcher)
  • Writing (the secret to effective meetings and use of time and thinking better): Quip
  • Scripts: use expect scripts and the macOS Keychain app to automate VPN and access token initialization daily on laptop and cloud desktops.
  • LLMs: Claude 3.5 v2 (Anthropic) for work (including code collaboration); GPT o3-mini and Perplexity for personal questions (Deep Research increasingly).

VS Code

Terminal

  • .zshrc

  • .config/nvim/init.vim

inoremap fd <Esc>
vnoremap fd <Esc>
"set timeoutlen=200
nnoremap ; :
nnoremap : ;
vnoremap ; :
vnoremap : ;
set splitbelow
set splitright
noremap <C-h> <C-w>h
noremap <C-j> <C-w>j
noremap <C-k> <C-w>k
noremap <C-l> <C-w>l

tnoremap <C-h> <C-\><C-n><C-w>h
tnoremap <C-j> <C-\><C-n><C-w>j
tnoremap <C-k> <C-\><C-n><C-w>k
tnoremap <C-l> <C-\><C-n><C-w>l

" Function to insert matching pairs and avoid adding a third character if there are already two
function! s:AutoClosePair(open, close)
    " Get the current line and column
    let l:col = col('.')
    let l:line = getline('.')

    " Define a range around the cursor to check for existing characters
    let l:range_start = max([l:col - 3, 0])
    let l:range_end = min([l:col + 2, strlen(l:line)])

    " Get the substring around the cursor
    let l:context = l:line[l:range_start:l:range_end]

    " If the context contains the closing character, do nothing
    if l:context =~ a:close
        return a:open
    else
        " Otherwise, insert the pair and move the cursor back
        return a:open . a:close . "\<Left>"
    endif
endfunction

" Map the insert mode keys to the function
inoremap <expr> " <SID>AutoClosePair('"', '"')
inoremap <expr> ' <SID>AutoClosePair("'", "'")
inoremap <expr> ( <SID>AutoClosePair('(', ')')
inoremap <expr> [ <SID>AutoClosePair('[', ']')
inoremap <expr> { <SID>AutoClosePair('{', '}')

Enter fullscreen mode Exit fullscreen mode
  • .secure
export CDESK_HOST='<cloud host>'
alias c='ssh $CDESK_HOST'
alias sf-c='sftp $CDESK_HOST'
...
Enter fullscreen mode Exit fullscreen mode

A few resources in Different Categories

General

Design

Web

Algorithms

Architecture

ML, AI

3D

Management

AWS Q Developer image

Your AI Code Assistant

Automate your code reviews. Catch bugs before your coworkers. Fix security issues in your code. Built to handle large projects, Amazon Q Developer works alongside you from idea to production code.

Get started free in your IDE

Top comments (0)

Billboard image

Create up to 10 Postgres Databases on Neon's free plan.

If you're starting a new project, Neon has got your databases covered. No credit cards. No trials. No getting in your way.

Try Neon for Free →

👋 Kindness is contagious

If this post resonated with you, feel free to hit ❤️ or leave a quick comment to share your thoughts!

Okay