Are you a “Best Banker” or do you have the “Strongest Pong”

Today and tomorrow I am going to be mostly in the practical labs marking first year programming work. The students can produce either an implementation of a Bank Account management program or an XNA version of the Pong game and they have to show it off and chat about how it works. The marking is is very time consuming, but I love doing it because it lets me chat to the students and see what they can really do.

To make things even more interesting I’ve produced some stickers which anyone who gets more than 90% will get either a “Best Banker” or “Strongest Pong” sticker.

3512129253

Well, could you get one?

Windows 7 is Lovely

I’ve been running Windows 7 Beta on my tiny netbook for a while. This week, having downloaded the Release Candidate I thought I’d step up to that. I had to do a complete re-install, which was a bit of a pain, but the effort is well worth it. Everything seems a lot more polished and there is some lovely artwork in the desktop and background themes that you get with the distribution.

From a technical point of view it doesn’t seem to have lost any of the responsiveness of the earlier releases and it found and used all the hardware in my device. If you are using Vista, or even XP, you should take a serious look at this, it really is very nice.

JSON and the Micro Framework

Our entry to the Dare To Dream Different competition is coming along nicely. We’ve spent a goodly chunk of today working on how we are going to pass messages from the Micro Framework device and the server it is attached to. Number one son suggested using JavaScript Object Notation, or JSON.

We could have used XML, but this has always struck me as a rather verbose way to pass data. JSON on the other hand is nice and tight, and has the benefit that its entire syntax can be expressed on a single web page. We are presently writing a set of JSON classes for the Micro Framework. This is actually proving to be quite fun (there might be ready-written versions out there but I quite like writing my own versions of these kinds of things, just to keep my hand in).

If you are interested in a beautifully simple way to express a design for data structures you should take a look at this page and see how the author has done it. I’m also thinking that if you are looking for an exercise for your programming smarts you might want to create a library of classes that will read and write data in this form.

Once I’ve got ours working and I’m happy with it I’ll post it out there so that the Micro Framework can use this rather neat data structure.

Simpsons 20Q is Fun

I thought I’d got a good deal getting a Simpsons 20Q for 8 quid up town. But Amazon have them even cheaper. I’ve long been a fan of the original 20Q device, which guesses what you are thinking by asking you 20 questions about it. The  original has an astonishing ability to guess random things, from lava lamps to artichokes to the air.

The Simpsons one is nowhere near as good, but it is quite fun, and does seem to have been programmed by people who really know a lot about the show.

Worth getting at the new low price, but if you haven’t got a 20Q (and everyone should have one) then get that instead.

DevDays Geek Night

I’m presently limbering up for Geek Night at DevDays in Amsterdam. I’ve got bits of the Micro Framework running and we just have to fit everything together. I love doing Geek Night presentations, I’ve even made a video to promote this one, which you can find here: http://tweakers.net/advertorials/geeknight.

Inaccurate Clocks

The clock on my Windows Desktop updates the minute hand every minute. Which is fair enough. However, it does this at the end of each minute, which I think is wrong. It means that for the last thirty seconds of each minute the clock is more than 30 seconds wrong. I reckon that the minute hand should move to the nearest minute when it becomes the nearest one.

Or am I just being too pedantic, and should really turn the second hand on? (and then fret about the clock being more than half a second out…)

SkyDrive is Superb

Fancy 25G of online storage for free? Thought so. It gets even better though. You can have public storage, private storage or anywhere in between. Everything is done via the web, so you can push files between PCs, Macs and anything with a browser. I’m getting into the habit of lobbing important stuff up there just to keep things safe.

If you have a Windows Live account you are in business. Just head up to http://skydrive.live.com and start uploading files. The biggest downsides for me are the fact that you have to drag individual files into the storage and that my home broadband makes uploading a rather slow experience.

Great stuff.

Meccano Makes Good Programmers

Beetle

When I was a kid I had a Meccano set. I had some Lego too, but at the time all you could make with that was houses and not very realistic vehicles. The Technical Lego and Mindstorms stuff was years away in those days, and besides Lego stuff was too easy to put together, and fell apart too quickly.

Meccano wasn’t like that. Getting the nuts and bolts together could be murder. It was especially unforgiving of mistakes. Picking up the wrong kind of part early in the build often meant you had to spend ages undoing your painstakingly constructed model. The instructions were good, but you often had to use a lot of deduction to work out which bit you needed to use, and how it really fitted. On the other hand, Meccano was tough. It even survived the day that I decided some Meccano roller skates would be a good idea.

I was reminded of all this when I got to play with some Meccano recently. Number one daughter got one first, and I just had to follow suit and get a little Meccano model of my own. And then spend a couple of happy hours putting it together.

When I think about it, this was very good preparation for a programming career. Programming languages and their libraries are not known for tolerating mistakes, and you often end up taking to bits what you have just built, because you get to the point where you discover it just won’t work that way. And with Meccano, as with programming, if it ends up wrong it is pretty much always your fault.  And, just like Meccano, every now and then you build something you really like.

De Nutty Professor Rob Miles

I'm going to be presenting at DevDays09 in Holland later this year (28/29 of May to be precise).

I'm doing two sessions during the conference, one on the .NET Micro Framework and another on XNA. I'm also doing a session at Geek Night. I did one last year, and it was great. This time I'm talking about "Ruling the World with the .NET Micro Framework". I'm going to show how you can achieve greatness by programming tiny devices. It is going to be fun, on the site at the moment they refer to me as "Rob Miles, de nutty professor uit Hull". Works for me.

Reading Twitter Feeds with LINQ

LINQ (Language Integrated Query) is a really neat feature of .NET which makes it very easy to work with structured data. I’d always thought this meant things like databases and stuff, but it also works with XML. This CodeProject article shows how you can use LINQ to read information out of Twitter feeds.

http://www.codeproject.com/articles/35668/How-to-Read-Twitter-Feeds-With-LINQ-to-XML.aspx

Very clever. It took me around five minutes to make a simple Twitter Viewer application based on the code given:

https://static.squarespace.com/static/5019271be4b0807297e8f404/52c5bcfce4b0c4bcc9121347/52c5bd03e4b0c4bcc91238f5/1240577347000/TwitterViewer.zip

Monsters vs Aliens

Went to see this film last night. I’m a sucker for computer animated movies, and this one has been quite well reviewed.

I enjoyed it. We saw it in 3D, which meant funny glasses and a slightly dimmer picture than normal. I wasn’t particularly looking forward to this part, the last 3D movie that we saw, Bolt, was OK but the 3D effects weren’t that noticeable and not worth the hassle in my opinion. Not so with this film. I got the feeling that they really went for the 3D angle with the direction, there were lots of scenes where things were pointed at you, or flew past your head. Great fun and worth the trip.

Evil Socks

Fixed the washing machine. Turns out that socks are not always your friends. One of them had managed to get inside the water outlet underneath the drum and blocked it. The reason that we had such poor drainage was that all our washing water was being “sock filtered for extra purity” before being sent into the drain.

Note: You are not allowed to steal this by-line and use it sell bottled water.

I’ve no idea how the sock managed to get there. And I’ve also no idea where the other one is. Perhaps it is up in the loft loosening my ball valves even as I write this.

3462314367

Evil Sock