- 03 Jan, 2026 *
I have a confession to make. It’s been hard to switch back and forth between C and Lisp.
That’s why SICP has felt as if it’s been going over my head the last two months. Professor Harvey even said in one of the earliest lectures not to try to apply what I’m learning (Lisp/Scheme) to what I know (C and JavaScript) and I kept right on coding personal projects in other languages that I was still learning. I nodded along and wrote that down in my notebook and sat with it for a while, and then went right back to context-switching.
It’s time to actually take Harvey’s advice.
That’s why I gave my blog a hard reset1, and that’s why I’m giving my self-study a hard reset. I’m taking a break from the higher-level reading and going back to the fundamentals. Fo…
- 03 Jan, 2026 *
I have a confession to make. It’s been hard to switch back and forth between C and Lisp.
That’s why SICP has felt as if it’s been going over my head the last two months. Professor Harvey even said in one of the earliest lectures not to try to apply what I’m learning (Lisp/Scheme) to what I know (C and JavaScript) and I kept right on coding personal projects in other languages that I was still learning. I nodded along and wrote that down in my notebook and sat with it for a while, and then went right back to context-switching.
It’s time to actually take Harvey’s advice.
That’s why I gave my blog a hard reset1, and that’s why I’m giving my self-study a hard reset. I’m taking a break from the higher-level reading and going back to the fundamentals. Following the OSSU curriculum from the beginning to make sure the core of my computer science education is solid, I’ll be taking Systematic Program Design from the beginning. No skipping around just because I think I know something already.
SPD uses Racket, a dialect of Lisp and a descendant of Scheme (the dialect of Lisp that SICP/CS61A use) so that seems like a good substitute for the weekly labs and assignments that I haven’t had access to using 15-year-old lecture videos as a supplement to my reading.
I haven’t found a substitute for a TA, yet. Sometimes Claude can be helpful for explaining concepts in a way that makes more sense than whatever I was just reading, but I don’t want to rely on an LLM to take the place of a human being. And the rubber duck on my desk doesn’t answer me when I talk to it (thankfully) so the only sound I have in response to my thoughts and my questions are my own thoughts and my own answers.
This is one of the downsides to living in relative solitude; I can’t just pop down to the local coding meetup on a whim. Even if I did want to, it would involve taking the bus into the city, and navigating downtown without a smartphone, which are things I’m more than capable of doing, but I’ve been shut-in for so long that it’s easy to get overwhelmed.
Then there’s the fact that once I got there, I’d be introducing myself as unemployed and self-studying. I’m not prepared to be scrutinized on that level until I’ve actually got a code repository and projects that I’m proud of. Right now I feel like a baby still learning how to hold crayons. Not even compared to anyone else, just flat-out, I’m still finger painting learning Racket, I haven’t figured out how to write cursive code in C yet.
I decided to restart SICP/CS61A because I’m worried a lot of it didn’t sink in – I couldn’t find an STk interpreter, so I wasn’t typing along with the professor or the book. I’ve figured out how to get Scheme into DrRacket using #lang sicp, so shout out to SPD for forcing me to install DrRacket and learn the Racket dialect of Lisp at the same time I’m learning the Scheme dialect.
My curriculum for the winter: CS61A, SPD, and CS50 (going through the exercises this time), plus Discrete Mathematics with Applications (Epp). Should keep me busy for a while.
It seems silly to ignore a perfectly good, well-lit path forward through self-studying computer science in favor of trying to figure out what of the Everything I have to learn is worth digging into. OSSU has given me the next three years’ worth of material, and I’m excited to start hyperfocusing on How to Design Functions.
I changed my handle and my theme, since I seem to have finally figured out what I want out of this blog. I’ll be scrubbing old entries as I find personally identifying information, as I keep seeing "I want to be anonymous" in my writing. I see you, Self. This is as close to anonymous as I can get. Neighbors, you can call me "Dan" or "solitary," either is fine.↩