Hardware, Software, Learning Sources
Tom Harada
Posted on October 14, 2022
Hardware
Keyboard
-
Kinesis Advantage2,Microsoft Natural Keyboard 4000Nulea Ergonomic Wired Keyboard + remove keys from numpad and attach macOS Magic Trackpad with velcro strips
Monitor
-
ultra-wide 50" monitor (leads to eye fatigue)LG Ultra Fine Display
Computer
-
High-powered Linux workstationMBP (M1/2/3 chips make such an amazing 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
- Apple Wired Headphones (I just lost too many AirPods Pro in the laundry)
Other hardware that I ended up just not using regularly
iPad Pro with Pencil (for Procreate mostly)Occulus QuestApple 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
- 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
- Tampermonkey
- Vimium-FF Add custom key mappings:
# Insert your preferred key mappings here.
map <c-d> scrollPageDown
map <c-u> scrollPageUp
- Multi-Account Containers for AWS
- WhatFont
- uBlock Origin
- BuiltWith
- WhatRuns
-
Google Lighthouse
- Dev Tools
- Improve sites using Inspector > Changes tab
- Print entire pages using the built in right-click, take screenshot in firefox.
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
- Extensions
- Remote SSH (small note for opening in the same window)
- Better Solarized
- colorize
- Live Server
- Vim (vscodevim)
- Import Cost
- Prettier
- settings.json
- keybindings.json
Rectangle Pro
Terminal
.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('{', '}')
- .secure
export CDESK_HOST='<cloud host>'
alias c='ssh $CDESK_HOST'
alias sf-c='sftp $CDESK_HOST'
...
A few resources in Different Categories
General
Design
Web
Algorithms
Architecture
ML, AI
Management
- https://randsinrepose.com/
- https://news.ycombinator.com/item?id=30497703 (New One Minute Manager is a nice intro - mentioned briefly in https://news.ycombinator.com/item?id=30501776)
💖 💪 🙅 🚩
Tom Harada
Posted on October 14, 2022
Join Our Newsletter. No Spam, Only the good stuff.
Sign up to receive the latest update from our blog.