Showing posts with label computers. Show all posts
Showing posts with label computers. Show all posts

Saturday, December 24, 2016

Figures kept in hiding no longer

kw: book reviews, nonfiction, biographies, space program, computers, human computers, civil rights

If the USSR had not launched Sputnik I in 1957, would the civil rights movement in the USA have gone as far as it did in the following decade? This event and the assassination of Dr. Martin Luther King, Jr just over ten years later bookended a sea change in American race relations, and we'll return briefly to that below.

The period 1955-1965 marked a great scientific change also. Prior to the mid-1950's a "computer" wore a skirt and performed calculations on paper forms, though assisted by calculating machines with names like Monroe and Smith-Corona-Marchant. They followed in the proud tradition of "Pickering's Harem", the women who performed astronomical calculations for the Harvard astronomer beginning in the 1880's. At Langley Air Force Base, from the beginning of World War II, women computers did the calculations required to design aircraft that changed how the war was fought, and later, how air frames in general could be made more durable, faster, and more nimble. By 1965 most numerical calculations had been turned over to automatic calculating machines such as the IBM 7090. And the skirted computers? Some had retired or moved on, and many others were dispersed into various engineering groups around Langley.

The existence of these women—these hundreds of computers—is practically unknown. Even more, without the work of Margot Lee Shetterly, hardly anyone of this generation would know, or could know, that about fifty of them were black. An executive order by President Roosevelt opened the door to government employment of black Americans in 1943, and, because Langley AFB was hiring people by the hundreds and thousands for the war effort, many blacks obtained employment there, including black women who were working as underpaid teachers, tutors of mathematics, and in other fields. As Ms Shetterly tells it, in her book Hidden Figures, by the end of the War, it wasn't unusual for a group of white, male engineers to find that the computer assigned to work among them for a time, that small, quiet and unassuming black woman, was the smartest person in the room.

Just over a decade after the War ended, when John Glenn was preparing for his orbital flight in the Mercury "Friendship 7", he didn't wholly trust the mechanical computing equipment and asked for the figures to be checked by "the girl". That "girl" was Katherine G. Johnson, who wasn't just a whiz computer; she had written the definitive report on the calculations needed to plan both easterly- and westerly-launched orbital spacecraft. Once she had verified the calculations, Glenn was satisfied he would be safe enough aloft, and would likely survive the splashdown. She just says she was in the right place at the right time, that it might have been any of "the girls", but we know better.

The Hampton Roads area in which Langley AFB resides is a core population area of eastern Virginia, and Virginia was the core of segregationist attitudes in the Jim Crow south. Racial segregation was like the smell of garlic in a kitchen; it was a part of the atmosphere, and hardly any white person gave it a moment's notice. Any employer other than the US government would have ignored any effort by non-whites to obtain employment outside the few menial areas "allowed" to blacks. But times were changing and the Air Force was hiring. However, segregation still ruled to a great extent. Langley's computing pool was divided into East Computing, where all the women were white, and West Computing, where they were all black.

Hidden Figures chronicles the lives of several of the Langley West computers during the war years, and then the fortunate circumstances that kept many of them employed during the crucial years 1946-1957. At least, I suppose you could call the Cold War "fortunate" for those whose employment depended on military expansion. The arms race with the USSR was not only in the nuclear arena. Fighter and bomber aircraft were getting better and better on both sides of the Iron Curtain. And in America this was largely due to the ex-computers, now engineering assistants and engineers. Several of them became ace programmers, learning FORTRAN almost overnight.

The quantum jump in American attitudes toward science arrived in October, 1957, when the Russians orbited Sputnik I. America was caught flat-footed. And a racial sea change was in the works simultaneously. During and after World War II, as one after another former colony of former European empires established themselves as independent countries, they looked at the world around them and saw America as a stronghold of racial discrimination, particularly as compared with nearly everywhere else. Folks, that right there is at the root of the mostly anti-American stance of the United Nations. To many nations, composed of non-whites, the racial tension that remains in this country besmirches every good-will effort we make.

Simply put, in order to jump-start technical education in America, we simply had to get rid of official segregation. We couldn't afford to waste any brains, of any "color". Hidebound reactionaries like Senator Byrd couldn't see that, but most national leaders could. Dr. King, Ralph Abernathy, and other black leaders took advantage of both the rapidly rising groundswell of black longings, and the growing sympathy for their cause among primarily northern-based political leaders (and a growing minority of southern ones also). The Civil Rights Act of 1964 was the end of a long and terrible struggle, and marked the beginning of another, one that is still going on.

Margot Lee Shetterly was, like Katherine Johnson, in the right place at the right time. When the time was ready, it happened that her father knew a few of the retired black computers, and put her in touch with them. They led her to others. She interviewed and researched and chronicled a truly astonishing story of the real brains behind many of the triumphs of American aviation in the 1940's and 50's, and in the space program ever since. It is still true that you can sometimes find yourself in the presence of a quiet black woman who is the smartest person in the room.

As I write this on Christmas Eve, 2016, a movie based on the book is to be released to theaters tomorrow, on Christmas Day. I hope it does the book justice. Even more, I hope the book is nominated for a Pulitzer Prize.

Monday, August 17, 2015

Even more digital caution

kw: book reviews, nonfiction, sociology, computers, computer revolution

A Canadian Indian chief was talking with a visiting geologist, who was describing his work and the chances of mining in that area. At one point the chief said, "The first time white men came to Canada, they shot all the big game and hauled away the meat. The second time white men came to Canada, they trapped all the small game and hauled away the furs. The third time white men came to Canada, they cut down all the big trees and hauled them away to make lumber. The fourth time white men came to Canada, they cut down all the small trees and hauled them away to make paper. Now they are coming for the rocks!"

Observing the sweep of human history, I get a similar feeling, or perhaps it is the kind of building dread embodied in a Vaudeville routine that began, "Slowly I turned. Step by Step…"

  1. At various times mainly between 15,000 and 5,000 years ago, the Agricultural Revolution made possible a great increase in the human population and the size and density of settlements-towns-cities. In some ways life was better, but there also arose supervisors and nobles and kings, epidemics of cholera and TB, and harder and longer work for nearly all. Those few foraging cultures that remain seem to have an easier time of it, at the cost of not being able to accumulate more goods than they can carry on their person or drag with a travois (foragers don't build roads, so the wheel is no use to them).
  2. Beginning about 200 years ago in England, and spreading to about a third of humanity so far, the Industrial Revolution made possible a great increase in productivity of goods manufacture and travel and literature/literacy/education. There also arose sweatshops (still almost universal outside Europe and the USA) and all the associated ills detailed in Sinclair Lewis's "muckraking" books.
  3. Though Charles Babbage and Ada Lovelace and others made a false start at developing computing machinery in the "real steam" era that is adulated in "steampunk" fiction, true general-purpose computers truly began a bit more than 60 years ago with electronic computation, first using vacuum tubes, then transistors, then small-scale integrated circuits, and now "chips" about the size of postage stamps, that can do a few billion operations per second.
  4. The first Blackberry, the 850, appeared just 16 years ago; it was the precursor of the "smart phone", which really took off once touch screens became economical to produce. The level of computing power needed to run these devices also powers, on a larger scale, all the "big data" processes that have addicted so many of us to a pocket device that pretty much runs our lives, and informs advertisers and government staffers alike about everything happening to nearly everybody.
This environment of ubiquitous computing is what the word "digital" means in the title of Andrew V. Edwards's new book Digital is Destroying Everything: What the Tech Giants Won't Tell You about How Robots, Big Data, and Algorithms are Radically Remaking Your Future. That's not quite the longest title I've ever seen, but it is the longest this year.

Digital processes are not all that new. They date to the invention of counting numbers thousands of years ago. The world has always been divided into things you can count and stuff you can't count. You can't say "I'll have one water with lunch and two waters with dinner", except if you are talking about bottles of filtered water. But water itself is treated as a continuous substance. Apples or sheep, on the other hand, are unitary. It is quite legitimate to have one apple with lunch and two apples with dinner. Or even two "fruits" if you intend to have one apple and one pear. Though most "unitary" items are divisible, and cutting an apple in half to share with a friend is OK, half a table or half a chair or half an automobile is not so useful. So if we want to do the work involved, it is possible to count exactly how many automobiles (that run) are in the city of Houston, or how many oranges are on a particular tree in Florida. But water? or even apple juice? You can't "count" it unless you containerize it, and then you can count quarts or gallons or whatever.

That's a long way to say that the human race has actually become comfortable working with some stuff that is analog and thus can be measured but not counted, and other stuff that comes in natural packets and can thus be counted, and is digital. Though there are super-microscopes that can see atoms, we still don't worry much about how many atoms of helium are in a particular balloon, or how many molecules of water are in a particular drinking glass. On the human scale, atoms (from "a tomos" meaning "can't be divided") just don't matter. For many, many purposes, analog is king. Most of us only care about exactitude when getting change from the cashier or balancing our checkbook. Or counting that there are indeed 12 eggs in that carton of a dozen.

All that is changing. In the four points above, I didn't pay much attention the radical changes of occupation that accompanied each revolution. Midway through the Industrial Revolution, autos rapidly replaced carriages, and the proverbial "buggy whip makers" nearly all went out of business. Only one in ten thousand still remains, making the whips for funky carriages used for giving rides to tourists in historic Philadelphia or Williamsburg. My wife was once a Telex operator. That has long been superseded by at least three technologies in sequence, until they all fell to e-mail and now texting. CEO's text or e-mail almost everything except contracts that need signing, and even then, the signable PDF is taking over for paper contracts.

So what does Mr. Edwards wish us to beware? I could be cute and say, "All of it!", but that would do him poor justice. Digital with a capital D provides abundant conveniences. We just have to achieve some kind of balance, because convenience is not all there is to life. Before there was Digital there were already "couch potatoes", for whom convenience really was, if not everything in their life, at least it made up as much of it as they could manage. Before there was TV, there were already over-avid spectators, going back even before Roman times, when the Emperor's formula for a contented population was "bread and circuses". In between it was "beer and football (either kind)".

The book has 17 chapters that cover everything from the music industry (rapidly dying away), screen addiction (people who text the person sitting across the table at the eatery), the job market (or lack thereof), retail (Amazon and eBay and their Mafia-esque ways to grow into monopolies), and the tension between using the Twitterverse to overcome authoritarian rule and its use by the authorities to track us all in real time (I knew there was a reason I've eschewed getting a Twitter account!).

The saddest chapter has the title, "Obsessive Compulsive: Digital is Destroying Our Will to Create Anything Not Digital." Having spent 40 years writing software, because I was better with code than I was in the lab (I majored in Chemistry, Physics and Geology), I well know the allure of, "Computer programs can do anything!". But early on I recognized that they can't. So I've given equal effort to analog pursuits: music performance (voice and several instruments), art (mobiles, the kind with wires and hanging things), and essay writing (generally speaking, half an essay is of no more use than half a chain saw). I wonder what I did right? So many people I know have no hobbies that don't fit on a 4-inch screen.

Now, some things we're better off without. Music aficionados who have a really good ear can tell the great improvement CD's are over vinyl records. Of course, if they really, really like the third harmonic emphasis created by older equipment, they use the CD player to drive a vacuum tube amplifier. So there is still a very tiny market for manufacturers of vacuum tubes! But most of us are happier without them (though I still own a ham transmitter with driver and transmitter tubes). Digital controls in aircraft and autos have steadily reduced traffic and air fatalities. Digital libraries, though they are putting pressure on brick-and-mortar libraries (still my favorite places: FYI, I don't own an e-reader), afford instant access to an increasing fraction of all human knowledge, and the only way to index all of that.

I suspect if advertisers could not track us via the click rate on their banner ads, there would still be a larger market for paper "newspapers" and magazines. But those markets continue to shrink. Digital is also destroying education "as we know it", but I favor that to some extent. Different people learn different ways: I learned FORTRAN II better in two days using a "programmed instruction" book, than if I'd sat for 12 weeks in some "Comp Sci" classroom trying to learn it from an instructor (Oh, yeah, Comp Sci didn't exist in 1968; I was among those who invented it). The Khan Academy caters to people like me…usually! But for some subjects, I do better with a talented instructor. I needed a really good one to learn Differential Equations while getting an Engineering degree. Two attempts with less talented teachers led me to drop those classes, so the "third time" really was the charm. But if Digital takes over the classroom for many subjects, I, for one, will not cry the loss. Only the most talented teachers will remain as teachers. That is a good thing. The most talented today are moving toward massive online courses, which spread their expertise to a great many more students than could be taught just a decade or two ago.

For some things, we prefer less human interaction. I'm a typical "hunter" type when buying something. Once I know what I want, it is like, "go to forest (store), find prey (the shirt I've decided to buy), kill (buy) it, and go home." My best "shopping" trips last ten minutes. The last person I want to interact with is a store clerk. Of course, that's if I really know what I want. If I don't, and online research hasn't proven helpful, I really do want a knowledgeable store clerk's help. Then I shop differently: "Go to forest, find hunting mentor to lead me to where the best game is. Then kill the prey and take it home." I'm OK if such an event takes half an hour instead of ten minutes. But if the "mentor" is a dullard with little interest in being of genuine help, he/she'd better duck! Actually, no violence, I just find the supervisor, who's more likely to be a good "mentor".

The last couple of chapters get into "What do we do about it?", and I'll avoid stealing the author's thunder, except to say, the Hippies were right, that we ought to get out and smell the flowers more often. Do you ever take a walk and turn off your phone until you return home? Try it.

Monday, December 02, 2013

Random Thoughts on the Virtual Human

kw: musings, artificial intelligence, computers, supercomputers

In one of Isaac Asimov's early Robot stories, the president of U.S. Robotics keeps demanding a more and more perfect robot, until at great cost a robot is produced that cannot be distinguished from a human. At that point aliens arrive, and in the course of time visit U.S. Robotics, where they are shown the robot. One of them turns and says, "So what is the point?"

What, indeed? It was published earlier this year that the largest supercomputer complex currently in use has a storage capacity and parallel processing speed that exceeds that of the human brain. What is required to do this? The facility fills a room the size of a medium-size warehouse and uses a total of 7 million watts, both for processing and for cooling. Of course, we are told that Moore's Law ensures that all this will "soon" be scaled down to a much more manageable size and power requirement.

I wonder what "soon" means. A loose way to state Moore's Law is that circuit density doubles about every two years. The Watson supercomputer, which has considerably less capacity than the brain—but is really, really good at looking up trivia needed to score points in Jeopardy—fills a dozen racks and would barely fit in a large bedroom. The warehouse-sized machine mentioned above must occupy 20 to 50 times that volume. Let's say, 2,000 cubic m, or 2 billion cc. The brain's volume is less than 1,500 cc. The ratio is about 1.33 million. Dividing in half enough times, we find it'll take just over 40 years for the brain-sized supercomputer to be possible.

Is that really needed? Why do we want to replicate humans? It presently takes 15-20 years and anything from a few thousand to a quarter million $US to produce an adult human, depending on education level and the level of development of the country in which this person is born and raised. No, the real desire for producing "artificial intelligence", aside from the coolness factor (yawn), is to have a machine that can do jobs humans don't want to do, or cannot do, yet requires more intelligence than we find in waldo-sorta robots (actually teleoperated devices).

At present, even Watson and the larger supercomputers are horribly inefficient. What would it take to do brain things the brain way, using silicon chips and wires instead of neurons and their support systems? Signals along sensory and motor neurons in the body are rather quick, in the range from 20-100 m/s. But they have a larger diameter than brain neurons, so the latter are slower: 3-5 m/s. Thus, it takes a signal about 40-50 ms to go from one end of the brain to another, such as from the optic lobes to the prefrontal lobes. This may underlie the frequency of the Alpha wave, at around 10Hz (8-12). It is the highest frequency rhythm in which the brain can participate as a whole.

But if you use coaxial cables or optical fibers or other kinds of wire for signal transmission, what is needed to keep signal transmission below 50 ms? Signal speeds in wire or fiber are about 2/3 c, or 200,000,000 m/s. In 50 ms, a signal can traverse about 10 million m or 10,000 km. So a mechanical brain can be continent-sized, leaving plenty of room for the really massively parallel kind of computation that the real brain performs.

A neuron is not just some on/off switch. It does some nonlinear processing of its own, so it would take a small CPU to emulate its activity (We'll need to learn a lot more about the various ways neurons in the cortex, the hippocampus, the amygdala and so forth, react to incoming signals).

Well, the brain has 10 billion neurons and 100 billion supporting cells called glia (of several different kinds). We can consider the glia as infrastructure and focus on the neurons. The modern package of a CPU is the cell phone. A smart phone's volume is 80 cc. 10 billion of these comes to 800 billion cc, or about 40 of those warehouses mentioned above. If they are "rackified" outside their cases, and powered externally so they need no batteries, and the radio module replaced with a hard-wire fanout, the volume can be reduced by 10, but you do need to wire them together. Each neuron has from 1,000 to more than 10,000 connections to other neurons, so it'll require a lot of wire. Still, we are in the range of a warehouse with less than 10,000 cu. m, quite a lot smaller than the continent we could fill, and retain the speed we need.

A question might arise at this point: Why is this system so much larger than one which is already faster than a brain? It is because I chose a neuron analog with around 1/10th the volume of a cell phone. The big supercomputer does not use virtual neurons; it does processing by a method entirely different from neuronal activities. But if you want to emulate the brain's functions, you have to emulate the way it does them. That vaunted supercomputer is not nearly as effective as the average house cat at recognizing faces, or voices, or footstep rhythms.

OK, whether it needs a few thousand cubic meters, or ten times that much, it might be costly, but it is theoretically possible to build a system that does brain things in the brain's way. But such a mind would be insane from the outset. Our brain is part of a complex system that includes a body full of sensors and an endocrine system (the original brain) with at least a couple dozen signalling molecules, and a few ways of expressing itself to external beings. Unless a brain, natural or built, has lots and lots of input and stimulation, it "spins its wheels" into helpless catatonia. Of course, using wires or optical fibers allows fast reflexes across pretty large spaces, but you'd really want a body much more human sized, attached to a brain locked away somewhere, via a fast data link no more than a few dozen km in length. A world traveler this one could not be. Remember, motor and sensory neurons have transit speeds in the 30-100 m/s range, so a 2m axon is traversed in 10-40 ms, but the shorter ones (upper body) on the fastest reflex arcs can get a signal to or from the nearest ganglion in a couple of milliseconds.

That's enough for now. And I still await my own criterion for genuine artificial intelligence: A mechanism, unaided, does its own research and development and obtains a patent.

Saturday, February 02, 2013

De-taping

kw: computers, backups, photographs

I used to use Sony QW 5122 tapes for backup. I had quite a system going; 3 pairs of tapes, used quarterly, and a tape used for incremental backups if I did something significant. Each of these tapes holds 400 MBy, so two of them have a bit more capacity than a CD-ROM. Backup used to take an hour.

I stopped using tape in 2000, when a full backup went from taking about 600 MBy to several GBy. I went to fast  CD-ROMs at first, but by 2002 I was using DVDs. Now I have a 1TB external drive and do only data backups to it. They take up about 20 GBy and take 10 minutes. I don't do full backups, which would add another 50 GBy or more.

I needed to dispose of these. They are mounted to a thick metal plate, so even industrial-size shredders won't grind them up. Maybe a tree-eater… Anyway, at first I tried using an ax, with the cartridge on a block of wood. The result is seen to the right. I aimed the ax to split the full spindle. It did most of it, but you can see at top right some tape still on the spindle. It is about 50 feet, and I just spun it off by hand.

A different scheme was needed. I took the rest of the tape inside.

As it happens, the metal back is held by just two tiny screws. Out with the jeweler's screwdriver set! It takes a little prying to get the plastic top off, and this is the result.

The full spindle lifts out easily, but it contains 400 feet of tape. It might be fun to string it all about, doing an unwinding dance. But I wanted the tape unreadable, and I didn't want to burn it because it is Mylar®, and also I don't know how much cobalt is in the ferrite coating. So I hied myself to the kitchen.

It takes about 15-20 seconds, sawing away with a butcher knife (holding the central spindle with pliers) to get this result. Good enough. I "decommissioned" the 6 remaining tapes this way.

This may seem a little paranoid, about 14-year-old data. I've seen programs, though, about old disks and tapes being read off in "digital chop shops"—most are in India—to look for financial data and SSNs. So I remove the hard disk from any computer I discard (I have a box full in a closet). I've left orders for my executor to have them destroyed (not just discarded) upon my demise.

Monday, October 22, 2012

How super the computer?

kw: computers, supercomputers, speed records, trends

In June, the biennial "speed contest" to crown the world's fastest supercomputer gave the honors to "Sequoia", made by IBM for the U.S. Department of Energy. The benchmark? 16.32 petaflops, or over 16 quadrillion numerical calculations per second. See this article for details. I thought back over the history of supercomputers, and dug out enough data for this chart:

The first machine to be called a supercomputer, a CDC 6600 installed in 1964, had a speed of 1 megaflop (Mflop), or 1 million calculations per second.

On this logarithmic scale, it takes a moment to realize that maximum computing speed has risen meteorically. This year's benchmark is more than 16 billion times the speed of the 6600, 48 years ago. That is a doubling of speed about every 17 months, or a factor of more than 130 every ten years. At that rate, we can expect a machine to exceed 1 exaflop (1 quintillion or 1018) in less than 8.5 years.

How far can the trend go? Pretty soon it will have to depend on new materials, or perhaps on quantum computing. Silicon seems to be tapped out at 10 Mflops per core, with cycle times of 5-10 GHz and subtle interleaving schemes. These huge speeds are attained by running a million or more CPU cores in parallel. Calculations that do not parallelize wind up running in a single core, at a millionth the speed of the total array. Of course, you can run millions of such problems at one time, but you can't speed up any one of them.

Semiconductors of the III-V variety, GaAs for example, can run 1,000 times as fast as silicon, but are incredibly costly. There are only about 200 tons of gallium produced yearly, and it is getting harder to find already. We use 400,000 tons of silicon yearly of at least "solar panel" purity. A few thousand tons of that is further refined to "chip grade" for making computer chips and associated circuitry.

I am pessimistic about quantum computing. The promises made by proponents are as wild as those of the artificial intelligence crowd, who have so far been consistently wrong for sixty years.

So can we continue to make millions, or billions, or trillions of CPUs run in parallel? For perspective, Sequoia takes up 4,500 square feet and consumes 8 megawatts of electrical power, running 1.6 million CPU cores. It has roughly the computing capacity of three or four human brains, and perhaps 100 times the memory capacity. A brain runs on the caloric equivalent of 20 watts. The brain is not a quantum computer, but it is massively parallel: a neuron is roughly equivalent to the original IBM PC running at 4 MHz (but it took many cycles to make one calculation), and there are 10 billion of neurons packed into our little skulls!

My realistic expectation is that supercomputer benchmarks based on silicon technology will top out in the 1-10 exaflop range. But a lot of very bright people are trying all kinds of new materials and technologies all the time. There is a good chance of a surprise in a decade or two.

Monday, March 12, 2012

The hard and the really hard

kw: computers, software, programming, artificial intelligence

I noted earlier the report that a computer system now exists which exceeds the processing power and memory capacity of a human brain. It just needs about nine million watts of electricity to run. However, if things proceed into the future as they have in the past, in thirty years such capacity will be available in larger desktop personal computer systems, and in a further thirty years, in a pocket device, a successor to the smart phone.

There are good reasons to think that future progress may not follow the trend of the past half century or so. Moore's law may be running out of steam. There are several versions of the "law", actually a well-defined trend. The original trend identified by Gordon Moore in 1970 states that the number of devices on a CPU chip tends to double about every two years. In 1971 the 4004 CPU had 2,300 transistors on-chip. In 2011 a 10-core SPARC processor had about 2.6 billion. That is a factor of 1.13 million in 40 years, or just over 20 doublings. So that element of the law has been working just fine. I wonder, though, whether just another ten doublings (a factor of about 1,024) can be accommodated: 2.7 trillion transistors on one chip? On a watch-sized chip (4 sq cm), that is 150 square nanometers per transistor, or a feature size in the 10-12 nm range. That's where it gets hard to keep electrons going where they are supposed to, because of Heisenberg uncertainty.

Other elements? Performance does show signs of hitting a limit. Let's look at a fifteen-year span that is well studied. In 1994 the first Intel Pentium chip was introduced. At 75 MHz, its benchmark speed was 12.2 MFlops. Seven years later, the Pentium 4 ran at 1.7 GHz and benched 152 MFlops, 12.5x faster. From 2001-2009, CPU clock rate didn't quite double, to 3.07 GHz in turbo burst mode in a Core i7, but the benchmark (per core) increased to 667 MFlops, an increase of 4.34x, mainly due to better architecture. The benchmark doubling time in the first seven years was 1.9 years, while in the latter eight years, it was 3.8 years. In the 2006-2009 time frame, doubling time was more like seven years. But now the norm is four, six or eight cores on a large die, making single-thread codes less relevant. I don't expect single-core benchmark speeds to much exceed 1,000 MFlops for some years to come.

To me, all this means that getting the power of the brain into a watch-sized hunk of silicon or a successor material is going to take longer than we might predict, based on the past fifty years of computer hardware history.

There is a second hurdle in the way of getting useful work out of all that power: software development. Do we want a silicon brain to run the same way our lipid-based brain does? It seems a silly idea to me, but not to many proponents of artificial intelligence. Some people are saying that the Watson supercomputer, by winning two days of Jeopardy!, has passed the Turing test. Not really; nobody was trying to make it fool us into thinking it was human. It won a specific kind of trivia contest, as a machine, using machine methods rather than human ones. It was a successor to the Deep Blue chess match against Gary Kasparov. The computer didn't try to behave as a human would, nor was it in any way disguised. Neither system could navigate its way out of a crowded living room (were it mobile).

I don't have a definite figure, but IBM seems to have spent half a billion dollars developing the software code that makes Watson's hardware a Jeopardy! wizard. It will cost dozens of millions more to re-purpose the Watson hardware into a medical diagnostic machine, because of course, diagnostic medicine is not a trivia game, though it does require the marshaling of numerous loosely related facts.

Watson's software is on a par with an operating system. Even your telephone has an operating system. The popular Android OS for smart phones, according to a recent article, has 12 million lines of program code (plus 5 million lines of comments), in forty programming languages and scripts. Roughly speaking a "language" is converted into machine code before use, while a "script" is interpreted from a more human-readable version each time it is used. The compiler for a language is comparatively small: 150,000 lines of code in the case of the Perl compiler. The real heavyweights are full-scale OS's for computers: Linux has 200 million lines of code and Windows 7 is in the 100 million range (Vista had 50 million).

Here is where the kind of CPU you are using has some influence. Much of the code of an OS is in assembly code, and a "line" of assembly code does more on an Intel CPU than on one designed to run UNIX or Linux. So that 100 versus 200 million difference is smaller than it looks.

What does a line of code cost? It depends on the kind of code, but IBM long ago found that a "good" journeyman programmer could write and debug three lines of code daily. A small number of superprogrammers (I was one for thirty years) can do ten to 100 times as much code writing. In FORTRAN, I typically produced 50-100 lines per day. In assembly code, I produced half as much. During the last years I was an active programmer, I earned around $20 per hour, but my work cost my company $50 per hour with overhead, or $400 per day, so a line of my code cost in the $8 range. The larger teams of programmers needed for huge projects like Windows 7 typically include very few superprogrammers, so even with more efficient methods of code generation that are possible using "Visual" languages, a line of code costs $50-100.

Put the figures together. It cost close to a billion dollars to develop Android, and ten times that much to develop Windows 7. That's why Microsoft has to charge $100 to $400 for a copy of the OS, and hope to sell 100 million of them. The first 70-80 million copies just pay the development costs.

Now, consider the human brain. To duplicate all its functions might take billions to trillions of lines of code, if we go the software development route. 'Taint gonna be cheap! Of course, as with an OS, you only have to do it once. But the romantic notion that a lone programmer somewhere will develop a "soul in silicon" is just not in the cards. One of my colleagues was ten times as productive as I was: 500-1,000 lines of good FORTRAN daily (that's a lot of typing, each and every day). So a million lines of code would take him 1,000-2,000 work days. That's four to eight work years. Ten such programmers could produce Android in ten years or less. The actual Android crew, numbering much more than ten, took two years. I tip my hat to them.

Now that we're on the verge of software projects that might be of human-brain scale, can it be done? First, you have to know what you actually want. What would success look like? Right now, if we wanted to start programming "consciousness", we'd be in a position like these folks:

You lot start coding…
…I'll go find out what they want.



There are ten thousand or more studies of what consciousness is. They can't even agree on two or three basic rules to help them recognize consciousness when it appears. Philosophers have been arguing this for centuries (30-40 of them), without producing anything a computer programming team can use as a target. It is going to be an emergent property of some collection of parallel processes, not parallel as doing the same thing, but each set doing something different. But there is no agreement on what are the necessary processes and which ones are simply tools used by a conscious being.

There is not even agreement about whether a physico-chemical body is required. Our brain's operation is strongly affected by hormone levels, and it may be that "our" kind of consciousness (I am including all mammals and birds here) is intimately related to the body's responses to environment, via its chemical cues. I suspect our real "brain" is not just the 1.4 kg of gray+white matter inside our skulls, but includes the other 40+ kg of the body, or at least the 5-10 kg that comprise our nervous lashup plus our endocrine system. I suppose from the total brain's point of view, most of the body is a support system. But the endocrine system may turn out to be essential for any sort of consciousness that we can understand well enough to converse with.

Oh, there is so much to learn, and lots of eager folks trying hard to learn it. It is fun to watch, even though I am pretty much on the sidelines these days.

Sunday, January 29, 2012

Cybercriminal to the rescue?

kw: book reviews, nonfiction, memoirs, autobiographies, computers, cybercriminals

I used to live in a working-class neighborhood, and soon found out that my next door neighbor's children were all criminals. The parents were good and hard-working people, but their kids had all gone astray. One of their sons in particular was clearly a psychopath. He thought nothing of anyone's property, only of what might benefit him. He was also, you might say, the master of the short cut. This was evident in the way he got from place to place. If he was going to the street corner, once he left the door to the house, he went in an absolutely straight line, right across the front yards of about six homes. He was a very small-time criminal, really. Nothing so blatant as robbery, for example; his stock in trade was the sob story intended to elicit a "loan" that would never be repaid, and a little sneak thievery.

Many computer system hackers are primarily trespassers. They don't profit from their exploits, at least not in any monetary way. They do it for fun, or for bragging rights. Others are out for the cash, and modern "identity thieves" (to call fraud by another name) hone their computer skills purely for the money in it. As it happens, the most skilled hackers and crackers fall into the trespasser category; not being distracted by the money, they focus on developing their skills and building up their library of code used for compromising computer systems.

Kevin Mitnick is of this latter sort. In his most recent book, Ghost in the Wires: My Adventures as the World's Most Wanted Hacker, written with William L. Simon, Mitnick claims frequently that he never obtained money by hacking. He was in it for the thrill of going where he wasn't supposed to go. Breaking into a computer system is quite a bit safer than physically breaking into, say, an office building or bank or military base. However, he did do a little B+E when it was the only way to get information he needed.

This is a case of a man's hobby becoming quite an expensive proposition. Mitnick took low-paying jobs to get access to computer systems, which he would compromise in ways that helped him get access to other systems over the telephone network. All this was in the days before the wideband Internet connections that so many of us have. Early days, he was limited to phone modems that ran at 300 to 1200 bits per second, and later at speeds to 9,600 bps. Connections from computer to computer were sometimes trunk lines that ran at 1,560,000 bps (called T1), and access to such a level of communication was a precious resource.

He started out "phone phreaking", primarily social engineering (deceiving phone company employees), to get levels of access that would permit him to use long distance at no charge. Later he was able to get free cell phone service, at a time the typical charge was a dollar per minute. Now, right there it is clear that, while he may not have had cash pass through his hands, he defrauded the telephone companies out of thousands of dollars by cheating to get free services. So his "no money" claim is rather hollow. In fact, his heavy use of cell phones in the dollar-per-minute days almost got him caught when fellow employees wondered how he could afford to call so much on a $28,000 salary.

After entertaining the reader with a racy history of his growth as a phone phreaker, and his eventual ability to pretty much take over the operations of at least one telephone company, he turns to the efforts of law enforcement to stop him. He was first jailed at the age of seventeen, but avoided spending time at "Juvie". Instead he had a supervised release program, which ran a few years, under which he was supposed to avoid computer use. He just used other people's computers. From this point, he soon became a fugitive, living under several assumed names.

Part of the reason he did not get into deeper trouble when he was young was that there were few laws prohibiting what he was doing. Once the Federal and State legislatures took care of that little detail, the FBI got involved. He was on the run from the FBI for several years. Once he was finally caught (if I recall right, he was by then 31), he spent nearly five years in various lockups. Most of that time was occupied with various arraignments and legal maneuverings. Once he was finally offered a plea deal he was willing to take, he was sentenced to little more than time served.

It has been said of this book that it reads like a Raymond Chandler thriller. I reckon so; it was designed that way by the co-author. It is, at least, easy to read, a page-turner. It opens a window on an unusual mind. We find a person compelled to find a way around restrictions, a person without conscience; if he refrained from profiting monetarily, it was mainly because he lacks the gene for love of money. Money isn't the only thing a thief can steal. By committing theft of services, stealing source code files so he could better break into systems, and taunting system administrators, he stole peace of mind, he caused large sums to be spent tracking him down, and he cut into the income of a few large companies just as effectively as if he'd robbed the pay clerks at gunpoint.

So what is he doing these days? Still hacking, but with permission. He has become a security consultant! On the theory that "it takes a thief to catch a thief" (the theme of a briefly popular TV show some forty years ago), he is paid handsome sums to commit "white hat" hacking. If he is still one of the best—which boils down to, if he is keeping his skills up to date—then if a system is made "Mitnick proof", it is probably pretty secure.

The biggest lesson of the book is that the weakest link in computer security is the human element. People are too trusting. Mitnick's "career" was based on harvesting low-hanging fruit. A couple of phone calls would often garner him access to a supposedly bullet-proof system. There is still a lot of low-hanging fruit out there! You just gotta hope that none of it can be found at your bank or broker's office.

Periodically at work, some of us get strange e-mails, usually directing us to do something very slightly shady; these are "Phishing" e-mails. It has been publicized that there is a place we are supposed to forward suspicious e-mails. Those who do so are praised; those who follow the Phishing directions are reprimanded. It is one facet of a white-hat-hacking program my company has, to see how much low-hanging "social engineering" fruit there is. The answer is distressingly large. Even where paranoia is justified, not all are sufficiently paranoid. This keeps Mitnick, and security consultants in general, and in business.

Tuesday, January 24, 2012

Cyber construction

kw: observations, computers, computer security

I've been reading a book about computer hacking, the criminal kind. I find it remarkable just how easy it is. Most of the exploits we've read about have, as their underlying secret, a bit of social engineering. Someone got talked into revealing a password. In any operating system, there are a great many vulnerabilities, but it is typically easier to deceive someone to get access. Our human monitors need our support, because they are both the strongest and the weakest link.

There are problems in general with writing computer software. Computer code is remarkably fragile. A programmer (or programming team) has to think of literally everything that the program may be faced with, and write specific code to respond appropriately. A saying has been going around for years: "If we built houses the way we write computer programs, the first woodpecker that came along would destroy civilization."

I realized why this is so: the materials of construction do not have innate properties that help a program builder achieve his or her objective. If you build a house using stone or brick, the characteristics of the materials automatically assure a basically secure structure. You don't have to worry about (most) people blasting their way in through the wall, you just have to worry about making the doors and windows secure. Think of the three little pigs. The only weak point in the brick house was the chimney, and it was small enough to be defensible.

People have been learning how to build with stone, brick, wood and other materials for thousands of years. It was largely a matter of learning which material has what properties. Computer code has no intrinsic properties that can help you. We have been building software for only about seventy years (except for Ada Lovelace, who wrote software in the 1840s). We have no "stones", so we have to invent them. Software libraries provide building blocks that make programming easier, but there is still a problem. Most of those "building blocks" are still made of "jello". We haven't truly thought of everything yet.

This is because computer code is inherently bosonic, rather than fermionic. A digression into particle physics is needed:
  • Bosons obey Bose-Einstein physics and, in particular, can pass through one another; many can occupy the same space simultaneously.
  • Fermions obey Fermi-Dirac physics and, in particular, cannot pass through one another, but bounce off one another; two fermions cannot occupy the same location.
Light is made of bosons called photons. Matter is made of fermions such as protons, neutrons and electrons.

In cyberspace, everything is bosonic unless you specifically write fermionic properties for it. An environment such as Second Life has to be very carefully written, with a good "Physics package" to ensure that you don't walk through a wall. Otherwise, walking through walls is the norm. Buildings would not need doors. Our best security software is an attempt to produce a solid door. Sadly, even the best "firewall" software is a bit softer than the average piece of Balsa wood. If you can't prevent a break-in, you at least have to make the firewall "noisy" so it lets you know when it was broken through.

At my company, a double-layered firewall scheme is used, with plenty of very "noisy" alarms to log entry attempts (or entries), but the key to keeping our environment secure is a large contingent of people who spend all day, every day monitoring the noisemakers and snooping on the incoming traffic. Intrusions still occur, but it's a crack team; not much gets by them, and never for very long.

Thus, people are still the key to good security. Imagine if the front door to your house was made of rice paper (like the internal walls of Japanese houses). You'd need a hired team of bodyguards to keep strangers out. People are fermionic; things bounce off and stuff can't pass through unnoticed.

Until our software libraries include truly bullet-proof code, we'll continue to need human monitoring of everything. That's why you need to have strong passwords (ten or more characters, MiXed CasE and with numb3r5, at the very least), but you also need to monitor your accounts and keep good relations with the folks at the other end who are tasked to also monitor things. A skilled social engineer may get past a company monitor, but if those monitors know you are watching, they are less likely to give in to the blandishments of a fast-talking impersonator.

Jesus said, "When a strong man, fully armed, guards his own house, his possessions are safe, But when someone stronger attacks and overpowers him, he takes away the armor in which the man trusted and divides up his plunder." A hint: hackers are clever, but not strong. Guard your own stuff.

Thursday, January 05, 2012

Is twelve bytes enough?

kw: computers, hacking, passwords

Following up on an earlier post: There are two things a cybercriminal needs to obtain to begin cracking a bunch of passwords from their encrypted record (hashes). Firstly, the file of the hashes themselves, and secondly, knowledge of the hashing algorithm. DES is quite popular, but is by no means the only one in use. The best feature of a good hashing algorithm is that it does not reveal the length of the original password. Heaven help you if your online bank uses a weak hash or doesn't hash at all!

So, having somehow stolen a file of passwords, the cracker proceeds by trying character strings in some logical sequence, producing the hash, and seeing if it matches any of the hashes in the file. This matching step can be very fast, but I suspect it takes a while if you have a million hashes to check.

The record speed of a special-purpose cracking machine is just under 1011 tests per second, when attacking a single hash. Obviously, it is much more efficient to sort the file of hashes using the hash as a key, then use a binary search to check a generated hash. A million hashes can be checked with only ten lookups. Not knowing how long those ten lookups might take, though, I'll continue the analysis by considering a hacker who is determined to get me, and has only one hash to test each iteration, at that 1011/sec rate. What do I need to do to hold off the attack for at least a year? Simply put, since a year has 3.156x107 seconds, I need a password long enough and complex enough to be a member of a universe with at least 3.156x1018 members. To push that out by a factor of a thousand, you need 3.156x1021 members.

Let us assume the perpetrator uses a logical series of steps, based on human nature. Shorter passwords are still most common; lower-case letters only and UPPER-case letters only are very common; adding a numeric digit, or a few, is getting more popular; MiXeD-case is somewhat rarer; mixed case plus digits is very rare, and the addition of special characters is done only if someone forces you to do it, or you are very, very paranoid. Someone having a super-cracker machine won't bother with a dictionary hack, but will just use all combinations.

Here is what it takes, for now, and for ten years from now when a cracking box might be 1,000 times as fast:
  • UPPER- or lower-case only. N = 26L. For L = 13, N = 2.48x1018, not quite enough, so go with 14 letters, where N = 6.45x1019, for now. For later, you need 16 letters
  • Either case plus some digits. N = 36L. For L = 12, N = 4.74x1018, OK for now. For later, L = 14.
  • MixEd-cASe letters. N = 52L. For L = 11, N = 7.52x1018, good for now. For later, L = 13.
  • Now add digits. N = 62L. You still need L=11 for now, because 6210 = 8.39x1017. For later, 12 is enough.
  • Finally, if the full ASCII set is allowed, N = 95L. For L = 10, N = 5.99x1019, more than good enough for now. For later, 11 characters is sufficient.
Of course, as one progresses down this list, it gets harder to remember the password unless you are quite clever creating it. If fourteenletter or FOURTEENLETTER is as hard to crack as M#nE3pa$5w, though, which one is the better choice? And for the future, dEEPsnowINspring, at 16 letters of mixed case, is from a universe of 2.86x1027; probably good for the rest of your life.

Thursday, December 22, 2011

Strength in length

kw: computers, hacking, passwords

The time will come when, if you want to have a secure password, it will have to be something like

Now i$ the t1m3 4 all g00d men 2 c0m3 2D aid of th31r Cntry

or, if spaces remain disallowed,

Nowi$thet1m34allg00dmen2c0m32Daidofth31rCntry

Now that larger numbers of cyber criminals have turned from stealing data to stealing money from online banking systems, protecting online accounts is even more necessary. The most frequent attacks recently have been aimed at an institution's customer records. If your bank is any good, your password is not stored with your account, but a "hash", or encrypted version of the password. When you log in, your password is encrypted to a hash and compared with the hash on file. If a criminal obtains those online records, the password is difficult to extract from the hash…difficult but not impossible.

Suppose that, like many, your password is only six characters, all lower case, perhaps with a numeric digit or two included; a password like my1dog. Someone wishing to crack your record will start with letters-only, then letters plus one digit, and so forth. A six-letter lower-case password will be one of 266 possible strings, from aaaaaa to zzzzzz, a total of about 309 million possibilities. Let one letter be a digit, and the total becomes 428 million. Those sound like a lot. But the criminals in this billion-dollar industry aren't afraid to spend money on hardware, and a recent exploit by the system Deep Crack was able to test nearly 100 billion possibilities per second. Your password would be extracted within 0.004 seconds!

Of course, for some time, it has been required at most banking sites to use at least eight characters, and it is "suggested" that both lower case and upper case and digits be mixed. The possibilities then get more numerous, because 26+26+10 = 62, and 628 = 218 trillion. That's more like it! Let's see, 218 trillion divided by 100 billion = 2,180 seconds, or about 36 minutes. If someone wants those passwords bad enough, and has the equipment, the hard part is getting the banking records in the first place. That done, passwords can be extracted at the rate of forty per day of CPU time. That is still not very comforting. Eight is not enough.

In length is strength. For the current time, it is better to use nine or ten characters, and keep things mixed up. Each added character multiplies cracking time by 62: 9 char means 37 hours and 10 char means 97 days. That is more like it. However, each decade that passes, ultimate computer speeds increase by a factor of 1,000. In about 2020, cracking a 10 character alphanumeric password will be achievable in about 2½ hours.

If you want a password to last a while, the time is now to go to at least 12-character passwords, which are nearly 4,000 times as hard to crack as 10-character ones. If your banking site allows certain punctuation marks also (such as $ # % @ * ), that just makes things even harder for the criminal.

Now, however are you going to remember such passwords? I find it hard to remember 5Zep38xN, which was suggested to me by an institution not long ago. Of course, I didn't use that, but created a longer one, based on an algorithm. I have a different algorithm now, so I can discuss the older one in relative safety. It worked like this:
  • Choose a 12-letter word such as homozygosity.
  • Break it into two or three parts (I usually used 2, but let's use 3 here): homo zygo sity .
  • Mix the three in sequence: hzsoyimgtooy .
  • Replace certain letters with numbers or punctuation: hz$oy1mgt00y (notice I didn't change one of the o's to a zero).
Now you have the problem of remembering it! hz$oy1mgt00y is not memory friendly. You simply have to keep a list. I keep my list in two parts: Part 1 contains such passwords and their generating words, and Part 2 has the account identity and just the generator word. I carry Part 2 and keep Part 1 hidden away. For further security, I have user names, wherever possible, that are as obscure as the passwords. I keep the decoding information on Part 1 and "reminders" on Part 2. With practice, if I can't remember the password from the hints on Part 2, I can regenerate it on the fly.

Passwords such as the one created here (Don't use it! Use a different starter word) will require a cracking computer to go through nearly 4x1021 combinations, which will require more than 1,000 years. In another ten years, it'll still take a year or more, so somebody will really have to want it bad to attempt it. And by then, who knows, maybe the web site will look at me through my web cam, listen to my voice, and "recognize" me. I'll address the problem of duress later…

Sunday, October 02, 2011

Amusingly persistent TomTom

kw: observations, travel, computers

We spent the afternoon and early evening with our son in Edison, NJ. He is in graduate school at nearby Rutgers. On the way home, I was showing my wife how to use the GPS, a TomTom unit that I really like. Getting there she had learned to program in the address we were going to, and learn to cope with the sometimes frequent admonishments and directions. In particular, today the traffic conditions kept changing, and it offered several times to change the route to compensate, but we know that traffic delays appear and vanish in the Princeton area frequently, so we kept telling it "No" (It is one of the ones that takes voice commands).

The programming for the return trip was totally easy: the first screen had the options of "Home" and "Another Destination", so we said, "Home" and we were off. Or so we thought. After trundling along checking about 80,000 road choices it announced that the quickest way had tolls. There are three ways to get between Edison and Highway 95 near Ridley Park, PA. One is via the NJ Turnpike, and seems to be the way the GPS favors, so when it asked if tolls were OK I said, "No".

Getting down US Hwy 1 toward Trenton was no problem. As expected, the unit was directing us toward Philadelphia on I-95. We ignored that ramp and took the next one, toward I-295, which we always take to US 130 and 322 to cross the Barry Bridge at Chichester, PA. At the time that we were approaching the I-95 ramp, the expected arrival at home was 8:54 PM. Once we were well on I-295, and the unit had recalculated, this changed to 9:02. This seemed about right, but then I saw it was trying to take us off the next exit and make a U-turn. When we passed that exit, it recalculated, and set up a U-turn at the next exit.

It did so for every exit between milepost 65 on I-295 until we got to US 130, where we were sure it would "let" us go the way we were planning, to 322 and across the bridge. But it persisted. I finally realized that the Barry Bridge has a $5 toll, and I had told it "No tolls". It was still trying to get us back to the Trenton bridge, the only one without a toll! By this time it was estimating our arrival home as after 10:30 PM!! Once we were approaching the toll booths and there were no other choices, the GPS finally displayed a path across the bridge and reset its time of arrival as 8:59 PM. We actually drove into our driveway right at 9:00.

One consequence of all this nagging by the GPS, in its neutral female voice (though I began to imagine growing desperation), was that I needed no caffeine to keep me awake on the 2-hour drive.I usually get a large soda, a cola with caffeine, about ten miles into the trip out of Edison, but this time I neglected it, and didn't need it. My wife and I were discussing how persistent the unit was. A naggy GPS may be a wakefulness promoter, but I don't think I'll do this the same way again. Now that I know why, I'd just find it absurdly irritating.

Wednesday, August 17, 2011

Half a million and counting

kw: computers, software

Just a quick note on something that has been taking up my time. I've been wanting to analyze asteroid distributions for some time, and I recently began using Office 2010. Excel 2010 is not limited to 65,535 rows the way Excel 2003 is; its default limit is 1,048,575, and there is a way to make that larger.

Last evening I downloaded the Asteroid Orbital Elements database from Lowell Observatory. It took about an hour, being a 143-Megabyte text file. It includes about thirty parameters for more than half a million minor planets. Just opening it in Excel 2010 and getting the columns set up correctly took a while.

I extracted the columns I care about to another workbook, which then had some 34 Mby. I found that my computer is pretty fast, doing trigonometric calculations on the entire set in about three seconds. I don't know what that is in MFlops, but I was impressed.

I have more selecting to do. I'm separating out two data sets, the major part of the Main Belt and the trans-Neptune objects. Then I'll be able to do the statistical work I've been waiting on. The more I use Office 2010 the better I like it.

Wednesday, January 26, 2011

Doubling up for old eyes

kw: computers, home, photographs

For someone who is often called a power user, I can be remarkably behind the times. With my son's help I built a new computer this past summer, to replace an 8-year-old Dell machine. But I kept my monitor, a 19-inch 1280x1024 LCD.

It took a gift from my son to boost me into dual-monitor land. He decided to get a big monitor for gaming, a 28-inch 1920x1200 beast. He handed down his "small" monitor to me, not so small at 23 inches and 1680x1050, not quite HD.

Nearly all modern video adapters come with multiple plugs; the NVidia card in my new machine has three, a VGA (the "old" standard blue plug), a DVI, and a HDMI. Its documentation says any two can be used simultaneously, so we plugged the bigger monitor into the DVI port and kept the older monitor on the VGA one. Everything came up just fine. I imagine lots of people have done this already, years past even, but I am as tickled as if I'd invented it.

Both monitors have 86dpi resolution, compared to the setup where I work, with smaller dual monitors at 100dpi. This makes my home setup much easier on the eyes. All the text is 16% larger, so 12pt type looks like 14pt at home. This photo washes out the screens: I have a Word document open on the left, and a browser on the right, making it easier to do research while writing. No window switching required, just glance back and forth. I must report, however, that this does not double the rate at which I get ideas.

Wednesday, July 21, 2010

Bad excuse

kw: computers

I really oughta blog daily. I took on a time-consuming pastime: breaking in a new computer, beginning with this post on the 14th. I am a finicky sort, so I spent lots of time getting the right pictures for my wallpaper (Windows 7 "Personalize" lets you have multiple desktop pictures), and even more pictures for my "personal photos" screensaver. There went yesterday.

I did one post a few days ago using Internet Explorer 8, but I don't like some of the things it does in Compose mode, so I have just downloaded Google Chrome, and I am trying that out. I am used to Mozilla Firefox, and will probably install that also.

Meantime, I like Windows 7. My son had Windows Vista on one of his computers until recently, when he upgraded to Windows 7. I have a laptop running Windows XP, which I will probably soon have to upgrade to Windows 7. That is a bigger task, because going from XP to 7 requires reformatting the hard drive, so I have to prepare to reload the full backup. Even if it didn't need reloading, I'd do a full backup before changing operating systems.

I have also installed MS Office 2010, and am getting used to using that. I had Office 2002 on the old machine, and Office 2003 at work. I like them so far, but have just barely got my toes wet.

The dust is dying down, so maybe I can get back to a regular posting schedule now. Stay tuned.

Wednesday, July 14, 2010

The computer is dead, long live the computer

kw: pastimes, computers

Here's where the time went:
  • Saturday afternoon: boxes arrived, built computer, with much help from son (MB MSI P55-GD80, Intel I5-750 CPU). Got it to start booting, but CPU would not complete initialization sequence.
  • Sunday afternoon: played around, finally gave up.
  • Monday midday: took to a technician.
  • Tuesday afternoon: picked it up, paid technician. I'd found the exact one way to mis-locate a jumper and get a partial bootup.
  • Tuesday evening: fail to load operating system for a few hours, until I took out the DVD to check it. It was upside down! Load operating system (Win 7 64 bit).
  • Wednesday evening: remove old computer from workstation; move new computer to workstation. Obtain antivirus software and get it set up. Load printer/scanner drivers and conrol utility for scanning. Start getting familiar with Win 7 (old computer ran XP).
  • Now it is almost 10 PM. Will crash for the night. Must arise early tomorrow, as usual.
I think I've learned my lesson. This is the second build for my son and I, and both times we've needed the technician's help. Building systems is for those more skilled in "lab" work than I. You'd have thought I learned that in grad school, where as a chem major I blew myself up regularly. At the moment I have a shiny new computer, all up to date. The prior one lasted eight years. Whenever this one gives up the ghost, I'll just buy something at one of the box stores, or take advantage of a Dell customization deal (or the ~2020 equivalent).

Monday, June 07, 2010

When keyboard was king

kw: computers, history

My first desktop computer at work (1982) and my first home desktop computer (1984), both by TI, did not have mouse or hard disk. Once the operating system (MS-DOS) was loaded from a 360 Kbyte floppy, I'd use a runtime disk for WordPerfect or Lotus 1-2-3 in drive A, and a data disk in drive B.

It wasn't until I got my second computer in 1987 that I got both mouse and HDD, and I could run MS Windows 3. However, the mouse was a "new thing", and the menu-oriented software it could take advantage of was still rare. I used keyboard-oriented WordPerfect 4 and switched to Quattro Pro in place of Lotus 1-2-3.

Yesterday, cleaning out old stuff, I came across the Function Key templates for these two programs (click on the image for a really close look). I was really good with function keys for both these programs. It stood me in good stead at work, where WordPerfect was guidelined until 1995, and QP was an acceptable substitute for 1-2-3. Only when I transferred to corporate research in 1995 did I get in an environment in which MS Office products were guidelined, and nobody wanted me to send them files in WP or QP (or even 123) formats. I switched.

I've been fully into using Word and Excel (and PowerPoint) ever since. I still use as many keyboard shortcuts as I can remember, learned mainly from the help screens. But I've become such a heavy mouse user that I had to have an operation for deQuervain's tendinitis a couple years ago. I also switched the mouse to the left hand. Considering that I use the 10-key pad for most numbers, this balances the work between my two hands.

Just as I have fond memories of the Elephants I couldn't see over, I fondly remember the floppy-and-keyboard days, which I'm careful not to equate with walking to school "uphill both ways".

Wednesday, June 02, 2010

The end of Moore's Law?

kw: observations, computers, analysis

This chart (click to see detail), from the Wikipedia article Moore's Law, shows the total transister count for CPU chips for nearly forty years. As Gordon Moore originally stated it, the density of transisters per square inch was doubling each year. For at least the last thirty years, the doubling time has actually been closer to 18 months. The total transistor count is a bit different, because total chip sizes have increased also, but it is easier to determine (not all transistors are the same size due to power flow requirements).

The "feature size" of chips circa mid-2010 is 45nm, or about 200 silicon atoms across. Integrated circuit engineers keep finding ways to make transistors work as the feature size decreases. If we suppose that the minimum feature size is two atoms, there is a factor of 100 yet to go, or about seven doublings. That means that Moore's Law will reach a limit in ten years.

Smaller transistors switch faster, so chip speeds have increased also. The relentless push of technology has increased the speed and capacity of disks, motherboards, and all components. The "personal power law" I have experienced centers on two measures, CPU clock speed and hard disk capacity. I've had a variety of "boxes" since 1985 when I first got a TI Pro "PC compatible" with a 4Mhz processor and no hard disk (nor mouse; there was no MS Windows yet). Since then, the progression has been:
  • 1987 - PC/AT - 10 Mhz - 40 Mby HDD
  • 1991 - Pentium - 75 Mhz - 500 Mby HDD (2d disk 1995 - 2.5 Gby)
  • 1998 - Pent III - 800 Mhz - 30 Gby HDD
  • 2000 - Pent IV - 1.3 Ghz - 40 Gby HDD
  • 2008 - Core 2 - 2.7 Ghz - 160 Gby HDD
Note how CPU speed increases have become less aggressive. Now, even though 4-, 6- and 8-core processors are available, the top speed of a single core is 3.5 Ghz, and this hasn't changed for three or four years. However, hard disks are continuing to grow in capacity. Current "standard" is 1-2 Tby, which costs less than $100. There is more room for disk capacity to continue to grow than there is for CPU speeds to increase. Suppose 100 atoms will do, for a persistent "on" or "off" bit. A 15-cm disk could hold 200 Tby, and multi-platter stacks are common. The Pby (petabyte) personal disk drive is probably no more than twelve years away. At that point, the exponential law for disk capacity will also be about played out.

Personally, I once thought I'd never use a full Gby. Now I have 10 Gby of pictures! (and a similar size stash of music files) But what will we do about a decade from now when the limits I've noted are reached? I suspect technology has some surprises in store for us. The Moore's Law that I can see may be coming to an end, but I'm probably not much of a prophet.

Friday, May 28, 2010

If only AI could

kw: computers, artificial intelligence

In a comment on my post AI apostles never give up, Mark Archer responds to the economic point I made, "Forgive me but that seems like a horrible argument for why Self-Aware machines will never proliferate." He goes on to say that things would be much simpler if an actual proof could be offered. I agree on both points.

My economic argument was a riff on an old story by Asimov, in which the U.S. Robotics people are tasked to develop ever-more-humanlike robots. Just when they produce one that seems perfect, the aliens come. An alien ambassador is shown the prototype, and he responds, "What is the point?" So let us pose my economic point as a question: Will manufacturing a machine that can reproduce human-level cognitive functions ever become less costly than raising and educating a child? An additional value argument runs thus: If the machine intelligence can be copied exactly, will that have sufficient added value that we can afford to make millions of them for the tasks we want to off-load to them?

But, I am really asking if this is possible at all, and Mr. Archer suggests a proof. I do not know how a proof that machine self-awareness is or is not possible might be constructed. I suspect it would be similar to proofs that demonstrate how certain computational problems are NP-complete. Such a proof must await the knowledge of exactly what self-awareness is, in computational terms. My own conviction is that self-awareness is not a computational function at all. If I understand him right (see the comment), Mr. Archer believes it is, or that it can be.

Animal brains, fully integrated as they are into their sensing bodies, are so fundamentally different from computational machinery that if the latter can become self-aware, it will be a very different experience from our own. For example, I think it likely that Orcas are self-aware, but I cannot imagine most of what they experience as everyday life, and they are wetware just as I am!

Self-awareness might arise in two ways: one as an emergent property of a sufficiently complex system (at least as complex as a Gray Parrot's brain/body, for the Gray Parrot is probably self-aware); the other is by deliberate programming, which requires us to know what to program. I contend we'll never know that, which is why I think the latter option will never be realized.

But if true AI does arise by a more serendipitous means, is hitting the Off switch tantamount to murder?

Monday, May 24, 2010

AI apostles never give up

kw: computers, artificial intelligence, predictions

Some thirty years ago, when I was an OS analyst for large mainframes and supercomputers, I visited my favorite aunt and uncle. At one point, my uncle asked, "Do you think computers will ever take over the Earth?" I replied, "The already have," and went on to explain how society would fall apart without them. But I also said there is no intentionality; the computers were not agents, but tools, very very fast and powerful tools indeed, but tools.

A few days ago, the June 2010 issue of Scientific American arrived, and I have just read the feature article, "12 Events that will Change Everything". One of the twelve is titled "Machine Self-Awareness" with the subtitle, 'what happens when robots start calling the shots?'. The writer of this piece is Larry Greenemeier. He quotes Hod Lipson of Cornell University, that as machines "get better at learning how to learn" (Greenemeier's phraseology), "I think that leads down the path to consciousness and self-awareness." (Lipsom quote)

To be short about it, I don't. Artificial Intelligence (AI) based on computers has been preached for more than fifty years, and seems no closer now than it was when Eniac was called an Electronic Brain. As it happens, heuristic programming remains as difficult as ever it was, and machine learning is very simple indeed. Remember HAL from 2001: A Space Odyssey? Nearly nothing predicted by Arthur Clarke in that screenplay has emerged, here nine years past that date. A few of the simpler goals of the Japanese Fifth Generation project were achieved, but the widespread adoption of Inference Engines never happened, because such Engines were never brought to fruition.

There is a critical difference between the hardware/software combination we call a computer, and the wetware, the brain/body system, we call an animal mind. The following is true not just of humans but of animals in general: a Mind is really, really good at finding similarities and recognizing familiar things, and really, really bad at numerical calculations and at finding subtle differences and distinctions. And the converse is true of all computational devices: a Computer is really, really good at numerical calculations and manipulations, and at finding subtle differences and distinctions, and really, really bad at finding similarity and at recognition. I have built a career upon this distinction, upon taking advantage of the synergy between a Mind and a Machine (or Computer). A slogan in my profession is "Let the singers sing and the dancers dance."

Self-awareness is hard. It requires a recognition task of the highest order. So far as we know, self-awareness is only found in humans, dogs, chimpanzees, and certain birds. All other animals show no signs of self-concept. Yet it takes only a circuit of three or four neurons in an animal brain to perform recognition tasks that require very sophisticated software in computers. For example, the face-recognition software in Picasa (one of my favorite Google tools), does a workmanlike job, but makes some spectacular blunders. A small fly with its few dozen neurons is as fast and more accurate. Of course, it is so far not possible to couple a fly's brain to an installation of Picasa.

It turns out that the behavior of just three neurons in a circuit is so complex that it takes a large, multi-multicore piece of hardware to run a program that accurately mimics it. Artificial neurons have proven very hard to produce. Let's suppose a true learning machine is one day developed. Upon what will it be based? Probably on some kind of artificial neurons. It will be a kind of artificial animal. What other life-systems must be provided for it to operate correctly?

I suspect that it will need sensory input to keep it sane. Any animal kept for too long in a sensory-deprivation environment becomes unbalanced, sometimes permanently. So, provide senses. Now it needs filters, so it is not overloaded by its senses, but can tune its awareness of them. Finally, you have, perhaps, an artificial cockroach, except it is the size of a lapdog. I hope advances in battery technology give it more than a half hour of operation before recharging is needed.

At that point you have an interesting laboratory curiosity, but cockroaches are easy to breed. Training animals is cheaper than replacing them with such contraptions. So my final contention is that it will never be economical to build a machine that is capable of self-awareness, and keep it running long enough to attain a useful amount of education. I simply don't believe silicon (or other technology) will replace carbon-based life. Ever. Sorry, Berserkers; Sorry, HAL; Sorry, Colossus; even Sorry, Friday (Heinlein's cyborg girl) and all the Borgs out there. You're fun fiction. Fiction you will stay.

Sunday, June 21, 2009

A builder's success

kw: little mysteries, computers

A few days ago, building a new computer, my son and I had reached an impasse. The motherboard would only turn on the power supply when it was outside the case. To this point, diagnosis had proceeded by shorting various pins together. When installed in the case and connected up, nothing would happen.

We removed everything from the case, and I got out a multimeter and began checking, from the wall plug inward. I verified that the power cord is OK, then found that, when isolated from everything but one system fan, the power supply was operating. However, this time I noted that the fan ran slowly (before, we'd just been excited that it turned at all), and that an LED on the fan (a decorative item) lit up dimly. Inspecting the power supply, I found a red slide switch with "230" clearly displayed. I slid it over to display "115", re-checked, and the fan ran at a more normal speed, plus the LED shone brightly. We'd been testing with the voltage set wrong!

Then we found that the power-on/power LED connection to the motherboard was back-wired. Once we turned the plug around, the motherboard fired up and soon it beeped. It was booting up! Back in the case, though, it was inert.

We bought nylon screws and nuts and made insulating washers out of acrylic material (a viewgraph blank). Finally, with everything connected, including a monitor, we got the computer to boot up and request the system disk. Since then, things have gone smoothly, with only one glitch: Once Windows Vista was installed, and the video drivers loaded, Vista has a program for tuning the system and determining its "Experience Factor". The program stress tests the CPU, memory and video card. The power supply cut out in the middle of this test! We took a break at the local Five Guys and had a burger. That was my Father's Day dinner.

When we returned, we hit the start button, hopefully, and the machine booted. The power supply, as I hoped, has a thermal breaker, and had reset itself. We did the stress test while the power supply was still cold, and everything worked. This PS is 450 watts, and I did find literature on the Web that recommends using a 500W PS with this motherboard/CPU/video combination. If the power supply gets in the habit of cutting out, we'll replace the power supply with one that supplies 580 watts, the largest one compatible with the case.

Learnings:
  • Insulate the motherboard from the case.
  • Make sure plugs are the right way 'round. Most of the plugs only go one way, but the smaller ones can go either way, and polarization still matters. The documentation is not as clear as I'd like.
  • Verify the voltage setting on the power supply.
  • Make sure the motherboard-plus-CPU boots up before putting it in the case.
  • It is possible to straighten bent pins, but if the CPU won't simply fall into its socket, something is wrong, so check the socket (count pins to blanks if needed), and make sure all pins are straight from the get-go.
  • These components are amazingly robust. We made several serious mistakes, but wound up with a running computer.
  • Finally, there are no economies to building a computer. Dell, Gateway and others pay a lot less for components, so much less that they can build the computer to order and still charge less than you'd pay for components. But when you are done it is your machine!