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

The Rabbit who wants to fall asleep – review

Cover of The Rabbit who wants to fall asleep
The Rabbit who wants to fall asleep

Since my daughter was born in 2011, I can count the number of uninterrupted nights’ sleep I’ve had on a very small number of fingers.  She has never subscribed to the 11-16 hours sleep a day that toddlers are supposed to need and has never wanted to miss a thing, stubbornly staying awake until past what I’d consider to be my bedtime, waking up during the night and then again pretty early.  As a result I’ve got used to celebrating if she falls asleep before 11pm 1 and if I get a block of sleep lasting 6 hours or more.

We’ve tried pretty much everything we can think of2 to get her to sleep and, while she’s been well behaved (other than being awake when I’d like a bit of me time),  it’s been frustrating all round.  I’d said on multiple occasions that it would be great if I could hire Derren Brown for an evening just to hypnotise her3 and then I heard about a book that could put any child to sleep… Continue reading The Rabbit who wants to fall asleep – review

Studying Maths – decisions on level 2

M208 text book for maths level 2
M208 – people of a certain age will look at these text books and think blockbusters…

At the weekend I signed up for my next maths modules with the Open University.  I’ve got three distinctions in the level 1 modules and, aside from my severe annoyance with being forced to do a level 1 module I’m not interested in as “punishment” for skipping the easy start module1,  I was desperate to do the next module.  However, I dragged my heels this time. Continue reading Studying Maths – decisions on level 2

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

3D Printer part 7: Z-axis

At the end of my last post in this series, we had finished the x-axis assembly and successfully tested the motor.  This post looks at adding the z-axis shafts and bearing, covering issues 24 to 27 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.

As with previous steps, it’s slightly easier to put all these together in one go to save unscrewing components.  These steps should be familiar to you now as this is the third axis to be built.  There is one difference – the z-axis has 3 shafts rather than two. Continue reading 3D Printer part 7: Z-axis

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?

From the interviewer’s side of the table

I’m currently building a team for my new secret project and far more of my time than I’d like is spent with the recruitment process. However, every minute of that time is essential and we’re at a point where none of it can be handed off to an agency even if I wanted to1.  So getting the recruitment process right is essential.

One of the basic principles of management in any industry is that if you set metrics for your team, they will adapt to maximise those results: set a minimum number of bugs to be resolved and you’ll find the easy ones get picked off, set an average number of features and you’ll find everything held together with string, set too many metrics to cover all bases and you’ll end up with none of them hit and a demoralised (or non-existent) team2.  The same is true of recruitment – you will end up hiring people who pass whatever recruitment tasks you set, not necessarily the type of person the company needs.  While this may appear obvious, think back to the last interview you were at, either as the interviewer or interviewee – how much relation did the process really have to the role?

When I started recruiting for my new team, I knew I had neither the time nor resources to make mistakes.  I had to get this right first time. Continue reading From the interviewer’s side of the table

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

MS221: Illidan was wrong

Illidan defeated, I was prepared :)
Illidan defeated, I was prepared 🙂

So the results are starting to come out for the OU exams taken in June.  Those who were on their last module have got their final degree classification and for the rest of us we’re getting our individual module scores.  Despite not being due for another 8 days, the results for MS221 came out today.

If you’ve been following my blog you’ll know that I really hadn’t focused on studying for this module as much as I should and, with a new role taking up my time in the evenings and weekends I just hadn’t revised as much as I should have done.  I even took my text books to the ReWork DL conference in Boston but only opened them briefly on the plane on the return flight. So how did I do?

Continue reading MS221: Illidan was wrong

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