Post

Inviting controversy with this take, which is outside of my comfort zone, but I do stand by it. You can generate good quality code with LLMs, it “just” requires a tonne of human oversight and automated guard rails. Got a week off then I’ll be building my first proper post with webernetes. Stoked.

ngrok@ngrok.com

Our own @samwho.dev ported Kubernetes to the browser. Like a real flippin' cluster with lifecycles, DNS, and a simulated network. It's ~100k lines of TypeScript, almost all written by LLMs, but with every line reviewed by hand to keep it slop-free ↓ ngrok.com/blog/i-porte...

4 reposts79 likes

Looking forward to this weekend, hopefully I have time to play around with Webernetes! Hyped since the first sneak peek. I don't think hating on individuals for their honest AI takes is the way to go(though some are...uh, unique), but it does feel like there is less whimsy around me.

Let me know how it goes! Happy to help if you get stuck (docs are thin on the ground atm, sorry!) I’m probably being a bit too preemptive about it but from day 1 I expected some folks to brand me as a slop merchant for doing this. I don’t think I am, I think LLMs are great tools when used well.

Like I dislike the culture around LLMs and how companies ride the wave, but I do think that curiosity about tech is almost always a good thing. It's kinda like social media, I dislike doomscrolling, but activitypub/atproto can be more sustainable options for healthy communication.

I think the culture in programming circles have been really weird since some of those LLMs gotten better since last year. The blogpost mentions it as well, but I think it's more interesting to discuss how certain tools/alternatives can help with accessibility and understanding k8s.

I agree with your hot take. Some of the best work of my career has been heavily influenced by LLMs. It has also been the hardest work, as counter intuitive as it seems. The ability to do more, more thoroughly, with fewer blockers or pauses is exhausting. But undeniably great work is possible

Completely agree. I have found working with LLMs incredibly rewarding, but also extremely intense. The work also becomes much more about design, process and agent orchestration than about just coding. It’s a different job. But it’s such fun, and quite addictive, very hard to stop.

I also think that the bigger productivity gain is in the need for less coordination than purely in coding. If you are well organised as a team, the fact that LLMs are automatically fully briefed about the latest decisions means that communication overhead is dramatically lower.

Thank you! 🙏❤️ I’m very excited to start using it in earnest next week. Got a bunch of stuff I think it’ll be fun to write about.

I still can’t believe that this widget sits on top of 100,00 lines of etcd, kubelet, cluster networking, probing, pod lifecycle, deployment controller, namespace controller, GC controller, and more. And all of the perf issues I had with it were React and the SVG filters in the bloody blog theme.

I’m not aware of any reason there would be. As I understand it, there’s not much difference between the output JS from the TS compiler between 6 and 7.

pre-llms would you have trusted an engineer that said they had thoroughly reviewed 100k loc in a month? ive never worked anywhere big-techish that pushes code at that scale so i cant imagine doing it without a healthy dose of LGTM

It’s about 1600 lines a day, and most of the review was side-by-side checking that the TS version matched what the Go version was doing, which is more tedious reviewing but less thinking required. I think it’s reasonable, yeah.

How enjoyable/exhausting did you find the process? Having to review 100,000 lines of generated code sounds super exhausting and not all that enjoyable to me. Not judging or making a value statement, just genuinely curious about your experience.

That's kind of my problem with the whole LLM-assisted coding workflow. If you're diligent about it, the results can be just as good (± some variance based on the task) as me doing it myself, just faster. It just absolutely sucks the joy out of the process for me.

I’ve heard this sentiment from others, it’s very different to my own experience. I feel like I can take on more ambitious tasks than I used to be able to (case in point), and I actually really enjoy the process of coding with LLMs. It’s also great for hand pain.

I’d like to see the post. I don’t think it’s a hot take anymore, just an AI skill issue (no pun intended). I think most people are using little-to-no guardrails.

I also think people often lack the discipline to properly review LLM generated code, and that makes it very easy for bugs to slip through.

That too, meticulous review + tests. Some people even leave all those verbose nonsense comments instead of trimming them down, that makes me think they didn’t review the code at all so I’m extra careful.