Cloud security camera fees have quietly become one of the priciest bills in the smart home. At $10 to $30 per camera each month, a full setup runs $500 to $1,000 a year. You pay that to have your own footage handled on someone else’s servers. Frigate NVR changes the math. Paired with a Google Coral TPU , it runs real-time AI person and object detection across many 4K streams. Inference times stay in the single-digit milliseconds. It all runs on hardware you own, on a network that never phones home.
Latest
Hands-on experience with AI, self-hosting, Linux, and the developer tools I actually use
Build a Low-Cost Air Quality Sensor with ESPHome
A DIY air quality monitor built on an ESP32 and a modern particle sensor is one of the best home automation projects you can finish in a single afternoon. Wire a PMS5003 or the newer Sensirion SEN66 to an ESP32 and flash ESPHome . Within minutes, Home Assistant finds the device on your local network. No cloud account, no monthly fee, no privacy worries.
Why Monitor Air Quality at Home?
Most people think of air pollution as an outdoor problem. In fact, indoor air is often worse. Cooking on a gas stove, burning candles, running a laser printer, using sprays, or even new furniture off-gassing formaldehyde can push indoor pollutants well above outdoor levels for hours.
Build Interactive Charts in Hugo without JavaScript
Can you build interactive charts in Hugo without any JavaScript? Yes - by using Hugo shortcodes that transform CSV or JSON data into styled SVG graphics at build time. This “Zero-JS” approach produces charts that render instantly, work in every browser environment including RSS readers and print, and score significantly better on the page-speed metrics Google ranks on than anything built with Chart.js or D3.js .
The Problem with Client-Side Charting Libraries
Chart.js is excellent software. So is D3.js. But both carry a tax that static blog authors rarely think about until they run their first Lighthouse audit.
Hugo Builds: Parallel Rendering, Image Cache, Fingerprinting
Hugo is one of the fastest static site generators ever built. That speed only holds when the project is set up well. A fresh Hugo site compiles in milliseconds. A production site with three hundred posts, SCSS pipelines, and hundreds of hero images can balloon past thirty seconds per build. Image caching, asset pipelines, and CI setup must be tuned with care.
This guide covers every layer of Hugo speed. It walks through the parallel render engine in recent versions, the image pipeline, CSS and JS bundling with fingerprints, WebAssembly modules for heavy client-side work, and CI/CD caching tricks. The goal is to make GitHub Actions and Cloudflare Pages builds as fast as local dev. Before you change any settings, run time hugo in the repo root to get a baseline. Measure each tweak against that number.
Self-Hosting Gitea as a GitHub Alternative: Setup, CI/CD, and Mirroring
Gitea is the lightest full Git hosting platform you can self-host. Version 1.25 fits in under 200 MB of RAM as a single Go binary or Docker container. It covers pull requests, code review, issues, CI/CD through GitHub Actions-compatible runners, package registries, and two-way mirroring with GitHub. If you want to own your code without GitLab’s overhead, Gitea is the best option today.
Why Gitea Over Forgejo, GitLab, or Gogs
A few self-hosted Git platforms compete here. The right pick depends on what you care about.
Reverse Engineer USB Devices with Wireshark and Python
Reverse engineering an unknown USB device means working out the protocol it uses to talk: the byte sequence that makes it do things. The good news is that most USB devices don’t encrypt their traffic. Everything they send and get back travels in plain sight on the USB bus, and Linux gives you the tools to watch it. Once you know the protocol, a Python script using pyusb can drive the device directly and skip the vendor software.






