Tales of epic sailing failure... on the West Coast

This tale has an index; a preface, which presents two points; and a main body. This paragraph serves as the tale's index, the next will be the preface and then all remaining content will be the tale itself.

To preface my tale, I need to put forth two points. Firstly, I would like to make clear that my favorite branch of the United States Armed Forces is the United States Coast Guard. Secondly, I have no sailed Synchronicity in both the waters of the Atlantic and Pacific Oceans.

So, now, let's get to the meat of the story. I am giving away my Hobie 16, Synchronicity, before I move back to Boston (have I mentioned that I'm moving back to Boston?). As is my way, I would far prefer to gift Synchronicity to friends or friends of friends than to try to sell her for some hundreds or a thousand dollars to someone random through Craigslist. As such, Synchronicity remains in my social circles and goes to Denise H. and Ted S.

If you're going to give away a catamaran to folks who haven't rigged or sailed a catamaran before, clearly you should go out sailing with them; this is, of course, more clear if you haven't managed to sail your own catamaran since bringing it out to the West Coast. So, Denise, Ted, and I grabbed Synchronicity, grabbed her rigging, and headed over to the Treasure Island Sailing Center, which is a wonderful small boating facility with a convenient ramp if your boat is light enough to carry by hand. For a nominal fee, we were able to park car and trailer, as well as launch boat.

With about six (6) knots of wind and reasonably calm waters, we were able to pick up a fair bit of speed, even though we were intentionally spilling quite a bit of wind (it's been a while, no reason for us to go overboard (literally or so to speak)). All in all, quite a wonderful sail.

At some point, when we were half a mile or so out from Treasure Island (a few tacks in), there was a funny sound; the sound was as one piece of metal clanking against another. I'd say that we were moving at a decent 8-12 knots (the rudders were singing), and I thought it was just one of our water bottles banging against the trampoline frame. A few moments later, there was another clank and I asked if anyone else heard it. Others had heard it but, without any particular idea of what it was, we didn't have much reason to pay attention. A few moments later there was a loud snapping noise, the port shroud snapped, and the mast crashed into the Bay; the event took no more than a fraction of a second, all told.

Luckily, nobody was caught by the freed cable or the plummeting mast. Unluckily, our mast, sails, and rigging were no longer in our boat. After the "oh shit" moment had passed, it was time for save the boat and don't drift into that barge mode. Did I mention that we were right in the midst of a number of large stationary barges that are moored in the Bay just south of Treasure Island? Well, we were.

Taking all the rigging down from on the boat proved hopeless, so I hopped in the water and started working from there (quick aside, wetsuits are amazing). With a fair bit of wrangling and removing all the battens from the mainsail (another aside, small knives are great when you can't untie ropes and need them free in a hurry), we managed to haul everything back onto the boat.

Having brought paddles in case anything got hairy, we started paddling for Treasure Island. Paddling, with the currents and, more so, the wind, got us worse than nowhere. Despite our efforts, we were traveling parallel to Treasure Island and mostly in the direction of the Bay Bridge.

Eventually, we managed to get the attention of a passing tugboat (really and truly an absolutely massive tugboat). The tug offered to call the Coast Guard and drag us to a nearby buoy, which we graciously accepted. Tossing us a rope as thick as my forearm, we tied up to the tug and they slowly started towing us (the delicacy exercised by the captain was a work of art).

Eventually the Coast Guard showed up (they had another capsize to deal with first). After some discussions between us and the Coast Guard boat, as well as the Coast Guard boat and their base, they offered to tow us back to Treasure Island (quite generous in the face of the general Coast Guard policy of helping individuals in danger but avoiding any direct involvement in salvage operations). We graciously accepted the offer, thanked the tugboat and were slowly dragged back to Treasure Island.

Returning to shore, and hauling the boat out, we took stock of our situation. None of us were particularly injured (torn cuticles and a few fiberglass splinters from the battens don't count for much), the boat wasn't in terrible shape (snapped shroud, cut ropes to hold the battens), and we even sailed for a while. All in all, for a pretty epic sailing fail, everything turned out pretty well in the end.

Fortune Cookie: 2011-04-03

Keep in mind your most
cherished dreams
of the future.
LEARN CHINESE - Mango
芒(máng) 果(guǒ)
Lucky Numbers 26, 36, 46, 17, 48, 6

Commentary: As one that is about to move from the West to the East Coast specifically to pursue some of his cherished dreams for the future, I am acutely aware of the need to keep the foremost amongst them squarely in my mind.

Fast, recursion depth safe, list flattening for Python

I've been using Python at work a lot recently (yeah, I know, took me long enough) and finding it to be fantastically useful for all sorts of things.

Anyway, I found myself needing a mechanism for flattening nested container objects and a quick google search led me to a Right Foot In article on various flatten algorithms. Seeing as I needed something to work on containers that aren't tuples or lists and I'm not very good at leaving well enough alone, I went about trying to come up with my own method.

Here's what I've got so far:

def flatten_to_list(something):
    if not hasattr(something, '__iter__'):
        return [something]
    retlist = list(something)
    i = 0
    while i < len(retlist):
        while hasattr(retlist[i], '__iter__'):
            if not retlist[i]:
                retlist.pop(i)
                i -= 1
            else:
                retlist.insert(i, retlist[i].pop(0))
        i += 1
    return retlist

In at least one test case, my method appears to be faster than the best method in the Right Foot In article. I'm still wrestling with namespace issues relating to the use of timeit but I'll try to get some actual speed numbers and test cases up later.

UPDATE: I am an idiot. My code was faster because my test case exploited a degenerate case for the algorithm; the code below, which is much closer to the original at Right Foot In, is faster.

def flatten_to_list(something):
    if not hasattr(something, '__iter__'):
        return [something]
    retlist = list(something)
    i = 0
    while i < len(retlist):
        while hasattr(retlist[i], '__iter__'):
            if not retlist[i]:
                retlist.pop(i)
                i -= 1
            else:
                retlist[i:i + 1] = retlist[i]
        i += 1
    return retlist

Someone missed my connection

Here's a first for me: someone posted a "missed connection" about me on craigslist. One of my roommates randomly found it.

Bloodhound - w4m - 23 (SOMA / south beach)

I met you Saturday night at Bloodhound. We pet the awesome Saint Bernard and talked about mobile media. You're pretty cool, and I'm sorry we didn't get to talk more. Thanks for making my Saturday night :)

Recollections on a Vegas Christmas

It's been a bit over a month since my brother and I drove to Vegas to spend Christmas weekend (plus a few days) with the rest of our family (who flew out). I was being lazy but it seems that I'm getting called out so here are my major recollections.

The water : The water in Vegas tastes terrible and is no good for rinsing. I don't think that I've dealt with worse tap water in the US before. I was quite happy to have refilled and brought my 5 gallon, road-trip, water jug before leaving San Francisco.

The drinking : In Vegas, there is booze everywhere and you can drink it anywhere on The Strip. Being able to wander from place to place while carrying drinks is quite convenient; I really enjoy partaking of public activities while carrying a drink or, to put it better, it's nice to have drinks without having to be cooped up in a bar. Then, of course, on top of the ability to wander with booze is how very easy it is to get an awful lot of the stuff: free drinks while gambling, drink specials all over the place, cheap convenience stores just across the street.

The hangover : Vegas leads to an almost perpetual state of hangover. I wasn't drinking enough to get a particularly bad hangover but between the drinking, the terrible water, and staying up late, I was definitely a below 100% most of the trip. P.S. Worth it.

The poker : I should never play poker with people that aren't my friends and I should never play poker where anyone expects me to drop more than $20-$40. I lost about $100 in under an hour (maybe half that) the first night we arrived. Fuck everything about Vegas poker.

The craps : Let me tell you about Christmas Day (parts of it at least). Christmas stuff happened; Dave and I hung out with the rest of the family; and we all went out for dinner at Pampas Churrascaria, which was phenomenally good. After dinner, we all wandered The Strip for a bit, lost a little money on a few things and then Dave and I split off from the rest of our family to continue adventuring on our own.

I had been in contact with my friend Gautham, who happened to concurrently be in Vegas, and we made plans to meet up later to play craps. While Dave and I were waiting for Gautham to be ready to hang out, we had a few more drinks, checked out the Vegas architecture (Luxor is awesome; Aria is gorgeous; MGM is strangely green), and generally wandered around. At some point, we grabbed ourselves a couple of Four Lokos (so terrible but so awesome) from a convenience store and, shortly thereafter, managed to properly get a hold of Gautham.

We met up with Gautham at the Aria and promptly decided that $25 was too high a minimum for craps. Keep in mind that I had never played craps before in my life. So we wandered over to the Bellagio to avail ourselves of their $10 minimum tables. Understanding the basic principle of craps (roll some dice, sevens are good opening rolls but bad otherwise) I mostly took my guidance from Gautham at first and started availing myself of free scotch & sodas. As I became slightly more inebriated and started to get the hang of the game, things became increasingly more entertaining. We had a pretty good table with some pretty fun folks around but, most importantly, we had a really good winning streak. At peak, I was probably up about $300-$400 and when we eventually cashed out, I was up about $200 and a handful of drinks.

The net : Between my poker losses, slot machine losses (shiny things are hard to resist), drink purchases, food purchases, roulette winnings, roulette losses, and craps winnings, I ended up leaving Vegas slightly (<$50) richer than when I arrived.

The guns : On our last full day in Vegas, Dave, Joe, our dad, and I went out to shoot some guns. At first we went to The Gun Store, which is advertised all over the place, but the line was atrocious (well over an hour, possibly two) so I fired up Yelp and found out about Las Vegas Gun Range & Firearm Center. We bailed on The Gun Store and found that the line at Las Vegas Fun Range & Firearm Center was a few minutes long.

I fired off a few clips from a 9mm pistol (don't recall the make or model) and a couple clips from an H&K MP5. Man oh man, let me tell you, the MP5 is a nice gun. Firing the MP5 fully automatic was kind of neat but being zombie survival minded, I rather preferred switching it to semi-automatic and going for accuracy.

The company : Vegas was awesome. Hanging out with Dave was awesome. Hanging out with Gautham was awesome. Having dinners with my family was nice. Going to the Valley of Fire with my family was neat. Hanging out with my family on the strip was not particularly awesome.

I'm pretty sure that, going forward, I am going to view Vegas as a place to go with friends but not family. I would say, if you're going to Vegas with family, plan to do some stuff with them and plan to ditch them the rest of the time.

Return : I'm probably going back with a bunch of Fort Awesome folks in April and I'm really looking forward to the trip.

I did NOT coin the term wiki-hole

Before making any claims to having coined a term, it is generally a good idea to check that no one else has used the term before. Having just spent three hours and change reading through articles on the Warhammer 40K Wiki (what can I say, I like super far future science fiction), I couldn't help but feel like I'd been stuck in a black hole of trivial knowledge. This wiki-triggered and wiki-fed hole in time was not a unique experience for me; I have fallen into these before on other wikis in the past.

Having freed myself, the term "wiki hole" came to mind as a perfect term to describe. Not wanting to make any (easily refutable) ridiculous claims, I performed a couple quick google searches (1 2) only to find that the term already exists. I can't say that I'm particularly surprised that someone else has already coined the term "wiki-hole"--it is phenomenally intuitive--but I am glad that my linguistic instincts were reasonable.

Will O' The Wisp

Continuing my earlier work in the realm of mixology, I would like to present my second cocktail invention. The invention of this cocktail is the result of playing around with gin, Chartreuse, St. Germain, and various other liqueurs in an attempt to make something tasty. This cocktail earns its name, Will O' The Wisp, from its faint, ghostly, green color.

Ingredients

  • 3/4 oz Green Chartreuse
  • 3/4 oz St. Germain
  • 3/4 oz White Vermouth
  • 1 dash Lavender Bitters
  • 3 oz Dry Gin
  • 1/4 oz Herbsaint or Absinth

Recipe

  1. Pour the Chartreuse, St. Germain, Vermouth, Bitters, and Gin into a cocktail shaker
  2. Pour the Herbsaint/Absinth into a chilled cocktail glass
  3. Swirl the cocktail glass, coating the sides, and pouring off any excess Herbsaint/Absinth
  4. Add ice to the cocktail shaker and shake
  5. Pour shaken cocktail into the prepared glass

Notes

The Herbsaint/Absinth can be skipped, though I don't recommend it. The Lavender Bitters are also optional but very highly recommended. I would recommend stirring this cocktail (instead of shaking) as the resulting beverage has a very different appearance.