Rumblings from the Secret Labs Rumblings from the Secret Labs

Sucky Irony

August 24th, 2015
Databases are stupid and we should get rid of them.

Today at work I was wrestling with a database connection that was defying all my attempts to make it play nice. I needed to type in a command that I couldn’t pull off the top of my head, but I knew where on this blog to find it.

So quick like a bunny I typed in muddledramblings.com to find the answer, and I was greeted with a screen that said, in big bold letters:

Error establishing database connection.


Obviously it’s fixed now, or you wouldn’t be reading this, but dang.

Idle Chit-Chat Idle Chit-Chat

A Good Place to Be

August 19th, 2015
A restaurant endorsement buried beneath tecno-whining.

This is a big technical discourse that ends with a restaurant endorsement. Because Agave in San Jose is a good place to be.

Today pretty much sucked. It started last night, when I ran a routine software update on the heroic little computer that brings you these ramblings. It is a Mac Mini tucked away on a shelf in a climate-controlled facility in Henderson, NV; a little machine that just plugs along year after year.

As a primer before I dive into that part of my hardship, let me take a moment to describe the UNIX world. UNIX is a computer operating system that has been copied and recopied into different kinds of Linux and BSD, as well as Apple’s Darwin, but philosophically the different flavors have much in common and share a lot of little programs. In fact, it’s all about the little programs. Each little app is designed to solve one problem perfectly, and larger applications use these underlying facilities. A graphics program could depend on dozens of underlying libraries.

So when you install one of these programs, how can you be sure all the parts it depends on exist on your system? It’s a huge chore, made much simpler by package managers. Package managers are special programs that maintain a database of who-needs-what so when you install SuperGameMachine it will automatically install CleverGraphicsLibrary, and that in turn will require StupidGraphicsLibrary, and that will require something called gl (actually the names of all these things are criminally terse, so you can never deduce the purpose from the name — CleverGraphicsLibrary would be named cgl).

Anyway, a major upgrade of ncurses just came out, and it gave me a hellish few hours. That database of who depends on what? Well, it turns out is wasn’t so complete, in the MacPorts world. ncurses had been so stable for so long that many program maintainers didn’t even realize they depended on it. The update came along and those programs were still looking for the old version. One of those programs was bash. bash is part of mac OS, but there was a massive (MASSIVE!) security hole in bash and I went to MacPorts to get the new version faster.

When you watch hackers on TV, when they’re typing cryptic symbols into their black screens, mostly they’re giving instructions to bash. Bash is a shell, which is a name for a program that takes stuff you type and does stuff as a result. For veracity, hackers in movies might compare the merits of bash and zch or tsch, but at this time bash is boss.

So when you open up a window to type those cryptic commands, it will launch your chosen shell. If you set your preferred shell to be bash, and then bash is broken, you are screwed. You are especially screwed if you don’t have physical access to the box. You try to log in, bash fails, and you sit at your terminal in helpless frustration, shouting to the uncaring gods of the night. Even if the package manager eventually sorts out the problem, you can’t get in to run the repair.

OK, this is getting long. I got through that, but there wasn’t a lot of sleeping involved. (Two bug tickets at MacPorts now closed.)

Then, today, after a rather frustrating meeting at work, I was betrayed by my bar. By my BAR! By my quiet haven in this noisy world. We had a contract — I paid a chunk in advance and got a discount on my first frosty mug of happiness on each visit for the rest of my life. I am not dead yet, but new(ish) ownership of Rookies Sports Lodge says it will no longer honor the deal. Should I shout? Threaten? Walk away?

It’s going to take some doing to make today come out right.

So here I am at Agave, the neighborhood cantina, and things are starting to feel better. I am working up the vocabulary to make sure that the official Muddled Sweetie gets her chicken burrito smothered with lots of good stuff. None of the English-speaking staff seems to be on tonight.

But make no mistake, these guys here make good food, for a good price. The menu now has many prices lined out and raised with a ball-point pen, but those big-ass burritos still hold the price line. And even the new ball-point prices are a steal. There aren’t many places in this town where my internal cheap bastard and my internal gourmand can party together, but this is one.

Waiting for the food, sippig Negra Modelo, listening to music with bright trumpets and tight vocal harmony, things are starting to feel better. I’m gonna be all right.

Bike Bike

Comparing Mileage

August 17th, 2015
Fun with apples and oranges.

Today I rode past a billboard advertising a Jeep SUV of some sort, proclaiming the beast gets 39 miles per gallon. That’s not too shabby — build a carpool around that vehicle and you have decent efficiency. It made me wonder, as I pedaled along: what sort of mileage am I getting?

Strava estimates that at my rather-slow cruising speed along a straight, flat road (fair for comparing “highway mileage”) I’m putting out about 150 watts of effort (or less, but I’m rounding in favor of cars). Pessimistically I’m burning about five times that in stored food energy (my gasoline equivalent); the rest of the energy winds up as heat in my muscles. So I’m consuming about 750 watts to roll along at 15 miles per hour. That’s fifteen miles for 750 watt-hours, or 20 miles for one kilowatt-hour.

A gallon of gas has the energy equivalent of about 37 kWh, so were I running on gasoline, I’d get about 20 x 37 miles, or roughly 740 miles per gallon — let’s call it 700 to avoid any pretense of precision.

700 mpg! Not bad! If I lost a little more weight my mileage would get even better (or more likely I’d just ride faster).

Observations Observations

How We Will Know When Artificial Intelligence has Truly Arrived

August 16th, 2015
Beyond the Turing test.

I just asked Siri to set my alarm for never o’clock. I did not get a courtesy chuckle, or even a roll-eyes emoji or a “gee, I’ve never heard that one before” retort. So, for the nonce, our machines remain our faithful servants.

Idle Chit-Chat Idle Chit-Chat

Billion-Person Problems vs. Individual People

August 14th, 2015
Google ambitions are undermined by their actions.

I read an article today idolizing Larry Page, head honcho at Google. I have to confess, reading Larry’s quotes, I was pretty damn impressed. Some of his goals are downright “holy fuck, that’s awesome”. If even a small percentage work out lots of people will be helped. Larry calls them his billion-person problems. But…

Can you solve billion-person problems while exploiting a billion individuals?

GoogPut another way: here’s a billion-person problem that Google is central to: the erosion of privacy in the modern age. For instance, Google has taken very seriously securing your information as it travels from your computer to their servers. But once that email hits their hard drives, it’s fair game! As long as no one else can get at your info (well, except governments with leverage over the Goog), all is well with the world.

Before I get too deep in this rant, let me say that the Internet would suck a lot more without Google’s search engine. I use Duck-Duck-Go to exploit the power of the search without yielding up my personal info. I realize that’s kind of like getting sushi and not paying; if everyone did that, search engines would have to start charging for their services and people would be faced with putting a monetary value on their privacy.

And, I think there’s a lot to be said for the way Google runs their company, they way they commit to their managers rather than just making the best engineers the bosses of other engineers. I give them big props for that. That comes from the very top and Larry Page deserves credit.

But now, on with the rant!

What Google knows when you use their payment system (Google Wallet):

Google Wallet records information about your purchases, such as merchant, amount, date and time, method of payment, and, optionally, geolocation.

What Apple (my employer) knows when you use their payment system (Apple Pay): Nothing.

Apple Pay was designed from the ground up so that Apple could not get your personal information. This made it way more complicated to implement and added hardship for banks as well, but it was a fundamental tenet of the system. Apple gets enough aggregate information back from the banks so they can get their fees, but none of your personal information is in that data. In contrast, Google (not just their wallet) has been built from the ground up to collect and sell your personal information.

Of course, the banks still know, and the merchant still knows, and Amazon tells advertisers what’s in your wish list… So it’s not just Google here. But Google has access to information you never intended to be known — a lot of it — and they have a unique opportunity to make meaningful change on this front.

Nest, the hot-spit thermostat/smoke detector company was bought by Google. I was discussing it the other day with a co-worker who is a (mostly) satisfied customer. It sounds like a pretty cool system, but I mentioned there was no reason for the damn thing to be in the cloud just to be operated from my phone — it just needed to be part of a personal network that could talk to all my devices. My friend, who has a buddy who works at Nest, shrugged and said, “they have to collect and aggregate data to make the service work right” (or something like that). I accepted that at the moment, but later I realized: NO THEY DON’T. I want my home automation to be based on ME, not some aggregate of other people. And, if they made the data collection voluntary, I might even opt in if it looked like it would help the collective good. It’s something I do.

I voluntarily share personal information all the time. I share my bike rides (but suppress the exact location of my house). I share my image on Facebook. I share biographical data right here on this blog. I probably share more personal information than I should, but I make a big distinction between voluntary sharing (Facebook) and involuntary sharing (having my emails read by a corporation). Even though I don’t use a gmail account, my emails are still read every time I send a message to a gmail user. Does it matter if I’ve agreed to their terms of service or not? No. No, it doesn’t.

Microsoft took a couple of shots at Google a while back, promoting their email and search services as being more privacy-friendly than Google’s. But, amazingly, Microsoft kind of half-assed it (they had a produced-by-local-TV-station look) and they failed to deliver the message effectively, the way Microsoft is wont to do. Still, at least they tried.

If Google would do one thing, a thing that is in their power to do, I will take back everything else I have said about them. If they provide real encryption for their emails — encryption all the way to their servers, encryption they won’t have a key to unlock, so only the intended recipients can read it, I’ll believe that they care about me, and the other billions of people in the world. And it would be a hell of a selling point for gmail.

Observations Observations

Damn Right I Throw Like a Girl

August 9th, 2015
Because it is my duty to fight stereotypes.

Once, in a bar, I watched a young woman throw darts. “You play third base,” I said to the complete stranger.

She turned to me, surprised. (I was also a little surprised, because somehow I had spoken to an attractive stranger.) “Second base,” she said.

I was surprised in turn. Her delivery of the dart was pure infield, but with a shoulder motion that meant velocity was rewarded – but not to the degree of the big outfield throws. I think on God’s team she would have played third. She would not have been on God’s darts team.

My throw, when my arm is working right, is a lot like hers. (Though I can CRUSH her at darts. Totally different throw.) A short, low-shoulder whip, but with enough extension to send the ball a long way. Made for third base. Not that big-circle outfielder throw, or that tight second-base throw where you also have to give the first baseman a look at the pill before you chuck it her way.

Like the French are to cheese, we in America are to the overhand throw. Nowhere else is it so dissected, so analyzed, so understood. And nowhere else will you find the medical knowledge to deal with injuries to the shoulder. We live in the nation of the overhand throw. Baseball, football, even basketball, somehow on this continent we decided that it was OK to use the appendage best-suited for moving a ball to move a ball in sports.

On this continent, when you say someone throws like a girl, you are comparing them to a group where many throw way better than you do. Around here, there are a lot of girls who can seriously bring it. So let’s get this right.

When you want to disparage someone’s ability to chuck something, the correct phrase is “Throws like a European.” Have you seen those guys? Shit, it’s like they haven’t even realized they have elbows.

Idle Chit-Chat Idle Chit-Chat

How You Know You’ve Ended a Story Well

August 7th, 2015
Storytelling done right.

My sweetie and I binged our way through Breaking Bad. The series was over before we even started, and we chewed through that mother in record time. During intermissions for work and sleep we talked about what was going on, and looked forward to more time with the series.

And then it ended. A you-saw-it-coming-from-a-mile-away-but-were-still-blown-away ending. An ending so complete and poetic that I have to sit back and admire it. I don’t hope for more tack-on seasons or spinoffs (though the prequel Better Call Saul, which we started watching before we dove into Breaking Bad, is mighty fine).

But Breaking Bad is over. It finished when it was right to finish, and if maybe some characters found redemption is was not the sort of redemption that carries them forward.

I miss the show. But I don’t want more.

Bike Bike

Calculating Calories is Hard!

August 5th, 2015
Many methods, many results. In the end, does the number even matter?

I’ve been using both MapMyRide and Strava to track my bicycle rides recently. In addition, I’ve been using the activity app on my slick new Apple Watch. Each estimates how many calories I burned on my ride, but the numbers are very different. For example, on my ride to work yesterday morning:

MapMyRide: 814 Calories
Strava: 643 Calories
Watch: 757 Calories

Dang – those are quite different numbers, especially when you consider that MapMyRide and Strava are using pretty much the same data and coming to very different conclusions. What gives? CAN I EAT THAT DONUT OR NOT?

Strava and MapMyRide use speed and (maybe) elevation change in a formula with the rider’s weight to come out with an estimate of how many calories the rider burned. Strava lets me set the weight of my bike; I don’t know what MapMyRide assumes. I’m pretty confident that neither really uses elevation changes well. And headwinds? Forget it.

Both services can come up with a better wild-ass guess if you use a special crank or pedals that directly measure how hard you are working. They directly measure the output of your muscles, so the only remaining guesswork is how many calories you burned to do that work (some people are more efficient than others). There’s a Garmin setup that will tell you if one leg is doing more work than the other. I have no such device.

The most accurate way available to measure calories burned is to measure how much carbon dioxide one exhales. Rather than measure the work you did, you’re measuring how much exhaust you produced. This is impractical on a bike ride, however.

Which brings me to the gizmo strapped to my wrist. It estimates calories based on my heart rate. I have no idea what formula it uses, but hopefully it incorporates my resting heart rate (which it measures throughout the day) and my weight (which I have to remember to tell it), and maybe even my age. The cool thing is that heart rate is directly related to carbon dioxide production. When I’m riding fifteen mph with a tail wind, I’m barely working at all. When I’m pushing against gale-force breezes at the same speed, I’m huffing and my heart is thumping. To Strava and MapMyRide, the rides look the same. The watch knows the truth.

When WatchOS 2 comes out (the “features we couldn’t get perfect in time for WatchOS 1″ release), Strava will be able to access my heart data. I’m interested to see what that does to the numbers.

In the meantime, I’m listening to my watch.

Rumblings from the Secret Labs Rumblings from the Secret Labs

How Secure is Your Smoke Detector?

August 4th, 2015
Every smart device is a new entry point to your home.

heartbleedYou probably heard about that HeartBleed thing a few months ago. Essentially, the people who build OpenSSL made a really dumb mistake and created a potentially massive security problem.

HeartBleed made the news, a patch came out, and all the servers and Web browsers out there were quickly updated. But what about your car?

I don’t want to be too hard on the OpenSSL guys; almost everyone uses their code and apparently (almost) no one bothers to pitch in financially to keep it secure. One of the most critical pieces of software in the world is maintained by a handful of dedicated people who don’t have the resources to keep up with the legion of evil crackers out there. (Google keeps their own version, and they pass a lot of security patches back to the OpenSSL guys. Without Google’s help, things would likely be a lot worse.)

For each HeartBleed, there are dozens of other, less-sexy exploits. SSL, the security layer that once protected your e-commerce and other private Internet communications, has been scrapped and replaced with TLS (though it is still generally referred to as SSL), and now TLS 1.0 is looking shaky. TLS 1.1 and 1.2 are still considered secure, and soon all credit card transactions will use TLS 1.2. You probably won’t notice; your browser and the rest of the infrastructure will be updated and you will carry on, confident that no one can hack into your transactions (except many governments, and about a hundred other corporations – but that’s another story).

So it’s a constant march, trying to find the holes before the bad guys do, and shoring them up. There will always be new versions of the security protocols, and for the most part the tools we use will update and we will move on with our lives.

But, I ask again, what about your car?

What version of SSL does OnStar use, especially in older cars? Could someone intercept signals between your car and the mother ship, crack the authentication, and use the “remote unlock” feature and drive away with your fancy GMC Sierra? I’ve heard stories.

You know that fancy home alarm system you have with the app that allows you to disarm it? What version of OpenSSL is installed in the receiver in your home? Can it be updated?

If your thermostat uses outdated SSL, will some punk neighbor kid download a “hijack your neighbor’s house” app and turn your thermostat up to 150? Can someone pull a password from your smoke detector system and try it on all your other stuff (another reason to only use each password once)?

Washer and dryer? The Infamous Internet Toaster? Hey! The screen on my refrigerator is showing ads for porn sites!

Everything that communicates across the Internet/Cloud/Bluetooth/whatever relies on encrypting the data to keep malicious folks away from your stuff. But many of the smaller, cheaper devices (and cars) may lack the ability to update themselves when new vulnerabilities are discovered.

I’m not saying all of these devices suck, but I would not buy any “smart” appliance until I knew exactly how they keep ahead of the bad guys. If the person selling you the car/alarm/refrigerator/whatever can’t answer that question, walk away. If they don’t care about your security and privacy, they don’t deserve your business.

I’ve been told, but I have no direct evidence to back it up, that much of the resistance in the industry to the adoption of Apple’s home automation software protocols (dubbed HomeKit) are because of the over-the-top security and privacy requirements. (Nest will not be supporting HomeKit, for instance.) In my book, for applications like this, there’s no such thing as over-the-top.

Observations Observations

Pop Quiz!

July 31st, 2015
Don't be frightened...

In the parking structure at my workplace today, I saw the following license plate:


The question: What kind of car was it? Leave your answer in the comments here.

There’s no prize except the certainty that you are smarter than everyone else.

Idle Chit-Chat Idle Chit-Chat

Help Wanted

July 24th, 2015

Anybody know a kickass Web engineer looking for work? I’m happy to discuss specific technologies and whatnot with anyone who might be interested.

Idle Chit-Chat Idle Chit-Chat

At Last, An Answer to One of Life’s Burning Questions

July 23rd, 2015

Many, many years ago, in a time called the 1980’s, my roommates and I were sitting in our little house in Cardiff-by-the-Sea, California, talking about this and that. There may have been beer present. The conversation stumbled upon this question:

If you bounce a ball bearing off a steel plate and measure the height of the bounce, will it bounce higher or lower if you cool down the plate?

Before skipping to the end of this episode to see the answer, think about that question for a minute. On the one hand, you could imagine that the warmer plate is squishier, and would absorb more of the kinetic energy of the ball. Or would it be springier, and act like a trampoline? Does the fact that there is more energy in the overall system when the ball and the plate are warm mean more energy for bouncing?

We were stumped, and at the time there was no Internet. We did have one ace in the hole, however, because my good friend and former college roommate was an expert in… material science! So we called him up, fully aware that he was three time zones ahead of us and it was pretty late even in California.

That night, our Science Expert didn’t seem that enthusiastic about the mysteries facing mankind. It was a pretty short conversation.

I began to look like we might never find the answer to this burning question. Little did I know, but NASA engineers were also curious about the bounciness of steel balls as a function of temperature, and ’round about 1994 they built this gizmo to run some tests:

Device to bounce metal things on other metal things.

Device to bounce metal things on other metal things.
Source (crooked and everything)

I ran across the phrase “coefficient of restitution” when reading an example of how to calculate standard error in scientific measurements. The example used was about bounciness and temperature. Zounds! With fevered brow and shaking hands I pasted that into duck-duck-go and found this NASA paper, scanned and recorded for posterity by some underpaid intern.

To be honest, the paper is more an Engineering exercise than a real scientific paper (I’ll discuss another NASA ‘research’ project at a later date), but it does have graphs and whatnot, and here is the conclusion: metal balls bounce higher when they are colder, except for the occasional case where they do not. But MOSTLY, colder metal means higher bounce.

Whew. That’s a hell of a load off my mind.

Rumblings from the Secret Labs Rumblings from the Secret Labs

Junk Science is Everywhere

July 22nd, 2015
This is a story of the death of journalism.

You would really expect better from Prevention Magazine

You would really expect better from Prevention Magazine (image lifted from the linked article on io9)

Perhaps you remember the headlines a while back: “Eat Chocolate to Lose Weight!” Every week we learn about a new study that shows that X helps you lose weight. And right there is the first problem:

A study.

Singular. Let’s get something straight right now: A single study has never proven anything, ever. This is a fundamental part of science. When someone makes a discovery, it’s exciting. When enough other people confirm that discovery, it’s knowledge. “A study” is useful to guide future research and to provide fun anecdotes on “Wait, Wait, Don’t Tell Me”. But that’s all.

Back to the chocolate. The finding that chocolate helped weight loss was discovered in a laboratory study with the proper protocols, and published in a peer-reviewed journal. So, that’s real science, right? Even if it hasn’t been independently reproduced, isn’t it still important health news? You can’t blame the health press for jumping on something as sexy as “chocolate makes you thin”.

But then the people who did the study came forward and told the world that it was all bullshit. They’d done it to prove how easy it is to get junk science into the mainstream. Even they had not imagined how easy it would be.

Let’s start with the scientific study itself. It’s generally considered scientifically significant if the result of the test is less than 5% likely to be the result of random chance. Yep, it’s considered acceptable that one in twenty scientific experiments is incorrect just based on random chance. Madness? Not really, when you consider that all the studies in a field eventually have to work into an interlocking puzzle that forms a bigger picture. The studies that were incorrect either by blind bad luck or poor procedures get weeded out when others cannot reproduce the results.

But what if you test twenty things at the same time? Statistically now you’re very likely to hit a false positive. To quote the article:

Here’s a dirty little science secret: If you measure a large number of things about a small number of people, you are almost guaranteed to get a “statistically significant” result.

In the jargon of the junk-science industry, this is called “p-stacking”. An incredible number of the health claims you read are likely the result of this film-flam.

“But,” you might ask, “aren’t there systems to filter this shit out before it goes mainstream?”

Well… yes, but those systems are pretty much broken. First off, science is a discourse, and all new ideas have to run a gauntlet of “peer review”. Ideally, the peers may not agree with the conclusions, but you damn well better dot your i’s and cross your t’s. If you take shortcuts in your process, your peers will keep you out of the journals. In the major journals, the reviewers take their work really seriously.

But now there are journals that, for a price will publish whatever twaddle you wish to sell. While they claim to be peer-reviewed, the peers seem only to be reviewing whether your check clears, and have little interest in the scientific validity of your study.

Academia may not be fooled, but the fifth estate certainly is. Journalists who are trusted to sort through the garbage and bring important health information to their readers instead just blare the sexiest headlines. In some cases, the online comments by the readers of those articles ask the questions the so-called journalist should have asked before even running the story.

In the chocolate scam, they recognized another important fact: if the press release is actually written as an article fit for a magazine, even fewer questions are asked. It’s jut cut, paste, and print.

The press is making hay selling junk science to you and me. We trust them to vet the information they bring us, and they are doing a terrible job. It’s not just health science, but that’s where most of the crap seems to be flying these days.

So if what passes for journalism these days won’t ask the hard questions, we have to. Don’t change your diet because of “a study”. Even honest studies are found to be false later on, and damn few of the health articles we read are based on honest studies. (That “damn few” assertion is totally baseless. I have no statistics to back it up. But you were right there with me, weren’t you?)

For your homework assignment, I’d like you to Stop And Think when you see something on Facebook, especially in the health industry. Maybe do five minutes of research on the people making the claim. Then CALL THEM ON IT. Say, “Hey! I call Junk Science on you!”

Get double-serious when you read the shit in magazines. Let’s publicly shame the so-called journalists who dump this stuff out without asking the hard questions first. Demand footnotes. Check sources. Someone has to teach those bozos their jobs.

Observations Observations

Speaking of Vernal and Fracking and Dead Babies…

July 21st, 2015
Let's add this to our calculations of the price of oil.

Some of you may recall that last month I became an involuntary expert on the town of Vernal, Utah. My car broke down Saturday afternoon and I landed there until a mechanic could look at it on Monday. The people were nice enough; the town showed plenty of new construction, and while small, Vernal was obviously the center of a very large rural community, sprawled over a vast basin.

So when Rolling Stone published this article about a spike in infant mortality in Vernal, it caught my eye.

Note, please, in the interest of rational debate, that the horrific toxicity of fracking and the sudden surge in infant mortality and deformation in Vernal have not been causally linked. Random numbers have a way of clumping sometimes, so when you look over an entire nation you get odd concentrations of disease just by random chance. Or there might be another root cause. Rolling Stone doesn’t mention that — they presume a cause and work backwards, which makes them just as bad at science as the anti-vaccers.

But let’s not kid ourselves; this horror coming at the same time fracking went full-speed would be a hell of a coincidence. Next time you fill up at the pump and reflect happily on the current price of gasoline, remember the babies of Vernal.

Bike Bike

Bike School — and Beyond!

July 20th, 2015
New skills, new friends, and a new way to make a difference.

6369080A couple of months ago I heard about a non-profit bike shop in my ‘hood called Good Karma Bikes, which is run by some pretty awesome folks who find a lot of different ways to help the community. The primary focus is on making sure homeless and working poor have transportation. They also provide training and stability for kids coming out of the foster care program, a segment of our population that generally gets tossed to the curb.

Unlike a typical bike shop, Good Karma has about a dozen workstations on its shop floor, to allow them to repair many, many bikes each week during ‘clinics’, when they fix bikes for those who can’t afford service. When clinics aren’t going on, people can drop by and use the workstations and all the tools in the shop for an hourly rate. What a great alternative to buying an expensive tool that you hardly ever use.

It turns out they also have instructor-led classes each summer, teaching people how to take their bikes apart and put them back together. It’s called ParkTool School (ParkTool is the Snap-on of bicycle tools) and it’s a great chance for people like me to learn the right way to do things, gain the confidence to strip things all the way down (“count to make sure you have an even number of ball bearings!”) and to fix up one’s own bike while there’s a safety net. You also get to use all the facilities and tools of Good Karma while you’re at it.

I am now the proud owner of a cheap-ass little certificate that says I’m moderately competent in bike repair. The course was eighteen hours of instructor-led class and lab activities. I also got to meet some fellow bikers who, like me, have reached a stage in their riding that it makes sense to be able to do repairs themselves. It was nice little bunch.

One woman in my class is the sister-in-law of a kid I knew in elementary school. Small world, man.

The instructor, Steve, was really good at explaining things, and combined with my general mechanical knowledge (the kind you get when you own a ’70’s-era Italian car whether you want to or not), I got things pretty quickly. Unfortunately for me, this didn’t prevent Steve from explaining the same point in many different ways. Sometimes that made it hard to concentrate.

The lab time was golden. I like to tinker, and as cars get less and less tinker-friendly, I now have new primary transportation that not just encourages a hands-on attitude, it requires it.

And get this: I can volunteer at Good Karma Bikes and tinker on other people’s bikes as well! I can hone my skills and help those in need at the same time. For free! I was already tempted when (at the sage suggestion of the Official Sweetie of Muddled Ramblings) I checked and discovered that my employer will match each hour of volunteer time I spend there with a cash donation.

There is seriously no downside to this, other than dirty fingernails. I’m pretty stoked.