Home > Uncategorized > Guest post: Teaching programming with zines

Guest post: Teaching programming with zines

June 3, 2018

This is a guest post by Julia Evans, a programmer who blogs and tweets.

What’s a zine?

A zine is a short, usually self-published booklet. Most people who are familiar with zines probably know them from punk zines, art zines, literary zines, feminist zines, or anarchist zines. I love zines like that, but I’ve been doing something a little different — for the last 3 years, I’ve been writing zines about programming concepts!

To get an idea of what I’m talking about in this post: I have a bunch of zines you can read for free at https://jvns.ca/zines. If you love those you can buy my latest Linux zine at http://gum.co/bite-size-linux.

Here’s one page from the current zine I’m working on, which explains 18 important Linux command line tools in 24 pages. This is a quick introduction to grep.


The amazing thing to me about this comic, and other comics like it, is how many people told me that they learned new important facts about grep (you can grep with regular expressions! You can grep recursively!) by reading this tiny comic.

So suddenly comics aren’t just for fun– they’re a tool that you can use to teach new ideas!

Why use zines to teach programming ideas?

Zines and comics are fun, but more importantly I think they’re actually an incredibly efficient way to teach busy professionals new ideas. It turns out that most people don’t have time to read long programming books. And a lot of useful ideas can be explained really quickly!

Fun, accessible content works. People understand it. In the zine “Linux debugging tools you’ll love” (https://jvns.ca/debugging-zine.pdf), I explain netstat, netcat, ngrep, tcpdump, wireshark, strace, eBPF, dstat, and perf and a bunch of its subcommands. This is a lot of material, and it’s material that folks often find intimidating. But because it’s presented in an adorable illustrated 24-page zine people are like “oh how interesting and cute!” and don’t hesitate to pick it up, read it on their commute to work, and learn something.

What I end up finding is that people will read my zines who I wouldn’t expect. Even though they often have pretty advanced content, people will read them even if they’re new to programming or new to Linux! And they’ll often learn something and tell me “yeah, sure, I didn’t understand 100% of it but a lot of it made sense!” To me this is a HUGE WIN.

Printing out hundreds of zines is easy!

The other magical thing about zines is that because they’re so cheap to print (I can get 500 zines printed & stapled at my local print shop for about $300), you can distribute a lot of them easily. Every time I speak at a tech conference these days, I’ll ask the conference to print 500 to 2000 of my zines (usually related to the talk I’m giving) to give out to attendees.

This is amazing because it gives people something fun & useful that they can take home after the talk and give to their friends!

You don’t need to know how to draw to draw comics

If you think this format is cool and you’d like to draw comics to teach people, drawing skills aren’t that necessary! I’ve self-published 7 zines and printed and sold thousands of them, and these are literally all the things I know how to draw.


So you could do it too! When trying to teach, information content and organization is a lot more important than drawing skills.

Categories: Uncategorized
%d bloggers like this: