February 20, 2010

Contradictory vs preservative time travel paradoxes

Time travel paradoxes are a very exciting phenomenon. Regardless of whether time traveling is possible or not, one can imagine time traveling and the paradoxes that occur inevitably. In order to have a base for future posts, I want to explain two kinds of time travel paradoxes I am distinguishing. Both of them can only appear in backwards time travels, i.e. when traveling back in time. Furthermore, the travel is ought to be a travel into the past of the own time line, i.e. it is not a travel to an alternative universe.

Self-contradictory time travel paradoxes

A self-contradictory time travel paradox is an event that prevents itself. An example is a time traveler who travels back in time and prevents the construction of his time machine. Without the time machine he cannot travel back and prevent the construction of his time machine. Sounds contradictory? Yes it is, hence the name. A more classic example would be killing ones own ancestor in the past.

Such paradoxes are paradox because the effect of a cause is preventing that very same cause. Obviously, such paradoxes cannot occur in nature, but this does not prevent me from writing about them.

In literature, self-contradictory time travel paradoxes are sometimes resolved by defining time travels to be travels to an alternative universe. Actions in that alternative universe do not have an effect to the original universe of the time traveler. In the 2002 movie adaption of H.G.Wells' novel The Time Machine the protagonist, a time traveler, is unable to prevent the murder of his fiancé because that would lead to a self-contradictory paradox. In that movie, time travels are indeed travels in the own universe, but one cannot change the past in a way that it would prevent itself.

Self-preservative time travel paradoxes

Self-preservative time travel paradoxes are harder to explain. Unlike the other kind, this paradox is not self-contradicting. So why is it a paradox then? Because it forms a circular dependency in its cause-and-effect chain. This is contradicting to our observation that every event in the world has a cause that happened before the event. An example is a time traveler who travels back in time to enable the construction of his time machine, e.g. by giving the construction plans to himself. A classic chicken-and-egg problem.

There is also an analogy to the ancestor example above, but it is to perverse to explain here. A more moderated version of that analogy is used in the movie Terminator I. In that movie John Connor sends his own father back in time to meet John's mother and conceive John.

The television series Lost was full of self-preserving time travel paradoxes until the end of season 5. In the series, this was refered to as "what happened, happened". [Spoiler alert: do not read further if you are interested in Lost and have not yet seen the first episode of season 6]. Beginning with the last episode of season 5, this seems to have changed. A self-contradictory paradox occured and an alternative time line spawned. This seems to be contradicting with the statement "what happened, happened" postulated until then. In a future post I will explain why this does not have to be contradictory in Lost.

February 9, 2010

Next generation operating systems

There is currently a massive shift in operating system paradigm. One that Microsoft seems to have missed. I am not speaking about general purpose operating systems. I am speaking about operating systems that are designed for end users: users that want to use their computing device for surfing, messaging or consuming media. These users constitute the majority of computer users today.

The operating system designed for these users will be a very simple one. It will exclude features that many think of being the main components of an operating system today. The next generation operation system will
  • not have a complex window manager
  • not expose a file system to the end user
  • not expose complex OS settings and configuration
  • store user data in the cloud, instead of in a local data store
  • run applications on the cloud or as web applications, instead of on the local CPU
This may sound like SciFi to many at first. But if you look close, you will see that major players are already competing in being the first to deliver this kind of operating system to the end user. Apple builds the iPad which has a very simplified operating system. Google builds the Chrome OS, which is supposed to be a cloud OS.

Rumor says that internal discussions at Microsoft regarding developing such operating systems got blocked because such operating systems do not fit well with MS Office. I would predict that it will not take long until they change their minds.

Current operating systems will not disappear completely, of course. They will still have their purposes as servers, workstations or as gaming platforms (the later will not last long, I would say). It may also be that end users will still own an ordinary computer with ordinary operating systems for some time. But for every such computer the users will own at least 1 or 2 devices which will be running the new next generation operating systems.

Progress Updates:

February 4, 2010

Computing industry rock stars - celebrities of the future?

I recently noticed that I am adoring rock stars of the computing industry just like other people are adoring pop stars in the music industry.

I am frequently searching Google for news about them, try to read every publication of them, and can barely await the next post in their blog (if they have one). If I would meat meet one of them in real live, I would fall to their feet and beg for an autograph. Interestingly, I cannot say the same about one single living music pop star (Michael Jackson does not count). There could be one or two movie stars falling into that category, though.

Is my worship for computing industry rock stars a crazy rarity, or are they really gaining in general popularity? Will computing industry rock stars be as popular as celebrities of the movie or music industry in the future?

November 19, 2009

Closures for Java 7

Yes it's true! Java 7 will indeed have closures. I was enthusiastically following the Java closures war in 2007, and subsequently had lost hope that Java will ever have closures. But now it seems like the heads at SUN have changed their minds after all. This was announced by Mark Reinhold at devoxx.

Let's hope they do it right. Which of the various closure proposals will be used? Apparently it will be a mix of them all. Syntax-wise it resembles the simplistic FCM proposal, semantic-wise it partly uses the BGGA approach: seems like assignments to captured non-final variables could be in, but non-local transfers will be out (using break or continue within closure code will yield a compile-time error). Sadly this also strikes out BGGA's innovative control-statement-invocation syntax. Anyway, they have changed their decision once so there is still hope for more BGGA support.

Some quick links pointing to various sources of this news:


Catched a comment from Neal Gafter on Ted Newards blog:
I had been discussing this spec [BGGA 0.6a] with Gosling, but I have had no contact with Reinhold.
And another one on Cay Horstmans blog:
the 0.6a specification is NOT BGGA, nor is it intended to document Mark Reinhold's plans for JDK7. [...] it resulted from a discussion with the other authors of the BGGA spec culminating in this document a couple of weeks ago [...] I was attending PDC09 when I read a tweet about closures and put up the link. I think the timing and similarity to Mark Reinhold's announcement are either coincidental or Gosling has passed it on to him. [...] Note that this spec allows access to non-final local variables from the enclosing scope, which rumors suggest Reinhold has ruled out.
It's a shame Neal does not blog about closures himself anymore.

October 6, 2009

Memories of the (Next Generation) Future

By chance I recently came upon Memories of the Future, a book written by Wil Wheaton, actor of Wesley Crusher in the tv series Star Trek The Next Generation. I am happy not to have missed on this one before it is released in a week or so, which is why I am posting about it now, contributing to the publicity of the book (and because Wil ordered me to do so in his podcast).

Wil releases podcasts with excerpts of his book on a weekly basis. The book is a humorous recap of the first season of the series, from a Wheaton/Crusher point of view. Best part so far for me is how Wil manages to recapitulate the episodes as if Wesley - a mere 14 year old boy - had been the hero of the show, while at the same time knowing that this character was hated by so many fans, and he as an actor was so bloody inexperienced.

I never hated Wesley though. As I had been at similar age, when I first saw the series, I could perfectly identify with him as a character. I am totally going to enjoy the book. If you are not going to buy it, at least go tell your friends about it.

September 19, 2008

Top 100 Blogs for Development Managers (Q3 2008)

There is a new list containing the top 100 blogs for development managers. No, my blog is not listed there ;-), though I am a happy reader of many of the top blogs. I don't know why the list is titled "for development managers", most of the blogs listed there should be interesting for any developer, like me.

March 31, 2008

Computers are sexy, or are they?

Joshua: I think also, computers aren't quite as sexy as they were when we were growing up, you know.
James: No I mean, when I was growing up, computers were the definition of unsexy.
Joshua: Oh I'm sorry, I mean to geeks like ourselves.
Neal: Closures are sexy though.
James: Yes so, we have photographic evidence of that one.

Joshua Bloch, James Gosling and Neal Gafter at the Javapolis discussion panel: The Future of Computing. Better than your favorite sitcom (if you are a Java geek like me).