Go See Ghostbusters

I remember Ghostbusters first time around. Most enjoyable (although the sequel was a bit rubbish). Now we have a new one. And it's awesome. I don't think I'm giving too much away by noting that the ghostbusting crew are a bit different this time around, but the film is much the better for that. Otherwise it would just be a retread. The dialog is whip smart and everyone plays their part really, really well. 

Go see. And I hope they make a sequel. And if they do I think it will be good this time.

Windows 10 Mobile Mostly Rocks

True confession. This last year or so I've been packing an iPhone 6 and Apple Watch. As a Windows Phone lover I'm not particularly proud of this, but I reckon that needs must. I like the iPhone because everything just works, and you can do everything. 

But, when we went to Chicago on holiday I took along my Lovely Lumia of old. I wanted to use it as a mobile hotspot. T-Mobile do this tourist plan which gives you lots of data over 30 days for only 30 dollars. For some reason they fail to mention in the snazzy adverts that you also have to pay 20 dollars for a sim to load the plan on to, but hey, 50 dollars for 30 days of mobile internet abroad, I'll pay that. So I bought the sim after a bit of muttering in the store, popped it in the Lumia 1520 and off we went. Before I'd left I'd put the latest build on Windows 10 on the phone and it makes a really good mobile hotspot, worked a treat. 

And then I found myself using the Lumia in preference to my iPhone for most of my daily stuff. It is just easier, nicer and quicker to use. Reading mail is a lot, lot, easier. I prefer the screen and everything just works. Navigation was a snap, the maps app is easily the equal of the Apple one. Even the Guardian app was easier to use to read the (depressing) news each day. Remember that this is a phone I bought in December 2013. And it was as snappy and usable as state of the art devices. Battery life was fine and I remembered how much I loved Windows Phone. 

And then I rediscovered the stopper. One of the main reasons that I don't use Windows Phone any more. The Amazon Kindle app doesn't work. And by doesn't work, I mean it doesn't let you read books properly. It misses out chunks of text. You find yourself switching between horizontal and vertical orientation, or flipping back and forth between pages, just to get a line or so of the book to appear. At first I thought that I was actually going mad but no, it turns out that Amazon Kindle on Windows Phone is incapable of remembering where it got to in the book from one page to the next. Astonishing and awful. I read a lot of books on my phone, this is a deal breaker. Game over for Windows Phone. 

I hope this can be sorted out. You would think that, what with Amazon and Microsoft being neighbours in Seattle, Satya Nadella could pop round to borrow a cup of sugar from Jeff Bezos and, during the conversation on the doorstep casually mention that the Amazon Windows Phone app could do with some love, and then casually point at the truck load of money he happens to have brought with him. 

Stuff of dreams perhaps, but if Kindle worked the Windows Phone would be a very compelling platform for me. The iPhone is great if you want to experience state of the art smartphone user interface design. As long as the state of the art is 2007. But the Windows Phone interface just feels like the future. It's properly thought out, well solid and just easier to use. But I can't read books. And that's sad. 

Bags of Wires

One of the inarguable facts of life is that if you throw away a particular cable you will, within minutes, have a need for exactly that type of connection. We're doing some industrial strength tidying up at the moment, and I've been sorting wires into bags. A number of categories, mains cables, power supplies, network cables, video cables and USB cables. It's actually been quite therapeutic. It's nice to have imposed some order on what was a whole bunch of tangled chaos. 

Amazon Echo

So, thanks to the wonderful food at Fabulous Freddies in Chicago we find ourselves at the airport with slightly more cash left than we expected.  

During our trip we formed a habit of getting  takeout from Freddies rather than going out for a meal. (If you ever get a chance, try the grilled chicken sandwich. Awesome.) 

Anyhoo, Turns out that I've got just enough dollars left in my pocket to buy an Amazon Echo from Sharper Image at the airport. So I do. But before I part with any notes I check on the interwebs, in particular the very useful Amazon Echo in the UK site, to see if it would work. The answer is, pretty much mostly, and so the purchase was made. 

Turns out it works really well. No pressing of buttons, just say what you want and the Amazon Cloud will try to get it for you. You can ask it questions and it will answer by referring to Wikipaedia among other places. You can even ask it to tell you a joke, but the results are even worse than mine, and that's saying something... 

In the 'states you can make it play music from your Amazon Prime account, but that doesn't work in the UK just yet. However, it is said you can upload some of your music collection and have those played on demand (although I've not tried it yet). Pandora and Spotify are also integrated into the device.

You can use a trigger word to get the attention of the echo or press a button. The default trigger is "Alexa.". When you speak the trigger the top ring lights up and points at the direction the sound came from. It reminds me a bit of the eye in the Lord of the Rings: The Two Towers. However it's much more friendly than that. The voice recognition is spot on for me, I don't even have to put on a fake american accent to make it work. 

If you want to listen to the radio you can just say "Alexa. Play BBC Radio Four" and the device (hard not to refer to it as she) will connect to TuneIn radio and do the business. The same goes for Bluetooth music playback from your phone, which just works.

There are also a bunch of services that the Echo can drive. They are packaged as "skills" and you can add them to your echo via a web interface or via speech. There is a connection to If This Then That (or IFTT) which means you can use the Echo as a gateway for voice control of devices around the house. Quite a few other home devices are also integrated as skills. 

Amazon are even running a competition at the moment, asking you to use their libraries and the Raspberry Pi to make novel embedded, Echo controlled applications. Find out more here.

Getting the Echo to work in the UK was a doddle. You can manage the device from an iPhone or Android phone app but these are only available in the US. However, there is also a web based interface that worked fine for configuring the device WiFi and getting it working. You have to have an Amazon.com username, or have a US username linked to your UK one. It just worked for me. 

It's only a matter of time before the Echo goes on sale in the UK I reckon. It is a real glimpse into the future. The sound quality is well up to that of Bluetooth speakers of an equivalent price and the voice activated services are genuinely useful. They will get even better after a UK launch when we can set our timezones and locations to this part of the world. Worth a look if you like your gadgets talkative.

Martyn Talks Azure at C4DI

I like going to the C4DI developer meetups. If you are a programmer and you are based in Hull, you should go along too. You can sign up for developer and also the hardware meetups here

Anyhoo, this month we had Martyn Coupland talking about Azure. Martyn works for Inframon as a "Senior Cloud Architect". As he said his job title I had this vision of a meeting full of serious faced engineers saying things like "And this is our new Cumulonimbus 5000, with extra fluffy light bits...". But that would be silly.

What Martyn actually does is map business process onto platforms based in the "cloud". The cloud is basically a bunch of computers on the end of a high performance network connection. It is how you turn computing into a service, rather like water or power, which you can buy based on your needs.

If you have a thing you want to do, for example host a web site, provide the back-end for an application or even run a business, the first thing you do isn't buy a big rack of computers. What you do is talk to someone like Martyn who will design you a system that lives in the cloud.

If your idea takes off big time you don't have a problem, you just crack open the champagne and turn on more cloud based processing power. If your idea sinks without trace you put the champagne back in the fridge, chalk it up to experience and work on the next project, reflecting that at least you haven't got a room full of expensive hardware to get rid of.

Martyn gave a very good rundown of how Microsoft Azure works and how good it is. I knew a bit of this from the Rather Useful Seminar by Caitlin and Peter but it was very interesting to hear how it has progressed even in this short time. Most amazing fact for me was that the majority of Azure installations don't run Windows software. I forget the figure (forgot to write it down) but there are a huge number of open source solutions sitting out there on Microsoft infrastructure. It turns out that you can build an image using your favourite operating system, whatever that is, and then deploy it into the cloud very easily. 

At the end of the talk I was chatting with Martyn about Hull Pixel Bot and mentioned that I plan to make the robots all clients of an Azure based location and communication service. He reckoned that it was eminently doable, which was good to know.  He'll be coming back to Hull to do some more, implementation focused, sessions later in the year. He's also an MVP, which is nice.

Graduation Fun and Games

I've been helping with graduation ceremonies for a while as a Graduands Marshall. Each year I try to take a picture of the audience. This is the effort for 2016. I've used a very wide angle lens to get everyone in. The results are a bit dark (sorry, there is not a lot of light in the hall), but you should be able to find yourself. You can click through the image above to find a larger one on Flickr and go exploring.

This was my final graduation ceremony as a member of staff of the university, and I'm very pleased to have been given the chance to do it. It's a matter of great personal pride to me that for a long time  I've been the first person to present to prospective students on the Open Day and the last person to present to them at their graduation ceremony. 

...and we're back

Well, that was fun.

We've just come back from a couple of weeks in Chicago. Lovely city. Pictures and discourse will follow over the next few weeks I'm sure. If you really want to see my holiday snaps (and why would you not?) they can be found here. More will be added over time.

It was most interesting to be abroad after the Brexit result. The universal reaction to our admission that we were English was "Oh. I'm sorry about that.".

By the end of the holiday we were telling people we were from Sweden.

What to make over summer

David was kind enough to invite me into South Hunsley School today to give a talk to some computer science students seeking a bit of direction for the summer. I wrote a few notes, and I though I'd put them in a blog post too. I

What to make?

If you have a long summer stretching ahead of you and you are wondering how best to spend it Computer Science wise, here are a few tips. 

What language?

I don’t care about the language. Anything you use to practice programming is fine by me. Sometimes it helps to use something you know, but then again you will be expected to know many languages when you go out into the big wide world. Don’t get sucked into “my language is better than your language” debates. The best language is either the one you enjoy using the most, or the one you get paid the most to work with. End of.

I like C#, Python and C, along with a bit of assembler. But things like Ruby, Haskell and Prolog are great if you want to stretch your brains a bit. Take a look at codeacademy.com for online training.

What application?

Build what you like. Think of something you might find useful and have a go at that. Keep it simple and don’t add things. Every idea you have will make the job bigger. Write your ideas down, but don’t feel obliged to act on them. Take a look at hardware. I love the Arduino, I love robots, and I think you should have a go at this as well. You get the bonus of learning a bit of electronics too.

What for?

To find out if it is possible. To find out things by accident. For fun. It’s important to regard programming as an experimental exercise. Sometimes people write programs just to see if they work, or what they will do. Don’t be afraid to do this.

What with?

My strongest advice is to get yourself some Arduino kit and have a go at embedded development. Pick up a Sintron kit from ebay (search eBay for Arduino Sintron) and play with that. Buy one extra stepper motor and then you can think about making moving robots. Take a look here for help getting started and some things to do. 

What else?

Make sure you write about what you have done. Make a blog, get a domain, put your code on GitHub. It might be that only 10 people read about what you built, but if one of them offers you a job on the strength of it, it is worth doing. Employers prize the ability to write well and quickly, regular blogging will make you into a much better writer. And give you a destination on the web.

In praise of big PCs

I must admit I'm quite liking having a big PC again. I've been using Surface devices as my main machine for a while and they are great, but there's nothing like a big lump of hardware to get things done. One surprising thing is how quiet the PC is. It contains big, slow-moving fans rather than small, whizzy ones. I don't hear it "rev up" when I start doing something difficult. I'm using Onedrive to synchronise with the other machines, which is working quite well so far. 

HTC Vive Fun and Games

I thought I'd spare you any pictures of me in shorts with headset stuck on my face....

I thought I'd spare you any pictures of me in shorts with headset stuck on my face....

The reason for my new hairy new PC is that I ended up getting an HTC Vive VR system. We finally got it working today. The delay has been technical, but it has also been spacial, in that it has taken me this long to clear an area large enough to use the system. And there is now a huge pile of stuff in the corner that I need to find somewhere to put... 

Anyhoo, the system worked wonderfully. The Vive comes with a couple of "lighthouses" that spray infra-red positioning signals all over the room. The headset and the controllers detect these signals and use them to place themselves very accurately in 3D space. What with it being our house and all, I was able to actually screw the lighthouses to the walls and furniture, and they work really well. There's going to be a bit of fine tuning required, and I have managed to try to put my hand through a window sill once so far, but the experience is proper and it is real. 

Next step is to play a few games, get a feel for the system and then pull down some of the software development kits for the platform and have a go at making stuff. And the developments with Windows Holographic are very interesting too. 

Building a PC

It's been a while since I've built a PC from components. Actually, it's still going to be a while, since my role in building this one was mostly confined to watching number one son put the bits together and asking questions like "Is it supposed to bend like that?" during the construction. 

The answer to the question is "Mostly yes.". I remember from years ago that there are some parts of the process, for example plugging in the memory, where a certain amount of "proper force" is required. We built the machine yesterday evening and left it running all night to give Windows 10 a chance to get its ducks in a row.

The installation of Windows 10, from a memory key, went really well. The only minor hiccup was when we discovered that the network drivers for the motherboard aren't part of the Windows 10 distribution and so we needed to install them by hand (from a CD-ROM - remember them?) before we could get on line. But apart from that it was smooth sailing (I'm writing this in the full knowledge that the next thing that will happen is a catastrophic failure of something or other). 

Anyhoo, to celebrate our success number one son bought Doom for the PC. It's available from Game, in a fancy box with extras for 27 quid, which seems good value when you consider that the download from Steam, which comes in no box whatsoever, costs 40 pounds. 

The PC kit included a fancy graphics card and we had the game running in 4K resolution on the big telly at a steady 60 FPS. Which was nice. 

HullPixelBot on WiFi

We had a pretty good turnout tonight at the C4DI hardware group. The focus was on building and powering up HullPixelBots. I'd printed a few sets of parts and some folks had even turned up with all the other bits, so we made some robots from scratch. Important lesson learned, make sure that you link the two pins on the motor driver board If you want the motors to work. 

I even managed to get the WiFi working on the "bot with two brains". The code made the motor move when I browsed a website on the phone. From an access point hosted on the robot. My dream of a networked army of robots doing my bidding is coming closer.

Dual Processor Hull Pixel Bot

I think you should know I'm rather proud of this...

I think you should know I'm rather proud of this...

I've just finished building the prototype for the dual processor version of the HullPIxelBot. A single Arduino is a nice enough way to do simple robot control. But I want WiFi. And access points. And web servers. So I've coupled an ESP8266 device (in this case the Node MCU) up to an Arduino Pro-Mini. The Pro-Mini takes care of the low level motor control, producing the signals that will drive the steppers. The ESP8266 device doesn't really have enough pins for the motors, and it has better things to do than drive steppers, so I've linked the two with a serial connection.

Since the Pro-Mini costs around a pound and has a negligible effect on power consumption I reckon it is worth doing. At the moment we have a really simple one byte command protocol, but I can build that up a bit if I need to use the Pro-Mini to do some sensor integration. 

Next step is to work up the web side so that I can make a wireless, web controlled robot. Then we add the coloured pixels to the bot and we are really in business. 

I'll be releasing all the code and the circuit diagrams later. If you want to see the real thing, come along to C4DI tomorrow evening at 6:00 pm.