Skip to main content

Julia Evans

Some possible future zines

Hello! I’ve been thinking about what zines I want to write in the future a bit. Usually I don’t have any plans for what I’m going to write next, but having no plan at all feels like it might be getting a bit old.

So this post is mostly a way for me to try to organize my thoughts about why I choose certain topics and what I might want to write in the future.

the criteria

I’m interested in writing about things that are

  • fundamental in some way
  • very useful to know in your programming job
  • stable (the basics of SQL / git / CSS / HTTP / Linux aren’t going to change any time in the next 5-10 years!)
  • possible to learn the basics of quickly

There are a LOT of topics that fit these criteria. As I was thinking about topics, I realized that there are lots of topics (like object oriented programming principles) that I think could in theory be pretty valuable but that just didn’t speak to me. What’s up with that?

I only write about topics that I care about

I think a thing that I was missing was – I only write about topics that I really think are exciting and fun and important and want to share with people. Some topics I have kind of a weird and complicated love for, like containers (why are they so weird?!).

And right now I’m writing about CSS, which I’m only learning how to love pretty recently.

I think it’s often important for me to write about topics which I now love but in the past did not love. For example, it took me a very long time to understand how to use tcpdump, and once I got it I felt like I had to tell everyone HELLO I FIGURED IT OUT TCPDUMP IS ACTUALLY AWESOME AND NOT THAT HARD.

It feels a lot less interesting to write about topics where it was immediately obvious to me why they were great or which were easy for me to learn.

zines that I might write

  • shell scripting
  • debugging (I have 70% of a debugging zine!)
  • testing
  • more linux internals
  • C basics
  • gdb
  • binary, character encodings, binary formats
  • how git works
  • TLS certificates, CSRs, CAs, etc.
  • profiling
  • data structures: graph theory / binary trees / hashmaps
  • the Python standard library and/or fun Python basics
  • pandas and/or numpy (though I think maybe the pandas cookbook is a better medium for that than a zine)
  • machine learning (maybe just logistic regression?)

and a few that I think might be too small or too big for a zine:

  • Rust (too big!)
  • DNS (maybe a mini zine one day? I really love DNS & dig!)

zines that I don’t think I can write

Here are some topics for zines that I think are “fundamental” in the same way and that I think could be really cool. I don’t think that I could write these today, either because I don’t know enough about the topic yet or because I don’t really feel enough love for it yet.

As with most things, the only way I’ll probably learn more about these is if I end up using them more.

  • web accessibility
  • postgres (transactions etc?)
  • x86 assembly
  • hashing (bcrypt, sha-1, md5, etc)
  • encryption
  • JVM internals
  • code review
  • kubernetes
  • websockets (is there enough to write a whole zine about websockets? I don’t know!)
  • functional programming / object oriented programming
  • ‘big data’ topics (hadoop, data warehouses, etc)
  • paxos or raft
  • how search works (like elasticsearch)
  • how databases work

that’s all!

I’m still not sure (even after doing this for years!) why it’s so hard for me to tell what topics will make for a good zine that I can write. Maybe one day I will figure it out!

Some more CSS comics Implementing 'focus and reply' for Fastmail with JMAP