Topics
- Data engineering 29 posts
Microsoft Fabric, Azure data platforms, lakehouse design, ETL migrations, data modeling, incremental loads, watermarks, auditability, and the boring control layers that make pipelines reliable.
- AI-native systems 15 posts
How AI fits into real workflows without turning everything into a black box — especially systems where AI assists, but deterministic logic still owns the final action.
-
Ollama, OpenWebUI, SearXNG, local models, homelabs, GPUs, self-hosted tools, and the tradeoffs between local control and cloud convenience.
- Systems tinkering 13 posts
3D printing, Raspberry Pi, SBCs, OpenWrt, pfSense, Proxmox, Unraid, embedded devices, LTE/5G modules, routers, sensors, and other useful rabbit holes.
- Product architecture 11 posts
Small tools, solo SaaS ideas, anti-bloat thinking, workflow design, and the line where a useful feature starts turning into a platform.
- Knowledge systems 6 posts
Markdown, search, documents, structured notes, versioning, retrieval, and the problem of keeping information useful after the initial excitement wears off.
- Applied experiments 18 posts
Domain-specific systems: recipe versioning, genomics data, smart agriculture, multilingual media, privacy tooling, and other workflows that are really software problems in disguise.
Series
A few throughlines worth reading in order — the same idea chased across different projects.
-
Data failures that stayed green
Pipelines that reported success while producing wrong data — and the cheap, boring checks that would have caught them.
-
Hardware the spec sheet lied about
What the datasheet number hides, learned by buying the wrong thing first.
-
AI, and the work you can check
Where automation is safe, where it silently lies, and why the verification boundary is the whole design.
-
Day two, when the demo has to run
The operational maturity that decides whether a system survives past the launch it looked great at.
-
Where the GPU stops paying
A port that was a wash, then nine measured workloads that show where transfers, fallbacks, and index builds decide the answer.
- The GPU Collision Detector That Didn't Get Faster
- The Projects Where Data Movement Cost More Than Compute
- When Does GPU Parquet Actually Pay Off?
- DuckDB, Polars, and cuDF on One Analytical Pipeline
- How Much of a Spark Plan Actually Runs on the GPU?
- How Many Queries Pay for a Vector Index?
- 100 Million Points on One GPU
- I Moved an Entire ML Pipeline to the GPU
- I Wrote the Same GPU Operation Six Ways
- The Radio Won't Wait for Your FFT
- Five 4K60 Streams Were Fine. The Sixth Was Not.
-
Loading files you do not control
From incremental-load patterns to a preflight check and a full intake path: what breaks when someone else owns the file.
-
Real data on small machines
Fabric without Spark, DuckDB on one node, and a browser as a data workbench: how far a single process goes before a cluster earns its keep.
-
Memory and evidence around a model
Designs that keep the model stateless and put storage, citations, and review in code the reader can inspect.
-
Proxmox storage, in the order you meet it
Choosing a filesystem, building the pool, naming the disks, passing them through, and eventually replacing them.
-
Self-hosting local AI
Why I run it at home, what the first box taught me, and what a 72 GB mini-PC changed.