Friday, 17 June 2011

Engineers vs scientists

When you say something like "water boils at 100C" you are stating a fact. But usually such statements are modified by 'modalities', for example you may say "I think water boils at 100C" which is an additional modality of uncertainty. Or you may say "everyone knows water boils at 100C" which is a modality of authority. Then we have "scientists say water boils at 100C" which is kind of like "the priests tell us this or that so it must be so.". The scientist with the white coat and test tube is the priest of today.

But many scientific facts are built upon modalities. For example no scientific fact is ever accepted these days without presenting a paper, and within that paper you must have citations. For example "Boiling point of water vs pressure, Jones 2001". Then further down the line "“Numerous studies (Jones 2001, Smith 2002, Jones 2003, Brown 2004) have shown that the boiling point of water is around 100C". Somewhere back down the line are modalities which are now taken as fact. Eventually we read “it has been established that water boils at 100C". It is now a fact. Unfortunately a lot of scientific "facts" are not so clear cut as the boiling point of water.

This of course applies to the global warming scam - each supposition and shakey "proof" is built upon the next, like a house of cards, citing people down the line who have taken ice samples or whatever and come to dubious conclusions. Dissenters are of course never cited. Yet, that there are dissenters at all casts doubt on the "facts".

But science is supposed to be a discipline of proof. Whereas I understood science to be a case of experiment, observation, proof - for example when adding A to B the resulting color is red. Now we have someone running a computer model, using factors supposed from all those modalities, and coming to concrete conclusions. These conclusions are far from fact and far from the rigors of proper scientific proof. A chain of well chosen citations is all that is needed.

How does this differ from engineering? The proof of engineering is "does it work". Supposition, citations, did not stop the Titanic from sinking. The jet engine, the computer, the robot work because they were designed and engineered, tested and proven to work and continue to work. Mistakes and oversights result in loss of performance or reliability are are put right. Any false suppositions are discarded in the process.

Oh and by the way there is no such thing as rocket science, or a computer science - they are designed and developed by engineers.

My point therefore is that the rigors of engineering far outweigh the burdens of proof in science or even in a court of law.

Finally what is engineering? It is design, development, building, testing a solution to a technical problem. A "motor engineer" does not do that. Someone who fixes cars is called a "mechanic" not an engineer. The same applies to other misuses of the title such as domestic engineer.

Sunday, 5 June 2011

Sony Pictures

From BBC: Lulz Security: "SonyPictures.com was owned by a very simple SQL injection, one of the most primitive and common vulnerabilities, as we should all know by now.

"From a single injection, we accessed EVERYTHING. Why do you put such faith in a company that allows itself to become open to these simple attacks?"

The real lesson is "don't use SQL". I have seen it time and again and I have seen how easy it is to get in. I even see regular attempts at injection on our own site, except that we don't use SQL so nothing happens.

Having said that, just because someone leaves a door open doesn't mean you have to go in and steal the family silver. This attack could cost Sony it's very existence. What good does that do for the millions of people who signed up? Lulz have published all their names, street addresses and emails on their website. For a bit of fun Lulz has angered or saddened a million innocent users.

Tuesday, 19 April 2011

daughters

It used to be dad taught son or daughter to ride a bike. Now I'm teaching my daughter sequential files and global variables. She hasn't fallen off much. Getting the hang of it.

Thursday, 31 March 2011

Mikhail Gorbachev's 80th birthday

ex-President of the USSR Mikhail Gorbachev celebrated his 80th birthday in London yesterday. We at ST have some love and respect for this man who changed the course of history.

Back in the late 80s/ early 90s Gorbachev knew that the Soviet economy was broken and one of his many initiatives was to restart entrepreneurism in the USSR. He also knew that after 70 years of communism the skills did not exist so he initiated contacts with Western companies to form joint ventures. We were one of those companies. At the time we were making special purpose robotic systems and had not got going with the bench top robot idea. We formed a joint venture company (which still exists), Association Robot in what was Sverdlovsk, now Ekaterinburg. An experienced engineer, Andrei Vavulenko came to Cambridge where we designed the R17 together. Production was then set up in Ekaterinburg but it was not successful due to the distance. Of course the R17 has had many improvements since then and the electronics and software (designed by us) have seen many advancements. But the basic R17 mechanicals are as Andrei designed them.

Our motto was: Technologia dlya progressia! (технологии для прогресса) - technology for progress.

Friday, 11 March 2011

Sir Clive Sinclair said last year: "The sad thing is that today's computers totally abuse their memory - totally wasteful, you have to wait for the damn things to boot up, just appalling designs. Absolute mess! So dreadful it's heartbreaking."

The laptop I am using has 2Gb and it's not enough. It spends half its time paging.

RoboForth is the result of over 20 years continuous development and it has reached 40k. I have had some people say if I spent all that time and only wrote 40k I can't be very good. But it's the nature of Forth - many times more compact than machine code. Admittedly there are no graphics and I am not including RobWin (270k) in the computer or the software in the DSP. There are no Windows calls, no DLLs just compact efficient code with not a byte or a machine instruction wasted. It's instantly ready for use and computation times are barely noticeable.

Saturday, 29 January 2011

Mathematics in robotics

We had a film crew in our Cambridge lab on Wednesday from the Institute of Mathematics. They wanted to film how mathematics is used in programming the robots and applications. I had the dubious pleasure of explaining on camera how I used trigonometry to solve the reverse kinematics but first I had to understand how on Earth I did it in the first place. I had to 'reverse engineer' my own code that I first wrote 25 years ago into mathematical functions and I honestly could not understand my own code for a while. It's said that any code you haven't looked at for more than 6 months might as well have been written by someone else and this was 25 years.

Which brings me to documentation. I read a blog recently in which a programmer argued that documenting your code was less important than explaining the reasons for doing it. Forth and RoboForth are largely self documenting in any case so it's tempting not to add notes. What is more important than documenting what you did is documenting *why* you did it.

The team interviewed myself and Geena (application engineer) and we look forward to seeing the final cut.

Sunday, 2 January 2011

iPhone alarm didn't work

News is in that iPhone 4 alarm didn't work on 1st and 2nd Jan. Amazing!
And they already had a problem when the clocks went forward in November. All around the world iPhone 4 alarms did not go off.
Digital clock/calendar software is so so easy. I did it 30 years ago. Incredibly simple! How on Earth can Apple get it wrong?
Because the software in these things is so immense and so geared to looking good that simple things like it actually working can be neglected. Even my own phone sometimes needs reminding that it is first and foremost a phone and a gadget second.
Testing is obviously something that didn't happen. Engineers are supposed to test. I remember when I programmed digital clock/calendar I took the trouble to set up possible special cases like daylight saving, new years, leap years. Wait for it let's see if the iPhone alarms work properly on Feb 29th 2012.