Saturday, October 27, 2007

Anniversary Dates for Engineers

When an engineer picks a wedding date, chances are it has some numeric meaning. It's a fun challenge to come up with a sequence of numbers that forms a date that falls on a weekend. And afterwards, it lessens the likelihood that the anniversary will be forgotten.

Here are some simple weekend dates in MM/DD/YY format that are based on simple multiplication facts: 02/16/08, 12/08/96.

Here are dates based on sequences: 06/07/08, 05/10/15, 09/16/xx. With that last one, the month and day are so good, we'll ignore the year.

Some other nice dates: 08/16/08, 03/14/15, which are the first five digits of Pi.

Are you an engineer that married? What date did you choose?

Sunday, October 07, 2007

Emacs: Yet Another Cool High-Tech Thing

Two years ago, I wrote about Servant Salamander. In that post, I described how Servant Salamander substituted nicely for Norton Commander when I made the switch from MS-DOS to Windows NT.

The other software substitute I made was to replace my favorite text editor, Brief. When I started using Brief, it was by a company called "Underware." When I stopped using it, it had been taken over by Borland. They had no plans to make it Windows-compatible.

I loved Brief's ability to record and playback keyboard macros. It had undo. Its regular expression search and replace capability was powerful. It could cut and paste columns of text. It could be scripted. It supported multiple windows.

I continued to use Brief on Windows NT, even though its cut and paste didn't work with the Windows clipboard. And I recall having display problems at certain video resolutions.

So I set off in search of a new Windows text editor. The minimum requirements were:
  • Column marking, cutting, pasting.
  • Undo.
  • Regular expression search / replace.
  • Keystroke macros.
  • Windows compatible.
I wanted an editor that could be scripted. And even better, one with the same keystrokes as Brief, or with a reconfigurable keyboard.

I came across Crisp, Zeus and then Vedit a bit later.

I rejected Crisp almost immediately, even though it seemed to be the ideal replacement. The problem was that it was unstable. Or, more accurately, it made my computer unstable. So I dropped it quickly.

I was mostly happy with Zeus. But sometimes I needed to edit binary files, and one thing I did not like was that Zeus could not handle null characters. (And it wasn't 100% Brief-compatible.) That's why I got Vedit. Vedit did a great job with all kinds of files of all sizes. I was even able to edit EBCDIC files, which helped when I was writing an EBCDIC to ASCII translator. But I never got comfortable with Vedit, so I continued to use Zeus primarily.

One day I decided to try another search for the Ultimate Text Editor. Someone recommended Gnu Emacs.

Emacs was "sort of" Brief compatible. In fact, it was Crisp-compatible with its Crisp-mode Lisp add-on. But in reviewing Emacs, I came across the advice that it's best to learn the native key-mapping. So that's what I did, back in 2001.

It was a bit hard to get used Emacs, and I did have to remap the keyboard a tiny bit. For example, back then, Emacs would interpret the Del key as Backspace, which deletes the previous character instead of the next character. (This is not true of more recent versions.) Also, I stumbled over Emacs terminology. For example, it's not "Cut" and "Paste" but rather "Kill" and "Yank."

But all the effort I put in to it was well worth it. Now, I don't bother to write text-manipulation programs because it's easier (and more fun) to script Emacs to perform that kind of work. I enjoy using Emacs Planner to keep track of tasks and notes that pertain to numerous work projects. And at one time, I enjoyed using the newsreader Gnus with it's wonderful ability to score message threads based on any number of regular expression filters I could come up with.

Emacs is licensed under the GNU General Public License, which means that it's free, not only in the sense that you can obtain it without cost, but also that you are free to modify and distribute the software, provided you pass along this same freedom.

Emacs is amazing. It is constantly being improved by intelligent people who demand great things from their programs. It can run on many different platforms. Try it out!

Wednesday, September 05, 2007

The Personable Computer

We call them Personal Computers. But why can't they be Personable?

The other day I was typing an e-mail. I thought I had on-the-fly spell checking enabled. Then I typed the word "triennial" and didn't see the red squiggly underline. I wondered, "Did I really spell that right?" and "Is spell check really turned on?" I decided to run the spell check manually. And it ran, finishing with a disappointing absence of fanfare over my correctly spelled word.

Why couldn't it respond, "Hey, great job at spelling triennial, big guy"? I am an engineer, after all, so I'm supposedly disposed toward bad spelling.

How should that response have worked, exactly, without actually being annoying? Certainly a focus-stealing pop-up would've been downright annoying. And a little checkmark after the word might not have been effusive1 enough. Perhaps a message in the status bar would've afforded the best trade-off between noticeability2 and interference.

The reason computers don't provide this kind of feedback is because of how intensely users loathed Clippy, the default Microsoft Office 97 help mascot. Clippy was best known for saying, "It looks like you're typing a letter. Would you like some help with that?"3 Of course users loathed that. We know how to type a freaking letter. We don't appreciate being patronized by something with half the intelligence of an earthworm. Whoever designed that hadn't ever held a door open for a feminist.

But if Clippy had offered praise instead of assistance (or perhaps in addition to assistance), he/it might've been accepted or at least tolerated. And it would've been better if it weren't so dorky looking.

I'm sure we'll see a return of something like Clippy, albeit well-disguised. It's just too tempting a feature to ignore for long.

1I spelled this correctly the first time, too!

2But alas, I did not spell this correctly the first time.

3And there are wonderful parodies4 of this too, such as, "It looks like you're typing a suicide note. Would you like some help with that? Okay, first tell me, how do you plan to kill yourself? Choose one: Gunshot to the Head; Slash Wrists; Overdose; Jump Off Tall Building or Bridge; Step In front of a Moving Train, Truck or Automobile. Great! Thanks! Next, tell me the reason why you're killing yourself: No One Understands Me; My Lover Left Me; I'm Broke; I Can't Stand This Asinine Clippy... And so on.

4See, for example, One Egg Shy's Clippy's Guide to Suicide Notes, or his Clippy’s Guide to Ransom Notes.

Friday, March 23, 2007

Hey buddy, can you spare a few CPU cycles?

Do you leave your computer running and connected to the Internet? If so, why not donate its idle CPU cycles to scientific research? You could help figure out the cause of Alzheimer's disease, predict climate, or search for evidence of gravitational waves or extraterrestrial intelligence.

The Folding@Home distributed computing project is committed to exploring protein folding. Its goal is to gain an understanding of:
  • Alzheimer's Disease
  • Cancer
  • Huntington's Disease
  • Osteogenesis Imperfecta
  • Parkinson's Disease
  • Ribosome & antibiotics
All it takes to get started is to download and run a small program. Click here for more details. Other protein research projects include Rosetta@home and Predictor@home.

Other things your computer could work on:
Download an installer and join the research!