Johan Carlin
johancarlin.bsky.social
Johan Carlin
@johancarlin.bsky.social
Python, data engineering, DevOps for lack of better options. Recovering academic.

twitter.com/johancarlin - abandoned for obvious reasons
https://fosstodon.org/@johancarlin
Tried to edit a Google doc with Gemini and was surprised how rough this still is. Edits don't appear as tracked changes! When you accept a change from the chat it just gets pasted (badly) into the document.

There's a disconnect between devs and business on AI and I can see why with this tooling
December 1, 2025 at 8:46 PM
See also the UK vs Sweden
In theory the Bay Area is warmer than Denver in winter, but in practice it is humid and every building is poorly insulated, so I’m always much colder
November 30, 2025 at 9:17 AM
There's only 1 real use case for lost device on the Find My app, and it's outwitting kids that are trying to extend screen time by locking themselves in the bathroom
November 28, 2025 at 7:15 AM
I learned to code to make sense of neuro data as a student. Realised gradually that I enjoyed building the data pipelines much more than making sense of the invariably disappointing results. And that you could just do the former for a living
What’s the lore behind choosing your career path ?
November 23, 2025 at 7:17 PM
If you're going to fork an editor to add agentic AI *again*, why does it have to be VS Code and not nvim?
November 22, 2025 at 6:48 PM
Reposted by Johan Carlin
I don’t mind the idea of AI doing my dishes because that’s the stuff I want to be disrupted.

But it doesn’t have to look human to do this! Look at our little roombas. They do a good little job, and should they turn evil, and it would be hard for them to punch us in the face.
November 15, 2025 at 8:53 PM
I think this Gemini behaviour is really confusing because at the moment we expect software outputs to be deterministic. We've internalised that there's no point to press retry if it doesn't work the first time, but now suddenly that's actually essential because the tool is intrinsically flaky
November 8, 2025 at 7:09 AM
There should be a dynamic block list that detects when otherwise good accounts start posting US sports content and puts them on the list until the game is over
November 2, 2025 at 2:34 PM
There's a lot of anti-MCP sentiment out there along the lines of, just use CLI tools. And it's true, LLMs are great at that and you'll never beat the flexibility of it.

But you also can never secure it the way you can an oauth MCP. So for enterprise it's going to be all MCP in the end...
October 25, 2025 at 11:01 AM
Coding agents + credentials in .env files is a complete security disaster. Copilot loves to go looking there and there's no way to stop it since it counts as a file read rather than a CLI command. It also loves to try `env | grep SECRET` but that you can disallow
October 25, 2025 at 6:53 AM
Reposted by Johan Carlin
I built a new lightweight Chrome MCP/Skill/Claude Plugin and wrote a bit about the Zen of MCP API Design: blog.fsck.com/2025/10/19/m...
When it comes to MCPs, everything we know about API design is wrong
I used to write more
blog.fsck.com
October 20, 2025 at 3:30 AM
Friday afternoon python packaging quiz: `poetry add polars[nonexistentextra]`, what happens?

A. Poetry throws an exception about the non existent extra
B. Poetry happily installs the package with no extra and you spend an hour trying to understand why CI broke

uv does the same but warns at least
October 10, 2025 at 1:49 PM
Reposted by Johan Carlin
Ah, now I see the issue!

When processing token N, attention doesn’t just receive information from tokens (1…N), it also receives information from intermediate representations of (1…N) at prior layers. With autoregression, this allows a model to “set up” useful representations for future generations
October 7, 2025 at 9:57 PM
Reposted by Johan Carlin
"the AI bubble will collapse because the technology has plateaued and cannot improve"

will_smith_spaghetti.mpeg

"we are on the verge of superintelligence"

seahorse_emoji.txt
October 7, 2025 at 4:00 PM
Follow everyone in a new collection. The feed is garbage again. Unfollow anyone

... Posting nothing but US politics

... Relentlessly RTing the latest tempest in the Bluesky teapot

... That in passing refers to the "lower half of humanity"

... Posting their drawings of buxom fox girls
October 5, 2025 at 7:55 AM
py.typed is an empty file in your python package's source directory. Every once in a while someone mistakes it for a test artefact and removes it, and all downstreams start failing CI because mypy in fact relies on it to indicate that the package is typed

github.com/minio/minio-...
Missing `py.typed` in 7.2.{16,17} builds on PyPI · Issue #1503 · minio/minio-py
The py.typed file appears to be missing in the build available at https://pypi.org/project/minio/7.2.16/#files which informs Mypy that the library has typing annotations. It was present in the 7.2....
github.com
September 30, 2025 at 5:19 AM
Windowed apps on iPadOS 26 works really well. The line between iPads and Macs keeps getting blurrier and it's pretty clear which one is going to supplant the other
September 27, 2025 at 7:37 AM
Using Gemini to control Google Home works better than the old assistant on a good day, but every 20 requests or so the inherent LLM stochasticity kicks in and it insists it has no idea how to control my lights
September 24, 2025 at 5:23 PM
Reposted by Johan Carlin
Ironic: Gartner had my post ridiculing Gartner removed. The one that shared Gartner's Magic Quadrant about AI Code Assistants, which does not include Claude Code, OpenAI Codex, and ranks Amazon above Cursor.

This one: github.blog/ai-and-ml/gi...

Are they embarrassed to share their Magic Quadrant?
September 23, 2025 at 3:54 PM
Reposted by Johan Carlin
This dude threw a proxy between Claude Code and the Anthropic API to learn how Claude Code CLI works. Cool idea.

youtu.be/i0P56Pm1Q3U?...
I Reverse-Engineered Claude Code: Learn These Agent Tricks
YouTube video by Yifan - Beyond the Hype
youtu.be
September 5, 2025 at 12:10 PM
As a developer working in the public sector I can tell you I'm *begging* my bosses to let me use AI tooling unhindered. These takes are really hard to understand
August 30, 2025 at 8:44 AM
It's really hard to research new tools right now because when you go to the readme on GitHub it turns out they're all primarily for AI, however tenuous the link
August 30, 2025 at 5:19 AM
Reposted by Johan Carlin
Reposted by Johan Carlin
Not a paper but maybe this is of interest.

MCP vs CLI: Benchmarking Tools for Coding Agents 👇

mariozechner.at/posts/2025-0...
MCP vs CLI: Benchmarking Tools for Coding Agents
A data-driven comparison of MCP and CLI approaches for coding agent terminal control
mariozechner.at
August 27, 2025 at 6:39 AM
I think the claimed efficiency gains of LLMs are mostly real but it comes from mundane stuff like this, which takes up a surprisingly large proportion of dev time
Just updated an old library from the its ancient Python build system to pyproject and UV; updated the Github Actions to test and publish to pypy; added bump2version to handle versioning; and added a new feature and tests for it!

In about 40 minutes.

Would have taken hours pre-LLM.
August 26, 2025 at 6:56 AM