Beautiful CodeWelcome to February and a new CoRecursive episode: Greg Wilson has been on a decades-long quest to transform how we teach and talk about software design. From getting rejections for using the term "beautiful code," to empowering scientists through workshops on Python and Unix, Greg has pushed to bridge the gap between theory and practice. In this episode, Greg shares his failures and epiphanies along the way. You'll hear how his experiences in research computing led to him teaching grad students the elegance of shell scripts. And how he's crusaded to create a shared language to discuss software architecture with the nuance of true craftsmanship. Find it in your podcast player or on the website. Visual Basic 6.0I bought the book at Chapters in Devonshire Mall, and it was huge. "Sams' Teach Yourself Visual Basic 6 in 21 Days" came with a CD with a watered-down version of Visual Basic and an IDE, and I used it to build a subliminal messaging program. You see, I had a high school class where we built software in teams, and while my team was using the DOS-based Turing programming language, another team used Visual Basic, and their version looked so cool and modern. So, I had to get Visual Basic and work through the book. In the first couple of chapters, I learned about message boxes and timers, and the idea of popping up messages people could see on the screen came to mind. I built my program, brought it to school on a floppy disk, and showed it to my teacher. You ran the program EXE, and once a second, for the minimum milliseconds possible, it would draw a text box with the message "Give Adam Money." As a program, it could have worked better. It would steal the focus of what you were sometimes doing, and if the computer was busy, it would hang around on the screen too long and be very visible. You also couldn't change the message yet. It only said one thing. But Mr. Omar thought it was fantastic. He got another teacher, this guy who taught media studies or something and would occasionally wander into our class from his class next door. The other teacher explained to him and me that subliminal messages don't actually work. It was a fad in the 50s or 60s, but the world had moved on. But man, I devoured that book on Visual Basic because I was excited to build stuff and show people what I had made. This early experience with Visual Basic sparked a journey that led to computer science and eventually into an interest in programming languages themselves and hanging out on Reddit's /r/Scala years and years later. There, a particular message resonated with me: I came here from Python, and in the Python world, everyone is sharing all the little things they built, but here, it's all theoretical talk about libraries and frameworks and frameworks of frameworks and such.
What are you all building?
That message hit me. I realized why my experience with Visual Basic was so impactful. A clear goal drove me - to impress my class with something cool I'd built. But over time, my goals had gone from learning how to create things to learning about my tools, programming languages, and frameworks. I was learning so much but really not building much of anything. Reflecting on my journey from experimenting with Visual Basic to exploring the vast realms of programming languages and frameworks, I realize the profound importance of practical application. It's one thing to absorb the theories and mechanics of programming languages, but it's a different ball game when you apply this knowledge to create something tangible. This hands-on approach doesn't just solidify your understanding of complex concepts; it breathes life into them. Every line of code you write, every bug you troubleshoot, and every feature you add to a project transforms abstract ideas into real-world solutions. The act of creating something from scratch is incredibly enriching. If I wrote a book, it might be called 'The Life-Changing Power of Side Projects.' When I first made that subliminal messaging program, despite its flaws, it was a tangible product of my imagination and effort. It was more than code; it was a creation I could share with the world. Learning is great. I love to learn new ideas and new techniques. But it's not just about acquiring knowledge but also about applying it. So, keep building, keep experimenting, and let your hands get dirty in the code! Other Writing
|
Get a monthly update on my podcast, writing and whatever else I'm up to.
Adam Gordon Bell Oct 2nd Hey! It's October, and new podcast episode is out: https://corecursive.com/from-everest-to-startups-with-yoshio-goto/ This episode is about your life. It's about accepting that life is short and using that to structure how you live. Yoshio Goto shares his story of finding what matters by throwing himself at challenges like climbing Everest and joining early-stage start-ups in Silicon Valley. Then, where he finds meaning is totally somewhere else. It feels like I’m...
Adam Gordon Bell July 4th Hey! It's July, and happy July 4th to my American readers. A new podcast episode is out: https://corecursive.com/building-powershell-with-jeffrey-snover/ It's a detailed peek into the internals of Microsoft and the development of Powershell. My guest is Jeffrey Snover and he has a story to share. It's about one man's vision for a better way to manage Windows Servers and the battles that were fought to bring that vision to completion. Overcoming Microsoft's GUI bias —...
Adam Gordon Bell June 4th Hey, It's June now, and I have a new episode out here: Hedy https://corecursive.com/hedy-with-felienne-hermans/ I've been telling friends and colleagues about this episode for several weeks. Whenever someone asks me how the podcast is going, I jump into it: Ok, Imagine this: A burned-out academic seeks renewal by teaching underprivileged 12-year-olds to program. In doing so, she risks her career and builds a programming language that spreads around the world and...