isobuster for your Dreamspark Images

4138029641

If you are making use of your Dreamspark access to get hold of lovely free Microsoft software then you might have noticed that a lot of the good stuff arrives as ISO disk images. The idea is that you burn these images to disk and then install the software on them.

However, if you have a netbook with no CD-ROM drive, or are simply in a hurry I can recommend IsoBuster. This tool lets you copy files from ISO images onto your hard disk or memory key so that you can install programs from the disks without needing a physical disk.

There is a copy you can pay for, but I’m told that the free version will do all you need to get hold files from a disk image. IsoBuster is also useful if you have a damaged disk that you need to recover.

So Much for the Second Year

4132531573

I was doing a lecture on our Software Engineering course today. We were talking about UML (Unified Modeling Language) and how to map language specific features (for example C# properties) onto UML diagrams (if you want to find out more about this you can go here for some useful ideas).

Anyhoo, I thought it would be a good idea to show an example of a property in action so I wrote some C# on the board:

Rob.Age = 21;

The idea was to start an instructive discussion about the difference between fields and properties in C# objects. I asked the class to consider the statement and comment on it. A hand at the back shot up. “What do you think the statement means?” I asked. The reply came straight back “That you’re a liar”.

Thanks for that.

Gain Weight with Live Mesh

4119845964

I really like Live Mesh. This is a Microsoft file synchronisation thingy where selected folders on your machine are reflected onto the Live Mesh storage out in the cloud, and also onto other machines that run the Live Mesh add-in. It runs quietly in the background and doesn’t seem to intrude much on normal life (unless you are daft enough to make changes to files on two different machine before connecting them both to the network – at which point you will have to resolve a bunch of conflicts).

I’ve got all my courseware for the current year stored on Live Mesh. You get up to 5G of space on the server behind the system and this is plenty for a year’s worth of PowerPoint slides and Word documents.

The really good news for me is that I now no longer care which machine I’m using. As long as I allow it a few minutes to “catch up” with the latest versions (if I’ve not used that particular machine for a while) then I can use any device. The net result of this is that I no longer carry the same laptop to and from work.

I guess I could have used an external drive for this, but I’m always afraid of dropping/losing/having stolen the device which holds the only copy of my stuff. Live Mesh means my data is held on multiple machines, as well as on the central server.

However, my bag is now much lighter and easier to carry, and this means that I’m missing out on some exercise and will probably gain some weight as a result.

But I reckon it is worth it.

Danger and Excitement

4113943183

I was doing a tutorial this morning and I had just run the program when all the power in the building went off. The students present were most impressed, they had never seen a program that could turn off all the lights.

Fortunately (or unfortunately) it turned out that it wasn’t my code. The power came back on after five minutes or so, and later on we got an email saying that owing to problems at the local sub-station we would have to shut down the university and leave early as “any delay could cause catastrophic problems”.

I had this vision of people standing around a pair of glowing wires and someone playing the Scotty role and saying things like “I dinnae think she’ll take much more captain..”

Unfortunately it meant postponing my 4:15 VB lecture. Sorry about that folks, we were going to learn all kinds of interesting things about file paths too….

Hanging Out, Messing around and Geeking Out

4111953658

danah boyd (deliberate lower case here) is a researcher who ponders how the networks are changing our lives and the way we do things.

She is the co-author of a book which contains a set of case studies that investigate how different people live, learn and work around the networks of the 21st century. I’ve just started working my way through it, and I’m finding it very interesting.

Everything Digital is Rubbish

4108176371

Sometimes it seems to me that progress is made on the basis of one step forwards and two steps back. Today the DAB radio in the kitchen stopped working. It didn’t go a bit mushy (which is what the old analogue FM one did). Instead it went all staccato, and finally expired completely. I’ve had this happen before. I think it doesn’t like trees full of wet leaves, or something. Never mind, I thought, we can get digital radio on our TV.

Except we can’t. Some trickery at FreeView has seen all our TV channels break and move around, so that now the radio stations hardly work and I had to buy a new tuner to get the Media PC in the living room to work at all.

I wish (and remember this is a gadget person talking here) that we didn’t always move into new technology before we have actually got them as good as the ones they are replacing. Music players have only recently caught up with my old walkman, in that they now have the ability to resume playing where they left off.  Digital radio (and TV for that matter), were sold on the basis of more channels (which I don’t really want) and better quality (which was a lie).

Oh well, I suppose they will catch up eventually. We dug out the old analogue radio and that seems to work.

Flying Home from Berlin

Had to go home today. Flying on Friday 13th. Can’t see a problem with that. But first a last trip to TechEd.

4108943188

I could have won this, but in the end I didn’t.

We went to the last session of all, which was a great presentation about using constraints and automated test to improve program reliability. Anyone who has talked to me about programming for more than a couple of minutes will know that I am very keen on Test Driven Development, but it is rather a chore to write the tests, and often you just want to add elements to the code so that the resulting system will not let you make a mistake. If an age can’t be negative why not just have a way of putting that into the code?

.NET Version 4.0 includes Contracts that let you set out things like this, and looks like a great extension to the framework. Find out more here. If you want to write your unit tests automatically you could take a look at Pex  which will run your code, watch what it does and then generate suitable test behaviours. It even goes as far as making fake versions of built in library functions to properly replicate a testing environment.

All this is very interesting. I also went along to some sessions on the new dynamic elements being added to C# which let it bind more easily to languages which “make up” typing as they run. This is a great way to knit solutions out of lots of cooperating objects but goes against the grain of a strongly typed language like C#. It seems to me that we are travelling into the future in two directions at once. On one hand we have dynamic systems that fit themselves together as you use them (great for web mashups etc) and on the other we have systems that are strongly typed, constraint powered and properly tested (great for nuclear power stations).

Oh, and the flight home was fine, albeit a little windy.