- Duane
Leinninger.com
From the field...
For What It's Worth...
January 2nd, 2003:
New Year! Holiday traveling. Honeymoon planning.
October 20th, 2002:
Need for Speed, Part 2

About 15 months ago, I wrote the first part of this article. I had just bought my Camaro and I was in heaven. I had no idea how addictive this could be. Since then, I have bought a 2002 Subaru Impreza WRX Sport Wagon, completed a number of modifications on both cars, and driven both of them at various type of race tracks. They’ve seen a little action on the street, but most has been limited to Milan Dragway and Waterford Hills road course. I’ve started attending Impreza Club meetings and install days, and I’ve become more involved with a small group of friends’ local projects. Of course, I’m still working as a crew member of Glenn Gehrke’s Spec Racer Team.

The scene is about the same as I mentioned last time. However, I find fewer five-liters on the road and more sport compacts. Some of them are pretty mean, most of them are all bark and no bite. The people that don’t need to brag still don’t, and those that should not, still do. There are still many people that are happy to be a part of this whole experience. They return to their desk job the next day with dirty fingernails and head to the garage as soon as they get home at night. After a while you need to be in and around a car. Winters can lead to severe withdrawal in this state. Often, you’ll find yourself in the garage, under the hood of your car, just looking. Wanting and waiting for the weather to break.
All in all it’s a rush. Not just the driving of, but the working on cars. Tweaking a few settings just a little… 5 more hp for an hour of work. One step at a time. Recently I helped a friend install a supercharger in his car. It wasn’t easy, but it was fun. It’s more than just talking some trash and peeling out at every red light. It’s about the work that goes into your car and the friends you make while doing it. Everything contributing to this entire experience.
I’m not saying that driving isn’t a rush. Especially when you get out on an actual race track.

My first experience was at a dragstrip. I took my Camaro out to get a feel for it. As I wait in the queue, my heart starts to jackhammer into my throat. My body goes a little limp from the anxiety. Suddenly, my adrenaline reaches it’s redline. The official points me to my lane and I warm up my tires with a long, steady burnout. The smell of liquefied rubber fills the air as smoke billows from the car’s hindquarters. Oddly, this otherwise violent display of torque actually calms me as I lined up at the staging lights. Two pair of pale yellow bulbs greet me. Without warning, the light tree comes to life: Red, yellow, yellow, (lay on the accelerator), green. Tires spinning. Struggling for traction. My right foot lifts for a half-second and suddenly I have grip. I’m pushed deep into my seat and my neck strains against the g-forces. The Camaro pulls hard through second. Entering third, it chirps it’s tires in defiance of Newton’s laws. Just as I reach 100 mph, I shift into fourth and I’m across the finish line. 13.82 seconds at 104 mph. I realize that I’ve just started breathing again and wonder how long I was holding my breath. I pick up the timeslip and verify my time. Good thing there’s a wait before I can run again. Gotta pull myself together. Damn sweet.
Road racing is an entirely different experience. There’s a lot of strategy involved. You have to know the limitations of the track, the car, and yourself. Then, add the chaos of a dozen other cars and mother nature (road racing continues in all conditions). More often than not, you will find yourself pushed into the side of your seat, instead of the back. Lateral G’s are what this is about. Riding the razor’s edge… stay on the track, but just barely.

My first experience with road racing was at this year’s Waterford Hills fun run. I drove my Camaro as well as a purpose built race car (Spec Racer Renault). The two cars are at the opposite ends of the spectrum. The Camaro has great power out of the hole. It corners well, but you are quite aware of the car’s yaw as you shred around a hairpin turn. The Spec Racer accelerates better than I expected (4-banger, 4-speed), but nothing frightening. However it sticks to the track like velcro. It’s the most unnatural sensation I’ve yet felt in a car. I found myself in disbelief of the endless available grip. Sadly, constant stopping (due to the lap policy) and degrading track conditions hurt my best times. But, I learned a lot about different set ups. There is very little shared between a race car and road car. A difference of five degrees of camber is HUGE. Acceleration isn’t everything (even though I turned much better times in my Camaro, taking first place in my group), technique IS.

After all of this, my greatest realization is that talk is nothing. Get out there and do it. Work on a car, even your parent’s minivan. Get your hands dirty. Change your own oil. Learn how things work. If you break something fix it. Think about what you’re doing. If you loose traction, don’t just assume you need new tires. Think about your suspension and chassis rigidity. If you’re a few tenths slower than you would like. Think about your technique before blowing a fat “G” on performance mods. Are you launching right? Are you shifting right?
Most importantly, think. If you’re lining up with somebody at a school crossing, you’re looking for trouble. Laws are there for a reason. I know that part of the excitement of the culture is to “get away with it,” but be safe. Research your mods. A 3″ exhaust with no cats might sound cool and up your horsepower, but you will loose low-end torque (in most cases). You won’t realize any benefit until you ride it to the redline in every gear at the strip. Before you talk trash, consider who you’re talking to. Why make an enemy when you have a chance to meet somebody that could teach you something?
Learning something new and trying something new will always be more interesting than doing the same thing and pretending to know everything.

Also Available: Part I
Further information and related links:
Milan Dragway
Waterford Hills Road Racing
Import Performance
Hot Rod Magazine
- Duane
July 3rd, 2002:
Operation Candle
One year ago, June 1st, Gina and I went on our first date. Neither of us thought that it would work. (Our first conversation a year earlier ended up in disagreement over online music sharing… we’ve reconciled since…) In all honesty, I only planned a simple dinner at a popular restaurant because I thought we would have nothing to talk about… nothing in common.

When I’m wrong I’m REALLY wrong! We barely touched our food, we talked the entire time. Since we were in the middle of our conversation, I had to think fast to extend our date (the restaurant was closing). We hopped in the car and drove into Royal Oak. We had a drink at Memphis Smoke, then had some coffee at Comet Burger. We didn’t stop talking the entire time. It was amazing! We had EVERYTHING in common. At the end of the night we decided that we should watch a movie that had come up in our conversation some time. The next day, we were doing just that. Things just kept getting better from there.

Last Friday Gina and I went out to recreate our first date for our anniversary. She didn’t know what we were doing, but a few minutes into the drive, I think she had it pretty well figured out. Apart from a not-so-friendly visit with the local law enforcement (it was a prom night, so we were pulled over and harassed for no reason, then I was given a b.s. ticket for not having my vehicle registration signed), the entire night went wonderfully.
We had dinner at Benihana, then a quick stop at Memphis Smoke, followed by a Boston Cooler at Comet Burger. The entire evening I was preoccupied with the time. Which I dismissed as concern over a production file push at work. I explained that I was expecting a call to tell me if things were o.k. or not. We left for home.

In all truth I was incredibly nervous. Two of my close friends and coworkers agreed to help me set up the evening. While we were enjoying dinner and drinks, Joy, Brad and his girlfriend, Melissa were busy preparing the next scene…
About 2 miles from the house I got a text message on my phone. About a minute later the phone rang. Again, I kept calm, completed my discussion, and continued driving. We parked in the back and walked into the house.
Kacey was barking wildly in her crate downstairs, so Gina offered to let her out, but I suggested that she not worry about that for the moment. Then, pointing at the kitchen floor, I said, “What’s this?” Gina asked me what was going on, I told her to follow them and we’ll find out.
We walked through the kitchen, then the hall, and into the living room. Looking around the room, Gina gasped, “Oh my goodne… OH MY GOD!”, as tears welled up in her eyes, she waved her hands nervously in front of her face. With that I picked up the ring, got down on my left knee, took her hand and said:
When you find someone you want to be with forever, you want forever to start as soon as possible.
On Saturday, June 1st, at 12:05 am, I asked Gina to marry me. She said yes. I’ve never been so happy… scared… nervous… and relieved in my life.
Further information and related links:
Benihana RestaurantsMemphis Smoke
Photos of the Setup and Reaction
- Duane
January 10th, 2002:
The Great BlackBall Conspiracy

Jackass. It’s a great show. Usually a group of twenty-somethings run around hitting their heads and getting smacked in the genitals. Brilliant. Every straight male on the planet worshiped that crap. Including me. It was fun to watch, but I’d never try anything they did on that show, except one thing…
The Gumball 3000 is a 3000 mile road rally across Europe (traditionally). In 2001, the participants traveled from Great Britain to Russia and back in 5 days. It’s a giant party with no sleep, little food, a lot of caffeine, and a shitload of adrenaline. Immediately I wanted to participate.
I knew immediately that most of those people lived lives far different than mine. They were playboys, entrepreneurs, movie stars, and rich daddy’s boys with six-digit weekly allowances. It had to be expensive. As soon as the hour-long special ended I began my research. In a few days I had created a promotional website, composed an introduction letter/request to participate, and began looking for funding.
We initially anticipated the cost to be around $7,000 USD. After a little more digging and research we adjusted that to $10,000 USD. Pricey, but still possible with a little financial help. Why the cost increase? We initially discovered the Gumball 3000 through MTV’s Jackass series. So did 30,000 other people. Part of the cost increase may have been designed to thin out the initial flood of entries. (There are only 100 grid spots.)
We did a little prep on the car and some additional sponsorship research, but heard nothing from the Gumball committee. Several months after our initial and follow-up e-mails to the committee we were contacted by some of the Gumball message board members. Somebody had stumbled onto our site and filled out a contact form. The initial response was VERY positive. A few more e-mails from confirmed participants trickled in, but we had no official word yet.

A couple of months later we received another contact e-mail from a message board member that was, at best, depressing. He stated that he thought we were trying to get money from outside sources too vigorously, that it was very expensive (hint: we couldn’t afford it), and that if we didn’t have an entry form yet we wouldn’t be getting one (i.e. GIVE UP). That was a lot to stomach at once. I figured that he was probably right on at least the last point. So, I posted a simple update on the site:
"We never got an entry form. We were never contacted to participate. Thanks for your support and interest. Maybe we’ll see you next year."
About a week later (Christmas Eve, actually…), a shiny, over-sized, silver envelope arrived in my mail. I set it aside as I rushed to get ready for the holidays at my parent’s house. When we returned that evening, I went though my mail. Normally I would have just tossed such an obvious piece of junkmail, but I opened it anyway. To my shock, a brightly colored entry form and sticker fell to the floor. I turned over the small circular sticker to see the Gumball 3000 logo stare back at me. A cold sweat instantly covered my body. Could it be?

I read the brochure/entry form several times in disbelief. We made the final round of selection. The first 100 entry forms back to the committee were in! (I knew that over 70 grid spots had already been claimed.) A million thoughts ran through my head at once. Where would we find the cash? Would we get the form back in time? Could the car withstand seven-thousand miles in 2 weeks (we would have to drive to New York to begin the rally and back from L.A. after the close of the event)? I also noticed that the final entry fee had increased to 7,050 Pounds Sterling (~$15,000)… ouch. It was possible that we would could afford this if we had a large sponsor (that would have to be approved by the Gumball committee before the event).
Obstacles steadily began to pile into the path of our participation. The cost was greater than we anticipated, our work schedules began to threaten our timeline, and we were given the run around by the few large companies that might have an interest in our participation in such an event.

There is still a small chance that we will still be able to take part in the Gumball 3000. The greatest issue is the cost. For that fact alone, the increased cost has proven effective… consider us filtered out. (The buzz hints that the inflated entry fee is to skim the best of the best from the possible entrants. A movie is being planned based on the Gumball rally, and they want to ensure the most interesting people possible take part. Apparently, we couldn’t afford to be interesting enough.
However, we propose an alternative to this rich man’s race. It is not our intention to compete with the Gumball. There’s no way we could possibly hope to do that. We just want to have fun without blowing $15k. Contemplate this:
- < $100 entry fee
- 500 mile route
- 2 stops along the way to make asses of ourselves
- Anything that’s highway legal is allowed
- No pretentious aspirations
- Fun for fun’s sake
I’m working on this possibility now. Many details need to be worked out. The event would most likely happen at the end of the summer (late August?). Expect more updates soon.
Further information and related links:
Gumball 3000 HomepageOur promotional site
Sports Car Club of America
MTV’s Jackass
- Duane
September 14th, 2001:
Code Snob
What is good code? Any developer with a few years of experience will provide a different answer. My answer is simple: do the most with the least. This simple rule dominates even nature itself. Overly complicated systems require greater upkeep and maintenance. During the early evolutionary stages of our planet, overly complicated species faded into genetic obscurity. Early programing languages followed the same pattern. Complication without reason will only breed more complication.

Today, many developers openly brag about their 250,000 line application: “Just let (the next guy) try to figure THAT out!” Although this may ensure job security, it is truly no way to better your development environment. What is to be gained by a 250,000 line application that performs the same task as a 10,000 line script? Unless you’re paid by the bit, nothing.
A little over a year ago, our team inherited code from another group. We’re responsible for a major online financial resource, offering information and services to tens of thousands of visitors daily. Our team is web targeted and trained. We know good code, back end to front end. The original team consisted of desktop application developers accustomed to long development cycles, endless code, and poor communication. They built the original site as if it were a desktop app. That’s all fine and good if you’re in a market that moves at a snail’s pace, but the financial marketplace is constantly redefining itself. We couldn’t afford to have six month code cycles.

The first thing to go were object oriented (OO) tools for generating html. I’m not just talking about off-the-shelf products. The old team actually wrote Visual Basic and C++ applications to generate and/or compile their html for them. While I can appreciate the inner workings of their code, I can’t justify it’s use. With such tools we lost all flexibility. The smallest change required the use of cumbersome tools and a lot of waiting. Rule 1: If you can code it by hand, do so. Application wizards and assistants can be useful if you’re stuck. We must remember, however, that these tools were developed to help everyone to anything. A specially tailored code solution will to the job as well, if not better, with less code.
Another thing we noticed almost immediately was the complete lack of inline comments in the code. The comments that were found were more enigmatic than the code itself. Clear comments will help you when writing your closing docs (covered later) and assist when you have to debug your code later. In most cases, comments cause no extra bloat in modern code. Compilers ignore them, as do most modern runtime interpreters. The one glaring exception to this is HTML. Not only will those comments cause code-bloat, they can be a little too helpful to some visitors snooping through your code.
Reusable code is key. Not only can it save time, it limits possible points of failure while reducing the total number of lines of code. Although good reusable code may take longer to prepare initially, you will save time in the long run. Be prepared for future features, but you don’t have to implement code for them. A lot of the excess code in the old site was placed there for future changes that never happened. (Some things were as surplus as directories for features that were never needed or even planned on!) Simply recognize that changes will be made at some point to some of your code. Don’t code it into a circle. Make sure others can add to it easily. (Use clearly defined variables, group similar functions together, etc.)
Agree on a standard for variables and general code format early in the development cycle. If existing projects established these standards already, use them. Depending on your environment, you may have different formatting standards for different languages. Keep this to a minimum whenever possible. When size restrictions permit, limit the use of obscure abbreviations. (You may know that intlStatMtd means “internal status method”, but somebody else most likely won’t, unless you’ve established this in a comment or doc.)

All coders hate writing documentation, yet we all complain when we have to work on a project for which there is none. It is a necessary evil. There are a few things we can do to make writing and maintaining docs a little less painful. Use a template; most pro shops have established doc templates with an outline of the suggested content ready for you to fill out. If your shop does not yet have one, find an example of one you like on the internet and present it to your team leader. You’ll get a gold star on your forehead as well as some peace of mind. If you’ve included good comments in your code, consider yourself half-done already. Start cutting and pasting. Most projects start out with a spec. Most of the intro content for you doc can be pulled directly from the spec. Finally, remember to update your docs when changes are made to your code.
All in all, good code is the result of conditioning:
- Brevity is bliss. Nobody likes a joke that takes forever to get to the punch line. (Exception: Comeback College. Ask George.)
- Stay away from packaged solutions. They’re for everyone, not just you.
- Write good comments, it’ll help if you fall on your head mid-code.
- Write methods and functions that can be reused. Nobody likes code-bloat.
- Standardize your code format. It just looks so damn pretty.
- Write and maintain accurate documentation. You can tell your friends that you’re a programmer and an author.
Well, what are you waiting for? Why are you reading this? Don’t you have code to write?! Get to it!
Further information and related links:
Perl.com Coding Standards GuideWebStandards.org
Good code format opinion
Ars Digita Documentation Template Example (pretty good)
- Duane