Beep Beep Boop

I see that both WordPress and FourSquare both use silly text that sounds like R2D2 when you are waiting for content to load. I like it better than a progress bar or a spinner, but maybe only because it’s novel, but that’s wearing off as I see it more.

Meanwhile, brewing continues. Upgraded to 5 gallons, which has been interesting. I have started measuring original and final gravity, and my measurements relatively closely match expected outcomes.

One point of room for improvement and refinement: temperature. I still let the beer get too warm. That’s fine right now in the summertime, when I’m brewing saison style, but I need to better control the temperature.

The garden has been a disappointment. The vegetable garden became overgrown, and only the radishes produced food. We have a couple of tomato plants on the back porch that are starting to bear fruit, and we’ve harvested a few raspberries, but without petroleum-fueled food distribution, we certainly would starve. Then again, it’s not like I’ve spent that much time in the garden.

The rain garden is healthier than normal, perhaps because of a few sessions of aggressive weeding, so the neighborhood pollinators can thank me, even if we’ve precious little flowering plants of our own beyond wildflowers.

And then there are the hops: brutally attacked by squirrels, they are stunted. The Centennials are barely a foot tall, but the Willamettes have at least reached the top of the clothes line.

We’ll call this a “building year” for gardening, and invest in raised beds with chicken wire next year.

When Worlds Collide

This evening Arah and I attended an UXPAMN event at DevJam in the basement of their offices in Minneapolis.  This was weird for me, because normally when I’m downstairs, it’s for Fight Club for Geeks.

I always learn a lot when Dave Hussman talks about his experiences with various clients, and tonight the focus was on user experience and product development: very timely.

Lots of tension between story or experience-based product development versus task or delivery-based development. It was enlightening to get the perspective that so many of the practices I’ve been using recently are a function of trying to solve the problems with product delivery, mostly because so many organizations struggle to deliver product.

I told myself aloud that I wasn’t going to engage in my typical compulsive note-taking, so I left my iPad, my SmartPen and my microdot notebook in the car. And I see I’ve taken two pages of notes on my phone…

Some things I need to dive into later:

Overlapping Cache TTLs

Hoisted myself with my own petard last night. Without getting into too much detail, at ib we acquire contextual data from the Palm Beach Post, add some elections data, and serve it to the public.

Not wanting the contextual data acquisition process to be too expensive for the Elections Engine, I scheduled it to occur once an hour.

Not wanting the contextual data delivery process to be too expensive for the Delivery Network, I also cached the results of the process for an hour.

The acquisition and caching processes run asynchronously – which leads to unpredictable TTLs for the resulting content.

Long story short, PBP was updating their context rapidly, and sometimes the processes lined up just right and their updates appeared in minutes, and other times the processes lined up just wrong and the didn’t see their contextual changes for hours.

There must be some anti-pattern that describes this async cache strategy: I should try to find it online, if only to warn others of the dangers of over-zealous layered caching.

Need a new hobby

In an effort to bolster my Python skills and do something toward game development, I did a little work with the PyGame framework last night.

Because I still struggle with syntax, I’m thankful for the PyCharm IDE. In a white space based language, it’s super cool when you highlight a bunch of lines and then tap the TAB key to indent them: woot!

So my end result was an MP3 player with two controls: on for play/pause, and another that fetched headlines from ib’s Delivery API: not yet a game, but at least working software,

Not really a gear-head per se, but more of a fellow traveler

So it snowed, a lot: yay.  The snowblower started, but it wasn’t throwing much snow, so something was wrong.  I cleared some of the snow out of the front and the chute, but that wasn’t the problem.

I discovered that the left-hand side auger had become detached from the axle, and it wasn’t spinning when I engaged the throttle, but spun effortlessly around the axle when I tapped it with the convenient shovel that is attached to the Ariens machine.

I tried to clean up the driveway with the machine at 50% capacity, but all I managed to do was pile up snow in front of the left side of the bucket.  This wasn’t working, and I was about ready to break out the shovel, when Shelly arrived with her (even larger) Ariens snowblower.

As much as I enjoy cleaning the shared driveway “dueling banjos” style with Shelly, my pride will not let me do anything less than half the work. Now I needed to fix my half-assed snowblower as soon as possible, or Shelly would have cleaned the whole driveway herself.

My first thought was to just bend a piece of wire into an erstaz cotter pin, so I raced into the house in a frantic attempt to find a suitable piece, throwing snow in all directions and asking Arah to help me find some pliers. While I was imagining needle-nose pliers, she arrived with channel locks and a surgical clamp. “Fine, I can work with this,” I thought, but I was unable to find any wire beyond twist ties, which might have lasted for one, maybe two rotations of the auger.  As I opened and closed various “junk drawers” in the house, I could hear Shelly working up and down the driveway: time’s a-wastin’ – I needed to get that machine back to full strength ASAP.

“A bolt and a nut!” I shouted, certain that I could find a similar replacement part in my stores…

Then I remembered my workbench was in a disordered pile of boxes in the attic, not yet recovered from the basement remodel. This additional setback caused a litany of self-recrimination on my part: why wasn’t I more organized, why didn’t I maintain my tools better, why didn’t I ever get a break?  Arah tolerated this pity party with a smile: maybe she knew that I would triumph despite my pessimism?

Call it luck, deus ex machina, kismet, whatever: the very first thing I saw as I raged about the attic was a little plastic bag with two of the exact shear bolts and nuts that had somehow fallen out of the machine. Thank you Ariens Replacement Part Gods for providing this often-lost fastener.  I subsequently learned that this specific set appears in the #1 spot on most online catalogs of snowblower parts.


The shear bolt and nut in question, with quarter to scale. This is the new one: the lost one will probably flow out of the driveway into the Rain Garden.

A couple of socket wrenches and a little bit more swearing, and the auger was reattached to the axle. I was back in business. I didn’t quite get 50% the driveway done, but I changed my “Did Not Start” status to a “Second Place” showing: I can live with that.

In reflection I realize again that I’m not really a gear-head.  I have some aptitude for fixing things, as well as some experience, but I really don’t enjoy the process. I perform repairs out of necessity or desperation, and I seldom feel satisfied with the results of my labor. Maybe too much technical problem solving has exhausted the part of my brain that enjoys tinkering, or perhaps I’m still too much of a perfectionist to enjoy breaking things and then fixing them.

Regardless, the snowblower is repaired. Time will prove my legit gearheadedness if I manage to drain the oil, the gasoline, and perform other post-season tasks on the machine this Spring. I’ve had enough of the snow already: how about you?