Dell P2715Q Display

About this Mac — Displays

So, I came across this Dell 4K display while visiting the new Nebraska Furniture that has opened close to us. (It’s quite an amazing place — retail’s revenge on — and it sells a lot more than furniture.) Anyway, I got it home, plugged it into my Macbook Pro 15″ (2014) and it just works (at 60Hz). That’s about all I can say about it.

Common Core Comprehension

My favorite joke about the mathematically inclined goes like this:

A mathematician, a physicist, and an astrophysicist are attending a conference in Scotland, and between sessions walk through the hills and come upon a black sheep.

“I had no idea that sheep in Scotland are black!” says the Astrophysicist.

The Physicist, arching a brow, sneers, “Typical. You see one black sheep in Scotland and you assume that they’re all black.”

At which point the Mathematician says, “Actually, all we know is that this side of the sheep is black.”

I don’t know much about the Common Core aside from the fact that it’s not the same thing as No Child Left Behind, but the teachers I know don’t seem to care for it either. (In general, I don’t think teachers particularly like being told what to teach except in the broadest of strokes.) A little investigation shows that the Common Core for Comprehension is more interested in teasing out figures of speech than actually parsing the meaning of text

It seems to me that what we really need is a Common Core for Comprehension. Consider this:

Jane, a six year old girl, is playing at home when her father enters the front door with bags of groceries. “Daddy, did you buy chocolate?” asks Jane. “No, but I bought cherries,” replies her father, who then empties a bag of cherries into a bowl, washes them, and puts them on the dining table. “I hate cherries,” declares Jane. While her father unpacks the rest of the groceries, she eats all the cherries and goes back to playing.


  1. Did Jane’s father buy chocolate at the store?
  2. Does Jane like chocolate?
  3. Does Jane like cherries?


  1. Jane’s father entered with bags of groceries. Assuming he did go to the store, we know that he said he didn’t buy chocolate, but he may have.
  2. Jane asked for chocolate. Anything beyond that is supposition. She may, for example, have been checking that her father bought the things he was asked to buy earlier.
  3. Jane says she hates cherries, but she ate a bowl of them (apparently quite quickly). It seems reasonable to conclude she does actually like them, but she may have been very hungry.

Bear in mind that it appears that no-one in the mainstream news media would appear to be able to answer these three questions correctly (I’m sure that many actually could, they’re just paid not to), so we do have a problem here, and I think it’s more important than whether kids can solve arithmetic problems “lickety spit”.

According to its official website:

The reading standards focus on students’ ability to read carefully and grasp information, arguments, ideas, and details based on evidence in the text. Students should be able to answer a range of text-dependent questions, whose answers require inferences based on careful attention to the text.

A little investigation shows that there is a “Common Core for Comprehension” (part of the English syllabus) but it devotes far more attention to figures of speech (most of 9th-12th grades) than actually parsing the meaning of text (some of 4th-5th). Such attention as there is emphasizes drawing conclusions and making inferences rather than figuring out what has actually been stated. While it’s no doubt useful to be able to correctly label figures of speech — none of which is necessary for comprehending the fact that “Fred is an ass” doesn’t necessarily mean Fred has four legs or infer from “Claude says, ‘Hi'” that Claude is probably male and not a stapler — apparently teaching kids to actually comprehend what they read (isn’t that “reading carefully”?) is not, in practical terms, part of “comprehension”.

Clifford Simak, Flying Houses, and Self-Driving Cars

When I got into SF in my teens, it was divided roughly into three broad phases, each dominated by an influential tastemaker. Hugo Gernsback (of the eponymous “Hugo” awards) essentially built a genre around the work of Verne and Wells. SF of his era were dominated by super scientists who were also all-round fabulous guys. This is the era in which E.E. “Doc” Smith emerged.

The second phase, from the late 30s through the early 50s, was dominated by John Campbell, who pushed for more rounded and realistic characters, but had his own foibles, such as a penchant for powers of the Mind (the Lensman series straddles the eras). Asimov, Clark, and Heinlein all emerged during this period, which — Wikipedia tells us — celebrated “hard” SF (i.e. SF which tried to get the science right).

The third phase, which I grew up in, was eventually dominated spiritually by Harlan Ellison, and it was characterized by the integration of speculation outside science (e.g. politics, social anthropology). Fussing over the science became less important than setting and character. Ellison, Silverberg, and Le Guin were ascendant.

Clifford Simak had the misfortune to do his best work in the later part of the Golden Age, while belonging in the third phase. He was also prolific and somewhat uneven. His best known novel is City — apparently voted the greatest SF novel of all time by the readers of Locus more times than any other. If you haven’t read City you need to stop reading this blog and go find yourself a copy. (It’s not easy — it’s out of print, and not available in electronic form.)

Even if Clifford Simak were a terrible writer (and Cosmic Engineers was pretty terrible, even though he was a working newspaperman when he wrote it) he would be worth reading as an antidote to almost every SF cliché. His robots have emotions, his aliens are friendly and helpful in a weird and alien way, his stories tend to take place in rural settings, there’s nary a space battle nor gunfight to be seen, and when there’s violence it tends to be catastrophic, one-sided, and not solve anything.

Cityspoiler alert — is presented as a collection of traditional stories, passed from dogs to their puppies around the campfire, about a mythical race of creatures called “humans” for which no archeological evidence has been found. The stories happen explain away the need for such evidence, which the introduction drily notes is very convenient.

In the earliest stories, humans are living very high on the hog. Their houses are able to fly where-ever the occupants want to live (assuming a “housing space” is available to park in) and life is good (at least in the US). Everything hard or dangerous is done willingly by tirelessly friendly robots. When it’s pointed out to one of the robots that they’re slave labor, one responds that it has been created with effectively eternal life, so why should it resent a bit of servitude in repayment?

In a later story, humans explore Jupiter by transforming themselves into native Jovians (the only practical method given the hostility of the Jovian atmosphere). The humans discover that being a Jovian is simply so much better than being a human that most emigrate to Jupiter and are never seen or heard from again. The few remaining gradually dial out of existence by going into long-term hibersleep.

Left behind, dogs — modified for greater intelligence and the ability to speak by the humans — together with robots mind the farm, and gradually form their own society, with each dog having an assigned robot helper referred to as its “hands”. They live in peace and happiness for a long time until ants, who have been uplifted by one of the few remaining non-hibernating humans, start taking over the world. Asked for advice on dealing with the ants, a briefly awake human suggests extermination. The dogs and robots instead migrate to a new alternate Earth.

In the last story, human children are being raised on the new Earth by dogs and robots, but despite removing all cultural legacy, the human children engage in horrific acts of violence.

Look, seriously, go read it.

If you’re interested in Simak’s best books, my nominees would be:

  • City
  • Way Station
  • Shakespeare’s Planet
  • The Werewolf Principle
  • Project Pope

Anyway, I was thinking of Simak today while musing over the news that we could see self-driving cars being allowed on California roads next year. My wife and I agreed that the impact of self-driving cars on society will probably exceed the impact of the car itself (consider that the “suburb” exists because of the car) and it struck me that if there was one SF writer who had foreseen anything like what we might experience, it was Clifford Simak with his [self-] flying houses.

Obama’s Missed Healthcare Opportunity

When Obama was first elected, I opined that the first thing the Democrats should do is pass a simple measure requiring pay stubs to show the real cost of people’s health cover. This would make a person’s salary package far more transparent (e.g. all the raises people got from 2001-2008 pretty much went to their healthcare; it would be nice if people realized this).

E.g. I pay something like $500 per month for my health insurance — until the Affordable Health Care Act (“Obamacare”), I had no idea of what the insurance actually cost or how it compared to the health package offered by any other employer. When one employer says “we have great benefits” it’s completely unclear what that means. You don’t generally start drilling down into pharmaceutical and ER copays during a salary negotiation (well, I don’t). As soon as came out ( being a fiasco, albeit one that actually works now), I was able to look at how my plan looked compared to the various grades of cover offered under Affordable Health Care, and it turns out that it’s about equivalent to a Platinum plan, and for our family the cost of such a plan on a health exchange would be around $1600/month. This means my employer could be paying something like $1200/month for me — an important fact that is not easily discerned — that’s certainly more than it’s contributing to my retirement.

Despite the existence of the Affordable Heath Care Act, there still seems no provision for classifying employer-provided health cover in some kind of transparent way, so that (for example) when you’re deciding whether or not to change jobs, or which spouse’s health cover would work best for the family, or figure out the pros and cons of double coverage — you’re basically in the dark.

This affects me personally. Rosanna (my brilliant wife) recently took a job at UT Dallas. It includes, we were told, excellent health benefits via Blue Cross Blue Shield of Texas. BCBS, as it’s known, is probably the biggest brand in health cover in the US. My plan (which is via my employer, who is based in Washington State) is a variation of BCBS as well, and Rosanna’s previous cover (through the Federal government) was another variant of BCBS. BCBS is usually at or near the top of any list of coverage accepted by a healthcare provider. I should note that both of us have always had PPO (vs. HMO) plans, which are more expensive and offer wider choice.

For most of our time together, we’ve had “double coverage” — i.e. each of us has gotten the other covered through an employer-provided health insurance plan. Until June this year, Rosanna’s primary cover was her Federal plan, widely considered to be awesome. She frequently was denied prescribed medications (even generics), had to jump through hoops and waste immense time and effort—including unnecessary and expensive visits to specialists to rubber stamp prescriptions—to be allowed to receive needed medications (in many cases we simply aren’t allowed to pay cash for prescriptions). Then there was a two month period during which she was between jobs, and her Federal health cover expired. Everything got easier and cheaper. As secondary on my insurance (also BCBS, remember) the only time she was denied a prescription was when my insurer suggested a slightly cheaper but similar alternative drug—which turned out to be more effective—at least be tried first before the first drug would be allowed. She grudgingly switched to the suggested alternative and preferred it. Copays dropped from, sometimes, over $100 for a single scrip, to $40.

So, when Rosanna went through benefits election during the spinup of her new job (she’s an Associate Professor) she had some hesitation in getting her own coverage again (which cost her, just covering the two of us, about $250 per month; again we have no idea what the university pays). The benefits person convinced her that she could only benefit — in some cases her copays would disappear (which had been our experience with double coverage up until around 2012 when we moved to the Washington DC area where many doctors simply won’t handle insurance at all and expect customers to pay cash and get reimbursed themselves). So we agreed to try the plan as an experiment, and it is a nightmare. So far, by getting BCBS of Texas through UT Dallas in addition to my plan, we have lost money, time, and wellbeing.

To begin with, the immediate effect of my wife getting her own new health cover was that she simply couldn’t fill any prescriptions at all. My BCBS detected that she now had her own BCBS of Texas and —perfectly reasonably—refused being billed as primary. But BCBS of Texas prints insurance cards with no relevant information (needed by pharmacists) on them, and when the clerk tried to get the information from them he had to wait on hold for ten minutes and answer the same questions over and over (in the US no enterprise is able to ask a question once, so this is hardly unique to BCBS of Texas) only to be told to call a different number. The first clerk gave up at that point. Eventually, I found a sympathetic clerk who spent half an hour sorting it out and voila, we were able to fill prescriptions, but all her copays increased (from $40 to $120 in one instance), and for whatever reason our “double coverage” doesn’t do us any damn good.

Bear in mind that pharmacists, in the US, are harried people buried in tedious makework—filling the simplest prescription involves asking your surname (and trying to remember how it’s spelled) and birthday, often your address (for verification), fighting with a computer terminal, a cash register, a card swipe, some kind of nutty signature system that acknowledges you’ve received a drug or know about its side effects, a stapler, and a half-dozen pieces of paper — beyond their proper job which would be finding the right pills, counting them (three or four times in the case of pain killers), sticking them in a jar, and applying a label. In the US, the people qualified to do this crap have to get a PhD (which is ridiculous, but degree inflation in the US is rampant — optometrists also have PhDs) so their time is presumably not exactly cheap, and how a health insurance company can reasonably expect one of these people to waste 30 minutes to bill a single prescription baffles me; surely this is some kind of breach of contract or bad faith. Remember — every other insurer prints the required information on the card.

By the way, if you’re wondering about the rising cost of healthcare, maybe requiring someone who can look stuff up in a database, counts pills, stick labels on a jar, and operate a stapler to pay $120,000 in college tuition might have something to do with it. (In Australia, pharmacists have a slightly specialized bachelors degree — as do lawyers, doctors, and optometrists — and I don’t think society has collapsed.)

My twins are going through a horrible bout of gastroenteritis and were prescribed zofran, a decent anti-nausea medication. We got it through my insurance (thankfully, my insurance covers the girls) and it cost whatever our usual copay is (I simply don’t remember how much I paid, so it was probably $20 or so).

Rosanna has nausea issues and—on the same day—was also prescribed zofran. BCBS of Texas denied her the medication. So she got her doctor to prescribe her fennigan instead. They also rejected this prescription. (The pharmacy, after trying to reason with the insurer, pointed out that the cash cost of the drug is $10, so we simply paid for it ourselves.)

Note that without insurance, a generic version of Zofran costs $17.14 at Walmart.

So BCBS of Texas basically charges us money to screw us and, the way health insurance works in the US, we can only change her benefit election once per year (i.e. a year from now) or if there’s a life-changing event (like a birth, death, marriage, or divorce). We joked tonight that it would probably be better to get a quick $500 divorce, elect to drop the “insurance”, and then remarry than continue to receive this “coverage”. Seriously, it’s that bad.

When the Ebola came to Texas, one of our neighbors went a bit nuts and started waving down fellow parents at the local elementary school, trying to get us to sign a petition to close down the school (because you can’t just keep your own kids home without dealing with truant officers or whatever). I tried to reason with him and he eventually went off on a Republican talking points rant about how he’s been screwed by “Obamacare”. I told him that he was either being screwed by his employer or his insurer — they were just using Obamacare as an excuse. (Incidentally, my health premiums and copays went up this year, and the benefits people ascribed this to “Obamacare” as well.)

Here’s the point — it doesn’t do you any good to do good if the people you do good for can’t tell. If Obama and the Democrats had started 2009 by making healthcare costs transparent, they’d be in much better shape today.

Node-Webkit Development

I’m in the process of porting RiddleMeThis from Realbasic (er Xojo) to Node-Webkit (henceforth nw). The latest version of nw allows full menu customization, which means you can produce pretty decently behaved applications with it, and they have the advantage of launching almost instantly and being able to run the same codebase everywhere (including online and, using something like PhoneGap, on mobile). It has the potential to be cross-platform nirvana.

Now, there are IDEs for nw, but I’m not a big fan of IDEs in general, and I doubt that I’m going to be converted to them any time soon. In the meantime, I’ve been able to knock together applications using handwritten everything pretty damn fast (as fast as with Realbasic, for example, albeit with many of the usual UI issues of web applications).

Here’s my magic sauce — a single shell script that I simply put in a project directory and double-click to perform a build:

DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
echo "$DIR"
cd "$DIR"
zip app.nw *.html package.json *.png *.js *.css *.map
mv app.nw ../
cp nw.icns ../
cp info.plist ../
open ../

What this shell script does is set the working directory to the project directory, zip together the source files and name the archive app.nw, and then move that, the icon, and the (modified) info.plist into the right place (assuming the node-webkit app is in the parent directory), and launch it. This basically takes maybe 2s before my app is running in front of me.

info.plist is simply copied from the basic nw app, and modified so that the application name and version are what I want to appear in the about box and menubar.

This is how I make sure the standard menus are present (on Mac builds):

var gui = require('nw.gui'),
    menubar = new gui.Menu({ type: 'menubar' });
if(process.platform === 'darwin'){
gui.Window.get().menu = menubar;

And finally, to enable easy debugging:

    var debugItem = new gui.MenuItem({ label: 'Dev' }),
        debugMenu = new gui.Menu(),
    debugItem.submenu = debugMenu;
    menuItem = new gui.MenuItem({ label: "Open Debugger" });
    debugMenu.append(menuItem); = function(){

So with a few code snippets you get a Mac menubar (where appropriate), a Dev menu (if dev is truthy) and a single double-click to package and build your application in the blink of an eye. You can build your application with whatever Javascript / HTML / CSS combination suits you best.

Obviously, you don’t get a real “native” UI (but the next best thing is a web UI, since people expect to deal with web applications on every platform), and this isn’t going to be a great way to deliver performant applications that do heavy lifting (e.g. image processing), but it’s very easy to orchestrate command-line tools, and of course the chrome engine offers a ridiculous amount of functionality out of the box.

I should mention that Xojo is actually quite capable of producing decent Cocoa applications these days. (It sure took a while.) But its performance is nowhere near nw in practical terms. For example, C3D Buddy is able to load thousands of PNGs in the blink of an eye; the equivalent Xojo application is torpid. Now if I were doing heavy lifting with Javascript, perhaps it would tilt Xojo’s way, but it’s hard to think of just how heavy the lifting would need to get.