Friday, 9 September 2011

Doing it backwards

A few years ago when I worked for NatWest (now part of RBS), I was on a project team that was called 'Re-engineering' for about two years.

It was a very unusual sort of project for a Bank to have, as it was an R&D project that was making programming tools that could be used to analyse code, with the aim to re-engineer or reverse engineer it.

Lots of old code has been hacked over the years and is lacking in any serious documentation, causes all sort of problems when changes have to be made. Our tools would be able to help.

Another reason that this project came about was because of the approaching year 2000, and all the problems that were promised would happen when the date flipped from 1999 to 2000. So the media said, aircraft would fall from the sky, computer equipment wouldn't work, video recorders would spit the tapes out, and nuclear power stations would go into meltdown. The media hype was so good, that one of my friends asked me if his washing machine would still work in the year 2000. I did quiz him to see if he knew why the washing machine needed to know what time it was before doing the washing, and he couldn't think of any. So I told him it was safe to assume it would still work.

On the Re-engineering team there were some pretty smart people who had been working in the field of code and language analysis for many years. They had great knowledge of the structure of language, how to analyse code and producing a model onto which various forms of data manipulation could be applied. I was most lucky to work with them.

We had two types of manipulation that could be applied, static and dynamic analysis.

The static analysis was simply looking at the code itself and producing a model from it. You could then for example track how data was moved through the program, passed from field to field.

Dynamic analysis built on top of the static analysis as it added information from an actual run of the program. Then you could see the logical paths of execution in the program. This information added much more depth to the analysis.

They were very interesting tools. They were used in some Bank projects in the UK and in South Africa. Some of the tools were even sold to third party companies. I believe IBM got a pretty neat bit of code that run on the mainframe for next to nothing.

So what has this all to do with woodwork?

Well, about a year and half or so ago I was making some presentation Champagne boxes. Once these were complete, I made another using a different technique.  Now, a year and a half later I am making some more, but I can't remember that different technique I used. I still have the prototype in the workshop, and I have reverse engineered it and produced a set of diagrams, and the new batch has been started.

So there is the connection. No documentation

Tuesday, 6 September 2011

Note to self

Note to self: "Don't left heavy objects when you have a bad back."

Second note to self: "Should have written the previous note at the beginning of the year."