Shortlisted Superhero Science

Secret Science of Superheroes.PNG

Well, this is rather exciting. The Secret Science of Superheroes book (which I wrote a chapter of) has been chosen by @PhysicsWorld as one of their 10 books of the Year. And it keeps getting good reviews too. It's not too late to get a copy in time for Christmas. The perfect gift. Buy it for someone you love. Perhaps even yourself.... Find out more here. Buy it from Amazon here

Floe and Dancing Robots in Hull


Saturday night found us in Hull, drinking hot chocolate at Nibble  prior to taking in some culture. First up was a look at Floe. Laser projected artwork on the side of The Deep. We saw some of this earlier in the year at the Made in Hull event. But this was even more awesomer. The laser projection system provided really rich and sharp colours, and the whole thing was amazing. 


Then we went down to the Hull Minster courtyard to take a look at an art installation made from a bunch of industrial robots. This was awesome. The robots move with a special kind of grace. Each is fitted with a tracking spotlight and a speaker and as they move the sound and lights shift around the space, sometimes illuminating the buildings and at other times drawing spotlights on the ground. 


Fantastic. I'm really going to miss these events. 

Build a Robot in a Day with RB


We did another "Build a robot in a day" course today. It was for a bunch of folks from Reckitt Benckiser. We call it "Build a robot in a day" because that's what you do. But it's not really about robots. It's about learning how embedded devices are created and programmed. 

It was great fun. Everybody managed to build their robot and get it moving around and reacting to its environment. We were using the latest iteration of the Hull Pixelbot chassis, which was lovingly laser-crafted by the wonderful crew at Inno-Plaz. It still needs a few 3D printed parts, but these take around an hour to print, rather than eight. It also looks rather spiffy, as you can see above. 

Everybody proudly took home their robot at the end of the day, I really hope that they keep playing with the robot and making it do new things. 

Rob at Substance


One of the rules that I live by is "if you're going to make a fool of yourself, it's best to do it wearing a sharp suit and a pair of illuminated goggles". Actually it's a rule that I've just made up for today. But it definitely fits the bill. 

I was part of a presentation from 2042 that c4di put on as part of the Substance element of the Hull City of Culture celebrations. I figured that, since 25 years ago people were still wearing suits, they'll probably still be wearing them in 25 years time. And the goggles? Well, let's just say I had a pair of neopixel rings free and an Arduino Pro-mini lying around. And this article from Adafruit to follow.

The brief was to deliver a technical session from the future. We were allowed to make things up (this seemed the easiest way to do it). I made up an operating system, called HULLOS, that runs on the entire city of Hull. I had four minutes to fill, so I went through four versions of the operating system in the years that lead up to 2042.

There was the Base Version, the VR version, the Freedom version and finally the Sentient Version. I provided an appropriate amount of hyperbole, with newly liberated artificially intelligent robot refuse collectors discovering a shared passion for "Strictly Cart Dancing" and an air of arrogant omniscience, "If you're the smartest person in the room it means that I've not arrived yet", which is quite unlike me. I even took a 360 degree picture from the stage in the middle. 

Talking Hullos at Substance. @c4di - Spherical Image - RICOH THETA

Such fun. Special thanks to David and Dileepa for creating a narrative around the wonderful contributions from all the other presentations. 

Windows 10 WiFi Problems Solved


I'm bringing some old machines back into commission in case I need some spare devices for our "Build a robot in a day" course on Friday. Of course I'm updating them to the latest version of Windows 10, Fall Update Creators edition. My experience has been that, unlike previous versions of Windows on low powered machines, successive versions of Windows 10 have better performance than the previous ones on resource constrained devices.  

Anyhoo, the update on my lovely Packard Bell Butterfly tablet went OK. But afterwards the WiFi didn't work. So, not OK then.

The good news is that I've seen this problem before. And fixed it. This time I'm blogging about it so that I'll remember for the next machine I find that has this problem

  1. Right click Start and open Device Manager
  2. Open the network adapters element and find your WiFi adaptor in the list.
  3.  Right click on the entry in the list and select Properties from the menu that appears..
  4. Select the Power Management tab.
  5. Make sure that the "Allow the Computer to turn off the device to save power" checkbox is clear.

Close the properties dialog and reboot the machine. You should find that WiFi now works. Or at least, I did.

Cheap Inject Refills - wish me luck

cheap refils.PNG

My printer has run out of grey ink. It's funny, because I don't remember printing many grey pictures. But there you are.

Like most printers, mine has a habit of waking up at odd times of the day and night, squirting a bit of ink out of the print head and then going back to sleep. Perhaps I should look for a grey puddle under the printer. 

Anyhoo, it was on to Amazon to find out how much a proper set of cartridges would cost. The amount is eye watering. At least it made me start to cry. So it was on to look for something a little more economical. As in, a whole set of six cartridges for around half the price of just a replacement grey one. They arrive tomorrow. Wish me luck.

Man of Substance

I've actually got a tiny part in the City of Culture celebrations. Four minutes to be precise. It's as part of the Substance Future Forum, a whole bunch of events over the next few days. 

 I'm one of the speakers in "HULLOS V2042GM – YOUR CITY EVOLVED, CONNECTED, ACCELERATED AND ACCEPTED – 1 @ THE DOCK, 3.15PM – 4PM on Thursday 7th December" We've got a whole bunch of ideas about where this city is headed, and we're going to tell you all about them. 

I'll be speaking from the year 2042, so you might have to listen carefully. This session is just one of a whole bunch of events on Thursday. . You can sign up here for the whole day. And you get a free breakfast too. 

Robots in Hull


There are robots in Hull. Not science fiction ones, hard core car assembling, job doing, working robots. I've got a history with robots. When I worked in Electronic Engineering (it seems ages ago) we had a few proper robots around the place. I even found myself counting the number of degrees of freedom the robots in the city centre have (this is the number of ways they can rotate - the more the better) but, having thought about it, having robots with  lots of degrees of freedom makes sense in Hull.


They are being used as part of an art installation with lights, sound and coordination. It will be on this month as part of the City of Culture celebrations. I really must see them in action.  

Day 2 of the MVP Community Event


Another day of MVP chat at the MVP Community event. Some really interesting talks and some very thought provoking ones too.

I really like meeting up with all these people.

The only downside was that I didn't get to win the Xbox One x competition. If only I'd been a bit quicker with my answer (and actually known what the answer was....)

Thanks to Claire and the other stalwarts who put everything together. 

Winning on Table 6

Click Through for the 360 degree experience of Table 6

Click Through for the 360 degree experience of Table 6

Day one of the Microsoft MVP Community event. Great fun. Interesting content on Story Telling and whole bunch of like minded folks. We're at the National Space Centre in Leicester which is a fantastic venue. Tonight we had the event dinner. With a quiz. And I was on the winning table, which was rather nice. More talks tomorrow.

Biggest Hull Devs Meetup Yet

Joe whips the crowd into a frenzy....

Joe whips the crowd into a frenzy....

Last Wednesday in the month. Time for another Hull Devs. This means free food and drink (including those lovely white chocolate buttons with hundreds and thousands on them) and high quality technical chat. And, the most people I've seen there ever. It was packed. I think there was one seat free. It was the one next to me, which might tell you something about my personal magnetism. But then again maybe not.

I'd taken along my shiny ipad pro and Apple pencil to take notes, and happily scribbled down summaries of the talks. And then, less happily, discovered that the ipad had lost the lot. I'm doing a kind of highly expensive experiment where I try to find out if an ipad can replicate a proper computer. Experience so far is that it can't, except in the function of trashing your work. 

Anyhoo, working from memory, we had two talks. The first was from Dylan Beattie. This was a great discussion on what makes for happy developers (and customers, and workmates). It was pleasing to find that a lot of the stuff I'd been telling students for years (make yourself a nice place to work, think about other people who might have to use your code) was echoed by Dylan, and he had some lovely insights into simple things that can make for happy times.

My favourite was the brilliantly simple "Give things names" suggestion. Rather than describing something as "The new version of the Customer Management App", name it after something, be it a particular "My Little Pony" or a east coast town. This provides an instant reference point for everyone. 

The second talk was from Seb Lambda. This was all about restful services, and how to make them better. It's not a field that I'm particularly familiar with (although I do know a lot more now). The improvements are all about getting clever about how a client fetches information from the server and preloads data. Seb talked about some really interesting ways in which this is being explored in the latest version of ReST 3.0.

If you're in Hull, and you're a developer (or a student becoming a developer) you should go to Hull Devs. The next one is in the new year. Find out more here.  

Python Fans

It was really nice to see some students from Hymers College today. They'd dropped by to talk about Python, which was great. I hope I said some things that you found useful. I did find time to gratuitously plug my new book (see left).

Incidentally, anyone can get the final four chapters of the book as free downloads from here.

These chapters are the ones where you actually deploy what you've learnt in the previous parts.

It makes sense to have them as downloads as you can have the book open while you work on the sample code. 

I hope you find them useful. 

My Car in Gran Turismo


The only Black Friday purchase that I made was that of Gran Turismo for half price. And I only bought it on Sunday. One of the attractions for me was that it offered me a chance to drive my own car in the game. The picture you see above is pretty much identical to my car, it even has the same wheel design.Yesterday I downloaded a free pack of images that allow you to place your car in exotic locations and render pictures. They are awesome. 


They've done some very clever environmental modelling to make the pictures look pretty much photo-realistic. 


You can also grab pictures from race replays. 


Driving the car is quite fun too, although I'm probably going to spend a lot of my time taking pictures of it. 

Hull Pixelbot Scripting Language


About nine months ago I finished off a design for a scripting language for the Hull Pixelbot. The idea was that you could enter programs in clear text and the robot would understand and act on them. You'd not need anything else, and the programs would be compiled and stored inside the robot in an intermediate code. Then "Begin to code with Python" hit me, and everything else stopped as I frantically wrote chapters. 

Well, on Friday I decided to dust off the script design and actually start to build the language. I'm nearly finished. I had a problem when I ran out of memory (I've only got 32K of program space and 2K of memory) but I found that in one part of the program I'd used the sprintf function (which is huge). I've deleted that, freed up a few K of code space and it very nearly works. I've just got to drop in the while loops and I'll have the complete language running. There's nothing quite like designing your own language and then making it work on a tiny device. 

File Comparison in Visual Studio

file compare.PNG

Today I found out something that I didn't know that Visual Studio could do. It can perform file comparison. This is really useful if you've made a tiny change to a file for a very good reason at the time, but have completely forgotten where the change is, or why you made it. I never do this kind of thing myself you understand, but I've heard that some programmers make this mistake from time to time. 

There are lots of file comparison tools out there of course, along with quite a few plugins, but it's nice to see that Visual Studio can do it right out of the box. 

The only problem is that that finding the function is a bit tricky. You have to use the Command Window (which you open using CTRL+W, followed by A) or by selecting it from the View menu (take a look in the "Other Windows area if you can't find it). 

Once you've got the command window you can type in the command Tools.Difffiles followed by the names of the two files you want to compare. There is some rather neat auto-completion of filenames which makes it a bit easier to navigate to the files that you want, and I love the idea of being able to type three f's in a row in a meaningful context. 

Anyhoo, the comparison window that you get is rather nice, and it works well. 

The Ring Doorbell and WiFi problems

ring doorbell.PNG

Some time back I got a Ring doorbell. It's an internet connected door chime that contains a camera and motion sensor. When someone rings your doorbell (or stands on your doorstep if you've turned on the motion sensor) your phone (or your Apple watch) goes ping to alert you. 

The doorbell also contains a speaker and a microphone, so you can have a conversation with the person at your door. And for a small sum you can have videos of all your visitors stored in the cloud for later review. 

It works really well. I knew I was onto a winner when number one wife used it to accept delivery of a rug while we were away in Leeds.

Then today, right in the middle of a conference call, I heard someone hammering on the door. I shot downstairs, retrieved the package and started to wonder why my lovely doorbell hadn't told me there was someone on the doorstep. Both it and the sounder in the house had fallen off the network. 

This illustrates a problem with these lovely, connected appliances. They're as good as their connectivity. Wah. So I started digging. And the solution is a bit disturbing. 

My WiFi router has been set to automatically select the quietest WiFi channel. When I reset it on Monday the router had gone and picked channel 13. 

This was a rather stupid choice as far as the Ring doorbell is concerned, as it only supports channels up to number 11. The result was that the doorbell fell off the network. Unfortunately, because nobody had pressed my doorbell (or, at least nobody I'd heard had pressed my doorbell) I had no way of knowing things were broken.

The doorbell "phones home" once a day, and I guess after a while I'd get a message that something was broken, but until then I'd be missing callers.

The rather important moral to this story is that if you have a connected appliance like this, check, your router settings to make sure that it is using a fixed channel in the range 1-11. If you allow the router to pick a channel in the range 1-13 there is a chance that a bunch of your networked devices might suddenly stop working.

Of course once I'd picked a likely channel I then had to boil a jug of water in the microwave oven to make sure that it didn't interfere with WiFi reception in the kitchen. For me it turns out that channel 4 fails when I'm heating things up, but channel 11 works fine.