Video Link
The Sun Rises Slowly
I have been lucky enough through my life to travel outdoors more than the average person. Being a Boy Scout meant more camping trips throughout my young life. One particular trip, our troop went to Colorado, traveling to a camp roughly 9,000 ft. in elevation. To my Texas Panhandle-raised mind, It felt so high and so far from home.
One morning, we took the opportunity to travel along the Rock Mountain National Forest Area to witness the Sun rise. Arising at 3am, we walked some length until reaching a rocky outcropping facing down along the east face. There was not much to see at first, other than the inky black of nighttime, occasionally pierced by the beam of a headlamp of someone before you.
In our tired, unwavering exhaustion someone asked “When does it start?” to which an older leader replied, “Be patient kids. You’ll see it.”
In the meantime, I struck up a conversation with one of the other troop beside us, and what had been mistrust due to another Texas troop misbehaving gave way to understanding and then friendship through shared religious experience, which, by the end of the week had resulted in a massive game of midnight capture the flag.
As we chatted together, eventually, the sky imperceptibly began to change. From the darkness of inky black, the first signs of morning began to shade itself into the tapestry of the morning sky, which increasingly began to lighten and change. Soon, the valley below us came into view, and it was something:
The camp sat on the eastern side of the Rocky Mountains, and this outcropping was on its eastern face, giving the whole party a view of the Denver metro, and the Great Plains beyond. Beyond that was an ever-shifting sky, now a mottled pink and orange, and the Sun prepared to once again shine upon us small specks on this amazing floating rock.
And then, all at once, it burst into view, the mottled pinks became oranges, yellows, and bright magentas, hailing in the morning for the sleepy pedestrians so far away, and our exhausted party as well.
What had started as a long morning had produced something to great effect rather quickly, the joy of which had not come only from the result, but from the journey it took to get there.
The Great Big Slot Machine In the Sky
In the last three years AI has quickly revolutionized and changed the way that we think about work. With image generation untrained individuals can create posters, non-writers can write, and non-programmers can program. As such the tech industry boom of the 2018 to 2022 era quickly collapsed, resulting in a dearth of positions available for young and new developers.
In fact, the AI boom led some industry leaders to believe that most jobs would be “dead” by 2030 and were hailing the advent of AGI by the early 2030s. However, there have been a number of outages, errors and dangerous supply chain attacks have led people to believe there are limitations in the current iteration of AI.
Likewise, resistance against surveillance technology and data centers seems to underpin a growing resentment for the machine. Increasingly there is a trend amongst some individuals to go “analog:” A return to an idyllic time from the 90’s and pre-9/11 2000’s where technology hype was high, but physical media, and chunky expensive PCs ruled the world.
In this feeling of dread and loss, it is no wonder why our young people are so quickly turning to gambling, the desire to have it before it is too late, and to betting it all on 0dte optioned and leveraged ETFs? If life is a highway, I might as well stop at the WinStar and try for a Ferrari before I end in Santa Monica. Resultingly, far too many people are left walking through Amarillo metaphorically, begging for gas money outside of the Bucee’s on the 287.
For the Love of Code
Prior to the start of the AI era, I was a computer science teacher, however, due to rising costs, I moved on from teaching to being a developer. In many ways, it felt like the hard work I’d put into educating young and brilliant minds in what was an exploding field seemed to go to waste as many of those individuals felt as if there was no hope for them.
I’ve even had to reckon with why I enjoy the technology space in the first place. I first learned how to program when I was a child. My dad worked with visual basic.net at his job. Occasionally he would write a snippet of code on pieces of paper and I was intrigued by the loops and elses. So he bought me a book and sat me down and I’m certain I would’ve been good at it if I’d been diagnosed with my ADHD a little bit sooner. But the love of programming never really left me, and I continued to program in Java through high school. At the time I was making mods for a little known game called Minecraft.
After high school and starting college, I figured I wasn’t smart enough to be a computer scientist. Math wasn’t exactly my strong suit even in college, but I was an exceptional writer and communicator. I got a degree in communication studies.
However, in the midst of teaching, I began to realize something that hadn’t fully distilled until five years after beginning work: There is a joy in slowing down and producing quality over quantity. It is very easy to get a subscription to Claude code and very quickly slop a whole MVP (plus business plan) ready to go in a very short period of time.
It is very easy to ignore reasoning about the systems. You work on the data you work with or the services that you provide. And they work move quickly, human reasoning, and capacity can only move so fast, and as of yet, AI models are still only so intelligent.
With generative AI, people who “write” code no longer even need to understand it. But in this lack of understanding comes a lack of being able to properly own what you create. This isn’t to shame vibe-coders, I do it too, but rather to ask an important question: How can you understand something you don’t write? And how can you own it if you cannot grasp it?
SlowGramming
In light of this, I’ve taken to what I love and refer to as “slowgramming.” Yes, it is just writing code like a normal person, I’ve decided to take it a step further: Using languages that are out of fashion or are no longer useful. LISP, SML, COBOL, and Smalltalk are good examples of such languages (and side note, COBOL is still HEAVILY used, it’s just that people don’t exactly seek to become COBOL developers these days. They like keeping the hair on their head.)
But I am still a teacher at heart, and I want to give you, the viewer, something to have to follow along as well: If you are a vibe coder, someone who slops out code and doesn’t quite fully understand what’s happening behind the scenes or you feel like something is missing in the joy of creating software, I want you to go on a journey with me to a time when programming was not the king it once was.
Let us learn to once again enjoy The Art of Slow-Gramming.
In the 1970’s to the 1980’s a number of programming languages exploded onto the scene. Common Lisp, C, C++, Smalltalk, among a host of others were rolling out. In this expansive growth in the tech world, academic leaders and industry think tanks began to worry about the quality of developers that was being created at the top schools like MIT. Software engineering was becoming more open and accessible. Much of the difficult to understand concepts had been hidden away into black boxes that engineers didn’t need to fully grasp in order to be successful at their job. This was both a good thing, as it made the field more available, and also a negative, as engineers no longer needed to know the core foundations that made being a developer so powerful.
This changed with the advent of the Structure and Interpretation of Computer Programs, a course, lecture series, and book by the same name from Dr. Gerald Jay Sussman, Dr. Harold Abelson, and Julia Sussman. I have always found a great deal of charm in watching the old lecture series, a snapshot of a bygone era, from a time when compute and power were scarce, and thus on the minds of developers and business owners alike.
As a result, most owners and engineers were focused on how to manage their memory and compute the best, and not so much on the ethereal logic and esoteric nature of what makes computers so great.
Ergo, Drs. Sussman and Abelson created the SICP course using the Scheme programming language, a dialect of LISP. LISP or “Lisp Programming” is one of the oldest dialects in use today, alongside COBOL and Fortran, and pioneered many of the things we take for granted as coders: Storage management, tree data structures, higher-order functions, conditionals, and self-hosting compilation.
The series took off and has become a classic ever since, with many universities crafting some variation of this program for their own courses. When I discovered it, I found it scratched an itch that I didn’t realize I had. There’s so much more to programming that I was led to believe, and there is a great deal of joy in taking my time to learn and develop. I have always been a fast runner. It was time for me to learn how to pace myself with marathons.
The Marathon of Education
I intend for this series to be long-running and multipart, dedicated to helping you understand the joy of fully understanding what you create, deploy, and develop and why it works the way it does. Think of your education as a marathon. You may sprint your way to Y Combinator funding, but do not think that you can run a marathon just because you are Usain Bolt. You have potential, it is true, but to hone it takes a willingness to turn that potential into something more and a lot of time.
To help us on our journey, we will split this into 3 overarching parts.
Part 1: Revisiting Abelson and Sussman
In this first part, we will revisit the old classic, the Structure and Interpretation of Computer Programs, and learn Common Lisp, the language of the 1950’s. We will introduce the core concepts that underpin any computer program, system, or structure. You use them without thinking, reason without reasoning about them. Why not take the time to explore this funky fresh language of the early 1980s and the core concepts so masterfully taught by Drs. Abelson and Sussman?
Part 2: Ocamls and the Eye of the Needle
After this, we will expand our knowledge of functions with OCaml. Ocaml is the most popular ML dialect and its robustness and maintenance by Jane Street developers makes it useful for us to learn in its current use case as a functional programming language in the finance world. We will expand on the ideas taught in the first part, as well as explore what makes Ocaml different from Common Lisp.
Part 3: Gem Alarm
In the 3rd part, we return to simplicity with Ruby and the world of OOP. We will explore the contrasts between Object-Oriented Programming and Functional Programming. We will learn about the core concepts of OOP and why they have lasted so well in enterprise settings.
Grokking Goes Slowly
To “Grok” something is to learn it so deeply it becomes second nature. This comes to atheletes, performers, creators, and builders who have put in the countless hours of sweat, blood, and tears to do so. We cannot skip past the sacrafice that comes with growth. Like Odin, we must be willing to give up something, in this case our effort and our time, for something much better, true knowledge that can actually be vibed from within us. You have AI, actual intelligence, that you can and should grow. You are capable of so much more than you realize, and it is time for you to sit for your sunrise.
In the next section we will explore the 3 core ideas that govern how programs are structured and interpreted in the lens of the LISP programming languages.
Don’t forget to like, comment and subscribe and we’ll see you in the next video!