Asleep at the Keyboard

Today an interesting thing happened in that I fell asleep at the keyboard while in the middle of writing a SQL query. This is the first time in recent memory that I've lost consciousness mid-thought, and it's clearly a sign that I'm not getting enough sleep. While I no longer have the accuracy of a sleep tracker like SleepCycle to tell me just how poorly I'm resting, I can count on one hand the number of hours of sleep I've achieved since Sunday. Last time I checked, today is Wednesday. Meetings are taking place at all hours of the day. The boy needs attention for the 12 hours he's not sleeping. Nozomi and Reiko also need a bit of time. Then there's the time I dedicate to 10C and freelance jobs. Clearly the body is a lot more tired than I'm admitting, which means falling asleep at the keyboard1.

The ThinkPad X1 Carbon Keyboard

To make up for the lack of rest over the last couple of nights, I've blocked the schedule from 10:00pm until the start of the following day. Hopefully this will mean getting to bed by 11:00pm at the latest and falling asleep somewhere between 30~60 seconds later2.

There are just two more working days to go this week before the start of Golden Week, which will work out to 10 consecutive days off work with six of those days being fully paid holidays. The lack of OT will hurt the pay cheque a little bit, but the ability to get some sound sleep will more than make up for a few hundred dollars less in income.


  1. Would this be short-keyed as AAK?

  2. I generally fall asleep within 15~30 seconds after lying down in bed but, when overtired, a little more time is needed.

If Software Were Music ...

An odd thought crossed my mind the other day1. While listening to some of the better music to come out of the 80s and 90s, I wondered if there was any software from this time period that I'm still actively using. Given the speed at which technologies change and get rewritten, very little of what we see today is more than a couple of years old. Sure, some of the core components of Windows or Oracle might be a decade or two old, but these would be small components of larger projects, like a modern piece of music with a forever-repeating sample from James Brown.

Will any of the software tools that we use today continue to exist and be useful in 30 years?

Blurry Code

Being useful is important. Unless the planet is plunged into some sort of crisis that has wiped out all digitally-stored information everywhere, there are bound to be backups of software that is in use today sitting on an optical disc at the back of someone's closet. Crazy hypotheticals aside, I considered a semi-realistic one: of the software I use today, which ones could realistically continue to be useful until 2050 without any further updates?

Before continuing, I should state that I am fully entrenched in the world of Linux. While I do have a couple of iOS and Android-powered devices in the house, these sealed appliances with known operational lifespans do not count. I'm simply looking at the tools that I use on Linux.

Thinking through the question, I can think of just a handful of applications that are not part of the default installation of Ubuntu Linux that would still be useful in their current form in 2050:

  • Sublime Text, a pretty decent text editor
  • Typora, my favourite Markdown-friendly text editor
  • Gimp, the Gnu IMage Processing application
  • Glances, a command-line tool to see resource usage

Using the base installation of Ubuntu would mean that I could use the file manager, terminal, and a bunch of other built-in applications that make using the system easier. None of today's browsers would work very well with the web in 30 years, though. Grab a copy of Netscape Navigator 3.5 and try to open a site. Most of them will be an absolute mess. A lot of the other tools that I use would likely not work as expected, such as source control programs, API testing utilities, and database clients. A lot of these things would break because of new security protocols in place. Others might break for different reasons. Thinking back on all the support software I would use when deveoping over the years, none of the applications would work today … except maybe SQL Server Management Studio from around 2000, so long as it's connecting to a database that is also 20 years old2.

Given that we've been writing software for well over half a century, at what point will we start seeing applications — that are not on spacecraft — have operational lives stretching into decades? Will people use and enjoy older applications like a person might enjoy older music? I wonder ….


  1. Well, "odd thoughts" cross the mind all the time. This particular one seemed interesting, though.

  2. SQL Server Management Studio that shipped with SQL Server 2000 on a shiny silver CD — like I still have upstairs — would not connect to a SQL Server 2005 instance until later service packs were released. Even then, it's rare for an older SQL Server client to connect to too new a database engine.

Different

A nearby kindergarten held a little bit of an open house today as part of their regular efforts to recruit students for the next school year. Working from home means that instead of relying solely on Reiko's judgement for which school the boy should attend1, I can visit the schools and act as a second set of eyes. More than this, I attended a French-Immersion kindergarten in Ontario. There's no way I can pretend to know what goes on in a Japanese school unless I see for myself.

And see, I did.

The basics of kindergarten are all the same as I remember from 37 years ago. The playground is large and well-trodden. There are toys strewn all over the place until the teachers come along to pick them up. Teachers work in teams of two for classes larger than 25 kids2. The facilities are generally locked down to prevent weirdos from coming in. A rabbit is sitting in a cage outside, generally enjoying not being bothered by children. There's nothing sharp anywhere.

The differences stood out like a sore thumb. There was nudity.

At first I thought this was that sort of "silly nudity" where a young child will take their pants off for a joke or just to get a reaction out of a teacher. But then I saw a second child without pants. Then a third. Then a fourth. In a classroom of at least 25, a good number of kids — both boys and girls — were running around half-clothed. Some kids chanted "がんばれ!" while others went into a small room. Some were watching the group of 10 parents who were walking through the school.

"Before classes go out for a walk, children are encouraged to go to the bathroom. For children who are not completely potty trained, this is a reassuring way for them to learn."
— the lead teacher guiding the group

Maybe this is something I just don't remember but, to the best of my knowledge, there was never a "potty activity" when I was in school. Kids would sometimes have accidents and that would cause a bit of a problem, of course, but this was completely new to me. Reiko was also a little surprised to see it as it wasn't done at her kindergarten, either. My reticence to having teachers encourage my kid to take his pants off in front of a group may be due to a Christian upbringing in Canada, where nudity is "shameful" and must never be done ever, ever … but I'd really much rather the boy not get into a state of undress in front of his classmates or teachers.

A moment later we moved on to the next part of the tour where we went up to the roof of the school3, where another class was putting their hands or feet into shallow buckets of paint before stepping on large sheets of paper. The kids were having a lot of fun on the roof, but I had to question why they weren't in a classroom with air conditioning. The roof was at least 30 degrees in direct sunlight, which was certainly a bit warm for me.

It's different.

All in all, the school looked like a decent place for the students that we saw and most of the parents seemed happy with everything they heard. Would I be comfortable sending the boy there? Not completely. While the rooftop activities would be fine on a cooler day, I'm not at all keen on dealing with heat stroke. I've had that twice before, and it's no picnic4. As for nudity? I'm really not comfortable with this.

There are three other schools that Reiko, the boy, and I will be checking out over the coming months. One of the three will likely not even warrant a visit as the reviews online are all negative, with most mothers complaining about the lack of learning their kids are doing. The other two, however, show some promise.


  1. I would be completely fine with this, as Reiko has been a teacher for her entire professional life. She knows what to look for in educators and institutions. That said, what's the point of working from home if I cannot actively participate in the boy's development?

  2. I can barely manage to stay sane with just one kid. How do kindergarten teachers manage to do what they do?

  3. School roofs are generally evacuation areas for neighbourhoods in times of flood, so there are strong fences and safeties in place to ensure nobody falls off. This is quite different from the schools I attended in Canada, where the roof was pretty much "off limits" and impossible to get to.

  4. Funny story about heat stroke. When I was 17 I was out playing baseball for about 11 hours on a sunny Saturday. That night I went to bed and woke up Monday afternoon. Apparently my sisters couldn't wake me no matter what they tried. Wait … that wasn't funny ….

Five Things

The weather this weekend was so nice that men over sixty were wearing winter jackets, people under 40 were wearing jeans and a light jacket, and kids were wearing as little as their parents allowed. As one would expect, the family and I managed to spend a good bit of the daylight hours outside. While the boy was not always happy with what was going on at any particular moment, he did greatly enjoy playing in the 7-Eleven-sized sandbox at a park not too far away. Lots of pictures were taken, and I even managed to get some great shots thanks to the fast shutter speed of the Canon DSLR. The summer humidity is not far off, so we're trying to enjoy as much time outside as we can beforehand.

Weather report aside, it's time for another list of things that don't necessarily warrant a blog post. First up …

The $300 CD

There used to be a popular music store in Ontario called Sam the Record Man that would often import albums from around the world. In the fall of 2000, Hamasaki Ayumi's 3rd studio album Duty was released to much fanfare, and I wanted a real copy, not just the decent-quality MP3s from Napster. So on the week of the release I called ahead to confirm the store had stock of the CD and asked that one be set aside for me, and I would be up on Saturday morning. On Friday I rented a car from the nearby Budget and invited a friend to join me on the 2-hour drive from Hamilton to Toronto to pick up a CD from Japan.

Young people have so much time on their hands.

The drive up was probably uneventful as I don't remember much about it. When we arrived at the music shop I went up to the counter and asked if they had my CD on hand. The clerk checked and, as one would expect when a young person calls a store asking that something be set aside, the CD was not waiting for me. Fortunately there were still two discs in stock and I picked up the coveted album for the insane price of $44.95 CAD, which was before the 15% tax was applied. Of course, as I had rented a car and drove for two hours just to get this CD, I didn't stop at just one Japanese import disc. I bought three: the aforementioned Duty album, a TM Revolution album, and a compilation from Neon Genesis Evangelion.

Not only was I young, foolish, and employed, I was stupid, too. All in all, the three discs came out to a little over $100, making the trip to Toronto come in at around $300 in total. Did I enjoy the drive? Absolutely. Did I enjoy the CD? Very much so, as I still listen to it today … on Spotify. Would I do something like this again? Probably not for music or some sort of collector's item.

Not the Target Audience

April is considered the start of the year in Japan for schools, TV shows, and a number of businesses that prefer fiscal years not follow calendar years. This year a number of shows that the boy likes to watch have seen regular cast members go and new people join. Animated shows such as Thomas and Friends has also started another season, with the voice actors the boy and I have come to know reprising their roles. There's just one problem: I strongly dislike the changes. Especially when it comes to Thomas and Friends.

The boy disagrees. He loves the changes. I haven't heard him laugh this much when watching his programs ever. Clearly I'm not the target audience, and that's fine. So long as the boy is happy, then my opinions on the matter are less than inconsequential.

Power Napping

In an effort to try and regain some semblance of sanity, I've decided to invest some time in power naps throughout the day. For the moment it's just five to ten minutes in the afternoon, but may try to squeeze in ten minutes after 4:00pm as well. With a slightly more rested mind, better things will happen … like being able to stay awake during meetings.

The Sound of Processing

Sleeping in the same room as the 10C server1 means I get to hear when the system is doing some heavier lifting. What's interesting is hearing the system and the hard drives work when it comes time to do the hourly and daily backups2. There's a certain rhythm to each backup and I've already worked out the sounds of a healthy backup.

I wonder if people who work at data centres also train their ears to catch anomalies.

Pre-Pre-Kindergarten

Tomorrow will be a big day for the boy as a nearby kindergarten opens its gates to neighbourhood children who will start attending school for half a day starting April 2020. There are three kindergartens in the area and we're not yet 100% certain which school would be best for him, so tomorrow's open house will be an interesting opportunity to see the facilities, the teachers, and how the boy reacts to everything. He's not particularly comfortable in areas with a whole lot of foot traffic, but kindergartens should be different given the size of the feet.

With just one week remaining before most of the country shuts down to celebrate the series of national holidays and the new emperor's coronation, it will be interesting to see how much work gets thrown my way. Given the amount of overtime that I've been clocking the last couple of weeks, I fully expect managers to start stepping in and asking that I do much, much less.

This is assuming, of course, that managers at the day job start to manage.


  1. My snoring is keeping people awake, so it's better if I sleep in a different room for the time being.

  2. The database is backed up hourly and the files are done daily. Spinning disks are used to store uploaded data while SSDs are used for the databases.

Topics

Earlier this evening, while Nozomi and I were out for an after-dinner walk, I was thinking about some of the things I might write about today. As with most days, there were a number of topics that I could write about, but only enough time to focus on one. To make matters more complicated, the subject couldn't be too complicated, otherwise any attempt to write intelligently on the subject would be ruined by my inability to remain consistently conscious when sitting down1, which is exacerbated further if sitting on my bed. So with all of this in mind, what could I possibly choose to write about today to put the bow on another week?

One of the more interesting challenges that I've started running into when planning the day's article is writing about something different from the 2,800+ other posts on this site. With over a decade worth of writing published on this site, choosing something that is relatively untouched is by no means easy. I'll admit that there are a number of recurring themes that pop up from time to time, either involving the boy, the day job, or my mental state, but I do try to write about something different whenever possible. This isn't so much for the benefit of people reading the blog, but more for the enjoyment of writing.

Today's possible topics involved the monthly Windows Magazine that I used to collect and look forward to every month as a teen, sleeping in a room with a server, the challenges of taking good pictures of children or puppies, and the purpose of desktop backgrounds on machines where you almost always fun applications full screen. All of these are worthwhile, but only one can be chosen. As you have probably guessed, the topic I went with for today was "blogging about topics".

For the first few years of blogging, I would often make a quick text note with my HP iPaq, then write the post one stroke at a time on the train ride home. With every day involving at least 140 minutes of train time, it seemed logical to use the time to write. Being alone for over two hours of every day is now a luxury that I sorely miss, so writing is generally started on the phone with some poorly-typed notes while walking the puppy, then completed on a device with a physical keyboard.

Not a day goes by where I don't think about how to improve the way I write posts, and not a day goes by where I don't think about writing better as a whole. The latter requires practice and focus while the former is something I don't have an answer for. Having the preliminary notes written before the blog post itself generally seems like a good way to let the mind think about a subject for a while before there is time to write. Using mind maps and other writing tools would certainly lead to better posts, but these things often require a pretty large time commitment, which is something that I cannot negotiate with the family when people require attention. Speech to text doesn't seem right, either, as it would mean talking to a computer and thinking less about the words that get put on the screen.

What I would like, however, is a small application that would keep track of the blog ideas I jotted down for a given day and hide them around 3:00am so that the next day would start with a blank page. Throughout the day, I'd want to go back to the application and maybe jot a note down or add a link to a picture. When the time comes to actually write at the end of the day, I could then look at the application and all the disparate notes that were written throughout the day would be loosely attached to a topic thread and I could write from there. This would be similar to a mind map, but slightly less structured.

I would write something like this myself if I had the time. Naturally, it would also fully support publishing items directly to 10C. Unfortunately there just isn't enough time in the day, so I'll continue to think about how to improve my writing while doing the writing.


  1. This will probably be a topic for another day.

Worn Out

Over the last couple of years there has been a recurring theme on this site where I write about a lack of sleep either due to a persistent bout of insomnia or just a larger-than-is-manageable workload. In every post I refer to my age and how a little power nap with lunch1 isn't enough to recharge if fewer than four hours of sleep is obtained. Generally I'll make some efforts to get to bed before midnight on the Friday and hope like heck the boy doesn't wake before sunrise so that the weekend isn't a blur … but this doesn't seem to be enough anymore. The candle has been burning at both ends for months, and I'm just absolutely worn out.

Like a Lit Match

In just one week the Japanese holiday period dubbed Golden Week begins, which will mean that for ten days I will (ideally) not be doing anything related to the day job. Reiko and I have been making some general plans to bring the boy to some special events and parks, and we'll also be meeting her parents to enjoy a nice dinner at a nice restaurant to mark 12 years of marriage. If that wasn't enough to have happen in one week, the news cycle will be jumping between stories on the over-capacity bullet trains ferrying people around the country and the coronation of Japan's next emperor. During this time I'll be working on a number of items related to 10C, but I'll also be starting a new project that I hope will be seen as a positive step forward in my goal to be fully self-employed in 2022.

When I set my mind on a goal, I tend to work incredibly hard to make it happen. Unfortunately, when working for someone else, there will always be multiple goals that need to be completed, often with conflicting or near-simultaneous deadlines. This makes it easy to get stuck in one of those vicious cycles where the more you work, the more work you have to do.

Last month I worked the equivalent of 6.5 40-hour weeks for the day job, plus 10C, plus being away from the computer to spend time with the family. It's simply unsustainable. What I need to do is become more like the match above, being lit at just one end2. 2022 is not that far away, and I'm not at all keen on being with my employer for much longer3.


  1. I used to do this while in Canada. A quick, 15-minute power nap at the office after the colleagues went out for lunch but before they came back was an excellent way to recharge, especially if there were going to be meetings in the afternoon.

  2. I certainly see the possible error of working during a vacation period, but this would be more for personal development than the day job. It would be "fun" … so that makes it okay, right?

  3. I'm not interested in working for most other companies, either. The time has come to be independent … again.

Cognitive Kaizen

A little over ten years ago I wrote this blog post on trans-gendered people in Japan and the darn thing has remained one of the most popular posts found on any of my sites. As of this morning it has been accessed 477,218 times, which is more than triple it's nearest competitor. By all accounts, I should be happy that something from a decade ago is still being read today. Unfortunately, I'm anything but. The post is awful on a number of levels. From the grammar to the stupid "score out of 10", the article is a shining example of my ignorance on the topic back at the start of 2009.

This isn't a virtue signalling1 post.

Very few of the posts I've written since 2006 have been deleted or otherwise taken down, even when I was proven wrong or justifiably castigated for some of the stupid things that were said. A lot of this has to do with the reality that whatever is put online is there "forever", which is particularly true for websites where Archive.org's Way Back Machine stops by every couple of days to see what's new. But it's not just the web crawlers that keep me from removing old posts, it's the personal context.

Regardless the subject, most people are pretty ignorant about things when they're young and slowly accumulate knowledge and life experiences that can fill the gaps in a person's understanding. I'm not particularly bright today, but I know that the person I am right now is much more aware of the world than the person I was a decade ago. The person I will become over the next 120 months will likely look back on items written today and wonder how such nonsensical drivel could have been pushed out on a daily basis. A million monkeys using a million typewriters could pound out better prose than this single fool at a keyboard. But this is the point of the exercise. If I were to go back over the thousands of blog posts published to this site over the years and revise or remove items, then I am ultimately erasing one of the better resources I have to go back and see how my thinking has evolved over time as a result of new information and new experiences. So while I may not like some posts very much, I would rather keep them online2 than lose them entirely.

Would I consider rewriting the older posts, linking back to the original so that it would be easier to show what sort of cognitive evolution has taken place? It's certainly an option. If I were to write another blog post about Haruna Ai, Ikko, or trans-gendered people in general, it would likely be a better researched, academic-style thesis on the complexities people face when trying to fit into the binary Male/Female labels that many cultures and societies enforce. Why write about something that has nothing to do with me? The reasoning is really quite simple. By writing about a topic, I need to slow down and be more deliberate with my thinking.

Quite often it's when I am writing about a topic I don't know very much about that I learn the most.


  1. Wikipedia defines virtue signalling as a pejorative for the conspicuous expression of moral values. Academically, the phrase relates to signalling theory to describe a subset of social behaviours that could be used to signal virtue—especially piety among the religious.

  2. Yes, I know that I can password protect or otherwise hide posts on my blogging platform. This still doesn't guarantee that posts can't be surfaced through Google cache queries or on The Way Back machine. It's better to keep the posts open for anyone to see what a fool I was, and how I'm (hopefully) less foolish today.

Documentation

In order for any bit of complex software to be better understood and effectively utilized, documentation must be made available to the people who will use the tool. Unfortunately, documentation is the least favourite task that faces every developer. I can count on one hand the number of full-time software people I know who actually enjoy putting the code editors away to instead write complete sentences. There are automation tools out there that will try to write the documentation for you, but these can only go so far. At the end of the day, the best author is going to be someone — or a collection of someones — who have a good understanding of the system … which can certainly be a problem for tools that are created by one or two people.

At the day job I'm fortunate enough to be in a position where I get to make new software every couple of months. These are tools that don't exist one day, then spring into existence 20 minutes after a meeting that sanctions their creation comes to an end. A lot of the tools start out small with just three or four functions that are relatively intuitive to anyone who has worked for my employer a couple of months. However, as people begin to use the simple system and ask for "just one more thing", the software becomes more complex. The rules become more opaque. The emails from people asking how to do something becomes unworkable. By this point, documentation is not only needed, but late.

Near the end of last year I was given the opportunity to create a piece of software that would be used by colleagues all over the world and integrate with our HR systems. After a couple of discussions with the project owners it became clear that documentation was something that couldn't wait until later, it needed to be part of the development cycle1. The HR department wanted a Word file that could be updated easily and sent out as a PDF to everyone who used the system. I balked at the idea and suggested that documentation be built right into the application, complete with screenshots, videos, and links to the pages being discussed. The management wasn't keen on the solution initially, but they quickly saw the benefit once the feedback started coming in. People were actually reading the documentation that was going up, and they thanked the HR managers for making it happen so quickly.

Score one for preparedness.

In addition to this documentation, though, is the developer documentation. This is generally something that doesn't get seen by people but, because this HR project is owned by HR, some key people have access to the GitHub repository where the source is kept. These people have been reading the commit messages, Wiki pages, and Issues, and they're quite impressed with the level of detail that goes into the internal docs.

Writing a great deal on GitHub is nothing new for me, as it's sometimes necessary to have a single place where the rules and reasoning behind certain design decisions are stored. To help future me, I try to include screen shots and lists of reasons for why some functions or classes were created the way they were. If something is particularly complicated, then the messages in the commits will be a little more colourful than the dry words found in the Wiki or supporting Markdown files. This is something I try to do with all of my applications, as most of them start out small and simple, then quickly start battling scope creep as more functionality is built in. There's just one problem, though: there's almost nothing (documentation-wise) for 10Cv5 in GitHub.

The vast majority of the notes for v5 have been written to A5-sized notepads and I'm not yet 100% sure how this information will get shared with the world in a readable format? Scanning with OCR could work to a certain degree, but these notes are not always written with complete sentences (or grammar) in mind.

Documentation for v5 is slowly being released with more going out every few days. Regardless of how many people use the system, having it documented will make it easier for anyone to understand how and why it does what it does. Had I been a little more proactive with the v5 documentation like I have been with the day-job projects, then there would likely be less missing from the platform2. Fortunately there is still time to remedy this issue.


  1. Generally this is the rule for larger organisations.

  2. One interesting thing that I have noticed is that by writing documentation for the system, I get to revisit the core functionality with a semi-fresh mind. If something doesn't make sense when I'm trying to write it down, then that's a pretty good indication that something can be improved.

Boutique Performance

Not a week goes by where a colleague doesn't complain to me about how slow or sluggish some system or piece of software is. More often than not it's the corporate-mandated tools that are being derided for their sub-optimal use of time and resources, but various websites are also starting to get mentioned more often. Sometimes people ask me how they could make these systems faster, whether it's a problem of not enough memory or CPU power, or why managers consistently choose the slowest software while demanding the fastest employees. There's no answer for the last one. The other two, however, share the same response: it depends.

There's no simple solution to improve the performance of software and any attempt to write about possible things to look for and check would be woefully incomplete1. Instead what I tend to do is nod in agreement and ask a couple of probing questions.

What are you trying to do?

This is always the first question, as most of my colleagues are generally trying to accomplish a relatively common task. My employer isn't trying to launch objects into orbit of far-away planets, cure cancer, or model climate change. We're an education company that has for decades subsisted on a combination of Excel sheets and sheer luck2.

How are you trying to solve this problem?

A lot of times when a person has a software problem, it's because they're doing something "the hard way" and can be taught an alternative method of performing the task3. So by better understanding how a person is approaching the problem, the myriad of options that might be available to solve a problem can be whittled down until there are just one or two good options to consider.

Is this a common task?

Common tasks should be programmatically solved. The role of a person is to be the brain and/or heart of an organisation. The role of a computer is to support that person so they can be as awesome as they want to be4.

Have you considered using ________?

This is the question that I generally try to get to if it's possible because I've found that a lot of the more common software tools that people use on a day-to-day basis are big, bloated, and don't always solve the problems a person might have. Some examples of this would be colleagues who have complained about how sluggish Evernote or OneNote has become after their 10,000th note. I can remember two instances where people did not want to use Word anymore because their computers would crash if both Outlook and Word were open at the same time5. Most people have probably had conversations like this at least once in the last year and it's a great opportunity to recommend tools from small and independent software developers who make a living by providing "boutique solutions".

I enjoy recommending tools like Sublime Text, Typora, Coda 2, Sequel Pro, and Mars Edit to people who need to scratch a specific itch6. It's even better when someone tells me they've bought a license for the software, meaning that the small developer — be they a studio or an independent — earned a little bit for their efforts. This is how software should be made.

There are a lot of reasons for why software might be written by a large team of people. Yet as the world becomes ever more complex, I find it's the smaller software shops that put out the better tools that can help us navigate this complexity with relative ease. Sublime and Typora have both saved me an incredible amount of time by being able to handle large files, or crazy-long line lengths, or just running with such a tiny memory footprint that the commercial memory hogs that run alongside these tools are not at all impacted. One of the many things that I hope to see in the future is a little bit of a return to software practices of old, where the goals are not just about completing the task at hand, but doing so with the most responsible use of resources possible. Applications that make genuine use of multiple CPU cores, reasonable amounts of memory, and simple UI language will always be in demand. So long as the people who make that software can get paid for doing so, there will always be a healthy number of creative problem solvers.


  1. When it comes to tracking down performance issues, sometimes an entire day (or more) needs to be invested to determine exactly what the problem is and what options exist going forward. A person can't simply blame a single component in the hardware or the software as applications are rarely "simple".

  2. This is a slight exaggeration, of course. There are a number of mission-critical systems that use SQL Server and Oracle databases, and our online infrastructure is staggeringly complex to support online lessons across the globe.

  3. The number of lives I've changed over the years after teaching someone how to use a pivot table or VLOOKUP or just Ctrl+D in Excel is by no means inconsequential.

  4. Some people don't want to be awesome at their job, and that's fine. There is still no reason for why someone wouldn't want a computer to do a repetitive task on their behalf (so long as it does not put them out of work).

  5. This turned out to be the result of a domain policy change pushed out by the IT department without anyone's knowledge. Yay, IT!

  6. Yes, I understand that most of these are for macOS. I talk to a lot of people who use Macs. I don't know many people personally who live in the Linux world like I do. Mind you, I will suggest switching to Ubuntu from time to time if someone is complaining about Windows or macOS.

Missing Chronology

Last month when someone wanted to find a specific post on my blog they would open the archives page, type in a few keywords, and let the incomplete search mechanism try to find the item they were looking for. If that didn't work, then clearing the filters and scrolling down would show every post in reverse chronological order going all the way back to April 1979. The default blogging theme on v5 works a little differently in that the search box is available on every page and, unlike the previous mechanism, will actually result in a database search. As people had a way to find items on a site, it never crossed my mind to build a page showing a site's table of contents until Larry reminded me.

Whoops.

Fortunately, building a page like this isn't incredibly complicated. The fact that the archives page does not need a search box also means it's possible to change how the page displays information. But how could the information be changed to show things that people might want to see? I thought about this question a bit this weekend and came up with this:

The Anri Archives Page

There were a couple of things that I liked about the previous design:

  1. posts were numered
  2. posts were grouped by month, with the month being a title
  3. grouping was done based on the time zone of the reader, not the author

These three features needed to be brought forward with the understanding that Bookmarks and Quotations would also appear on the archives page. Social posts, called notes, are not visible in the archives as this would be noise. Should there be a need to see all social posts in reverse chronological order, there is always the Notes page.

The previous version of 10C generally cheated with the archives page by presenting a blank page, querying the API for a list of posts with supporting meta data, then building the results. This works in most situations, but can cause some headaches for search engines that do not parse JavaScript or for people using a browser with JavaScript disabled. To help resolve this, archives are now presented in plain HTML and then modified after the fact.

One item I'm not too sure about at this point is the numbering. As the screen capture will show, the numbers count differently based on the kind of object. Articles, bookmarks, and quotations are all shown with an icon unique to their type, and the counter is for that type as well. Does this make sense? Does it matter whether these are split apart at all? Could everything have the same icon, or none at all, with the understanding that clicking the title will bring you to the author's page regardless of the type? I'm not 100% sure. Fortunately, the community on 10C will let me know when something doesn't quite work or needs improvement.

The archive theme was deployed with release 19D150 which is live on the server now. Every site with at least one article, bookmark, or quotation will see the "Archives" link in their navigation menu.