Hull Pixelbot Seminar Fun

I've not taken an audience picture for a while.

And it shows.

Anyhoo, I gave my Hull Pixelbot seminar today. Great fun (at least I enjoyed it). Most everything worked and we had some great discussions about games involving the robots.

You can find the slide deck here.

I'm feverishly writing the howto guides and getting the software ready for the "big upload" on Friday.

It was great to see everyone, they do have lovely audiences at Hull.

HullPixelbot Fridge Magnets

I've spent a chunk of the weekend printing Hull Pixelbot fridge magnets. I just took the logo and fed it into Cura (the slicing program that I use for Una, my 3D printer) and after a bit of fiddling I managed to get a 3D object that works quite well.

Once printed I just have to rub a black marker pen over the 3D text to make the letters stand out. Although I wasn't as careful as I should have been, which has made them a bit smudged. Perhaps I can print a little mask to put over the text when I ink it.

Anyhoo, the magnets will be going on sale soon in aid of Comic Relief. I'm doing a lecture in rhyme again this year all about robots, accompanied by a bunch of dancing Hull Pixelbots.

Oh, and if you are in the university on Wednesday I'm also doing a Hull Pixelbot seminar thee too.

Must see Hull: Hepworth's Arcade and Trinity Market

If you're from Hull and you haven't been to Trinity Market in a while, then go.

If you're not from Hull, but you find yourself in our excellent city for one of our awesome City of Culture events, then go to Trinity Market.

It's down the end of Whitefriar Gate. You can get to it from Hepworth's Arcade or from the street. It's got all kinds of interesting stores and shops in there. Along with the staples like meat, fruit and sweeties (and, er, staples), it's also got a whole bunch of boutiques and an amazing vinyl store selling records that I actually own. There are quite a few places you can get a bit to eat too.

And in Hepworth's Arcade you've got Fanthorpes, a proper HiFi shop, and also a really good, traditional joke shop.

 

If you're a student wanting to show mum and dad some local colour then you could take them along.

If you are just in the market for something interesting you should definitely go take a look.

Proper Cooking with Rob

I've been told that my first cooking recipe, Bananas and Custard, isn't actually a recipe. It's more of a serving suggestion. Huh.

Anyhoo, I'm going to keep going.  This is one of my favourite meals. It's a proper recipe with more than two ingredients. And things to do.  It is what I call "zero effort cooking". We have it quite a lot. Number one wife is very tolerant.

Sausage and Potato Surprise with Beans

Ingredients

  • Two low fat sausages each. You can go for full fat if you like. It's your body.
  • One baking potato each. Not too big. Just handy throwing size.
  • One tin of baked beans. To share. Vary the size of the tin according to the number of diners. Or get more than one tin. That would work too.

Method

  1. Start doing this around an hour and twenty minutes before you actually want to eat: Turn the oven on at 200 degrees or the gas equivalent. Which is definitely not 200. Wash the potatoes and then use a fork to make a few holes in each. Use the pointy ends of the fork, otherwise it is very hard work. Put the potatoes on a shelf in the oven.
  2. Start doing this around half an hour before you actually want to eat: Take the sausages and stick a different fork into those a few times. I'm pretty sure that this is required. Otherwise I think they explode or something. If you are the kind of person who enjoys sticking forks into things you're having a great time by now, and you haven't even eaten anything yet. Put the sausages in a baking tray and put them in the oven with the potatoes. Do not cook the sausages straight from frozen, unless you want to revisit all the meals you've had over the last day or so.
  3. Start doing this around 5 minutes before you actually want to eat: Open the can of beans, drop them in a pan and try to heat them up without boiling them. The true flavour of the baked bean is very delicate and can be somewhat impacted by being burnt onto the bottom of the pan. Number one wife has been known to fry an egg at this point, but I think this spoils the purity of the meal. And besides, the yolks on mine always break.
  4. Start doing this when you want to eat: Serve everything up. Add butter to the potatoes to taste, and I'm a big fan of the Heinz Hot Tomato Ketchup. Note to reader: Heinz are not sponsoring this article. I wish.

Serving Suggestion

  1. I don't know, you could give the meal a frontier air by wearing a bandana and dishing out the beans while holding a knife between your teeth.  Or perhaps wear a cowboy hat and prop a Winchester repeating rifle up against the table.
  2. Oh, and if you are wondering where the surprise is, try shouting "Booo!" as you put the sausages on the plate. Then again, it tastes as good without this.

Ramshacke Rock is back in Groove

Some time back I was bemoaning the way that the "Ramshackle Rock" playlist had vanished from Groove. Well, it's back.

I've now got a mental picture of boffins at Microsoft nervously scanning my blog and then rushing down the corridors to their machines so that they can put right any wrongs that I've noticed. But then again, that's probably not how it works.

But I do like the curated playlists in Groove. Unfortunately, owing to the vagaries of Bayesian logic (which is how I think these things work - you can find a nice description here), I'm not getting exactly the same tracks as last time. But they are all suitable ramshackle.

And, as a major plus, you now have the option to save the playlist for future use. Excellent.

Make a name by making stuff

Been getting some lovely emails over the last few days from people who have been reading my books, learning to program, and trying to make it "big in this business". The question seems to be "How do I get into programming/game development?". Here's one of my replies:

"It turns out that the best way to become a Game Developer is develop games.

Just have a simple (and keep it simple) idea for something and try to make it work. Take a look at the games that are in your books and see if you can modify them to behave differently. Change the images, make them do something different and then go from there.

I'd also advise you to get involved in things like Game Jams, where you can team up with other people and get help. That gets you feedback too. Global Gamejam has just been and gone, but anything like that (there might be some locally) are a good idea. 

If you can't find a gamejam, hold your own. Get some friends together and try to build a game over a weekend. Start with something simple that works and see where you go. And if you start blogging about what you are doing, helping other people and taking part in forums you'll get to know other developers and also start to make a name for yourself.

It will be a lot of hard work and you will need to be very persistent, but I know it can be done because I've seen people do it. "

Wheely Nice Elastic Bands

Some people are seekers of the truth, others are on a quest for the meaning of life. Me, my focus has been a bit more down to earth. I want something that I can use for tyres (or tires) for the wheels on the Hull Pixelbot. And, at last, I may have found them.

I've been using skinny elastic bands for a while, but they tend to fall off the wheel really easily. Experiments with hot glue to hold the bands in place were not on the whole successful, in that I managed to stick pretty much everything to everything - fingers to desk, fingers to each other, fingers to wheel, fingers to elastic band etc etc, without actually achieving the holy grail of sticking elastic band to wheel.

My latest purchase, 50mm x 12mm elastic beauties from ebay, that stalwart Hull Pixelbot supplier, show promise though. If they are as hard to get off as they are to get on the wheel, I might actually be on to something here.

Cooking with Rob

I've started doing more cooking. As you do. Particularly when you are hungry. I'll be posting some of my favourite recipes over the next few weeks, when I can't think of anything else to write.

Today: Bananas and Custard

Ingredients: Two bananas. Tin of custard.

  1. Peel bananas (very important). Don't leave the skins lying on the floor, unless you are after some comedy gold when the next person walks into the kitchen.
  2. Slice bananas into two dishes.
  3. Open tin of custard and share mostly equally in the two dishes.
  4. Give number one wife the dish that you think has the least custard in it.

Tastes even better if the custard was half price.

Important: If you have any kind of custard or banana allergy then you probably shouldn't eat this. Or anything else with the words "custard" or "banana" in its name.

Getting Started at the Hardware Meetup

Too busy to take any snaps at the meetup, here's a picture of some fireworks

I went to the Hardware Meetup with a bunch of things to do. Didn't get to do any of them because there was too much interesting chat. Which was great.

A few new folks turned up too and they were asking what to do to get started. Here's "Rob's Handy List of Hardware Fun Things to Do"

Get a bit of hardware to play with

The clue's in the name. We play with bits of hardware. This doesn't mean that you need to spend a lot of cash though. You can start with just an Arduino and a few leds and switches.  The Arduino is the embedded device that we like to start with. It's easy to program and cheap to buy.

The best place to buy an Arduino is probably eBay. The one you want to gets started is an Arduino Uno (or compatible). Search for "Arduino Uno". You should be able to pick one up for less than a fiver. 

An Arduino on it's own can't do much (although you can flash a light on it) so you might want to take a look at one of the kits that are available. You could start with one that contains a bunch of lights and switches and a few more advanced components. These are also on eBay; I quite like the ones branded Sintron, although others are quite good.

Download the Software

You program your Adruino using a PC, Mac or Linux device. The Arduino software is a free download from here.

Make something work

There are some getting started tutorials here that you might find useful. You can also search YouTube for Arduino videos; these are especially useful if you want to know how to use some of the more exotic devices in the kits.

Once you've got the examples working, have a go at something of your own.

Come to meetups

If you end up making something impressive, bring it along and show us. If you try to make something and get stuck, bring it along and we'll try to help out. We meet up approximately every two weeks at c4di in Hull. You can find the agenda for the meetups (and lots of other things) here.

If it's broken, just throw it away

I'm doing some major upgrades of the HullPixelbot devices at the moment. They are all getting distance sensors, autonomous behaviours and over the air updates.

Most of which works.  Today I found that one of my distance sensors, and one of my Arduino Pro-Mini devices were faulty. They looked fine, but didn't work some of the time.

In the past I might have kept them, in the forlorn hope that perhaps one day I could fix them and save some money. These days I throw suspect parts as far away as I can. The reason is that, in our house at any rate, broken parts have a habit of finding their way back into the system, so that I have to rediscover that they are broken all over again, which is tiresome and time wasting.

In this case I'm down around two quid. That seems a fairly small price to pay for not having to spend half an hour trying to figure out why my code isn't working, when in fact the hardware is broken.

One reason for all this effort is that I'm giving a seminar at Hull University on the 1st of February all about the Hull Pixelbots. It's at 2:00 pm. I'm not sure where yet, but if you want to come along and find out how you can build a Pixelbot all of your own, then it would be great to see you.

I'll also be taking the new Pixelbots into the c4di hardware meetup tomorrow. You can sign up here.

I'm an Idiot

I'm an idiot. Spent half a day chasing a bug that isn't really there. I've been writing the code that lets you download new programs into the HullPixelbot over the network. It worked fine for tiny programs, and then failed for larger ones.

I can hear you thinking "Buffer overrun". Except that I'm not that kind of idiot, and my code is carefully protected against too much data arriving when it shouldn't. And the fault didn't appear at a consistent point in the conversation, which it would if the program was hitting a hard limit somewhere. The failure threshold moved about a bit. Sometimes the program failed with a ten line program, other times it failed with an eight line program.

Any ideas? Took me a little while to figure it out. And of course it was my own stupidity.

It turned out that my over enthusiasm for code instrumentation was my undoing. When you are writing embedded programs you need code instrumentation to stay sane. In simple terms code instrumentation is "putting in print statements to see what is happening". My little program was notifying me each time a data byte arrived so I could convince myself that all was well.

And therein lies the stupidity. It was sending out three bytes of diagnostic information for each incoming byte. Since the send and receive rates are the same, this meant that after a while the program became unable to deal with incoming data because it was taking too long to send out the debug information.

The Arduino will do some buffering of data in and out of the device, but at some point this will fill up, at which point bad things happen. It's not going to happen at a consistent point in the program because the serial timings will vary slightly as other events occur on the processor.

So, I took out the debug code and the program worked perfectly. Strange but true.

And I'm an idiot.