Wednesday, June 23, 2021

Sharpening My Gray Time Skills | Six Card Golf

After a year of staying close to come we finally have travel on the horizon. Which means time spent in the airport. Which means bursts of gray time. Which means I'm on the look out for fresh activities while stuck in limbo.

While looking into board games you can play in an airport terminal, I was reminded of a simpler solution: playing cards! A deck of cards is lightweight, multi-purpose, cheap and often a fine souvenir.

As I switched my quest from board games to card games I found two invaluable resources:

  • - This site is a massive repository of card game rules. The stats page is a novel way to discover new games worth learning.
  • Triple S Game's YouTube Channel - there are tons of 'how to play' videos on YouTube. Triple S specializes in versions that are concise and clutter free.

Between these two resources, I figured learning new card games would be a snap. As luck would have it, I got to test out my hypothesis sooner than I'd expected.

Golf, anyone?

Last night I found myself chatting with my Dad in our kitchen. The ladies were off doing their own thing and it struck me that now was the perfect time to experiment with the deck of cards I'd set aside earlier in the day. My Dad was down for learning something new, so we pulled up the rules and how-to-play video for 6 card Golf.

What a joy it was learning a new game with my Dad. We followed the instructions for setup and started playing. Forget worrying about strategy, we barely understood what the point of the game was. But after a couple of rounds, it clicked and it was Game On.

Overall, we found Golf easy to pick up, relatively fast paced and simplistic enough that we could tease out useful strategies. I'm glad I've added this one to my repertoire and I'm psyched to continue my search for unique, fun and accessible card games.

Have any favorite card games to suggest?

Tuesday, June 22, 2021

My Spidey Senses are Tingling

While running across the 14th Street Bridge this evening I noticed the hand rail was covered in spider webs. As the wind gusted, fragments of webs bellow out. The bridge had a sort of 'decorated for Halloween' feel to it.

For the life of me, I can't recall seeing so many webs on the bridge. Were they always there and I just didn't notice? Or has something shifted in the ecosystem to turn this into a hot-spot for spider activity?

And how strange did I look stopped on the bridge trying snap pictures of this phenomena?

The whole episode is silly. Surely we aren't experiencing an arachnoid invasion. Right?

Tuesday, June 15, 2021

From China to the Pike: The Unlikely Journey of the Leatherleaf mahonia

Over the weekend, Shira and I were walking down a section of Columbia Pike we've traversed hundreds, if not thousands of times and I noticed something new. This plant:

The leaves were holly-like, but the symmetry, red tentacles and clumps of berries made for a Seussian look that stopped me in tracks.

I had questions!

What's it called? It's a Leatherleaf mahonia, aka Mahonia beali, aka Berberis bealei. (Thanks Google Lens)

Is it rare? Nope, not at all. In many Southeastern States in the US it's considered invasive.

Can you eat the berries? You can! I haven't tried them yet, though.

Does it have any medicinal uses? It does! You can make a decoction from the plant, which can be used as an antibiotic.

For me, the most interesting question turned out to be: how did this plant get here?

I'm not talking about how it came to arrive on Columbia Pike. Given that this plant can be invasive, and has a reputation for being distributed via bird-poop (now there's a distribution strategy!), it's not a surprise that it would show up in the area. In fact, the interesting part is less about how, and more about who.

It was this post that tipped me off to this background, so full credit belongs there.

The who in this case is Robert Fortune, a man who's name matches his exploits. Fortune was part botanist, part thief and part spy. His adventures involved traveling through China and nicking plants and expertise. His greatest exploit was smuggling tea plants and manufacturing knowledge out of China, thereby giving Britain the raw materials and know-how to launch their own tea industry. This feat has been called the greatest single act of corporate espionage in history.

The story behind the leatherleaf isn't quite as dramatic. SAR Craft explains:

The story goes that Fortune saw a plant of interest growing inside the walled garden of a Chinese nobleman in Peking. He waited until the nobleman had left on a trip, climbed the wall, yanked the plant out of the ground, and snuck it back to Shanghai, where he named it after his patron: Mahonia beali. From there, it grew popular with both British and American gardeners... it never naturalized in Britain (probably too cold), but it took off in the States.

Fortune wrote a number of books, many of which are easily and freely accessed online (including: Three Years' Wanderings in the Northern Provinces of China, A journey to the tea countries of China and A residence among the Chinese). I couldn't find any reference to the above story by searching these texts, but I did find this snippet in A Journey to the Tea Countries of China (page 81):

Having taken a survey of the place, we were making our way out, when an extraordinary plant, growing in a secluded part of the garden, met my eye. When I got near it I found that it was a very fine evergreen Berberis, belonging to the section of Mahonias, and having of course pinnated leaves. Each leaflet was as large as the leaf of an English holly, spiny, and of a fine dark, shining green colour. The shrub was about eight feet high, much branched, and far surpassed in beauty all the other known species of Mahonia. It had but one fault, and that was, that it was too large to move and bring away. I secured a leaf, however, and marked the spot where it grew , in order to secure some cuttings of it on my return from the interior.

This appears to be a description of him finding an example of the plant, not the original discovery. Still, it's delightful to read his words penned over 170 years ago and to be able to compare them to my introduction to this plant. It's a very fine evergreen indeed!

Friday, June 11, 2021

Building Subversion from Source on WSL 2

I've officially transitioned from Cygwin to Ubuntu on WSL 2 as my preferred Unix environment on Windows. Cygwin performed well for decades, but WSL 2 is just too well done to pass up.

One feature of WSL 2 that I've been enjoying is the ability to easily build packages from source. This means that if the 'apt' version of the software is out of date, I'm not out of luck.

Two pieces of software that I find lag behind in package repositories are emacs and subversion.

After struggling to build emacs 27 on WSL 2, I found this handy build script that takes care of the process. What's the big deal, you ask? Download the package, run configure, make and make install. How hard is that? How about accounting for the the 137(!!) dependencies. That script is a life saver.

I couldn't find such a recipe for subversion. Besides tracking down dependencies, I often ran into another gotcha with subversion. Frequently, I'd build svn and forget to include the optional libserf library. In this case, Subversion compiles fine but then can't be used with 'https' URLs, which means it's effectively useless.

When I built subversion for a clean WSL 2 install yesterday I made sure to keep track the process. Here you go, enjoy.

Build & Install Subversion from Source on WSL 2

$ apt update -y
$ apt install -y autoconf libtool gcc  libsqlite3-dev libarchive-dev libz-dev libutf8proc-dev \
    libserf-dev libapr1-dev libaprutil1-dev libssl-dev  libmagic-dev liblz4-dev

$ wget
$ cd subversion-1.14.1
$ ./configure ; make
$ sudo make install

Wednesday, June 09, 2021

Coding Your Way to Sleep: Sleep Stories + Tasker

Shira recently discovered Sleep Stories. As the name suggests, this a genre of audio short stories with the goal of putting the listener to sleep. They're heavy on visualization and light on plot and are delivered in a soothing voice designed to lull you to dreamland.

They work great for Shira, not so much for me. The few that we've listened to, I've managed to stay awake the whole time. But as a sort of guided meditation, they work well.

Listening to our first story we hit a snag: Shira had YouTube's auto-play turned on, which meant that once the story finished, an ad started playing. Not cool. For the next story, Shira made sure to disable auto-play, which was an improvement.

What we wanted was a sleep function that a number of apps have: after the selected number of minutes, the audio of the app fades out. YouTube doesn't offer this, but with a bit of hacking I was confident I could get Tasker to do the job.

Between Tasker's 'Media Volume' and 'Wait' actions, it was straightforward task to build. I used Tasker's relatively new Input Dialog action to prompt the user for the number of minutes before the phone's media volume should go to 0.

Looking at the code, you'll notice that the heavy lifting is done in JavaScript. That's because it's faster for me to write JavaScript than tap away at the Tasker UI constructing individual actions. I always need to refresh my memory when working with JavaScriplets as to how variables are handled. As a reference to my future self, here's a few tips:

  • Local variables (like total_sleep) are automatically available
  • To update a local array, you can make calls with the shape: setLocal("arrayName1")
  • To access global variables call global(varname) such as global("VOLM").
  • Many (all?) actions can be called directly from JavaScript. For example: flash("some text") or mediaVol(level, dialog, beep). Clicking the magnifying glass while in the JavaScriplet editor brings up the list of functions you can call.

Download the task here: Tasker Sleep Timer Task.

Sweet dreams!

Friday, June 04, 2021

Pics from a Run | Sinking, Snacking and Steeping

So yeah, DC is sinking. We know it's a problem, but it's not quite clear what the solution is.

While Mother Nature may be sinking our national monuments, she's also delivering the most tasty of trailside nibbles: fresh mulberries. The mulberry trees along the Pentagon Lagoon were bursting with juicy berry perfection. I can't recall eating more delicious berries, wild or human cultivated. Take that Whole Foods.

Also stashed adjacent to the Pentagon Lagoon is a new (to me) wild edible: Elder. This bush's massive clumps of tiny flowers first caught my attenention, and Google Lens helped me name it. Apparently, Elder flowers can be used fresh or dried to make tea. On my next run, I plan to carry a container so I can harvest a few flowers and try steeping up a batch of tea.

Sipping a nice cup of tea is the perfect companion to pondering the slow-motion eco disaster that is the sinking of DC.

Thursday, June 03, 2021

Safety Pin Goodness | Easiest. Gear. Mod. Ever.

Some time ago I was watching a bag load-out video on YouTube and the creator described a small hack he used for the front compartment. It was filled with medical supplies and he explained that he used a safety pin to hold an Israeli bandage in place. The idea was that the safety pin would keep the bandage secure, but with a sharp tug the bandage could be deployed.

I remember thinking to myself: a safety pin, really? That's your answer?

Fast forward a few weeks I found myself mulling over two different gear inconveniences. First, the cheap backpack I was using had no smart place to stash my car keys. Thanks to the power of keyless unlock and ignition, I don't typically need to take my keys out of my bag. But when I do, I'd like to avoid having to fish around for them. On a fancier bag there's often a tether you can clip your keys to, the bag I'm using has no such amenity.

The second challenge: I wanted to experiment with carrying pepper spray. I wanted to do so in a way that kept the spray out of sight, yet accessible. And perhaps most importantly, I wanted to avoid having misfires.

While on a run, a solution came to me for the first problem: if I sewed a key-ring into the bottom corner of my bag I could then clip my keys to it. Tucked away in a corner they'd be out of the way, but because they were attached to a fixed point there'd be no fumbling needed to find them.

As I thought about how I was going to sew the ring into place I realized a simpler solution: a safety pin. I attached a safety pin to an extra bit of the seam material on the bottom front of the bag and instantly had a clip point for my keys. Check it out:

Too easy, too convenient.

While installing the safety pin for my keys I realized I could solve my pepper spray problem just as easily. I attached a safety pin horizontally to the front pocket of the bag. Doing so created a bar that the pepper spray's clip perfectly snap onto.

This arrangement keeps the spray vertical, and like the keys arrangement, in the same spot at all times. To access the spray, I can swing the bag around, unzip the front pocket and pull it out. It's not as convenient as say wearing it on a belt, but for most scenarios it's far more practical. And because the spray is clipped in, I have no concerns about it going off by accident.

So there you go, two super simple gear mods using the humble safety pin. Thanks for the inspiration Andrew, I won't be so quick to dismiss your hacks in the future.

Wednesday, June 02, 2021

Review: (Real) Tailwind Endurance Fuel

In the past I've made both DIY electrolyte drinks and a version of homemade Tailwind. Recently, I picked up the real stuff in the form of Tailwind Grab-and-Go Single Serving Packs. Here's my review.

Taste: 3/5. I've mixed the 200 calorie packs into 1 liter, .75 liters, a tall glass and smaller hand-held bottle of water. In all cases the taste was OK. I suppose because it's a commercial product and so highly praised, I had high expectations for the taste. With the exception of the small hand held bottle, it tasted watered down and had a slight mineral after-taste. The small water bottle with the Naked flavor was quite sweet, but still had the slightly funky after-taste.

In hindsight, this all makes sense. My homemade version of Tailwind tasted better, but that's because it wasn't as nutritionally balanced and made heavy use of real citrus flavoring. In other words, I was drinking glorified lemonade, versus lemon-flavored electrolyte and fast-carb spiked water.

Shira, for her part, thought that the flavor was just fine. She didn't notice any aftertaste. For her, adding a couple of True Lemon packets improved the taste even more.

Convenience: 4/5. The grab-and-go packets are indeed super convenient, and the powder mixes into cold water effortlessly. The mix lost a point because the cost of the grab-and-go packets seem a excessive when compared to the bulk powder.

Efficacy: 5/5. Picture it, we're 15 miles into the Bull Run Occoquan Trail. I had brought along a packet of Tailwind, but after using the mix on a previous shorter hike I was less than impressed. In fact, given the taste and cost, I was pretty sure that I was going use up the Grab-and-Go packets I bought and write off Tailwind as a pricey gimmick. Except, I wasn't feeling so great. The miles had taken their toll.

With nothing to lose, I emptied the packet of Tailwind into my water bottle and over the course of a half mile drank it all. Before I knew it I felt better. The calories and electrolytes, despite the fact that I'd been eating and drinking all day, really hit the spot.

By mile 16 I was sold. I'd vowed I'd never do a long distance adventure again without having Tailwind (or the like) on hand.

A few weeks later I found myself destroyed after running the first hot run of the season. I poured myself a large glass of cold water, added Tailwind, stirred and drank. I felt better in no time. Quibble with the taste and price all you want, this stuff works.