Too Many Compromises

Two months ago I started down the journey of creating an Android application, my first in a long, long time. The software was aimed at an audience that seemed under-represented in both the Google Play Store and Apple's AppStore: UFO enthusiasts. In both stores there is an absolute dearth of applications and, of the ones that do exist, none of them have seen any updates in the last couple of years. What I wanted to do was to create a tool that would not only show the most recent reports, but also allow people to report things that they may have seen.

In addition to this, there were some other functions that would have given the software a little bit of an advantage over other UFO apps and websites that have been researched recently:

  • a dynamic heatmap would show where in the world (or a specified area) people claimed to have witnessed a UFO sighting
  • the ability to read the reports provided by the eye-witness
  • the ability to comment on and "score" a report
  • the ability to report a sighting and provide an accurate GPS location, photos, audio, and/or video supporting evidence
  • a library of different sighting types
  • a library of different vehicle types
  • a library containing theories of where these visitors come from
  • the ability to send the report to one of the more popular UFO sighting databases
  • plus a few other nice features

Using my weekends and evenings, the application was written and ready for deployment in about five weeks and it works pretty decent on my test devices which include a Sharp phone from 2013 running Gingerbread. The API back end is fully coded and the database contains almost 80,000 records of eye-witness accounts -- including geographic coordinates -- which had been pulled from the NUFORC web reports. However, as I got further into building the application, the less enthusiastic I felt about it.

These are some of the issues that crossed my mind:

  1. The data seemed highly suspect, with the most common sighting location being a place called 100 Mile House in Canada. Any place that is not Nevada with a ridiculously high proportion of sightings is going to be suspect, especially given that the 1,200+ reports seemed to be written by the same person.
  2. Allowing people to comment on and score the testimony of others -- even with the aim of "democratising the reporting process"1 -- would quickly devolve into people calling everything "bullshit" and adding zero value to the topic. Too much negativity is not a good thing.
  3. The people that would use this application likely strongly believe they saw something … and the application was actually designed in such a way as to show people that 99% of UFO reports are complete fabrications.
  4. I would be trying to monetize the application via advertisements, with an in-app purchase to shut them off.

The further I got into development of the system, the more wrong it felt to continue. There were simply too many compromises to make:

  1. the app was written for Android rather than iOS, because that's what most people use
  2. in-app advertising (and its subsequent tracking) would be in place for the vast majority of people, as Android apps generally do not earn a great deal of revenue unless they're a game of some sort
  3. the 80,000 records collected from NUFORC were of dubious quality
  4. people who report sightings generally believe what they think they saw, and I would be encouraging people share the story with me so that my database would become larger so that the growing size could be used as part of the reson for more people to use the application

But, perhaps most damning of all, is reason number 5: I don't believe a single one of the reports.

Yeah, I was happy to learn how to write an application in Kotlin, have it compile and run on actual hardware, and see it go from a concept to a working system. But if I don't have any faith in the things that the people using the system have to say, is it right to carry on with the project? The honest answer is "no".

So despite the efforts, the application has been scrapped. All of the code is archived in GitHub and will likely sit there for a long, long while before it's either forgotten or deleted. The database I may make available as a MySQL dump, as it's a right pain to collate this data from various sources online, but only if I receive written permission from NUFORC to do so.

I am still very much interested in building some small applications as a means to test the feasibility of earning a living through independent application development and this project ejection has certainly allowed me to confirm how I do not want to go about it. This does bring me back to square one, though, which means something else will need to be devised, planned, and built to scratch the itch that leads to self-employment; ideally without compromises.


  1. As it stands, all UFO reports go through no more than 5 gatekeepers around the globe, depending on which group you're reporting the sighting to.

Offensive

For the first time in a long while, I had considered recording an episode of Doubtfully Daily Matigo to outline something that occurred today at the day job that just rubbed me the wrong way; so much so that I felt offence by the very idea that was presented. Despite being excessively opinionated, it takes a great deal to offend me. This is primarily because I try not to take too many things so personally or seriously that discussion becomes impossible outside an echo chamber. However, today at the end of a meeting, I was asked a rather simple question:

We need to add some JavaScript to every page. Is this done through the "Additional HTML" section of the admin pages?

This was a question regarding a bit of software that is being prepped for use at the day job. The JavaScript that's being added is designed to track what a person is doing on the website in excruciating detail. Where is the mouse? How much time passed between actions? What did a person click? And a whole lot more.

This I find offensive. The entire modern web is offensive.

Just about every site that we visit has trackers in place to extract as much data as possible from us, from browser details to frequency of visits to what colour socks we're wearing. What the fuck for? I do not buy the various arguments that companies have for the excessive amount of data collection that goes on behind the scenes when we're using a website.

Does a company need to know how long we're on a page? No.

Does a company need to know where a cursor is positioned while we're on a site? No.

Does a company need to know that we've visited a site 50 times in the last week? No.

Should a company use a third-party service to collect "metrics" that are compared and collated against information data collected on other sites for the same visitor? Fuck! NO!

This isn't to say that organisations shouldn't have the ability to record some data about the people who use their services, but there needs to be a clear contract between the website and the visitor before any collection starts to take place. A lot of websites fail in this regard, some more spectacularly than others.

10Centuries does record information for every web request. I've outlined what it is that's recorded in previous articles, but here is the list again:

  • the UserAgent sent by the browser (so that I can see what browsers are more common, which dictates bug-fixing efforts)
  • the IP address of the visitor (not that this value means very much anymore)
  • the resource the visitor requested
  • where a visitor came from (if known)
  • how long the whole process took to complete

This information is primarily used for 2 purposes:

  1. To work out the mean, median, and mode values for server response times. If it goes above 0.3 seconds, I start investigating bottlenecks. My job as a provider is to ensure that content makes it to visitors in a fast and efficient manner.
  2. To work out how widespread a bug might be. Sometimes I'll learn that a function isn't working quite right in Opera or Firefox. Then I'll look at the stats and see there are fewer than 0.4% of the visitors to all of the 10C sites using these browsers. At this point I can decide whether it's worth solving the problem right now or later in the day.

Anything beyond this amount of data is too much. Could I record more? Yes, of course. But to what end and at what price? Companies that collect far too much data generally get put on my blocklist rather quickly. If a project I'm responsible for at the day job is also added to this blocklist, then my job becomes exponentially more difficult. I will not soften my stance on trackers, even for the sake of employment. Fuck that. Online surveillance needs to stop. Not only is it excessive and unenlightening, it's downright offensive.

Imperceptible

A couple of weeks ago I started to wonder whether Nozomi was ignoring me. She'd be lying under my desk for her afternoon nap and I'd chat with her every so often only to get no response. Not even a glance. When she would sit outside, I'd call her from around the house and she wouldn't move an iota until she saw me come around the corner. If in the afternoon I felt the need to stretch my legs outside a bit, I'd ask Nozomi if she wanted to go for a walk in the park — both words she knows very well — only to be met with silence. However, it seemed that rather than ignoring me, she wasn't aware that I was speaking. The biggest hint that something was awry would be the way she'd act surprised every time she saw me, as though I were consistently silent.

Ten days ago we went to the vet and they confirmed my suspicions: Nozomi has gone deaf. Not completely, mind you, but anything quieter than a sneeze has become imperceptible. According to the vet, the early signs of impending deafness would have started years ago. Typically one ear goes, and then the other. During this time Nozomi would have shown signs of looking the wrong way when being spoken to, or rubbing her ears on the ground as though something were caught in her fur. She did both of these things, but I chalked it up to Nozomi being a dog and doing bizarre things like one would expect from a dog. None of her previous medical checkups said anything about her hearing, but this was also something that wasn't explicitly tested.

Nozomi, being the optimistic girl that she is, doesn't seem to mind the lack of sound. She's still able to do most of the things she loves and, while she does appear to get startled more often as people enter her field of vision without warning, there doesn't seem to be any sign of depression or anxiety on her part. What's interesting is that the vet said that Nozomi would probably respond more to touch than previously, and he was right. Nozomi's always enjoyed physical contact, but lately she seems to want tummy rubs and snout scratches a lot more.

Nozomi's mental state aside, I've been quite disappointed in myself for not noticing the signs sooner. She's always done silly things, like one would expect from a dachshund, but she's never ignored an opportunity for a walk in the park or the sound of her kibble bag being opened. While I doubt there's much that could have been done to save her hearing, particularly during the recent COVID shutdown, her health is my responsibility. I should have known that something wasn't quite right and brought her in for some tests earlier.

Despite our genetic differences, Nozomi and I can generally communicate well enough with each other. She knows my hand signs that signal food, or exercise, or general directions. I also know how to read her eyes and general body language to understand what it is that she's looking for. That said, it's very unfortunate that she might not hear any of her favourite words ever again.

Wait States

Every so often there's a need to move and transform a great deal of data for the day job. This was certainly the case earlier in the week when 15GB of compressed database backups were pulled in from a couple of locations and restored to the main development machine. Fully expanded the files worked out to about 91GB of data in total. This isn't an excessive number by modern standards, but it is a large enough quantity of 1s and 0s that some patience was needed before I could actually get to the task that required this data. Fortunately technology has consistently progressed to the point where our computers are rarely bound to a single task, but this rare need to wait 90 minutes for a pair of databases to finish restoring had me thinking about how often we had to wait when using computers 20 years ago.

Back in 2000 I had a custom-built workstation with a pair of 1.0GHz Pentium 3 processors, 512MB of RAM, 120GB of spinning disk storage, RAID controllers, a decent Radeon video card with 64MB RAM, a SoundBlaster that was powerful enough to decode MP3s in real-time to completely take the load off the Pentium chips, and a bunch of other hardware that ensured the bank account stayed as close to empty as possible without dipping into the red. The machine was used for everything from gaming to database work to software development (for Windows and PalmOS) to messing around on IRC. It was the most potent and capable computer I had ever used up to that point, and would hold that title until 2006 when I started using Xeon-powered servers at the day job. Looking back, even with the rose-coloured glasses, there was certainly a great deal of time every day where I would be sitting in front of that powerful workstation while waiting for it to complete a task.

Booting into Windows 2000 took a couple of minutes. Launching VisualStudio 6 took a minute or so, then another minute or two to open the project I was working on. Compiling code would take at least a minute, sometimes longer. When gaming, a level change could take a minute. Downloads across the local network measured in the thousands of kilobytes per second while anything coming from the Internet trickled in at several dozen kilobytes per second. Waiting was a natural expectation when working with computers.

Current machines are magnitudes faster than the computers from the turn of the century and waits are generally measured in fractions of a second. Every so often, though, we need to afford some time so a task can be completed. During these moments I like to think back to the computers of yesteryear and wonder just how long it would take them to process the same workload.

Ninety-one gigabytes of data for a pair of MySQL database restorations? On the dual-PIII workstation from 2000, it would likely take an entire long weekend.

Exiting the Tunnel

An exorbitant amount of time has passed this year that I would like to take outside and bury in the yard. That said, this week has seen a marked change in my self-perception and how I approach the world every morning. Rather than dread every sunrise and mechanically getting through each day, I'm feeling the pull of creative endeavours. More than this, family time has become enjoyable again. Although the saying has been overused for decades, there is a light at the end of the tunnel …

Exiting the Tunnel

… and it's not an oncoming train.

Hopefully this is something that I can maintain for more than a handful of weeks as the seemingly endless cycle of self-inflicted burnout-depression-self-loathing after a couple of months of tossing candles into the fire1 really needs to stop. TO accomplish this, there will no longer be any months of the year where I put in 80 hours of OT at the day job. I'll "selfishly" use some of my personal time after 11:00pm to get in a nice power-walk around the neighbourhood. Heck, the podcatcher will also be allowed to have more than 3 spoken-word podcasts again2.

There is little point racing to burnout and there is little point to investing too much of myself into any project, be it personal or professional. Getting things done is important, but so is enjoying the process.


  1. Some people burn candles at both ends. Not me. I toss the whole thing into the fire as it gets the job done faster.

  2. I had unsubscribed from a lot of conversational shows because hearing people have adult conversations with each other, laughing and learning along the way, really frustrated me. I can imagine that people in solitary confinement do not like hearing other people's conversations after a while.

Too Nice to Lose

Early last week I made the decision to let the nice.social domain expire rather than pay $41.88 USD to renew it. This was part of my ongoing efforts to bring the annual costs of running the 10Centuries platform down to under $500 a year, which should be completely attainable. Social can operate from any URL — such as social.10centuries.org — so why obfuscate a 10C feature by using a domain that is named something entirely different? All this aside, it will come as no surprise to anyone that the annual renewal was paid less than 48 hours after expiration and everything changed back to the way it was just a few days prior. The cost savings will need to come from somewhere else.

Dark

For the better part of this year I've been struggling with some pretty dark thoughts. This is nothing new as "the voices of self-doubt" have plagued and taunted me for years but, since the start of the 2019 Christmas holidays, I've been battling the ruinous conceptions that can drain a person of all joy. Some would call this "depression". Others would call it "self-loathing". I call it "hell", as it is the embodiment of society's collective expectation of that metaphysical realm. June marks the six consecutive month where I've not gone more than a handful of hours without asking myself the same question: What's the third reason?

As people around the world rang in the start of another year, I was in bed trying to come up with the reasons I should see 2021. Two answers instantly sprang to mind:

  1. The boy needs a father.
  2. Nozomi needs a friend.

Try as I might, no valid third reason could be found. None of my work is so world-changing that I need to see it through to completion. I've lost touch with the vast majority of people I've interacted with over the years. And, if that isn't enough, my primary purpose at home seems to be earning money and being told "it's never enough" while simultaneously being admonished for working so many hours. While the boy and Nozomi are incredibly important to me, has their existence become the sole reason for continuing mine? Is it enough?

As we enter into the sixth month of the year the mind has presented numerous potential answers as the third reason, but one has become a little more prominent over the weeks as I think it through: I'm not coming back.

As a young person one of the questions I often struggled with was "Why would God give us only one chance to exist given the infinite possibilities that exist in the universe?" While in my teens I would sometimes hear people say something along the lines of "We must have known each other in a previous life" and this idea started to mingle with the first. The theory, in my mind anyway, was that there were likely a finite number of souls that are reincarnated infinitely to experience everything that life has to offer. The good, the bad, and the ugly. It's after we shed our corporal form that the memories and lessons learned from all the previous lives are once again revealed to us and we can reflect with other souls on the lives we've lived. When we are ready to try again, we re-enter the world and live another life with no knowledge of the previous ones.

This idea was reinforced over the years while reading thousands of works of fiction, some of which touched on the idea of an afterlife. Kim Stanley Robinson's The Years of Rice and Salt crystallised the low-resolution concept from my mind into something a little more concrete and it has remained my admittedly selfish hope for the last two decades: we are spirits within a family unit, and we come to earth in search of each other over and over, each time with a different set of tools at our disposal and challenges to overcome.

Why wouldn't we want to come back and try our hand at life again? Why would a just God allow one soul to be born wealthy beyond comprehension and another destitute beyond reason without the promise that next time might be better?

But what if there is no "next time"? If this is the only time that we have, then what justice is there in the universe? What valid reason is there to want to reach 100 years of age and live through the loss of personal sovereignty due to the debilitations brought on by advanced age? Extending the logic, what valid reason is there to do anything that results in what can only be described as a self-inflicted prison sentence? We may use different words, like career, mortgage, or responsibility, but a chain is a chain … be it physical or otherwise.

Over the years when I've tried to talk through these ideas with people the general response has been anger. Accusations of selfishness and attempts at guilting are common and wholly ineffective. When a person is in the doldrums of darkness, no amount of name calling, guilt-tripping, or blaming will result in a positive outcome. If anything, it will only add justifications and embolden a person to carry out an action that most would find reprehensible. For me, I have my void-sent writing to help think through issues. This post has been written and re-written a hundred times this year and thousands of times in my life. I know what needs to be done and I generally know how to do it. What I ask myself now is whether three reasons are enough to maintain it? Are two? Is one?

3653!

Nozomi gets to mark her 3,653rd day on the Earth today, meaning she's now ten years old!

Nozomi on the Hill

Nozomi was just 107 days old when she joined the family and she's calmed down quite a bit during the intervening 3,500 days. Despite her age, Nozomi continues to be a playful and energetic puppy, forever looking forward to her walks in the park, meal times, and any opportunity for tummy rubs. We became friends even before bringing her home from the pet shop and she's been by my side almost every day since. This past decade would have been completely different — and far more difficult — without her.

Happy birthday, Nozomi! Regardless of how many trips we make around the sun together, you'll always be a puppy to me.

This Again

Burnout

It seems either a serious case of burnout, depression, or WTFC1 has taken the wind out of my sails once again. The only thing I'm particularly interested in doing is reading. Anything that is even remotely creative gets no more than 30 minutes of good effort from me, and this isn't cool.

We're technically going into a 5-day weekend here in Japan. I've decided to work through the Golden Week holidays, but maybe it would be better to stay away from the day job until Thursday. A little recharge might be in order.


  1. Generally translated as "Who the fuck cares?". When this condition rears its head, everybody's problems look asinine and beneath contempt … because we live in a world that is full of magic and people are bitching and moaning about shit they could probably fix themselves with a single Google search.

Void and Without Form

Dreams can often inform us of something our subconscious mind is trying to present. In my early 20s, my dreams felt as though they were months or years long. I would wake up with the alarm, completely disoriented and unsure of what day it was. The dreams at this time consisted of me wandering a mostly empty world. This eventually gave way to years of insomnia, which later gave way to years of dreaming about work, which gave way to dreams that were incredibly loud. The dreams conjured up for the mind's eye recently, however, have been quite a bit different from the past themes1.

Similar to the wanderings that took place two decades ago, there are no other characters to interact with. In fact, there is literally nothing to interact with in my recent dreams. I am alone in a void where there is gravity, but nothing to stand on or fall towards. There is no light, but I can see myself. There is no sound beyond a very low hum, like the sound of a 60s era analog stereo projecting the current picked up by dirty connections on an idle record player. It is as if my mind has conjured up a representation of reality that took place before the Big Bang that created our universe.

Strange dreams are nothing new to anybody. Our subconscious creates all sorts of weird depictions of reality to help us parse and better understand the world around us. These dreams feel a bit different, like I'm expected to do something in the empty realm beyond listening to the background hum. Thinking this environment through, it's almost as though I'm being presented with chaos in its truest representation; a malleable substrate from which existence itself can be fabricated to banish entropy from our sight.

If this is even partially accurate, then the subconscious may be suggesting that I need to make something new. The question I'm most interested is knowing what should be created? Very little can be extracted from a void without a clear vision. Hopefully something can be revealed in the next couple of nights.


  1. Rarely do my dreams take place just once. When I have a dream, it's generally played again and again, with minor revisions, for weeks on end. For this reason, I can usually remember many of the dreams from over the years simply because they've been seen so many times.