Crafting Interpreters

I’ve been working my way through Crafting Interpreters by Robert Nystrom for the past few days. It’s an excellent book about creating your own programming language.

I was already familiar with Nystrom’s previous book Game Programming Patterns. A great book on design patterns, even if you’re not a game programmer.

Crafting Interpreters covers a new object-oriented scripting language called Lox. You’ll first implement a tree-walk interpreter in Java and then create a bytecode virtual machine in C.

I probably won’t ever directly use these skills in my day job, but gaining a deeper understanding of interpreters and virtual machines can’t hurt. Especially considering I split my time between the Ruby interpreter and Java VM.

Almost as interesting as the book itself is the way he wrote it using a combination of Markdown for prose and hand-drawn diagrams. More details are in his blog post Crafting “Crafting Interpreters”.

If the book sounds interesting to you, you can read it online for free at the link above. After reading the first few chapters onscreen, I bought a print copy. I like having the book open on my desk while writing code.

The Matrix Resurrections

Oh my god. I realize this is two Matrix posts in a row, but this trailer looks amazing!

In theaters and HBO Max on December 22. That makes me even happier. I really want to see this, but I’m still not ready to step back into a theater. I honestly may never be.

Matrix Time

When I was a younger there was a phone number you could call where a recording would tell you the current time and temperature. I never really thought too much about that. It was obviously an early computer generated voice filling in the time and temperature.

Now, there’s a website for the upcoming Matrix movie that incorporates your local time the right way.

The Choice Is Yours

Thanks to a post on Reddit, you can see how it was done. There are 1,440 copies of each trailer, one for each minute of the day. A bit of clever code picks the correct video to play based on the local time in your browser.

Not rocket science, but it did get people talking.

Bringing Back WebRings?

If you can make it past the over abundance of ads (Reader View is your friend), this is an interesting article about the Internet days of old.

What these rebellious programmers are building goes by many names—indieweb, yesterweb, folk internet—and relies on simple design choices, often borrowing elements from the 1980s and 1990s.

Tech Workers Rebel Against A Lame-Ass Internet By Bringing Back ‘Geocities-Style’ WebRings

I don’t think this is exactly the modern definition of indieweb. See for more info. But I guess this is close. I like the terms yesterweb and folk Internet for this style of website.

I had a webring on one of my old web pages, and I had a Geocities site back in the day, but I don’t see myself jumping on Neocities any time soon. I understand the nostalgia, for sure. I guess I could create a page with a few of those “under construction” gifs and call it done.

Remember the time before content was served via algorithms designed to exchange attention for dollars? At the end of the day, this is just another example of a group of old folks like me longing for the web that was.