Handy SQL Server Snippets

There are a few SQL Server tasks I do infrequently and always forget the syntax. I’m going to start collecting them here.

ALTER TABLE ExistingTable ADD NewColumn INT NOT NULL DEFAULT(0) WITH VALUES

This adds a new column with a default value of 0, and populates existing rows with 0 in the new column.

ALTER TABLE ExistingTable ADD NewColumn INT IDENTITY

This adds a new “auto increment” (identity) column and populates existing rows with values for the new column. The values are somewhat random but start at 1 and increment by 1.

INSERT INTO ExistingTable (Col1, Col2, Col3) SELECT Col1, Something AS Col2, Col3 FROM ExistingTable WHERE Conditions

This statement inserts rows into an existing table based on rows returned from the SELECT. If the SELECT clause specifies every necessary column in the same order as they appear in the CREATE statement that created the table, there’s no need to list them in the INSERT clause. In other words, it’s best to include the column names in the INSERT clause.

Fixing Mac OS X 10.7 “Lion”

Apple has a bad habit of hiring kids who have no concept of what came before them. This article helps you undo some of the changes they inflicted on Mac OS X in their attempt to make it “better”.

Reversing the Scrolling Direction

In 10.7, using the MacBook trackpad or the scroll wheel on your mouse will cause you to scroll in the opposite direction than you did previously. Instead of conceptually moving a view port over the document, you are now moving the document. This change was made to accommodate tablets and touch screens, where it seems more natural to use your finger to drag the document. However, rather than making the change apply only to touch screens, they changed all input devices. The result was that the screen appears to scroll backwards if you use a trackpad or scroll wheel.

To fix this, go to the Trackpad pane in System Preferences and uncheck the box for “When using gestures to scroll or navigate, move content in the direction of finger movement”.

Stop Apps from Reopening Previously Open Documents

One of the principles we use in iOS development is that the program should save its state so that when you re-launch it, it will appear as if you never left it. The reason this is essential on mobile devices is that historically they have managed memory themselves rather than depending on the user to close apps they are done with. Since the user never knows if an app has been removed from memory, it would be disconcerting if sometimes the app returned to a default state and sometimes it picks up where you left off.

With both Apple and Microsoft moving toward using their full desktop operating systems on mobile devices, they have begun to take principles that previously applied to small devices with limited resources and applying them to their desktop operating systems even if that doesn’t make sense. On the desktop, the user is the king of memory management. The user opens and closes documents and programs as his task requires. As a partial step toward the integration of mobile and desktop operating systems, the latest version of Mac OS X does two things: First, it saves the state of every app when the app is removed from memory, then restores it when it is re-launched. Second, it remembers what was running when you rebooted your computer, and resumes those programs when it boots up.

The problems introduced by this are myriad, but we can’t expect the little kids at Apple to know that, since for them new is always better and the past is for dead presidents and dinosaurs. For example, if I’m privately reviewing a spreadsheet containing everyone’s salary, then exit Excel, then the next day an employee brings me a spreadsheet for us to review together, when I open Excel the first thing the employee will see is my spreadsheet containing everyone’s confidential salary information.

Disabling this behavior is difficult but not impossible. First, go to System Preferences, select the General pane, and un-check the box for “Restore windows when quitting and re-opening apps”. You’d think this would be enough, but it’s not.

Next, you need to find the folder where Mac OS X saves application state and delete any existing state information. Otherwise, your programs will always restore whatever state was current when you unchecked the box on the Preferences pane. Unfortunately, this folder, which was visible in previous versions of the OS, has been hidden in 10.7. To make it visible, run the Terminal app (Applications > Utilities > Terminal) and enter the following:

chflags nohidden ~/Library/

Now select your Home folder in Finder and you’ll see Library. Open the Library folder, and scroll down to “Saved Application State”. Open that folder and delete everything it contains.

Just to make sure your apps don’t ignore the system preference and save their state anyway, go back to the Library folder, right-click on Saved Application State, select “Get Info”, and set the Sharing & Permissions for your user name to “Read Only”.

Final Thoughts Before the 2012 Iowa Caucuses

In a couple days, we Iowa Republicans will gather in churches, schools, and living rooms to elect representatives to our county conventions and county Republican Central Committees, propose planks for the Republican platform, and write a candidate’s name on a scrap of paper and drop it in a hat to select our candidate for President of the United States.

Iowa takes a lot of crap for being wholly unsuitable for the task of being first-in-the-nation to express its preference for candidates. We’re viewed as overall-wearing hayseeds, toothless meth-heads, and Bible-thumping religious nuts. In reality, only about 3% of our households are involved in farming. 70% of us live in urban areas, compared to 80% nationwide. Yes, we have three times more meth labs per 100,000 population than average, but the proportion of us who claim to be evangelical Christians (30%) is not much different than the national average (26%).

We’re whiter than the nation as a whole, but in 2008 Iowa white folks voted en masse for Obama, the nation’s first (half) black President. It might have helped that Obama’s color is only skin-deep. He had a whiter upbringing than I did — raised by his white mother and grandmother, he attended to the best private schools and graduated from Harvard. But here in the educated northern states, we don’t continue to hold the racial stereotypes our neighbors to the south cling to. We judge a man by the contents of his character, not the color of his skin. That’s why I had no problem voting against Obama in 2008, and to quote Ann Coulter, “I’d vote for Jeffrey Dahmer over Barack Obama” in 2012.

The winner of the straw poll held at the Iowa caucuses does not always go on to win the nomination. We gave Mike Huckabee the nod in 2008, and he went on to do little more than play bass in the Fox News Channel house band. But in five of the eight straw polls that have been held in Republican caucuses over the years, the winner in Iowa ended up being the nominee.

Despite doing better than the monkey score in predicting the nominee, I would argue that making the right guess at the final outcome is not our purpose. The reason for spreading the Republican primaries out over several months is to allow more candidates to affordably enter the race. Few of you have heard of Buddy Roemer, but he’s on the list of candidates being considered in Iowa. Guys like Buddy couldn’t run if they had to run a national campaign. By spreading the nominating process over a period of months, we allow underfunded candidates like Buddy (and Rick Santorum) to get a shot at the nomination.

Our job in Iowa is to thin the herd. After Iowa and New Hampshire, one or more candidates will drop out due to poorer than expected results. The remaining candidates will be able to focus their efforts and monetary contributions will be channeled to a smaller field.

You might think that having more candidates to choose from is a good thing, and that it’s unfair that residents of other states don’t have the same choice. But I’m not so sure. Sometimes more choice just means you throw up your hands and stay home on caucus night. Only 20% of registered Republicans in Iowa will show up Tuesday night for the caucus. When you consider that the ability to attend the caucus and vote in Republican primaries is the only reason to bother to register as a Republican, that number is startlingly low.

I could argue that going first is what isn’t fair. We spend a lot of time listening to candidates, taking their phone calls, and reading their flyers. We have to choose from a large number of (often similar) candidates. After carefully considering the options, we make a selection only to have our votes rendered moot when our winner fails to garner support in New Hampshire and beyond. You could argue that all our effort in 2008 was wasted when Huckabee dropped out. Going first isn’t everything it’s argued to be.

In the end, somebody has to go first. It doesn’t really matter if it’s Iowa or some other state. No state is “representative” of the entire country. Here in Iowa we take this responsibility (fairly) seriously (at least 20% of us do) and we set aside a cold winter night to gather with our neighbors at a poorly run party meeting to do party business.


All that having been said, here’s my take on the candidates.

Mitt Romney. Mitt is the de facto nominee. This is frankly disappointing. In 2008 we failed the country by nominating a Democrat-wannabe (McCain), giving voters very little on which to differentiate between the candidates. This year if all goes as predicted, we’re going to do it again. Romney can’t take Obama to task over healthcare, because he invented it. Romneycare in Massachusetts was, by everyone’s admission, the inspiration for Obamacare. Mitt’s been all over the map on abortion, immigration, and climate change, so he takes those issues off the table. Mitt’s been hanging out with another Republican-in-name-only, Chris Christie, and there are rumors of Christie being on the short list of VP possibilities for Romney. If Republicans put Romney/Christie on the ballot in November, there’s no reason for anyone to do anything but flip a coin in the voting booth. What a waste of an opportunity.

Newt Gingrich. I’d love to be able to vote for Newt. I’m not sure I can, though. He’s about 50 IQ points above Obama, but this causes him to say stuff that people don’t understand. It’s not that they’re incapable of understanding what he’s saying, but rather why he’s saying it. You have to listen to Newt for a whole paragraph, but the media expects short phrases. But even if you listen to him long enough to get his point, you’re left wondering about some really dumb choices he’s made over the years. In the end I think Newt had his run in the 90’s and he brings too much baggage to the campaign to be an effective option to Obama.

Ron Paul. I love what I know about Ron Paul, but I worry about what I don’t know. I’m with him 100% on domestic issues (again, at least to the extent that I know where he stands) and I’m willing to give him the benefit of the doubt on some of his foreign policy, but I’m concerned that I’m experiencing some cognitive dissonance. That is, I think I’m giving him some leeway on foreign policy because I like his domestic policy so much. Sometimes I hear him say things about Iran and I think, “What the…?” Given the options, though, there’s a good chance I’ll vote for Ron Paul and let New Hampshire do the hard work of knocking him out of the race.

Rick Santorum. Rick is benefiting from being the last of the conservative candidates to “surge”. The pattern to date has been for one candidate (generally the latest to announce) to surge in the polls, then fall out of favor once the media and the other candidates have a chance to bring their past foibles into the light of public scrutiny. As a result, Rick is going into caucus night on the rise. We won’t find out anything negative about him until next week. But as I look at his history I see a lot of disturbing news there. Rick has vulnerabilities in the area of earmarks and has some shady dealings with respect to where he was living vs. where he claimed to live when it came to getting a tuition deal for his kids in a private school. One of the things that is really odd is that he is a favorite of evangelical Christians, but he’s Catholic. As an evangelical Christian myself, I can tell you we don’t believe what Catholics believe on most days of the year. It’s odd that we set that aside on Caucus Tuesday. And religion wouldn’t matter at all (note that I didn’t point out that Romney is a Mormon) except that the reason we say we like Rick is because he holds to our positions on social issues, which are motivated by our religious beliefs. That having been said, Rick is either #1 or #2 on my list for Tuesday. He’s more conservative than Romney or Gingrich, and less scary than Paul.

Rick Perry. I bet Rick Perry is a great guy. I’d like to hang out with him at a Texas BBQ. But his deer-in-the-headlights reactions in the debates so far will kill him against Obama. I don’t care if he’s God’s Gift to America, if he folds under pressure in a debate, Obama will eat him alive. On top of that I don’t think he understands how strongly conservatives feel about illegal immigration.

Michelle Bachman. Michelle spews campaign slogans in a debate context. Of all the candidates, she comes across as more of a politician than I want to send to Washington this year.

Jon Huntsman. Jon didn’t campaign in Iowa. Any candidate who says they don’t care enough about my vote to make any effort to obtain it is not worth my consideration. He didn’t even run a TV ad here. I feel the same way about Jon as I did Rudy Giuliani in 2008: If you want my vote you have to ask for it. You didn’t ask. You don’t get it.


It is disappointing that we had the opportunity this year to really change things in Washington DC and take back our country. Our failure to nominate a truly conservative alternative to Marxist Barack Obama seals our fate. The United States is on its way to European socialism and the economic and political bankruptcy that goes with it. America as envisioned by the Founders is gone and there’s no way back to it. Even the America that I grew up in, as flawed as it was, is gone. When 50% of my fellow Americans can vote for a Marxist with a clear conscience, and when the other 50% are on the verge of nominating a good-looking socialist to run against him, I don’t see any possibility of a silver lining.

That having been said, we’ll give it a shot on Tuesday night and try to send you in the Other Forty Nine some options other than Mitt Romney.

Parcelable

General Description

An object that implements the Parcelable interface can be “flattened” for inter-process communication or, as is the case most of the time when I use it, for placing in a Bundle (which is a Java associative array or dictionary).

The documentation makes this seem a lot harder than it is. The sample code from the documentation pretty much covers it.

Implementation

1. Implement the Parcelable interface

public class MyClass implements Parcelable
    ...
    @Override
    public int describeContents()
        {
        // From what I've read on the Web, this function should always 
        // return this value. The documentation is very, very vague. I 
        // think this value is actually used only when the parcel really 
        // is a file descriptor.

        // return CONTENTS_FILE_DESCRIPTOR;

        // The sample in the documentation for a general object like mine
        // just returns 0 here.

        return 0;
        }

    @Override
    public void writeToParcel(Parcel dest, int flags)
        {
        // Order is important. The order here should be the same as the
        // is expected in the constructor

	// It sometimes comes in handy to write arrays of values. The 
        // syntax looks like this:

        dest.writeIntArray(new int[] {publisherID, bookID, section});
        dest.writeStringArray(new String[] {verseReference, anchor, TOCPath});
        dest.writeBooleanArray(new boolean[] {wasHyperlink, noHistory});
        }

2. Implement the CREATOR field

Again, the documentation is weirdly vague, but here’s what it looks like. Yours can look identical to this with the exception of “MyClass”, which is the name of your class:

    public static final Parcelable.Creator CREATOR = 
        new Parcelable.Creator() 
        {
        public MyClass createFromParcel(Parcel in) 
            {
            // Calls our constructor that takes a Parcel

            return new MyClass(in); 
            }

        public MyClass[] newArray(int size) 
            {
            return new MyClass[size];
            }
        };

3. Implement a constructor that takes a Parcel

The parcel will have been created with your writeToParcel() method, so it should read values back from the parcel in the same order that you wrote them out:

    public MyClass(Parcel in)
        {
        // Since we used some arrays to demonstrate the writeToParcel()
        // method, read them back here in the same order.

        int [] intData = new int[3];
        in.readIntArray(intData);
        publisherID = intData[0];
        bookID = intData[1];
        section = intData[2];

        String [] stringData = new String[3];
        in.readStringArray(stringData);
        verseReference = stringData[0];
        anchor = stringData[1];
        TOCPath = stringData[2];

        boolean [] booleanData = new boolean[2];
        in.readBooleanArray(booleanData);
        wasHyperlink = booleanData[0];
        noHistory = booleanData[1];
        }

Putting a Parcel in a Bundle

I often use Parcelable objects as parameters to an Intent:

    // Create the parameter object

    MyClass param = new MyClass();

    // Load it up

    param.publisherID = 3;
    param.bookID = 4;
    param.verseReference = "John 3:16";
    // etc.

    // Create the intent

    Intent intent = new Intent("com.laridian.pocketbible.DOSOMETHING");

    // Put the flattened parameter in the Intent and broadcast it

    intent.putExtra(getString(R.string.someparam), (Parcelable) param);
    sendBroadcast(intent);

Retrieving a Parcel from a Bundle

Retrieving the flattened object is no different than retrieving any other object from the Bundle. It will be un-parceled by the cast:

    MyClass reconstructedObject =
        (MyClass) intent.getExtras().getParcelable(context.getString(R.string.someparam));

Don’t store Parcels!

Parcels are not meant to be persistent. They are meant to have short lives, since the format could change between releases of the API/SDK/JRE. Don’t store them anywhere.

Externalizable

Introduction

Java supports two techniques for object permanence: Serializable and Externalizable. These two are related but different. Serializable is more automatic and less flexible. Externalizable is less automatic but more flexible. Serializable is rumored to be slower in some implementations than Externalizable. Because Externalizable gives me a lot more flexibility, I choose to use it exclusively.

Making a class Externalizable is relatively easy. It amounts to implementing two methods: One for writing the state of your object and one for reading it. It also requires that you provide a no-parameter constructor so the system can automatically instantiate your object prior to asking you to read its fields from the file.

By default, any change you make to your class (such as adding a field) will cause any previously serialized data to be incompatible with the class. To resolve this, I take over responsibility for all versioning, as detailed below.

Details

1. Implement Externalizable

Your class needs to implement Externalizable, which requires two functions:

    @Override
    public void writeExternal(ObjectOutput output) throws IOException
        {
        // Write the version number to output using writeInt().
        // Write the fields from your object to output.
        }

    @Override
    public void readExternal(
        ObjectInput input) 
        throws IOException, ClassNotFoundException
        {
        // Read and test the version number.
        // Read the fields of this object in the same order that you wrote them.
        }

2. Add a public constructor with no parameters

You need to add a no-parameter constructor to your class if there isn’t one already. It must be declared “public”. When reading your serialized objects, your object will be constructed using this constructor, then readExternal() will be called.

3. Define serialVersionUID

Add the following field to your class. This identifies the class so the serialization code knows what kind of object to instantiate in its readObject() method:

    private static final long serialVersionUID = 91089626578087866L;

The value of this UID is irrelevant, but it should be unique among the other serialized classes in your document. I use random.org to generate a couple random numbers less than or equal to a million, then concatenate them to create a random long. If you omit this step, the compiler will generate a UID for you, but since it’s based on the class signature it will change if you change just about anything in the class. This will cause an exception to be thrown when you try to deserialize a previously created file. So it’s best to define your own.

4. Manage changes to your class fields

Since you’re defining your own serialVersionUID, you need to completely manage version changes in your serialized file. I create another constant for this purpose:

    private static final int serializationVersion = 1;

In writeExternal() this is the first value I write to the file. When reading, I read this value and test it to make sure I understand the version of the file being read, then make decisions based on the version of the file I’m reading. I may have to supply default values for new fields added to the class since the file was written.

If I don’t recognize the version, I throw a new IOException with a description of the problem:

    throw new IOException("Unrecognized archive version");

5. Notes on writeExternal()

In writeExternal(), use writeInt(), writeBoolean(), etc. to write field values. For enums, use writeObject(). For Strings, use writeUTF(). For your own classes, use writeObject(), then implement Externalizable in those classes.

So You’ve Landed in a Cow Pasture…

I woke up early on Monday morning. The previous Friday afternoon I had been forced to land my Jabiru J250-SP light sport airplane in a Texas cow pasture when the engine quit. My friend Bill and I had flown to Tyler, TX, to visit childhood friends John and Becky. I tried to focus on having an enjoyable visit all weekend but the time had come to do the hard work of doing something with the airplane.

It was 5:00AM. I got thinking about how to move the airplane. Local rancher and fellow pilot Joyce Wilson, who was one of the first on the scene on Friday afternoon, had told me about a mechanic who might be able to fly right into the field and do the repairs on-site. I suspected, however, that the engine had seized up and couldn’t imagine replacing cylinders or the crankshaft while the cows looked on. And even if it could be fixed, I wasn’t real crazy about taking off from the cow pasture with an untested engine and having my only recourse for another failure be yet another risky off-field landing.

The more I thought about it, the more things I realized that I had forgotten to do. I hadn’t tried to pull the prop to see if it would even move (I suspected it would not). I hadn’t checked the oil to see if there was even any there (I suspected there was not). I had never tried to restart the engine — neither in the air nor after we had landed.

It was more likely that the plane would have to be trucked out. To do so, the wings would have to be removed. It’s a simple airplane, so I suspect removing the wings isn’t that hard. I had the service manual with me (we light sport owners travel with our service manuals, since we’re rare and it’s unlikely the shop at any airport we land at will have seen airplanes like ours before, let alone have a service manual). Surely the wing-removal procedure is in there somewhere. With the right tools and maybe six or seven helpers, I could probably remove the wings and push the plane up onto one of those flatbed tow trucks — assuming I could find someone with tools I could borrow, find six or seven helpers willing to drive a couple hours to the middle of nowhere, direct the tow truck driver to a place I can’t get to myself, then get him to drive four hours to the service center in Wichita Falls, TX.

I don’t often avail myself of our church’s prayer request email group, even though I run the list myself. But this morning it seemed like a good place to start. I literally had no idea where to begin. So at 5:30 AM I fired off a request for prayer that I’d be able to figure out the best way to get the airplane out of there. Having laid the groundwork for the rest of the day, and wanting to clear my head, I put on my running clothes and set out on a 7-mile run.

Bill was having breakfast when I got back. I had to drop him at the airport sometime before his 11AM flight back to Cedar Rapids. I wanted to call the Jabiru factory as soon as they were open, and I also wanted to call the Aircraft Owners and Pilots Association (AOPA) and ask their advice. And a chance call from Becky’s brother and fellow pilot Dave the night before had resulted in the suggestion to call my insurance agent. He thought they might cover the cost of moving the airplane.

Pool
My office at John and Becky’s house

I grabbed a cup of coffee and my iPad and headed to the back porch to start making calls. AOPA was not as helpful as I thought they’d be. In the past, they have provided a wealth of knowledge anytime I had a question about legal issues, medical certification, buying or selling an airplane, and more. My main question for them was how to deal with the FAA. The sheriff had called the FAA on Friday, and the representative from the local Flight Standards District Office (FSDO) had already been in touch with me, telling me not to move the airplane until they could inspect it. This didn’t seem right. Since there was no property damage on the ground, no significant damage to the airplane, and no injuries, there was no reason they should even have been called in the first place. I wanted AOPA to clarify that for me. Unfortunately, the best they could do was refer me to my insurance agent, who they said would be more familiar with procedures in this situation than AOPA was.

My insurance company wasn’t open yet. So I grabbed a few things I thought I might need when I got to the airplane, and Bill and I headed for the airport. My Navigon GPS program on my iPad sent us on the most bizarre route to the airport I could imagine, but we arrived around 9:30 and I said goodbye to Bill. I hoped his trip home would be less eventful than our trip down here.

By now the insurance agency (AOPA Insurance) was open, so I called and talked to Shelley, our agent. She wasn’t sure why the FAA was involved nor why they wanted to see the airplane. She said she’d send the claim through to our insurance company (USAIG) and they would contact me. I explained I was on my way to the airplane and it would be nice to hear from them soon so I could decide how to proceed.

Joyce had emailed me directions to her “Circle WC Ranch”. I figured I needed to go there first so that she could tell me how to get to my airplane. She had offered to loan me some tools or anything we needed to figure out what was going on. I wasn’t sure yet what was going to happen when I got to the ranch, or when we got to the airplane, but it was a 2-hour trip to the Circle WC so I figured it couldn’t hurt to head that direction.

On the way I called Jabiru to see if they had suggestions for transporting the airplane and to find out if their dealer in Wichita Falls was the right place to have the plane taken. Dad and I had talked about taking the airplane all the way to the Jabiru factory in Shelbyville, TN for repairs. I talked to Ben Krotje who recommended Lone Star Retrieval (LSR) for moving the airplane. I finally had my first hint on how to get the airplane moved. And he suggested calling US Aviation Group in Denton, TX (north of Dallas) for service instead of going all the way to Wichita Falls, TX (northwest of Dallas).

While I was on the phone with Ben, USAIG (my insurance company) called to tell me who would be the adjuster on my claim. It was 10:50 AM, a little over an hour since I had called my agent. I called the adjuster who said I could expect a call from “Richard”. When I asked who Richard was, he said “Richard is with Lone Star Retrieval. They will be retrieving your airplane and trucking it to the shop.” Now we’re making progress.

Twenty minutes later, Richard called and asked where the plane was at. He said he was putting together a team and they would be on-site in three hours. I asked him to have them call me once they’re on the road so I can give them detailed instructions on how to get to the airplane once I figured it out myself.

I love it when a plan comes together.

I called Joyce and told her we had a plan. She was finishing up some work on the ranch but said she was available the rest of the day. I should just come there and she’d have her ranch manager give directions to the LSR crew.

Circle WC Ranch Gate

After stopping for gas and lunch on the way to the Circle WC, I arrived around 2:30. The LSR crew called just as I got there. Ranch manager Jeffrey gave them instructions on how to navigate the farm roads to get to an intersection where Joyce and I would meet them. We figured we had some time before we needed to leave, so Joyce showed me around the ranch.

Horse Barn

The Circle WC looks to me like one of those weekend hobbies that gets out of hand. It started as a place to get away from work on the weekends but had grown into a business of its own. They offer commercial wild boar hunting and would like to expand into deer hunting. In addition, they entertain industry writers and other media reps who come to learn about Wilson Combat’s products. To support all of this they needed a lodge to house people overnight. The lodge has three bedrooms, each with their own bathrooms, a kitchen and bar, a spot reserved for a pool table, and a room to show off the Wilson’s taxidermy collection of animals taken from around the world. (I believe Joyce called it the “Dead Zoo”.)

Circle WC Lodge
Circle WC Lodge

I could’ve spent more time there but the business of the day was moving an airplane. Joyce said she’d go with us. In addition to the fact that she was the only one of us who knew how to get to the airplane, she reminded me that deer season had opened on Saturday, and that the deer hunters “aren’t necessarily the friendliest people in Texas”. Especially when you’re making all kinds of commotion and scaring off their prey. Not only were some of the hunters on her land, but she carries a pistol and knows how to use it.

We headed to the end of the 3-mile “driveway” to meet Steve. It was 3:00. Daylight Savings Time started the day before, so we had one less hour of daylight than the day we landed. I didn’t know how long it took to disassemble an airplane, but I guessed it might be longer than what we had left in the day. And we still had to get to the site.

The LSR truck was pulling up to the intersection just as we arrived. Joyce was leading the way and I followed in Becky’s SUV, which I had borrowed for the day. Steve was driving a tow truck pulling a flat bed trailer. He had just one other person with him, whose name I don’t recall. Both Ben (from Jabiru) and Richard (LSR) were sure that two people was plenty. Didn’t seem right to me, but they were the experts.

It was a 35-minute drive to the airplane, through two locked gates and miles of gravel roads. There was a shorter route, but it apparently involved crossing a rickety bridge, and Joyce didn’t think it was a good idea to drive a truck across it.

Arriving at the Airplane

Steve complained about the loss of daylight and wondered why Richard had thought it was a good idea to send them out on this job so late in the day. But he got to work right away, removing the dozens of screws that hold the various fairings on the airplane. He had a bag of little cloth bags with drawstrings. All the screws for a particular fairing went into a bag, then the bag was tied to the fairing and the fairing placed in the back of the airplane. Very organized.

Meanwhile Joyce had donned a pair of work gloves and leapt onto the back of the truck to retrieve buckets so we could drain fuel. Other Guy removed the sump drain from the left wing and started draining fuel. I felt bad that I wasn’t doing much to help, but I figured these guys knew what they were doing and I’d just be in the way.

To satisfy my curiosity, I tried pulling the prop. It was locked up tight. I checked the oil. It looked like there might be a little bit right on the tip. Hmmm. Maybe the lack of oil wasn’t the problem.

About an hour after arriving on site we were ready to remove the wings. Steve removed the nuts from the two bolts (TWO bolts!) that hold the wings to the fuselage. Other Guy supported the wing tip. Joyce was already supporting the flap. (Once it was disconnected from its shaft at the fuselage it had a tendency to bang into the rear window.) It took some pounding to get the forward bolt out, but within a couple minutes the wing was free. I held the strut while Steve removed the bolt that attached it to the wing, and the three of them carried the wing to the back of the trailer. MUCH easier than I thought it would be.

Removing the Right Wing
Right Wing Removed

The left wing was significantly easier to remove. The bolts came right out and within just a couple minutes it, too, was on the back of the truck.

The crew had placed the wings on the back of the trailer. I had assumed we would tilt the trailer and just push the fuselage up onto it. With the wings in the way, that would be impossible. Before I had time to think about it, Steve had pulled the truck over to the far side of the airplane and backed it up so the hoist was over the airplane. They attached straps to the main spar tabs and simply lifted the entire fuselage with the hoist and backed up until it was over the truck. It was almost as if they had done this before. (LSR is known for their ability to disassemble and move Learjets from wherever you are to their service center in Wichita, KS. I have a feeling they could move my little plane in their sleep.)

Preparing to hoist the fuselage onto the trailer
Hoisting the fuselage
Securing the fuselage onto the trailer

In the process of loading the wings onto the trailer, I noticed the lens was missing from the left wingtip position light and there was some paint scraped from the leading edge of the wing, as if we had struck something when landing. I had no recollection of hitting anything at all during our landing. I thought maybe the damage had actually occurred during our fuel stop, or perhaps one of the many cows who had been hanging out at a safe distance watching us load the airplane had attacked the airplane in the three days it had been sitting there unattended. To rule out the latter, I reviewed some pictures I had taken right after we landed. Sure enough, the lens was missing in those pictures, too. So the cows were off the hook.

Securing the Wings

To satisfy our curiosity, Joyce and I retraced our landing path. A couple hundred feet from the airplane we discovered a rather large thorn bush with a freshly broken branch. Lying on the ground next to the branch was the lens. Mystery solved. Apparently we struck this bush and it was stout enough to peel the lens off the position light and do some damage to the wing tip.

The missing lens

This resolved a feeling I had during the landing that we were skidding sideways to the right. Apparently the impact with the bush was strong enough that it turned us slightly left. Immediately after hitting the bush we went over a small hump and were briefly airborne. From our tracks on the ground, you could see that we were turning left after the hump.

I collected the lens as a souvenir and we returned to the truck, where Steve and Other Guy had finished tying everything down. Exactly twelve hours since I had sat in bed wondering how in the world I was going to move the airplane, and only two hours after arriving on site, we were done.

N57CE loaded on the trailer for the trip to US Aviation in Denton

I headed back to Tyler and the LSR crew took the airplane to their warehouse in Dallas, then to US Aviation in Denton the next morning. I stayed in Tyler the next day to consider my options. At that point I wasn’t sure if I was going to stay in Texas until the plane was done or go home and come back later. After talking to Scott at US Aviation, it was clear it was going to be at least 3 weeks before the airplane would be done. While John and Becky had extended an open invitation to hang out at their place, that would be a little too long. So I arranged a one-way car rental back to Cedar Rapids.

Wednesday I picked up my rental car and drove to Denton. I was able to catch Scott just before he left for the day and we took a look at the plane. He had opened the cowling just to see if there was anything sticking out of the engine, but had found nothing. He was going to have to open up the engine to figure out what was going on.

The wings at the shop in Denton
The fuselage at US Aviation in Denton

The next morning I traded my Tyler-to-Denton rental car for a Denton-to-Cedar Rapids car and made the 839 mile trip home in 12 hours, including two quick stops for gas.


When my engine quit at 4500′ my reaction was “now comes the easy part”. It’s the same now. The plane has been in the shop before with serious engine issues. Getting it there was hard. Getting it fixed is easy.

Flying it again, especially at night or over inhospitable terrain, will be unnerving. But I plan to make some improvements to our checklists and our preflight inspections and to never fly if I suspect anything might be wrong. I had ignored a mystery oil streak in Springfield. Never again.

I want to thank my friends at Cedar Valley Bible Church for their prayers on Monday morning. The retrieval plan just fell together. Whether it was directly the result of divine intervention or just life revealing itself moment by moment, having the the support of the folks at home definitely relieved the stress.

My passenger Bill handled the emergency situation with aplomb. He offered suggestions for where to land, was ready on the flap switch, and served as our designated pray-er while I was occupied with flying the plane. He was calm and didn’t add to the problem by being a distraction or requiring any kind of reassurance. He even paid for the fuel in Springfield. Can’t ask for a better passenger than that.

John and Becky and their daughter Katy put up with me for a couple extra days, loaned me a car which I promptly drove through all kinds of dust and gravel, and made me chocolate mint cookies — all while dealing with John’s health issues which were the reason for my trip in the first place. I love you guys.

And I can’t thank Joyce Wilson enough. She probably thinks she didn’t do anything. But throughout the weekend she was my ace in the hole. She went out on her own and tied down the airplane when we were expecting some wind and adverse weather. If I needed a mechanic, she knew who to call. If I needed tools, hers were at my disposal. When I needed to find the airplane again, she knew how to get there. If a deer hunter gave me crap, she was there to back them down. She had her work gloves on before the LSR guys, and instinctively knew what they needed and was there to hand it to them. If you’re going to glide your plane into a cow pasture in Texas, point the nose at the Circle WC Ranch.

Bill, John, Becky, and me

Forced Landing in the Jabiru

On November 4, 2011 I was flying my Jabiru J250SP light sport airplane to Tyler, TX with my childhood friend Bill Berger to visit our friends John and Becky Davis. I’ve known John since second grade (1967); Bill and Becky since seventh grade. John and I roomed together in college, and I was best man at his wedding. When Bill suggested we fly down to visit, I immediately said yes.

We stopped in Springfield, MO for lunch and fuel. The Jabiru has been using a little more than the normal amount of oil lately, so I was careful to check it. I added about a half quart and we took off for Tyler.

A couple hours later, about 45 minutes from Tyler, the engine started running rough. My first reaction was to simultaneously pull up on the controls to slow to our best glide speed and look outside for a place to land. A quick glance revealed we were over the west end of a rough-looking pasture carved out of heavy woods. Assured that we had options for landing should it be necessary, I turned my attention back to the engine.


View 33.404333, -95.013167 in a larger map

There’s not a lot to do in our little airplane when the engine is running rough. There is only a throttle control, no mixture or prop levers to play with. I pulled the carb heat lever in case the problem was carburetor ice. There was no change in RPM. About then a warning light came on, indicating low oil pressure. I looked at the engine monitor and noted that cylinder 3 was significantly colder than the other five cylinders.

About then the prop came to a sudden stop and the cabin went quiet. I have often heard the stories of the sudden quiet when the engine quits, but frankly it wasn’t that startling. Our Bose noise-canceling headsets minimize engine noise to begin with, and there was still the sound of air rushing past the airplane. And frankly, I wasn’t really thinking about how noisy it was or wasn’t.

The interesting thing about the engine stopping was what it did to my state of mind. I had been somewhat panicked, trying to find a solution to a problem that I couldn’t really identify and for which I had few options even if I did know what was happening under the cowling. Once the engine stopped, the problem of fixing it was solved. I no longer was trying to solve a rough-running engine using only the throttle, carb heat, and mag switch. Instead, I was landing an airplane — something I’ve done thousands of times (successfully, no less).

I said to Bill, “OK, now we’re going to land.”

Now a lot of people are confused about what happens to an airplane when its engine quits. “Did you just dive into the ground?” No. When the engine quits, the plane becomes a glider. It flies just like it did before, but there’s no power so you can’t climb. “So you float to the ground like a parachute?” No. You just keep flying, but you can’t maintain your altitude or go up. You can only go down. It’s like your car when you run out of gas. You can still steer, and if you’re going downhill you might be able to travel quite a while before the car stops on its own. An airplane without power from the engine goes “downhill” until it hits something or you land. You can still steer right and left. You can descend faster or slower by changing the pitch (point the nose up or down) but you can’t fly level or climb (well, you can climb a little but you’ll slow down and quickly lose whatever you gained).

An airplane has an ideal glide speed. You pull back on the stick (pitch up) to slow down or push forward (pitch down) to speed up. If you slow down too much the wings won’t be able to hold the airplane up, the nose will suddenly drop, and you’ll descend quickly until you pick up enough speed for the wings to fly. If you speed up too much by pushing forward on the stick, you’ll descend faster and give up altitude, which reduces your options for a landing site. In our airplane, when you are at the ideal glide speed you’ll go about two nautical miles (2.3 statute miles) for every thousand feet you lose in altitude. This limits how far you can glide. Of course these are ideal numbers; in reality you won’t hit that perfect speed all the time and every time you turn right or left you descend faster.

I had been pressing buttons on the multifunction display to locate the nearest airport. There wasn’t much nearby. I found Mt Pleasant, TX, which was 19.2 nautical miles south. We were at 4500′ MSL over terrain that was probably 500′ MSL. That gave me only about 3-5 minutes of glide time at best, which would be about 5-8 miles (again, at best) of range. I quickly eliminated gliding to an airport as an option, without bothering to do the math. And the field you’re over is better than the one a couple miles away, so this one was going to have to do.

We were over a gravel road. It was not a gravel road like we might think of back home in Iowa, but a private road that was probably used by the ranch to reach their herds. The piece of road we were over ran south then turned east. It was surrounded by open fields covered by some kind of scattered brush and a few small trees. I turned left to go back to the north end of the road as we glided down. I punched “7700” into the transponder to indicate an emergency and made a call on 121.5 MHz, which is an emergency frequency.

“Any station monitoring, this is N57CE, 19.2 miles north northeast of Mt Pleasant, TX, 3800 feet descending, engine is out, declaring an emergency.”

No response. I continue my turn to the north to come back around to line up with the farm road. I repeated my call and heard a response from ATC, who was talking to another aircraft: “… tell that aircraft to contact Center on 130.2 if possible”. Without waiting for the call I tuned to 130.2 and contacted the local Air Traffic Control Center.

Listen to a recording of the ATC audio from Fort Worth Center

I gave the controller our position. He asked the ominous question, “How many souls on board?” I responded, “Two” and tried not to think about the grim “heaven’s census taker” feel that question has. Center offered to find us a nearby airport, but by this time I had eliminated the road and we had turned east to land in the open field. I said something like, “We’re only about 500 feet off the ground. We’re in a single-engine airplane and our only engine is out. We will be landing here very shortly.” He asked if there were any roads or towns nearby. I glanced at ForeFlight running on my iPad. There were three small towns in our vicinity. The biggest of these appeared to be Talco, TX. I estimated we were about five miles east-northeast of Talco. Center asked us to call them from the ground if possible and let them know the outcome.

As we got closer to the ground I noticed a row of trees and brush running perpendicular to our path. It reminded me of how vegetation might grow along a fence row. It was sparse, but it formed a straight line across the field. Even though I couldn’t see a fence there, it was reasonable to believe one might be there. I pulled up to slow us down and to hold us off the ground as long as possible, while at the same time hoping it would be enough to clear the fence. I tried to imagine what hitting a fence might feel like and decided we could probably survive it; in fact it might slow us down and keep us from running into something more solid further along our path.

I aimed for a gap in the fence-line vegetation. As we got closer it was clear there was no fence, and shortly after we cleared that line we touched down.

The sound of the wheels on the rough ground was pretty loud. Shortly after touching down we apparently struck a thorn bush with the left wing tip. It stripped the lens off our position/strobe light. We wouldn’t actually realize we did this until three days later when we noticed the missing lens while disassembling the airplane to load it on a truck. Immediately after hitting the bush, we went over a small rise and all was quiet as we were airborne again for a second or two. Then back on the ground and rolling. I thought about applying the brakes but wasn’t sure how effective they’d be and didn’t want to risk any loss of control. We fairly quickly rolled to a stop.

I looked at Bill and said something like “That was interesting!” We gave each other a high five and expressed thanks to God for a safe landing.

I tried to contact Center but apparently they couldn’t hear me due to our being on the ground. But another aircraft responded and I reported we were safe on the ground, no damage to the airplane, and no injuries. He relayed that information to Center, who asked about our position. I located the GPS coordinates on the multifunction display and reported those to the aircraft to be relayed to ATC.

We secured the airplane and got out. We were in a large pasture surrounded by trees. The ground was uneven with clumps of grass and scattered small mounds like the one we had gone over that lifted us back in the air during our landing. Some 25-30 yards beyond where we stopped, the ground became very uneven. We certainly would’ve collapsed the nose gear had we gotten into that area. We could see cows in the distance. Fortunately none of those were along our path.

We walked around the airplane and found no damage. We wouldn’t discover the missing strobe light lens until three days later. Funny how you can look at something and not see it.

I called my wife and let her know the situation. Bill called John and Becky.

Within a few minutes a Beech King Air flew over at low altitude just west of us. We assumed they were looking for us. I turned the radio back on and made a call to the “aircraft overhead” and let them know they had flown past us. He started a turn to the right and asked me to tell him when to roll out of his turn. I let him know when he was pointing right at us and then called again when he was right overhead. He said he had confirmed our GPS coordinates and was going to relay them to ATC. I gave them my cell phone number to give to authorities so they could call us if needed. ATC asked him to confirm that nobody was hurt, which he did.

John called and asked what our plans were. We discussed having him drive up to pick us up. Since nobody had arrived to “rescue” us yet, we weren’t sure where to have him meet us. Our conversation was interrupted by a call from the sheriff’s department. She asked about the location of the airplane and I tried to describe it on a map by drawing lines between nearby cities. She confirmed that they had the GPS coordinates — the trick was getting the trucks to that location. “We know where you are; we just don’t know how to get there.”

I returned to John and suggested he drive to Talco to meet us. It would take him an hour and a half to get there. We had touched down around 4:20; now it was about 4:45.

For some reason, we thought it might help if we walked to a farm house we had seen during our maneuvering to land. I left a note in the plane and we set out. After walking about 20 minutes we figured out that the house was much further away than we thought. We turned around and headed back to the plane.

During this walk I called my dad to tell him about the situation. He and I own the airplane together. We assumed the plane would have to be trucked out. I couldn’t imagine trying to explain to some guy whose only qualification was that he has a commercial drivers license how to remove the wings and load this thing on his flatbed truck. Especially since I’ve never done it and have no idea how to do it. Dad said he’d call the Jabiru factory in Shelbyville, TN and see if they had any suggestions.

At 5:25 on our way back to the airplane we saw a helicopter circling the site. It had been just over an hour since we landed. They dropped down to a few feet off the ground and apparently determined we weren’t there. I regretted leaving the plane. (Rule #1 of survival: Stay where you are and let help come to you!) He departed to the east but then came back and went west. We later learned he was trying to figure out where the rescue vehicles were and how to direct them to us.

The sheriff’s office called again and asked about our location and if we knew of any roads that would get them close to us. It occurred to me that I had my iPad with me, so I brought up the Maps application, asked it to locate us, then sent a link to that location to the sheriff at his personal email address. I don’t know if that helped any, but it sure was handy to have such devices available — and for once in my life to have an AT&T signal when I needed it.

One of the interesting things we noticed was how easy it was to know if a passing aircraft or vehicle was looking for us. Our location was so remote that anytime you heard a noise that wasn’t a cow mooing you could assume it was someone coming to find us. We heard the helicopter coming back. They landed a hundred feet or so away. It was a medical evac unit sent out to find us. Bill went over and talked to them while I finished my email.

The chopper pilot told us they had been flying back and forth trying to find a way for the fire department and sheriff deputies to find us. They told us to sit tight and wait.

As the chopper was leaving a woman drove up on an ATV. She was Joyce Wilson. Joyce’s husband Bill owns Wilson Combat (www.wilsoncombat.com) and she is the Executive Director of the International Defensive Pistol Association (www.idpa.com). She and her husband operate a ranch just northeast of our landing site. Joyce is an instrument rated pilot and owns a Cessna 182.

Joyce had received a call from someone who had heard the GPS coordinates the sheriffs department was looking for and determined they were near Joyce’s ranch. She and her ranch manager Jeffery had set out on ATVs to look for us. We later learned there was a small army of locals on ATVs scouring the area to find us. After locating us, Joyce made some calls and soon many of them had found their way to us.

At 5:59, about an hour and forty minutes after we landed, I heard a sound on the road. I looked and saw a squad car, then two, then three, then saw the fire department truck leading the way. Trailing those four vehicles were several other pickup trucks and ATVs. We told our story to each of the deputies so they could fill out their paper work. Everyone expressed their amazement that we could survive such a harrowing event.

The lead deputy insisted on calling the FAA, which Joyce and I both felt was unnecessary. This tied them up for quite a while, and nothing else was really happening. I remember saying at one point, “We either need to order up a keg and some pizzas or we need to leave.” Given how hard it was for everyone to find us, we opted for leaving. Bill and I unpacked the airplane and transferred everything to two of the sheriff’s vehicles.

As we were leaving, the FAA called and had some questions, which I answered briefly and factually. I’m still not convinced it was necessary, and was disappointed the deputy had chose to involve the federal government. He told me I couldn’t move the plane until they visited the site and said it was OK.

I told him that the locals had trouble finding us even when they knew the area. There was no way a bureaucrat from Dallas was going to be able to locate the airplane. Furthermore, there was no damage and nobody was hurt. We weren’t obligated to report what was essentially just an off-field landing. We settled on me sending him some pictures, which I said I would do after consulting my attorney. (He never asked again, so I never sent the pictures.)

Bill and I each got into a deputy’s vehicle and we drove to Talco — about five miles as the crow flies but two or three times that on the ranch roads we had to follow to get to the main road. It took 30 minutes to get to the Exxon station that is Talco, TX, where John was waiting to drive us to Tyler.

Lessons Learned

There are two psychological surprises for me. First was the sense of relief and calm that came when the engine died. The rough-running engine was more stressful than the sight of the stopped prop. Once the engine stopped, my options were narrowed to one: Landing.

The second unexpected response was the disappearance of confidence I have in the Jabiru engine. This was actually the second engine failure we’ve had. The first engine lasted about 60 hours before a piston failed. My dad discovered that problem while taking off one day. The engine just didn’t seem right, so he aborted his take-off just before lifting off. The replacement engine they sent us had experienced the same problem during its initial testing after being mounted on a new airplane. They replaced the engine on that airplane, then replaced the failed piston in the bad engine and sent it to us. They assured us the replacement was like new, but then our last “new engine” (which really was new) had failed after only 60 hours. So we’ve owned two Jabiru engines: One that failed catastrophically after 60 hours, and one that failed catastrophically after 2.5 hours and again after 480 hours. That’s an average of 180 hours between catastrophic failures. At that rate we can expect a forced landing in a cow pasture every 18 months. It’s difficult to imagine what they can do to turn what appears to be a problem engine into one in which I can have confidence.

Additionally, I have come to some resolutions with respect to flying. First is to remember to pull the checklist even though it doesn’t seem necessary. While it wouldn’t have helped me restart the engine in this case, it would’ve reminded me to turn off the fuel, mags and maybe open the doors before landing. While neither of these proved necessary (we didn’t catch fire and we didn’t bend any metal causing the doors to become jammed shut), there might have been something on there that would’ve either solved the initial problem or prevented a problem on the ground.

Second, I want to add some suggestions to the engine-out landing checklist, such as looking for civilization and landing somewhere near it. It would’ve been a little easier had I turned toward Talco so we could’ve walked to the Exxon station instead of requiring helicopters, local residents, and deputies from two counties to spend an hour looking for us. (In retrospect, however, landing options were not as plentiful to our west, toward Talco.)

Finally, I want to develop an “after a forced landing” checklist that includes instructions on how to locate your GPS coordinates (not straightforward on our system), a suggestion to do a complete “pre-flight” inspection after landing to check for damage, and a reminder to stay with the airplane no matter what your shell-shocked brain tells you about how close you are to that house you flew over.

Read about the retrieval of the airplane from the field and its trip to the repair shop.

We’ve been mentioned on the interwebz: Listen to the guys at www.uncontrolledairspace.com chat about our off-field landing: MP3 of podcast #263. Fast-forward to around 58 minutes if you’re in a hurry.

How NOT to Stream Live Video from your iPhone

Today I thought it would be cool to stream video of my run to the Internet. I was sure there was an app out there that would do it, and sure enough there is: UStream.

I installed the app and went through the process to set up an account. At the end of entering my data, it said there was already an account for my email address. That was weird; I had never downloaded this app before. I suppose it’s possible I’ve tried installing this program in the past, so I figured I’d ask it to send my password to me and I’d log in to this mysterious, already-existing account.

When I clicked the “forgot my password” link, it asked for my account ID, not my email address. I entered the most likely account ID I may have used in the past, and it told me there was no account for that ID. So I entered a second account ID I sometimes use and sure enough, it said it was sending password reset instructions to me by email.

I waited and waited for an email but it never arrived. So somewhere out there, the person with the account ID “craigr” got a mysterious email asking him to reset his password.

In the meantime I decided to log in with a different email address and was able to set up a new account. I proceeded to the next step, which was to connect my account to Facebook so it could notify my friends when I was broadcasting live video. I got the familiar “connect to Facebook” dialog and entered my Facebook login credentials. Facebook asked for my permission to share all my personal data with UStream, and I agreed. This led to a screen that said, simply, “Success”. There was one and only one button for me to push. It said “Cancel”. I waited and waited but nothing happened. I finally decided to push the Cancel button, and sure enough, it canceled my login.

After trying a couple more times I decided to do an end-run around this stupid process. I went to my iPad and logged into their website using my newly established account. Going into my settings page on the website, I enabled the option to connect to Facebook. Facebook seemed to remember I had given it permission to interact with UStream, so that all went well.

Returning to the iPhone, I exited the application and re-launched it. I tried connecting to Facebook but with no luck. The program simply doesn’t work.

I still think it would be cool to broadcast live during my run and somehow interact with people. UStream is definitely NOT the way to do it.

How Strong Passwords are LESS Secure

We all know how important it is to use strong passwords and not to re-use passwords on different sites. We’re told not to use real words, not to use the names of pets or family members, not to use our birthdates, anniversaries, or Social Security numbers, and not to use common passwords like “password”, “1234”, and “qwerty”. And yet some of the most popular passwords at many sites continue to be easily remembered names, dates, or words.

Some sites have instituted draconian policies to make sure you use a secure password. Ironically, while some of these are banks, others are discussion forums for hobbyists or the comment section of a news site. I can understand why my bank wants me to use a secure password, but the comment area of The Mooselick Times?

Recently I was setting up a temporary testing account with Apple and had this exchange with their password validator:

Password: test
“Passwords must be at least 6 and no more than 32 characters.”

Password: testing
“Passwords must be at least 8 characters.”

Password: xxxxxxxx
“Passwords must contain at least one digit.”

Password: xxxxxxx1
“Passwords cannot contain more than two consecutive identical characters.”

Password: testing1
“Passwords must contain at least one upper case letter.”

Password: Testing1
OK

The problem with this is a) this is a temporary account for testing In-App Purchasing, and the Apple site knows that. Why all the security? And b) Since I’m never going to remember “Testing1”, I have to write it down (and write about it in my blog). Anyone who finds my password list now knows my “secure” password.

While this is no big deal for the testing account at Apple, it’s a big deal when it’s my bank account. I have a series of mixed alpha-numeric, non-dictionary-word, very secure passwords committed to memory that I use for my truly secure accounts. But if one of those doesn’t work at a site because it doesn’t meet their rules, I have to make up another, then write it down. Once it’s written down, it’s not secure.

At Laridian, I don’t think we put any restrictions on your password. Even though almost one thousand of you use “password” as your password, we’d rather have you be able to remember it than force you to make it unguessable then have to write it down.

Why I Run

I’ve never been one for sports or exercise, adopting as my life verse “bodily exercise profiteth little” (1 Tim 4:8a).

A while back someone asked my dad why I started running. My dad had an interesting answer. “I think he got a new phone that had a running program on it that let him track his location with GPS and keep track of his time, distance, heart rate and a bunch of other stuff. I think he started running so he could play with all that stuff.”

That’s not too far from the truth. About seven or eight years ago I started working out when my doctor put me on cholesterol and blood pressure medication. I was doing 30-45 minutes on an elliptical machine three days a week. About three years ago I was heading down to my dark basement on a beautiful spring day to work out when I thought, “why not run instead?” So I headed out the front door to see how far I could run. I ran until I got dizzy and my stomach got upset, then walked home. I got in my car and drove the same route and found I had run about three quarters of a mile.

Two days later I headed out again, this time with a program on my iPhone (RunKeeper, www.RunKeeper.com) that tracked my distance and time. I made it a mile before I couldn’t go farther.

I read online that it helps to run short intervals then walk for a minute or two. I started running quarter mile intervals with 2 minute walks in between and found I could cover 2-3 miles without wearing myself out.

A knee injury took me out the rest of that year (2009). I started up again the following spring and got my running intervals up to a mile and a half by the end of the summer, with total distances around 4.5 to 6 miles of running.

By now I was hooked. I enjoyed the challenge of running. Being able to track my progress on RunKeeper’s website was highly motivating. Running itself is hard and at times, boring. But it’s like the guy who was pounding his head against the wall. When asked why he did it, he replied, “Because it feels so good when I stop.” when I’m done, there’s a feeling of accomplishment.

This summer a friend told me she does the same kind of interval running, but runs 5 minutes then walks 1 minute. I switched to that method and increased my distance to about 7.3 miles.

A change in my work schedule made it more convenient for me to run on Tuesdays and Thursdays, so I added a Saturday morning run to my schedule. Three weeks ago I had a crazy idea and turned left when I should’ve gone straight and my usual 7-mile route became a 10-mile route. 10 miles wasn’t bad.

I told my friend about my weekend run and she said, “If you can run 10 you can do a half marathon (13.1 miles). So the next weekend I made another left turn and my 10-mile route became a 13.1 mile route.

The problem with running farther than you’ve ever run before is that you first have to run as far as you’ve ever run before, then you have to keep running after that. At about 11 miles I was re-thinking my decision but then I hit 12 and it seemed like a waste not to go all the way. I made it 13.1 miles in just under two and a half hours.

The following Monday, my sadistic friend said I should look for a “real” half-marathon to run. I went online and discovered the local running club was sponsoring a half-marathon the very next weekend. $36 later I was registered for my first official half-marathon, which I completed in about two hours and 23 minutes, beating the personal record I set the week before.

I told you all that so I could talk about technology. The core of the technology I carry with me is RunKeeper running on my iPhone. To that I add a pulse rate monitor from Wahoo Fitness (Www.wahoofitness.com). This provides real-time heart rate data to RunKeeper.

So that RunKeeper can calculate calories burned, it needs to know my weight. So I have a Withings WiFi-connected scale (www.Withings.com) that automatically uploads my weight and body mass index (BMI) to a website where RunKeeper can access it. This has the further benefit of tracking my weight loss without me having to create a spreadsheet and update it manually.

That’s the computing technology that keeps me running. But there are some other products that are essential. First, A Speed 2 hydration belt from Nathan Sports (Www.nathansports.com) lets me carry 20 oz of water or Gatorade along with a pouch full of “energy gel” packets for replenishing electrolytes (they’re what plants need) in long runs. (For runs that are ten miles or more I need more liquid so I have to plan my run to pass a water supply).

Absolutely essential are NipGuards (www.nipguards.com). Running longer than an hour or so causes a lot of nipple abrasion. Running without a shirt is not an option for me (I run past a school, and the sight of me shirtless frightens small children and some animals), so affixing a pair of NipGuards protects me from embarrassing blood-streaked shirts.

I’m currently running in Mizuno Wave Rider 14 shoes. These lightweight shoes give me a medium amount of support and cushioning without getting in the way of the normal flexing of my feet. The provide less structure than the Asics I was running in before, but are lighter and more flexible.

Other than my winter running gear, I’ve been able to find good shorts and shirts at Target. You need something that wicks moisture away and lets it evaporate, as opposed to a traditional cotton that will just hold sweat.

So yes, a lot of why I run is all the cool toys. But I can’t dismiss the feeling of accomplishment watching my times improve and distances get longer.