Categories
Debian Linux Ubuntu

An APT repository for Zoom without hosting a single .deb

Zoom ships .deb files but no APT repository. zoom-ubuntu-repo fills the gap in two ways: a self-hosted repository built by a cron job, and a GitHub-hosted one where the index lives on GitHub Pages while apt downloads the packages straight from Zoom’s CDN. How it works, where the files live, and how to set it up on Debian/Ubuntu.

Categories
Artificial Intelligence

WordPress and MCP: which plugin does what?

MCP Adapter, Enable Abilities for MCP and the official AI plugin all sound like they do the same thing. They don’t. A look at the two directions of AI in WordPress, how the plugins fit together, and what you actually need.

Categories
RFID Security

Anatomy of a Transit Card: Reading a Real Mifare Classic Dump

A full dump is just 1024 bytes of hex — until you know how to read it. Using a real public-transport card, here’s how to go from raw sectors to the MAD, an NDEF message, a digital signature, and the access bits that decide what you can touch.

Categories
RFID Security

From a Drawer of Old Chipcards to a Working Proxmark3: A Mifare Classic Bring-Up Story

While cleaning up I found a stack of old chipcards and got curious. Here’s the full, honest log of getting a Proxmark3 built, flashed, and reading/writing Mifare Classic cards — segfaults, all-zero dumps, and every gotcha in between.

Categories
Artificial Intelligence python

From napkin sketch to assembly plan: a camera nest box

Three photos of pencil sketches went in, a flat-pack style assembly manual for a nest box with a camera compartment came out. What Claude Code read, what it fixed, and how to build the images and a multi-page PDF from the plan.

Categories
Artificial Intelligence Dovecot Keycloak Mail OIDC Postfix SSO

How many OIDC clients does an OAuth-enabled MCP mail server need?

One, two, three or four? The number of OIDC client registrations an MCP server for OAuth-enabled IMAP/SMTP needs depends on the architecture. Five scenarios compared: token passthrough, single-client broker, split broker, IdP as authorization server with token exchange, and hosted providers.

Categories
Artificial Intelligence Encryption License Linux python

Slim PDF: from a PDF signing tool to a slim PDF editor in three days

How a small PAdES signing tool grew into slim-pdf: smartcards and KeePass as key sources, a ribbon GUI, form filling, OCR with each system’s own engine, text search, and why the license ended up as GPL-3.0.

Categories
Artificial Intelligence Linux Nextcloud python

Slim Scan: a feeder-to-PDF scanner app for Linux, built in a week

How a document scanner without eSCL/AirScan led to slim-scan: a pure-Python WSD client, a GTK 4 desktop app, image clean-up on the scanned pages, a SANE backend, and two upstream bugs in the epsonds driver.

Categories
Artificial Intelligence Dovecot Keycloak Mail OIDC python SSO

OAuth2 for an MCP mail server: what I learned on the way

Building an OAuth2-secured MCP mail server against a real Dovecot/Postfix mailbox surfaced four separate Keycloak client registrations, a Default-vs-Optional scope trap, and a genuinely counter-intuitive Audience-mapper gotcha behind a mysterious active: false.

Categories
Database Mariadb Mysql

Portabase mysql/mariadb backup fails

I recently tried to migrate my database backup strategy to portabase. It has a (c)lean interface and can handle the most common database types (postgres, mysql/mariadb but also mongodb or redis). While setting up things looked promising (once you configured the agent it regularly checks connections using the provided credentials and shows the results). This […]