Blog: December 2017

Most of these posts were originally posted somewhere else and link to the originals. While this blog is not set up for comments, the original locations generally are, and I welcome comments there. Sorry for the inconvenience.

The Orville

I know I'm behind the times here. I missed the start of The Orville, but heard good things about it and have been streaming the season to catch up to where my DVR starts. I'm about six episodes in.

How are the The Orville people not getting sued by the Star Trek people? I can't tell where on the line between clone and homage it is.

I find it refreshing that we don't always get the pat human-centric happily-ever-after ending. Starfleet The Union doesn't get to impose its morals and values on the rest of the universe all the time ("About a Girl") -- but sometimes they intervene in other societies and it turns out to be the right thing to do ("If the Stars Should Appear").

There's quite a bit of humor, some of it "adult", and some of which works. I'd prefer to see fewer current cultural references in a show set 400 years in the future. So far the humor is mostly staying at the right level for what's trying to be an SF adventure show, but it's a risk. Please let's avoid too much slapstick and frat-house "humor".

The jury is still out on some of the tropes. The not-a-Klingon second officer from a planet whose main industry is weapons and whose people value machismo? Check. Android science officer who's smarter than everyone else put together but is challenged to learn human culture? Check. Captain who's all too susceptible to a pretty face? Check. (But he couldn't make his marriage work. But we might see another shot at that yet.)

With some other things, it's too early to tell. The female security officer who's barely more than a hundred pounds dripping wet, but super-strong, seems a little too cardboard so far; I want to see less "but she's a girl" and more competence. And the male couple worked better for me before I learned that they're basically an all-male race, so they aren't actually showing a gay couple being perfectly normal after all.

The same person created the show, writes a lot of the episodes, and stars in it, and that could throw an ensemble show out of whack. The captain is not the most interesting character on that ship, and I want to see some of the others get some development. So far at least one is being played entirely for laughs (Yafet), and the show would be stronger if they didn't do that.

But I'm still wondering what's going on with whoever owns Star Trek these days.

How can a non-programmer document database behavior?

Someone asked a question on the SE site for software engineering. Paraphrasing (to avoid violating the license): this person, a non-programmer, uses RDBMS tables populated by code from the team, and is looking for a way to document the "contracts". For example, a table of account changes records only ones that took effect, not all attempts; where would one document that? Or, there's a job that affects accounts that have not been changed in N days; does that mean exactly N days, down to the minute, or just the dates? Thus far this person has had to ask the developers who wrote the code; adding documentation could help the next person who comes along.

This is the answer I posted:

In general, the closer documentation is to the code that it documents, the more likely it is to stay correct over time. This is one reason that auto-generated reference documentation like Javadoc and Doxygen works better than externally-written reference documentation: the usage syntax that generated documentation shows is by definition always correct (drawn straight from the code), and the comments are right next to the declarations in the code so there's a better chance that somebody editing the code to change the interface will see and (we hope) update the comment. Read moreā€¦

A testing memory

My high school was solidly mediocre, which meant it had basically nothing to challenge me. I don't say that to say "hey look how smart I am" but rather to say that the school lacked the means to challenge students at a variety of skill levels, so if you were at the wrong ones, high or low, you lost out. Everything was calibrated for the C-student, pretty much. Aside from having the option to take algebra/geometry/trig instead of "math 10-12", and a couple optional science classes, there were no choices for the college-bound. (There was a strong vo-tech program, and there was a "business track" to train secretaries. I kid you not.)

So anyway, when I was in, I think, 10th grade and we were offered the chance to take a national aptitude test just to figure out where we were actually stronger or weaker, I took it. It reported results in six broad categories. In five of the six I was 99th percentile, so that didn't help and I don't even remember what the categories were.

In the sixth category I was fourth percentile. The category was "clerical speed and accuracy". The test consisted of pages and pages that looked like this:

CCCOCCOCCCCCCCOCCCCCCCOOCCCCCCCOCCCC

Line after line after line, no spaces. The task was "count the 'O's" and it was a timed test. The score depended on both how many you got right and how many blocks you got through. (Just to be clear, this was a paper-and-pencil exercise. No search. :-) )

I thought of this today during one of my most-loathed tasks for our team's documentation releases: the "production check". Everybody on the team is given a slice of our (very large) HTML documentation set to "proofread" before publication. The instructions actually say "proofread", like I could possibly read all that in a day or even two. (And have I mentioned that our team is half the size it was a year ago?) I scan each page looking for anything that jumps out, like weird formatting or bad headings or suspicious syntax blocks. I spend more time on parts that have been heavily modified since last time (I can haz source-control logs), but it's still scanning. Meanwhile, my wrist is unhappy because the navigation requires lots of mouse-clicking, and I wonder how I could make it more keyboard-driven but never solve that. (There's a multi-pane focus-grabbing thing I don't know how to solve.) But mainly, my eyes start to glaze over after a while. And all I can think of is that this isn't so different from "CCCCCOCCCCCOOOCCCCCOC" after a few hours.

Fortunately this only happens four times a year, for a day or maybe two. The rest of the time I can get out of the fourth percentile. Maybe even into the 99th.

Small payments are still hard

If you use Patreon, a site that connects creators (writers, artists, musicians, cartoonists, anybody) with people who'd like to support their work, then you probably already know that they're about to start charging the patrons (funders) for the credit-card transaction fees. (So you signed up to pay somebody, say, $1/month, and you'll now be charged $1.38.) What you might not have noticed is that they're charging a little more than what the credit-card companies charge them, and they're charging for each individual transaction even though they charge your card once for all the creators you support each month. Uh huh. Siderea did some money math on their current practices.

One of the complications in trying to do online financial match-making, whether that's Patreon or PayPal or others, is that actually holding money is messy, legally speaking. So creators who have income and support other creators don't get to pay from their income (which is just bookkeeping); each transaction has to start with a credit card and end with a deposit. Or so it sounds.

Back in 1995 when the web was still young, I went to work for a micro-payment research project at CMU, NetBill. The idea was that consumers used a credit card to load some small amount, like $20, into a NetBill wallet, and merchants could sell digital goods for a nickle or a dime or $1/month or however they wanted to structure things. There was a secure protocol with escrow so nobody got screwed, and nobody was paying transaction fees on ten-cent sales. Since this was a university research project it was never set loose in the wild, so nobody ever had to decide what NetBill's fees would be. What made me think back to that now is that I have no idea how the financial regulatory stuff was supposed to work; we were holding money, after all. What I do know is that the project had Visa and a major bank on-board from the start to make sure it would be legal. Now I wonder how they planned to do that. I assume the rules have changed since then anyway, but I now realize that this was a part of the business model that I had no real insight into.

(I joined the project in part because it sounded interesting and in part because it sounded like something that could launch a start-up and that sounded interesting. Instead, two years after I joined, CyberCash licensed the technology and that was the end of that.)

Making small payments was hard then and it hasn't gotten much easier since. If you want to publish through Amazon Kindle or iTunes you can still make some income that way (and of course the platform takes a large cut), but self-publishing for small amounts is still hard. And supporting people without going through the "make a sellable thing on Amazon or iTunes" is even harder.

Edited to add: Some donation-processing systems give donors the option to pay the transaction fees. For example, Jewcer, the site we used to raise funds for "Days of Awe - Mi Yodeya" a couple years ago, was like that, and most donors tacked on the fees. My congregation asks members to kick in the fees when we make credit-card payments and, again, it's optional. Sometimes I do, sometimes I don't -- depends on what the payment is for. But the key is that it's optional. If Patreon had offered patrons the choice instead of imposing the change, this might have gone over better -- but they couldn't do that, because they're using this to overcharge for those fees so people who know that won't go along with it.