💾 Archived View for gemlog.blue › users › petros_katiforis › 1695215781.gmi captured on 2023-11-04 at 17:44:24. Gemini links have been rewritten to link to archived content

View Raw

More Information

⬅️ Previous capture (2023-09-28)

-=-=-=-=-=-=-

         _.-~--~.
       .'.:::::::`.   Petros Katiforis (Πέτρος Κατηφόρης)
      /.::::::    /   
     /.:::  .---=*
     ;.::  /  _~~_    Want to share your thoughts on what you've just read from here?
     ;    |   C ..\   Feel free to contact me! <pkatif@mail.com>
     |    ;   \  _.)
      \   |   /  \    This post was published on the 19th of September, 2023
       *~. \ / \)\)
          `-|   ) /
            '--*-*

Back to Home

Learning Low-Level Programming

This post is more like a diary entry for my future self. I've only recently started to contemplate how computers actually work, after nearly a decade of writing code and mostly playing around with game engines, websites and scripts. Being acquainted with high-level programming languages and frameworks deceived my brain into thinking that I was making progress. The reality was that I was just fiddling with services provided by companies or organizations to lower the industry's entry bar. Turns out I wasn't really programming anything worthy or impressive at all...

During this year's summer break (my very first summer after completing high-school) I decided to pick up C for the mere fun of it. I was gradually getting rid of my system's non-libre and tainted software so it was natural for me to learn how efficient and sane software has always been designed and fabricated. After about five months of exclusively programming in C, I ended up with two finished games, a pixel art editor, a terminal text editor and a buggy Cheat Engine-like application. My future self will most likely view these programs as unacceptably unoptimized and functionally limited, but I'm still proud of them! I don't want to sound like I'm self-flattering, I'm still nothing but a beginner. But I feel like I'm finally heading to the right path of my learning journey and I'm more than happy to read through piles of online books to get a better grasp of how the machine that I spent so many hours on works behind the keyboard, the screen, the plastic covers and all that mechanical jargon!

Resources that I'd Recommend

I've been mostly reading Irv Englandar's "The Architecture of Computer Hardware, Systems Software & Networking" and I'm definitely satisfied with it! Whenever I find something that I don't quite understand after the third or forth reading iteration, I usually just search the term on Wikipedia and things get significantly less cloudy.

Note Taking

My memory is infamously weak, so I tend to write down hundreds of lines of notes! I've been using Org Mode ever since I've installed Emacs (about a month ago) and it certainly has made my life simpler! I can say with certainty that it is by no means bloated... Bloated pieces of software tend to freeze my cheap laptop and Emacs has been running exceptionally well during all of my hitherto sessions.