Facebook

Wednesday, February 3, 2010

Art with Numbers

It may surprise some people that there are a lot of connections between mathematics and visual art¹, it might surprise you to know that the field of Mathematical Art has flowered in the last decade as never before.  Part of the reason for this flowering is that an earlier generation of artists such as M. C. Escher  and mathematicians like H. S. M. Coxeter and Roger Penrose created an environment in which mathematicians and artists could publicly discuss each others' work.  Part of the reason is the relentless application of Moore's Law to the tasks of computing and displaying shape, color, and texture².  And part of the reason is the application of computers and computer-controlled tools to the creation of artwork.  That last part has largely been involved with the creation of sculpture, from the 3D printing of jewelry by Bathsheba Grossman to the creation of monumental sculpture with CNC machine tools by Helaman Ferguson.

Most of the mathematical art produced in the last few years has been in the form of computer graphic images (it's become cheap and easy with available software), but other media are popular too.  I've already mentioned 3D printing and machining, and there has been a lot of work in various textile media such as quilting, chrocheting, and embroidery, and origami has been claimed as a field of mathematics.  There's been work in more evanescent forms such as soap bubbles and light shows4.

One obvious source of inspiration for artists is geometry, plane or solid, Euclidian, spherical or hyperbolic.  Escher created many beautiful examples of all of those categories.  But there are many other areas of mathematics which have a visual aspect that lends itself to implementation by the artist: topology, dynamic systems theory, packing theory, and so on³.  Recently nearly 20 years of work by a loose cooperative of mathematical artists (or is that artistic mathematicians) including the science fiction writer Rudy Rucker, ended in the discovery of a 3 dimensional analog of the Mandelbrot set and the creation of some really beautiful images.

If all this sounds interesting, you can follow the link in the title of this post to a site of links to a number of artists working with mathematical images of all sorts.  I plan to blog more on this subject, and say more about specific artists.  To get you started on some of the do-it-yourself possibilities, here's a miscellany of books and links.  Some of the books, especially the ones on theory, are rather expensive, but you can find them at many public or university libraries.  The book links are to bookdepository.com.

General books on Mathematical Art:
"Fragments of Infinity: A Kaleidoscope of Math and: A Kaleidoscope of Mathematics and Art" by Ivars Peterson

Theory or Mathematical Art:
"The Visual Mind II" by Michelle Emmer
"M. C. Escher's Legacy" by Doris Schattschneider

Textile work:
The Home of Mathematical Knitting (sarah-marie's mathematical knitting pages)

"Making Mathematics with Needlework" edited by Sarah-Marie Belcastro and Carolyn Yackel
"Curve Stitching: Art of Sewing Beautiful Mathematical Patterns" by Jon Millington

Software:
The Geometry Center Download Page

¹ It certainly won't surprise any artists who took a course in perspective drawing.
² I wonder just what percentage of the world's CPU cycles has been involved with displaying some part of the Mandelbrot set.
³ For more than a century a war has been waged within mathematics over the legitimacy and relative importance of visual intuition in mathematical research and understanding.  Coxeter fought for many years for the use of diagrams and visual insight, often against the hydra-headed Nicolas Bourbaki.  Both art and mathematics were the benefactors of that battle.
4 There is a group in Germany that projects light shows onto buildings.

Tuesday, February 2, 2010

More of Eve Arnold's Photos

The Beeb put up 10 photos from Eve's recent book "Eve Arnold's People" (follow the link in the title of this post), including one of Malcolm X, one of the last photos she shot before moving to England.  Damn, she's good.

Monday, February 1, 2010

iPad, You Pad, We all Pad

The outpouring of opinions, punditry, glee, and bile since last Wednesday has been pretty predictable.  Apple fanboys have waxed ecstatic, Apple naysayers have snarked and pointed to missing features, all the usual pundits have told us why the iPad matters desperately or doesn't matter at all as the case may be.  I thought I'd wait awhile before saying anything, in the hopes that the uproar would have died down enough for a rational conversation to take place.  Or one side of one, anyway, in case my two readers are out of town.

First, did Apple get it right?  I think they did as well as they ever do in a first product introduction: they showed us a first generation product which will create a new product category, and perhaps even a whole new market.  It's not perfect, and it's not yet complete, but it's out there as a stake in the ground.  And it's credible enough that it freaked Amazon into trying to extort Macmillan into submission by delisting their books.  Macmillan was one of the publishers who's been talking to Apple about ebook business models for the iPad, and their CEO went to Amazon on Thursday to say, "We like what Apple proposes and we want you to go along."  Amazon's response was "Oh, crap, it's Stevie and the Pirates! Run out all the guns!"

Let's review Steve Jobs' strategy for introducing the first generation of game-changing products like the iPod, the iPhone, and the iMac:
  1. It has to be recognizably an Apple product, with the level of fit & finish,  industrial design, and usability that we've come to expect of an Apple product.
  2. It should open a new market niche, or one whose current occupants haven't been able to get a handle on.
  3. It doesn't need to have every feature you can imagine, but it should be immediately useful to a large market segment, with potential enhancements that will pull in still more market.
  4. The target market is never programmers, computer geeks, sysadmins, or engineers.  The emphasis is always on helping people get their tasks done, or on having fun with the product.
  5. It doesn't need to be the cheapest product out there, or the most customizable, or the fastest.  It should excel in enough areas to be the best choice overall for a large part of the market in the long term.
  6. It should allow Apple to create an ecology to go with it: iTunes for iPod as an example.
I claim that the iPad fits these goals, and that it is in position to create a whole new market segment that isn't served well by existing products.  That market is the portable media server for the individual: a system to create, store, and communicate documents, books, images, video, and music, and allow access to the web and all forms of instant and asynchronous communications.  It has a screen big enough to see photographs, videos, and high-quality book text without squinting; it has a user interface that is useful in places other than at a desk or standing motionless¹ in line at the airport; and it would appear that it has enough power to be pleasant to use for the kind of simple tasks we've seen so far.

One point that seems to have been generally overlooked is that, for the purposes of its intended market, the iPad is not a computer.  It's an application engine for a whole host of applications.  Programming it,  customizing it, or having it maintained by the user are irrelevant objectives for the market in which it will be sold.  And that market is vastly larger than all of the technical users who would want to write their own apps or install a Linux distro on it.

I'm not the only one of the opinion that the iPad makes some sense.  Charlie Stross and Stephen Fry seem to agree.  Of course, both of them are tarred by the same brush I am: they're Mac users.  Perhaps not all the time, or for all tasks, but they own and enjoy using Macs, as do I.  So our opinions are not likely to be of interest to those who either loathe Apple entirely, or are only interested in what to Apple are edge-case uses of the product.

Some of the enhancements that Apple is going to make over the next 2 or 3 iterations of the iPad product line are pretty obvious.  They'll add some apps that weren't feasible for the iPhone such as the iLife applications, giving the iPad the means for creation, manipulation, and viewing of photographs, music, and movies.  They'll add 2 cameras: one facing out for taking photographs and movies of the world, and the other facing the user to allow video chat.  But there are bound to be enhancements that won't be obvious, that even Apple might not yet forsee. That's because nobody knows yet what the full range of applications will be for this kind of product,  or what use they'll be put to for which some new software or hardware will be helpful.  This is why creating a new product category can be so profitable for a company like Apple that's willing to accept a little bit of a leap into the unknown.  I predict that the real killer apps for iPad won't be things we expect.

¹ Think about using it to create maps of an archeological dig in the field, or record airplane or bus or train maintenance results on the tarmac or the rail.  I'm thinking about plugging my digital camera into it and using it check and touch up my photos in the field.

Newsflash: Amazon Tries to Poke out Curly's Eyes, Misses

The title link points to Charlie Stross' blog post describing how Amazon has "surrendered" in their pissing match with Macmillan over who gets to dominate the electronic book market (Macmillan wasn't trying).  I won't get into the whole sordid story, because a number of bloggers have already said a great deal about it, much more knowledgeably and articulately than I could.  If you've been off-planet all weekend, or are not at all plugged into the publishing industry you can read all about it in posts on Charlie's blog, and in posts (and the comments to them) on Making Light. If you want the news with a twist of snark, try John Scalzi's Whatever; read Tobias Buckell on the economics of book publishing, and why Amazon's actions were an attack on him and other writers.

My take on the action is that Apple's proposal of an agency-based deal with Macmillan and five other publishers, followed by the iPad introduction that clearly positioned it as a Kindle-killer, scared the execs at Amazon into action to shore up their strategy of dominating the future of ebook distribution by platform lockin.  So they tried a tactic that has worked for them before: extortion.  And it failed to make Macmillan cave. Although despite their "surrender" whine which tried to paint Macmillan as monopolists for insisting on a monopoly of the books they've bought from writers, Amazon has yet to relist Macmillan's books.

For my part, I sent a nasty email to Amazon on Sunday, and got back a mealy-mouthed customer service droid response.

My mail:
I understand that your recent action in removing books published by Macmillan from online purchase was part of what Amazon management perceives as a conflict between the two corporations.  But it seems to me that you have responded to a proposal from Macmillan intended as part of negotiation with a bullying tactic that hurts not only Macmillan, but your customers as well.  And I cannot see it as other than an attempt on Amazon's part to increase it's monopoly and monopsony positions in the publication supply chain so as to control the pricing and delivery of books in general. In particular I think you are attempting to control the publication of ebooks in the long term by making the Kindle the majority platform, and then preventing publication on other platforms.

I object to all those attempts on Amazon's part to control what I can read and how I must read it.  The attempt to extort submission from Macmillan is particularly objectionable, and not unique in Amazon's history; the same tactic was used against Hachette in the UK a year or so ago.  Now I am a good customer of Amazon, a member of Amazon Prime, and I have purchased thousands of dollars of books and other items in the last few years.  If you do not rescind this removal of Macmillan books from online sale in the next few days, I will cancel my Amazon Prime membership and refuse to purchase through Amazon in the future.  I certainly hope that you realize that I'm by far not the only customer of yours who feels this way.

Bruce Cohen

Their response:
Hello,

We are working with the publisher to make their titles available as soon as possible and at the lowest possible prices for our customers. We will e-mail you when these titles are available, which we hope will be soon.

Just click the link for "new and used" offers for this title.

We hope to see you again soon.

Did I solve your problem?

If yes, please click here:
link 
If no, please click here:
link

Please note: this e-mail was sent from an address that cannot accept incoming e-mail.

To contact us about an unrelated issue, please visit the Help section of our web site.

Best regards,

Gopi Krishna
Amazon.com
We're Building Earth's Most Customer-Centric Company
http://www.amazon.com/your-account

Friday, January 29, 2010

Pictures taken by an amazing lady

My aunt, Eve Arnold, will be 98 years old in April.  For more than 50 years she was a photojournalist and professional portrait photographer, the first woman to become a partner in Magnum, the photographers' cooperative, and a life-long friend of Henri Cartier-Bresson, whom I hold to be one of the three or four best photographers of the 20th Century.  I mention all this because there are several retrospective shows of Eve's work at the moment, and some of her books are being reprinted; I'd like more people to see how good a photographer she was, and how amazing a person.  The title link of this post will take you to gallery of her photos at Magnum.  This link will take you to a portrait of her taken by Cartier-Bresson a little over 10 years ago.  Eve has a Wikipedia page, if you're interested in more about her life and works.

Eve was  hired in the 1950's to take publicity photos of Marilyn Monroe and they became friends.  Eve published a book of photographs of Monroe, and became Monroe's preferred photographer as well.  She's published a number of other books of her photographs; I highly recommend in particular "The Unretouched Woman" (unfortunately out of print, but the paperback can be found in used bookstores), whose photographs illustrate the lives and surroundings of women all over the world, and which has an introduction in which Eve talks about how she became a photographer and what her work means to her.

I haven't seen Eve in many years (she moved to England in the 1960's and has resided there since), but she has been a role model of mine since I was a teenager, not least because she encouraged me to try photography, which has remained a source of joy to me to this day.  I have been very lucky in knowing many women, some of them my relatives, who have chosen their paths to suit their own abilities and desires.  Eve is high on that list.

Now Listening to ...

I have 3 Joan Osborne albums on my iPhone; the other day I realized that I hadn't listened to most of the songs on them recently (All Songs Shuffle does seem to get stuck in a rut).  So I set the 'Phone to shuffle all of Osborne's songs, and have been listening to them while driving.  Some of those performances are like a body blow: they get to your gut and make you take notice.  If you don't know her, or only know her for "One of Us", the theme song for the "Joan of Arcadia" TV show, then I recommend you check her out.  If you can listen to "Heart of Stone",  "Running Out of Time", or "Safety in Numbers" without being moved, check your pulse because you just might be dead.

Friday, July 10, 2009

Book Review: "Palimpsest" by Charles Stross

The new collection of short stories by Charles Stross, "Wireless" is full of good work; many of the stories will be familiar to his fans because they've been previously published. But the longest story of all, a novella titled "Palimpsest" hasn't been publicly available to readers before. It's primarily why I bought the book, and I'm very happy indeed that I did. Let me tell you why. The next section is a spoiler-free introduction to this review. The section after that, where I get into more detail, is full of spoilers: you have been warned.

Fair Warning Disclosure: I've met and drunk beer with Charlie Stross, and been a regular commenter on his blog over the last couple of years. It's likely though that I would never have met him if I hadn't been delighted by his writing first. This review is the result of a great story, not a friendship.

Intro - No Spoilers
"Palimpsest" is a time-travel story in the tradition of Poul Anderson's "Time Patrol", Fritz Leiber's "Change War", and Isaac Asimov's "The End of Eternity". And there are definite resonances with Robert Heinlein's "All you Zombies", David Gerrold's "The Man Who Folded Himself", and Chris Roberson's "Here, There, and Everywhere". I think it most closely resembles Anderson's stories, as I'll explain in detail with spoilers later. In fact, there's a reference to the "Time Patrol" series in one character's name. There are also several themes that were important in Anderson's stories here: the solitude and alienation of a temporal operative outside their own time, the moral dilemmas that result from being able to change history, and the deeper questions that need to be asked when you start wondering which history is the "real" one.

But this isn't an homage or a copy; Stross goes deeper here into these themes than Anderson did. He also spends more time and energy on the "how" of time travel, setting up a theory of physics that consistently supports the plot and the themes he's covering. Now I'm a geek when it comes to far-out theories of physics, and I'm fascinated by questions about the nature of time, and the possibility of time travel, so this is catnip for me; YMMV. But there are some twists and turns in the theory here that made me sit back and think about all the time travel stories I've read, and what their assumptions about the nature of time imply about the use and abuse of time travel. At that point, I think I've gone beyond a book review, so I'll save most of that thinking for a follow-up post, tentatively titled "On the Paraphysics of Time Travel".

In an afterward, Stross says,
"Palimpsest" really wanted to be a novel. It really, really wanted to be a novel. Maybe it will be, someday.
I agree that it should be, and hope one day that it will. There are characters and settings which deserve more description and development than they have.


Here be there Spoilers
"Palimpsest" covers about as much scope in space, time, and human actions as is possible. The story begins and ends in the second person, talking to the man who is the protagonist and point of view, Pierce. In between it follows Pierce's career from recruitment into the trans-temporal organization called "Stasis", through his 20-year training, and on into active duty. Stasis' mission is to preserve the existence of humanity, despite extinction events, and in the face of the eventual evolution of the sun into a red giant that will destroy Earth. Along the way it describes, in chapters reminiscent of Olaf Stapledon's "Star Maker", several alternative histories of the Solar System (with some background on the rest of the universe). In the course of his training and work Pierce studies and helps change the course of civilizations, and helps save humanity from one of many extinctions. But in this story, that's all background; the prime mover of the plot is, ultimately, the question that Pierce must answer: who does he want to be, what history does he want for himself, the answer to which question turns out to be have a rather large bearing on the history of all humanity.

Time travel has a very SFnal problem: if you want an interesting story, you have to go beyond the science we know, and make up something. It's gotten more interesting since the 1970's with the discovery of implications in General Relativity that time travel into the past may be possible given certain extreme conditions, where before scientists were fairly certain that was impossible. There still aren't any time travel mechanisms that are known to be workable with physically feasible technology, and the ones that have been proposed are limited in range to the period of the existence of the time travel device, so writers have to either resort to some (large) amount of handwaving in describing how time travel works, or simply say, "trust me, it works, let's get to the story". Stross has chosen to describe a particular mechanism involving wormholes and singularities that isn't close to any current science, but that allows for the kinds of abilities and problems that Stasis has. It allows time travelers to change history without affecting themselves (the first task of a recruit is to kill his own grandfather before he has children), and for multiple changes to be made in a given event without the outcome of the changes to be known for certain from some viewpoints.

Stasis is similar to Anderson's "Time Patrol" in that it is a trans-temporal organization that has accepted responsibility for patrolling and controlling history. Like the Time Patrol, it is run by dimly-seen and poorly-understand people from some far future time; it has a clearly-stated mission, but the operations it runs are not always clearly related to that mission. Stasis, like the Patrol, recruits from all eras, sends its recruits to an Academy in a remote time, and then stations most agents in a time period around their own origins. And there are, as in the Time Patrol, senior agents whose job it is to watch over history and take action when necessary to correct even the actions of other Stasis agents. The differences arise because Anderson never went very deeply into the overall organization and goals of the Patrol, preferring to concentrate on the work of his protagonist Unattached Agent Manson Everard (whose name is referenced in "Palimpsest" by the name of the head of the Stasis Academy, Agent Manson; the fact that this is his only name, and the acts he and Stasis require of recruits and students, may also make it a reference to Charles Manson).

As always for Stross, it's not just about the hardware or action, it's about the people and how they interact on personal and political levels. Pierce has questions about how Stasis works, and what it does. Those questions get more urgent even before he finishes training, when he is sent to a primitive time on a supposedly routine cover for the extraction of another agent. Pierce is surprised to discover that he other agent is a prior instance of a former lover, an instructor at the Stasis Academy, who has not yet met him on her lifeline. Before the extraction can be completed, a multi-way firefight with advanced weapons kills Pierce several times despite frantic changes in the past of the battle, and eventually leaves him seriously injured. Are there factions in Stasis? Is there another trans-temporal organization? And why try to kill him, a lowly trainee?

The questions become more complicated when Pierce is interrogated by an agent of Stasis Internal Affairs. who looks exactly like Franz Kafka, author and paranoid. Is a future Pierce suspected of trying to assassinate himself? Kafka says he is not, but also says he will be talking to Pierce again.

Pierce' view of Stasis and his own part in it becomes more morally ambiguous, and his own history and future become more and more uncertain, as Pierce learns more of how time travel works, and participates in more and more operations. His adopted home in an advanced time, where he was a husband and father, and respected as a Stasis agent, is lost to him in the manifold potential and alternative histories, and there is some suggestion that Internal Affairs is holding the knowledge of how to find it again as a hostage for Pierce' good behavior. He learns that there are rogue agents, striking out to create empires in time, or to overthrow Stasis entirely. There may be factions within Stasis, battling over the tactics, and even the objectives, of the service. All or none, or some combination, of these may or may not exist, and may or may not be defeated by Internal Affairs, depending on when he currently is, and how the most recent temporal battles were resolved.

Stasis is the ultimate panopticon society, extended over all of humanity for all of history. That might be a good thing, because it allows all of human history and experience to be stored in the Final Library, an archive trillions of years in the future. But is the cost too high? Has Stasis, and in particular, Internal Affairs reduced human history to the limited stage of a single solar system, where it plays out a repetitive cycle of extinction, followed by reseeding of primitive tribes which evolve into advanced societies and are again made extinct? Is there a better way that involves humanity expanding into the Universe, making itself immortal by making sure no extinction can be widespread enough to kill it completely?

Stross has often written warnings about the panopticon society we in the West are building now; here he shows how the ultimate panopticon, based on a timid need for security in the face of the potential threats of the Universe we live in, could control humanity for its entire future. But, given the nature of time and time travel he uses here, the outcome is never certain until no one's left to go back and try to change it, and a time traveler can choose to completely revise their own life in the light of later discoveries. Pierce must finally make a decision about what he is willing to do, and how he wants the world to work, and is allowed by the technology he has available to change the past to support that decision. We know that he might succeed, although it is never certain that he will, even when we see him return to free himself of his past decisions. Accepting that humans must have free will, and accepting the responsibility for using that will, as Pierce does, means the outcome cannot be determined beforehand.

In the end, "Palimpsest" delivers a lot of sensawunda, as it jumps around in alternative time, showing some possible histories of the Earth and humanity. It also delivers several interesting characters. Foremost is Pierce, whom we watch grow over several decades from a teenage recruit to a veteran of life inside Stasis as well as in domestic life. His wife and his lover in Stasis are not as fully developed, and this is one limitation of the story that could be improved by expansion to novel length. I'd like to see Kafka developed a little as a character as well; at present he's an Ominous Presence rather than a person.

It would also be helpful to see more of Stasis' operations, to show in more detail how they use the ability to change the past on the fly. As it is, I think I see what's going on, but there still is a bit of handwaving going on (for instance in the battle where Pierce is killed several times), and I think the inter-time tactics should be clearer, since the climax of the story, when Pierce finds out who the rebel faction within Stasis is, depends on it.

But first and foremost, I want more of this story to read. If time travel stories interest you, I think you'll feel the same way.


Wednesday, July 8, 2009

And the Season Ends in a Blaze of Glory!

Executive version: Feeling great, on with my life!

I just got home from my first post-op exam by the PA of the surgeon who did the back surgery on me 3 weeks ago. I've been feeling really good about things since I came out of the anesthesia after the surgery, despite being told then, "Oh, yes, we worked for 6 1/2 hours, why did you think we expected 3?" Turns out they really expected a fair amount of work, but a good outcome, and I was away for those hours and didn't notice, so we'll let that one pass.

Post-op support was terrific; the nursing staff was professional and friendly (and very careful about the tordol injections they used for pain relief; if you don't push those with extreme care they burn like a mo-fo, and I barely felt even the ones given by the student nurse). Both rehab therapy and occupational therapy were immensely helpful in showing me how to use the brace and the walker, and going through the way our house is set up (I brought photos) to talk about how to deal with obstructions and such.

Progress has been ahead of schedule since then; I only spent 3 days post-op in the hospital instead of the expected 4, and I've been getting around with a walker and a back brace since then. The walker is getting less necessary, though I'll need the back brace for the next six months or so as the spine fuses into its final shape. Comparison x-rays show the spine is properly aligned; the incision wound is healed (and the rash that I had on it was a fairly common side-effect of the surgical adhesive they used to close the wound; the rash is gone now).

So I'm declaring victory and holding a parade. I can drive as long as I don't need to use the pain pills (and I haven't for almost a week), I can make a cup of tea and carry it into the living room or out on the deck to sit and read or watch the trees and the birds, and my mobility is improving on a daily basis.

Saturday, June 13, 2009

Almost the End of Surgery Season

After two highly successful surgeries, one a gum transplant and the other bilateral carpal tunnel release, I've got one more to go. On Monday I go in for a lumbar decompression and fusion. This is the big one, because it's not day surgery; I'll be in the hospital for 3 to 4 days, and the recovery time is weeks. In the past, I've usually posted to the web communities I'm active in before the surgery to let them know I'll be offline for awhile. This time I'm simply going to go in, and then start posting again when I can, probably after a week or so. I'm posting to this blog so someone who's really wondering where I've gotten to can find out.

In case anyone does come by to find out where I am, I want you to know that this is not risky or exotic surgery, and the actual techniques are a lot better (read: less invasive) than they used to be. And unlike the last time I had back surgery, in 2001, I've been really pleased with the pre-op support of the doctor and the hospital, and the really good planning for the hospital stay and subsequent therapy. So I have a lot of reason to expect a good outcome.

Se you in a week or so.

Tuesday, June 2, 2009

Parallel Objects Never Meet: What to do with all those cores

In the last few years the steady increase of microprocessor clock rates and decrease of power consumption has leveled out, due to physical causes that IC designers haven't been able to overcome. This change in a decades-long trend meant that companies like Intel, whose business model is based on continually increasing the performance of their products by following Moore's Law towards ever smaller individual features, and thus ever larger numbers of transistors on the silicon their chips are made of, have had to find another way to leverage the increased number of transistors to improve performance other than by adding more memory and computing elements that go faster. The strategy that Intel, and other companies trailing it down the Moore's Law curve, has taken is to freeze the speed and functionality of each processor, and then put multiple processors, called "cores" on each chip. The current generation of chips on the market has 4 or 6 cores per chip, with 8 core chips coming soon. Chip designs capable of 64 cores have been demonstrated in the lab.

Of course, it's not that simple to take advantage of those extra cores with existing software. Parallel processing was a very active field of research in the 1980's, but the conclusions about that research were that new programming languages would need to be needed, and all new software would have to be written, with the programmers having to control the parallelism of their code explicitly. Moreover, most research was in specialized application domains like numeric programming, and computer vision, where the required parallelism fell easily out of the problem descriptions. But most computing from the 90's on was business or personal computing, not scientific, so the chip manufacturers didn't see parallel computer architectures as an important part of their market. Parallel processing fell out of vogue even in research, and very little money was available for research and development in the commercial sector of the computer industry.

The rise of the web application and the development of large scale application servers provided one way to use parallelism for business and personal computers: since any given server is doing pretty much the same thing, only with different data, for each web client it serves, it's not hard to build server software that can take advantage of large numbers of processors. Server computers have been built with multiple processors for more than 10 years now; using multiple-core chips isn't difficult.

But that doesn't help the large number of personal and business desktop and laptop (and soon palmtop) computers. Utilizing 2 cores isn't too hard, and 4 cores can be kept somewhat busy, but after that it's not clear that there's a lot of benefit to more cores without completely rewriting the software, a monumental and very costly task for most computer applications. It's not surprising then that a lot of research and money is going into looking for ways to reduce the amount of rewriting necessary. Some of the ideas being investigated include extensions to existing programming languages to allow explicit control of parallelism and runtime support libraries that do the work of synchronizing and controlling code running on multiple processors.

I think there's another way to do the job, one that may even allow many existing programs to be just be recompiled, and will almost certainly allow tools to examine and modify or flag code that needs to be changed to take advantage of multiple core. It's based on the fundamental nature of object-oriented programming, in which an object is an encapsulated piece of computation, including code and data.

When I first learned about objects, they were described to me as conceptually little computers, with inputs and outputs. Each object could be, at least in theory, be run on a separate computer, as long as their internal states were not accessible to other objects. In some of the first object-oriented languages this was the basic model of computation; there was no way for one object to access another object's data, the only thing an object could do was send a message to another object and receive a reply. That model works very nicely in a parallel environment because the message-sending mechanism can have synchronization between processors or even distributed computers built into it.

In fact, there are several object-oriented environments that allow a message to be passed to a local object on the same computer as the sender, or to an object on another computer, depending on where the destination object is running. It's even possible for an object to move between computers and have its messages follow it correctly, without any change in the program that the sender or receiver are running. Smalltalk, for instance, does not allow one object to access another's data, only message passing is allowed between objects, so implementing such a system is relatively easy. Java does allow an object of a given class to access the data in an object of that same class, so it's not as easy. The difference between the two languages is that in Smalltalk any object of any class can be moved around, whereas in Java an interface has to be designed for the destination class, and the sending object has to use a reference of that interface type as the destination object; an arbitrary class cannot be used. And, of course, non-object-oriented languages need not apply.

Unfortunately this style of program design is not common even among object programmers. Most OO languages don't have any way to prevent an object of a given class from accessing the data of another object of that class, and many programmers have fallen into the habit of using this feature on the assumption that direct data access is faster than messaging in the local case. In fact, most programmers never think of the remote case unless their program requirements include it. So most OO programs have inter-object data accesses, and often global data (such as class variables) that would have to be modified into message sends or replicated and synchronized data.

With some languages this may not be a great problem: the semantics of the language allow a smart compiler or runtime support system to recognize the data accesses and convert them into message sends. Global data accesses can be converted into message sends to class objects. This allows objects to communicate even if there is no shared memory area for global data. Smalltalk would require a minor modification to the compiler to handle class variable accesses. Java would require a new compiler to detect and modify data accesses. Both languages could benefit from compiler and runtime support to detect object dependencies and optimize the placement of objects in memory spaces and the grouping of obejcts in threads or processes. Python might require some constraints on use, as it has some non-object functionality in it (the module namespace might cause some trouble, for instance), but a suitably jiggered compiler might be able to catch the problems, and perhaps even fix them. CLOS (Common Lisp Object System) would be a good language to try; I suspect that some features of the base Lisp would have to be constrained (macros, for instance).

The more impure object languages like C++ are problematic; the more ways there are to code without or in spite of objects, the harder it will be to find all the dependencies that would break correct parallelism, and the more the culture of the languages users is likely to cause them to reject the idea. That's fine with me because I'm not a fan of those languages (because of having been a C++ programmer for years, and a member of the C++ language standard committee). All the arguments I've heard for low-level languages have left me cold: I don't believe that the language I use has to look like the inside of a crippled von Neumann machine because I don't see any advantage to that. Making it difficult to do things in a natural way because that's "good programming discipline" is just silly1. And the efficiency and performance arguments are based on not understanding the alternatives; a good Lisp compiler can give a C program a run for its money any day.

I'm curious to see if there are software developers, programming language and compiler experts, or parallel system gurus out there who can tell me why this scheme won't work, or why it's obviously less practical than any other scheme for making use of multiple cores for existing software applications, not system software.

1. To me, programming languages are user interfaces to computer capabilities. Making a bad interface deliberately is downright perverse in my view, not matter what the justification. Instead of forcing the programmer to bend to some model of the computer, why not spend time and energy finding ways of optimizing programs written in user-friendly languages?