Home / Blog Menu ↓

Blog: #bane

Prints 1.2

Welcome to Prints volume 1, issue 2.

Table of contents: Reading • Watching • Making • Links • Thoughts


After reading four nonfiction books at a time, I’ve dropped back down to one at a time (along with one fiction at a time). Reading more books concurrently felt like a way to get through the slow more easily, but I think it made it worse. I definitely wouldn’t have finished Bede’s Ecclesiastical History any time in the next month or two if I hadn’t focused on it. One at a time also has the advantage of being cognitively easier, which feels better on my brain.

I predominantly read books written in the past fifty years, but as I’ve mentioned, I’d like to read more books written before that narrow sliver of time. (Thus the Bede.) To that end, I’m hoping to try to have every fourth book (or so) be an old book. Planning to try some Roman historians next, and maybe some English chronicles as well.

Goodness, there are lot of books I want to read. Mount TBR’s growth is certainly more than linear. Hopefully not exponential yet, though.

With my (extremely meager) writing, I tend to measure my output by the number of words written. Getting one or two thousand words down marks a really good day for me. Well, for comparison: last year I read approximately 9.4 million words — around 25,000 a day. (While the comparison interests me, it is of course not fair. Creating is usually more time-intensive than consuming, something I need to remember more often.)

Recent reads


  • Kassia St. Clair’s The Golden Thread was fascinating. More wide-ranging than I expected, across both time and space. I absolutely want to read more about textiles — very open to recommendations.
  • As alluded to above, I went full Bede and finally made it to the end of his Ecclesiastical History of the English People a few days ago. If you care deeply about what day Easter is observed on, this is the book for you. Slow reading at times, but I liked it and I’m glad I read it. Also, the old place names were delightful. A small sample: Infeppingum, Ythancaestir, Streanaeshalch, Paegnalaech, Lyccidfelth, Cerotaesei, and Adtuifyrdi.


  • As with the first in the series, I liked the anthropological/linguistic angle in Arkady Martine’s A Desolation Called Peace. My brain found it very reminiscent of C. J. Cherryh’s Foreigner — so much so, in fact, that my imagination kept replacing the Teixcalaanlitzim with Cherryh’s atevi aliens. (This reminds me that I need to continue the Foreigner series sometime.)
  • I enjoyed Martha Wells’ Rogue Protocol, third in the Murderbot series. The novella length is perfect for me. These are light, easy reads, too.

Books acquired

A new experimental section, inspired by David Allen’s book posts. It’ll be embarrassing (I buy a ridiculous amount of books) but I like books enough to want to include it. Keep in mind that I mostly buy ebooks on sale, and I also work at a company that has an unlimited books benefit, which I am clearly putting to full use.

Books acquired since last issue, in acquisition order:

  • The Black Coast — Mike Brooks
  • The First Clash: The Miraculous Greek Victory at Marathon and Its Impact on Western Civilization — James Lacey
  • Termination Shock — by Neal Stephenson
  • The Passage of Power: The Years of Lyndon Johnson IV — Robert A. Caro
  • Caught in the Revolution: Petrograd, Russia, 1917 – A World on the Edge — Helen Rappaport
  • The Artist, the Philosopher, and the Warrior: The Intersecting Lives of Da Vinci, Machiavelli, and Borgia and the World They Shaped — Paul Strathern
  • Ghosting the News: Local Journalism and the Crisis of American Democracy — Margaret Sullivan
  • Win at All Costs: Inside Nike Running and Its Culture of Deception — Matt Hart
  • Betsy Ross and the Making of America — Marla R. Miller
  • Ages of American Capitalism: A History of the United States — Jonathan Levy
  • Songs of a Dead Dreamer and Grimscribe — Thomas Ligotti
  • Labyrinth of Ice: The Triumphant and Tragic Greely Polar Expedition — Buddy Levy
  • They Said They Wanted Revolution: A Memoir of My Parents — Neda Toloui-Semnani
  • The Tycoons: How Andrew Carnegie, John D. Rockefeller, Jay Gould, and J. P. Morgan Invented the American Supereconomy — Charles R. Morris
  • The Brothers Karamazov (Pevear & Volokhonsky translation) — Fyodor Dostoevsky
  • Kingdom of Nauvoo: The Rise and Fall of a Religious Empire on the American Frontier — Benjamin E. Park
  • The One Device: The Secret History of the iPhone — Brian Merchant
  • How Do We Look: The Body, the Divine, and the Question of Civilization — Mary Beard
  • A Practical Guide to Conquering the World — K. J. Parker
  • Ember Rising — S. D. Smith
  • Ember’s End — S. D. Smith
  • China in Ten Words — Yu Hua
  • Bag Man: The Wild Crimes, Audacious Cover-Up, and Spectacular Downfall of a Brazen Crook in the White House — Rachel Maddow
  • The Making of Prince of Persia: Journals 1985–1993 — Jordan Mechner
  • Leonardo da Vinci — Walter Isaacson
  • The Cloud Roads — Martha Wells
  • The Undoing Project: A Friendship That Changed Our Minds — Michael Lewis
  • Edgar Rice Burroughs: Master of Adventure — Michael A. Lupoff
  • Facebook: The Inside Story — Steven Levy


Another new experimental section: words I’ve come across in my reading that caught my interest.

The polite thing to do here would be to include definitions, but looking words up is half the fun, right? I’m also leaving out the language — some of these are from a French dictionary, for example — and I’ll leave the list unsorted to boot. (If you think I’m just being irresponsibly lazy here, you’re not wrong.)

  • maltote
  • IOOF
  • chapfallen
  • gage
  • marivaudage
  • rodomontade
  • mulct
  • flitch
  • electuaries
  • on eyre
  • condign


I don’t feel like I watch enough of anything to warrant a section here, but that’s probably not as true as I think, so here we are.

Enjoyed Encanto (still have the music stuck in my head), Ron’s Gone Wrong, the Loki series (so weird), and the Assembled documentary series (I love love love making-of documentaries).

Tried The Book of Boba Fett but I really struggle to enjoy Star Wars at all anymore. Back when The Mandalorian came out, I bounced off it as well. (Guess which streaming service we subscribe to, by the way.)

Lately we’ve started watching BYU volleyball games, which has been fun.


This past run (as in a run of days, which is what I’m calling the time period between issues, at least for now) my back has been worse, which makes some type of work (like art) more painful/difficult. My day job has also been very busy, leaving me with fairly little energy left over in the evenings. End result: not much project work.

Current projects

Salviana (working title): I’m close to finishing the new outline. It incorporates a lot of what I already have in the first draft (which is a nice change; usually my revision outlines end up changing everything). Hoping to finalize it soon so I can dive in and make the revisions.

Retzi (working title): On hold while I finish outlining the Salviana story.

Religious art: My Their Work and Glory piece is in a new exhibit, The Sacred Feminine in LDS Art & Theology at the Center for Latter-day Saint Arts Gallery in New York City, open January 14 through March 6. (It’s in under the alternate title Their Work and Their Glory.) I’ve tried a few ideas for new work but haven’t come up with anything I’m happy with. I suspect I may have reached the end of my time exploring this type of art; a pivot to some other kind of art is probably best. Also, in case anyone’s curious about scale here: in 2019 I sold 15 prints, in 2020 I sold 183, and in 2021 I sold 196 (all on-demand through Society6). I haven’t done any marketing and don’t care to.

Other art: I played around a little with Procreate 5.2’s new 3D painting functionality. Itching to do more with that and realized I need to get better at modeling in Blender first. (I did end up playing around with geometry nodes a little. Nothing to show for it yet.)

Charts: I’m thinking about making a Latin endings chart. It would show -ae, for example, and then list out all the grammatical possibilities for that suffix. Not sure yet if it’s actually a good idea; still in the exploratory phase. (Still haven’t actually done anything beyond writing down the idea, to be fully transparent.)

Bane: Backburnered for now. I’m not sure designing a general-purpose language interests me enough right now to continue with it — at least not one that’s basically just an amalgam of other languages. If it was innovative enough, though, then perhaps.

Marks: I’ve decided to go with making this a DSL instead of a VM. Random ideas for it that I haven’t really thought through yet:

  • Leaning towards declarative instead of imperative (ala POV-Ray, Lilypond, OpenSCAD, etc.)
  • Special focus on path manipulation (iterating through paths, moving points around, filters for roughening paths, etc.)
  • CSG/Boolean support
  • Not sure if this is purely generative or if modifying existing SVGs (for example) would also be part of it
  • Custom brush strokes defined through functions, with controls for falloff, opacity, etc.
  • Paths and points as primitives, along with being able to define new primitives (just functions, really)
  • Not sure yet how much will be vector vs. raster
  • Reference implementation built in JavaScript

Bend: I’d been trying to figure out the curve-editing commands more abstractly, but it was hard to latch on to and I didn’t get anywhere with it. Recently, though, I tried writing user stories — e.g., “I place a point, pull out a control point, and then place another point up and to the right with its control points extended” — and already it’s helping anchor things enough that I’m making (slow) progress again.

Hinterlight: A typeface, previously known as Hinte. I started it months ago (designing it in FontForge) but abandoned it because I am not at all good at type design yet. Recently I resurrected the project, with a few new process ideas that will hopefully help: using Paged.js to generate proof PDFs and then proofing those on my iPad (in Documents, using my Apple Pencil to make annotations). I feel like it’ll still take a long time before I get any good at type design. Baby steps.

Projects I’ll probably never do

  • A protocol (parallel to HTTP, Gopher, Gemini) that lets you broadcast one word per day. An exploration of the idea of really slow communications. This would possibly lead to some suspense (“Which way is this sentence going to go? I won’t know for weeks!”), but more likely it would just be insanely boring. Still, smaller, simpler protocols for alternate nets interest me. (I do still plan to get a Gemini server up at some point.)
  • Take a medieval chronicle and publish it in blog format. Probably posted all at once, but possibly in “real time” with a contemporary day for each year in the chronicle. Someone has probably already done this.

Brandur on using Docker for local development. Reproducible deterministic environments are worth it, I think. But I’m all for getting rid of complexity where possible.

Mapbox on their adaptive projections for interactive maps. Loved this.

TinyGo, a Go compiler for embedded and WebAssembly. (A stripped hello world gets down to 10k.)

Where Is Webb, a nice info page showing the current status of the Webb telescope.

James Padolsey’s Break the Bubble escape chamber. A recommendation service for books you probably haven’t read by people who read books like you.

Tom Scocca on how long it takes to caramelize onions. From 2012 but still good.

Dinwar on how geologists think. Found this fascinating.

Moxie Marlinspike on crypto. For whatever reason I’ve had zero interest in blockchain/crypto/NFTs/etc., but this seems a level-headed take.

Molly White on blockchains. Also a level-headed take.

PrinceJS, a web-based recreation of Prince of Persia (which I played as a kid). Works on mobile, too.

Stanford Carmack on subordinate that usage in the Book of Mormon. His research into the Early Modern English syntax of the Book of Mormon is fascinating.

Christopher Moore on a meteor that hit Tall el-Hammam 3,600 years ago. More particularly, it’s about how they deduced that this happened.

Women in Type, a research project showcasing women’s contributions in type history. (Fonts, that is.)

Patrick Tanguay’s list of friendly indie micropublishers. I love lists like this.

Kevin Kelly on ideas wanting to be shared. This resonated with me.

Kevin Kelly’s 99 additional bits of unsolicited advice. Also, I wish I’d had the foresight to register bc.net back in the early days of the web.

Julio Merino’s EndBASIC project. A web-based interpreter modeled on QuickBASIC with a DOS environment. Nostalgia! (It’s not quite the same as what I programmed with as a kid, but still nice.)

Anthony Warner on botulism and Botox. The stats toward the end blew my mind.


On that iOS keyboard bug I mentioned last issue: if I open Safari, go back to Home Screen, and then reopen my PWA, the keyboard returns. A little quicker than killing the PWA, though still obnoxious.

Some random small horological musings on advantages analog clocks have over digital. Analog is spatial: time takes up space, so you can see the size of it at a glance, along with relationships between intervals. With digital, you have to do some basic math first and it’s still more abstract. Also, analog clocks make me less concerned about the exact time — within a few minutes is usually acceptable. (These thoughts bubbled up when I decided to change my watch face from digital to analog.)

Realized I’ve had this website for over half my life.

Reply via email or office hours

Prints 1.1

Welcome to Prints volume 1, issue 1.

Table of contents: Introduction • Reading • Projects • Work • Personal • Links • Miscellanea


In my recent (failed) attempts to get back into blogging, I’ve been aiming for a frequent stream of small blog posts. It hasn’t worked.

Enter an experiment from stage left, one that will veer in the other direction: longer, less frequent posts. More specifically, I’m taking the weeknotes idea and fleshing it out even more, effectively turning this blog into a cozy little magazine. (How is this different from weeknotes? For me, in this model all posts are part of the zine, rather than having other posts alongside the weeknotes. Does this matter to anyone but me? No.)

I anticipate issues going out every couple weeks, but let’s leave that open and flexible. The name, Prints, is an allusion to both printing/publishing and footprints/tracks. It all feels a bit pretentious, to be honest, but I’m doing it anyway.


I recently got a Kobo Libra 2, to explore the ereader ecosystem outside of Kindle. It’s…a lot better. Better typography, better page turns, better lighting. I much prefer the Libra to my Paperwhite. (That said, I still do almost all my reading on my phone. Hoping to branch out a bit, though, because I can get larger fonts on the Libra and that’s nicer on my aging eyes.)

The quest to read more old books continues. I’m a third of the way through Bede’s Ecclesiastical History and it’s taken me two months to get this far. I’m not giving up!

Lately I’ve started making time to read from dictionaries, and I love it. So delightful. So many good words. (I’ve also started making time to study maps.)

Recent reads

Nonfiction: I ate up Robert A. Caro’s Working and can’t wait to read both The Power Broker and his LBJ series. David Grann’s Killers of the Flower Moon was sad and riveting. It was fascinating reading about Aldrich Ames and Robert Hanssen from the KGB side in Victor Cherkashin’s Spy Handler.

Fiction: K. J. Parker’s Siege series really clicks with me and How to Rule an Empire and Get Away With It was a delight. Also enjoying the Murderbot books. Sam Hughes’ There Is No Antimemetics Division was mind-bending but ultimately not particularly enjoyable for me. I did like Naomi Novik’s The Last Graduate, though, along with Orson Scott Card’s Duplex.

This year’s reading stats

92 books finished. 55% of those were nonfiction (51 books) and 45% were fiction (41 books). 19 books abandoned mercilessly.

37,634 pages read (103 pages per day on average). By page (which includes abandoned books), 44% of my reading was nonfiction, 34% was fantasy, 19% was science fiction, and 3% was other.

Of the fiction, 14 books were standalone, 9 were the first book in a series, and 18 were subsequent books in a series.


My interest in different types of projects tends to rotate on a near-daily basis. I used to trim my list of current projects each time that happened (convinced that this is the time that I really do focus just on writing forevermore), but lately I’ve realized that it’s better to just leave everything in place for when my interests change once again.

Also, I feel like I haven’t really been great at finishing projects lately. Not sure why. (Could be my back issues, or the pandemic, or switching jobs. Or maybe I’m just losing my touch.)

Current projects

Salviana (working title): A story I’ve been working on for a couple months. Thirty pages written (discovery written, I should say) and the first draft is very close to done. Figuring out revisions and hoping that helps with figuring out the ending.

Retzi (working title): A story I’m outlining, in the hope that I can make myself into an outliner and become at least a little more prolific with my fiction. I got an initial high-level outline finished and then decided I want to take the story in a different direction.

Bane: A programming language I’m designing, mostly just to play around in that space and see if it’s something I want to spend more time on. I don’t know yet if I’ll actually build a compiler/interpreter for it. Some silly and unorganized sample code (all subject to change):

export printName
import lookup from utils

fn add x:i16 y:i16 -> i16 = x + y

fn printName name:str {
  print "{name}"

// conditionals
x > 5 {
  printName "Bob"
  y = add 42 x
  z = fn count:i32 -> str { count.str }
} else {
  print "Too small."

person = lookup "Jane Doe"
match person {
  firstName.length > 10 {
    print "{firstName} is too long!"
  firstName./^Ro/ {
    // regex match
    print "Probably Robert or Roger"
  firstName./^Sa(?<rest>.+?)/ {
    // regex match with named capturing group
    print "Hello, Sa{rest}"
  phone[:3] == "801" {
    // slice
    print "Utah"

// basic loops
loop 0..10 step 2 {
  print "Counting by twos"

loop until x == 0 {
  x -= 1

loop while x < 10 {
  x += 1

// loop through a list
loop names as index, value {
  print "Name {index}: {value}"

// loop through regex capture groups
loop nameString./Name: (?<name>.+?)/ {
  print "Found name: {name}"

// error handling
  // .. some code ..
}.trap error {
  log error

I’m sure there are inconsistencies there and things that aren’t well thought out yet. It’s a rough draft.

Marks: A VM for generative art that I’ve been planning, though I’m beginning to think it may turn from a VM into a DSL. Either way, the idea is to establish some primitives that make it easier to make some kinds of generative art. Is this better than just making a good library for an existing language, though? That’s the question.

Bend: An exploration of what a UI for editing curves entirely via the keyboard might look like. (Vim for Illustrator, I guess?) I’ve got a basic prototype built that can do straight lines; now I’m figuring out how the editing language should work for curves, selection, all that. (With this project, the design appears to be the hardest part.)

Cast: The engine for this site. I got most of the way done building Cast as a static site generator but then stalled out, and in the past couple days I’ve realized that it’s almost certainly because I don’t really want to use it. So I’m pivoting it to something I hope will fit me better (probably integrating it with Slash, my blog engine).

Religious art: After taking a break for several months, I did another abstract religious piece. I’m not sure if I’m back in the saddle there or if it was a one-off, though. (Up until this last piece, I’d tried several times to come up with new ideas but the well was dry.)

Generative art: Back in October I played around with forming lines out of small circles, for a marker-like effect:


Recently I took that code and used it to make some random-walk art (textured afterwards in Affinity Photo, which I realize could be considered cheating but it is what it is):


I’m hoping to play around with Blender’s new geometry nodes soon.

Charts: I’m thinking about making a Braille alphabet chart and maybe more Latin charts. I’m particularly intrigued by the idea of doing them in HTML and CSS or in SVG (and thus being far easier for other people to modify, since PlotDevice is Mac-only).


I’ve started going through Josh Comeau’s CSS course, and so far it’s good. Still planning to dive deep into the actual CSS specs, though. (When I get time. Ha. There is so, so, so much to study and learn, and so little time to do it in. But baby steps make a real if small difference.)

In our engineering team book club we’ve been reading Martin Fowler’s Refactoring and I’m liking it a lot more than I expected to. Haven’t yet adopted the overt refactoring steps, but I plan to try it out.


Since the last weeknotes I posted back in March: my wife and I have gotten fully vaccinated and boosted, and our three oldest kids have also had their second shots. We’d hoped our youngest would be able to get vaccinated soon but it’s looking like it’ll take at least several more months. Because of that we’re still not hanging out with people or going back to church or into restaurants or movie theaters, but we’ve started doing in-person grocery shopping again.

As far as my back goes, it hasn’t gotten better, even with physical therapy. So that’s fun.

Liz Stinson’s oral history of Processing. Enjoyed this even though I’ve barely used Processing itself.

Mary Soon Lee on The Sign of the Dragon, her novel made from 300+ poems. Intriguing — particularly the way the poems are all self-contained and yet combine together into a larger story. Maybe it technically isn’t a novel, but either way, it has hooked my interest.

Alvar Carto lets you make phone wallpaper from maps. My lockscreen is currently a view on York, England.

Justin Etheredge on twenty things he’s learned in twenty years as a software engineer. Some good points.

Matt Mikalatos on the problem of Susan in the Chronicles of Narnia. Loved this.

Natalie Wolchover on why the Webb telescope matters so much. I actually hadn’t heard about it at all until a few days ago, which is mildly embarrassing.

Parimal Satyal on rediscovering the small web. Nostalgia!

Oliver Burkeman on treating your to-read list like a river, not a bucket. A decent strategy for those of us where we’re adding to the list faster than we’re finishing books.

Ahmad Shadeed on defensive CSS techniques. Some good suggestions.

Dave Rupert’s RSS club. Posts that only show up in RSS readers. Intriguing.

Alex Chinneck’s art installations. Love these so much.

East Asian age reckoning is something which I a) didn’t know about till recently and b) found startling, in a good way.

Bruno Simon’s homepage. I love the 3D take on a homepage along with the aesthetic.

Lynne Olver’s food history timeline is fascinating.

Paul Salopek’s 24,000-mile walk from Africa to South America is also fascinating.

Vertiwalk, an invention for moving between floors without needing to use stairs.

Bartosz Ciechanowski does it again with an interactive tutorial on curves and surfaces.

Aram Drevekenin on the anatomy of a terminal emulator. Love the aesthetic here, too.


iOS 15 has been more miss than hit for me. Particularly the Reminders app (it takes five to ten seconds for items to update once I’ve checked them off, and they frequently come back even after that) and PWAs (when I tap on a textarea, the keyboard comes up except all the keys are missing, so I have to force-kill and restart the app, and if I switch to another app and then switch back, the keyboard disappears again; it’s bothersome especially because I use a handful of personal PWAs extensively).

We enjoyed watching the Hawkeye miniseries.

I switched the font on my site to self-hosted (used to be Google Fonts), which brings the third-party tracking down to nothing, finally. Also moved to an IM Fell font for more of an old-book vibe.

Reply via email or office hours