It’s The Future!

Some days, you just have to shake your head.

I just got off the phone with a colocation facility in Houston, Texas, trying to figure out why our servers are dropping like flies today. Four down so far, and signs of trouble on a few others, almost certainly foul play – I’m trying to keep in mind the old sysadmin truism ‘Never attribute to malice that which can be adequately explained by stupidity’. Still, my lip curls a little at the thought of some fourteen-year-old kid in his mom’s basement in Iowa sending his massive botnet up against our servers in response to some unrealized slight. Or maybe he’s earning money somehow, or even just the admiration of his peers. Or maybe he’s just being a dick. *shrug*.

I’d say “he or she”, but I have yet to meet a girl with both the skills to launch a DDoS attack and the sociopathic tendencies to actually do it. I’m sure she’s out there somewhere.

Just to juxtapose, by “phone” I actually mean “Skype from my tiny laptop, sitting in the sun on the roof of my sailboat”. Seriously, had you told me five years ago that this would all be possible, I don’t think I would have laughed outright, but I would probably have smirked. All of these little incremental upgrades in technology and lifestyle have slowly and quietly added up to the WORLD OF TEH FUTUR3!!@1 that we were promised as kids. It’s finally here!

…now where’s my rocket car?

Anyhow. I was actually only using Skype because my cellphone batteries are currently dead, and I left the charger in New Brunswick the last time I was there. Since it’s a basic no-frills Motorola flip I can charge it up with a regular mini-USB cable I had lying around, but unfortunately my MacBook Air only has a single USB port. I get to choose – would I rather have my cellphone charged up, or would I rather be on the internet? Internet, I choose you.

Also in the realm of electricity, my diesel engine currently isn’t starting. I turn the battery selector to the starter battery bank, I pull the power toggle, flip on the lights and test the alarm to verify that the panel is receiving power, hit the starter button aaaaaand… nothing. Nada. Not a grumble, not a click of the solenoid, nothing at all. I’m hoping it’s just a wiring problem, as the wiring is a real mess and I may well have accidentally disconnected a wire when I was cleaning up the other day, but frankly I can’t tell.

To add to that problem, I have no water. I’m drinking (and cooking, and cleaning) from a 10l jug currently, because my water tanks are empty. Filling the tanks requires motoring up to the nearest hose, and, as I said, my engine isn’t starting. *sigh*.

Man. I think it’s time to convert this blog over to WordPress. I’ve been using Drupal for the past year, and in a solid year I have yet to find a reasonable way to upload photos. For instance, I’m sitting less than four feet from the exposed wiring rats nest that is my starter panel, and my laptop has a camera – but for me to take a photo of that and post it to the blog involves using Skitch to take and resize the photo, uploading the photo to the webserver, and referencing the URL using full HTML tags. I can do that, but I don’t wantto. With WordPress, I can do all that in one step, and I think that’ll make a huge difference for me.

Anyhow – an email just came in requesting an RSVP for the Open Web Vancouver speakers’ pre-conference social next Wednesday night – and I’m realizing that I’m just over a week away from speaking to 400-odd geeks about work that I’m currently procrastinating against. Soooo… I’m going to cut this abruptly and get back to work.

I’m Cold, Damp, And There’s Blood On My Laptop

Ok, so just file today in the ‘down’ pile.

Do you know what I mean by ‘amplitude’? I can’t remember if I’ve written about it here before or not. I like to believe that the universe needs a balance, and so for every bad thing there is an equal and opposite good thing. I like to think of life as kind of a sinewave of bad and good.

Well, ever since I’ve jumped headlong into this adventure, the amplitude of that sinewave has gone through the roof. Good days are awesome, bad days are terrible. There’s really no in-between, it seems. Actually, I guess I can’treally complain; I know there are folks out there having a lot worse days than I am. I also know that the bad days are important, because without a reference of what a bad day is like, how can you really know that you’re having a good day?

Anyway. I’ve been watching the weather all week, expecting “light rain” today before the sun returns. Since I’ve been making repairs to the boat, I had all the windows out and a couple of big holes in the bow, where I’ve been excising rotted wood and replacing it with fresh new stuff. To prepare for the rain I deployed tarps and garbage bags, duct-taped the windows back into place and made fast anything that looked like it wasn’t held down well. I looked over the repairs of the week with satisfaction, knowing that my fiberglass and epoxy work was solid and would withstand a little moisture.

This morning I was awoken at 6:30am by a phonecall from the Evil Masters, to the sound of pouring rain beating on the roof of the cabin. I fielded the call, feeling smugly warm and dry in my bed, content in the knowledge that my work was sound. Apparently there were massive database problems that needed dealing with immediately, so I got up to go fetch my laptop and start working on it. I swung out of my berth onto the floor… and my feet wentsquish on the soaking wet carpet. D’oh!

Turns out my hatch repair, while definitely watertight, wasn’t sloped correctly. Water pooled in the repair until it overflowed the lip of the hatch, and all the overflow went right into the forward cabin.

Actually, the forward cabin was fine by comparison to the aft cabin, which had the same problem but about ten times worse. Water had been flowing into the cabin by the liter, running down the guitar case inconveniently placed below the leak, and spattering onto the floor and a tupperware container. Better still, the tupperware container was the one that contained all of my foul-weather gear, hats, gloves, anything that would keep you warm out in the rain. Of course the lid wasn’t on.

The carpets were soaked, the rain gear was soaked and another leak was exposed in the ceiling – I have no idea where this one came from, it’s a new leak. There’s another small leak from my repair to the corner of the cabin roof, and yet another in the side roof. At least my traveler repair – formerly the worse leak in the cabin – seems to be watertight!

So I went to the washroom to get started for the day and found that my tarps had somehow blown off in the night. The gaping hole in the ceiling was wide open to the elements, and rain was pouring in there as well. Oh, good.

I should probably mention at this point that I didn’t get a chance to run the generator last night, so the house batteries were too low to run the inverter which powers my laptop. Then in a fit of stupidity, I used my laptop in bed to watch cartoons before crashing. Now, in the pouring rain, I had a work emergency to deal with and 8% battery on my laptop – and I can’t run the generator without setting up some kind of elaborate tarp system to keep the rain off!

At this point, I gave up. There’s a coffee shop just up the hill with good coffee, excellent food and free wireless, so I went for it. As I returned to my bed to get the laptop case, however, I discovered that the window in my bed had actually leaked – a lot – into the bedside storage locker. Ohhhhhh, good. The laptop sleeve was sitting in a centimeter or so of water, as was my GPS and my Nintendo DS. The GPS is weather proof, so it should be fine, but the DS might be toast – I guess we’ll see. It was only sheer, dumb luck that I didn’t toss my laptop in there last night!

So I pulled on wet raingear, threw my bike in the dinghy, bailed a few dozen liters of water out and rowed for shore. Life got a lot better with a large, four-shot americano. I got a bunch of work done, figured out the database problems, and had some food. Eventually the sun came out, offering a brief respite from the terrible mood of the day, and some hope for the remainder.

I left the coffee shop at around 12:30pm, heading back to the boat. As I rounded a corner, I hit a patch of gravel and went down, banging my shin and thigh and scraping up my hand in the process. It figures, the one time I hadn’t bothered to take my cycling gloves out of my bag because it was such a short ride home, I fall on my hands! My bike is ok, and I’ve only got a few small scuffs and bruises, but there’s still a couple of bits of gravel in my left palm. I should probably put a bandaid on; I’m leaving bloody palm prints on my laptop.

I guess it could all be a lot worse. Like, the new unexplained leak in the cabin roof, the drips missed my mandolin by a few centimeters – it would have made the day a lot more unpleasant to have to pour water out of the F-holes! At some point today I’ll have to break out the shop vac and vacuum the rainwater out of the bilges, and in the next few days I’ll need to tackle the newly-obvious leaky parts of the roof. The work never stops.

Anyhow. Big work deadline tomorrow; first site goes live in the cloud! Back to the grind…

Monday, Again

Ok, five days since the last post. Wheeeeere to start.

I survived the rains of last week without incident. Actually, the rains are a really good thing, as they help by pointing out any spots where the cabin still leaks. I *think* I’ve got them all now, and it’s almost time to start painting! I have to admit, the boat is looking better and better and better – I mean it goddamned well better be, given the amount of hours and money I’ve been pouring into her. Still, I needed a good project and every hour that I work on her she becomes more “mine”.

I spent the whole weekend working on her, again – third weekend in a row of two solid eight-to-fourteen-hour days fixing, upgrading, grinding, fiberglassing, sanding, sanding and sanding. I’m starting to run out of things to fix which is a really, really good sign.

Thursday was a bit odd though – I basically wore out my Mastercraft random-orbit sander. The bearings just “went”… I went back to Canadian Tire to see what they could do about it, and they said not much without a receipt or at least a transaction number. Of course, I can’t remember when I actually bought the sander, I think it was around two months ago. Two lessons learned: keep your receipts, and don’t buy the cheapest power tool just because it’s on sale. A hundred dollars later, I have a new DeWalt sander.

When I returned from the store with the new sander, I arrived at my rowboat and looked out to see a large, shiny, expensive fishing boat tied to mine! Obviously I jumped right in my boat and rowed out as fast as I could to find out what was going on. Apparently the guy lost one of his two transmissions, and wasn’t able to get his boat out of ‘forward’ to steer back into his marina properly, so he quickly dropped anchor and called his mechanic – but apparently where he dropped anchor wasn’t the best place, so he drifted right over into my boat. He put out his fenders so there wasn’t any damage, but he was still bumped right up against me. He explained the situation

“So,” he said, “I thought I’d just tie off to you for a while until my mechanic got here…”

Which he had – his docklines were now tied to my boat, and my docklines had been untied and lay on my deck. Now, I’m a pretty friendly and gracious guy, so I didn’t lay into him – still, I’m pretty sure that boarding someone else’s vessel without permission is considered a hostile act under maritime law, so at the very least it was very poor manners. I glowered at him some and hurried him along until he realized that he was utterly unwelcome to stay tied to my boat for any longer than absolutely necessary. He made some noises early on about leaving his boat there overnight, but I think my derisive snort got my point across.

To top it off, my anchoring permit, with my cellphone number written on it in sharpie with a message saying “IN CASE OF EMERGENCY, PLEASE CALL:” wasright there, posted in the nearest window. If running into someone’s boat and having to tie off to it isn’t an emergency, I’m not sure what is.

Anyhow. Within an hour his mechanic got there, and they got the boat untied and moved along – I’m not sure if he was fixed or if the mechanic was just a better pilot, but whatever. Barely a thank you, and no hint of an apology. I don’t know whether he was just a newbie boater, or didn’t consider live-aboard squatters to have the same rights as people from an expensive marina, or if he was just utterly oblivious. Still, I have half a mind to borrow an RV from someone and go park on his lawn for a couple of hours with ‘engine trouble’.

The weekend was mostly calm, with twenty-odd hours of hard work in the sun putting a new layer on my tan. I got a tonne of work done on the deck, spent way too much money at the marine store again, and finally installed my LED lighting system. I had gone to Ikea mid-week last week to find the fixtures, and managed to find the perfect fixtures – these ones to be precise, in white plastic. They have a fixture-mounted switch, they accept the LED bulbs perfectly, they have a long cable, and they’re mostly plastic so they’re ideal for the marine environment. I am incredibly pleased with these lights! I had purchased five, with the intention of putting two in the salon, one over the navigation table, one in the bathroom and one over my bed – but instead I installed all five in the salon and will have to purchase more. WOW though – I do not at all regret the purchase, nor the decision. In one step, the salon at night has changed from “camping” to “home”. The light is warm and pleasant, and the difference in the general “feel” of the place is staggering. I will be purchasing another five of these lights, at least. The best part is that even with ten lights installed, I will still only be drawing a total of 30w of electricity to light the entire boat – just about half the draw of a *single* regular lightbulb!

Today, it’s back to the grind. We’ve committed to having one of the gossip sites live and launched in the Amazon cloud by Wednesday. Just in time, the weather has turned sour, and later today and tonight it promises to rain. I’ve still got a few holes in the front of the boat, so I’ll need to cover those with garbage bags or something for Tuesday, but then Wednesday and on through the weekend is supposed to be bright and sunny, so I should be able to get that job finished this coming weekend.

Just in time, too – coming up, I have a speaking gig on cloud computing at the Open Web Vancouver conference, an open offer of a live-pa set in Victoria, a possible second live-pa set at a music festival out on Texada Island (plus I can sail there!), and a third offer of an acoustic live set over on Vancouver Island. Furthermore I have a lovely young lady coming up from Michigan for a ten-day epic sailing adventure in June, a hacker conference in Washington the weekend after that, and I am putting together a live electronic music show on the only weekend in July without a three-day outdoor festival to go to. It never stops!

I have to pick and choose between the musical bookings, because I frankly don’t know how much free time I’ll have to practice up between then and now – but it’s all very flattering nonetheless. 🙂 Public appearances come with a thrill of adventure, but also with a dark sense of foreboding which drives me to work much harder on my music and performance so that I don’t suck. It’s one thing to play badly in your living room, it’s another thing entirely to play badly in front of hundreds of people!

Fake Monday

Today is Tuesday, but it’s technically the start of the week since yesterday was Victoria Day, a statutory holiday here in Canada.

The holiday long weekend was gorgeous. I technically took Friday off of work also, so it was a four-day weekend full of sunny boat repair work. I got so much done! Where to begin…

Thursday night I went out to the Anza Club to catch a show – Tarran the Tailor was playing upstairs. Excellent time, great music as usual – afterwards I biked back to my rowboat, but as I approached I noticed a couple of bicycles abandoned at the top of the dock ramp. As I arrived, I found three 20-something folks sitting in my boat, drinking bourbon – they mistook me for a fellow Midnight Mass rider and invited me to join them. As I explained that I was actually there to kick them out of my boat and go home, they were shocked and extremely apologetic, but really, it’s not like they were hurting anything. The boat is always locked up with a padlock, and there’s nothing left in it to steal. I mean, if they’d thrown my oars in the water or tried to damage the boat in some way, it would have gone much more sourly – but as it was, they were nice enough folks, geeks even. We exchanged names and URLs, so Adam, Andrew and Rebecca, if you’re reading this, feel free to drop me a line. 🙂

Friday and Saturday I got up at 8am and worked hard on the boat – I finished a bunch of epoxy work, got hinges onto all the storage hatches finally, and made progress in getting the hinges and hasps onto the cabin hatches – that project still needs more work, of course, but the end is finally in sight. I spent a bunch of time in the engine compartment working to get the kill switch in place, and finally succeeded – but when I went to test it, it didn’t work, and in fact I’ve apparently damaged the cable to the point that I need to go and find a new one. Boo – at least now, after two visits to the marine store and one visit to Canadian Tire, I know that the cable is called a ‘utility cable’ and that I should be able to get a new one from LloydCo Auto Parts.

I also removed the traveler on Friday – ie the seven-foot-long pulleys-on-rails thing that the boom attaches to – so that I could fix a few leaks in the bedding hardware. The leaks were directly over the stove, which meant that every time it rained I’d have to use steel wool on the cast iron stove grill again to get rid of the big patch of resulting rust. The leak had, over time, caused some of the roof to rot; this led to the first cutting of a large hole in the boat roof, and the bulk of the 1/4″ of sawdust that covers everything in the galley at the moment. The hole is patched, the surface is fiberglassed, sanded, faired perfectly with epoxy and fairing compound, and the traveler is now ready to be rebedded – perhaps this afternoon, if the weather clears up for a while.

Sunday I had a few guests over helping me work on the boat – it seems unfortunately that adding more people to a project doesn’t necessarily make the project go any quicker. Still, it was nice to have the company, and a few projects got nailed down properly – though when I removed the trampolines to fix a few small cosmetic problems on the center bow of the boat, we discovered a few patches of rot that quickly grew into a huge seven-foot hole in the boat. The rot wasn’t structural, which was a relief, but all that wood still needed to be replaced. I got a bunch of the wood in, but then Sunday was mostly rainy, so I had to cover the work site with tarps and pray for the best, spending the day curled up, drinking rum and watching movies with a friend. Sunday night was more rain and a lot more wind, which picked up the tarps and blew a cold wind through the boat, though as far as I can tell not much rain got in. It’s supposed to be rainy today and tomorrow, but then it’s supposed to be calm and sunny for another five or so days in a row, so this coming weekend I should be able to completely nail down the problems in the bow, and be done with it for the foreseeable future.

Today, however, I’m back to the day job. I’m working to figure out why the bottleneck in our EC2 migration appears to be network traffic – the frontend webservers seem to handle my load testing without a hiccup, but the database server spikes to a load of over 50, even though it’s an “extra large” EC2 instance. It doesn’t appear to be file I/O wait, nor a lack of CPU time, so I’m stuck. I’m not sure what I can do about that – I’ve always been under the assumption that network bandwidth between EC2 instances would be incredible, seeing as they’re virtual instances on more or less the same physical hardware. This week I have to solve the problem, but I’m not sure how just yet.

There’s still a few holes in the boat. I still don’t have clean water, though that’s just a matter of time – a reasonable amount of time actually, because filling the tanks takes a good fifteen minutes, then the bleach should be left in for an hour or so, then fifteen minutes to empty the tanks, then fifteen minutes to refill, fifteen minutes to empty, fifteen minutes to refill, fifteen minutes to empty, and finally a final refill. The traveler is still sitting a few feet away from where it should be mounted, and I still have more research to do on epoxy compounds before I can put the hatch doors properly back on the boat. The work is tiring, but very fulfilling, and a few long days of working in the sun have topped up my stores of vitamin D and left me with a positive outlook and a fantastic tan.