Tech I use
My dev toolbox. My workflow. My setup.
Whatever fancy phrase you wanna use, this is my list of technology I am currently using. I only use good stuff, so this is also my “recommendations” list (things I have to use due to lack of alternatives or necessity are explicitly outlined).
Desktop
My desktop is a 2020 Dell XPS 15. It runs Linux (Fedora) 37. I use it with my custom keyboard.
-
GNOME for all the desktop stuff.
- Extension Manager to manage GNOME extensions.
- GNOME Tweaks
-
Mouse Follows Focus extension to fix alt-tab
behaviour when
Tweaks > Window > Focus on Hover
is enabled
-
Firefox as my primary browser.
- uBlock origin extension to block intrusive ads.
- Vimium extension to add vim-like bindings.
- Thunderbird for email.
- (Neo)vim for editing code.
- VsCode for when neovim won’t cut it.
- Secrets to access my KeePass password manager db.
- Signal for texting people.
- Syncthing to sync files between my devices. Also acts as somewhat of a backup.
- Amberol for listening to music.
- Flatseal for managing permissions of flatpaks.
- Kooha to record my screen.
- Nix (the package manager) for reproducible development environments.
- Distrobox for creating development containers when the ‘Nix way’ is too cumbersome.
-
Direnv for automatically entering development
environments after
cd
-ing into them. -
Zoxide (
z
) for a faster (better?)cd
experience. - Starship for an improved shell prompt.
- FZF for fuzzy selection.
- Ripgrep for recursive grep search.
Phone
I currently use a Oneplus 8T (2020) with the stock Android 12 OS. My next phone will ideally be degoogled, which is why it will likely be a Google Pixel phone (ironically Google hardware has best support for it).
-
Firefox as my browser.
- uBlock Origin extension for ad blocking.
- Video Background Play Fix extension for better background play.
- Foxit PDF editor.
- Google Maps for navigation - yet to find a good non-google alternative
- Signal for texting people.
- K-9 email client.
- Syncthing for file sync between my devices.
- KeePassDX password manager.
- VLC video player.
Server
My server runs on NixOS. It’s powered by Caddy.
Websites
Here is a list of useful websites I often use:
- Excalidraw for sketching, drawing, annotating, etc.
- HackerNews for news.
- Algolia HN for searching hackernews posts.
- SourceGraph for searching public code repositories.
- Microphone & Camera Test for testing how you look and sound.
- Jitsi Meet for meetings.
- TaskTXT for focused work.
Panic Procedure
Afetr reading
this thought experiment, I have began to seriously think about how I would recover my
digital life in the case of one or more of my physical devices
failing. After all, I don’t memorize my passwords anymore, and
my important accounts are also protected by OTP 2FA codes. If I lose
access to the Safe.kdbx
file, I have lost my digital
life.
My Safe.kdbx is protected via 2FA itself. It needs a password and a Keyfile. The password is kept securely in my head, while the Keyfile is shared with multiple people.
The safe file is uploaded to the cloud, accessible by anyone with the link.
This way, you need ALL of the following:
- The Safe database file (uploaded to public cloud + on my devices)
- The Keyfile (on my devices + shared with few people I trust)
- The Password (known by me + written down in a secure place)
You might call it paranoid, but I call it well thought out. Each factor has:
-
Multiple backups for redundancy:
P(at least one copy of each factor being accessible) ≈ 1
-
Factors are unrelated:
P(obtaining all 3 factors unless you are me) ≈ 0
At the end of the day, you will always be left with the problem of having to remember what needs to be remembered. If I lost my memory tomorrow, it would be rather difficult to know where to start recovering everything. But one of the places I would definitely visit would be my own blog. If you are me from the future who lost all memory, I really hope this helps.
Additional Notes
- (VsCode Wayland Overview Bug)[https://github.com/microsoft/vscode/issues/129953#issuecomment-1315491384]