Track day

April 29th, 2016 No comments

For the first two laps on my first day ever at a race track, my instructor Dan took the wheel. He had gone around High Plains Raceway times beyond count, and his customized helmet and calm command of the Porsche inspired nothing but confidence.

Confidence in his driving, anyway. As for the prospect of my own turn in the driver’s seat, I was trembling — literally shaking — with a mixture of fear and excitement. The purpose of Dan piloting the first couple of laps was for me to get a feel for the particulars of this specific track, but any mental notes I might have wanted to take were displaced by other concerns. Everything was happening so quickly, and there were so many cars, and there was so much to think about, and, and, and…

Suddenly, we were entering the hot pits. It was time for me to drive.

Map of High Plains Raceway

My first attempts at new skills of all sorts have been invariably awkward. I might have researched them, talked about them, and watched them be done, but a chasm exists between book knowledge and first-person experience.

The trepidation about the track was not without cause. We would be traveling at triple-digit speeds and through tight curves. Mechanical problems usually sideline a few vehicles per day.  Car-to-car contact is very rare at these Porsche Club of America “high performance driver education” (HPDE) events but does happen occasionally. Every once in a great while, people are injured.

Still, the risk was low enough to be manageable, and safety was emphasized by everybody. It was not a race; the organizers were very, very clear about that. I used the event as an excuse to acquire an SA2010 rated helmet and FIA 8856-2000 rated gloves.

In the hot pits, Dan and I got out of my Boxster S, walked to the sides opposite where we’d been, and sat back down. Mirrors were adjusted, seat belts were fastened, and the intercom was hooked back up.

I checked for traffic, pulled out, reached the end of the pits, and joined the track-proper.

Those first few laps were a foggy blur. There was so much going on that I pretty much forgot to shift. Fortunately, the track was laid out such that it’s possible to do laps (albeit slow ones) in nothing but third gear. What I do remember was Dan providing useful pointers and encouragement throughout the 25-minute session and my ear-to-ear grin when time was up. I couldn’t wait to get back on the track for the next session.

My 986 Boxster S in the paddock wearing #22

That opportunity came a couple hours later after the other run groups had taken their turns. Another 25 minutes for me; roughly 10 laps, each a bit better than the previous. Thanks to Dan’s coaching, I gradually became more aggressive about maintaining speed and getting close to the edge of the track. I learned not to cheat the turns by starting them too early. I learned to appreciate the off-camber, decreasing-radius Turn 6.I learned that the brakes were capable of slowing the car from 108+ mph in an incredibly short distance at the end of the long straight.

The jitters subsided, but the smile was still there.

Soon, it was time for lunch. I chatted with my fellow drivers and discussed turns with Dan.

In the mid afternoon, there was more track time and more improvement. In between sessions, I watched the drivers in the faster run groups pilot their steeds around the tarmac. Though I had started driving only earlier that day, I was already able to pick up on things they were doing well and things they were doing sub-optimally. Some were taking inefficient lines. Some were delaying application of the throttle until well beyond the turns. Some would have been very slow had they not been driving very fast cars. Some were slow despite their very fast cars.

Me with my car in the paddock

As the sun approached the horizon, my final track session of the day began. The Boxster screamed its sonorous flat-six howl as the tach passed 4000, 5000, then 6000 RPM. The turns came up more quickly than they had in the morning, and I went through them with far greater confidence. Apexes were hit; downshifts were made.

The track, too, had evolved. In the run group just prior to my final session, a late-model Mustang had dumped a large amount of oil near Turn 7. The track crew did a good job of cleaning it up, but a substantial amount of oil absorbent was still on the asphalt when we got out there. It was a teachable moment: what to do when the ideal line is not an option for some reason. Dan’s wisdom proved accurate, and we got through the hazard with no issues.

Impossibly soon, time was up. I stuck my gloved hand out of the window in an upright fist to signal my exit from the track, drove back to the paddock, and gathered my things for the journey home.

My Boxster came through the day with no apparent damage. The tires had slightly less tread, and the wheels were sporting a thick layer of brake dust, but mechanically everything seemed to look, sound, and feel as it had in the morning.

I had a lot of fun. I’m looking forward to the next time I’m on the track.

How I made a cheap PCB

March 29th, 2016 8 comments

Even though I have a degree in electrical engineering, and even though I’m comfortable reviewing schematics, I haven’t done much circuit design in the decade that I’ve been out of school. The record was even worse when it came to printed circuit board design: I’d laid out only a single board, a single time, way back in 2003. I decided to change that.

Opportunity showed its charming face while I was working on a talk for DEF CON 24, which is a computer security conference that will be held this coming August. I found myself in need of a high-bandwidth, high-gain, high-dynamic-range microammeter to do a specific type of analysis on certain devices. My usual go-to microammeter, a µCurrent Gold, was sufficient for preliminary work but fell short in the bandwidth and dynamic-range departments. Thus, I decided to design one myself.

The printed circuit board (PCB) design and manufacturing process turned out to be far easier and cheaper than I had feared. It took me about a day to learn how to use Eagle, which is the de facto PCB CAD program, another day to flesh out the circuit design and the board layout, and about four weeks of waiting for the boards to be made in China and shipped to me. The cost for printing 10 boards, including shipping? Just $14.  Total cost for each board, including components, was about $6.

My circuit board

The circuit board I designed. “Stuffed” on the left, “unstuffed” on the right.

I half expected to get non-functional boards, or drill hits that were way off, or nothing at all, but instead, I got nice-looking boards with excellent registration and no electrical problems. For comparison, I could have had the same boards made at a plant about five miles from me, but the bare boards would have been at least $33 each, and the quality would have been no better.

The key was going through They have some sort of deal with inexpensive Chinese board houses. As long as the board design is small (mine was 5cm x 5cm) and simple (2 layers), and you’re fine with receiving “about” 10 boards very slowly (1-8 weeks quoted; mine took 4 weeks), then I think they can’t be beat.

My layout job looks a bit amateur, and I made the anachronistic choice of going with several through-hole components instead of being 100% surface-mount, but the actual circuit works great. If my talk gets accepted, I’ll probably do another board spin to make it look nicer, but electrically nothing will need to change.

Cheap labor and heavily subsidized postage are an incredible combination.

Coloradans lack strong feelings about ColoradoCare

March 3rd, 2016 Comments off

This November, Colorado residents will head to the polls and be faced with a question possibly more important than who should be the next president: should Colorado implement single-payer healthcare?

I was curious about how likely that proposal, known as ColoradoCare (or Amendment 69), was to pass. Unfortunately, no opinion polls exploring that question have been performed, so no data was available. I set out to fix that.

First, some background. ColoradoCare is a single-payer healthcare proposal for Colorado residents that will be funded by increased payroll taxes. Proponents of the program expect it to cost about $25 billion in its first year, which is roughly the same as the entire current Colorado state budget. The new 10% payroll tax will be split 33/67 between employees and employers. It will cover all healthcare services, which will be provided with no deductibles and no co-pays. The proposed constitutional amendment was added to the ballot after supporters gathered 156,000 signatures in 2015.

Opposition to ColoradoCare has formed as a bi-partisan coalition. Opponents argue that the plan is expensive, unworkable, and shouldn’t be enshrined in the constitution. They point to Vermont as a place that considered a similar system only to see those plans collapse.

But what do the people think?

I investigated hiring a polling firm like SurveyUSA to run a poll, but the cost would have been four to five digits. I searched awhile for cheaper options. Eventually, I decided to run a Google Consumer Survey.

Google Surveys are those slightly annoying short questionnaires that some sites use to unlock things like articles or premium features. They are not proper opinion polls by any stretch of the imagination. However, there’s some evidence that those surveys can be reasonably accurate for predicting political outcomes. The sample population is reasonably random, and Google knows enough about individual internet users (gender, age, income) to allow some level of weighting.

For my survey, I decided to use a series of three questions. The first two would be screening questions to try to limit responses to likely Colorado voters:

  1. Are you residing/working in Colorado? (Yes/No/Prefer not to say)
  2. Are you likely to vote in the 2016 general election this November? (Yes/No/Prefer not to say)

The presentation order of the answers was randomized for each person. I wanted to ask “Are you a Colorado resident?” but that question got rejected by Google as being too personal; hence, the slightly strange “residing/working” phrasing of the first question.

If the user answered “yes” to each of the screening questions, they were presented with the real question:

  • Do you strongly favor, favor, oppose, or strongly oppose the proposed Colorado single-payer healthcare initiative known as ColoradoCare (also known as Amendment 69)?  (Strongly Favor/Favor/Oppose/Strongly Oppose/Don’t know)

For this question, the order of the answers was randomly reversed.

Here's what the main survey question looked like on a phone.

Here’s what the main survey question looked like on a phone.

Google ran some tests, came back with a quote (per completed questionnaire), and asked me how much I wanted to spend. The per-response cost was about an order of magnitude lower than a proper poll, but still a bit expensive, so I went with 100 responses. For voter turnout of 2.6 million (roughly true of Colorado), 100 responses provides +/- 10% confidence intervals at a 95% confidence level — enough to get a feel for things.

I ran the poll starting yesterday and going into today (March 2 – March 3, 2016). This morning, Google emailed me to tell me that the results were ready. I clicked the link with bated breath.

Here’s the summary of the results. About half of the population doesn’t have an opinion about the proposal or is unfamiliar with it. Among the half that has an opinion, there is a fairly even split between those in favor and those opposed.

Results of my survey (March 2-3, 2016, web poll of 100 LV)

Results of my survey (March 2-3, 2016, web poll of 100 Colorado likely voters)

Interestingly, the error bars came in right about as expected, roughly +/- 10%. Here’s what the results looked like if you grouped the favor/strongly favor and oppose/strongly oppose options. Also, feel free to look at the raw data, which includes demographic information of the survey respondents.

Now, there are a huge number of issues with this survey: small sample size; bias towards people who use the internet; under-representation of the poor, wealthy, and elderly; and so on. Still, I think a couple of conclusions are reasonable:

  1. A sizable portion of the population is available to be swayed for or against the amendment
  2. The margin of passage or rejection at the polls is not likely to be as large as some commentators had hoped or feared.

Should be interesting to see how these results compare with the first proper polls on the subject, which I expect will happen sometime this summer.


Finding valid vanity license plates

January 31st, 2016 Comments off

Vanity license plates are frivolous, but life is often made more enjoyable by frivolities. The biggest problem with obtaining such a license plate is finding a combination of letters and numbers that is desirable but not yet taken. It’s a task made harder by the states, many of which keep the availability of a particular combination a secret until you’ve gone through the hassle of applying for it. Worse, some states, such as Colorado, require that the application be on a piece of paper that’s physically mailed in, which means that the cycle between applying and getting rejected will take weeks at best.

A few years ago, I decided I wanted a custom plate for Sam, my Subaru, in honor of the epic road trip I was about to undertake with him. I was living in Minnesota at the time. When I had renewed the registration for my other Subaru, I had noticed that the registration tax could be looked up using just a license plate. If the plate was unregistered, an error would be returned to that effect. Bingo! I went through a few words, and soon I discovered a great option: “EXPLORE”.

Sam the Subaru with his

Sam, caked in Canadian bugs, with his “EXPLORE” vanity license plate

Jump ahead to last summer. I tried to find a similar trick for Colorado, but none of the official state websites would give up any information with only a license plate. I didn’t want to go through the cycle of application and rejection multiple times by mail. Fortunately, another option became apparent.

I had purchased an “unlimited” subscription to Carfax for vehicle history reports when I was looking for a Porsche to buy. A report could be obtained by entering a car’s VIN or — critically — by entering a car’s license plate. I immediately recognized the potential. I pulled up a list of Colorado’s vanity plate requirements and started trying various real words and clever corruptions.

After many attempts, I found a few options that would have worked for Sam or for the Porsche, like “FLAT6″, and a few others that would have been great for one of them, like “SUBARU”. I filled out the paper application, mailed it in, and a few weeks later… got rejected. The reason given was, roughly, “Not an allowable combination.” In other words, the combinations did appear to be available, but they were considered invalid. The fact that they clearly met the vanity plate requirements was apparently lost on the person processing the requests.

Maybe I’ll try again this year.

A farewell to hockey

August 31st, 2015 1 comment

Ten years of hockey. That’s what fate gave me. I cherished them. They are now in the past.

As I related in my previous blog post, I had been playing for almost exactly 10 years when I suffered a bad knee injury in December 2014. My MCL was sprained in an on-ice collision. Goaltending places enormous stresses on the MCL, and I suddenly found myself unable to stay stable in my stance let alone move as a goalie must. An attempt to return to the ice — perhaps too soon — led only to a painful re-injury of my knee and crushed hopes.

I always knew that I’d need to hang up my skates someday. I never expected to be in my early 30s when that day came.

Skating towards my net in November 2014, the week before my knee injury (Photo: Tyler)

Skating towards my net in November 2014, the week before my knee injury (Photo: Tyler)

When I chose to start my hockey career by playing goalie at a learn-to-play session in December 2004, I joined a hallowed fraternity. Jacques Plante, Vladislav Tretiak, Ken Dryden, Patrick Roy, Dominik Hasek, Martin Brodeur… those men were my hockey heroes: the ones defending their nets, not the skaters putting pucks past their opponents.

Although I wasn’t a particularly good hockey goalie, I truly loved playing. Goalie was an individual position in the midst of a team sport. Goalie required an analytical mind. Goalie rewarded strong legs and steely courage. Goalie had cool gear.

I think I liked hockey precisely because I wasn’t good at it; it was an enjoyable challenge for me. I had begun to expect success at whatever I tried, and with hockey that turned out not to be the case.

Hockey taught me humility when my teams would lose by half a dozen goals. In the locker room after those miserable games, all I wanted to do was curl up in the corner and disappear. The numbers on the scoreboard were undeniable reality. But I couldn’t disappear; and I would have to come back again the next week with the same teammates; and so I was forced to learn how to deal with defeat.

But victory? What a high, what a thrill! The celebration in front of the net, the pats of congratulation on my mask, the satisfaction of a job well done, the memories of saves. Beautiful saves!

The victory was sweetest when my goaltending made an undeniable contribution to the win. In many games, my team won in spite of me, but once in a while we triumphed because of my performance.

In the summer of 2014, my team won a game in a shootout after ending regulation tied 0-0. Not only did I get the shutout and the shootout win, but I had earned it. I was in the zone. I was seeing the puck. I was making saves, and those saves were making a difference. I felt prescient.

We go through life seeking those often-fleeting moments of flow. When we achieve them the high is as sublime as any drug. That win was one of my happiest hockey moments.

I had never been athletic growing up, nor was I on any team sports. Hockey was my way of experiencing that joy as an adult. Out there on the ice, we were all just big kids having fun. I regret not playing hockey as a child, but I’m glad I started eventually rather than never. I’m so glad I continued to play while I was able.

Hockey gave me a reason to look forward during dark times. My hockey trip, where I played in every American state and every Canadian province, was born of near desperation to escape what had become a year of failure. Hockey became a goal, a reason to get up, a reason to dream again.

“The Trip” fulfilled its promise. It changed me. It became a profound pillar in my life history, an epoch marker. From then on, everything was “before my hockey trip” or “after my hockey trip.”

I miss the sound of steel on ice. I miss the bracing cold of the rinks. I miss the camaraderie of the locker room, the pre-game rituals, the post-game beers whether in victory or defeat.

Oh sure, I might still be able to skate out, but I never found as much joy in that as when I was in net. For me, playing hockey means playing goalie.

Perhaps, given enough time, my knee will eventually be strong enough for me to return to the ice. I hope that will come to pass. If not, at least I can look back with fond memories of the decade of my life when I was a hockey goalie.