SQLite is the right default database for most apps. With WAL mode on, it gives you unlimited concurrent readers and one writer. That writer can sustain thousands of transactions per second on modern NVMe drives. SQLite also handles files up to 281 TB and needs zero config, zero extra processes, and zero network hops. Start with SQLite. Move to PostgreSQL only when you hit a real, measured limit, not a guess.
Latest
Hands-on experience with AI, self-hosting, Linux, and the developer tools I actually use
CSS Anchor Positioning: Replace Floating UI With CSS
CSS Anchor Positioning is a browser-native feature that pins any absolutely-placed element to another element in the document. No JavaScript required. With the anchor() function, position-anchor property, and @position-try rules, you can build tooltips, dropdown menus, and context menus in pure CSS and HTML. It now works in Chrome 125+, Firefox 132+, and Safari 18.2+, which covers about 91% of browser traffic. Pair it with the HTML popover attribute (Baseline 2024) and you get show/hide toggling, keyboard dismissal, and top-layer stacking for free. The JavaScript tooltip library is dead for most use cases.
Feature Flags DIY: 100-Line SDK vs. LaunchDarkly Cost
You can build a fully functional feature flag system using a JSON configuration file, environment variable overrides, and a single evaluation function in roughly 100 lines of Python. This gives you gradual rollouts, kill switches, and per-environment toggles without paying for LaunchDarkly , Unleash , or any other SaaS platform. The core pattern is straightforward: define each flag with a name, a boolean or percentage-based rule, and a list of target environments, then evaluate it at runtime through a thin SDK you own and control completely.
Linux File Recovery: extundelete, PhotoRec, Btrfs snapshots
If you just ran rm on something important and you’re in a panic, stop touching that filesystem right now. Run mount -o remount,ro /dev/sdX to remount the partition read-only first. Every write to the disk after deletion cuts your odds of getting those files back. Here is the short answer. For ext4, try extundelete
or debugfs first, then PhotoRec
as a fallback. For Btrfs, roll back a snapshot if you have one, or use btrfs restore if you don’t. The right move depends on your case, so read on.
Tailscale Mesh VPN with WireGuard: 100 Devices, Zero Config
Tailscale builds a private WireGuard
-based mesh VPN across all your devices with almost no setup. You install the client on each machine and sign in with your identity provider. Every device then gets a stable 100.x.y.z IP that works no matter the NAT, firewalls, or network changes. Tailscale
v1.96 adds ACL tags for per-device policy, exit nodes, subnet routers, and MagicDNS for hostname lookups. For homelabbers, it is the easiest way to link a server, cloud VPS, phone, and laptop into one network.
Build Powerful TUI Apps in Python with Textual and Rich
Terminal apps used to mean raw curses calls and a lot of pain. Today, Python’s Textual
and Rich
libraries have flipped that. In under 50 lines of Python you get a full-screen app with styled layouts, widgets, keyboard control, and live data. No web browser. No Electron. No JavaScript. This post walks through both libraries, shows how they fit together, and builds up to a full working example you can extend right away.






