Saturday, 31 January 2009

First Crack 117. Paul & Scott from 45th Parallel Spirits

A couple years back Scott Davis and Paul Werni founded 45th Parallel Spirits, a distillery in New Richmond, WI – just a quick 45 minute drive from northeast Minneapolis. While there are number of craft brewers in the region, 45th Parallel is the only still I know of. Paul, Scott, and I talk about the distilling process and the benefits of sourcing locally.

[33 min].

Thursday, 29 January 2009

Wednesday, 28 January 2009

Left in Leipzig

“A wall calendar showed August 1988 and an empty bottle of Vita Cola, Marella margarine, Juwel cigarettes and a bottle of Kristall vodka were in the kitchen.”

Reminds me of an art installation I saw during my time in Germany.

Imagine a room.

With a single, wall-sized, framed painting leaning against the wall.

Hanging tools littering the floor.

As I pondered this room, a woman approached me, and gave me the background.

In Soviet Russia, it was common for workers to just stop. Mid-task. And walk away, onto another task. Different orders.

Also, if you haven’t seen it, Goodbye Lenin is quite enjoyable.

Tuesday, 27 January 2009

After a couple very rough weeks – I’m happy with where Cullect and it’s caching strategy is. It’s slightly different from where I talked about last. I’ve also added a slave DB to the mix since my last write up. Overall, it feels more solid, and is performing at or better than before

Monday, 26 January 2009

Sunday, 25 January 2009

First Crack 116. Garrick Talks About the Legends of Paul Bunyan

It’s a new year, with a new president. An ideal time to clear the ground for a new America.

To start the chopping, Garrick reviews Legends of Paul Bunyan by Harold W. Felton touching on a boyhood trip to Paul Bunyan Land and the story of Sport the Reversible Dog.

[9 min].

First Crack 115. Chad Gillard on Aebleskivers

Chad Gillard lives a few houses down from me – and little did I know that his side project is making and selling tasty, tasty Danish apple treats under the Aunt Else’s Organic Aebleskiver brand (Aunt Elsies on Twitter)

It started with a goal so many Minnesotans have: sell food at the Minnesota State Fair.

While he’s still on his way to reaching that goal, we cover the conflicting aebleskiver recipes and the local food producers he’s met while selling at farmers markets and town festivals.

[35 min].

How To Cache Highly Dynamic Data in Rails with Memcache – Part 2

In my part 1, I laid out my initial approach on caching in Cullect.

It had some obvious deficiencies;

  1. This approach really only sped up the latest 20 (or so items). Fine if those items don’t change frequently (i.e. /important vs /latest) or you only want the first 20 items (not the second 20),
  2. The hardest, most expensive database queries weren’t being cached effectively. (um, yes that’s kinda the purpose).

I just launched a second approach. It dramatically simplified, cache key (6 attributes down from 10) and rather than caching entire the items in that key, I just stored the pointer object to them.

Unfortunately, even the collection of pointer objects was too big to store in the cache, so I tried a combination of putting a LIMIT on the database query and trying to store 20 items a time in a different cache object.
This second approach had the additional problem of continually presenting hidden/removed items ( there’s 2 layers of caching that need to be updated).

Neither was a satisfactory performance improvement.

I’ve just launched a solution I’m pretty happy with and seems to be working (the cache store is updating as I write this).

Each reading list has 4 primary caches – important, latest, recommended, hidden – with a variants for filters in keyword searches. Each of these primary caches is a string containing the IDs of all the items in that view. Not the items themselves, or any derivative objects – both of those take up too much space.

When items are hidden, they’re removed from the appropriate cache strings as well.

Murphy willing, there won’t be a part 3. 😉

1. Storing the items in the cache as objects

Thursday, 22 January 2009

Cullect and Why I Built It – UPA-MN Feb 12 ’09 6-8pm @ Open Book

(cross posted @ &

I’ll be talking about how and why I built, Feburary 12th UPA-MN event at the Open Book, 6-8pm

(Feels good to be back at the UPA-MN, it’s been too long.)

The agenda:

  • Developing a product you will use and the way you will use it.
    Designing the API as the primary user interface.
  • A tour of some of the innovative UI concepts behind Cullect.
  • An activity in which you will be able to play the role of an information curator.

If you’re a fan or customer of Cullect, I hope you’ll be join us. It’ll be more fun if I’m not the only one talking about it.

If you’re not sure what Cullect does, come by as well, as I’d like to get better at articulating it.

$10 members, $30 non-members (only cash and check are able to be accepted at the door)
RSVP: By 5:00 p.m. on Monday, February 9, 2009, to

“My Baby’s Only Known Recession”

Mark Zandi, author of the Financial Shock, the best book on how we got into this economic mess is now covering the proposals to get us out.

Quick context setting:

“Every dollar decline in household net worth reduces consumer spending by 5 cents over the next two years. If sustained, the wealth lost over the past year could thus cut $300 billion from consumer spending in 2009 and a like amount in 2010.” – Mark Zandi [pdf]


According to the NBER, I’ve lived through 4 recessions 1. 54 months (+ 13 and counting) of my life spent from peak-to-trough.

Seems like a fortunate amount of time.

Also fortunate, Zandi continues,

“Assuming gas remains below $2 per gallon through the coming year, Americans will save well more than $100 billion in 2009 compared with fuel costs in 2008.”

“Boosting food stamp payments by $1 increases GDP by $1.73…”


Overall, Zandi is for the House stimulus plan – if only to stop the bleeding (something he argues could/should have been done years ago).

“The House stimulus plan would not forestall a sizable decline of 2.3% in real GDP in 2009, but it would ensure that real GDP returns to its previous peak by the end of 2010”

Overall if he’s in, I’m in.

The problem I have is the principle of the thing.

For individuals and businesses that have behaved fiscally responsibly over the long run, any stimulus package unnecessary. In the exact same way it’s a life saver to those that have behave irresponsibly. This is why Detroit’s auto makers want to get in on the TARP funds – why Circuit City2 didn’t lobby congress the same way, I don’t know. 😉

Additionally, what if the stimulus works?

Moral Hazard.

Doesn’t saying the overall economy requires government intervention to recover set a bad precedent?

Primarily because Congress is structured to move much, much more slowing than the economy overall. Secondarily, because – unlike healthcare – there are so few comparable economic situations.

Zandi reminds us:

“A long history of public policy mistakes has contributed to the financial and economic crisis.”

Same with the auto makers and Circuit City. Their problems were not sudden or surprising. It just looks so, because declines (like ascents) are cumulative.

May you live in interesting times.

1. My daughter’s only known recession. And based on the business cycles dates, I too was a recession baby. Also, I have a very distinct memory of PBS’s Nightly Business Report playing in my house around and following the 1987 crash.

2. Perhaps you also remember the presently liquidating Circuit City was profiled in the business management book “Good to Great”. Peter Galuszka does.