As I begin a new year, I have some very specific goals that I am seeking
to achieve. In the first quarter, I will be preparing for a course of
study that I have developed. This course will continue until 31 December
2027. The intention is to be able to rewrite the ed(1) editor and the
Zim wiki in serveral computer languages. In doing so, I hope to have (1)
a much better understanding of the underlying Unix philosophy, as well
as a deeper understanding of how both the Unix and Linux operating
systems function. Additionally, I will (2) seek to overcome aspects of
the "device paradigm".
Basically, the "device paradigm" is that frame of mind where we
increasingly take the technologies that pervade our culture for granted.
For example, consider the heating of a house. When I was a boy, we
heated the cabin that we lived in with a wood furnace. We cooked our
meals on a wood stove and used a hand pump to provide water for the
kitchen sink. We had to keep water in a nearby bucket to reprime the
pump when the water syphoned off. Today, we turn up the thermostate and
open a tap. We have forgotten the basics.
Whenever I think of the "device paradigm", I am reminded of the Eloi and
the Morlocks of H. G. Well's novella, The Time Machine. Neither the Rod
Taylor or Guy Pearce films capture the full horror of the near and
distant future envisioned by Wells. The novella is well worth the read.
In preparation for the 2025 segment of the course, I have organised a
basic C language and shell scripting study program for the first quarter
of 2025. It includes working through Hogan's book, Small Sharp Software
Tools, as well as Robbins' Classic Shell Scripting. Collingbourne's
Little Books of C, Pointers and Recursion will help me to better
understand what Kernighan and Ritchie were seeking to acheive with The C
Programming Language. Supplemental support is available through
Programiz C program, The Harvard 2024 CS50 Course, Dr. Chuck Severence's
C course (focusing on the K & R book) and the tutorials at W3S and
TutorialsPoint.