Mimsy Were the Borogoves

Hacks: Articles about programming in Python, Perl, Swift, BASIC, and whatever else I happen to feel like hacking at.

42 Astoundingly Useful Scripts and Automations for the Macintosh

Work faster and more reliably. Add actions to the services menu and the menu bar, create drag-and-drop apps to make your Macintosh play music, roll dice, and talk. Create ASCII art from photos. There’s a script for that in 42 Astounding Scripts for the Macintosh.

Troubleshooting Phobia

Jerry Stratton, October 1, 2006

People don’t like to solve problems. I’m not just talking about non-IT, but programmers in IT and computer science faculty. Trouble-shooting procedures don’t matter. Part of the problem with trouble-shooting procedures is that they require people not to throw away common sense. If you were building a house, and you had no idea how to build one, you still wouldn’t try to put up the window panes before you put up the wall. You might build a wall and forget to put a windowpane in it, but you would never look at the plans, think “a window needs to go right here”, and then put a window into empty space, watching it fall to the ground.

You would notice right away that the window can’t be put up until something goes up to support it. Instructions never say “don’t put up the window until the wall is already there”.

And yet amateur programmers will echo variables one line before they’re set. They’ll copy a snippet of code that uses variables without ever noticing that the variables aren’t ones they’ve created yet.

Part of it may be the chessmaster phenomenon. People see in patterns. A window and a wall are a pattern we’re all familiar with. Art that messes with patterns like those is surreal. Chessmasters see similar patterns in chessboards. Non-hackers don’t see the patterns in code.

But non-IT people can solve some of their problems themselves. I generally find that I can assist more people if, when I have an extra five minutes, I check my e-mails and answer five or six of them, instead of checking my voice mail and answering at best one of them after having to listen through the whole thing. Because of this, my voice mail says that if you’re in a hurry or this is an emergency, you should also e-mail me.

I haven’t kept track of the times people have left me a voice mail that said, “and I’ll e-mail you about it too,” and I go to check my e-mail and all it says is “I just figured it out”. It’s a lot. It is much more difficult to ignore the text of the error message when you’re typing or pasting it into an e-mail message.

Sometimes I think that’s why some people don’t like e-mail for these issues. They don’t want to figure out the problem for themselves.

Isolate the administration

One of the biggest roadblocks for people is isolating issues. I’ve had computer science faculty mystified over why their images weren’t loading on their web pages. A simple attempt to load the image itself in a new window showed an error 404: their link was wrong. They’d simply never thought to focus on the problem area.

Other times it’s an administrative bias. A week ago I was in a meeting about a load issue, and the only tests at that point had been a test that simulated the full-on assault by hundreds of students. Well, the server buckled under that load so the issue now was to determine why. The programmers suggested isolating each possible problem and testing them; on one of the problems in the list, the administrator’s response was, and I’m quoting exactly, “What good would that do us? If that’s the problem, we can’t fix it.”

Well, you know, I do have other things to do with my time than try not to find a solution.

  1. <- Django Dynamic Content
  2. Python Appscript ->