Friday, 6 October 2006

Virtualization - QEMU and VMWare

Discovered QEMU the other day, and I've just given it a spin. Virtualization is all the go, these days: the VMWare product is now free for personal use (if I understand the license), and remains my preferred technology on Windows.  But this QEMU thing is new to me, and appears to be open source, too.



To use QEMU on Windows, you need to go to this site and download the qemu-0.8.2-windows.zip file first.  Create a folder for it, and unzip the contents.  You can try it out right away, by running the qemu-win.bat script.  What you will see (if, like me, it runs straight out of the box) is a new console window containing a very small command-line Linux.  So far so good, but (of course) I really want to run a more functional distro. 



I have the ISO image for the Live CD of the excellent PCLinuxOS distro, and you can edit the batch script to load from this image:



    qemu.exe -L . -m 256 -boot d -hda harddisk.img -cdrom pclinuxos-p93a-minime.iso



The "-boot d" ensures we boot from the CDROM device and the -cdrom argument is the name of the ISO file (which obviously needs to be in the same folder).   The hda argument specifies the file to be used as the virtual hard-drive: I created a new (larger) one with the qemu-img.exe tool, called harddisk.img, and that's what appears in the line above.



Well, I can report that this works!  It's a bit slow, but it does work.  To make it perform better, you are supposed to use the QEMU Accelerator as long as you're on an x86 machine.  Unzip (or untar/gz) the archive, locate the kqemu.inf file, right-click and choose Install.  Then, open up a cmd window and type "net start kqemu" (go here for documentation).  Once the service is running, you add -kernel-kqemu to the argument list in the batch file.



For me, this didn't work at all: I saw the boot screen and the PCLinuxOS progress bar, but it didn't get further than that. I suspect this is something to do with the fact I'm booting a live CD image and not a regular boot from the virtual drive.  I'm going to persevere a bit, in spare time: more later if I get it to work.

Tuesday, 3 October 2006

Good Agile, Bad Agile

Just been sent a link to Stevey's Blog Rants: Good Agile, Bad Agile: This is simply priceless polemic, well worth taking the time to read right through.  The early paragraphs take apart Agile and XP, aka 'bad agile'. It's funny, but I'm convinced it's also grounded in truth.  I especially like the Scientology analogy.  Then he gets into describing 'good agile' which is, apparently, what life at Google is like.  The prose turns from scathingly cynical (but entertaining) to slightly gushing and evangelical, as we're introduced to the over-the-top, out-of-this-worldness that is Google on the inside.  It really does sound scarily ideal...



There's so much here which chimes with my own instincts (and prejudices).  There are serious points being made, too, but I'm not even going to try to summarise them: you can't boil this stuff down into sound-bites or bullet-points. In a way, that's part of the message; our industry has wasted a lot of time and effort trying to do just that, and look where we've ended up.



Anyway, this guy really can write.  Subscribed.

Google Reader Update

The Google technologies just keep on improving: I've just started to use the new version of Google's feed reader, and I really think this is the browser-based reader which makes fat-client reader applications redundant (well, for me at least).  I have been using RSS Owl, an Eclipse RCP application which I think is very good (and cross-platform, and free), but I really want to store my RSS feed subscriptions on the web rather than copy a file around, and my requirements for a reader are pretty basic.



How much further will I want to go with this?  I already use GMail and the Google Calendar, which effectively makes Outlook redundant, and the Google Notebook for capturing material and scribbles quickly, and storing those on the web too.  I'm not sure about the Writely word processor and the spreadsheet (whatever that's called) - when I last used Writely (months ago) it wasn't very impressive.  But there is little doubt in my mind that for web-oriented applications, and for basic calendar/diary stuff, keeping things on the web and accessing them through a browser is almost ideal, provided I can rely on being 'always connected'.  Broadband in the UK is becoming more and more like running water: only the remotest places don't have it.



The bigger question is whether I trust Google with all my data.  How comfortable am I that Google can (in principle, if not in fact) read my emails, see my calendar, know what sites I monitor via RSS/Atom, and read my notes and documents?  Currently, none of this bothers me in the least, for a number of reasons.  First, there are other large companies which already know far more about me (and my lifestyle) than Google does: my bank and the supermarkets I use, for example.  Second, I can choose what I store in any of the Google applications, and I could easily and cheaply encrypt anything I didn't want stored en clair.  Lastly, I'm pretty sure that anyone looking at my Google data would have a hard time finding anything worth exploiting anyway: I'm not stupid enough to store  anything truly valuable there.  Every day, we all leave behind us trails of transactions, CCTV images, cellphone location updates, building entry/exit events, etc.  These things are (for most of us) completely out of our control: is it paranoia, stupidity or vanity that makes people talk-up the 'danger' of online services?


Monday, 2 October 2006

Netron, RIP?

The Netron project (Sourceforge) has disappeared.  It looks like the author has sold out to (or been employed by) Northwoods Software.  Good luck to him, I guess.  I used Netron for a while, but found it frustratingly patchy and the author seemed more preoccupied with adding features and presenting a lot of demo apps rather than with quality.  What's the alternative, in the .NET world? 


Thursday, 10 August 2006

R.W. Emerson Quote

People are always putting quotes in blog posts, web pages or (heaven forbid) email signature lines.  Normally, I ignore these but this one really stopped me in my tracks. 

Friday, 4 August 2006

Catching up

Another long gap between posts.  So what's happening?  Well, we went back to The Hague the other weekend to visit friends we made while living there.   It was great to have the chance to eat, drink and chat with them again: the children all went to school with each other for five years or so, and despite being apart for over a year they all got on as if they'd never been apart.  On the Saturday eveing we got together at the excellent, friendly Lof der Zotheid, in Breitnerlaan.  It's evening like this (and food/drink like this) that I do miss.  The next morning, our hosts (Simon and Maureen) laid on breakfast for four families, so the party extended well into Sunday!  Eventually, we had to make our way back to the Hoek, for the ferry.  The journey's so easy, we ought to do this more.



Daniel had his 13th birthday in July!  We managed to get him what he really wanted: a good, second-hand soprano Saxophone (a Yanagisawa!) from the ever-helpful folk at Wood, Wind and Reed.  Daniel loves it.  Good thing too, because it wasn't cheap!  But it's worth every penny, as he will do it justice - he's already working on Grade 7 (on the Alto Sax) - and he's playing with great assurance.  As a birthday party, we took half a dozen of his friends paint-balling at Go Ballistic in Thetford Forest.  I must this is a very professionally run place: superb support for the whole day, everyone had fun and no-one got hurt.



Becca has just returned from a week's camping with her Guides patrol.  They were somewhere near Coltishall, and it did rain for a couple of days but this doesn't seem to have dampened her enthusiasm; she's starting to plan a family camping holiday already!  This week, she's been abseiling, climbing, kayaking, hiking, and on some enormous zip-wire, so coming home is a little bit of an anti-climax for her.

 

Work-wise, it's been a busy time, working on a healthcare-related project (more about that another time), leaving little time to get to grips with the personal development projects.   It also means I have plenty to write about my adventures in the world of HL7, DICOM, CDA and the rest of the healthcare informatics alphabet soup.  So much to do, so little time...



I've been meaning to use a Wiki to keep notes on projects and as a cheap, fast way to publish stuff to the web, but I don't write often enough to make it worth investing too much time there.  At work we use the Confluence publishing system which is pretty good: it's commercial, but there's a free individual license.  I tried it,  but the (memory) overhead of running Tomcat on my virtual server is a little more than I can accept for just a wiki.



DokuWiki is superb, and with the Monobook theme it looks and feels very much like Mediawiki.  It's a PHP wiki engine, a much lower-overhead proposition and almost as functional.  My hobby project now is to add a simple XMLRPC interface, which I intend to use as the basis for a page publishing and editing facility, via OpenOffice Writer (and possibly Word, too).   I'm going to use Python on the server-side; it's a superb language and very good for web development.  I'll probably use Webware for Python to run the server-side code - it's a fast, simple and effective container.


Thursday, 1 June 2006

Java and .NET - choices.

I'm not usually drawn to online 'Java versus .NET' discussions.  They tend to attract evangelists and bigots, and rarely lead to any insight.  This article on TheServerSide is a little better than most; there is still a hefty proportion of noise, but enough signal gets through to make it worth reading a selection of the follow-up comments (I have only managed to get about half way through, skim-reading).  Quite a few of the comments reinforce my own views, hence this post.



Software engineering is (or should be) about getting things done - creating and delivering something.  You use the tools and techniques which work well for you, in your environment.  In my view, Java and .NET are roughly equivalent in terms of their ability to enable delivery.  You cannot guarantee success by choosing one technology over another, but you can improve your chances: you select the one which most closely fits your circumstances.  This piece of common-sense at least emerged from some of the comments.  If your business (therefore your customer's) is tightly bound to the Microsoft platform, then .NET probably makes good sense for you, regardless of engineering-purity arguments in favour of an alternative.



The breadth-of-choice issue, in relation to Java frameworks, libraries and technologies (and even IDEs), is an understandable point, but I see this is as one of Java's great strengths. The Microsoft monoculture means you don't have to think for yourself, and for many a jobbing programmer, this is a good thing. What's needed is strong technical leadership where decisions concerning the language, tools and technologies to be used by default are made by senior engineering, following some process of study and selection. With the burden of technology-selection drastically reduced (even removed), development teams can get on with applying the selected technology, gaining experience with it and feeding-back into an iterative improvement process managed by the technical leaders. 



Some will complain that this smacks of a 'two-tier' technical hierarchy, with certain individuals occupying elevated positions and having control of process and technology.  Well, yes, that is exactly what I am suggesting.  I don't see a workable alternative that doesn't result in, at best, less effective teams constantly trying different things, and at worst, complete chaos.  It doesn't mean the leaders are always right, and (as the hint at an iterative process indicates) it doesn't mean things can't change.



This article is timely because I have only recently started trying to use Java and Eclipse, after many years of C# and .NET.  I can sympathise with the .NET enthusiasts because I am at the stage where I know how to do it using C#/CLR but I'm not quite sure of the best way to do it using Java.  As it happens, I don't think the range of alternatives is daunting at all: it looks to me as if I can go a long way with Eclipse (with additional libraries), Spring and Hibernate.  What continues to amaze (and delight) me is the range and quality of supporting libraries in the Eclipse space: there is no equivalent in the Microsoft world. 


Tuesday, 30 May 2006

Eclipse, EMF/GEF/GMF

The support for modelling and model-visualization in Eclipse is very impressive, but a little difficult to get to grips with quickly.  I had already started working with the free IBM red-book on EMF and GEF when I discovered that there is now a project called Graphical Modeling Framework which appears to subsume EMF and GEF. 



Moreover, I'm trying to use the Callisto build of Eclipse (which attempts to combine harmonized plugin and project versions), and the Omondo UML plugin no longer seems to work correctly when used to create EMF models graphically.  I cannot seem to add an attribute to a model class in Omondo - the menu command simply doesn't exist.  To be fair to Omondo, I think they recognize there are some issues and a forum comment has been posted to the effect that a new version will be released soon for Callisto.



What's so interesting to me is that the Eclipse/Java community appears to be ahead of Microsoft in the area of Domain Specific Languages (DSL) and model-driven development.  Microsoft makes a lot of noise about 'Software Factories' and building support for creating and using DSLs in Visual Studio, but this has only recently become available and you must purchase the Team System edition to get it.   Team System requires an enormous investment, not just money but also commitment to Microsoft's view of how your team should work and collaborate.  Eclipse is free, completely open, and cross-platform.  I'm going to be looking in more detail at the libraries and tools for doing model-driven development, and building graphical editors.

Tuesday, 23 May 2006

Airkix!

Rebecca (my daughter) and I finally got to use our Airkix vouchers last weekend! Chris bought me a voucher for my birthday, and Becca liked the idea so much that we got her a voucher for her birthday, so we all went to the Xscape Centre at Milton Keynes on Saturday to use them!

The Airkix website gives you a pretty good idea of what it's all about, but you really have to experience it; the sensation is predictable enough but I hadn't expected it to be so tricky to maintain a precise position. You need to find a stable body-shape, and then to make all adjustments slowly. And as you have only two 1-minute flights, you have to learn all this quite quickly.

Becca is very athletic and supple, so she found the right shape almost immediately. It took me (a much older, creakier body!) a while longer, but I got there. And we have a DVD of our session to prove it! Must try to get some of that on to this site.

The tunnel equipment is awesome - I have no idea how powerful the fans are, but air is drawn from a very wide base area up through a funnell-walled section into the chamber (which isn't very big), which increases the velocity of the airstream. I didn't watch the instruments but I believe the windspeed is in excess of 100mph. There's a fine degree of control available too: they reduce the windspeed for smaller, lighter flyers, or when someone accidentally ends up too high.

This was huge fun! I've always wanted to experience free-fall, but I'm a still a bit scared of parachuting. This is the only other way...

Airkix!

Rebecca (my daughter) and I finally got to use our Airkix vouchers last weekend! Chris bought me a voucher for my birthday, and Becca liked the idea so much that we got her a voucher for her birthday, so we all went to the Xscape Centre at Milton Keynes on Saturday to use them!

The Airkix website gives you a pretty good idea of what it's all about, but you really have to experience it; the sensation is predictable enough but I hadn't expected it to be so tricky to maintain a precise position. You need to find a stable body-shape, and then to make all adjustments slowly. And as you have only two 1-minute flights, you have to learn all this quite quickly.

Becca is very athletic and supple, so she found the right shape almost immediately. It took me (a much older, creakier body!) a while longer, but I got there. And we have a DVD of our session to prove it! Must try to get some of that on to this site.

The tunnel equipment is awesome - I have no idea how powerful the fans are, but air is drawn from a very wide base area up through a funnell-walled section into the chamber (which isn't very big), which increases the velocity of the airstream. I didn't watch the instruments but I believe the windspeed is in excess of 100mph. There's a fine degree of control available too: they reduce the windspeed for smaller, lighter flyers, or when someone accidentally ends up too high.

This was huge fun! I've always wanted to experience free-fall, but I'm a still a bit scared of parachuting. This is the only other way...

Wednesday, 17 May 2006

Back again, at last

Two weeks ago, following some interruptions of service, my hosting provider simply went out of business.  This was a bit of a shock, as RazorLogix (RL) had looked like an almost perfect shared host - great service (until the outages), and a very good shared-host plan which included SSH access (non-root), Java, Python (including mod_python), RubyOnRails, Subversion support and more.



When the end came, it meant backing up everything and moving to a new host. Having done this only a month or two previously (in order to move to RL!), I wasn't very pleased.  The first problem was, who to host with?  I looked around for something close to the RL offering.  There are other shared-host companies which offer mod_python, but usually these are a bit constraining and very few offer SSH access.



In the end, I decided to take a slightly bolder step and go for a  Linux virtual server.  I hadn't considered running my own server before because it had meant either running the hardware myself 24x7 (not really something I want to do), or purchasing access to a rack-mounted server (very expensive).  Now that virtualization has arrived in the hosting market, running your own server is very cheap and gives you complete flexibility.  The downside of course is that you have to do everything else: administer the server, install software and so on.



There appear to be two main approaches to the virtual server market: User Mode Linux (UML) or using a virtualization layer such as Xen.  The result, as far as the user is concerned, is broadly the same: you have a complete Linux OS environment, an allocation of main memory, and some disk space (a few GB).  Of all the providers I looked at, the two I concentrated on were Bytemark, which uses UML and Rimuhosting, which uses Xen.



I chose Rimuhosting.  So far, so good.  They are based in New Zealand but most of the hardware seems to be in US datacentres.  Requests for help have been answered promptly and they do seem to know what they're doing.  The standard VPS install has almost everything I need, right out of the box, including Java and Python. For most of the basic setup, there is a web-based control panel.



As for me, the experience has been a bit like going back in time, to the years I spent developing in C and C++ on Unix (12 years or more ago).  It's surprising just how much has stayed with me, even csh/bash stuff.  The biggest challenge has been understanding the components of the standard (RedHat Enterprise-based) distribution that Rimuhosting uses, e.g. Postfix and Dovecot for email.  Having SSH access (and SCP access, so you can use something like WinSCP) means complete freedom: now I can do some of the server-side stuff I always wanted to do!


Back again, at last

Two weeks ago, following some interruptions of service, my hosting provider simply went out of business.  This was a bit of a shock, as RazorLogix (RL) had looked like an almost perfect shared host - great service (until the outages), and a very good shared-host plan which included SSH access (non-root), Java, Python (including mod_python), RubyOnRails, Subversion support and more.



When the end came, it meant backing up everything and moving to a new host. Having done this only a month or two previously (in order to move to RL!), I wasn't very pleased.  The first problem was, who to host with?  I looked around for something close to the RL offering.  There are other shared-host companies which offer mod_python, but usually these are a bit constraining and very few offer SSH access.



In the end, I decided to take a slightly bolder step and go for a  Linux virtual server.  I hadn't considered running my own server before because it had meant either running the hardware myself 24x7 (not really something I want to do), or purchasing access to a rack-mounted server (very expensive).  Now that virtualization has arrived in the hosting market, running your own server is very cheap and gives you complete flexibility.  The downside of course is that you have to do everything else: administer the server, install software and so on.



There appear to be two main approaches to the virtual server market: User Mode Linux (UML) or using a virtualization layer such as Xen.  The result, as far as the user is concerned, is broadly the same: you have a complete Linux OS environment, an allocation of main memory, and some disk space (a few GB).  Of all the providers I looked at, the two I concentrated on were Bytemark, which uses UML and Rimuhosting, which uses Xen.



I chose Rimuhosting.  So far, so good.  They are based in New Zealand but most of the hardware seems to be in US datacentres.  Requests for help have been answered promptly and they do seem to know what they're doing.  The standard VPS install has almost everything I need, right out of the box, including Java and Python. For most of the basic setup, there is a web-based control panel.



As for me, the experience has been a bit like going back in time, to the years I spent developing in C and C++ on Unix (12 years or more ago).  It's surprising just how much has stayed with me, even csh/bash stuff.  The biggest challenge has been understanding the components of the standard (RedHat Enterprise-based) distribution that Rimuhosting uses, e.g. Postfix and Dovecot for email.  Having SSH access (and SCP access, so you can use something like WinSCP) means complete freedom: now I can do some of the server-side stuff I always wanted to do!


Monday, 24 April 2006

Dorset, Devon and Ichthyosaur Bones!

We spent the Easter break in Dorset and Devon (the South West of the UK) mainly so we could visit the fossil-rich beaches along the Jurassic coast; Daniel was keen to go fossil-hunting. The South West is a lovely part of Britain, with dramatic coastlines, and rural beauty inland too. We spent some time on Dartmoor, including Becky Falls (with a name like that, we had to go), a scramble up to the top of Hound Tor, and then on to Totnes to meet a friend for dinner.

We stayed close to Charmouth, which is one of the most popular fossil-hunting beaches. On our first day there, we wandered down to the beach from the hotel, and spent an hour or so on the beach thinking that we probably wouldn't find much. I came across a piece of limestone with what looked to me like small verterbra embedded in it. I didn't really think it would be bones, but I put it in my pocket nonetheless. Daniel and Becca found a few small ammonites and belemnites, and we went happily back to the hotel.

Later in the holiday we joined a guided fossil-walk, on the same beach. Daniel persuaded me to show the geologist-guide the piece that I had found: I still thought it was probably nothing, but Daniel insisted! And he was right! The geologist took one look at it and proclaimed that this was a very nice find indeed: ichthyosaur bones! When we returned from the walk, the geologist took a few photos and promised to post then on the website. You can see us, with the rock, on this page. Look for the picture captioned "Ichthyosaur bones in a limestone nodule". Unfortunately, they don't seem to have put up the detailed photo of the rock. I will try to put some pictures of my own, here.

I haven't decided yet whether to get the rock cleaned-up: apparently, the process they would use involves painting the bone areas with a resist, then leaving the rock in an acetic acid bath to erode the limestone, the effect being to raise the the bone parts in relief above the stone surface, and revealing more detail and an extra dimension. It's a small rock, and the bones presumably come from a young Icthyosaur: I need to find out how much the process costs, and whether the result would be worthwhile.

It was a lovely break in a beautiful part of the country, and a lucky find!

Dorset, Devon and Ichthyosaur Bones!

We spent the Easter break in Dorset and Devon (the South West of the UK) mainly so we could visit the fossil-rich beaches along the Jurassic coast; Daniel was keen to go fossil-hunting. The South West is a lovely part of Britain, with dramatic coastlines, and rural beauty inland too. We spent some time on Dartmoor, including Becky Falls (with a name like that, we had to go), a scramble up to the top of Hound Tor, and then on to Totnes to meet a friend for dinner.

We stayed close to Charmouth, which is one of the most popular fossil-hunting beaches. On our first day there, we wandered down to the beach from the hotel, and spent an hour or so on the beach thinking that we probably wouldn't find much. I came across a piece of limestone with what looked to me like small verterbra embedded in it. I didn't really think it would be bones, but I put it in my pocket nonetheless. Daniel and Becca found a few small ammonites and belemnites, and we went happily back to the hotel.

Later in the holiday we joined a guided fossil-walk, on the same beach. Daniel persuaded me to show the geologist-guide the piece that I had found: I still thought it was probably nothing, but Daniel insisted! And he was right! The geologist took one look at it and proclaimed that this was a very nice find indeed: ichthyosaur bones! When we returned from the walk, the geologist took a few photos and promised to post then on the website. You can see us, with the rock, on this page. Look for the picture captioned "Ichthyosaur bones in a limestone nodule". Unfortunately, they don't seem to have put up the detailed photo of the rock. I will try to put some pictures of my own, here.

I haven't decided yet whether to get the rock cleaned-up: apparently, the process they would use involves painting the bone areas with a resist, then leaving the rock in an acetic acid bath to erode the limestone, the effect being to raise the the bone parts in relief above the stone surface, and revealing more detail and an extra dimension. It's a small rock, and the bones presumably come from a young Icthyosaur: I need to find out how much the process costs, and whether the result would be worthwhile.

It was a lovely break in a beautiful part of the country, and a lucky find!