The latest on letters in squares

Somewhere along the way this summer I quit doing crosswords for a while. Maybe my gardening hobby took over, or I didn’t want to touch the computer after work, or perhaps pandemic has been too much of a stressor, or maybe it just felt too much of an obligation to keep up with — whatever the reason, I fell out of practice a bit. Visualized, my puzzling activity for 2022 looks like this:

legend: white = streak meaning I solved it the day of, gray = I did it (possibly much) later, black = still haven’t opened it

I also skipped entirely the ACPT this year.

Recently, though, an LWN story about Gnome Crosswords rekindled my interest a bit. A few of the puzzles from my website have been merged into this project, and I have another few sitting around that I will polish up and submit someday.

This was a good exercise to clean up some awkward fill:

  • BOB / MAKO cross to BIB / MAKI; for this rejected-from-NYT puzzle, I still felt bad about putting my own name in it; also I guess MAKI is more common for anyone who has ever eaten sushi
  • PETRE [Architect of Christchurch Basilica (?!)] / GAR to PETME / GAM in this puzzle. Although GAM feels objectifying, I clued it as bygone film noir slang. Anyway PETRE was so terrible that it had to go.
  • Same puzzle, AKA / OKE [Just great, in old slang (?!)] to ADA / ODE. People running Linux are quite likely to know Ada Lovelace, besides which it is in mainstream puzzles by now, and OKE is very O_o.

There are still some lousy answers in both puzzles, driven by grid shape so fixing would require a lot of work, but these tiny tweaks make them a lot less bad.

Meanwhile, I’ve completed most of the early-week puzzles over the last few weeks, chasing the 5-minute mark on Tuesday puzzles (personal best currently 5:07) and the 4-minute mark on Mondays (4:12).

The discussion in the LWN thread was about crossword file formats, and since Gnome crosswords uses ipuz, I dusted off XwordJS and added ipuz support, and even wrote a couple of test cases. For my money I still prefer XD, much the same as I prefer Markdown to HTML, which brings me back to the image at the beginning of the post.

When I was a wee lad, we would write programs to make images, and all libraries sucked in these times so we would often roll our own. As an example of sucking, this is from a real-life comment in actual code:

 * We use C's setjmp/longjmp facility to return control.  This means that the
 * routine which calls the JPEG library must first execute a setjmp() call to
 * establish the return point.  We want the replacement error_exit to do a
 * longjmp().  But we need to make the setjmp buffer accessible to the
 * error_exit routine.  To do this, we make a private extension of the
 * standard JPEG error handler object.  (If we were using C++, we'd say we
 * were making a subclass of the regular error handler.)

Being poor students at the time, we could not afford to spend our hard-earned money on compression, decimal to binary conversion, or complex serializers, so we did the simplest possible thing that worked: we wrote out P[BGP]M text files (we were profligate when it came to disk). My little visualization was done just in this way: open up vim, a few macros later, a PGM file is born. I let gimp handle the hard work of rotating, scaling up, and converting to PNG, but ImageMagick probably would’ve worked just as well.

7 38

128 128 128 128 128 128 255
255 255 255 255 255 255 255

There is a lot to be said for plain old text, and no, that does not include JSON.

August already

It’s that time of year when all the fruits are ripening and we have more than we can reasonably eat.

Zucchini is new this year, and this used to be one of my favorite summer vegetables, but now I’m just trying to figure out how to use it all up. We ate it as tacos, parm, grilled, roasted, fried, donated to the food pantry, and we still have some in the fridge. Perhaps zucchini bread is in the offing.

The Black Krim tomatoes are delicious sliced on their own, but having several pounds on my hands at the peak of ripeness, I can’t make enough biscuits to go with them. So yesterday I made a couple of jars of pizza sauce (mix of fresh Romas, Black Krims, and a can of San Marzanos, some of my garden basil and garlic). Today we had freshly made sourdough pizzas topped with this sauce and, reader, I submit there is nothing better.

July already

It’s once again that time of year where I have enough growing out in the garden that I can share a couple of photos. Pictured below: some marigolds, gai lan, sugar snap peas, and unripe tomatoes. Last week I made some garlic mayo from harvested garlic scapes — a delicious addition to grilled burgers.


Recently my Kindle (Paperwhite 3, 2015 edition) had a mishap wherein it took a trip through the washing machine. After it dried out, I tried booting it up again only to get a “you should really go repair this” graphic on the display and it was toast. I took the opportunity to upgrade to the more recent, somewhat waterproof edition.

Meanwhile, I wondered if I could do something with the e-ink screen on this old one. After manhandling it open, I found I could get it back on after disconnecting and reconnecting the battery and shorting the traces where the power button used to be. So, naturally I rooted this thing.

Besides trying out KOReader and the like, one possible use for the device would be as a very low power black-and-white photo frame, so here’s a picture of one of the kiddos on the screen. Perhaps encasing this in a better frame and setting up a cron job to cycle images every few days would make a nice build.


This weekend I finished up an A-frame trellis for this year’s garden that I’m hoping will make it easier to grow tomatoes up a string and some pole beans or peas on a mesh on the outside. Last year’s better boys that I’d clipped along a piece of twine were by far the lowest maintenance tomatoes ever, so doubling down on that.

I rigorously planned this trellis as you can see from the blueprint. Still, I made some last minute changes, like anchoring it to rebar with zip-ties instead of driving the posts in directly — since I used the cheapest 1x2s ever made, it was highly likely that tapping them with a hammer would’ve resulted in catastrophic failure. Zip ties will likely be upgraded to a more permanent clamp at some point.

Cold frame

I “built” a cold frame this weekend to start hardening off the several gai lan plants I have under grow lights in the basement. I knew I was saving all of those furnace filters for a reason.

Transcription: St. Thomas

My current jazz odyssey involves transcribing some tunes. So I played around with lilypond/lilyjazz for the first time while transcribing Sonny Rollins’ solos on St. Thomas.

Lilyjazz is quite nice – the output really looks like the page was ripped out of the Real Book and much more readable than anything I have ever written out by hand.

I admit to not knowing the rules about how best to spell notes or rhythms so a few things probably look weird, and I glossed over some of the fast parts. Still, it’s not terrible for a first try.

As for this solo, what caught my ear initially was how well one measure leads into the next, and there are plenty of examples of nice voice leading in here. But after writing it out, the quarter notes in bars 41-42 and 76 stand out to me — just great examples of tension and release. I also missed on first hearing how Rollins returns to the opening motif at various points like bar 31, giving it a nice thematic completeness.

Anyway, lilypond source and the second page are in my github. Corrections welcome.

Note: I transcribed it in C for piano / guitar; lilypond can transpose automatically for other instruments. On guitar, I find 5th position is the most comfortable spot to play it. Although 8th position is a typical place for C major, I find the notes sound too muddy on the 5th and 6th strings.

It’s 2022.

2021 is in the books. Enough said here.

The family is doing fine, but understandably bored. We are fully vaxxed to the extent possible but maintaining caution under the current Omicron wave. Holding pattern continues unabated.

Normally I would have spent the dead week between Christmas and New Year’s doing something computer-y outside of my day-to-day work, but this year I was just too tired to hack. So instead I started working my way through a jazz theory book and analyzed a few tunes from a real book. Last year, I discovered JJazzLab, which has been a fun tool for practicing improvisation on Linux. I play OK diatonically, but I still need a lot of work on playing outside and in melodic minor modes. It might be interesting to work up a half dozen tunes in 2022, recording them on both piano and guitar to track progress. We shall see if I can find time for that.

Last year, I wanted to improve on my crossword solving times. I completed every 2021 NYT puzzle, improving my average times by 15-20% — except on Fridays, where the average went up by a minute. Max streak was 95 days, lowest time was 4:30 (11-08-2021).

Snow blankets the ground right now, prompting wistful thoughts of this year’s garden. I’ll order some seeds in the next few weeks. For now, I have a couple of overwintering habaneros wanting only longer, warmer days.

Just like the rest of us.

Another garden dead and buried

The garden was pretty successful this year – everything I planted produced in some way. We dined on a copiousness of kale, a pallet of peas, a torrent of tomatoes, a heap of habaneros, a barrage of beans, an overabundance of aubergines (an expanse of eggplants?), and more. Pumpkins were a fun addition but they used so much space (one entire bed, and still spilled onto the sidewalk) that I’ll give it a miss next year. At least the resident vole enjoyed snacking on them.

Although I only got a couple of fruits from its container, the black krims were by far my favorite tomato variety, so next year they will get the top spot in the garden.

I canned a few jars of salsa and a batch of habanero jam to keep us warm during the winter.