I'm reading Ray Kurzweil's book, The Singularity Is Near, and finding it somewhat persuasive. However every once in a while something just looks wrong, and that upsets the persuasivity.

In Chapter 1, he shows various “significant” events in history, like the invention of writing, the development of fire, the Cambrian explosion, etc. He uses the timing of these events to show that change is accelerating:

The thing that occurred to me when looking at the choice of events is that it's a natural tendency to view the world logarithmically. For example, if you ask most Americans about places in the world, they will be able to name the places very close to where they live, the towns nearby, the state, the large cities in the USA, a few very large cities around the world, a few large or important countries around the world, and then places like “Africa” and “Asia”. If you plot the places on a logarithmic chart, you'll get something close to a straight line. If people name astronomical objects, it will be the ones close to us (like planets), the Sun, some nearby stars, and maybe some galaxies. But it won't be some planet in some other galaxy. If people name biological variants, it'll first be the ones close to us (various races of humans), then types of mammals and maybe reptiles, then “fish”, then “bacteria”. It won't start with various species of bacteria or fish. This is because things that are physically or conceptually farther away are resolved in the brain at a lower “resolution”. The closer something is to you, the finer granularity you use to distinguish it from other things.

The same is true for time. For example, Kurzweil's choice of events includes the Cambrian explosion at a very coarse granularity. It doesn't include development of limbs, eyes, skeletal system, muscles, or other events that would've been considered significant if the list was developed back then. Those changes are all grouped together. Similarly, if the list had been developed around the time multicellular life developed, it would have included significant achievements like the development of cell walls, a nucleus, ribosomes, etc.

Things that are farther away are resolved in the brain at a lower “resolution”. The brain's use of variable resolution means that changes from the past are grouped together into larger units, and that makes it look like change was occurring more slowly in the past. I do believe that change is accelerating, but it's not accelerating as quickly as Kurzweil believes.

Something I don't understand from Ray Kurzweil's arguments about the “Singularity”: he says that we're in the “knee” of the growth curve:

... exponential growth is seductive, starting out slowly and virtually unnoticable, but beyond the knee of the curve it turns explosive and profoundly transformative.

There's a big problem with this idea.

Exponential curves do not have knees.

Exponential curves are scale-free. If you replot them at a different scale, the knee will appear to be in a different place. Furthermore, the knee will always appear to be near the right edge of the curve, so you'll always think the knee just occurred recently.

I searched Google to find any page on how to define the “knee” of an exponential curve, but did not find one. I only found one page that even mentions the issue. Why aren't people pointing this out? Am I missing something? Only Steve Jurvetson, in a comment on his own blog, says:

For almost any issue, the “knee in the curve” occurred in the recent past, and history before that seemed pretty flat. But, of course, there is no knee or inflection point or “hockey stick” in an exponential curve (when plotted on log paper, this more obvious). Roll the clock forward 5 years, plot again, and the perceived “knee” on a linear graph will have moved forward 5 years.

I'm only on page 10 in Kurzweil's new book, The Singularity is Near (which I received at the Accelerating Change 2005 conference), and his opening argument is suspect. This is going to leave a bad taste in my mouth as I read the rest of the book.

Something that really annoys me about Google Groups is that it wastes tons of horizontal space. As a result, you can't read 80 column wide messages without wrapping, unless you have a full screen browser. I don't use a full screen browser.

With Firefox 1.5 and Mozilla 1.8, there's a feature that allows custom CSS rules for specific domains, specific URLs, or specific URL prefixes. You can also do this with older versions of Firefox and Mozilla with the UriId extension. It's like Greasemonkey, but for CSS instead of Javascript. In userContent.css, you can add rules of these forms:

Ten years ago, when I bought my last car, it got roughly 35 mpg (highway). Saturn's gas mileage was going up every model year. I got the 1995 SL2 and was quite happy with it. I was spending just $25 per month on gas. Back then, I saw things were improving every year, and I thought, ten years from now, just about every car will get 35 mpg and I'll find a sporty car that gets at least 40.

Little did I know then how bad things would get. The first sign for me was when Saturn dropped their SL2 line (which was getting 38 mpg by then) and introduced the new larger, less sporty, lower gas mileage Ion, getting only 33. Ugh! But that was minor compared to people switching to SUVs. Double Ugh!

Now in 2005 I'm looking for something better than average. It needs to be sporty, have neat technology, and a simple user interface. I'm very annoyed that few cars get 40 mpg, and very few sporty cars get good gas mileage. I ended up choosing the Audi A3, which isn't quite as good as my old Saturn, but it's sportier and safer. It gets the same mileage in the city (despite it being 30% heavier, in part due to all the airbags, antilock brakes, traction control, etc.) and worse on the highway. But it's still over 30 mpg highway, which makes me feel a little better.

But I'm still angry that 30 mpg is not commonplace. And now I see that I'm not the only one who feels this way. I disagree with the author of that article though: I don't blame carmakers or the government for this. Carmakers do what we tell them to do with our money. If consumers choose gas mileage over size, carmakers will make cars with better gas mileage. After all, they're competing for our dollars. They'll do what we tell them to do. Not what we tell them to do with our words, but what we tell them to do with our actions. Our words are, “gas costs too much” but our actions are, “I'm going to keep buying gas no matter what you charge” which translates to “I'm willing to pay even more.” If Americans choose size over efficiency, they're saying that efficiency isn't as important as size, so carmakers should focus on size. That's what carmakers (and all businesses in a free market) should do: provide what the consumer really wants, not what they say they want.

Large, bulky vehicles are not the choice I'm making though. I've chosen small, sporty, nimble, and better mileage. Will others choose the same? It's possible that high gas prices will get people thinking about fuel efficient cars again. I hope so. You don't need to pay a premium for a hybrid. Take a look at the Toyota Corolla (32/41), Scion xA (32/37), Pontiac Vibe (30/36), Dodge Neon (29/36), or Honda Civic (36/44). If you really “need” an SUV, consider the Toyota RAV4 (24/30), Saturn VUE (23/29), or Honda CRV (23/29).

Even though I generally feel the government should not be forcing people to buy certain kinds of cars, I do think the government should play a role in some aspects of cars, especially when consumers are unable to make good decisions or when others have to pay the costs. Example: all of the above quoted mpg numbers are somewhat bogus, because the EPA's tests do not reflect realistic driving conditions. For one thing, they take place in a building and not on the road, so wind resistance (coefficient of drag) does not play a role. Instead, the EPA assumes all vehicles have the same air resistance, and uses that to compute the mpg numbers. The government's role here should be to provide realistic mileage numbers so that consumers can make better choices. I also think there are costs (like pollution, carbon dioxide, and noise) that are not paid by the person who chooses the car, and that the government's role here is to transfer those costs to the decisionmaker. Gasoline taxes are part of this, but there should be fees or taxes for emissions, carbon dioxide, and noise as well. The cost of accidents is borne by insurance companies, but government should require that car owners have sufficient insurance. The goal should be to get the best outcome for society via choices freely made by businesses and individuals. When there's an inefficiency (primarily because one party benefits while another party pays the cost), government should step in and make sure the costs and benefits are apparent and assigned to a decisionmaker. But that's it. I don't think government should be telling us to buy certain kinds of cars or to eat low-fat yogurt or to stop smoking. Government should make sure the benefits and costs of a decision are paid by the decisionmaker and not by someone else. Government should make sure we have the information we need to make good decisions ourselves.

Do your research. Make good choices. My Audi A3 should arrive at the end of November.

With all the talk of space elevators, I had to bring up what I think is a better approach. The space pulley is basically two elevators, one going up while one goes down. When you need to launch something into orbit, you put your satellite on the elevator at the bottom, and someone up at the space station puts something even heavier on the elevator at the top. Gravity pulls the heavy object down and the pulley lifts your object up. We use friction to keep the speeds reasonable.

What would we want to bring down?

The first thing is space junk. There's lots of it up there, and you can sell it on eBay.

The second thing, once you've exhausted space junk, is asteroids. With these, you can lift up really heavy satellites (which will become the space junk of the future), and you can bring down some raw materials which will be worth plenty in the commodities markets.

The third thing, which might be harder to find, is comets. You can bring some comets down in Egypt to provide fresh water to irrigate the rest of the country.

You might also want to bring things down to harness the gravitational energy. As with hydroelectric dams, you can generate energy when things fall.

Don't tell me it's impractical. The description of my blog is Amit has crazy thoughts, so I'm required to post things like this!

Over the past few months I've gotten several emails from recruiters telling me they liked the resume I've posted to the web. I haven't had a resume on the web for about six years, so I've asked each of them where they saw my resume. If my resume from six years ago is still posted somewhere, I want to know, because I need to update it.

Each of the recruiters sent back an email without a location of the resume. One person said she didn't remember. This recruiter also used "pls" instead of "please". One person said they had no resume (even though the initial email said that's how they found me), and instead it was some white papers which I "c0-authored" (note the "0"). And one person said they found it through a Google search, even though there are thousands of Amit Patels and there isn't a resume found on Google that links to me. One mentioned my academic background in AI (I studied programming languages, not AI). One asked me if I was interested in a job as a marketing manager for a "stone factory in Japan".

Do the companies who have hired these recruiters realize how bad this looks? I'm not interested in your company if you can't even tell me how you found me, what skills of mine you're interested in, or if you are confusing me with someone else.

There are some apps for Windows and Linux that use the Gtk cross-platform library. I'm using Gaim (chat/IM) and Gimp (paint) in Windows, and both use Gtk. Unfortunately Gtk is primarily a Linux library; using it in Windows is sometimes awkward. In particular, there's no obvious way to change the font size or colors. That's because in Linux (with Gnome) you use Gnome to change the default colors and fonts. But in Windows, I'm not using Gnome, so there's no obvious way to do this.

The solution is to find your home directory (C:\Documents and Settings\username) and create a text file named .gtkrc-2.0 containing this:

Then restart your Gtk-based app. Thanks to the PyGtk FAQ for this tip. Note that this also works in Linux.

Update [2006-01-26]: It turns out Windows Explorer (the GUI shell) does not let you create files named .gtkrc-2.0. You can either use the DOS window for this, or Save As in your editor (e.g., Notepad).