My machine is a development machine – I doomscroll with the best of them but mainly my machine is setup to do software development. This is how I get everything up to date.
Most everything that I care about data-wise is either in github, iCloud, or Dropbox. I think of the computer as a work place for this data, that gets pushed or synced or whatever, and I don't really worry about backups.
Many of the scripts that I use live in this repository, in /bin. I
write a literate blog post, which saves the script there, and then its
just part of my toolbox. It pulls the password out of 1password when
needed and we are good to go.
This is my main emacs directory, basically everything lives out of here,
gets synced to github and github pages.
For other development tasks, I rely on Cursor / vscode. I create
tasks that run on startup so when I open up a project, it spins up
whatever is needed and you can just start developing. Close the
window and it all goes away.
Similiarly as much as I can I use docker to manage processes. From a
supabase start to get a local supabase environment going to running
pgadmin or openweb-ui having it fire up in a container makes it easy
to keep up to date and not have to worry about it leaving junk around.
I've also switched over to pnmp for managing node environments and uv for managing python enviroments.
System
Here's the basics. Install xcode and homebrew.
xcode
| |
homebrew
Brewfile
On your old computer you can
| |
which makes a Brewfile, which you can then load up with
| |
Mine looks like
| |
By hand
| |
.zprofile
| |
And then some basics:
| |
1password
Keep all of your credentials synced up into the cloud. Only enter in that one password again.
| |
iStat menus
I use the weather and network access all the time.
| |
Browsers
arc
| |
Chrome
| |
firefox
| |
orion
Orion by Kagi – new kid on the block.
| |
shot-scraper
(You'll need to install uv first.)
shot-scraper is a super useful tool that lets you create screenshots of webpages.
| |
Editors
Cursor
When I'm not in emacs I'm in cursor.
| |
emacs
I wrote a longer post about this but here's the gist of it.
| |
I keep my .emacs config in that blog post, so it will get tangled and
updated as needed.
Obsidian
I use obsidian for note taking, as well as content management for thefocus.ai.
| |
warp
Warp – The intelligent terminal.
| |
Dictionaries
| |
| |
Languages
ruby and go I use asdf for. pnmp for node stuff and uv for python
stuff, mainly because they let you set the version in the lock file so
it automatically installs. pnpm is much faster and better on disk
space and I have no idea what's going on in the python world so I
don't want to think about it more than this.
asdf
asdf: The Multiple Runtime Version Manager:
| |
inside .zshrc
| |
deno
Since it auto updates its easier to use its own shell.
| |
go
| |
node/pnpm
pnpm: Fast, disk space efficient package manager. One thing I really like about this is it manages different node versions.
| |
Inside of package.json you can specify what version is needed.
| |
python
uv: A single tool to replace pip, pip-tools, pipx, poetry, pyenv, twine, virtualenv, and more.
| |
inside of .zshrc
| |
ruby
| |
Rust
| |
And then add
. "$HOME/.cargo/env"
dotenvx
| |
Hosting
Docker
Plenty of docker posts to check out:
the docker desktop app
| |
or
just the cli: brew install docker
fly
I've got a bunch of posts on how to use this:
| |
GitHub
| |
supabase
| |
tailscale
| |
vercel
| |
AI
ollama
| |
llm
| |
claude
| |
openai
https://openai.com/chatgpt/download/
superwhisper
| |
Communication
asciinema
| |
discord
Weirdly I only use this to communicate with my children.
| |
mimestream
This is my preferred email client
| |
slack
Work chat.
| |
telegram
| |
| |
Media
idagio
| |
pocketcast
| |
spotify
| |
vlc
| |
webtorrent
| |