Plex: Rename a TV Show Season

I’ve recently been working on digitizing our media collection using Plex. For the most part, the system works amazingly smoothly, provided you closely follow the naming conventions Plex expects, thus enabling it to find metadata about each file from the various online sources.

Problems arise when you want to add your own home media, or in my case, adding school media such as Math-U-See video lessons. Plex treats these as “TV shows” and it names TV show seasons using just the number, e.g. “Season 1”, “Season 2”, etc. This is not very helpful for identifying Math-U-See lessons, since they are named “Alpha”, “Beta”, etc.

Plex has a built-in editor for renaming the show itself, but inexplicably it does not provide an editor to change the name of a season. However, there is a way to do this. By adding an HTML input to the screen while editing a season, it turns out Plex saves the value and renames the season. Hooray! Just copy the following JavaScript and save it as a bookmarklet in your browser (in Chrome, go to the Bookmark Manager, Organize, Add Page, name it whatever you want, and paste the below code into the location box):

Then, in Plex, navigate to the season you want to rename, click the edit button, and click the bookmarklet. It will prompt you for a name. Enter whatever you like, click OK, then click Save Changes, and you’re done!


Back to GMail

A little over a year ago Google announced Inbox, touting it as some kind of new way to revolutionize email. (Never heard that one before!) Some of my coworkers gave it a try and said they liked it, so I went to sign up. I was promptly rebuffed by a page which insisted that in order to use the web application, I’d need to first activate Inbox on my smartphone. Problem is, I didn’t have a smartphone, because I was secure and happy in my position as a dumbphone-equipped living anachronism. Yet, in an instant, I had become a victim of smartphone bigotry by this prejudiced and opinionated web application refusing to serve me just because I didn’t own a smartphone. I had become the Rosa Parks of the tech world.

So I told them (that is to say, I told myself in a passive-aggressively belligerent fashion) they could keep their lousy bus; I’d walk. And I stuck to GMail.

Then, earlier this year, to the shock and amazement of all who knew me, I bought a smartphone and signed up for Ting (FYI, that’s a filthy capitalist pig referral link, and you’ll get $25 credit for signing up with it). This was prompted in part because my dumbphone had an encounter with the Columbia River (it having the misfortune to be sitting in my pocket as I jumped into the water to shove my sailboat off the muddy shores of Bateman Island following a particularly heavy grounding). The phone did actually recover from the incident, but afterward the battery would only hold a charge for about a day. And I mean to say, if I’m going to be plugging in my phone to charge it every single day like some smartphone peasant, then I might as well be deriving some smartphone benefits instead of being stuck with only the drawbacks.

So anyway, after selling out all my principles to the smartphone, I promptly signed up for the Inbox bus. (I pulled my hat low over my eyes so they wouldn’t recognize me.) The mobile app turned out to be pretty great; I still have it installed. The web app also seemed great…at first. But here are the things wrong with it.

Nowhere is Safe (to Click)

I don’t know how most people set focus on their windows (like if they switched to a different program and now want to switch back), but I pick a blank space on the page and click on it. This doesn’t work in Inbox, because if you have an open conversation, clicking anywhere in the grey area outside the email will cause the whole conversation to collapse. This is especially annoying when the conversation has multiple emails in it and you were reading one in the middle, because by default Inbox will just open the first and last message with the rest collapsed in the middle. (Same as GMail, but GMail doesn’t throw its hands up and close everything whenever you click on some whitespace on the page.)

Drag-and-drop Attachments Don’t Work (as Well)

GMail had this workflow mastered: drag and drop a file from your computer onto the email and it provides a nice interface to automatically upload and attach it. Smooth and easy! Inbox is supposed to do the same thing, I think, but it doesn’t. Dragging a file onto the email you’re composing flat out does not work unless you have “popped out” the email (i.e., you’re not composing a reply inline). Even when “popped out”, when dragging the file over the message, Inbox does not present a nice UI the way GMail does – the only feedback I get is the operating system “Move” cursor. Dropping it sometimes does attach it to the message, and sometimes it just opens the file in the browser (navigating away from Inbox entirely).

(Some) Keyboard Shortcuts Don’t Work

I love keyboard shortcuts. Why use a mouse when you don’t have to? And shortcuts in GMail are great. you can do all sorts of things without ever touching the mouse. You can also do most of these things in Inbox, but not all – Ctrl+Shift+C and Ctrl+Shift+B to focus the Cc: and Bcc: lines on a message you’re composing do not work in Inbox. This annoys me to a surprising degree. Likewise, labeling: l should offer to label the current conversation. This does not work in Inbox. Speaking of labels…

Labels? What Labels?

Labels exist in Inbox, but they are not the same. They’re treated more like folders, where you “move message to…” whatever label you want. In GMail, you can apply multiple labels to a conversation and they all show up on the message itself in whatever view you’re using. This is helpful for keeping track of which conversations need a reply, which want a followup later on, and so on, while still allowing you to organize mail by project, client, or any other desired metric. (Inbox partially solves the “needs a reply, but not right now” problem with the concept of “snoozing” a mail – making it disappear from the inbox until a specified time. I really like this concept, but it’s not enough by itself.)

Which Message are You Replying to?

If you’re using keyboard shortcuts (and you should be), then you will find immediate annoyance in how Inbox handles replies in a multi-email conversation. Sometimes, when multiple people are involved in a conversation, it is useful to reply to a particular message in the middle of the thread rather than the most recent message. Often, if a particular thread is long and I’m just catching up on it, I may read through all the messages and then go back and reply to one in the middle. This is one case where I admit to using the mouse; I find it quicker to click on the particular message I’m interested in rather than repeatedly pressing p or n and then o to highlight and open the message I care about. So I’ll click on an email and then hit r. In GMail, this opens a reply to that particular email; in Inbox the clicking does not focus the message in the middle of the thread so r generates a reply to the latest email. It’s annoying when you catch it and confusing to others when you don’t (since your reply no longer makes any sense).

Where is My Favicon?!

GMail favicon It seems to inconsequential, yet it is so important. The number of important unread messages displays in the GMail favicon, so I can see whether I’ve got new mail at a glance. Not so with the Inbox favicon, which remains its same-old hip blue envelope-with-a-checkmark regardless of whether you have no unread emails or 44,000 unread emails.

The End of the Matter

Sadly, Inbox is overall a nicer app to deal with – the web application is more responsive and I like many of the user interface changes. Unfortunately, Google took several steps backward in the user experience department, and until they address these things I’ll be sticking with GMail on the web. I do still use the Inbox app on my smartphone, so I guess they got me there.

Force MFC-8890DW to Keep Printing

Today we will be learning how to use a Magical Toner-Generating Device (MTGD) to enable your Brother black-and-white laser printer (specifically, model MFC-8890DW) to print even when it is out of toner! We’ll use this Weird Trick Invented by a Random Guy on the Internet! Printer Manufacturers Hate Him! But that’s okay, because The Feeling is Mutual!

(Full disclosure: I did not invent this trick. But I like to pretend that I did, because it makes me feel smarter and more nefarious.)

My Brother MFC-8890DW has been complaining of low toner for a while now, but I have been ignoring it because there is no appreciable difference in the documents it is printing. Then last week, right after printing a perfectly crisp page of text, the printer announced that I needed to Replace Toner and petulantly refused to print me more documents until I met its extortionate demands. However, based on my past experience with laser printers, I am under no illusions that they suddenly go from “prints just fine” to “completely out of toner”, and based on my experience with printer manufacturers, I am completely willing to believe that they will disable your printer and hold it hostage as a sort of scheme to force you into buying more printer supplies.

The general approach here is going to be to install a Magical Toner-Generating Device (MTGD). It works by absorbing the lies spewed forth by printer manufacturers and condensing them into a black powdery substances which can then be applied to paper the same as regular toner. Quality may vary, but so far I have found the results to be satisfactory. The device itself looks like this:


Thus, we come to the nefarious directions for circumventing the printer’s extortion scheme. I like to think of this as the hostage (that’s me) escaping from the extortionist (that’s the printer), subduing it (after a brief scuffle), blindfolding it, putting it on the edge of a cliff, and holding a cattle prod to its back while shouting “Print, curse you! PRINT!” This process may violate the DMCA and/or other local laws, it may void your warranty, and it may result in an immense sensation of personal satisfaction. Use at your own risk.

  1. Open the front cover.
  2. Pull out the toner cartridge.
  3. On the right side of the cartridge, locate the little clear, round “observation window”.
  4. Apply the MTGD. That is to say, cover this window with black electrical tape.
  5. Put the cartridge back in and close the cover.

Here are two helpful illustrations of this complex technical procedure:

Toner cartridge: Before!

Toner cartridge: After!

In my case, this operation convinced the printer to merrily continue on its way, printing completely acceptable pages. (Since the printer claimed the toner was empty, and since we know a printer would never lie about its toner levels, I like to think it’s now using magic toner.)

I need to go do something else now, as I just heard a strange noise and the printer seems to have shifted position overnight, inching a little closer to my office chair. This won’t take long.

On Usability and Folding Laundry

The importance of feeling the consequences of your own work can scarcely be overestimated.

I sometimes fold laundry in our household. Well, okay, I occasionally fold laundry in our household. That is to say, at least twice I have folded laundry in our household. And on one of these occasions, my long-suffering wife asked me a seemingly random question.

How do you hang hand towels?
Hand towels. Like if you’re hanging a towel on the rack, how do you do it?
(picking up a towel I’d just folded) The normal way, threading the narrow end through the towel holder. I’d just unfold the towel once and…oh.

Turns out I was completely incompetent at folding hand towels, because I’d been folding them in the wrong direction. Thus, anytime someone wanted to use one of the towels I’d folded, they had to first unfold it all the way and then re-fold it.

Apart from making me feel like an imbecile, this little experience reminded me of a lesson I’ve seen in action many times. Had I been the one hanging hand towels in addition to the one folding them, the problem would have been immediately obvious. But unless we actually use the end result we’re producing (or have excellent user feedback mechanisms in place), we’re flying blind.

This is especially true in the software world. If you’re not using your own software, then I’ll take long odds that it’s got significant usability problems. I have worked with developers who blame everything on the user, vindicating their own blinkered view of their software product. “gah, these users. If they’d only use the software correctly then we wouldn’t have to make these silly changes.” I cringe every time this happens, and I’ve heard variations on it more than once in my career. If you’re blaming your users for problems they find in your software, it’s time to find another career. The whole point of software development is solving people’s problems. If you’re not interested in doing that, then what are you doing here?

The need for real-world feedback on software is one of the reasons “hallway usability testing” is so valuable. The idea is that it doesn’t take a special kind of user to find usability problems in your application. You can grab just about any random human being who is not the guy who wrote the program, sit him down in front of the computer, ask him to perform a task using your software, and immediately start discovering usability problems. This kind of usability testing is embarrassingly easy to perform, and the majority of development shops (and developers) don’t do it.

The fact that this is true makes it all the more embarrassing that such vast quantities of software are so difficult to use. Take time tracking software, for instance. I have never worked for a company whose time tracking software was a pleasure to use. In all cases, it would have been easier to just enter time in an Excel spreadsheet. (Come to think of it, I believe the first company I worked for actually did track time this way.) I can think of no reason why this should be true, that all time tracking software stinks. There is nothing inherently difficult about writing software to record how much time you’ve worked. But developers, by and large, do not put a premium on software that’s eminently usable, so long as it can be made to work. “Does the software allow users to enter time and generate a report for managers? Great. Meets the requirements. Done.” In fairness, the blame does not land solely at developers’ feet; often companies are unwilling or unable to pay for the time required to really polish software. But although the law of diminishing returns is definitely in effect here, it does not take a huge investment to make some big gains in software usability.

As a developer, start by forcing yourself to use what you’re writing (and use it in unexpected or unusual ways). Also, put it in front of a disinterested party and make them use it. Watch (or record) – but don’t give them any hints. It will be painful, but it’s pain you need to feel. Take the results, pick the top three worst problems the user ran into, fix them, and do it again. Iterate.

As a user, start being willing to pay for software that’s elegant and easy to use. These attributes are admirable goals in and of themselves; we should be encouraging them to the extent we are able.

Dates Matter, and Not Just for Singles

I’m not sure exactly when it started becoming popular, but at some point removing the date from blog posts became chic. I believe the idea was that if an article has a date on it, then people who arrive at your site by searching Google for content can tell how old the article is, and if it’s old, they will no longer be interested in it. Therefore, to increase traffic from Google, you should remove all the dates from your websites.

I cannot express the extent to which this drives me completely bonkers.

There are two types of writing: timeless and time-sensitive. This post you’re reading is an example of timeless content. It does not matter whether you read it the day after it was written or twenty years down the road; my opinion remains the correct one.

An example of a time sensitive post would be anything written about the technical details of Ruby on Rails, where the likelihood of it being completely out of date and irrelevant to the current version of the framework approaches 95% approximately four months after the date of authorship.

For some people, I’ve read that removing dates from your content can increase your traffic from Google, because if two articles are written about substantially the same topic and one is a few years newer, then who wants to read the old one? In order to continue driving eyeballs to your site, you’ve got to remove dates entirely so that the eyeballs can’t tell at a glance whether the content is still relevant or not.

In a piece of fiction, or perhaps an opinion piece, I don’t really care when it was written. (I might still like to know, to get a better idea of the historical context, but it won’t drive me nuts.) In the case of anything technical, if the article is not up-front about when it was written, I will not even bother to read it (unless I’m desperate).

Furthermore, do not ever try to placate both sides by only including part of the date. I will not pick on anyone in particular here by including direct links, but suffice it to say that the other day I was seeking an answer to a technical question and found a blog which only listed month and day. “August 30th?” I said. “That’s relatively recent.” Except after reading some of the article, it became clear that it was the August 30th of several years ago and the answer in the post was no longer the correct one.

Perhaps my biggest gripe arising from this pet peeve of mine is the purported goal of this date eradication: to drive traffic to your website. The goal of good marketing should be to direct people to solutions that solve their problems. (Hopefully, your solution is one that will solve lots of people’s problems.) The goal should not be to grab as many random strangers as possible off of Google and then waste a few minutes of their time staring at your website. That might be lucrative (or it might not; there seem to be arguments from both sides), but it’s neither helping people nor making the web a better place.

Make the web more useful. Say “yes” to dates.

The Myth of the Unemployed Programmer

A software developer should never truly be “unemployed”. Many professions require a certain capital investment or infrastructure to perform work–for example, if I am a cabinetmaker, I require woodworking tools, wood, stains, finish, and probably a shop to store it all (plus the works-in-progress). On the other hand, a software developer in the modern world merely requires a computer and Internet connection–all the other tools can be had for free. Even deploying a web application requires very little capital investment in a world where $5/month servers exist.

I have mused upon this concept in the past, but never with the sense of immediacy engendered by the events of the past week. As of last Wednesday, I suddenly became an “unemployed” software developer when I was laid off. This, of course, prompted many non-software-related activities (my résumé needed a rewrite and my online presence–including this blog–was sadly neglected), but after the initial flurry settled down, I was faced with the decision universal to the unemployed: how shall I spend my time?

The options are not infinite (financial concerns for most of us preclude a spontaneous sailing trip to the Bahamas), but they are vast. I could implement one of the many software ideas which perpetually rattle about in a developer’s brain. I could write new themes for my wife’s blog, or her other one, or her other one. I could try to catch up with my wife in website count. I could delve into any number of modern developments in technology, most of which are fascinating and directly applicable to my career. I could write a book, because as my wife observes, once you exclude teen romance and vampires (and vampiric teen romance) there is a certain dearth of quality literature for the juvenile boy. (Though, if I did write a book, I’m not sure you’d ever know about it. On the one hand, I feel like a man ought to write under his own name and take responsibility for it, but on the other hand, I consider it merely common courtesy to preserve his friends and acquaintances from ever feeling obliged read whatever drivel he produces.) I could even finish that basement remodeling project I started eleven months ago, but let’s not get crazy here.

None of these (home improvement excepted) require anything significantly more substantial than time and sterling intellect, both of which I now have in abundance. What a strange thing!

Having dwelt upon the matter at intervals in the preceding days, I have resolved that three things shall happen:

  • This blog shall receive some sorely needed attention. (There is an argument to be made for “quality over quantity”, but 22 months between posts is pushing it.)
  • My WordPress theme development skills shall be enhanced in the furtherance of my wife’s online empire.
  • I shall enhance my professional skills by writing an amazing web application, guaranteed to please. More on that later, but as a hint to those who have known me long, it might improve morale. Or at least keep track of it.

The bottom line is that there is no such thing as true unemployment for the modern creative, and in my case, it is time for some housekeeping. (As an aside, if you’d like to hire me, that’s fine too. I won’t take it personally when you attempt to deprive me of all this glorious free time.)