SmallBasic

If you want to rediscover the joys of writing little programs and doing fun things with computers you could take a look at SmallBasic. It is inspired by the tiny Basic interpreters that you used to get with your Commodore 64 or BBC micro and lets you write programs using a very simple language in a friendly IDE.

I’m a great believer in starting to program by keeping your focus on the algorithms and things like this can only be good. Although I’m not sure about the Goto statement figuring quite so large....

http://msdn.microsoft.com/en-gb/devlabs/cc950524.aspx

Bad/Mad Practice

Alfred Thompson had a good post in his blog about software testing. Alfred and I are around the same generation (I hope he won’t mind me saying this) and we’ve both written software for money in the past. When I was writing my largest projects I didn’t make use of any kind of tester particularly, I just make sure that it worked before I handed it over. Alfred was the same.

Nowadays it seems that there is a trend towards developers handing stuff over which they haven’t really tested, on the basis that the test people who receive it will find any mistakes they made. Alfred (and I) hate this idea. I put quite a verbose response to this effect on his post you can find here:

http://blogs.msdn.com/alfredth/archive/2009/01/27/how-not-to-develop-software.aspx

I’ve since talked to people in the business and was appalled to hear that this practice is not uncommon nowadays because developers are pushed to meet deadlines and the only way they can do this is by skimping on the testing they do. Ugh. I reckon this really goes back to Bad Management, in that a manager will get a good feeling if they are enforcing a strict regime with tight deadlines which the programmers are all hitting.

The end result though is that the testers keep sending stuff back for re-working because it has bugs in, the developers lose time on the next phase because they have to fix all these bugs, so they send the next version out (in time for the deadline) with more bugs and so on. The words Vicious and Circle spring to mind. Along with Bad and Product.

It turns out that one of my heroes, Eric Brechner, has written a lovely post about this that sets it out really nicely:

http://blogs.msdn.com/eric_brechner/archive/2009/01/01/sustained-engineering-idiocy.aspx

Developing the Future

I have just received a nicely printed document called “Developing the Future” from Allison at Microsoft UK Academic Alliance. This is a summary of a report produced  by the British Computer Society, software firm Intellect and Microsoft. The report is produced every year and takes a look at the way the UK Software Industry is going. If you are interested in the business I strongly suggest that you take a look at the summary. It makes lots of good points about the future. The full report is even more interesting (but is also 128 pages). Points that I took away were:

  • The UK is still a great place to start a software business, with access to venture capital, a good tax regime and a public who provide a ready market for new developments. (although you might get bought out by a large multinational company if you do well – which might not be too bad I suppose). Other countries are starting to compete though, with targeted incentives for particular fields – notably Game Development in France and Canada.
  • Whilst Small, Medium and Large software development companies are doing well, there has been a decline in “Micro” companies, with less than 10 employees (although the small company sector has got bigger – so perhaps the Micro companies are growing).
  • There is still a “Knowledge Gap” in the Software Industry. Although there are many Computer Science courses in the UK, some are having difficulty recruiting students and there is a feeling amongst employers that not all software graduates have an appropriate skill set. Which leads to a good jobs market for those that have.

I read this with my “Hull University, Department of Computer Science” hat on of course, and I like to think that the graduates we produce are useful and have good employment prospects. Past experience seems to bear this out, and (not wishing to blow our own trumpet or anything) the fact that we are presently ranked sixth in the country for graduate employment bodes well.

You can get the summary, and the full report from here:

http://www.microsoft.com/uk/developingthefuture/default.mspx

Poladroid

I used to have a little Polaroid camera. I loved the way that the pictures appeared over time, and the strange way it had with colours. Nowadays such technology is being replaced by digital, but the Poladroid application does give you a way to recapture that old magic. It takes pictures and gives them the Polaroid treatment, right down to the borders and the way that they take time to appear. You can actually watch the image develop, and even take snapshots of the slowly appearing picture.

You can get the application from: http://www.poladroid.net/

3233155255     3233155309

A couple of snaps which have been converted.

Great fun.

The Rocky Road to IE8

I thought I was going to have to spend this evening rebuilding my machine. Just because I installed the new IE8 Release Candidate 1. It didn’t go well at the start:

  1. Installs IE8. Installation goes very (suspiciously) smoothly. In fact it did most of the work when I was at my coffee break.
  2. Fired up the new browser and it complained that the version of “Windows Live Sign-in Helper” was out of date and then opened up a window with the message “Internet Explorer Add-ons are not running”. This confused me a bit, for a while I thought that all Add-ons were broken, not just one, and I spent a few less than happy minutes trying to turn them back on.
  3. Gave up on that, and went off to download a new Live Sign-in helper.
  4. This insisted on installing a new copy of Messenger, and a whole bunch of other stuff, including an upgrade for Windows Live Writer (yay!) which I love.
  5. Fired up IE and, lo and behold, the message about the sign in helper had gone.
  6. But I couldn’t get onto the Sharepoint pages at work. Wah. The server gives a message which implies that the server doesn’t understand my browser. Mention this to system support. Their installation of IE8 works fine. Double Wah.
  7. Start Messenger for a moan to other people. Messenger starts running, and then hangs, whilst the fans in the laptop ramp up to warp speed. Sure enough, it is taking all the processor time. Kill Messenger, shutdown IE, and then have to do some proper work for a while.  Spend the afternoon timetable juggling. The only thing keeping me smiling is the disk image I happen to have at home, which means I can return to my starting point in around half an hour.
  8. Get home and reboot the machine. Everything works. Web sites, Sharepoint, Messenger, the lot. The new Messenger front end is really cute and seems to reach out to a whole bunch of other services, which is very interesting. I like the look of IE 8 (even though it has to drop back to Compatibility View to work properly with my blog pages – hopefully Squarespace will fix that eventually). Pages load more quickly and there are some new buttons I’m looking forward to pressing.
  9. Fire up Windows Writer and it looks even more spiffy, I’ll have to wander around the program and see what is new.

I’d advise you to take a look at IE8. I’m sure you won’t have the fun and games that I’ve had. I’ve done some searching and nobody else has had problems like mine (do they ever..) It must be something funny about my machine that upset things at the start. You can find IE8 at: www.microsoft.com/ie8

And I even managed to sort out the timetable problem too.

New Free Stuff

The smartest thing I did last year was to give something away. The result of putting the "Famous Yellow C# book" up on the blog has been a huge increase in traffic and thousands of downloads over the last few months.

Loads of people have been in touch saying how useful it has been to them. A number of courses are using it as one of their texts and it has even made its way onto the digital bookshelf of some leading software manufacturers. And of course quite a few new typos have been discovered....

I got a query today from someone who is moving from Java to C# and I remembered that some time ago I wrote some notes about this. I put them up on this site ages ago, but I've tidied the text up, converted it to pdf and put it in a coloured cover (this time orange). You can find the new material alongside the Yellow book on the same site:

/c-yellow-book/

Microsoft Tag

Microsoft Tag is a new way you can put out links to web sites or whatever. The links are printed as patterns a bit like bar codes which you can read with your mobile phone camera. They use a cunning colour technology which means that even when they are snapped out of focus they can still be resolved into a readable address.

image

The tag for this blog.

The tags are linked through the Microsoft Tag site, which means that you can put expiry dates in them and the use of your tags is automatically logged so you can get reports on how much they are being used.

There are reader programs for most Smartphones including Windows Mobile, J2ME, iPhone, Blackberry and Symbian S60 devices. To work the phone needs a camera and of course internet access.

I'm thinking that when paired with a Polaroid PoGo printer, which prints sticky coloured prints just the right size for some text and a tag, this would be a very neat solution. I'm thinking about having a Tag treasure hunt at the next departmental bash. You can find out more about Microsoft Tag here.

Team Building Gets The Hardware

I got a lovely surprise today. The hardware for our Micro Framework entry turned up. And it is wonderful. It is one of the latest Tahoe II boards from Device Solutions. I installed the drivers, plugged it into the laptop and got my first program working in minutes.

3220357728

My first program just displays a picture of the team (as well it might). Next step is to see if I can get the touch screen going, then I'm going to play with the Zigbee wireless networking(we also got a Zigbee adapter for the PC) and interface some sensors and, and, and.....

Good thing I've finished my marking.

Slumdog Millionaire

I wasn't sure if this was the kind of film that I'd enjoy, but everyone else wanted to go and so I went along.  Glad I did.

The plot of Slumdog Millionaire sounds a bit trivial. A poor boy from the wrong side of the tracks gets a shot at the Indian version of "Who Wants to be a Millionaire". However, there is a lot more to it than that.  With every question answered there comes another step on the backstory that builds to a very satisfactory climax.

The film is beautifully shot and captures a lot of gritty detail about life in India, but it also shows how the human spirit can triumph in just about any circumstance. The actors are particularly impressive, particularly the child cast who are brilliant. Some bits are hard to watch, but in the end I think you will find the film worth the effort.

Presidential Priorities

I had a call with Devon from Microsoft in the 'states scheduled for late this afternoon. We agreed that it might be a good idea to postpone it slightly. After all, you don't want to have to answer the question "Where were you when America inaugurated Barack Obama as president?" with "Oh, I was on the phone at the time".

The Fault is Never Where You Think it is

One of my rules for debugging programs is "the fault is never where you think it is". This is because if the fault was where you thought it was, you would have fixed it by now. The fault isn't where you think it is because one of your assumptions about the problem is wrong. So I begin by checking all the assumptions I am making. Starting with "Am I running the program I think I am?" and going on from there.

I was reminded of this when I set out to find the source of a rattle in the sound system in the car. The nearside rear parcel shelf speaker was making an unholy death rattle in time with the bass notes in the music, and it was getting worse. So, armed with a bunch of screwdrivers I thought I'd go out there and frighten it into submission. I assumed that either something had fallen down the slots above the speaker into it, or I'd broken the cone by playing too many "bangin' choons".

So I set some music playing and sure enough, there was the rattle. So I spent a few minutes trying to find out how to get into the rear parcel shelf and listening carefully and came to an interesting conclusion. There is no speaker in the rear parcel shelf at all. The speakers at the back are in the doors. Well, how was I supposed to know? I've only had the car three and a half years....

Anyhoo, in the door pocket I found a happily rattling five pence piece. So, I now have rattle free music and I'm five pence up on the day.

Win.

And I remembered to take my camera with me today.

3207626560

Cottingham Church

Songsmith

The people behind SongSmith reckon that "Everybody has a song inside". I just hope that in my case it isn't "Shaddap You Face".

Anyhoo, the program itself is rather clever (as it might be, coming from Microsoft Research). It will orchestrate a tune that you sing, adding accompaniment in one of 30 styles. It does this by analysing the notes that it hears and then using some clever algorithms to pick chords that would sound the best alongside.

It is a free download, and looks like fun. Perhaps it might be useful for some cheap and copyright free game soundtracks....