Resources

I find many articles, blogs, books, posts, songs, tutorials, videos, etc. interesting and/or helpful. On this page I’ll share info about or links to such things, expect the structure and layout to change frequently as I add more content here. You’ll notice that I am fond of bulleted lists. Some of the resources have names that are long, or don’t remind me of exactly what they are upon reading the name, or are odd, or some combination thereof, thus I first write the name I’ve given the resource then append the official name in parentheses (not all resources will have a custom name bestowed upon them by me, sometimes the original name is descriptive enough).

  • Computing
    • A Scheme Story (“High School Computing: The Inside Story”), by Natasha M. Chen – A story about the value and importance of Scheme for one individual’s programming journey and how the more memorization oriented CS curricula they experienced for several years in High School paled in comparison to a mere 4 months of learning and practising Scheme programming.
    • Beginner’s Guide to Installing from Source, by Simon Kitching. – The Linux From Scratch project recommended this as pre-reading material for said project, and I found it quite helpful! From 2015, not short but not long either.
    • Computer Science Education: Where Are the Software Engineers of Tomorrow?, by Dr. Robert B.K. Dewar and Dr. Edmond Schonberg – Reflections on and opinions regarding the state of CS education and what a good CS curriculum might look like. From 2008, 3 pages.
    • Systems Hackers (“The Night Watch”), by Dr. James Mickens – One of Dr. Mickens’ infamous wisdom-filled rants about his experiences as a computer scientist, this article will make you stare into the void and laugh nervously, but uproariously. Starring the most powerful wizard, warrior, and MacGyver of modern computing: the systems programmer. What level of abstraction are you operating at, punk? Note that the link takes you to the Harvard webpage where all such wisdom filled publications from Dr. Mickens may be found, you will need to navigate to the USENIX Articles section to find the aforementioned resource. Look around that page and read everything else too, it’s good stuff!
    • C is Not a Low Level Language, Your Computer is Not a Fast PDP-11, by David Chisnall – Discusses what sort of abstract machine that C is based on, why that doesn’t match up very well with modern CPUs, why that led to the Spectre and Meltdown vulnerabilities, and more. I found this article fascinating, insightful, and downright cool, learning about how C relates to CPU architectures and what problems arise via current model / design of C was awesome.
    • Reflections on Trusting Trust, by Ken Thompson – An accurate but unsettling truth: “The moral is obvious. You can’t trust code that you did not totally create yourself…As the level of a program gets lower, these bugs will be harder and harder to detect. A well-installed microcode bug will be almost impossible to detect.” (last page of article) If you read the article, you’ll see exactly why Ken made such declarations, and you’ll never think about computing the same way again. Are you paranoid enough yet?
    • History of FireWire (“The Tragedy of FireWire: Collaborative Tech Torpedoed by Corporations”), by Richard C. Moss – Provides and overview of the FireWire connection standard and the historical dramas surrounding its birth, adoption, and demise. Was a lot more interesting and entertaining than my paltry description implies, seriously, it was a neat article.
    • Free Software Needs Free Tools, by Dr. Benjamin Mako Hill – A brief, but eloquently written manifesto in the name of software freedom and why free tools are imperative for that enterprise. You should check out the rest of his website, especially his blog, he writes good stuff: https://mako.cc/
    • The Computer Scientist Who Can’t Stop Telling Stories, by Vivian Cromwell – A great interview of Donald Knuth, subtitled: “For pioneering computer scientist Donald Knuth, good coding is synonymous with beautiful expression” – If you know who Dr. Knuth is, then you don’t need me to write more description regarding the article, you’ll just go and read it. If you don’t know who Dr. Knuth is, you should have a bit of faith and go read the article anyways, it’s worth your time 🙂
    • Free Software, Free Society: Selected Essays of Richard M. Stallman, introduction by Lawrence Lessig and edited by Joshua Gay – Everyone, including non-technical individuals, should know at least something about the free software and open source software philosophical and political computing movements. This collection of essays is a vibrant introduction to some of the most important philosophical and political questions of our time, not just within the computing world, but generally too, because as they say in the Bay: “software is eating the world”. You need to know about copyleft versus copyright, the right to repair, the freedom to read, the freedom to modify, and much much more, your future freedom might depend on such knowledge and what you might do with it. You’ll find that the closer you look at the computing industry, the more you’ll understand why such knowledge is critically important and feel the timelessness of Stallman’s prophecies. If you look too closely, you might just want to run away screaming and never engage with computers again, such is the corruption and rot of the technology industry’s influence upon our society, but it’s better to try to build something better, contribute to free software projects, etc. than to hide and run away. Besides, if we want to one day live in the glorious post-scarcity, transhumanist, etc. future then it is not possible to abandon technology, one must instead craft and use technology with the utmost prudence and care, because the political implications of computing technology are civilizationally staggering. If someone ever tells you that tech isn’t political, you should kindly slap them, please.