10 ms·
Written by a 16 year old, a book on how computers work
- ILyesMk2 2y agoGreetings! 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 https://github.com/hackclub/RAM-a-thon
- deleted 2y ago[deleted]
- otteromkram 2y ago>...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 2y agoYou’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 2y agoWhat 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 2y agoty! 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 2y agoThey 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.
- ILyesMk2 2y agoWell, i didn't claim i know it all. But i gave it my best because it's true that one person can't have the detailed knowledge of all the now-existing complicated subsystems. > If the information exists then it's "possible" to learn it. Not with most of the terrible (i.e Lenovo, Wikipedia) information found online, It's never impossible but very unlikely. > hardware companies no longer actually tell us everything. Rambus :P
- ernestrc 2y agoThis is beyond brilliant! So well written. Love the gen Z tone. I’m bookmarking it for my kids.
- ILyesMk2 2y agoHaha, that was the #1 priority while writing! Let them kids know what happens under the hood of their systems.
- deleted 2y ago[deleted]
- itsmemattchung 2y agoHats 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 2y agoRIP with 64-bit x86
- beardedwizard 2y agoBetter 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 2y ago> 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.
- beardedwizard 2y agoOf course, but most if not all of the binaries on the system will be 64bit. Someone just starting out may struggle to find a 32 bit binary.
- ILyesMk2 2y agoEspecially in today's hardware (/software?), all the bins on the system are 64bit even if it's a 32bit binary, the remaining bits get filled by 0s so that the system treats it as a 64bit bin.
- asdf6969 2y agoIt’s a cool project. You’ll have fun writing a compiler
- ILyesMk2 2y agoI can say the same! I considered doing so at some point during my research, might actually give it a go.
- teaearlgraycold 2y agoI did a JIT one for Brainfuck. Pretty easy thanks to the language’s simplicity.
- ILyesMk2 2y agoI see, I see... I wonder why we (as in me) don't hear anything about Brainfuck anymore. I kind of see it as a 20th century meme language that proves boomers were trying as hard as they could to make it work, basically what I call a living example. I (100%) believe your JIT story.
- teaearlgraycold 2y agohttps://github.com/danthedaniel/BF-JIT https://github.com/danthedaniel/BF-JIT If you’re curious
- deleted 2y ago[deleted]
- icholy 2y agoA byte is the smallest addressable unit, not a bit.
- ILyesMk2 2y agoOopsie, good catch! I intended it as 'the smallest space X can take' i corrected it.
- icholy 2y agoIt's a pretty impressive write up.
- jecel 2y agoNearly all current computers address bytes, but in the past we had many computers that addressed words instead as well as processors like the Texas Instruments 34010 that did address bits.
- metabagel 2y agoI like how you highlight key terms. I think that helps a lot with readability. I also like the irreverent tone.
- ILyesMk2 2y ago> 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 2y ago> 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 2y agoIf I were to include such a digression, I'd probably keep it as a footnote. But all in all, great work, OP!
- ILyesMk2 2y agoMy pleasure, happy that you liked it
- deleted 2y ago[deleted]
- ILyesMk2 2y ago> Disclaimer: I'm 30 This says it all- jokes aside, i couldn't resist writing a book without including combustion engines.
- Mathnerd314 2y ago> I couldn't resist The common refrain of a teenager... https://www.npr.org/2016/04/15/474348291/why-teens-are-impulsive-addiction-prone-and-should-protect-their-brains 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-viruses https://blog.benjojo.co.uk/post/dive-into-the-world-of-dos-v... or https://www.sciencedirect.com/science/article/abs/pii/B9780128015070000043 https://www.sciencedirect.com/science/article/abs/pii/B97801... (c.f. also https://hackmd.io/@_01X9rimQmWH33Djf8QhoA/SkygF9WdP https://hackmd.io/@_01X9rimQmWH33Djf8QhoA/SkygF9WdP which is based on that book)
- bitwize 2y agoThis 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 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 2y agoIt'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 2y ago[flagged]
- ILyesMk2 2y ago[flagged]
- eminent101 2y ago[flagged]
- ILyesMk2 2y ago[flagged]
- dang 2y agoI don't think we need to bring hammers down on 16-year-olds.
- eminent101 2y agoFair enough! Thanks @dang!
- trogdor 2y agoI 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.
- dang 2y ago(FWIW I wasn't referring only to the GP comment but also to the follow-up at https://news.ycombinator.com/item?id=41154764 https://news.ycombinator.com/item?id=41154764.) The rules aren't that rigid to begin with - for example there's always been a bit more leeway for authors to use different wording in the HN submission title (note that I said "a bit more" - it's not a free-for-all). That's one reason we tend to use the word 'guidelines' rather than 'rules', though I do switch between the two. Beyond that, though, it's just different when kids show up here. They should be welcomed and encouraged. That's a basic norm of kindness (that's also in the guidelines and is a more important standard we should all be held to). Unfortunately it's easy for the opposite to happen. Matters of age and youth evoke strong emotions in people. Given the long tail dynamic of large internet forums, that can bring out a lot of strangeness and negativity [1]. People react out of associations from their own history that have nothing to do with the project the kid is sharing. It can easily turn into a many-sided WTF that makes the community seem weird, bitter, and nasty. That's exactly the experience that HN should not be providing so we—both commenters and moderators—should take extra care to avoid it. We should avoid it in the general case too, of course, but given that kids are more vulnerable, are (almost by definition) new here, and that the emotional associations that come up are stronger and more unpredictable, I think this is kind of a big deal. [1] In case it isn't clear to someone what I mean by 'long tail dynamic': I mean that if (1) anyone can post a comment, and (2) the forum is large enough, then even if 99.9% of users have a completely positive reaction, the subset who for whatever reason have a negative reaction will still be large in number, and unfortunately these users are often the most motivated to comment. This dynamic affects every HN thread to the degree that a topic touches people's feelings (and what topic doesn't?) But it seems to particularly affect threads involving children or adolescents, and those are also occasions when this dynamic can do a lot of harm. Therefore these cases need special handling. It's not right for any of us to impose, however unintentionally, our own past difficulties on kids who are just being kids.
- garaetjjte 2y ago[flagged]
- dartharva 2y agoIt's written by a 16 year old. We know it isn't going to get added to college curriculi anytime soon. Just appreciate the effort and stop being an ass.
- deleted 2y ago[deleted]
- dang 2y ago> garbage-tier Please don't be an internet jerk on this site. We're trying for something different here. https://news.ycombinator.com/newsguidelines.html https://news.ycombinator.com/newsguidelines.html
- garaetjjte 2y agoI said this is common in bad textbooks, not necessarily that this is one of these.
- dang 2y agoThat's the sort of thing a comment needs to disambiguate, or by default it will be taken the wrong way. See https://hn.algolia.com/?dateRange=all&page=0&prefix=true&query=burden%20disambiguate%20by%3Adang&sort=byDate&type=comment https://hn.algolia.com/?dateRange=all&page=0&prefix=true&que... for past explanations about this. In a context like this thread, this is particularly important. I tried to explain why here: https://news.ycombinator.com/item?id=41167981 https://news.ycombinator.com/item?id=41167981. (Those links are just in case you're interested—I'm not suggesting that you or anyone else needs to read them.)
- zoomablemind 2y ago[flagged]
- deleted 2y ago[deleted]
- dang 2y agoPlease don't be an internet jerk on this site. We're trying for something different here. https://news.ycombinator.com/newsguidelines.html https://news.ycombinator.com/newsguidelines.html
- zoomablemind 2y agoPerhaps, my comment is seen in detachment from the article in question. The "blah blah" is actually part of the article, and serves to dismiss the verbosity of a formal description of RAM. I do question the need for the verbosity of their own. As a constructive advice, I do believe that a visual representation of the subject serves better not only to this context but also to the target audience. As a side-note, I have a member of such audience still enjoying the summer break ... the wall of the OP text proved impenetrable, despite the initial interest.
- dang 2y agoYou're right, I missed that context, but your comment still came across as dismissive and critical, and for a post like this one it's especially important not to do that.
- interludead 2y agoIt’s inspiring. Just wanted to write it.
- markhahn 2y agoI'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 2y agoAwesome 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!
- ILyesMk2 2y agoAppreciate it! > there is an opportunity to “extend” this. Ofc there is, and im already up to it. So apparently my username is screaming 'Algerian' lol, It's so good to see a Tunisian here (or HN).
- butterisgood 2y agoI 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 2y agoCongratulations on writing these twenty seven words, great start, keep it flowing.
- epolanski 2y agoI have so many things in my backlog, from launching a startup, writing some app, blogging, producing some music, getting into amateur filmmaking, picking on padel, learning many new things in programming, contributing to OSS more, learning more vegetarian dishes, making more time for friends and family, I could go with this list for on and on. Till my early 30s this had given me anxiety and sadness. After 35 I accepted that I have more ambitions and interests than time and energy, and shifted instead of living more day by day and doing things at my pace and according to my mood. Slowly I sometimes do some of the things I wanted to, I feel fulfilled and definitely less stressed. The feeling of not doing enough was sometimes itself paralyzing, now I just don't care and enjoy and end up doing more.
- i_read_news 2y agoI also have a similar struggle right now with similar ambitions. I’ve been finding that while I want to do many of these things idealistically, in reality I didn’t end up actually doing them and just idealizing in a sort of paralysis of getting to my end goal. I’ve been learning the balance of pursuing these things when I’m interested and to not stress about simply watching television. I’m not probably going to be the next hot shot OSS contributor or project creator, but a few patches and features here and there is actually more than enough. Day by day is great advice for long term happiness (and productivity), and as Bruce Lee says: “I fear not the man who has practiced 10,000 kicks once, but I fear the man who had practiced one kick 10,000 times”
- wizerno 2y agoThey have an equally impressive post [1] about CPUs! [1] https://cpu.land https://cpu.land
- iwontberude 2y agoThis article could maybe use something about Dell having a partnership with Rambus proliferating the world with those modules RD-RAM for a year or two. It was more than just a concept which never saw light. It was a spectacular failure.
- Charon77 2y agoLove the cute writing style it's actually more fun to read compare to boring textbooks