Wizard Book Study Group

Coders Only have started a study group whose purpose is to study the Wizard book.

The Wizard Book, or Structure and Interpretation of Computer Programs, a.k.a SICP is the book that is used for teaching CS at Berkeley and Stanford Universities. It’s a challenging read, introducing many fundamental concepts, and not for the faint of heart. It’s one of these rare books where the reviews on Amazon are either 5 or one star. Love it or hate it.

Here is an excerpt of the preface which we find particularly arresting:

First, we want to establish the idea that a computer language is not just a way of getting a computer to perform operations but rather that it is a novel formal medium for expressing ideas about methodology.

Thus, programs must be written for people to read, and only incidentally for machines to execute.

Second, we believe that the essential material to be addressed by a subject at this level is not the syntax of particular programming-language constructs, nor clever algorithms for computing particular functions efficiently, nor even the mathematical analysis of algorithms and the foundations of computing, but rather the techniques used to control the intellectual complexity of large software systems.

There is a plethora of free information available for the study of the book, and we’ve decided to follow Brian Harvey’s SICP lectures as suggested by https://teachyourselfcs.com.

Each member studies the book individually, but we meet up every three weeks to review our progress and help each other out. Some members cannot join online because of time zone issues, but we have an active chat on discord.

Coders Only provides the infrastructure for our repo https://git.sr.ht/~codersonly/wizard-book-study and also for the triweekly online meetups.

If you hurry up you can catch up still, do join us!

TDD Demystified (Episode 5)

Ok, so thanks to all who joined us during the school-holidays for our next practice round that we again spent on our fancy new static site generator aka transmogrifier. This was not always without challenge, so extra thanks to all sticking around until the end.

And based on the experience of having to spend too much time and attention on designing the solution and fighting with the language, all to the cost of actual testing insights, in the next session we shall go back to our trusty old playground that is Cinema Paradiso. See you there!

TDD Demystified (Episode 4)

So after watching @infinitary complete the Price Engine Kata of Cinema Paradiso and having a thorough discussion on when and why to use and not to use TDD, we had our first go at Transmogrifier, our future static website generator.

And a bit of a new terrain it turned out to be, especially due to the surprising fact that out of about twenty hardcore hackers on the call NONE were proficient in JavaScript/TypeScript. But thanks to Oliver‘s patient guidance we had good learnings.

And based on the feedback we shall continue but with improved preparations. See you!

TDD Demystified (Episode 3)

Hey thanks to all of you joining our third session, about Getting into The Flow. The idea sprang from the struggles of the second workshop and so we set out to work on an already specified interface with sequenced test flow, this time creating a Seat Allocator for our renowned Cinema Paradiso.

And simpler it was and smoother it went, but… we find there’s still room to better anchor the experience of making small steps in quick succession. One challenge we identified was that resolving business expectations, working on the flow and discussing the art of testing all at the same time is too much. Hence the next session shall focus on the latter, on the minutiae that bring about good tests.

Stay tuned!

TDD Demystified (Episode 2)

So in the second session we took TDD Back to Basics and after watching and discussing the Roman Numerals Kata we went to create a Price Engine for our Cinema Paradiso. And we found that with TDD The Flow is hard to get into, so that’s what we’ll do next. And then I forgot to take a screenshot while we were 16 so here’s only one from the latter part of the session. Join us for the next one!

Branching and joining development histories 1/2

Yay! Second deep dive into Git using Gitception! We discovered the magic behind branches and merging and had vivid discussions about workflows, improvement, integrity and discipline. Who would have expected branches to be so light-weight? And merge to be so simple? We also took a glance at frequently met references which we will discuss further in other sessions! Are you joining us as well?

What a delightful group of people! Enjoyed the meetup a lot!