The Humble Commuter Part 2

Road rage is a fascinating phenomenon. People who suffer from it really do freak out over the smallest things. It’s actually pretty fun to watch a grown person work themselves into a tizzy because of some imagined automotive malfeasance. My favorite is the exasperated “throw arms in the air plus tilt head back” move, with a close second being the emotionally charged “obscene gesture with snarling face” maneuver. One time I witnessed a driver repeat both of these in rapid succession for a full half hour. I laughed so hard I almost crashed into a guard rail. The emotional state I all too often find myself in during my commute is clearly not road rage, for two important reasons. One, there is nothing imagined about the crescendo of automotive blasphemy occurring on the other side of my windshield. Two, the word “rage” is too tame to adequately describe the blood boiling explosion of fury that sweeps over me. So let’s both take a deep breath, count to ten, and share some insightful tips for safe driving that are guaranteed to sooth even the most venomous vehicular vexation.

  • Bike lanes are no longer just the subject of science fiction movies and dream sequences. I have never actually seen one, however I have been assured that they are real. From what I have been told a bike lane is similar in appearance to the extra mini-lane some roads have that provides room for your passengers to hang things out the window. If you do see a bike lane be careful not to swerve into it and run over the bikers.
  • Frequent lane changes are a must. Not only do these improve the safety of all drivers, they also allow you to display your driving superiority so that a proper pecking order can be established. Without this natural hierarchy the flow of traffic can degrade into chaos. This is America, and you have a God-given right to be in any lane you want, any time you want. If the occupants of  your destination lane are too daft to notice, resort to using your signal, look straight ahead, and without hesitation slowly pull into the target lane. They will let you in, trust me.
  • There is a bizarre group of thrill seekers that can seriously jeopardize your safety that you need to be aware of. These sick individuals paint paths across the road then at random times walk or run along these paths directly in front of oncoming traffic. I’m not kidding, this is a real thing. Rather than be put off by these twisted weirdos I turn the tables on them. Since they get their kicks running out in front of moving traffic, I do what I can to make it worth their while. Whenever I see them coming up I accelerate and veer crazily back and forth as I speed through their makeshift pathways. I think they call themselves “crosswalkers”.
  • Imagine you are in a truck stop off I-70 in the barren plains of western Colorado drinking coffee that smells of what you imagine fresh deer poop smells like. While swapping stories with a grizzled overweight trucker with an eye-patch over a perfectly functional eye, you hear the incredible and spooky story of “keep right” signs.

    “Long ago it was decided that on roads with more than one lane, slower traffic should keep right so that faster traffic could pass on the left. Multiple signs were put in place all over the country, some reading “slower traffic keep right” and others saying “keep right except to pass”. Mysteriously not long after these were put in place they all disappeared without a trace. Except for the occasional unsubstantiated “ghost sign” claim, not a single driver has seen one since.”

    Spooky indeed.

  • During long highway drives you definitely want to try what I call “pace-car-ing”. This is a technique in which you match the speed of a car going a bit faster than you after it passes. For as long as possible pace your speed in direct proportion to this car and follow them through traffic. In the event of a speed trap the car you are pacing is much more likely to be pulled over than you. If the officer does mistakenly pull you over, you now have an ironclad defense that once explained will cause the trooper to sprint back to his vehicle and speed off to catch the real perpetrator. Do not combine pace-car-ing with tailgating. This could result in an uncomfortable confrontation that involves more than one police officer (don’t ask).
  • On most highways you have a friend out there, and that friend is the breakdown lane. Are you stuck in traffic a mile or so from your exit with people obviously going straight? Your exit is not the source of the traffic, why should you have to wait with them? The answer is you don’t. Pull on into the breakdown lane and enjoy a quick get away as you blow by all the stop and go suckers.

I don’t know about you but I sure learned a lot. In closing I want you to remember: you do own the road; It is a race; the parking lot is the autobahn; and we will not all get there when we get there.

The Humble Commuter Part 1

For the last five years I have been commuting about fifty miles each way to work. This is the equivalent of driving for one hundred and four days in a row, except that it’s not in a row. I’m not thrilled about spending ten hours a week driving, but it does involve a lot of sitting which I excel at. On the other hand it also involves interacting in a strange automotive dance with other drivers, which I admittedly struggle with. Thankfully in two weeks I will be starting a new job working from home, but before I leave the commuting world behind I wanted to share a detailed list of useful observations I painstakingly compiled over the years as I watched and learned from other drivers. Unfortunately I lost that list, so I came up with this stuff instead:

  • When in stop and go traffic it is important to speed up to the maximum possible velocity when cars start moving, then brake hard each time they stop again. It is proven that this results in a quicker arrival at your destination.  Additional evidence strongly supports the idea that the closer you get to the car in front of you before braking, the more time you save on your overall trip.
  • When in the fast lane of a two lane highway pace your speed around 1-2 MPH faster than the posted limit. This will be enough to pass some slower traffic.  It also ensures that the way ahead of you is clear by boxing other drivers in behind you. If a big enough opening occurs that a driver attempts to pass you on the right, match their speed exactly so that they are unable to get ahead.  If you are on a highway with more than two lanes try to parallel a car beside you as this can also produce the improved safety conditions described for two lane highways.
  • Turn signals are completely optional. If you decide to use them the best time to do so is about halfway through your turn. The maximum recommended number of flashes you should allow your signal to be active is two. The only exception being that rare occasion when you decide to use a signal during highway lane changes. In this case you should leave the signal on after the lane change for no less than five thousand flashes. You may want to turn left from the leftmost lane into the median at some point, having your signal on could save precious time.
  • Always Tailgate. What the irritated driver in front of you does not know is that while you are benefiting from reduced drag and a feeling of superiority by pinning your bumper inches from theirs, they are also benefiting. It only takes a passing interest in the most basic study of physics to realize that the closer two cars are together, the less force an impact between them will incur, minimizing potential damage. When on the highway tailgating also has the additional effect of psychologically forcing the driver in front of you to move over to the right lane. When this happens don’t speed up. As they approach slower traffic they have no choice but to veer back in front of you worried about how close you are, or hang their heads in shame by joining the large group behind you. It’s a good test of character for them.
  • When choosing to exit a highway it is crucial to wait until the last possible moment to change to the exit lane, preferably after the dotted lines change to solid, and not necessarily from the lane adjacent to the exit ramp. It is important to note that other drivers do not have the demanding schedule and incredible responsibilities that you do so the question of whether it’s acceptable for you to lose seconds off your commute waiting in line for an exit ramp is a no brainer.
  • You should turn right on red instinctively, especially when you see three distinctive “no turn on red” signs scattered throughout the intersection. If someone is in front of you restricting your ability to turn right feel free to honk at them liberally. If you think they are looking back in one of their mirrors raise your shoulders and hands in a “what the hell are you doing?” manner.
  • Roundabouts/Rotaries are put in place to allow you continuous travel through intersections without concern for other drivers. Do not slow down when approaching one as this will just create confusion. If your destination is three-quarters or more around, a good shortcut is to go opposite normal traffic flow and use the roundabout as your own personal go-any-way-you-want area. Chances are low someone is coming the other way during the short time you are zipping through.
  • When entering a highway remember that you are now setting the tone for all the other drivers. The speed of existing vehicles must adjust to what you are bringing to the table. The recommended approach is to pick a speed about five MPH less than current traffic, look unwaveringly straight ahead as you merge, then lurch into the fast lane without speeding up.

Staying safe on the road is a topic so comprehensive it cannot be limited to one blog post. In part two we will tackle additional important situations such as frequent lane changes, how to handle bike lanes and crosswalks, as well as the age old question: “who’s road is this anyway?”.

Potato Driven Development

You can find countless blog posts by software people claiming that writing code is a craft, science, or art. You can find an equivalent number of posts stating it is not a craft, science, nor art. Some like to split hairs and claim our titles define us: coder vs programmer vs engineer vs developer. The earth shattering insight to be gained from all this is that writing software encompasses a large variety of tasks, and that programming means different things to different people. This results in the adoption of a variety of methods trying to perfect the process of software creation. Unfortunately, restricting how programmers work in this regard requires a trade off that in many cases is counterproductive.

The collective body of knowledge used at any given time to support “best practices” is a moving target. I remember years ago (get off my lawn damn kids) when I was lambasted for not using a third-party template system in an Open Source web application written in PHP. Two years later I was reading about how using a third-party template system added unneeded overhead and projects that used them were poorly designed. I’m not saying this just to point out that I am consistently two years ahead of the curve, though that anecdote is a nice proof so feel free to be impressed. Today’s best practices can quickly become tomorrows regrets. A healthy dose of common sense goes a lot further than a Hacker News consensus when it comes to making sound decisions.

Since writing software is perceived dramatically differently by those that perform it, the enforcement of a strict development methodology restricts creativity in a way that limits a developer’s performance. All successful organizations impose some level of structure on their workflow. I’m not suggesting development shops devolve into a code slinging free for all, but I do think there are gains to be had if we lighten up on fierce adherence to unyielding paradigms. Software development is for me a very creative process. Trying to box that creativity  into a one size fits all methodology inevitably diminishes its expressiveness.

There is no silver bullet for creating bug free software. If there was we would all be kicking back with our feet up on the desk shooting shiny projectiles wildly around the room while untrained monkeys generate flawless code. The most important assets to producing good software are the people behind the product. No automated test system can replace a programmer with a deep understanding of the problem domain. No development methodology can compensate for a coder that does not have an adequate skill set. Give developers the freedom to choose their editor and IDE, and their approach to design software. Doing so empowers them to perform their best and increases their productivity. Of course if they don’t choose vim as their editor they are obviously idiots and should be fired immediately.

If writing tests before writing code works for you, great. If you like to build POC code before finalizing the design of a product you absolutely should.  If spooning another developer while you pair program is your thing, then I say more power to you. My personal method of stirring up software inspiration involves staring intently at an uncooked potato for one half hour before writing any code. I call it PDD and plan on selling merchandise and training seminars at a very reasonable rate so stay tuned.


From Wall Street to WordPress

I never thought I would have a “Wall Street” job. For starters I live in Kansas. It’s not exactly the financial industry wheel of fortune you are probably picturing. Secondly, at that time, I knew nothing about how markets worked. Na da. Lastly I am a computer hobbyist turned software developer, not a likely contender when pitted against CS PHDs for coveted high paying jobs at them there high-falutin’ Wall Street firms.

Against all this evidence to the contrary, one such company did hire me for a development position. It so happens they were running a trading system on the east coast from a quaint Kansas City suburb office park. Ever since I have been knee-deep in free market plumbing, doing what I can to keep the leaks to a minimum and the cogs of capitalism turning smoothly. It’s been challenging, rewarding, hair-graying, and one heck of a ride.

Being on a team that develops and operates a licensed US Stock exchange is simultaneously invigorating and horrifying. The stakes are big, the players are bigger, and the more you learn, the more you don’t know. During my five years we converted an ATS (alternative trading system) to an official US exchange, launched a pan-European trading platform, started a US options exchange, started a second US stock exchange, and bought then merged a competing European trading system. All the while carving out serious market share.

We had victories and setbacks, flawless execution and brain-dead mistakes. Pretty much the same things all endeavors undertaken by humans endure. We continued to thrive because of impressively dedicated and brilliant employees. No rock was ever left unturned in the pursuit of process excellence. I’m proud to have contributed in my small way to the underpinnings of what makes trading in a complex system work a little bit better, and I’m truly honored to have done so among such excellent company. Now I’m doing the one thing even more unlikely than landing this job in the first place. Leaving it.

I have no love or hate for Wall Street. It is what it is. The best I can muster after working to maintain its infrastructure is a feeling of bland disdain. Big picture wise moving money from one bank to another at lightening speed is hardly inspiring, technical challenges notwithstanding. The stock market is capitalism stripped bare. It is the business of making money with money, without all the pesky distractions of other industries like producing a useful product or service. I appreciate its purity in this regard, but it rings hollow for me in the meaning department. For as much time as I have spent studying it’s inner workings, I’m surprised to say I won’t miss it. I will miss the damn fine people working behind the scenes to make it run as smoothly as it does.

Now it’s time to mosey on down the road to life’s next adventure. I’m happy to say I have accepted a position with Automattic, and am honestly beside myself with excitement over what challenges lay ahead. I started writing Open Source web applications in PHP before WordPress even existed. Through the years I have continued to contribute to Open Source projects in my spare time, and it remains something I am passionate about. With this career change I feel like my professional life and personal labor of love are merging into one. I’m already dreaming about how it will all play out after the next five years.