Free maps of Edinburgh

Map data in the UK is not free. It costs money. Lots of money. Compare that with the USA where map data is essentially free.

Why? Well in the US anything published by the US Government becomes public domain – you can do what you want with it. You can buy maps from the US government for the cost of getting the data to you. In the UK the government is well known for taxing us as many times as possible, and it is no different than with maps. We pay our taxes so the Ordnance Survey can do its job and then the OS turn round and demand a hefty sum for us to buy the map data from them again (like I haven’t already paid for it through my tax!)

Well, there are a keen group of individuals who are creating world maps under a Creative Commons license. This means that you essentially have open source map data. They call this Open Street Map and it is a work in progress. They need help to get it completed. Every so often they have a mapping party where a group of people go out with GPS devices and record streets. They then upload that data in to a database, make corrections, add annotations (like the street name and type) and then allow it to be downloaded by anyone.

Their first mapping party in Scotland will be held this month in Edinburgh. So, if you have a GPS and would like to help create a free open source map that everyone can use, please get yourself along.

If you want to find out how to go about mapping, there is this handy guide to get you started.

Tags:

SQL Server 2008 (July CTP): More installation woes

I’ve done it again. I’ve attempted to install SQL Server 2008 (this time the July 2007 CTP) and it hasn’t quite gone the way I expected.

This time there was no Management Studio. Why? Well, when I tried to go through the set up process again, I got a message that said “The following components you chose to install are already installed on the machine… Workstation components, Books Online and development tools 9.2.3042.00”. The first time round I just ignored it, but this time I paid more attention and clicked the button to give me details. It said:

Name: Microsoft SQL Server 2005 Tools Express Edition
Reason: Your upgrade is blocked. For more information about upgrade support, see the “Version and Edition Upgrades” and “Hardware and Software Requirements” topics in SQL Server 2008 Setup Help or SQL Server 2008 Books Online.

Okay – So, I already have SQL Server 2005 express edition installed, but there is still no management studio and no books online (that I can see). I espcially like the way it helpfully directs me to go to a topic in a help file it failed to install so I can resolve my problem.

Not to worry though… I discovered that the books online for the July CTP are available as a separate download too.

Also, I’m not entirely sure why it is talking about upgrades. I was planning to have it sit side-by-side, just like all the previous versions. But, it looks like I can’t do that. The BOL says “Presence of SQL Server 2005 Management Tools or BI Development Studio will block installation of SQL Server 2008 Management Tools and BI Development Studio.”

Oh, well… I guess intalling the July CTP in the same virtual machine as the Orcas Beta 2 isn’t going to work – I’m just going to have to install it in its own virtual PC now.

Tags:

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: