[HN Gopher] Written by a 16 year old, a book on how computers work
___________________________________________________________________
Written by a 16 year old, a book on how computers work
Author : ILyesMk2
Score : 140 points
Date : 2024-08-04 14:48 UTC (8 hours ago)
(HTM) web link (github.com)
(TXT) w3m dump (github.com)
| ILyesMk2 wrote:
| Greetings! This is coming from a.. as the title says, a 16 year
| old who wrote a mini-book on how computers operate internally
| focusing on RAM and CPU aspects, respectively. Because almost all
| of us (if not all) use computers and similar devices on a daily
| basis without an ACTUAL idea on how they work, even though you
| might have a brief view of your system. You get my point.
|
| Just the fact that I've been using something and not knowing the
| way it really works, made me go insane. And that's exactly why i
| stepped up and taught myself all of it, from start to finish,
| While Apparently my coding knowledge didn't undermine me from
| writing this in a way of "Im teaching you what i learned" rather
| than "learning and writing" that took nearly 6 months to finish
| completely!
|
| If you're the background person.. fine, some acknowledgments you
| might want: Something that made me crazier? web-dev, no
| disrespect to you folks out there but i had to add some extra
| time to the writing (which is exhausting in itself) just to code
| a (yet) simple HTML/CSS/JS website for the book. But since then,
| i fell in love with web-design and styling after using Figma to
| draw all the illustrations seen throughout the segments. Also I
| had the idea to initiate this project when i was 15! So i think
| it's pretty safe to say that this article went through a draft-
| phase of randomly collecting technical information.
|
| And i'm finally happy to share it with the globe! to put it in
| simple Hacker News fashion, any feedback and/or suggestion(s) is
| greatly appreciated hoping this becomes a learning material.
| Check it out and i guarantee you _will_ learn a thing or two:
| https://github.com/hackclub/RAM-a-thon
| otteromkram wrote:
| >...when I was 15!
|
| Eh, ideas like this should be pretty simple when you're
| 1,307,674,368,000 years old ;-)
|
| As others have said, very cool book. Thank you for sharing!
| stonethrowaway wrote:
| You've been bitten by a bug thats prevalent across space and
| time. The poor souls who carry this awful affliction have
| segregated themselves from the polite society to avoid a
| catastrophic societal collapse. They don't know what they are
| anymore. We call them embedded systems engineers. We don't know
| how deep this rabbit hole goes. I wish you a safe journey.
| k310 wrote:
| What a commendable effort! I come from the days of KIM-1 and cpu
| and memory boards where the function of every chip was
| discernable.
|
| At the time, I told my boss to learn these things while they were
| still comprehensible.
|
| Knowing "what goes on inside" is fun.
| ILyesMk2 wrote:
| ty! Those days and people like you are what made these things
| last long.
|
| > while they were still comprehensible
|
| They, in fact still are. Only if you put the time and effort to
| know what goes inside, It's not fun in terms of learning, but
| interesting. Then it becomes fun after you really know what
| goes on.
| nebulous1 wrote:
| They are, in fact, not still comprehensible. Don't get me
| wrong, you can learn a lot, but it's no longer possible to
| have an in depth understanding of everything going on in a
| modern PC. At a certain abstraction level, sure, but the
| subsystems are now too complicated for one person to have
| detailed knowledge of it all.
|
| Okay, I used the word "possible", but perhaps I should have
| used the word feasible. If the information exists then it's
| "possible" to learn it. Although given that the hardware
| companies no longer actually tell us everything that's going
| on in their hardware, you could make an argument for it not
| being possible.
| ernestrc wrote:
| This is beyond brilliant! So well written. Love the gen Z tone.
| I'm bookmarking it for my kids.
| ILyesMk2 wrote:
| Haha, that was the #1 priority while writing!
|
| Let them kids know what happens under the hood of their
| systems.
| esafak wrote:
| Have you tried explaining it to someone? They will provide
| you feedback whether they understand, which will help you
| improve your material and explanations.
| itsmemattchung wrote:
| Hats off! Wish I had the the grit and determination at 16 to
| write something like this
|
| > A 'special' CPU register that holds the memory address of the
| next instruction
|
| Though it's been years since (grad school) I dealt with any
| assembly, for some reason I recall this being the EIP register?
| These days, I rarely touch low level language and yet, I have
| such a deep and profound love for them.
| dooglius wrote:
| RIP with 64-bit x86
| beardedwizard wrote:
| Better to start with 64bit registers these days, it's rare to
| find a 32 bit system when you are just starting out learning
| assembly.
|
| The "Write great code" series of books is a must read for
| those interested in low and "high" level concepts.
| aleph_minus_one wrote:
| > Better to start with 64bit registers these days, it's
| rare to find a 32 bit system when you are just starting out
| learning assembly.
|
| x86-64 ("x64") versions of Windows can run x86-32 binaries.
| ILyesMk2 wrote:
| You're welcome. It wasn't as easy as it looks now, but i
| managed to pull it off at this age.
|
| > I have such a deep and profound love for them.
|
| Oh god, i wish i included more about registers but it isn't the
| main focus- And thank you for clarifying which REG it is, It's
| added to the book!
| spc476 wrote:
| It depends upon the manufacturer. Motorola used PC (program
| counter), Intel used IP (instruction pointer). I think it's
| only the x86 that has multiple names, depending upon the size:
| IP for 16 bits, EIP for 32 bits, RIP for 64 bits.
| asdf6969 wrote:
| It's a cool project. You'll have fun writing a compiler
| ILyesMk2 wrote:
| I can say the same! I considered doing so at some point during
| my research, might _actually_ give it a go.
| teaearlgraycold wrote:
| I did a JIT one for Brainfuck. Pretty easy thanks to the
| language's simplicity.
| icholy wrote:
| A byte is the smallest addressable unit, not a bit.
| ILyesMk2 wrote:
| Oopsie, good catch! I intended it as 'the smallest space X can
| take'
|
| i corrected it.
| icholy wrote:
| It's a pretty impressive write up.
| metabagel wrote:
| I like how you highlight key terms. I think that helps a lot with
| readability.
|
| I also like the irreverent tone.
| ILyesMk2 wrote:
| > 1
|
| The key-terms highlight was a very late addition, the text
| without it was a bit uncomfortable to read.
|
| >2
|
| I hope this catches the eyes of Gen Z/Alpha so they can
| understand how the tablet they're using to watch skibidi videos
| with works.
| Mathnerd314 wrote:
| > Unexpected tidbit: If you abbreviate the term 'interrupt
| descriptor table'. Then reverse it - You get 'TDI', which stands
| for Turbo Charged Diesel Injection, an engine developed by
| Volkswagen fo- Okay. Ethically, believe it or not but computers
| emit more CO2 than cars.
|
| Does this really help people learn the material? I am doing a
| presentation on networking in a week or two for a high school
| group. Certainly I could include stuff like this, but to me it
| seems more like a distraction. If I was writing this I would
| rather include something like a sample table of how IDT's were
| used by old DOS video games. (Disclaimer: I'm 30)
| -mlv wrote:
| If I were to include such a digression, I'd probably keep it as
| a footnote.
|
| But all in all, great work, OP!
| ILyesMk2 wrote:
| My pleasure, happy that you liked it
| ILyesMk2 wrote:
| > Disclaimer: I'm 30
|
| This says it all- jokes aside, i couldn't resist writing a book
| without including combustion engines.
| Mathnerd314 wrote:
| > I couldn't resist
|
| The common refrain of a teenager...
| https://www.npr.org/2016/04/15/474348291/why-teens-are-
| impul... honestly at that age I never went out of my room,
| and I still got in trouble. If you do develop some self-
| control, you could look at
| https://blog.benjojo.co.uk/post/dive-into-the-world-of-
| dos-v... or https://www.sciencedirect.com/science/article/abs
| /pii/B97801... (c.f. also
| https://hackmd.io/@_01X9rimQmWH33Djf8QhoA/SkygF9WdP which is
| based on that book)
| ILyesMk2 wrote:
| These are some of the useful link that i wish came up when
| googling, and DOS is fairly interesting in itself knowing
| it's behind everything from medical equipment to today's
| _common refrain of teenagers_.
| ViktorRay wrote:
| I'm going to disagree with that other guy.
|
| It's your book. If you want to have a lighthearted fun
| digression about combustion engines then I think that's
| fine.
|
| When I read textbooks a fun little digression now and
| then doesn't bother me at all. Usually it puts a smile on
| my face.
|
| I am also in my 30's like that guy and that's my 2 cents.
| f1shy wrote:
| My 2 cts: in Germany yes, in the rest of the world, absolutely
| leave it out.
| jprete wrote:
| I think it's audience-dependent. For readers with less
| background and less pre-existing motivation to learn the
| material, I think it helps to cut down on the density a little.
| It's kind of a cruddy experience to have to pause and digest
| every sentence as you go and it makes it physically hard to
| read a book that way since you have to constantly track where
| you were.
|
| If the audience has more background in the material and a
| stronger pre-existing motivation to read it, then it is
| probably a distraction, and they need a higher density of
| information to keep flow.
| ILyesMk2 wrote:
| So true.
|
| Especially with term highlighting, makes it 2x easier to read
| and keep the information flow to process (and funnier?).
| pvg wrote:
| There's a huge difference between an adult talking to a bunch
| of teens and a teen addressing a bunch of teens. I'm not saying
| this would be the case with this particular thing but it's not
| hard to imagine something delivered by a peer which could at
| worst come across as dorky vs outright cringe when adopted by
| someone else.
| bitwize wrote:
| This gives me very old-internet vibes. Like somebody mashed
| together an introductory guide to how computers work with Real
| Ultimate Power:
| https://www.realultimatepower.net/ninja/ninja2.htm
|
| I don't know how to feel about it as an effective instructional
| guide, but it sure is creative. If it helped _its author_
| understand computers through the act of collecting, organizing,
| and presenting the information, I suppose it was worth it in the
| end.
| ILyesMk2 wrote:
| It's nothing but WORTH the effort-
|
| > If it helped its author understand computers..
|
| Probably the main reason this book even existed in first place
| and the perfect example of "The best way to understand
| something is to explain it to someone else."
| eminent101 wrote:
| [flagged]
| dang wrote:
| I don't think we need to bring hammers down on 16-year-olds.
| eminent101 wrote:
| Fair enough! Thanks @dang!
| trogdor wrote:
| I am surprised to hear you describe "applying the rules even-
| handedly" as "bringing the hammer down on a 16-year-old."
|
| IMO, we should all be held to the same standard.
| interludead wrote:
| It's inspiring. Just wanted to write it.
| markhahn wrote:
| I'm curious whether this helps anyone - why and how.
|
| I suppose there's some value in minimizing the "cultural
| impedence mismatch" - using genz terms/style/jokes.
|
| But the quality is not as good as "normal/longform" (let me coin
| "oldsplaining") coverage on the subject. And really, shouldn't we
| all aspire to do a good job, rather than just a meh job that's
| comfortable?
|
| This is the TT of explanations: not entirely accurate, relatively
| shallow, aimed at being quickly scroll-through-able to obtain a
| facile sense of knowing. For people who find Blinkist too slow-
| old-fashioned. You can survive on Pizza Pops, but you really
| shouldn't.
| Cyph0n wrote:
| Awesome work! As always, there is an opportunity to "extend" this
| down/up a few layers :)
|
| Also, are you Algerian by any chance? I am Tunisian - it's always
| nice to see North Africans (and Africans in general) on HN!
| butterisgood wrote:
| I keep thinking someday I'll write something but my life has been
| such a mess lately and my inspiration is about as low as it's
| ever been.
| delichon wrote:
| Congratulations on writing these twenty seven words, great
| start, keep it flowing.
| wizerno wrote:
| They have an equally impressive post [1] about CPUs!
|
| [1] https://cpu.land
___________________________________________________________________
(page generated 2024-08-04 23:01 UTC)