Thursday, November 26, 2015

Should your car be programmed to kill you?

Imagine this scenario; you are in your new driverless car and a situation arises (doesn't matter how) where the driver (the computer) has to decide between crashing into a group of young school children, probably killing several, or slamming the car into a wall and probably killing the passenger, i.e. you! Simple ethics would recommend taking a least harm approach, but that means maybe killing you. Would you buy a car programmed to kill you? Or would you prefer to buy one that would make the less ethical choice and always seek to protect the car's occupants. These ethical dilemmas are coming to the fore with the advent of autonomous systems. Several years ago the UK's Royal Academy of Engineers published a report on the ethics of emerging technologies and autonomous systems. More recently MIT Technology Review posted a piece titled Why Self-Driving Cars Must Be Programmed to KillMy colleague, Paul Ralph, also just gave a radio interview on this subject.

Monday, November 23, 2015

An experiment in digital citizenry

You may already conduct a lot of your life online, but few countries have totally embraced the concept of online citizenship. the small European country of Estonia has been conducting an interesting experiment making all their population "e-Residents". The Register has just published an interesting article on its reach and impact. This was brought to my attention by my colleague Mark Wilson.

Tuesday, November 17, 2015

Dr Gene Amdahl (November 16, 1922 – November 10, 2015)

Computer Pioneer, Mainframe Computer Architect & Entrepreneur

He is remembered for Amdahl’s law that basically states that the intrinsically serial part of any algorithm will limit the benefits from parallel processing. He was one of the architects of the IBM System/360 line of computers that dominated the mainframe industry and are still a force today. He was a champion of high-end uniprocessing.
Read his biography in the New York Times.
   I am grateful to Dr Amdahl for creating a company at which I was able to work as a computer architect for 6 years, 1976-82 and consult at for more. I did not have much to do with him directly – he was way above my level and he left to form a new company in 1979. But some anecdotes are in order.
   Dr Amdahl was revered by his Engineering Staff. He had a great knack of inventing rules of thumb to guide the designers. One was “one megabyte of I/O for every MIP of performance”. Another, I remember vaguely, was that “caches should be square” (as many lines as bits in a line.) These were not necessarily correct rules but it was better to make the decision and get down to design rather than dithering (even better, of course, to measure and model.) He also had sound advice on functional architecture for speed – when you see an instruction’s operation code, you should immediately know the operand address and where the next instruction is located.
   I noticed that Dr Amdahl was allowed to have opinions but he insisted that those with contrary opinions had to have facts. As the technology and markets changed, many of his assumptions had to be challenged. I was with the group that developed the high level characteristics of the 580. I remember us having to justify 2-way multiprocessing as being required because our main market was for capacity rather than solely for speed and one could no longer design uniprocessors that could compete. I remember once having to tell him that his favorite division algorithm as used in the 470V (involving finding the reciprocal using Newton’s formula and multiplication) was actually slower than the expected speed of straightforward non-restoring division. When our arguments were solid he just accepted them and moved-on.  He had to also accept microprogramming and memory chips for registers but I recall he embraced this and came up himself with a clever microcode scheme with two microstores, accessed simultaneously and each microinstruction including an address for the other memory – so each microinstruction could branch with no penalty.
   My closest encounter with Dr Amdahl was when he was trying to get the 580 design started. The 470V used 100-gate ECL chips with 80 I/O pins. Fujitsu was developing the next technology with 400 gates per chip but still with 80 I/O. The Amdahl Corp. engineers were adamant that they couldn’t design a faster computer and reduce the chip count because the I/O count was not adequate (this was because even with 100 gates they could not use them all in some cases and the famous “Rent’s Rule” requiring I/O to rise with chip density.)  Dr Amdahl was dis-satisfied and hatched a plan to jolt the engineers into creativity by engaging with the Architecture group over the design.
   So, Inder Singh (later to found the Ethernet switching company Excelan) and I found ourselves closeted with Dr Amdahl in his office. He presented us with copies of his handwritten logic for the 580 execution unit (a piece is below and I have put the whole thing on the web as it must be the last time when a major computer’s logic was specified in handwriting.) Our meeting was on a Friday and he left us with the task of coming up with a design by the following Monday!
   My wife and I were going to Carmel for that weekend but I decided that would make no difference to my chances of arriving at a design by Monday so we went anyway. The Monday meeting was delayed until Thursday (phew!) and by then Inder and I had come up with some evidence that the execution unit could be “bit sliced” with multiple levels of logic within the chip (this was not at all original as there were microprocessors taking the same approach.) Basically we said “yes sir, you are right, it can be done. He then took a team of engineers with him on a sales trip to Scandinavia where they had to stay in the hotels and work on the new design – as a result the 580 was code-named Oslo. I think that part of the problem was that Engineers preferred circuit diagrams to logic equations but Dr Amdahl was a logic whizz.
It is hard to gauge the impact of Dr Amdahl and his engineering team on the process of designing fast computers but, if it could be known, I am sure that it would be profound. The Amdahl approach of making the processor pipeline central to the design, demonstrating that pipeline interlocks could be controlled without loss of performance (itself derived form earlier IBM projects), and that fast computers could be microprogrammed,  gradually became known throughout the “valley” as design engineers moved on to new jobs.

Amdahl, the man and his company, were quite a phenomenon!
[Post written by Bob Doran]

Friday, November 13, 2015

Vote for 'Lovelace & Babbage' at LEGO Ideas

If you are a regular reader of this blog you'll know that I'm a big fan of Charles Babbage and Ada Lovelace. Consequently I'd be certain to want a set of these Lovelace & Babbage Lego bricks should they ever be made. They would be a  fanciful and historical collection of bricks that pay homage to the Victorian roots of the computer age. The set would let you build a lego steam punk analytical engine within which you could embed a Raspberry Pi or similar mini-computer board. You can find out more on the Lego Ideas website.

Tuesday, November 10, 2015

New Zealand's Great Walks added to Google Maps

If you've always wanted to walk one of New Zealand's classic walks now you can without even breaking a sweat. Google has added several classic NZ walks, such as the Milford Track, to Google street view within Google Maps. This was reported in the New Zealand Herald last week.

Tuesday, November 3, 2015

Is your English prefect?

Even those of us who write professionally for a living often make typos, such as letter transpositions (did you spot "prefect" in the title instead of "perfect", and sometimes our grammar is less than perfect. All of us can use a little help. I've always recommended that my students use spell and grammar checkers built into software like Microsoft Word. However, as we increasingly create documents in the cloud, in browser-based software, that option is not available - enter Grammarly. If you're a regular reader of this blog you know that I don't often promote products, but I'm impressed with this. Grammarly once installed as a browser extension sits in the background watching every word you type. It then underlines words that may be misspelled or easily confused with similar words, either by spelling or meaning. Hovering the cursor over the word brings up suggestions that you can accept or reject. Grammarly also has OS X and Windows apps and an MS Office plug-in (Win only). Highly recommended.