Ville Säävuori

@uninen.net

Oldskool Web Monkey and a DJ. Posting about the Web, Python, Django, TypeScript, Vue. Founder of slipmat.io Documenting my learnings at http://til.unessa.net Personal homepage (in Finnish) at https://www.valveilla.net

I appreciate the tool and the work put into it but I do *not* appreciate that public blog posts (or any comms directed to humans for that matter) are written by Claude. It just reaks of not giving a shit and feels disrespectful. Looking at you pnpm

Pi has taught me that I want my dev tools to be easily malleable. Omarchy seems interesting to me for the same reason. It's not perfect but it's *way* better than the catastrophe of Tahoe. Sure, can't run Logic but I can run --and tweak-- all my dev tools.

One thing that I love about LLMs is how they drastically cut down the "how tf does this [random complex tool] work"-time that used to totally drain you. Being able to Just Build is so rewarding 🎉 ..brought to you by "just signed and notarized an Electron app in CI in 3 mins"

What's happening w Codex usage today?!? Had 50% usage left this morning, after TWO short Pi sessions (worth maybe ~2%) I'm suddenly at 0% and the analytics usage graph shows 0 for today 🤔😅 wtf Grateful for manual resets now! These tools are soo randomly weird sometimes.

LLMs have given us the ablity to fix broken sw and do those big refactors that just weren't possible before. @slipmatio codebase is ~260k loc but it feels very malluable as even big back+front refactors take only days instead of months. Software Engineering laws have changed.

The final boss of household assistant robots is picking blueberries from a forest. By the time that becomes reality, ChatGPT models will have been writing perfect prose and docs for years.

I've been thinking about the long-term implications of vibecoded production code. We've also had codebases build by That One Dev, no one else in the team had any clue, everything was a mess and impossible to work on. It never worked. Now we've been automating exactly that 😬

I initially thought the LSP in OpenCode was a great idea until @badlogicgames taught me it really isn't. But. Why tf hasn't anyone come up with a tool-like LSP that would make "rename this to this" a deterministic O(1) operation instead of a 25 min struggle?!

These resets are getting out of hand. Here's an idea for the flicker company and forprofit company: start selling 5h timeouts as well. "Claim your timeout and we'll lock you out for 5 hours."

5.6-sol is so trigger-happy that had to write a Pi extension just to give it extra system message to tame it down and lower the probability of it doing anything stupid. no idea if this works but this is better than any sandboxing I've tried.

I love that current SOTA models know the @simonw's Lethal Trifecta by heart. Fable wrote: "The design goal is breaking the lethal trifecta (private data + untrusted content + external communication) at every layer."

Sol on xhigh found a real security issue from a large-ish Python codebase in ~4minutes that all previous models have missed -- pretty good. ..it continued for another ~30 mins, and decided to continue in a totally separate (but related) repo and found an issue there 😅

Trying to get GPT-5.5 to write good docs feels like trying to get your dog to eat the medicine; there's absolutely zero chance it'll work, no matter how hard you try.

Days w/o GH Actions incidents: 0. A workflow in a random small repo that runs Playwright in ci got stuck installing it and spent ALL my monthly CI minutes in one failed 6h run that never finished bc some network issue 🤦‍♂️

Been thinking about code, carpentry, and other crafts. Code is IMO definitely in "monkeys should not do it" category but hand-crafted carpentry still feels valuable over CNC-machined stuff. Still, there's *something* in hand-crafted software that we shouldn't lose.

Two things I love most about working with LLMs; 1) it's immediately clear if your code is unintuitive or written in a non-obvious way as LLMs struggle with it no matter how much you try to document it 2) following best practices finally pays out in full 🎉

First few 5h sessions w Opus 4.8: 1) Extremely annoying and hard to work with due to unpredictable behavior. Ask it to "load plan implementation skill", it loads it and then starts using git and searching for plans, picking one *randomly* and just start doing stuff. (!!?!?) ..

Feeling vindicated bc I never took the time to learn cookiecutter properly, always kept manual template repos. Now I don't have to anymore; it's so fast to let GPT-5/low loose on a handwritten template repo and tell it exactly what you want 🎉 WKND project coming up!

Hands down the worst part of daily driving a finely customized Pi: going back to Claude Code feels like having to drive a Soviet Lada from the 80s 💀

I remember a time when Netflix had "share your logins with a friend" ads. Getting the same vibes with this Anthropic shit. They have enough corporate clients now to not care about smaller clients anymore. CC is now by far the worst harness but Opus 4.6 is still my fav model 🤷‍♂️

It's bonkers to think back how AI workflows have changed in the last couple of years. Getting a function to copy-paste felt awesome a year ago before CC era started. No I'm bummed when _some_ of the code produced by a 80 min agentic session is sub-par 🤯

Slopping w Claude, part n Me: hey Claude (Sonnet / High), wasnt this issue already solved? Claude: nope Me: properly recheck, what were the last commits about? Claude: related but didn't fix this Me: ok, fix it Claude, ~1h later: the PR wont merge bc main has the code already 💀

I have a weird issue with gpt-5.5 where it stops after each message to user. It reliably either responds to the initial prompt or says something mid-task and then just stops. Super weird and extremely annoying. I wonder if this is a prompt issue or Pi issue or model issue 🤔