<feed xmlns="http://www.w3.org/2005/Atom"> <id>https://lab.denistoupin.com/</id><title>The Lab</title><subtitle>The Lab - Take control. Build your own.</subtitle> <updated>2026-04-10T15:29:02-04:00</updated> <author> <name>Denis Toupin</name> <uri>https://lab.denistoupin.com/</uri> </author><link rel="self" type="application/atom+xml" href="https://lab.denistoupin.com/feed.xml"/><link rel="alternate" type="text/html" hreflang="en" href="https://lab.denistoupin.com/"/> <generator uri="https://jekyllrb.com/" version="4.4.1">Jekyll</generator> <rights> © 2026 Denis Toupin </rights> <icon>/assets/img/favicons/favicon.ico</icon> <logo>/assets/img/favicons/favicon-96x96.png</logo> <entry><title>Transcribing Voice Memos with whisper.cpp</title><link href="https://lab.denistoupin.com/posts/Transcribe-whisper/" rel="alternate" type="text/html" title="Transcribing Voice Memos with whisper.cpp" /><published>2026-04-06T11:00:00-04:00</published> <updated>2026-04-07T14:24:01-04:00</updated> <id>https://lab.denistoupin.com/posts/Transcribe-whisper/</id> <content src="https://lab.denistoupin.com/posts/Transcribe-whisper/" /> <author> <name>Denis Toupin</name> </author> <category term="voice" /> <category term="privacy" /> <summary> Transcribing Voice Memos with whisper.cpp on macOS Ever recorded a long meeting on your iPhone with the Voice Memos app and wished you could get a clean text transcript without sending the audio to some cloud service? Here’s how to do it entirely locally on your Mac using whisper.cpp - free, private, and surprisingly fast on Apple Silicon. What You Need A Mac with Apple Silicon (M1 or n... </summary> </entry> <entry><title>Bulletproof Backups with Restic</title><link href="https://lab.denistoupin.com/posts/paperless-backup/" rel="alternate" type="text/html" title="Bulletproof Backups with Restic" /><published>2026-03-27T11:00:00-04:00</published> <updated>2026-04-06T10:54:55-04:00</updated> <id>https://lab.denistoupin.com/posts/paperless-backup/</id> <content src="https://lab.denistoupin.com/posts/paperless-backup/" /> <author> <name>Denis Toupin</name> </author> <category term="Homelab" /> <category term="Self-Hosted" /> <summary> I’ve been running Paperless-ngx on one of my Zimaboards for a while now and I finally sat down to build a proper backup strategy around it. This post documents the full setup - from dumping the PostgreSQL database to encrypted restic snapshots, a true 3-2-1 backup across multiple machines, plain document exports accessible from my iPhone, and Backrest as a read-only web UI to browse everything.... </summary> </entry> <entry><title>Running Pi-hole as a Tailscale Node with Docker</title><link href="https://lab.denistoupin.com/posts/pihole-tailscale-setup/" rel="alternate" type="text/html" title="Running Pi-hole as a Tailscale Node with Docker" /><published>2026-02-19T00:00:00-05:00</published> <updated>2026-04-05T11:14:04-04:00</updated> <id>https://lab.denistoupin.com/posts/pihole-tailscale-setup/</id> <content src="https://lab.denistoupin.com/posts/pihole-tailscale-setup/" /> <author> <name>Denis Toupin</name> </author> <category term="homelab" /> <category term="networking" /> <category term="dns" /> <category term="docker" /> <summary> I wanted network-wide ad blocking that follows my Apple devices everywhere-at home, on LTE, at coffee shops, travelling. My Unifi router already had ad blocking for my home network, but the moment I switched to cellular data, ads came back. The solution: Pi-hole running as a Tailscale node, providing DNS filtering to all my tailnet devices regardless of location. Architecture Overview The fin... </summary> </entry> <entry><title>How an ESP32 Became My Bluetooth Hub</title><link href="https://lab.denistoupin.com/posts/esp32-bluetooth-proxy/" rel="alternate" type="text/html" title="How an ESP32 Became My Bluetooth Hub" /><published>2026-02-08T10:00:00-05:00</published> <updated>2026-03-25T14:11:32-04:00</updated> <id>https://lab.denistoupin.com/posts/esp32-bluetooth-proxy/</id> <content src="https://lab.denistoupin.com/posts/esp32-bluetooth-proxy/" /> <author> <name>Denis Toupin</name> </author> <category term="Home Automation" /> <category term="Home Assistant" /> <summary> My Home Assistant instance runs in Docker on a Zimaboard tucked away in a rack in my server closet. It’s a great setup (quiet, always on, centrally managed) but it comes with one significant limitation: no Bluetooth. And even if I bolted a USB Bluetooth dongle onto it, the physical location is basically a Faraday cage for BLE signals. Thick walls, a metal rack, and a concrete floor don’t make f... </summary> </entry> <entry><title>Using OpenClaw with UTM and Tailscale</title><link href="https://lab.denistoupin.com/posts/openclaw-utm-setup-guide/" rel="alternate" type="text/html" title="Using OpenClaw with UTM and Tailscale" /><published>2026-02-05T00:00:00-05:00</published> <updated>2026-03-25T14:45:44-04:00</updated> <id>https://lab.denistoupin.com/posts/openclaw-utm-setup-guide/</id> <content src="https://lab.denistoupin.com/posts/openclaw-utm-setup-guide/" /> <author> <name>Denis Toupin</name> </author> <category term="homelab" /> <category term="ai" /> <category term="automation" /> <summary> In the rapidly evolving world of AI automation, OpenClaw has emerged as one of the most exciting open-source projects of 2026. Originally known as Clawdbot and Moltbot, this self-hosted AI agent has exploded in popularity on GitHub in just a few days. Unlike typical chatbots, OpenClaw acts as a true personal AI assistant that runs locally, remembers context across conversations, and can actuall... </summary> </entry> </feed>
