Thinking About v6

On May 8th, 2019 the foundation of what became the fifth version of the Midori Core PHP framework that I've built so many projects on top of was committed to GitHub. Midori Core 5.0 — generally referred to as v5 for some of the public-facing sites — was designed around the idea that the database should not only contain the bulk of the data validation rules for a system, but the queries as well. Prior to this major release, every query that was sent to the database came from a flat file that was populated with properly-escaped values. With v5 I wanted to try doing something that I had only ever done with .Net-based enterprise projects that relied on the might and versatility of SQL Server: put the bulk of all read and write operations into stored procedures.

This worked rather well for a while … and then MySQL, the database engine used by Midori Core for its entire history, developed a critical bug in version 8.0.221 that has yet to be fixed. This bug is encountered when a stored procedure is writing data to a table that has triggers in place that validate or transform data before it's written to disk. What this means is that just posting something to a 10C-powered site could crash the database, forcing it to restart; a process that takes about 10 seconds. During the restart, every site and service on 10C that requires reading non-cached data is non-operational. As one would expect, this situation is completely unacceptable. Bugs were filed. Data was shared. Teeth were gnashed. Unfortunately, a fix has not yet been issued and it doesn't look like anyone is going to get to it anytime soon. As a result, every system that uses Midori Core v5.x is forced to use no version of MySQL newer than 8.0.21.

However, v5 does have done thing going for it that none of the other versions of Midori Core could do: it can work with SQL Server and PostgreSQL.

Soon after MySQL started crashing every time a butterfly flapped its wings, I started thinking about making the back-end of the system work with other database engines. Microsoft's SQL Server was the first option, as it's the database I've worked with the longest and it does have a Linux version that can run quite well on any modern version of Ubuntu. PostgreSQL is a system I've avoided for a long time but have recently come to understand better as a result of a large project at work. Both of these options work quite well with stored procedures and triggers, making them viable alternatives to MySQL, and both have a large community of developers and administrators who genuinely seem to enjoy helping people when there are problems to overcome. Which one would be better for something like 10Centuries, though?

As with anything involving technology, the answer is "it depends".

I do have one system built on Midori Core that operates with a SQL Server back end. It's been running for well over a year and hasn't encountered a single database-related problem. The site isn't heavily trafficked, receiving perhaps 50-thousand requests per week, and runs on a t3.small EC2 instance on Amazon's Web Services. Average response time for most operations is under 90ms, which is acceptable.

Then there's the new system that I've been working on for the last few weeks which is using the same Midori Core v5 foundation as the other system, but with PostgreSQL handling the data. Many of the core tables are designed the same between the two databases. The functions that request data from these core tables are essentially the same, aside from some syntactic differences. Average response time for most operations is under 70ms, which is also acceptable.

Of course, the dozen or so systems that I've built with MySQL ask the back end also have relatively quick response times, but none quite as consistent as the projects running SQL Server or PostgreSQL. The key difference between the systems running MySQL and those that are not is the type of queries that are sent to the database. Since the MySQL bug has caused so much trouble with one of the underlying goals of the v5 project — namely, keeping all of the validation and interaction rules in the database itself — I've had to drastically simplify how systems running that database engine work with the data. This means more rules and validation happening in the middle-layer — the API — rather than the database. While this is fine for smaller projects involving a single developer, it can create "gaps" when multiple people work on the same project. Gaps are not good, as they lead to inconsistent results.

So with v5 now being compatible with three different relational databases — without the use of an ORM2 — why would I think about the next major release of the core framework?

For something completely different: modularity.

The majority of the projects that I've built on the Midori Core have the same foundational files containing the same foundational functions that I have used for years. The patterns are consistent and the methodology is reliable. That said, when a bug — or security problem — is found in the core files, it's a pain to go through a dozen or more projects, find the offending code, patch it, then deploy releases across a myriad of servers. What I would really like to do is structure the projects in such a way that Midori Core has its own source code repository — which it does — and other projects are forks of the Core — which is not how things are structured right now. Then, when the Core receives updates, that can be rolled out to the other projects via pull requests that kick off some unit testing to ensure that there won't be serious problems when deploying the updated code in a number of different projects. By having the Core able to work with multiple database engines, I'm one step closer to having a better update process in place. The projects become more modular.

There are other items that I would want to tackle with a fresh version number, such as better caching mechanisms, a more consistent use of "history tables" in the database, more consistent use of CSS3 across sites to take advantage of visitor colour theming preferences, and more. All of this could be built into the v5 platform, perhaps as part of the upcoming 5.4 release of Midori Core, but I am very tempted to use this recent functional improvement as the impetus for a better-structured system that I can continue to build on for several years before thinking about the next problem to solve.

Does this mean that 10C will be upgrading to v6 in the near future? Not likely. Heck, 10C was using the v4 platform for a full 8 months after v5 was in a stable-enough place to handle the work. That said, I would be very curious to know whether a PostgreSQL-based 10Centuries would be noticeably faster than the current MySQL-powered one.

  1. MySQL 8.0.22 was released on October 19, 2020. More than a year later, the bug that prevents me from upgrading the database continues to exist.

  2. An Object Relation Model … basically a piece of software that makes my job 50x harder when something doesn't work as expected. I do not use ORMs in my projects, preferring the "old school" approach of writing the queries myself. This allows for some better tweaking and more nuanced questions.

185 Months in a List

Every so often I stumble across a blog that has a design reminiscent of the early layouts that were common on b2, WordPress, and Tumblr in the mid-2000's. The layout generally has a title bar across the top, posts underneath and to the left, then a narrow section on the right for lists of recent posts, categories, common tags, and monthly archives. When I visit a site with one of these layouts I'm reminded of those early days of blogging when people would use StumbleUpon, Technorati, or link-exchanges1 to find new sites to read and the optimism that came with the medium. Anyone could be a blogger and, for a while, it seemed that many people were2. As the activity matured, themes changed to accommodate the different purposes people might have when publishing their words online. Landing on a site that uses an original layout — with a centre-aligned, 800-pixel, fixed width box, and simple colour scheme — tends to signal that the site has been abandoned by its author. Imagine my surprise when I landed on a blog with one of these classic designs to find that not only was the site active, but it's been active for 185 consecutive months!

Eighteen months ago I stopped blogging here daily primarily because everything seemed to be a rant. I was upset with the world, upset with the day job, and upset with some personal things. Given all that was going on at the time — and still are in some instances — I gave up the daily publishing of rage, opting instead to keep the missives locked away and off the server. Since making that decision, a number of things have changed.

1 — I don't write daily anymore

I like writing, but so much of it has become repetitive. Why would anybody read this? I wonder. Why would I read this? usually follows. Instead, writing has become more of an intellectual exercise than a journal or stream of consciousness. The note will start with a question or idea, followed by an examination. It's a way to rationalise an argument or opinion to see if it holds water, as writing forces a person to slow down and think things through. One of the many aspects of writing that I find useful is the ability to have an obvious list of references and citations. Running an idea through the mind is fine for initial examination, but having it down as structured text really forces an idea to prove itself.

2 — I quit my job

Well … this is one way to describe it. However, I was incredibly angry and frustrated with things at the day job for just over two years, and this was bleeding into my personal life. Stress levels were through the roof constantly, and nothing good — aside from the bigger pay cheque — was coming from the endeavour. So, in an attempt to regain some sanity and not be a complete jerk to the family every moment of the day, I stepped down from my role and requested a transfer to a different division in the organisation. After a small transition period, people started to notice that I wasn't angry all the time anymore and would often laugh and joke around during meetings. The wife and kid even enjoy spending time with me again, which is certainly a bonus.

The one thing I do miss about the old job, though, is the ability to lead when solving problems. While I can still do this to a degree with the current role, there are a whole lot of people who are in a position to veto my efforts and suggestions "just because", which can result in problems existing for much longer than they really should.

3 — I'm becoming a landscaper

Another slight exaggeration, perhaps, but I've really started to enjoy taking care of the yard. Earlier this year we replaced the dull soil surrounding the house with some proper grass, trees, and other plants. Since then, I've been outside daily — often several times a day — to get my hands dirty by tending to the greenery. The trees and leafy plants are regularly watered. Weeds are pulled. Grass is trimmed. Stones are redistributed. Seeds are planted and nurtured. While I won't win any awards for the effort, the hour or two that I spend outside in the yard every day is something I look forward to every day of the week.

In Search of Calm

The last few years have been incredibly challenging. However, after giving up on some of my career goals3, life has become a heck of a lot more manageable. There's time to walk every evening. There's time to play with the kid. There's time to walk and play with Nozomi. New routines are being developed and patterns enjoyed. This is something I probably should have done a lot sooner.

At this point, I don't know if there will be a return to a regular posting schedule, but I would really like to start publishing longer-form writing again. There are also a couple of things I'd like to add to the 10C platform to make it a little more unique when it comes to playing audio, displaying RSS feeds, and ensuring ownership of posts.

Time will tell, of course.

  1. GeoCities style! Link-exchanges were my first real application of JavaScript way back in the day.

  2. One could argue that many people are still blogging. One would be right, too.

  3. There were three specific projects that I wanted to bring to life. I was working on one, the other was taken and given to a different team, and the third is something senior management still doesn't want to think about.

Mental Block

Sometimes I wonder if historians will refer to this part of the 21st century as the Cabin Fever years. For the better part of 18 months I've been mostly confined to just the neighbourhood surrounding my home, interacting with almost nobody who isn't family or a next-door neighbour. This has resulted in a noticeable decline in linguistic ability and also a sort of restlessness that can keep a person awake at night. Like a lot of people around the world, I am very much looking forward to having the freedom to visit distant places again. Not only because this would allow me the opportunity to interact with new people again1, but because I'm hoping that being able to see unfamiliar things will rekindle the creativity that I've relied on for so much of my life.

  1. As it stands, my dentist and her staff are the first "new" people I've spoken to in a year and a half.


For so much of our life, we're encouraged by people around us to abstain from one thing or another. This makes sense, of course, as a functioning society cannot have 100% of the population doing whatever they please when they please. From chaos emerges new things, but too much will destroy everything that came before it. So we restrain ourselves and others from various activities for the long-term viability of a family, community, or society. With order comes predictability and stability … though too much of it can be oppressive. Balance is key.

Today marks my 9th consecutive day without any alcohol. This isn't something that I'm particularly proud of or wish to show off. It's simply a fact. Ten days ago was the last time I went out for a walk around the neighbourhood after 10 o'clock at night, bought two of my favourite Kirin 5% beverages, and sat in the park to consume them while watching Star Wars on the tablet. After a long day, this is really one of my favourite ways to unwind and relax because everything is "done". The boy is in bed. Nozomi has been taken care of. Work is finished for the day. The house is reasonably clean for the next morning. Everything is as it should be. So why not enjoy the last 90 minutes of the evening outdoors with some fresh air, absolute privacy, and two cans of 酎ハイ1?

As this is something that I clearly enjoy, I do not see a problem with the habit at all. In moderation, this sort of thing can be seen as a personal reward for getting through a difficult week or completing a stressful project on time. But what if this is something that a person does almost every night for years? Is it a "problem" or just a harmless pastime that someone enjoys?

When Nozomi and I go for our evening walks, I find my thoughts drifting towards the personal walk that will take place later in the evening. I pay attention to the wind, the clouds, and anything else that can offer a clue as to how nice the weather might be to see if I will brave the elements to enjoy the treat outdoors. I don't bring alcohol home, so it must be finished before returning. That means on particularly wet or cold days, I opt to stay home and stick with water or coffee. However, since 2018, I have followed this pattern for an average of 280 nights a year. Is this a "problem"? Some people around me would classify this behaviour as reckless, selfish, and ultimately harmful to health. While doctors have pointed at charts to suggest I take better care of myself, I genuinely feel healthier today than at any point in the last 20 years. The frequent trips out for some Kirin in the park do not show any obvious signs of being an issue.

Instead, what has me (over)-thinking this habit is what happens when I go out for a long walk without any alcohol, or when I do not go out for more than a few days. I start thinking about drinking more often. A lot more often. Earlier this week I found myself thinking about gin for the first time in almost 20 years. The last time I touched the drink was the early summer of 2002, and I remember the following morning very clearly2. In addition to gin, I have visions of sitting in the park, tablet in one hand, chūhai in the other. I remember the rare occasions when I would head to a bar with friends or colleagues and shoot the breeze. It is almost as if the subconscious is trying to entice me to head out and consume something.

There is no denying that I genuinely enjoy these quiet moments in the park, but the way the mind fills itself with thoughts of drinking during brief periods of sobriety have me wonder if perhaps I need to give up the habit for good. While I would not classify myself an alcoholic, there is a history of it in the family. Between the summer of 2002 and 2015 I rarely ever came into contact with alcohol. An occasional beer would be had, but never more than one or two cans per year. It was in mid-2015 when I started having one or two cans of beer every week. Then one or two a day. Then I switched from beer to chūhai with the occasional sampling of something else. Are the mental images signs of addiction? Or are these simply the markers of habit? Could I be just as satisfied sitting in the park with a soda every night? I'm almost nervous to do any sort of test analysis but, if there are signs of a dependency forming, then it might be best for me to abstain completely as I had for 13 years after leaving Ontario.

  1. Chūhai, which is an abbreviation of "shōchū highball" (焼酎ハイボール). I tend to grab two 500mL cans of Kirin's 5% blends: one grapefruit, and one seasonal. If there is no special seasonal flavour, I go with the classic lemon.

  2. I drank it straight the last time I had it, which would have made its alcohol content just a little too high for my stomach and liver. The next morning I felt quite ill.

The Sixth Day

When a phone rings before 9 o'clock in the morning, the person on the other end is rarely delivering good news. Today was different, though. At 8:52am Nozomi's vet called to say that she was feeling energetic and had healed enough to return home. We could pick her up after 4 o'clock in the afternoon. Good news is always welcome, particularly when it involves a member of the family.

Since leaving Nozomi with the vet on Monday it's been difficult to concentrate for any length of time. On Tuesday I was permitted a 15-minute visit to see how she was doing, then a daily phone call for updates. Never before has Nozomi been away from family for so long, and I was worried that the absence would slow her recovery. Fortunately, my fears were unfounded. Nozomi's recovery time was about normal for a dog of her age and, despite the boredom of being stuck in an air-conditioned glass cage with an IV connected to her leg for almost a full week, she seemed no worse for wear when we were once again reunited.

The vet who performed Nozomi's surgery showed us some photos from the procedure, from the first incision to the examination of the uterus to the confirmation of pyometra and subsequent removal of the organ. Given the amount of swelling, it's no wonder Nozomi was acting strange this past weekend and, based on what the vet had said, if we had waited until Tuesday to bring Nozomi in, she would not have survived to see Wednesday. The swelling was that bad.

After thanking the vet profusely and paying the bill1, we made our way home where Nozomi quickly took stock of the giant hole in the yard2, jumped into her bed, and took a nap. She's feeling better, but still not at 100%. Hopefully she will regain her regular exuberance over the coming days.

For the moment, she and I will have to hold off on taking any walks. Her wounds need a bit more time to recover and nobody is particularly keen on risking an infection. Nozomi's legs can only keep her body 5 ~ 8 centimeters off the ground, which means that grass will rub against her underside, which can carry things that irritate her weakened immune system. With any luck, she'll receive the green light from the vet to once again frolic in the park before June.

With Nozomi home safe and sleeping in her bed under my work desk, I hope we can all relax a little bit this weekend.

  1. We were told to expect a total cost of around $3,000 USD. The final bill was a little under half.

  2. The landscapers are extending the driveway, putting in trees, and laying grass.

The Longest Monday

This morning I woke up by hearing this: "Nozomi pooped on the floor again."

Every so often, usually shortly after Nozomi has her biannual period, this sort of thing happens. Because her body is recovering from the trials of being in heat, she will sometimes have a mess waiting for me in the morning. She's never scolded when this happens, because she and I both know it wasn't intentional. Today's mess was different, though. In addition to an uncharacteristically small amount of potent poop, there was urine and stomach acid on the floor as well. This means that she had a really rough night.

Yesterday, before going to bed, Nozomi and I sat together like we usually do in the evening. She was panting a little harder than usual, but I figured this was because of the recent temperature change. Until recently, the weather was pretty mild with 25˚C afternoons. Late last week, however, we hit 29˚C. Nozomi gets brushed quite often so that her fur is not thicker than it needs to be for the season, but she always pants more heavily as the mercury climbs during the months of May, June, and July. Thinking this was normal, I made sure her water bowl was full and went upstairs to bed. The mess in the morning made it clear that my assessment was way off.

After scrubbing the floor, cleaning her bed, and dealing with the mess, I brought Nozomi out to use the proper bathroom outside. Because she wasn't walking with a great deal of vigour, I carried her to a spot where she generally likes to relieve herself. She did, but with some effort. Returning home I set up her breakfast and replaced her water only to see that she climbed into bed and was not particularly interested in food.

When Nozomi isn't interested in eating, something is clearly wrong. Off to the vet we went.

Nozomi may be deaf, but she has a pretty good knack for knowing what's going on. For any typical trip to the vet, she will struggle and try to escape her fate. It never works, but 11 years of failure doesn't stop her from trying anyway. Today, though, she didn't even offer a glare. I could pick her up, put her into her carrier in the car, and drive the 9km to the same clinic we've used since 2011 without a single sign of concern. Again, something is clearly wrong.

At the vet's office she underwent an ultrasound, blood test, and other checks. The diagnosis was 子宮蓄膿症1, an infection of the uterus. To help her she would need immediate surgery. However, because this particular vet has for years pushed the idea of having Nozomi spayed and suggested that she might die otherwise, both Reiko and I were suspect of his claims this time. Animals, like people, have reproductive organs. It wasn't until recently2 that humanity started regularly spaying (and neutering) animals. So why would it make more sense to remove organs? God doesn't play dice. Nozomi's uterus was there for a reason.

The vet was pretty adamant, though. She needed surgery immediately, and only he could do it, and if we didn't do it right now she would die, and if she died he wouldn't care, because she's not his dog.

Yes. He said all of this.

A second opinion was in order.

There is another vet that Nozomi has been to from time to time when really sick. They're one of the highest-rated vets in the country and often have people waiting outside the clinic because the waiting room is at capacity3. We called ahead, explained the situation, and was given a slot to see a vet at 2:50pm sharp. We arrived on time and Nozomi was given yet another round of tests. Just like before, she didn't put up a fight. She didn't even try to resist. She just let all the people do their thing while focusing — if she can even do such a thing — on breathing. The diagnosis was the same: pyometra. She would need to have her uterus and ovaries completely removed immediately if she was going to see Wednesday.

The vet explained:

Her uterus and cervix have a bacterial infection that cannot be solved with medicine. For dogs like Nozomi, this is like having an appendix that is about to burst. If you wait even a few hours, there's a risk of the infection spreading inside the body where it cannot be contained. She must have surgery now. It's a little expensive …

I waved off the price. It didn't matter. Nozomi had her 11th birthday not two weeks ago. She still has plenty of time left to enjoy the parks around our house, the other dogs in the neighbourhood, and the attention she receives from so many of the people who see us together outside. I can always earn more money4. I cannot — and would never want to — replace Nozomi. There have been other dogs in my life, but none like her. And I will selfishly do what I can to make sure she's here for as long as possible, for as long as she can be here, while feeling as little pain or discomfort as one could hope for.

Nozomi was taken to the "hotel" at the back of the vet where she would wait three hours for surgery. Reiko and I were asked to go home as there was nothing more we could do. I signed the paperwork to authorise the surgery and absolve the vet in the event Nozomi didn't survive the procedure.

Then we went home.

And waited.

And waited.

And waited some more.

Eventually we distracted ourselves with dinner, which is one of the two times bad news usually arrives5.

And still we waited.

A little before 7 o'clock, two hours after the surgery was expected to start, we received a phone call. Nozomi was semi-conscious and recovering from her ordeal. The procedure was a success.

The twelve hours between the time I got out of bed to clean poop and the time when the vet called to say Nozomi was on the mend were perhaps the longest in recent memory. Nozomi has been sick before, sometimes terribly so, but rarely has half a day felt like a week of helpless waiting.

The voices of self-doubt that taunt me endlessly were conspicuously absent today. It's as if they knew better. But my conscious self filled in for their silence with this:

You can describe in detail how your computers work right down to an almost atomic level. You can explain how a star works. You can describe mathematically the properties of a magnetar from memory. But you can't do anything useful when someone you care about is sick.

I'm not a doctor. I have no idea how bodies work or what makes us alive beyond the basics that were taught in high school. All I can do is seek the help of experts when things get really dire. And, thanks to experts, Nozomi is recovering from her ordeal, minus some infected organs. So long as she regains her energy and appears to be on the mend, she'll get to come home before the weekend.

And for that, I am truly grateful.

  1. In English this would be pyometra.

  2. By "recently", I mean "within recorded history", which is arguably around 5,000 years. That's pretty recent in the grand scheme of things.

  3. Even before social distancing was a requirement.

  4. I understand that this is said with a great deal of privilege. However, even if I were not currently employed, I would find a way to cover the medical expenses.

  5. The other time bad news arrives is in the middle of the night.

Wading Back Into Freelancing

At some point around the end of 2019 I made the decision to wind-down the freelancing side business and focus on something different for a while. Unfortunately, that "something different" turned out to be just more time spent working for the day job. While this did result in earning more money than I would have through freelance contracts, the range of work was not nearly enough. One of the many things that I've come to enjoy when working with clients is learning of new ways to solve common problems, and codifying that in some sort of system, digital or otherwise. Last year was a wash for so many people, but 2021 is looking up. I've already had two former clients reach out to carry on with some projects, and I'm putting out feelers for more projects to see what opportunities might exist. Despite always feeling there's never enough time, I cannot help but feel the need to create new things that reduce friction in people's lives. It's pretty much the only thing I've ever been remotely capable of.

Working on the side often comes with a number of pros in the long run and cons mostly up front. There's the need to register a business with the government1, hire the services of an accountant twice a year, hire a lawyer within 90 days of registering to go over various legal expectations, obtain licenses and permits, and track financial data. All the things I grew tired of doing when freelancing last time. However, I do plan on being a little smarter about the legal requirements this year by making use of a company in town that specialises in these tasks for small businesses. I'll let the experts do what they do for a reasonable fee so that I can do what I do for slightly more than I used to charge … mainly because of the fees.

What I hope to achieve with this new foray into freelancing is a sense of accomplishment. While there are a lot of benefits to working with teams of smart people around the globe, I much prefer working with small businesses. People are just as focused on solving problems, but there's much more attention paid to efficiency and effectiveness. If something takes a little bit longer to get right, then the time can usually be accommodated with a small entity if it means saving money in the long run. I appreciate this approach a great deal and, by working with a smaller number of people, it's much easier to get answers to questions. Getting information from a company with 5 employees is much easier than a department with 50.

Of course, I do worry that I might once again bite off more than I can chew. As the years go by this body is much less forgiving of all-nighters. Perhaps some hard rules will need to be put into place again, like I did five or so years ago when it became taboo to look at anything with a glowing screen past a certain hour. If I force myself to put everything away — including the phone and tablet — by midnight, then it should be relatively easy to get into bed before 1:00am. With six hours of sleep every night, I generally wake feeling refreshed and ready to go the next morning.

This is wholly dependent on whether I can earn some freelance contracts, though. Right now everything is still in the early stages of discussions with former and potential clients. Once someone agrees to get started, then I'll put in the legwork to re-register Matigo Solutions with the local and federal governments.

  1. If I earn more than $2,000 per year, I will need to declare it on my income tax statements and collect tax from domestic clients.

Retired from the Help Desk

At the end of November I started to interact on the AskUbuntu Q&A site to help people solve problems they were having with my preferred distribution of Linux. Over the course of 112 days I answered 461 questions, earning 6,339 points and 42 badges. Looking at the monthly rankings, I took the number one spot for December 2020, January 2021 and February 2021. Clearly there were people who found my answers useful. Yesterday night, however, I pulled the trigger to delete my profile and forfeit everything that I had invested the time and energy into.

AskUbuntu Profile Summary

The first question people would naturally ask is "why?", likely expecting to hear about some sort of interpersonal drama or some other common reason for walking away from a community. Given that AskUbuntu is a Linux-focused community, and many Linux communities are not particularly known for having their arms wide open1, this might be the immediate assumption. However, aside from a couple of notes dropped in comments, there was almost zero interaction between me and the long-standing members who have been answering questions for years. The problem that I faced was this: I'm not patient enough to do Help Desk work.

Some of the question that people have asked over the last 100 days on the site have been genuinely interesting and have received some incredibly enlightening answers. I've learned far more about the Grub boot loader this year than at any point in the past. I've seen the correct method of asking someone for more details to answer a question. And I've even taken some of the criticism of my answers to heart to ensure that solutions are provided with supporting links to the documentation whenever possible. Despite my short tenure as AskUbuntu, I feel as though my technical writing has become a little more complete as a result, which will hopefully be reflected in all future documentation that I write. So, while there were a great number of positives, there was a recurring negative that had me questioning why I wanted to invest a few minutes of free time every day on something that wasn't of my own creation: the contemptuous self-defeater.

Self-defeaters are people who create their own problems. We all do this from time to time, but it becomes a bit much when the person who is seeking help derides solutions, refuses to provide information, then hurls insults. For the final two weeks on the Q&A site, this was pretty much everyone who had a question I could offer support on. The Help Desk — and just about any support job — is often a thankless task. For every dozen hostile people there will be one who thanks you2. Again, this is to be expected. However, looking at the number of hours that have been invested in providing the 461 questions and seeing how 318 of them had responses like "Didn't work" without any details3, or "Oh, I'm using Mint BTW, LOL", or never received any follow-up, I have to ask if my time wouldn't be better used blogging … or working on 10C … or maybe doing client work again.

Well, last night, I decided to start doing client work again when not working on 10C or blogging. However, just like everyone else on the planet, I'm still very much constrained for time. By keeping the profile on AskUbuntu, I would always be tempted to go back and answer a few questions here and there, sinking time into a potential solution that has a very high probability of receiving radio silence back from the person who asked the question. By deleting the profile and forfeiting everything that has been earned over the past four months, I can leave the site aside and invest my limited time into things that may prove more beneficial in the long run. This year I need to upgrade some of my server equipment and buy some software licenses for newer versions of tools that I use regularly. These things cost money, which means my focus should be on earning revenue. AskUbuntu, while an interesting place to learn more about the OS that I have relied on for over a decade, will not contribute anything towards these objectives.

Maybe when I will be a little less impatient after retiring. Until then, my time on the Help Desk will need to remain limited.

  1. This is usually a misconception that is played up in the tech press. Many Linux-focused communities are genuinely great with people who will bend over backwards to help strangers solve problems. The various "dramas" that get reported on often contain too many superlatives, which misrepresents the people, the communities, and the disagreements within or between them.

  2. The ratio that I've seen on AskUbuntu is closer to 4:1, which is pretty darn decent for a Q&A site

  3. I understand that not every solution I offer is perfect. But, if something doesn't work, at the very least provide an error message, or part of a log, or something that is actionable. Two words is not any way to drive out a solution from a stranger on the Internet.

Do I Want to Do This Again?

After the boy went to bed I did something I've thought about doing for ages: I spoke into a microphone for reasons other than work. There was a time many years ago when I couldn't stop working with audio files, be it creating, editing, or publishing. However, the boy came along and I moved into a global role at the day job. With more responsibilities than I could shake a stick at, all I could do was to focus on the people and things that needed the most attention. My hobbies had to take a back seat … for many, many years.

That said, this coming April will see some changes. They boy will be entering his second year of kindergarten and I'll be working on some very different projects at the day job. There should be, perhaps for a brief period, some free time at some point during the week to relax, unwind, and enjoy some of the pastimes that have been set aside.

This is assuming that I would like to get into them again.

s2e02 - Do I Want to Do This Again?

Ten Years of Crises

Ten years ago today, at 2:46pm local time, one of the biggest earthquakes in recent history hit the northeastern coast of Japan and shook the country so hard it could be felt almost a thousand kilometres away. A few hours later a massive tsunami rushed to shore along a massive amount of that same coast to subsume the buildings, objects, and people who could not — or would not — get to higher land. Entire townships were swept into the ocean as the waters receded, leaving scarred land littered with ruined equipment, debris, and death. More than 10,000 aftershocks have been recorded in the decade that has passed since The Great Tohoku Earthquake, and more take place every day. However, despite the depth and severity of this wound, the people of Tohoku — and the rest of Japan — have persevered, rebuilt, and carried on.

Five Years later, at 01:25am on April 16, 2016, Kumamoto was delivered a similar disaster. Just like the one in Tohoku, buildings were toppled, infrastructure destroyed, and entire villages cut-off from resupply for weeks. Because this one struck in the middle of the night, many of the casualties that took place were the result of falling objects and furniture. The quake was followed by hundreds of aftershocks and heavy rains, making rescue and repair operations far more difficult. However, despite the depth and severity of this wound, the people of Kumamoto — and the rest of Japan — have persevered, rebuilt, and carried on.

Aside from these two large earthquakes, the country has seen an incredible amount of destruction and pain brought on by smaller quakes, increasingly powerful typhoons, floods, and — recently — fires. Every six months there is another disaster in the news. However, despite these wounds, people have persevered, rebuilt, and carried on.

Very rarely have natural disasters affected the people I know personally. Reiko and I were living just outside of Tokyo when the big one hit ten years ago, and the resulting chaos1 made a return to the Tokai area a priority. Nozomi was so terrified by the constant shaking of the ground that she stopped eating for almost a year, requiring us to force-feed her so that she'd have something in her stomach. We were lucky, though. We managed to get through the challenges, find a new home, rebuild, and carry on. Many others — particularly domesticated animals — did not have the same opportunity.

Disasters are generally things that we try to forget. Who wants to remember pain? But after getting through 3/11 "inconvenienced but unscathed", I've approached the annual commemorations a little differently. The anniversaries are often presented as a way to remember those who lost their lives, their loved ones, their homes, and their livelihoods. While this is all very true, this is also a good time to remember the people who are still here with us. The people who went to the aid of others. The people who offered a stranger a brief bit of normalcy in the confusion2. It's important to remember those who left before us, but it's just as important to remember the ones who were there … and still here.

  1. To be fair, chaos in Japan generally means "empty store shelves and long lines everywhere".

  2. After the stores started opening up after 3/11, Reiko and I went to a grocery store to collect some supplies. There wasn't any running water anywhere and there was none to be purchased for any price. Nozomi refused to stay home alone out of fear of another quake, so I had to hold her in my arms just about every minute of the day. As dogs are not permitted in grocery stores even during the best of times, I stayed outside the shop while Reiko went in. There were two men in their 50s sitting on a bench and consuming a 6-pack of beer at a remarkable pace despite being well before noon. Nozomi and I sat next to them and we chatted about a bunch of things while people scurried around us in an attempt to secure resources. They offered me a can, which I accepted, and for a brief period of time we sat in our own bubble of normalcy despite the chaos around us. Reiko eventually emerged from the grocery store with a 2-litre bottle of water — no idea how she managed to get one — and some zero-prep food that could be had at anytime without water or electricity.