git worktree lets you check out multiple branches of the same repository simultaneously into separate directories - no stashing, no cloning, no context switching overhead. Each worktree shares the same .git object store, so you get independent working trees instantly without re-downloading any history. Run git worktree add ../my-repo-hotfix hotfix/urgent-fix and you have a fully functional working tree on a separate branch, ready to build and test while your feature branch stays untouched in the original directory.
Coding
Pragmatic notes on developer tools, languages, and workflows. Shortcuts, tricks, and lessons from actually shipping code.
Git Worktrees: The Underused Feature for Multi-Branch Development
FastAPI Webhook Bot: GitHub and Gitea Automation
You can build a bot that labels issues, enforces PR naming, posts review comments, and triggers workflows. Write a FastAPI app that takes webhooks from GitHub or Gitea , checks the signature, and calls back to the right API. The same handler works for both forges. Header names and payload shape differ a bit, so one codebase can serve both.
How Repository Webhooks Work on GitHub and Gitea
Both GitHub and Gitea let you set up webhooks at the repo, org, or (for Gitea) system level. When an event fires (someone opens an issue, pushes a commit, opens a PR) the forge sends an HTTP POST to a URL you control. The body is JSON and describes what happened.
Rust for Python Developers: Rewrite Your Hot Paths for 10x Speed
Python is excellent for most of what developers throw at it - API servers, data pipelines, automation scripts, machine learning glue code. But CPU-bound work is a different story. When you’re parsing 500MB log files, running simulation loops, or crunching millions of rows in a tight inner loop, you’re going to hit a wall. Not always, but often enough that it becomes a real problem.
The solution is not to rewrite your entire application in Rust. That’s dramatic and usually unnecessary. The better approach is to profile your code, find the 5-10% that consumes most of the CPU time, and rewrite just that part in Rust. The rest of your codebase stays Python. Your interfaces stay Python. You just swap out the slow function for a fast one.
SQLite Scales to Production: 10K TPS, WAL Mode, Real Benchmarks
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.
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.
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.
Botmonster Tech




