September 12, 2012 11:18:01 PM CDT

Today I had one of those experiences that makes you aware of your culture and background.

The library where I work is getting ready to change to a new back-end software system called Evergreen. It's an Open Source system written by librarians for librarians, as opposed to the 'one line item in the statewide data acquisition software contract' package we have now.

(for those of you who remember me saying I work at a theme park, that's true too. I'm both a clown and a library clerk)

At any rate, being Open Source, Evergreen is geared toward a Linux environment. . no big deal there, since I knew Linux when Linux wasn't cool (seriously. . I remember the version that could just barely boot an x86 machine back in the early 1990s). Our library director, having come up through a more mainstream computing heritage, is still in the process of getting used to Linux, though, using Ubuntu on a laptop I set up for him a few weeks ago.

Today he came down and asked me if I could solve what seemingly should have been a simple task: He'd installed the Evergreen client application and wanted a button for it in the task bar/dock/app launcher/whatever you want to call it.

My natural response was the same as his: grab the application icon and drag it onto the whatever-bar.

Didn't work.

So I hit the search engines and Ubuntu discussion sites, looking for a solution to this "how do you build a GUI and not make this simple?" problem.

Eventually, in what many would see as a triumph of the Open Source Community, I found the answer: The whatever-bar doesn't want an app icon per se, it wants a config file named 'app-name.desktop', and it wants that file to live in a subdirectory of a subdirectory of one of those invisible configuration directories that the GUI 'helpfully' hides from you.

Once I knew where to go and how to format the .desktop file, it was two minutes work to create the necessary (yet nonexistent in the default installation) directory, write a .desktop file that would Do The Right Thing, drag that to the whatever-bar and test it just to make sure everything was working correctly.

Now, I know unix-like-os config files from way back. Last night I added a couple of Deny directives to my webserver's virtual server configuration to shun a couple of 'bots that are apparently addicted to looking for files that don't exist on my machines. In many cases, I think nothing of opening some many-hundred-line config file, skimming down to the two or three places I need, changing the values according to some obscure protocol, then executing bizarre command sequences to make the changes take effect.

In this case, the file format was simple enough that I understood it after skimming an example file once. Even the fact that the file needed to live in a hidden directory (~/.local/share/applications/) didn't faze me once I knew which of the umpty-many possible options was correct.

Trying to explain what I'd done, and why it was necessary, made me aware that I've spent a long time in a very geeked-out culture.

It also made me aware that I've been working in other cultures just long enough to see how some of my native geek traditions are only the fastest and easiest way to do a job after you've spent twenty years picking up ambient knowledge.

Random brain cookies:

A Law of Computer Programming: Make it possible for programmers to write in English and you will find the programmers cannot write in English.