Needs

Jeremy lives in Rome and recently wrote about some of the changes that have come about to his everyday routine since the Italian government instituted all kinds of rules in an effort to limit the spread of COVID-19, the novel coronavirus. It’s easy to appreciate the luxuries we take for granted when we’re denied access to them. Things like morning cappuccinos, proximity to others, and the freedom to head outside without carrying any form of documentation are not the sort of liberties we expect to be deprived of in our modern world of plenty, but here we are. Jeremy’s biggest challenge, however, stems from Mayor Virginia Raggi‘s decision to deny access to all of the parks in the city.

Yesterday evening it really struck me how much this one small change had affected me. For the first time, I felt really depressed about the whole business. I need my walks, morning and evening. They are what make working at home doable. It isn’t just the exercise or the change of scene, because the scene on my walks remains the same, bar the changing seasons. No, it is something deeper than that, something about over-reacting, something about not understanding what at least some locked-down people need.

Indeed. Here in Japan we’re still permitted to use the public parks, though there has been talk about limiting access to these green areas … somehow1. Given the other restrictions that are in place, and given the number of parks in the neighbourhood2, closure of these green spaces would be devastating. Not only because Nozomi needs a good green space in order to stretch her legs and answer the call of nature, but because I need the green spaces as a reprieve from the day-to-day.

Without access to the various parks in the area there would be a great many more joggers on the paved walking paths that wind through the four local neighbourhoods, which would put more people in close proximity to each other. There would also be fewer places to sit and watch the world go by. There would be fewer (designated) places for kids to be kids. The consequences would be felt almost immediately.

Hopefully the various levels of government elect to keep the parks open. The constraints and restrictions that people are expected to endure already have a lot of neighbours looking for some sort of escape. Fewer options will lead to nothing good.


  1. Public parks generally have a large number of entrances with no gates or other means of preventing access. If a government were to try and close them, city workers would be limited to using thin ropes tied around trees and traffic cones with laminated notices taped to them. It’s been a while since I was a young boy, but I’m pretty sure there isn’t an able-bodied child anywhere in the country who,wouldn’t just walk around the rudimentary obstruction.

  2. There are 8 really good parks in the area; five of which are within 350 metres.

Valuable

Since writing a short post on what will be missed when I eventually leave the day job, I've been thinking about what I perceive as the underlying question that Rachel Kroll was asking: What do you find valuable?1 The question is exceedingly important for people who are working towards a series of goals, be it personally or professionally. When I think about what I find valuable at the day job, the immediate response would be the people, which then prompts the follow-up question of "Why?" Again, the answer is immediate: I learn new things from people and, in turn, they challenge me to do something with that new information.

Can the question translate just as easily when examining hobbies and personal projects, though? What do I find valuable about the 10Centuries platform? This is something that I've worked on as a publishing platform since August of 2012. While there have been droughts of effort on occasion over the last couple of years, the ultimate goal remains the same2. What do I find valuable about the effort?

The Community

This goes without saying. There are not nearly as many people using the service as in the past, but the people who do find value in the 10C platform are incredibly valuable to me. They provide the incentive to continually build and improve the platform while keeping it accessible and simple. Everybody is quite unique, too, making the eclectic group my favourite community by far.

The Challenges

How can performance be maximised when running a web server on consumer-grade equipment? What sort of SQL query can be crafted to reduce the number of database calls from many down to one without any performance degradation? What tactics can be implemented to reduce the amount of spam that is received by the contact forms on the various sites? What is an effective way to handle content-scraping bots that choose to ignore the standard robots.txt rules?

All of these questions — and may more — are tackled on a regular basis as no solution is a panacea. The challenge of pushing the platform in multiple directions and leveraging the tools that have been refined for years across numerous projects is part of what keeps it interesting for me. This interest is incredibly valuable as it often requires learning about a problem, seeing the solutions that others have tried, and then building on their efforts to devise an answer that best suits the platform without unnecessary resource expenditures. Every function that is created must follow the Unix philosophy: do one thing, and do it well.

The Rewards

In 2015, 10Centuries came the closest it's ever come to breaking even, with about 85% of the annual operations cost being earned through subscriptions. Over the last five years people have left the platform and income has diminished to cover about 30% of annual costs. Despite this, the non-tangible rewards for the service far outstrip any financial gain that might exist. There is an incredible amount of pride for what's been accomplished over the years. Sure, I've made a number of mistakes that have resulted in people losing interest and leaving the community, and every loss resulted in learning something new. Ideally these lessons have meant that subsequent updates have actually improved the system and, looking at the last six months, I can honestly say that Version 5 today is far better than it's ever been before. Is there more work to do? Absolutely. This seemingly endless To Do list is just one of the rewards, as it's diverse and long enough that I'll not get bored for years to come.

The Education

The running theme across this article involves education; my education. There's a lot that I didn't know when 10C started out as a simple Evernote-connected blogging platform and there's a lot that I still don't know today. That said, there have been a million little lessons learned throughout the development of the platform. 10C is currently running on the 5th major version of the core framework that powers so many of the systems I create meaning that the first four attempts to have a universal API and web presentation tool have not been sufficient enough to solve all the problems. v5 comes closest, though, thanks to the feedback received and patterns observed. The knowledge gained here is distributed to the other projects just as the lessons learned elsewhere are incorporated here. If I ever stop learning, then that will be the end of the project, as it means the effort has become boring.

Ultimately these four things are what I find valuable about 10Centuries and are why I continue to invest countless hours into making the platform a viable option for anyone who might find it of value themselves.


  1. For the sake of this blog post, the question will remain five words in length, allowing it to be vague enough to think through the variables.

  2. Yes. I still endeavour to have the publicly-available content accessible to people for at least 1,000 years. As the web continues to evolve, this becomes less unrealistic.

Five Things

Today is the Ides of March, which is historically when people in the Roman Empire were expected to settle their debts. While we don’t have a specific deadline for this activity anymore, it’s something that could make a good deal of sense for those who seem to always be in debt. This describes the entirety of my 20s, with student loans, credit cards, and the typical monthly bills that come with living on your own. It would have been nice to be mostly debt free, if only for a couple of days a year. That said, now that I have a mortgage to pay down, being devoid of debt is something I will not be able to declare until some point in my 60s.

Such is life in the modern age.

Lamentations on debt aside, it’s time for another Five Things blog post where I get to ramble about more than two topics in a single article.

Ubuntu 20.04 Is Almost Ready

Despite being well into middle age, I still find the LTS releases of Ubuntu Linux exciting. The platform has come a very long way over the dozen or so years that I’ve been using it and there is a great deal of buzz over many of the features and updates that are part of this next release. While the servers I run will remain on 18.04 until the fall when 20.04.1 is released, the development notebook will be upgraded on the first day.

Still 2019

The older I get, the longer I seem to write the previous year in SQL queries and on documents. There was a Pickles cartoon in the paper some 25-odd years ago where Mrs. Pickles is at the bank and filling out a deposit slip, then says something akin to “Oh, shoot. I wrote the wrong year again.” The teller says that people usually need a couple of weeks to adjust, to which Mrs. Pickles says she wrote 19741. This is probably going to be true for me, too. By the time 2040 rolls around, I’ll still be writing 2027.

Impatient

Generally when we make our way through crowded areas, we try to calm ourselves and be patient with others. Not everyone will move at the same pace, or with the same manner of intent, or even pay attention to their surroundings nearly as much as we might. So rather than get angry and push people out of our way for what can certainly be classified as willful ineptitude, we give people the benefit of the doubt that they are just distracted or physically unable to quickly complete a task. This is particularly true when it comes to children and the elderly.

Unfortunately, my patience has all but run dry over the last few weeks on account of the isolation that’s been recommended by the government, the frustrations at work, and the hassles involved with doing just about anything outside. When the opportunity to head out for a quick walk does avail itself, the last thing I want to see are oblivious Pokémon Go players blocking walkways and otherwise being hazards on the pedestrian park trails.

Phantom Vibrations

The phone hasn’t vibrated in months. The tablet doesn’t vibrate. The notebooks do not vibrate. Everything that did buzz and shake with every notification has been subsequently silenced so that I might actually be down during the weekend downtime. Despite this, there are still vibrations at certain parts of my body as though the phone received a message.

Bored

Despite all of the challenges, responsibilities, and activities that arrive throughout the week, an overarching feeling of boredom permeates my mood by mid-morning, every morning. I can stave it off from time to time by changing the activity that I’m doing, but this isn’t always feasible. Boredom in and of itself isn’t necessarily a bad thing, but in excess it can lead to some reckless decisions.

Hopefully the mental rut can be broken in the near future.


  1. Why I can remember this comic strip from a newspaper a quarter century ago but not important things from meetings last week, I just don’t know.

Taking A Short Break

When a person commits to writing and publishing a blog post a day, the self-inflicted expectation can be a little much at times. There's very little time to be away or to just recharge. That said, yesterday I did just such a thing and this right here is the first blog post I've published in 47 hours … which still technically counts as being the day after [yesterday's post about Feedly weirdness], making for 549 consecutive days of posting. There is no need for me to continue this daily effort to write and publish, but it's something that I choose to do simply because I've tried and failed to do this countless times over the last 13 years1. People do need to take little breaks from time to time, though.

Sometimes I look at my To Do list and wonder why it's consistently carrying more than 48 hours of work on it. Other times, when I'm making updates to 10C or writing a blog post, I look at the list and wonder why I'm not tackling something that was written down with the intention to finish it. Surely there are better uses of my time than pet projects, right? A younger version of me would certainly agree. The current version, however, thinks the younger is a naive fool. There's more to life than completing To Do lists, and there's more to creative efforts than simply mashing a keyboard for 90 minutes before hitting "Publish". If the last six months have taught me anything, it's that continued development of 10C has helped me enjoy coding and continued blogging has helped me enjoy writing. As it stands, I do a great deal of both for the day job. Being able to do these things for myself and the people who support my endeavours makes the effort worthwhile.

Over the last couple of weeks I've been thinking a great deal about my future. What do I want to accomplish? What needs to be done to make it happen? What roadblocks might stand in the way? The last five years have seen so much change. I'm grateful for what's been made possible and I'll continue to work hard in everything I do because that's just the way I am. Something else is on the horizon, though.

Jordan Peterson's list of things that everyone should know has a couple of items that have been guiding principles lately:

33: Notice that opportunity lurks where responsibility has been abdicated.
16: Work as hard as you possibly can on at least one thing and see what happens.
24: Nothing well done is insignificant.

Number 33 is something I've seen in a couple of domains now, and there is certainly opportunity for people who are willing to put in the work. Which leads into number 16, as working hard on something doesn't necessarily mean putting in just the physical labour — though it's crucially important — but the mental efforts as well. We have to really think about the reasons behind the abdication in order to take full advantage of the opportunity. This generally results in the development of a solution that other people want as well, and nothing that truly solves a problem is insignificant; number 24.

However, number 20 is also important:

20: Treat yourself as if you were someone that you are responsible for helping.

People tell me that I work too hard, too much, and to exhaustion. They're right, of course. So, if I were someone that I was responsible for helping, I'd say "organise your schedule in such a way that you can continue to meet your goals while also taking a break". This is what I did yesterday to create a 47-hour window between blog posts. It was a good short break.


  1. The site was started on October 18, 2006, which was 4,896 days ago. There are 3,186 posts on this site. That's a pretty high publish ratio. Shame the content isn't particularly interesting.

How Reliable Is Feedly?

Shortly after the Ides of March last year1, and for reasons I've never been able to work out, Feedly stopped updating the RSS feed for this site. The XML file that is generated for the site has been consistently deemed valid by the W3C Validator and other 10C-based sites continue to see their syndicated content properly updated in Feedly. I know this because I subscribed to a number of them. Mine, when pulling from the XML version of the syndication feed, will not show updates.

But why?

The XML version of the RSS feed will work with a number of clients just fine, as I've tested the site with standalone clients as well as alternative online services, such as FeedWrangler and Fever2. Has Feedly simply stopped visiting the site and, therefore, does not know that the RSS feeds have been operating just fine aside from the one little blip that took place on April 10th?

According to the service logs, this isn't the case.

Stats Show Two

The Feedly crawler is stopping by this site almost every hour for the XML feed and every three hours for the JSON version, which the service has no trouble at all reading. The XML file is being properly returned, too, as the number of bytes sent is the very same number of bytes as the cached XML file (compressed as a gzip). Those subscriber numbers look a little off, though ….

Feedly Shows Nineteen

Seems one or all of the reported numbers are false. 1 subscriber? Just me?3 Or is it 2 subscribers? My mum and I, perhaps? Or is it 19? Perhaps some other number?

Unfortunately, this problem does not seem to be limited just to me. A now-retired UserVoice.com forum had hundreds of people asking the same question for various feeds that just stopped updating one day. The service seems to be aware of the problem, but is unwilling to do anything about it.

Feedly Support Services

So what is a person to do when their RSS feeds stop updating? Readers who notice will hopefully continue to visit the site directly or change readers. Writers who want to be read, however, will suffer if people using Feedly just thought that the site had gone silent, like tens of millions of blogs have over the years.

Personally, I've lost interest in trying to make things work with the service. My syndication feeds are valid and have been for well over 8 years. Rather than mess around with someone else's service, I'll do the next best thing and make my own RSS service. As one would expect, 10Cv5 already has this functionality built in. All that needs to be done is to build a simple client, write the documentation for the /reader API, and share it with the world.

When paid cloud services drop the ball, I tend to pick it up and take it somewhere else.


  1. The Ides of March takes place on the 15th.

  2. Fever is a self-hosted application, but is still a valid means of testing.

  3. I subscribe to my own feeds primarily to ensure the thing is going out and being read properly. Sometimes I even spot typos this way, then I can go back and fix them.

Genuinely Missed

Rachel Kroll asked an interesting question the other day:

For those people who have worked at multiple companies and thus have left a couple of jobs over the years, do you ever think about stuff you miss? These are the internal systems, build environments, tools, features, or other neato things that you had which made your job easier, better, faster, or maybe even possible… but which didn't exist on the outside world.

Thinking through all the places I've worked as a developer over the years, from an appliance repair shop to a printing shop1 to language schools2, plus a myriad of organisations I've worked with on a freelance basis, I can honestly answer "no" to the question as it's presented. The vast majority of the things I've worked with have either been publicly available3, supplied by me, or written by me … which is probably not something to be proud of. What I do miss about many of the places that I've worked at (or with) are the people.

If we're lucky, every place we've worked has had at least one person we've looked up to, learned from, or just plain enjoyed being around. Even as a freelancer, there are certain clients who are an absolute joy to work with. For me it's the people who give me a reason to get to work on time and give it my all, learning new and interesting things from them along the way.

Often times when I think it's time to move on to another type of company to take on a completely different set of challenges, I think about the people that I would be leaving behind and reconsider. Sure, there's email and social places available to maintain relationships, but it's not the same as when you're working together towards a common set of goals.

Internal systems, build environments, tools, features, and other neato things that are unique to an organisation are certainly nice to have, but they're not something I think I'd ever miss. Mind you, I've not worked for organisations that are even half as well known or respected as the ones Ms. Kroll has. Perhaps with more exposure to the various tools that companies use internally, I'd find a reason to miss something.


  1. Not sure "shop" is the best way to describe the company, given they employed 400 people and had customers all over North America.

  2. There are other places I've worked at, but these are the ones at each major geographic location I've lived where I've worked the longest.

  3. Available either commercially or free.

Nine Years

Nine years have passed since the Great Tōhoku Earthquake shook half of Japan and triggered a tsunami that wiped costal cities off the map while claiming the lives of thousands. In this time a great deal of rebuilding has taken place and people have moved on with their lives; some with far more success than others. Reiko, Nozomi, and I were quite fortunate that we were largely unaffected, though Nozomi did have some pretty serious eating problems until mid-way through the following year due to stress and anxiety. Every large truck driving by would result in our apartment shaking, which would freeze the puppy1 in her tracks. Getting her to eat was a trial of patience, though she did pull through. Moving back to the Tokai region of the country went a long way to helping all three of us calm down and relax.

Moving back is something that I am quite grateful for. Reiko was not happy very often while we lived in Kashiwa, as I was gone most of the day to work in central Tokyo while she was at home in a largely unfamiliar city. We moved to the Tokyo area because I had accepted a job at a tech startup. It paid quite well and there was so much that I learned while solving the problems of the day, but what value is this when your wife is unhappy? Sometimes I joke that the only reason we moved to the Tokyo area was because fate demanded we bring Nozomi into the family. Other times it doesn't seem like a joke at all.

The quake did leave some lasting marks, though. My mind continues to conjure up tremors that don't exist. Both Reiko and I are careful to keep our emergency preparedness packs ready and properly stocked with dry food, clothing, and various supplies. We also have several external batteries for our devices in the event we cannot charge them for extended periods. The car never has less than a quarter tank of gas, either. If something happens, we can leave the house and drive at least 100km to safety with just a moment's notice. This is something that I never would have done in Canada despite living through the Great Ice Storm of '98.

Yet, all in all, life has drastically improved in the nine years since. Reiko and Nozomi are both healthier. The boy has come along to provide a great deal of entropy to our lives. We no longer live with just a couple of months' worth of savings in the bank. We have a house in a safe neighbourhood that sits 120m above sea level and 30km from the nearest beach. The 3/11 Earthquake was a time of crisis, but we're in a better position as a result of getting through it. Again, I am grateful.

The gratitude I feel is not for the quake, of course, but for how Reiko and I responded, overcoming the challenges and accepting opportunities that were different from what we might have desired in order to regain some semblance of stability. When we had that platform by the middle of the following year, we worked towards the goals that have led us here to where we are today. It wasn't easy. It wasn't always positive. It was educational, though.


  1. She was actually a puppy back then.

Fewer Subscriptions

For a little over two years I've been using Setapp as a "developer's App Store", picking up applications that allow me to solve specific problems encountered both at the day job and in my personal projects. With it I have been able to try out a number of different tools to find the best one for the particular tasks at hand and, for $10 a month, it proved to be worth the subscription rate. That said, as my work has become more specific, there has been much less need to quickly find an application to solve the occasional "Problem X" as there was just a couple of years ago. For this reason, I pulled the plug on the subscription and instead bought the two applications that I use most often: TablePlus, which I am now using daily on account of all the PostgreSQL work, and ForkLift, which is used a couple of times a month to upload large sums of data to Amazon's S3 storage buckets.

This move is the continuation of a process that I seem to have subconsciously embarked upon, where subscriptions that no longer offer the value perceived in the past are cancelled. This month it's Setapp. Last month it was Netflix. The month before was Amazon Prime. None of these subscriptions are particularly expensive, but they do add up and it has me thinking about the business model of collecting relatively small fees for access to a walled garden of digital goods and services.

Over the last couple of years a lot of us have slowly accumulated a large number of subscriptions to all kinds of services. Sometimes this is to support the developer(s) of a project. Sometimes this is to access commercial materials. Sometimes this is for sheer convenience. These fees add up pretty quickly. Is every service worth the amount provided? It seems the only time I ask this question is after an email hits the inbox letting me know that I've been charged for another month or year of service. I'm all for supporting people in the quest to do good, though I sometimes wonder if there's a better way to use the money.

This reduction of subscriptions should be a good opportunity to examine the lot of them. By being a little more careful with what services remain active, it will be possible to invest a little more intelligently in independent projects as well as my own.

Still a Pretty Penny

Every day the morning news programs interrupt their soft journalism with semi-serious updates on anything and everything related to the coronavirus situation. There's always news of more patients, more quarantines, more market problems, and more challenges as people scramble to deal with an invisible enemy as best they can. One of the more common stories that these news programs like to focus on is how much trouble the tourism industry is in, as people choose to stay home rather than risk contracting the Chinese virus. Hotels are offering discount rates. Restaurants are offering free (non-alcoholic) drinks. Smaller companies are also offering discounts or special deals in an attempt to drum up enough revenue to float for a month or two while the global contagion runs its course. One group that is heavily dependent on people travelling long distances doesn't seem to have changed their prices, though: airlines.

Two years ago today I was flying from Tokyo to New York to attend a week of meetings at corporate HQ. Non-essential travel has been cancelled at the day job but, if I did have to buy a ticket to the other side of the planet, how much would it cost?

Tokyo (NRT) to New York (JFK)

Seems the price hasn't changed at all since the last time I went.

Five Things for March

This past week has shed a little bit of light on what it might feel like to be a pet, locked inside and unable to go outside or enjoy the freedoms so many of us take for granted. In a stunning turn of events, time has actually moved slower this week than at any point that I can recall in the last 40 months. This is most likely due to a drastic reduction in physical activity and the daily arguments with the boy around simple things like picking socks off the floor. That said, there have been some things of note over the past seven days that are worth a paragraph or two of time.

Star Trek: Picard Begins

Episodes six and seven have renewed my hope in the series after four and five went down poorly. Heck, I didn’t even finish episode five, choosing to end the show with ten minutes remaining because it was just … terribly predictable. Mind you, Star Trek has had ridiculously predictable stories since the late 80s, so it’s no surprise that every modern episode of the franchise follows similar patterns. By the end of episode 7, I pieced together what I see as being the outcome of the show. Only time will tell if the various hunches are correct.

Depression Returns

With the lack of exercise and fresh air, I’ve found myself sliding into the familiar cycle of self-loathing and equivocacy towards just about everything. A good amount of personal time has been dedicated to getting more of the 10C platform built out in an effort to get back into a productive cycle, but its not really helping dislodge the unyielding lack of motivation I feel nor the dark thoughts that crowd the mind’s eye. Hopefully there is a resolution to the Covid-19 situation in the near future so that I can get back into almost daily treks around the neighbourhood without the stresses and hassles that come with every exit from the house.

Intel (and AMD) Are to Blame

Over the last couple of weeks I’ve been working my way through a commercial Learning Management System in an effort to get it ready for use by the day job. The software was purchased through a vendor alongside a bunch of customizations and now the system has been handed over to me to coordinate and manage the future direction of the tool. One of the things that has become incredibly apparent from the source code of this very common learning system is that the developers have not had to think about resource consumption at any point in the last decade. The number of blatant inefficiencies boggles the mind and gives me more incentive every day to toss the expensive software into the garbage and write a couple of dozen python scripts that read from flat files to deliver the same experience with 1/1000th the processing power and 1/10000th the network usage. These numbers are probably grossly inaccurate but, given what I see in the source of the LMS, there is no way any developer contributed a line of code from a machine with less than 16GB RAM and a quad-core i7 (or equivalent) CPU. Schools running this system likely pay many times more for servers and bandwidth than they should, all because of inefficient and unnecessarily bloated code.

Then again, maybe I try too hard and focus on the wrong things. The number of people who say “Who cares? So long as it works!” is … disappointing.

Coffee Without Milk Isn’t Coffee

Thanks to China’s uncanny ability to export highly contagious viruses, Reiko has “forbidden” anyone in the house from going into crowded buildings, such as grocery and convenience stores. As a result, we’re ordering our food online and having the store deliver it to the house1. This means no quick runs for milk, which means using a powdered substitute or drinking the caffeinated beverage black. Of the two, a powdered substitute is preferable, but just barely. Coffee was meant to be had with a bit of milk. Anything else is just spoiling the beverage.

Polyphasic Breakdown

Back in December I started a polyphasic sleeping pattern that would see me get two (or three) power-naps during the day with a 4-hour block of rest at night. This allowed for 18 and 19-hour day lengths, making it possible to work on personal things, spend time with the family, and tend to the day job. This worked out relatively well until around the end of February when the old habit of falling asleep in the middle of the day when napping was not an option started up again. I’ve since has to re-adjust the body to seven hours of sleep rather than five, and this seems to be working a bit better. There’s still another year or so of the “special project” at the day job, which means a proper sleeping pattern is at least twelve months away. Hopefully the new schedule will survive that long.

There are a few other items I could have written here, but then this post would have become a “Nine Things” article, which would probably be a bit too long. One thing I can say, though, is that it’s good to hear my kid laugh at British comedy. This is something we both enjoy greatly.


  1. I know. I know. Believe me, I’ve argued the faults in the reasoning for hours to no avail.