Separation of concerns
Part of why it took me so long to complete the initial posts of my stack & heap series is that I was learning a new tool: a vector drawing program.
When I decided to make my current blog a few years ago, it seemed like there were endless choices to ponder and rabbit holes to fall down. What host? What software? What layout, colors, fonts? How would I make diagrams? How would I host images? I was driven to write about pi in the Mandelbrot set, and I didn’t want to expend my energy researching and answering all those questions first.
I decided I would pursue only what was necessary to put text on a website with a canned layout—no images, and no design choices. That was hard because I love visualization and good design. I was going to be writing about one of the most famous mathematical visualizations, after all. And while I’m not a good designer (please forgive me for the trope I’m about to employ), I know what I like when I see it.
But rendering the Mandelbrot set in ASCII-art actually became a helpful simplification—not having to use any drawing APIs meant the code could be almost entirely about the math I wanted to discuss.
Using Jekyll’s default Minima theme was much less serendipitous, however. It eliminated a bunch of choices and rabbit holes, but I’m not happy with its horizontally-constrained code blocks and lack of dark mode. I really need to find or create a more suitable theme for programming posts.
But this strategy worked in that I did publish those posts, which was very satisfying.
Only when I decided to write some posts that absolutely required images did I do that research and settle on bunny.net, which I’ve been quite happy with. But when it came to making diagrams, I dodged another rabbit hole by deciding to draw them by hand and post photos of the drawings.
When I was very young I loved to draw, but stopped after I discovered music and electronics and never took it up again. Even while becoming absorbed in the Macintosh, then starting my software career working at Quark, I never took the time to learn vector drawing programs. They seemed so much more complicated than moving a pencil on paper. I never tried a tablet—maybe that would have been the answer.
But I knew diagrams would be essential for this stack & heap series. It was time to crawl down the drawing program rabbit hole.
Thankfully it didn’t take long to find Affinity Designer 2, and after a few months of use, I’m very happy with the decision to buy it. It somehow manages to be sophisticated and approachable at the same time. It just feels good interacting with it. I should examine that feeling in more detail.
Of the drawings I’ve made for the stack & heap posts, I can say I’m pleased with one of them, while the others need improvement. But that’s okay. It’s taken some time, but I’m finally learning to draw on a computer!