Ziglings needed help and I got it!

Page created: 2023-04-03

By sheer quantity of "stars", the Ziglings (github.com) learning resource for the Zig programming language is the most popular thing I’ve ever made. I’ve had lots of amazing participation and feedback ever since I created it.

Zero and Ziggy fix things for Ziglings

The only problem is that Ziglings tracks the current dev branch of Zig, which changes rapidly. If it didn’t track dev, there would be two problems:

  1. Ziglings would be teaching stuff that was slightly out of date.

  2. Anyone asking questions (or even finding bugs in Zig itself) would be told to go to the current dev branch anyway.

Since Zig changes so rapidly, there are frequent updates required to keep the Ziglings examples correct and functioning: minor syntax, standard library methods, and sometimes the Zig build system (on which Ziglings depends to compile and check each exercise).

At the beginning of 2023, I was neck-deep in a game jam (a rare personal project outside my day job with a due date!). I was already behind on Ziglings issues on Github. And it appeared that changes were coming more and more rapidly now that Zig’s self-hosted compiler had been released.

I found myself underwater and unlikely to be able to do anything about it for at least another month.

So I finally did something I’d been contemplating for a while. I asked for help:

Ziglings collaborator wanted! (Comes with shirt.) (github.com)

Like a lot of people, I find asking for help to be difficult, so offering a custom T-shirt made me feel much better about it. I mean, maintaining an open-source repo like this one requires non-trivial work and at least I’d be doing something in return for my new repo collaborator ("collaborator" is Github terminology).

And I got lucky!

It turns out, one of my frequent contributors immediately volunteered and has been absolutely amazing at keeping up with issues.

In fact, it turns out the Zig changes were about to get way more hectic and seeing the daily traffic on that repo over the last couple months makes me so thankful that I can work on other personal projects without the whole thing lighting on fire.

Asking for help in the open source community has been one of the best things I ever did. I feel like I got lucky…​but I also know that I made my own "luck" by asking in the first place.

And who knows, maybe the T-shirt helped?

Here’s the design. As you can see, Ziggy and Zero have changed a bit, but they’re still working on those cubic Ziglings thingies with everything they’ve got:

SVG final design: A lizard named Zero in a space suit holds a hammer. Another lizard named Ziggy breathes flames. Swirling smoke and flame wrap around the scene. At the bottom it says "Ziglings Maintainer 2023". In the center is a cube-ish object (a "Zigling" used in the cute graphic on the Ziglings repo).

Click here to view the SVG file on its own. Zoom in as far as you want - aren’t vectors great?

I don’t mind saying that I was feeling a bit of trepidation about starting this image since it had been ages since I’d last done something big with Inkscape.

But once I got over the initial hurdles of blocking everything in with basic shapes and zoomed in to work on the details, I started to feel better. If only you could have seen how goofy this looked with the rough shapes and colors!

I also thought people might like seeing how rough my initial sketch for this was:

rough pencil sketch in ring-bound sketchbook

Keep smashing those bugs!