Sunday, October 21, 2012
Flash Fiction: Gate
Dare I enter?
Scraped and pockmarked from a thousand thousand years bared to space, the outer walls scream their age into the inky blackness that enshrouds them. Stretched and smeared across this drifting rock, they bleed away in gunmetal fractals from the parted lips of the gate to recede into the enclosing darkness.
A darkness thicker and deeper than space itself.
A darkness that is broken not by starlight or gaslight, but by a sullen amber light dribbling from a makeshift craft that's dragged itself across the void. Strained and worn, but with tenacity woven through its core, the craft had traveled far beyond the outer tendrils of civilisation with its singular cargo. And now it lies above me, writhing awkwardly in slow-motion as its omnispective gaze is defeated by the enigma of the gate.
And so I stand here, now, facing a structure no human hand has touched, no human face has witnessed. And as a crepuscular vapour releases its millennial-long hold on the rock underfoot, awoken by the unexpected bombardment of dull streams of photons, I ponder anew.
Dare I enter?
Not of my own free will.
Not again.
image source: Christopher Bowler.
Wednesday, September 5, 2012
On the failure of sci-fi
This is mostly a rant aimed at dramatic presentations. TV and film are just gross offenders; books less so, if you're looking in the right places.
As much as I like a lot of sci-fi movies, when it comes to portraying the future, they're just lamentably wide of the mark. Maybe that's fine if you're not looking for something prophetic. If all you're after is taking one tech aspect of today, advancing it in a bubble void for umpteen years and then tacking it onto present day society, then a lot of movies fit the bill.
Hell, if you argue that what you want is just a way of presenting today's issues in a different context, then you're in luck. There's plenty of that. But a way of envisaging what tomorrow will be like? Not so much.
I'm a fan of Aliens. Hell, who isn't, right? And you've got some tasty tech, some fine roughed-up starships, some interesting biological critters from another world. But realism? No. That's an 80s movie with 80s people (if that) transported to a distant galaxy.
The same applies to Prometheus, from this year. Take people from today, sprinkle a little tech that's isolated from everything else and juice it up and sprinkle on top.
And so forth for the majority of shows that try to look more than a decade or so into the future, and for three main reasons.
First, movies and TV shows tend to only look at isolated bits of tech. Hey, let's add in some cool advanced guns. Or spaceships. What they skip is the integration of multiple lines of tech. Everything from comms to health to data and processing. But especially the convergence of the big three: AI, genetics and nanotech. You plot out the developments in these areas and where they are going and you don't just have a future consisting of Joe Blow from today holding Cool Gadget #3 in his hands. Joe Blow is radically different. His interactions are radically different.
Two, the timelines for most of their tech is woefully conservative, for the fact that people find it hard to grasp that progress is not linear, but exponential. Plotting out cool gadgetry a hundred years in the future is almost laughable when you start applying curves to progress.
And finally, related to the second, there's almost this sense that people live in a fairly technologically stable universe. They'll show you a person from the future and things for this character are pretty much the same for them as when they were younger. No, they won't be. It's not like it's the 1800s and the world of the parents is the same as the world of the children. The world of people growing up in the 2020s is going to be radically different from the world of those growing up in the 2050s. Progress is not stopping, and it's not slowing down.
If you've got a movie that's a hundred years in the future and there are lumps of meat walking around surrounded by dumb matter, then without a lot of explaining I'm just going to be enjoying it as a fun fantasy piece. Because that's not even trying to be a realistic window to our future.
Sunday, August 12, 2012
On AI's past, on AI's future
So much of what has been labelled
as AI, when projecting into the future, has had the sticker torn off
once the accomplishment has been achieved.
There's an interesting article (http://bit.ly/MBmLSA) from American Scientist that covers some of the early days with Minsky and McCarthy, through to the work on checkers with Schaeffer, language translation and knowledge systems such as Watson and the online AI courses that are now available for anyone to sign up to.
The main point of the article is that much of the successes of AI are from the point of "shallow understanding" rather than "deep understanding." Language translation employs word and phrase lookups, checkers has endgame databases and move lookaheads.
Each time we think of problems that would require "true thinking" we later seem to move the goalposts and decide that the solution didn't, in fact, truly require any deep insights to be made by the computer.
And yet progress marches ever on. More and more AI systems are being employed in ever more diverse fields, whether it's refining city management or controlling satellites or aiding diagnosis - or even at the level of knowing which ads you'd most like, books you'd buy or which people are most influential in certain circles for certain products.
The question will be, at what point does the illusion go away?
At what point does it become impossible to tell ourselves it's not really smart, it's just applying some basic rules, iterated over a lot of flops?
Because given the non-linear rates of advancement, by the time it starts getting notice, what's on the cutting edge will be what's otherwise around the corner, and what's around the corner from that, well ...
I think there will be some interesting times ahead where we end up with systems that cross over the following divides:
- of teaching itself
- of sentience
- of self-awareness
And even in those areas, it's not a binary situation, and I think we'll see debate over systems that have limited learning vs a more flexible and unlimited learning system. And the terminology will be hotly debated. What are the bounds? What is the environment? What is being learned?
I suspect in some ways that debate will continue all the way up to the point where machines start clearly surpassing humans and have ticked off all three boxes above: being auto-didactic, sentient and self-aware.
And then there's the complex issue of creativity.
And because I'd argue that none of those are entirely binary, and that progress is more continuous, I think the discussion will carry on for some time, and merely start asymptoting to zero without actually having a moment where we just stop. Though it's likely that there will be drop-off points where we go, see, this particular machine/accomplishment is strong evidence...
In a way, that's decades off, depending on how you like to put your marks on curves. But one way or another, we're in for some upheaval.
To quote William Gibson: the future is already here, it's just not very evenly distributed.
There's an interesting article (http://bit.ly/MBmLSA) from American Scientist that covers some of the early days with Minsky and McCarthy, through to the work on checkers with Schaeffer, language translation and knowledge systems such as Watson and the online AI courses that are now available for anyone to sign up to.
The main point of the article is that much of the successes of AI are from the point of "shallow understanding" rather than "deep understanding." Language translation employs word and phrase lookups, checkers has endgame databases and move lookaheads.
Each time we think of problems that would require "true thinking" we later seem to move the goalposts and decide that the solution didn't, in fact, truly require any deep insights to be made by the computer.
And yet progress marches ever on. More and more AI systems are being employed in ever more diverse fields, whether it's refining city management or controlling satellites or aiding diagnosis - or even at the level of knowing which ads you'd most like, books you'd buy or which people are most influential in certain circles for certain products.
The question will be, at what point does the illusion go away?
At what point does it become impossible to tell ourselves it's not really smart, it's just applying some basic rules, iterated over a lot of flops?
Because given the non-linear rates of advancement, by the time it starts getting notice, what's on the cutting edge will be what's otherwise around the corner, and what's around the corner from that, well ...
I think there will be some interesting times ahead where we end up with systems that cross over the following divides:
- of teaching itself
- of sentience
- of self-awareness
And even in those areas, it's not a binary situation, and I think we'll see debate over systems that have limited learning vs a more flexible and unlimited learning system. And the terminology will be hotly debated. What are the bounds? What is the environment? What is being learned?
I suspect in some ways that debate will continue all the way up to the point where machines start clearly surpassing humans and have ticked off all three boxes above: being auto-didactic, sentient and self-aware.
And then there's the complex issue of creativity.
And because I'd argue that none of those are entirely binary, and that progress is more continuous, I think the discussion will carry on for some time, and merely start asymptoting to zero without actually having a moment where we just stop. Though it's likely that there will be drop-off points where we go, see, this particular machine/accomplishment is strong evidence...
In a way, that's decades off, depending on how you like to put your marks on curves. But one way or another, we're in for some upheaval.
To quote William Gibson: the future is already here, it's just not very evenly distributed.
Monday, August 6, 2012
Technologies that can't ever exist? Or can they?
In this interesting article from io9, the argument is made that some of sci-fi's futuristic tech just "can't ever exist in reality."
Which seems a fairly far fetched claim. If they were stating they were things that you wouldn't see in the near term, I could probably relax and enjoy it a little more.
In some ways, they do actually acknowledge this. They admit occasionally that things are possible ... so I'm going with the belief that they've just overemphasised the impossibility of some of the items for dramatic effect. And for generating discussion - which they've achieved. Certainly, they're mostly pretty far out things they're talking about.
Fortunately, I have a copy of Michio Kaku's excellent Physics of the Impossible with me, so I'll drop a line and reference to some of the items in io9's list. Most of their items are addressed in his book.
Kaku breaks things into three sections,
- the first for impossibilities right now, but available in the near(-ish) term, say this century or so. No known issues with physics as we know them.
- the second for things which aren't disallowed in physics, but we'd probably need to develop a new understanding of the laws of physics in order to perform them, or they'd take many centuries in order to accomplish.
- the third is for things that the laws of physics, as we currently know them, outright forbid.
And now for the io9 list:
1. Lightsabers
The argument is that you can't contain the beam, and that "a power source that powerful doesn't, and can't, exist." Convincing argument that.
Kaku addresses this in 1.3, says there are no theoretical issues and suggests a timeline of perhaps by the end of the century, making it Class 1.
2. Human teleportation
They admit it's done on the small scale, but argue that it cannot scale, that every molecule would have to be in the exact correct location, and since it's a destructive copy, then it's a suicide machine.
Well. Scaling is obviously a seriously non-trivial issue, but I failed to note the point at which it just stops working. Further, our bodies aren't some fixed works of art where every molecule is forever fixed - we're a walking Ship of Theseus. And if you've just made a copy, then if the first is destroyed on the copy process, I don't see how that's particularly relevant, let alone a reason why it can't be done.
Kaku actually vacillates on this a little in 1.4 - despite teleportation being in section 1, he says viruses and cells are Class 1 impossibilities and might be available within the century, human teleportation is Class 2 and would take several centuries 'if it is possible at all' ... 'although it is allowed by the laws of physics.'
See item 9 for a related issue.
3. Time machine
They start off by noting that it is actually possible, then quote Kaku himself to say that it would require too much energy. And that it sets up paradoxes that cannot be resolved.
Well, time travel is a difficult one to be sure, and yet ... they're rather vague. They don't actually say that they're only considering travelling back in time, though it is implied. And yet the fact that relativity says that time is relative and we actively use this fact in many technologies today seems to have bypassed them. The grandfather paradox is certainly a very interesting possibility, though others exist.
Kaku has this listed out in 2.2, saying that it might take centuries in order for this to become possible, and would require a ToE. So other than coming to the opposite conclusion and saying it's impossible, the article pretty much echoes Kaku's points.
4. Faster than light travel
There are a lot of good points in this one, from the causation violations, to the energy requirements, to the results of using an Alcubierre drive. I don't know that there's any one specific thing that really works against fittling, but there certainly are a lot of obstacles. Much as a lack of supra-light travel really puts a damper on a lot of neat space travel, I have to admit there are a lot of problems.
And yes, by getting arbitrarily close to light you can get anywhere in near zero time, but it's not the same thing.
Kaku discusses FTL in 2.1 and puts it in the realm of Class 3 civilisations, saying it might be a millennium away, due to the physics required and energy expenditure. Particle accelerators 10 LY long? I wonder whose budget sheet that gets written on.
5. Generation ships
The fundamental problem is that apparently the resource and materials would be too great for any ship, though they see no problem with suspended animation.
Resource and materials is a challenge, it's not something that's impossible to overcome. Scale and effort is one thing (you're heading to the stars!) but I don't see why it couldn't be done. Of course, as with many of these items, there are other technologies that are likely to come along and mean that these are redundant, but I certainly don't see why a Generation Ship has a "fundamental problem."
Of amusement, this section says that because of the issues of Generation Ships, suspended animation would be a "much more reasonable solution." Item 8, why are you placed so far from this one?
Kaku talks about starships in 1.9, placing them as just Class 1, though he only touches on the issues of generation ships for a sentence or two before saying it would be easier to go with suspended animation, or nanoships.
6. Gravitational Shielding
The section states explicitly that it's impossible due to violation of physics.
Kaku talks about force fields in 1.1, but I can't find any discussion of anti-gravity, so I'm going to have to leave this one.
7. Personal force fields
Well, this one follows on from item 6, but says that whilst ships could have force fields, humans couldn't use one due to being fried by it. And it would have to use electromagnetism, since the other forces "are either way too weak or are constrained across short distances." Given those two objections, I'm not sure how he's comfortable with force fields for ships, though I suppose you could have other shielding to counteract the force field shielding. Not sure how that helps with the second point.
I suppose being on a ship could be easier since it's out in space surrounded by vacuum, whereas humans have adjacent material (the ground) that would cause issues.
But I digress.
Back to Kaku's section 1.1, where he actually uses a slew of technologies for the personal force field. Laser curtains, plasma windows, carbon nanotubes, photochromatics - each one designed to stop various incoming assaults. Within the century he thinks we'd have something that roughly fits the concept of the science fiction personal force field.
8. Reanimation from cryonic suspension
The objection here is that freezing cells damages cells, and you cannot then thaw them out without having killed them. This one hedges its bets a few times, saying things like it's not the theory, it's just the current method we use. And that other methods of reanimation might be possible, just not from freezing people.
This really just sounds like, current techniques are not good enough for a specific type of reanimation.
Not really sure why it needs to be this specific, except to try and make it less possible.
Kaku doesn't address this issue in Physics of the Impossible.
9. Continuity of consciousness after uploading
This one starts splitting hairs on the difference between uploading a mind ("distinct possibility") and the continuity of transferred consciousness ("open question").
Okay, splitting hairs is a little harsh. The continuity is a real problem. And it's a seriously intriguing thought process, that of the non-negligible transfer period of a mind ... the time of a partial mind.
And this one also raises the issue of teleportation (item 2), which they acknowledge. Though here, it seems to be that they are admitting some of the same issues arise, that of multiple copies insisting that they're all the genuine thing (personally I don't see why they aren't), but that doesn't seem to bother them with the possibility of it all here, it just irritates them with regard to the continuity of consciousness. In other words, now it's almost like it's "sure, you can copy people, but which one has the real mind?" and formerly it seemed to be "how could you copy people, you'd be destroying the original." And if you can copy the mind, such that you can run it digitally, then there's certainly no impediment to copying the body, should you so desire. Or even constructing something else you prefer. Like a fixed up body. Or a non-human body.
I'm surprised there was no mention of Kurzweil or Drexler here.
Kaku doesn't give this one much of a mention, but he touches on it in section 1.7 of Physics of the Impossible, which is about robots and AI. Towards the end he makes brief mention of the Singularity, and the possibility of either merging organics with silicon, or uploading minds. He refers to Moravec stating that it might be in a "distant future", which Kaku says is "not beyond the realm of possibility." Which is of course much more pessimistic than most of the transhumanists who are looking at a timeframe somewhere around the middle of the century for mind uploading and AI explosions.
10. Infinite data processing
The argument is that you can't live forever; you therefore can't process forever, or think forever. Eventually the universe either dies a heat-death or you hit a Big Crunch.
Well, you don't really need a lot of material for this one, do you? I mean, it's going to end one way or another, so processing and thinking has to come to an end, right?
Maybe.
Or maybe not.
Kaku doesn't address the matter in his book.
And I'm sure I don't have to remind people of Asimov's most excellent short story, The Last Question.
However, there's a very intriguing book by physicist Paul Davies called the Last Three Minutes. In the book, Davies discusses the two endpoints and whether or not an infinite number of thoughts could occur. For both scenarios he manages to come to an affirmative answer. If you want details, I'm afraid I'll have to refer you to the book though...
Well, that's a wrap.
It was fun digging out the old Kaku book.
Go read the article if you haven't already, since they probably explain their position better than I have.
Tuesday, May 29, 2012
The evolution of self checkout systems
It's interesting looking
at how the whole self checkout system at supermarkets has evolved since
its recent introduction (at least here in Oz).
The early systems were fairly simple.
Click to start. Swipe things through. Once you filled a bag, press New Bag, wait, then remove your filled bag onto the ground and continue swiping. Get to the end and select one of several options for payment.
Then there were the systems that allowed you to remove the bag when it was full without prior notification. Once it was removed, it asked you to confirm that you'd just removed the bag.
Now that confirmation of bag removal has gone, which, together with no need to press Start before scanning, leaves us with a smoother workflow.
This is the sort of change that could have been in the system from day one.
However, there are a few other aspects that have changed at the local, and I'm unsure as to whether they could have been as effectively rolled out on introduction.
In some ways, they seem to make the system a little more complex in order to offer more features / flexibility.
I mean, it seems intuitive enough now. But is that just because I (and other shoppers) have had some time to become acclimatised to the system? Always difficult to tell when you're trying to recall what things were like the first few times you encountered them.
Now we have the option of cash out or shopping to begin with, reintroducing that top level menu prior to swiping.
End level menus have changed upon completion of shopping. I think this gives a fast and flexible workflow, but I also think it's introduced a couple of extra menu levels that weren't there before.
Certainly I'm liking where self serve checkouts have gotten to and where they are going, but it has given me some pause as to whether you can just roll out the wonderful end system on introduction, rather than going through years of modification to get there. It's not a technical issue, it's a people process issue.
Maybe you can just introduce ultimate system on day zero. But maybe you can't, quite.
The early systems were fairly simple.
Click to start. Swipe things through. Once you filled a bag, press New Bag, wait, then remove your filled bag onto the ground and continue swiping. Get to the end and select one of several options for payment.
Then there were the systems that allowed you to remove the bag when it was full without prior notification. Once it was removed, it asked you to confirm that you'd just removed the bag.
Now that confirmation of bag removal has gone, which, together with no need to press Start before scanning, leaves us with a smoother workflow.
This is the sort of change that could have been in the system from day one.
However, there are a few other aspects that have changed at the local, and I'm unsure as to whether they could have been as effectively rolled out on introduction.
In some ways, they seem to make the system a little more complex in order to offer more features / flexibility.
I mean, it seems intuitive enough now. But is that just because I (and other shoppers) have had some time to become acclimatised to the system? Always difficult to tell when you're trying to recall what things were like the first few times you encountered them.
Now we have the option of cash out or shopping to begin with, reintroducing that top level menu prior to swiping.
End level menus have changed upon completion of shopping. I think this gives a fast and flexible workflow, but I also think it's introduced a couple of extra menu levels that weren't there before.
Certainly I'm liking where self serve checkouts have gotten to and where they are going, but it has given me some pause as to whether you can just roll out the wonderful end system on introduction, rather than going through years of modification to get there. It's not a technical issue, it's a people process issue.
Maybe you can just introduce ultimate system on day zero. But maybe you can't, quite.
Sunday, May 27, 2012
Named return values in C++11 alternative function syntax declarations
C++11 introduced the ability to specify functions using a
different method to the one that's traditional in C and C++03. This
notation is known as alternative function syntax, and involves placing
the return type at the end of the function signature rather than at the
start.
bool read(int itemIndex); // traditional.
auto read(int itemIndex) -> bool; // alternative function syntax.
Now, what bothers me is why can I not specify the name of the return value using c++11 alternative function syntax? Is that not a major oversight?
The parsing should be trivial, more so than allowing it in standard function syntax.
Here's what I would have liked to have written:
auto multiply(int x, int y) -> int product;
auto read(int itemIndex) -> bool success;
Of course, there's nothing that stops me now just adding this as a comment after the statement:
auto read(int itemIndex) -> bool; // returns success, or not.
But then if you're going to claim that, then you presumably would have been quite comfortable with them not allowing you to specify argument names in traditional declarations.
bool read(int /* the item index */); // returns success, or not.
The above would of course be undesirable, since the declaration gives the caller information as to what is being passed and what is being returned, which goes beyond the types.
So if we added these names to the return value in the declaration, is everything well and good, with no complications? As it turns out, no, this would indeed raise several issues of its own.
If you have the notation in the declaration, why not have it in the definition? You have parameter names in the definition - you have to, if you're going to use them. So if you supply the name of the return value in the definition, then presumably your function body is going to refer to that name. Which is fine in a sense, since you have to return something and now you've already got a name for it.
But in that case, how is it defined? What if the type that you are returning is an object with no default constructor? Suddenly there are multiple opportunities for the user to have to construct / assign an object to the return value name. Should they do this the way they would normally, but be forced to select the name that's provided in the function declaration? If the value was a simple native type, it would be almost sad that you couldn't just write
success = true;
return success;
or even more succinctly, as you do now,
return true;
One solution would be to allow for unnamed return values, as in the second case, which are automatically assigned to the return name (or essentially elided).
Another is to allow the use of a naked return statement in all cases, and require the compiler to detect uninitialised use of the return value.
success = true;
return;
This is starting to seem a little unintuitive, though perhaps it's just because it's deviating a fair bit from previous practice.
So having the caller see the name of the return value is as useful as seeing the name of the parameters they're supplying, but it may not be a failure in the alternative function syntax given the non-trivial issues that it raises.
I wonder if the issues it raises is why it never made it to the Standard.
bool read(int itemIndex); // traditional.
auto read(int itemIndex) -> bool; // alternative function syntax.
Now, what bothers me is why can I not specify the name of the return value using c++11 alternative function syntax? Is that not a major oversight?
The parsing should be trivial, more so than allowing it in standard function syntax.
Here's what I would have liked to have written:
auto multiply(int x, int y) -> int product;
auto read(int itemIndex) -> bool success;
Of course, there's nothing that stops me now just adding this as a comment after the statement:
auto read(int itemIndex) -> bool; // returns success, or not.
But then if you're going to claim that, then you presumably would have been quite comfortable with them not allowing you to specify argument names in traditional declarations.
bool read(int /* the item index */); // returns success, or not.
The above would of course be undesirable, since the declaration gives the caller information as to what is being passed and what is being returned, which goes beyond the types.
So if we added these names to the return value in the declaration, is everything well and good, with no complications? As it turns out, no, this would indeed raise several issues of its own.
If you have the notation in the declaration, why not have it in the definition? You have parameter names in the definition - you have to, if you're going to use them. So if you supply the name of the return value in the definition, then presumably your function body is going to refer to that name. Which is fine in a sense, since you have to return something and now you've already got a name for it.
But in that case, how is it defined? What if the type that you are returning is an object with no default constructor? Suddenly there are multiple opportunities for the user to have to construct / assign an object to the return value name. Should they do this the way they would normally, but be forced to select the name that's provided in the function declaration? If the value was a simple native type, it would be almost sad that you couldn't just write
success = true;
return success;
or even more succinctly, as you do now,
return true;
One solution would be to allow for unnamed return values, as in the second case, which are automatically assigned to the return name (or essentially elided).
Another is to allow the use of a naked return statement in all cases, and require the compiler to detect uninitialised use of the return value.
success = true;
return;
This is starting to seem a little unintuitive, though perhaps it's just because it's deviating a fair bit from previous practice.
So having the caller see the name of the return value is as useful as seeing the name of the parameters they're supplying, but it may not be a failure in the alternative function syntax given the non-trivial issues that it raises.
I wonder if the issues it raises is why it never made it to the Standard.
Monday, May 21, 2012
On Emergency Numbers
What is the ideal emergency number?
There are different ones for different countries, such as 112 for New Zealand and 911 for the USA. But these are all fairly arbitrary numbers.
911 really is no better than 713.
It seems to me that the ideal emergency number would be something like 000, which is what Oz uses.
You couldn't use 0 by itself, as that would be too trigger-prone.
00 is a possibility, and probably a strong one.
Using four zeroes is another, but we're starting to get into the realm of an arbitrary number of zeroes now, and arbitrariness is what I was trying to avoid.
Having a string of zeroes of some length seems to be the only reasonable solution, but is this just a case of culture bias, from living in Australia with such a system?
There are different ones for different countries, such as 112 for New Zealand and 911 for the USA. But these are all fairly arbitrary numbers.
911 really is no better than 713.
It seems to me that the ideal emergency number would be something like 000, which is what Oz uses.
You couldn't use 0 by itself, as that would be too trigger-prone.
00 is a possibility, and probably a strong one.
Using four zeroes is another, but we're starting to get into the realm of an arbitrary number of zeroes now, and arbitrariness is what I was trying to avoid.
Having a string of zeroes of some length seems to be the only reasonable solution, but is this just a case of culture bias, from living in Australia with such a system?
Subscribe to:
Posts (Atom)
