CHANGELOG


NOTE: If you've already purchased early access, download the latest release here.

Otherwise, buy an early access pass and you'll be able to download it as soon as you complete your purchase.

New releases will ship weekly until the guidebook is complete.


0.5.0 (Early Access) - 2025.04.11


+ Exercises

0x04 : Form vs. function

0x20 : And we'll all float on anyway

0x42 - Round and round and round and round...

+ Field Notes

0xF201 : Type coercion should be done intentionally or not at all

0xF401 : State transitions can cause unintended infinite loops

+ And also...

Relabeled the 0x20 exercise that was added in v0.2.0 to 0x21.

Expanded field notes 0xF002, 0xF003, and 0xF200 with commentary related to the new exercises.

0.4.2 (Early Access) - 2025.03.30


+ Bug Fixes

Fix broken link in footnote on 0x10.

(Same root issue as links fixed in 0.4.1)

0.4.1 (Early Access) - 2025.03.30


+ Bug Fixes

Fix broken links on The bugs you'll be hunting.

(This issue was a form of Resource Error -- the links were generating paths that work in development via the mdbook server, but not in the generated HTML files meant to be viewed standalone)

0.4.0 (Early Access) - 2025.03.29


+ Exercises

0x50 : Location, location, location

0x60 : Did you try turning it off and on again?

0.3.0 (Early Access) - 2025.03.23


+ Exercises

0x30 : Simple, Obvious, and Wrong

0x41 : State Secrets

+ Field Notes

0xF200 : Type mismatches are the most common kind of protocol error

0xF400 : Leaked state is often a defect (whether or not it breaks your program)

+ And also...

Renamed the 0x31 exercise from v0.2.0 to 0x32.
(I'm restructuring things so that the first two problems in each chapter of the book should be warmup problems, followed by four regular difficulty problems, followed by two challenge problems.)

Revised and simplified [0xF100] based on feedback from beta readers.

Added answers for [0x32] and [0x40].

0.2.0 (Early Access) - 2025.03.14


These exercises + field notes are now available for download for those who preordered:

+ Exercises

  • 0x20 : A typo causes a TypeError

  • 0x52 : Where did I put that file again?

  • 0x61 : The mystery of the missing connection

+ Field Notes

  • 0xF100 : Any method that conditionally returns either nil or some other value requires you to consider branching at every call site.

  • 0xF600 : Debug connection errors by stripping away layers

  • 0xFF00 : Don't read code like prose. Trace execution paths instead.

  • 0XFF01 : Memorize how Ruby resolves ambiguous expressions.

+ And also...

Happy Pi Day everybody! Catch you next week.

-greg

(PS: If you've been invited to participate in the private beta... expect to see an email from me or a DM in the next couple days. Getting a fresh batch of material set up for you all and can't wait to dig in! )

0.1.0 (Free Preview) - 2025.03.04


Initial preview release! 🎉

Includes the 10 exercises in the free sample.

SyntaxNullProtocolLogicStateResourceEnvironment
0x000x10--0x40--
0x01--0x31--
0x02-0x22----
0x030x13-----
-0x14----
-------
-------
-------