Fuel shenanigans

The saying goes that “you can never have too much fuel unless it’s on fire.” I have always been a believer in that truism, so I always fill the tanks before I go anywhere… except on a recent trip, which just confirmed the wisdom of whomever came up with the old chestnut.

I was flying DCU-IGX, which I flight planned as 394nm, just under 3:00 of flying time, and about 48 gallons of fuel. Sure enough, when I arrived, I’d drained one main tank, one tip tank, and about half of the other tip tank. The CGR-30p engine monitor, my analog gauges, and my eyeball inspection all agreed.

Fuel at IGX was $5.28/gallon. Fuel at my home airport is $4.80/gallon. “Hey,” I thought. “I have enough fuel to get home if I just fill the tip— that will give me 59gal on board, which still gives me a VFR reserve.” Visions of dollar signs dancing in my head, I filled out the fuel ticket and went into town to lift all the weights with Alex. When I returned, I verified the fill, sumped the tanks, and headed to the departure end of the runway with 59 gal on board.

Once airborne, the problems started. ATC wanted to vector me well north of where I wanted to go because of weather, and to keep me out of the RDU arrival corridor. They also gave me a higher altitude, so I burned more fuel in the climb than I’d expected. Once I got past the first waypoint, I had to divert around more weather… see where this is going? About 40 minutes into the flight it became clear that I didn’t have enough fuel to get home without a stop.

I’m not talking “had enough fuel if I ate into my reserve,” I’m talking “engine monitor shows negative fuel remaining on landing.” Noooope.

A little head scratching ensued, and I determined that I had plenty of fuel to make Winchester, where fuel is only $4.09/gallon. When I landed, I took on 71 gallons out of the 82-gallon usable capacity— within my 45-min reserve requirement, but just barely.

Lesson learned: by not filling that tank in Chapel Hill, I saved (25 gal * $0.48/gal)… a whopping $12. Then I cost myself another 30-40 minutes of diverting to Winchester, landing, fueling, and returning home. In this specific case, I was lucky because Winchester is open 24/7 and is easy to get into and out of, and their fuel is cheap. I probably netted a few dollars of savings filling up there as opposed to filling all 4 tanks in Decatur— but that unpleasant feeling of not having enough fuel aboard is one I don’t care to repeat.

Fill ‘er up!


Filed under Aviation

Windows Hello and Microsoft Passport intro

I’ve been working on a white paper explaining how Windows Hello and Microsoft Passport work together in Windows 10– it’s a really neat combination. Over at my work blog, I have a short article outlining what Hello and Passport are and a little about how they work (plus a bonus demo video). If you’re curious, head over and check it out.

Leave a comment

Filed under General Tech Stuff, Security

Training Tuesday: I am a swimmer

Some titles are granted by an external authority. We, rightly, are suspicious of people who decide to call themselves “doctor” or “colonel” without having earned those titles.

Other titles are ones we bestow on ourselves. I can’t count the number of times I’ve heard accomplished triathletes demur the title of “athlete” or “triathlete”. The fact is simple: if you do triathlons, you are a triathlete, period. It doesn’t matter what your pace is. It doesn’t matter what distance races you compete in. Hell, it doesn’t even matter if you’re really competing or just entering the races because you enjoy them. If you do the work, you’ve earned the title.

I was thinking about this topic last night when I was busy swimming 1600+ yards in Lake Guntersville as part of my triathlon class. As I made my way back and forth along our marked swim course, It gradually dawned on me: I am a swimmer. Literally, I am a person who swims.

Am I a fast swimmer? No.

Do I have good swim technique? No.

Is there a lot of room for improvement in my performance? You bet your pool toys there is.

But do I get in the water and cover distance? Damn right I do.

Thanks to the madmen at CHP, I have the strength and endurance to swim a half-mile or more, in open water, without stopping. Last year I couldn’t swim one length of the pool without flailing. Six months ago, a 400yd swim would leave my upper body feeling wrung out and useless for the rest of the day. Now I actually find that swimming for an hour at my cruise pace is less tiring than running or biking for an hour at those cruise paces. (And yes, for you experienced swimmers out there, I know that means I need to go faster).

Sometimes I doubt myself. Many of my friends and competitors have years– or decades– of swimming experience. I’m in the water with people who swam competitively in high school and/or college, people who have worked as lifeguards, people who routinely swim miles in open water because they enjoy it. I may not be any of those things, but…

I am a swimmer.


Filed under Fitness

Renaissance Man Olympic triathlon (12 July 2015)

Executive summary: this was my first Olympic triathlon. It went better than I expected but not quite as well as I wanted.


This is the second year of Renaissance Man. Last year, my friend Laura (who was in Tri101 with me) did it as her first Olympic, and she spoke highly of how well the race was organized and how much fun it was. I hadn’t planned to do another Olympic before Rocketman, my goal race, but I decided to do this as a checkpoint to assess my fitness and race readiness. I wanted to try to complete it in under 3:30. The last several races I’ve run have been out of town, so one of the things I wanted to see was whether racing away from home has been slowing me down. Another thing I wanted to check out was whether my new race nutrition plan would make a noticeable difference. My coach has me eating a target number of calories (with specific targets for protein, fat, and carb intake) each day. The actual target amount varies according to that day’s planned activities.

The big question: exactly how hot would it be on race day? The other big question: how would I perform on a 1500-meter open-water swim in the scenic Tennessee River?


I should have taken pictures of all the crap I had set up before the race because it was pretty epic. Apart from all the normal contents of my triathlon bag (bike shoes and helmet, running shoes, race belt, towel, transition mat, sunscreen, and so on), I also had food strewn all over the kitchen counter. My coach’s recommendations were for ~ 50g carbs and ~30g protein an hour or so before the race, and I knew that I’d want plenty of Mercury (the hydration drink I use). I mixed all that stuff up on the counter the night before, strapped my bike on the back of the car, and packed my bag the night before.

Race day dawned and I was up and rolling just before 5am; the race venue is about an hour’s drive from my house and I wanted to have as much time as possible to get set up in transition and have a warmup swim. After a totally uneventful drive, I found the place, parked, got my race packet, and started setting up in transition… only to find that I didn’t have a race number for my bike. Yikes. Under USA Triathlon rules, that would result in a 2-minute time penalty if the refs caught me. I went back to the packet tent but they couldn’t make a replacement, so I decided to brazen it out, set up the rest of my stuff, and headed to the beach for a warmup swim. Not, however, before taking this panorama:


My warmup swim went well, the pre-race briefing didn’t contain any surprises, and the singer who performed the National Anthem was terrific. TIME TO RACE.

I’d been fairly nervous (for me, anyway) about the swim. I’d swum 1500+ yards in a single workout, but never without stopping, and never more than about 600 yards in open water. I really felt good about the swim after the easy 600 I did on Thursday– that was just supposed to be an easy cruise without stopping, and that’s just what it was. After a quick warmup, which was really just some splashing, I lined up to wait for the time trial. This race featured an


My target time was 45min, and I ended up swimming 1637y in 41:10. If I hadn’t done such a poor job of sighting, I would have been under 40min. If you look at the course plot on Strava you’ll see what I mean. Still a lot of work to do here but I am überproud of myself for swimming that distance without stopping— that’s a big milestone for me.

Just a shade over 5 minutes, which is far too long. I’ve got to practice this more so I’m not so damn slow. In my defense, I had to go back and get my helmet sticker out of my bag, which was off to the side. I also put on my run belt so I’d have a visible race number–  I was paranoid about our local USAT ref, who is a real stickler. (My friend Tony got a 2-minute penalty for obstructing, so the struggle is real). I also took 200mg of caffeine here.


The ride was pretty decent. I rode about the first half of it in the small chain ring because I’m a dumbass; on one section of flat road, I was doing about 110rpm and couldn’t get above about 20.5mph, and then when I figured it out, boom. My average speed went up after that. (Takeaway: pay more attention). My sustained cadence still needs work but this was very close to a 40km PR for me— my previous PR was done on a group ride (so drafting) with two breaks en route. I actually passed a few people, which was a real treat for me. Had ~40oz of Mercury on the ride + 1 Gu. I probably should have had a third bottle; that’s on my shopping list, though it means I need a new bottle cage.



This was my first race with my new Stages power meter, about which more later. It wasn’t super useful to me, apart from being able to see my average and instantaneous power. I am not yet at the point where I can produce a consistent power output on demand, nor where I can figure out what power output I should be targeting. But I’ll get there.


I got into T2 and out again in just over 3min, which is decent for me. During that time I scarfed down a Honey Stinger waffle, swallowed 4 SportsLegs with a swig of Mercury, swapped out my helmet for hat, and off I went. Next time I need to eat my waffle on the run.


“Trudged” is a word I might use here. The run was miserable. It was my slowest-ever 10K, at a 13min/mi pace. Coming out of transition my legs were leaden. It didn’t help that the first half of the course had lots of rollers and zero shade. I never even saw the famous lions at the University of North Alabama. I guess I was too busy suffering. I had 2 x 8oz bottles of Mercury with me and the first one was gone inside the first mile. Luckily there were aid stations about every mile, although the first one was out of water when I got there! I was pounding water like it was free beer. My quads and calves were both equally bad; I think I need to work on my swim kick, among other things.

I’m really disappointed by this aspect of the race, frankly, because I know I can run a 10K faster than this.

Side note: the hottest I have ever been in my entire life was when I stopped to use a dark green port-a-potty in downtown Florence. Never in my life have I experienced such a temperature.

Race organization

Registration was simple, packet pickup was efficient, and the volunteer support was superb (especially the Borden Dental ladies at body marking and the Listerhill Credit Union staff who manned a drive-through aid station on Court Street, complete with music, food, and ice water). I was disappointed that by the time I got to the finish line, they weren’t still announcing finisher names and times, and that there was nothing other than half-bananas to eat post-race (though some pizza did eventually appear). Overall, you expect these kinds of glitches during a race’s first few years, so I’m sure next year they’ll have them sorted out.

The big takeaways

53 weeks ago, I had never run a triathlon (nor a half-marathon, nor any distance over five miles). On the one hand I am delighted by my progress– I ran an Olympic distance triathlon, something I never would have guessed I could or would do as recently as 54 weeks ago. On the other hand, the gap between how I want to perform and how I do perform is pretty clear. I’m setting some aggressive goals for my next race and will be working hard to hit them.


Filed under Fitness, General Stuff

Operational maturity and Exchange

Over at my work blog, I have a post that tackles an important issue: how do you reliably design and operate Exchange if you don’t happen to have a large team of Exchange rock stars on staff? (Short answer: hire me. Longer answer: read the post to find out). Bonus: the post contains a picture of Ross Smith IV Yoda.

Leave a comment

Filed under Office 365, UC&C

Training Tuesday: Pflugerville Sprint (6/21/15)

What’s better than racing a triathlon? Multiple choice:

  1. racing your first triathlon in a new place
  2. flying yourself to and from the race
  3. getting to see your mother, grandmother, uncle, cousin, and nephew en route
  4. turning a solid race performance
  5. seeing two of your oldest friends
  6. all of the above

The correct answer, of course, is “f”, and that’s exactly how this race went down.

Dana had told me that she had plans to go to Rock the South last weekend, so I found myself with an unexpectedly free weekend. I decided to see whether there were any races I could do– and sure enough, Trifind delivered the goods, pointing me to the Lake Pflugerville Sprint. It combined the potential to see a bunch of my Austin friends with an interesting-looking race so I signed up.

In the week leading up to race day, I had several schedule changes– first I was supposed to be in DC on the 18th, then I was supposed to be in Galveston, then I didn’t have to be anywhere. I decided that it would be a shame not to stop by Alexandria en route, so I left Friday afternoon after work, flew through a stiff headwind, and landed in Alexandria about 930pm, at which point I shot the required 3 landings needed to regain my night currency. After a delicious dinner of shish kebabs, I visited with Mom and my cousin Melissa (the same one who runs marathons!), then hit the rack. The next morning featured plenty more visiting; I left AEX for Austin Executive about 1130.

My flight to Austin was perfectly uneventful, although cloudy, so I was able to shoot the RNAV 13 approach when I got there. The staff at Henriksen Jet Center had a car for me, so I headed out for packet pickup, which was at Jack and Adam’s Bicycles. Frankly I was a little disappointed– given that Austin is such a bike mecca, I was expecting a bigger, fancier store with more stuff. Maybe the location on Lamar isn’t their biggest one? In any event, after packet pickup, I went to meet Erik, Chris, and Chris’ family at Takoba, where I had a truly excellent Mexican meal. (Having said that, I have yet to have a bad meal in Austin, so keep that in mind). Erik and I went around the corner to The Brixton for a beer, where we watched an epic thunderstorm ravage my bike while we chatted. Because I didn’t want to stay out too late, I headed over to Chris’ since he had generously offered me his guest bedroom. I got to meet all four of his dogs and hear about his recent adventures getting his EMT certification at Remote Medical International, which sounds like exactly my kind of place. I was sound asleep by 10pm.

Race morning dawned but I couldn’t tell; there was a heavy, low overcast. EDC was reporting a 700’ ceiling, and the radar didn’t look too favorable either. I retrieved my still-damp bike, loaded up my bag, and headed out to Pflugerville. After a quick stop at HEB, a local grocery store, I found the race site, parked, and got everything set up in transition, with plenty of time left over; the organizers delayed the race start for 15 minutes because of the weather.

Side note: I wish I had read this list of tips on how to deal with rainy races before the race!

The swim was 500 yards in Lake Pflugerville, a city reservoir. My goal was to swim at a steady pace that I could sustain without stopping, and I did. Unfortunately it was slower than I wanted. I had a good steady rhythm though. I was further slowed by the huge fields of hydrilla growing underwater along the return leg of the course. There is more weed in that lake than a Willie Nelson concert. I literally got tangled in the weeds on the return leg; they reached all the way up to the surface so it wasn’t just that my body position was poor. This was both disconcerting and aggravating. Apparently this is a known problem and the city cleans the weeds out every so often.

T1 was slow. I need to work on this. Part of the problem was that I spent some time trying to figure out why neither my HRM nor my on-bike iPhone mount were working. (HRM battery died, iPhone mount got water in it so the ANT+ key is apparently broken). As an experiment, I took 200mg of caffeine in T1, but didn’t eat anything else.

The bike leg felt really solid. The course had lots of little rollers, which were no problem. Not having cadence visible on the handlebars bugged me a lot for the first half but then I got used to it. We had a HUGE rainstorm from about miles 7-11 which slowed me down a bit, but overall I was pleased with my average speed. Despite my speed, though, I was getting passed left and right. Apparently Austin has a lot of really fast cyclists after all. Towards the end of the bike, I was having what felt like muscle cramps on the right side of my abdomen— not GI, but more like the feeling after you do a ton of planks. Not sure what brought that on, but it didn’t last; I am not sure whether it was temporary cramping brought on by electrolyte imbalance, bad posture, or just bad luck.

(For your entertainment, here’s a video of the bike leg. I shot it with a Garmin VIRB mounted on my aerobars, then ran it through Microsoft’s Hyperlapse Pro software to speed things up. For another time, a post on Garmin’s VIRB Edit software and how to make it work properly.)

In T2, I ate a Gu, drank a bit of Mercury, and emptied some of the water out of my bike shoes before taking off on the run The run was a packed gravel trail around the lake. I was really slow going out at first but settled in about halfway. For the first part of the run, I was running until I felt like I had to puke, then I’d walk, then when it passed I’d run more. I don’t know if it was the caffeine, the heat, or just bad luck; I’ve never really had that problem before. Luckily, it went away partway through, and I ended up with big-time negative splits: 11:22, 10:33, 8:51. The splits reassured me about my progress towards readiness to do an Olympic-distance race.

The race was very well organized and supported. Like many larger races, they had a professional announcer/DJ who played good music before the race and called out finishers’ names as they crossed the finish line— always a nice touch. I wasn’t hungry after the race, so I didn’t sample any of the post-race goodies. For swag, I got two hand towels, a bike bottle, and a small dog tag (plus my race shirt): not a great haul, but not the worst I’ve ever had. I can always use more triathlon-themed hand towels for the guest bathroom!

When I first saw my results I was pretty disappointed at my overall rank. However, after I plugged my results in to my tracking sheet, things looked a lot better. Austin has TONS of triathletes and yesterday, most of them were faster than I was, but I am headed in the right direction– I was faster on the bike than in New Orleans, my swim time was on par on a 20% longer distance, and my run splits were terrific. Onwards!


Filed under Fitness

Setting the record straight on Microsoft and subpoenas

This week I had the opportunity to present a session called “Cloud Best Practices” at the Alabama Digital Government Summit. I had a great time— it was fascinating to see how many different agencies in our state are putting advanced IT to work to save money and get more done for the taxpayer. However, there was one blemish on the experience that I wanted to polish away, so to speak.

Part of my talk concerned the fact that no matter where you live, your local government has lawful means to get your data: they can subpoena you, or your cloud provider, to get it. There’s nothing that you can do about it. It’s a feature, not a bug, of modern legal systems. I often talk about this in the context of people’s fears that the NSA, GCHQ, or whomever will snag their data, by lawful or unlawful means. Here’s the slide I put up:


I don’t think these are controversial assertions. However, at this point in my talk, Stuart McKee (chief technical officer for state and local government at Microsoft) flatly asserted that Microsoft does not comply with government subpoenas for customer data; I believe he used the word “never”. He went on to say that Microsoft has a pattern of resisting subpoena requests and that this “has gotten [them] into some trouble.” He concluded by saying that Microsoft’s standard action is to tell governments that they must subpoena the data owner, not the service provider.

I believe these assertions to be largely untrue, and certainly misleading. (I’ll leave aside the insulting manner in which Stuart asserted that I was wrong— after all, I am certainly wrong sometimes and generally appreciate when people point it out.) I want to set the record straight to the extent that I can.

First, Microsoft absolutely does comply with lawful subpoenas for customer data. This page at Microsoft’s web site summarizes their responses to lawful legal demands for customer information (both information about customers and information belonging to customers) across a broad variety of jurisdictions, from Argentina to Venezuela. To assert otherwise is ludicrous.

Second, Microsoft has a pattern of complying with these lawful subpoenas, not refusing them. When Stuart said that Microsoft is “in trouble” for refusing a subpoena, I suspect that he’s referring to Microsoft vs United States, where the issue at hand is that Microsoft was served a search warrant for data stored in a Microsoft data center hosted in Ireland. The data are stored there because the customer is located outside the US. Microsoft moved to have the warrant vacated, and when that failed, asked the cognizant district court to vacate it. The district court upheld the original warrant; Microsoft refused to comply and was held in contempt. Now this particular case is working its way through the US federal court system.

Let me be clear: I applaud Microsoft for standing up and resisting the overreach in the original warrant— there doesn’t seem to be (at least not to my layman’s understanding) a right of the US government, at any level, to subpoena data belonging to a non-US person or organization if it’s stored outside the US, even if it’s held in a cloud service operated by a US person or organization. The brief Microsoft filed likens this to a German court ordering seizure of letters stored in a safe deposit box in a US branch of a German bank. Having said all that, claiming that this kind of resistance is routine is overblown. It isn’t. If Microsoft were refusing subpoenas left and right, the numbers I mentioned above would look very much different.

Third, Microsoft’s policy is indeed to try to redirect access requests whenever possible. The Office 365 privacy page has this to say:

We will not disclose Customer Data to a third party (including law enforcement, other government entity, or civil litigant; excluding our subcontractors) except as you direct or unless required by law. Should a third party contact Microsoft with a request for Customer Data, we will attempt to redirect the third party to request the data directly from you. As part of that process, we may provide your contact information to the third party. If compelled to disclose Customer Data to a third party, we will use commercially reasonable efforts to notify you in advance of a disclosure unless legally prohibited.

In other words, Microsoft will try to redirect subpoenas from themselves to the data owner, where they are allowed by law to do so, and if they can’t, they will notify you, if allowed by law to do so. This is the only one of Stuart’s claims that I think is inarguable.

Finally, Microsoft proactively cooperates with law enforcement. The Microsoft Digital Crimes Unit newsroom contains press releases touting Microsoft’s cooperation with law enforcement agencies around the world (here’s just one example). This cooperation and disclosure extends to Microsoft proactively notifying law enforcement agencies when their PhotoDNA service identifies child porn images in customer’s private OneDrive data. I support their right to do this (it’s covered very clearly in the terms of service for Microsoft cloud services), and I believe it’s the right thing to do— but to claim that Microsoft never discloses customer data to law enforcement agencies while they are voluntarily doing so is both untrue and misleading.

Everyone’s interests are best served when everyone understands the specifics of the legal interaction between local and national governments and cloud service providers in various jurisdictions. This is a really new area of law in many respects, so it’s understandable that some things may not be clear, or even defined yet, but I wanted to correct what I view as dangerously misleading misinformation in this specific instance.

The bottom line: no matter what cloud service you choose, be sure you understand the policies that your cloud provider uses to determine the conditions under which they’ll cough up your data.

Leave a comment

Filed under Office 365, Security, UC&C