2008-06-15 I started a blog

I started a blog at I have a lot of material pent-up over the years. I hope that between my three life interests of work, family and obsessive Company of Heroes addiction I can get some of them out in the blog.

2007-11-07 My book is out

My book is out: Professional SlickEdit.

I started using SlickEdit in 1996. I was doing C++ development on OS/2 at the time, and using the IBM Enhanced Editor EPM. This editor was the latest in a line of "E" editors in internal use at IBM, which I had used back into the late 1980s.

One day I was perusing the IBM Developer Connection CDs, looking for cool new tools. I noticed this promising programming editor called "Visual SlickEdit", from a company called MicroEdge. I had never heard of them, but I tried it anyway.

It seemed very familiar, and I found out that MicroEdge was actually started by Clark and Jill Maurer, after Clark left IBM.

SlickEdit was like the E editors, but it went a lot further. It had some great features for coding. One feature I loved straight away was word completion. I don't know whether the E editors had that or not ... if they did I think I missed it. But I started using it in SlickEdit every day, and still use it every day.

Another thing I found out about early on was macro programming. I knew the E editors were programmable to some degree, but I had never delved into the details enough to find out how. And it always seemed too hard to be worthwhile. With SlickEdit, I recorded a macro, and then looked at the generated code. Immediately, I could see how to write macros. It was easy.

My first useful macro was to duplicate the line the cursor is on. I bound the command to Alt+quote, because in IBM's XEDIT editor you use quotes as a prefix command to duplicate ranges of lines. I still use that one a lot, and I used it as the introduction example in the book. I also found out while writing the book that SlickEdit has a duplicate-line command built in now. Maybe they even had it in version 2 and I missed it!

I wrote about 4,000 lines of macros in the next couple of years. Some of these were to customize existing features, such as cursor movement and manipulating lines. Some of them were for new features, such as managing comments and makefiles. And some of them were custom features specifically written for projects I was working on.

I introduced SlickEdit to programmer friends, and to several client teams where I worked. I used versions on Windows, AIX and Linux after OS/2. I coded C, C++, Perl, Delphi, Java, PHP, Ruby, C# and other languages. But my editor, and my customizations, came along with me.

In 2006 there was a review of SlickEdit 11 on I posted a couple of times in the discussion. As a result, Chris Webb of WROX asked me if I was interested in writing a book. Why not?

It was kind of tough for me to do, because I am kind of lazy, and also get bored too quickly on long projects. Luckily, I bragged to all my friends that I was writing a book, so there was no way I could back out without copping flack for years. Finally, I got it done, and just a little behind schedule. (Most of my programming projects go over schedule more than the book did!)

It was a real thrill when some copies arrived at my house last week. And, I have noticed that some people have actually ordered, and received copes too! So far the feedback has been positive, which is a big relief. I was afraid the gurus at might not be impressed.

2005-01-23 Colors setting for VIM

I finally discovered the answer to something that has bugged me for years when using VIM under CygWin: how to get the damn colors readable.

The magic setting is

set background=dark

(or light).

Here's a before screenshot, with background=light:


Here's an after shot, with background=dark:


You can set it up with this command from the shell prompt:

echo "set background=dark">>~/.vimrc

2005-01-07 Subversion

During the Christmas/New Year break I finally had a chance to play around with some things I've been meaning to for ages. One of those things was Subversion, the new open-source version-control system created to replace CVS.

One of the reasons I waited so long is that most of my work at the moment is Java, and the great Java tool I use, IntelliJ IDEA, does not yet have Subversion support. The next version will.

However, for non-Java projects I've always used command-line CVS, so for those projects there is little to be lost in switching to Subversion.

The first project I switched to Subversion was a little Ruby project I've been working on over the break. The next project was this web site.

I think Subversion is going to work really well for the web site. I've been meaning to set up blogging software on my site for a while. However, most blogging software I've looked at requires a database. In fact many of them seem to be designed around MySQL. Now I don't feel too comfortable storing my blog/HTML content in an SQL database -- that's just not what I see as the best approach, particularly for version control. Furthermore, I have an active dislike of MySQL.

(I've always found MySQL clunky and unintuitive. In my opinion Firebird is a much better open-source SQL database for most purposes.)

The main problem with using CVS for this sort of thing is the same problem I have with CVS for many projects -- it just doesn't understand file renames and moves. Subversion understands those, and has a lot more going for it besides.

It's going to be fun.


The main site is working again.

The hardware running my internet server died sometime in November last year. The software, which was running on SuSE Linux, has been running fine since the beginning of 2001. No software failures, no software crashes. I hadn't applied any patches or anything. It just works.

So, free operating systems are pretty reliable, but maybe cheap hardware isn't. Anyway, I got another machine, but it's taken me a while to get all the bits going again.

The site is now running on a PII 450, with RedHat 9 GNU/Linux.

The highlight of the site is the Photo Gallery, which has got a lot of our family photos on it. Because the gallery is running some PHP-based free software (i.e. Gallery), Zena is now able to maintain the albums herself. This is a big improvement.

I am considering installing some blog software, to help me keep my comments up to date. Previously I used DreamWeaver, with its built-in update function over ftp to update the site. Now, I've made the site more secure (more accurately, I can't be bothered configuring ftp via xinetd and iptables), so it's a hassle to update it again.

With either DreamWeaver or blog software, and with Gallery too, there is another problem, and that is version control. Being a programmer, I'm a bit of a control freak when it comes to being able to reconstruct old versions of things. I don't like the thought of no longer having a copy of my web site as it was two years ago. So I'm still working on that problem. (The current solution is to use CVS, but I'm not sure how well that will work out in the long run, after major HTML changes.)


I revised "Rose's Photo Album", the web site for photos of my daughter.


Added an important note for Internet Explorer users. (This site doesn't work very well with IE.)


I have uploaded the new version of this site, built with Macromedia Dreamweaver and Fireworks.


My friend Mark Berger has created a couple of sites related to a T-shirt I made for him for Isaac Newton Day (Dec 25) last year. See

I don't know how much activity the blog will see. I published a story there, but it looks like nobody can see it.

Anyway, Code Is Mandatory.


“Skeptical Humorist” is now a registered company!

2012-08-12 01:42:20