• Practise makes perfect (or gets you closer to it)

    Sunset on the cello Photo by rongzoni, used under the Creative Commons License

    When I was at Primary School, I had the opportunity to learn to play the ‘cello. I continued to learn until year 10 at High School, when I realised that:

    • As I wanted to do some kind of computing degree at Uni, choosing Music as a year 12 subject wasn’t useful.
    • I hadn’t really ever put the effort in to practising regularly so I probably wouldn’t do very well.

    I’d reached a level where I could “bear to listen to myself playing” - if you know what I mean. Not in any danger of being head-hunted by a symphony orchestra, but I could muddle along. So apart from the odd time playing at my old Church, my ‘cello pretty much stayed in the cupboard after that.

    That changed a couple of years ago, when some musical friends of mine invited me to be a part of a band they were putting together (this later became Sevenfold). We practise about every two weeks, so the ‘cello got dusted off and used a bit.

    Then just before Christmas I was asked to take part in a ‘Cello ensemble that was going to perform at my church’s “Road to Christmas” event (where they transform the front carpark into “Bethlehem”, complete with animals, food, beggars and roman soldiers!).

    The ensemble was organised by Shinduk Kwoun, who is an accomplished ‘cellist. She asked some of her students to come along (ranging from one who had only had 3 lessons, to others who have a few years under their belts) and also roped in Kym Worley (who’s graduated from the Conservatorium, so he’s pretty good)

    Sadly (for me), Shinduk and her husband Robin are moving to Melbourne. But before she left, I asked her if she could suggest anything that would improve my playing. I was thinking maybe new strings, but her immediate response was “get some lessons!”. And then she offered to give me some free tuition before she left Adelaide.

    It was the Christmas break, so I was able to cram in quite a few sessions, and for the first time in a very, very long while, I was practising every day.

    And you know what?

    It does make a difference! Having someone to both encourage you and tell you what you need to work on really helps. Even in this short time, I’ve noticed some small improvements, and I’m now aware of some things I need to keep working on.

    As well as the token of appreciation I plan to put in the mail to Melbourne, I’d also like to say thanks here for her help. Now it’s up to me to see if I can keep the more regular practising and maybe get some more lessons.

  • Importing data into Moodle using VB9

    We’ve been developing a new Quiz engine on and off over the last few years. The original quiz was written by me in ASP, and does the job, though the interface for authors to enter new questions proved a bit too clunky, and is probably why it was never used very much.

    Enter ASP.NET and a chance to start from scratch and have another go. Except that it turns out writing a quiz engine (complete with some kind of question bank) is not that trivial.

    It looks like we may never get to finish the ASP.NET version, as we are now starting a trial of the quiz that comes with Moodle. It appears to have pretty much all the features we require, and someone else has done the hard work already!

    Last year we were running some trials of the ASP.NET application, and we wanted to migrate the questions that had already been entered over to Moodle so that they could be re-used.

    As of version 1.8, Moodle supports the following formats for importing questions:

    • GIFT
    • Missing Word
    • Blackboard <=5
    • Blackboard 6+
    • WebCT
    • Course Test Manager
    • Cloze
    • Learnwise
    • Examview
    • Moodle XML

    A surprising omission from that list is the IMS QTI format (thought Moodle does support this for exporting). If you’ve ever done quiz development, you should be aware of IMS and their Question and Test Interoperability specifications.

    Seeing as the migration tool will only have a limited lifetime I chose Moodle XML. The format is very simple and is mostly documented. The best way to find out the syntax though is to manually enter in some questions into Moodle, then do an Export.

    So now to build the tool. I planned to use .NET, and then I realised this was a good opportunity to try out some of the XML support built into VB9.

    In the end it I wrote the tool in a day, and the XML support made it very easy.

    Dim Doc As XDocument = \_
    <?xml version="1.0" encoding="utf-8" standalone="yes"?>
    <quiz>
        <question type="category"\>
            <category><%= t.TEST.TEST\_TITLE %></category>
        </question>
    
    </quiz>
    

    This example shows how you can insert values into the XML really easily. I do like the fact that the XML looks like XML, not wrapped up inside strings.

    I did play around with enforcing an XML schema. There isn’t an official one defined by Moodle, so I tried rolling my own. This then lead to problems with the XML getting lots of xmlns attributes which I didn’t want, so in the end I just did without it.

  • Importing Excel 2007 into Windows SharePoint Services 2

    In WSS 2.0, there’s an option to create a new list by importing an Excel Spreadsheet.

    I’ve got Excel 2007 installed, and so after selecting the cell range of an .xls file I got this error message:

    Method ‘Post’ of object ‘IOWSPostData’ failed

    Searching for this gave me a possible solution

    Because this particular SharePoint is still version 2.0, I figured that lVer = 2 was appropriate, and the good news is it worked.