Pumpkin Patch

I’m in Whistler, BC for the last weekend of  the mountain bike park. I took today off to head up a bit early and take some pictures along the way. I wasn’t planning on stopping at this pumpkin patch, but when I saw it next to the highway in Mount Vernon, WA, I decided to turn back and explore. I am pretty happy I did.

Pumpkin Patch

Pumpkin Patch

Pumpkin Patch

Pumpkin Patch

Pumpkin Patch

Pumpkin Patch

Pumpkin Patch

View the rest on Smugmug.

Birthers

I saw this on a car on the way back from lunch today:

photo

Assuming (and I think that the accompanying “McCain/Palin” bumper sticker confirms this assumption) that “Where’s the Birth Certificate?” refers to the supposed debate over Barack Obama’s citizenship status, would it be acceptable to slap a copy of Obama’s birth certificate and/or the two newspaper birth announcements on this car? Seems like a justifiable response to me.

I am appalled by the Birthers movement. Debate the man’s policies, fine, but if you’re really fixated on whether Obama meets the citizenship requirements to be President, you’re really, really, really missing the boat.

Fourth of July Photos

Catching up on my backlog of unprocessed photos from Lightroom, I finally had a chance to post this year’s Fourth of July pictures.

We spent the fourth at our friend Val and Andrew’s house in Queen Anne. Following a relaxing evening of cocktails, great food, and dog chasing, we walked a few blocks to a park overlooking Lake Union and enjoyed the fireworks.

I really liked a few that I took early in the evening, but most of the firework shots were pretty poor (too strong of a zoom (70-200), inexperience, and the crowd in front didn’t help). A few turned out alright.

July 4th, 2009

July 4th, 2009
July 4th, 2009

July 4th, 2009

July 4th, 2009

July 4th, 2009

July 4th, 2009

July 4th, 2009

July 4th, 2009

July 4th, 2009

July 4th, 2009

View the rest on Smugmug.

Chuckanut Century Bike Ride

Continuing the summer of biking, today I got up way too early to drive to Bellingham to ride in the Chuckanut Century, an organized 100 mile ride.

Despite the early start (6 am wakeup, 6:45 departure, and after gearing up, 9 am on the road), a lot of elements conspired to make it a great day of riding: near perfect biking weather (not too hot, not too cool, with mostly clear skies), a beautiful, scenic route, not too hilly terrain, good friends, reasonable cost ($38), and an event t-shirt I might actually wear. Being in pretty good biking shape probably didn’t hurt either.

The finish at the Boundary Bay Brewery was much appreciated, with a nice burger and some Harvest Ale schooners to complete the day.

The century was split into two parts: a 38 mile south loop followed by a 62 mile north loop, both around the outskirts of Bellingham. Riding highlights included the Mercer Island-esque section of Chuckanut Drive with great vistas over Bellingham Bay, lots of miles of rolling farmlands, and the waterfront ride along Birch Bay (including a much-enjoyed rest at Birch Bay State Park).

This ride really made me keen to do the RSVP next summer (it’s already in my calendar to sign up in January, since it sold out in five days last year).

As the cooler air sets in and the feeling of fall arrives, I can feel myself making the mental transition to snowboard season. But hopefully the weather and my state of mind will allow for a few more spins in 2009.

Picnic at Gasworks Park

As Summer 2009 draws to a close, one of the things I’ll remember the most is the weekend picnics at Gasworks Park. One of my random Christmas presents to Meagan last year was a picnic basket, and I’m happy to say that we put it to good use a few times this summer (including for a low key one year anniversary celebration).

Here are some pictures from what I believe was our first outing in late May. Seattle waterfront sunset, folks flying kites and tossing frisbees, salami & mozzarella crackers (with sea salt and organic EVOO), a nice glass of rosé, your girl and your dog – what’s not to like?

Gasworks Picnic

Gasworks Picnic

Gasworks Picnic

Gasworks Picnic

Gasworks Picnic

Gasworks Picnic

Gasworks Picnic

Gasworks Picnic

Gasworks Picnic

Gasworks Picnic

More pictures are here on Smugmug.

Garagiste Invoice Fetcher

About a year ago, I found out about Garagiste, and, since then, I have spent too much money buying wine. That wine started piling up in the basement, and since it was getting hard to keep track of it all, my obsessive organizational self decided to create a spreadsheet to manage it.

A few months ago, I went to a small business conference (Small & Special) and listened to Eric LeVine talk about his website, Cellar Tracker. That seemed like a much better solution than my spreadsheet, so I made a mental note to give it a try. (His talk about how he started his business is worth watching even if you don’t like wine.)

A few weeks ago, I finally had some time to play around with Cellar Tracker. Despite the “throwback” website, the UI was really usable and the AJAX-based search made it easy to find the bottle of wine I wished to catalog and enter it into my virtual cellar. I was immediately hooked, as the website provided quick access to reviews, tasting notes, etc, and it was a lot easier to manage and access than my ghetto spreadsheet.

I now wanted to get ahead of the game and start entering Garagiste purchases before I took delivery of them. But it would be time consuming to pull that information from all the emails (which I did for my initial data upload). I figured this was a good opportunity to dust off my programming skills (which have been languishing since I became a manager 18 months ago), learn a new language (Ruby), and solve a (somewhat manufactured) problem.

The result is below, and, although it likely won’t win any programming awards, I am pretty happy with it as “my first Ruby program”. It takes your Garagiste O.A.R.S. URL (which changes weekly) and fetches the invoice data and generates a tab-delimited text file with your purchases. You can then convert into Excel and filter it, etc. I immediately found it useful to find out how many bottles are ready for pickup at the warehouse (classified, but yikes, where will I put them?) and as an easier way to enter data into Cellar Tracker. I guess the next step would be to automatically upload it, but that’s likely overkill, and I’m worried about data verification issues (it’s nice to manually check that what you’re entering is correct).

Thanks to this post for providing a good sample script from which to learn Ruby / web scraping and to Eric Levine for creating a kickass website. I guess it’s time to stop being a freeloader and pay up.


#!/usr/bin/env ruby

# Simple Ruby program to fetch purchase information from Garagiste and
# generate a tab delimited file, suitable for import into Excel.

require ‘rubygems’
require ‘mechanize’

def main
page_count = 1
more_pages = 1

while (more_pages)
url = get_url(page_count)
more_pages = process_url(url)
page_count = page_count + 1
end
end

# Construct the URL based on the current page
def get_url (page_count)
urlbase = “http://garagistewine.com/oars/?page=”
# Put in the part of the URL after the numeric page number (it’s specific to your account and changes weekly)
urlend = “”
url = urlbase + String(page_count) + urlend
return url
end

# fetch and process the specified URL
def process_url (url)
agent = WWW::Mechanize.new
agent.user_agent_alias = ‘Mac Safari’

page = agent.get(url)

body = page.body

more_pages = nil

if body
more_pages = process_html(body)
end
return more_pages
end

# parse the HTML document and print out the line items
def process_html (body)
doc = Hpricot(body)

# Find the div for the table and process it
content_div = doc.search(“//div[@id='thing-content']“)
if not content_div.empty?
process_invoice_table (content_div)

# See if there is a next page link
next_page_a = doc.search(“a[@class='next']“)
new_url = nil
if not next_page_a.empty?
link = next_page_a.first.get_attribute(“href”)
if link
new_url = “http://garagistewine.com” + link
end
end
return new_url
end
end

# Process the invoice table and print out the line items
def process_invoice_table (content_div)
tab = content_div.search(“table”).first

body = tab.search(“//tbody[@class='records']“)

body.search(“tr”).each do |tr|
quantity = tr.search(“td[@class='quantity-column numeric']“).inner_text.strip()
description = tr.search(“td[@class='description-column ']“).inner_text.strip()
price = tr.search(“td[@class='price-column numeric']“).inner_text.strip()
status = tr.search(“td[@class='status-column ']“).inner_text.strip()
date = tr.search(“td[@class='created_at-column sorted']“).inner_text.strip()
paid_cell = tr.search(“td[@class='paid-column ']“)
paid = “No”

checked = paid_cell.search(“input[@checked='checked']“)

if checked.first
paid = “Yes”
end

printf “%s\t%s\t%s\t%s\t%s\t%s\n”,date,quantity,description,price,status,paid
end
end

main

Me vs The Bike

After starting the biking season with a $350 repair bill for what largely amounted to two tune-ups (plus a little more), I’ve been trying to do more of my own bike maintenance as a way of saving money and getting to know my machine a little bit better. So far, it’s been a mixed bag.

Before I went on the weeklong trip to Panorama, I installed and bled my own hydraulic disc brakes. Despite a few stressful moments, I was happy that I was able to do that successfully.

At Panorama, I pretty much destroyed or had some type of mechanical issue with every part of my bike, but fortunately the awesome tech crew from Gord’s bailed me out many times.

Back in Seattle, I had some residual damage to take care of. The shifters were fairly beatup, I needed to reinstall my front brake (I borrowed Ming’s spare after I cut the front line in a fall), and I needed to re-bleed the rear brake since it wasn’t as responsive as I liked. For the most part, I handled all that successfully. I was particularly happy that I was able to install the shifters and cables and get it shifting mostly correctly – I did take it to JRH to do a final tune, and it turned out the issue was mostly the fact that the rear derailleur hanger was bent a bit from Pano. Shocking.

After my last ride, the creaking in my crankarms had gone from occasionally squeaky to really freaking annoying. I wasn’t sure if it was the bottom bracket, the crankarms, or something else. So I went to my friend Dan’s, who knows more about bike mechanics than I do, and we took apart and reassembled the BB and cranks. The BB seemed fine, so it was probably just a loose crankarm, which in retrospect I probably could have dealt with, but it was good to have the second opinion.

The last two nights, however, have been a borderline disaster. My self-install of the brake lines + the adjustments due to the cut cable have resulted in the brake lines being a little too short for my liking, to the point that I am afraid they might snap during a hard fall. Thinking that I had mastered the art of maintaining Magura brakes, I didn’t think fixing this would be an issue. Cut some cables, install the pin and olive, fasten the lines, bleed the brakes. Done. I was wrong. I got the lines cut and installed well (maybe a bit too long actually), but now:

  • I can’t get the rear brake bled properly – it works but it feels too loose. I spent a few hours last night re-bleeding and a couple tonight, and no luck.
  • The brake pad screw on the front brake won’t come out. I think it’s cross-threaded.
  • I might have contaminated the rear brake pads from constantly re-bleeding.

Unrelated, but on the “can’t fix myself” todo list for the bike shop:

  • Fix the busted travel adjust cable that was also snapped in the Panorama fall.
  • Fix the rear derailleur hanger
  • Cut my new seatpost down to size (another Pano injury)
  • Fix a missing piece on the front brake lever

Bleh.

At least I am learning a lot, despite the setbacks. I’ll be curious how much the next bike shop trip will set me back though.

Fitz Happens, Myspace, and Cease and Desist Orders

About a month ago, I wrote this piece about the “Fitz Happens” bus advertisements that have been seen throughout Seattle. Since many call me “Fitz”, a lot of people asked me if I knew what was up.

I wrote:

The rumor is true – I am responsible for them. I have a large personal self-promotion budget, and I have determined the most effective way to raise awareness of myself and to inform Seattle of my existence is by purchasing advertising space on the sides of bus.

Stories that the real “Fitz Happens” is a local Seattle DJ for KKWF the Wolf and is really behind the promotion are completely false and slanderous.

Apparently I caught the angry pen of Laura from the radio station. She wrote, to my Myspace account, of all places:

Hi, Joe. Really? You’re responsible for FitzHappens? Interesting because I work with Fitz from Fitz in the Morning and I can assure you that this is really about him, not you. Please keep your delusions in check and stick to reality. We appreciate your immediate compliance. Thanks, Joe! Laura Manager Fitz Projects, LLC

Really?

You have got to be kidding me. You might want to look up “sarcasm”, Laura, and perhaps chill out, just a bit. Of course I am not behind the promotion. I even linked to your website so that almost anyone could figure out the real deal.

I hope this clarifies something that I didn’t think needed clarification.

It did give me an excuse to log in to Myspace for the first time in a year though. Sweet.

Fitz Happens

I have received a lot of emails and text messages asking about a large “Fitz Happens” advertisement seen on local Seattle buses. I wanted to set the record straight.

3682676681_d8a474be6f

The rumor is true – I am responsible for them. I have a large personal self-promotion budget, and I have determined the most effective way to raise awareness of myself and to inform Seattle of my existence is by purchasing advertising space on the sides of bus.

Stories that the real “Fitz Happens” is a local Seattle DJ for KKWF the Wolf and is really behind the promotion are completely false and slanderous.

Update

If you believed, the above, please read this.

Derek & Alex’s Wedding

A few weeks ago I had a quick weekend trip to Greenwich, Connecticut for the wedding of my friends Derek and Alex. It was a lavish affair and it was fun to see a bunch of old friends who I had not seen for a while.

The trip started Friday with an early morning flight to JFK. The flight was pleasantly non-eventful, and I used the opportunity to doze a bit, catch up on Wait Wait Don’t Tell Me, watch some Cook’s Illustrated podcasts, do a little work, and read Atul Gawande’s Better (more on that in a later post). You know you listen to too much NPR when you get a Sylvia Poggioli joke on WWDTM. Sometimes it’s good to be disconnected – I might need to try that at home more. I finished the flight with a list of ten new CI recipes I want to attempt soon.

I arrived at Kennedy airport around mid-afternoon. It took a while to get bags, shuttle to the rental car area and then to the off-airport location for Enterprise, and rent the car, but despite every effort on the part of Enterprise to delay me further and upsell me on insurance I already had, by around 5 pm I was finally on my way. Sometimes the cheapest option is that way for a reason.

Traffic was a bit of a mess coming out of the city. NYC + rush hour + summer weekend traffic made for a bit of congestion. I got my “east coast” driving hat out and made it to Greenwich in about 90 minutes, which wasn’t too bad, all things considered. There was a torrential thunderstorm for a good part of the drive, which made the trip even more entertaining. Seattle, sadly, doesn’t get good thunderstorms often.

At the hotel, I was greeted by my friend Greg. I learned that the buses for the rehearsal dinner cruise on Long Island Sound were soon departing, so I checked in, and, pressed for time, handed my keys to the valet and my bags to the bellhop, and sent them off with $10 each to take care of things. I can’t be bothered with these, where’s the party. I felt important.

I hopped on the bus, chatted with friends, and soon we were on our way. With the earlier thunderstorms, I wasn’t sure what the prospects for the dinner cruise were, but the skies were starting to clear when we left, so I was hoping for the best.

It was a great time. The boat stayed in harbor for a while before we departed for a sunset tour of the sound. I was blown away by the oceanfront mansions, which were quite unbelievable. I unfortunately didn’t think to grab my camera in the pre-boat hotel scramble, and my phone was dead from airplane + Google maps overuse, Oh well.

In addition, the food and drinks were great. It was a clambake on the water, with lots of shrimp, oysters, clams, lobster, corn on the cob, and potatoes. Food, drinks, and good friends, especially ones I hadn’t seen together in a while, are always a winner for me.

The festivities continued back at the hotel. We claimed space at the hotel bar, which was actually pretty nice, but Greenwich priced – $11.25 (pre-tip) for a watery single gin and tonic. Someone snuck in some beers and liquor (including a 1964 bottle of Crown Royale), but we weren’t too smooth in our clandestine ways, and the hotel staff frowned upon bringing outside liquor into the bar. Understandable, and they were surprisingly cool about it.

So we brought the party upstairs, and I headed back to my room around 3:30. One advantage of living on the west coast is late night stamina on the east coast.

One disadvantage of living on the west coast is waking up in the morning on the east coast (especially after utilizing aforementioned advantage). I rolled out of the hotel around 12:30 which was after most people had headed out. So I had the afternoon to myself. I explored Old Greenwich, got some coffee and lunch, checked out some shops, and then made my way back to the hotel to get ready.

The dress for the wedding was “Creative Formal” – I initially was going to emphasize the Creative and not get a tuxedo, but at the last minute, decided to rent one, and found one that I thought fit the bill – an ivory “Great Gasby-esque” number that the kind woman at Tux Shop in Northgate convinced me to go for. I think it worked well. I don’t think I’ve worn a tuxedo since I was about six years old when I think I was the ring bearer in my aunt’s wedding, so I figured it was about time to wear one again.

Derek & Alex Wedding

We waited a very long time for the buses to shuttle us to Alex’s house, and in fact arrived about half an hour after the ceremony was supposed to start. Fortunately, they held off until we arrived, perhaps because one of the ceremony readers was in our attendance. Greg and Aimee read perhaps the most memorable poem I can recall hearing at a wedding.

Derek & Alex Wedding

The reception itself was fantastic. A beautiful house, a great band, wonderful toasts (kudos to Derek’s brother for using the words “sylvan” and “perspicacious” in his best man speech), a very posh tent and dance floor, and unreal food and drinks. Hors D’Ouevres included tacos, frozen margaritas, and mini burgers, and it only got better as the night went on.

Derek & Alex Wedding

Perhaps the most appreciated touch was that the mini-burgers and pizza continued to be served at the post-reception after party. The after-party was notable in that it included some pick-up water polo with Derek and John Jack (aka Bill Tankford). We wrapped up around 3 and took the last bus back to the hotel.

Derek & Alex Wedding

The next day, still fighting Pacific time, I checked out and made my way to the farewell brunch (bacon!). After saying goodbye, with a few hours to kill, decided to go check out Greenwich Point, which is a beach on the south end of Greenwich on a fairly picturesque location. Considering the $25 entrance fee, I was a little underwhelmed, but had a relaxing afternoon and shot some pictures.

Greenwich Point

Greenwich Point

After hanging on the beach, I headed back to NYC to catch my flight. Fortunately I left when I did, because the combination of the Sunday traffic and American Airlines convoluted checkin process meant I had less time than I thought. But I made it on alright, finished reading “Better”, and caught up on sleep.

Derek & Alex Wedding

Congratulations Derek and Alex – thanks for a great weekend!

Derek & Alex Wedding

More pictures on Smugmug:

jf’s blog