New home

Posted: February 13, 2014 in Uncategorized

Go here!


Hello! I’ve started making plans for my next project: a robot butler who will fetch me beer. Here’s the idea:

  • Lego Mindstorms control unit – easy to hack and send my own commands to/from.
  • Lego motors, wheels and gears etc. to create a versatile,┬ámaneuverable platform thing.
  • Kinect sensor to assess the environment
  • Raspberry Pi to think about where the robot is looking, where it might go and to send the necessary commands to the Mindstorms unit.
  • Leapmotion controller to sense me pointing to the fridge, thus commanding the robot to retrieve beer.

What do you think? I for one welcome our new beer-fetching robot overlords.

I should make special mention of the new Leap Motion device. If it works as well as the demos have shown it will be a truly stunning, possibly revolutionary gadget. I’ve applied to be a developer for this amazing piece of kit. My pitch was the robot butler thing. Hopefully the Leap people like me and my half-baked ideas.

Long time no blog

Posted: May 5, 2012 in Dissertation

Hello. I am risen. Or, as Jesus put it (Matthew 26:32), “I’m back from the dead, douchebags! Now, someone get me a beer.”

Excuse the frankness of what follows. I have seen and experienced things in the past three years that give me the right to be candid.

I handed in my dissertation about a month ago, three weeks early. Most of my study peers were either extremely panicked around hand-in time or have been granted an extension (some generously, others deservedly), so my extraordinary level of organisation (and believe me, my being organised is extraordinary) must have irked some people. Eat it, dudes. I’ve been living, breathing and sleeping this assignment for over a year. If you only started thinking about yours in January and writing it in March then that’s your own bad decision. Live with it. If “something happened and I was unable to do the work”, why do you think I started so early? Having had three months taken from me last year due to illness I know that shit happens, and I was not prepared to let circumstance rob me of my thesis.

Now all I can do it wait for my grade. What should I get? Were it based purely on effort, 90%. Quality…I have no idea. Ok, so I do have some idea. I really can’t get less than 60% unless something preposterous happens. Anything over 47% keeps me above the distinction level average overall, but honestly I’d be gutted if my assignment isn’t solidly over 70%. No, honestly, I want 80%, but I don’t have enough experience or reference material to gauge the quality of my work. I’m not quite blind, but definitely squinting.

As in most walks of life, the law of diminishing returns is strong in university assessment. I could have farted out some mind-puke in just a couple of weeks and still got a pass, but rarely in my experience does going the extra mile yield the extra marks, relatively. 3-5% is up for grabs, perhaps, but 50% (or 100%, or 400%…) extra effort for an extra 5% doesn’t match up.

Anyway, it’s not all about the grade. I’ve learned so much during my studies that what mark I get is almost irrelevant. I’ve absolutely busted my balls, working until silly o’clock on obscure technologies or theories that I may never use again, but as before, this isn’t really the point. The point is that I’ve learned to apply myself with a level of rigour that I never thought I would have. Frankly (see my opening disclaimer about the frankness of this post) I’ve always been able to get by on my natural abilities. I learn quickly and bluff well. You can’t do that in a Masters, so I had to put my ego and natural duck-and-dive propensity to one side and – get this – study.

And I enjoyed it. And hated it. But mainly enjoyed it. If someone were to offer me the opportunity to study for a PhD and circumstances were such that I could maintain the standard of living that my family deserves then I’d do it.

What next for me? I’m going to play computer games and not feel guilty for it. I’m doing three years’ worth of DIY. I’m reading novels again. I’m trying to start up a band – I need some keys and a drummer, at least, to join me in a funk-soul adventure. I already have a name for the band, but of course I can’t tell you when currently it’s only me playing along to Red Hot Chili Peppers tracks on my bass in my garage. I’m going to start running again. I should never have stopped doing this. I may write, but right now this feels too similar to work/study for it to be enjoyable. But mainly I’m going to enjoy having some space to spare in my tiny man-brain.

Sorry I’ve been absent from here for a while, and thanks to those who’ve followed and supported me through this. I’ve blogged for years and it always follows the same pattern for me: blog a lot, then a little, then not at all, then a lot again. I’ll be more frequent from now on, I promise, but I’ll be talking about different things than previously. Or, as Jesus put it (somewhere near the back of the Bible, I believe), “God is dead! Long live God!”.

Bit bored of blogging

Posted: February 27, 2012 in Uncategorized

I’ve run out of things to say. I’ll get back to this soon, I promise, but in the mean time here’s a picture of Angelina Jolie looking lovely.

Likert scale survey results. Presenting your findings is always tricky. In my example the children I taught filled in forms with question that are statements about which they can strongly agree, agree, be netural, disagree or strongly disagree. So ordinal options, the 5-point Likert scale.

I need to provide an overview of the results. I’m thinking of a stacked bar like this:

(Click to embiggenatte.)

Trouble is there are many good reasons why analysis of ordinal data like this is a bad thing. Furthermore I’ve taken some lierties myself.

1) Interval data (e.g. an absolute measures of, say, temperature over time) can be plotted like this. Ordinal data is arbitrary. E.g. who is to say that Person A’s “strongly agree” is the same as Person B’s strongly agree? Therefore mapping their results together is flawed.

2) The same is true between questions answered by the same person. Statement 1 might be “strongly agree” as might Statement 2, but is it the same strength of feeling? What if Statement 1 was “Murder is bad” and Statement 2 is “Mars Bars taste nice”. I strongly agree with both, but the strength of feeling is obviously different.

3) Similar issues exist between all the options in a single question. E.g. is the gap between “agree” and “strongly agree” the same as between “neutral” and “agree”?

4) I’ve taken the liberty of opposing the “positive” and “negative” responses so as to give instant visual feedback on how the responses balance each other.

5) I’ve also taken the liberty of equally distributing “neutral” responses across the +ve and -ve axis. A bit naughty. I could ‘zero’ the neutral responses, but then they drop off the chart completely. But doing this would lead to a fairer comparison between the explicitly +ve and -ve responses.

Having said all this, the stacked bar gives a good overall representation of the survey results.

I could present the combined data as clustered bars. This lessens the cross-question and inter-question-answers comparison inference, but it’s basically the same data. Like this:

(Click for enlargification.)

Question is: is this misleading and/or can you think of any other way I could present the data?

Development: complete!

I’ve been quiet for the past few weeks because I’ve been frantically fising those last-minute bugs that one invariably finds in a development project like this. But it was all worth it because I spent three days this week using my software to teach 9 and 10 year olds about astronomy.

Shirley Community Nursery & Primary School in Cambridge were kind enough to let me teach a few lessons. I had an excellent time at Shirley. The students and staff were all very helpful, friendly and enthusiastic. This made my job both pleasant and easier!

The sessions were well received by the children. It got a few ‘oohs’, ‘aahs’ and ‘awesomes’, so the biggest challenge – which was to engage the children in the activity – was met. I’m studying a computing degree, so my main focus is to assess the technical implementation of my work. This naturally means ‘did it work?’, but there is no point in producing something that is technically proficient unless it achieves its purpose well. In this case the purpose was to impart learning, and feedback indicates that this aim was met well too.

I asked the children to complete a Likert-scale survey after the intervention. The ‘enjoyment factor’ shown in the results is very positive. Similarly the children say that they learned about astronomy because of the lesson. Good news! Some of the discursive feedback was really helpful and very insightful too. Commments such as “I think the kinect should be able to track which person is controlling it so it doesn’t get confused’ and ‘the information text should also be read out by the computer so that blind people can hear it’ show a depth of thought that I perhaps foolishly wasn’t expecting.

Technically, the software worked well. I included three different control types:┬ádeictic gestures (pointing and hovering to control a cursor), symbolic gestures (rotate, zoom, pan) and voice commands. Probably the most highly developed and accurate method (from a technical perspective) is my deictic control method. This is highly tuned, highly developed and ‘just works’. Interestingly, the children pretty much ignored this control method. For them it was just an expected behaviour, requiring very little to understand and use proficiently.

My symbolic control method was arguably the least successful technically. The success rate of recognising gestures was around 60% (as compared with around 95% for the deictic method). The children commented on this, were occasionally frustrated and had a long list of ideas to improve it. Great!

And finally the voice control method was very popular. Of the three, it was voice controls that prompted the most ‘wow’s, and the children really enjoyed shouting at the computer to make it work. It technically performed well. I told Kinect to listen only to audio coming from an angle of 0 radians and also to suppress background noise and echoes. It did a sterling job of listening only to the audio we wanted it to, ignoring the noise. Microsoft’s Speech Recognition Engine could do with being a little faster, but overall this part of my project was remarkably stable.

I hope to run these sessions in another school in January, so it will be interesting to see if I get similar results. In the mean time I have enough information to begin writing up my findings. Here’s hoping I can articulate what I’ve done in such a way as to yield marks. I fear a discrepancy between the amount of effort I’ve put into this and the nature of the marking scheme which will define my overall grade.

This evening I release a short video of a WPF User Control I made. It’s a little plug-and-play component for the Kinect SDK (beta 2…probably works in beta 1 too) to emulate the touch and hold style pointer system used in so many Kinect applications.

I will tidy this up in the coming days and release it to the community. It’s rather simple and I’ve seen various implementations of this elsewhere on the internet, but none of them have been released formally. If I can help someone out with this then great!

Aside, I was stunned to see this get 150 hits in about two minutes. I was equally stunned to see the counter immediately reset to zero and it hasn’t counted up since. Of course, I’m inclined to believe the more flattering score. Naturally :)