Teased by Dolphins

The day before my latest kayak misadventure, I had a much more enjoyable kayaking experience.

A school of dolphins were feeding not too far offshore, so I decided to kayak out to see them. As I got close they suddenly dove under, then a second later reappeared about 100 yards away.

I paddled to where they moved to and once again they disappeared, this time resurfacing where I had first seen them.

So I paddled back to their original spot, only to see them resurface 100 yards away again.

I did this a few more times before it occurred to me they might be toying with me – that making me paddle back-and-forth was how they played a game of “stupid human.”

Dolphins have always seemed playful to me, but this was the first time I thought about them as pranksters. I’ll see them that way from now on, though.

Dumbass in a Sea Kayak (Again)

You’d think my previous misadventure with a sea kayak would’ve taught me to stay away from them, but I guess I’m a slow learner because last week I once again did something stupid in one.

It was my last morning in Cape san Blas, Florida, where I was enjoying spring break with my family. I wanted some activity before facing the long drive home, so I rented a kayak to take out on the ocean.

A thick fog had rolled in, but it soon cleared so I headed to the beach and paddled straight out a fair ways. After about 15 minutes I paused to look back towards the beach – just in time to see the fog rolling back in. Within seconds the beach disappeared in the fog and my visibility dropped to near-zero.

I didn’t have a compass or GPS with me (yes, that’s the dumbass part), but I figured I could just head back towards where I saw the beach before the fog came in.  A half-hour later I was still paddling, no beach in sight. Turns out it’s very easy to lose your orientation with no landmarks for guidance.

At that point I decided to stay still and wait the fog out, but before long the clouds above me turned grey so waiting wasn’t an option unless I wanted to risk getting stuck in a storm. I couldn’t see anything except water, and I heard nothing except waves, so at first I wasn’t sure how I could find my way back. I hadn’t been out nearly long enough to panic, but I have to admit I was feeling quite vulnerable and stupid in my little kayak.

The fog was very thick, but luckily not so thick that it covered the sun. I remembered watching the sunset the night before, so I used the location of the sun to make my way back. I paddled hard for maybe an hour, wondering the whole time whether I was really headed in the right direction or just putting myself further out to sea.

And then the fog cleared, and way off in the distance I could see land. I was stunned at how far away from shore I was – I must’ve drifted and paddled in the wrong direction for a long time to get that far out. It took another half-hour or so of paddling before I reached the shore.

So after all that, do you think I’ll avoid kayaks in the future? No, probably not – I’m much too stubborn for that. But next time I’ll be sure to take a compass and stick closer to shore.

And I’ll also find something else to do if I see any signs of fog.

The Crash Landing of Southwest 345

southwest345Last week the plane my family and I were traveling on crash landed.

I read somewhere that technically what we experienced isn’t considered a crash landing, but in my mind when a plane hits the runway nose first, crushes the front landing gear, and skids 2,175 feet in a shower of sparks before stopping, it’s a crash landing.

As the plane approached the runway, I was already a little nervous. The landing had been delayed due to bad weather and the plane had been in a holding pattern for over 30 minutes. At some point a flight attendant instructed everyone to not only check their own seat belt, but also check the seat belt of the passenger next to them. I’d never heard such an instruction before, so I thought something must be wrong.

Our descent felt shaky, then without warning we hit the runway with a loud BANG. People whose seat belts were loose yelled in surprise as they were thrown into the seatbacks in front of them. The engines made a horrific noise as the plane scraped down the runway, drowning out the sound of falling belongings and scared passengers. Amazingly, someone captured the experience on video.

After the plane stopped moving, we heard nothing from the cockpit. We sat for a moment wondering what to do next. Some people got up to retrieve their carry-on bags from the overhead bins, causing a flight attendant to grab the intercom and yell, “We are not at the gate, please stay in your seats!”

Then I smelled something burning. Could just be the brakes, I told myself, and I didn’t see any smoke in the rear section where I was seated (those in the front section, however, did report seeing smoke).

Soon we were told to exit the rear of the plane using the emergency chute. Everyone was on their feet, and there were shouts to “leave your carry-ons.”

Rescue personnel surrounded the bottom of the chute to catch people as they came down, which they did admirably (although I did witness one unfortunate woman tumble into the grass somehow). I slid down, then waited for my son to slide down behind me and was quickly pointed to an area some distance from the plane that I needed to get to right away.

Once we reached safety, I turned around to see the plane for the first time. That was when I realized what had happened and how serious it could’ve been. The landing felt very rough, certainly, but I didn’t expect to see the plane nose down at the edge of the runway being sprayed with fire hoses.

Like many other passengers I pulled out my phone and started capturing pictures and videos. A policeman angrily approached me, asking me to “stop filming please.” I asked why but couldn’t hear his reply.

Soon we were corralled into buses which remained motionless for quite a while. Every few minutes the doors would open so someone could come onto the bus and count us, or ask us if we needed medical attention. They’d leave, and a few minutes later someone else would do the same thing.

Eventually the buses took us away from the runway and to the airport, where we were led to a room set aside for passengers of the flight. Everyone was asked whether they needed medical attention, and now that the adrenaline was wearing off several people were feeling the pain and chose to be looked at. I should’ve been among them – I hit the seat in front of me pretty hard – but didn’t want to leave my family.

We sat waiting for information about what had happened, how we could get our bags, and when we could leave, but Southwest seemed ill-prepared to deal with the situation. To their credit Southwest made sure we had plenty of food and water while we waited, but representatives sent to talk to passengers tossed out platitudes like “your safety is our biggest concern,” which did little to assuage those who needed medicine that had been left on the plane.

At random intervals a woman would pop into the room and say, “we have no further information at this time, but we will let you know as soon as we have any information.”

Hours earlier everyone was thankful for walking away from that botched landing, but now people were becoming tired, frustrated, and angry at Southwest. We were given conflicting reports of what to do and how long we’d be there. One minute we were told our suitcases were waiting for us in the baggage retrieval area, the next minute we were told they were still on the plane.

Eventually my family and I decided to leave and have Southwest deliver our bags once they were retrieved from the plane. I was hesitant to do this because my carry-on contained an expensive Retina MacBook Pro and several other electronics, but it was very late, we were very tired, and Southwest had just offered to pay for everyone’s transportation away from the airport.

A Southwest representative told a group of us to follow “the guy in the red jacket” who would take us to the ground transportation area. Instead, he took us to the baggage area to retrieve our bags – which, of course, weren’t there. We had to explain to him that he was supposed to get us transportation.

When we arrived outside we saw a large group of fellow passengers waiting, unhappily, in the taxi line. Whoever was making arrangements was unable to “contact the right manager” about getting everyone on their way efficiently, so instead an unfortunate Southwest rep was leaning into every cab, explaining the situation to each driver – who didn’t always understand English – then paying for the ride up front with a credit card. In our case, the taxi driver didn’t understand the rep at all and kept asking if he was riding with us. It would’ve been comical if we weren’t so tired.

The next day Southwest delivered our bags to our hotel but my carry-on wasn’t among them. It arrived a day later – without my MacBook Pro. That, along with an Apple TV and a Lightning cable, had been stolen from my bag.

Southwest has agreed to reimburse me for these items once I provide proof that I purchased them (no problem, I have receipts). They claim the items weren’t stolen but were more likely “misplaced” by someone sent on board to retrieve carry-on bags.

I am, of course, concerned about my stolen belongings and bothered by Southwest’s initial sloppy handling. But it’s hard to complain too much given that my family and I walked away from what could’ve been a much worse situation.

And in the end we had a fantastic week in New York together, which ironically is due in part to my not having a laptop to distract me with work-related things.

Update: Last night we flew home (yes, we were nervous during the landing), and on our doorstep found a FedEx package from Southwest which contained a check reimbursing us for the trip along with two round-trip tickets anywhere in the U.S. for each family member.

My First Week with Automattic

My first week after joining Automattic as a mobile developer was among the most unusual new-hire experiences I’ve had. Instead of jumping into the code, I did customer support – and I’ll continue to do it for another two weeks.

No, doing support isn’t punishment for some naughty bit of code I submitted. Everyone who joins Automattic is expected to complete three weeks of support before moving on to their new role.

The fact that Automattic expects this is one of the things that made me so interested in working with them. I love knowing I’m working alongside people who have all experienced what it’s like doing support.

I’ve written before about how developers should do tech support because it forces us to see our software through the eyes of our customers. Directly communicating with your end users is the single best way to find out what the problems in your software are and what you can do to simplify it.

I won’t claim, though, that my support stint has been easy. You’d think it’d be a breeze since I supported my own software for years, but this is the first time I’ve supported software I didn’t create and it has been truly humbling to feel like such a newb. Luckily, Automattic’s Happiness Engineers have been, well, happy to provide help when I’ve needed it (thanks, folks).

PS: Be sure to read Jason Munro’s excellent post about his initial experience at Automattic if you want to hear more about what it’s like to start here.

I Joined Automattic

Monday will be my first day working at Automattic.

In the past I’ve worked on consumer software and enterprise software, but this will be my first time working on open source software. It’ll also be the first time I’ve joined a company without my existing software coming with me. FeedDemon is going away soon, and I no longer work on either Glassboard or Social Sites. I’m starting fresh with Automattic, which is a very welcome change.

When I talked with Matt Mullenweg about Automattic, he mentioned being proud of the company he helped build. At the time I didn’t know too much about the company, but the more I looked into Automattic the more I realized why it’s something to be proud of – and why I wanted to work there.

They treat their employees the same way I try to treat the end users of my software. As a developer, I’ve tried to provide a great experience to those who use my software. As a company, Automattic tries to provide a great experience to those who work there. People stick with you when you provide a great experience.

They also, of course, make great software. I’m looking forward to a chance at helping them continue to do that.

Old Farts Know How to Code

I turned 45 this month. In many professions that’s the prime age to be – and in others it’s considered young –  but in my line of work, some people think middle-aged coders are old farts. That’s especially true when it comes to startups.

The startup culture is similar to professional sports in that it requires a fleet of fresh-out-of-college kids to trade their lives and their health for the potential of short-term glory.

“Old farts” are often excluded from that culture, not because we’re lousy coders but because we won’t put up with that shit. We have lives, we have families, we have other things that are important to us. We’re not about to sleep at our desks and trade watching our kids grow up for the promise of striking it rich. Especially when the people who really strike it rich aren’t the ones writing code.

So many developers my age have had plenty of chances to ditch coding and move into management, but we’ve stuck with coding because it’s what we love to do. We’d earn more in management, but writing software is in our blood. We wouldn’t stop doing it for anything.

And because of the years we’ve spent creating software, we’ve learned what works and what doesn’t, regardless of the language or the platform. Operating systems rise and fall, development tools come and go, but through it all, old farts know how to write solid code.

Young Gamer Geek Nostalgia

Earlier this week I wrote about "Moon Runner," a TRS-80 game I created when I was 18. That was my first piece of commercial software, but I’d written dozens of other games before that.

The first game I remember writing was "Possum Run," a bloody takeoff on Frogger which was published in a magazine called Hot CoCo when I was 16. Back then I was a long-haired metalhead, and I remember my friends being absolutely shocked to discover that I was a published geek.

During the remainder of my high school years I published a number of other games in Rainbow Magazine, including a goofy platformer inspired by Bloom County which featured a penguin trying to find wings that would enable him to fly.

Writing those games wasn’t just a hobby: it was my great escape from the boredom of school. I remember countless days staring at the clock in class, just waiting for the final bell so I could go home and continue coding. And during class I’d often be scribbling code in my notebook instead of taking notes.

Every now and then I toy with the idea of getting back into writing games, and I’ve even considered creating Android versions of my old games. But I’m more of a news and communication junkie these days, so writing games doesn’t interest me the way it used to.

Although I have to admit, it sure was fun coding that Easter egg in FeedDemon :)

I Used to Write Video Games

Sometimes people ask me which program I enjoyed writing the most, usually expecting me to say either HomeSite or FeedDemon.

Nope.

"Moon Runner" was the software I most enjoyed creating. It was a game for the TRS-80 Color Computer that I wrote in 1986, when I was 18 years old. Back then I was hopelessly addicted to video games, so being able to write one myself was an enormous thrill.

"Moon Runner" was loosely based on the arcade game Moon Patrol which I wasted countless quarters on as a kid. It was coded entirely in 6809E assembler and took me several months to create. I still have a printout of the source code on my bookshelf, but it’s gibberish to me now.

I formed my first company ("D & N Software" – my Dad was the "D" and I was the "N") to sell the game, and had wild dreams of striking it rich. But despite receiving rave reviews in popular TRS-80 publications, "Moon Runner" was a flop. It barely earned enough to keep me stocked with peanut butter and Ramen Noodle Soup for a week.

But you know what? I didn’t care about that. I just loved the fact that I created something good enough for others to use. To this day, nothing has compared to the rush I got at age 18 when I saw "Moon Runner" reviewed alongside software written by professional software developers.

I imagine that’s similar to the thrill so many young coders feel today when they contribute to an open source project or post something that ends up on the front page of Hacker News.

That thrill is why "Moon Runner" will always be the software I most enjoyed creating.

Farty Shoes

One recent rainy morning, I stopped at the grocery store after walking my dogs in the park.

As I strode into the store I realized that my wet shoes were making farting noises with every step. I tried walking more slowly, but that just resulted in slower, deeper farts.

So I paused for a moment, too mortified to move. Then like any geek of good conscience, I asked myself, WWJCD?

"What would John Cleese do?"

Suddenly the moment was transformed from one of extreme embarrassment to one of merriment. I put on my best Cleese straight-man face and continued walking, all the while pretending I had no idea the flatulent feet were attached to me.

If an unexpectedly boisterous blast burst from my soggy sneakers, I'd look around as though someone else was to blame and I was offended by their presence.

When the shopping was done I picked up the pace, resulting in dozens of quick squeaky blats following me as I left the store.

I have no idea what anyone else's reaction was, but I certainly had a good time.

So if you ever find yourself in an awkward situation, don't worry about it. Just ask yourself, WWJCD?Everything will be fine after that.