The sporadic, infrequent musings of Mason Hale

Partly Cloudy

We have a dream
A vision
An aspiration
To compute in the cloud
To pay as we go
To drink by the sip
To add cores at our whim
To write to disks with no end
To scale up with demand
And scale down when it ends
Elasticity
Scalability
Redundancy
Computing as a utility
This is our dream
Becoming reality

But…
There’s a hitch.
There’s a bump in the road
There’s a twist in the path
There’s a detour ahead on the way to achieving our goal

It’s the Database
Our old friend
He is set in his ways
He deals in transactions to keeps things consistent
He maintains the integrity of all his relations
He eats disks for breakfast
He hungers for RAM
He loves queries and joins, and gives each one a plan
He likes his schemas normal and strict
His changes are atomic
That is his schtick

He’s an old friend as I said
We all know him well
So it pains me to say that in this new-fangled cloud
He doesn’t quite fit

Don’t get me wrong, our friend can scale as high as you want
But there’s a price to be paid
That expands as you grow
The cost is complexity
It’s more things to maintain
More things that can go wrong
More ways to inflict pain
On the poor DBA who cares for our friend
The one who backs him up and, if he dies, restores him again

I love our old friend
I know you do too
But it is time for us all to own up to the fact
That putting him into the cloud
Taking him out of the rack
Just causes us both more pain and more woe
So…
It’s time to move on
Time to learn some new tricks
Time to explore a new world that is less ACIDic

It’s time to meet some new friends
Those who were born in the cloud
Who are still growing up
Still figuring things out
There’s Google’s BigTable
and Werner’s SimpleDB
There’s Hive and HBase and Mongo and Couch
There’s Cassandra and Drizzle
And not to be left out
There’s Vertica and Aster if you want to spend for support
There’s a Tokyo Cabinet and something called Redis I’m told

It’s a party, a playgroup of newborn DB’s
They scale and expand, they re-partition with ease
They are new and exciting
And still flawed to be sure
But they’ll learn and improve, grow and mature

They are our future
We developers should take heed
If our databases can change, then maybe
Just maybe
So can we

I got a big kick out this post by Kevin. I’ve been friends with Kevin a long time, and through discussions over lunch, coffee, or beers over several years I’ve watched him wrestle with issues about working and launching new companies in a super-networked world. The nature of doing business, especially in technology, is changing dramatically and it looks like Kevin is way ahead of the curve piecing the puzzle together. My discussions with him helped form the basis of my Master’s thesis (Learning from Open Source) but now he’s taking it to a new level. Kevin’s also written a new book, which he describes as a field manual for launching new ventures in a network economy. I’m definitely looking forward to reading it.

Man, you’d think from reading this post from Dave Winer that when I suggested over 10 years ago that UserLand Frontier would make a great scripting environment for the web, I somehow set into motion a series of events that would ultimately lead to his misery.

In 1995 or 1996 I got a prophetic email from Mason Hale, who had discovered Frontier and thought it would make a wonderful environment for CGI scripting. He was right, but I came to wish I had never gotten that email. Seriously.

While it is nice to be remembered, I wish it were a little more fondly. ;-) I hate to think Dave genuinely regrets our interaction and the cool things we built together or pushed each other to build back in the early years of the web. We did some crazy stuff. Some of which has faded to history, but I still remember well — and fondly. Like when we wired Frontier up to Netscape to run client-side scripts using a custom usrtlk: protocol. It was a security nightmare waiting to happen, but it was geeky-cool and a fun and still mostly uncharted territory to explore.

So it is a bit sad for me to read that Dave associates me and that time with a negative turning point in his life. I have not kept in touch with Dave over the years. We didn’t have a falling out or anything, we just started working on different things. I am thankful for the many lessons I learned from working with Dave Winer. I wish him well, and I am sorry to hear he’s had a rough stretch these last few years.

I received an email recently from my friend Stephen Dulaney reminding it was time for my annual post here on flowdelic. Stephen noticed that my previous two postings were made in March 2006 and March 2005. So to keep my one-post-per-year streak alive, just under the wire, here’s a quick update.

The biggest news is that I left my job as Chief Technologist at frog design in June 2006. I left to help start up a new company, LargeSmall Systems, with another friend, Matt Cohen. We are not quite ready to publicly disclose the nature of our business or product, but it has been a great ride so far. We’ve assembled a terrific team and together we are building some really cool technology. It’s been hard work, and a lot of fun at the same time. I’ll write more about this new venture in the future.

Leaving a comfortable position at frog for the relative uncertainty of a not-quite-yet-funded hatchling startup last year was a tough decision to make. Having gone through a boom and bust during my eight years at frog, the digital technology team I founded in 1998 was doing better than ever. We were doing great work and some strategic bets we had placed earlier were starting to pay off. Yet, I had the opportunity to do something new and exciting with this start-up. I was fortunate to be able to leave frog at the top of my game, so to speak, with my department growing and with strong leadership in place behind me to keep things rolling. For me, it was a textbook case of how to leave your job on good terms.

It’s been great to watch from sidelines, since I left, and see my old team continue to crank out great work and to establish themselves as leaders in some hot emerging technology areas. One example: a frog project I played a key role in early on, the Alltel Celltop, was recently awarded Best of Show at the CTIA Wireless industry conference. Another: the new Hawaiian Airlines website is gorgeous, highly-functional, and technologically sleek and elegant. I am bursting with pride.

While I would be enjoying a bit more glory about now had I stayed at frog, I don’t have any regrets. The last nine months have been intensive training for me in the starting, funding and growing of a company. For the first time in my life I am fully focused on creating a single product. It’s been an awesome experience and the future only looks brighter.

There have been some benefits to my personal life too. For one, my commute is now just under a mile. And while at frog I was a platinum-level frequent flyer, now I am closer to home and have been able to do things like coach my daughter’s soccer team — something I never would have been able to do with my previous travel schedule. I’m still working as hard as ever, yet I’ve also been able to spend more time with my family. And that has been priceless.

I was a presenter at Microsoft’s Mix ’06 conference, held in Las Vegas March 20-22. Videos of all the sessions (including mine) are now online. I presented with my frog design colleague, Nelan Schwartz. The title of our session was “Better Design, Built Faster: Using New UI Technologies to Speed Development.” Here’s the session description:

Achieving complete separation between visual design, content, and logic has long been the Holy Grail of the Web design world. By keeping these separate layers loosely-coupled, they can be developed and changed independently of one another, resulting in faster, more parallel development and more manageable code. That is the vision, but in practice, achieving truly clean separation has been easier said than done. New techniques with AJAX and CSS, and new technologies such as Windows Presentation Foundation (formerly code named “Avalon”), have made achieving the ideal of clean separation more attainable. This session dives into the experiences and lessons learned by Frog Design while using these techniques and technologies on real projects. We explore the impact (good and bad) on processes, collaboration, and efficiency.

As you can quickly deduce from the frequency of posts to this blog, I’ve been on a bit of a blogging hiatus for the past six months. I have a lot of other things competing for my attention, and keeping my blog updated is pretty far down my list of priorities. After having a blog for a bit, I naturally arrived at some ideas for making it better. And in a way these ideas have contributed to my laxity. I have a mental picture of my new blog (which is much improved) and so posting to this, my “old” blog, is now somehow a little less appealing than it was before. I feel like I need to do some renovation around here, but I just haven’t had enough free hours strung together to sit down and do it.

But in the last two weeks or so, I’ve had three separate people comment on the lack of posts to my blog. Two of these were strangers I had never met before, candidates interviewing for positions (by the way: frog is hiring) who had Googled my name prior to their interview. Knowing that some people are still reading these pages gives me motivation to tidy things and update a bit more frequently. Spring break is coming up, I’ve requested a few days of vacation, and we’ve farmed all three of our kids off to visit their grand parents. Colleen and I aren’t quite sure what we’ll do with ourselves, without having to shuttle kids around to school, baseball practice and birthday parties. So with any luck, I’ll squeeze in some time to work on flowdelic.

One other thorn in my side, that has soured me a bit to the whole idea of blogging is comment spam. I’ve got comment moderation turned on, and I’ve never let a spammy comment get through, yet I still get 50 or spam comments a week here. Continually having to delete advertisements for online pharamacies and poker sites (and worse) has made this a little more of chore and a bit less of a joy than I had hoped for.

Although I finished my master’s report nearly six months ago, I just now got around to publishing it here. I’ve distributed it to a few friends and colleagues, some of whom have asked to link to it. So here it is: Learning from Open Source. This version is slightly edited from the version I submitted to finish my master’s degree. For more about the topic, see My Thesis Topic.