Machine translation is IP theft, if you really think about it

“What mostly annoys human translators isn’t the arrogance of machines but their appropriation of the work of forgotten or anonymous humans,” a New York Times article writes.

I’ve never thought of it this way, but it’s entirely true. Machine translation, as bad as it is, only works because the scientists have stolen the work of countless translators and refuse to credit them as co-creators of the knowledge their machines depend on.

Newline after each sentence

A few days ago MR posted an XKCD comic that mentioned that some people put a newline after each sentence. And the way the comic is drawn seems to suggest these people are outliers.

I had a lot of problems with that comic. For one, being XKCD, the artist should have known that this style is favoured by many programmers, because to do otherwise would mean havoc when diff’ing. This third group of “outliers” is actually much bigger than the artist believes.

In any case, it turns out that putting a newline after each sentence has an unexpected benefit: If the text contains sentences that are too long, they literally stick out and shout at you. If your xterm is 200 columns wide and you’re still seeing tons of line wraps, you know you’ve got a major problem.

This got me thinking: We really need to make it easier for people to edit tagged text, and I don’t think the current breed of “programmer’s editors” is cutting it. We need a new paradigm where distracting details can be hidden, so that the benefits of “newline after each sentence” can be exploited.

Should I get an Orbit Reader?

Yesterday I stumbled onto Debbie Gillespie’s blog, surprisingly, by way of Editors Canada (actually Editors Toronto, even). I wish I had found this earlier, since what Debbie reported back in July 2014 directly contradicts what’s being taught in my program, and had I found it back then I’d still be able to change what I wrote.

Anyway, I followed the rabbit trail and eventually landed on the page to preorder the Orbit Reader 20. $50 would be easy to fork out, but I’d eventually need to pay $450 more, plus taxes (still much less than those other devices that I can’t afford, but still a significant amount of money). So should I get the device, or not?

Maybe not now? I should probably not hold up a device for people who really need it?

That worst designed thing known as systemd

Maybe systemd was not designed for people who customize their Linux systems a lot. So it must have been designed for the “average” end users, right?

How about something as end-user as switching wifi networks? Switching to a better wifi network is such a common thing you’d want to do (at least for people whose school sabotage their own eduroam connections so that people have to disable it while on campus but reenable it while off campus—yes, I’m talking about my own school, hello OCAD ITS) you’d think systemd must make it easy for the end user? How about easy to automate, as in you can script it?

When I started using Ubuntu a year ago I spent tons of time figuring out how to script Network Manager and all the pages I found suggest this simply can’t be done. You have to use the applet. So much for easy to use.

But nm-applet crashes all the time, and sometimes when you restart it it won’t even work. So what to do?

Just a few minutes ago I discovered that nmcli’s c command actually has an up subcommand, so I thought I discovered the treasure. But how well did it work, like actually?

ambrose@pingu:~$ nmcli c up 'xxxxxxxxxxxxxx 1'
Error: Connection activation failed: No suitable device found for this connection.
ambrose@pingu:~$ nmcli c down xxxxx
Error: 'xxxxx' is not an active connection.
Error: no active connection provided.
ambrose@pingu:~$ nmcli c down xxxxx\ 1
Connection 'xxxxx 1' successfully deactivated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/0)
ambrose@pingu:~$ nmcli c up 'xxxxxxxxxxxxxx 1'
Error: Connection activation failed: No suitable device found for this connection.
ambrose@pingu:~$ nmcli c up 'xxxxxxxxxxxxxx 1' ifname wlp3s0
Error: device 'wlp3s0' not compatible with connection 'xxxxxxxxxxxxxx 1'.
ambrose@pingu:~$ 

Hello? How’s a wifi device incompatible with a wifi connection?

Ok, maybe it’s a permissions problem (which means their error messages are crap).

ambrose@pingu:~$ sudo nmcli c up 'xxxxxxxxxxxxxx 1' ifname wlp3s0
[sudo] password for ambrose: 
Error: device 'wlp3s0' not compatible with connection 'xxxxxxxxxxxxxx 1'.
ambrose@pingu:~$ 

Ok, I give up. I really don’t understand why anyone would think this Network Manager thing helps the end user. I had to work with wpa_supplicant directly on the Pi; working directly with wpa_supplicant is way easier than this once you figured out how to work with wpa_supplicant, you can’t even figure out how Network Manager does its thing.

Why is the granularity returned by the Linux driver so low?

So reading a Macbook’s ambient light sensor in Linux is just reading off /sys/class/hwmon/hwmon2/device/light – That seems easy and good, a far cry from having to write a C program.

The problem? Linux’s granularity of the read is way too low.

In MacOSX, the sample program returns numbers in at least the hundreds range. I can see the numbers change if I try very hard to cover where I think the sensors are. I get nonzero readings even in late afternoon when the room is nearly dark. In MacOSX, the light sensors felt super sensitive.

In Linux, the kernel returns an ordered pair like (12, 0) if I turn on my bright spotlights. If you put a piece of tape over the the webcam like a lot of people do, you get something more like (9, 0).

First disturbing thought: No matter what the ambient lighting looks like, Linux gives you zero for the right-hand-side sensor.

Even more disturbing: If I turn on just my regular 60W light I get all zeroes. From Linux’s point of view there’s no difference between no ambient light at all and having about 800 lumens dispersed in a small room. Heck, I get zero even during the day, right next to a window (so I live in an apartment – we get crappy lighting in apartments, but still). Compared to MacOSX, in Linux the light sensors seem so insensitive they are practically useless.

If we get zero even during the day, what point is reading from the light detectors? I can’t even tell night from day, or a darkened lecture hall from a brightly-lit classroom.

Short of reading the kernel source code is there even a way to figure out why granularity is so low?

Interim test plan

(If you belong to the same organization as I do you’ll know what this is for.)

This is a work in progress, but right now (October 5) I’m thinking:

General usability

  • Menu items should not generate 404 errors

Accessibility

Typography focused

  • Contrast ratio should be adequate
  • Elements intending to have contrast should have perceivable contrast

Keyboard operation focused

  • Each page should be navigable by keyboard alone

Text browing focused

  • Each page should render properly in a text browser
  • Logging in without Javascript should be possible
  • Pages should not contain garbage content when Javascript is not available

Localization

  • Dates generated by the template should be in French
  • Other content generated by the template should be in French
  • Static elements in the header and footer, etc. should be in French
  • Hidden elements that can be seen by a screen reader should be in French
  • Hidden elements that can be seen by a text browser ideally should be in French

OCAD Bookstore should do better (yes, @51OCADU)

I received some promotional mail from OCAD’s bookstore today, and this is it, in its entirety:


Having trouble viewing this email? Click here. Terms of Use | Contact Us

Without loading remote images (reading email with remote images is an unsafe practice), the mail they sent me is pretty much completely devoid of content.

So what if I clicked the link? I chose to do it on my text browser and I found that it’s pretty much just the same thing, only worse:


Having trouble viewing this email? Click here. [c8652cd6-9923-4d17-abae-bd5543fc82ca] [6b674e6e-88df-406a-9e68-8645794bc916] Terms of Use | Contact Us. OCAD U Bookstore, 51 McCaul Street, Toronto, Ontario M5T 3K4 Canada. SafeUnsubscribe? Tell a Friend! | Update Profile | About our service provider. Sent by manager@51ocadu.com

The mystery: Why did they even bother? If someone is “having trouble” seeing the original email, they probably can’t see images. Why repeat exactly the same thing, with no alternate text?

I was viewing the linked page on a text browser, which when confronted with alt-less images is smart enough to truncate some file names and replace some small ones with asterisks. (Text browsers, after all, are still visual interfaces.) Blind people, using screen readers, are going to be tortured with the images’ super long file names.

I know our bookstore is run by U of T, but if I called out the U of T wouldn’t it be even more damning? This is 2016, friends.

Lack of braille literacy… among non-blind people

I just saw this posted on a job board:

We would need help to have the three words below translated into Chinese and converted to Chinese Braille. The text is intended to be used on signs in an elevator.

When I saw this my first thought was: What country?

I looked hard and country was not mentioned.

I don’t know Chinese braille, but I know enough to see that the posting, as written, is completely meaningless; it’s like asking for a sign language interpreter for English.

Seriously, the real way to make the program more well-known is to mingle with the rest of @OCAD and not hide in our own little corner

I’m now halfway through listening to all the job talks by our GPD (i.e., department chair) candidates, and one thing that struck me when this morning’s candidate gave hers an hour ago was her comment that allowing other OCAD students to take INCD courses could be a way to make the program more well-known.

Seriously? Would anyone want to take our courses?

And she said we can’t change our courses and course descriptions. Seriously? If they don’t fix our courses but allow other students to take them, our program will be well-known for bad courses in no time.

My take (which hasn’t changed since four years ago): The way to make this happen is to actually interact with the rest of OCAD. Join student clubs. Go to openings. Answer calls. Not hiding in our little corner in that dreaded building now known as RHA.

Syndicate content