It’s snowing!

Birmingham was covered in a blanket of snow when I woke up this morning and it looks stunning. I took a couple of snaps on my phone:


my street early this morning


Little pond at the business park

Anyway im looking forward to this lunch time, those of us at work are having a big snowball fight, we dont see much snow anymore so you have to make the most of it!

Rush hour blues …

Had a great day today. Alan visited our offices and Talis and met many of my colleagues, he gave a couple of talks to the group during the course of the day which were both very well received. His energy never seizes to amaze me, in fact it can be quite infectious. His talks brought back a lot of great memories of the time we all worked together at aQtive.

After work today Amanda and I met up with some of her friends and went to watch Rush Hour Blues at the Symphony Hall in town. We caught the tail end of the show but it was very good. There’s another one next week which starts at 18:15pm which were really looking forward to watching. After the show we all ended up at Weatherspoons again and spent ages sitting around a table putting the world to rights, it was a really pleasant evening!

Movie: Miss Potter

Had a tough day at work trying to get my head around RDF and Jena, but got what I wanted to do done! Felt a bit drained by the end of the day but hey its Friday so Amanda and I decided to catch a movie. We ended up watching Miss Potter. We actually laughed as we walked into the cinema to see all the chairs empty, we thought cool we can sit anywhere, but just as the film started four or five other people walked in ( no I didn’t throw popcorn at anyone … honest! )


Image source: Wikipedia

Even though I’m going to get labelled a guardian-reading-tree-hugging-liberal (or worse) by Sam, I’m gonna go ahead and admit that I really, really enjoyed the film. It was really wonderful, magical and extremely heart warming. It was tinged with a little sadness half way through but the film ended beautifully. Renee Zellweger’s performance as Beatrix Potter was excellent as was Ewan McGregor’s performance as her publisher. The location’s particularly in the Lake District and the Isle of Man were stunning. I loved the way they combined animation into many of the scenes.

I definitly recommend the movie!

… "learning a new programming language is just about learning a new syntax"

It always grates on my nerves when I hear someone say that …because there’s a part of me that simply can’t bring myself to believe that it’s a true assertion. Rob and I discussed the point after he interviewed a candidate last week who had made this assertion, and asked me for my opinion. Ok the strength of my response does worry me a little, I’m not sure whether I’ve built a fence around this issue – that’s why I’m writing this to see if I’ve overlooked something. It’s certainly isn’t the first time I have heard this view expressed, in fact I’ve heard it a lot, and there’s a part of me that’s beginning to wonder whether there’s any validity to this assertion … so I’m hoping someone can tell me why it’s true. Me, I’m going to stick to my guns for now and try to explain why I think it’s wrong.

Here goes…

I think each language has its own philosophy, it’s reason for being different to every other language. Some languages were designed with a particular types of applications in mind for, example Fortran, which as a language was widely adopted by scientists for writing numerically intensive programs. Some languages are developed to be general purpose or universal enough to serve all purposes ( like Java for example ), whilst many languages try to be this, I don’t believe any really have.

The truth (ok as I see it ) is that there are many many programming languages out there and many more being developed. Some fall into disuse, others evolve or are extended to meet the ever changing needs of the communities that use them. Perhaps the need for this diversity arises from the diversity of contexts in which languages are used.

So I think you have to understand the contexts, and try to understand the reason why a particular programming language might be better suited for solving a problem than another, in order to do this I believe It’s important that you try to understand the philosophy behind that language. For me why is more important than how.

Yes, of course, you have to learn the syntax and the semantics of the language. But just understanding the syntax isn’t enough, you have to understand its nuisances, it’s idioms. Think of it as trying to teach a computer to speak a language. You can teach it correct grammar, but that doesn’t means the sentences it comes up with will make any sense … even though they’re grammatically correct.

As programmers we can be like that too, that’s why when we have a good understanding of a language and we move to using a different language we often fall into the trap of applying the idioms of the one to the other … or simply assume that we should be able to. A classic example of this is when a Java developer writes an object in C# and automatically starts writing public getter and setter accessor methods for each property he/she wishes to make accessible, when anyone who understands C# knows that whilst this works, C# has a completely different philosophy of how you expose Properties. It’s a crude example but I think it illustrates the point I’m trying to make, or at least I hope it does. In any case I believe the following is certainly true:

A language that doesn’t affect the way you think about programming is not worth knowing.

— Alan Perlis

Alan Perlis was the first ever recipient of the Turing Award in 1966, I often remember this quote because I recall how some of the students on my AI degree course used to complain that we had to learn way more languages than the students doing the normal Software Engineering degree. One of our Professors Aaron Sloman, used this quote to try to explain why it was important to be exposed to a wider range of languages better suited to the problems we were attempting to solve, and that this should change the way we think about programming. Anyway Perlis has written many often-quoted epigrams you can find some more here.

How technical writing sucks: The five sins

I was commenting to my friend Rob recently that I think one of the things I need to really improve at is my technical writing. It’s something I think Rob is quite good at as are Ian and Justin and it really is kind of cool having those guys around to learn from. I do find myself reading a lot of their work … not surprising given that we work together…

It does frustrate me when I read something they’ve written, or others outside of work like Alan, and I wonder whether I could have made the same point as succinctly or eloquently or even as effectively. Now, rather mischievously, I could just say that those guys are way older than me and have had far more practice and experience at it … but I think that would be … disingenuous at best … a lame excuse for not trying harder myself … but hey I’m definitely younger and better looking than them 😉 I just know that I’m not as a good at writing. I think it’s because, just with any skill, you have to work at it, you have to practise at it in order to get better, and I haven’t really been doing that.

I’ve been having a relaxed weekend so far and have been catching on some reading. Came across this wonderful little article by Amy Hoy, whose blog I’ve been following for a while. Amy very succinctly describes herself as a designer-turned-interface-developer, which rather belies how good I think she is at it. Amy has a wonderfully engaging style of writing and whilst I don’t always agree with what she says (sorry!) whatever she writes is almost always great food for thought! 😉 She often makes me laugh, for example when I read here blog entry entitled “Are writers better women?

Her article about the five sins, is a fun read but I think what she identifies as the sins [losing the reader, making the reader feel stupid, failing to stick , being a total bore and not providing much needed context] are all indicative of some of the kinds of problems my own technical writing often suffers from. Anyway I think it provides a useful set of criteria for me to try to assess my work with, I think I’m going to try and use it like that to see if it begins to help me evolve my own style … one that I feel more comfortable with. If its an area you think you need to improve at then do read her article, who knows you might find it useful too.

"…you dumbass…" … dreams within dreams … and Descartes

Had a terrible evening last night all started when I got on the wrong train at New Street and ended up in the middle of no-where. took me four hours to get home in the pouring rain. It was cold, windy and wet! I must admit I was a tad pissed off had all sorts of thoughts going through my head … stupid rain, stupid trains, stupid universe, … god must hate me well I’ll hate him back see how he likes that! blah blah blah.

Anyway as I neared my place I was actually pretty wound up and shivering, then suddenly this cat jumps out in front of me (makes me jump out of my skin!) and runs under this parked car to shelter from the rain I guess. Anyway I remember standing there momentarily looking up at the sky and laughing and saying out loud “oh well it, at least I’m not naked!” … ridiculous I know but it made me laugh, it’s a good job no-one was around I’d have sounded like a nutter!

Anyway I must have got home around 9:15, and figured I was way too tired to cook, and I was too tired to order anything in so I chucked a load of fruit, ice and milk into my really cool blender, 60 seconds later instant smoothie! Had that, thought about watching TV but decided I was too tired for that too so I trundled off to be around 9:45.

Anyway I had the strangest night. I had one of those really weird dreams where your actually having a dream within a dream within a dream. Not sure how or why that happens but its a bit bizarre. I don’t actually remember too much about the dreams, in terms of the details but its just the weird idea that I woke up from a dream to realise I was still in another dream, and then when I woke up in that dream I was still in another one! Finally when I did wake up I just lay there wondering whether I was going to wake up again … is it me or is that just freaky?

Curiously it got me thinking about something Descartes wrote in his Meditations on First Philosophy( which I still think is heavily influenced by Plato’s Allegory of the Cave, I know many who disagree with me on that but I think theres definitely strong parallels ). Descartes attempts to find a way undermine all of his own beliefs. He does this by considering whether he is mad, dreaming or being influenced by a powerful demon, the idea being that if any of these scenarios were the case then many of his beliefs would be false. Descartes writings are often fairly inaccessible probably because of the way his works have been translated .. however in modern philosophy Descartes little experiment is the basis for the brain in a vat thought experiment, which most people find far easier to relate to.


Image source:Wikipedia

The brain in the vat experiment, in simple terms, asks us to consider the questions a) how do we know that what we are experiencing is actually real. b) if what we believe is a result of what we experience, and we cant be sure if what we experience is real, then can our beliefs be true? The experiment asks us to imagine the scenario that a brain in a vat is connected to a computer that provides all the identical electrical impulses the brain normally receives. The computer would then be simulating a kind of virtual reality but the disembodied brain would never realise this. One of the better dramatisations of this relatively recently was the Matrix movie which I’g guessing most people have seen.

Anyway I think its interesting food for thought.

Oh yeah … as for the dumbass bit … well on the way to work this morning, as with most mornings, I tend to get on the same bus with one of my colleagues, Amanda. She asked me if I’d had a good evening and I told her about my 4.5 hour trip home last night to which she replied … “oh Nad … your such a dumbass” …gee thanks Mandy! I’ll remember that!

U.S. Government to encrypt all data on laptops

Was catching up on Bruce Schneier’s blog when I came across this posting. Immediately made me think of a conversation me and several members of our skywalk team were having on Friday over lunch at one of the local pubs. We were talking about the inadequacies of various types of security measures being considered by the UK Government, in particular the laughable ID Card Scheme. Rob made some interesting points about the government push of ID Cards in the UK and the relationship or lobbying for them by PKI vendors, im hoping he’ll blog about soon….anyway…

I remember rather anecdotaly mentioning during the conversation that whilst at aQtive Justin, Alan and myself briefly worked with a company called topsoft, who almost a decade ago had developed a full disk encryption system, which they were selling to other companies and the UK DoD. FDE systems have often been considered overkill, but encrypting every bit of information on a machine does mean that you dont need to rely on the user consciously choosing what to encrypt and what not to.

It is interesting that the US Government has decided to open up this selection of a product in the form of a competition … I find myself agreeing with Schneier’s assessment that:

It’s certainly a high-stakes competition among the vendors, but one that is likely to improve the security of all products. I’ve long said that one of the best things the government can do to improve computer security is to use its vast purchasing power to pressure vendors to improve their security.

But I’ve always been really wary of the whole idea of Key Escrow, the system just seems far too easy to abuse, and some of the worse violations of privacy, encroachment of civil liberties and indeed human rights have been perpetrated by so called patriots under the banner of “national security“.

Why software sucks

Over on slashdot theres an excellent little article and debate around the issue of why software sucks. The slashdot article points to this news story on the Fox News Network. that discusses the book by David Platt entitled “Why software sucks …. and what you can do about it“. I haven’t read the book yet but I’ve added it to my things to read list. The debate on slashdot though is actually quite interesting and worth reading in its own right. What interests me is how some of the sentiments echoed in the articles and discussions resonate around my earlier views that programmers arent usability experts, and until we start developing software centred around the user … software will continue to suck.

Librarians stake their future on Open Source

Linux.com is running and article on how a group of librarians Georgia Public Library Service have developed an open source enterprise class library management system that has the potential to revolutionise the way large scale libraries are run.

You can read the article here.

The production system is code named Evergreen, and you can find out more about it here, and use the working system, here.

My first impression of it is that I like it, it’s simple to use and doesnt feel like an OPAC, like the hugely disappointing http://www.worldcat.org does.

Unfortunatly I can’t seem to login to the system with the demonstration username and passwords, but I am really interested in trying out the Shelf Browser feature.

ea_spouse : Follow Up

I received an email from Erin Hoffman ( aka ea_spouse ) who filled me in on what has happened since she originally penned the article that I discussed a few blog posts ago. I’ve quoted a bit of the email below:

Your blog post was very thoughtful, thank you very much for sharing that as well. As we move forward it is critical that positive work environments get a spotlight shown on them as much as the negative ones, so your account of your workplace is very important in displaying to the rest of the world that breaking the backs of developers isn’t necessary for business or product delivery.

I think Erin is right in that although there are many really negative stories out there, there are also positive ones and its important for people to also present those as examples of how you can run a software business without breaking the backs of the developers charged with building products and services

Erin made public her identity last April, and since then has worked with others to set-up a quality of life focused organisation called http://www.gamewatch.org. I have nothing but the utmost respect and admiration for Erin and what she has accomplished so everyone, please, if you have a moment do take the time to visit the site and their forums at http://www.gamewatch.org/phpBB2/