How I do my computing
Published:
Last updated:
I am very open to nontraditional ways to approach software and hardware while focusing on persistence, privacy, security, and transparency. To this end, I am doing my best to be platform-independent and use open-source software. While some of my friends find my workflow rather troublesome, I don’t see myself adapting to a specific “ecosystem.” This page is a brief summary of my computing process, which is a large part of my day. Some details are intentionally left out. If you are interested in more or have suggestions, please reach out to me at [email protected].
Computer Hardware
My current main workstation is a desktop computer I built in June 2024 with i7 14700F CPU and RTX 4070 SUPER GPU. I use it for both development and gaming. The GPU also allows me to run a local open-source LLM.
My secondary workstation is a laptop, Asus Zenbook 14X (2.8K OLED Touch 120Hz Display, 16GB LPDDR5 RAM, i7 13700H, no dedicated GPU, 3.5 lbs). While I wish my laptop was upgradable (like Framework, Tuxedo, or System76 laptops), it’s harder to find those options within budget while maintaining my needs. I bought this laptop from BestBuy for $750, which I think was a decent value for the display and performance on a new laptop. What I generally look in a laptop is, in that order, great display, cpu power, and battery life. However, lately, I have been finding 16GB RAM not enough for some use cases, so it’s a pity that RAM is soldered on this machine.
Previously, I owned an Asus Zenbook UX534FTC with 4K Display and a discrete GPU. It was a good laptop, but CPU was not powerful enough and the battery life was terrible. I mostly ran Ubuntu on that machine but had a Windows dual boot for gaming purposes.
Before that, my machine was an older HP laptop for many years. I ran Ubuntu on it.
Computer Software
These are the software on my computer that I use almost every day.
Arch Linux
I switched to Arch in late 2023 from Ubuntu. Overall, it’s great. I am not as linux savvy as some of my friends but it’s great to have a lot of control over my software. ArchWiki is also one of the best wikis I have seen. Btw, I use arch.
Hyprland
I started using Hyprland in late 2024, making a full switch from GNOME. For me, it was a pretty smooth transition, but I did waste a couple days “perfecting” my decent-looking set up. I did not use any template but configured kitty, waybar, and wofi manually, though looking at strangers’ dotfiles was very useful. You can find my dotfiles here.
kitty / bash
I use kitty as my terminal emulator, and I switched back to bash from the fish shell.
Neovim
Around late 2024, I completely moved away from Code OSS (VSCode) to Neovim. I’d say that I have gotten very used to it and feel pretty comfortable. The only feature I miss is remote development, but it’s not that big of a pain so far.
My configuration lives here.
Mozilla Firefox
I would not use any other browser as my daily driver for many reasons. I enjoy Firefox but still have a lot of criticism for it. These extensions make my life easier:
- Bitwarden for managing passwords
- uBlock Origin for avoiding ads and trackers
- Vimium for faster navigation
- Tampermonkey for custom scripting
- Video Speed Controller for easily changing video speed
- Enhancer for Youtube for better and less distracting Youtube experience
- CanvasBlocker, Don’t track me Google, and Facebook Container for keeping it safer over the web While this list is larger than I would hope for, each of these extensions are essential for my specific use cases. The list does not include development extensions like Vue.js Devtools since I keep them disabled unless I need to debug.
I used to use these extensions but don’t anymore:
Betterbird (Thunderbird)
I used Thunderbird for a while after being fed up with web email clients (Gmail, Outlook, etc.) and their slowness. Then I switched to Betterbird simply because it allowed me better defaults and settings.
Syncthing
Syncthing is to sync files and directories between devices and they have great focus on security and privacy. I am also using it to set up Obsidian sync between my devices. Previously, I used Dropbox to sync, but I was already not a fan having personal files on the cloud (i.e., someone else’s computer).
z
I jump around using z.
Discord
I use Discord for non-critical communication with friends. I wish there was a better alternative, but it works mostly fine.
Non-daily Computer Software
I don’t use these software every day, but they regularly come in very handy.
Typst
Typst is a great LaTeX and Overleaf alternative. It has great syntax and very fast compilation times thanks to Rust. I have been using LaTeX for over 5 years now and still have no idea how to do certain styling things, but only a few months of Typst was enough to learn much more. Unfortunately, most academic conferences still require LaTeX templates.
Ungoogled Chromium
Ungoogled Chromium is bloatless and trackerless chromium browser. It’s useful because some websites only work on chromium-based browsers. I also like to test my websites on chromium-based browsers before deploying to make sure everything works.
Fragments
Fragments is a nice and simple BitTorrent client. For its simplicity, I prefer it over other clients like qBitTorrent.
Impression
Impression is a simple and effective drive flasher.
Switcheroo
Switcheroo (formerly Converter) is a beautiful imagemagick GUI to convert between different media types.
Foliate
Foliate is a very nice book reader that supports most electronic book formats.
ripgrep
From its description: ripgrep recursively searches directories for a regex pattern while respecting your gitignore.
VLC Media Player
VLC will play any kind of video without angry encoding errors and provide nice control for any video elements like audio, subtitles, and aspect ratio.
Pinta
Pinta is a Microsoft Paint like tool for Linux. It’s not great, but it’s easier than GIMP.
OBS Studio
Open Broadcaster Software is the only correct way to record or stream large videos. For screenshots and mini recordings, I use GNOME’s built-in screen recorder.
Rclone
Rclone is a great tool to sync files between cloud services. I use it to sync my files between my cloud storage and my local machine. I also use it to backup my databases to a cloud service.
Ollama
Ollama allows me to run a local LLM very easily. I use it for various purposes.
Mobile Hardware
For security purposes, I will not share my current phone model. My phone history is:
- 2020 to 2023: Xiaomi Mi 9T Pro
- 2013 to 2020: Samsung Galaxy Note 3
- 20?? to 2013: Samsung Galaxy S III
- 20?? to 20??: Samsung Galaxy Gio
All my previous phones were “rooted”. I do not root my phone anymore since it blocks usage of some banking apps and makes the phone much more vulnerable. I still own my old Galaxy Note 3 somewhere but do not use it. If I remember correctly, it’s running Android 12 with Lineage OS.
MIT provided me with an Ipad Air in 2020. While I used to use it with Apple Pencil to take notes, I stopped completely using it around 2022. I have not used any other Apple devices other than this tablet. In May 2024, I got my own Android tablet to read books and consume media.
Mobile Software
For security purposes, I am not going to share what mobile apps I own. However, given a powerful processor on my current phone, I sometimes emulate PlayStation 2 games via AetherSX2 and PlayStation Portable games via PPSSPP. I use my own bios file from my PlayStation 2, obtained around 2007 as a gift.
Gaming
In addition to my desktop computer, I own a PlayStation 5, obtained in Summer 2023. Before my computer, I had a PS Plus subscription, but I stopped paying for it since I don’t play on my console anymore. In earlier years, I played games on my laptop(s). Additionally, I was an avid PlayStation 2 player from 2007 to 2012. Avid here refers to more than 1,000 physical game CDs over those years. A few games I recently play:
- Celeste
- Dave the Diver
- Super Smash Bros. with friends
I sometimes notice videos from Mind Pulp where PS 2 nostalgia hits home. I am also fan of speedrunning community for their determination and hacking skills, and I enjoy watching Summoning Salt videos.
”Deprecated” Software
Most of these software probably did not actually get deprecated, but I stopped using them for good reasons. They were useful enough that it’s worth mentioning them. It was not easy remembering this list and it probably still is missing some software.
Sometimes I will move a software from the list above to here. I might not explain why, but feel free to contact and ask.
Dropbox
I used Dropbox to sync files between my computers and mobile devices, in addition to them existing on the cloud if I have no access to these devices. Now I use Syncthing for it, and I’m planning to self-host an encrypted server to store my data and have it open online via authentication for me to access remotely.
Sublime Text
Sublime Text is a nice editor and it’s faster than VSCode when working with large amounts of files. However, it’s not open source and my use cases for it has not been extensive.
Ubuntu
I have used Ubuntu for a long time, but it has never been properly stable. Aptitude, snaps, bad GPU integration, etc has caused me to move on.
GNOME
Note: Below is older writeup, moved to here on 2024-12-15.
I have not used other display managers much given that I started off with Ubuntu. I find GNOME with GTK 4 clean and very customizable. I have these extensions installed:
- Blur my Shell for nicer view
- Clipboard Indicator for a nice history for copied text and media
- Dash to Dock for more real screen estate
- GSConnect for KDE Connect integration with my mobile device
From the built-in extensions, I have Removable Drive Menu and System Monitor enabled. I like seeing how much usage is happening with my CPU, RAM, and network.
I used Black Box terminal for better GTK 4 integration for a while, but now that it has stopped development I am back to using GNOME Console app.
Fish Shell
Note: Below is older writeup, moved to here on 2024-12-15.
Fish Shell is great and easy to use even with its defaults. Unfortunately, themes don’t work on my machine, which might be due to GTK forced styles.
Code - OSS (Visual Studio Code)
Note: Below is older writeup, moved to here on 2024-12-15.
VSCode is great for most development with its extensions ecosystem. I find it somewhat buggy when I have multiple projects open as it starts lagging extremely. While I haven’t found a solution for this bug, I have some small remedies. I am only going to share use case agnostic extensions I use:
- Git Graph for nicely viewing commit history and branches
- Remote - SSH for opening remote files and directories
- vscode-pdf for viewing PDF files
- Word Counter for having a nice word count
- Vim for Vim motions
Obsidian
Note: Below is older writeup, moved to here on 2024-12-15.
I started using Obsidian on May 2024 to do journaling and taking notes. In fact, the first version of this page was written in Obsidian. It saddens me that such great piece of engineering is not open-source.