c4di Hardware Group Monster Meetup

Actually we didn't have any monsters turn up. But we did have a lot of people. Hayden was running a soldering masterclass. I was talking about Hull Pixelbots to a whole bunch of students who turned up to find out what we're about. Brian showed off a work in progress which simulates Hull Pixelbot movements in a nifty Python program. And we did some work with one of our youngest attendees, who's trying to make a remote controlled missile launcher (but only a small one).

We were playing with these super-cheap wireless devices. Connect a transmitter to an output pin on an Arduino, wiggle the pin up and down, and the receiver will wiggle an output up and down at the same time. So you can send messages wirelessly from one Arduino to another.

In the past I've not had much success with these, but we tried the RadioHead library and it seems to work rather well, We're going to look into adding a carefully crafted antenna to try and improve the range. And have a look at other wireless options too. 

It was great fun. If you fancy coming along,  the next one is on the 1st of March starting at 6:00 in c4di. 

Super Duper Hardware Meetup

We had a really good hardware meetup today at c4di. A whole bunch of new members turned up. along with a bunch of "regulars".

I did a talk about the latest developments on the Hull Pixelbot front. The system that controls the Hull Pixelbot has been renamed "HullOS" for marketing reasons, and is now available on GitHub. There's also a manual for the new scripting language supported by HullOS and an editor program you can use to create HullOS scripts and load them into the robot. 

Finally, I've added the DXF files for laser cutting Hull Pixelbot chassis components, along with STL files for the 3D printed parts that you need as well.

I'll be adding more Hull Pixelbot stuff in blog posts over the next few weeks. 

There were lots of really interesting conversations going on all round the room, which was great. We've still got room for more though, the next meetup is on the 15th of February. You can sign up here

Lora at the c4di Hardware Group

We had a great hardware meetup tonight. I showed off a bit of the latest Hull Pixelbot scripting stuff (once I'd got it to work - note to self - don't turn up with a machine and think you can install the software and it will just work. Doesn't happen). 

Then we talked a bit about Lora (or low powered radio to you). I've blogged a bit about this in the past but now we want to take things a bit further, and get going making Lora stuff. We've got all kinds of plans, none of them involving world domination. At least that's what we're saying for now. 

Anyhoo, expect to hear more about our Lora plans in the not too distant future. It looks like a great technology to get in on the ground floor of. If you fancy getting involved you should come along to our next meetup and utter the magic phrase "I fancy getting involved". You can sign up for the next meetup here

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. 

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. 

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.  

HullDevs event next week

The next Hull Devs event is next week on the Wednesday 29th of November at 6:15 at c4di. They have a couple of interesting speakers; Dylan will be talking about Life, Liberty and the Pursuit of APIness: The Secret to Happy Code and Seb Lambla will be talking about ReST 3.0 - A Lap Around HTTP API's Next Generation

There are free goodies and we always finish up in the pub. I'd suggest that you sign up now. You do it here.

World's Smallest Arduino compatible board at c4di Hardware Group

Did you know that the worlds smallest Arduino compatible device is made in Hull? I didn't until Hayden turned up with one at the hardware group at c4di tonight. He's designed and built a lovely little device. I've played with tiny Arduinos before. They are usually a bit hard to connect to a computer because they lack a proper usb connection and are a bit under-powered when you get them going. 

The device that Hayden has made gives you serious computing power in a device you can hang off any micro-usb cable and program using the standard Arduino SDK. It puts a 48 Mhz  device with 256K of ROM and 32K of RAM onto your fingernail. You can find out more (and buy one for yourself) here. We had it flashing a led, which is probably not really the best use of its power, but it is a start....

It was a great meetup. We had some new folks turn up keen to learn, and some who had brought things to talk about. You can sign up for the next one on Thursday 7th December (and you should) here.

Students at c4di

On Wednesday this week we had a bunch of 30 Computer Science students from the University of Hull drop round to have a look at c4di. It was rather nice to see a few familiar faces and to chat about this and that. I was showing off my Pixelbots and one visitor made a rather interesting observation along the lines of "They've not come along much since last year". This is true, mainly because of Begin to Code with Python, which has sucked all the time out of my life for the last few months. 

But, I'm back playing with other things again now, and so expect the Pixelbot pace to pick up in the next few weeks. We've got another "Build a Robot in a Day" planned for December and the laser cut designs are coming along. There are also a few interesting options if we start putting Lora devices on robots. 

It was great see the level of interest that the students were showing. And I think they were rather impressed by the building and the surroundings. What I really want is some form of "Hull based" trajectory for graduates who love the city (who wouldn't) and want to stay in Hull to build a career. I reckon the c4di could play a big part in this.

Quite a few people wanted to find out more about the hardware group. If you fancy coming along you can find out more here

CQRS and Event Sourcing at Hull Developers

Hull Devs is going from strength to strength. Hot on the heels of the talk last month we have another great talk, this time from Mathew McLoughlin who told us all about CQRS and Event Sourcing. At the start of the evening I had no idea what any of this was about. But by the end of the evening I was up to speed. 

CQRS stands for Command Query Responsibility Separation. But knowing that doesn't really help you understand it at the start. The Event side of things is a much better place to begin.

If you are implementing something complicated (Mat used hospital admissions as an example) you could do this by having a record for each item in your system. You could fill a patient object full of things like like name, age, whether the patient is in the hospital, their ward number etc etc. Your system could then update these records each time the patient changes state.

This would store the data, but if you work this way a lot of information gets lost. If you want to know which wards a patient has been treated in, then a system structured like this will not be able to tell you. Furthermore, you're not really capturing what is going on, which is that people are arriving in the system and stuff is happening to them. Instead you're forcing users to update small parts of a large data object (the patient record) each time. 

Rather than looking for the data you need to store, better to look for significant events in the trajectory of your objects, and build a system that captures these events. When a patient arrives, moves wards, gets test results and finally goes home, you record these events and your system can then then "play through" them to build a picture of the current state of your patient. It's a very nice way to work. Want to find out the state of your hospital last week? Just run the events to that point and stop. This reminded me a bit of "block chain" currencies where the movement of a lump of money is traced from person to person as it is used to pay for things.  

Mat suggested "Event Storming" meetings with the customer to identify events  and what effect they have on object state. This involves lots of paper, post-it notes and the development of a common language between customer and developer. And sounds like fun. 

OK, but what about CQRS? Well, events are a great way to get stuff into a system, but if you want to view the state of your data you have to do a bit of work. The "Command Query Responsibility Separation" part really means that "projections" of the data in response to queries should just consume events and use them to build the view of the data. The storage of the events should be the responsibility of a totally separate process. This makes the design of the system much easier. The only downside is that your view of your system may be a tiny bit behind the times, as your projection updates in response to events, but in a modern implementation this should not be a problem.

It was a great talk, very interesting. Mat has built some C# that demonstrates this which you can find here. I'm looking forward to the next one. 

Plenty of Hardware at c4di

We had a great meeting at the Hardware meetup this week. We had digital video, DC motor control, Lora networking and transistor insights. And some new faces. If you want to come along you can sign up here

This is what I was working on. I had another Lora node receiving the messages. When it works properly I'm going to take the plastic cover off the display.....

Hardware meetup, with hardware

It's coming to something when I'm too busy having an interesting time to get around to taking pictures. But that's how it was at the Hardware meetup tonight at c4di. Ross was trying to get his Gameboy emulator to run off a rechargeable battery. He has the not unreasonable desire to be able to play games while the battery is charging. And one of his power supplies keeps glitching and cutting out. We actually used a soldering iron to try and fix things, but by the end we were perhaps a bit closer to getting everything working as it should. And we are having a lot of fun in the journey. And Paul showed me a bunch of very impressive stuff he had a hand in making work. 

All good stuff. More in two weeks. 

Raspberry Pi at c4di Hardware Meetup this Thursday

If you were at the "Easy as Pi" HullDevs presentation from John Tasker last week (incidentally he has put his slides and sample code here) you might like to come along to our Hardware Meetup onThursday this week at the c4di, starting at 6:00. 

If you have any questions, or have a Pi that you want to get started with, or want to see what you can do with your Pi, then come along. Hardware welcome. I'll be bringing some of my Pi collection, including the world famous Logo Blaster. You can sign up here.

Reckitt Benckiser at c4di

David Keel of c4di explains what we are about

Spent an afternoon talking about robots and chatbots. In other words, a good afternoon. We had folks from Reckitt Benckiser over to talk about a new partnership with c4di. We were showing off stuff what we had made and I brought along a few Hull Pixelbots. 

Another satisfice Hull Pixelbot customer...

I really love it when I show someone a bit of tech and they go "Oh, so that means we could use this for......." That's a big chunk of what c4di is all about, and there was a lot of it about this afternoon.

Then we went straight into a Hardware meetup. It was great to see everyone come along, Ross brought his beautifully made Hull Pixelbots and we had a good natter about how to control them. 

Great stuff. 

Hull Pixelbot Rumble at c4di today (Thursday)

Finally, a blog post that isn't a thinly disguised plug for one of my books....

Anyhoo, today I'm plugging the Hardware Meetup at c4di tomorrow (Thursday). Ross is going to bring his robots, I'm going to bring some of mine, and we are going to do some robot things that might include rumbling.

You're welcome to come along and marvel. Sign up here. The meetups are in the ground floor of the awesome c4di building. We start at 6:00 pm and go on until 8:00 or until we run out of things to talk about (which usually means a bit later..)

If you've any interest in hardware (computer or otherwise) then it would be great to see you.