Freesteel » University
While we’re waiting for someone to ask the Question from Hell, Becka has appeared in today’s New York Times.
Evidently this is related to the conference in Hamburg she’s just been to. I can’t give you a link because conference alerts takes things down too quickly, and I can’t even check it up yet on archive.org. I’ll be able to find out maybe in 5 months time what it was without asking. This is an information black-hole.
A tip for any of you reporters who don’t see your job as sitting back and waiting for the PR industry to spoon-feed you with well-crafted press-releases, she’ll be at the ECVP 2008 in Utrecht showing off her haptic experiments.
Update: Stumbled upon this crude visualization of point-cloud data used to make a music video. For decades CADCAM engineers have been trying to convert this sort of data into usable surface models (eg at the meshing round table). This is one of those insoluble problems, because only when you make a concerted effort to solve it do you realize that what seems to be enough data is in fact insufficient, and everyone who hasn’t gone through that process just thinks it’s because you’re not smart enough.
Anyway, what’s makes this effort cool is they’ve released the point cloud data in downloadable format so people can play with it. Some results, using standard applications, are here. Maybe someone in the wider audience will prove smart enough, having been exposed to some real messy data. Working from clean data at the start seems always to spoil the intuitive understanding of the problem. That’s why I am thankful that my initial CADCAM experience was with the output of NCG Toolmaker, where everything was broken and none of the surfaces connected up, as you get from proper solid modellers these days.
It’s outrageous. A mere five months after his ordinary rendition from Zimbabwe to Equatorial Guinea, Simon Mann suffered an unfair trial that lasted three weeks and found him guilty of something for which he was caught red-handed and has continued to confess to, providing evidence that is consistent with many other facts on the ground.
Clearly, Simon Mann was trying to cause a public emergency threatening the life of the government nation, and in a civilized country like Britain, this would get officially declared so that those guys who were a threat to the nation could be held in captivity indefinitely without taking them to trial or even telling anyone exactly what they had done wrong.
Timelines of this plot have been printed in the press. But this single link gives you a timeline for what’s been happening in the UK Parliament about this important issue of a colleague and friend in need.
- 18 March 2004 - Henry Bellingham MP (Con) doubted the story because Mann wouldn’t have launched a coup against Equatorial Guinea starting from Zimbabwe, a short plane flight away.
- 20 May 2004 - Peter Bottomley MP (Con) raised questions about Simon Mann’s treatment.
- 1 July 2004 - Henry Bellingham MP (Con) this time had more details of Simon Mann’s perfectly innocent activities, when he “went to Zimbabwe approximately a month before he was arrested, held meetings with Zimbabwe Defence Industries and put in an order for various weapons, mainly hand guns. Zimbabwe Defence Industries led him to believe that he was allowed to purchase those weapons but he was arrested a month later.” How unfair!
- 9 December 2004 - Hugo Swire MP (Con) asked a question.
- Nothing in 2005
- 5 June 2006 - Ben Wallace MP asked a question.
- 14 December 2006 - James Arbuthnot MP (Con) asked a question.
- 4 June 2007 - Lord Maginnis of Drumglass (Crossbench) asked a question.
- 3 July 2007 - Geoffrey Clifton-Brown MP (Con) asked a question. (Clearly there’s some organization cycling through the Tory MPs, possibly alphabetically)
- 5 February 2008 - Julian Lewis MP (Con) decided that Simon Mann was his constituent and made a point of order.
- 7 February 2008 - Iain Duncan Smith MP (Con) asked a question.
- 7 February 2008 - Mark Pritchard MP (Con) asked a question.
- 7 February 2008 - James Clappison MP (Con) asked for time for a debate.
Then our man from the Campain for Nuclear Weapons, Julian Lewis, went berserk and had 9 questions answered on 18 February 2008. The issue at hand was the sudden transfer of Simon Mann from Zimbabwe to Equatorial Guinea when the appeals case against extradition had not been fully exhausted in the Zimbabwe courts.
Man, you’ve got problems if you’re fighting to stay within the jurisdiction of the Zimbabwean courts!
One of Lewis’s questions was:
Will the Secretary of State “make representations to the United States Administration requesting it to exert its influence on Equatorial Guinea to secure the safe return of Simon Mann.”
You see, the problem was, Simon Mann wasn’t going to get a fair trial in Equatorial Guinea of the kind that Mark Thatcher got in South Africa, where he was allowed to confess to something no one believed was possible (ie that he gave money away to a humanitarian cause and accidentally bought a tactical weapons system), pay some cash, and run home to mummy.
That’s the issue at stake.
Lewis isn’t concerned about those British citizens who were in Guantanamo Bay. There’s this strange concept that the bad guys are all powerful, and, for example, because al-Zarqawi was not arrested in Iraq 2004, the whole US bombing of Falluja was a response to the havoc this single guy was causing.
I mean, the amount of damage that can plausibly be caused by someone who is being evil must relate to the quantity of resources he has at his disposal. And Mann connects to a lot more resources than al-Zarqawi. Also, Mann’s removal from the field of battle was followed by no coup against the government of Equatorial Guinea. Meanwhile, after the 2006 photo of al-Zarqawi’s mutilated corpse was tastefully framed in gold by the US military, the war in Iraq quickly drew down, didn’t it?
Now, Simon Mann hasn’t yet been killed and had the photo of his corpse put up on display, but Julian Lewis was sure of the threat:
“My constituent, Mr. Simon Mann, has been illegally handed over by Zimbabwe to a dictator in Equatorial Guinea who has promised to sodomise him, skin him alive and drag him through the streets of the capital city. What steps can the Government take against Zimbabwe for the outrageous breach of my constituent’s human rights when he was handed over before his appeal procedures were completed.”
And it went on.
- 20 February 2008 - Earl Cathcart asked a question.
- 20 February 2008 - Ben Wallace MP (Con) asked a question.
- 21 February 2008 - Vince Cable MP (LibDem) asked a question. Notable as being the only MP who is not in the Conservative Party to give a damn.
- 21 February 2008 - Lord Maginnis of Drumglass (Crossbench) asked a question.
- 21 February 2008 - Lord Hylton (Crossbench) asked a question.
- 25-29 February 2008 - Julian Lewis got ten more questions answered, including ones about sanctions against EG and the horror of Mann’s shackling.
- 3 March 2008 - Earl Cathcart asks about his recent visit by the US ambassador to EG.
- 3 March 2008 - Keith Simpson MP (Con) asks three questions.
- 6 March 2008 - Henry Bellingham MP (Con) puts Mann’s case into the wider context of British citizens who are unlawfully imprisoned abroad. Regarding the wider context of illegal kidnapping and imprisonment, here’s all Bellingham’s statements about Guantanamo Bay, and here’s his comments about extra-ordinary rendition.
- 17 March-22 May 2008 - Julian Lewis MP (Con) asked 21 more mostly repeatitive questions.
- 24 June 2008 - Julian Lewis MP asks the most recent written question in Parliament.
What more to say?
Well, the fingerprints of a campaign are scattered all across the Official Record, if one cares to look for them. And each incident makes its mark and leaves a permanent blemish on the fool who took part in the process.
Now there’s nothing wrong with standing up for individual and unpopular causes like this one, just as there’s nothing wrong with donating a helicopter air-ambulance to an impoverished African country who may or may not benefit from the generosity.
Mistakes happen.
But form means something, and can be found in the evidence.
If Henry Bellingham’s and Julian Lewis’s concern for due process of the law extends to certain privileged individuals, and not to other more blatant cases which ought to demand their attention, then maybe their cries for human rights are not as helpful as they seem.
There are other cases, someone else can go into. Maybe starting with Natwest Three. Here’s the wikipedia article.
The tools and the techniques are now all here. Essentially it’s about getting a complete assessment of the wider context, and observing which cases are chosen from it for focused attention, and asking why.
It dries down to the single question when you hear of a politician going on about something:
What are they not going on about?
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…
Friday was a day at the psychology department. I battled with wxwidgets to get a full screen frame without any window decorations on Mac OS X, not with the desired outcome. The best I can get is a screen filling frame, but with a title bar and a ‘close window’ button at the top. Acceptable. Shame that it works as desired under windows. The other thing I looked at was using py2app to wrap up a python application that uses Python Imaging Library and wxwidgets to run on another mac. After some unsuccessful attempts I decided to upgrade python and site packages to newer versions. I upgraded python from version 2.3 to 2.4 and downloaded wxwidgets latest available version. The new site-packages installation meant I had to reinstall py2app. Success, with the latest versions py2app created mac a working application. A lot of these different packages come with their own installation tools. Ever heard of ez_install.py (say eazee(!))? Well, that is used for setuptools and py2app. Or python eggs? Don’t quite know what they are good for, but some got laid in my working directory.
And I had a chat with another scientist at the department about programming some experiments for her.
On Tuesday afternoon I went to the engineering department and together with Carl rejigged the python script he uses to control their machine. We now use two python threads, one controls all moves of the motors, updates the user interface edit boxes with the current position and speed data, and also controls buttons that are pressed or unpressed automatically when the machine is rotating. We have a separation of user interface and motor control so that the user interface is always responsive. The UI passes requests for movements through a queue to the motor thread.
In the past we could use just one thread because we always ever had to handle one request for the motors to move. The calls to the DLL for the controller card always return immediately, the controller maintains it’s own motion queue. But we had to implement sequences of movements of different speeds and pauses. The queueing system we have now in place in the python thread allows that now easiy.
I did some work in the engineering department of Liverpool University today. Some time ago Carl did a write up of something we had programmed to print undistorted images with one or more rotating print heads, assembled in a row. The inkjet print heads they use are meant for normal printing with paper moving rectangular to the print width. But in their machine the medium to print rotates underneath the print head, with one side of the head closer to the centre of rotation than the other. So, a rectangular bitmap would be distorted to a pie wedge. We wrote a little algorithm that transforms a bitmap into a new bitmap that, when printed on this setup, prints undistorted.
I had read it on the train last night and had a few comments and suggestions to make it clearer what this does.
Then looked into extending the controller of the machine that performs these rotations. In order to shine a light on the same area on the print medium for a specified time they want to be able to stop the rotation, then start it again, and so on. We use a python thread that monitors the machine position and when it has reached the target of the rotation joins the main thread that in turn can sleep for the specified time, then start the motion again.
I had hoped we could use some sort of callback mechanism in the DLL that controls the digital controller card: When a motor has reached it’s target position we get a user specifiable callback. We had found something in the documentation for the DLL and started coding. But we got stuck and had to call the support phone line for the card manufacturer. The friendly support person told us we were following a red herring: The documentation we had used was for a different card, using a different (probably real-time) operating system.
Last week I also spend a day there:
We had looked into rewriting the user interface of the motion controller: The old user interface got out of hand, partly because a master student had used unsuitable GUI code generators on it (python glade). We had decided to shelve this code and write a much simpler new interface. Now that this motion controller has been in use for more than a year we could also reduce the functionality to what was really needed.
Another half day last week was spent in the department of psychology. I am working on a framework to programme visual perception experiments using python, wxwidgets and python image library (PIL) on a mac os x system. More about that some other time.