Freesteel Blog » 2006 » November
This discussion in the Public Administration Select Committee on 24 November 2005:
Mr Collins: … There is no mechanism in the UK for transparency or accountability to Parliament on major IT schemes. I think the problem is that lessons are not always learned because lessons are not always published. For example, HMRC over the tax credit scheme had a report done by Deloittes, and the former chairman of HMRC, Sir Nick Montagu, has said there are plenty of lessons from that report. I asked HMRC yesterday for that report and they said it is confidential. That means that the lessons tend not to be learned…
For example, on the outline business case, the NHS published a 600-page document which was its outline business case for a £6 billion programme. That was confidential. Each copy was password protected. We campaigned against the confidentiality of that and published parts of it which we were given in confidence from sources that we obviously did not identify. Afterwards they published the whole document, all 600 pages of it, each marked “In Confidence” and when you look through it you cannot see any good reason why it should have been kept confidential in the first place.
Professor Dunleavy: … We are now spending 1.5% of our GDP on government IT schemes every year, which is more than the whole contribution of British agriculture to the GDP. This is a very salient issue…
Mr Liddell-Grainger: The Government set up a project called True North…. Does anybody know what it did? The Cabinet Office gave the okay to £83 million to set up a project called True North, which was to paper sleeve a deal with Government. It has gone somewhat wrong. The only reason we came across it was because the company sued the Government for £24 million, saying that they were plonkers and they did not know what they were doing… Do you think it is farcical that we have got to the stage where you cannot get papers, we cannot get papers? The Government are covering up projects that have gone wrong to the tune of £83 million —- and that has been a snip compared to some of the things they have messed up. Are we just getting to the stage where this whole thing is becoming a farce?
…It does not seem to work. You have portals everywhere; you have websites; you can go in one way, another way. How on earth we are going to have an ID card system that is going to work, if the Government itself at the highest level cannot even get a project right?
…Who should be in charge of this? Do you know what the total assets of the Cabinet Office’s computer resources are? £122 million. That is more than the asset value of all the buildings they have in Whitehall, believe it or not. We cannot find out what they are. Do you have any bright ideas? Why has the Cabinet Office got £122 million worth of computer assets? They wrote off £52 million last year in depreciation. Either there is an awful lot going on that you do not know about and I do not know about and we do not know about, or one heck of a mess has happened and we are not sure whether it has or has not. Can you shed any light? It worries me that we are going to get these ID cards at £30, £50, £100, whatever, and so far the evidence is not very good that it is actually going to work.
Mr Collins: I keep coming back to this information thing. I would rather not name the department, but my editor and I were called in to a particularly large department and asked not to write some of the things that we were writing because of a public confidence issue. Some of these departments are really struggling to cope, but the information that is given out to the public and Parliament is that things are generally okay… No one really owns up to the state of government IT and says, “These are the problems we have and this is how we are going to tackle them”. A CIO at HMRC gave a speech at a public conference earlier this year in which he talked about the problems that that department has — very serious IT-related problems. After we published the details from his speech, the Revenue issues a denial statement. I think there is a real issue with accountability and transparency.
…I think there is quite a pressure from suppliers. I have been to conferences at which suppliers are talking with civil servants with a view to possible projects. They talk about the benefits and they do sound quite compelling. I think it is very easy for departments, ministers, civil servants and suppliers to get caught up in the benefits of a project and not necessarily see how difficult it will be to implement them…
Mr Liddell-Grainger: Computer Centre, have you heard of that?
Mr Collins: Yes.
Mr Liddell-Grainger: It has been paid just under £40 million in three years from the Cabinet Office. I went through their accounts and got in touch with them and they would not admit they had even worked for the Cabinet Office. I presume Government has not just given them £40 million because they feel good about it. That is the worry, is it not, that we do not know what is going on, where this money is going in the first place and what it is being used for? When private companies are not prepared to admit to work for the Cabinet Office—
Mr Collins: I do think it is odd and people I have spoken to think it is odd, coming back to this NHS project — and I will mention it because the cost is between £6 billion and £30 billion, so it is comparable in size. The decision to go ahead with that was taken in February 2002 at a seminar attended by ministers and civil servants… and representatives of the industry. We put in an FOI Act request for details of that meeting at which this decision was taken in principle to go ahead with this very large project, and we were given absolutely nothing from it. It is an oddity, given that Congress will discuss very large commitments and investments in projects before they go ahead. It is odd that with IT projects that does not happen.
Kelvin Hopkins: We have the example of the railway industry which I sometimes touch on, where we have moved from a publicly owned system, with directly employed engineers doing a job, to a system of outside contracting services, and the costs of laying railway track have risen by four times in 10 years. Given that all these services are now provided by external contracting, by private sector companies, do they not have a vested interest in not getting it quite right first time and then coming back for a second bite and more government money?
Mr Collins: Again, it is hard to get information. There is usually quite prolific documentation in the early stages of the project about its benefits but they do not publish result implementations. There are some examples. The DWP is probably one of the biggest. They announced to Parliament that their modernisation/computerisation of benefits would cost, I think, £713 million and would save 20,000 jobs, but at the last count it was £2.6 billion and the number of staff involved had increased. There is a magistrates’ court system called Libra, which was announced as being a £140 million project. At the last count that was £390 million. But it is hard to get information on costs, because they revise contracts. The NHS is doing this at the moment and saying, “Our timetable and our costs are now out of date. We set them two years ago and we now need to ‘re-profile’ them”…
Kelvin Hopkins: Even if [the ID Card project] were to work first time, we are talking of £20 billion, £30 billion, whatever, but, given the history of disasters for these sort of schemes, and this is even bigger, is it not likely that the end result will be something that may or may not work but would cost a significant proportion of GDP to get it going at all?
Kelvin Hopkins: My final question is to reinforce the point you are making. The Oyster card is useful to the individual, to the citizen.
Professor Dunleavy: Absolutely.
Kelvin Hopkins: The ID card is useful to the state, not to the citizen.
Professor Dunleavy: Yes.
Kelvin Hopkins: I think there is a big difference. I have made my point.
I was going to do something useful this week, until I rashly tried some different examples on my scallop offset algorithm, and crashed it. I made an attempt to fix it quickly, and then spent two days further attempting to make the fix work until the whole thing collapsed completely with the entire function wrecked and infested with special cases that didn’t work.
I had to take the problem calculation out and to the front of the agorithm, and restructure it so that all the inconsistencies could be dealt with in advance.
The problem has to do with the way I calculate and model areas. A zprofile contour is an area, obviously, but so is a scallop toolpath — the toolpath is along the edge of the area, and with every stepover the area is shrunk.
Some implementations of these features use a tracking algorithm, where the cutter is tracked along the intended path which is at the boundary of some kind of volume.
A more robust method works out the area as it is embedded in some kind of a mesh, by considering perpendicular lines and finding the points where the lines enter and exit the area.
I’ve never found the right terminology for this type of algorithm, but it’s the basis of nearly everything I do.
I call the individual lines “fibres” and the mesh structure a “weave”. Suppose you print some kind of image on the weave; then when you unravel it the individual fibres simply have solid bits of colour that change at different points along their lengths.
To reverse the operation, all you have to do is write a function to calculate the positions of these bits of colour before you thread it all together.
This function can operate in parallel on multicore processors.
Unfortunately, there is one level of consistency which must hold, or the whole thing doesn’t work. It is that when two fibres cross they have to both have the same colour at the point of crossing.
If you are unlucky enough for your boundary to go exactly through such nodes, then the natural imprecision of the computer calculation of this point of change along the two different axes are likely to disagree. I’ve made an awful mess getting it dealt with properly.
As always, there is a quick fix that would have dealt with it in about five minutes rather than five days. The quick fix involves displacing all the fibres to the side by a distance such as 0.1274819302742mm, thus putting them in an In General Position, which means the likelihood of the boundary hitting one of these crossing points is reduced to less than one in a trillion.
Why didn’t I do it like that? I’ve done this type of quick fix before. Perhaps it’s the sense for this error, while I could take a good guess at its source, I couldn’t be sure that this accounted for it all. While this quick fix would have patched over this problem, it could have also been covering over some other problem I did not know about. As a result, I’d be getting slightly bad results in years to come and, since this algorithm is central to all that comes later, quite a lot of future code would have to make allowances for it.
I decided that since I was going to have to be responsible for thiscode for so many years to come, I’d better not take chances. Oh well. I had a cold anyway.
Thursday, November 23rd, 2006 at 12:01 pm - Machining
I have an interest in my profession, which is programming, remaining passionate in programming, which requires me to not be captured by a jealous corporate institution that would discourage me from sharing my thought-of-by-myself ideas with other like-minded programmers, who could run the risk of improving the lot of a rival company, and consequently of society in general. A well-run corporation is not interested in how anyone feels.
One of the the best educators in the profession of programming is Open Source Software, since it encourages users who have the aptitude to take a look at how it works, and possibly get involved. We don’t know where the next really hot Operating System coder will be born, but with Linux he or she can get into it at a high level and make themself known. We don’t have to wait for you to apply for a job at a particular company in Redmond and get through their Personnel Department, who would probably reject you on grounds of personality, before your talents became available to all of us. Microsoft would prefer you to remain a sheep-farmer rather than master the arts of Operating System design, if you don’t intend to become one of their employees.
So naturally, I’d like to see Open Source Software being used in schools, to make it accessible. It would also allow small guys like me to interact directly with the educational market while not being employed by one of these major companies who just don’t care if their software works, is good, or is educational.
But somehow, the enormous expansion of IT in schools in Britain in recent years is ignoring Open Source. I’ve documented the legal market-fixing mechanism that blocked out Open Source in spite of its acknowledged better value for money at Becta Framework Contracts.
And now you can see a talk by the chief of Becta, Andrew Pindar, at The future of e-Learning where he lays out his vision precisely:
There are tens of thousands of little, real little garage operations, producing software and bits of kit, and very very few, in fact no big firms, only about half a dozen mid-size firms, responding in the UK industry and generally around the world.
Now, part of that is in response to the very disparate buying power largely in the hands of individuals in schools who spend small amounts of money, who are almost hobbyists, in the way that they have enthusiasm and a passion about. Typically they would be people who have a real passion about Open Source — as if open source is any different to any other software — it’s just the pricing structure is different, that’s all. But they have a passion. It’s a religion, it’s a real belief, and again they have a belief about bits of technology that are going to change things. What they don’t do, however, is organize things properly.
Someone in his position who believes that Open Source is just a different pricing structure is technically known as a useful idiot. It cannot be just a different pricing structure, or Microsoft wouldn’t have perceived it as a threat to secretly spend a hundred million dollars attempting to break it by harrassment with ficticious legal claims.
So, while no one could dispute that Pindar’s opinion is completely wrong on this matter, this wrongness is useful to those corporate interests, to the extent that they will all support him and say his judgements are spot on, and that he is a genius. This is lying by proxy. The government listens to the views of business, while we are hung out to dry with this guy’s war on excellence.
How do we organize education to be much more effective, much more efficient, to use the investment that it’s got, to change the way it does things, to become more disciplined about the way it organizes itself, in some respects, to subsume the individual professionalism into the greater good of a larger institutional professionalism, to produce better organizations, rather than vying to be just individually better teachers…
Teachers like being stars, they like being in front of the classroom, they like relating to the kids, they have a passionate belief in it. But they are not necessarily are people who are going to organize everybody else around them to produce a production line with the outputs that everyone agrees on.
In a nutshell, if you are a brilliant teacher, he doesn’t want to hear from you because you don’t have the skills to run an efficient business institution, which is defined as one that makes lots of money for its directors.
That’s why he’s filled the board of directors with chums from the CBI. Make a sentence out of the following words: “Coop”, “Fox”, “Chickens”, “In charge of”. There is no such thing as a bad businessman, only one who gets caught.
A couple of days ago I thought of a natural way to generate constant-Z (waterline passes) within a rest area boundary, as it is generated in my code. So I turned off the internet until now so I could get it done.
As you can see, there isn’t much resampling in the corners, because I’m not doing any subdivision on the inner areas of the cutter location surface; this will require some planning to make it possible to rework these areas after they have been generated.
However, it looks like it could be robust and fast enough to make it possible to mess around with the positioning of the slices. That means, rather than having to step down in Z evenly, we can generate the contours for loads of tiny increments in Z, and choose the ones which are the best positioned (as we do for conventional Z-profiling). The stepping in Z will be closer together on the shallower slopes so that the toolpaths are evenly spaced apart.
The connectivity of a rest area region, as it runs up and down and along all the inner edges where the larger cutter couldn’t reach, is often very complex, which means that finding the right order for all the little paths is quite tricky.
This will be a job to do in Python, at least experimentally. Might be able to experiment with really radical spiral motions on walls where the contours form loops. We’ll see.
I’ve also not got the answer for the flat areas of the rest area region. Should there be a scallop path from the last Z-toolpath? It’s not easy to see how to do it. The scallop implementation requires generating a whole new contour per step. This Z-cut thing involves tracking a path within one model.
One interesting point about this strategy is that it uses every part of the system, from pencil milling, fillet surfaces, contact area detection, and scallop offsets. If this works well, then so does everything else. So it’s a benchmark for the whole.
Now time to see what’s come through my emails in the past two days. Uh-oh.
Wednesday, November 15th, 2006 at 4:17 pm - University
Python programmes can be for mulltiple platforms. If you can get away with not using platform specific packages in theory at least you should be able to run one python script on several different operating systems with the same look and feel.
I recently (last week Friday 10-11-2006) had the pleasure to put this to the test once again: I was asked to programme a psychology experiment where the person experimented on is exposed to a series of 3 letter sylabels on the screen, one of which is red. They have to press a corresponding key and time as well as the correctness of the answer is saved to a file for later statistical analysis. I programmed this in python and used Python Imaging Library and wxwidgets for the graphics and the user interfacey bits. All done on windows xp, and it works fine. Now, making a Mac version should be very easy: you should be able to take the code and run it on the Mac. Some hours later, compiling all sorts of stuff to be able to read and render font files on the Mac, work around the fact that a Mac keyboard has a different layout than a PC keyboard… In short, you still have to do platform specific programming; and the biggest annoyance is that there does not seem to be a very simple sound interface to just do a beep on the Mac. Do I really have to read and play back a wave file to just sound an acoustic warning? And, I have the suspicion that keyboard events are buffered differently on the Mac version of wx than the PC version. This is critical, because i have to filter out multiple key strokes, when the tested person goes maybe into ‘computer game’ mode and starts hammering one key…
Monday, November 13th, 2006 at 4:37 pm - Machining
All morning working out our train times in relation to our visit to Euromold. Travel by land, not by plane — not only does it emit less carbon, but the hassle of it encourages you to do it a lot less, which cuts down carbon even more.
Because I am going to Forum on Civic Information on the night of 28 November in London, we miss the first day of Euromold in Frankfurt. My locations will be:
|today||now||2006-11-29||06:10||15 days||England (incl London)|
|2006-12-06||16:23||Onwards||then||who knows||England (incl London)|
Total cost of travel: 254 quid. I’ve got a half-brother who’s hanging around in Prague for some reason I’m not entirely clear on. The overnight train back from Prague will be in a seat.
Martin is doing the same journey out, but then visits some relatives closer to Frankfurt and comes back two days earlier.
Baaaa! Brain’s in very bad thinking shape. Bug after bug after bug after bug in about 2 pages of code. This is a pencil fillet surface, used for protecting corners on high speed machining, and as the basis for rest machining, I think. Who knows, since no one else has ever told me about how they do rest machining, so the good old method I’ve used for 10 years has had to stand while no better ideas come along.
This is only for ball-nosed cutters, so it’s made up of pieces of cylinder. Now I got to extend it to flat bottom cutters, and then — horror — toroidal cutters. For them I’d need to find the root of a quartic polynomial. I have published some preparatory work on that score.
My quartic solver will go down into the groundsteel level of the code, so it should be released as public domain, along with my line-offset-ellipse 6th order polynomial solver. Eventually we’ll work out who’s interested enough to publish it, so we can show people how it is done. Or even better, they will take one look at it, decide it’s crap, and show us how it’s done.
There are already solvers on the net, like this one, but copyright some random person 1994 who hasn’t left any contact details in his code, so not a lot of good to beast nor man. I suppose we could always look and read it like a work of literature, but the purpose of code is to be used. If you write it and it doesn’t get used, what’s the point of that?
Sunday, November 5th, 2006 at 7:19 pm - Whipping
I read a letter to the editor by one Lord Hutton which really got on my tits. This was occuring due to the MP’s failure to vote for an inquiry into the Iraq war, which was enabled by their own bad judgement. That division is subject to a wiki edit war at the moment.
Dear Lord Hutton,
As a member of the general public to whom your recent letters to the Times are intended to persuade, I feel it is necessary to put down clearly why your report into the death of Dr Kelly is reasonably perceived as a whitewash.
The overwhelming critique or your report is its utter silence with regard to the underlying observations that the 45 minute figure, the uranium from Niger claim, and every single other allegation made by the Government about Iraq’s WMD which sought to explain the necessity of a full military invasion of that country was false.
This is the suspicious dead body, separate from that of the unfortunate David Kelly, which has never been accounted for.
Andrew Gilligan reported through the BBC that the falsification of the intelligence — which must have occurred somewhere between the facts on the ground and what was printed by the Government — occurred at the level of the Prime Minister’s office.
In your report you concluded that this was not so. Therefore, by implication, the falsification must have occurred at a lower level. However, we have seen no sign of a genuine investigation, process of accountability, or official apology to the UK or the Iraqi people who have been died in vast numbers for this “intelligence failure”.
This leads people to the conclusion that either the Government does not care when it is mislead by its servants in the intelligence community, or they authored the fallacies, have no interest in exposing them, and you sat down and whitewashed it.
Sunday, November 5th, 2006 at 6:49 pm - Machining
*** Update *** Update *** Update ***
I have been informed — politely — that this posting is wrong and ranty and has lots of facts wrong. There is good cycle parking, and use thereof, in some kind of locked garage I couldn’t see. Also, there is a map on the webpage that contains bus information, but you won’t find it if you think the multimap is the only version that’s available.
On the whole, this holier-than-thou tone is not good, and will probably get deleted once Martin finds out how.
Still, that’s blogging for you. What do you expect?
*** begins ***
I won’t be truly free until I cease to have any scruples about writing whatever I want about any visit, site, conversation, communication, or deal struck without looking over my shoulder. I am not free yet.
As we headed towards our destination from the nearest train station, Martin and I were stranded for a time on the grass verge of a dual carriageway. There was zero information about the route to the site on the company website for people not in a car. Once we reached the right road, we found that the building was on the ground backwards, facing towards the carpark at the back. I saw one bike locked to the perimeter fence, and certainly no sign of any racks for bikes close to the door, or inside.
When, during the meeting, the at-seat tea service rolled past and delivered its brown beverage in a white polystyrene cup, I thought darn, we’re really back in the 20th century here. The petrochemical supply is infinite, there is no shortage of holes in the ground in which to bury its products, and luxury is not having own china mug and electric kettle. Round here we work too hard and get too stuck in to what we are doing to brew loose tea which would require moving to another room.
We must embrace waste and duplication of effort, and act to encourage it in others whom we don’t like as an act of revenge. General technological stagnation is the way to make money. Do not recognize the flaws in the competitive corporate system enough to try and work round them. Out of the whole billion dollar CAM industry, it’s going to fall to me to write the wikipedia article which defines pencil milling, because if some salaried operative in any company were to do it, they might give away an important secret to competitors. It does not matter if people don’t generally understand the terms we are speaking about. All we’ll ever provide are vacuous colour commercial brochure product highlights, or nothing. Anything else might be useful, and we don’t want that if it’s avoidable.
This makes me cross enough to want to do the job myself now. If companies don’t want to provide the information, then someone else will, so everyone can get it, as well as all their frigging competitors, and any other freeloaders who happen to stop by — if these three categories aren’t all the same people.
This is my intention, but I’ve got to combine it with doing more terrorism documentation (two more terrorist investigations discovered   with newly invented crimes that exist in spite of a complete lack of incriminating material), work that needs doing on Tunnel, and further programming that’s got to happen for machining.
Martin and I intend to catch the train to Euromold this year where we will hang out at the mastercam stand and meet the other developers.
It’s hard enough to make friends that nothing should get in the way of talking. Always imagine how the world could be. Being isolated from everyone who is doing the same work as you is not in your interest. It’s lazy, wasteful, and extremely boring. Go sort this out. We should all be part journalists, not simply nose-to-keyboard code artists while the director goes and parties and gets described as: “He’s pretty pumped, because he now gets to fly around the world hobnobbing with automotive executives and dealing with the sexiest part of the business: body design.” This is not the future. In the future we will not be driving cars. We will be lucky to eat. Things will change for real.