Ateş Göral 🔥🐐

@ates.dev

coder · open sourcer · graphics/electronics/music tinkerer · dad to 1 human and 2 cats · Chief DIY Officer at home · Principal Engineer at Shopify · opinions are my own—and those of my gut bacteria · https://ates.dev · aka magna

The stuff that coding agents regularly say has added a bunch of terms to my vernacular: durable/brittle, seam, exact. (I mean, I obviously already knew what those mean, but I wouldn't use them as often, or in the same context as these LLMs.)

Random brag: The very first Ruby gem I published, event_stream_parser (for SSE), is 27M+ downloads strong, powering most LLM clients, with ZERO reported bugs so far. I wrote it by interspersing code among spec-as-comments, attaining 100% spec + branch coverage. www.ruby-toolbox.com/projects/eve...

The download graph of the event_stream_parser gem, showing exponential download growth since its inception. Nearing 30M downloads.
Ateş Göral 🔥🐐@ates.dev · last yr.

I had followed a similar approach with github.com/Shopify/even..., but interspersing the implementation instead of the tests.

An assembler (compiler) takes assembly (language) and turns it into machine code (compiled binary). You don't "write in assembler" (nonsensical) or "write machine code" (unless you're really writing the bit sequences by hand). You write assembly.

So I'm vibe-coding another agent that can vibe-code. Just added a run_code tool that uses Coudflare Dynamic Workers. I wanted to take it for a first spin. My agent, knowing me a bit, decided on rendering a plasma effect instead of doing something simple like a Hello World :)

A demoscene plasma effect rendered using ASCII characters

i think everyone who likes to critique AI writing would be well-served by reading this article. you can hate on the title all you want but if you say something like "AI just generates most plausible next word based on sentences it saw before" you're often *undermining* the argument you want to make

On the Biology of a Large Language Model

We investigate the internal mechanisms used by Claude 3.5 Haiku — Anthropic's lightweight production model — in a variety of contexts, using our circuit tracing methodology.

transformer-circuits.pub

TIL: Web MIDI port IDs monotonically increase on Android Chrome, as you disconnect and reconnect devices, so you need to use manufacturer/name to remember a preferred device.

I built a Claude Code plugin that teaches it how to work with Ruby - picks the right version manager, reads the right docs, connects to Ruby LSP. I think we will eventually have community maintained bridges between AI agents and the language ecosystem.

I am addicted to Cursor Agents -- which also brought me back to using Cursor more (over Claude mentions on GitHub issues or directly using Claude Code). Installed as PWA on my phone. I throw tasks at agents even when I'm AFK. Then I test the PRs on Cloudflare preview deployments before merging. 😍

Using gpt-oss-120b on Cerebras through Hugging Face. It's so fast, you can hardly experience the streaming! Started building a specialist chatbot for myself. Realizing it might be useful to others too. Stay tuned.

Despite the n+1 litter box advice, we've been using n-1 since adopting these guys. And the one on the right had never been covering her poop. On a long vacation, we upgraded to n and she started partially covering her poop. I have a feeling that n+1 will fully fix the situation. #caturday #poop

Two fluffy chonky cats lying side by side on their backs on patio furniture