Hexagrammatic

Bill Dimmick's Site of the Seemingly Random

Thursday, July 17, 2008

Climbing: From 5.9 to 5.11




When the sport of climbing was young, the Yosemite Decimal System was formed - a way to grade routes for difficulty and also give a way for the various climbers to rank themselves amongst each other. Originally, the system only went at high as 5.10, which was considered the pinnacle of human success a the time - with the invention of better gear and technique, the climbs have been extended to route all the way up to the insane 5.15s.

Recently, I've been climbing 5.10's.

Beginners to the sport see the 5.7s and sometimes have a hard time getting beyond that - "You want me to hang freely and scramble up fifty feet? Insane!" 5.7s are the basics of rock climbing- large handholds and big rests that allow your arms to get over what you just put them through.

That was me a year ago, when I got back into climbing - a novice at best and a bumbling gumby, flailing all over the routes. It seemed so easy, long ago, when I was younger - old bones and the sedentary life of the desk jockey atrophied my skills and led me down a path of complacency in physical fitness. Besides doing Seattle Night and Day, I decided (for various reasons) to make climbing a major part of my life - as much as my development in software, at least.

I'm not a fan of heights and definitely not a fan of trusting people I've just met - that made belaying hard and a few early falls led me to another climbing-related sport: bouldering.

Bouldering can be summed up in these few words: no rope and twenty-foot drops. Essentially, you're going to climb up this route without the safety of a rope and, should you make it high enough, you'll have a large drop from the top if you can't make the last move. It was, in short, awesome.

I started doing the regular routes and trying half of them - the first thing I conquered was my fear of heights. As I moved up in rank of route, I discovered that my trust of others depended on my fear of heights. With that gone, I found that I could do whatever route I was physically capible of doing - and that was a lot more than I thought. My body was sore, but I had just finished that V4!

Then, as the positive thoughts resonated through me, I discovered that they fueled me - the more positive thoughts I had, the better my climbing ability. This is when I discovered books like The Rock Warrior's Way and other mental training books. My mind, the greatest tool I've had during my entire life on this ball of dirt, was also my greatest hinderance!

Overcoming that is an ongoing story, one which I will chronicle here and finish after I've moved on from this life.

However, in the here and now, my climbing continues. I've recently returned to sport climbing and discovered my abilities enhanced - my first day back on roped climbing, I was comfortable with doing most roped climbs with a ride variety of belayers - and that my range of skill had increased. I'm no longer content to do a simple 5.8 or most 5.9s, instead I push myself to move to higher and higher grades, no matter the muscle aches and the self-doubt - becauase I know I can do it.

And those holds that are just beyond my reach? Those that I can't get to immediately or will never get to without a dangerous move?

I jump. I jump hard.

Sunday, June 29, 2008

Idea Jamming: Distributed and Tagged Filesystem on the Cheap

As an engineer who is a big proponent of quick and cheap computing solutions that scale from personal to enterprise, I'm always looking for ways to do things that involve spending less coin that won't tip over when I push them too hard. Blogger powers this site and I use S3 and EC2 for long-term storage and temporary compute cycles, respectively.

Recently, faced with the problem of long-term storage of data I realized how disorganized all the files I had spread over several different machines - desktops, local servers, and remote servers all being part of my personal network. And while I'm working on trimming the fat from my collections of data, there was still a large organizational problem staring me right in the face.

After a couple of weeks of poking around for ideas to solve this, a cheap and easy solution came to mind - couple S3's distributed long-term storage with del.icio.us's tagging system for URLs - organization of stored data for long-term storage.

Long-term Storage and Tagging

The idea is simple - create a coupler that allows a user to perform the following operations, given a file and a set of tags:

  1. Authenticate to S3 and store the file, returning the URL
  2. Associate the S3 URL (sans authentication data) with the tags in del.icio.us
Now that the file is stored, it needs to be locatable by tag. To do this, we create another method for searching for the file by tag - this just is a basic del.icio.us pass-through to get the URLs associated with the tag. Finally, for completeness, we can also provide a method to retrieve a file.

In Ruby, the API looks like this:
class S3Tagger

#Store a file with some tags
def store(file, tags)
end

#Returns a collection of file names
def search(tag)
end

#Retrieve a file by name
def retrieve(file)
end
end
del.icio.us and Privacy
Unfortunately, everything you put in del.icio.us is extremely open. If you're backing up your financial documents or some other information that is personal, then you may not want to have complete strangers checking through your tags labeled "love letters". It just seems like that would be a Bad ThingTM.

Instead of putting those pesky clear-text tags into del.icio.us, how about performing a one-way operation that only you can theoretically undo?

In the storage operation, let's perform an HMAC operation on the tag to be used - this will create something that is a little less obvious and a little harder to crack than the original. For the seed of the HMAC, either the Amazon AWS Secret Key or the del.icio.us password can be used.

Doing this will take our "love letters" tag and transform it into something less useful: "b5bb9d8014a0f9b1d61e21e796d78dccdf1352f23cd32812f4850b878ae4944c" - hard to crack that one!

Unfortunately, this also means we need to do the same operation when we search - redoing the HMAC before the search so that we get the right results.

Also, this doesn't change the meaning of the file names in your S3 storage - even though you've obscured the tags, you may still need to obscure the filenames and encrypt the data to get 100% privacy. (This will be a topic of an upcoming Idea Jam!)

And Now?

I can see this as being a good start for developing a long-term storage and tagging solution for the masses - get yourself organized and your storage redundant. To be truly successful, it needs a usable frontend and some additional optional caching so power users don't tip over del.icio.us. More to come on this!

Long Time, Many Things

El Perro Barracho

Just a quick update on the past month before writing anything substantial - a lot's been going on!

Three weeks ago, I had four teeth pulled from my head - my wisdom teeth. The recovery process is ongoing, although it's mostly behind me. Kudos to Matt and Samvid for taking care of me on "my special day".

While I was infirmed, my project was to build a new computer - a quad-core Intel (Yorkfield Q9300) with a graphics card that cost almost as much as the processor (9600GT overclocked). It worked great for two weeks and then the entire system collapsed into a sigularity and ate the graphics card. While it currently boots, the POST screen uses a Dali-esque character set and the windows screen is so interlaced that it is completely useless.

Before the oral surgery, I had the opportunity to participate in Amazon's Internal Idea Conference - a yearly meeting of about one-hundred idea-oriented individuals to tease out how to make the lives of our customersand developers better than any other company's on the planet. While we can't tell you the contents and outcomes of the conference, there is one thing to note - we're going to be building a lot of great things in the coming year.

Meanwhile, on the personal front, my focus has changed from the usual pure computer science pursuits to a few side projects. For the next six months, I'm going to be writing more about socializing the engineering profession and privacy concerns. Both have come up in a profession and individual capacity in the past three months and there are a lot of ideas that are open for discussion. Watch this space!

That's all, folks!

Wednesday, May 21, 2008

Deathwish

This morning's accident has made me think long and hard about how I view death and injury. Basically, I could have been killed or maimed and it didn't bother me at all - and that bothered me a lot.

I've been in several amazingly spectacular and somewhat stupefying accidents in my life, including:

  • Getting hit by a truck while biking in Seattle
  • Being in a rockslide at Vantage gorge and nearly falling 100ft
  • Close-up encounters with two rattlesnakes at Vantage
  • Doing an end-o off a 20ft tall cliff while mountain biking
These are all within the past five years, and in every single one of them, my brain seemed to shut off and accept what was happening as fact and deal with it accordingly. Maybe all that time in a Taoist temple was good for me - the tiger's claw find no purchase. Or maybe it's just stupid luck.

Whichever it is, Peter Vosshall might be right: maybe I do have a deathwish.

An Intersection of Biker and Truck

There are a lot of great firsts - first kisses, first loves, first jobs, first cars. Today was my first time getting hit by a vehicle while biking to work.

I was coming down 12th, near Seattle University, when a utility truck decided to take a right turn - right into me. The truck had slowed to turn, but I didn't see a blinker and considering he had been driving slowly, I thought he might have been lost or just taking his time. A split-second of thinking and I decided to move on through.

As soon as I was parallel with his rear wheel, he turned and my pedal caught on his upper fender and I went flying roughly fifteen feet into the crosswalk. Landing on my right side and then rolling onto my back, I eventually slid to a stop. Thankfully, no one decided to run me over while I was lying there in the middle of the road.

It wasn't until after I sat up did the driver got out of the truck. Two other witnesses had stopped and come over to make sure I was alright. The driver's first sentence was "Do you want me to call and ambulance?"

His second sentence was, "Why didn't you see me turning?"

After about three minutes of kneeling there and him continuously alternating between asking if I was alright and telling me to be more careful, I lost what little cool I had left. I stood up and looked him right in the eye and raised my voice, somewhere between yelling and loud talking. He needed to know that hitting someone with a vehicle and then telling them to be more careful was not the way to handle the situation.

Making sure to use non-violent body language, by keeping my palms up and not pointing at his face when I made my points, I let him subconsciously know that I wasn't attacking him. Just mad. He felt awful about hitting me and was trying to transfer that guilt by blaming me, which is something natural to do. It just wasn't the right time to do it.

After about two minutes of my diatribe, I cooled down. He asked again about the ambulance and I shook my head. I just wanted to make sure my bike was alright and get on with my day. My right side was scraped, but not bloody. I was happy to be alive, really.

The two witnesses left and the driver started walking to the truck. I don't know if I knew exactly what he was thinking, but I didn't want to leave things in a poor state between us. He was going to remember this the rest of his day, maybe the rest of his life, and I didn't want it to be completely framed in a bad light. I hobbled up to him.

"Thanks for checking on me and letting me yell at you. I'm going to be alright and we're going to be alright."

He smiled and we shook hands.

Tuesday, May 20, 2008

Field Notes for 5/13 to 5/20

  • Saw the Cirque du Soleil: Corteo last week in Redmond. It's interesting and engaging, although not as impressive as the made-for-Vegas shows.
  • Salsa dancing - many people can't believe I'm doing it. People used to think the world was flat, too.
  • I recently decided I looked too much like my father, so I had my hair cut short and shaved off my mustache. In small-talk with a woman at the gym, she asked what I did - and coolly replied that I was "...the King of the Amish."
  • Summer weather in Seattle means a return to biking and climbing, near full-time in the evenings.
  • Out of town this weekend to an undisclosed location for excitement and relaxation.

Sunday, May 11, 2008

Whiskey: 30 Year Lagavulin

There's nothing quite like a good whiskey - a complex brown liquor that is smooth enough to not be harsh, but bold enough that you can't drink it in one gulp. It's a drink to be enjoyed with good friends and cause for celebration.

Earlier this weekend,I walked down the hill to Zig Zag and met with Samvid Dwarakanath to catch up and celebrate success in business. The drink list at Zig Zag is divided into two categories - "normal" and "captain's". I had never heard ot the distinction, but by looking at the prices, I knew the score - the captain's list was for those looking for premium drinks.

With all the buzz it's been generating, I first had to try the infamous Suntory Yamazaki Whiskey. With a sweet start and a roasted rice-like finish, it's delicious and worth all the hype but felt like more of a "starter drink" for a celebration of ten weeks of toil.

So, after having been at a Johnny Walker Master of Whiskey seminar last week, I was in the mind to try something I knew to be very good. I had sampled the Lagavulin 12yr, which I loved,although Master of Whiskey present (Ari Shapiro), expressed that it wasn't his favorite. For me it was a delicous peaty spirit with just enough smoky punch in the aftertaste.

ZigZag raised the bar on me - on the captain's list was the Lagavulin 30yr - a pour that is older than I am. I had to try it, no matter the cost. I was in the mood to treat myself for a job well done and I knew I would regret it if I passed up the opportunity.

When ordered, the waitress went back, put the order in with the bar and immediately came back to make sure I knew what I was ordering - just to be sure there would be no sticker shock when we got the check.

Not only was the taste much more refined than the Suntory, but it was, in my opinion, a much "manlier" whiskey - stout, strong, bold, and smooth. Every sip was a pleasure. Well worth the wait.

As I enjoyed it, one of the bartenders came up and congratulated me on selecting a good choice and later he would come up with some finishing bourbon for dessert - a fine addition and definitely a mark of the Zig Zag staff's knowledge of taste and how to treat guests.


"Be civil to all; sociable to many; familiar with few; friend to one; enemy to none."
Benjamin Franklin