With local AI agents increasingly writing and executing code autonomously, giving them unrestricted access to your machine is becoming a massive security risk. This is one of the primary reasons that agentic flows have so many flavors of approval that may need to happen throughout an agents course...
DRAFT A concept so simple I wondered why I haven’t thought of it before. And why it isn’t already built-in in bash. This is a command-line interface to a knowledge base, using association and ownership. The interface consists of five basic commands: put to put a new entity in the database...
tl;dr: Use this shell command in my crontab: @reboot sh -c "while ! systemctl status network-online.target > /dev/null; do sleep 1; done; exec /foo/bar.sh" The problem I've encountered is, sometimes /foo/bar.sh would failed at boot. After digging into details, I found it's because the network...
Flutter in CLI (mainly flutter run) cannot auto hot reload by itself in Linux, so we need to setup some commands to trigger it. The basic idea is to use inotifywait in inotify-tools (which is already in Debian/Ubuntu's APT repository): inotifywait -e create,delete,modify -mr android/ lib/ | awk...
When working on large projects, we often generate files that we don't want to commit but need to keep around - build artifacts, local notes, or temporary configurations. Here's how I manage these files using a personal directory pattern and a handy script to organize untracked files. The...
The Problem As Linux power users, we're always looking for ways to streamline our workflows. But what happens when your favorite web application doesn't provide an API or CLI? This is the situation with brain.fm, a focus-enhancing music service that runs exclusively in the browser. No API? No...
I recently created Atomize, a lightweight command-line utility written in Babashka that simplifies the management of Atom feeds. While it's versatile enough for various use cases, I'll share how it's particularly useful when integrated with document management systems. What is Atomize?...
Shell Smith is a Clojure library that simplifies the creation of command-line interface (CLI) tools by providing a robust configuration management system with smart defaults based on your namespace. Key Features Namespace-Aware Configuration: One of Shell Smith's most powerful features is its...
Ever needed a bit of inspiration to get your day started? In this post we'll be looking at how we can generate a random quote and easily format and print it in our terminal. While this may seem silly, I think some of this post will be relevant and applicable to other CLI based needs. Let's dive in!
This open source database is being created as part of my live coding series: Creating a database from the ground up using modern C++! In this post I explain why I decided to start this series… I’ve been wanting to start a more advanced video blog series for a while. I’ve not had the time to...
TL;DR The following snippet added to you ~/.zshrc will recognize project folders you changed to, so that when you create new shells (i.e. through opening a terminal) it changes to the last used project automatically. Please find the complete snippet at the end of this post. Some projects have a...
When I first started working with Angular (back when it was known as Angular 2 beta), I had a hard time getting my head around the lengthy set-up process. After all, all Angular JS required was a single Javascript file, and now I had to download hundreds of megabytes of dependencies, install a...
Back in the days when I was developing in Ruby most of my waking hours rbenv was a real life saver. But looking at what it does, it initially felt awkward how it "wrapped" the cd command. You could argue that the Ruby community are no strangers to guerrilla patching. But it felt less awkward when...
Frustration with slow and manual processes is probably my number one motivator to discover new tooling. Having lately worked with Swagger on a Json API I found myself in need of a tool to work with Json on the command line. I tried a couple and just when I was about to make the decision that I...
I'm using the command line extensively, with plenty of black terminals side by side in my tiling window manager I was looking for something that helps distinguish remote shells (via ssh) from my local shells. Introducing one of my favorite tricks: Changing the background color of the terminal...