The Gamechangers – BBC Make it Digital Season

Daniel Radcliffe in the Gamechangers (BBC)
Daniel Radcliffe in the Gamechangers (BBC)

After yesterday’s Girls can code the BBC kicked it up a notch with the Gamechangers – a TV movie about Rockstar Games and the controversy around GTA San Andreas.  At the start, it was made clear that Rockstar weren’t involved and that it had been pieced together from court reports and third party interviews.  If you missed it then it’s available on iPlayer for the next month. Continue reading The Gamechangers – BBC Make it Digital Season

Girls Can Code – episode 1 thoughts

Alice Levine showing that Girls Can Code
Alice Levine showing that Girls Can Code

As part of the BBC’s Make it Digital season, there was a great program on BBC3 showcasing that “Girls Can Code”.  Such a shame it was on a minor channel at 9pm rather than BBC1 or BBC2 earlier.  However, BBC3 is aimed at the youth market so I’m hoping that enough young women watched it to be inspired.

If you missed it, it’s available on iPlayer (UK only) for the next month, with the second episode next Monday.

This isn’t the apprentice – they don’t need to crush each other to get ahead – Alice Levine

Continue reading Girls Can Code – episode 1 thoughts

3D Printer part 9: Heater plate

At the end of my last post in this series, we had attached the z-axis motor and limit switch although hadn’t tested the action.  This post looks at adding the z-axis screw rod and making a start on the heater plate, covering issues 32 – 35 of 3D Create and Print by Eaglemoss Technology.  If you’ve skipped a part of this series you can start from the beginning, including details of the Vector 3 printer I’m building on my 3D printer page.

Opening up this pack and seeing parts with “heater” in their description was quite exciting – I know there’s still a way to go but I can’t wait to get some filament threaded through to a heater and start trying out some of the many free designs included with the magazines.

You may want to save the plastic bag that the magazines came in so that you can cover the printer after these steps. Continue reading 3D Printer part 9: Heater plate

3D Printer part 8: Z-axis motor and limit switch

At the end of my last post in this series, we had started the z-axis assembly and had paused ahead of adding the second z-axis bearing.  This post looks at adding the z-axis bearing, motor and limit switch, covering issues 28 to 31 of 3D Create and Print by Eaglemoss Technology.  If you’ve skipped a part of this series you can start from the beginning, including details of the Vector 3 printer I’m building on my 3D printer page.

Depending on whether you attached the z-axis shafts from issue 27 or put them to one side as I did, you may have to start by unscrewing the fixing bases and removing the shafts leaving only the top fixing bases attached to the frame.  The instructions below assume that you’ve done this. Continue reading 3D Printer part 8: Z-axis motor and limit switch

Military AI arms race

So yesterday there was the news that over 1000 people had signed an open letter  requesting a ban on autonomous weapons.  I signed it too. While AI is advancing rapidly and the very existence of the letter indicates that research is almost certainly already progressing in this area, as a species we need to think about where to draw the line.

Completely autonomous offensive AI would make its own decisions about who to kill and where to go.  Battlefields are no longer two armies facing up on some open fields.  War is far more complex, quite often with civilians mixed in.  Trusting an AI to make those kill decisions in complex scenarios is not something that would sit easily with most. Collateral damage reduced to an “acceptable” probability?   Continue reading Military AI arms race

Can machines think?

The following tweet appeared on my timeline today:

Initially I thought “heh, fair point – we are defining that the only true intelligence is described by the properties humans exhibit”, and my in-built twitter filter1 ignored the inaccuracies of the analogy. I clicked on the tweet as I wanted to see what the responses were and whether there was a better metaphor that I could talk about. There wasn’t – the responses were mainly variants on the deficiencies of the analogy and equally problematic in their own right. While this didn’t descend into anything abusive2, I do feel that the essence of what was trying to be conveyed was lost and this will be a continual problem with twitter. One of the better responses3 did point out that cherry-picking a single feature was not the same as the Turing Test.  However, this did get me thinking based on my initial interpretation of the tweet.

In order to answer a big question we are simplifying it in one way.  Turing simplified “Can machines think?” to “can machines fool humans into thinking they are human?”.   Continue reading Can machines think?

AI for image recognition – still a way to go

Result from IBM watson using images supplied by Kaptur
Result from IBM watson using images supplied by Kaptur

There’s a lot of money, time and brain power going in to various machine learning techniques to take the aggravation out of manually tagging images so that they appear in searches and can be categorised effectively.  However, we are strangely fault-intolerant of machines when they get it wrong – too many “unknowns” and we’re less likely to use the services but a couple of bad predictions and we’re aghast about how bad the solution is.

With a lot of the big players coming out with image categorisers, there is the question as whether it’s really worth anyone building their own when you can pay a nominal fee to use the API of an existing system.  The only way to really know is to see how well these systems do “in the wild” – sure they have high precision and recall on the test sets, but when an actual user uploads and image and frowns at the result, something isn’t right. Continue reading AI for image recognition – still a way to go

So I wrote my first Python script

Today I sat down and wrote code in python, from scratch, with intent(!), for the first time… and, it was pretty easy.  After spending some time trying to alter other people’s code and feeling like I was wading through treacle, writing something from scratch allowed me to see how easy python really is.

While I’m not making any great statement about my own code architecture, diving into something complex an be an inefficient way to learn unless the code you’re looking at is designed to be followable at entry level.  When you’re experienced with other languages this can be even more frustrating as it’s easy to skip over the parts you assume you know and suddenly find you’ve skipped slightly too much. Continue reading So I wrote my first Python script

Facebook’s latest deep learning research

Images auto generated by Facebook's deep learning system
Facebook’s auto generated images

A few days ago, researchers from Facebook published a paper on a deep learning technique to create “natural images”, with the result being that human subjects were convinced 40% of the time that they were looking at a real image rather than an automatically generated one.  When I saw the tweet linking this, one of the comments1 indicated that you’d “need a PhD to understand” the paper, and thus make any use of the code Facebook may release.

I’ve always been a big believer in knowledge being accessible both from being freely available (as their paper is) and also that any individual who wants to understand the concepts presented should be able to, even if they don’t have extensive training in that specialism.  So, as someone who does have a PhD and who is in the deep learning space, challenge accepted and here I’ll discuss what Facebook have done in a way that doesn’t require advanced degrees, but rather just a healthy interest in the field2. Continue reading Facebook’s latest deep learning research

Python: serious language or just for beginners?

Python logo and code smapleTwo months ago I hadn’t looked at a line of Python code – it was never a requirement when I was a developer and as I moved into management I worked with teams and projects using everything from C and COBOL through LAMP to .Net, while Python sat on the periphery.  I’d always considered it to be a modern BASIC – something you did to learn how to code or for a quick prototype but not something to be taken seriously in a professional environment.

I’ve always believed that really good programmers understand the boundaries and strengths of multiple languages, able to choose the right tool for the job, and finding the correct compromise for consistency and maintainability.  People like this are really hard to find1 although I do tend to veer away from individuals who can only evangalise a single language and say all the others are rubbish2.  Due to the projects I’ve been involved with, Python ability has been irrelevant and never considered part of that toolbox. Continue reading Python: serious language or just for beginners?