CodeCampOz 2008

Thursday, 17 January 2008

Mitch announced that Code Camp Oz is on again this year in Wagga Wagga.

I've attended every one so far, and plan to be there again this year. About the only thing that could throw a spanner in the works would be the early arrival of G3.

Firefox Extensions I use

Thursday, 17 January 2008

I thought it would be useful for posterity to document which add-ons to Firefox I'm currently using.

Bookmark Duplicate Detector

Does what it's name says - keeps your bookmarks free of redundant entries.

ColorZilla

Let's you find out what colour something is on the current web page.

DownThemAll

Download manager (I'm using 1.0b2) which makes big files downloading a lot faster. Not 100% compatible with all sites, so you do need to resort to the built-in manager sometimes.

Firebug

The best web page debugger and inspector.

Foxmarks Bookmark Synchronizer

I use this to synchronise my bookmarks between work and home.

IE View

I don't use this as much as I once did, but there are some pages out there that unfortunately only render in IE.

Link Alert

One of those nice productivity enhancers - it modifies the cursor when you hover over a link to indicate what the target file type is. Notice in the image below how it tells me that this is a link to a Word Document.

Example of link alert extension

Live Writerfox

Let's me launch LiveWriter to blog about the current web page.

View Trace.axd

Roger's fantastic add-on that makes debugging ASP.NET applications so much easier.

Web Developer

The original web developer toolbar. Firebug supercedes some (but not all) functionality so I don't use this as much as I used to.

YSlow

Requires Firebug and gives you a "performance report card" of the current web page.

I haven't mentioned DOM Inspector or Talkback, as they both come with Firefox.

Practise makes perfect (or gets you closer to it)

Thursday, 10 January 2008

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:

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

Wednesday, 9 January 2008

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:

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

Tuesday, 8 January 2008

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.