Indie product engineer obsessed with dev tools, performance & AI.
Maintainer of duckdb-rs & duckdb-go. Zig-pilled. ⚡️
🔗 mathias.blog
Mathias Lafeldt
Loading...
One year at @ducklabs.com as of yesterday. Lots of duckdb-rs & duckdb-go releases shipped and fixes landed in core. Grateful for this team and excited for year two. ❤️
Mathias Lafeldt
Generous or desperate? In any case, it's time for fast mode again. ⚡️
Agent memory is such a bad idea. Way too magic/opaque/unsharable. Embrace AGENTS.md and docs/adr for working instructions and design decisions. Disable and reset agent memory in Claude Code and Codex.
From my Codex profile: I obviously still care about code quality
Best commands/skills for local code reviews:
⭐️ /code-review built into Claude (use max effort)
⭐️ /review-pr from Claude's pr-review-toolkit plugin
⭐️ /thermo-nuclear-code-quality-review from Cursor
One of my most useful skills is /squash-commits. It does what you'd expect, but also proposes different commit groupings and is hunk-aware (splitting commits when it makes sense). I use it all the time to clean up branches and PRs. 💪
Awesome: change the play button to start Spotify instead of that crappy Music app.
lowtechguys.com/musicdecoy/
I've always had trouble deciding whether to wrap Markdown lines (at around 80 chars) or let them continue indefinitely. Semantic Line Breaks seem like a practical, diff-friendly alternative, esp. for AI-generated content. There's even a sembr-reformat skill.
sembr.org
"You generated an app. That’s great. But why would the world use your generated app over another guy’s generated app?"
brandur.org/atoms/hcpfyx2