Writing 101: Unlock The Mind.

I signed up to do this years blogging 101 and writing 101 sessions on the web. And here I am.

The first writing assignment: Just Write.

Where do you start? There is a Monty Python sketch where writing is a spectator sport complete with an excitable crowd and breathless commentary. But writing obviously isn’t something done in front of an audience. It is done in your head. With an audience of one, and they are, in all likelihood your  worst critic.

The cursor flashes. Inviting you to press the keys. Taunting you with how little it has moved. But what can you put down on screen.

And does the screen help or hinder? On a screen the ability to go back, to tweak, to massage or to procrastinate are almost limitless.  The promise of being able to change not just the words, but the font, the colour and the page size can mire a user in options.  This is why when I am really trying to write, not blog, I go off-line and start writing in a system that doesn’t support those fripperies.  When talking on this subject I can wax lyrical about an old word processor ‘WordPerfect 5.1’. It had a lot going for it. It ran in DOS, so when you were using WordPerfect that was all you were using, there weren’t any other programs available to flip back and forth to. The screen when you opened a document was almost entirely blank, with just a single line of text in the bottom right hand corner which provided a word and line count. Finally, you could mark things as being of a particular style (heading, body etc) but the text on the screen changed only slightly. You weren’t invited to make judgements about the space taken up on the page, that was for the program to worry about. The point was to write words. The words would be processed into a document later, but the words came first.

Other media suit different processes. A diary or a record of thoughts and feelings might feel more natural if it is in your own handwriting, which might change to reflect your moods. Adding doodles, exclamations or scribbles give an insight into something in parallel to the words, just like non-verbal communication matters when it comes to talking with real people. But there are issues with this type of document. I read a comment once about how writing in a notebook feels like a supremely audacious action. Taking a pristine, beautiful piece of paper and saying ‘I’m important enough to defile this paper, what I do to it matters more’. I find the action of posting blog entries easier as the paper that is defiled is electronic, essentially limitless, and somehow no-one expects blogs to matter anyway.

That is all I have to say about this. Writing is something I want to do, and would like to be better at. I am aware of some of my flaws, but I think practice will highlight a lot more. I think writing, editing and learning from the process is important.



Linux vs. Windows – Another Linux Success Story.

When I was purchasing my home laptop, I chose a Dell. One of the reasons that I liked the Dell store was the way that I could choose a system and then tweak the requirements as needs be.

As I was running through the options, things like processor, memory and disc size, I remember deliberately choosing not to have a webcam at all.

The reasoning was simple. I was planning to use Linux at least part time on this new computer, and add-ons like webcams were, I thought, difficult to use, or poorly supported. If I didn’t bother having them then I wouldn’t need to fiddle to get them working.

Now, spool forward three or four years. My daughter got a book for Christmas which boasts ‘Augmented Reality’, requiring a simple program install and a webcam. So I borrowed a webcam from work (we have it for those occasions when interviewers want to Skype) and took it home.

Obviously the ‘AR’ software only runs on Windows or Mac, so we booted the laptop into Windows, plugged in the webcam and waited while Windows did its thing.

It is worth noting that Windows 7 does an excellent job of detecting the device and installing the drivers, but it took an inordinately long time to do so (more than 5 minutes, less than 10). But once it was done, it worked very well.

When I got to work this morning I decided to try an experiment by plugging the webcam into my desktop machine running Linux (its a Mac, but it dual boots into Linux because, well, I like it like that!).

I plugged it in, then started up ‘Cheese’, the webcam program where you can add weird and wonderful effects to you images. I then selected ‘Preferences’ and was able to switch between the computers built-in webcam and the USB webcam straight away (with no apparent drivers required).

Now I have a horrible feeling I will need to buy a webcam for home…

Raspberry Pi Now Up and Running.

I got a Raspberry Pi (http://www.raspberrypi.org/) for Christmas. I didn’t really have much chance to have a play with it over the break. But this afternoon Lizzie was off to a Pantomime with her Grandparents so I took the opportunity to have a proper play with this little box of tricks. Initially I plugged it into our TV, a ‘normal’ old CRT model.

The initial setup is simple and it boots wonderfully quickly. I did discover that my Logitech wireless keyboard and mouse are only found when the USB dongles are plugged in. This means that if I reboot then I need to replug them. I would investigate this in the longer term, but I am planning on using the Pi largely through an SSH connection while it sits on my network.

Having confirmed that the Pi boots successfully and that the SSH server was configured to start on boot I disconnected the Pi and moved it to the study where it could sit connected to the router.

Having started the Pi again I tried SSH’ing from my laptop. This was easy, though I plan to get up a certificate to handle access rather than use a password in the future.

To view graphical programs on the Pi simply SSH using the command:

ssh -X raspberrypi

Then suitable applications can be launched from the command line and they will be displayed as X Windows on the desktop.

I took some time to add some of my favourite programs to the system. Obviously this includes the mighty Emacs, and the related Emacs Goodies. I won’t be able to use the trick of using the shared initialisation files held in Dropbox as my Dropbox is currently more than six times larger than the SD card that the Pi is running off!

Over Christmas my family kept on asking what is it for, but I don’t think that Pis have to be for something… they are just a brilliant demonstration of what is possible keeping computing simple. Now I have a working system I can see what fun things occur.

Emacs Customisation Notes (Part 1).

In my previous email I wrote about my love of using Emacs for all of my text editing needs, and I was driven to ensuring that I make the best possible use of this king amongst text editors.

I wanted to revisit my customisations and ensure that my Emacs was all that it could be. Here are some notes on how I have tweaked Emacs up till now. This can act as a baseline for my future shenanigans.

Customised Startup.

Emacs uses an initialisation file which can be used to control everything from keyboard layout to the myriad of plugins that are available. These plugins are, by and large written in Lisp, and on Linux machines many of the most useful ones can be installed as sets from the appropriate package manager. Once the Lisp files have been installed they can be enabled by adding incantations to the initialisation file.

Making Initialisation Universal – Or See, I Told You Dropbox Was The Nutz.

As I use Emacs on both my home laptop and on my work Linux machines I really wanted a way to be able to have a shared functionality across the systems. I did this in two stages. Firstly I created the .emacs file (the starting point for initialisatons) in a suitable folder in my Dropbox (~/Dropbox/emacslisp). I then created a symlink from the Dropbox folder to my home directory as Emacs expects the initialisation file to be there.

My .emacs file is actually pretty simple as its purpose is to call other files which have been created to contain the actual customisations.  The customisation files are named to indicate the purpose of the files themselves, and each one is included using the command:

(load “emacsExperimental”)

There are several initialisation files which are used:

  • emacsExperimental
  • emacsBuiltin
  • emacsAppearance
  • emacsHTML
  • emacsLatex
  • emacsOrgMode

These are largely self explanatory.

Fast Starting Emacs.

One of the criticisms that some people have of Emacs is that it can appear to be quite slow to start up. This is a valid when compared with something like Vi or Nano. It is less valid when compared to a more graphical text editor like Notepad++. However, there is an easy way to speed the process of launching Emacs. The process is two staged. Firstly Emacs is started at login as a daemon. This can be managed through a suitable session editor for your Window Manager.  Nothing different appears to happen at login. No windows are created, and no perceptible difference in memory usage occurs. But then, when you actually want to launch an Emacs session you use the command:

emacsclient -c


emacsclient -t

-c gives you a full windowed Emacs session, -t runs Emacs in the terminal that you issued the command from.

Launching of the Emacs client is very fast, and you will be deposited in the suitable window ready to start typing very quickly.

Issues With Emacs Server.

Of course the issue with the Emacs daemon is that it launches at login. If you make changes to the Emacs initialisation files then these changes aren’t automatically available in the daemon mode Emacs. This means that you have to either kill and restart the daemon or you can use the ‘normal’ Emacs as a test bed while you check that everything is working as you would like. This is a minor inconvenience in the grand scheme of things as customisation of Emacs is something you probably only do once in a while.