What’s up? 馃槑 Welcome to my blog

I’m Howard, a developer based in Vietnam and an open-source enthusiast. I love Neovim and my configs more than my girlfriend, which I don’t have. Check out my dotfiles . My knowledge is collected from various sources on the internet so I’m trying to write something to consolidate it, and hopefully I can help you guys in the process.

About Privacy: Browsers and Search Engines

Another step into being an open source purist, I decided to change my browser and search engine for better privacy. Not that I鈥檓 doing anything illegal and afraid of someone trying to get me, it鈥檚 just I鈥檝e read and listened to a lot of stories of people got screw over by big tech data collection . Browsers I was surprised to learn that Firefox, even though is an open-source browser, a large part of it is bloat and proprietary and not that privacy-focused....

Created: July 14, 2023 路 Last Update: July 15, 2023 路 2 min 路 Howard Do

Fzf Tmux Session Manager

Today I wrote a script to quickly search, delete and add new tmux session with the power of fzf. The script The --bind flag of fzf took me quite some time to debug because of many escape backslashes I needed to add. #!/bin/bash # ~/.local/bin/tmux-session-manager FIND_DEFAULT_COMMAND="tmux list-sessions | sed -E 's/:.*$//' | grep -v \"^$(tmux display-message -p '#S')\$\"" tmux list-sessions | sed -E 's/:.*$//' | grep -v "^$(tmux display-message -p '#S')$"\ | fzf --reverse --bind "ctrl-x:execute(tmux kill-session -t {})+reload(${FIND_DEFAULT_COMMAND})"\ --bind "ctrl-n:execute(bash -c 'read -p \"Name: \" name; tmux new -d -s \"\$name\"')+reload(${FIND_DEFAULT_COMMAND})" \ --bind "ctrl-r:reload(${FIND_DEFAULT_COMMAND})"\ --header 'Enter: switch session | Ctrl-X: kill session | Ctrl-N: new session | Ctrl-R: refresh list'\ | xargs tmux switch-client -t And I bind it into s key to overwrite the default tmux behavior....

Created: July 11, 2023 路 Last Update: July 11, 2023 路 1 min 路 Howard Do

How I Manage Snippets

Snippet manager is not something I pay attention to until recently, but when I do, I want to make it blend into my workflow smoothly. I will share my tool and process in this blog The tool Nap is the tool of choice for me. It runs on the terminal, have a nice terminal UI. I don鈥檛 really like GUI solutions as they are not accessible while I鈥檓 coding, and I need to alt-Tab to search for my snippets....

Created: July 10, 2023 路 Last Update: July 10, 2023 路 2 min 路 Howard Do

A beginner guide to Nix, the best package manager

This is the first post in the series documenting how I use Nix to manage my development environment, hope you can learn a thing or two. Why Nix? I first came across Nix from a YouTube video of Mental Outlaw and was fascinated to learn that I can use Nix to quickly migrate development environment to other machines, pretty awesome, right? But Nix got quite a steep learning curve, so today I will only show you how to get started using Nix and replace your existing package manager....

Created: May 17, 2023 路 Last Update: July 10, 2023 路 4 min 路 Howard Do

My tech setup as a poor developer

Hi, welcome to my first blog, in this article I will list out all the tech that I use daily with my Macbook and Android phone. I hope that you can find something useful in this curated list and use them in your setup. I鈥檓 a poor boy in a third-world country, so my setup would include many free, pirated stuffs, don鈥檛 arrest me please :P All the tech listed here will be updated over time when I found better alternatives or add something new...

Created: May 4, 2023 路 Last Update: May 4, 2023 路 6 min 路 Howard Do