What makes a great novel?

In my last post I talked about ‘Thursbitch’ by Alan Garner and I want to continue talking about that a bit more, in particular with regard to what makes a great novel. Now, I wouldn’t claim Thursbitch to be great. Not because I dislike it, mainly because as I said before I think there’s a lot in it that will put people off.

In music, or so I’ve heard, there is the idea of the Blue note, the gap between notes, the bit you fill in yourself. For me a great illustration of this is ‘Neptune’ by Holst in his Planet Suite. The closing part is superb I can imagine being in a spacecraft at the edge of the solar system drifting deeper and deeper into space. There’s hardly any music in the closing bars (or at least not to my un-trained ears) but there’s so much atmosphere or rather feeling.

Great novels also have this. That time when you’ve read the final page, closed it and sit thinking about it. Thursbitch has this, as do many others.

Thursbitch by Alan Garner

I grew up in Macclesfield. My father was born at Sutton, just south of Macclesfield, and my Nana (my Dad’s mum) lived for many years in Rainow. So, I feel I’m as qualified as any to judge Alan Garner and his works. I seem to remember reading ‘The Weirdstone of Brisingamen’ at school, and it is a book I’ve re-read a number of times. The last time was after I’d recently moved back up home (Bollington, just north of Macc, to be precise) and I wanted to immerse myself in the day-dreams of my childhood.

Many years ago I took a girlfriend on a drive through the hills around Macclesfield, and I remember her telling me that it was no wonder my head was full of fairies and elves. I took this as a compliment, and besides it seems to be true. When I lived in London I missed hills and the sense of peace and freedom that can be found there.

I mention all this because Thursbitch is the name of a place in the moors above Macclesfield. It is quite close to an old chapel called Jenkins Chapel, which as teenagers we used to whisper about saying there were Black Masses held there. Perhaps there were, or perhaps in our rumour-mongering there were echoes of truth. Perhaps some belief in the old religion of Britain still lingers in the hills.

Thursbitch is an adult fantasy story, but it is not a fairy tale, there are no elves, no powers of darkness. It is a tale with its roots deep in humanity and folklore. A tale that is as sparse in its narrative and characterisation as the landscape in and around Thursbitch. It is a difficult story. Half of the story is written in Cheshire dialect, most of which I found quite easy to understand, although there were times when I winced a bit. Some claim Garner’s use of dialect is authentic, I found parts just a bit too put on. My Dad didn’t think the dialect was that authentic, but it is very hard to say. I do not know which particular part of Cheshire Alan Garner hails from, but the eastern part of Cheshire has more in common with Derbyshire and Staffordshire. The Cheshire plain seems to be its own place, Chester and the Wirral again are different, and the south-eastern part of the county has more in common with Shropshire. But then again no county in Britain seems entirely homogeneous and Cheshire is as diverse as any.

I mention all this because it’s possible that the words Garner uses are genuine enough for him and besides half of the book is set in the Eighteenth Century, when dialect was used a lot more than it is now. What I think is worth saying is that the use of dialect will prove very difficult for many. I think a lot of people will simply discard the book after the first few pages. After reading the book I found myself wondering how earth you would translate such a book into Japanese. The words would be OK, but how on earth could anyone in Japan relate to the feeling that Garner is trying to evoke with the dialect. He is being bluntly honest, but that is not always appreciated.

I enjoyed reading the book and like all good works when it was finished I was left, sat, with my head full of thoughts, thinking about the characters, how their lives related to mine. The problem is I would love to recommend this book to people but I know that for every ten people that read this only one or two will persevere to the end, which is a shame. It is a difficult book, then again so is the walk up to Thursbitch itself. But it is a hidden place, full of its own secrets and charms.

Load tests and memory leaks

I’ve just spent the last couple of days trying to optimise the code used by our HTTP Handlers. One of the things we want to do is use an ADN (which stands for Active Delivery Network I think.). This is something that Akamai and other content delivery networks use to help speed up a site. Basically an ADN is a cache on the web. Requests to your site go through the ADN first and if it can handle that request the requester gets the content quicker.

However, I don’t want to rely soley on the ADN. What I would like is for our code to be as fast as it can. It sounds obvious but sometimes the obvious things get overlooked. We don’t get to concentrate writing fast optimised code because of scope creep and all the little add-ons that get thrown in. Some of these are needed for the business.

I had written a component a while ago, and  I used TDD to develop it and felt quite pleased with myself. The code looked clean and appeared to run well. I ran performance tests against it (we use a Python tool called pylot to do this) and again it seemed to stand up well.

Now, with the current re-working of the code and splitting things out into separate pieces I thought it a good idea to go back and test each handler by itself, to see how it stood up to 300 requests per second. My bit of code that I was so proud off behaved shockingly. It gobbled up memory, CPU usage was crazy.

How to improve this? Was there an issue with Dependency Injection? Shouldn’t be. If a new object needs to be created, then does it matter whether it is passed into a constructor or done within a method. From a testing prespective using Dependency Injection is better. Was there an issue with lots of classes? I better clarify that, instead of using one large class, I’m using six smaller classes. Again, should there be a problem? Not that I could immediately think off.

In order to solve the problem I went to the code and started commenting out chunks, hard-coding certain calls, so that I could test the process piece by piece. One of the nice things about breaking the code into smaller classes was the ease with which this could be done. I eventually found the problem to be with one of the smaller helper classes. As I’ve mentioned in a previous post, I had a big problem and broke it down into smaller chunks until I isolated the problem. In this exact case the issue was with a legacy object that does GEOIp lookup. When that object was being created it loaded up a DAT file. It was this that was causing the problems with memory.

Right now I’ve moved the object into the only function that uses it, and this helper class is a wrapper between my component and the older legacy stuff. When I come to running performance tests against this function I’ll see what happens with memory usage then.

I hope this makes sense. I’ll post this article now, but come back in a few days to proof-read it and see if it’s coherent. Right now I wanted to get my thoughts down.

Kevin Pieterson

What’s the point of a your own blog if you can’t have a bit of a rant. I like cricket, I like the English cricket team but something about Kevin Pieterson’s arrogance and complaining really irks me.

I don’t like the way the ECB are bending over backwards to accommodate him, and I certainly do not like Mr. Pieterson’s attitude and general brainlessness. He listens far too much to his advisors. He may be a good cricketer, he certainly isn’t great and never will be with his ‘it’s all about me’ attitude. He’s no team player and cricket is a team game.

Perhaps I don’t know what I’m talking about (it’s happened before), perhaps I don’t know anything about Mr. Pieterson, after all I don’t know him personally and probably never will. However, I do know what I’ve read and my perception of it. I also know that I’m not the only one who dislikes this big ego wandering around.

It’s not as though he wins every single match he plays in. When he’s good, he’s very good, but there are many times when he throws his wicket away through an act of brainlessness. This latest melodrama with the ECB seems to be another example.

I wish he’d grow up.