Thinking Too Much

Too much of anything is rarely a good thing. Consuming an excessive amount of chocolate can kill a person. Drinking an excessive amount of water can kill a person. Breathing an excessive amount of air can kill a person, too. These three things are absolute pleasures in the wintertime -- and two of which are pleasures all year 'round -- so long as a person enjoys them in moderation. Too much thought is an interesting form of excess, though, as it does not immediately affect our biology. That said, an overabundance of consideration for a specific topic -- or group of related topics -- can be just as detrimental to our well-being. This is certainly the situation I find myself in while thinking far too much about work while "on vacation".

Out of Office

Earlier this week I made the mistake of checking the work email to search for a personal piece of information that I thought was lost in a sea of corporate messages. Instead of finding what I was looking for, my eyes were inundated with a ridiculous number of messages from people expecting that two weeks of work on my part would be complete and ready for them come Monday January 6th, the first official working day of the new year. Four departments, each with their own set of priorities and expectations, wanted the same two week block of time as my holiday. The people who sent the message all knew that I would be unavailable as early as November, but they chose to wait until Monday morning -- the first day of my vacation -- to send an email with their wild expectations.

There are going to be some very disappointed people come Monday January 6th, 2020.

To add insult to injury, there is also a request to participate in a meeting on January 3rd at 9:00am. This is an important meeting for sure, but it's scheduled for a time when I'll be visiting the in-laws in rural Japan. Can I sneak away for an hour to attend a meeting on a subject that will require a minimum of 5 hours of prep beforehand? Only if I want to upset a whole lot of family members who argue that I work too much. Reiko says this to me several times a week already. I really do not want to have her parents or sister say the same thing to me.

Yet, despite not being in a position to easily do the things that people are asking of me, the mind is busy thinking about the tasks being asked. It's considering how to solve some of the challenges that will need to be overcome to meet objectives. It's looking at possible alternatives to decisions already made. It's working through UI challenges on a major project that will define my entire 2020 effort. The mental chatter is ceaseless.

Will it ever stop? Can it?

Meditation does help, as does reading, but a person cannot do these things all day long unless they are single or incredibly selfish. Ultimately what I would like to do is get my vacation back. I shouldn't have opened the mail application in a foolish gambit to find a home address. I should have done the smart thing and just message the person via Skype to their personal account.

Unfortunately, there is no "Undo" in real life. The work email has once again got me thinking too much.

Third Christmas

There's a lot to be said for consistency. The boy tends to wake up rather tired -- just like his father -- and was not exactly sure why Reiko was so energetic right from the start of the day. After going downstairs, getting cleaned up, and sitting at the breakfast table, the first thing he did was put his head down and let everyone know that 7:45am was far too early to be awake, which is very similar to what he did last Christmas, too.

Tired Boy

What's funny is that he is usually awake and singing his entire repertoire of songs shortly after sunrise. There's something about Christmas Day that seems to exhaust him right from the very start … which isn't necessarily a bad thing. As someone who needs a few minutes to wake up before even attempting to get out of bed, every extra minute under a warm blanket counts.

However, just like last year, he seemed a bit overwhelmed with all the activities in the morning even before we got to the present-opening. The plan involved breakfast, getting dressed, and taking a couple of nice photos before reaching underneath the tree. He was pretty good for all of this and was pleasant up until he started playing with one of the toys. This was my queue to go upstairs and become Santa, complete with the beard, pillow-based tummy, gold-rimmed glasses, and a whole lot of red.

Last year the boy started crying after "Santa" left due to exhaustion. This year was no different.

The visit went well, though he was clearly shy around a "stranger". We don't have guests over very often, which likely made the visit even more out of the ordinary. The big present was received, opened, and set up. Fun was had. Pictures were taken. Then Santa had to get back to the North Pole. It was around this time that the boy was running on fumes. By the time I came back downstairs after changing back into my regular clothes, he looked ready for a nap.

The clock showed the time as 11:25 in the morning.

While lunch was being prepared, he surprised us again by voluntarily washing his hands, getting into his chair, and waiting for his plate. Afterwards he asked to go upstairs to sleep.

It's not often that the boy will burn through an entire morning of energy so quickly and respond so well to the various routines that must take place before eating or sleeping, but it's great to see that he can actually do everything without fighting every step of the way. If the evening is anything like last year, there will probably be some tears after a couple of hours of playing with his new Tomica set, followed by dinner, followed by books, followed by an early bedtime.

Something tells me this will be the last "calm" Christmas for a while, though.

The Night Before Christmas

If even half of the events of the four Toy Story movies are to be believed, around the world there are billions of nervous toys worried about what might happen over the next couple of days. Will favourites be "demoted"? Will new toys play nice with the old ones? Will toys be phased out altogether in favour of electronics? If I were a magical creature that became inanimate in the presence of people, I would be nervous, too. Fortunately, my lot in life allows for the luxury of being the one who gets to play and be played with.

When I was in my 20s and naive beyond belief, I remember having a conversation with a girlfriend about Christmas presents for children. My parents gave as much as they could, and often more, which resulted in lots of happy kids around the Christmas tree and a very sore credit card until March. They loved to see the smiles, hear the laughter, and enjoy the unabashed delight their kids exuded. Not having children of my own, I saw this as being the result of "the over-commercialisation of Christmas". Nearly two decades later, I can completely understand why my parents wanted to go all out to give as much as they could. It has nothing to do with being a sheep to advertising or a slave to capitalism, but something much simpler that was mentioned earlier in this paragraph; parents want to see their children overwhelmed with glee.

Reiko and I brought the boy to a toy shop a few weeks back in order to see what sorts of things he might want to play with in the near future. He'll be three soon and, while we know relatively well what he enjoys and the sorts of adventures his mind conjures, seeing new things might trigger new interests. After a handful of minutes in the store, the boy's eyes fixed on a section where other children were playing and he made a bee-line. Just like the dozen other boys playing in the aisle, he was interested in Tomica cars. For what seemed like a solid half-hour he just played with the sample cars and basic sets with other children as their parents came and went, using the exhibited toys in much the same way as Reiko and I. The boy is very much interested in electronic devices, as he wants to touch anything with a glowing screen, but he's just as keen to grab a small-scale Mazda and imagine stopping at a gas station.

Fortunately "Santa" had already prepared something along these lines for him … though the venue is quite a bit more interesting than an Eneos self-service station.

This year the boy will receive a total of four presents, which works out to one from Reiko, "Nozomi", and myself, plus "Santa". It wasn't easy for Reiko or I to limit ourselves to this number, as we would have no problem spending a good amount of money on various books that he would enjoy. We considered more accessories to go with his plastic train set. We considered more cars. We considered a bunch of colouring books and crayons. We even considered a little karaoke set, as he loves to sing. Buying everything would likely come out to a little more than a single mortgage payment, which isn't "a lot" in the grand scheme of things … but we don't want the boy to become too spoiled. So four it is. Reiko will also receive four. I will receive four. Nozomi … doesn't really celebrate Christmas, but will get two nice gifts nonetheless.

When I was young adults would often say "It's not the gift, but the thought that counts". This was illogical to me, as thoughts are erratic and plentiful. This didn't really start to make sense until I started dating and, even then, the full meaning wasn't really felt until after the boy came along. Buying "everything" would be taking the easy way out. Putting thought and consideration into which toy from the myriad of options would bring the most long-term fun and enjoyment? That's the thought that counts.

Sticker Books

In the late 1980s it seemed that everybody I knew had a sticker book or two and elementary school playground discussions would invariably involve the subject at one point or another. The hobby was an absolute money-maker for the publishers, and companies like O'Pee Chee and Panini received quite a bit of my allowance money over a span of two or three years. The way it worked was simple. Kids -- or their parents -- would buy 35-cent packs of cards that were also stickers. Kids -- or their parents -- would buy the accompanying booklet where the cards could be stuck for anywhere between 50 to 75 cents. Kids would then trade their doubles1 at school, hobby shops, or trade card shows in the hopes of filling out an entire book. The only one I completed was for Teenage Mutant Ninja Turtles. The others were much more difficult as they were sports-related and would require the acquisition of hundreds of unique stickers rather than five or six dozen.

Almost three decades have passed since I last thought about this hobby. I was reminded earlier today when the boy was sitting at the table with his own sticker book, which is designed more as an afternoon activity to grant parents a bit of peace while also encouraging kids to improve their matching and reading skills. We sat together, with him peeling and affixing stickers while also providing a play-by-play commentary, and me asking questions about the characters on the pages. What sort of hobbies will he enjoy as he grows up? Many kids like to collect things, but does the youth of today collect physical objects or digital Pokemon?

I guess I'll find out soon enough.

For the moment the most played-with toys in the house are Tomica cars2, a plastic train set, and a kitchen set3. This will undoubtedly change over the next year as he starts school and becomes introduced to new people and their playtime activities. One thing that I do find interesting, however, is that the toys kids play with today, while often much cooler, are pretty much the same as my generation had when growing up. Sure, there are more electronics and an absence of Pogo Balls, but fun is fun.

  1. Cards that they already had.

  2. Japan's version of Hot Wheels. The suspension isn't nearly as kid-tolerant, and the die cast metal is thinner, but they're just as fun.

  3. The boy likes to pretend he's cooking meals, so he has a kitchen set with lots of plastic fruits and vegetables that can be "cut" and "prepared". It's quite fun to watch him play.


Every couple of weeks there's a notification on my phone early in the morning letting me know that I have "a new memory", which seems to be as good a reason as any to pause and look at photos taken a number of years ago. People seem to love or hate these meta collections assembled on their behalf. Given how the "memories" are presented, though, I can't see many reasons why someone would be opposed to receiving them. They can be a good reminder of our history and offer a lens to examine how far we've come in the intervening years since the photos or videos were taken. This morning's album focused on my second trip to Japan back in 2006, and one photo in particular stood out.

Reiko Looking in her Pouch Next to My Old HP zt3000 Notebook

This picture probably wouldn't warrant more than a cursory glance from Reiko or anyone who knows either of us, but there's just so much information -- so many stories -- packed into this one photo. More than any of the 200+ other pictures taken throughout the day, this one takes me back in time.

Taken at 9:23pm, this picture was captured after a long day in Nagoya. Reiko and I had gone into town to look at two possible locations for our wedding1, which was 17 months away by this point. While in town we also walked through a tourist spot near the Nagoya Aquarium, where Reiko and I had our first date earlier in the year, and we also enjoyed some excellent okonomiyaki at a restaurant that no longer exists.

Hotels in Japan are incredibly expensive, often commanding rates of $90 per night if you don't mind something small, old, and very much out of the way. This time I would stay in the country for two weeks, which would mean paying well over $1,000 for a room to sleep and keep my clothes, since I'd be out and about during the daylight hours. This would be a really poor use of money. Reiko knew about a company called LeoPalace that offered short-term rentals of furnished apartments and found one not too far from her parent's place for about half the price of a hotel. It came with some decent Internet speeds (so long as I unplugged the TV) and was close enough to a grocery store that I could walk over to stock the kitchen when required … which I'll admit wasn't very often. We didn't have much time to spend sitting about an apartment when there was a wedding to plan and family to meet.

The computer next to Reiko's elbow was the trusty HP Pavilion zt3000 notebook that exceeded all of my expectations, keeping up with all of my computing needs for several years beyond the planned replacement date. This machine was used heavily every day between 2004 and 2009 and eventually had a divot deep enough in the space bar from usage that you couldn't miss it in photos. Half the letters had worn off, too. But it kept going and even turned out to be an excellent Ubuntu machine when I made my first attempt to ditch Windows in 2007. Eventually the display gave out, making it impossible to use without an external monitor. A student of mine was in need of some spare computers as part of his university studies, so I donated it to his research in the summer of 2009.

The photo displayed on the notebook was taken earlier in the day when Reiko and I were at the tourist spot. Someone had brought two dogs, and Reiko just couldn't help but stop to pet them. I was very much a cat person at this time, but she loved dogs. I've since come around on which species of non-human mammal I would choose as a companion.

Two days after this picture was taken Reiko would open her Christmas present of 170 Mozart CDs, a box set like no other. A few days later I would officially ask her parents for permission to marry their youngest daughter. Almost a week later, I would fly back to Canada after receiving an upgrade to business class.

The entire trip was remarkably important as many of the events were prerequisites to the life I have today, and all of this flooded back by looking at this one semi-focused photo.

  1. One of them ultimately won.

The Itch

Thanks to a good mix of banked time off, school breaks, and national holidays, this winter's Christmas and New Year break is a good sixteen days long. With a little more than half a month of time away from the day job there is plenty of time to relax, unwind, and realign priorities. Colleagues understand that I'm unavailable until the new year and are generally supportive of the desire to be "offline", as it also gives them an opportunity to enjoy their own holidays in a similar fashion. This is a much needed break from the everyday. One that the family has been looking forward to for several months.

Yet despite the desire to temporarily step away from the responsibilities of work, there is an itch to quickly connect to the corporate VPN, check some server performance metrics, then organise and perhaps respond to email. An activity that could take anywhere from 30 seconds to 3 hours, depending on how many messages I feel compelled to respond to.

Just like a mosquito bite, resisting the urge to scratch the itch can be quite difficult at times.

Fortunately there isn't any real need to connect to the company's network or check for messages. If there's a serious problem, then people have my phone number. If there are questions, then most colleagues will understand that people take time off at the end of the year. My job title includes the term "Systems Architect", which means that nobody will die and businesses will not fail if I'm unavailable for a short period of time.

Yet the itch persists.

How do people who are perpetually connected to networks of one sort or another tune out this irrational compulsion to check inboxes and corporate chat systems for messages? Given that I am generally unable to work for another 15 days1, looking could spoil the remaining time off. Can a person really enjoy their holiday when, in the back of their mind, they're thinking about something inflammatory someone wrote? I can't. It's sometimes better to be wholly ignorant of what awaits in the inbox. Future me can deal with whatever might be waiting.

Yet the itch persists.

Hopefully this proclivity to freely give my personal time to the day job diminishes over the next couple of days as muscles begin to relax and the holiday activities start to require more focus and attention. Earlier this year when the family and I took our little trips to Tokyo, Osaka, and Kyoto2 I kept myself available to people just in case a problem arose. None were reported, which made it much easier to focus on the moment. Unfortunately I was a fool during some of those trips and spent the evening responding to messages while Reiko and the boy slept, which resulted in some frustrating endings to otherwise lovely days. Why repeat the pattern?

Yet the itch persists.

Perhaps I subconsciously enjoy being frustrated. This would explain why the itch manifests itself at all. Fortunately the conscious mind isn't particularly keen on spoiling tonight. Rather than scratch, I'll just get some much-needed sleep.

  1. The family will not tolerate me sitting in front of a computer on a day off to do work-related things. They also have little patience for the sour moods I can exhibit when reading messages from certain people who have a way of accusing or blaming others to deflect from their own silliness.

  2. And, to a lesser extent, Kuwana and Inuyama. These were much easier to visit, though, so don't really get the mentions they might deserve.

Kicking the Can

So long as there isn't a catastrophic server failure at the day job, today should be the last official working day of 2019 for me. This year has been a long one with a remarkable number of challenges -- both personal and professional -- to overcome. However, looking back, I can say without a doubt that a lot of positive progress has been made. I can say this, because I have notes. Well over a thousand pages of them.

One of the things that I generally do with notes is keep a running tab of priorities. This To Do list grows and shrinks throughout the day and, at the end of every Friday, I write the incomplete items to a fresh sheet of paper in the notebook and have it ready for examination on Monday. This ensures that the vast majority of what I'm asked to do gets done in a reasonable amount of time1. So, as today is the last Friday of 2019, I had the opportunity to write out the list of To Do items that'll be waiting for me when I return to work on Monday January 6th, 2020.

  • a dozen items related to the Mimosa textbook system I developed this year
  • two bug fixes for my LMS, which is due to be retired in six months
  • a handful of documentation for business processes
  • a note to change my Active Directory password

Seventeen items in total, which isn't bad at all. That said, some of the dozen items related to the textbook system will be thought over the Christmas holiday as they are non-trivial problems. While there are a number of "quick and dirty" ways to solve the problems that need addressing, it would be better to let the subconscious play around with the ideas. This occasionally results in some very interesting solutions being presented in dreams, which can then be translated to code and brought into existence. And I like interesting solutions.

  1. Unfortunately there are also a number of tasks that never get completed. These generally come in on Teams or Slack and, because the communications move along so quickly, some items might not be on the screen or in my memory long enough to get written down.

An Accidental Search Engine

How is it that some of the most well-received work I've produced at the day job this past year has been the result of what can only be described as an accident? This is a question I ponder from time to time when listening to feedback from schools, reading emails, or skimming through the public chat places to see what sort of tools people struggle with or would like to see improved. As with everything software related, there's always plenty of room for improvement and being receptive to people's concerns is important. However, this year a number of items that I've created to quickly solve one problem or another have generated a disproportionate amount of positive feedback. Much of this is within a digital textbook platform named Mimosa, and the latest popular feature pulls from work I had put into the 10Cv5 platform to solve a similar problem: building an effective search algorithm.

This likely goes without saying, but textbooks contain a lot of text. A single book can consist of student pages, teacher's pages, audio and video scripts, workbooks, handouts, and supplementary resources, not to mention the metadata about the book itself, such as the names of the publisher, authors, contributors, rights holders, and the like. There are also ISBNs, references to other materials, online activities, audio files and videos, and images to think about. This year, while converting many of the resources used in class from the source PDF to something a little more flexible, I discovered that the typical, recently-published textbooks used in the classrooms each use about 550MB of storage space. Almost all of this is tied up in audio files and high-resolution scans of the student book, but there is also a large amount of text-based data that gets read into the system and organised for rapid collation and dissemination. This is not a large amount of data by any stretch of the imagination1, though does introduce some challenges when trying to quickly search through the data for a spontaneous in-classroom activity.

At the moment there are about 107 complete textbooks in the Mimosa delivery system plus a bunch that have not yet been fully converted. The goal is to have 180 books in the system by the summer of next year so that teachers around the world2, and more as we continue to adapt the older, legacy materials as well as bring in new items. These are not crazy numbers by any stretch of the imagination, yet with 180 textbooks we can expect there to be several million words across 20+ languages stored in the database. Generally when databases start to fill up with this quantity of data, search results begin to take much, much longer. Mimosa, however, does not appear to have an appreciable performance difference whether there are 180 books in the system or 1500+. This is because the search mechanism is an almost carbon-copy of the one used in 10Cv5.

When I started designing search tools at work the approach was generally the same. Tables would be flat, and queries would make liberal use of LIKE '%phrase%' to search through tens of thousands of records for something resembling the provided phrase. This was an inefficient and computationally expensive search method, so this design pattern was quickly abandoned. Something smarter had to be created.

Over the intervening years new methods of improving search results were tested out but it is the most current implementation that has resolved many of the performance issues that other systems could not overcome.

How It Works

Textbooks can easily contain tens of thousands of words. However, when counting the number of unique words, there are perhaps 1,000. So, much like 10Cv5, when a textbook is added or edited, the distinct words that make up a page are extracted and added to a separate table in the database. Going this route, 180 books at about one thousand words each would result in a data table with 180,000 words pointing to the page(s) the word belongs to. Searches are then conducted on this separate table.

This isn't where the system stops, though, because this is just part of the solution. In addition to returning posts that contain specific words, it's important to assign weight to the search results as well. I generally do it like this:

Search Term: glass design engineer

  1. Query the word table for posts that contain glass or design or engineer3.
  2. Items that contain one of the words get 1 point. Two words 2 points. Three points are three.
  3. Items that contain glass design or glass engineer or design engineer receive an additional 2 points, because the words are in the same order as the search string.
  4. Items that contain all three words in the same order get an additional 5 points.
  5. Items that belong to the language -- or languages -- that I use get an additional 2 points
  6. Items from books newer than 5 years ago get an extra 5 points.
  7. Posts are then sorted based on their score and the first X results are returned to the person using the system.

This is not a perfect mechanism, but it's pretty accurate most of the time. The results span every text-based record, whether it's in a student book, teacher's book, audio or video script, a workbook, or anywhere else. The search results for the above returns the audio script to a track for a Level 2 book in under 0.2 seconds. Because it is quick, people use it.

However, one of the recent updates that has people really using it is the addition of metadata searching, which includes reading tags associated with images and other non-text resources. So now rather than just search through textbooks, the search engine has a rudimentary Google Image Search mechanism in place. The feedback has been overwhelmingly positive. Future updates will likely make this more powerful and dynamic.

Several years ago I said that I would love to work on a search engine product and develop part of the ranking algorithm. While my little textbook search feature is nowhere near as complex or capable as something made by Google, Microsoft, Yahoo!, or DuckDuckGo, it has certainly been a worthwhile challenge that goes a long way to solving the problem of letting teachers quickly pull up a resource from any textbook they've used at any time.

Good opportunities seem to come to those who wait.

  1. 550MB is not a lot for a textbook until you realise that a CD can only hold one complete textbook.

  2. Teachers around the world and employed by my employer. The textbook systems I'm developing are very much an internal project, though I can see a market for this worldwide.

  3. This is done in a single query using IN, not three individual queries.

A Trillion Kilometers

On a clear evening in the suburbs, a typical night sky will have several hundred stars visible to the naked eye. The photons from these distant stellar entities have travelled trillions of kilometres, sometimes bouncing off planets or asteroids, before making their way here. The nearest star system is Proxima Centauri at 4.3 light years. The most distant that we can hope to observe without help is V762 Cas, which sits about 16,300 light years from us. Orion is about 1,350 light years away and Polaris, the brightest star in the northern hemisphere, is 323 light years distant.

Starry Sky

The light from Polaris that we see today left its star while Europeans travelled to the Americas in wind-powered, wooden ships. The light from Orion left its star before the legend of King Arthur — as we know it — was born. The light we see from V762 Cas has been in flight since before we had written language or a basic understanding of math.

These are the sorts of things that I've found myself thinking lately while looking up at the night sky when out with Nozomi. The vastness of space is beyond comprehension but not an insurmountable problem. Humanity has risen to a number of challenges that seemed impossible until somebody did it. Exploring the cosmos, seeing these distant stars up close, is something that we will most certainly enjoy at some point in the future. Unfortunately it will be long after my time has passed.

Fortunately there is plenty of sky to enjoy from the ground.


Either something is wrong with math or something is wrong with me. Given all of the things that math has enabled throughout modern human history, there is little doubt in my mind that there is a problem with me. Earlier today I was filling out the monthly paperwork required by the day job to outline what I've done this past month. This is used to justify the amount of overtime that I claim, which is verified through a couple of mechanisms used within the organisation. If a person claims more than a couple of minutes of overtime per month over their "punch time", they lose money. If a person claims less overtime than their punch time shows, they lose money. There is a very fine balance that needs to be managed to ensure that a person receives what they are owed1. I've been keeping track of my working hours at the day job with Outlook for the better part of 12 years and have felt that my numbers have been accurate give or take 15 minutes. That said, this month those numbers were off. Way off.

According to the time tracking system at the day job, I've clocked just over 82 hours of overtime this month, which is a rather large no-no for all sorts of reasons. There are labour laws that are supposed to prevent this. Managers will have to answer questions from payroll, HR, and other internal entities. Emails will be sent. This will create hassles. However, worse than that, the amount of overtime means that I've completely missed my goal to not work more than 10 hours per day, which allows for a maximum of 90 minutes of overtime per day, which is about 33 hours per month.

This has got to stop. My workaholism was a pretty serious problem 20 years ago when I would put in 100-hour weeks simply because I was single, stupid, and trying too hard. However, it's simply not feasible for me to go down this road again. More than this, it's not something I want to do. There are better uses of time, and I'm missing out on the opportunities afforded by having time.

After this week there will be a two week hiatus from the day job. This forced downtime should help reduce the compulsion I feel to solve work-related issues every time I sit down at the desk.

  1. This makes perfect sense, of course. I can't just claim 8 hours of overtime per day and expect people to accept it. The checks and balances that are in place are not perfect, but they do ensure that people are generally compensated for the work performed.