A lot of people seem to have put the time once spent on commuting to the day job to new use in finding things to finger-wag about. Websites that were once fun places to visit to read about current events or technology news have devolved into editorials where authors stand on soap boxes to point out every fault and failure made by someone else, as though their sense of moral superiority and tunnel-visioned hindsight provides the necessary shield to deflect any examination of any decisions they've made over the course of their lifetime. Nobody and nothing is safe from these public admonitions and heaven forbid the author has more than a few hundred fellow finger-waggers to propagate the message in the hopes of "going viral" during this COVID-tainted year.

The implication contained in many of these rushed soliloquies is clear: despite all the good that has been witnessed over the course of 2020, everything is bad.

While it's incredibly unlikely, I do hope that people quickly tire of spending their days finding fault in the efforts of others and instead aim to improve things through cooperation and collaboration. Anyone can point out what's wrong with something, but this is rarely useful. Offering potential solutions, however, can sometimes lead to a world-changing transformation.

Five Things

As the sixth week of “Stay the Heck Home” comes to a close, a lot of people in the neighbourhood are starting to show signs of open frustration. There’s only so much that people can do from home and only so long they can see the same walls. Our homes are generally meant to act as homes rather than some sort of minimum-security prison1 we’re asked to remain interred at. Looking around and talking to people while out and about, I’ve learned the following things:

A Business is Sinking Before It Can Even Begin

There’s a building under contraction about 2km from here that was to be a new restaurant. Construction was slated to finish in March with a grand opening for April 1st. As a result of the Wuhan Virus, the construction company has not yet completed the building and the restaurant owner is struggling with bills and mortgage payments for a place that cannot even be used to generate any revenue. Apparently the restaurant owner has enough financial reserves to four months. If they’re not open and making a profit by the start of August, the entire business venture will bankrupt the owner.

The Japanese government will not be able to provide assistance to this business owner because hasn’t yet opened for business.

Many Parents Will Send Their Kids Back to School This Week

This week will see the new school year begin for a majority of students across the country2. All three elementary schools, both kindergartens, and the junior high in this neighbourhood will open their doors for kids to return to their studies. Just about every parent I’ve spoken to said they’ll be sending their kids to school because they simply cannot stay home any longer.

Reiko is seriously considering keeping the boy home from school until next year, though.

Forced Retirements

Two of my neighbours have recently been asked to retire “for the good of the company”. They are 57 and 52 years old. Pension payments do not begin until a person is 65 and age discrimination when hiring is very much a problem in this part of the country. While they do have enough savings to get by for a while, that money was being set aside for their expected retirement years.

Hopefully they can find some gainful employment in the near future.

Pokémon Go Players are Committed

Everywhere you go there is a noticeable lack of people. Grocery stores are half full. Barber shops rarely have more than two people. The roads are clear enough that it’s actually possible to drive at the speed limit for more than 200m3. One thing that hasn’t changed, though, is the number of people aged 50 and above playing Pokémon Go in each of the nearby parks. If anything, I’d say there are probably more participants simply because people get to work from home, which frees up the time once used for commuting for other purposes.

Alcohol Is Getting Scarce

The alcohol sections of stores are looking pretty thin despite the fact that Kirin, Asahi, and Sapporo have increased production of their popular beverages. While I’ve not had a conversation with every store manager in the area, Mayumi at the local FamilyMart convenience store says that they receive shipments every night around 10pm and sell out of the more popular drinks by dinner time the next day; which almost never happens because “a convenience store with empty shelves is losing money”4. Will there be a rise in alcoholism in the area as people try to stave off boredom? Is this why there are a lot more police sirens at night than ever before?

The longer this goes on, the more damage there will be to repair.

  1. Our homes are usually more comfortable than a prison — regardless the security level — but confinement can make even the most comfortable places feel like captivity.

  2. Schools have the option to remain closed. Many universities have opted to push back the start of their year until mid-May. K-12 in most cities around the country are gearing up to begin classes again

  3. Congestion and a glut of bad drivers generally limits driving to 15km below the posted limit unless you’re the first car stopped at a red light. Then you can almost be guaranteed a 200m stretch of road to traverse unimpeded … until you catch up to the cars that left you behind at the previous red light.

  4. This is how she described empty shelves, which is an interesting way of looking at the situation. People can’t buy what isn’t present.

Podcast Discovery

Somewhere around five or six years ago Jeremy Cherfas invested a good deal of time to start a podcast called Pick of the Podcasts. This was a show that had sections from as many as four shows featured in order to encourage people to subscribe to those shows. The effort was incredibly time consuming and resulted in the podcast owners not really having a way to measure how many people had listened to their show, as the episode audio was not being hosted from their site but a separate file. Pick of the Podcasts had a very short run but, as a mechanism for podcast discovery, it seemed a rather interesting way to approach the problem of "podcast discovery"; finding shows that we might want to subscribe to.

In the half-decade that has passed since this attempt to help people find new shows, not much has changed to help people find new shows to listen to. The directories that exist all seem to promote the big networks, such as PRX, NPR, BBC, Gimlet, NHK, and the like, while simultaneously burying the independent creator who could very well be making something truly unique that we might enjoy. There should be a way to give everyone an equally weighted score when trying to suggest productions to people.

Oddly enough, while doing the dishes tonight, I started tossing around the idea of creating a system that would track podcasts published in the last week or so, look for present and historical keywords weighted by frequency, then generate a custom RSS feed that I could subscribe to with any podcast player. This feed would contain 4 new episodes per week for shows that might be of interest based on various factors provided by the RSS subscriber.

Would this work, though?

Discovery has long been a problem with creative endeavours as there has been an absolute plethora of content online since the Internet's inception. Jeremy is right when he strongly states that podcast discovery is just as much a problem today as it was in 2015. There must be a solution to the problem, and I wonder if something like this would bring us one step closer to an ideal solution.


This evening Reiko was watching a special about Shimura Ken, an incredibly popular Japanese comedian who recently and very quickly passed away after contracting the COVID-19 virus. His passing has resulted in a great deal of grief across the country as he was a genuine personality. His celebrity never went to his head and he always had something positive to say. Reiko grew up watching his shows and he was on TV right up until last month. Given his 40+ year career, it's only natural that people across the country would grieve his passing. Tonight's TV special included a number of interviews where Ken was able to get rather philosophical and explain the why behind his actions and one of these really connected with Reiko on a fundamental level:

If you love what you do, then you can keep doing it forever. Your delivery will evolve. Your specialty will become more nuanced. If you do it well enough, then nothing can stand in your way. However, if you doubt yourself, then it's time to move on. An audience can feel disinterest a mile away.1

Reiko and I are both in our 40s. While I've been preoccupied — perhaps excessively — with my own mortality since the 90s, Reiko is just starting to seriously think about hers. I've passed my expected mid-life point2 and Reiko is approaching hers. It's no wonder she's starting to wonder if she wants to continue with the current career or consider exploring one of her many other interests. Considering the number of non-positive changes that have started taking place at her university, I suggested she seriously look at learning a new skill and sharing that knowledge with the world. She's always been someone who loves to share knowledge. Even if she were to give up her position as a teacher at a university, she'd find other avenues to educate people. That's just the sort of person she is.

There are a lot of avenues of study that Reiko could embark upon. She's interested in nutrition, early childhood education, and a number of different craftworks. Of these, she has consistently expressed a desire to formally study nutrition for as long as we've been married and I've often suggested she invest some time into seriously studying this on her own for a couple of months to see if it's something she'd want to dedicate her energy to for a few years. Hopefully she reaches the conclusion that maybe a little bit of focus and study would be a good thing, if for no other reason than to see whether she's genuinely interested in the subject or if it's something she's mildly curious about.

We're both at the mid-point of our expected lives. We've worked incredibly hard for a decade and a half to be where we are right now. If Reiko were to take a year or two off from her current job to focus on something else, we'd be perfectly fine. This luxury of time and financial security was a hard-fought battle, but we've made serious progress. Should Reiko make the decision to devote her days to studying a new subject and maybe using that new knowledge to help others, then I'm all for it. Heck, even if she uses it just to help family, I'll be 100% behind her. There is so much for any one of us to regret as we face our final days. The last thing I want is for Reiko to think that she was "trapped" into doing something that she's lost interest in for the sake of a paycheque.

  1. This was the gist based on my memory of the quote, which was all in Japanese … as one would expect.

  2. No male that I am genetically related to has lived past the age of 77. Today marks my 41st year on this planet. The average life expectancy for men in Japan is 81.25 years. That works out to 29,676 days, divided by two is 14,838, tacked on to my birthday is November 17, 2019. While life expectancy is not a science, I do enjoy the math that can be applied.

Restoring Functionality

Another evening, another update to 10C. This most recent one was well overdue, though. One of the features that was part of v2 and v4 for years that never quite made the jump to v5 was podcasting. After almost a full year of v5 being live, the feature has finally made a comeback … to a certain extent. There are still a couple of things that need to be built into various themes to support podcasts, but the core elements are all there to publish audio files to the web in a manner that is completely compatible with iTunes, Google Play, and standalone podcast clients.

In the two previous versions of 10Centuries, podcasts generally consisted of multiple distinct elements that were loosely coupled. There would be a record for the podcast itself, one for the accompanying blog post, and a social post as well. If you were to edit one of these afterwards, the other two items would not be updated. As one can imagine, this was suboptimal. With 10Cv5, there's no reason for any of this. A podcast is a complete entity in and of itself, the same as with quotations, bookmarks, notes, and locations. This is because a podcast is just an article with an audio file attached. Even the post type remains the same. Sometimes the simple solutions are better than the over-engineered ones that sought out edge cases.

For the moment, podcasts are only publishable through the Anri theme or a dedicated client1. In the next little bit, I'd like to ensure that everywhere a person can publish a post, podcasts are an option.

Publishing on Anri

Like with 10Cv2 and v4, when "Podcast Episode" is chosen, some additional fields will become visible on the screen under the image upload section. Unlike the previous versions of 10C, you do not need to add an audio file to the uploads box to make these elements visible. This was one thing that a lot of people did not like about the previous UI and I did not want to make the same mistake again. As a result, audio uploads have their own distinct button.

Only the post text, summary, and audio file need to exist in order to publish a podcast, though more information will generally make for a better-formatted syndication feed.

Speaking of syndication, there's a new settings page where people can better control their RSS feed.


With this page people are able to have a specific author name, or a list of authors, for the RSS feed as well as a detailed summary, a Creative Commons license, the number of items to show in the RSS feed, a cover image which is the same as your avatar by default, and content categories2.

As with so many of the things I make, the UI could certainly use a little bit of love. That said, I'm hoping that with the core functionality in place, people can make use of it.

  1. If you're familiar with the 10C API and have a RESTful API client, then you could even use that to publish podcasts. That said, only a geek would enjoy the task. Everything can be done with two API calls, but it's not at all glamorous.

  2. These are only useful for podcasting when publishing to iTunes or the Google Play Store. Not sure about other distributors like Spotify.


The subject of tracking seems to be in the news a great deal lately as people are understandably nervous about applications that send data back to organisations such as Facebook, Google, Apple, Amazon, and the myriad of advertising networks that clamour to know more about us through apps, web sites, and an ever-growing number of connected appliances. Given that a lot of the online publications that are currently shouting the loudest also have an unruly number of tracking mechanisms on their website, and given that 10C seems to operate in complete isolation from external services, I figured it would be a good idea to outline just how much data my platform is collecting on each and every person who visits this website, subscribes to an RSS feed, or downloads a podcast.

File Downloads

I don't track this in any appreciable way. The server knows how many bytes of data has been sent, but not the name of the file nor who it sent the data to, because I don't care.

RSS Subscriptions

I don't track this in any direct way. When an RSS service or an RSS reader comes by to grab the most recent XML or JSON file, the User Agent1 and the IP address of the system that initiated the request is recorded in the UsageStats table along with details such as which website was accessed, which RSS feed (because there are many ways to request one), the type of HTTP request, the response code, and how long the whole process took.

Web Visits

Just as with RSS subscriptions, the User Agent and IP address of the system that inited the request is recorded in the UsageStats table along with details such as which website was accessed, which URL, the type of HTTP request, the response code, and how long the whole process took. If a person is signed into the service at this time, then the authentication token ID is also recorded.

Why Do It?

This data is collected to answer a couple of fundamental questions:

  • how long are people waiting for data?
  • is the current hardware sufficient to meet demand?
  • where are the bottlenecks2?

It's with this data that I can tell you the average response time for a request is 0.3 seconds start to finish, and that 87 of the sites hosted on 10C represent 99% of the traffic. Is the current hardware sufficient? Yep. Not bad for a five year old laptop-turned-server.


And Then …?

Because the statistics table generally grows by about 350MB a day, it's not something that I want to keep around in a request-by-request format. Aside from mild curiosity to compare performance metrics from the past to the present, there is very little value gained from the numbers. For this reason, statistics are summarised by site on a daily basis and deleted from the system after 30 days. Backups of the database are also kept for 60 days before being discarded as a waste of space. This means that at no point will I have request-by-request statistics older than 91 days3.

What about the "Popular Post" feature? Where does that data come from?

Yep, this come from the UsageStats table as well, but to say that this summarised data is equivalent to tracking a group of people would be a stretch.

How can I verify this?

The code that powers 10C is open source. The function that records the data into the UsageStats table can be found in /lib/functions.php on (or around) line 1918 as recordUsageStat(). The SQL query can be found in /sql/system/setUsageStat.sql. Want to get a copy of your data from UsageStats or any other place in the database? Just get in touch and we can make it happen.

As someone who has taken a number of steps to reduce the number of sites and services that can follow me around the web, I understand the importance of collecting just the information that is needed to answer basic system questions and offer general functionality. None of the systems I create will go beyond the amount of statistics collection that is outlined above because, to be completely clear, tracking what people do just isn't that interesting. I'm much more interested in what the system does than the visitors.

  1. User Agents are not to be trusted 100%. They can be anything, and it's incredibly easy to claim to be a valid browser when the connection is in fact an automated process.

  2. Long-running API requests, etc.

  3. 30 days of recent data, plus 60 days is 90, plus today means "Generally nothing older than 90 days, 23 hours, 59 minutes, and 59 seconds.

Listening to Old Podcasts

Earlier today I listened to the most recent episode of Micro Monday1 as it featured one of my favourite podcasters, Jeremy Cherfas. In it he talked a great deal about what makes a good podcast, the importance of audio quality, and the difficulty in discovering new shows that aren't part of the big networks. What's funny is that I was looking forward to listening to this particular episode because Jeremy had lamented that his sound quality was not up to snuff and I wanted to see just how "bad" it was. Afterwards I wondered whether the audio quality from some of my old shows have stood the test of time and went back to hear a few episodes of Discover ADN, a podcast that launched my podcasting efforts in 2014 … almost six years ago exactly.

For my ears, the podcasts I recorded in my bedroom closet during 2015 and 2016 were some of the best I've ever made. Shows like DiscoverADN and Changing Platforms were fun, short-lived titles to record and produce. The 400+ Doubtfully Daily Matigo episodes recorded up until 2018 were alright, but most of them were done with a cell phone microphone while walking in the park. These were not the sorts of shows that would warrant a second listen, and usually not a first. There were a bunch of Japanese shows that I worked on, but rarely did I speak on the shows. I was there more as a coordinator and producer until the hosts either became bored and quit or — as fate would have it — were picked up by a local radio station.

After the boy was born, there was rarely a time in the house quiet or calm enough to record any shows, so the microphone and headphones were put into their padded boxes and have patiently waited for the chance to come out and shine once again. Now that he's three, perhaps there's time again. The question I have is whether there's anything interesting I could talk about every so often that might warrant a subscriber or two to the show.

  1. Micro Monday is an interview podcast for people using, a social network that aims to be as open and non-corporate as possible.

Being Mr. Grumpy

A couple of months ago, when the boy was feeling particularly bored during a rainstorm, I discovered much to my delight that a Mr. Men cartoon had been created back in 2008. The characters had been updated a little bit for the times, but many of the fun Mr. Men and Little Miss personalities were present and interacting with each other as one would expect from a tight-knit community. In no time at all we had both enjoyed all four episode compilations on YouTube plus some loose shows that hadn't been grouped just yet. As someone who grew up reading the books, seeing them animated and silly was more than a treat. For the longest time, I had guessed that if I were to be one of the characters, I'd likely be Mr. Silly, Mr. Busy, or perhaps Mr. Quiet. However, after seeing them interact, there's no doubt in my mind that the one that closest resembles my personality is Mr. Grumpy.

Mr Grumpy

As his name suggests, Mr. Grumpy is generally grumpy, ill tempered, irritable, grouchy, cranky, and often complaining. Looking at many of the posts I've written on this site over the years — not to mention the "Sent" folder in my email client — it's not that hard to see the similarities.

This isn't cool. I like watching Mr. Grumpy as a cartoon character because his incredibly direct language and predictable reactions are quite comical. However, I don't want to be a caricature of an angry blue rectangle, nor do I want that rectangle to be a caricature of me.

I really must do better to calm down and speak a little more thoughtfully.

Watching a Blind Dog Walk

This afternoon while stretching my legs with a short jaunt around the neighbourhood I saw a woman walking her dog. Given the number of canines that live in the area, this is not an uncommon sight, but something was different about this particular animal. It was a bull terrier that looked to be around the same age as Nozomi1 that seemed to be navigating solely by its nose. The animal was going left and right in an erratic fashion and the person holding the leash seemed to be used to this behaviour and gave it space. As I got closer, I noticed that the dog's eyes were crossed and generally unmoving. It didn't even seem to notice me approach from the front.

One of the things I try to do when out and about is to meet the dogs in the neighbourhood. This is generally the easiest way for me to meet the people who are out with them, which is generally the only human interaction I get with people outside my home on a regular basis. As I approached the cross-eyed dog and the woman walking him, I held out my hand to be sniffed and asked if I could say hello. それをお勧めしません。 この犬は盲目です2, came the reply. This dog is blind.

Until today I'd never heard the term mōmoku — blind — used in conversation. I had to confirm my understanding, apologise for intruding, then carry on without petting the dog. However, as I watched the pair continue towards the direction I came, I couldn't help but watch as the animal tried its best to navigate the world without the use of its eyes. Every couple of meters it would walk into a bush, or trip over a curb, or come to a complete stop with its nose in the air. Despite the challenges and obstacles it faced while embarking on a walk around the neighbourhood, it didn't seem particularly frustrated. Instead it appeared to be intently focused on tracing a scent to its source.

It is absolutely fascinating how adaptable life can be, especially when it doesn't have any say in the matter.

  1. Nozomi will be ten years old this May. Ten! Where does the time go?

  2. Sore o osusume shimasen. Kono inu wa mōmoku desu. ⇢ I wouldn't recommend it. This dog is blind.

A Possible Future for Distance Education

Chris Lee over at Are Technica recently wrote an article outlining a number of the issues that are facing both teachers and students when it comes to remote learning. Every point that he makes is spot on and, what's worse, is that a lot of the comments that people have left in the few hours since the article went live are also spot on. Educational institutions and teachers of all stripes have made some admirable efforts to make systems like Zoom, Teams, Slack, and a host of others work to replicate some aspects of in-person learning, but these tools are designed for business use and, damningly, they're not even very good tools for business. Suffice it to say, the current crop of digital tools that people are expected to use to conduct person-to-person lessons are a poor substitute for being in a classroom, regardless of how many people might be occupying that space. As Chris says, teaching is an intimate activity.

What's the solution, though?

This is a question that I've been thinking about for quite some time and not only because I work for an education-providing organisation. Chris Lee and the commentators are all correct that the tools we have need to be better in order to resolve some of the fundamental problems faced when trying to replicate a traditional environment — whether it's a classroom or a meeting room — on a laptop, tablet, or phone. First, let's list out some of the most common problems that create the friction we all despise:

  1. Camera angles are unflattering
  2. People don't mute their microphones
  3. People don't attend while in an appropriate environment
  4. The sound quality is generally awful
  5. Eye contact is literally impossible
  6. Visual cues and subtle body language is much harder to pick up on
  7. Note-taking (and sharing) is a pain when it's not 100% text presented in a list format
  8. The tools have complex, convoluted, or otherwise confusing sets of menus to perform typically common activities for online meetings
  9. We have no idea who is paying attention or currently present

We can even reduce these nine items down further to:

  1. What we see is suboptimal
  2. What we hear is suboptimal
  3. What we use is suboptimal

Mind you, there are some groups of people who have had so much experience with online meetings and seminars that many of the items listed above are non-issues. Unfortunately, this is the exception rather than the rule. How would one go about resolving some of these issues, though?

What We See

A year or so back I started toying with the idea of an application that would first map our face to build a 3-dimensional understanding of what we look like, then present that to people. Our current facial expressions and mouth movements would be tracked and sync up with whatever it is that we're doing and, because it's essentially a living avatar that's being presented to the other people on the call, a person's angle and eyes could be better lined up for the viewer. The participants would all have their cameras on, after all, so it wouldn't be impossible to have an on-screen avatar's head and eyes "follow" the current location of the participants. This would be rendered locally, too, making it relatively smooth and natural in appearance. This would have the added bonus of giving people the option to "tweak" their appearance for the day. Didn't shave? No problem! Still in your pyjamas? Don't worry about it. The avatar will look just like you on your best day.

This would solve items 1 and 5 in the first list above, but probably contribute to number six.

What We Hear

One of the most frustrating elements of every meeting that I attend online is the sound quality. A lot of people do not use a headset with a microphone for some reason and a lot of people do not seem to realise that typing on a laptop that has its microphone built into the base of the unit results in a painfully distracting series of taps that can bring any productive conversation to a halt. I've had meetings with people who were obviously sitting at a Starbucks. I've had meetings with people who were driving down a highway with their windows open. I've even had meetings with people who might have been at an outdoor rock concert. There really is no limit to the number of inopportune environments a participant might find themselves in when attending an online class, seminar, or meeting.

With this in mind, the solution I have been toying with builds on the visual idea of using a rendered avatar. A person would "train" the avatar to speak in their voice. There would be a multitude of sentences that a person would have to say when first setting up the application so that the general tone and pitch of the voice is captured. By doing this it becomes possible to send none of the audio from a person to the participants in the class, seminar, or meeting. Instead, the words that are spoken would be transcribed and transmitted as text along with a musical representation of what they said. This would then be reconstructed on each of the participant's devices. This would mean that people in very noisy environments would sound incredibly flat to the listeners, but it would be superior to the cacophony that so many of us are subjected to with today's solutions.

This would not be a great solution for people who need to convey sound that is not spoken words, but there is no reason why people couldn't choose to listen to the raw audio if they so chose.

What We Use

This is the hardest of the three fundamental problems because different groups need different solutions. What works for a class consisting of 30 teenagers learning geography may not necessarily work for 15 young adults practicing the violin or 10 middle-aged managers discussing next month's production quotas. However, if we take the first two technical solutions and carry it forward, what we could have is something very compelling: Virtual Reality.

When it comes to VR — and its related technology, Augmented Reality — I have been a bit of a cynic. The hardware requirements were always too great for the average person and the use cases all seemed to consist of graphically violent games or vivid sexual fantasies. However, if the goal is to simulate a traditional environment as much as possible to enable or encourage an intimate setting where people come together to solve a problem, be it learning the quadratic equation or discussing corporate strategy, and many of the problems that people have involve poor visuals, poor audio, and poor tools, then perhaps an immersive setting would resolve some of the issues. People would have the ability to write on virtual whiteboards, present virtual models of possible products for participants to examine, and more. The cost for VR equipment has come down quite a bit since 2010 with some headsets being available for around $300 USD. This cost would certainly be a barrier to entry for some, but this could solve some of the problems that people face when working with colleagues a continent away or with classmates who are quarantined.

But then we have many of these technologies already, don't we? Second Life is an online world with almost a million people. The platform would not be a panacea, but it is one place to start. Issues involving system resources, frame rates, and congestion would need to be resolved before groups of more than a dozen could get together in any meaningful manner, but technical issues are rarely insurmountable. Something like this might be the stepping stone to a better virtual learning environment. Some schools have a presence on the platform already, too.

Further research will be necessary.