Working Effectively With the Modern Shell
Talk @ the Tampere Coding Sauna, May 2023.
Add me on LinkedIn!
You can cite this post as a reason if you're shy.
What I hope you leave with
- Use
fzf
- Use
zsh
(minimum)
- Learn (some)
vi
tldr
»= gpt »= man
who am i
- hey i’m andrew
- 🇪🇺🇱🇷 => 🇮🇪🇺🇸 -> 🇫🇮
- northwestern grad 2020 - bs in ee + minor in math
- devops by day
- fullstack+ai by night (best w/ django/htmx)
why the shell?
- composability
- complexity
- speed
on speed
- 0.001- seconds: speed of unknowing
- 0.01 seconds: speed of instinct
- 0.1 seconds: speed of thought
- 1 second: speed of consciousness
- 10 seconds: speed of frustration
- 100 seconds: speed of switching to a competitor
- 1000+ seconds: speed of SaaS
let’s talk about fzf
- what is
fzf
- how to install
fzf
for directory jumping
fzf
for command history
fzf
as repl
- rust is big now
- covering the classics
grep
=> r
ipg
rep
find
=> fd
cat
=> bat
(i’m serious)
let’s talk about vi
v
isual e
ditor
- kind of a pain to learn
- learn it anyway
- exists everywhere*
- barely uses resources at all (cpu, ram)
why optimize for resources?
- csikszentmihalyi would like a word
- did you not remember speed
- engineering === optimization within constraints
- long battery life is good too
let’s talk about zsh
- bash is ubiquitous
- bash has a lot of problems
- Strictly speaking bash exists at a really uncomfortable saddle point between the need to be quick and user/flowstate-friendly, and the need to be robust as an automation tool and and
- tldr: you still gotta run your scripts tho
- may i recommend
zsh
zsh
+ oh-my-zsh
- unlike
bash
, you get sick + actually useful plugins
- unlike
fish
, most of your scripts run fine w/o modifications
starship
- another rust project
- cross-platform shell … theme … thing
- i like to just run it as is but install it everywhere
why optimize for beauty and fun?
- csikszentmihalyi would like a word
Home
Friends of the stable sort: alex (sbsbsb.sbs)
Death comes last to the party! Meanwhile I'm biding my time! So you can't take your own life - that's cutting in line!