Open source projects
Sometimes I decide to contribute something back to humanity. Others would say I unleash my crappy code to the world. In any case, here's something you can laugh at, be horrified about or maybe, maybe, find useful. The list is probably incomplete, out of date, or both. Some of these projects hail from the dark ages of the early 2000's, and may be woefully out of date.
Home automation & IoT
ZMW - Link to article
A mix of home automation project and a game (because let's be honest, the main reason to work on this is because it's fun, not because you think it's a good idea to play Windows 95 startup chime every time someone opens the door). ZMW exposes a Zigbee network as a small set of RESTish endpoints, and provides a basic UI to manage your Zigbee network with a web interface, with sensible defaults and minimal configuration. The project is extensible so that new thing types may be supported; even non-MQTT based things, like media players with 3rd party API integrations.
Nanny Godmin - Link to article
A parental control service for Android that also ended up controlling me. Built to limit kids' device usage time and remotely set volume, so I can stop shouting across the house. I've already locked myself out of my own phone at least once.
ChromecasticSlideshow - Link to article
Somehow still working after 10 years, a good way to repurpose old Chromecasts you may have lying around. Slideshows in Chromecast directly from your filesystem, without going through any online service. No Google Photos, Facebook or anything else: plain old random files straight from your disk to your Chromecast.
RaspberryPi GPIO mon
A small utility to monitor GPIO status in RaspberryPi.
$ ./gpiomon -u -l 21
000 PIN 21 = >1<
009 PIN 21 = >0<
015 PIN 21 = >1<
Godmin - Setting up a Linux GW/Router, a guide for non network admins
An application to easily administrate a Linux based gateway. Created as a tool to easily administrate a Debian based gateway running ISC, bind and iptables, for a small to mid size LAN.
Android apps
Pianoli
A baby game for Android. Have a baby curious about shiny tablets and phones? Use this app as a baby-game and, more importantly, to prevent random taps of a baby from doing anything you may not want. The app will block any naive attempts at closing the app, ensuring a baby can't accidentally do anything on the device you may not want.
VlcFreemote - Link to article
Control your VLC from an Android device. No need to get up from the couch.
TrippingSdCardPhotoManager - Link to article
When you're on a long trip and you don't want to carry around a heavy computer just to manage your camera's SD card, this app can be a helpful tool. Preview your snaps and make room for more by deleting those that you don't want.
Photos & travel
Tripmon - Link to article
I have a lot of data in Google Maps and no good way to visualize it, or merge it with my extensive photo album collection. Tripmon scans a directory for photo albums, merges them with GPS traces, and uses a couple of ML models to select the "best" pictures for each part of the trip. Largely vibe-coded, and if it breaks I wouldn't know why.
IMGeotagger - Link to article
An image Geotagger for Linux that doesn't entirely suck. Will give you a pretty GUI with G. Maps, from which you can geo-tag a set of pictures.
Hacked pictag - Pictag: finally a simple geotagging tool for Linux
A hacked clone of pictag to have it run in newer Ubuntu versions.
Web apps & tools
Spotiweb - Run in your browser - Link to article
Alt web client for Spotify. If you find the native client for Spotify is too cluttered, SpotiWeb can provide a simpler experience. It automatically goes through the list of your followed artists to create an index groupped by category.
GiveAHomeRehome
A simple isometric browser game, written in JavaScript. This is what happens when an 8 year old gets access to a coding LLM.
TrelloPrinter
Generate a printable version of a Trello board including card descriptions and attachments.
MdLogGen
This site is generated from a bunch of md files. A sane person would use one of the many md to html enginges, but I wrote my own. It supports a few features I wasn't able to find elsewhere: comments, and site-search, both backed by Github.
Developer tools & libs
PyTelegramBot
A Python API to build Telegram bots. I use it to glue together a bunch of my other projects: from home automation notifications, to security camera alerts, to a ToDo list bot. It has also gotten me banned from Telegram at least once, when I accidentally spammed too many security camera frames.
GitToDo
Because everyone should write their own TODO list manager: a Github-backed ToDo list, with Telegram bot integration. Keep a Markdown list of ToDo's, change it with any editor, on any device, with Telegram reminders for those tasks you've been putting off.
[Vim plugin] Impl Switcher
A Vim plugin to switch between implementation and header files (for example, between .h and .cpp files).
[Vim plugin] BTN: Better tab new
Replaces the default tabnew command with a slightly smarter version, capable of understanding line numbers. Useful for programming, where filenames are usually expressed as "fname:line number".
Fastgrep - A cache for grep
Feel your grep searches are too slow? Try caching your project for grep! Works great in combination with this Vim plugin.
Presentations & long reads
SlidewareEngineering
Here I keep presentations, demos and other cool stuff (read: stuff I found cool) I've used for public sessions. I quite like "Arrays to Air", a basic explanation of digital audio processing, including an abuse of WebAudio oscillators to create the worst iFFT the world has ever seen. Also check out "Stop Copying Me" for an explanation of how echo cancellation works for telephony applications. There are some more in my SlidewareEngineering index, which I hope to update as I release new ones.
Other presentations
- Link a la presentación (PDF) Testing & mocking: C++*
- Link a la presentación (PDF) Console Ninja: Cómo dejar de ser un usuario desconsolado*
- Link a la presentación (PDF) SQL FTW*
- Link Valgrind*
- valgrind Notas sobre metodologís ágiles*
- Introducción a las metodologías ágiles (spanish only) Introducion a GNU/Linux*
- Link a la presentación (PDF) GNU/Linux: Guía de Supervivencia (FLISOL 09)*
- Link a la presentación (PDF) LyX: A text editor that stays out of the way*
- URL: http://debaday.debian.net/2008/01/20/lyx-a-text-editor-that-stays-out-of-the-way/



