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 (M1/2/3 chips make such an amazing difference) + Cloud/EC2 desktop

Headphones

Other hardware that I ended up just not using regularly

  • iPad Pro with Pencil (for Procreate mostly)
  • Occulus Quest
  • 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

Node

Design software

  • Figma
  • Adobe After Effects, Illustrator, Photoshop, Premiere Pro, Cinema 4D

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 (Anthropic) for work; GPT for personal questions.

VS Code

Rectangle Pro

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

Management

Top comments (0)