Blog

2020 2021 2022 2023
2010 2011 2012 2013 2014 2015 2016 2017 2018 2019
2004 2005 2006 2007 2008 2009

Can I Fix Your Stairs?

Back in the 90s I knew a woman who lived in a medium-sized town here in Ontario. Her father had come over from Poland after the war and built up a small contracting business while raising three kids. He was a heavy smoker, and one day the doctor gave him the news: there’s a shadow on your X-ray, all we can do now is buy you some time.

A couple of weeks later my friend came home from work to find her father and his pickup truck gone. He returned a few hours later, and when she asked where he’d been, he said, “Just taking care of things.” It happened again, and then again, and finally she demanded to know where he was going.

Long story short, Meto was going back to houses he’d built—sometimes twenty years ago—and knocking on the door and saying, “Excuse me, I apologize that I intrude, but please, can I fix your stairs?” Some people thought it was a scam and shut the door in his face, but after forty-odd years he was pretty well known around town, so yeah, sometimes people would let him in to fix a flight of stairs he had never been satisfied with, or to re-hang a door or straighten a window sash.

I don’t know how many things he got to make right before he was too weak to go out on his own any more. I hope it was enough for him to feel that he’d done as much as he could.

Time to make a cup of tea. If you came in peace, be welcome; if not, be damned with you.

Paid Off

As of this morning, our mortgage is paid off and my wife and I own our home. Damn.

Windchimes

Years ago, while hiking in the woods, I spotted a set of bamboo windchimes hanging from a tree. There were five weather-stained rods carved to different lengths, each of which had initials carved on it and a pair of dates. I can’t remember the years exactly—this was back in the days of chemical cameras, so if I still have the photo I took it’s in a box in my basement—but I remember they ran from the 1930s and 1940s to the 1980s.

The bar the chimes hung from had a hole carved in it for a sixth. I wondered then, and wonder now, why it was missing. Had someone’s time not come yet? Had there been no one left who knew or cared to add it? Or had a squirrel chewed through the twine used to tie it on so that it fell into the undergrowth and was lost? Either way, did the other chimes miss it?

Time to make a cup of tea. If you came in peace, be welcome; if not, be damned with you.

Closing Time

Their First Message

“You’re absolutely sure?”

The head of NASA shrugged. “Afraid so, ma’am. That’s what they’re saying.”

The president sighed and nodded to her media team. A few minutes later her solemn face appeared on half a billion screens around the world. “My fellow Americans, and all our friends around the world. After months of work, our scientists have finally managed to decipher the aliens’ message. I choose to view it as one of hope—as a promise of support in difficult times. I hope you will too.”

She cleared her throat. “Never gonna give you up. Never gonna let you down. Never gonna run around and desert you…”

The Pergola

I had to be up at 4:30 this morning for the first round of It Will Never Work in Theory talks, so I took the day off work. After a nap and some lunch I decided to tear down the old pergola in our garden: some of the wood was rotten and it blocks the light to the garden beds we’ve built.

As I was prying the boards apart I couldn’t help but think that someone must have enjoyed it once upon a time. Someone had built it and trained the honeysuckle to grow on it; someone had probably sat where I’m sitting now and enjoyed looking at it, and now I was just whacking it with a hammer so that I could throw it out with the trash.

And having had that thought I had to wonder if the things I’ve built are destined for the same fate. I have 34 repositories on GitHub and there’s about a million words on this site; will anyone learn from it or will it bring anyone any pleasure after I’m gone, and if so, for how long?

Time to make a cup of tea. If you came in peace, be welcome; if not, be damned with you.

The Old Guy

Someone spotted this in a Glassdoor review of my current employer: “Coding interview was very basic. The old guy was very nice and respectful.”

Anyway, how’s your Monday going?

Fundraising Talks

If you and your team are looking for an entertaining and informative lunch-and-learn session, I am willing to give any of the five talks listed below via video conferencing in exchange for a donation of US$200 or more to Rainbow Railroad, a non-profit group that helps LGBTQI+ people escape state-sponsored violence. (I hope to add a sixth talk based on Software Design by Example by May if that would be more interesting.) If you’re interested, please reach out.

  1. Writing a Technical Book
  2. Software Design in 50 Minutes (aimed primarily at data scientists and others without formal training in software engineering)
  3. Software Engineering’s Greatest Hits (a short summary of some of the most interesting results from It Will Never Work in Theory)
  4. What Everyone in Tech Should Know About Teaching and Learning
  5. How to Run a Meeting

Dressed in Hand-Me-Down Clothes

I’ve been updated the Python version of Software Design by Example, and once again I feel like I’m using the butt end of a screwdriver as a hammer. Version control systems are designed for developing applications, but when you’re teaching, you often want to have many versions of the “same” file available at once. For example, consider Wasim Lorgat’s tutorial on how to build a text editor in Python. What it wants is a horizontal scroll on a single source file so that readers can move forward and backward in time without losing context (i.e., while having previous and subsequent versions of the file in view):

views of Lorgat's evolving editor

I’d settle for something that would automatically generate an image like the one above—if nothing else, it would work better in a print edition. But how do I manage the snapshots of the file’s evolution? Do I create editor_1.py, editor_2.py, and so on, all in the same directory? I’ve been down that road (as I’m sure many other authors have), and inevitably you wind up creating editor_1.5.py or renaming a dozen files to bump version numbers, and then realize after the book has shipped that you made a change to eleven of the snapshots but not the twelfth so now the presentation has continuity glitches.

Version control systems are designed to materialize one copy of each file at any moment. When you’re teaching you often want multiple copies, each slightly different from the ones before and after in logical order, but don’t want to have to maintain the consistency manually. In that respect I think teaching and data analysis have more in common with each other than either does with “normal” software development, but the first two seem forever having to dress in the latter’s hand-me-downs.

Happy Birthday, Maddie

Our daughter turned 16 today. We gave her a bracelet made of spoons (so that she’ll never run out) and a one-cup blender for making smoothies, and then my wife went to her closet and got a package my mum sent four years ago to be opened on this day. Inside were half a dozen pottery figurines that were on the mantel when I was a kid.

I wish mum was here, but I’m pleased that the last gift she will ever give was to my daughter. Happy Birthday, Maddie—you’ve come a long way.

Maddie as a baby