2014-11-08

Interstellar is full of plot black holes

Saw #Interstellar last night. Don't go see it on a domed IMAX screen, despite the recommendations saying it was made for IMAX: everything is warped by the screen and you'll miss half the action because you can't crane your neck around to see opposite sides of the screen fast enough.

[spoiler warning] In spite of all the efforts to stay true to relativistic physics, the movie had some major gaping "black holes" in its plot, due to major violations of the laws of physics. I love sci-fi and try to suspend disbelief when I watch sci-fi movies, but when a movie's big claim to originality is that they "got the physics right" by employing a world-famous physicist to write equations that they then fed to their rendering team, the bar is raised!

Some things the movie got wrong, in no particular order:
  • A wormhole was supposed to be created by some alien intelligence "near Saturn". So was the wormhole orbiting the sun in the same orbit as Saturn? Or was it orbiting Saturn? Either option would require the wormhole to have mass.
  • If you descended deeply enough into the gravity well of a black hole (such that one hour for you was equivalent to seven years for an external observer), there is absolutely no way the combustion-based thrusters on a small ship would have any chance of ever lifting you out of the gravity well (oblig. xkcd). Look at the massive 3-stage rocket that was needed to launch that same lander craft out of earth's gravity well at the beginning of the movie. And yet somehow the lander was able to get back up to the mothership that was orbiting the black hole just that much further out from the orbit of the planet that time was not as severely distorted. Note that it takes 60 times more fuel to get from 100km of altitude (the edges of space) to 250km of altitude (the orbit of the International Space Station) -- and in the movie, we're talking about a gravity well many zillion times deeper than even the one depicted for Saturn in that xkcd comic.
  • Speaking of which, the mothership would have a much slower orbit around the black hole than the planet that they went in to land on, due to Kepler's second and third laws (dramatically exacerbated by the strong gravity around a black hole). So by the time they "popped back out" of the planet's orbit to return to the mothership, they would be far, far away from where the mothership's orbit would be at that point. (The movie "Gravity" made this same mistake multiple times in the name of "good Hollywood action".)
  • If the main character really did end up getting pulled into a black hole, and made it out alive, he would not meet his own daughter, even as an old woman -- she would be long, long gone by the time he somehow got back out again due to this whole time dilation thing, which they already experienced moving just barely inside the "steep part" of the time dilation curve. Falling "all the way into the black hole" would cause an even bigger time dilation than what they experienced on the first planet they visited.
  • You can't fall "all the way into a black hole" anyway, it would take an infinite amount of time to reach the event horizon from the point of view of the guy falling in, and an infinite number of infinite amounts of time from the point of view of an external observer.
  • If you were extremely patient and the life support in your space suit somehow managed to support you until you did reach the event horizon of a black hole, and tidal forces didn't already tear you apart, you would probably be torn into subatomic particles as (from the point of view of an external observer) you entered the photon sphere, which is the radius at which light orbits the black hole. (Technically the photon sphere is 50% further out than the event horizon in some frame of reference.) This is a giant supercollider that continually collects light and matter and sucks it into an orbital "firewall" around the black hole, and then eventually spews jets of energy outwards from the two orbital poles of the black hole at energies so unimaginable that structures beyond galactic scale are created.
  • Even if the black hole you fell into somehow conveniently delivered you back to the earth-side of an unconnected wormhole, way out by Saturn, there's approximately zero chance that a spaceship would be able to randomly find you floating out in the vastness of space if they weren't looking for you. (The movie "Gravity" also made this faux pas numerous times: "Oh look, there's the Chinese space station off in the distance!") Or, as Douglas Adams put it, "Space is big. You just won't believe how vastly, hugely, mind- bogglingly big it is. I mean, you may think it's a long way down the road to the chemist's, but that's just peanuts to space."
  • Even in a black hole, time travel is not possible in any direction other than forwards (by means of time dilation) -- and gravity waves don't violate the arrow of time, so they can't be used to send information back in time.
  • And love, although powerful, probably isn't a powerful enough force to make time travel possible either. Sorry, Anne Hathaway.

2014-08-17

Fast, lightweight Java classpath scanner

I just released an uber-fast, ultra-lightweight Java classpath scanner:

This classpath scanner is able to scan directories and jar/zip files on the classpath to locate:

  • classes that subclass a given class or one of its subclasses
  • classes that implement an interface or one of its subinterfaces
  • classes that have a given annotation
  • file paths (even for non-classfiles) anywhere on the classpath that match a given regexp.

The project is here: https://github.com/lukehutch/fast-classpath-scanner

2014-08-08

Understanding the "full stack" of life

Some non-programmer friends were talking among themselves about computer programming a couple of days ago, and they were going back and forth about how they didn't understand programming but it must be complicated. One of them said, "Yeah, I just thought it was just kind of part of the design that made apps on your phone work the way they do."

For the first time I caught a vision of what technology would look like without a background in computer science or software engineering, and, strangely enough, it totally blew my mind. I had never really thought about what it would be like to have a technology integrated into every part of my life, accepting it on face value without seeking to understand it down to its fundamental axioms -- the algorithms, the logic circuits, the bits, the transistors. I know that technology is not something that gets everybody excited, but I don't understand how people can operate only in the realm of high-level abstraction. I cannot function that way, I have an immense drive to understand everything around me -- everything I see, use, interact with and experience.

I then realized though that dealing only in high-level abstractions is exactly what humans have done for millennia with biology: treating human beings and other organisms as high-level, abstract entities, without understanding (or without in most cases seeking to understand) their axioms and composition. We did lack the observational tools until recently to introspect our biology at microscopic and molecular levels, but throughout history, as is true today, most of society has not even concerned itself with seeking deeper understanding. There is immense value in dealing in high-level abstractions, but to truly understand a system, you really have to understand "the full stack".

Now we're finally starting to understand the axioms of biology, and what we are seeing and understanding is incredible. A friend sent me photos today of his single-cell fertilized IVF embryos. A fertilized egg is the most amazing thing in the world: it is the very first domino, set in motion, in the most amazing and intricate self-stabilizing, order-creating chemical reaction known in the universe. Think of all the quintillions of steps and interdependencies in this reaction that end up forming an adult human... all packaged up into only about 10B bits of information, within a biological information processing machine. And even more amazing than the biology itself is our ability to introspect and understand our own very composition. Think about how incredible that is to be a being that is not only intelligent and supremely intricate and complex, but a being that is able to understand its own structure and functioning -- eventually -- down to the axiomatic level. If that is not the very definition of transcendent potential and even nascent divinity, I do not know what is.

I ran into the XVIVO founder David Bolinsky for the second or third time a few days ago, and was reminded of the amazing video Inner Life of the Cell that he produced a few years ago:

2014-06-09

The Turing test and Artificial Stupidity

Every news outlet is currently covering the story that a chatbot pretending to be a 13-year old Ukranian boy has deceived 33% of human judges into thinking it is a human, thereby "passing the Turing test for the first time".

There are so many problems with the Turing test (even with the numerous refinements to it that many have proposed) that I don't know if it will ever tell us anything useful. The creators of the above chatbot hinted that part of their success in convincing the judges was that “his age ... makes it perfectly reasonable that he doesn’t know everything” -- in other words, to make a believable bot, you can't give your bot super-human knowledge or capabilities, even if this is technically possible to do (e.g. computers can multiply large numbers almost instantly). Limiting computational power to appear human-like is known as "artificial stupidity". The need for artificial stupidity to pass the Turing test illustrates one of the deepest issues with the test, and one that cannot be fixed by simply tweaking the rules: the Turing test is a test of human dupe-ability, not of machine intelligence.

I'm pretty sure we'll start seeing several claims per year that a bot has "passed the Turing test", followed by a flurry of discussion about what was actually tested and whether the result is believable or even meaningful, until it becomes so cliche'd to say that your bot passed the Turing test that nobody with a halfway decent AI would actually *want* to claim that their AI passed a test of this form.

Hopefully we see the day when the Turing test is inverted, and we realize we need a test to establish that someone is a "genuine human" and not a bot ;-)  But until then, we still have a heck of a lot of work to do!