Una the Ultimaker Lives

IMG_4793.jpg

I’ve decided to give my 3D printer a name. I’ve come up with “Una the Ultimaker”, because it is about the only name I know that begins with ‘U’. Ursula didn’t seem right and, like most people of my generation, I’ve always had a bit of a thing for Una Stubbs. Anyone who can make Cliff Richard movies worth seeing has got to be OK in my book. You’ll find her now doing sterling work in Sherlock.

But I digress. Last Friday Una got herself into a bit of a pickle. Her Bowden Tube (the tube that delivers the plastic fibre to her extrusion head) popped off the fitting when she was printing. This caused cable to her temperature sensor to come off and she got dangerously close to over heating. The problem was caused by a plug of plastic that had formed in the printing head. This is only the second time I’ve had a problem like this but it is a well known issue with 3D printers. Fortunately the folks at Ultimaker have been working on this and have just released a new “hot end kit” that has been specifically designed to address this problem. Anita at Ultimaker posted a kit out to me in double quick time and I spent this evening fitting it.

I had to strip down the entire print head and rebuild it, which was great fun. I first built the original print head just long enough ago that I’d forgotten all the little things you can do wrong, like forgetting to fit the fan cable before you assemble the whole thing and then finding that you have to take everything to bits again…

But the good news is that having put the new print head on it does seem to work a lot better. It has been designed with flanges that should reduce leaks as well. I celebrated by printing another twisty vase and it has come out better than just about anything I’ve ever printed. With a bit of luck I can now get on and make some new cases for bits and bobs.

IMG_4782.jpg

This is Una in her natural habitat, along with a well earned cup of tea for me..

Reading your Gas Meter with Gadgeteer

IMGP0058.jpg

One of my favourite cartoons when I was a kid was a picture of a bloke in a uniform wearing the logo of the Gas Company, with a notepad and pen in his hands and looking exhausted. Someone says to him “You look tired” and he replies “So would you be if you’d just done 100 meters”.

Funny eh? Peter doesn’t want to have to wait until his gas supplier tells him how much gas he has used, he wants to know instantly the effect of having that hot bath. You can find out how he is using Gadgeteer to read meters safely by reading this.

More On Broken Software

IMG_4611.jpg

It’s not as if I’ve been lying awake at night worrying about writing software (OK, perhaps slightly) but I have been pondering the “Is everything broken?” question a bit. And I’ve come to the conclusion that, at the end of the day it probably is, but then again it doesn’t really matter that much.

All of the terrible examples that are quoted are irritations in the great scheme of things. Nobody has been hurt, nobody is going hungry because of them and if the worst thing that happens to you in your life is that you can’t put any more music on your iPhone then I really, really, want a life like yours. True, it is annoying that things don’t always work as they should, and true, it would be nice if people felt moved to provide higher quality than they sometimes do, but at the end of the day stuff mostly works, and that is the important thing.

Technology now lets us do things (albeit imperfectly) that we just could not do before. It is also a great leveller. The Queen might have an iPhone that is covered in precious stones (although she might deem that a bit tacky) but she can’t do anything with it that you can’t do with yours. Although she might not worry as much about roaming charges as you do. The best phone in the world, whatever that is, can be obtained by literally millions of people, not just one or two. And, what’s more, anyone can make programs and sell them on the devices, providing a path to riches that just wasn’t there in the past.

I think, at the end of the day, we are always going to be upset with the status quo, and want it to be better. I vividly remember reading a piece some time back that was written by a retired general type. He was moaning about the way young people were more useless and lazy than he was in his day, and how their lack of discipline and application would lead to the collapse of civilisation as he knew it. Turns out he was a retired general from the Roman Army and was writing this a few thousand years ago.

The best thing to do is to take these issues on board, try to move things on a bit and give our children something even more fantastic to complain about when they get to our age.

On Broken Software

IMG_4097_8_9.jpg

Both Scott Hanselman and John Batelle have been having problems with their software over the last week. Both their posts are well worth a read.

Years and years ago Gerry Weinberg wrote "If builders built buildings the way programmers wrote programs, then the first woodpecker that came along would destroy civilisation". Not much has changed since.

It's always more fun (and more lucrative) to make and sell new stuff than it is to mend broken old stuff. And software lets you sell stuff that isn't finished. Unlike things like bridges: "Hey, that doesn't reach the other side!", and buildings: "Hey, where's the top floor?", many faults in programs take a lot longer to show up.

With a program you can leave out error handling, load testing and all the other boring bits that make a program properly useful and still ship a product that will sell by the boatload. With a bit of luck not that many people will notice. Of course, you could spend a lot more money and time getting it right. Snag is, I don't think that anyone would stay in business today making completely perfect software that took ten times as long to write as the current state of the art. People will go for new and shiny over old and working most of the time I'm afraid. I don't think I've ever seen an Engadget post about a new version of a product that is exactly the same as the old one, but works properly.

I’ve been writing software for an unfeasibly long time and some of it has wound up in the hands of proper users. I pre-date objects, Test Driven Development and pair programming. I wasn’t there when the loop was invented, but I I think I saw it in the papers. When I write a program I worry about everything, particularly what could go wrong. To me “The Happy Path” is an aside. I’m spending all my time fretting about “What happens if the response never comes back?” or “What if I get millions of these when I only asked for five?”.

It drove me nuts when I found out that the standard input/output libraries in C didn’t actually check the length of what was given to them, making the potential for buffer overrun part of the run time experience. I wrote my own input validation suite. I put it in all my products. I added timeouts everywhere. I didn’t particularly do this as part of a methodology, I just did it because it seemed sensible at the time, rather like a builder would make the ground floor before starting second floor. My programs hardly ever went wrong. Even the really big ones.

As a person who also teaches programming I try very hard to make sure that students take this approach when they write code. We start with defensive techniques and move on from there. As soon as you have a need for a number (say perhaps the age of your customer) then start to worry about how it might go wrong, become negative, very large, or change by more than 1 after a year. I don’t see this as tied to any particular methodology, I just see it as common sense, and I really want my students to have the same mind-set when they write their programs.

Modern development environments give you a lot more tools for making products that can be more reliable. Of course, the flip side is that the products can also do a lot more and that the demand for new, innovative solutions delivered in record time has never been greater. For me the only really good news is that where it is important to get code really right, for example in cars, airplanes and nuclear reactors, the software industry does seem to be able to deliver properly working systems, albeit slowly, and at great expense.

For the rest of us, I think it is as much our fault as anyone else’s that we are in this situation. We are keen to queue up for the next iPhone when the one that we have doesn’t actually work properly. Until we start only buying software that really works (and probably paying more for it) then this is how things are going to stay.

Castle Howard

IMG_4344_5_6-Edit.jpg

I don’t think that Castle Howard is really a castle. But it is a great place to go and see. It is a country residence on a grand scale, the kind of thing it takes several generations of “unbelievably richness” to come up with. We’ve visited it on and off over many years and once saw Bryan Ferry play live there. That was a good night, that was. It is also famous as the place where “Brideshead Revisited” was filmed. Twice.

Today we went for another visit, and I took the big camera along. We also did something we never normally did when we took the kids. We paid extra to have a look inside the house itself.

IMG_4679_80_81.jpg

This kind of puts our hall to shame….

IMG_4398_399_400-Edit.jpg

This is what they have instead of a garden shed.

IMG_4733_4_5.jpg

They seem to have lots of flat screen TVs, but they are all stuck on one picture…

If you are looking for a nice day trip (around 75 minutes from Hull) I can strongly recommend it.

Tekken me back to my youth..

image

Well, not really “Tekken me back to my youth”, as that was long gone when I got my PSX (Playstation 1) and took part in my first “King of Iron Fist Tournament”. But it was a great game. And now I can play it on my PS Vita. Which is really growing on me. I’ve actually finished Uncharted and now I’ve discovered that a lot of PSX back catalogue is available for tiny prices. I used to love Tekken 1. I liked it so much that I actually got the game music off the game disk (in those days you could do that) and and I still have it lying around on the phone. I did the same for Ridge Racer and also Destruction Derby. In fact with these games you could even swap out the disk during gameplay and have different music accompanying your driving/fighting/crashing action.

If you fancy some nostalgic fun for not very many pennies, you can also get these games, along with the first Tomb Raider from the Playstation Store. And next week we get the Vita version of Little Big Planet, which I’m just about to pre-order.

Visual Studio Express 2012 for Windows Desktop

image

The new Visual Studio 2012 Express is very nice to use. I’m even liking the funky dark colour scheme. But the fact that all you can create with it are Metro apps is a bit of a bind. However, Microsoft have now released Visual Studio Express 2012 for Windows Desktop. It lets you use the fancy new version of Visual Studio 2012, complete with SHOUTY MENU BAR, to create desktop applications in C#, C++ and Visual Basic.

Incidentally, if you want to put the menu bars back to how they used to be, Deborah will tell you how. She writes a really good Visual Studio blog with some very useful tips on the program.

Tempting Fate

image

Last night at my talk I mentioned viruses and nasty programs. I mentioned that I used the Windows Defender part of Microsoft Security Essentials. I also said that I hardly ever get problems with this kind of thing as the only programs I install come from boring places and I don’t go to strange web sites and click “OK”.

Of course, this morning Windows Defender popped up an alert. I’d been searching for some drivers for my Canon printer yesterday and inadvertently visited one of these nasty “driver archive” sites who try to sell you drivers that you can get for free from the manufacturer. And they had given me a little present, as you see above. Good news is that it was a doddle to remove. I left the machine doing a full scan when I went off to a meeting and all is well.

Windows Dev Center Open for Business

image

I’ve just registered as a Windows 8 “Metro Style” developer. It went very smoothly, most of the stuff carried over from my Microsoft account. For the princely sum of 32 pounds a year I now have the ability to publish Windows 8 applications to the world. I wonder if the world is ready for a “Metro Style” Cheese Lander?

You can sign up here.

Hull to get 4G Phone Coverage

image

I don’t often shout “Yay!” while I’m watching BBC Look North. But today I did. They announced that Hull is one of the 16 cities in the UK that will be getting 4G network coverage before Christmas, courtesy of the phone network EE, which is being set up out of the merged Orange and T-Mobile networks. The news is even better for me, because the new Nokia phone that I’m presently coveting, the Lumia 920, has LTE support and should work on this new, superfast network.  So, Yay! indeed.

Windows Phone Game Action

imageimage

These are a couple of games that our students have made over the summer. Robocleaner is a development of the Sweepy Cleaner coursework from Alex Rogers (I’ve actually bought that one and it is fun). Not tried Pigs Might Fly yet, but it is worth a look just for the artwork.  Click on the image to go through to the Windows Phone page for the application. You can even buy and deploy the program straight from the web if you fancy it.

I’m compiling a page of “Stuff wot folks from Hull made”, so if you have something you’d like me to mention, send me an email (you know the address) and I’ll put something together.

Capturing Objects with Autodesk 123D Catch

image

Autodesk 123D is slowly replacing FreeCad as my favourite place to create 3D models for printing. This is because I’m spending ages trying to get my head around how to use it. Turns out that designing things in 3D is much harder than 2D. Who’d have thought?

Of course the perfect way to make a 3D model of something would be to wave a camera at it and then have something crunch all the images and then drop out a design. That’s what Autodesk claim to have done with their 123D Catch application for iPhone and iPad. I’ve not had a chance to try this yet (the lack of an iPhone is slowing me down a bit here), but if you’ve got one you might like to give it a whirl. You should be able to convert the resulting scans into stl files and then get them printed.

This, of course, brings along lots of new and scary issues. If I go to an art gallery or shop and scan all the things I find interesting I can then go home and make my own versions. Basically, copyright problems are now moving into the third dimension…

2012 Paralympics in London

We were lucky enough to snag some tickets to the last day of competition in the London 2012 Paralympics. Of course I took the cameras…..

IMG_4031.jpg

Heading into the stadium.

IMG_4109_10_11.jpg

The stadium is a very impressive piece of engineering

DSC00371.jpg

Especially from the inside.

IMG_4180.jpg

Well, does he clear the bar or not?

IMG_4184.jpg

Going for the win.

IMG_4289.jpg

This is Oscar Pistorius (I wonder if he is any relation to our VC – Calie Pistorius?) winning in the very last stadium event of London 2012, by a pretty impressive margin.

IMG_4314.jpg

Heading home.

Charlie Kindel on the Future of Mobile

image

Charlie Kindel is one of the people who helped bring Windows Phone together. A long standing Microsoft veteran he was part of the team that got a working device out of the door in record time and built the solid foundations for things like the spiffy new Windows 8 phones that Nokia announced earlier this week (I want a yellow Lumia 920).

A year or so ago Charlie couldn’t resist the temptation to find out what life was like outside Microsoft and now develops his own products and works with startups. He has a blog that is well worth reading.  A few weeks ago he gave a presentation on the future of mobile computing. I watched it over a lunch break and I reckon you should to. It give a nice insight into how the mobile business works, but it is also worth watching for the insights into how all technology products get sold and how you need to think about the ecosystem when you make anything.

Platform Expos–from Clouds to Liability

DSCF8796.jpg

Today’s Platform Expos debate was well worth the trip up town. Even more so because a bunch of our students had managed to make it as well. They, like the rest of us, found the conversation very interesting as he panel moved from Cloud Gaming, to networks (some really interesting opportunities coming to Hull with the rollout of fibre optic cables right to people’s houses and the coming of 4G to the mobile space) to, of all things, insurance and liability.

I’d never really considered the insurance issues relating to games that run in the cloud, but as soon as you start letting players buy content in the game, using the so called “Freemium” model a whole bunch of liabilities suddenly appear. What if customers change their mind? What if you lose their content? What if someone “steals” content from another player. What if you inadvertently release sensitive data about your players? I’m not sure we have all the answers to these questions now, but one thing I am sure about is that if I was moving into that space I’d take some advice about it.

One other thing I took away from the session was that as soon as you start selling stuff, even if it is 79 pence for a copy of CheeseLander, you are running a business. If there are a bunch of you working together you need to agree on who owns the intellectual property in the game you are selling (or how you are sharing it) and how you will share out the earnings. In fact, after the talk I approached Rob from Andrew Jackson solicitors and asked him if he would be willing to come and give a chat to our student about this. I’m very pleased that he reckoned he could sort something out. Next semester I’m going to be running some “Rather Useful Seminars” about stuff it is good to know and that is one subject that we’ll now be covering.

DSCF8797.jpg

After the hard nosed business talk we were able to have a go with Assassins Creed 3, which looks lovely. The demo was set on a pirate ship with a beautifully rendered environment and some lovely looking water.

Cloud Gaming Debate at Platform Expo

image

If you’re around and about Hull tomorrow and interested in the games industry you might like to drop into the Cloud Gaming debate organised by Platform Expos. They’ve got Chris Deering, Founder of Sony Computer Entertainment Europe, Nick Thopmpson from KC, Mike Hewitt from O2 and Jiveen Lal from Hiscox insurance, who are also sponsoring the event. Also Ubisoft are bringing along a playable demo of Assassin's Creed 3 which will be well worth a look.

If you want to go along send an email to ian.archibald@wtchumber.com and he will sort you out a ticket.

20 Programming Opinions

IMG_3373_4_5.jpg

Today I was reading a post from James which linked through to a list of “20 Controversial Programming Opinions” that folks had posted on Stack Overflow. It is worth a look, if only to foster debate about the subject.

I’ve not got a problem with any of the statements to be honest. Some of them make more sense in particular contexts, but none of them are outright daft. I think most of them boil down to:

If you are using something make sure you are doing it for the right reasons and for the right effect. Adding comments, drawing use case diagrams, writing unit tests etc etc should not be things that you do “Because you have to”. In the right context these techniques are crucial. If I’m meeting a customer for the first time and I need to have something that will serve as the basis of of discussion a Use Case Diagram is essential. But if I’m writing a quick, single purpose, application then there is no need for that level of detail.

The bottom line is that before you use something you should consider why you are using it and how it will add to what you are building.  Don’t feel bad because you haven’t used a design pattern, or written thousands of unit tests. Just ask yourself how much the user likes what you have made, and how you can make it work better.