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

Top comments (0)