Tuesday, May 07, 2024

Eat the Yard: Harvesting, Cooking and Eating Burdock

I've always been under the impression that burdock, while often derided as a weed, was a tasty wild edible. One challenge with testing this claim is that accessing burdock's taproot takes effort, so it isn't something I've been able to casually try.

Fortunately, a few burdock plants popped up in the corner of our backyard. While many would have be annoyed at their giant leafy presence, I was overjoyed. Today, I decided to harvest one of the plants and take that overdue taste test.

The harvesting process, as promised, was reletively tedious. Eventually I was victorious, extracting a big 'ol alien looking chunk of root. A took a nibble of my bounty on the spot and found it tasted sort of like horseradish root, minus any heat. It wasn't bitter or off-putting, just bland and chewy.

Following this recipe, I sliced up the taproot and covered it with a healthy dose of olive oil, salt and pepper. I then put it in the oven for 30 minutes at 350°F. Every 10 minutes I gave it a shake.

After the pieces of root cooled a bit, I noshed on a few slices. It was, drum roll... OK. I suppose it was like any startchy vegetable, basically neutral tasting. I took the advice here and cooked the burdock with the skin on. I'm not sure if that helped or hurt. As I tried a few more pieces, some of them tasted pretty good: they were nicely seasoned and relatively tender. But other pieces of the root remained chewy and fibrous. Maybe I should have peeled the root? Or maybe cooking needed more cook time?

So, does burdock live up to its reputation as being a delicious wild edible? Maybe. Properly seasoned and cooked, it may be perfectly tasty. But with my first attempt I didn't crack this puzzle and ended up with something mostly fibrous and chewy. I've got another plant growing in back, so maybe a second go-around will be more successful than my first.

Friday, May 03, 2024

Passover 2024: Really Digging This Year's Seder

Passover ended earlier this week, and while I'm still making my way through two remaining boxes of matza, it's quickly becoming a distant memory. Like past years, I thought I'd jot down some experiences from the seder as well as some prep material that I found helpful. Enjoy!


This podcast episode: 19th Century Raisin Wine in America, featuring Professor Jonathan Sarna, was filled with interesting bits of Jewish Americana. Including the mind-blowing fact that while the Bible was translated to English in the 1500s, it wasn't until the mid-1800s that a Jewish translation of the Torah was published. Professor Sarna touches on this in the podcast and explains why an American was uniquely positioned to create this first translation.

Speaking of raisin wine, I made a batch for the first time this year. In the melee that was our hosted seder, I forgot to serve it. The 'wine' tasted so-so, but the process of making it was, for someone who's never attempted this before, unique. The recipe calls for combining boiling water, raisins, sugar, and a lemon. You then stir the concoction for 7 days. For the first three days, the 'wine' was what I expected: raisin-colored water. But by the fourth day, the mixture started to be carbonated. By the seventh day, the mixture was a frothy, living thing. It was remarkable.

The podcast above also highlighted the story of Kedem. And what a story it is. I'll never look at a bottle of Kedem grape juice the same way again.

Before the seder, we did a bit of crafting to decorate our seder plate. Combining small glass bowls and stick-on jewels made for a quick and beautiful project that we could immediately put to use. At least we didn't have a repeat of last year's glue gun incident.

While watching this video on seder plates, I was reminded of the amazing fact that the seder of 1865 happened one day after the surrender at Appomattox. Jews were literally toasting their freedom at the moment that American slaves were being freed. This article explains the Jewish perspective on this moment well.

Speaking of the seder plate, I picked up four new facts about it. First, we used to feast on the foods present on the seder plate. The egg and shankbone that are now symbolic used to correspond to the meal's main course.

The Jerusalem Talmud (compiled around 400 CE) requires two unspecified cooked dishes to be eaten as part of the Passover meal. Some 200 years later, The Babylonian Talmud asks, what are these two dishes? And it offers several answers that resemble neither lamb nor eggs. ...
For most of our history, the dishes, no matter what they symbolized, were the main dishes of the meal. Today, the egg and the shank-bone are symbolic and are not part of the meal, but initially they were the meal. Only much later, as some Jews refrained from eating roasted meat at all during the Seder, the egg and the shank-bone were merely ritually placed on a Seder Plate and were left untouched.

Second, around the year 1000, Sherira bar Hanina suggested that the egg on the seder plate was a nod to Miriam.

Rav Sherira continues with a second custom, ostensibly unknown to his questioners in Kairouan:

And there are those who add another cooked dish in memory of Miriam, as it is written, “And I sent before you Moses, Aaron and Miriam” (Micah 6:4).
And these three dishes consist of fish, meat and egg to correspond with the types of foods that Israel will eat in the future world to come: fish to correspond with the Leviathan, egg to correspond with ziz saddai (Psalms 50:11) and meat to correspond with shor habor (see Rashi on Psalms 50:10).

While women are featured prominently in the story of the Exodus, there's not any mention of women at the seder itself. That's why I was so struck by Rav Sherira's explanation.

Third, the oldest known seder plate, from the 1400's, has spelling errors in its text.

his plate, the earliest known Seder plate in existence, belongs to a small group of Jewish ceremonial objects that survived the expulsion from Spain. The inscription in the center refers to the main components of the festival: pesah (Paschal lamb), matzah, maror (bitter herbs), and seder. The errors in the Hebrew inscription may be the result of its having been copied by a non-Jewish artist who was unfamiliar with Hebrew letters.

So next time your creation doesn't come out quite as perfect as you'd like, know that you're in good company.

Fourth, the seder plate predates plates:

That’s right. The first seder plate wasn’t made of china or ceramic, pewter or silver – it was more like a wicker basket. And it most likely wasn’t round. In fact historians tell us that the actual name was “ke’arah” which is the Hebrew word, not for “plate” but for “tray.”

The use of a basket matches up symbolically with both the experience of baby Moses and brings to mind the first fruits ceremony. While seemingly esoteric, this ceremony provides the core text the haggadah uses to tell the story of the Exodus. A basket also fits better with the materials that our ancestors would have on hand. I've been looking for a reason to do some basket weaving with the invasive English Ivy in our backyard. Maybe next year I'll finally get it together and craft myself a seder plate.

Speaking of stuff growing in our backyard, one notable moment from the seder was when I took the littlest kids into our backyard, and they helped me harvest the horseradish I'd grown from last year's seder. Sure, the kids were in their seder clothes and we were digging in the dirt, but boy was it fun. Here's a fragment of this horseradish; you can see it's already sprouted again and will be ready to be planted soon. I'm looking forward to harvesting it next year!

Friday, April 19, 2024

A Cruft Free, Super Simple, WordPress Link Rendering Plugin

For this year's Omer Learning Project, I've launched a fresh WordPress instance using Lightsail. I'm utilizing the Lingonberry WordPress theme, as it's super lightweight and should work well for the site's post-centric content.

I'm using the free version of the Ultimate CSV Importer plugin to import content I plan to share every day of the Omer. This content is provided by generous members of our shul via a Google Form.

This has all been working out well: individuals can quickly contribute content, and I can easily schedule it for publication. Where things broke down, however, is that a number of the contributions included links, images, and YouTube videos. By default, these show up as plain text in the final post. For example, consider this test post:

What I wanted is for WordPress to automatically detect and render that URL as an image.

I'm sure there are a variety of plugins that do this sort of thing. The problem is that these plugins often do way more, introducing a level of complexity and noise into the site that I'm trying to avoid. In this case, it was easier to code my own plugin than to find just the right one to use. The plugin I created is named: bs-simple-formatting-fixes.

This tiny, poorly named plugin detects links in your posts and turns them into rendered content. It includes support for images, YouTube videos, and basic links. It means that the post above is automatically turned into:

You're welcome to grab this plugin and customize it to your own needs.

Chag semeach and happy counting!

Thursday, April 11, 2024

Living History, IRL: Fort CF Smith

This past weekend, we hit up a Civil War living history event over at Fort CF Smith.

We got to meet and hear from the fort's namesake, Mr. Charles Ferguson himself. Smith's role as commandant of cadets at West Point meant that he came into contact with nearly all of the well-known generals of the Civil War—both Union and Confederate. He was an interesting character, and the reenactor playing him did a great job.

We then perused the relatively small encampment with my brother, sister-in-law, and G. G flitted from station to station, taking the scene in. A definite highlight was making hardtack, which G adorably pronounced hard-a-tack.

While we waited for our hard-a-tack to cook over an open fire, we walked down to a parade ground where we saw a cavalry demonstration with 5 reenactors on horses.

It's one thing to collect up and dress in Civil War kit, working on your backstory and tuning your impression. From my perspective, it's another thing altogether to do this on horseback, running Civil War-era drills and battlefield formations. Again, I was really impressed by the group that was putting on the display.

When it came time to taste our hard-a-tack, G gave it two thumbs up. Given that hardtack is essentially the same thing as matzah (it's only flour, water, and salt), I'd say that G is in good shape for the upcoming holiday of Passover, where we'll indulge in matzah for 8 days.

I'm so used to taking in living history on YouTube (thanks Townsends, Deer Skin Diary, Tasting History, Fandabi Dozi, Woodland Escape, and many, many more) that it's easy to forget that it's a genre intended to be consumed in real life. And so it was fun to get offline and into the field. I've visited Fort CF Smith a number of times, but afer this last visit, I'll never quite see it the same way again. Well played Civil War Reenactors, well played.

Monday, April 08, 2024

Visting St Louis: From Jail to the Arch

[Composed: 11/3/2023]

I just got back from visiting one of my long-time customers in St. Louis, Missouri. This customer specializes in jail communications. Think specially secured Zoom for prisoners and their loved ones.

This has been a fascinating field to write code for, as it has intense security and legal requirements that must always be met.

While I've worked for this customer for years, this was my first visit and very much felt like a homecoming. When the company started, it consisted of a few individuals; now they have grown into a truly impressive operation.

After our meetings, they asked me what I wanted to check out in the area. Simple: While I wanted to see the famous St. Louis Arch, top on my list was to go to jail. I was hoping I could see the system that I'd been working on for so many years actually deployed in the field.

They were kind enough to oblige, and in relatively short order, I found myself face to face with a hardened kiosk in a local jail that was running the comms software I'd helped build. We got a full tour of the small facility, at least the parts that didn't contain active inmates. I even got to hang out in one of the cells they use for isolating prisoners. It was all quite the experience.

After leaving jail, we made our way to the Arch. While I'd certainly seen pictures of the famous Arch since I was a kid, I'd never appreciated just how massive it is. Nor did I realize that you can go inside of it.

In the lobby, while tickets were being bought for our group, I noticed an obviously 1960s-era tram car. Hmm, I thought, back in the day, that must be what they used to ride up to the top.

Eventually we found ourselves lined up outside narrow hatches, waiting to ride to the top. The doors opened, and people climbed out. At that point, I realized that the retro car I'd seen in the lobby wasn't an artifact; it was a preview. Four of us squeezed into our tiny car and up we went.

The ride takes a few minutes isn't particularly scary. A few times, my brain tried to chime in to trigger a fear response, but I was like, "Brain, chill. It's a fancy elevator ride. We're fine with elevator rides."

The view from the top of the Arch did not disappoint, though again I found my brain trying to convince me to panic. I kept reminding myself to stay cool; the Arch hadn't been blown over in the last 60 years, and it wasn't going to blow over today.

After the Arch, we partook in another St. Louis tradition: eating Ted Drewes Frozen Custard. Now, this is a tradition that I can fully get behind.

Upon ordering, they asked me if I wanted concrete or not? I mean, how could I not want concrete? Of course, I had no idea what they meant, but it was ice cream, so what could be bad about it? Apparently, 'concrete' refers to a "shake so thick that it is served upside down".

At the end of the long day, our little group returned to a shuttered office so I could grab my rental car and head to my hotel. As we pulled into the parking lot, a system alarm went off. In a few minutes, our group had laptops out on a picnic table and were debating the source and fix for the alarm. As I problem-solved with fellow programmers, in person as opposed to over Microsoft Teams, I had to smile at what a surprisingly meaningful way this turned out to be to close out the day. We'd gotten back to our roots.

Tuesday, April 02, 2024

A Flyby of the Key Bridge Collapse

On a flight home from Rochester, New York we flew within about 10 miles of the collapsed Key Bridge. Even at this distant vantage point the scope of the disaster is mind boggling. Wow. Just wow.

The police radio chatter seconds before the bridge collapsed showed that they reacted quickly to stop traffic, no doubt saving a significant number of lives.

The whole incident underscores a rule I try to respect: when an emergency is reported, no matter how other wordly it must be, Just Go.

Wednesday, March 27, 2024

The Sad Trees of Columbia Pike

Someone spray-painted a frowning face on nearly 30 trees along Columbia Pike*. I have so many questions.

Is this street art? Graffiti? A gang sign? An angry arborist? A statement on global warming? A commentary on local environmental efforts? A protest against the Missing Middle? Were the trees angry all along, and some generous citizen just gave them a voice? Or is this what happens when a group of bored teens get their hands on some white spray paint?

While painting a single tree is low effort, when you count up the number of trees involved and the consistency of each face, it becomes a relatively significant undertaking. Each tree appears to have only one face, and the light poles and other nearby infrastructure were spared. This, combined with years of watching CSI, suggests organized behavior.

So while the obvious culprit is bored teens, it could be more profound. Or more likely, I just want it to be more profound. After all, I do have a habit of seeing street art where others see public defacement of property.

Here are more examples of the trees that now scowl at us from along the Pike. Sorry, trees, we'll try harder.

*Columbia Pike is a street in Arlington, Virginia, and has been since around 1810.

Monday, March 25, 2024

out-of-band is officially out-of-bounds | Reviving emacs oauth2 with Google APIs

For months, I happily edited blog posts in Emacs using a tiny Blogger client I wrote in Elisp called hbo-blogger.el. hbo-blogger.el was easy to write, thanks in part to oauth2.el, which simplifies authentication against Google's Blogger API.

Things all came crashing down one day when I needed to re-authenticate using Google's OAuth2 server. I executed the following Elisp code, expecting it to open a browser, ask me a few questions, and show me a code I could paste back into Emacs.

(oauth2-auth-and-store
       "https://accounts.google.com/o/oauth2/v2/auth"
       "https://oauth2.googleapis.com/token"
       hbo-blogger-oauth-scope
       hbo-blogger-client-id
       hbo-blogger-client-secret)

However, this time I got an error announcing "Access blocked: Blur's request is invalid." Digging deeper took me to this page: Access blocked: Third-party app is using an unsupported OAuth method.

The issue is that oauth2.el sets up authentication using the redirect URL urn:ietf:wg:oauth:2.0:oob. The 'out-of-band' (oob) redirect URL handler works great when you are performing OAuth in a command-line or, in this case, an Elisp context. However, Google now denies this type of redirect URL.

Without a way to authenticate against the Blogger API, hbo-blogger was useless, and I was forced to go back to editing posts over at blogger.com.

What I needed were two things: support for a redirect URL that Google would be happy with, and a way to call oauth2.el using that new URL.

Good news: I now have both of these components, and if you want, you can have them too.

Setting up a Kosher OAuth2 Redirect Handler

First off, I built out oauth2handler. This is a bit of PHP code that runs on a publicly exposed Linux box. It allows you to set up a 'real' redirect URL without having to write any custom code. It serves as a sort of universal OAuth2 redirect URL.

Annoyingly, setting up oauth2handler takes about 12 steps. However, none of the steps are very hard; you just need to be patient.

With oauth2handler, I had a redirect URL. However, I needed a way to integrate this URL into oauth2.el. You can find the code for doing this over at oauth2handler.el.

Like oauth2handler (and heck, all things OAuth2), there's a heap of things to set up. But, once you've got everything properly defined, performing OAuth authentication is easy. Here's a function I can call to initialize the OAuth process:

;; Grab these values from the Google developer console.
(defvar hbo-blogger-client-id nil)
(defvar hbo-blogger-client-secret nil)

;; These can remain set to their defaults for blogger
(defvar hbo-blogger-oauth-scope
  "https://www.googleapis.com/auth/blogger")
(defvar hbo-blogger-oauth-auth-url
  "https://accounts.google.com/o/oauth2/auth")
(defvar hbo-blogger-oauth-token-url
  "https://www.googleapis.com/oauth2/v3/token")

;; Point this to your oauth2handler URL. For me, this is:
;; (setq hbo-blogger-oauth-redirect-url
;;      "https://code.benjisimon.com/oauth2handler/emacs_hbo")
(defvar hbo-blogger-oauth-redirect-url nil)

(defun hbo-blogger-auth-start ()
  "Start the Oauth2 authentication process in the browser"
  (interactive)
  (oauth2handler-start-auth
   hbo-blogger-oauth-redirect-url
   hbo-blogger-oauth-auth-url
   hbo-blogger-oauth-token-url
   hbo-blogger-oauth-scope
   hbo-blogger-client-id
   hbo-blogger-client-secret))

Running M-x oauth2handler-start-auth opens up a new web browser, and just like the 'oob' style of authentication, it prompts me to grant permission. The final page of oauth2handler displays a blob of JSON, similar to the code that the oob URL produces. I copy that JSON into an Emacs buffer that's been opened for me and hit C-c C-c.

Hitting C-c C-c generates the oauth2.plstore file that oauth2.el expects. From there, oauth2 and by extension hbo-blogger.el work again as they should.

In my .emacs.d/init.el file, I have the following settings and function call:

(require 'hbo-blogger)
(setq hbo-blogger-client-id  "<from the google developer's console>")
(setq hbo-blogger-client-secret "<from the google developer's console>")
(setq hbo-blogger-oauth-redirect-url
      "https://code.benjisimon.com/oauth2handler/emacs_hbo")

(hbo-blogger-auth-setup)

hbo-blogger-auth-setup uses oauth2.el's oauth2-auth-and-store function to set up a valid OAuth2 token. This token is what hbo-blogger.el uses to communicate with Blogger's API.

This whole process has been frustrating and exceedingly delicate. However, now that I've got oauth2handler and the corresponding Elisp code, life is good again. It feels good to be back home (editing in Emacs).

Monday, March 11, 2024

The ABC's of Easy to Forget Hiking Essentials

When I find myself in the backcountry and I'm missing some essential item, it's not usually because I've forgotten it. I mean, sure, that happens. There was that notable time when I grabbed my backpack from the trunk and trudged off for a 3-day backpacking trip, only to realize shortly thereafter I'd never changed into the boots still in the car.

Typically, I remember the item but talk myself out of bringing it. Bug spray? There aren't any bugs at the trailhead, so we should be good. Sunscreen? We put it on at the car, so why would we need to re-apply? Trekking poles? The hike is so short, why bother?

Fast forward a few hours, and you'll find us being bombarded by bugs, scorched by the sun, and Shira hobbling because she rolled her ankle during a gnarly section of terrain. At this point, I'm kicking myself for intentionally leaving essentials behind.

The solution to both forgetting gear and being shortsighted is the same: a checklist. For the last year and a half, I've come to appreciate that not all checklists are equal. A written checklist or checklist on your phone is good. But even better is one that you can mentally tick off. This allows you to confirm your checklist when you're packing, have a moment of downtime as the trip approaches, as well as when you're about to step off for the adventure. It's also possible to make a quick written copy of the checklist for times when the stakes are especially high.

A mental checklist sounds like a recipe for disaster, especially for someone like myself who doesn't have a gift for memorization. And yet, I've found that if I structure the items around a series of alphabetically arranged words, I can remember the list with ease. Try it, you'll be amazed at your brain's ability.

Below is my list of easy to leave behind hiking items and the prompts I use to remember them. This list isn't exhaustive, for example, there's no mention of a map or navigation aids. Instead, it focuses on the items that I'm quick to forget or think I can do without.

This photo shows a minimal version of the checklist below*

Agua - Water.

Boots.

Camera.

Deet & Derm - Skin protection from bugs and the sun.

EDC.

Food.

Gloves & Gripping - Gloves for me, Trekking polls for Shira.

Hat.

InReach - Comms: Garmin inReach and if in a group, Rocky Talkies

Jacket - Extra layers.

Kleenex - Bathroom kit (TP, hand sanitizer and a ziplock bag for packing out used TP)

Light - Flashlight.

Mylar - SOL heatsheet and other surival essentials.

No-Blisters - KT Tape to treat blisters and hot spots.


*Wait, aren't items on the list missing from this photo? The camera is my cell phone, which is being used to capture the snapshot. The bathroom kit, flashlight, SOL heatsheet and KT tape are all part of my EDC. I include them in the list so that I can use this checklist for others.

Tuesday, March 05, 2024

A Little Los Angeles

[Composed 10/29/2023]

A handful of business meetings landed Shira and me some time in the colorful city of Los Angeles. While we didn't really have time to play tourist (next time, tar pits!), we did get a chance to explore downtown and a bit of Griffith Park. What we found in the city itself was a mishmash of contrasts: new construction a few blocks from run-down historic buildings; a diverse collection of architectural themes; a map that promised a mighty Los Angeles River, yet bridges that spanned a trickling spillway; and feelings of safety that ran the spectrum from family-friendly to "we're absolutely definitely getting mugged here" (spoiler alert: we were not mugged). And then there's the graffiti. Or, do they prefer to call it street art?

Either way, I kept raving to Shira about how impressive it was. Every surface seemed to be covered in colorful, detailed creations. Like, seriously, when you stop and think about it: how does one go about creating on an 8 x 12 foot canvas that's situated along the side of a freeway or positioned far out of reach? Factor in that the artist only had the resources he or she could fit into a backpack and the clock of discovery always ticking and it becomes all the more impressive. We stepped into The Broad for a proper art experience one evening, and it was nice and all. But I'd argue that with little effort you could find examples in the neighborhood that were superior.

Shira was not as taken by the graffiti scene. Where I saw renegade artistic genius, she saw the destruction of public property. As this article underscores, local street artists would be the first to agree that not all paint on a wall should be considered street art.

We were fortunate to get some nature time in Griffith Park. We started our walk at the base of the park and hiked up to the observatory. As our luck would have it, the observatory opened shortly after we arrived, so we got to see glimpses of the telescope as well as the exhibits within. I found the whole thing quite impressive. We even caught a Tesla Coil demonstration, which naturally I found, well, electrifying.

After touring the museum, we perused a number of trails in the area and took in the sights of downtown LA from a wide-angle vantage point. Between the trails, views, working observatory, historic architecture and free-to-enter world class astrononmy musuem, Griffith Park has to be among the nicest city parks we've ever visited.

We had a number of fine meals during our stay, including one from Green Leaves Vegan and one from Tulsi Indian Eatery, but the clear winner from a culinary perspective was Donut Friend. On impulse, we stepped in and ordered some fancy donuts and ice cream. It was delicious. And then we realized it was all plant based, or as they call it secretly vegan (OK, it's not really a secret). We returned multiple times, including before heading to LAX to pick up donuts for the road. Nothing eases the hassle of waiting around in an airport like yummy donuts. We worried that TSA might confiscate some of the cream-filled creations, but they let them through without incident.

Thinking of iconic cities we've visited: NY, Boston, Philly, Chicago I find myself wondering if LA really is as unique as it seemed in the moment. Was the graffiti really that much more extravagant? The architecture that much more varied? The vegan options that much more plentiful? Maybe. Or maybe LA was just great at delivering that feeling. Either way, it was a great place to visit and I'd relish the chance to explore the city further.