Woodcarving Round-Up

I headed south to New Braunfels, TX yesterday to get a look at the Texas Woodcarvers Guild Spring Round-Up. The Round-Up is a week-long event that features classes, a banquet, a Whittlin’ Contest, and a few vendors set up to sell things that carvers buy. A lot of carvers are unabashed tool junkies, there were lots of tools available for sale.

The Spring Round-Up does not feature a show or any real “public” appeal. The general public is welcome to come in and look around, of course, but there are no tables set up with pieces on display, and there is no judged contest. The judged show takes place in the fall–typically the last week of September or first week of October.

I had two goals for my trip: to participate in the Whittlin’ Contest, and to buy some tools. I’m decidedly not a tool junkie, but I’ve been carving for three years with just a knife (okay, I own a handful of knives), one V-tool, and one gouge. There are things I can’t do (or can’t do easily) with those few tools, so I thought I’d pick up a few other gouges. I could have ordered the tools online, but wanted some advice from more experienced carvers, and the ability to hold the tools in my hand before I shelled out money for them. I ended up with six new gouges and a few new power carving bits, all of which should help me improve my carving.

I spent Tuesday afternoon wandering around the floor, briefly watching and listening to the classes that were taking place, talking to other carvers, and generally having a good ol’ wood nerd time. I also spent a little time in the Carving Corner, whittling a little dog and chatting with other carvers. Once again I was struck by how friendly and inclusive carvers are. Every carver there, from those who are just starting out to the most accomplished, were happy to sit around and chat while whittling away on a project. And they’re happy to answer questions and spend their time demonstrating some technique or other. Whittling with this group is a relaxing and entertaining experience.

The Whittlin’ Contest was scheduled for 7:00 PM. There are three classes: Novice, Intermediate, and Open. There are a few set rules, the most important being that if you win in one of the lower classes, you have to move up. Beyond that, the person in charge of the contest (who, by tradition, is the person who won the Open class the year before) sets the other rules.

Because I had never done this before, I entered into the Novice class. There were five of us in Novice, five or six in Intermediate, and almost a dozen in the Open class. We all sat down at our respective tables and they passed out the wood. The Novices got a block of basswood, 2-1/2″ x 2-1/2″ x 3″. They told us to carve a “Civil War hat,” further clarified as “any kind of hat you would have seen during the Civil War.”

The Intermediates were given a piece that was approximately 8 inches long, and cut in to a triangle that was about 2″ on a side. I think their instructions were to carve “a military scene.” The Open contestants were given a block about 2-1/2 inches square and maybe six inches tall, and told to carve “a Civil War caricature.”

We Novices were told that we could use any tool in our toolbox. The Intermediates were limited to, I think, three tools, and those in the Open category could use only one knife. They told us that we had an hour, and started the clock.

I don’t know much about hats in general, and I know even less about the kinds of hats worn during the Civil War. I could picture the Confederate cap, but not well enough to try carving one without a reference. But I figured that I could do a cowboy hat. Certainly somebody during that time was wearing cowboy hats. The only problem was that I had to remove a whole lot of wood to realize my vision.

At one point, after I made a mistake and broke the brim of what I was working on, I considered changing to a stovepipe hat, but I ended up having enough time left over to make it look kind of like a cowboy hat.

Judging is done based on originality, technical quality (proportion, symmetry, clean cuts, etc.), and also on completeness. Somebody told me that completing the project within the time allotted was worth a lot in the judges’ eyes. I had carved a couple of stovepipe hats before, and one (failed) cowboy hat, so I was pretty sure I could finish this project in an hour.

I did finish it in an hour, and although it’s a bit of a goofy looking hat, I ended up winning first place in the Novice category. Here’s my winning hat.

I think that either of the other two would have beat mine, had the carvers finished them in time. I was going to show the Intermediate and Open winners, as well, but the pictures were very blurry.

My prize was a plaque. And, of course, bragging rights.

I’ll be the first to admit that my hat is no great carving. But then, I was under pressure just to finish something in the allotted time. Given advanced notice and unlimited time, I could do a much better hat.

I honestly was very surprised to win this little contest. But now I have to move up to Intermediate, and that’s going to require a lot of practice. Even the worst of the Intermediate entries was beyond my current skills.

The things you see on the road

I had my bike repainted last year, and even started riding it. Then I got busy with other things (or maybe I just got lazy). The bike spent most of the last 12 months hanging in the garage overlooking the bandsaw. I’d take it out every couple of months just to assuage my own guilt, but then it’d go back on the rack and I wouldn’t think much about it for a while.

I’ve been saying for the last month that I’m going to get back on the bike, but I’ve been putting it off. This morning I got frustrated with the program I was working on, and decided to take a ride and clear my head. An hour on the bike usually does.

Every time I come back to cycling after a long absence, I unable to understand how I could possibly have stopped. That first few miles feels so good: back out on the road, enjoying the fresh air and the wind in my face, nothing heavy on my mind. It’s very liberating.

It hurts, of course. My legs aren’t used to climbing even the smallest hills. But I know that within a couple of weeks the pain will be gone and I’ll feel a lot better. I just can’t understand how I could have stopped riding again.

I took an experimental loop through a new subdivision and was on my way home when I saw a large group of riders–perhaps as many as 50–coming up on the other side of the road. There were two motorcycles in front, obviously part of the ride, and three vans following. One of the vans said, “Ride 2 Recovery” on it, and “Wounded Veterans Ahead.”

I had to go see what that was all about.

I turned around, sprinted past the vans, and caught up with the riders. I struck up a conversation with one of the riders, a former Army Ranger from Albuquerque, NM. They’re participating in the Texas Challenge: a 6-day ride from San Antonio to Arlington. The riders raise money to help support the programs that Ride 2 Recovery sponsors. I talked to this guy for a few more minutes, then rode up the line offering encouragement before turning around and heading home.

Had I been in better shape, I probably would have stayed with them all the way to Fort Hood, and then found a ride back somehow. But I figured that 50 miles was probably a bit too far for my first ride after over a year of not riding seriously.

“The Ride 2 Recovery,” the web site says, “is produced by the Fitness Challenge Foundation, (501C3) in partnership with the Military and VA Volunteer Service Office, to benefit Mental and Physical Rehabilitation Programs for our country’s wounded veterans that feature cycling as the core activity.”

Call it fate, coincidence, serendipity, whatever. The likelihood of me running into a group of riders on a Wednesday morning, out on the back roads on my first ride of the season is pretty low. But then, improbable events happen quite frequently. After all, people do win the lottery. Whatever the reason, or even if there was no reason, I sure am glad I encountered this group today. That’s some serious motivation.

Hash codes are not unique

It’s surprising how often I hear (or see written) a programmer saying, “…and then I’ll compute a unique hash code that I can use for a key.”

The term “unique hash code” is a red flag indicating that the programmer who uttered it does not understand hash codes and is about to do something incredibly stupid. Let me provide a simple example.

In .NET, every object has a GetHashCode method that computes a 32-bit number that can serve as a key in a dictionary or hash table. Used properly, the hash code lets you create very efficient data structures for looking things up by name. But there’s no magic involved, really.

Used as intended–as the keys in a dictionary or hash table–hash codes work very well. If you try to use them for something else, it’s not going to work.

Let’s say you foolishly decide to use a hash code for a “unique key” when indexing some strings.

The number of strings is essentially infinite. The number of unique values that a 32-bit hash code can represent is a little more than four billion. So it’s a certainty that two or more strings will produce the same hash code. You might think, if you’re only storing 100,000 values, that the chance of collision (two strings hashing to the same value) is so small as not to matter. You’d be wrong.

If you’re familiar with the Birthday Paradox you know that, in any group of 25 people selected at random, the chance of two having the same birthday (month and day) are better than 50%. In a group of 60 people, it’s almost a certainty. If you don’t believe the math, you can do some empirical research of your own.

Hash codes are a lot like birthdays in this regard. A good rule of thumb is that the chance of collision (two items hashing to the same value) is 50% when the number of items hashed is equal to the square root of the number of possible values. So with a 32-bit hash code, the chance of two items hashing to the same value will be 50% when you’ve hashed 2^16, or 65,536 items. Again, if you don’t believe me just write a program that generates random strings and try it.

Another rule of thumb is that you’re almost certain to get a collision when the number of items is four times the square root. So with a 32-bit hash code, the chance of getting a collision when adding 256,000 items is almost 100%.

This is second year Computer Science stuff. Maybe even first year? And yet I hear the term “unique hash code” thrown around distressingly often by experienced programmers who should know better. It’s frightening.

If you’re interested in a bit more discussion and some sample programs that illustrate this point better, see Birthdays, Random Numbers, and Hash Keys.