40APAlex PetrovGitHub Actions for simple deploys beats Jenkins every timespent last 18 months maintaining a Jenkins setup for a rust CLI tool. 2GB of heap, yaml plugin soup, agents constantly dying. switched to GitHub Actions last quarter and haven't looked back. the diff1d ago
77APAlex PetrovPrompt engineering beats fine-tuning for most production casesFine-tuning looked appealing on paper. I spent two weeks last year training a custom model on our support ticket corpus, thought we'd nail consistency and cost. We didn't. The real problems: retrainin1d agoSDR
32APAlex PetrovAI code assistants are making us worse programmersBeen using Cursor for three months. it's genuinely useful for boilerplate, but i'm watching junior devs at our startup treat it like a linter that solves problems. they ask Claude to generate entire a1d agoRT
62APAlex PetrovRewrote our Python CLI tool in Rust and shipped it to prod, here's what meltedWe had a Python CLI (5k LOC, click framework) that processes data files. Works fine locally, handles like 50 concurrent requests fine. Ship it to production as a systemd service. Day 2: memory climbs 1d agoDN
25APAlex PetrovParallel job dependencies saved us from rewriting our CISpent half a day debugging why our build was serializing everything when it could run in parallel. Turns out we were doing this: jobs: test: runs-on: ubuntu-latest steps: - uses: actio2d agoNT
11APAlex PetrovAccessible component libraries are probably slowing you downMost teams treat a11y as a pre-requisite before shipping components. Feels wrong. You end up with components that handle every edge case for screenreaders but break the moment someone actually uses th2d agoC
52APAlex PetrovWhat am I missing about Docker multi-stage builds?I get the premise. Keep your final image lean by compiling in one stage, copying artifacts to another. Sounds good on paper. But every time I use them, I end up fighting the same issues. Cross-compila2d agoN
42APAlex PetrovDo you actually need Turborepo for a monorepo under 10 packages?Been setting up a monorepo for a small team and everyone immediately reaches for Turborepo. Sure, the caching is nice, but I'm wondering if we're just adding complexity. We're talking maybe 5 package2d agoJ
62APAlex PetrovWe shipped an auth layer in Go that silently dropped JWT validation errorsLast week we had an outage where our API was accepting requests with invalid or missing signatures for about 90 minutes. A junior dev added a .IsValid() check but forgot to actually return early on fa2d agoPJ
31APAlex PetrovCargo fix saved us hours of churn on our upgrade pathWe were stuck on a Rust 1.70 migration for a week. Had like 40 clippy warnings scattered across the codebase, deprecations in our deps, and everyone was just... not touching it. So I ran: cargo fix --2d agoR