Saturday, April 22, 2017

Game Homage! Not Really

So fun when you find your name in a game! Ok my name is also an adjective and as an adjective isn't particularly uncommon. Here's a "hack the terminal by guessing the password" screenshot from Fallout 4. (A room mate of mine from a long time ago is in game design and had her name as a sign in one of the BioShock games, which was cool to see. This is not that, but it's fun anyways.)

Tuesday, April 11, 2017

Why Isn't Underlining Dead?

I was editing a shared document, and we had a bunch of different header types, and some were in underline style.

I changed them to italics.

Now, the history lesson.

Back in the day of typewriters (IBM Selectric II with correctible ribbon ftw!), you had the keys (same pretty much as computer keyboards today) and each key related to a ... thing. Arm? The typing part that thwacked away onto the ribbon, leaving an imprint on the paper (and if you hit too many keys at the same time, the arms would try to occupy the same space at the same time and they'd get stuck). Oh, "type hammer" or "typebar", well those are ungainly.

Each bar / arm had two possible items it could print -- usually, a lower case and an upper case of the same letter. Hitting the SHIFT key would adjust the mechanism (I don't recall how anymore) so that instead of the lower-case part of the key hitting, the upper-case part would.

So you see what is missing: not just fonts, but italics or even bold.

Underlining was easy though: just back up and hit the underline key. _____ Like that but now on the computer _ is its own character in a way that can't be used to underline letters (other characters).

Underlining was the way you indicated to the typesetter (for printing for real, in a book or journal or magazine or newspaper, that is, on paper) that you wanted italics. Even early on with computers when you could have the computer do italics, often we were still told to use underline and then the typesetter would know what to do, since it was the same old thing. Computers were just fancy typewriters in this way -- but of course, they weren't.

Today we are stuck with so many web pages and word processor programs that insist on using black text and a white background to look like black ink on white paper. It's familiar, we know what it is. But that paradigm has been, not dead, but well yes dead in its solitary focus. We can do black ink on white paper, but we don't have to do black on white in the digital space. The paradigm should be "do what is nice and readable." The Financial Times, which prints on slightly pink paper, brands its website in this way (pinkish background), which is sensible. (Actually it's looking yellow, I thought it looked pink a few months ago.) Microsoft Word Mac used to have a "white text, blue background" option which I loved for many versions starting in at least 5.1, but they recently killed it and we're stuck with the black ink on white paper paradigm.

Maintaining the familiar within the new is a long-used approach and helps adoption of new technologies. "Horseless carriage" was what people called "cars", they knew what horses were and what a carriage was. "Wireless telegraphy" was early (pre-music/voice) radio, as people knew what telegraphy was and what wires were. "iPhone" well no it's not a phone, it's a hand held color wireless computer and communicator, but "iPhone" well people knew what cell phones and iPods were, so...

And thus black digital text on white digital background. And, keeping the computer and its keyboard and the overall gestalt familiar, underlining in the fonts. But we don't need it. It's redundant (it means italics!) and I don't think it looks very good. It is time for underlining to end.

Python 3 vs. Python 2.7

I decided it was finally time to move to Python 3 from Python 2. Having done so, I don't see why I wasn't using Python 3 years ago, although my code worked just fine so it wasn't really a big deal.

Python 3 has two big advantages, and there's also a third reason you should be using it by now.

  1. Unicode: You don't have to worry about catching Unicode characters in string types anymore, Python 3 does it for you. This is a concern for me with web scraping. So much easier.
  2. For years I've read about the following dilemma in OSX, with no solution: 
    1. If you DON'T install your own copy of Python 2, you are modifying the OS's copy of important libraries and such, and that can cause problems.
    2. If you DO install your own copy of Python 2, you then have two versions of Python 2 on your computer, and that can cause problems.
    The solution... just install Python 3. These two problems aren't even relevant.
  3. But, the best part was that about 99% of my code still works as is. All I've had to do so far is change print statements, from print "Print this Py2!"  to  print("Print this Py3!"), and get rid of the Unicode error catching.