A Conversation with A Computer

I posted this originally on July 20, 2011...

Here is a conversation with the ship computer from Star Trek Next Generation, season 3, episode 25...

Data    : Computer, run transformational matrix calculations. Match navigational referents to known stars in this sector.
Computer: Information on this sector is incomplete. No correlation.
La Forge: I'm not giving up yet. Not after coming so close to cracking this thing. You know, that might be flight path information from John's ship, but without a frame of reference, I can't determine its origin points.
Data    : "Computer, assume those paths are course corrections and derive gravitational values for stellar objects near those flight paths." Most of these are ordinary G-type stars. This would appear to be a neutron star, possibly a pulsar.
La Forge: Which means that this might be a rotational time reference.
Data    : "Computer, assume these symbols are pulsars. Translate associated values into standard temporal notations. Computer, is there a pulsar with a rotational period of one point five two four four seconds within sensor range?"
Computer: "Affirmative."
La Forge: "Bingo! Now, Computer, overlay navigational chart using referenced pulsars and project a flight path back to it's origin."
Computer: "Flight path originated at bearing zero zero three, mark zero one five. Distance, two point three parsecs.

I think making this is possible and very joyous to bring about.

... end of previous post.

And now we have that in existence.


Luckily, I'm encouraged not discouraged by this. Because I enjoy my own "conversations" with a computer through Eclipse in Ecicpip. I once told a friend, it is like working with an interactive novel instead of passively reading it.

I think all software should have a conversational interface just like we would expect a GUI or a command-line interface for most functionality in software. A conversational interface that links to a "mothership" of sorts in case it cannot resolve something... should be expected.

Dan Ingalls, of Smalltalk the computer language, seems to agree. From "Coders at Work" by Peter Seibel.
We've gotten incredibly good with the programming systems and the languages we know. What if we were that good with logic programming? And had it integrated well? I think we would be doing extraordinarily more stuff in much more of a human-oriented space. It does go in the direction of artificial intelligence.  [...]

So you take that and put it against all sorts of possibilities in logic programming, in rule-based systems, and artificial intelligence, and you have to know there's lots of progress to be made there. [...] What is a kernel apart from the language and the user interface? What other kernels are there? What if you build a kernel around logic programming [...] and what kinds of things can you do with that? I don't think that people are playing around with, tinkering with that stuff enough.

And yes, with all the hoopla about automation and the fear it generates, people forget its shortfalls. But that's a different subject. I'm just excited for the possibility of ubiquitous conversational computer interfaces.