When installing the demo for the game Space Hack, the license agreement is:

YOU SHOULD CAREFULLY READ THE FOLLOWING END USER LICENSE AGREEMENT BEFORE INSTALLING THIS SOFTWARE PROGRAM. BY INSTALLING OR OTHERWISE USING THE SOFTWARE PROGRAM, YOU AGREE TO BE BOUND BY THE TERMS OF THIS AGREEMENT. IF YOU DO NOT AGREE TO THE TERMS OF THIS AGREEMENT, TOUGH…

Queue the lawyers!

[... legalese snipped ...]

Phew! Now that that’s over, get playing!

Unfortunately, reading it and understanding it are two very different things. It's still written in legal language and not plain language that the end user can understand.

I've been using Gmail's labels for a very simple database. I email myself contact information (address, phone number, email address) for my friends, using the person's name as the subject line. Then I label the email with contact. When I want to look up the person's contact information, I can search name label:contact.

This also works for recipes. Email yourself each recipe as a separate email message, using the name of the dish as the subject line. Then label them with recipe. When you want to find a recipe in your database, search for dish/ingredients label:recipe.

For many years now I've pondered what's next in delivery services. In 1973, FedEx gave us overnight delivery. With faster delivery you not only make more shipments of the same type of items you had been shipping (“depth”), you also ship things you would have never shipped before (“width”). Instead of trying to capture more of the pie, FedEx expanded the pie, both width and depth, made lots of money, and made their customers happy.

The next step for delivery services is to again dramatically improve delivery times. There are lots of times I'd like to buy something online, but the delivery time is too long, so I end up going to a store. For example, when I went on a cruise to Alaska, I wanted to buy a digital camera. We were leaving for the cruise the next day, so I didn't want to order online. If delivery were faster, I would've ordered online. This is what I call “depth” expansion of the business—more deliveries of the type of items people ship anyway.

There are some items that I would not consider ordering online from a faraway place. The main example is prepared food. If I want a pizza, I will order from a local store but not from Amazon.com, because pizza delivery via FedEx is too slow. If delivery took an hour instead of a day, people would be willing to ship meals. I could order a Philly cheese steak sandwich from .. Philadelphia. This is what I call “width” expansion of the business—delivery of items that people would have never shipped with a slower delivery system.

To get faster delivery, we need something that goes much faster than trucks. To get my sandwich from Philadelphia to California in one hour will require something travelling 3000 miles per hour. Unfortunately this is faster than the speed of sound. Supersonic travel is expensive and complicated. If we can lower the air pressure, we can reduce the air resistance and lower the cost of moving a shipment. (Surprisingly, air pressure does not affect the speed of sound.) Thus, the solution is to use evacuated (near-vacuum) tubes.

A network of evacuated tubes running throughout the country would allow fast delivery of small packages. These tubes would be connected together at hubs, which would function somewhat like Internet routers. The RFID tags in each package would be used by the hub to route it to the best tube. As with the Internet, the package hubs could adapt to route around congestion. However, unlike Internet packets, we don't want to lose packages.

The cost of building evacuated tubes to every household is incredibly high. Initially, the deliveries would be made to central locations in each community, perhaps post offices. Either the post office can then deliver packages to your home/office, or you can go there to pick it up. The next stage would likely be to build tubes to higher density locations like office buildings, skyscrapers, and apartment complexes. Lower density locations like single family homes would most likely be the last to receive delivery tubes. In older locations where new infrastructure is not being upgraded, tubes might be attached to the inside top of sewage tunnels.

I think getting sandwiches from Philadelphia to California is unlikely to be practical. However, having a sandwich delivered from across town in a matter of minutes could become commonplace. If you want a book, Amazon could print it at a local printer and then have that book delivered to you within minutes. EBay sellers could send their small goods through this network. If shipping on EBay became fast and convenient, we might see everyone participate. It could be the P2P of physical goods.

The initial cost of such a system is very high. The value of a delivery system is that you can ship anywhere. It does little good to have tubes running to only a few cities, although it might be feasible to use existing delivery services in conjunction with the tube system. Once the system is built, he marginal cost is lower than with FedEx, because the entire system can be automated. In addition, the demand will be much higher than the current demand for shipping services. I think eventually this system would be very profitable.

Google shows 41 search results for "Koki Anna". Why? Because a certain word processor flags U.N. Secretary General's name, Kofi Annan, as a misspelling, then suggests Koki Anna as a correction. So you end up seeing documents that have the wrong spelling of his name, including a page on the U.N.'s own web site. How embarassing!

I have mixed feelings about this. Part of me is old-fashioned and thinks everyone should learn spelling, grammar, arithmetic, etc. But part of me thinks as human beings get augmented with computers (including PDAs and cell phones), we shouldn't bother learning mechanical tasks like arithmetic and spelling. Computers are better at following rules. Human brains are better at breaking rules. Memorization is a very inefficient use of our brains. We should spend our brainpower on creativity, learning patterns, and designing things. Until that day comes, however, we should all learn how to spell.

It sounds like there's an auto-update to the AIM (AOL Instant Messenger) client that advertises their new “Away Page” feature. The advertisement (in the AIM client) says “Less right clicks, use the Away Page!” However, it's spooky, and it looks like a virus. As far as I can tell, it's not, but I'm not finding much information on the web about it.

I'm glad I don't use the regular AIM client. (I use Gaim, which is available for Windows and Linux.)

Update: my gaim isn't working for me anymore. I wonder if it's related to the “Less right clicks” thing. I spent an hour trying to figure it out, then gave up and switched to Google Talk. The buddies I care most about have switched too.

When choosing what to eat, there are usually tradeoffs between taste and nutrition.

Good nutrition: water, beans, fresh fruits, whole grain foods.

Bad nutrition: soda, beef, cheese, salt, chocolate.

Why do I have to make those choice? Why can't I have nutritious chocolate? The problem is that after many millions of years of evolution, primates prefer food that lets them fatten themselves up, because they're more likely to survive through famines. And evolution only weeds out bad habits that kill you when you're young. So we ended up liking foods that will kill us in the long run. But this is a solvable problem.

I'm starting to notice more things in the world where there are two options, and both of them are unpleasant (e.g., either you have heart disease or you give up fatty foods). In cars, either you give up gas mileage or you give up horsepower. For energy, you either give up comfort (air conditioning, etc.) or you hurt the environment. With programming, you either have slow reusable code or you have fast messy code. For cameras, you have high resolution still pictures or low resolution movies. I don't want to make the tradeoff anymore. I want the best of both.

With food, let's decouple nutrition and taste. The simplest (but perhaps ugly) way to do this would be to divert food after it has hit the mouth (where it contributes to taste) but before it hits the stomach (where it contributes to nutrition). We could then feed supplements into your stomach.

Since the supplements are much smaller than real food and they don't need as much digestion, we can downsize the stomach and intestines and maybe some other organs. You could use that space to keep all the diverted food. You could use any additional for storage, like Bender on Futurama.

Every once in a while you'd have to remove the supplement cartridge and plug in a new one. Unfortunately Lexmark will use DRM to prevent you from refilling your nutritional supplement cartridge.

That way I could eat all the unhealthy food I want and it won't impact my health. No tradeoffs, other than the Lexmark issue. Don't settle for less.

Car sun shades are very useful. You can put them up when you leave your car to keep the sun out. This keeps your car cooler, reduces the amount of gas you use slightly (because you don't need to run your air conditioner so much to undo the heating), and helps protect your seats and dashboard.

The problem is that they are manually operated. The popular silver shades are unrolled and placed in the windshield. There are also black perforated shades that can be pulled out. They're manually operated because it's too expensive for third parties to automate this stuff into every type of car.

Carmakers should automate sun shades. When the car is off, you should be able push a button to have a sunshade come up. For the windshield it could be set up just like the windshield wiper—an arm comes up and spreads out a folding shade. For the side windows it could be like the power windows—a reflective cover comes up from the door. Someday we'll use windows that can become opaque. Right now it's too expensive, but maybe in five years it will be reasonable.

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).

It's been eleven years since then. Look how much you can order online now! I'm impressed that Pizza Hut was one of the first companies experimenting with "e-commerce". And despite my friends thinking I'm uncool or have no taste, I really do like Pizza Hut's pizza.

If an item you deposit is returned to us unpaid or is otherwise charged back to us, we will charge it back to your account. Generally, you can't withdraw a deposit for 5 business days. However, when you first open your account, you won't be able to withdraw any money for the first 10 business days. As with all non-cash deposits, interest will begin to accrue no later than 2 business days after the banking day on which the funds were deposited. (Here's an example - if you make a deposit on a Sunday, we will process it on Monday, and interest will begin to accrue no later than Wednesday.)

Here Comes the REALLY Hardcore Legal Stuff

And Finally! Wow, that was a lot of reading. Congratulations for finishing this!

Pursuant to Federal law, you're only allowed to take money out of your OSA 6 times per monthly statement cycle ("Cycle"). If you repeatedly make more than 6 withdrawals during a Cycle, we may close your account. Under Federal law, we must reserve the right to require you to give us at least 7 days written notice before you take money out of your OSA. (This hardly ever happens but legally we have to say it!)

When I think about the things that make me happy, it seems that there are two basic categories. There's surface happiness, which comes from things like watching a TV show or eating a good meal, and deep happiness, which comes from things like building a water fountain or writing a program.

The surface happiness comes from things that are pleasurable or exciting or novel. These things tend to be something I'm consuming. The happiness tends to last a short time. I need a constant stream of these to keep me happy. I've noticed that I can suffer withdrawal/crash symptoms if I have a lot of these and then I suddenly don't. For example, one weekend I went to Calistoga with my wife and coworkers. It was lots of fun. But when I got back home I was depressed, and I wouldn't have been if I had never gone on that trip.

The deep happiness comes from things that took effort. These things tend to be something I'm producing. Actively creating something takes longer but the happiness lasts longer too. I don't need as many of these to keep me happy, and the entire process of creation makes me happy, not only the end result. For example, a few years ago I wanted a small water fountain for the backyard. My mom bought me a fountain and I set it up. It was fun for a short time. But it didn't make me happy. I decided to read about fountain pumps, water filtering, etc., and then bought some parts myself and built my own fountain. That made me much happier, even though the end result was pretty similar. The process matters.

The difference between my two types of happiness can be labeled passive vs. active, but I think there's more to it than that. Although actively producing generally leads to deeper happiness than passively consuming, I think the real difference is in meaningful decision making. When I play Diablo, I'm pretty active, but most of that activity doesn't involve meaningful decisions. The "hack and slash" part of the game is pretty mindless; only the strategy for character development involves decisions that matter. When I play Civilization, my decisions matter much more. When I'm finished playing Diablo, I certainly had fun, but when I'm finished with Civilization, I feel a sense of accomplishment. Both take effort and require activity but one makes me happier than the other.

Another thing that seems to make a difference for me is when I use something in a way it wasn't intended to be used. With the fountain, I used saran wrap, which is not a normal building material for fountains. When I use something for what it was designed for, it feels like someone else has made the decision, whereas when I use it for something else, I'm the one who made the decision of how it will be used.

I do need both types of happiness, just as I need both fast and slow muscle, but for me, producing things yields much better, much longer lasting happiness than consuming things.

What kinds of shows are on it? The main portion of their home page shows what's on now and what's coming on soon. You can click on a time and it'll show you what's on. However there's just the name of the show and no description. Furthermore, the show name (image) is clickable, but nothing happens when you click (at least in Firefox). It's done in Flash and has lots of graphics and animation but nothing useful. Bad, but it's possible they just haven't finished the implementation.

How do I watch? I wanted to know whether I received this channel. I clicked on find the channel here. It's a pop-up window. It states, “To find out if you get CURRENT, please identify your cable or satellite provider.” So far so good. I put in my cable provider. It then wants my name, address, phone number, email address, and year of birth. Bad. It considers 1900 to be an invalid birth year. After I fill out the form, it gives me this:

Welcome to CURRENT - a new conversation with TV. Thanks to Comcast we can connect with each other and really interact. Who knew it could be so good? Check out the Studio to find out how to start the convo. Looking forward to it.

If you do not currently subscribe to Comcast and are interested in getting CURRENT, please call 1-800-945-2288.

This is completely useless. What does it even mean? It didn't answer my question. It ends up telling me what to do if I do not subscribe to Comcast, even though I told it that I have Comcast. (That's Comcast's 1-800 number.) Bad.

Why don't they tell you what kind of programming is on? Why are they trying to discourage and confuse me when I try to find out how to watch them? So far I'm not impressed. When it comes to their web site, they seem clueless.

Update: [2005-07-31] I discovered (after discovering that “Current TV” is very hard to search for) that Comcast does have Current TV in my area, but it costs extra. Comcast's confusing site does not tell me how much it will cost, nor which package includes it, but from reading various message boards I think I figured out what I would need to order. It's $23.86/month extra to get Current TV. I'm not going to pay that much. Why isn't it in the standard cable package?

Update: [2005-08-01] For Comcast viewers, they no longer have the form you have to fill out to find out how to watch. And it no longer has the confusing message about Comcast. Yay. For other folk, you still get the stupid form.

There are cities that allow ambulances and other emergency vehicles to control the traffic lights (turning them green so the ambulance can get to the emergency faster). This is done with a device called a MIRT (MIRT = mobile infrared transmitter). Eventually troublemakers get a MIRT and start causing trouble. People love to drive around and never get a red light.

It occurred to me that the problem is that all the MIRTs are the same. If each MIRT used some sort of encryption, where each ambulance had its own private key, then each traffic light would know which ambulance was passing by. When a device was stolen, its key could be removed from the list of valid keys, and all copies of that device would be disabled at once.

To make this work, you need all the traffic lights to receive updates periodically. This could either be networking (WiMax?) or it could be someone driving around with a special device that can update the keys through the MIRT. Of course, if someone stole that device, it's trouble!

I had unplugged my bedside lamp a few days ago. I had forgotten that I unplugged it, and tried turning it on tonight. It turned on momentarily, then went out. At first I thought the bulb might have gone out, but then I realized it was unplugged.

So why did it turn on momentarily? The AC/DC converter must have stored some charge in there and kept it for the past few days. Scary!

The system would likely be comprised of tandem satellites, one serving as a communications platform, the other carrying an indeterminate number of tungsten rods, each up to 20 feet in length and 1 foot in diameter.

It's an interesting approach. Very heavy objects dropped from a very high altitude carry a lot of potential energy, which is then converted to kinetic energy, which is then used to destroy things.

I wondered though, where does that energy come from? We have to lift those rods into space. How much would it cost?

What is the volume of each rod? The volume of a cylinder is pi * radius2 * length = pi * 0.5ft * 0.5ft * 20ft = 15.7 cubic feet.

What is the weight of each rod? First convert 15.7 cubic feet * (12 in/ft)3 = 27143 cubic inches. Then multiply 27143 cubic inches * 0.7 pounds/cubic inch and we get 19000 pounds.

What is the cost of tungsten? Google pointed me to a Reuters story suggesting prices are quoted in hundreds of dollars per ton. That means the tungsten in this rod should be fairly cheap (under $5000).

What is the cost of lifting something into orbit? This is harder to find; Google pointed at many different costs. The ad I got on that search led me to spacetethers.com, which gives $1000-$2000 per pound. Given that it's the military doing this, I have to take the upper estimate, and say that the cost is $2000/pound * 19000 pounds, giving $38,000,000.

I suppose $38 million could be considered a “reasonable cost” to the military.

downloads.rdf, localstore.rdf, mimeTypes.rdf, search.rdf - text, XML, RDF (note that mimeTypes has a capital letter, unlike all the other filenames)

formhistory.dat, history.dat - text, resembles XML but isn't (note that these .dat files share the same extension compreg.dat but uses a different format); it's apparently called the Mork format

hostperm.1 - text, tab separated (note that this is the same format as cookies.txt but uses a different extension)

prefs.js - text, javascript

signons.txt - text, multiline, dot separated (note that this has the same extension as cookies.txt but a completely different file format)

xpti.dat - text, comma separated (note that this has the same extension as other files but yet a different format)

Not only is the profile folder a complete mess, it's not at all clear which files need to be saved (because they have user data like bookmarks and history) and which ones can be wiped out (because they have installation specific data like an extension list).

To all software developers: make it simple, please. You shouldn't need 11 different file formats to store user data. Use consistent and meaningful filenames. Use consistent extensions. Use the simplest file format that works. These are the same issues that come up when coding.

Early in May, in the middle of the night, I awoke to fire alarms in my apartment complex. I hurriedly got dressed and went downstairs to the street. Around 50 people did the same thing. After waiting a while, the fire department showed up, went into a small room, and turned off the alarm.

Less than an hour later the fire alarm went off again. I went downstairs again. Around 20 people did the same thing. After waiting a while, the fire department did the same thing. It was a second false alarm in the same night.

A few weeks later, early in the morning I awoke to fire alarms again. I went downstairs again. I saw 4 people. After waiting a while, the fire department arrived, investigated, and went to the fire hydrant.

It was not a false alarm.

After a while they did shut off the alarm. I'm sure most everyone who stayed in bed went to sleep thinking it was yet another false alarm.

I have a five year old Sony CPD-G400. Tonight when I turned it on, it made weird squeaking noises, then turned itself off. I tried unplugging it from the computer, pressing the diagnostic key, pressing the reset key, plugging it into a different outlet, and had no luck. It’s out of warranty and Sony will charge me $325 to repair it. At that price, I might as well buy a new monitor. Maybe that’s what they want me to do.

Since I bought a computer like Nelson’s, maybe I should buy a monitor like Nelson’s. If the monitor had failed yesterday, I would’ve gotten the sale price from Dell and saved $100. Alas.

Update: After thinking about how long my monitor lasts and how important it is (since I'm looking at it for an average of an hour a day), I decided to get the Dell 2405FPW. This is a 24 inch widescreen monitor with high resolution (1920x1200), good contrast ratio (1000:1), good brightness (500 nits), lower power consumption (59 W), low refresh times (12 ms gray to gray, 16 ms black to white), a USB hub, and a flash card reader. It should arrive in two weeks. Until then, I'm using an old CRT that a friend gave me. It made me realize how nice my previous monitor was and it made me want the new monitor even more.

There’s a lot of excitement about the Long Tail. In the Wired article there are references to Pareto distributions and Zipf’s Law. Zipf studied city sizes to come up with the law. However it looks like he only studied the largest cities [pdf], and most cities (the tail) do not follow Zipf’s Law. Pareto studied incomes to come up with the distribution. However it looks like Pareto’s distribution only applies to the top incomes, and most people (the tail) do not follow the Pareto distribution.

So we have the excitement over the long tail built on an expectation of how big the tail is. And the size of the tail is modeled using Zipf’s Law or Pareto distributions. And those two didn’t even fit the tail; they only fit the top few percent. I don’t really expect the excitement over the long tail to die down for a while though; people will find ways to make the data fit their beliefs and ignore the data that doesn’t fit.

When I got my new computer, I decided my previous computer would be an upgrade for the computer before that (which was still in use), and that computer would be an upgrade for the computer before that (which was still in use until recently, when its hard drive died).

My computers

Year

CPU

Disk

Memory

Video

1992

486/66 (originally 33)

360 MB (originally 120)

16 MB

Orchid Fahrenheight 1280 VLB

1995

Pentium/200 (originally 133)

2 GB (originally 1)

64 MB (originally 32)

Matrox Millenium II (originally Millenium I)

2001

Athlon XP 1600

60 GB

256 MB

NVIDIA GeForce 2 Ti

2005

Athlon 64 3500

160 GB

512 MB

ATI Radeon X800 PRO

The 486 was my Linux server; the Pentium was a secondary web browsing computer for the kids; the Athlon XP was my main desktop gaming machine. Now my Athlon 64 is my main desktop gaming machine, the Athlon XP will be a gaming machine for the kids, and the Pentium will be my Linux server. I was going to keep the 486 for my Linux server, but ...

... the hard drive in the 486 is dead. I was expecting to have to reinstall Linux, but installing any modern Linux is a major pain on a 130 MB drive. I have a larger drive but it’t SCSI and I don’t have a SCSI controller anymore in the 486. Fortunately a friend of mine gave me his 1.5 GB IDE hard drive with Mandrake already installed. I tried it in the 486, but that hard drive needs LBA geometry support, which the 486 BIOS doesn’t support. So I tried it in the Pentium, and it works great.

I noticed however that the Pentium was quiet. Too quiet. I discovered that the power supply fan wasn’t running. It’s so clogged with dust that it won’t spin (even when I try to spin it by hand). I give up for the day.

The next day it occurs to me—can I use the 486 power supply (which is relatively new; I had it replaced a few years ago) in the Pentium? I looked at the voltage/amp listing on the cover and it seems to match (both are around 230W). I think I can do this.

I’ve never removed a power supply before. I looked at the cables coming out of it. There are two that go to the motherboard, a whole lot that go to peripherals, and one that goes to the power supply switch. Both cases have a power supply switch; my newer computers in contrast have the switch built into the power supply. It looks like there are four wires (brown, white, black, blue) that connect to the switch, plus a green ground wire. In the Pentium, the ground isn’t connected to anything; in the 486, it’s connected to a metal part of the case.

To remove the power supply in the Pentium involves a lot of pain. The cable from the power supply to the front of the case (where the switch is) goes through a tiny corner between the motherboard and the front panel. To get to it, I need to remove the front panel. Three of the screws are easily accessible; the fourth is not. So I remove three screws, but the panel won’t move. It turns out it is blocked by the two CD-ROM drives. So I remove both CD-ROM drives, and pull the panel back a little bit, but I can’t reach the four switch connectors. I have to remove the motherboard too. What a pain.

Once I disconnect everything, I look at the 486 power supply and see that it does not have the same kind of connectors; it has its own mechanical switch, mounted in the back of the case where a parallel port might go. So I can’t connect it to the front switch. I put the case panel back on, but the motherboard is a pain to screw back in.

Later today, I will put the 486 power supply into the Pentium and make sure everything still works. I will need to put the switch on the back of the computer, mounted to the parallel port opening in the case. It’s ugly, but it should work.

I will soon have the Pentium with a hard drive from a friend, some memory from one machine, some memory from another machine, a power supply I bought a few years ago for the 486, a network card I bought for one computer but then used in another computer, no CD-ROM drives (I took out the CD-ROM drive from that machine and also a CD-ROM drive that I had gotten from someone else), a video card that used to be in another machine, a case from a really old 386 machine, and no Soundblaster Pro. The CPU itself I got from a friend many years ago. And there’s lots of dust everywhere.

The simplest thing to do would have bought a Mac Mini for my server, and then throw away or donate the two old computers. But this was more challenging, and I learned something. (Other than that I should just get a Mac Mini.)

Since I got parts from seven different places, I decided to call this machine Frankenstein.

The TiVo Desktop installer tells me that I don’t have a working codec, and that “older” computers “may” not have one. My computer is 18 months old. I guess that’s old. The installer tells me to get the Microsoft Windows XP Video Decoder Checkup Utility.

Microsoft’s web site tells me to verify my installation of Windows XP to combat piracy. Um, why is piracy my problem to solve? And how is this going to combat piracy when there’s an option to bypass the check?!

The Video Decoder Checkup Utility tells me my codec is incompatible with Windows Media Player 10, and that I can go to the vendor’s site to get an update.

The vendor’s site link takes me to a generic page listing what DVD products I can buy. I have no idea what I’m supposed to do here.

I try continuing with the TiVoToGo installer. It now asks me for a Media Access Key, and it tells me two ways to get it.

One way is to go online. I don’t know how to log into their site; I don’t think I have an account.

The other way is through the TiVo: “Go to TiVo Central, select "Messages & Setup," select "Account and System Information," and then select "Media Access Key."” There is no such menu option on my TiVo.

So I have no codec, and I have no media access key. I don’t really know what I’m supposed to do. It’s really not worth my time to figure this out. So no TiVoToGo for me.

I mentioned a few weeks ago that I wanted to buy a quiet computer. I did end up ordering a computer just like Nelson’s from endpcnoise.com. The store has good (but few) ratings at resellerratings.com. It’s taking a lot longer than I expected to get the computer though. I ordered it on January 12. It’s now January 31, and as far as I can tell, the computer hasn’t shipped yet (although they have charged my credit card already!). I’m glad I didn’t pay extra for faster shipping. It would have been silly to pay $150 to have the computer in 24 days instead of 26. The order status on their online page has been showing “Pending” since I ordered. I really miss the feedback that I get from Amazon—an estimate of when it will ship, whether it has shipped, and what the shipping tracking code is. That’s one of the reason I shop at Amazon but not at most other online stores: I know what to expect.

In some of the shows I see about time travel (and there aren’t that many), the claim is made that if you travel faster than light, you will go back in time.

I don’t see why this would happen.

If you read the laws of special relativity, you will find the formulas relating time and space. One of them (Lorentz contraction) tells you the rate at which you travel through time is sqrt(1 - (v/c)2), where v is the rate at which you travel through space. The quicker you go through space, the slower you go through time. But what happens when v > c? You get the square root of a negative number. You do not get a negative number; you get an imaginary number.

Alternatively, you can think of it as the Pythagorean theorem, where one leg of the triangle is speed through space, one leg is speed through time, and the hypotenuse is the speed of light. (Is this Minkowski space?) In this model, it makes no sense to go faster than light. You can’t have a triangle where one leg is longer than the hypotenuse.

So it’s not at all obvious to me how going faster than light makes you go backwards in time.

Another thing that bothers me is the talk of wormholes. Oh sure, if you could bend the entire universe in half, you might be able to go back in time. Bending the universe seems like a harder problem than time travel.

I do think backwards time travel could be possible. However, I think the only reasonable way to make it would be to travel from one universe to another. You have to believe in the many-worlds theory first. I don’t believe backwards time travel into the same universe can work.

Now all nofollow links are marked with [nofollow]. To choose a nifty symbol instead of a word, pick a unicode symbol and use the hex code prefixed by \00 in the content: line. For example, to choose ☢, use content: "\002620";.

In shopping for a new gaming computer, I wanted to do some research on video cards. The main vendors for consumer (gaming) cards are ATI and NVIDIA. What do these companies offer? Why do they offer these products?

ATI has the Radeon line; NVIDIA has the GeForce line.

ATI has several generations, named Radeon, Radeon 7xxx, Radeon 8xxx, Radeon 9xxx, Radeon Xxxx (example: X800). ATI is at the end of the line with “X”; they’ll have to do something else soon. NVIDIA has several generations, named GeForce 256, GeForce 2, GeForce 3, GeForce 4, GeForce 5xxx, GeForce 6xxx. Notice that they switched to something closer to ATI’s naming scheme. I wonder if their next generation will be the GeForce 7xxx, which will overlap with ATI’s numbers, so maybe they too will change naming schemes.

Within each of these they have variants. The Radeon 9600 comes as 9600, 9600 PRO, 9600 XT, and 9600 SE; the Radeon 9800 comes as 9600, 9800 PRO, 9800 XT. The GeForce 5600 comes as 5600, 5600 Ultra, 5600XT, and 5600SE; the GeForce 5700 comes as 5700, 5700 Ultra, 5700LE, and 5700VT; the GeForce 5900 comes as 5900, 5900 Ultra, 5900XT, and 5900ZT. Note that they aren’t really consistent in the variant names. NVIDIA doesn’t even use the same variants in each of their products. And whereas ATI’s 9600 XT is better than the 9600, NVIDIA’s 5900 XT is worse than the 5900. These variants differ in GPU speed, memory bandwidth, number of pipelines, and amount of memory. They also have “mobile” variants that consume less power and are therefore useful for laptops.

It also turns out that the same game will look different on different video cards. The rendering algorithms behave slightly differently due to differing spatial and temporal anti-aliasing techniques, anisotropic texture mapping, “shader” models, and support for various features in DirectX and OpenGL. (From what I read, NVIDIA is better at OpenGL and ATI is better at DirectX.) So you can’t only compare performance and price.

So there are lots of video cards to choose from, and each one of them available from multiple vendors (ASUS, Leadtek, ELSA, etc.). As far as I can tell, the vendors decide on things like fans, heat sinks, video in/out, DVI vs. VGA, etc. So you really have hundreds to choose from, and no really good way to evaluate them all. I can read Tom’s Hardware or ExtremeTech, but they tend to be a bit too much for me.

So in the end, I read about several product lines (GeForce 5700, GeForce 5900, Radeon 9800, Radeon X800) and a little bit about the variants and ended up choosing one. But I wasn’t happy about it.

Why do the video card manufacturers do this? I think confusion helps their profits. If I read reviews by searching for nvidia geforce 5900 review, and if I find products by using a comparison shopping engine, what will end up happening is that I will decide on a line based on reviews and then choose the cheapest variant in that line.

In practice this means that video card manufacturers should try to maximize the difference between the “plain” label and the cheapest variant. It should be better to make the plain GeForce 5900 a high end card so that it gets good reviews, but make available some very cheap variants. In fact, the GeForce 5900 comes in one higher variant (Ultra) and two lower variants (XT and ZT). The Radeon 9600 on the other hand comes in two higher variants (PRO and XT) and one lower variant (SE). So maybe my theory doesn’t hold up.

The difference between variants is so large that in many cases, the low end variant of a higher line is cheaper than a high end variant of a lower line. (Check out pricewatch.) When I last looked at this stuff a few years ago, the GeForce 4 MX was cheaper than the GeForce 3. I had thought I was getting a really good deal, and then I learned more about the “MX” variant—it was somewhat less powerful than the regular GeForce 4.

There will be some enthusiasts who pick the “best” card (whatever that means), but most of us will end up confused. Actually, most of us will use on-board video and don’t have to worry about this. I think that’s an important part of the economics here—the manufacturers want to confuse the people in the middle who are willing to spend more money but do not know what they are doing.

This is all a form of price discrimination. The video card manufacturers make lots of variants to increase the cost of evaluating the cards, so that only enthusiasts find the best deals. They make their profit from the rest of us. I’ve read that price discrimination can increase overall economic efficiency, but that doesn’t help me feel any better about all the time I spent trying to pick a video card.

Jeremy Zawodny’s post about his Dyson reminded me that I too want to say: I love my Dyson vacuum cleaner. I got the red DC07 model (base model + floor cleaner but no animal attachment), in part because I love the color red. (I know, that’s a silly reason.)

Consumer Reports says that it’s not as good as some other (less expensive) vacuum cleaners. However there’s an emotional attachment that many geeks have to the Dyson. I think it’s partly the Dyson story, partly the attachment system (which is annoying but cool), and partly the ease of maintenance. Or maybe it’s because the vacuumed dirt is visible so you can tell that it’s working. I can’t tell, really.

In theory, you send each bit once and you can detect eavesdropping because the bit will be destroyed when the interceptor reads it. In practice, non-quantum networks have to handle bit errors, and I would expect quantum networks to have to do the same. They might use error correcting codes, retransmits, or other approaches, but they have to handle the loss of some number of bits. Given that, can’t I, as an attacker, steal enough bits so that both I and the intended recipient can reconstruct the original message? As I steal bits, it will merely look like the network is having some trouble, but the messages will still get through.

How many bits can I steal?

If I steal every bit, half the bits will be corrupt. If the recipient can deal with 50% bit loss, then both of us can read the error. But if you only need 50% of the bits, then I don’t have to steal every bit. So let’s suppose X% of the bits are required to reconstruct the original message. Half of these will be corrupted as I (the attacker) reads them, so the original recipient will get 100-X/2 % of the bits. If that’s greater than X, then I can eavesdrop without destroying the original message. This comes out to 33% packet loss.

I don’t know how the recipient is going to distinguish between a clever eavesdropper and the network problems that happen all the time. Given that the hardware or software normally transparently hides those errors from you, you will never see anything that looks like an eavesdropper. If the network + error correcting algorithms can handle loss of 1/3rd of the bits, then the eavesdropper can read the entire message by reading 2/3rds of the bits and 2/3rds of the bits the message will still be seen by the recipient, so both will see the message. Quantum cryptography vendors will need to say that they can’t handle too many bit errors.

For my last computer, I upgraded from a Pentium 1 MMX (200mhz) to an Athlon XP 1600 (1300mhz). It was a whole lot faster, but it was also much hotter and noisier. My old computer had one fan (in the power supply); the new one has five fans. It’s so hot I named it heater. It’s so loud that I keep it off most of the time.

Nelson recently bought a quiet PC, and that inspired me to start thinking about upgrading. For my next PC, I’d like to get something quieter, and if possible, cooler. I found a good article explaining CPU heat, comparing Pentium and Athlon systems. Summary: the Pentium wattage specs are too low and Athlon wattage specs are too high, so even though both are around 90 watts, the Athlon runs cooler.

From what I remember from electronics class, power usage is proportional to the square of voltage. But CPU speed is (I think) only proportional to voltage. So for every additional 10% in speed, you need 21% more power. Someone tries out underclocking to get the reverse effect: a small decrease in voltage (and thus speed) leads to a large decrease in power consumption. Neat!

Things that seem to matter in keeping the system quiet: how much heat is produced, how noisy the fans are, and how noisy the case is (vibrations, rattling, etc.), and how noisy the hard drive is.

Things that seem to matter in keeping the system cool: CPU wattage, GPU wattage, hard drive, and power supply efficiency. If you can get a power supply that’s 80% efficient instead of 60% efficient, that halves the heat wasted by the power supply. Have you noticed that many AC to DC adapters for consumer devices like telephones are warm to the touch? That's the wasted heat. Many cheap devices have power supplies that are only 30% efficient. Ick.

I’ll probably buy a system from endpcnoise.com instead of building one myself, as I have in the past. There are just too many things I don’t understand about air flow & turbulence, quiet hard drives, heat sinks, thermal compound, ball bearings, vibration, heat pipes, heat sinks, etc., and I’d rather pay a little more to have an expert choose parts and assemble something quiet.