Getting to Thailand: Taking the Plunge

I’ve wanted to go to Thailand for several years now. The warm weather, world-renowned climbing, beautiful beaches, and unlimited mango sticky rice have been calling to me. But with a nearly 24 hour flight time over, it’s just not worth it when you’ve only got a week of vacation to burn.

Luckily (sort of), I was laid off in late October. Now that we’re firmly into the holiday season, the number of job postings as dwindled. In my experience, the job market will remain stagnant through the new year. So, with no real plan in mind, I decided that I should go to Thailand for a full month, early-December through early January.

Of course, this means that I’ll miss the holidays at home. But after 33 years of consistently visiting my family around Christmastime, I think I could do with a small break. Besides, I just visited them at the beginning of November. It’s not like they’re going to go into Jeff-withdrawals…

Posted in Travel | Leave a comment

Mountain Bike to Cyclocross/Touring Conversion

I need a touring bike, and I’m on a budget. My old Barracuda AM2, aluminum-framed mountain bike frame is tapped for rear pannier mounts, so perhaps a conversion is in order.

As I quickly found out, there’s a lot more to fitting drop bars and a rigid fork onto a mountain frame than I had expected. Hopefully, this will help clear things up for the next person who tries.

Forks

There’s no point in having that crummy Manitou Pro X suspension fork soaking up all my energy if I’m just touring. Besides, there are no provisions for mounting a rack. A rigid fork is in order.

Since this is going onto a mountain bike frame which was designed for a suspension fork (typically around 80mm of additional height), a “suspension corrected” fork is required.

Name Size Brakes Braze-
ons
Axle-
to-Crown
Rake Weight
Surly 1×1
FK0001
26″x2.7″ canti fender 413mm 45mm 2.27 Lbs
(1.03kg)
Surly 1×1
FK0003
26″x2.7″ canti +
Disk
fender 413mm 45mm 2.34 Lbs
(1.1kg)
Surly Big Dummy 26″x2.5″ canti +
Disk
fender+
rack
425mm 43mm 2.9 Lbs
(1.3kg)
Long Haul
Trucker
26″x2.1″ canti fender +
rack
376mm 45mm 2.11 Lbs
(0.96kg)
Long Haul
Trucker
700Cx44mm canti fender +
rack
390mm 45mm 2.25 Lbs
(1.02kg)
Salsa CroMoto
FK0013
26″x? disk fender 445mm 41mm 2.2 Lbs
(1.0kg)
Salsa CroMoto
FK0010
26″x? canti +
disk
fender 425mm 41mm 2.2 Lbs
(1.0kg)
Nashbar 700C 700Cx? canti + disk fender ?? 45mm 2.93
(1.33kg)

Notes:

  • The Nashbar fork does not seem to be suspension-corrected.
  • Notice that the Salsa and Surly model numbers seem similar? That’s because they’re owned by the same parent company, Quality Bicycle Products.
  • To my knowledge, the only difference between a fender eyelet/braze-on and a rack eyelet is which side of the fork it’s on. According to everything I’ve read, there’s absolutely no reason you can’t support a rack with a “fender” eyelet.

Shifters

As much as I would love to have Ultegra 9-speed STI shifters like on my Cannondale road bike, I don’t have $300 to spare (also, they aren’t compatible with V-Brakes, see below). Instead, I will use bar-end shifters, which are cheap and rugged.

Two Shimano bar-end shifters are currently available: the Ultegra 8-speed shifter, and the Dura-Ace 9-speed shifter. The indexing of the 8-speed shifter is incompatible with 9- and 10-speed derailleurs. However, friction-shifting (non-indexed) mode can be used regardless of the shifter/derailleur combination.

Regarding Dura-Ace compatibility, with 8-speed and older setups, Dura-Ace shifters were only compatible with Dura-Ace derailleurs (the pull length was unique). With 9-speed and 10-speed, however, Dura-Ace shifters work with any 9/10-speed Shimano derailleurs.

SL-BS77 Dura-Ace 9 speed – works with any 9-speed derailleur
Shimano SL-BS78 10-Speed DuraAce Bar End Shifter SL-BS78 Dura-Ace 10 speed – works with any 9/10-speed derailleur
SL-BS64 8-Speed Ultegra Bar End Shifter – works with any 8-speed derailleur or, in friction mode, any 9/10-speed derailleur

Brakes

Brake levers come in two types: standard pull and long pull. Standard pull levers are for use with classic cantilever brakes. Long pull levers are for use with direct-pull (“V-Brake”) brakes.

Direct Pull Pulley AdapterNormal road levers (such as all Shimano STI integrated brake/shifters) are standard pull and require a pulley system such as a QBP Travel Agent, or a World Class V-Daptor in order to work with V-Brakes.

Additionally, while mountain bike brake levers have a built-in cable adjuster, road bikes do not. So, a ‘noodle’ with a built-in cable adjuster will be required, as shown in the Dia Compe 287V photo below.


There are a few road-style brake levers which can be used directly directly with V-Brake style brakes, no adaptation required:

Dia Compe 287-V (discontinued)
Cane Creek Drop V (formerly SCR-5V?)
Tektro RL520 (Tektro is said to be the same company as Cane Creek, but the levers seem to be half the price of the Cane Creeks…)

Bars

It seems that just about any handlebars will do. Salsa and FSA Omega seem to be popular choices, as listed below. Cyclocross people seem to recommend going about 2cm wider than your usual road bar. Since I’m most interested in touring, I’ll probably go with the same width as my road bikes.

Salsa Moto Ace Bell Lap Anatomic ($34) 26mm x 42cm/44cm/46cm, 82mm reach, 144mm drop, 282g (2007 model listed at 261g)
FSA Omega 31.8mm x 40cm/42cm/44cm, 80mm reach, 125mm drop, 300g

The FSA Omega comes standard on all of Co-Motion’s touring singles, which leads me to believe it’s a quality item in spite of its low price.

Cable Routing


Normally, the shifter cable exits the front of the bar-end shifter, is concealed under a few wraps of tape, then extends forward along the plane of bottom of the drop-bars, and arcs back around toward the head tube, as in the photo to the right (from Arctic Hawk on BikeForums.net).


It is also possible to fully conceal the shifter cables by taping them against the handlebar, covered by handlebar tape until near the stem. However, on larger frames, this will require a longer than standard shifter cable for the rear. Cable and housing intended for a tandem bicycle will provide the necessary length. Standard derailleur cables are 1700mm in length, while tandem cables are 3000mm.

Also, when running this extra length, be sure to use Shimano (or other high-quality) cable and housing. The extra length and curves will significantly increase resistance if high-quality cable and housing isn’t used. (source)

Terminology

Some weird terminology that came up while researching this conversion.

  • Brifter – Integrated brake and shifter, such as Shimano’s STI lineup.
  • Bar-con – I have no idea what the origin of this is, but it seems to simply refer to bar-end shifters.
Posted in Cycling | 1 Comment

Finding the Black Rock Mountain Bike Area in Falls City, Oregon

Since I managed to get lost trying to find the Black Rock Mountain Bike Area in Falls City (despite being more or less a local), I thought others might benefit from a clear guide. This follows the route from Salem.


View Larger Map

Take Highway 22 west out of Salem:

IMG_7172

Continue on Highway 22:

IMG_7172

Stay in the left lane and turn left toward Dallas:

IMG_7172

Continue into Dallas. At the light, turn left onto Highway 223, Kings Valley Highway (Wal-Mart is ahead, on the right):

IMG_7172

Proceed through downtown Dallas. Watch your speed, it’s all a 20mph zone, and the police are quite bored here. Turn right onto Washington:

IMG_7172

Santiam Bicycle is about 1/8 mile on the left, should you need a Black Rock map

Keep left onto Highway 223, Kings Valley Highway:

IMG_7172

Turn right onto Falls City Road:

IMG_7172

Entering Falls City:

IMG_7172

At this point, begin looking for the blue signs pointing the way to Black Rock.

After passing the town grocery store, keep right at the intersection, onto Black Rock Road:

IMG_7172

Keep left at the fork:

IMG_7172

The road will turn fairly rough, with loose gravel. The traction is better than you think, I tested it thoroughly… ;-)

IMG_7172

Turn right at Socialist Valley Road:

IMG_7172

Socialist Valley Road leads immediately to the private Tapawingo campground:

IMG_7172

Outside this gate, on the right, is parking. Get on your bicycle, continue past this gate, and follow the road to the orange gate (you can’t miss it) and the trailhead will be on the right. Maintain slow speeds until the trailhead is reached, since this is private property which is graciously being allowed use by bicyclists.

Posted in Cycling, Travel | Tagged , , , , , | Leave a comment

Ecco Track Elite: Best Boots Ever

The Ecco Track Elite, model 24604, is easily the best boot I’ve ever owned. It’s far taller, and provides much more support, than any of the other Track series boots.

Ecco’s soles are soft and comfortable. While this results in a shorter-lived boot, for people like me with ankle tendonitis, it’s absolutely critical.

Posted in Backpacking | Leave a comment

Bummer!

In addition to my Halloween plans falling through, I just found out that independent hiking on the Inca Trail is prohibited!

Since June 2002 trekking independently on the Inca Trail has been prohibited. Regulations state that each trekker must be accompanied on the Inca Trail by a professionally qualified guide. (source)

Posted in Backpacking, Travel | Tagged | Leave a comment

Getting Squid (Internet Proxy) Working

Problem

After configuring Safari and Firefox to use my local network’s squid proxy, I got the following error whenever I tried to browse to a page:

ERROR

The requested URL could not be retrieved
While trying to retrieve the URL:  http://www.google.com/

The following error was encountered:
 * Access Denied. 
   Access control configuration prevents your request from 
   being allowed at this time. Please contact your service 
   provider if you feel this is incorrect.

Solution

The squid.conf file on my server wasn’t configured correctly. Actually, I had simply neglected to ever bother configuring it! By default, Squid rejects all requests.

I edited the Squid configuration file:

sudo vi /etc/squid/squid.conf

Changing from this:

# Example rule allowing access from your local networks. Adapt
# to list your (internal) IP networks from where browsing should
# be allowed
#acl our_networks src 192.168.1.0/24 192.168.2.0/24
#http_access allow our_networks

To this:

# Example rule allowing access from your local networks. Adapt
# to list your (internal) IP networks from where browsing should
# be allowed
acl our_networks src 192.168.1.0/24
http_access allow our_networks

Then restarted Squid:

sudo /etc/init.d/squid restart
Posted in Technology | Tagged , , , | Leave a comment

The Demise of CAPICOM

CAPICOM, a COM-based wrapper for the CryptoAPI library, is deprecated and on its way out. However, Microsoft has no time line for phasing it out, nor have they provided sufficient documentation of alternatives.

Many CAPICOM pages contain a confusing, bright-red header along the lines of:

[The SignedCode object is available for use in the operating systems listed in the Requirements section. Instead, use Platform Invocation Services (PInvoke) to call the Win32 API SignerSignEx, SignerTimeStampEx, and WinVerifyTrust functions to sign content with an Authenticode digital signature. For information about PInvoke, see Platform Invoke Tutorial. The .NET and CryptoAPI via P/Invoke: Part 1 and .NET and CryptoAPI via P/Invoke: Part 2 subsections of Extending .NET Cryptography with CAPICOM and P/Invoke may also be helpful.]

Note that this alarming paragraph seems to begin by simply telling you that this API is supported on the operating systems listed later. It does not state that the API will not be available on later OSes, but why place this here otherwise? The next sentence, beginning with, “Instead, …” seems to be contrasting with something, yet makes absolutely no sense in this context.

Finally, this paragraph instructs us to investigate SignerSignEx, and SignerTimeStampEx, which are supplied by the mssign32.dll, have no header file, and absolutely no example code. This is what I find most irksome, they document each and every function and structure, yet each page says, “there is no header file, so copy and paste the declaration given here.” Well, why not simply provide an mssign.h file on blogs.msdn, or similar? And why, oh why, is there not a single line of sample code?

Follow-up

I have provided a basic header file for mssign32.dll, here.

Posted in Authenticode, COM, Cryptography, Technology, Win32 | Tagged , , | Leave a comment

Unable to Connect to Localhost SQL Server Express Instance

Problem

Connecting programmatically or by using osql failed with the following, generic error:

error: 40 - Could not open a connection to SQL Server

My programmatic attempt looked like this:

string cs = "Data Source=localhost;" +
            "Trusted_Connection=true;" +
            "Initial Catalog=dbname;";
SqlConnection connection = new SqlConnection(cs); 
connection.Open();

Other variants I tried for Data Source were (local), 127.0.0.1, and the fully-qualified name of my local server.

My osql attempt looked like this:

c:\>osql -E -S localhost

Solution

The solution, at least for the basic connection problem, turned out to be a missing instance name. The instance name can be found by looking in Programs | Microsoft SQL Server 2005 | Configuration Tools | SQL Server Configuration Manager, under SQL Server 2005 Services. In my case, the instance is named “SQLEXPRESS“, so I tacked this onto my connection strings for a (more) successful login.

Programmatic:

string cs = "Data Source=localhost\\sqlexpress;" +
            "Trusted_Connection=true;" +
            "Initial Catalog=dbname;";
SqlConnection connection = new SqlConnection(cs);
connection.Open();

osql:

c:\>osql -E -S localhost\sqlexpress
1> 

Authorization

Actually, the above code didn’t quite work. I still get an authorization error:

Cannot open database "dbname" requested by the login. The login failed.
Login failed for user 'DOMAIN\username'.

This was actually because I hadn’t yet created the database, nor a user! I followed this handy guide in order to create a database, a user, and grant the user access to the new database.

In the end, my connection code looks like this:

string cs = "Data Source=localhost\\sqlexpress;" +
            "Trusted_Connection=true" +
            "Initial Catalog=dbname;" +
            "user id=username;password=userpass;";
SqlConnection connection = new SqlConnection(cs);
connection.Open();
Posted in ASP.Net, Technology | Tagged , , , , | Leave a comment

GnuPG Plugin for vim Under Cygwin

GnuPG, GNU Privacy Guard, is a free system for encrypting files, emails, etc. The GnuPG plugin for vim provides automatic encryption and decryption of files within vim. If you attempt to edit a GnuPG-encrypted file with vim, it will prompt you for the password, and re-encrypt the file when you’re done editing.

Download the gnupg plugin for vim from here and copy it into your user directory directory under .vim/plugin. From the Cygwin bash prompt:

mkdir ~/.vim/plugin
copy gnupg.vim ~/.vim/plugin

Run vim, then use the :scriptnames command and verify that gnupg.vim appears in the list of sourced scripts:

  1: /cygdrive/c/Users/username/.vim/plugin/gnupg.vim
Posted in Cryptography, Technology, Win32 | Leave a comment

My Fantastic Contraptions

A collection of solutions for Fantastic Contraption:

My Solutions:

  • Tube – a minimal tube crawler.
  • U-Turn – a floppy, crawling chariot.
  • U-Turn (again)) – a simple cart which uses leverage to apply force on the ceiling.
  • Back and Forth – an awful contraption.
  • Back and Forth – a better version which uses many wheels for low friction, and no bridge.
  • Higher – a ridiculously simple stick-flicker.
  • Around the Bend – a tiny triangle that flops to change direction.

Solutions by Others Which I Like:

My Experiments:

Posted in Fun, Internet | Leave a comment