It’s all Leading up to this moment. My whole life.
I’ve basically been an electrical engineer my whole life. Just after I turned five, the local paper wrote an article on Site C, and “Holding Back Hydro”. The cover has a nod to the story of The Little Dutch Boy, with his finger in the dyke, holding back the flood. Except there was a small problem — the newspaper used a receptacle, and that’s where I came in. Just look at how unsafe that is:
I wrote to the paper. Here’s the letter, which they printed as an photo, probably because it’s hilarious.
When I got my Professional Registration, my dad gave me the letter he’d been keeping all those years, and I went down to the archives to get a copy. When I framed it and put it in my office, one of my co-workers said, “ah! A Sparky from the start!”
Which is true.
I skipped a party in grade school to wind motors once. Party animal. I learned that you could also get electricity from forcing the motors to rotate, which was really cool. It does bother me just a little bit that nobody seems to know the mechanism behind how a rotating magnetic field produces electricity, but hey, I don’t refuse my dinner because I don’t fully understand the process of digestion. (That’s a quote from Oliver Heaviside.)
But that’s not all. When I was eight, I won a computer. It was a CoCo2, basically a TRS-80 compatible machine. It came with the thickest book I’d ever seen (up to that point) and it was all mine. I still remember the “Don’t Byte Off More than you can Chew” section at the end, where they moved from the basic BASIC to the “harder stuff”. There was also the incident wherein they didn’t tell you that ‘preceded comments, and you couldn’t put in comments because you’d run out of space. Hey, it was a mid-80s compiler. It would be a long time before something like CCS came along.
You could easily run out of memory on those things, because you couldn’t just add more space. I could barely type, and sometimes I had to get my mom to enter some of the code. I’ve been programming ever since — more than 30 years — on everything from that first computer’s footprint to a workstation we jokingly called “the freight train” because of the way the fans cycled. Long story, tl;dr version is “Intel does weird things sometimes.” I’ve used interfaces ranging from the intuitive Visual Studio to a magnet and a reed switch.
One of my favorite bits of programming was the trackers for Project Lifesaver / We Rage, We Weep. I met someone who was wearing one, we talked for a while, and knowing that they’re still out there is cool. The chip is a 10F202 from Microchip, one of the smallest ones they made. It’s 2mm x 4mm (plus legs), boasts a 4MHz processor, and an astonishing 24 bytes of RAM and 750 bytes of Flash. (I think this got bigger, I could have sworn it was 512 bytes when I worked on them.) There was a problem with everyone’s setup. CCS (the compiler company) used the initial run of the datasheets, where the register was at 0x1FF, but it got moved to 0x3FF. I had to get a patch from CCS and Quickwriter to get them programmed properly, but they were really cool about it. (My supervisor said, “well, you didn’t just tell them there was a problem. You told them what it was, and how to fix it. That gets pretty quick answers.”)
I’d bought a house, and took a week of vacation to reno it before moving in. When I got back, one of my co-workers was writing code for every variant of pulse rate, and every ID number. It would have been somewhere around 10,000 versions of the code. (255 ID numbers, 10 pulse rates, 2 pulse modes, and a salt water variant for the 10F204) “Can I try something first?” I rewrote the code with global variables so the compilier would put them in the same place. I changed the numbers and compared versions to see where the changes where. (When that same co-worker walked in and saw what I was up to, he said, “now that’s programming. Just a page of HEX.”) Then I whipped up a quick HEX editor in VB that changed that value, and sent it to production. The 10F204 version got cancelled, and it turned out that the manufacturer could program them directly into the chip for $0.37 per chip when they bought them by the reel. $1100 for programming versus what I was making, so that was the end of my job there.
My other favorite was proving that there’s no such thing as self-documenting code. I got a contract to upgrade a system, and they required a viterbi decoder. I’d never heard of it, so off to the Internet, then reading the specs, and figured out what I was supposed to do. What it does is only allow changes of state from one sequence to the next, so if you can’t find a valid pathway, one of the steps you took was incorrect and you have to find a new pathway. Once you have a complete pathway, you know the original message, because you erase the mis-steps and replace them with the only possible parts. So it’s like a rock path over a pond. There’s only one path, and if your foot gets wet you know that was a mistake, so you should have been on rocks the whole time.
Nobody told me it was supposed to be impossible.
It ended up being about 10-15 lines of code, all with decently-named variables that spoke about what it was supposed to do. In order to explain what in the world I was thinking, it ended up requiring another 120 or so lines of comments. Turns out that you can damage the transmitted message by up to 18% and still get the sent message out. I understand that it’s being used in first-responder radio stations now. That ended up saving them six figures in licencing costs. I never found out if that was per-year, or one-time.
They didn’t renew my contract.
It took a while to get over those rejections. I’d also had to deal with some serious personal issues at the time.
I spent five years working on [REDACTED] for Navy projects. I helped move the entire refit 6 months to the left when I tracked down another supplier for some parts. It was a lot more of the “bigger” work; line diagrams, inspections, parts procurement, that sort of thing. Eventually I got enough work experience that APEG-BC let me call myself a professional. I still remember the song playing when I got the phone call. (Caro Emerald — Back it Up)
In 2015, Engineers Canada awarded me a Fellowship, an honourary title that’s a little like an Engineering knighthood. I went to Vancouver to pick it up (because hey, how often do you get a luncheon in your honour?) I felt really unqualified compared to some of the other people in the room. It was probably the smartest room in the country for those couple of hours.
Which brings me to where I am now.