It's been a really long time since I posted anything here so I thought I'd do a catch-up post about some things I've been doing recently. There is no unifying theme. You have been warned.
I have been doing a bit of Perl coding recently. The LCA2010 crew are going to be including a USB stick in the goody-bag people get when they sign in. This will require some system for copying data onto hundreds of blank keys with a minimum of fuss. I made the mistake of saying "how hard can it be?" and thus found myself volunteered to build such a system. And so it was that usb-key-copy-con was launched onto an unsuspecting world:
Using this app could hardly be simpler. When you start it up, it prompts you to plug in a 'master' key. The contents of the master key get slurped into a temp directory. Then you just stuff blank keys into every available USB socket. No other interaction is required, as each device is plugged in, the copy process starts automatically. When the copying finishes, a sound alerts you to unplug all the keys and put more blank ones in.
Apart from writing Perl I've also been doing a bit of reading. If you haven't read Stieg Larsson's 'Millenium' series then you should put them on your christmas want-list now. These three books are kind of hard to pigeon-hole - they're part murder mystery, part thriller and largely unlike any other book you've read.
The kids both had birthdays recently and so I got to read their new books (once they'd finished of course). For fans of the Septimus Heap series from Angie Sage, Syren is a worthy new edition. It's probably not my favourite of the series so far, but it's good nonetheless. For fans of the Pendragon series from DJ MacHale, The Solidiers of Halla is a must-read. Thomas loved these books. I had my reservations but found myself reading them all anyway. This book is an excellent conclusion to the series (if you ignore the bizarre and superfluous epilogue). Some fans have complained that everything was different in this final book - all the rules had changed. All I can say is that by book number 10 things were getting a bit samey and the rules were due for a change. The new revelations went a long way to explaining some of the mysteries from earlier books.
Jack Higgins has also figured conspicuously on my reading list rece books recently. I'm always a sucker for a good thriller and Higgins certainly knows how to deliver. You may have heard the expression "a long time between drinks". This expression does not apply to a Jack Higgins book. You'll find that champange or whiskey is being consumed in large quantities on every other page. It's not something that bothers me it's just that once I started to notice, I really was amazing at how often it happened.
Finally, I feel I must followup the previous post with the news that we're up to 100% now :-)
At last life can begin to return to normal in our household. The final element of the kitchen project was the glass 'splashback' which went in behind the the cook-top this week. Yes, it is rather red.
The dingy 1970's look is all gone and in its place we have a light, airy, open and inviting space. Now all we have to do is pay for it.
The end is in sight at last. The painters have finished except for a little work outside. The new kitchen cabinetry was delivered today and is currently filling up all the space in the new kitchen.
The kids are demo'ing the platform I built for wallpaper stripping and painting of the wall by the stairs. Because the ceiling is so high I needed something solid enough to support a small step ladder. There's no doubt, this thing is solid. I'll almost be sad to see it go but it takes up too much space in the garage. So if you want it and you have a dollar you might get lucky.
Since the last release of SSHMenu went so smoothly, I thought I might as well do another...
SSHMenu is somewhat of an enigma - it's a GUI tool for people who work at the command-line. In theory it shouldn't appeal to the point-and-click crowd (since they don't use command-lines) and it also shouldn't appeal to the command-line crowd (since they don't use GUIs). Of course the world is not black and white and most people choose the combination of tools that work best for them.
I lean strongly towards the command-line myself and yet I developed SSHMenu because I wanted a GUI solution to a particular problem. I wanted to be able to easily initiate a new SSH connection in a new terminal window. I wanted the ability to define the position and size of the new window and to use colours to indicate the class of machine the window was connected to (eg: production vs test vs development). The solution that worked for me was to implement an applet that provides a menu of frequently used connections.
It turns out that there are some people who also want to be able to set up profiles for frequently used connections, but they don't want to use a menu. When they're typing at a command prompt and want a new SSH window, they don't want to reach for the mouse - they'd prefer to type a command. Release 3.18 of SSHMenu adds a feature to support this group of users. Now they can use SSHMenu's GUI dialog for the infrequent task of defining a new connection, but for the frequent task of initiating a connection they can use the command-line.
Here's an example. Say you have a server called 'fitzy' that hosts your web development environment. Perhaps you frequently connect to this host to run 'tail' against the Apache error log. Since the lines of output tend to be quite long you prefer to use a small font and a wide window positioned across the the bottom of your screen. You can set that all up using SSHMenu's 'Host' dialog:
And now you can initiate the connection in a new window with this command:
sshmenu-gnome fitzy
Of course 'sshmenu-gnome' is rather a long and unweildy command to type frequently so it's likely that you'd alias it to something shorter like 'connect' or 'sshm'. The SSHMenu distribution includes a bash completion function called _sshmenu which allows you to do tab completion of host definition titles from the command line. If you set up an alias for the main command, you'll want to associate the completion function with your alias as well:
alias sshm=sshmenu-gnome
complete -F _sshmenu sshm
So there you go. If you like to use multiple terminal windows it might be a useful addition to your toolbox.
I finally got around to pushing out a new release of SSHMenu. It includes some bug fixes, minor tweaks and one particularly cool new feature. As I'm sure you'll recall SSHMenu is a very simple GNOME panel applet that provides a menu of hosts for you to connect to via SSH. Point ... click ... shell window appears:
The disadvantage of course, is that you have to define at least some of those things - you can't use SSHMenu to connect to a host unless you've defined a connection. Following a suggestion from Chris Siebenmann, release 3.17 has changed that. Now the applet includes a handy little text entry box. Type a hostname in the box, hit Enter and you're connected. Even better, the text box does auto-completion so if you've connected to a host before then you can type in the first few letters and select the host from the list:
- hostnames you've typed in the box previously
- hosts that are already defined in your menu
- an option to take the hostname you've just typed and add it to your menu
Now for the bad news ...
You can't actually use this cool new feature yet. Earlier this year Detlef Reichl did some work on the Ruby-GTK bindings to add some features to the panelapplet library that he needed for his teatime applet. His patches were accepted and released in version 0.19 of the bindings. Two of those patches are required to run the new features in SSHMenu. Version 0.19 of the bindings has made it into Debian 'unstable' and hopefully will be in the next Ubuntu release. Until then, if you want this feature then you're going to have to build the libraries yourself.
And finally ... while I was developing this new feature I took the opportunity to move the source code from Subversion to Git. What a blessed relief!
Thomas and I have discovered some great books together and the Wellington City Libraries have served us well. When finding books for Thomas I'm obviously influenced by what I was reading at his age but we made some great new discoveries together.
Unintimidating books are important for building confidence in a young reader. Some other titles Thomas enjoyed included Jon Scieszka's Time Warp Trio series; any of Roald Dahl's kids' books; Zizou Corder's Lion Boy series and anything by Louis Sachar (including the fantastic 'Holes').
One of my all-time favourites when I was young was Willard Price's Adventure series. Thomas also enjoyed that series but sadly he never shared my passion for Arthur Ransome's Swallows and Amazons books.
Eoin Colfer's Artemis Fowl series are great adventures, intelligently crafted and funny to boot. Thomas initially enjoyed these books but then went off the whole fairy theme. He rediscovered the series a couple of years later and devoured the lot - elevating Colfer to 'favourite author' status. Another of Colfer's books that we particularly enjoyed (aside from the Artemis Fowl titles) was 'The Supernaturalist'.
The Septimus Heap series from Angie Sage was a hit with the whole family and these were the first 'big' books that Emily read. Still on the theme of magic and dragons, the Eragon series from Christopher Paolini is probably at the top of Thomas' all-time favourites list. Emily Rodda's Deltora Quest books would be high on his list too.
When the Alex Rider 'Stormbreaker' movie first came out Thomas and I both read through all Anthony Horowitz's Alex Rider books. An older cousin then turned Thomas onto the Power of Five series which targets more mature readers and he ripped through those in short order.
Recently Thomas and I have been reading the Pendragon series from D J MacHale. I've got to admit that the quality of writing is not exactly first class (the books read more like screenplays than novels) but they're gripping stories all the same. I'm just working my way through book 9 in the series so despite my reservations there's obviously something that keeps me reading.
We both read and enjoyed 'Tunnels' by Brian Williams and Roderick Gordon. When the followup book 'Deeper' appeared, Thomas tried it but got bored and gave up. I tried it too and also got bored. Eventually (about 3/4 of the way through the book) the story finally got going and by the end I was actually enjoying it although I really didn't sympathise with any of the characters. When the third book 'Freefall' was released I read it and enjoyed it despite the plot having proceeded well beyond any last vestige of plausability. I don't know how many books are planned but I hope it's not more than four.
As I've said here before, John Marsden's Tomorrow series is high (possibly top) on my all-time favourites list. The quality of the writing is excellent and the characters began to feel like members of our family. It's probably a little old for Thomas but I'm confident it will grab him eventually.
Unfortunately the technique of picking books that appeal to me, simply doesn't work when I'm finding reading material for Emily. She does enjoy reading but doesn't get immersed to the same degree as Thomas (her run with Angie Sage's books being the exception to that rule). She'll be turning 10 soon and is a capable reader so if anyone can suggest great books for girls I'd love to hear from you.
It's all rather exciting! After I left for work this morning the builders moved in and the demolition work began ...
The aim of the project is to add some dining/living space (we're not sure which yet) to the kitchen by extending through into what is currently a laundry. The laundry was a rather large room and included a shower that we never used and a toilet that didn't work.
One of the windows will be removed altogether and in front of it we'll have a cupboard laundry containing the washer + dryer + tub. One of the other windows will be removed and replaced with french doors. There's a long way to go yet but at least we have professionals on the job.
Just in case there's a programmer left on the planet who hasn't seen this link:
James Iry's ‘A Brief, Incomplete, and Mostly Wrong History of Programming Languages’
Yes, it's geek humour but it's very funny geek humour!
OK, so my headline may be exaggerated but lately I've been reading "The Tomorrow Series" by Australian author John Marsden and Wow! These are awesome books. If you haven't read them, start now:
The main thing that impressed me about the series was how well written they are. The characters are realistic and believable and I really cared what happened to them. In fact it might be said I cared too much. When things went well I enjoyed their successes. When things went badly I felt a physical knot in my stomach as I read on to find out how things would be resolved.
It is tempting to describe what the books are about. Indeed I have enthusiastically succumbed to that temptation with friends and acquaintances as I worked my way through the series. Despite my enthusiasm I saw people's eyes glaze over as they thought things like "I don't read kids book", or "I don't read war stories", or "blokey adventure books aren't my thing". The books definitely don't fit into those pigeon holes but I can see how someone might mistakenly think that they did. It would be a real shame if I put you off reading these books because you will love them.
I've added that to the project TODO list read more
on SSHMenu 3.18 adds command-line support