Last night I managed to write about 600 words in an hour using OpenBSD’s ed while joining my wife for dinner with some of her friends. Of course, I asked first. Contrary to some people’s opinions, I’m not utterly devoid of social graces.

It was easy. While we were waiting to order (and then for our food) and she was talking with her friends, I just fired up my laptop, logged in, and bashed out some commands.

demifiend@imaginos$ cd documents/starbreaker/novels/dissident-aggressor/witness/ demifiend@imaginos$ touch 01.scene demifiend@imaginos$ ed -p 'ed ' 01.scene

Sure, I didn’t need to touch the file before editing it, but it gives ed one thing less to gripe about on startup.

ed a A Witness for the Persecution - 1 It had been such a simple request that Morgan could not help but acknowledge it. Had he known what manner of troubles he would bring upon himself by doing so, he might have ignored Naomi instead. . ed w

Writing one sentence per line and using blank lines as paragraph breaks, I was able to write at a decent pace despite being in a crowded public place. When I was done, I was able to view the finished (for now) work using commands like…

demifiend@imaginos$ cat -n 01.scene | less

Or…

demifiend@imaginos$ cat 01.scene | fmt | less

The former rendered the file as I typed it, but with line numbers. The latter re-flowed the text to put two spaces between full stops instead of newlines, making the text suitable for sharing with my wife.

And when I’m ready to revise the scene, I’ll put my changes in “01.scene.revisions”, a sed script. What makes it a sed script? Simple: it looks like this:

#!/bin/sed -f s/<</«/g s/>>/»/g

Of course, I had to startx and type the guillemets in MATE, since I haven’t figured out how to make Caps Lock work like a compose key using wsconsctl(8) yet. (I use them in my fiction to distinguish texted dialogue from the spoken variety.)

Getting word counts is easy, too.

demifiend@imaginos$ cat 01.scene | wc -w

As you can see, OpenBSD’s base system has most of the tools a writer needs to start composing a work. The console is enough; a user looking to write prose need not bother with X11. The filesystem is likewise adequate for organizing one’s work if the user works out a reasonable naming convention for directories and files, and sticks with it.

The only tools the OS is “missing” out of the box for composition and revision are tools for version control other than rcs(1) and cvs(1) , dictionary & thesaurus searches, and spell check – and those are easily installed using the package tools.

While I could RTFM and learn to use cvs , I’m already familiar with git and having a remote master on BitBucket allows me to conveniently move work between machines. :)

(I’ll get this on my website eventually, but I didn’t want to wait until I had time to mess around with it.)