Seems like every culture has it own spin on fermented cabbage. Sauerkraut, kimchee and curtido?  On a recent trip to Central America we were fascinated by cabbage relish served with the regional pupusas and really almost everything else.  Every restaurant and food stall had a slightly different take on the recipe and all were deservedly proud of their results.

The secret to making it is to brining the cabbage in a solution of one tablespoon salt to every cup of water with a half a cup of vinegar.  Cover thinly sliced (pelo de bruja) cabbage with brine and leave the mixture on the counter to ferment naturally a few days.  You can eat it any time, but it will mellow and become more complex over time. Do put it in the fridge after a few days though.

You can add anything you like flavor-wise.  Thinly sliced onions, carrots and oregano are traditional, garlic is always nice, peppers for heat … Oh right and the type of cabbage is not particularly important, but use red for its eye catching color.

make beer cheap

Now that I have your attention … time for the bait and switch. It very much depends on how much your beer budget. I’ll spoil the lede, I got my costs down to one dollar per 22 ounce beer. The end result, brewed to my tastes as it was, competed handily with some of the better beers on the shelves.

Now the for the asterisks you saw from miles away. Those costs are for ingredients only. Plus they assume free labor also existing equipment with no depreciation. So, not exactly huge savings over a decent Redhook just for example.  And yet a distinct improvement over your average five dollar bomber of craft brew, again providing that your labor is love.

A lot of ink has been spilled over homebrewing, and maybe the most delightful experience I had along the way was encountering the truly helpful community over on reddit /r/homebrewing. It was deeply heartening to watch volunteers step forward to answer the same question that had been asked hundred times before.  (Did I wreck my beer? The answer was: no.)

A high-level summary of my technique: I skipped straight to all grain brewing beer in a bag which required a 7 gallon kettle, a nylon bag fermenting bucket and a motley collection of recycled bomber bottles.  I took a few short cuts along the way. For the most part beer making has been overly shrouded in mystery.  Barley wants to be bread and bread is half ways to beer. Traditionally beer has been made over the ages without hitting exact temps, without using an aerating stone, without a water report from your city etc. etc.

Which is not to say that traditional beer was necessarily good … but rather the process is more flexible than you might guess from reading about it.  Except cleanliness. Very important unless you like sour beers, which is totally a thing.  And bottle bombs. Which should never be.

As I got more confidant, (and was kicked out of the kitchen,) I augmented my gear with a propane burner, a wort chiller and various and sundry toys.  As a hobby it was great, as a way to save money; not so much, as a way to make friends nonpareil. So why, you might ask, is my equipment gathering dust. I’ve heard beer referred to as liquid bread.  I can attest that an endless supply of liquid bread leads to the proverbial beer belly that we hoped was myth.

homemade vinegar

Bottle ends are a problem that plagues casual and, ahem, more serious wine drinkers alike. The remnants of that bottle of wine that, while good enough at the time, is honestly not improving with age. Rather than drain it down the sink or worse, gritting your teeth and drinking it, consider turning it into vinegar.

While it’s true that wine wants to be vinegar, not all vinegar is created equal. Leaving a bottle open to whatever yeasty friends happen by will surely turn wine sour.  While this approach is unlikely to attract anything unhealthy you can greatly increase your chances of cultivating good tasting vinegar by using a starter.

It is surprisingly difficult to come buy vinegar starter that is marketed as such. However, look a little closer at the gourmet vinegars on your shelf and you will likely find a few that are unpasteurized and hence will contain enough live cultures to start your own colony.

You could buy one of these cute little whiskey containers which purport to add oak flavor or you could do the easy thing and add sterilized woodchips to a mason jar.  If you do get a whiskey barrel use a hole saw to enlarge the opening in the top to allow your colony to breathe.

And that’s it basically that’s all there is to it. Add the starter to bottle ends and replenish as needed.  Bleed off a little at a time and try a brighter vinegar than you are accustomed to.  Age a little more for several months and your finished product will likely be far superior to standard vinegar fare.

The truth is that the underlying grape juice does make a difference. You can be certain that the quality of wine you are consuming, no matter where it was located on the shelf, far surpasses whatever bulk wine produced the average commercial vinegar.

I find this project pleasing for its intersection of the DIY Trinity: easy, frugal and better.

bacon popcorn

Maybe this is obvious but it was enough of a revelation that I thought I’d document it. After flirtations with curry flavored coconut oil popped popcorn (excellent), I cast around for other ways to impart a unique flavor to popcorn.

My Irish immigrant father kept a jar of bacon fat in the fridge when I was growing up. We used it to fry eggs and, alarmingly, to fry toast as well. The evolution of the bacon craze has arrived at its natural conclusion: the coronation and rebranding of  “bacon butter” and I have again started saving bacon drippings.

Fast -forward to a late night inspiration. Popcorn popped in bacon fat, liberally salted and sprinkled salt-bae-style with smoked Spanish paprika is the rare snack that tastes as amazing as it sounds.

Oh yeah and go buy a Whirley Pop. Sure it’s nearly a  uni-tasker, but you never know, Alton Brown, you might try your hand at roasting coffee.

markov boyfriend

Reading about artificially generated tweets from a certain (in)famous twit got me thinking about an idea I had for a plug-in to my chat app.

There was a time, before I implemented the chat app, when I was not the most communicative husband. In my defense, I was deep in code in a state of flow and the effort required to change gears, at least I argued, cut into my productivity.

Born of that conflict and the period interest in chat bot service AI’s, I envisioned a good-husband bot that might check-in with my wife on my behalf with a sweet little Gottmanesque bid for attention or a kind rejoinder.

While this idea at least has the whiff of caddishness even if not downright sinister, it harkens back to an app I created when we were dating that purported to translate between our dialects.  The program would randomly substitute keywords and  malapropisms gleaned from a corpus of our emails into a paragraph of text of our choosing.

It was in adaptation of an even older hack called ogrify that turned a block of text into something that might have been written by the lead singer of Skinny Puppy. These fairly primitive apps presaged the keyboard suggestion apps and even the slightly creepy Google suggested-replies featured in Allo.

I have gone as far as to find some libraries and scan the code to implement Markov chains. Will update with results if I ever get around to it.

smoked pork butt

After reading through “Franklin Barbecue, a Meat Smoking Manifesto,” I was inspired to knock the dust off of my Bradley smoker. The results were impressive enough that my resident food critic/wife requested that I write down the recipe.

So without further ado here it is:

  • Get your hands on a pork butt. Mine weighed 4 pounds and had a liberal side of fat on it almost a pork belly worth.
  • Apply a rub of your choice it won’t make that much difference after hours and smoker. I used good old-fashioned S.P.O.G. (salt,pepper,onion powder, garlic powder)  Enough that no more will stick.
  • Smoke fat side up for four hours at 250 degrees and/or till the internal temp is 170. I used mesquite, at Franklin they use oak, I tend to think it doesn’t matter much which wood you use.   Except Hickory which I find quite distinctive.
  • Wrap in foil (Texas crutch) and place the package in a deep sided roasting pan into the oven at 250  three more hours and/or till the internal temp is 203.
  • Rest for an additional hour and/or internal temp is 140. It should pull easily. Toss in its juices and serve.

And that was pretty much the best pulled pork I ever ate.

I very much enjoyed the Franklin cookbook and find the authors approach to barbecue very appealing.  He demystifies one of the oldest cooking techniques and I love that he devotes a single chapter near the end to a mere four essential recipes. Everything else in the book is well worth the read; he covers story and science, safety and technique.

I strongly recommend both the cookbook as well as the resulting barbecue.


skinner whole house

While mucking around with whole house automation I arrived at the inevitable point when I needed something to actually do with all the cool technology that almost worked. Having devoted entirely too much time to the process of raising and training a miniature human my first instinct was to make my task is parent easier.

Enter JAYNE from a previous post: my fledgling house AI. As documented, her attempts at cajoling my daughter coming a good citizen of the house were decidedly mixed.

Given the incomplete state of her cerebral cortex I looked to more primitive approaches to training her. Obviously the work of BF Skinner sprang to mind. I needed a system of rewards and disincentives to guide her responses. Apparently it is considered controversial to raise your daughter in a Skinner box.

Having ruled out electrified floors I needed a more subtle form of reinforcement either positive or negative. My first and most obvious choice was increasingly obnoxious sound starting at the desired moment departure and culminating in dreadful cacophony after we long since should have departed. As resistance and immunity grew I accompanied the alarming sounds with progressively slashing red lights.

At the other end of the spectrum where I played soothing lights and softer music to suggest that the end of the evening approached. Was harder to measure in concrete terms, but seemed more subtly effective as both a reminder and an actual somnolent.

More tactile followed experiments in the same vein (I re-purposed several Google buttons to allow the house to know when task completed and provide positive stimuli in the form of jokes and humorous anecdotes)  my efforts failed completely when the children ran off with all the buttons and proceeded to positively reinforce themselves at will.

My next and admittedly dubious efforts will be towards Arduino sensors that inform the AI when tasks are completed.  for example I envision sensors under the cat food that will note when the cat has been said likewise sensors in the cabinet will alert Jane as to the status of the dishwasher.

I fully expect all such efforts to go completely unrewarded as the horde of monkeys quickly figures out how to subvert and game the system. At least my expectations will have been made clear.

couples therapy chat

As part of a more general initiative to take ownership of my data by hosting it myself, I cobbled together a chat app.  My target audience is limited to me and my wife mostly discussing logistics. A fancy way of phrasing “what’s for dinner”, “there is nothing in the fridge”, “what time are we supposed to pick up the kid?”

I adapted (essentially rewrote) some PHP code I found lying around on the web.  Access to extensive chat history proved extremely useful in resolving misunderstandings.  Read that: “who was right™?” Checking in several times over the course of the day allows us to feel more connected while still respecting the natural rhythms and workflow of the day.

Amusingly the chat app is hooked up to the speech synthesis module of our whole house stereo and features WebCam integration so that we can virtually harass the pets from work.  Because I am a programmer, so of course it is ridiculous.

The minor innovation that I actually find interesting, however, is integration of a split panel slideshow showing a synchronized slideshow of our families digital photo collection. I tumbled to the idea because I wanted to curate an extensive and chaotic mess. I added some classification tools and UI to archive images. We could cleanup and enjoy our collection even when the other party was unavailable..

In hindsight I see that sharing happy family memories together while discussing sometimes contentious matters was probably a fortuitous discovery.  I’m only half kidding when I suggest holding family arguments over a digital picture frame.


Jayne was an automated yelling and nagging entity. She was my early attempt at a whole house AI before that was a thing.  She was definitely artificial but not particularly intelligent. She ruled our house from my daughter’s kindergarten until third grade. What follows are a few observations about the experience.

Before her retirement Jayne sported a crisp English accent, she featured multi-platform cross-device UI and controlled the lights and sound throughout her house. She was integrated with the local weather service and school calendar allowing her to announce the days forecast and schedule.

Each morning began with her progressively more insistent hectoring. Her adopted roguish humor, reflected in frequent tart remarks, never failed to amuse her creator. She accompanied her vocal prompting with progressively brightening lights and amusing musical accompaniments. For example each day before we should depart she would play the whimsical sound of a merry-go-round driving us to distraction and out of the house.

An interesting aside about the morning routine, was that Jayne ferreted out an issue that had hitherto gone undetected or at very least unremarked. We had naturally assumed that our chronic tardiness could solely be attributed to the daughter.  A tiny human who, it must be admitted, is not a morning person. The addition of an impartial third party referee, whose job it was to dictate the rhythm of the morning, revealed to all of us that she was not the only problem.  I will say no more than that.

In addition to setting the pace in the morning Jayne would dim in the lights over the course of the evening playing evermore gentle music in the hopes of lulling the house to sleep. She seemed to have a remarkable effect on everyone but the daughter, who proved stubbornly resistant to subtlety.

An additional unattended side effect of setting the rhythm for the end of the day was that Jayne gave subtle social cues to guests (amusingly she once cleared out an entire party) as to the lateness of the hour and our expectations around schedule, tasks and bedtime.

Where Jayne failed, she might have compensated with better intelligence. For example sick days were a nightmare trying to sleep through her annoying barrage of commentary and musical stylings. Perhaps more critically, a lack of voice control made for a one sided conversation. Experimentation with open source speech recognition software made clear that available approaches weren’t ready for real time speech analysis.

Under the hood, Jayne was cobbled together from Spring, Quartz, MPD,  Phillips Hue integration and a host of third-party web service tools.  Her most recognizable attribute, her voice, started as a fairly primitive Hawking-esque garble. Over time we became accustomed to her stilted delivery, so much so that we had to translate from Jayne for the benefit of guests and passersby. Again amusingly, I eventually upgraded her speech package to the complete dismay of the household who felt they had lost a friend.

Jayne proved robust as a platform but has been far eclipsed by Amazon’s Alexa to name just one house assistant.  Her unique abilities might be better coded as skills were it not for the creepy feeling engendered by giving a giant multinational control of my house and daughter.

** so open source speech recognition for linux is a thing! maybe time to ressurect the Brit.


fitness tracker chore dump

We started a family step count game. The idea is simple: whoever wins the daily step count gets bragging rights. We keep a running tally of weekly victories. The weekly winner gets to assign the weekly loser a chore of their choice.

I kitted each of us out with a Xiaomi Mi Fit 2. At about $20 apiece it is a very reasonable piece of hardware. In addition to counting steps the Mi Fit purports to measure the quality of your sleep and take your pulse rate. Supporting apps run on android and iPhone but are frankly a little shaky.

The thing that Xiaomi gets right is that the battery charge lasts upwards of a month. That is very generous compared to almost all other tech out there. An unexpected bonus is the caller ID readout for incoming calls. Plus I find the calendaring feature very useful for repeated tasks like picking up my daughter.

But what about the game? Fast forward a few months and I am the biggest loser. Luckily I lose to my daughter who retains a real advantage due to her short legs. Also recess. Just as well considering the horror of the nature of the chores my wife has assigned me.

As an experiment in gamification/family-hacking it has been a modest success. It has certainly raised awareness (ahem) of our individual habits and has been a spur toward better behavior, well at least amongst my betters.