Posts

Shipping Better With Lightweight Task Management

I recently added a simple task-management layer to my AI CLI setup, and it has been a big quality-of-life upgrade. The core idea is straightforward: keep work trackable without adding process overhead. Tasks use stable IDs ( 0001 , 0002 , ...) Bugs use their own stable IDs ( BUG-0001 , BUG-0002 , ...) Active files stay small ( TODO.md , BUGS.md ) History is preserved ( DONE.md , BUGS_DONE.md , REMOVED.md ) Progress is append-only ( progress_log.md ) What I like most is that it works for both solo and agent-driven workflows. I can run tasks in sequence or parallel, and still keep clear visibility on what’s active, what’s done, and what was dropped. I also added optional Discord notifications for agent progress. Secrets are handled safely by default . The goal wasn’t to build another project-management system. It was to keep execution resumable, context small, and momentum high. If you’re using coding agents, I highly recommend having a minimal, file-based tas...

Shipping Better With Lightweight Task Management

I recently added a simple task-management layer to my AI CLI setup, and it has been a big quality-of-life upgrade. The core idea is straightforward: keep work trackable without adding process overhead. Tasks use stable IDs ( 0001 , 0002 , ...) Bugs use their own stable IDs ( BUG-0001 , BUG-0002 , ...) Active files stay small ( TODO.md , BUGS.md ) History is preserved ( DONE.md , BUGS_DONE.md , REMOVED.md ) Progress is append-only ( progress_log.md ) What I like most is that it works for both solo and agent-driven workflows. I can run tasks in sequence or parallel, and still keep clear visibility on what’s active, what’s done, and what was dropped. I also added optional Discord notifications for agent progress. Secrets are handled safely by default . The goal wasn’t to build another project-management system. It was to keep execution resumable, context small, and momentum high. If you’re using coding agents, I highly recommend having a minimal, file-based tas...

The Glitch in the Sky

Image
 William Gibson’s iconic opening to Neuromancer has been "fixed" by technology, and the result is hilarious. "The sky above the port was the color of television, tuned to a dead channel." When this was written in 1984, a "dead channel" meant one thing: static. It was a flickering, aggressive, industrial gray. This was the ultimate cyberpunk vibe—moody, gritty, and oppressive. This is what a digital dystopia feels like. But then, TVs evolved. They got smarter, cleaner, and flatter. And in doing so, they accidentally fixed the apocalypse. The Great Color Swap The meaning of the world's most famous sci-fi sentence now depends entirely on your birth year. It's a generational Rorschach test for hardware. Older Generations: When you visualize the opening, the sky is a chaotic, vibrating, bruised gray . You are instantly transported to a rain-slicked, heavy metal future where humanity is choking on its own progress. Newer Generations: When you visual...

Your €15 WiFi Adapter Is a Supply Chain Attack

Stop Plugging Random USB Hardware Into Your Machines If you are buying networking hardware from AliExpress and installing whatever “driver” comes in the box, you are not being frugal. You are participating in your own compromise. This is a case study of a supposed WiFi 6 + Bluetooth USB adapter purchased from AliExpress, bundled with a “WiFi driver” that was suspicious enough to warrant a VirusTotal check. Links (for reference): VirusTotal report: e01679323360155f9eb8a09f703fc28e325be820cbf3d7a75766a386496df121 AliExpress listing: 1005009909742557 The pattern is the problem Ultra-cheap USB networking devices follow a recurring template: generic branding, no chipset disclosure, a boilerplate manual, and a bundled executable installer that claims...

Doom-Vibe-Code Everywhere with PyCodeBridge

 Ever been stuck on a bus, in a toilet queue, or doom-scrolling on mobile and thought: “Man, I really wish I could just hack on my code right now”? Well, I did something about that. Meet PyCodeBridge — the bridge between your mobile chat apps and your development machine. It lets you drop into vibe-coding mode from apps like Discord, Telegram, or Slack and run your local Codex CLI sessions without actually being at your desk. What the Hell Is PyCodeBridge? At its core, PyCodeBridge lets you communicate between a transport channel (like a Discord channel named codex-myrepo ) and a local Codex CLI session running under the hood. Every channel becomes a stream into a Codex session tied to a local repository. You can send prompts, get responses, even manage jobs — from your phone, from the loo, from wherever. Here’s the vibe: Transport–Agnostic Routing: Messages from chat apps are routed to your local Codex session dispatcher. Channels map to repos. Multi-Session Support: Each ch...

Free personalized feed aggregator using Slack

Image
Over the course of the last few years, I've notices that it seems everyone and their mother uses Slack. At least for work and for a number of communities. This blog post will show you how to create your own personalized feed aggregator using free Slack. I chose using Slack instead of Feedly or any other online or offline feed aggregator for the following reasons: I already use Slack; for work, for leisure, for a number of communities. You can easily share/add people to your Slack workspace. You can set up multiple channels and set up notifications for whichever you need. If you already are using Slack, you can always dedicate a channel or a few to your personal feed aggregator, without actually creating your own instance of Slack (but will need admin help to set everything up). Now that we've got that covered, let's talk about what's going to get covered by this blog post: Adding RSS application to your Slack instance. Adding feeds from various sources (websites, github...

Serbian Website Blacklist for PiHole and AdGuard Home

In today's digital age, protecting oneself from online threats has become a necessity. With the ever-growing presence of adware, malware, fraud, and scams lurking on the internet, users need robust solutions to fortify their browsing experiences. Recognizing this need, I'm thrilled to introduce my latest creation: a Serbian website blacklist curated for PiHole and AdGuard Home users. Origin This journey began with a simple yet profound realization: the internet landscape is rife with nefarious entities seeking to exploit unsuspecting users (including, say, my youngest family members). To counter this, I've become a user of AdGuard home running on my RaspberryPi in my home network. But there was somewhat of a gap in the sea of AdGuard blacklists out there - there are no (at least to my knowledge) blacklists dedicated to spammers and fraudsters operating in Serbia and Balkans. Luckily, security and privacy aware users of the  Bezbedan Balkan forum  have started compiling all ...

Comparing protected PDF files using Adobe Acrobat

Reviewing long PDF documents, especially ones with a lot of legalese, is cumbersome and tedious work. It takes a lot of time to just read and understand everything, especially when the document is not written in your native language. So, you read, and you finish the review, and you have a set of changes you need to do. The other party makes the changes, and then you need to confirm that everything is as you requested. And what if the old and the new version of your PDF document is protected? The Problem I found myself in a pickle once with protected PDFs. I needed to quickly review and compare two versions of PDF documents, ~100 pages long, with my changes added; turned out that the other side has also added ~150 changes to the document that are less relevant, such as spelling and grammar. And both previous and the new version were protected, thus disabling my ability to simply feed both documents to Adobe Acrobat Pro DC and compare. Due to the protections, I was unable to edit, or eve...

Popular posts from this blog

Comparing protected PDF files using Adobe Acrobat

Free personalized feed aggregator using Slack