Two hour easy spin

It’s been a mild winter here but I haven’t been motivated to get my ass out on the bike much. Now that I’m planning for the Columbia olympic in May, naturally I have some fear of failure as motivation.

It felt so good to be out today. About 40F at start and 45F at finish, sunny, clear, with just a bit of breeze. I worked diligently to keep from going too hard and it mostly worked.

xkcd: Wisdom of the Ancients

If you’ve never spent time mining online forums—trying desperately to not get distracted by any shiny, off-topic links—looking for that one setting change that will magically solve a frame rate problem in your newly-obsessed-over online flightsim, this won’t mean anything to you.

If you have, it’ll make you wonder why every forum thread ever created can’t have a “final summary for the benefit of the sanity of future lost souls”. (The new holy-grail of online collaboration?? I smell a start-up opportunity.)

btw, if you don’t read regularly…you should. He’s brilliant.

xkcd: Wisdom of the Ancients
Wisdom of the Ancients

Robocopy backup to dynamically-lettered removable drive

I use a Seagate FreeAgent GoFlex USB drive to carry large install files to customer sites. I wanted an easy, portable way to keep my Flex drive in sync with the working files on my laptop’s D: drive. I use Robocopy for big backup jobs on the server application products we support so I put it to use here, too, and it worked fine. The only annoying part was editing the Robocopy statement whenever the drive letter of the Flex changed.

To get around this I named the Flex volume “flex” (original) and added a statement to find the driver letter on-the-fly.

This should work for any removable drive for which you know the volume name. Just change the text of the find "flex" statement in line 10.

  • You’ll need a copy of Robocopy. I grabbed it from the Windows Server 2003 Resource Kit and it runs fine on the XP & Win7 workstations I’m using. I think the new version might be delivered standard with Server 2008.
  • This example mirrors the entire D: drive, excluding two directories I don’t care about, to the Flex drive. If you haven’t used Robocopy, do some reading before using /MIR. It will delete anything on the destination that doesn’t exist on the source.


@echo off

echo. > "%cd%\backup_flex.log"
echo %time% *** backup starting *** >> "%cd%\backup_flex.log"
echo. >> "%cd%\backup_flex.log"

rem Find the drive letter corresponding to the removable drive named "flex"
setLocal Enabledelayedexpansion
for %%i in (d e f g h i j k l m n o p q r s t u v w x y z) do (
	for /f "tokens=1,* delims=:" %%x in ('fsutil fsinfo volumeinfo %%i: ^|find /i "flex"') do set drive=%%i

REM Mirror the D: drive to the Flex drive, excluding some directories.
Robocopy D:\ %drive%:\ /MIR /XJ /R:0 /W:1 /NP /NDL /xd "D:\Tools\Outlook offline files" "D:\Tools\Windows Search Index" /LOG+:"%cd%\backup_flex.log" 2>>errors.txt

echo. >> "%cd%\backup_flex.log"
echo %time% *** flex backup done *** >> "%cd%\backup_flex.log"
echo. >> "%cd%\backup_flex.log"

p.s. If anyone comes up with a cool way to limit the drive letters the FOR statement needs to iterate through, I’d be happy to hear about it. I spent more than a few minutes trying to work the output from fsutil fsinfo drives into the loop but I’m missing something.

for /f "tokens=1,*" %%i in ('fsutil fsinfo drives') do (
  rem iterate through the ...volumeinfo command with %%j

Wednesday Night Races – LinGin boomcam timelapse

(editor’s note: This vid showed up on on Sept 7th. We’re practically famous!)

Brian is always coming up with cool ideas and implementing them with MacGyver-esque ingenuity. For this one he took a tiny digital video camera and strapped it under the end of the boom. In post production using Final Cut Pro he flipped the image right-side up and sped it up.

This is a great perspective! It’s interesting to note that with a windward-facing camera, when we start upwind of the fleet and lead the whole race there’s only a brief glimpse of the competition after we round the first mark.

Shark Fishing on LinGin

We race LinGin Wednesday Nights in Annapolis and have a great time. We have a 45-50 minute motor before and after and we use this time to catch up and generally hang out. Tim has fond memories from age 10 racing this same boat and loves that his kids are getting to experience the same enjoyment he did. Who knew how much entertainment we could derive from their fun!

They started with all three of them sitting on the boom and before long David decided that was getting boring and wouldn’t it be cool to jump off the boom and grab the mainsheet and drag for a while. They did that in turn, dropped off one at a time and we picked them up.

That wasn’t enough, here is the second round.
Video courtesy of Brian Palmer.

First training run with Emily

Emily and I are aiming for a half-marathon together next spring, with a shorter-term goal of doing the Camp Letts turkey trot Thanksgiving Day. (I did this run last year with Tim and MJ. By “with” I mean I ran behind them at an ever-increasing interval.)

This is our first training run together and my first real run since hurting my foot in March. Here’s hoping for continued absence of pain. We’re starting very slow and plan to eventually work up to slow.