Put Yourself in Carbonite with Kinect 2

If you've seen the movie Star Wars 2/5 (The Empire Strikes Back) you'll know that things don't end that well for Han Solo. He finishes up entombed in "Carbonite". Now, thanks to the magic of the Kinect Sensor and 3D printing we can all get the same treatment.

I've written a little program that takes the output from the Kinect Depth camera and renders it into an STL model that can be 3D printed. It uses some fairly simple averaging and filtering and seems to do a perfect job of rendering all of my chins in lifelike detail. Oh well. 

Above you can see the program in action, pointed at my less than tidy office. You can set thresholds for the front and back of the 3D region to be rendered, and also control the width of the printed item and how strong the relief is. You can even take selfies. 

I've popped the whole thing on GitHub, you can find it here

We are going to set the system at the Freshers Party next week so that we can print out little frozen models of all our new students..... 

Update: Rob (great name that) Relyea has pointed out that the Kinect Fusion tool does a great job of capturing 3D objects and will export STL files, It works very well, and the way that you can move the sensor round and add detail is very impressive. You can find it via the sample browser once you have installed the Kinect for Windows 2 SDK.

However,  I wanted to find out just how far you could get with a single sensor and fixed viewpoint. I also wanted to produce solid print ready output very quickly on a large scale, which is what my program does. I'm very impressed that with just a bit of averaging you can get such good results just from the depth sensor. 

Panel Picture

I'm quite proud of this picture. I took it in the Post and Telecommunications Museum in Copenhagen (well worth a visit and free). The panel was used by coastguards who were talking to ships apparently. I took three photographs, made an HDR version using PhotoMatix and seriously tweaked it.

I've used it as the backdrop to the Festival of Daring and Excitement poster, but I think it makes a good standalone shot.  

Singing the SharePoint Song at C4DI

We use SharePoint at work. All the modules that we teach (and lots more besides) have SharePoint sites that contain notes, coursework and other useful stuff. It works for me.

It works for Simon and Steve too. Tonight at the C4DI Software Development Meetup they gave a presentation which started with a song. (something I've never dared do) and then went on to lay out, in well structured detail, just how much you can do with this platform.

Things that came out of the talk for me:

  • SharePoint an "everything machine". You can use it to share data, you can use it to manage process, you can use it to present stuff. And lots of other things too. It will provide 90% of the features of highly expensive platforms for things like document management, version control, group working and lots of other business needs. And if it doesn't do what you want out of the box you can use it as a platform for customised apps that can run on a huge variety of devices.
  • SharePoint is cheap to get started. Individuals can use the online version which is part of Office 365  for a few quids a month, and you can get developer access for not much more. And even an individual can get value out of using it to manage their data.
  • SharePoint is becoming a cloud application. You can run your own servers, but the number of reasons for doing this is falling over time. 
  • SharePoint is like a lot of things in life. You get out what you put in. A little planning at the start will pay off hugely when you start to use the system. 

I only use a tiny percentage of what our departmental SharePoint site offers. After this talk I left resolved to find out more.

Festival of Daring and Excitement

Preparations are afoot for the new session. We're trying a few new things this year, including a special "Freshers Frag Fest" at the end of the first week. The "Festival of Daring and Excitement" will give new arrivals something to do during that critical first weekend away from home.

This one is just for newly arrived students, but if it is popular it we'll make it a regular thing in the department for everyone to attend.

A Streetcar Named Desire

A few weeks ago we went to see Monty Python live at a local cinema. Tonight we went to see a proper play which was beamed all over the country from the West End.

A Streetcar named Desire is a bit of a break from my usual entertainment fare of superheroes and productions that explore how many ways it is possible to break the laws of physics in a single action sequence. But it was very enjoyable none the less.

The subject is not a happy one and anyone looking for an uplifting ending is going to leave disappointed. But the production and acting, particularly Gillian Anderson in the central role of Blanche DuBois, was top notch.  

I think I get quite a bit of my enjoyment from a play as I struggle to understand the behaviour of the characters after I have seen the whole thing. If it is a good one it is always more complicated than it seems at first glance. This is that kind of play. Well worth a look if you get the chance.

Back To Work and Loving Python

Back to work today. I'm working on a new version of the Tagomatic for next year. I'm designing the boxes using a program that I'm writing inside the FreeCad designer. This is almost certainly not the best way to do it, but I like programming and I love being able to change any aspect of the design by just tweaking some numbers and re-running the code.

I'm working in Python in the seriously constrained environment of the FreeCad macro editor. This has no breakpoints, single stepping or variable viewing, but I'm quite enjoying the experience. Python is definitely growing on me. 

There is a school of thought that things like airbags and crash-absorbent cars have actually made driving more dangerous. Drivers may be more inclined to take risks if they know that their car will save their life if things turn out badly. This leads to an argument that the best safety device for a car would be a sharp metal spike sticking out of the steering wheel. This would make the driver very conscious of the effects of any stupidity on their part....

Writing Python is very like this. I think of it as "building bridges with dynamite". Mistakes can have catastrophic effects. Spelling a variable name incorrectly and gets you all kinds of fireworks. Incorrectly using one of the language constructions opens the door to a world of pain. So you end up being very careful when you code.

You use block copy to copy variable names so you never misspell them (of course, if you use Iron Python you can get Visual Studio onto this one). You compile often. You write tiny behaviours and test them as you go along. And you automate your tests so that you can run them again and again.

If the language and the compiler is not going to save your bacon, you have to do it yourself. The net effect of doing all these good things actually has the side-effect of making you into a much better programmer too, which is nice.

I reckon this makes Python a perfect language to learn if you can already program. It forces you to think very hard about the craft of programming if you want to turn out good code in good time. I think Python is a bit frustrating as a first language because you don't know the rules and some of them are a bit arbitrary, but it is definitely something that every programmer should have a go at.

Heading Home

Today we headed home. Sad face.

We flew from Copenhagen Airport, and were lucky enough to find what I call the "handling space" in the airport quite easily. I think every airport has one of these. It is a quiet area, usually with tables and chairs, where airport staff take hapless passengers to tell them that their flight has been cancelled/luggage has been lost/plane is full etc etc. The one in Copenhagen is called the "transit area" and located just behind all the shops.

We sat there for a while as I fiddled with some pictures and wrote some draft blog posts and stuff. The Surface Pro 3 has proved to be a very capable travelling companion. It just works.  Battery life is great and the screen size is perfect for getting proper work done on the move.

The only thing I don't like is the way that the bright blue keyboard seems to be picking up a bit of dirt, but that is rather like buying a white pair of trousers and then complaining that they get dirty quickly. When I get back I'm going to experiment with cleaning it.

Tivoli in Copenhagen

Today we returned to Copenhagen for another day trip. And we went to Tivoli. This is a mini amusement park right in the middle of the town. It is packed with restaurants and rides of a varying degree of scariness. It also has some lovely gardens. 

This is the scariest ride I have ever seen. You sit in a fake plane on the end of an enormous arm which is whipped around at speed before starting to rotate in a whole bunch of axes at once as you fall from the sky. It looks like it has been designed to simulate every part of a plane crash apart from actually hitting the ground. I felt a bit queasy just watching it. I did manage to go on the Ferris wheel though, which was much more my style. 

Kroner vs Kronor

One of the reasons that we are in Malmo is that is is connected, via a very long bridge, to Denmark. This morning we went from Malmo (Sweden) to Copenhagen(Denmark). The English associate foreign travel with passports and people at border crossings looking suspiciously at you as you move from one nation into another. In this case it was rather different. We just got on a train in Sweden and got out in Denmark. No passports, no nothing.

I'm writing this against the backdrop of the Scottish Independence vote and it is pleasing to find that in some parts of the world it is possible to go abroad without any fuss. In the event that the Scots decide to go it alone (which would be a horrible outcome in my opinion) then at least we have an example of how it should be possible to go there without too much hassle. 

Working with the money is a pain though. One country uses Kroner and the other uses Kronor. They differ in value by about 20% or so and I keep producing the wrong notes to pay for things. I'm trying to think of an easy way of remembering which is which. I tried "Sweden has an e in it, and so does Kroner" but unfortunately Denmark has an e in it too, which doesn't help. The best one I've found so far is that money from Sweden has people on it, whereas notes from Denmark don't. And Danish money has "Denmarken" or some such clue written on it.

We went to the Post and Telecommunications museum in Copenhagen and it was great. They had a really nice cafe right at the top with amazing views. And the whole thing was free. 

Then we went to a design museum and finally made the trek to see the Little Mermaid.

Copenhagen is the capital city of Denmark and so it breaks my "Go for the small city" rule. It is nice enough, but a bit full for my liking. It reminds me a lot of Amsterdam.

Go for the Smaller City...

This place serves really nice chocolate balls

This place serves really nice chocolate balls

If you want to find out what a country is really like don't go to their biggest city. England is a case in point here. I'd really hate it if people thought that we were all as friendly and outgoing as the sort of folk you find on the tube in London...  

Some time back we had a really enjoyable time in Brno, which is not the largest city in the Czech Republic, but turned out to be a super nice place to visit.

When we were planning a trip to Sweden we discovered Malmö, which is the third largest city in the country. So we went there. Although, because of it's proximity to Copenhagen, we also ended up going to Denmark as well. 

Malmö is lovely. We didn't quite know what to expect, although it seemed to have a goodly quotient of museums and parks and stuff from our explorations on the internets. We we didn't spot was the Kings Gardens, which is just fabulous. 

There's even a windmill, and displays that by early September are probably slightly past their best, but still stunning.

I don't know the name of any of the flowers in this picture. And I am not proud of this fact.

I don't know the name of any of the flowers in this picture. And I am not proud of this fact.

Oh, and in travel writer mode: "The roots of the name Malmo is the phrase "pile of sand" and the 2013 Eurovision Song Contest Final was held in the city. The UK did not win this competition, scoring 23 points and coming 19th". 

Travel Writing from Somewhere

We are heading off on our "proper" holiday of the year today. Not that we have had improper ones earlier, it's just that this is the one that involves the use of a passport.

This departure put something of a strain on our aging frames, in that we haven't had much time to recover from the London trip yesterday before heading off to foreign parts, but I've decided that if I'm going to go of anything, it is going to be from having too much fun. 

The destination of our trip was carefully chosen by the use of Expedia and a pin, and there was actually quite a bit of confusion about just which countries we were actually going to visit.

Hopefully the handy map should give you a good idea of where we are headed. 

Just the kind of things you want to find in your room when you arrive. 

Since I've hardly done any, I thought I'd spend the week brushing up on my travel writing skills. So stay tuned for a bunch of reports from your intrepid reporter.

3D Printer Show

Today we got up early and headed off to the 3D Printer Show in London Town. This is the third printer show that we’ve been to and I think it is fair to say that we have watched the business grow up a bit. The first one was full of people who were into 3D printing. Last year there were a lot of people who had heard about 3D printing and wanted to find out more. This year there were just a lot of, well, people.

This is the third location and I think in some ways this was a bit of a step down. Last year they had a lovely large venue with a great café which overlooked the exhibition floor. This year they had a place which was optimistically titled the “Food Court” but was actually a room where a few harassed folks were selling coffee, cakes and sandwiches. They were nice enough, but it didn’t feel quite the same.

As for the printers, there were some new brands and some old brands. Most of the printers were what we call “Fused Deposition Manufacture” or FDM. These work in the same way as a cake icing machine, squirting molten material onto a platform one layer at a time to build up a 3D structure. From the look of things this has probably reached the state of the art in terms of how to get from rolls of filament to the finished product. I reckon that Una, my Ultimaker 2 printer which is now over two years old, can still hold her head up high in the company of the newer devices.

However, there are some very interesting things happening in terms of the raw materials that we can put into our printers. There were a lot of companies showing off new designs for printing materials which improve on the ones we presently use. 

This printer can print cakes and chocolate. 

This printer prints seeds and soil, all in one, so you can make things like the display at the top of the post.

I got samples of some of these new filaments, I'm looking forward to having a go with them. 

This is one of the genuinely new printers at the show. The Roland ARM-10 is a departure for the company, which makes a lot of milling machines and CNC tools. It is interesting because it uses a different technology from the filament printers we know and love. It uses Stereo Lithography, where beams of light are shone at liquid resin, causing it to harden and generate hard objects. The prints are still built up layer by layer, like the FDM "cake icing" printers, but the layers are much thinner and the quality of the finished print much higher.

I think that Roland have probably decided that the market for FDM printers is well served at the moment and that in the future there will be a move to the higher quality that this technology can produce. Having said that, these printers cost quite a lot more to feed, with a litre of liquid resin costing over 100 pounds, and the printer itself didn't seem to offer much (if any) of an improvement on the Form Labs printer which is cheaper (and who were also at the show).

Ultimaker were there too, of course, and I had a great chat about where they see the future going. There was also some amazing 3D printed art on show. I've put a bunch more pictures on Flickr, you can find them here

I left the show with loads of ideas for things to try and stuff to play with.

Surface Pro 3 Review

Almost worth tidying my desktop for...

Almost worth tidying my desktop for...

My Surface Pro 3 arrived earlier this week. I ordered it when they were released because I really, really wanted one. I'm going to have to sell lots of things to pay for it, but from the look of things it will replace my iPads and desktop machines. 

The hardware is lovely. It's as if they've listened to all the complaints about earlier versions and acted on them. The power plug is no longer designed to gouge lumps out of the expensive paintwork, the kick stand tips all the way back to make it work really well on your lap and the touch pad on the keyboard is actually usable (like it was on the original Type keyboard before they broke it with the 'improved' version). 

I've spent a happy evening or two loading software onto the machine and it has finally got all my working files from OneDrive. For this new machine I'm trying a new trick. I'm writing a log of all the software that I install and all the funny settings changes that I make to get things to work. This will be useful to me if I ever move to a new machine (it has been known). I always end up having to remember where I got that program from, or what it was that I did to make it work properly. And writing the log gives me something to do as the progress bars drag themselves across the screen.

I've not noticed any problems, except for one. The Surface Pro 3 has a feature called InstantGo. This makes the machine wake really quickly from sleep. It also enables a neat trick where you can start the machine and open up OneNote just by clicking the button on the active pen that comes with the machine (and is lovely by the way). Problem is that this feature doesn't work if you enable Hyper-V on the Surface.  So, why would you enable Hyper-V? Well, you need it to use the Windows Phone emulator among other things.

If you install Visual Studio 2013 it enables Hyper-V automatically, which causes a couple of bad things to happen. Firstly InstantGo (and Sleep) disappear from the Power Options, which become really confusing. Secondly the machine doesn't reconnect to the WiFi at all well. I had a nervous few minutes thinking I had a broken machine before I did some searching and found the cause of the issue. 

This is not a huge problem for me just right now. Without Hyper-V enabled I can debug Universal apps using the local machine (although the simulator doesn't work) and I can deploy programs into the phone to debug. To make life easier for myself I've written a couple of batch files that turn Hyper-V on or off and reboot the machine. I just right click on them and run them as administrator (or I could create a Start Menu shortcut that does that). This makes it easy for me to flip between the modes. If you have a use for them you can find them here

One thing about the Surface Pro 3 that is completely wonderful is the way that it works with Xinio. I signed up for Xinio a while back and earlier this week they had a 40% discount event (I think they have discounts quite frequently).  I managed to get subscriptions to four titles that I normally buy for around 45 quid for the year, which I reckon is very good value. 

Magazines look lovely on the screen and the pages are pretty much life sized. The 4:3 aspect ratio of the screen is just right for reading and the Surface itself weighs a bit less than one magazine, particularly if you unclip the keyboard. I think the days of me having a big pile of paper by the bed are now numbered. 

This really does look like the "everything device" I've been after for a while. I reckon that it should replace my desktop and I should be able to use it as a proper tablet too. The OneNote integration is very useful if you want to scribble a note or capture something off the screen and use it somewhere else. In fact it has left me looking at OneNote anew. I've never really got to grips with it, finally this platform might be the one that makes it part of my life.

If you are looking at your iPad and thinking "Wouldn't it be nice if I could actually use it to make things" then the Surface Pro is for you. I've got the i7 version (I'm going to have to sell a lot of things) but my old i5 Surface Pro 2 ran all the power applications I could throw at it, including Photoshop, Visual Studio, the Office Suite, FreeCad and Cura. Sometimes all at the same time. So I reckon you could quite comfortably get the i5 Surface Pro 3. 

I hope they sort out the Hyper-V issue. I've a feeling that a machine like this will be lapped up by serious developers and it is a shame that their lives are being made more difficult by this problem. But apart from that, strongly, strongly recommended. 

Hardware Fun Resumes at C4DI

Tonight we had our sixth hardware fun and games at C4DI. This time we were using the Arduino multicoloured LED and photosensor to make a device that could recognise colour. And it works. It uses some cunning software to shine different coloured lights on the object and measures the intensity of the light coming back each time. Peter did all the clever stuff, and you can find his notes here.

I also took along my 3Doodler which folks had great fun with.

We didn't think you could make things like this with it....

As I left there was lots of activity outside setting up stages for Hull Freedom Festival which is on over the weekend. If you are in Hull you really should go. We had a blast last year.


One of the bees in my bonnet is the importance of being able to write well. And writing is something that you only get good at if you do it a lot. Forcing myself to write a blog post every day has been very useful in improving my style, even though some of the blog posts are truly awful

Anyhoo, one of our ex students is also keen on writing and has put together a web site where you can find interesting articles and also publish your own. Take a look at urite.co.uk