About MorbidMeter

MorbidMeter

MorbidMeter was inspired by the 1974 short story “Forlesen” by SF writer Gene Wolfe which I read back in 1992 when it was republished in the story collection Castle of Days. Inspired is the right word here. MorbidMeter has nothing to do with the story — a Kafka-esque nightmare that like all of Wolfe’s work is a jewel of writing — except for one element, the undermining of the meaning of time. In the bizarre yet familiar setting of the story, a day is divided into 240 “ours”, an 80 our work shift becomes a whole career, and a whole lifetime occurs in less than a day.

The story "Forlesen" in Gene Wolfe's "Castle of Days"
The story “Forlesen” appeared in Gene Wolfe’s “Castle of Days”

This story planted an idea in my head that undoubtedly bubbled along subconsciously for years before finally resurfacing as a computer program. The idea was this: I am X years old, and on average I might live to age Y. If my life span were considered to be a single year, what date would today be? If a single day, what time would it be? And so forth.

For example, I was born on November 1, 1951. There are lifespan calculators on the web that estimate longevity; let’s say that I am expected to live to my 86th birthday. Given this, at the time I write this, 10:55 AM MST on November 28, 2015, if I considered this 86 year lifespan as occurring over a single year, it would be 5:36:28 PM on September 29th of that year.

Why is this important? It’s not. I already knew I was in the Autumn of my years. And obviously I don’t know how long I will live. No one but terminally ill patients and those on Death Row know this, and even then the timing is never 100% certain. Like many attempts to measure the unmeasurable, MorbidMeter time is too precise. Yet there is something compelling (at least to me) about a weird clock that reflects my whole life span in something easier to grasp than 86 years, like a single year, day, or hour. MorbidMeter time moves slowly, but like all time it does move inexorably forward. Seeing the very slow ticking of MorbidMeter seconds is a reminder that I my life will not last forever, and that I still have things to do.

The MorbidMeter time algorithm is pretty simple in theory. You figure out what percentage of your life span you have already lived (age / total lifespan) and then multiply that by the time period you are transposing into (e.g. (percent lifespan) * (1 year)). You then translate the answer into an actual date and time. In practice though, time is messy. There are different calendars. There are leap years and leap seconds. We move around in different time zones. There is also the scourge of our existence, Daylight Savings Time. Computers have not always dealt well with the exigencies of time. Remember the Y2K panic?

In order to standardize this mess, computers use the number of seconds since “The Epoch” which is defined as 00:00:00 on January 1, 1970, UTC. This system is not perfect, as it doesn’t account for leap seconds, and has the problem that storing time in a 32 bit integer means that time variables will overflow on January 19, 2038 — the so-called Y2038 problem. Switching to 64 bit integers nicely solves this, adding  293 billion years to the time range in both directions. In any case, the trick is to convert date and time values to seconds or milliseconds since the Epoch, do, the calculations, and convert this value back to a date and time. The programming languages have I have used to implement MorbidMeter (which now include Python, Java, and C) all more or less provide these time functions.

mmshot1I started out with a simple command line script in Python, later expanding it to a little GUI window for the desktop. Later I wrote an Android widget to calculate and display MorbidMeter time. It has been the least popular of the apps I have written. Most people don’t seem to “get it.” I discovered from user feedback that most people who actually used the widget were using it as a countdown clock. Someone gave me an actual countdown clock about a year before I retired, and I did enjoy watching it slowly count down the time until January 1, 2014 when I retired. MorbidMeter can certainly be used as a traditional countdown clock, counting down days, hours, minutes and seconds in real time. As such it is not morbid, though you are still stuck with the little skull on the widget.

MorbidMeter counting down in real time
MorbidMeter counting down in real time

The latest MorbidMeter iteration has been for the Pebble watch. I just completed this and put it on the Pebble watch app store yesterday. It duplicates the functionally of the Android app. The MorbidMeter for Pebble watchface can be used with either Android or Apple smartphones. It can be used as a long or short term timer, and will buzz when the countdown is complete. Shaking the wrist toggles between showing local time and the timer.

pebble_screenshot_2015-11-27_15-54-58
MorbidMeter for Pebble watches

Some of the timescales of MorbidMeter are a little obscure. For example the Universe timescale stretches time over the entire 15 billion years from the Big Bang until Now. The X-Universe timescales are for my young earth creationist friends who would prefer to believe in a shorter (6000 year) duration of the universe.

I plan on putting my experience with expanding and shrinking time in MorbidMeter to good use, when I unveil my Time Travel app in the near future.

By mannd

I am a retired cardiac electrophysiologist who has worked both in private practice in Louisville, Kentucky and as a Professor of Medicine at the University of Colorado in Denver. I am interested not only in medicine, but also in computer programming, music, science fiction, fantasy, 30s pulp literature, and a whole lot more.

1 comment

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.