Posts

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...