← Back to context

Comment by ben_w

4 days ago

> The difference is whether or not you find computers interesting and enjoy understanding how they work.

I'm a stereotypical nerd, into learning for its own sake.

I can explain computers from the quantum mechanics of band gaps in semiconductors up to fudging objects into C and the basics of operating systems with pre-emptive multitasking, virtual memory, and copy-on-write as they were c. 2004.

Further up the stack it gets fuzzy (not that even these foundations are not; "basics" of OSes, I couldn't write one); e.g. SwiftUI is basically a magic box, and I find it a pain to work with as a result.

LLM output is easier to understand than SwiftUI, even if the LLM itself has much weirder things going on inside.

So, can you tell me everything that happens after you type www.google.com<RET> into the browser? ;)

  • Nope, but that was the example I had in mind when I chose my phrasing :)

    I think I can describe the principles at work with DNS, but not all of how IP packets are actually routed; the physics of beamforming and QAM, but none of the protocol of WiFi; the basics of error correction codes, but only the basics and they're probably out of date; the basic ideas used in private key crypto but not all of HTTPS; I'd have to look up the OSI 7-layer model to remember all the layers; I understand older UI systems (I've even written some from scratch), but I'm unsure how much of current web browsers are using system widgets vs. it all being styled HTML; interrupts as they used to be, but not necessarily as they still are; my knowledge of JavaScript is basic; and my total knowledge of how certificate signing works is the conceptual level of it being an application of public-private key cryptography.

    I have e.g. absolutely no idea why Chrome is famously a memory hog, and I've never learned how anything is scheduled between cores at the OS level.

  • Curious if anyone has turned answering this question into an entire book, because it could be a great read.