Monday, December 31, 2012

... and there's no question that Lance Mackey won the Top of the World 350 decisively. I'm a huge fan of his and I hope that he has an outstanding season. I don't think there's a smarter, tougher musher, and his dogginess is second to none. In the meantime, the extremely talented Jake Berkowitz put in a blistering run in the last leg, from Chicken to Tok, and came awfully close to second place, gaining about 45 minutes on Gerry Willomitzer in just 75 miles.

The season got off to a late start thanks to the weather, which seems to have become the new normal (not just here in Alaska, but across the globe). We went from no snow to a lot of snow to a brutal cold snap (trailbreakers for the TOTW reported temperatures below -60F in Chicken, and at least one was frostbitten). Now it's warmed up a bit and the Knik 200 is reporting on their Facebook page that a thaw down in south central Alaska is causing trails to deteriorate, possibly so badly that they may have to delay or cancel the race.

Other important races in Alaska in January include the revived Copper Basin 300, the Northern Lights 300, and the Don Bowers. It is striking how full the race rosters are, and how diverse the fields in some races can be. I'm particularly tickled to see as many as three purebred teams in some races (the Copper Basin, the Don Bowers), friends from Two Rivers, and a nice blend of experienced, top-level teams, familiar names from the middle- and back-of-the-pack, and new up-and-comers.

One of the issues that deserves some continuing attention is how to handle online presence, particularly given the very surprising number of online fans from around the world. For example, the TOTW, a brand-new race, has over 1000 Facebook fans, and the Two Rivers Dog Mushers Association has more Facebook fans than there are people who actually live in Two Rivers.

This means that there's a large number of eyeballs looking at race pages, race data, race Facebook (and other social media) pages, etc., and they'll see things that race organizers and social media managers won't. It's just a given. Mistakes happen, and they're only a big deal if they're dealt with badly, or if fans see a problem but never see it resolved because it's handled entirely behind closed doors.

It's often aggravating when someone points out a problem with the data, or complains about slow updates, etc., but I think it's pretty excellent that we've got fans who 5 years ago had no interest in dog mushing at all, and in particular fans who are paying such close attention to our events that they notice when there's a problem. This is a very, very good thing indeed - their enthusiasm buoys the mushers and the race committees, they often provide financial support to particular kennels or races, and they love our sport. When they find a problem, the best response is a "Thank you!" and an attempt to find and correct the problem when there really is one or provide an explanation when there isn't.

But I do think there are things we can do to reduce the likelihood of certain classes of mistakes (for example, there was a problem with start differential calculations in the TOTW). An Iñupiaq friend recently bemoaned that we are no longer tool builders and we no longer cherish our tools, but I'd argue that we still are, only in many cases our tools have changed. And so I think that we can build tools to make life easier for dogsled race organizers, reduce the likelihood of errors, etc. For example, we can make calculators to correctly compute start differentials, and then add those differentials to an arrival time to find - correctly - the earliest time-to-leave for the checkpoint where differentials are taken. And so on.

So, this is one of my goals (in addition to having a polkariffic year!) for 2013 - to start to put together a toolset for race organizers and managers to make our lives easier, our results more correct, and our fans less confused. I hope that organizers from other races will have ideas and/or opinions about the problems they have to deal with, and what can be done to make their lives easier.

Many dogsled race organizers have become very good at publishing the standings online as they come in from the checkpoints. The Top Of The World 350 has been an example of diligence, and having done this myself, I know it is not always an easy task.

But sometimes we want to use the data right away for our own purposes. Maybe we want the tables sorted by arrival in the next checkpoint rather than by departure from the previous one, or we're interested in run times and want to compare them. So I thought I'd give an example laying in three easy steps how I used my usual tool set this morning to calculate the TOTW mushers' run times between Chicken and the finish in Tok. In the end I'll also list a few alternatives for those who use other computer software.

Step 1: Copy the race stats table into a spreadsheet

I want to use the table entitled "Chicken to Tok Finish Line- 75 Miles" to calculate run times between Chicken and Tok. The run time is simply the arrival time in Tok minus the departure time in Chicken, but calculating this musher by musher, even with the help of a handy time difference calculator, is tedious. Therefore, I'd rather have the table in a spreadsheet I can manipulate. Microsoft Excel would work perfectly fine, but then I might want to share the result with my friends online, so an online spreadsheet like the one in Google Docs is even better. (Also I have Excel installed only on my work computer in the office, not at home.) If you've never used a spreadsheet, no fear -- this is an easy introduction to them.

I use an older Macbook Pro with OS X Snow Leopard, but all of these steps would work identically on Windows or even GNU/Linux, if you use the Google Chrome browser with the (free) "Table Capture" extension installed. This is a very simple extension that makes it particularly easy to get a table from a web page into a Google Spreadsheet or to copy it anywhere else really, like a MS Word document. Here is a screenshot of how it works (click to embiggen, as they say):

When you click the little red table icon in the address bar (right edge, next to a few other tool icons), a list of all tables on the page appears, and scrolling down the list each table is highlighted (red frame) in turn. If you hit "To Google Doc", a new Google spreadsheet opens (you're asked to log into your Google account if you aren't), and you're asked to use the "paste" function to transfer the table:

Voilà.

Step 2: Clean up the spreadsheet

The previous step leaves us with the data correctly inserted in the spreadsheet, but before we can use them, it is time for a few clean-up tasks. The easy ones first:

We want to give the spreadsheet a name, such as "TOTW 350 Chicken - Tok Finish - unofficial".

Then we observe that the first row, the one that says "Bib Musher..." is not a data row but contains the labels of the data below. To make Google understand that, I grab the little grey-striped handle at the top-left (red arrow just above the number 1) and pull it down one row. This handle separates the data from the header, and you can just pull it down. It ensures that when the table is re-sorted, the labels always stay on top.

Third, Crispin Studer's arrival time was indicated as 24:11:00. But when we calculate differences, we would rather have this as 0:11:00, 11 minutes after midnight, so I changed the 24 to a 0.

Google correctly recognizes the data as times, which is great, and formats it accordingly. But we still have the problem that when we want to calculate the difference between "Time Into Tok" and "Time Out Of Chicken", the times aren't all from the same day: some are Dec 30, and some Dec 31. Also, if we want to compare times across the entire race, there may be several days between points-in-time. So we have to bite the bullet and add dates to the times. The most straightforward way is to double-click on the first time field (Lance Mackey - Time Out Of Chicken - 6:52:00), then click once more in front of the text, and to type in "12/30/2012 " (the space at the end is important). Once you're done with the first row (Lance), you can select/copy the bit of date text and use "paste" for all the other fields. Careful, some of the times in the "Time Into Tok" column need 12/31/2012 " instead.

Phew, that was the most tedious step of the entire task. Luckily this isn't the Iditarod with 150 time fields to edit! The end result of the cleaned-up spreadsheet looks like this:

Step 3: Calculate run times

The run time is now simply the difference between the Time Into Tok (column E) and the Time Out Of Chicken (column C). I add a column at the end to hold this data and call it "Run time", and start at the top with Lance Mackey, row 2. The formula for his run time is "=E2 - C2", with a minus sign, and an equal sign to indicate that this is a formula, not text, that I'm typing into the first field of my new column. I could also type "=", then select Lance's Time Into Tok, then "-", then select his Time Out Of Chicken. The result appears as soon as I hit Return, and oops! It's a number like 0.39236111...! No panic, Google simply needs to be told that the difference between two date-time stamps is a time (I'm not sure why it can't figure this one out by itself). The format of the field needs to be changed via the menu:

That is, go to Format > Number > Time, and the 0.39... will change into a time (9:25:00). Now I only have to grab hold of the little blue square at the bottom-right of the new field and pull it down the entire column (at least for the mushers who HAVE times in both the Time Into Tok and the Time Out Of Chicken fields), and there we have it -- run times:

We can even sort the table by run time (the down arrow next to the column letter G), and see that Jake had the fastest time on the last leg, Joar had a fabulous run time as well, and also that Matt Hall stepped on the gas again.

That's it! It took me a lot less time to do than to eat my breakfast.

At this point you may have some objections.

Objection 1: I don't use Chrome!

The main difficulty is to get that damn HTML table out of the web page and into a spreadsheet. There are many ways to do this, but unfortunately they tend to be fiddly and not work on every computing platform the same. You could try to just select the entire table text with the mouse, copy, open the spreadsheet, and then paste, but whether this works depends on a rather large number of factors: the web page itself (how the table code is written behind the scenes), the operating system you're using (which manages the clipboard for copy-paste), the browser (for interfacing with the clipboard) and the spreadsheet software. I've had good luck and bad luck. Microsoft browsers on Windows with Excel usually work well together, but that's not what I use at home. However, for many browsers, there are now extensions available that make copying tables easier. For Chrome, the Table Capture extension works great for me. For Firefox, I've seen a few extensions that do this and for this article tried two:

Objection 2: Math?! Date formats?! Are you kidding me?!

It's really not hard. If you've never used a spreadsheet formula before, you'll probably be surprised how easy these tools make it to get really useful small tasks done. The main point to understand is that you can simply subtract, say, 5 pm on the 30th of December from 2 am on the 31st and get a time difference -- how many hours, minutes and seconds are between these two points-in-time -- and that the computer needs to be fed clean and consistent values to be able to understand times, dates and timestamps (the combination of a date and a time-of-day, simply speaking). So data needs to be in a format the computer can read, and for Google in the USA language setting, "12/30/2012 19:36" works fine. It will also understand the international (ISO) format "2012-12-31 19:36" for example. I admit that getting this right is the most fiddly part of the entire thing, but in the end it's just about getting used to conventions of how to write dates and times.

Objection 3: I'm a programmer and I really don't want to edit data fields by hand!

OK, if you aren't a programmer, stop reading. No harm done.

Seriously, the following comes with a jargon warning.

You are a programmer? You have heard the term "regular expression" before? OK, on your head be it!

Google Docs does in fact offer regular expression find-and-replace, but it's not well documented. So with this information, here's what I did:

For the non-programmers who have read on out of curiosity, this means in words:

Find any text in the spreadsheet that has at least one digit (\d+) at the beginning of the cell (^) followed by a colon (:)

Replace it with the text "12/30/12 " followed by itself (that is, the text we just found), referred to as $1.

I then hand-edited the small number of cells that needed 31 instead of 30. Google takes care of reformating the 12 into 2012. The parentheses are required. Otherwise you'll get an error message.

That's it! But really, editing the 30 or so fields by hand wasn't that hard either.

So, here's my take on what happened with start time differentials in the TOTW.

The standard way to calculate differentials for a given musher is to subtract his bib number from the total number of entrants and then multiply by the start interval. So, for example, the differential for bib 25 in a race with 25 entrants and a 3-minute gap between starts would be 0, because

(25 - 25) * 3 =

0 * 3 =

0

Note that this seems intuitively correct. (Good rule of thumb - if the last musher out has a differential other than 0, ask what's going on). Similarly, bib 13 in a race with 25 entrants and a 2-minute gap between starts would be 24 minutes, because

(25 - 13) * 2 =

12 * 2 =

24

But on the TOTW website, we have a problem. Let's look at Lance Mackey, who's got bib 16 in a field of 23 (note that the honorary musher Chief Isaac Juneby is shown as starting at 14:00, and the musher who was actually on the trail first left at 14:02). So, Lance's start differential should be:

(23 - 16) * 2 =

7 * 2 =

14

The earliest time out of Chicken should be 4 hours from arrival plus the start differential. In Lance's case, he arrived into Chicken at 2:34, so his earliest time out should be

(2:34 + 4 hours) + 14 minutes =

6:34 + 14 minutes =

6:48

but if you look at his earliest out on the website it says 6:52 - 4 minutes more. If you go through the list of mushers everybody's got an extra 4 minutes tacked on. Except ...

Jake Berkowitz has bib 22, so his start time differential should be 2 minutes (this one's easy!). If the same error applied to everybody else had been applied to Jake, his earliest time out should be his arrival in Chicken time + 4 hours + 6 minutes (with the extra 4 minutes tacked onto the correct start differential). He arrived at 4:04, so his earliest departure time (including the 4-minute error) should have been

(4:04 + 4 hours) + 6 minutes =

8:04 + 6 minutes =

8:10

On the website, which may be maintaining their own numbers independently of the checkpoint staff (that is to say, the numbers may be different in the two places and the website should never, ever, ever ever ever be taken as authoritative for any race in progress), it says that his earliest time out should have been 8:22. Oops. That's basically a 12-minute unearned penalty, if that's the official time.

According to the website, everybody who's out of Chicken so far left at the (incorrect) earliest out listed on the website. (Gerry went out a minute later - his prerogative). Jake is listed as having gone out at 8:22. However, if you look at his personal tracker he started moving sometime between 8:11 and 8:14 (looks like he reset his tracker at 8:14 - such a mensch!).

If I had to guess, I'd guess that they have his incorrect-but-correct time at the Chicken checkpoint - they have the 8:10 time, not the 8:22 time, and that the folks maintaining the website are in some cases just using their own earliest time out as the departure time, rather than the actual departure time. Telecommunications and internet access in remote parts of Alaska is extremely difficult and satellite phones are insanely expensive (for airtime), so if they want to show that someone's actually left and don't yet have the real departure time, this doesn't seem unreasonable. This one just popped out because 1) Jake's start differential was calculated incorrectly on the website, and 2) Jake has a tracker so everybody out here in internet-land can see what's going on.

I tend to think there's not actually a problem in the race, just in the website. Fortunately if there is a problem in the running of the race, the estimable Mike McCowan is the race marshall and we can be confident that any problems will be resolved in a way that's both legal and just.

Saturday, December 29, 2012

According to the North Hope sled dog race website, the IFSS anti-doping rules are finally being revamped under the leadership of ISDVMA president Caroline Griffits, and there will be a seminar on the topic held in conjunction with the race. That's the good news. The less-good news, at least for those of with limited coin and/or time, is that it's in Russia, albeit western Russia (Kostroma Oblast). On the other hand, frankly, some of the crazier stuff in the IFSS anti-doping regime came out of Europe and I hope that European IFSS delegates/participants will be able to participate.

Friday, December 28, 2012

As I write this it's 5:20pm on December 28 in Alaska, and the most recent report is that ?many? ?some? ?all? mushers are resting at the 40-Mile hospitality stop (this is not a checkpoint in either direction). It's 56 miles from 40-Mile to Eagle Village, which might reasonably take anywhere from 4 hours to 8 hours depending on the trail and on the team. I'm guessing that a lot of teams won't be getting into Eagle Village until 10pm or later, raising some questions about the potlatch and dance. It sounds like an event that nobody would want to miss, so I'm hoping it all works out.

The race start is tomorrow afternoon at 2pm. I gather from the Facebook page that a lot of people are still confused about the format. Tamra Reynolds mentioned that the Yukon Flats race had the same format (which I didn't know), so this is not a completely new idea even though it is unusual. Probably wouldn't hurt if they changed the text on the Race Stats page so that it didn't say "Start Order, Tok." That table actually reflects the results of the bib draw, but teams left Tok when they felt ready rather than by the clock, and the last musher to leave was Jodi Bailey, following shortly after Dan Kaduce. There's also some inconsistency from table to table, plus some stuff that's just not very clear. For example, there's a time for Brian Wilmhurst's departure from Chicken, but not anybody else's. We shouldn't care when Brian left, just that he did. I'd probably also get rid of the arrival order ("Pos") into Chicken, since I think it likely contributes to some confusion.

Note that this is a case where you don't want the teams you're rooting for to gun it on the way up and burn out their dogs, because whatever happens in terms of speed and positioning from Tok to Eagle Village does not contribute to the race results.

Thursday, December 27, 2012

I went down to Tok yesterday for the start of the Top of the World 350. I made it in time to check into the surprisingly comfortable hotel at Fast Eddy's (if you've traveled the Alaska Highway you've got a pretty good idea of what kind of accommodations to expect - not good. But this was clean, functional, and pretty quiet), have a cheeseburger, and then head over to the Tok Dog Mushers Hall for the mushers meeting.

This was my first time in the Tok Dog Mushers Hall, and wow. Pretty much anybody who's influenced sprint mushing has his or her name on the wall, with some classic photographs and past championship results. While a disappointing number of mushers dropped out of the TOTW before the start (some due to health problems, some due to logistical complications, etc.) the field is still extremely impressive, from established stars like Lance Mackey to up-and-comers whose names you'll be hearing often over the next few years. Special mention to Amanda Gecas, a young local musher who we've seen coming along in the Two Rivers Dog Mushers Association races and who left the yard in Tok looking like a seasoned pro.

The format is unusual and it's pretty clear from some of the comments on the race's Facebook page that there's still some confusion about how it's being run. While the "start" was this morning, the run from Tok to Eagle Village is a fun run and does not figure into the race results at all (although it's factoring into some mushers' strategies). Once the mushers arrive in Eagle Village there's going to be a potlatch and dance, and then the race itself is from Eagle back to Tok, and starts December 29th. That said, pretty much everybody I talked with said that they were thinking they'd have a relaxed, slow run up because the other teams would start feeling competitive on the way up, let their dogs run, and be more tired during the actual race portion of the event. Can't wait to see how that turns out.

The race organization is doing an impressive job, putting together a logistically complicated race (the road to Eagle closes in the winter) in a relatively short period of time, and rallying community support in Tok, Tanacross, along the Taylor Highway, and in Eagle Village. They were able to get Mike McCowan as race marshall, and some expert media teams to cover the event as it happens despite its relatively remote location.

I've posted some video from this morning. While it looks chaotic it actually wasn't; mushers got their dogs on the line on their own schedules and left when they were ready. I'd been expecting a mass start along the lines of what you sometimes see in sprint mushing, when "mass start" really does mean that everybody leaves at the same time. This was relatively mellow and had a happy vibe. Here's the video:

I'll edit video from the mushers meeting and get that uploaded tomorrow.

Another note: the race is not being tracked, but Jake Berkowitz has a personal (i.e. not race) SPOT tracker on his sled and has it online, here.

Monday, December 24, 2012

The 2012/2013 race season is off to a slow start here in Alaska, due in part to poor snow conditions and in part to cold temperatures. Here in the interior, the Two Rivers Dog Mushers Association had to cancel our early season fun run, the Two Rivers Tuneup, because there wasn't enough snow. We finally got a nice dumping right before the Solstice 100 but the temperature plummeted immediately afterwards and we could not in good conscience ask our trail crew to risk their safety and their equipment to put in a trail. Yes, it was that cold.

In other locations around Alaska, the Sheep Mountain 150 was cancelled because of poor snow. Fortunately races in the Mat-Su Valley the last two weekends were able to come off (the Alaska Excursions 120 and the Aurora 50/50). The first really big-deal race, the Top of the World 350, is this coming weekend, with a fascinating format and an extraordinary field of teams. I'm going down for the start, and hope to be able to grab some video of their mass start. They'll have a fun run up the Taylor Highway from Tok to Eagle, have a potlatch in Eagle, and then race back to Tok. The race is to honor the memory of Chief Isaac Juneby and promises to be a really special event. They won't have trackers on the dogsleds this year but it's my understanding that Scott Chesney will be travelling the trail on a snow machine, so we can look forward to some outstanding photographs and video.

A couple of things have come up that I'll be writing about when I get a bit more free time. One is that Trackleaders has added some new features that we'll be exploring, including a replay button to allow you to replay races. It promises to be an interesting tool. I'm hoping that they'll beef up the race flow chart but so far it appears to be much like last year's. It's a fantastic tool for understanding the race being tracked and I hope it gets built out a little bit. (I also think that IonEarth, the folks who track Iditarod, should look at Trackleaders' software and learn a thing or two about data presentation - their software is absolutely primitive by comparison).

Another thing that's come up and is enormously interesting (to me, anyway - it's likely to be a yawner for a lot of people) is that there are questions about last year's Yukon Quest corrected run times. I haven't taken it apart quite yet but it looks like there are some problems leading to nonsensical numbers. Note that this has absolutely no impact on the outcome of the race, but it's a puzzler and I'll be looking at it when I get a chance.

Monday, December 3, 2012

According to this article by Helen Hegener, Mark Gillette and Scott Chesney are going to be back this year, providing video and photographs from the Yukon Quest trail. They did an exceptional job last year and provided an excellent example of what's possible with cheap GoPro cameras if you've got some skill and some talent.

For example, video from the start:

A wrap-up of moments large and small from the race:

and definitely take a look at their photos on Facebook, and on Flickr if you don't use Facebook (the Facebook albums are more complete).

However, this year they're self-funded (that is to say, unlike last year they are not getting financial support from the Quest organization), and in addition to the videos and photographs they'll be producing they're also going to be publishing a high-quality coffee-table book with images from the race. They're using a community-funding model to help support what they're doing, and providing incentives at differing funding levels. That is to say, they're asking for your help, but you get something in return for your support. For example, for $50 or more you get a copy of the book, while at $150 you get an autographed copy of the book along with an opportunity to spend time with one of several very popular Quest mushers. For $500 you get a copy of the book and participation in a post-race photographic workshop. The Kickstarter link to help fund their effort is here.

I think for a lot of us who love this race, it's not just that it's an exciting sporting event but that we care about the people and dogs who run it and that we know that there are stories coming from the trail that are dramatic, funny, moving, and engaging. Scott and Mark are going to be bringing those stories in from the trail through pictures and video. If you care about the race I think this is one way to support it.