More of Vinge’s “predictions” for 2025…

In my previous post, I reviewed some of the predictions made in the famous science-fiction book Rainbows end. The book was written in 2006 by Vernor Vinge and set in 2025.

The book alludes to a massive book digitalization effort under way. When the book was written, Google had initiated its book digitalization effort. It is impossible to know exactly how far Google is along in its project, but they reported having digitalized about a quarter of all books ever published in 2013. Google plans to have digitalized most books ever published by 2020. This makes Vernor Vinge into a pessimist: it seems absolutely certain that by 2025, most books will be available electronically. Sadly, most books won’t be available for free, but that has more to do with copyright law than technology.

It is easy to anticipate social outcry at some advances. Vinge imagined that the digitalization of books would be fiercely resisted… but nothing of the sort happened. Google faced lawsuits… but no mob in the streets. That’s not to say that advances are not sometimes met with angry mobs. Genetic engineering is resisted fiercely, especially in Europe. Again, though, what gets people down in the streets is hard to predict.

What is interesting to me is that this massive book digitalization effort has not had a big impact. Even if we had free access to all of the world’s literature, I doubt most people would notice. Mostly, people do not care very much about old books. Wikipedia is a much bigger deal.

And this makes sense in a fast evolving civilization… It is not that we do not care about, say, history… it is just that most of us do not have time to dig in old history books… what we are looking for are a few experts who have this time and can report back to us with relevant information.

Will artificial intelligence eventually be able to dig into all these old books and report back to us in a coherent manner? Maybe. For now, much hope has been invested in digital humanities… and I do not think it taught us much about Shakespeare.

Rainbows end depict delivery drones. Autonomous flying drones able to make deliveries must have sounded really far-fetched in 2006. The main difficulty today is regulatory: we have the technology to build autonomous drones that take a package and deliver it hundreds of meters away to a drop zone. Battery power is an issue, but drones can play relay games. Amazon’s plan for delivery drones is right on target to give us this technology by 2025. Short of short-sighted governments, it seems entirely certain that some areas of the USA will have routine drone deliveries by 2025.

Though Vernor Vinge is often depicted as an extremely optimistic technologist, many of his fantastic visions from the turn of the century are coming on right on schedule. We are also reminded of how long ten years can be in technology… Autonomous drones went from science-fiction and advanced research projects, to being available for sale online in ten years. Not everything follows this path… some “easy problems” turn out to be much harder than we anticipated. But surprisingly often, hard problems are solved faster than expected.

JavaScript and fast data structures: some initial experiments

Two of my favorite data structures are the bitset and the heap. The latter is typically used to implement a priority queue.

Both of these data structures come by default in Java. In JavaScript, there is a multitude of implementations, but few, if any, are focused on offering the best performance. That’s annoying because these data structures are routinely used to implement other fast algorithms. So I did what all programmers do, I started coding!

I first implemented a fast heap in JavaScript called FastPriorityQueue.js. As a programmer, I found that JavaScript was well suited to the task. My implementation feels clean.

How does it compare with Java’s PriorityQueue? To get some idea, I wrote a silly Java benchmark. The result? My JavaScript version can execute my target function over 27,000 times per second on Google’s V8 engine whereas Java can barely do it 13,000 times. So my JavaScript smokes Java in this case. Why? I am not exactly sure, but I believe that Java’s PriorityQueue implementation is at fault. I am sure that a heap implementation in Java optimized for the benchmark would fare much better. But I should point out that my JavaScript implementation uses far fewer lines of code. So bravo for JavaScript!

I also wrote a fast bitset implementation in JavaScript. This was more difficult. JavaScript does not have any support for 64-bit integers as far as I can tell though it supports arrays of 32-bit integers (Uint32Array). I did with what JavaScript had, and I published the FastBitSet.js library. How does it compare against Java? One benchmark of interest is the number of times you can compute the union between two bitsets (generating a new bitset in the process). In Java, I can do it nearly 3 million times a second. The JavaScript library appears limited to 1.1 million times per second. That’s not bad at all… especially if you consider that JavaScript is a very ill-suited language to implement a bitset (i.e., no 64-bit integers). When I tried to optimize the JavaScript version, to see if I could get it closer to the Java version, I hit a wall. At least with Google’s V8 engine, creating new arrays of integers (Uint32Array) is surprisingly expensive and seems to have nothing to do with just allocating memory and doing basic initialization. You might think that there would be some way to quickly copy an Uint32Array, but it seems to be much slower than I expect.

To illustrate my point, if I replace my bitset union code…

answer.words = new Uint32Array(answer.count);
for (var k = 0; k < answer.count; ++k) {
   answer.words[k] = t[k] | o[k];

by just the allocation…

answer.words = new Uint32Array(answer.count);

… the speed goes from 1.1 million times per second to 1.5 million times per second. This means that I have no chance to win against Java. Roughly speaking, JavaScript seems to allocate arrays about an order of magnitude slower than it should. That’s not all bad news. With further tests, I have convinced myself that if we can just reuse arrays, and avoid creating them, then we can reduce the gap between JavaScript and Java: Java is only twice as fast when working in-place (without creating new bitsets). I expected such a factor of two because JavaScript works with 32-bit integers whereas Java works with 64-bit integers.

What my experiments have suggested so far is that JavaScript’s single-threaded performance is quite close to Java’s. If Google’s V8 could gain support for 64-bit integers and faster array creation/copy, it would be smooth sailing.

Update: I ended up concluding that typed arrays (Uint32Array) should not be used. I switched to standard arrays for better all around performance.

Links to the JavaScript libraries:

Foolish enough to leave important tasks to a mere human brain?

To the ancient Greeks, the male reproductive organ was mysterious. They had this organ that can expand suddenly, then provide the seed of life itself. Today, much of biology remains uncatalogued and mysterious, but the male reproductive organ is now fairly boring. We know that it can be cut (by angry wives) and sewed back in place, apparently with no loss of function. As for providing the seed of life, artificial insemination is routine both in animals (e.g., cows) and human beings. In fact, by techniques such a cloning, we can create animals, and probably even human beings, with no male ever involved.

If we go back barely more than a century, flight was mysterious. Birds looked slightly magical. Then a couple of bicycle repairmen, who dropped out of high school, built the first airplane. Today, I would not think twice about embarking in a plane, with hundred of other people, and fly over the ocean in a few hours… something no bird could ever do.

This is a recurring phenomenon: we view something as magical, and then it becomes a boring mechanism that students learn in textbooks. I call it the biological-supremacy myth: we tend to overestimate the complexity of anything biology can do… until we find a way to do it ourselves.

Though there is still much we do not know about even the simplest functions of our body, the grand mystery remains our brain. And just like before, people fall prey to the biological-supremacy myth. Our brains are viewed as mythical organs that are orders of magnitude more complex than anything human beings could create in this century or the next.

We spend a great deal of time studying the brain, benchmarking the brain, in almost obsessive ways. Our kids spend two decades being tested, retested, trained, retrained… often for the sole purpose of determining the value of the brain. Can’t learn calculus very well? Your brain must not be very smart. Can’t learn the names of the state capitals? Your brain must be slightly rotten.

In the last few years, troubles have arisen for those who benchmark the brain. I can go to Google and ask, in spoken English, for the names of the state capitals, and it will give them to me, faster than any human being could. If I ask Google “what is the derivative of sin x”, not only does it know the answer, it can also point to complete derivation of the result. To make matters worse, the same tricks work anytime, anywhere, not just when I am at the library or at my desk. It works everywhere I have a smartphone, which is everywhere I might need calculus, for all practical purposes.

What is fascinating is that as we take down the brain from its pedestal, step by step, people remain eager to dismiss everything human-made as massively inferior:

  • “Sure, my phone can translate this Danish writing on the wall for me, but it got the second sentence completely wrong. Where’s your fantastic AI now?”
  • “Sure, I can go to any computer and ask Google, in spoken English, where Moldova is, and it will tell me better than a human being could… But when I ask it when my favorite rock band was playing again, it cannot figure out what my favorite rock band was. Ah! It is a joke!”

A general objection regarding the brain is that there is so much we do not know. As far as I can tell, we do not know how the brain transforms sounds into words, and words into ideas. We know which regions of the brains are activated, but we do not fully understand how even individual neurons work.

People assume that to surpass nature, we need to fully understand it and to further fully reproduce it. The Wright brothers would have been quite incapable of modeling bird flight, let alone reproduce it. And a Boeing looks like no bird I know… and that’s a good thing… I would hate to travel on top of a giant mechanical bird.

Any programmer will tell you that it can be orders of magnitude easier to reprogram something from scratch, rather than start from spaghetti code that was somehow made to work. We sometimes have a hard time matching nature, not because nature was so incredibly brilliant… but rather because, as an engineer, nature is a terrible hack: no documentation whatsoever, and an “if it works, it is good enough” attitude.

This same objection, “there is so much we do not know”, is used everywhere by pessimists. Academics are especially prone to fall back on this objection, because they like to understand… But, of course, all the time, we develop algorithms and medical therapies that work, without understanding everything about the problem. That’s the beautiful thing about the world we live in: we can act upon it in an efficient manner without understanding all of it.

Our puny brains may never understand themselves, but that does make our brain wonderful and mysterious… it is more likely the case that our brains are a hack that works well enough, but that is far from the best way to achieve intelligence.

Another mistake people make is to assume that evolution is an optimization process that optimizes for what we care about as human beings. For centuries, people thought that if we were meant to fly, we would have wings. Evolution did not give us wings, not as a sign that we couldn’t fly… but simply because there was no evolutionary path leading to monkeys with wings.

Similarly, there is no reason to believe that evolution optimized human intelligence. It seems that other human species had larger brains. Our ancestors had larger brains. Several monkeys have photographic memory, much better strength/mass ratios and better reflexes. The human body is nothing special. We are not the strongest, fastest and smartest species to ever roam the Earth. It is likely that we came to dominate the animal kingdom because, as a species, we have a good mix of skills, and as long as we stay in a group, we can take down any other animal because we are expert at social coordination among mammals.

Yes, it is true that evolution benefited from a lot of time… But that’s like asking a programmer to tweak a piece of code randomly until it works. If you give it enough time, the result will work. It might even look good from the outside. But, inside, you have a big pile of spaghetti code. It is patiently tuned code, but still far from optimality from our point of view.

The Wright brothers were initially mocked. This reassured the skeptics that believed that mechanical flight was a heresy. But, soon after, airplanes flew in the first world war.

In 20 years, we will have machines that surpass the human brain in every way that matters to us. It will look nothing like a human brain… probably more like a Google data warehouse at first… And then we will be stuck with the realization that, from our reproductive organs all the way to our brains, we are nothing special.

Many people refuse to believe that we will ever machines that are better than us in every way. And they are right to be scared because once you invent a machine that is smarter than you are, you have no choice: you have to put it in charge.

Human beings know that they are somehow irrelevant in the grand scheme of things. I write this blog post using a brain that consumes maybe 20 to 30 Watts, with the bulk of my neurons actually invested in controlling my body, not thinking abstractly. In a few decades, it will be trivial to outsmart me. And then I will be back to being an old, boring monkey… no longer a representative of the smartest species on Earth.

Of course, just because we do not need the male organ to procreate does not mean that people stop having sex. The birds did not stop flying when we invented the airplane. Television did not mean the end of radio. The Internet does not mean the end of the paper. Hopefully, my species will make use of its brains for many decades, many centuries… but soon enough, it will seem foolish to leave important decisions and tasks to a mere human brain.

Some of this future is already here.

Could big data and wearables help the fight against diseases?

Biologists and medical researchers are used to drinking data with a straw. Doctors measure heart rate, weight and blood pressure, one at a time, at a high cost. When patients suffer from serious diseases, like cancer, measures are even more expensive. To make matters worse, measures are usually not shared and reused. In fact, even the patients themselves can have a hard time accessing their own data.

How do we get medical data for research? Mostly through clinical trials or one-off studies. These are excessively expensive, narrowly focused, with often very few subjects. Out of all patients suffering from serious diseases, only a small percentage will ever contribute any research data points.

Today, nearly every aspect of cancer care is based on information gleaned from the roughly 3% of patients who participate in clinical trials. But new health technologies in development offer the ability to learn from every patient. These big data tools make it possible to aggregate, analyze, and learn from a wide range of medical data—electronic health records, genetic test results, and more—while protecting the security and confidentiality of a patient’s individual data. (Masters et al., 2015)

If my car breaks down and I bring it to the garage, they can talk to the onboard computer and have much of the relevant data necessary for a diagnostic. If I were to break down in the middle of writing this blog post, the hospital would have almost no data on me.

People are more complicated than cars. Nevertheless, it seems that we are at an inflection point where much will soon become possible.

  • We have entered the era of wearable computing. Everyone is wearing a computer these days, from Syrian refugees to elderly Alzheimer’s patients. These devices range from smartphones, smartwatches, all the way to activity trackers (e.g., FitBit). We can design smart fabrics, smart glasses… All these devices are constantly connected to the Internet and have more than enough power to process the data is situ if needed.
  • The range of non-invasive medical measures that one can take continuously is expanding with every year that passes. Not long ago, just measuring your heart beat in real time required annoying straps… Yet, today, anyone with an Apple watch gets real-time heart rate monitoring. In case of cardiac problems, we can even setup people with constant 24-hour ECG monitoring if needed, and the result is reliable and practical. Google has designed glucose-tracking lenses, and they are working on cancer-tracking devices. There are apps available right now that can monitor your skin for cancer. Qualcomm has setup the Tricorder X Prize which aims to build a Star-Trek tricorder for mobile medical diagnostic. South Korean researchers have designed a brassiere that can detect breast cancer.
  • We have a fantastic cloud infrastructure that is secure and scalable. For all practical purposes, one can consider that we have access to infinite storage and computational power. If we had collected all possible data on you, and you were diagnosed with some problem, it would be a trivial matter to quickly identify similar people who had the same problem in the past, and to review the therapies that worked for them.
  • We know how to process the data in clever ways. Scientists can detect a stroke event from simple activity tracking.

So it seems that we should be entering a new era.

Conclusion: We spent the last decade with our smartest kids working in marketing for companies like Facebook. I hope that, in the next decade, they will apply their computer skills to curing the sick.

The “consensus” is sometimes wrong

Anyone who has a critical mind and who attended college long enough, knows not to trust textbooks. They are full of mistakes. Because textbooks tend to copy each other, you cannot even trust a fact that appears in multiple textbooks. Mistakes reproduce.

Some mistakes are conceptual. For example, hardly anyone ever needs calculus over continuous domains, but this still get taught as if nearly everyone needed it. But many mistakes are also factual.

This is made worse by the fact that human being a very sensitive to arguments from authority: if someone important said or wrote something, it must be true, surely? And influential people are not immune to this fallacy, so they sometimes fall like dominoes, quickly embracing the wrong ideas… leaving all of us stuck with a mistake.

From at least 1921 up to 1955, it was widely believed that human DNA was made of 24 pairs of chromosomes. This came about because a distinguished zoologist called Theophilus Shickel Painter estimated that this must be the case.

Then, in 1955, a relatively undistinguished research fellow (Joe Hin Tjio), who did not even have a PhD at the time, recognized the mistake for what it was and published a short paper in a relatively modest journal that dared to contradict the established wisdom.

This was enough, in this case, to shift our view, but… think about the fact that there were countless researchers at the time that were better equipped, better funded and more established. None of them dared to question the textbooks. It took someone like Tjio.

There are countless such examples, but we are quick to dismiss them as they do not fit well in our view of the world. Yet I think we should always keep in mind Burwell’s famous quote:

“Half of what we are going to teach you is wrong, and half of it is right. Our problem is that we don’t know which half is which.” (Charles Sidney Burwell)

The hacker culture is winning

Driven by companies like Google, the hacker spirit is winning. Though we fail to see it, our culture is being hacked.

One annoying element of this culture has become ubiquitous: constant updates. The old-school software industry minimized updates. Then companies like Google or Facebook came about with software that was constantly updated. For a hacker, this is quite natural… But it breaks rather fundamentally classical organizational and engineering principles. You are supposed to document what needs to be built, build it, verify it and ship it.

Only ten years ago, most people were unaware of software updates. That was something that the IT guys did. When that happened, you occasionally were retrained, but you never had to handle it yourself.

Today everybody knows about software updates. Little boys can tell you exactly which version of Minecraft they are running, down to the last digit.

Of course, constant updates are annoying. Too many of these updates are “up in your face”. They disrupt your work and annoy you. That’s very much the wrong way to do it. Engineers need to perfect “use-friendly updates”.

Nevertheless, sit back and think. If you have ever worked for a traditional organization, these constant updates should be puzzling. Very few people are allowed to redefine their tools and their work on a weekly basis based on constant feedback. Most of us work with time horizons in months or years. Take accounting. At most places, you have a yearly budget that is set in stone and only redefined every year.

Though people are often careful to relabel their work as “engineering” or “scientific”, these constant updates still originate from the hacker culture and its need to make things “work”.

The typical organizational argument against frequent updates is “risk”. But hackers know that this cut both ways… Yes, an update can bring about trouble… but rigid projects often collapse while delivering nothing and costing a lot.

Last time I embarked in a plane, the little monitors set in each chair were showing a Linux update being installed. I was amazed by two things… one, that a plane is running Linux (a “hacker” system) and, two, that they were doing a live update with passengers onboard.

So where does that leave us? I think that once you accept frequent software updates, other things become easier to consider… and that’s the big culture hack I refer to…

  • Maybe your budget could be revised on a weekly basis instead of a yearly one? The counterargument is that it would create chaos… the counter-counter-argument is that by being rigid, you risk missing the boat entirely.
  • Maybe your program should not be set for five years, set to ignore all feedback that you may receive in the future… In fact, maybe we should make five-year plans illegal.
  • Maybe instead of taking fifteen years to see if a drug therapy works… we could administer a therapy to people and review it on a weekly basis based on the thousands of metrics we measure? The counter-argument is “do no harm”… but the counter-counter-argument is that we have millions of people dying with no cure in sight… delaying progress by 30 years means letting millions of people suffer needlessly while wasting enormous resources.

When people show me that, in the past, we have invested millions and billions and failed to make progress… what I see are old-school industries waiting to be disrupted by the hacker spirit.

Hackers vs. Academics: who is responsible for progress?

Many years ago, I interviewed for a job at a nearby college. One of the professors started talking about how they were working to take the “hacker spirit” out of the students.

At the time, I had not yet realized that most professors never build anything themselves. I had not realized that they are too busy managing others, filling out grant applications and so forth. I can be a very naive person.

So I objected rather strongly. I think that the hacker spirit is what drives our progress. Much of our schooling is indeed designed to take the “hacker spirit” out of students, and that’s a problem. We try to make students look more like academics, when we should encourage their hacker spirit.

  • Academics are great at self-promotion. They build a lasting “high status” aura.

    Hackers who try the same strategies often fail. In the open-source community, you can argue until you are blue in the face that you are a giant… but people are still going to ask you for the code. Whoever produces the code first wins.

  • Academics are usually not interested in building a new technical process. Such novelties often bring about a limited and fragile gain of status. Indeed, new techniques can be dismissed or ignored for many years, and the credit can be taken over by others. Theoretical constructs, theorems, theories, models, puzzles, “deeper understanding”… that’s how you achieve a high status! And the world is a very complex place, there is an endless sea of ideas, problems, theories… so it is easy make room for yourself, you do not have to solve real (and dirty) problems.

    Hackers can only win by building new technical processes. If you are not hacking, you are not a hacker. The hacker wants to get something done. And once its done, it is either cool or not… there is no need to debate endlessly about it… one can move on.

  • Successful academics are mostly people who have found ways to get others to work for them. That is the primary purpose of research grants: hire more helping hands.

    Successful hackers certainly attract helping hands, but you are still only as good as your hacking skills.

  • Academics succeed mostly by their mastery of communication. They are able to aptly draw attention to themselves and their accomplishments. They know how to “appear” modest when in truth, their whole objective is self-promotion.

    Hackers let their work speak for themselves. In fact, it is not rare that it is exceedingly difficult to find out who built such or such tool.

Often, pessimists point out to the large sums that have been invested in a cure for cancer, and what little results we got. You mean that all these government grants that were given to self-aggrandizing professors did not produce many new practical techniques? Why am I not surprised!

Meanwhile, people narrow down our progress to information technology. Information technology is somehow special… progress is easier there somehow. Why is that? So you give a little bit of freedom to people who have the hacker spirit and you get giant leaps forward… Why might that be?

Could it be that the hacker spirit is really want is responsible for our progress?

My theory is that if you want to cure cancer or Alzheimer’s, or if you want nuclear fusion, or bases on Mars… you need the hackers. You need people who are not primarily focused on looking good by self-promotion… you need people who thrive when they solve hard practical problems… you need people who only want to be recognized for what they have accomplished, not for what they say…

And what makes me optimistic about the future is that the hackers are mostly winning. They are never on the news. They do not run for office. They do not have great YouTube channels. They do not run government laboratories. But they are slowing winning the cultural war.

You know how you could impress my boys? Hack Minecraft. Build an Android app. Make augmented reality work. Have a YouTube channel where you explain cool hacks.

And you know how my boys know that their teachers are not to be taken too seriously? Because they can’t fix a network connection or hack around the school firewall.

And I think that what is driving this cultural war are companies like Google. Google simply cannot help but promote the hacker spirit. And they are ubiquitous. Companies like Google are pursuing a giant cultural hack on the whole world.

And once it is done, academics will take the credit.

Revisiting Vernor Vinge’s “predictions” for 2025

Vernor Vinge is a retired mathematics professor who became famous through his science-fiction novels. He is also famous as being one of the first to contemplate the idea of a “technological singularity“.

There is debate as to what the technological singularity, but the general idea goes as follows. At some point in the near future (maybe between 2025 and 2050), we shall get to a point technologically where most human beings cannot make sense of the world anymore. We get a form of technological “hyperinflation“: even if you can make sense of the technology we had last year, you are hopelessly lost when looking at this year’s technology. Historically, we have almost always experienced accelerating technological progress… there are more new inventions and innovations in 2015 than any other year in our history… At some point, the rate of change might get too fast for most of us. Vinge chose the term “singularity” to describe such an event, not because we become infinitely wealthy, or machines become infinitely intelligent, but because, as in a black hole, it is an event that you cannot “see” even as you get closer… Your models of reality break down at that point.

In his 2006 novel, Rainbows End, he paints a world going through such singularity. It is in our near future too (2025). In this world, information technology has made such progress that anyone who hasn’t kept up-to-date for the last ten years is hopelessly obsolete… as if, say, you tried to live in 2015 through the lens of someone from 1970. Any intellectual asleep from 1970 to today would need to go back to basic training… learn how to use a computer, maybe starting from a PC. This may require high-school-level retraining. Now imagine that the next ten years (hypothetically) bring about as much change as we underwent in the last 35 years. Most people under 20 today would adapt though an increasing numbers would fall to the side. However, most people over 50 today might end up being pushed aside, as the rate of change becomes faster than they can cope with.

Writing near-future science-fiction is very difficult as it becomes almost instantly obsolete. And you will find very little near-future science-fiction for this very reason. But Vinge was no doubt well aware of this challenge and he is a smart fellow, so maybe his “predictions” for the year 2025 are going to hold out better than, say, mine would.

Let me review some of his predictions:

  • In his novel, many people earn a small income through informal part-time work with affiliate networks, doing random work. Today you can earn a small income through Amazon’s Mechanical Turk and there are many Uber-like services whereas individuals can earn small sums by doing various services. So this prediction is almost certainly coming true.
  • In his novel, we have ubiquitous high-bandwidth networking and zero privacy in 2025. That is, everyone is connected all the time, and hackers can track individuals easily. Given that your smart phone is tracking your every move already, this does not sound improbable.
  • In Rainbows end, we have ubiquitous augmented reality. You can “almost” appear to be at a meeting by projecting your image at a remote location so that people who are equipped with the proper gear can see you and get the impression that you are present. You can virtually repaint your house every day, and people with the right gear can see it as such. This is shown to have applications in gaming, education and medicine. Sadly, we have nothing close to that right now, and it is probably the most disrupting technology in the novel. We had Google Glass but the whole field of virtual/augmented reality has not been making much progress. Can we expect a breakthrough in the next ten years? Maybe. My understanding is that augmented reality is much harder to achieve that it appears. On a related note, hardly anyone has a PC in 2025. I have been (wrongly) predicting the death of the PC for many years now… with no luck… but if we get ubiquitous augmented reality, then a PC would really look old-school.

    In any case, why would ubiquitous augmented reality be so disrupting? Because it draws a sharp line between those who are in it and those who are not. If businesses were to begin relying on augmented reality, employees would have to pick it up quickly or be left behind.

  • In Vinge’s 2025, people can send silent messages without talking or (openly) typing. It does feel like the kind of application that could take off.
  • Ving predicts self-driving cars that can take you somewhere, drop you off and go on to serve other needs. I think Google has shown that it is possible, soon.
  • There is no newspaper, not even the online equivalent. People get news somehow though.
  • It looks like neurodegenerative diseases have mostly been cured. The main character suffered from Alzheimer’s and came back. It is, of course, impossible to tell whether such a medical feat could happen in the next ten years… there are certainly many smart scientists trying to make it happen. However, obesity is still a problem and you can still die from a stroke.

    Many things are related in this respect. Better technology can help us better understand our body and our brain, but a better understanding of our brain could also help us build better technology (better AI). But we have to remain humble: we have known about Alzheimer’s disease for a century and we still have nothing that even looks like a cure from a distance. Naturally, these problems tend to be binary, one day you have no effective treatment, the next you do.

  • The book alludes to a massive book digitalization effort under way. When the book was written, Google had initiated its book digitalization effort. It is impossible to know exactly how far Google is along in its project, but they reported having digitalized about a quarter of all books ever published in 2013. Google plans to have digitalized most books ever published by 2020. This makes Vernor Vinge into a pessimist: it seems absolutely certain that by 2025, most books will be available electronically. Sadly, most books won’t be available for free, but that has more to do with copyright law than technology.

    What is interesting to me is that this massive digitalization effort has not had a big impact. Even if we had free access to all of the world’s literature, I doubt most people would notice. Mostly, people do not care very much about old books. Wikipedia is a much bigger deal.

    And this makes sense in a fast evolving civilization… It is not that we do not care about, say, history… it is just that most of us do not have time to dig in old history books… what we are looking for are a few experts who have this time and can report back to us with relevant information.

    Will artificial intelligence eventually be able to dig into all these old books and report back to us in a coherent manner? Maybe. For now, much hope has been invested in digital humanities… and I do not think it taught us much about Shakespeare.

  • Rainbows end depict delivery drones, and Amazon’s plan for delivery drone is right on target to give us this technology by 2025.

There are more surprises in the novel, but I do not want to include spoilers.

It is maybe interesting to note that while 2006 is not that far in the past, it is also before the first iPhone ever made it to the market. The first iPad came in 2010. Android did not exist in 2006. I think that Vinge had to make a real effort to imagine 2025 and it looks like he did well.

Vinge has predicted in public the singularity for 2030. The problem, of course, is that with such an ill-defined concept, we could say, if we wanted to, that we are going through the singularity right now. I am far more interested to know when augmented reality will be ubiquitous.

What a technology geek sees when traveling abroad

Every time I travel, I try to pay attention to how the experience has evolved thanks to technology. Here are my notes about a recent trip:

  • Only fifteen years ago, I would travel with a dedicated camera. It was relatively bulky and it only had a small screen. Sharing the pictures over the Internet in real time was unthinkable. Today, I can point a camera, say “Take picture” and a picture is taken. If I want to share it with the world, I can then share it with whoever I want in seconds. Oh! And the phone is cheaper, lighter and takes better pictures than the specialized camera I had fifteen years ago. (On this front, I was told that this would not happen because good pictures require a large lens. Evidently, the importance of having a large lens was overstated.)
  • Organizing the trip, including the purchase of the air fare and the hotel, took less than fifteen minutes using an online portal. Fifteen years ago, such work required trained professionals working at a travel agency. I remember at the time that a friend of mine wanted to become a travel agent. I told her that this was a dead-end… that computers would soon do most of the work. She would not believe me. In fact, people thought I had a rather extreme view on this front. I do not know what happened to my friend but, evidently, we need far fewer travel agents today.
  • Checking in for a flight can be done online easily. You also get to pick your seats if you so desire using a convenient map of the airplane. Fifteen years ago, checking in meant waiting in line and getting a desk person to pick your seats. Airlines still appear to have manned desks everywhere, but fewer people work at them, and the lines are shorter.
  • To get to the airport, I did not (sadly) enjoy a self-driving car. However, I spoke in my phone, telling it the name of the airport, and it automatically guided me to the airport by voice, apparently taking into account a major traffic jam. What is more, my phone somehow knew about my flight and reminded me of the departure time, even though I never entered this information by hand.
  • I should add that almost all airports have gotten slicker. It is becoming standard to get free Internet access at the airport. They also include power plugs at convenient locations.
  • Security checks at airport are much more invasive than they used to be… that’s a big negative. However, machines are fast replacing expensive human beings. More and more airports have automated desks that take a picture of you, ask you questions… at the gates, computers try to identify parts of your body that need to be further searched. Evidently, the whole security theatre is becoming more and more automated. Given that these jobs do not appear to be exciting, I would be glad if robots handled most of this silly security work.
  • People sometimes complain that planes have hardly improved since the 1970s. However, the experience has massively improved. Planes offer cheap Internet access, power plugs, a wide choice of movies, TV shows, games… On several planes, you can connect to an external camera and see what the pilot can see. And while prices in real dollars have fallen by half in the last few decades, confort has generally improved. For example, even American airlines offer sensible meals. At one point, in the chairs next to mine, I saw a line of scientists doing hard core programming and simulations. Maybe it was a professor and his students. It became clear at some point that they were interacting live with another team elsewhere. That would have been unthinkable fifteen years ago, to say nothing of the 1970s. (I am not quite sure what was so urgent that they had to work feverishly during the flight. Maybe a conference deadline?) I believe things will improve further: I am hoping for virtual or augmented reality to become common place in airplanes within another fifteen years. Carrying a bulky laptop will be old school in 2030.
  • It used to be that when you parked your car at the airport, you would need to pay the parking fees at a gate where a human being would collect the toll. This has been entirely automated many years ago (at least in Montreal). Paying the fee is now almost instantaneous. Likewise, for many years now, train stations are entirely automated in Europe. You come in, buy your ticket at an automated teller and get in the train. But you have now automated ordering at McDonald’s.
  • Though it can still fail you some of the time, I have a lot of luck with Google’s translation app. Often, you can just point the camera of your phone at some foreign text and you will get a decent translation. It is a bit slow and clunky, but it is a lot more than a proof of concept.
  • Coffee has gotten better worldwide. Fifteen years ago, when ordering coffee in a foreign city, half the time I would end up with something that was barely drinkable. You may argue that coffee is not about technology, but I think it is. It is easier than ever to find a coffee machine that makes decent coffee. My first espresso maker required skills to brew something drinkable where I can brew a much better coffee with my current machine even if it costed far less in constant dollars.

Not all of these changes are good. The security theatre and the invasion of privacy are worrying… I also find that automation can be irritating at times… replacing human beings with automated tellers would be better if the automated tellers could actually answer basic questions and provide simple advice. We should also worry about the job losses.

But what I find fascinating is how hard it is to record and track innovation over a period of fifteen years. If you are lazy about it, you will invariably conclude that nothing changed… but as soon as you pay attention, you see surprising and important changes everywhere.

We are a bit like frogs being slowly cooked… because not all the changes happen at once, we tend not to notice them as much as we should. And then, at some point, we live in a world where it is normal for a team of scientists to keep on working while they are flying. Not only do we fail to notice the change, but we even insist forcefully that nothing changed.

Computing in 2025… what can we expect?

It is hot today in Montreal, so let me play my favorite game: (mis)predicting the future (2025).

  • If the past is any guide, we shall still program using Java, JavaScript, C, SQL, and so forth. Linux will still be everywhere.
  • Using libraries or web services, almost anyone will be able to build a simple application with human-level speech or image recognition, cheaply and quickly. And I do mean “almost anyone” as in “any reasonably smart kid in high school”.
  • Processors with 2 or 4 cores will look antiquated. Basic computer systems (at least in the cloud) will be made of hundreds of cores.
  • Whereas storage is currently nearly infinite in practice, in 2025, memory will be nearly infinite in the sense that programmers will not worry much about running out of memory, even on mobile devices. However, you will only able to access a fraction of this memory per second with any single core.
  • Though we shall still have silicon-based processors, some other technology will be taking over… maybe something esoteric like carbon nanotubes.