HNHacker News
TopNewBestAskShowJobs

samwho

1,458 karma · joined June 25, 2011

I write interactive visualisations of programming topics at https://samwho.dev
submissionscomments
samwho··on Gemini 3.6 Flash, 3.5 Flash-Lite, and 3.5 Flash Cyber
You are extremely welcome.
samwho··on Gemini 3.6 Flash, 3.5 Flash-Lite, and 3.5 Flash Cyber
Sam Rose here. Thank you <3
samwho··on I ported Kubernetes to the browser
I gave my boss every opportunity to stop me.
samwho··on I ported Kubernetes to the browser
Single browser.
samwho··on I ported Kubernetes to the browser
I learned that etcd wasn’t required while making webernetes! I’d always thought it was, was cool to learn some clusters use other storage backends.
samwho··on I ported Kubernetes to the browser
Completely agree! Wasn’t trying to discourage, hope it doesn’t have that effect.
samwho··on I ported Kubernetes to the browser
Thank you!

To address the earlier comment: I didn’t go down the “implement the OS-level stuff required to get k8s to compile to wasm” path due to bundle size, honestly and truly. My testing indicated it could be over 10Mb, and I didn’t want that if I could avoid it. Turns out, I could avoid it.

Whether it’s a bad idea remains to be seen. It could be! The project will never have full parity with k8s, and as k8s moves forward I probably won’t keep up. But I think the core of k8s is stable enough that that’s okay, and I can make great content about the bits that don’t change.

samwho··on I ported Kubernetes to the browser
I’d guess that about 90% of the webernetes code is ported directly from the Kubernetes codebase. In that sense it is a port of Kubernetes to the browser. But the CRI and CNI are facsimiles created to work in the browser and for the purpose of making educational content.

The thing I think is most misleading about the title is that I haven’t ported _all_ of Kubernetes. It’s just the slice I needed. I’m hoping to gradually port more of it, though.

samwho··on I ported Kubernetes to the browser
I’m 100% confident it would be possible to do a worker-per-pod runtime. If you’re serious about trying to make it then slide into my DMs, would love to talk about it. I also think a CRI that supports WASM would be fairly easy.

Volumes are one of those things that I’m quite sure won’t be that difficult to implement but I don’t have a need for them in the near future, so likely won’t support them for a good while.

samwho··on I ported Kubernetes to the browser
This is it. If you’re building something novel, and you want to rely on LLMs, you need to invest heavily in making tests. You don’t have the luxury of a reference implementation like I did here.
samwho··on I ported Kubernetes to the browser
I have some potentially bad news for you:

https://samwho.dev/load-balancing https://encore.dev/blog/queueing

samwho··on I ported Kubernetes to the browser
For some projects I think only reading the tests is probably fine. In this project I didn’t think it was enough purely because it’s a port of existing code, so there was a need to validate the port was as exact as it could be.

Many projects would be just fine if you created a comprehensive-enough set of tests that you understood to be enough.

samwho··on I ported Kubernetes to the browser
Web workers were on my mind from the start but I never found myself needing them. They were always my ace-in-the-hole if this ended up being too CPU hungry on the main thread but it never happened, so I didn’t bother.

One of the fun things is it shouldn’t be too difficult to create a new RuntimeService that uses web workers and slots in alongside my existing CRI. I’d love a PR along those lines!

samwho··on I ported Kubernetes to the browser
Sadly Katacoda got paywalled (totally get why they did it, these things have costs). I think some other similar platforms disappeared because they ran out of people willing to fund it. It’s a shame.

I’m hoping this offers an alternative. It has the risk of becoming out of date with reality, but at least even in that case the core should ~always be relevant.

samwho··on Project Gutenberg – keeps getting better
Looking really good! Great work.
samwho··on Quantization from the Ground Up
You’re welcome! Thanks so much for the kind words.
samwho··on Quantization from the Ground Up
Thank you!
samwho··on Quantization from the Ground Up
“Zero point” is how I saw it referred to in the literature, so that’s what I went with. I personally prefer to think of it as an offset, but I try to stick with terms folks are likely to see in the wild.
samwho··on Quantization from the Ground Up
Definitely could be, but in the time I spent talking to the 4-bit models in comparison to the 16-bit original it seemed surprisingly capable still. I do recommend benchmarking quantized models at the specific tasks you care about.
samwho··on Quantization from the Ground Up
Thank you! I was really surprised how robust models are to losing information. It seems wrong that they can be compressed so much and still function at all, never mind function quite closely to the original size.

Think we're only going to keep seeing more progress in this area on the research side, too.

samwho··on Temporal: A nine-year journey to fix time in JavaScript
Thanks for linking to my silly little quiz in the article! :)
samwho··on I asked Claude for 37,500 random names, and it can't stop saying Marcus
I wrote a tool called llmwalk (https://github.com/samwho/llmwalk) that’ll deterministically show you the likelihood the top N answers are for a given open model and prompt. No help on frontier models, but maybe helpful if you want to run a similar analysis more quickly on open models!
samwho··on Graph of All Human Languages
My mistake! Misunderstood the underlying dataset. Not sure how to edit it though. Thanks for calling it out.
samwho··on Ask HN: Share your personal website
Oh, you beat me to it! :D
samwho··on Show HN: Vibe coding a bookshelf with Claude Code
I love this, the end result looks so good.

Something you don’t really mention in the post is why do this? Do you have an end goal or utility in mind for the book shelf? Is it literally just to track ownership? What do you do with that information?

samwho··on Ask HN: What are the best engineering blogs with real-world depth?
Thank you <3
samwho··on Prompt caching for cheaper LLM tokens
Thank you! <3

These are all built with React and CSS animations (or the Web Animations API where I needed it). I’m not very good at React so the code is a real mess. 2 of the components also use threejs for the 3D bits.

For the stuff on my personal site, which simonw graciously linked to in another reply, you can see all the code behind my work at https://github.com/samwho/visualisations

samwho··on Prompt caching for cheaper LLM tokens
Simon, you’re too kind. Thank you. <3
samwho··on Prompt caching for cheaper LLM tokens
When I was writing this, GPT 5.1 was the latest and it got it right away. It’s the sequence of prime numbers fwiw :)
samwho··on Prompt caching for cheaper LLM tokens
How would information leak, though? There’s no difference in the probability distribution the model outputs when caching vs not caching.
Page 1 of 10Next →