I use a Telegram bot to send myself notifications from scripts, cron jobs, and deploy pipelines. It's free, takes five minutes to set up, and the
I run multiple Droid and Claude Code instances in tmux, each in its own window. The problem: every Droid window starts named "droid" and every Claude
How I copy macOS screenshot file paths into Claude Code's terminal CLI automatically, first with a fish function and now with my shotpath CLI tool.
NixOS is great, but it is a bit tedious to always type out vim /etc/nixos/... etc to make changes to your system, nor do I want a complicated setup for my nix configuration files. So I devised a little script to speed up the progress, which I saved to configure.sh allowing me to configure NixOS by just opening my terminal and typing ./configure.sh
My tiny fish shortcut for making WIP git commits: it stages changes when needed, uses a default WIP message, and accepts a custom commit message.
Maybe it's my setup, but I have always had problems with gx since ever since I started using vim/MacVim/Neovim. I also wrote about streamlining
My most-used git script is gs — an overloaded shell function that handles status, staging, and committing in a single command.
I spend most of my time working at my desk, but occasionally I'll bring my MacBook out. It's mostly due to my habit from the older days before Apple
The mvim script included with MacVim is useful for launching the MacVim app from the shell. Sure, you can run Neovim from the shell with nvim . but I
I have been using Neovim in a dedicated Alacritty for exactly a year. Took me a long time to come to it, but I recently sought to fix one issue — I
As developers, we try to automate and build shortcuts to improve our workflow. Sometimes we always run the same command in a specific project
During development of applications that uses Core Data on the iPhone, I find myself often wanting to delete the SQLite database file. This is
It's been bothering me for quite a while ever since I used OmniFocus on my iPhone more that I can't easily activate Internet Sharing to sychronise