Chocolate Crunch Cake

One of my favourite sweet foods: Chocolate Crunch Cake

I used to make this as a child and I only just rediscovered the recipe

Basic Ingredients:

  • 400ml sweetend condensed milk
  • 100g butter or margarine
  • 200g plain cooking chocolate
  • 200g milk or white chocolate
  • 300g Rich Tea Biscuits

Instructions:

  • Slowly Melt the milk, butter and chocolate in a non-stick pan on a low heat.
  • Crush the biscuits roughly (so there are various sizes of chunks) into the pan
  • Mix until the chocolate mix covers the crushed biscuits
  • Pour into the flat baking tray (lining the tray with grease proof paper will help get the set mix out later)
  • Allow to cool then refrigerate for an hour or two. This is the base
  • Slowly melt the milk or white chocolate then pour over the base and return to the fridge.
  • Once the chocolate has hardened it can be cut into squares and served.

Variations:

You can add a handful of rasins (or other small dried fruit), crushed nuts (unsalted) or seeds to the mix at the same time as adding the biscuits.

Reducing the quanity of butter will make the mix more solid, so it sets quicker, but it become harder to spread evenly in the flat mixing tray. Increasing the amount of butter will make the mix easier to spread out in to the tray, but it will make it more difficult to set.

It is possible to use benecol butter (the one suitable for baking – not all are), light rich tea biscuits and lite condensed milk for a slightly healthier version.

If you have an exceptionally sweet tooth milk chocolate can be used for the base, but it will be very sweet.

Tags:

Ego stroking

I saw this on Rob’s blog and I thought I have to see what score I get.

How smart are you?Am-I-Dumb.com – Are you dumb?

Looks like I beat Rob by 0.1%

Now that my ego has been stroked, I’ll get back to what ever it was I was supposed to be doing…

Code Reviews

I’ve been meaning to blog about code reviews for a while, but I’ve never seemed to sit down and organise my thoughts on the matter. Well, I’ve got some time now, so I’ll do my best to organise my thoughts.

First things first – Code Reviews are, in my opinion, not a “nice to have”. They are an essential part of the quality control for software. Anyone that says they are a “nice to have” simply doesn’t understand the ancillary benefits of doing a code review besides ensuring everyone is keeping to the same style. In fact, keeping everyone to the same style is to my mind a pretty minor part of code reviews.

Whose code should be reviewed? Everyone that writes code should have it reviewed. From the gap year students up to the senior architects (if they still write code). There is no level where you say “That person is senior enough to review their own code”. I am a fairly senior developer and I am not so arrogant to think that I won’t benefit from code reviews.

Who should conduct code reviews? Everyone should conduct a review. Now, obviously the graduate developer isn’t going to pick up on things that a senior developer might, so this is more of an opportunity for the graduate to read someone else’s code. They will, hopefully, learn more from reading a senior developer’s code than they will find fault with it. It affords them the opportunity to ask questions regarding why things were done in a certain way. And often a graduate will bring a fresh perspective to things by suggesting new techniques that the senior developer may not have had time to read up on yet, but which the graduate recently learned at university.

For pretty much everyone on the team, conducting a code review means looking through and understanding code in parts of the system they may not have the opportunity to see otherwise. This means that the developers on the team will have a greater understanding of the overall system. Maintenance, once the system is live, becomes easier to manage because all the developers that worked on the system should know enough about all its parts to be easily assignable to the task. Management doesn’t have to pull a specific person off another project and if a developer moves on there is still retention of knowledge about the code in the company.

If code reviews are conducted frequently it gives the reviewer a chance to ask the developer about design decisions while there are still fresh in their memory. The reviewer can potentially learn about new techniques, or potentially head off future problems if the decision was incorrect.

Code reviews are difficult when developers’ egos become involved. It is therefore vitally important that reviews are constructive. It is not sufficient to point out where something is wrong, but to suggest a way to improve it as well. As was mentioned earlier, the reviewer should find out why the code was written in a particular way. The developer may have a valid reason that the reviewer was not previously aware of. It is better to find that out first before criticising the developer for seemingly poor code. That said, it is important to find out what alternatives they considered and why they think their ultimate decision was correct.

Positive aspects in the code must be found also. If a developer constantly receives poor code reviews they may become protective of their code and refuse to submit it for review, or otherwise indiscriminately attack other developers on the team or management rather than seek to address the problems that exist. If the developer under review is junior they will most likely deliver poor code to start with. With each code review comment on areas that they have improved on so they know that they are getting better as it is often the case that as one area in need of improvement is resolved other areas become apparent.

It is also crucially important that reviews are frequent so that problems do not build up. The worst thing is for problems to have built up over a number of months and for a developer to only find out about it during their annual review. This will lead to resentment.

In short, everyone’s code gets reviewed, and it gets reviewed often.

Tags:

It happens every time (2)

After DDD5 I posted about the things that go wrong with my travel plans. Last week I went down to my company’s Maidenhead office and, as usual, something went wrong. This time I forgot my trousers.

No, I don’t mean that I turned up at my hotel and the receptionist pointed out I was just standing there in a pair or underpants. I wore jeans for the journey. I mean I forgot to bring trousers suitable for work. So, first thing on Monday morning I had to dash into Marks and Spencer to buy a new pair. And rather nice they are too.

Also, on the Monday night I discovered there was the London Geek Dinner on the Tuesday night and so I added myself to the list of attendees. When I arrived Ian Cooper was a little apprehensive at my being there. He explained that when he saw my name on the list he wondered if my travel woes were about to visit them (parts of the south of England, particularly along the Thames, had been hit by floods and it looked like it was going to get worse at that point). When I explained that my disaster for the journey had already happened he seemed a little more relaxed.

Tags:

I hate motoway service stations

I hate motorway service stations. Even the new one at Norton Canes on the M6-Toll just caused irritation. Also the service station that I used to like stopping at, because it was just different, at Tebay in the Lake District was poor.

So, what is the problem with all these services stations?

First they are all pretty much alike (except Tebay, which at least has some character). Now, I don’t mind identikit facilities if they supply what I want, but they pretty much don’t.

On a long drive I’ll have to stop for a meal at some point, yesterday I managed to wait until I got to Tebay for my evening meal and by that point I was really quite hungry. They at least supplied a decent meal although not my preferred choice (my choice of Chilli con Carne with Chips was really the best of a bad bunch) I had to wait a few minutes, as did others for the chips, but once I sat down it was actually acceptable. My main problem with food at service stations is the amount of stodgy high carb food they serve. And the more carbs you eat the more the body has to work to process them causing drowsiness – For someone driving alone this is not good. I try and avoid those food but often there is just no choice. A programme I saw last year the MD of one of the motorway service companies was saying they supplied what the public wants. Well, this member of the public does NOT want food that will make him fall asleep at the wheel. I want a decent meal, but one which won’t make me drowsy.

Next up is the price of everything. Once at the service station they’ve got you. If you don’t know the local area you are not going to wander off to find something better priced. If you are in a hurry you are not going to go off the motorway to find a better priced place for lunch. Given the poor quality of everything and the amount of people passing through they must be raking it in.

If I don’t have any passengers in the car to talk to then I like to listen to audio books. Unfortunately, if the selection I take with me runs out I have a look at what the service stations offer, and it isn’t much. A selection of has-been comedians and abridged populist novels. In short, there is practically nothing of worth in the selection. Even with it being the release of the final Harry Potter book last week, I would have expected to see the audio book of Harry Potter and the Deathly Hallows somewhere.

Finally, the general cleanliness of the service stations leaves a lot to be desired. Some are okay, like Norton Caines and Oxford because they are quite new. But even those really need to work on getting the state of the toilets up to a good standard. Often I find that cubicle doors have broken locks which need to be fixed, wash basins are filled with dirty water, there are never enough hand driers.

The one posititive thing I will say is that you can at least buy Irn-Bru in all the service stations I stopped at, even the ones in the south of England.

Just to enumerate the service stations I stopped at on my trip to Maidenhead and back:

  • Southbound
    • Abington
      • Refueled
      • Bought snacks
    • Keele
      • Looked for dinner (failed – nothing looked nice)
    • Norton Canes
      • Got dinner (turned out to be dried out chicken, yet it was from a brand new batch!)
      • Refuelled
  • Northbound
    • Oxford
      • Used toilets
      • Looked for audio book (failed)
    • Norton Canes
      • Used toilets
      • Looked for audio book (failed)
      • Refuelled
    • Burton-in-Kendal
      • Looked for audio book (failed)
      • Looked for food (failed – all looked poor quality)
    • Tebay
      • Looked for audio book (failed)
      • Got dinner (passable chilli con carne)
      • Used toilets (three attempts to find a usable cubicle – but there was a plumber trying to fix them)

I stopped a couple of other places on each journey to buy drinks and use the facilities, but I don’t recall which service stations they were.

I’m also sending an email to each of these service stations to afford them a right-of-reply.

Tags:

Job Opening: C# / SQL Server – Glasgow (x2)

This just in!

Please direct ALL corresspondence to: careers@lumley.co.uk

PLEASE NOTE: Direct Candidates only, NO AGENCIES !!!!

Job Title
Application Developer

Job Purpose:
To effectively control the software lifecycle (analysis, design, implementation, testing and release) for all in-house developments, ensuring that internal systems are efficient, stable and secure.

Main Tasks and Responsibilities:

  • Shared team responsibility for the implementation of agreed system specifications using the .NET platform.
  • The specification, development, maintenance and documentation of all in-house code.
  • Production of code that is well structured, efficient stable and secure, using best industry practices.
  • Ensuring that all code complies with agreed Company and Supplier recommended standards. 
  • Work effectively with both internal team members and external IT contractors and suppliers.
  • Any other duties that the Company may reasonably ask you to perform which are within your expertise and skill

Core Regulatory Competencies:

  • Ensure awareness of the controls and procedures implemented by the organisation to maintain compliance with the regulatory and prudential requirements of all regulators.
  • Comply at all times with the FSA’s (and any other applicable regulator) principles, commitments and Codes of Practice.
  • Ensure awareness of, and adopt any changes in regulatory practice identified and/or stipulated by the Approved Person responsible for compliance either directly or via the organisation’s Compliance Procedure Manual.
  • Work with the organisation, through the performance management system in maintaining role competence and performance at all times. 
  • Ensure that all appropriate regulatory records, including training and competence are completed and kept up to date.
  • Report any significant failures to comply with requirements and/or suspected rule breaches immediately to the Approved Person responsible for compliance either directly or via the organisation’s Compliance Procedure Manual.

Core Competencies (including qualifications):

  • Educated to degree level or equivalent professional qualifications including appropriate Microsoft Certified courses.
  • Experience of the development life cycle for n-tier Client/Server systems
  • Excellent skills in the analysis and production of code within and an object-oriented development environment.
  • Experience as a systems/application developer – specifically C# (1.1 and 2.0)/OOP/ASP.NET/SQL 2000/2005 developments using the .NET platform (some VB.NET may be required)

Promotion will be based upon a combination of the following:

  • Personal performance as evidenced by the achievement of Key Performance Indicator goals as set in the Personal Performance Plan process
  • Team contribution and positive staff and user feedback
  • Contribution to business success
  • Continued Professional Development

SQL Bits announced

Finally SQL Bits has been anounced. It follows in the same ethos as DDD (Developer Day) but focuses on SQL Server. It is being organised by the best community minded SQL people in the UK, so it is bound to be an excellent day.

At the moment the call for speakers is open and my only regret on that front is that the new spatial elements of SQL Server 2008 have not be released into the CTP yet and that is a subject that I’m most interested in and would probably have something to talk about if it was there.

So, a date for your diary: 6th Ocotber, 2007

Tags:

Job Opening: Software Developer (C#) Edinburgh

Submissions are now CLOSED

I just got the following from a friend. His company are looking to hire a software developer. If you are interested and fit the bill then please let him know:

Company: Pilgrim Systems
Job Title: SOFTWARE DEVELOPER
Description: Are you a real programmer looking for a proper development job? If so, read on. As Joel Spolsky says “The most satisfying careers, if you’re a software developer, are at actual software companies, not doing IT for some bank”.

We’re looking for experienced software developers to assist in the design and development of our new suite of software tools for the legal sector.

Due to the ongoing evolution of our legal software you will be at the forefront of developing the next generation of LawSoft software, utilising the technologies such as .Net, C# and XML. In addition, you will be involved in delivering software enhancements to meet specific client needs.

Your main responsibilities will include:-

· Developing & maintenance of code that adheres to the Company coding standards
· Production of high quality software
· Writing specifications and estimating development project timescales and milestones

Candidates must have 3 years work experience in the following:
· C# or VC++
· SQL
· ASP.NET & ASP
· Object-oriented design

The following skills are desirable:
· XML/XSL
· MFC
· Microsoft Office Development

You must have the following:
· Good interpersonal skills
· Educated to degree or similar qualification
· Ability to communicate well both orally and in writing
· Ability and interest in learning new technologies
· A demonstrable interest in a career in software development
· Team player

Closing Date 23rd July 2007

Negotiable salary and benefits package

If you are interested in the above position and would like to be part of a growing company please email your CV to jobs@pilgrimsystems.com quoting the above reference.

About Pilgrim Systems

Pilgrim Systems is an Edinburgh based software house developing complete IT solutions for law firms. Founded in 1978 the company has established a dominant position in the Scottish legal market and has become a leading supplier of legal IT systems in England and Wales.

Tags:

IT Community Wiki

Various people in the UK IT Community are putting together a wiki to act as a repository of speakers, user groups, presentations and events. A start was made on it over the weekend and it is beginning, slowly, to take shape. Myself and fellow Scottish Developer John Thomson worked on getting the speaker’s profile right yesterday and today and I think we’ve pretty much got there. We used my profile to work on and experiment with the design. We now just have to create a template based on that and get other speaker profiles filled in and listed in the appropriate indexes.

The profile contains, we hope, all the information a user group would need to find and approach a potential speaker. For example: past work, qualifications, awards, professional affiliations and so on are provided to satisfy someone that the speaker is qualified to speak on a subject.  A section on geographic areas covered and expenses exist so that there is no doubt about what it will cost to book the speaker and whether they would even consider travelling to a certain area. Finally, contact information is given so that the speaker can be contacted.

There are one or two tweaks still to be sorted out, but the substance is there now.

Links: UK Community Wiki,  Speaker Profile for Colin Angus Mackay.

Tags:

An interview with Dave McMahon

The day before DDD5 Craig Murphy of Scottish Developers interviews Dave McMahon of NxtGenUG. You can pick up the podcast from Craig’s blog.

One thing I’d really like to pick up on is about in-person events, the user group meetings themselves. These are great places to interact with people who are also software developers. There is a lot of good information that goes back and forward from general banter about the writing software and technologies to full scale discussions on design and architecture. The wealth of information is priceless. It is perfectly possible that you may be starting a project that is very similar to one someone else has just completed – they can give you pointers on what worked for them and what didn’t so you can learn from their experience too.

Tags: