Tuesday, 29 January 2008

Tracking what I'm doing

Week to view diaryI've traditionally used a paper diary to record my daily work activities. At our team meetings, I then use this to report what I've been doing in the last week.

I leave the diary on my desk at work, so one problem is when I work at home, I need to try and remember the next day what I did.

I considered another blog for this purpose, but all I need is somewhere private that I can record short notes. Even better if they get timestamped.

The two possible candidates that I'm trialling are Google Notebook and Twitter.

Twitter kind of makes sense, except that I generally don't want these notes to be public, so if it isn't possible to keep them private then Notebook will probably win out.

We'll see if I prefer online to offline, but at least my typing is easier to read (and faster to enter) than my handwriting :-)

Release version of Visual Studio 2008 Web Deployment Projects (WDP)

Microsoft have published the "Released To Web" version of the Web Deployment Projects. I haven't tried it out yet, but it should fix the problems with the CTP from November/December.

Sunday, 27 January 2008

Tour Down Under 2008

On Friday, I joined in with 3,399 other cyclists to take part in the Challenge Tour from Mannum to Strathalbyn. It's a chance to ride one of the same legs that the Pros do in the Tour Down Under race (though at a considerably slower pace!)

As in 2007, I rode with the "Mud, Sweat and Gears" team. This time we managed all meet up at the end and get some group photos.

And they're off. The Skoda Breakaway Tour begins at Mannum. Picture: DEAN MARTINI rode with my Dad, and we completed the 134km ride in about 6 hours (about the same as last year). However, unlike last year we did manage to ride under the finishing arch this time!

I think Dad's regular Saturday morning rides with the other guys from the team paid off, as I found unless we were coasting downhill that I was having to chase him most of the time.

It did get pretty warm towards the end of the ride (33°C with not much breeze) and I was a bit dehydrated after the race.

We did get to watch the Pros come into Strathalbyn, and saw the unfortuntate incident of Matthew Hayman getting head-butted off of his bike in the final 300 metre sprint to the finish. He's had surgery and should be back on his bike in a week - wow.

AdelaideNow have some more photos of the event, and if that's not enough, the team organiser Gavin (who just happens to run In The Picture Productions) has posted some video onto YouTube.

Yes, that's me peddling madly at around 1:16 :-)

Monday, 21 January 2008

Confluence as a service

I was having trouble running Confluence as a service. It failed with the following unhelpful error:

C:\confluence\confluence-2.7-std\bin>net start

Confluence The Apache Tomcat Confluence service is starting.

The Apache Tomcat Confluence service could not be started.

A service specific error occurred: 0.

More help is available by typing NET HELPMSG 3547.

Support responded with a suggestion that I review this thread in the Java Forums. And turns out that was my problem too. Copying msvcr71.dll into \windows\system32 has done the trick. I presume this is a bug in the JDK installer.

I was also able to set the service to run as NetworkService which is nicer than hardcoding my credentials, or letting it run as SYSTEM.

Friday, 18 January 2008

Confluence Wiki

Last year Ben spent some time evaluating Wiki software. He quickly came to the conclusion that the SharePoint offering was not that impressive. He also looked at some other versions which were much more capable.

I'd noticed that quite a number of sites globally were using Atlassian's Confluence Wiki software. We managed to purchase a 25-user license to test the waters. Apart from anything else, Atlassian are based in Australia, which is nice.

Yesterday I had the opportunity to install it and get it up and running. I found the process surprisingly straight-forward.

It is written in Java, and requires JDK 1.6, but otherwise it was just a matter of following the instructions step by step (including grabbing these JTDS drivers as we're using SQL Server for the database backend).

It defaults to running on port 8080, but after stopping the default web server in IIS, a quick edit of conf\server.xml swapped to standard port 80.

The database setup went flawlessly. I just pointed Confluence at the server, and ensured the username was in the db_owner role, and it created all the tables it required. I've since removed it from the owner role.

We have our own Active Directory so using LDAP for authentication made sense. This too proved simple to configure. I just followed the instructions again, and used an existing AD account.

About the only thing I haven't got working is configuring the whole thing to run as a service. There's documentation on how to do this, but it doesn't work for me. Hopefully I'll hear back from their support people shortly.

I was quite pleased with the whole process. It isn't quite as nice as just double-clicking on an .MSI file, but it was still relatively painless.

Later on, we can try out the SharePoint Connector that lets you integrate Confluence with a SharePoint site.

Where's the time zone update for Windows Mobile devices?

I mentioned previously that Microsoft released an update for their desktop and server operating systems in late November. This included the new daylight-savings ending for South Australia.

For some reason, we're still waiting for a similar update for Mobile Devices. The last release was from August 2007, and that doesn't include changes for South Australia or Tasmania.

What's the holdup? Daylight savings will have finished if they don't hurry up!

Thursday, 17 January 2008

CodeCampOz 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

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.


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


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.


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.


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.

Thursday, 10 January 2008

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.

Wednesday, 9 January 2008

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"?>
    <question type="category">
        <category><%= t.TEST.TEST_TITLE %></category>


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.

Tuesday, 8 January 2008

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.

Your Account is deleted (part 2)

Looks like it wasn't just us affected by having our website deleted. This is the response I got to my email:

Dear Mr. David,

We really apologize for this issue. Our developer has been accidentally released the wrong version of the billing system that deleted your account.

Our support team is now working to restore your website and emails.   
They have setup your account as active so you can login to your control panel to raise support ticket while we are restoring your application.
Due to high traffic of restoring task, please give us another 24-48 hours to bring your website up again.
If you have your own backup at your side, you are pleased to restore it on your own to speed up the time.

Also, you are pleased to create support ticket to ask for your website restoring status.

Please let me know if you still face any issue.
Best Regards
James Sullivan
SeekDotNet Sales Team

Well James, I'm not pleased to create a support ticket, but since my site is still not restored, I think I will anyway.

Someone really needs to proofread their emails :-(

Sunday, 6 January 2008

Your Account is deleted

Amongst other things, I'm the webmaster for the Australian Carnivorous Plant Society.

I just received this email from seekdotnet, the company we have been using to host our website for the last few years:

Dear Mr/Mrs    [NewLine] Your Account is deleted due to non-activating more than 1 month. [NewLine] Thank You.

(Yes, that is an exact copy of the text, including the questionable grammar and the [NewLine] string).

And they aren't kidding - browsing to the website www.acps.org.au results in a 404 File not found error. Eeeek!

No warnings, no nothing. Just deleted like that after being in continuous good financial standing. If you want to keep your customers, you don't just delete all their info if there's suddenly a problem with payments. You might at least attempt to let them know there's a problem so they can fix it before it goes too far.

I've contacted the company, and I'm hoping commonsense will prevail. We'll see.