Tuesday, February 28

rage

A big ol' fuck you out to the City of Boulder for this afternoon's two sequential $20 parking citations, the first written about 20 minutes after I moved my car in order to avoid same. Boulder, you see, has sort of combination permit & limited time parking in a good portion of its residential zones. Apparently, a block was insufficient distance to move the car.

As far as it goes, this is kind of my own fault. Sure, I despise the entire petty, rent-seeking system, but I did fail in gaming that system. It probably isn't that hard to pay attention to the little numbers on the parking zone signs if you know they exist.

Then again, 37% of my before-tax income for the day seems a touch harsh. And what really gets me is this gem:

If you are disputing a Permit violation of any type, you must include a copy of your valid permit, or the dispute will not be reviewed.

Yep, that's right. It doesn't actually matter if you have grounds to dispute the ticket - if you're not a permit holder, which means pretty much if you've been cited for a permit violation, they won't review the case.

In the abstract, I can sort of admire the cleverness of this little regulatory hack. More immediately, I sure would like to take this out on someone. But of course there's no one in particular to blame. You can't demand satisfaction from a bureaucracy. Even my pathetic anger is just one more little victory for whatever sickness it is that drives the formal monetization of every last action in daily life.

command line love

Had another one of those low-key experiences today that underlines a basic truth about computing in the modern age: It has been a long time since anyone has improved in a fundamental way on the Unix model of dealing with information by pushing text around between little utilities and scripts. In fact, most other models seem to be either flawed approximations of this one, or essentially incomplete without ready access to it.

Even something as useful as near-universal copy & paste is often more of a way to extend pipes into the realm of fat GUIs than a replacement for them, and it's a damned annoying one at that. Still, it does provide a bridge between clumsy aberrations like server-side-Java driven web applications and the shell where real tools like sort and uniq live.

Here is a partial description of today's annoyingly repetitive task:

  1. In Firefox, login to web app and copy all cells of an HTML table sorted by a given attribute. No, you may not query the underlying database directly.
  2. In Excel, Paste Special as Text, then convert first column of table into a list by copying and pasting into a given Confluence wiki page. Make sure to note count of list items, and put count into the {excerpt}ed portion of the confluence page. Iterate through list of tables, repeating process for each.
  3. Copy Confluence wiki page which collects all {excerpt}ed numerical values.
  4. Paste as plain text into vim through PuTTY session to FreeBSD machine.
  5. Feed list to 5 line Perl script for quickie conditional search/replace plus an arithmetic operation or two.
  6. Copy & paste pretty results from script back into wiki.

This sort of rigamarole is only necessary in a limited environment, and it is probably not necessary to point out that a trained Perl monkey would have done the whole thing in about 15 lines without the manual repetition, but I think it is worth noticing a couple of things.

Most people who deal with the ugly back end of the software world (not the developers, but the poor bastards doing things like content generation for web applications or tech support with a web-based trouble ticket system) work in a very limited environment, without access to the small tools I rely on to stay sane. I think the limitations of this environment are usually due to its lack of the kind of simple, flexible framework provided by a decent Unix environment.