- Joined
- Jan 3, 2023
Alright, here's an update over me getting owned by SICP for a month now.
I might write this every month, it's good fun.
EDIT: typos n shit
I might write this every month, it's good fun.
Pages read 53 (1-53)
Exercises that gave me AIDS so far: 1.7, 1.10, 1.11, 1.12, 1.13
My Approach to One Of The Densest Technical Books I've Had To Read
The first weeks of me reading the book were basically me trying to set a sustainable approach to my readthroughs of the book. Having already skimmed it previously, I knew I was in for the lengthiest ego squeeze of my life.
To sum up my approach, I treat the book like I did with college lectures: pen, paper, and re-interpreting what I'm reading into my own words. The reason I do so is for one simple reason: to understand something, you must be able to explain it clearly and concisely, and be able to re-frame and illustrate it, which is what I then do by re-writing my handwritten notes, and conceptually mapping them out in a personal Obsidian archive of mine, which will then act as my own personal encyclopedia. I write my notes into the archive every time I hit a new cluster of exercises as a way to ready myself up for what's coming next.
While it's a very mentally taxing process that has you progress at a glacial pace (especially when you're tackling brand-new concepts, just look at the numbers of pages I've read in a month lmao), it's also foolproof: progressing means active reading and thinking on my end. You may ask yourself why I wouldn't find faster methods to learn?
First, because it's a proven strategy for me, and second, I deem learning an exercise in understanding, not a competition in speed. This race to "optimize" time out of learning to prioritize profit is the very reason why junior devs increasingly become worse out of learning centers: school replaced calm learning and reasoning for information retention with no framing instead. I thankfully have time by my side; I don't have to burn myself out rushing everything and skipping key concepts like I have previously.
Rhythm-wise, I give myself an hour and a half up to three hours every day between the morning and noon studying the book and solving exercises, with the week-end being dedicated to writing more personal observations on my journey and chilling.
All around, I've made the process pretty fun, which I would've never suspected for such a dense book. I find myself craving reading sessions more than gaming sessions and exercise. I think a part of me misses the grind I had back in college, but still, no regrets there.
How I Learned Not To Give a Shit And Like Scheme Lisp
Last time I posted in this thread, it was to post a visceral reaction to the parenthesis poisoning Lisp had, and it's esolang-esque structure. Two weeks in, and the structure started making more sense (along with the messages detailing me how I'm a fag for not having the vision). It's still giving me trouble when parentheses start to exponentially stack across procedures, but I'm getiing used to it.
I'm starting to understand the hype behind the language, and I'm still running purely mathematical procedures. It's really well-illustrated and explained.
I'm Bad At Mathematical Thinking, And I'm Mad At Myself
What struck me once I got over the hurdle of not being able to read Lisp code was how undertrained and out of shape my math skills were after high-school. While I'm slowly improving on this regard through the exercises, it's still very obvious I still have lots of work to do on this aspect, and it's kind of become a fixation of mine since I hit recursion exercises.
For instance, Exercise 10 of chapter 1 has you play around with the Ackermann function. I spent more time trying to understand the function instead of tinkering with the procedure and the examples the book provides you with. This ended up with me trying to model homebrew tests through the raw formula itself rather than solve the exercise by just trying to produce a substitution model of the examples I already had. It took me two days before I realized I could've done that after pulling up the answers to the exercise.
Speaking of recursion, is it weird that I understand how all types of recursion conceptually work, and how it all clicks in exercises and examples instinctively, but I can't for the life of me write them properly? I end up failing those exercises because I end up trying to re-frame how it all works, only to realize my first interpretations of recursivity were correct, and still fuck up anyways. Has my brain invented recursive mindfuckery initiated by doubt?
To sum it up, I kinda feel like a dunce reading the laws of the universe. It is great fun though, and I definitely am improving. It's all I could ask for: an entire year in a dev mill couldn't do that.
Exercises that gave me AIDS so far: 1.7, 1.10, 1.11, 1.12, 1.13
My Approach to One Of The Densest Technical Books I've Had To Read
The first weeks of me reading the book were basically me trying to set a sustainable approach to my readthroughs of the book. Having already skimmed it previously, I knew I was in for the lengthiest ego squeeze of my life.
To sum up my approach, I treat the book like I did with college lectures: pen, paper, and re-interpreting what I'm reading into my own words. The reason I do so is for one simple reason: to understand something, you must be able to explain it clearly and concisely, and be able to re-frame and illustrate it, which is what I then do by re-writing my handwritten notes, and conceptually mapping them out in a personal Obsidian archive of mine, which will then act as my own personal encyclopedia. I write my notes into the archive every time I hit a new cluster of exercises as a way to ready myself up for what's coming next.
While it's a very mentally taxing process that has you progress at a glacial pace (especially when you're tackling brand-new concepts, just look at the numbers of pages I've read in a month lmao), it's also foolproof: progressing means active reading and thinking on my end. You may ask yourself why I wouldn't find faster methods to learn?
First, because it's a proven strategy for me, and second, I deem learning an exercise in understanding, not a competition in speed. This race to "optimize" time out of learning to prioritize profit is the very reason why junior devs increasingly become worse out of learning centers: school replaced calm learning and reasoning for information retention with no framing instead. I thankfully have time by my side; I don't have to burn myself out rushing everything and skipping key concepts like I have previously.
Rhythm-wise, I give myself an hour and a half up to three hours every day between the morning and noon studying the book and solving exercises, with the week-end being dedicated to writing more personal observations on my journey and chilling.
All around, I've made the process pretty fun, which I would've never suspected for such a dense book. I find myself craving reading sessions more than gaming sessions and exercise. I think a part of me misses the grind I had back in college, but still, no regrets there.
How I Learned Not To Give a Shit And Like Scheme Lisp
Last time I posted in this thread, it was to post a visceral reaction to the parenthesis poisoning Lisp had, and it's esolang-esque structure. Two weeks in, and the structure started making more sense (along with the messages detailing me how I'm a fag for not having the vision). It's still giving me trouble when parentheses start to exponentially stack across procedures, but I'm getiing used to it.
I'm starting to understand the hype behind the language, and I'm still running purely mathematical procedures. It's really well-illustrated and explained.
I'm Bad At Mathematical Thinking, And I'm Mad At Myself
What struck me once I got over the hurdle of not being able to read Lisp code was how undertrained and out of shape my math skills were after high-school. While I'm slowly improving on this regard through the exercises, it's still very obvious I still have lots of work to do on this aspect, and it's kind of become a fixation of mine since I hit recursion exercises.
For instance, Exercise 10 of chapter 1 has you play around with the Ackermann function. I spent more time trying to understand the function instead of tinkering with the procedure and the examples the book provides you with. This ended up with me trying to model homebrew tests through the raw formula itself rather than solve the exercise by just trying to produce a substitution model of the examples I already had. It took me two days before I realized I could've done that after pulling up the answers to the exercise.
Speaking of recursion, is it weird that I understand how all types of recursion conceptually work, and how it all clicks in exercises and examples instinctively, but I can't for the life of me write them properly? I end up failing those exercises because I end up trying to re-frame how it all works, only to realize my first interpretations of recursivity were correct, and still fuck up anyways. Has my brain invented recursive mindfuckery initiated by doubt?
To sum it up, I kinda feel like a dunce reading the laws of the universe. It is great fun though, and I definitely am improving. It's all I could ask for: an entire year in a dev mill couldn't do that.
EDIT: typos n shit
Last edited: