QR Code Puzzle

For a few years, my family and I’ve done some birthday trolling of a kid my wife and I have watched grow up. This year, he graduated high school, and it seemed like maybe it’d be the beginning of the end of the times during which we’d do big involved birthday things for him (he’ll grow up, move away, no longer be a kid you can really troll, etc.). So I decided to do a more elaborate setup than usual. I sent him on a multi-stepped puzzle scavenger hunt for which I acquired props such as a hollowed-out book, a cipher wheel, a wooden puzzle box, and a cryptex. I came up with a few riddles and lined up the puzzles in such a way that one, once solved, pointed to the next.

The first puzzle was a sheet of paper with only this printed on it:

Huh? What the heck is that? I also had this ready to share in case he needed it:

You can begin to see that there’s a pattern. If you know that it’s a birthday thing, you can maybe begin to see that the patterns might read (in part) “Happy B-Day” if the squares with the slants pointing from bottom left to upper right are filled in. Eureka! You’ll now know that you need to shade in the equivalent squares on the other sheet. And when you do that, you’ll get something like this in place of the first image above (slightly modified, so it doesn’t point to anything real):

That’s pretty quickly recognizable as a QR code. It linked to a little web site I set up that offered a riddle that, when solved, pointed him to the next clue, and so on.

I fancy myself a bit of a nerd, but this felt like really nerdy stuff indeed. But that’s not all!

See, when I first made the QR code thing, I drew it by hand, using drawing software on my computer. First I had to make a 25×25 grid, and then I had to print out the QR code I had created for the web site and copy its filled-in squares onto the grid as diagonals. Then I had to fill in all the other diagonals going in the opposite direction. Then I had to print it out, fill in the squares by hand using a Sharpie (to test real life operating conditions), and hope I hadn’t gotten any of the 625 little diagonal marks mixed up (spoiler: I messed them up a number of times because it was a tedious, manual process). Then I’d lather, rinse, repeat until I got it right. It was tedious, but finally I had a file that worked.

And then the QR code that I created using an online generator expired. I hadn’t realized it would have an expiry. This meant I’d need to make a new QR code and repeat the tedious (and actually sort of painful, repetitive-stress-injury-inducing) process all over again.

I wrote code for many years professionally and for side projects, so at this point, the lazy programmer in me woke up. I figured it wouldn’t be too hard to write some little program that’d output the QR code for me and save me lots of frustration — and also be pretty easy to reuse later should I have another QR code expiry issue or another weird project for which this pretty narrowly-focused output would be useful.

I knew how to output image files, and I knew how to use php code to draw simple lines and shapes. The rest was just figuring out how to input the QR code data and how to make it fairly configurable, so that I could run the same code with different options set and output either diagonals or filled-in squares, saving me both drawing and testing time any time I needed to tweak the QR code.

It’s not especially elegant code, but what I came up with is here. A next update should I ever go back to it would have me figuring out how to just turn a url into a QR code and automatically outputting the image based on a url input, whereas right now, you still have to fill in a data array using ones and zeroes to sort of map out the squares in the code. But for now, it’s a fun little piece of code with a practical — if rarely practical — application. Should you ever have a need to generate such a thing, the code is yours for the taking. It really does make it very easy to map out a QR code and easily display either the shaded version or the more cryptic diagonal version.

Mostly I wanted to share it as an example of how a silly/fun idea can turn into a neat little code project that can later save time, as I spent less time and much less frustration writing the code for this than I did creating the original version manually.

Blogdober

I’ve noticed people doing this neat thing called Inktober in which (I gather) you draw something every day of the month. Everything that follows in this post is tongue-in-cheek and is just me being silly and not denigrating people who do these sorts of month-long challenges. I’ve done (well, failed to do) a few myself! I think they’re neat ways to motivate yourself to do a thing you’ve had trouble forming the habit of doing. But being who I am, I can’t have a one-off, (very) mildly humorous thought and leave it be. I have to poke and prod any potential little humor opportunity until I’ve teased all the pleasure out of it. Read on for my good-natured ruination of the “blog a thing every day in a month” challenges.

It all started when I kept hearing about Inktober. What if (I said to myself — these asinine things almost always start with a “what if”), since I can’t draw at all, I put my own twist on it and made it Oct-toe-ber and just posted a photo of one of my toes every day. Sure, I’d only get through part of the month or have to get creative by staging my toes in different ways or asking people if I could post photos of their toes (what one will do for art!), but it’d be something. (No it wouldn’t. I was being silly, picking and pulling at the thing to remove all real humor while pretending that I was actually being funny, which is how like 90% of my jokes go, which maybe explains some things about why I laugh at more of my gags than others do.)

Not content to leave it at that, I thought about blogging challenges I might propose for each of the other months too (putting aside the more established ones that already have a foothold, like the familiar NaSomethingWriMo challenges). Here they go.

June-uary. Re-publish every post you published on the corresponding day last June. You’re on your own for the 31st.

Fibruary. Publish a fib — not an outright lie, but just a little fib.

March. It’s hard to get too creative with this one. March around your neighborhood and write about the experience. March is a weak link in this series. Stage a 31-day protest about how weak a link it is. Hold a march each day. Post about it.

Ape-ril. Post something about an ape. If that’s not especially inspiring, consider celebrating Apiary-il instead and post something each day about beekeeping.

May. This is another tough one. Consider it a wildcard. I guess… you may post whatever you like each day.

Jan. Re-publish every post you published on the corresponding day last June. You may donate the extra one to the prior month’s quota.

Ju-lie. This one’s sort of like Fibruary, only you tell real lies this month.

Dog-ust. Post something every day about a dog. This one’s a hair less un-nuanced than it seems, since we do talk about the dog days of August. If you don’t like dogs or have ready access to information about them, you could go with Ore-gust (write about mining different ores) or UGG-ust (write about your stylish boots) or Auger-ust (there’s potentially some overlap with Ore-gust here).

Suptember. Post something each day about either your supper (it’s a good month to phone it in with some photos) or about different experiences you’ve had either greeting or being greeted colloquially (“s’up?”).

Oct-toe-ber we’ve already got covered. If you’re squeamish about feet, you could go with any number of other things like Rocktober (stones or music or sometimes, when rolling, both), Bocktober (chickens), Bachtober (music), Croctober (more stylish shoes), Jacques-Cousteau-ber (marine exploration). Really the possibilities for this one are almost endless. A colleague recently proposed that the favorite month of the humble potato was Octuber, so you could go that route if you don’t have eyes for any of these others (if you really like potatoes and don’t mind taking some more liberties with the naming conventions, you could do back to back months with Spudtember and Octuber).

Nah-vember. Nah, don’t worry about this month. Take some time off to cultivate that beard you’ve always meant to grow for Movember.

D-cember. Every post this month is about the letter D.

Bookshelves #19

Here we are in the dull neutral tones section of my bookshelves, pretty firmly on the home stretch in this series. Let’s start at the top.

Lethem is pretty strong in general, and this short book was clever and funny. I liked it, and since it wasn’t a stinker (as one or two of his have been for me), I kept it. Salt Houses was a lovely story, good by any metric but especially good for a first novel (and one of my favorite reads of 2018); I’d like to read more by Alyan. Lauren Groff has been ridiculously consistent and is one of my favorite living authors. The Monsters of Templeton Place was my introduction to her work — and a lucky random bookstore find — and I’ve been a fan of her work ever since. Salt I have not read; it was a gift to my wife that somehow wound up on my shelves. Maybe I’ll read it one day! Native Son is one of those classic books you sort of have to read, and I’m glad I finally did. My brief Goodreads review read “harrowing and eloquent.” I imagine I’ll revisit it one day.

The Pale King is David Foster Wallace’s posthumous last novel, and while it is very far from being perfect, it contains some of his best writing, and some writing that departs significantly from his other work. I’ve read it once or twice and false-started another time and will definitely reread it one day. Look a few spines to the right and you’ll also see Wallace’s posthumous essay collection Both Flesh and Not. I’ve not read this cover to cover, though I think I’ve read most of the pieces in some form or another.

Weird and Wonderful Words was a gift probably 20 years ago. Although I like this sort of book, I’ve not read this one cover-to-cover and likely never will, but it’s neat to have a reference handy.

I remember nothing about Ozick’s Dictation, but Ozick is a marvel, so I keep everything of hers I pick up.

This edition of The Inferno came out when I was in college. Its translator, Robert Pinsky, was going to be coming to my university to read his own poems and participate in some activities with the writing students at the school. I had never read The Inferno and figured it was as good a time as any. So I got the book and sat alone in my dorm room one night reading it aloud, I believe in one setting and until I was hoarse. It was good! I’m a dork! Maybe I’ll do it again some time.

Lawrence Ferlinghetti also came to my university a year or two before Pinsky did, and he and his work had a pretty big impact on me at the time. I didn’t go out and become a Ferlinghetti-ish writer (though I did then read a lot of Beat work), but I have always had a soft spot for him. He was a great reader.

The Moby Dick item is a game and not a book. It was a Kickstarter I funded, but of course nobody would ever play the game with me, and I don’t imagine it’s too much fun anyway.

Tom McCarthy is pretty much always worth a read, and I keep his books when I get them. I don’t remember much about Men in Space.

Gass sure befuddles me. He’s so dang smart, and I can’t keep up. Middle C was more accessible to me than some of his other works of fiction, and I enjoyed it, but I didn’t love it. Still, I keep Gass when I buy him, out of a naive hope that one day I’ll be smart enough to read him properly. See also his Finding a Form a couple of spines over — I’ve read some but not all of these essays.

I’ve always wanted to like Donald Hall, since way back when I was studying poetry in college. A couple of grown-ups I admired pointed me to his work. And I liked some of his work (his gut-wrenching poetry collection Without also appears among my shelves). I just haven’t gotten around to this one yet.

Barthelme and Markson are sort of experimental writers, and I like that sort of writing in theory. I’ve read a lot of Barthelme’s stories but haven’t gotten around to his Snow White yet; I’m waiting for the mood to strike me. Wittgenstein’s Mistress was a big important text for David Foster Wallace, and as I did with so many of the things I knew had influenced him, I picked it up many years ago. The Markson didn’t resonate with me, and as with Gass, I figure maybe I’m just not smart enough to get it.

Finally, there’s a collection of Pynchon’s short stories. I think I’ve read them and I think I felt meh about them (at any rate, I remember nothing about them). One day I may go back and reread all of Pynchon, and these’ll be worth revisiting if I do so.

D&D: DMing Storm King’s Thunder

I’ve written a few posts about playing D&D and about the neat stuff I’ve made or collected as a result of my last year’s developing interest in the game, but I don’t think I’ve said much about serving as dungeon master, which I’m now doing.

It’s fun, and it’s difficult. Pictured above is my setup for my latest session, which includes maps, monster stat blocks, many pages of notes, various tokens and minis (some of which I 3D printed), and of course lots of dice.

What makes it difficult is partially my still nascent familiarity with the game itself. There are still rules I need to refresh myself on sometimes, for example. If a wizard is concentrating on a spell and takes attack damage, does she lose concentration on the spell? (Answer: Maybe. Take the higher of half the damage or a rolled d20; if greater than 10, concentration is lost and the spell’s effect drops.) When do you roll for random shenanigans for sorcerers? If somebody wants to ride a horse, how do you resolve travel? There are all sorts of oddball scenarios that are covered by the rules but that you don’t even always know you need to know until you run into them mid-game and bring things screeching to a halt while you look them up (or make a potentially incorrect and frustrating ruling).

And then there’s improv. Your party is in a town and somebody asks you some random question about the history of the town or someone in it. Well, sure, you can make something up. But then you need to think about how your making things up on the fly might impact other things in the game. If you’re working from a published adventure (as I currently am), you have to try to make something up that won’t either break or spoil later important pre-written content. Here’s an example: I recently introduced a non-player character (NPC) who the written adventure describes has having a streak of white in her hair. I had forgotten the hair detail. Meanwhile, I had also introduced a teaser about another future potential NPC of my own devising who I had also given a streak of white in her hair (perhaps coincidentally, perhaps just inadvertently bringing in the detail from the original NPC). This entirely unintentional detail made my party perk up. Now they’re in the position of wondering what the significance of the detail is. Is something causing women to grow white streaks? Can we infer anything about people with white streaks in their hair? What if my character has white hair? Is this the key to unlocking the whole adventure? There’s so much room for inadvertent pitfalls like this.

Then there’s the need to give life to NPCs, and to have a stock of NPCs ready for whatever may come up. I’m not especially comfortable doing accents or voices, especially among grown-ups. I’m trying to push out of my comfort zone, though, because without a little play-acting, it’s hard to distinguish NPCs from one another and to give more texture to the game. Once you’ve invented a distinctive personality for a given NPC, you then ought to try to remember it and switch into that personality when playing the NPC, and this too can be tough if you have a bad memory like me (using distinctive personalities from your life or from TV/movies as references can help with this). And then there’s the case of the randomly spotted NPC to whom you must give a name and some personality and perhaps a memorable physical characteristic, without necessarily imbuing any of this with a great deal of significance (see above re white streaks), and without having them divulge things they shouldn’t or send players down the wrong paths. And without having everybody be “uhh, Kevin, who uh looks kind of average and sounds pretty much like me.”

Managing combat can be tough too. In my latest session, I ran four hours of multi-stage combat that incorporated something like 30 monsters, the four player characters, and four NPCs the players also operated. This battle included two big hand-drawn maps, four or five different character types whose weaponry, health, and other stats I had to track, and combat on two fronts that could have gone in any number of directions. One player split from the rest of the party right off, and I had to try to spend some time on his lone combat without neglecting the other players, and vice versa. The players could have chosen any of several paths I had prepared, or they could’ve done something bizarre and unexpected.

Because I’m new at this and still lack confidence in all of the areas above, I spent loads of time preparing. I’ll bet I have 12 hours of prep work involved in being ready for that combat session, for example. This I believe will get easier over time as I develop more comfort with the overall game mechanics and with improvising when something goes in a direction I hadn’t imagined it might.

Don’t get me wrong — this is a lot of work, but it’s also pretty fun, and I think it’ll get more fun as I get better at it.

Right now, I’m running my son and a few other people through an adventure called Storm King’s Thunder that so far has been really fun. We’re heading into a part of it right now that’ll afford me a lot of leeway in terms of what we do. It’s what you call a sandbox style of play. This is cool because it gives me a little latitude to steer things however I’d like to. It’s also tough because I have to sort of make up a lot of it and be more ready to improv if the party heads in a direction that the written adventure doesn’t really cover, or if they head in a direction very different from where the next portion of the adventure really calls for them to go. In our next session, we’ll head toward a city called Waterdeep that’s well known within the D&D canon. It’s neat because there’s a lot out there about Waterdeep; it’s intimidating for the same reason because there’s so much I could get wrong and there’s so much opportunity for the players to push me to improvise. I think and hope I’ve done enough prep that I can make the next session fun.

Summer Camp Beach, 2019

I grew up not to far from the coast of North Carolina, and as a kid, I went to the beach a fair amount. I’ve got lots of good memories of playing in the surf, fishing with my parents, and coming home exhausted and eating the fresh fish we had caught. I’ve got some less good memories of sunburn, the discomfort of a shell-lined bathing suit, and minor injuries. But on the whole I think of the beach with a lot of nostalgia. Since I’ve been a grown-up, I’ve visited beaches a handful of times, most notably a couple of trips to a place on the Florida gulf called Dog Island a few years ago. This year, we went back to the same area of the gulf but stuck to the mainland in a lovely house at Summer Camp Beach. I always forget how much I like the sound of the surf and the smell of the salt in the air. Generally a curmudgeon, I also forget how much I enjoy riding the rolling waves, though that experience is also always tinged with a little hint of terror (most especially since our last outing to Dog Island, when I spotted a shark making a beeline for my daughter and me as we bobbed along out beyond the breakers).

The beach we visited this year was a little different from what I’m used to. There wasn’t much beach, and for most of the week, the water was brackish and chock full of seaweed. It wasn’t really water you wanted to spend any time in. We drove out to nearby Alligator Point and St. George Island for more classic (and thankfully pretty uncrowded) beach experiences. We also visited a place whose name I’ve forgotten but where we went on a boat tour and saw gators, manatees (including babies), and many birds, fish, and plants. The neighborhood we stayed in had a great pool that was also thankfully uncrowded, and this more than made up for not having the most pristine beach right outside our door. The pool also had some nearby landscaping that a water moccasin called home, and that was both neat and scary (especially with all the little uncautious kids we had in our group).

I did some fishing while we were there and mostly caught nasty old sea catfish. On our last fishing day, I took all the kids who were interested out fishing. By then, the water was less brackish and I could see to wade out and cast beyond where the catfish liked to hang out. My nephew caught a little mangrove snapper (too little to do anything with), and his friend caught a red drum, which we put on the dinner table that night. I enjoyed the fishing but wish I had gotten into something other than catfish myself.

I’m a negligent photographer and snapped just a few shots. They don’t do the trip justice.

Dad

About twelve years ago, my mom died and I took a minute to record the fact. This past week, on June 25, my dad died. Mom’s death was very much expected after a several-months battle with cancer. Dad’s was very much unexpected. We had just spent time with him, and he led an active and healthy lifestyle. After trying to make sure we had personally notified all the people who we figured ought to know before we did a big social media announcement, I wrote a thing for Facebook. It says a lot of what needs saying about Dad, and rather than rewrite it or spend a lot more time trying to write something that’ll be inadequate anyway, I’ll paste below what I shared for people who Facebook-know me.

Hello, friends. I’m very sad to let you know that my dad died yesterday of a heart attack. This was unexpected given how well he took care of himself. I’ve spoken with many people yesterday and today — from loved ones who knew him well to vendors he dealt with just a few times a year — and the overwhelming theme people have volunteered has been what a good, kind man he was. Everybody has a story or ten about Dad, and most have stories about not only his kindness but his sense of humor, his wisdom, his generosity. I’ve got truckloads of fondly remembered stories myself and am lucky to’ve grown up under his care and to’ve seen or been a part, with my sister, of so many of those stories.

It was a real pleasure to watch Dad grow into a grandfather. I never saw anything light up his face more than a hug from one of his grandkids, and he was so very easy for the grandkids to love back.

He was a devoted husband to my mom for some 40 years, and when he remarried after her death, I got to see him live a beautiful late-life honeymoon. I’m so thankful for the happiness that [his wife] and her family brought him over his last decade or so, a decade during which he also (I think not coincidentally) developed a great sense of adventure and in which he went hot-air ballooning, jumped out of an airplane, traveled Europe, learned to play the guitar, rode roller coasters, became a fixture at the gym alongside his cherished crew of old fogeys, and a host of other things I would never have suspected were in his future. In other words, a life that had already been full and meaningful somehow flourished into an even more varied and full life.

His death was sudden, and it is cruel. We’re shattered. But he lived well and he died happy, and there’s some solace in reflecting on those circumstances.

We’ll be holding a service on Saturday, June 29, at 11am, with visitation starting at 10am. Church details are as follows: [redacted]

As for flowers and donations and such, the family has no particular preference. My personal feeling is that flowers die quickly but donations to good causes can increase the good and reduce the suffering in the world. While no one should feel pressed to do anything at all, those who would like to and are able might consider a few of the options that follow. Dad had donated to support cancer research in the past — and with good reason, as cancer took Mom from us and took a swipe at him a couple of years ago. I have a soft spot for Second Harvest and Heifer International (organizations that feed hungry people), and Dad has kindly donated to such organizations on my behalf in the past. He volunteered with a local school to help kids improve their reading skills, and while that work had no direct connection to Dolly Parton’s Imagination Library, Dolly’s group is a wonderful organization promoting literacy for children, and I think Dad would approve of donations to support it. The church has been an important part of Dad’s life, and his current church (details above [but redacted in this post]) has been supportive through Mom’s death, Dad’s life with Sherley, and now Dad’s death; those inclined to donate to a church could do much worse than to donate to his church in his name.

This is a difficult and busy time, and while I may not be in a position or of a mind to respond to many comments here, it would be initially painful but ultimately a blessing to read any stories you may have that showcase Dad at his silliest, kindest, most stubborn, or whatever the case may be. If you’re inclined, drop a story in the comments, and when I’m in the right frame of mind and have a little more distance, I’ll read them with gratitude.

Bookshelves #18

I last did one of these bookshelf posts nearly a year ago. I’m back! I’m skipping shelves 16 and 17, which hold mostly cookbooks, most of which I don’t ever consult (so why do I keep them?).

Starting along the top, there’s a repeat. The Burned Children of America anthology lived in shelf #15 when I wrote that post, but I’ve since loaned it out and placed it back on this shelf because my system of shelving is a little imprecise.

I’ve meant for years to read Graves’s The White Goddess, and it’s probably part genius and part poppycock. I liked it a lot and wrote a brief review of why I liked it here. I doubt I’ll ever read it cover-to-cover again, but I could see visiting bits and pieces of it again from time to time.

I don’t think I ever finished Melville’s Typee, but one day I may. I generally keep Melville books.

Gaddis is one of my favorite authors, and I coveted this book of his letters for years before finally buying it last year. I gobbled it up and have already consulted it a couple of times as a reference when reading the Graves book above (Gaddis used it as a reference and even met Graves to talk through some ideas) and rereading Gaddis’s J R a few weeks ago. It’s a gold mine of info about how Gaddis lived and grew as an author, and it’s surprisingly readable.

I’ve read 2666 two or three times even though I really didn’t even love it the first time I read it. A lot of it is really rough going. Some of it is pretty compelling. It’s a translation, and I’m generally pretty iffy on reading work in translation. Still, I’ll bet I wind up going back to it sooner or later. I’ve written about it at some length in years past here and here (the latter link points to a catalogue of the novel’s dreams I kept for an online group read).

Inherent Vice is short but was not very fun. Still, I keep Pynchon and will likely wind up rereading most of his work one day.

Bertrand Russell was formative for me when I was in college. He was a mathematician and philosopher. I am neither and certainly couldn’t pretend to understand his work in mathematics, but the essays in this book are (as far as I recall — it’s been 15 or so years since I reread any of them) pretty digestible. It was Russell whose work helped me make some declarations about my own beliefs that were pretty hard to make when I was younger, so I think I’ll always have a soft spot for him.

Clean Code is a book I got through work years ago. I’ll never read it again (I don’t often write code anymore), but work bought it for me, so I’d feel weird about getting rid of it. It’s a good book, just no longer relevant to my work or interests. Tucked in to the right of Clean Code and only partially visible in this shot is a book called Kanban and Scrum, another work book about some light-weight project management methods.

I’ve read only two or three of Roth’s books. I want to read him because I understand that he’s important, but I’ve had trouble making myself sit down and read him. I liked Portnoy’s Complaint and felt meh about some other novel of his and meh or better about a collection of novellas or stories or both. I’ll read Indignation some day, I’m sure, as I will a few others of Roth’s that are tucked here and there throughout the house.

Although of Course You End Up Becoming Yourself is a book about the press tour David Foster Wallace made in conjunction with the release of Infinite Jest, which as has been noted time and time again in this series of posts has been one of the most formative pieces of literature for me. I’ve not yet gone back to this book, but it was very meaningful to me and I may one day. I wrote a review shortly after its release here.

I’m a sucker for anthologies and picked up the Joyce Carol Oates book I forget where I forget how many years ago, but I’ve never cracked its cover. Maybe one day I will. I know that as soon as I get rid of it, I’ll discover a pressing need to read something it contained, so I’ll likely hang onto it as a sort of talisman at any rate.

And finally, The Elements of Style, which in an earlier edition I was made to copy large portions of out by hand in a high school English class. There’s plenty of bad advice in the book, and I’ve read critiques of it that’ve seemed to hold water. I can’t recall a time I’ve gone to this book in the last couple of decades for any practical advice (for that I go mostly to Garner back on some of the earlier shelves). But it would seem kind of weird not even to own a copy of it, so this one’ll stay shelved forever.