Live data from Hacker News

I'm 17 and wrote this guide on how CPUs run programs

github.com

11–20 of 327 posts

Re: I'm 17 and wrote this guide on how CPUs run programs

#11
post #7

Very nicely written, and congrats on doing such a deep dive on this kind of topic. These days 17 year olds can get away with "programming" by gluing things they don't understand, but I think they'll eventually hit a ceiling. So what you're doing is super valuable, not for yourself, but for everyone else who will learn from your materials. Well done :) EDIT: now go write an emulator if you haven't already, it's a ton…

These days 17 year olds can get away with "programming" by gluing things they don't understand... I've been doing that for 26 years. ...but I think they'll eventually hit a ceiling. I wonder if it'll happen soon.

I'm not sure it's always obvious to ourselves when we have. We humans are amazing at denial and telling ourselves whatever story we want to believe in.

I'm not picking on you. If there's one thing I'm terrified of, it's blind spots.

Re: I'm 17 and wrote this guide on how CPUs run programs

#13

This is great work :) thanks for sharing it with us. Unexpected Linkin Park bit at the end was nice, but now I'm wondering if Linkin Park is now considered 'oldies'

I mean, of course? AC/DC has got to be the "moldy oldies" of today, which leaves Elvis or The Champs nothing but genetic parasites to the degree that they are still recognizable. Wagner? Vivaldi? Ockeghem? Fuhgeddaboudit.

To be clear, that's the bizarre/absurdist arbitrary line I'm tracing to Linkin Park

Re: I'm 17 and wrote this guide on how CPUs run programs

#14
Hi! I'm Lexi, I wrote this article/mini-book.

There's a classic question of "what happens when you load a website?", but I've always been more interested in "what happens when you run a program?". About 3 months ago, I was really annoyed at myself for not knowing how to answer that question so I decided to teach myself.

I taught myself everything else I know in programming, so this should be easy, right? NOPE! Apparently everything online about how operating systems and CPUs work is terrible. There are, like, no resources. Everything sucks. So while I was teaching myself I realized, hey, I should make a really good resource myself. So I started taking notes on what I was learning, and ended up with a 60-page Google Doc. And then I started writing.

And while I was writing, it turned out that most of the stuff in that giant doc was wrong. And I had to do more research. And I iterated and iterated and iterated and the internet resources continued to be terrible so I needed to make the article better. Then I realized it needed diagrams and drawings, but I didn't know how to do art, so I just pulled out Figma and started experimenting. I had a Wacom tablet lying around that I won at some hackathon, so I used that to draw some things.

Now, about 3 months later, I have something I'm really proud of! I'm happy to finally share the final version of Putting the "You" in CPU, terrible illustrations and all. I built this as part of Hack Club (https://hackclub.com), which is a community of other high schoolers who love computers.

It was cool seeing some (accidental) reception on HN a couple weeks ago while this was still a WIP, I really appreciated the feedback I got. I took some time to substantially clean it up and I'm finally happy to share with the world myself.

The website is a static HTML/CSS project, I wrote everything from scratch (I'm especially proud of the navigation components).

I hope you enjoy, and I hope that this becomes a resource that anyone can use to learn!

Re: I'm 17 and wrote this guide on how CPUs run programs

#15
The only thing is I hate titles like this—the title is bragging a bit too much.

Maybe a title more like:

“How I’m helping my high school peers learn about CPUs”.

That way it implies you’re young, smart, and care about others—all of which I imagine are true :)

Re: I'm 17 and wrote this guide on how CPUs run programs

#16
post #7

Earlier quoted context omitted.

These days 17 year olds can get away with "programming" by gluing things they don't understand... I've been doing that for 26 years. ...but I think they'll eventually hit a ceiling. I wonder if it'll happen soon.

I'm not sure it's always obvious to ourselves when we have. We humans are amazing at denial and telling ourselves whatever story we want to believe in. I'm not picking on you. If there's one thing I'm terrified of, it's blind spots.

In my experience, it's an unknown-unknown problem (don't know what we don't know).

Is it important you can recite cache eviction algorithms from memory? No.

Is it important you know there are such things as caches and roughly how they work? Yes. Because then you can quickly look up the details when/if you need them.

Re: I'm 17 and wrote this guide on how CPUs run programs

#18
Meta point: I'm curious of people's thoughts when OPs in general post "I'm N years old..." or "I'm a blind programmer who..." before posting something unrelated to their life situation. Personally I think this falls into the "girls do not exist on the internet" rule of thumb. No reason to state that you're a girl (or 12 years old or whatever) other than to prime people to look upon your writing with lower standards. I think it is fine to mention your situation in passing or as a footnote if it is interesting, but unsure it really adds anything to lead with it (personally I think it detracts).

That's just my opinion. Anyone else have thoughts?

FWIW this seems pretty well written from just skimming the intro and a bit of chapter 3.

Edit: sorry I did not mean for this to be the top comment and push OP down so far. The writing here is really good and folks should definitely click through and at least give it a skim if they're interested. I was just curious what people's thoughts were on this topic.

Re: I'm 17 and wrote this guide on how CPUs run programs

#19

What's your advice on how to teach programming to my kid? Curious to hear what another young person thinks. Kid is 11, has all the basics, knows how to type, knows how to open a terminal. What things did you think were important to learn, what kinds of things motivated you most? What did you do when you got stuck?

I taught myself everything — my parents are not technical and sorta disliked computers (which I'm sure helped motivate me lol).

So what helped me most was just experimenting a lot, banging my head against a wall repeatedly. When I got stuck I just had to keep trying. Knowing I could Google problems was really helpful, but I also had to learn how to Google. I was motivated by the amazing feeling of finishing something I built, and also the fun of learning and then applying that knowledge.

It's hard to remember my tiny self so I wish I could give better advice. I most of all wish that I had a mentor figure, someone I could ask for questions or who could show me where to look, or even just be a role model. Getting into open source and talking to people online was amazing, although I didn't start that until I was ~12.

It took me a really long time to get where I am. There are probably more efficient ways to do so other than banging my head against things. But it does work! So just encourage them to keep going, and MOST IMPORTANTLY, FOLLOW THEIR INTERESTS!

Post reply on HN