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

No, Water Really Will Be the Death of Me

Today the sun shone, the overflow was as dry as a dry thing from a dry desert in a drought, and all seemed well. Of course, the washing machine was taking longer to run, but that could just be down to us using a new “eco friendly” programme. Or could it?

Turns out the washing machine uses water. That is, it takes water in but then, having churned it around for a while, it seems incapable of getting it out again.  So I had more wet hi-jinks as I had to drain the darned thing and see if any of the filters were bunged up. There was some lint here and there, but nothing that should have slowed things down much.

At the moment we are at a kind of impasse. The machine works, in that things come out cleaner than they went in, but it does spend a long time emptying itself. I’m inclined to suspect the pump as not actually doing the pumping thing properly, and so I guess I can look forward to a visit from the repair man and uplifting discussions as to just what is covered by warranty.

I’m starting to wonder when it will all end. I’m turning taps on with the expectation of either a huge bang or nothing. I’ve taken to swimming in my dreams, just in case the house floods at night. Is this how hydrophobia starts?

Water will be the Death of Me

Don’t like water. Getting into the car on the way out today we noticed that the overflow I had “fixed” yesterday was still leaking slightly.  So I left wife and daughter in the car on the drive while I scrambled, cursing, into the loft to bend the valve assembly and make sure that it shut down properly.

I don’t mind working with electricity. I’m not allowed to do gas (thank goodness) but I hate working with water. You can never be sure it won’t start leaking when your back is turned.

Tempting Fate

On 17th Feb at 12:46 I made a singularly ill advised Tweet:

Ha! What do you call it when everything works? Oh yes. Rob is in the house....

Since then everything has broken. Water leaks too numerous to count, a broken heating system that cost a huge amount (wince) to fix. Cars that have needed new bits. And this morning our neighbour appeared on the doorstep with the less than welcome news that water was pouring from our loft.

Oh good.

Turns out that one of the ball valves on the header tank for the heating system was leaking, and the overflow was doing just what it should, which is nice. Fortunately I’m equal to this particular task, and so I went off to buy spares. Since I had to turn the water off, and there are two tanks in the loft, I replaced both ball valves at once. Apparently the practice of having a big tank of water in the loft is a curiously British thing that dates back to the Napoleonic wars, where there was some concern that the French could invade and cut off all our water. Or something. Actually, I heard that in a pub, so it might not be true.

Either way, there is nothing quite like spending your holiday banging your head against beams in the loft, whilst balanced perilously on a joist and trying to both tighten a leaking connector and avoid putting your foot through the ceiling.

While I was out buying valves I thought I’d get a replacement bath plug, because the one we have is looking a bit elderly. This way I could add some value to the day, and come out of it slightly ahead. The new one was very well packed, in a bag, in a bag, in a bag with tape wrapped all round it. I spent several careful minutes removing all the layers and throwing them away. Then I found the plug was the wrong size.  I’m never going to Tweet again.