Google PhotoScan

When a Windows 7 rig on my work desk was replaced with an iMac, the Windows driven scanner I used also went on permanent vacation. And with that went efforts to scan old print photographs. Taking pictures of glossy photos from the past yields only a flash point and darkness.

img_20161117_142200187Shrue Dana Gallen Joel photograph

Note that the background border was not black but was actually a maroon colored towel that the photograph was placed on.

Enter Google PhotoScan, an Android app that turns your cell phone into a photo scanner that is as good as your cell phone camera. The app uses an initial reference photo and then has the user move the phone to new locations using white guide dots on the screen. Then Photoscan digitally assembles the five images into a single glare-free image, cropping to the original edge of the image. Note that I took the next photo from the same distance as the photo above, the frame included the maroon towel.

Shrue Dana Gallen Joel Photoscan

Google PhotoScan automatically detected and deleted the maroon towel, retaining the edge of the photograph automatically. The original has water damage at the top as seen in both images. The photo was taken on Yap circa 1999 and includes Shrue, myself, and the family of Gallen Joel. A Motorola Moto G4 Play was used to scan the photograph.

I made the initial mistake of trying to crop out the towel in the cell phone screen. That actually yields poor results. The software is looking for the edge of the photograph, depriving the software of that edge led to at least one distorted image as the software tried to correct perspective without having the edge to work with. The app deleted the maroon towel as part of the processing. The app also included part of the image under the PhotoScan “take picture” button – something that was not obvious to me the first time I used the app.

The app appeared to find the larger span of an eight and half by eleven sheet of paper more challenging, and I found the large movements more challenging as well, but I did capture a reasonable photocopy of the page. Attempts to PhotoScan a whiteboard with notes on the white board proved even more challenging. Here the distances are greater, both from the board and across which one has to scan, and there is no edge of a photograph to work with. Although the scanner claimed to have failed to capture the board, I did find that a glare free image of the white board had been captured.

The app is available in the Google Play store and requires Android 5.0 or higher. Available also on iOS. My thanks to my son for bringing this app to my attention!

Health indicator numbers

My statistics class students are accustomed to my having them make measurements of self and then using that data in the class.

screen-shot-2016-11-16-at-9-47-22-am

In the spirit of a share and share-alike, I share my own numbers when I can. With World Diabetes Day being observed today on campus I had a chance to check my weight, height, blood pressure, and blood sugar. At my present 57 years old, I weighed in at 148 pounds, and remain 67″ tall. Not yet shrinking vertically. I passed my blood pressure and random blood sugar tests with a 111/71 blood pressure and three blood sugar tests one of 81 and two others at 87. This on top of a heavy breakfast of gluten free muesli. I wrapped up with a free flu shot.

If one is left wondering why three blood sugar numbers, the reason is simply statistics. The units that measure blood sugar have their own measurement errors. A check from multiple units provides the ability to calculate an average.

A few days later public health was at a 5k run. I had had some gluten free Muesli for breakfast and done some warming up prior to getting my blood pressure and blood sugar checked.

blood pressure pre runblood sugar

Blood pressure 144 over 85 with a heart rate up around 74. A resting heart rate check a couple months ago put me down just under 55 BPM for a resting rate. The above is after a joggling warm-up trot. I told the public health officer I would come directly in for an immediate post run check.

5k time

I then ran the 5k, finishing at the public health station at a full run. At 57 years old I was the first place master’s finisher. I slammed myself down into a chair, public health indulging me and getting my blood pressure immediately and blood sugar within two minutes of finishing.

blood pressureblood sugar

Immediately post-run my blood pressure was 152 over 84 with a heart rate of 154. Blood sugar had spiked to 124 as my body dumped glucose into my blood stream to power my running.

 

Halloween 2016

Halloween 2016 fell on a Monday school night evening. This was also a Monday social security day – the end of the month when senior citizens come to Kolonia to collect their social security checks and go shopping. That income is important in many families here, and falling on a Monday meant that the Halloween shopping weekend would likely have been negatively impacted. In local parlance, October 29 and 30 were a “broke weekend.”

Tristan and Kisha Halloween 2016
Tristan and Kisha Halloween 2016

The weather was acceptable, only a brief passing light rain shower in Dolihner, otherwise generally dry conditions.

Perhaps the largest factor was that last year Halloween fell on a Saturday night. A weekend with no school the next day.

Whatever the underlying factors, numbers were down year-on-year. Groups are a very roughly estimated with overestimation more likely than under. That said, the front porch saw a drop from 90 groups in 2015 to 79 groups in 2016. Traffic began around 18:35 but by 20:30 no further trick or treaters arrived on the porch.

Halloween group sizes 2015
Halloween group sizes 2015

Note the nine outlying groups in 2015 – groups with more than roughly 15 candy receivers, including one up near 45 and another above 50. The differential in the number of groups is a drop of only eleven. The lack of large groups, however, meant raw numbers of individual candy takers was down more significantly.

Halloween group sizes 2016
Halloween group sizes 2016

The numbers were down even more significantly. The count of candy receivers in 2015 was 590. In 2016 only 416 showed up on the porch, a drop of 174 trick or treaters. Average group size also dropped, primarily a function of the drop in the number of large groups and the absence of any group larger that 35. The household thought that the choice to block cars from driving up the interior road negatively impacted the large group counts. My sense is that the large trucks used to haul the big groups of kids from other parts of the island may not have been as available as they were on a Saturday night last night.

In 2015 the average group size was 6.56 with a standard deviation of 8.90. In 2016 average group size was 5.27 with a standard deviation of 5.50. The median, however, increased from 3 to 4 year-on-year.

We again used the dual bowl system. One twenty-five dollar bag of better candy and a single 330 count bag of Hershey Kisses. Elterina added in three bags of additional small candies that may have added upwards of 90 candies to the Kisses bowl. We would end the evening with candy on hand.

For those who want to play with the raw data, the data is available in a Google Sheets spreadsheet. Analysis was done using Google Sheets with the above charts prepared using the Google Statistics add-in for Google Sheets.

Strava

Strava running app was the next shiny thing to attract my attention using Amazon Underground. I was nonplussed by Adidas’ Runtastic, and deleted ASICS’ RunKeeper as being redundant to Nike+ running but without the friends. I found no friends in RunKeeper space. 

I tried UnderArmour’s MapMyRun but on install the app demanded to upgrade to a new version. Which failed. And then I could not log in. Deleted. 

Using again the Amazon “Underground” app store for Android cell phones I installed one of the last independent mainstream running apps, Strava. 


Knowing that my phone has limited capabilities, I ran a first test run with no pauses, no pictures. Nothing that might stall Strava. 

I did not see a built in music controller such as Nike+ includes. The run included running under trees and ended in rain. I turned on auto-pause and voice options prior to the run. These options were not obvious as the settings appear only once one selects to start a run. 


I was pleased with the post run data. Well laid out screens, logically located, with all of the data details. I had set voice to half mile notifications and was happy to see half mile split data. Nike+ provided only mile splits. 

The Strava voice was quicker in cadence than Nike+, without the pauses I am familiar with in Nike+. I saw no voice choices, the default is female.​


Elevation is notoriously inaccurate, but fun to see. And the continuous pace chart was noisy but informative. 
​I was impressed with the GPS track. The line was sharp and spot on. 


I was shocked to see my ninety degree turn along the Spanish Wall basketball court. I do not recall any app catching that before.


My phone has limited resources. Nike+ uses 50 Mb while Adidas train and run uses 80 Mb. Thus seeing Strava only using 32 Mb was a pleasant surprise.

Strava, like RunKeeper, successfully posted to FaceBook, but then I did use FB as my log in for both, which I did not do with Nike+.


There are premium features for a subscription, but all of the basic run data is available in the free version.


If I run identical routes, Strava will apparently track the runs as “matched” runs.

I did see a few FaceBook friends listed in my Strava friends list, but nothing like the over one hundred friends I enjoy on Nike+.

Strava is intriguing enough to keep on my LG P715 Android phone for now. Still, Nike+ is where my friends are, and that is a big plus. 

My own sense is that over the longer haul only the apps backed by major corporations will survive – Nike, Adidas, ASICS, UnderArmour. Strava too may one day be acquired, but for now its independence is attractive. 

RunKeeper

Grandpa is a kid in an app candy store at Christmas. Out here in Micronesia the Google Play store has a limited app selection. For running, my LG P715 Android rig has a choice of Nike+ running or Adidas train and run. 

​On a whim I downloaded the Amazon app store for Android phones which Amazon is marketing as “Amazon Underground.” To install one must enable installation of apps from unknown sources in the security settings of the phone. This has security implications and will make the phone vulnerable to malware if you have seven year old handling your phone. Enough said. 

Amazon Underground picked up my Amazon credentials automatically, possibly from my Kindle app. This appears to make me a “registered” user. Using Amazon Underground I was able to download Runtastic, an app not in the Google Play store for Micronesia. Runtastic, however, then wanted to download a separate music app for in-run music. Nonplussed, I found I could download RunKeeper too! Runkeeper has no built in music player, but had a click- through to the Google Player. Good enough for taking RunKeeper out for a test drive. Interesting app. 

First impression? Although minor, I have come to prefer the sequence and cadence of the Nike+ voice. Unlike Adidas train and run, RunKeeper seemed rock solid on hanging on to the GPS or interpolating losses seamlessly. Map was blank, but those sometimes load later. I will explore and see if Strata is an option too. Note RunKeeper is a two tier app, a free app with limited features and a premium pro app with all features on a subscription price basis.

​By the way, my use of the FaceBook Lite app provides me the space to download the many apps I do use on my memory limited LG. 

As I said, a kid in app candy store!

Flowers

Every year I dread the arrival of late May and early June. I have perhaps lived here a decade or two too long. May and June are the months when the island tragically loses some of the best and brightest of the youth of the nation. Although I attempt to engender learning in my statistics course, I do not pretend to know either the statistics nor the cause of the tragedies. I only know that hearts will be ripped out of the chests of parents who have lost a child. I know that survivors will live with guilt and “what ifs” for the rest of their lives. For all, there is a loss that can never be returned. A pain that time cannot and will not heal. And no words that anyone can say that comfort those who have been left behind. There may be solace for a brief moment, but then you turn around for some reason expecting him or her to be there, and suddenly you realize they are not and will never again be. There. And the gaping hole reopens. Ten years after. Twenty. Forevermore.

Seven

No, I do not know the causes. No, I do not know the solutions. In the absence of causes and solutions, doing nothing is tantamount to accepting the annual injuries and occasional losses. Might I suggest a change in habits. Give flowers. Not money. Give mwarmwars, leis, garlands, blossoms, and balloons. Giving money may lead to bringing flowers to the family later. Better to give flowers now rather than money now and flowers later. End the gifting of money to the graduates. Do not tuck that money into their hands at graduation. Hug them, flower them, balloon them, have a family get together at home. And remind them that they are not done, they have only just begun.

Elites

For me running is not about the elites. Never has been. The elites of any sport have never inspired me. That is perhaps an echo of my own youth. I was last picked in gym class. In all sports.

Except the term my high school struggled to newly implement Title IX fully coed phyical education classes. The coaches were unsure how far to go. So in gymnastics class the other male members of the class volunteered me to be the first boy to tackle the UNeven bars. I attempted some kind of flying hip catch, sailing from the upper to the lower bar. Then I fell to the mat, curled up into a ball, and saw the stars.

I was not just uncoordinated. I was a detriment to any team I was on. I did not mind, I disliked physical anything.

image

Running would arrive later in my life. After the last gym class. Long after.

Organized sports and athletic movements celebrate the sports elite. Fans and spectators celebrate the athletically elite. I do not. The support, the attention, is only on the winners. When an elite of any level crashes down, for whatever reason, there is a brief moment of sympathy for the fallen athlete and then the bright spotlight of attention and support moves on.

Whether the athlete simply stops winning, is permanently injured, is caught succumbing to the pressure to dope to stay on top, or is taken out by personal circumstances, the attention moves on. If this happens early in a promising sporting life, then the soul of the young hopeful can land in a very dark and lonely place.

I was never an elite. Never will be.  I am still running. I am inspired by those who have fought their way from a couch to a 21 minute mile and on down to a 16 minute mile, and are still getting out there on the road to run. I am inspired by everyone who will never be an elite, who get no support, no attention, and who slog on. I am inspired by those who have crumpled and fallen, who can no longer even hope to be at the top of their sport, perhaps even feel disgraced or shame, but who pick themselves up and run on.

A successful runner is not one who wins, a successful runner is one who will tie their shoes again on some future day, head out the door, and run again. I am a runner is a present and future tense statement. Perhaps only old runners know that no matter how hard the fall in life, running is always there, the one touchstone.

Choices

My path is defined by the choices I make and choose not to make, the choices others make and choose not to make, and natural events. When I run there is a sense of control. Yet any sense of control is illusory.

image

The reality is that momentum limits my options when others make choices. I can but react. In those split seconds there is no time to blame or complain, only time to react. And then to run on. Whether I have made a choice with positive outcomes is never immediately clear. Only in the fullness of time might I learn what will be. Perhaps the perceived limits are also illusory. Every time I drop a juggled tennis ball I am reminded of how often I err, and I have been dropping the ball more often than usual these days.

image

Contemplations

As those who follow me may be aware this age year is an age year of reflection. I am the age at which my father passed away. As a runner I seem to be in better physical shape than my father was at this age. While his risk at my age was a heart attack, my larger risk this age year is the traffic I joggle in amidst on an evening run.

This evening was a particularly poignant nightfall. As is the custom I headed to the state morgue to join family in keeping watch until an off-island brother can arrive for the funeral. I had been visiting when I could over the past few evenings. I knew those who came and went, and how they were connected.

Sadness

Tonight when I arrived at the morgue the faces there confused me. They were from other connections. I gradually realized some were connected to the passing of a wonderful wife and loving mother I heard about earlier in the day. Her remains were in the morgue. There were other faces there, friends and family, that did not fit into either of the deaths I knew of.  And I saw a third coffin.

I learned that a third friend had passed away and that the remains were also there at the morgue. The third friend was someone who had come many years ago to Pohnpei and had made Pohnpei their home. A family who had hosted them in their early years on Pohnpei sent members up to note that they would handle the burial. The family even noted that Mwohnsapw Isipahu was awaiting the arrival of the deceased. I was comforted by the love shown.

In this age of social media I am more aware of the passing of the loved ones of friends. People I might not directly know, but whose passing directly impacts people I do know. There are not more people passing away, social media simply surfaces deaths more efficiently than I would normally stumble across.

When the funeral is far away I always wonder what I can to be of comfort. As do others, I offer my prayers and condolences. These are what I can do yet they seem insufficient – a friend who recently lost their father said that a memory will return to their mind unbidden and then they  fall to a million pieces all over again at the sense of loss. The living are left to comfort those whom the deceased is survived by.

While this is an age year of reflection and contemplation, and few know when they’ve seen their last sunrise, I expect to see a good many sunrises to come. Still, I will leave this suggestion, should you be around in some future decade when my passing surfaces on social media – when you are wondering what to post or perchance do, to go out and run a mile. Run a mile and lose yourself in thoughts of those you’ve known, those you’ve loved, and have lost.

Where will your running data be tomorrow?

A friend posted a screenshot of a fitness app I had not yet seen. Indulging my shiny object fascination of the moment, running and fitness apps, I had a look at the capabilities of the app. The app appears to be a good fit to what he is trying to do.

Some veteran runners like to keep running logs, track their running over the years. I ran for years without intentionally logging my runs. In 1998 Runner’s World sent a free running log, and I began to use the log to record fitness activities including running. I began to have data I wanted to retain. Data that has to be stored and conserved.

Running log June 1998
Running log June 1998

Some thirty-five years ago I had an Atari 800 computer. The simple programs I wrote had to be stored on a audio cassette tape. During that same era the 5.25 inch floppy disk provided removable storage for the Apple II computer. Within a few short years the 3.25 inch floppy disk would supersede the 5.25 inch floppy disk. This past week the last computer with a 3.25 inch floppy disk drive was retired from the division in which I work. I still have data on 3.25 inch floppy disks, but that data will never again be accessible.

Running log
Running log early days

In 1996 I created a web site in CompuServe. In 1998 the FSM lost the dial-up connectivity to CompuServe and switched on direct connectivity to the Internet. I had to recover the orphaned data from a hard drive mirroring my on line site, moving the data to GeoCities. Within three years I was again moving that data to college servers.

Running log
Running log, September 2000. ASICS Gel MC+ 98 shoes.

Over the years I have learned that with changes in technology come orphaned, abandoned, and sometimes unrecoverable data. Today data is often stored in cloud services, which is almost more vulnerable to sudden change than hardware based technology. A storage provider may suddenly decide to depart the storage market (Ubuntu One) or start charging fees for what was once free storage (Amazon Cloud Drive).

Running log notebook 2010
Running log notebook style 2010

If the data is in a proprietary format, the loss of a software package may make the data unrecoverable.

When I first acquired a GPS enabled Android smart phone in late 2014, I looked for an app that could provide time, distance, and mapping capabilities for my running. Thirty years of rescuing and moving data is always on my mind when I make a data storage choice. I always want to know how a company plans to stay in business. If there is no clear way for the company to benefit from me or my data, then that is not a secure data storage choice. And the company should be big enough to fend off being acquired and taken apart by a competitor.

Running log 17 May 2015
Google MyTracks “running log” 17 May 2015

I opted for Google MyTracks reasoning that Google might just be big enough to not fail anytime soon. Google thrives on user data, MyTracks provides more information about me (where I am and where I tend to go) that has potential marketing value.

Google MyTracks Trace
Google MyTracks Trace

MyTracks provided only basic total time, distance, speed, and mapping capability.

NIke+ running app
NIke+ running app

During the summer of 2015 I became aware of a running app option that was functional in Micronesia, an option I had not seen in 2014. Although two of the market leaders, Runtastic and Runkeeper, are not available in the Google Play app store in Micronesia, Nike+ running was available. Runtastic and Runkeeper have a two tiered business model. The lower tier appears to be a lite version for free, possibly with advertising, and a paid subscription model with more features. Nike+ running is free – all features -and apparently an outgrowth of their abandoned fitness FuelBand.

Nike+ mapping
Nike+ mapping

Nike+ running provided data on splits, personal bests, and nice touches such as tracking total kilometers per shoe. All of the data a runner might want to access. Yet what of tomorrow? Nike has a business model that may be more sustainable than a small operation supporting a dedicated running app. Nike as a company certainly has the size and resources to survive. Yet the app is peripheral to their core business and could be shed like the FuelBand product. Whither one’s running data then? Where Google MyTracks could upload KMZ files to Google Drive, Nike+ has no clear path to data export nor extraction.

A dedicated app housed in a small independent software developer is equally insecure over the long haul. A company the size of a Nike or Google could buy the app or acquire the development team to enhance their own fitness apps should they choose to do so. Data may remain trapped in a proprietary format on cloud servers, inaccessible when the app no longer exists. A veritable 3.25 inch floppy disk of the modern era: without the drive the data is effectively lost. Without the app, the data generated by the app is lost.

Paper is not a particularly secure data storage option, but keeping a log in a notebook remains a viable option. I continue to echo run information into locally available composition notebook. That is the only way I have of knowing where my running data will be tomorrow. Where is your data sleeping tonight and will it be accessible tomorrow?