Much Travelled Dev Day

If you've ever wondered if it is possible to travel to from Hull to Mons in Belgium, do a session at Dev Day 15 and then fly back on the same day I'm able to tell you that it can be done. Even if the day starts with a 90 minute delay before you take off and you arrive too late to make your ongoing rail connection.

Fortunately, because the people at Thalys are completely awesome, this was simply a matter of rebooking on a later train (at no extra cost) and then heading off. I got to the venue around 20 minutes before my session. You can't beat just in time delivery. I did my session, and then headed straight back for my train home, getting back just in time for bed.

Talk about a full day....

Thanks to Christophe for the picture. 

Thanks to Christophe for the picture. 

Anyhoo, the session was great. The audience was lovely, if a little bemused at the start, when I started handing out small cheese and big cheese prizes. But they soon got into the swing of things and much fun was had. Apparently it was captured on video, which will be interesting.....

Thanks to Olivier and the crew for organising the whole thing. It's actually a rather inspiring story. A bunch of developers wanted a conference in their part of the world and they just built one. They've got lots of delegates, sponsorship, a great venue in a cinema multiplex and splendid Microsofties like Andy Wigley coming along to give them sessions on the latest tech. Great stuff. A pleasure to be involved with. I'll be there next year if you want me. 

Although I might travel down the night before.....

In Praise of Older Lenses

22749924443_8f653416de_z.jpg

I've got myself another camera. Surprise. And I'm definitely going to sell all my old ones to pay for it (now that would be surprise). The bad news is that the lenses for my latest acquisition look to be rather expensive. The good news is that very old lenses for it are a lot cheaper. 

For around ten quid you can get an adapter that lets you fit lenses from yesteryear.  And it turns out that way back in the past they weren't just better at making music. They could make some amazing optics too. I picked up 55 mm Canon prime lens from Ebay that is a fraction of the cost of a modern lens, with image quality which is top notch. The picture above has been heavily tweaked in a way that tends to hide the sharpness of the lens, but take it from me this thing is pin sharp. 

My new/old lens doesn't have any of the new fangled features such as auto-focus or automatic aperture adjustment. But it turns out that I really like that. The camera viewfinder does a thing called "focus peaking" where it outlines the sharp parts of the picture in yellow. And adjusting the aperture manually means that I get to preview the depth of field in the picture and see how well the subject has been isolated from the background. 

It seems that you can get lots of adapters for lenses from way, way, back - even for old Leica lenses from the thirties. If you fancy testing your understanding of photography a bit and you have a camera that supports interchangeable lenses I'd say it was worth having a go with some old glass. 

Printing Tiny Robots

I've not done any 3D printing for a while. Then, earlier this week Peter showed me some things he'd been printing and they looked rather nice. And today on Twitter I saw a link to a tiny articulated bot that looked interesting. I like designs which print all as one. The legs, arms and head are intended to be separate items which stay fitted together because they are made that way. The original model had a print time of four hours, so I scaled it right down to speed things up and get a print time of an hour or so.

I was a bit worried that this would mean that the different pieces would fuse together into a single block but with a bit of careful twisting I managed to free of all the elements and I now have a tiny figure to help me with my breakfast cuppa. 

What makes a Bad Programmer?

I've been spending quite a bit of time with the First Year students this week. They're presently grappling with the "Space Cheese Mining" coursework which is a silly board game loosely based on Snakes and Ladders but with a few twists. And some cheese. 

Anyhoo, I was telling one student that I didn't allow First Years to tell me they were bad programmers. "That's my job" I said. The point I was going for is that one of the problems people have when learning to program is that they lack confidence in the code that they write. Sometimes they worry that they might not have found the "best" solution.

It turns out that some things are just hard to deal with, and require fiddly bits of code no matter how you approach them. So your code ends up looking a mess, and that's just the way it is. Snag is, when you are learning to program you don't necessarily get this, and you might worry that your program looks messy because you can't actually write code. So I always say that I'll be the judge of bad and good code, 'cos I've been writing programs for some time. 

We talked it through a while and then the student asked a really tough question "So, what makes a bad programmer then?" Ugh. Wasn't expecting that one. I didn't really have a ready answer. I muttered about bad coding style, not testing code, etc etc and that was that. 

Having thought about it some more though, I reckon I was wrong. I now think  a bad programmer is someone you don't want to work with.  They might write code that nobody can understand. They might refuse to test their solutions. They might refuse to believe that there is a problem with something they have written. They might not buy their round in the pub. They might get into fights with the customer. And they might enjoy telling you about bugs in your code rather too much.

Technical ability will get you so far in this business, but if you aren't good to work with this is going to hold you back in the long run.

Windows 10 on Raspberry Pi Rather Useful Seminar

We had a Rather Useful Seminar today. I talked about Windows 10 on Raspberry Pi 2. Great fun and all the demos worked. It is rather impressive to be able to flip a switch and swap from PC to Pi deployment, and still have all the Visual Studio loveliness including  breakpoints and full debugging support.You can find the slides here.

 

Testing Software vs Playing with it

I was giving a Software Engineering lecture this afternoon and the conversation turned to testing. As it frequently does. So I asked everyone what they thought I meant by the word "test". One answer came back "it's what you do to see if it works". 

I don't think that's what I'd call testing. I was casting around for a phrase that fitted the occasion. Finally I came up with "Playing with the code". I wanted to get people thinking that actual testing is a lot more than just running with the program to see if it seems to do what we want. .

Proper testing is planned, repeatable and part of the creation process. And, if possible, automated. Don't make the mistake that the thing you do once it compiles is testing.  It isn't.

Bluetooth Arc Touch Mouse

While I was in Seattle earlier this month I took the opportunity to pick up some mice and keyboards. I got a Bluetooth version of the Arc touch mouse which is really nicely designed . It lies flat and you turn it on by folding it into an arc. Hence the name. It's more comfortable than I expected and it works very well. There's no scroll wheel, but the touch area in its place is a usable replacement. The mouse contains a sounder that "clicks" as you scroll up and down providing good tactile feedback. It's a bit pricey, but it does have a nice premium feel and the way it snaps flat is very pleasing.

Paul Talks Security at a Rather Useful Seminar

I bumped into Paul Orlowski a while back. Apparently I taught him something about computers in the 1980's. Paul was studying electronics at the time, but now he is into security. Proper, full on, big company to government security. Of course I asked him to deliver a Rather Useful Semnar. And today he did. 

It was great. Security is a big thing. A big big thing. And it is going to get bigger. Paul made the point that as a career security is an increasingly interesting (and lucrative) choice for a Computer Science graduate.

Paul also explained that security is all about governance and process. If there's nobody at the right level in an institution to ensure that security policies are are properly enacted, or if systems are built without having security at the heart of the development, then we won't get the secure systems that we need. 

We had a really good turnout and everyone went away with plenty to think about. 

GPUs and Surface Books

So, I was talking to Lilian from Microsoft last week, and explaining how I didn't think I needed to buy a Surface Book device because the only difference between it and my Surface Pro 3 is that it has a Graphical Processor Unit (GPU) in it.  I reckoned I that I had no need for GPU support because I don't play games or do graphical things. She reminded me that lots of programs, including Adobe Lightroom - which I use a lot - make heavy use of GPU hardware to speed things up. 

I tested this theory over the weekend, running Lightroom on my HP Sprout, that has a reasonable GPU in it. Turns out she's right. The GPU makes raw decoding of images much, much, faster. So now I want a Surface Book. The big one. With the GPU.

Thanks for that Lilian. 

Suiting Up Pays off

The "Black Godzilla" team in Three Thing Game made an awesome game. And they turned up at the Finalist Presentations fully suited and booted, and looking really sharp. Like winners in fact. I caught up with one of the team today and he told me that they had decided to dress properly for the event. 

I think this is a great idea. Way back when I was mentoring Imagine Cup Teams I had a habit of nipping down to Asda and picking up sets of matching shirts for the teams that I was looking after. This got a bit expensive when we had four teams in the UK finals one year, but it made a huge difference. For one thing, the students looked like proper teams.

If you're engaged in any kind of team work it is well worth giving some thought to this. It doesn't have to be expensive, just all get the same style T shirt or whatever. And the funny thing is, once you look like a team you start to behave more like a team too.