Vegan chocolate silk pie

No story. Just pie.


  • one pack silken tofu.  (MUST BE SILKEN)
  • 1/2 pack of chocolate chips
  • peppermint extract (optional, and not for making it into mint chocolate)
  • pie shells or tart shells
  • whatever whipped topping you want.

If your pie shells require baking, follow their instructions.

In a double boiler, melt the chocolate.

Blend the tofu until it’s completely smooth. Add 1-2 drop of mint extract.  This will hide the beany flavour of the tofu.

Once the chocolate has melted, add it to the smooth tofu.  Mix until it’s mixed.

Pour into the prepared shells and chill until solid.

Serve with the whip topping.  Decorate how you want, maybe a dusting of cocoa powder.

I ran a marathon and all I got was a lousy technical shirt

At the start of the year, I said I wanted to get to 300 pounds on my deadlifts and squats. That isn’t going to happen this year. I realized that I was getting close to 40 years old, and I had one chance left to run a marathon before the big 4-0. (Which is in January 2017) So I entered the Goodlife Fitness / Royal Victoria Marathon and signed up for training.

At first, I could keep up with some of the lifting while I was running, but as the distances ramped up and time marched on, I couldn’t keep it up. It was just running.

It was expensive, too. I had to get two new pairs of shoes, bone-conduction headphones, so many sports drinks and tablets and gummies, registration costs, training costs, etc. It was easily more than $500; I haven’t added it all up. Like my diving gear, it’s best if you don’t know.

The day before the run, it rained hard all day. It looked like the run was going to miserable and wet. On Sunday morning, it was perfect. Great weather, good temperature, everything was great.

20km in, my hips were tired. Soon after that, I got a cramp in my left quad. My left calf followed suit. Then my right knee, the one I hurt in the half-marathon a few years ago, started hurting again. We were doing a 10:1 run:walk ratio, and the science on that is pretty clear. Unless you’re an elite, you’re going to get better times taking walk breaks, and have a much lower chance of injury. Plus, my work on weights reminded me that hey, failure is part of the game. Rest five minutes and you’ll get your next set.

I had to take a lot of walk breaks. It got to the point where I could barely run anymore. I’d had all my shot bloks, I’d had lots of electrolyte water, I was hydrated enough, I’d just hurt myself.

I started yelling at my knee that I didn’t care, that we’d walk with a limp and get a cane from the cane store.

I kept going.

My headphones ran out of battery.

I started with one goal. Finish. The time was going to be a PB, no matter what.

My form was shot. I could only limp-run. It was a LOT slower on the second half… well, the last quarter, anyway. Positive splits are a thing, right?

You can see me slow down.
You can see me slow down.

The last corner was coming up. One of my training buddies saw me and knew I was in trouble. The rest of the group saw me, and saw my form wasn’t normal. My knee had seized completely, and there was no power on my left leg at all. I was throwing myself forward with every step, limp-running the end. Entering the final chute, I understood what my old office manager told me. “A marathon isn’t 42km, it’s 42.2, and it’s really only that last .2 that counts.” I was focused on getting across the finish no matter what it took. I was vaguely aware of a gurney next to me; I found out later someone had broken their leg. I knew there was a medic on a bike following me, staying close. I saw my dad. I could hear the crowd. A lot of people were cheering; they wanted me to cross as much as I did.

I crossed the line. Some of my training buddies thought I just went to medical and didn’t look for me. That’s okay, I wasn’t sure where I was headed either.

I didn’t collapse. I got my medal. I finished a marathon.

I ran into someone with a medal later, and they told me that they didn’t quit because they saw me, and I didn’t quit.

By Wednesday, I was healed completely, and even gave blood in the afternoon. 10:1.

Magnus, Robot Fighter

Sometimes I don’t know why I write blog posts. It’s not like people read them. I get some traffic, but it’s really just spam bots trying to get me to post their spam.

Spam Bot Attack
Spam Bot Attack

See, that’s a nice compliment. The robot is being nice to me. I’m still not going to post your spam link, bro. (Brobot?) It’s a wa… woah, hey, let’s not make this personal, okay?

That's just uncalled for.
That’s just uncalled for.

The problem is with how many spam comments I get. I’ve got more than six hundred waiting for approval, like I’d just say “yeah, okay, whatever”. It’s obnoxious and the links would probably compromise your computer if you were dumb enough to click them. That’s why Flashblock and Adblock are critical to your computer’s safety. It bothers me to no end that they now have a war between the ad companies and Adblock. Look, if the ad companies secured their systems and made their ads less obnoxious, it would be fine. Neither of those things are true.

There was a security breach at my ISP a few years ago and attackers took my address book and use it to spam my name to my contacts with links to unknown sites. That’s awesome when you’re looking for work. (Lucky for me, I use a different email address when looking for work, but still, it’s a little embarrassing, like someone Photogimping your face onto someone else’s body.

It would be nice if I had some human readers though. Maybe I’ll post the next one 01101001 01101110 00100000 01100010 01101001 01101110 01100001 01110010 01111001 and save everyone some time.

Time machines and a letter from an idiot.

Since I’m looking for work, I take a little time to look up what people are saying about me online. I know that businesses do, and with a name like mine I’m generally pretty careful about what I say and use logins instead of my real name. There aren’t a lot of people named “Magnus McElroy”. On the upside, “Magnus Charles McElroy” looks awesome on a certificate. The downside is that when your names gets onto something, it’s there for quite some time. (Like the time my brother used my dial-up account to post bass guitar tabs for a song.)

I was lucky enough to have my stupid phase before everything you said was documented forever online. Thus it was a bit of a surprise when my latest search found a letter I’d written to Camosun’s paper when I was 18 years old. I’m not sure why their editor felt like dragging up a dumb letter I wrote 20+ years ago and making it the showcase of their monthly review. I don’t remember what I was thinking. Apparently I thought I was both funny and being discriminated against because I was a guy. Man, was I stupid. Maybe just young and naive. But wrong, that’s for sure.

A lot has happened in those 20 years. I’ve completed school, I’ve had kids, been married and divorced, I died, I started teaching yoga. By default I’ve become a responsible adult. Not one time in my life have I faced any problems by being a man. Back in February I even organized a counter-protest to those men’s rights / pro-rape idiots that were meeting in town.

Taking crowns back!
Taking crowns back!

But that’s what we do, right? We grow, we learn, and we get better. I wonder how stupid I’ll sound 20 years from now.


Well, it’s not money but it’s something. The last time I was working for an employer, I found out about some dangerous welding practices being used on submarines. The client knew that the welds were failing new tests and asked us to sign off on them anyway. The meeting was quiet, and I said the only thing I could. “I’m legally obligated to report that.”

When I started in that group, they said they “were happy to see me join, someone with design experience, someone who can mentor our younger engineers, help guide the design” and I joke that I looked around for who he was talking to. Once I called them on endangering people’s lives, I became a PNG PDQ. They brought in people to discuss “The Role of an Engineer”, not realizing (or caring) that I was contracted with the Engineering Association to teach that to engineering companies. Not one word was said about how to fix the welds. When my probationary contract ended, it wasn’t renewed. I haven’t been able to find engineering work since.

Then a year later, all the submarines are beached. They never fixed the welding practices, and we’re all lucky nobody died. I don’t think those subs will ever get into the water again. They’re out millions of dollars and the country’s out a bunch of submarines because they didn’t want to listen to their engineers.

This isn’t the first time for me. Victoria’s CREST radios have a bug that makes them hang. The problem is in a while loop; if it misses the handshake it’ll wait forever. It’s an easily fixable bug with one line, adding an “emergency_timeout” integer and not letting the while loop iterate more than 25 times (a SWAG number). Basically, this


should become this:

emergency_timeout = 0;
}while( emergency_timeout < 25 );

The bug never got fixed, to the best of my knowledge. Guess what happened when my contract came up for renewal? They are now out of business, bought by another company.

I don't understand why businesses would hire an engineer and ignore them, or worse, fire them for mentioning "hey, you've got a problem". Every time it's happened to me, the place is either out millions of dollars or they go out of business.

Snazzy New Cards

Does anyone even say snazzy anymore? I don’t know.

I had to get cards. I struggled to get a decent printing done by myself and ended up making a mess of it (I blame my printer) and instead laid out the cards with Scribus instead of OpenOffice. Lucky for me, years ago I’d volunteered with the paper at Camosun, so I knew a little about layout.) The problem was that I couldn’t find a good printer. In another stroke of luck, while waiting for my haircut at Victory, I saw that the place next door was a print shop. MetroPol Printing had decent stock and a quick turnaround.

It’s been a while since I’ve been able to find work in town. I’m in the awkward phase in my career where I’m either “overqualified” or I don’t have 10 years in some niche skill (lately it’s been Altium Designer, very weird) so it’s been a struggle. Anyway, at the prep session I realized I didn’t have any introduction cards so I could just pass along my contact info. A few scrap bits of paper here, a few there, and I was convinced there was a better way.

Plus I just got a set of free headshots from VIATeC, which was kind of awesome. I never really know what to do with my face or hands when I get my picture taken, but the photographer seemed to have an idea.

I give these out to srs people only.
I give these out to srs people only.
No really, I am a superhero.
No really, I am a superhero.

I took the new cards and went to a job fair. I brought both kinds so I could give the silly ones out to personal contacts instead of business ones. I gave out a bunch, handed out resumes, and one place seemed angry that I was there. They were probably having a long day. I did get a few good tips for some of the bigger places like VIHA and BCP.

(The superhero thing is true. I volunteer with the Superheroes of Victoria. We do charity work for other charities; setting up events out of costume, or putting on superhero outfits and entertaining people, answering phones, whatever it takes.)

Something’s wrong.

“Hey, we’ve got two outlets that are out. I checked the fusebox, opened them up for loose cords or wires and everything seems legit. Any thoughts on what could knock them out?”

That’s funny.  Receptacles are supposed to work.  It’s amazing how often they just work, flawlessly.

The timing was weird because it was just after a rainstorm, so I thought maybe water had gotten into one of the junction boxes.  There had to be some kind of short or break somewhere.  If it was one, I’d figure it was a broken receptacle.  It had to be something fixable; if I couldn’t fix it, then what the hell was going on?

Tools on.  First, a circuit tester to see what’s loose, what’s wired…

We've got hot and ground ... and neutral mixed?
This isn’t a listed error.

Well, that’s just not right.  Red lights up only when hot is mixed with ground or neutral, and all three shouldn’t be lit for any reason.

This calls for more precision.  Let’s see what’s going on numerically.

At least three of these numbers are wrong.
At least three of these numbers are wrong.

LL is 95V, which isn’t within the right parameters.  BC Hydro will give you 120V, give or take a couple of percent, under as many circumstances as they can think of.  95V means that something’s in-line and consuming power.  How?  This got weird when the NG voltage was about 22V, and LG was 120V.

I called an electrician I know, Mike at Groove Electric, to see if he had any thoughts.  I figured it was water or critter ingress, somehow shorting juuust enough that the breaker wasn’t responding.  (It happens, that’s why the new code requires arc flash and ground fault protection.)  We thought along the same lines, hot touching something else, and some high-resistance thing doing the touching.

I checked in the air space, sort of like an attic but on the side, and saw an unlidded junction box, pointed up.  Case solved, so I went to Home Depot, picked up a lidded plastic enclosure, and went back the next day.  I also replaced the older receptacles with newer TR versions and plastic plates.  (I never trusted the metal ones.)

Now, I’m a bit of an arachnophobe, so I don’t like going into spaces full of spiders, but hey, I can deal with it, and house fires and kids without heat are worse than me dealing with some spiderwebs.  I crawled in, and found that the box I’d mentally convicted was dry as a bone.  A couple of cobwebs, but that wasn’t the culprit.  I found the junction box powering the receptacles, and this had to be the problem.

This is behind a chimney. So many insect nests and so many well fed spiders.
This is behind a chimney. So many insect nests and so many well fed spiders.

The top right is the source, which then feeds the round box.  The top right box splits to the bedroom receptacles.  The round orange box splits to the kitchen fan and lights.  (I thought the orange box was the source based on the cable age.)  So, disco on all the stuff going in, power up, and measure the voltage on the hot wires.  (Don’t try this at home; I am a professional.)  It read 120V, so whatever I disconnected was causing the problem.

It was the fan.  It was old, wired in backwards, and vented into the attic.  When the circuit was energized without the fan attached, everything was back to normal.  The solution was to just coil it back and leave the fan in place.  (Otherwise there’s a hole.  I guess I could have installed a ceiling cat, but that seemed a little silly.)

The DMM just had to find a place to rest.
The DMM just had to find a place to rest.

My guess is that the insulation in the fan coils was in rough shape and was slowly shorting out.  The coils would isolate the fault from the circuit, causing the breaker to stay active.  It slowly got worse until the receptacles failed one day.

I wonder how much longer it would have been before the fan caused a fire.  I’ll dissect it when it gets removed.  This afternoon I remember replacing a shaver outlet with a GFCI.  The house owner noticed that it was often warm; when I pulled it out, the insulation had started burning away.

Good times.

Born an Engineer

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:

The receptacle doesn't even have a ground pin.
The receptacle doesn’t even have a ground pin.

I wrote to the paper. Here’s the letter, which they printed as an photo, probably because it’s hilarious.

This is what I sent in to the paper. My handwriting hasn't improved all that much.
This is what I sent in to the paper. My handwriting hasn’t improved all that much.

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.

Buying Perfect Avocados

I know, we’ve all seen the picture: not now, not now, not now, too late — Avocados.  There’s an easy way to pick avocados and let them ripen at home.  I’ve had 2-3 go bad, total, in the last four years, and I buy them at least once a week.

tl;dr: The smoother, the better.  Trust me. 

I was in the grocery store years ago when someone explained this to me.  Last week, I got to share the info with two other people trying to buy avocados.  Now I’ll share it with everyone.  Without further ado, the vegan’s guide to buying avocados.

The first thing is check out the butt.  You want a nice, smooth, avocado without veins.  If it’s veiny, then it’s going to rot before it ripens.  If you want to make brown guacamole for some food-poisoning themed party, go ahead.

A veiny avocado.  Don't buy ones that look like this.
Junk. Ditch it.

So what should they look like?  Smooth, like the jazz of Mindi Abair.  Something like this:

Smooth avocados mean tasty avocados.
The squat champion of avocados.

That’s an avocado that will ripen and taste delicious.  Leave it next to bananas until it changes from light green to British Racing Green and has slight give to its skin when you push the neck.  Once it’s ripe, you can (yes, really) leave it in the fridge for a week or two.

Now, what about the “avocado pit lottery”?  Will you get all pit, all flesh, who knows until you cut it open, right?  Nope.  Check this out:

A rough avocado
What is this, Cordura?

This avocado will be mostly pit.  If that’s what you’re going for, go ahead.  If you want to maximize your guacamole ratio, get a smoother-skinned avocado.

So, buy smooth, buy early, let the bananas ripen them.