Skip to main content

This is ZX81.org.uk

Recruitment Tests

Over the years I’ve been asked to do a lot of programming aptitude tests. I’ve had to do some in the last couple of months and I’m deliberately writing this now before I get the results back of the most recent one so you won’t think that this post is just sour grapes…

I’m not going to get into the details of the tests because it doesn’t really matter what they are or who administered them for the purposes of this post.

Swift Types

If you look at the Swift Language guide, you get the distinct impression that the type system is sleek and modern. However the more you dig into it the more eccentricities you find.

The one I’m going to look at today makes sense only if you look at the problem domain from a slightly skewed perspective. I’ve been trying to think whether this is a sensible, pragmatic way of designing a language or a mistake. Judge for yourself.

Swift Hate

I’m seeing a surprising amount of vitriol aimed at Swift, Apple’s new programming language for iOS and Mac development. I understand that there can be reasoned debate around the features (or lack thereof), syntax and even the necessity of it but there can be little doubt about the outcome: if you want to consider yourself an iOS developer, it’s a language that you will need to learn.

The only variable I can think of is when you learn it.

Learning Swift

Swift is a new programming language designed by Apple for development on OS X and iOS. I thought that I should try to learn it a little so I decided to convert a non-trivial collection of classes from one of my apps (www.cut) into Swift. I always find it better to work on a real project rather than just to play around with things aimlessly. Also, by re-working an old project, I knew that all the problems I would find would be language related rather than anything to do with the architecture.

Lucky Number Two

I’ve been pretty quiet here for a couple of of weeks and that’s because… well, a picture speaks a thousand words.

IMG_7084

Junior took his sweet time popping out — we were in the hospital over a day before he made his grand appearance — but for Juniorette we weren’t sure we’d make it there in time! In the end we checked into the delivery suite just after ten in the evening and the birth was recorded just before eleven.

Reflection

Sagrada Familia

Last year we went to Barcelona and visited the Sagrada Familia, Gaudi’s amazing, unfinished cathedral. The organ was beautiful but it was difficult to get a picture of, until I realised the Reflection — this weeks PhotoFriday theme — of the stained glass window worked pretty well. (Don’t tell anyone, but my wife zoomed in closer and got a better image that I did.)

Please also vote for my entry in last weeks challenge, “My obsession.” I’m entry number 56.

Failure is an option

My first project out of university was a disaster.

The client was unhappy, technically it was a mess, no one knew what it was supposed to do despite the volume of requirements and functional specification documents and the quality of what was there was terrible. People were working hard but it wasn’t really going anywhere.

All of this, I should note, was happening before I joined. I didn’t realise how bad it really was at the time. The Real World was so different and new from university that I was blinded the problems and just did what I thought was best.

Webcam

I’m not entirely sure what I was thinking. In about 2005 I bought an iSight, Apple’s relatively short-lived external webcam. It was a beautiful device. Sleek, easy to use and functional.

At least, I think it was functional.

For a device that cost me well over £100 I didn’t really think it through. No one else I knew at the time had a Mac with iChat. Or a webcam.

Before I finally gave in and sold it on eBay I did use it a few times with my then girlfriend (now wife). And it was really nice; like the future. Having grown up with old, slow computers the idea of playing video on them is still slightly magical to me. To have a computer simultaneously record, compress, transmit, receive, decode and display high resolution videos still strikes me as pretty amazing.