itunes madness

Why? WHY?

I'm an Apple user, but an unwilling one. I love the iPhone for the hardware and what it can do, but I'm not very keen on how it does it. My situation reminds me a bit of a poker player who, when told that he is playing in a crooked poker game replies "Yes, but it is the only game in town". 

My iPhone doesn't have the graceful UI of my lovely Lumia 1520. And, now that Microsoft have pulled out of the music market, I'm forced to do battle with iTunes rather than the lovely and stylish Groove. 

I'm now using Apple music, but I've also made uncompressed copies of all my physical CDs and added them to my iTunes library. What I want is for iTunes to use the high quality copies where I have them, and "fill in the blanks" with streamed versions from the cloud. 

Instead iTunes just duplicates loads of albums, showing me the cloud and local versions for no readily apparent reason. And I can't find a way of using iTunes to get the high quality tracks off my computer onto my phone so that I can have portable high-quality music. The user interface is horrible, confusing, counter intuitive and badly documented, with the Apple help referring to options and buttons that no longer exist. 

And if I use my iPhone in the car, and try to play anything from Apple music, it tells me I've got lots of music in the cloud and then refuses to play any of it.

I really hate iTunes. I remember once saying that I thought that if the devil wrote software he'd probably have written iTunes. That was a few years ago. I've not changed my opinion. I tell people to reserve emotions like hate for things much more important than items of software, but for iTunes I'm prepared to make an exception. 

HullOS in the Hull Pixelbot

I've spent a day having some "quality time" with the Hull Pixelbot scripting language. Which is now called HullOS.

The idea is that the computer in the robot (which can be a lowly Arduino Uno) is entirely responsible for converting the plain text of the program into actions. The behaviour will be rather reminiscent of the early 8 bit computers like the BBC Micro and Sinclair Spectrum, which had built in BASIC. They had tiny processors a bit like the one in the Arduino, but they had a lot more RAM than I've got. However, I've just about managed it. A typical program will look a bit like this:

do
    if %dist<10
        yellow
        move -10
    else
        green
    endif
forever

This HullOS program would make a "cowardly robot". The program repeatedly reads the distance sensor. If the robot is less than 10 cm from something it turns the pixel yellow and moves backwards. Otherwise it turns the pixel green. 

There are a few things to sort out, but I'm rather pleased with how it is going. And I've still got around 500 bytes of memory left....

 

Shortlisted Superhero Science

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

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

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....

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.