A couple of iOS apps I have been using lately that have lived up to or exceeded my usability expectations:

Chunky, a straightforward, calibre-compatible comic reader for iPad. Free. Significantly superior to the now-Amazon shackled, and therefore calibre-resistant, Comixology.

Marvin, the first iOS reader to acheive feature parity with the late, lamented eReader for PalmOS. The first! It’s a goddamn outrage. Neither Kindle for iOS nor Apple’s iBooks offer customizable color schemes for dark-background nighttime reading, nor do they offer autoscroll. eReader on even very old Palm devices which utilized an LCD screen offered a night-vision compatible, gesture-adjustable (both brightness and speed) autoscroll experience.

I’ve recently installed the iOS WordPress app, and it’s lacking  quite badly, specifically with regard to on-screen type render speed – even in very short posts, I find my typing running several words ahead of the cursor display. So to an extent I am on the hunt for an iOS word processor, although that quest is not front and center.

The other huge usability annoyance I have been fighting lately is iOS itself. I’m running 9.3.5 on an iPad 3, and that appears to be the final release on this hardware. WordPress’ difficulty with type seems to be associated with this operating system’s generally aggravating type rendering performance, something I note as well in the context of text-entry boxes on contemporary web sites and inside some apps. The biggest annoyance, however, has been Apple’s continuous and pointless manipulation of both text-selection contextual popups, autocheck for spelling, and the partial and unreliable abandonment of the initial conventions for cut-and-paste.

Previously, cut and paste functions were accessed via the always-mysterious action button (the little box with the upward-pointing arrow) and within the white-text-on-black popup associated with text selection. Now, in some contexts, a row of very un-iOS icons can appear above the keyboard when text has been selected and is available for a cut and paste operation – an arrow, a pair of little boxes, and another pair of little boxes. The icons are intended to represent cut, copy, and paste, in that order. Yet the dual dual boxes fail this communcation duty utterly. I can only determine their intended meaning because I have internalized a conventional order to the operations – cut, copy, and paste. The second pair of boxes would be better replaced with a System 7 style image of a paste brush, and why isn’t the copy icon here the iOS copy icon? The paste icon in this little row of inscrutable heiroglyphs actually looks more like the overall system icon for copy than this one. Absurd. Steve hates you, Apple iOS UI directorate.

Google Forms date and time lookups

(Originally written as a Google Docs Forum post)
I have a google form that records data such as
2/2/2015 12:41:49 179.2 0.81 140
2/3/2015 14:34:24 177 1.06 147
2/4/2015 12:59:45 179.2 1.21 153
2/5/2015 11:15:26 177.2 1.14 148

I am interested in performing a lookup on the *date only*, with the intent of recasting the data in another tab within the same sheet.

The destination tab has a prepopulated date which can be used to perform a lookup. However, as it is the date only the underlying numeric date value is distinct from the underlying date value populating the datetime stamp field in the form data. That combined with the way that VLOOKUP performs fuzzy matching means that the data retrieved is generally associated with the previous date.

Here is an example showing that exact issue.

The formula used to perform the lookup is


What is needed is for the source datetime column to be evaluated for just the date part, or to evaluate for a matching substring. I don’t think hlookup and vlookup can do this.

One possible way to do it is to add a column in the form’s sheet that performs the =INT(datetime stamp) operation and then point vlookup at that column, but I am reluctant to prepopulate the spreadsheet with that data because in my experience adding data to a form-derived spreadsheet causes the form to populate the next blank row beneath the data stored, and thus defeats my purpose.

Writing this, I wonder if I can add a hidden field that performs this operation at submit, splitting datetime into date and time columns in addition to the datetime column.

Beyond that, I was interested in learning how to perform the date extraction algorithmically anyway. I have seen similar questions posed that reference array formulae and the use of QUERY. I had thought given my desire to recast the data in a given additional tab with various hardened formatting features an array formula is not what I want, but I was open to suggestions.

I resolved this on my own.

The solution was to add two columns in the form’s destination sheet, DATEINT and TIMETEXT. I have placed them as column B and C.

Then, I added the following array formulae to the first row beneath the new columntitles:


= ArrayFormula(INT( A2:A ))


= ArrayFormula(TEXT( A2:A , "H:MM:SS" ))

An unused approach was to convert the date to text as well:


= ArrayFormula(TEXT( A2:A , "M/D/YYYY" ))

The array formula autofills down the sheet on the populated rows and will extend as data is added to the field. It does not impede form data collection.

This answer on the forums was helpful.

Researching this solution, implementing it, and writing about it took about an hour and a half.

Kuma and Go

(Originally posted as a comment on this post, Hisashi Iwakuma agrees to deal with Dodgers, at Lookout Landing.)

Kuma is literally the only reason I developed an interest in MLB. I stumbled across livestreams of the Tohoku earthquake in 2011, the sea rising incomprehensibly on the screen of my iPhone, a black video wipe across thousands of lives. I became depressed as the nuclear emergency was recognized and both incompetently handled and reported for over a week thereafter. Seeking hope and solace, I put my newfound expertise at navigating online Japanese media sources to work, and followed the 2011 campaign of the Tohuku-based Rakuten Eagles with pirate-stream 3 A.M. raccoon-eye enthusiasm.

They sucked. Kuma had tried to go MLB to Oakland after his seven years but an injury knocked him out of the contract negotiations and onto a long-ass stint on the DL. When he pressed his case to the MLB over the break in 2012 he was still recovering, no-one in the US (that mattered) knew who he was, and the M’s literally lucked into him.

He was benched longer than any other roster player in that season, sitting disconsolate and alone in the bullpen next to Antony Suzuki, the team’s translator. Suzuki literally sat between Iwakuma and his Mariners teammates, physically at the very end of the bench.

I was at a bunch of games early that year because opening day had produced a giant cluster-f in the concessions which led the Ms to offer freebie makeup tix to everyone who attended that game. The makeup tix were very cheap on Craigslist. I had a lot of opportunities to observe Kuma, shoulders slumped and isolated on the bench.

At one of these games, I was able to draw a smile and a hat tip as I waved my Eagles cap and called his name. A bit later in the season, on a Rainiers Turn Back the Clock day, he signed both my Iwakuma M’s jersey, purchased before his first start, and the Eagles cap. He included appropriate uniform numbers on each sig.

I was at his career-high strikeout game, 13, thrown immediately after returning from a whirlwind trip to Japan to say goodbye to his dying father. I was at his duel versus Darvish, in which he dominated the younger man. I’ll forever be denied my dream of Iwakuma vs. Tanaka, it seems. Last year, my wife and I adopted an aged black lab mix, formerly feral in Snohomish County. I attempted to name the 90-pound black behemoth Kuma. The dog over-ruled me, insisting on “Logan” instead. I was unable to attend Kuma’s no-hitter, as the unusual thunderstorms in the area that day ramped the big dog into a state of such fear and anxiety that he tore the door frame to my bath off as I attempted to shower in preparation for attending the game. We watched it together on the couch, my mild resentment at his neuroses growing with every whiff.

I would have to say, given my near total disinterest in the Mariners this spring during Kuma’s injury hiatus, it’s an unsettled question if my interest in MLB and Mariners baseball will survive his departure. I came to it late for reasons unrelated to family or tradition. I’m middle aged and don’t have kids. My dad is not a baseball fan. My next door neighbor, a senior who was a baseball fan and with whom I enthusiastically shared these past few years, died in his sleep the night before last. I can think of many other ways to spend my time.

Whatever happens, thanks, Kuma. You’ll always be my favorite ballplayer of all time. Ganburo!

The Starlost

Metafilter takes a look at the forgotten and reviled 1973 generation-ship SF series The Starlost, which I have never heard of. Sounds totally fascinating, combining elements also seen in Silent Running, Space: 1999, Logan’s Run, Roddenberry’s Genesis II, and of course the original Battlestar Galactica.

Boy, mainstream TV SF sure had a hardon for the apocalypse, didn’t it?

Count Affects Call

Four Strikes And You’re Out –

This one call illustrates a statistical regularity: Umpires are biased. About once a game, an at-bat ends in something other than a strikeout even when a third strike should have been called. Umpires want to make the right call, but they also don’t want to make the wrong call at the wrong time. Ironically, this prompts them to make bad calls more often.

Ha, is this turning into a baseball blog? Man, I gotta recode the posting bookmarklet, it ain’t cutting it.

Tanaka SI feature

In Masahiro Tanaka, Yankees buy a ready-made ace – MLB – Tom Verducci –

The innings and pitches just kept piling up. In one stretch of five starts in 2009, at age 20, Tanaka threw 124, 137, 142, 125 and 137 pitches. Angels ace Jered Weaver hasn’t thrown 124 pitches in a game that many times in his entire eight-year career, covering 231 starts. Two years later, in just the second week of spring training, Tanaka threw 520 pitches over five throwing sessions that spanned seven days, capped by a 207-pitch bullpen only two days after a 120-pitch session.

Explained Tanaka after his 207-pitch marathon, “I wanted to find out if I could keep pitching using the [right] form despite throwing a lot of pitches. I wanted to throw a session where I was tired from the start.”

Lawrence Wells on Soundcloud

My old college chum Lawrence Wells and I have been goofing on each other on Twitter (I refer you to the inevitable Twitter digest, of course). He bruited a terrible metal band named “Midlife Crisis,” and I flung him a backpanel logo sketch promptly.

He then suggested a distributed band, and passed his Soundcloud URL along:

Lunar Lander.

I post it here so I can find it easily later. I don’t think we’re actually gonna do the collaboration but I do want to hear his music.