Showing posts with label happy. Show all posts
Showing posts with label happy. Show all posts

Friday, January 22, 2016

New blogging platform

I've been using blogger for a long time, and it's okay, but it's really, really annoying when I try to post code snippets. Manually formatting the text as courier and wishing I could make a block around it... it's just too much work. I want to just write, not have to write HTML or install plugins which don't work or anything like that. So, I looked at a bunch of different blogging platforms:


  • Wordpress
    Several folks suggested this, several others suggested against it because their security is... not great. I tried it, and found it to be really annoying, and wound up ragequitting before I even made a post.
  • Codrspace
    This looked really good, handles code blocks really easily, but it still looks kinda early. I couldn't find any table of contents for my posts, and didn't see any way to make comments. Close, but not quite there.
  • Medium
    Brought to you by the same folks who did Instagram. Tried it out, and it looks very social media-y, but it hits all the things I want - simple UI, code blocks, drag-and-drop for images, comments, all the stuff. It's maybe not perfect, but it's perfect enough.
So, it looks like any new posts will be going over here:

Wednesday, December 23, 2015

Update on using Graphite with FreeNAS

A while back, I posted on using Graphite with FreeNAS. Well, there have been some changes with the recent versions, and this makes integrating Graphite with FreeNAS even easier, so it's time for an update. This applies to FreeNAS-9.3-STABLE.

FreeNAS collects metrics on itself using collectd. This is a nice program which does nothing but gather metrics, and gather them well. FreeNAS gathers basic metrics on itself - cpu, disk performance, disk space, network interfaces, memory, processes, swap, uptime, and ZFS stats, and logs it to RRD databases which can be accessed via the Reporting tab. However, as nice as that is, I much prefer the Graphite TSDB (time-series database) for storing and displaying metrics.

Previously, I was editing the collectd.conf directly, but since the collectd.conf is dynamically generated, and I'd have to add the same block of code each time that happened, I decided to move my additions to the collectd.conf into files stored on my zpool. I then just use the include directive added to the end of the native collectd.conf to call out those files. So, at this point, all I add to the native collectd.conf is this line:

Include "/mnt/sto/config/collectd/*.conf"

This makes my edits really easy, and allows me to create a script to check for it and fix it if necessary - more on that later.

In the /mnt/sto/config/collectd/ directory, I have several files - graphite.conf, hostname.conf, ntpd.conf, and ping.conf.

The graphite.conf loads and defines the write_graphite plugin:

LoadPlugin write_graphite
<Plugin "write_graphite">
  <Node "graphite">
    Host "graphite.example.net"
    Port "2003"
    Protocol "tcp"
    LogSendErrors true
    Prefix "servers."
    Postfix ""
    StoreRates true
    AlwaysAppendDS false
    EscapeCharacter "_"
  </Node>
</Plugin>

It's worth mentioning that some of the other TSDBs out there accept Graphite's native plain-text format, so this could be used with them just as well. Or, if you had another collectd host, you could use collectd's "network" plugin to send to those.

The hostname.conf redefines the hostname. The native collectd.conf uses "localhost", and that does no good when logging to a graphite server which is receiving metrics from many hosts, so I force it to the hostname of my FreeNAS system:

Hostname "nas"

In order for this to not break the Reporting tab in FreeNAS (not that I use that anymore with the metrics in Graphite) I first need to move the local RRD databases to my zpool by chcking "Reporting Database" under the "System Dataset" in the "System tab:



I then go to the RRD directory, move "localhost" to "nas", and then symlink nas to localhost:

lrwxr-xr-x   1 root  wheel       3 May 19  2015 localhost -> nas
drwxr-xr-x  83 root  wheel      83 Dec 20 10:23 nas

This way, redefining the hostname in collectd causes the RRD data to be written to the "nas" directory, but when the GUI looks for the "localhost" directory, it still finds what it's looking for and displays the metrics properly.

The ntpd.conf enables ntpd logging, which I use to monitor the time offsets on my FreeNAS box on my Icinga2 monitoring host:

LoadPlugin ntpd
<Plugin "ntpd">
        Host "localhost"
        Port 123
        ReverseLookups false
</Plugin>


Finally, ping.conf calls the Exec plugin to echo a value of "1" all the time:

LoadPlugin "exec"
<Plugin "ntpd">
  Exec "nobody:nobody" "/bin/echo" "PUTVAL nas/collectd/ping N:1"
</Plugin "ntpd">


I use this on my Icinga2 server to check the health of the collectd data, and have a dependency on this check for all the other Graphite-based checks. This way, if collectd breaks, I get alerted on collectd being broken - the actual problem. This prevents a flurry of alerts on all the things I'm checking from Graphite, which makes deciphering the actual problem more difficult.

So, I define the Graphite writer, I change the hostname so the metrics show up on the Graphite host with the proper servers.nas.* path, and I add two more groups of metrics to the default configuration. These configuration files are stored on my zpool, so even if my FreeNAS boot drive craps out (which actually happened last week) and I have to reload the OS from scratch, I don't lose these files.

Since I'm only adding one line to the bottom of the collectd.conf file, it becomes very easy to check for my additions, and if necessary, add them. I have a short script which I run via cron: (the "Tasks" tab in the FreeNAS GUI)

#!/bin/bash

# Set the file path and the line I want to add
conf=/etc/local/collectd.conf
inc='Include "/mnt/sto/config/collectd/*.conf"'

# Fail if I'm not running as root
if (( EUID ))
then
  echo "ERROR: Must be run as root. Exiting." >&2
  exit 1
fi

# Check to see if the line is in the config file
if grep -q Include $conf
then
    : All good, exit quietly.
else
    : Missing the include line! Add it!
    echo "$inc" >> $conf
    service collectd restart
    logger -p user.warn -t "collectd" \
         "Added Include line to collectd.conf and restarted."

    echo "Added include to collectd.conf" | \
         mail -s "Collectd fixed on NAS" mymyselfandi@example.com
fi


If I reboot my FreeNAS system, the collectd.conf gets reverted. Not a huge problem if I can wait no more than 30 minutes for my cron job to run, but in 9.3, I can do even better. I can call the script at boot time as a postinit script from the Init/Shutdown Scripts section of "Tasks":

 

This way, when I boot the system, it runs the check script, which sees the missing Include line, adds it automatically, and restarts collectd so it resumes logging to my Graphite server.

This setup has proven to be wonderfully reliable, and unless/until native Graphite support is added to FreeNAS, should keep on working.

Wednesday, October 17, 2012

Lance's Fisting Technique

Even with ice in his beard, his fingers are warm.
It's getting into the cold season, but that doesn't mean you should stop riding.   With the right equipment, you can continue riding all the way through the winter, and don't have to subject yourself to the horrors of indoor stationary riding.

That said, even with the proper equipment, many folks have trouble with cold hands and feet, myself included, even with thick, heavy gloves.  Thick gloves can make controlling the bike more difficult, and if even thick gloves aren't keeping your fingers warm, then the call of the indoor trainer may be getting stronger.  However, one of my riding buddies (Lance) has shared a trick with me that allows me to ride through the winter with nothing more than ordinary full-finger gloves!



 

Here's how it works:

  1. Start your cold ride.  You may be warm from the house (or car) but you were resting, so you're not "warmed up".  Ride for a little while until you start to warm up, you should be breathing hard.  This usually coincides with your fingers starting to get cold.  
  2. At this point, stop riding, and pull your fingers back into your glove, making a fist inside the glove.  The heat from your palm will warm your fingers.  (On the road or a non-challenging MTB trail, you may also be able to do this while still riding, but if you try it and hurt yourself, I will point and laugh.)  
  3. This shouldn't take long, just long enough to get your fingers to stop being really cold.  Don't stop long enough that you cool down, either.  It's just a quick stop, if you're stopped for more than a minute you're probably doing it wrong. 
  4. Once your fingers are warm-ish, you can put them back in the glove like normal, and resume riding.  
  5.  Your fingers should stay warm for the rest of the ride!
Since your core temp is up and you're properly warmed up, the blood is flowing, and it's carrying heat from the exercise.  Since your fingers aren't brutal cold anymore, the blood is able to get to them, and keep them warm.  I've been doing this for a couple years now, and have been able to ride through sub-freezing temps using the same full-finger gloves that I rode in the summer.  Last year I was halfway through the winter when I realized that the 661 gloves I was using had an open mesh on the side of the fingers.  Even with the open mesh (I could see the skin of my fingers!) my fingers never got cold past that initial warm-up period.

Give it a try!

Now for toes, this trick doesn't work as well -- you can't make a fist with your feet!  I'm still working on this one, but for me, the trick seems to be having shoes that are big enough to have thicker socks and still leave room for your feet.  That seems to be the key - if your feet are too snug in the shoes, you won't get circulation, and you'll have the same problem as your fingers above. If your shoes are not quite big enough, you can cheat it out a little bit by loosening the straps, especially the ones towards the front of the foot.  I've found that helps a bit.  Wind can still be an issue, and I've heard that clipless pedals can actually act as a heat sink - a larger aluminum clipless pedal can draw heat out of your foot.  I dunno how legit that claim is since there is a plastic sole, and usually, a plastic cleat between your foot and the pedal, but I do run thicker insoles in the winter.  The big thing is don't restrict your feet, and I often try to wiggle my toes to make sure they're still getting circulation.

Wednesday, April 25, 2012

Reviving the old dead blog

For some reason, I love to relive my rides after the fact.  So, I've decided to revive my old blog that I haven't done anything with for several years for that purpose.  I've already posted the hilarity that was my attempt at a full-speed lap of Nockamixon

Chasing the Nox full lap KOM

Last night I went out with the specific goal of giving my best go at Bob's ownership of the full Nox loop.

I had no expectations of coming in sub 50, much less challenging his time of 49 minutes dead -- but I figured I could put in something in the low 50s.

I started off with a lap of the Cold Spot loop backwards, to warm up and to check out the downed tree that Bob had warned me about.  Returned to the parking lot, talked to some guys, then headed out for my loop.  The downed tree wasn't too bad, had to get off the bike, hop the tree, and get back on, but I don't think I lost too much time.  On the northern Hammer loop, my phone starts going off.  There was an upgrade happening at work, and the notifications of stuff being unavailable started rolling in.  No big deal except I have my phone set up to keep notifying me until I actually look at the stuff.  Super.  So, I had to pull off my full-fingered glove, dig out the phone, unlock it, view the messages, lock the phone, and stick it back in my jersey.  This happened probably four or five times on the Hammer loop, all while I'm trying to maintain a race pace.  Looking at the results, it did affect my time -- my best there is 7:15, and this lap went down in 7:42.

I kept a steady pace on the connector trail, then got to the south loop.  Was going pretty well until I cut it a little too close to a tree, caught my jersey on the remnants of a branch, and had it quite literally ripped off my back.



 
Click the photo for more pics of my wrecked jersey.
This wouldn't have been much of a problem (except for it being my favorite jersey and favorite base layer) except two of my rear pockets ceased to exist, causing my phone, keys, and multi-tool to fly all over the place.  Had to stop, pick the chunk of jersey off the tree (now hanging in my cubicle) and pick up my stuff.  Then, I had to figure out where to put all this stuff, since I now had significantly less room to put it.  So, I tried what seemed like the best idea... tucked the stuff into the legs of my knickers.  I spent a bit more time looking for my second set of keys, but couldn't remember if I left them behind at the car or not, so I gave up the search for them so I could keep riding.  (more on those keys later)

Well, the legs of my knickers wasn't such a good spot.  As I pedalled, the stuff would migrate down, eventually heading for the spot behind my knee.  I managed to get the phone stuffed into my last remaining pocket once I realized it was still usable, but fought the multi-tool and keys for the remainder of the south loop, all while trying to maintain a "race pace".

Got to the end of the south loop, and had to take a moment to relocate my keys and multi-tool to my already overstuffed seat bag (yes, the one that looks like a racoon) because I wanted a good run on the Eastern Woods northbound trail.  See, a couple days ago I made a run at that trail with two phones recording.  (I've had some issues with great rides getting "lost" due to the GPS getting mental, so now run a backup) At the end of the day, one recorded a time of 5:32, and the other recorded a time of 5:56.  So I was either well faster than Bob on that segment, or two seconds behind.  That's a pretty big gap, so I had to go back and do it again.  I figured if I could do at least a 5:4x time, then my 5:32 was legit. (that phone typically is far more accurate, too)  So, I wanted to have a good run on there.

Well, it was a little wet, but most of the trails were solid.  A handful of spots which were a little slick, but nothing too bad.  My time was slower, but not massively slower, so when I came in with a 6:04 time, I realized my 5:32 was bullshit. Too bad, but beating Bob by 20 seconds anywhere smelled far too much like bullshit, no matter how much I wanted to believe it.  On the upside, his 5:54 is only 2 seconds faster than I've gone, so I can get that.  Will it happen before he's in the 5:40s?  we'll see.

I finished up with the Haycock Run uphill, on which, only an hour or two before -- Bob set the new KOM... and came in only a little bit behind at 2:15 to his 2:09.  Weird that I run that section faster uphill than down.  I think a sub 2 is possible.

So, I was a little disappointed with a 57 minute time, but at least I came in sub 1 hour, and considering my two stops and having to check my phone, it's not too bad.  I figure it would have been a solid 54 minute run, maaaaybe 53 minutes.  Dry trails and luck, I might be able to drop it to 52 minutes.  So Bob's time is pretty much unchallenged, thanks in no small part to his phenomenal bike handling.  The one time I rode with him, I went from right on his wheel to 50-60 feet back in the span of a couple tight downhill S-turns.  That shit just adds up.

All in all, though, it was a fantastic ride.  It's not often I just focus on going hard for an entire MTB ride like that, and the challenge is so much fun.  Thanks to Bob for giving me something to shoot for!  I will get to a 49 minute lap, but I'm pretty sure Bob will be sub 45 by that point. :D



Oh, and I mentioned the second set of keys.  Got back to the car, gave a good search, and discovered that set of keys was not in the car.  So, that meant I did have them, and they were still laying trailside by that tree.  So, I loaded up the bike, and headed for South Park Rd, where you can park on the side of the road and access the trails.  As you can see here, the trail gets really close to South Park Rd, climbs up for a while, then drops back down, getting very close to the trail you just rode.  I took advantage of this, rode cross-country between the two chunks of trail, and got back to the scene of the crime.  Using the light on my phone (it's past sundown and I'm losing light fast) I managed to find my keys about six feet down the trail from the tree.

Wednesday, December 31, 2008

Happy Buddy Day!

Most folks think of today, December 31st, as "New Year's Eve". For us, it's "Buddy Day" and today marks the fourth anniversary of Buddy -- our Cairn Terrier -- coming to live with us from the rescue.



It's only been four years, but it's been great. He's become a real part of our lives and we love the little guy, even if we do call him "rat dog" and "our little moron".

Happy Buddy Day, everyone! Oh, and Happy New Year, too. :)

Sunday, October 12, 2008

Cheap bike parts and more MTBing

Saturday morning, Dmitri, Lance, and I went up to the bike swap meet at the Lehigh Valley velodrome. (now called the "Valley Preferred Cycling Center") I brought a bunch of cash, not looking for anything particular past a set of cranks for the road bike. The Dura Ace cranks on the Giant are starting to look pretty rough, with the clear coat starting to crack, and the aluminum oxidizing. They're good cranks, but need to be refinished, and I know a guy who restores bikes who is interested in seeing what he can do with them. (or, I might try my hand at it)

So, early on, I found a pair of Ultegra external bearing cranks for only $75. Was pretty happy with that and bought them, but later realized I didn't bother to consider they didn't have a bottom bracket, and I also discovered they were missing the plastic tensioning cap as well as one of the clamping bolts. So, the price wasn't quite as good as I thought. Oh well, my bad.

Just two booths later, I found a pair of FSA SL-K carbon fiber road cranks which looked to be take-offs - they showed some scratches but no wear on the rings, and no evidence of pedals ever having been installed - for $90! Right now those same cranks are $450 - on sale - at Colorado Cyclist! That lessened the pain of my hasty purchase on the Ultegras!

After the swap meet, the three of us rode in Ralph Stover/High Rocks park. It's a small park, but very technical, so it's a challenging ride. I didn't ride nearly as well as Friday night's ride, but did decently. Both Lance and Dmitri rode strong, and Dmitri rode some really tough sections -- including one section that Lance tried multiple times without success! (I walked the whole thing)

We then went home, picked up four cases of beer, threw a couple beers in the freezer and worked on Lance's bike.

All in all, I'd call that a Very Good Day. :)

Friday, October 10, 2008

Great ride in Wissahickon

Tonight I got out of work and joined Grace, Amy, Ed, and Dmitri for a ride in Wissahickon. This will have to go down as the best MTB ride I've been on in over a year. We were all riding strong, and riding fast. Had we not lost light, we probably would have kept going, but since only Dmitri had a light, we bailed as it got harder and harder to see the trail.

My back started hurting a little bit at one point, but cleared up. This was also the first time that I felt the power I have on the road available to me on the mountain. Even at that, though, trying to keep up with Dmitri and Grace towards the end had me working, and working HARD. They've both gone and gotten seriously fast! (thank you, Amy!!) Towards the end of the ride, Ed was having problems with his back (oh how I can relate) but somehow still managed to be crazy fast.

Afterwards, Grace and I joined Ed and Amy at a bar in Glenside for beer and wings. Between the four of us, we ordered 100 wings and untold numbers of beers. Much fun was had, and although there were wings left over when we were all full, it wasn't as much as you might think! We all toasted to Amy and Grace... they've become good friends and have made each other far stronger than they had been before.

I just hope that ride is an indication of what's to come for me. Despite what Grace will make you think, I don't hate mountain biking -- when it's that good, I really, really love it!

Tuesday, October 7, 2008

Gentlemen's Rides

Back on September 27th and 28th, I did the MS150 City-to-Shore fundraising bike event. I haven't written about it here because I wanted to do it when I had time to really do it justice... to tell all the stories that there were, the fun had with friends, the new friends met, the great riding that we did... but really you don't care about those stories nearly as much as I do.

I just came across this article about "Gentlemen's Rides" which so perfectly sums up not only the MS150, but all of my most favorite rides. Gentlemen's Rides are like racing, except it's far more social. There's still the urge to put your closest friends into the most hurtin' possible, but then you regroup, laugh, and do it again.

I always knew I wasn't a racer... but now I realize I'm a "Gentleman rider".

Tuesday, September 9, 2008

My town is better than your town.

My town is better than your town.

What's my town? Doylestown, PA.

Why's my town better than your town? Is it because it's just a really cool place to live, and we can walk to all these great restaurants, and I can walk to the SEPTA train station to ride into the city? Well, that helps, but no, that's not why my town is better than your town.

My town is better than your town because we had one of the best pro bike races I've seen in a while. For the past two years, the second part of the Univest Grand Prix has been happening in Doylestown, but it was a low-key affair, with a simple, small rectangular course on side streets where it wouldn't bother too many people. This year, however, was different. This year, it was a REAL bike race, and there was TV coverage and everything. The course was expanded to cover more of Doylestown, had some really interesting corners, and actually encompassed the Arts and Crafts festival going on during the weekend.

The weather was beautiful, there was an incredible turnout for the race, and the race itself was pretty amazing. When there were only a couple of laps to go, we found a spot right on the rail and with each passing lap, the excitement level rose and rose. When the final sprint happened, everyone was going crazy and yelling and clapping and banging on the boards on the side of the course. I was surprised to see a McDonald's logo rolling across the line first - I can bet that nobody on that team actually eats the junk - but it was a solid victory and to a great race!

I brought my big camera to the event, and in the earlier laps, we walked around the course, with me stopping to take pictures whenever the racers went by. I'm definitely one to subscribe to the "shotgun" approach to photography, figuring if I shoot more, I'm likely to hit a good shot now and then, and Sunday was no different. I shot nearly 800 pictures, which I later narrowed down to around 500. I then weeded that down to my 21 favorites, which you can see in my gallery from the race. (or click any of the pix on this post)

It was just so awesome to see real professional cycling happening just a block from my house... and I hope that Univest keeps coming back!

Saturday, August 30, 2008

First ride, new road wheels

I spent a couple days this past week building up a new set of road wheels for myself. This morning, I finally got out to give them a test ride. I haven't installed the tubeless Hutchinson Fusion 2 tires yet. To give the wheels a test with tires I know, I just installed the Michelin Pro 2 Race tires I've been riding.

Well, considering this was the first road ride I've really done in like... three weeks... (ouch) I wasn't feeling tremendous. Still, I headed out on roads I knew, eager to see if I noticed a difference with the wheels. On one section of Point Pleasant Pike, where I've been able to hit 26mph on a good day, I managed to get the speed up to just a smidge under 29 miles per hour! Now, remember, I haven't been on the bike for three weeks, and wasn't feeling all that strong... and wasn't pushing extra hard. Are those three extra miles per hour due to the new wheels alone? I really doubt it, but I have to say, it was really sweet to be able to crank out that type of speed when I wasn't feeling strong.

The wheels are also stiffer than I expected, due in no small part to the much taller 30mm rim profile. The old Mavic Open Pros were maybe 20mm tall, so despite running fewer spokes and lighter spokes, the rim keeps the wheel nice and strong and rigid.

I was hoping to install the tubeless tires tonight, but just plain ran out of time. Maybe tomorrow night, and I can give them a test ride on Monday morning. If the things I've heard about the tubeless road tires are true, it should be pretty special!

Monday, August 25, 2008

This is the good stuff...

After thinking about it, nay -- dreaming about it -- for a year and a half, at least, I've finally gone and ordered the parts for a really, really slick set of wheels for my road bike. I have an older set of American Classic hubs (no, they weren't subject to the recall) with Sapim CX-Ray spokes and Speedcific Niobium 30 aero rims. If that means nothing to you, trust me when I say that this makes for an utterly swanktastique wheelset. CX-Ray spokes are over $2 - EACH. (and that was a really good price) They're an ultra-lightweight spoke that's formed into an aerodynamic blade, and this process actually makes them tremendously strong... so strong that they've been used in downhill mountain bike wheels. That's the last place you'd expect to find ultra-lightweight spokes!

The Speedcific Niobium 30 rims are a deeper aero section rim made with an aluminum alloy that uses Niobium to make it far stronger than normal aluminum, so it can be used to make surprisingly light rims. For most aero section rims, we'd be talking about over 500g each, but these were 457g and 443g!

Blah, blah, blah, words, words, numbers, words! Forgive me, I like this stuff... so I like to talk about it. The ultimate result is a light wheelset which will still be quite aerodynamic and strong.

The best part about it is that since I had the hubs, and bought the rest of the parts from Mike Garcia of Odds and Endos and now Speedcific fame... that means I have to build the wheels myself. Considering that's one of my favorite things, it makes the whole project even better!

Tonight, I got home at about 5:30pm, got to work on the wheels, and now it's after 9pm, the front wheel is done, and the rear is coming together. I really took my time building up this set, and hope it shows when they finally hit the road. Of course there are other things that I really should be doing with that time, but I enjoy this far too much to go and waste my time being responsible. :)

Wednesday, August 20, 2008

Bikes looking up again...

Well, biking's been a little rough there for a while, but it's all starting to look up again.

To summarize... in the past month or so:
  • The rear shock on my Santa Cruz was leaking so bad it wouldn't hold pressure, even after having sent it to Push Industries a couple months ago for a rebuild. Result: no MTB for me.
  • I've been having problems with my saddle on the road bike which I haven't been able to solve. Subsequently, I've been riding very sporadically in the past three weeks.
  • When I cleaned up the frame on Grace's Santa Cruz, I discovered that the rear triangle had a pretty significant crack.
But now, everything's coming together nicely. I shipped the leaking shock out to Push, who fixed it up at no charge and shipped it back. I reassembled my mountain bike last night, and I'm borrowing a really nice wheelset from Lance, so we're ready to rumble again.

The saddle issue on the road bike is still there, but I'm getting new wheels... and a really swanktastique set, too. I have an old pair of American Classic hubs, and Mike Garcia of Odds and Endos/Speedcific fame just shipped me a pair of his Niobium 30 rims and a full complement of Sapim CX-Ray spokes, possibly the most swanktastique steel spoke available. I've been looking forward to building this very wheelset for at least a year!

Finally, I disassembled Grace's Juliana and shipped the rear triangle out to Santa Cruz, who will be replacing it with a new one, so hopefully soon she'll have her Juliana back together to go with her Scale.

Fun is on the horizon!

Thursday, August 7, 2008

Black cherry mojito recipie

Back in May, I posted a Margarita recipe that we had come up with, since I had trouble finding a consistent recipe online. It's sweeter than the typical Margarita, (as Grace and Laurie like it) but it's still pretty good. Another drink we enjoy, that I've made in the past, but had no consistent recipe, was a Mojito. One of the problems with a Mojito is that it typically uses a carbonated drink of some sort, most typically Sprite. However, Sprite is all loaded up with high fructose corn syrup, which more and more studies are showing is just plain bad. So, we have been trying to figure out how to make a mojito without the HFCS.

One of our favorite variations on the mojito is to add pomegranate juice, or even Pama, a pomegranate liqueur. It doesn't solve our problem about the HFCS, but it sure does taste good. While Grace was drinking a Boylan's black cherry soda at lunch one day, she had a great idea... why not use Boylan's black cherry instead of Sprite?

Well, I thought it was an excellent idea, and that night I whipped up a batch. We sampled... and I whipped up another batch. We tested that one, and I whipped up a third batch. Was I fine tuning the mix? Nope... just enjoying it enough to keep making more!

So here's the recipe I used:
  • mint leaves
    I use "apple" mint, which grows immensely fast outside our house. Any mint would do, but a peppermint would likely be too strong. I kinda wing it on the quantity, but you should at least cover the bottom of the glass, and the more the merrier.
  • juice from 1/2 lime
  • 1 tbsp sugar
    we use natural unbleached sugar... any granular sugar will do.
  • 2 oz white rum, Bacardi is fine
  • 2 oz Boylan's black cherry soda
  • splash of triple sec
Put the mint leaves in the glass, dump the sugar in, then juice the lime onto this. Mull the mixture - in other words, crush it with some sort of blunt object - but don't get too crazy. If you smash it up too much it'll look like lawn clippings in your mojito. (ask how I know) I'll tear larger mint leaves in half or even quarter so the sizes are all roughly the same size.

Once the mixture is decently mixed (don't worry about dissolving the sugar) add the rum, Boylan's, and triple sec. Give it a stir, serve over ice. Make sure some of the mint leaves wind up in the mixture, it adds to the mint flavor.

Monday, August 4, 2008

Rode with Lance

I finally got to ride with Lance on the road, for the first time since last year's MS-150.

Not Lance Armstrong, but in my world, close enough. Seems somehow Lance (Honer) and I have developed a rivalry that hinges around our Tour de France, the City-to-Shore MS-150. No, it's not a race, and there really isn't any point to the rivalry, but what's that matter amongst friends? Last year Lance trained hard... and I ... not so much. So, not surprisingly, he rode stronger than me and was the first one into Ocean City, and the first one over both of the tall bridges leading into town. So he got the polka dots and the maillot jaune! Granted, I was close behind, and having some tough muscle cramps, but he still got there first. This made me realize the gravity of the MS-150 (which, understand, there really is none) and decide to actually train for it this year. Everyone wants to be the alpha dog. :)

So, with that background, and hearing stories of Lance riding massive hills in Central VA and riding the 62 mile, >6000' climbing Livestrong route in sub-4 hours, I was curious to see how yesterday's ride together on my training roads would go. As I told Grace before the ride, I could see three things coming from the ride:
  1. Lance totally embarrasses me on the ride, and we both step up our training.
    (him to open the gap, and me to close it)
  2. I totally embarrass Lance, and we both step up our training.
  3. We're painfully evenly matched... and we both step up our training.
So, knowing the outcome would be the same no matter what, I was still interested to see how we compared. Starting out from my house, Lance started *fast*... I mean, quite a bit faster than I normally ride, fast enough to make me start thinking... "uh oh." We hit the first hill, Old Easton Rd, and just as soon as it turns up, BANG, he's gone. Once again... "uh oh." He gapped me right off the bat, and I couldn't help but notice my legs weren't feeling good. Well, okay, he's strong, but doesn't know where we're going so just keep the pace and hope the legs warm up.

We get to the top, and ride towards the river, and my legs aren't bad, but they're not great. My plan was to bring Lance up Tohickon Hill, one of the better prolonged climbs in the area, and was not looking forward to the ass beating I was sure to receive on those slopes. In preparation, I told Lance the road to look for once he got to the top.

However, he didn't drop me on the climb. Matter of fact, he was right there with me as I led the way up the hill. He came around on a false flat, then as it turned up again, I came around him and rode to the top. Mind you, he didn't know we were at the top. I had home field advantage.

The rest of the ride was very similar, with us riding pretty even, although me abusing my home field advantage to know when to push for the top. Lance did open one massive gap on me when we rode up the short but brutally steep Old Ferry Road, which is only a quarter mile but AVERAGES 14%. I knew pain on that climb, knew it very well. Lance didn't exactly storm away but did gap me to the tune of at least 100'. 100' in 1,320... that's a gap! I guess it was his MTB singlespeeding experience that got him up that beast.

So, it was a good ride... no -- I would say it was a great ride. Because of work obligations, I had to keep it short and be back home by 9am, but we got in a fun ride just short of 2 hours, then had a nice big breakfast while I did my work.

A hard ride tormenting friends (and being tormented) for no apparent reason... that's what is fun about riding. :)

Friday, August 1, 2008

Another awesome ride!

Rode again with Dave last night. Wasn't really into the ride going into it, in fact I was a little worried because I felt pretty tired (have all week since the last ride!) and figured there was no way I could have a good ride. Still, I need to ride, and riding with Dave pushes me far harder than I could on my own. So, I went for it.

The start of the ride, I didn't feel too bad, except for a nagging saddle issue about which I won't go into detail. However, I eventually warmed up and started feeling better, and next thing you know, we're actually riding. One thing I had changed was the addition of Hammer's Perpetuem to my water, consuming a bottle before the ride, and a bottle during. I think it made a significant difference to my riding, as the only cramping I had was some light threats from my calves toward the end of the ride.

On Monday, we rode Route 29 in NJ, and I wound up sitting on Dave's wheel most of the time. Yesterday, I pulled for a couple miles out of Stockton, rolling around 24.5mph for most of the time. Nice to feel my flatland legs coming back. Plus, in the hills, I was still a long, long way from fast, but Dave noticed the improvement from Monday. I attacked Stover's Mill Road, the same hill that gave me that paralyzing cramp on Monday, and powered over the top on my 39/21. My heart nearly exploded, but my legs were fine. Got right back on that horse that threw me. :)

All in all, we added 5 miles to Monday's ride for a total of 43.7 miles -- 70 km even! And for all that extra riding, we only added 10 minutes to the total ride time, meaning we averaged just over 1mph faster, and that's with a couple miles of slower cool-down riding weaving through Doylestown at the end! For comparison, my longest ride so far this year was .1 mile longer and took over 20 minutes longer.

Like I said, I ride harder with Dave. I do have a pretty ripping headache this morning, but other than that I feel pretty good.

On the return home, I got another reminder why I no longer ride with CBBC. As we were heading back on Stover's Mill Road, we caught up to six riders. Two were in the back, riding in the center of the road, but we had room to get by. The remaining four, however, were spread completely across the road and oblivious to the world around them -- especially behind. As I approached, I called out "rider back!" once, then twice, and got no response. Finally they figured out someone was back there, and so began this disjointed and haphazzard response. I got past three, and was heading to the right of the lead rider who was on the left side of the road, but then, without bothering to look behind her, veered to the right directly across my path.

Sure, they were very nice once they realized we were there, but honestly, that's just why I stopped riding with CBBC. It's not uncommon, for a CBBC ride to spread out completely across the lane, even over, and make no accomodation for cars trying to pass, then getting annoyed when a car had to make a pass on a blind corner at a high speed because they got tired of waiting. I've never seen any ride leaders make any effort to change it, either. I got sick of being a part of that.

Friday, July 25, 2008

Project... 17?

Just for grins, I got a pair of Kenda Klimax Lite tires for Grace's bike. While the Karmas are light at 450g, the Klimaxes are deep into ludicrous territory -- 345g each!! They're listed as a 2.0, and although I haven't measured, they look more like a 1.8, maybe a 1.7. They're SLIM. There's also a bare minimum of tread... they look more like cyclocross tires than MTB tires... and I think most cyclocross tires are even heavier.

So, with all this in mind, I tell Grace that I'm putting them on so she can try them, and we both more or less expect she won't like them. One time we tried Racing Ralphs, which are another light race tire, and she hated them, and wound up crashing. So, with that in mind, she set off on a ride today. (I actually tried to join her, but that's a story for another post... soon to come.)

I nervously awaited her return from the ride, to find out what she thought of the tires, fully expecting something along the line of "get these $%&#ing things off my bike"... but when I see her, she's SMILING. Ask her how the ride was -- it was REALLY GOOD! The tires? She loves them. Had some problems on steep, loose climbs with insufficient traction (not surprising!) but beyond that, they were FAST and they accelerated like nobody's business.

So, it's all good, surprisingly. We won't leave them on for daily riding, but they'll be great for hardpack events like Fair Hill.

Oh, and with those tires on ... 18.06lb!

Friday, June 27, 2008

Bike Tools Etc

In my previous post, I mentioned Larry from Bike Tools Etc. I've been a customer of BTE for a while, ever since the Third Hand cut way back on their bike tool offerings. BTE has an awesome selection of tools from inexpensive to high-end shop-only grade, and their prices are quite reasonable.

However, that's not what made me a real fan of the outfit. I enjoy building bike wheels, and I like using good tools. So, when I saw that DT, a maker of arguably the best spokes out there (and definitely the best aluminum spoke nipples) had a spoke wrench, I really wanted to give it a try. At $48, compared to the classic $8 Park wrench, it was a steep premium to pay, but it looked like a good, strong design that would serve me well... so I finally decided to go ahead and order one. Initially, the spoke wrench worked very, very well, especially on softer aluminum spoke nipples, where higher torques needed for high spoke tension can result in rounded (and thus, useless) nipple flats. The four-sided design held on very securely, and the nice, heavy, chrome design felt good in the hand.

However, after about a year of use, I noticed that the DT was starting to fit a little loose on the nipples, and came very close to rounding the edges of a couple. Since these were all brand new DT aluminum nipples, and they still fit tightly with the Park spoke wrenches, I couldn't help but come to the conclusion that the DT either wore, or stretched. Looking at the design, neither made sense, but I couldn't argue that the wrench just didn't fit well at all. So, I contacted DT directly, figuring that any high quality shop-grade tool would have a lifetime warranty, just like you would find with S-K or Snap-On, or even Craftsman. However, the reply from DT was basically a brush off, telling me that I was out of luck.

So, hoping to get better results, I got in touch with Larry at BTE to see if he had any contacts I could speak to. It had been a year since I bought it, so I didn't even bother asking him to return it. However, he offered to take it back, even though I looked and couldn't find my receipt. Not only take it back -- give me a refund, not just store credit. That type of customer service will win me as a dedicated customer. Of course, to say thanks, I placed an order for double the price of the spoke wrench. Now, if there's anything I need, I try to remember to check and see if BTE has it first, and if the price is anywhere near where I can get it from elsewhere, I'll just go with BTE.

Moral(s) of the story:
  1. Get bike tools (and some components) from Bike Tools Etc.
  2. There's still no spoke wrench as awesome as the Park, except for the newer four-sided Park.

Tuesday, June 24, 2008

BFT

BFT... as in: 'bout freakin' time!

Finally, I've ridden from home to work, for the first time this year. I've been threatening to do it for... sheesh -- MONTHS now... but I finally got tired of making excuses and just did it.

And? It was awesome. Riding in is one of those things that when I do it, I wonder why I don't do it more often. (the answer is usually "the ride home") Of course, it helped that it was a monumentally beautiful day, and when I was cruising down Kelly Drive, with the rowers doing their thing and the sun shining, I had a strong tailwind and was cruising with very little effort at just shy of 25mph. Life. Is. Good.

I'm also really happy with my time... 33.64 miles in 1:56 -- that's an average speed of 17.4mph! Considering I wasn't pushing at all (that ride was last night) and figured I'd be over 2 hours, that's pretty good. Especially considering I had to walk the bike *through* a fallen tree on Forbidden Drive, quite a trick while walking in hard soled bike shoes! I also stopped to help a guy whose crankarm was loosening up. I haven't decided if I'll make the return trip today... we'll see how I feel when the time comes.

The building I work in is nice in that they provide indoor bike parking behind a locked door, monitored by security cameras, and in direct line of sight of the guards. Still, I don't have a very good lock here, and partly out of curiousity, partly out of "it's better to ask forgiveness than permission", I took my bike up to the office in the elevator and have it in my cubicle. Safety wise it should be about the same, but this way I get to see my bike, which I think is very close to functional art. We'll see if anyone has any problems with it. *fingers crossed* As you can see, my cube is far from clean, so maybe nobody will notice it in the mess.

Tuesday, May 27, 2008

Excellent Margarita recipe

While we were out in Mexico, we wanted Margaritas, and not the type that come pre-mixed. We wanted some authentic Margaritas. I did some research and found many recipes, all of which were different. Many agreed on the 3:2:1 ratios, but even those disagreed as to which ingredient was in what spot. Many recipes call for Cointreau specifically, but we discovered that in Mexico, tequila might be in every corner store, but good luck finding even a basic Triple Sec. We ultimately found a basic cheap orange liqueur, and used that.

Considering there are really only four ingredients in a Margarita, I just don't understand the need for a premix. It might be the resistance to having to squeeze all those limes, but honestly, that's not that hard if you get the right tool. We have a lemon juicer that we got from Bed Bath & Beyond, but can be gotten from many places, such as Amazon or Williams Sonoma. With that handy tool, you just cut the lime in half, put it in face down, and squeeze. Quick and simple.

Anyhow, let's get to the ingredients:

1 part Triple Sec/Orange Liqueur
3/4 part Tequila
3/4 part Lime juice
1/4 part simple syrup

Mix it all up and serve on the rocks, or blend the ice and have it frozen.

Comments on the ingredients:

The triple sec can be Cointreau but we haven't tried that yet, and since the results seem to be fine with just a plain triple sec, which is cheaper, that's what we've been using.

The tequila should be white, but if you happen to have a gold on hand, it'll work. The color of the finished margarita won't be quite as nice but it still tasted good.

Simple syrup is just a 1:1 water to sugar mix, and the only need for the water is to dissolve the sugar.

Enjoy, but be careful! They're pretty strong!