The Boston Diaries

The ongoing saga of a programmer who doesn't live in Boston, nor does he even like Boston, but yet named his weblog/journal “The Boston Diaries.”

Go figure.

Sunday, October 14, 2007

Random and a rather rambling musings on computing environments and the customization thereof

I'm not even sure where to begin with this. Or even where I'm going with this.

First off, there's Aza Raskin's demonstration of Enso, an application that brings the command line back to the GUI in a very novel way (and yes, the video is worth watching, and the Enso application is something that, were it available for either the Mac or Linux, I might buy).

I got the link to the video from Thought Storms: The Return of the Command Line, which I linked to before (and that post is somewhat related to this post).

This all somehow is all related, primarily to customizing the computing environment.

One small example: I have customized vi (the standard Unix editor) to my liking. It's not a lot of customization though. My .exrc file looks like:

set ai
set showmode
set sw=2
map m ^F
map v ^B

That's it. Five lines of modification. The first just sets auto-indent mode. The second one displays the current mode (command mode or insert mode) on the screen. The third sets the tab-indent to two spaces. Those, I can live with or without (and really, half the time, I don't want auto-indent mode so that's actually a wash).

It's the last two lines I can't live without.

The first maps the M key to page forward in the command mode. Normally, the “page-down” command is Ctrl-F but that's two keys to hit, and usually, when I'm in vi, I'm not editing, I'm viewing. And the last line maps the V key to “page-up”, which is normally bound to Ctrl-B (again, two keys).

And what normally happens is I get on some random server at The Office, I'm viewing a file in vi, go to hit M to page down through the document, and get … something else.

Then I go ballistic.


Which is one reason why I tend to type out insanely long command lines instead of making a script—because customizing the computing environment isn't worth my time or sanity (even with a five-line file; also, people using my customizations, one of which involves renaming rm to delete tends to drive them up a wall).

This also relates partially to my dislike of IDEs. I've learned to be productive without one, since I “grew up” without using them. And I've found them to be intrusive the few times I have used them (mainly beause the built-in editor sucked compared to what I was actually used to, which again, ties back into computing environment customization). I found it weird to hear programmers (mostly students) asking where they could get an assembly language IDE—they were totally lost without such a crutch (and yes, I'm using that word deliberately here). But my crutch was a particular text editor from IBM. Was it really that great of an editor? Maybe. This quote pretty much sums up how I felt about it (the quote is about a newer version of the editor I used):

Is PE II really that good? Frankly, no. It's just that I'm really that lazy. I've used it for so long that it's like breathing to me. I don't have to think about where the keys are or what they do. I just think about what I want to do and it happens.

When I need to edit a C file that is too large for PE II, I use Brief. Sure, Brief is bigger, better, and faster than PE II. But its key bindings aren't etched into my skull like the pattern on an old monochrome monitor that's been displayed for months.

But enough about that. I know what my preferred C/C++ programming environment is in DOS. I want to find my preferred programming environment in Linux. The reason I bring up my personal preference—and the inertia that cements it—is that I believe the same sort of inertia is at work among the developers I queried.

Linux development: Command Line, Emacs or IDE?

I used that editor long enough that I never had to “think” about using it. I just did. And I'm still attempting to use the Tab key for navigation to this day (under PE, the Tab key didn't insert spaces—it just moved the cursor to the next tab stop; I could navigate to any point on the screen in just a few seconds, if that).

So, to bring this back around to Enso—yeah, it's great. Yeah, I'm tempted to get it (if only it didn't run under Windows). But do I want it? Were I to become dependent upon it, would using a non-Enso enabled system suck too much?

What exactly do I want from my computing environment?

Seven months ago I brought my workstation home from The Office with the intent of replacing my old home system linus. But the amount of customization I've done to linus is so extensive, that I've yet to actually switch. Even though I can create entries for this blog technically anywhere (and submit it as a text file, or through email, or through a web-based interface) I still prefer editing on linus, as I have several extentions to the editor I use there to help create entries (and it's still not as fast or as smooth as I would like it).


Obligatory Picture

[“I am NOT a number, I am … a Q-CODE!”]

Obligatory Contact Info

Obligatory Feeds

Obligatory Links

Obligatory Miscellaneous

You have my permission to link freely to any entry here. Go ahead, I won't bite. I promise.

The dates are the permanent links to that day's entries (or entry, if there is only one entry). The titles are the permanent links to that entry only. The format for the links are simple: Start with the base link for this site:, then add the date you are interested in, say 2000/08/01, so that would make the final URL:

You can also specify the entire month by leaving off the day portion. You can even select an arbitrary portion of time.

You may also note subtle shading of the links and that's intentional: the “closer” the link is (relative to the page) the “brighter” it appears. It's an experiment in using color shading to denote the distance a link is from here. If you don't notice it, don't worry; it's not all that important.

It is assumed that every brand name, slogan, corporate name, symbol, design element, et cetera mentioned in these pages is a protected and/or trademarked entity, the sole property of its owner(s), and acknowledgement of this status is implied.

Copyright © 1999-2024 by Sean Conner. All Rights Reserved.