All Feeds | XSL | RSS | Embed | Edit,1999:blog-107412332018-10-05T00:57:37.174-07:00brian.dunningtonbrian dunnington, Box Derby 2015

After racing the kayak-strapped-to-two-bikes for the past couple of years, we decided to make some changes. This year we removed the kayak in favor of a couple of old office chairs and a cinder block. Not the prettiest machine out there, but definitely fun to build and race.

As you can see in the clip above, we fell behind to the chicken racers early but just about caught up right at the finish line and lost by a hair. All in all, quite an entertaining way to spend a Sunday on Whidbey Island.

brian dunnington, Hot Spring #microadventure - February 2015February's #microadventure involved some hot springs out in the woods and had this simple formula: brian dunnington, Falls #microadventure - Jan 2015

I am determined to get out for a #microadventure each month during 2015 and even though I waited until the last day of the month, January's trip to Wallace Falls was a success. 11 more to go!

brian dunnington, Box Derby - 2014

Our Soup Box Derby racer was pulled out of retirement (and out of the weeds that had grown over it) for the 2014 race. We won two out of three of our heats, which isnt too bad for a couple of bikes we found on the side of the road, bolted together, and strapped a kayak on top of.

Nemo's Nemesis has now officially been retired and we will be back with an all-new racer next year!

brian dunnington, Island Triathlon - 2014

Second time doing the Whidbey Triathlon this past weekend. A few minutes slower than last year, but had a good time as always.

brian dunnington, Adventure 2014 - Mountain to Mountain

This year's Summer Adventure idea was cooked up by Chris: how about we climb Mt. Adams, mountain bike over to Mt. St. Helens, and climb that as well?

After the last couple of adventures and too many Lost Paddle Awards to list, I was definitely worried about our chances of success. But in the end, we didn't have any (major) issues, completed the entire adventure, and even had a little bit of fun doing it.

brian dunnington, questThe folks that put on the San Juan Island Quest adventure race that I did a few years ago had a new race in Bellingham this year called the Kulshan Quest. Six hours of kayaking, biking, and trekking in the waters and woods near Chuckanut Bay on a gorgeous summer solstice day - can't really beat that!

brian dunnington, microadvenue

Starting a new job caused me to miss a #microadventue in February so I was determined to get out during March. Big thanks to Chris for coming up with a great idea on short notice. A little stealth camping on an island only a stones throw from the shopping mall was a great way to spend a night under the stars.

brian dunnington, year, new adventures

Continuing the theme from last year, I am trying to sneak in one #microadventure each month. This month, I didn't have to travel too far from home to find a completely secluded spot. Even though I could see Deception Pass bridge in the distance, my special spot ensured that there were no other folks around and anybody who wants to have this same view will have to work for it a bit.

A beautiful sunset followed by a crystal clear night under the stars is definitely not the worst way to spend a cool January night. Why not get out there and have a little microadventure of your own?

brian dunnington, Microadventure: snow biking + camping

Take one bike with fat tires, add one kid's sled, sprinkle in a generous helping of snow and you have yourself one mighty fine little overnight adventure.

brian dunnington, Fat Bike DayDid you get out and ride your fatbike for Global Fat Bike Day? What's that? You didn't know it was Global Fat Bike Day? And you don't have a fatbike to ride? Sheesh! Well, I got out and had a fun ride, so you can live vicariously through me. brian dunnington, microadventure

For October's microadventure, I decided to keep it close to home. Very close.

brian dunnington, microadventure

Chris and I have a big bike adventure coming up in July (riding and mapping out the WaMBR Trail) so we decided to do a shorter overnight trip to test out some gear and work out any kinks.

We started at the top of Lincoln Grade in Prosser and pretty much rode due Eest, staying right along the edge of the ridgeline that runs high above the Yakima River valley. Some of it was dirt roads, some of it was skirting the edge of wheat fields, and some of it was just straight cross-country over sagebrush and cheatgrass. We slept under the stars (and some microwave towers) and when we eventually ran out of ridgeline, we dropped down to the canal bank and rode all the way back to his house. Chris put the route info online and generated the map and elevation profile below.

It turned out to be a really fun ride and definitely got me excited for our bigger trip coming up next month.

brian dunnington, Days Of Biking

About a month ago, I heard about a challenge called 30 Days of Biking. It is just what it sounds like: you ride your bike for 30 days straight during the month of April. I thought is sounded like fun, so I decided to take part.

I have to confess that I did skip two days while I was sick, but I did go for some extra rides on other days to make up for it. Each day, I took a picture during my ride and now that the challenge is over, I decided to compile the pictures into a single image that represents the entire month.

I tried to explore new places and not get stuck in a routine of the same old rides, which made it really fun to get out and ride each day. The official #30DaysOfBiking only takes place once a year, but why wait? Get out there and start riding your bike today!

brian dunnington, Microadventure - Whidbey Fatbike Beach Ride

The adventure for April was an overnight bike beach ride. I rode down the western shore of Whidbey Island, camped out under a super bright full moon, and just generally had a fun time on my monster bike.

brian dunnington, Microadventure - Whidbey to Camano paddle

April is nearly over but I realized that I never posted about my March #microadventure. I paddled from Whidbey across Saratoga Passage over to Camano Island State Park. It was great weather (especially for March) and I spent most of the time just lounging around on the beach. I camped out overnight and paddled back the next day for a very relaxing and enjoyable quick trip.

brian dunnington, Lake Snowshoe

Inspired by Alastair Humphrey's idea of microadventures, I decided I would try to do a small adventure once every month in 2013. Well, January came and went and I didnt do anything - not a great start. February was quickly passing as well and eventually I found myself on the last day of the month and I still hadnt done a thing. That just wouldnt do though, so I decided I better get out there before the month completely passed me by.

Since it is wintertime here in the Pacific Northwest, I wanted to take advantage of the snow. I planned to snowshoe and camp up at Artist Point, near Mt. Baker. However, a bunch of warm weather and rain had caused the avalanche danger to increase significantly. Not to be deterred, I pulled out my copy of Snowshoe Routes - Washington to look for an alternative. Lanham Lake near Stevens Pass stood out as a nice short trip with a great little lake to camp at and virtually no avalanche danger. So I hopped in my truck and headed out.

The avalanche danger still caught up with me though, albeit in a different way. The WA Department of Transportation was going to be closing Stevens Pass at 2pm to do avalanche control work. The closure could last up to 4 hours, which would mean zero daylight for the hike. I was in Everett at 12:30, so I knew I would be cutting it close, but as the mile markers passed, it looked like I might just make it. I knew the closure was at milepost 58 and as I passed milepost 57, I still had 2 minutes to spare. However, just up ahead, I could see some flashing lights and a few cars already stopped in the road. Just missed it by literally a minuter or so, so I spent the next two hours sitting and waiting.

When the road finally opened and I got to the trailhead, It was almost 5pm. Darkness comes early in the winter here, but the days have been getting ever so slightly longer lately so I headed out. I crested the first rise with little daylight to spare and an hour or so in, it was getting dark quickly. I pulled out my headlamp and continued on - snowshoeing through the snow-covered forest with no one around in total darkness was very serene and peaceful. Finally, the rain that had been threatening all day started to come down, and come down hard.

I found a nice spot just off the trail and tramped down a flat area for my tent. I melted some snow and boiled up some ramen noodles, but the rain was really coming down hard so I had to eat quickly and take refuge in my tent. All night, the rain poured and wet snow dripped off of the trees.

By morning, everything was soaked so I tore down camp quickly without eating breakfast. I continued a short ways up the trail to the actual shore of the lake to have a look around. The snow covered lake was perfectly still. I hadnt seen anyone or any sign of tracks at all, so I had the place to myself. After taking in the views for a bit, I turned around and headed back out. The rain was still falling, but not quite as hard. I made quick work of the downhill return trip and was back at my truck around 10am - just about 24 hours after setting out.

Due to the fading light and pouring rain, I didnt get many photos or video, but here is a very short glimpse of the trip.

brian dunnington, Juan Island Quest

After about a seven year hiatus, I competed in another adventure race this past Saturday. I saw a actually saw poster for the San Juan Island Quest while riding the ferry and thought it sounded like fun. Although they offered a 12-hour course as well, I decided that the 6-hour course was a better idea, so I signed up, loaded up my truck, and headed over to beautiful Orcas Island.

Race Headquarters

My bike getting ready for the event

The competition milling about

After a bit of delay, we got started at 12:15. First off was the mountain biking leg, which required a long, steep climb and then some fast, fun downhill. Unfortunately, it seemed like more up than down to me, but it was a beautiful area and I couldnt complain at all.

Checkpoint #2

Then it was on to the kayaking. The sun was just coming out and the water was smooth as glass. Great day to be out on the lake paddling.

Just completed the kayaking leg

After a short bike back to the HQ, it was off to the trekking portion. I am not a runner, but I used some good navigation to pick up a few places by being smart instead of fast.

Cascade Falls

Atop Sunrise Rock

After the last checkpoint, we had to canoe a couple hundred yards and then return to the finish line. I came in around 6:25pm or so, putting me just barely over the 6-hour mark. Out of 14 teams, I came 7th, which I was pretty happy with. (The guy who won runs ultra-marathons in the Alps for a hobby, so I didnt feel too bad).

Anyway, it was a great course, beautiful day, and overall fun event. Definitely planning on doing it again next year!

brian dunnington, on WinRT bug

tl;dr SQLite on WinRT needs to have its temp directory manually specified to avoid random silent query execution failures. Skip to the code

While working on a Windows 8 app that uses a SQLite database, I was running into a very strange bug. I would construct a query that would work fine, but when I added certain columns to the ORDER BY clause, suddenly no results would be returned. I ruled out syntax issues since the same queries worked fine when ran in SqlSpy. After much debugging, I finally decided it was just a bug since I was using the Release Preview of Windows 8, beta version of VS 2012, and a pre-release version of SQLite with preliminary support for WinRT.

Fast-forward a few months and the bug cropped up again. This time, I added an additional single column to the SELECT clause and the query broke. By now, I had upgraded to the RTM version of Windows 8 and was using the official WinRT build of SQLite so I was less confident that it was just a beta bug. I decided that I needed to dig deeper.

Whenever the issue cropped up, the SQLite.Step() command would return 'CannotOpen', which the documentation simply says means: "Unable to open the database file". A call to SQLite.GetErrorMsg() returned "library routine called out of sequence" for which the documentation listed several possible causes, but none of them really applied. The database was definitely opened correctly and not closed unexpectedly. The calling code was isolated to single thread, so no wonkiness there. The issue was occuring on the Step() command, but the statement pointer was definitely prepared properly and valid.

At this point, I could only assume the issue was deep in the bowels of the sqlite3.dll and I was not sure what to do. I googled a bunch of things on hunches, but nothing was coming up. Finally, I stumbled across a posting by a guy having a semi-similar problem. He was executing statements inside of a transaction and having some work and some fail. Several folks had suggestions on things to try, but nothing worked. Finally, Joe Mistachkin replied with this nuget of wisdom:

Setting the sqlite3_temp_directory to the value contained in the "Windows.Storage.ApplicationData.Current.TemporaryFolder.Path" property should clear the issue. This can be done immediately after opening the connection using PRAGMA temp_store_directory command on the newly opened database connection.

Of course! WinRT apps cant access the full file system the same way that normal desktop apps can. In fact, by default, they can only access their own installation location. Apparently, sometimes SQLite needs to write to temporary files in order to execute queries and perhaps my changes were just enough to cause the database engine to need to use such a file. Joe's advice made sense in that SQLite for WinRT would need to be told where it was allowed to store temporary files.

A quick look at the temp_store_directory documentation made it clear that this PRAGMA was deprecated and should not be used. (For those that dont know (like I didnt), a PRAGMA statement is a SQLite-specific command that can be used to modify the operation of the SQLite library.) Now that I knew the cause of the issue, my googling was better focused and I found this advice that it was fine to use the temp_store_directory setting in this case.

So armed with a potential solution, I coded up a quick test and it did indeed solve the issue - success at last! For those using Frank A. Krueger's sqlite-net wrapper, here are the changes required (all in the SQLiteConnection class):

static bool isTempStoreSet;

public SQLiteConnection(string databasePath, bool storeDateTimeAsTicks = false)
    DatabasePath = databasePath;
    Sqlite3DatabaseHandle handle;
    var r = SQLite3.Open(DatabasePath, out handle);
    Handle = handle;
    if (r != SQLite3.Result.OK)
        throw SQLiteException.New(r, String.Format("Could not open database file: {0} ({1})", DatabasePath, r));
    _open = true;

    /* NOTE: Added to ensure that the temp directory is correctly set for WinRT apps.
     * See:
     * */
    if (!isTempStoreSet)
        Execute(String.Format("PRAGMA temp_store_directory = '{0}'", Windows.Storage.ApplicationData.Current.TemporaryFolder.Path));
        tempStoreSet = true;
    /* END NOTE */

    StoreDateTimeAsTicks = storeDateTimeAsTicks;

    BusyTimeout = TimeSpan.FromSeconds(0.1);

That was one of the longest bug-hunting expeditions I had been on for a long time, so I was glad to finally get it sorted. Thanks to the wonderful internet for being filled with folks much smarter than me for doing most of the hard work - I just wrote it up here so it was all in one place and hopefully will help somebody else out in the future.

brian dunnington, Rob

Hope you found the peace that eluded you in life.

brian dunnington, Fun on the Sauk

Got out kayaking on the middle section (Whitechuck to Backman Park) of the Sauk this past Saturday and it was a great time. Beautiful sunny day and fun whitewater - not the worst way to spend the day!

(You can see me flip just after 4 minutes in, and the best whitewater is about 5 minutes in if you are just looking for the good stuff).

brian dunnington, Olympic TraverseWell, this summer's big adventure was to be a 116 mile traverse of the entire Olympic Peninsula by foot and boat. Things didnt quite go as planned, but we still had a good time anyway. Here is a glimpse of what we saw and how things turned out: brian dunnington, Lower Green Gorge

got out this past saturday for some cold-weather kayaking. this was my first time taking video while kayaking so it is not the most exciting video, but still gives a sense of how beautiful the scenery is.

brian dunnington, sport: si-yaking

here i am inventing a new sport - sideways kayaking, or si-yaking for short. it is just like normal kayaking, but tilted 90° for more full-water contact.

si-yaking is often also paired with another fun sport: whitewater swimming =)

brian dunnington, roll practicebeen heading over to Deer Lake for some kayak rolling practice. yesterday I got my StickPod camera mount in the mail, so I decided to try it out: brian dunnington