Forever Lights: One Caveat

Forever Lights are a great, brilliant invention. In fact, any invention that uses alternative forms of energy are wonderful; hand-cranks, solar cells, magnets. Forever Lights—and their knock-offs—are flashlights which use one or more super-bright white LEDs instead of incandescents, which allow it to create pure, white (or bluish) light that remains cool and does not create heat, while also lasting—for all intents and purposes—forever without fear of burning out. Furthermore, Forever Lights use rechargeable lithium ion batteries instead of single-shot alkalines. Finally, the rechargeable batteries are recharged, not by plugging it into an outlet, but by simply shaking it. They have a powerful magnet inside which when shaken, passes through a tightly coiled wire. The magnetic field from the magnet passing through the coil creates electricity which charges the batteries.

To top it all off, if you get a good one (knock-offs are of poorer quality) they will also be waterproof. This makes these perfect for underwater use like in scuba diving or cave diving. A problem that many divers have feared is their flashlight batteries dying while they are down there (or other cave spelunkers above ground). With this, they just shake it a bit and they’ve got light again; wonderful. Nicer models even allow you to choose from using a single LED for less light up to three for a whole lot of light.

This is truly a brilliant device which uses human power instead of electricity. Another such device I’ve seen use a crank type device. These are great because they do not cost money for electricity or batteries, but also because since they use human power which when combined with the physical law that energy cannot be created or destroyed, just changed in it’s form, means that it is a productive way to burn off some fat.

There is one warning about the Forever Light however. Because they use powerful magnets to create the electricity for the batteries, they cannot be used while working in or around computers, televisions, or any other device that uses magnets itself. You could very well wipe or at least corrupt disks or distort screens. For these tasks, a more traditional form of light is required but for everything else, Forever Lights are marvelous.

No Such Thing As a Complete and Equal List

I have always had trouble with equally balanced lists; probably due to my obsessive compulsive disorder. A couple of years ago, I was auditing a University course (I believe it was a software project management course) when as usual, my mind wandered. After many years of trying to force it, it finally dawned on me that trying to make a perfectly symmetrical and complete list is literally impossible, it cannot be done, ever.

What does a complete list mean? Let’s use an example to define it. A good example is billing. When entertainers perform shows with more than one star, one of them must get “top billing”, that is, one of their names must come before the other; this is just the nature of a list. There is no way to list both names at the same time—just try to tell someone who the stars of the show are by saying both of their names simultaneously; you must say one before the other. Top billing is desirable because it implies importance. As a result, many co-stars end up arguing, even fighting over who gets top billing.

One solution is to give one top-billing, then follow it up by giving the other one top-billing. That way they each get top-billing. This does not work however because now one of them got top-billing first which is itself like saying that that person was more important, which is why they got it first.

You might propose to just balance it out by giving the second person top-billing first, in the next run, followed by the first person, and repeating, but this just ends up repeating itself. Let’s represent this with symbols:

The original list with one name listed first:

The first solution, with the second person getting top-billing, but second:

The second attempt, with the second person getting top-billing first but in the second run:

The third attempt, the second person gets top billing but again in the second half:

One more try before giving up:

As you can see, once the list has begun and one item is listed before another, there is no way that the list can be completed and symmetrical/balanced; you just get stuck in a recursive loop that grows forever. This is due to the nature of linearity. No matter what you do, A is the first item in the list and always will be! You could reverse the list so that B comes first or append the new items to the front instead of the back, but then we are in the same situation with all the symbols alternating yet never perfect:


Things get much worse with more than two symbols. The only list(s) that can be perfect are lists with only one symbol: A, AA, AAA, AAAA, and so on.

Unfortunately, there is no way to equally credit two performers, and there is no way to list two equal items. Even if you move into more dimensions there is still no way to present more than one item simultaneously.

Easy Rootkit Detection

An easy way to detect most rootkits is to use an old technology: DOS.

Most (read, pretty much all) rootkits require some sort of file component. In fact all malware requires some sort of file to be loaded to perform it’s malfeasance. This is because malware is just software that does bad things and software means files. Even worms and other memory-resident applications require files at some point. This is why rootkits hijack directory listing commands to hide themselves.

So, how do you find files when they are being hidden? One way is to check the drive at a low-level, viewing the disk directly instead of using a file listing command. You can look at the disk and see if the entries in the cluster match up with the directory listing. This is a common method but has it’s drawbacks. For one thing, a decent rootkit would be able to hijack sector-level disk access and hide it’s entries just as it does with a directory listing command. Another problem is that it is difficult to use and can be unreliable.

Another easy to use method is to get a directory listing from within Windows, then boot into DOS mode and get another one, then compare the two. There are few if any DOS rootkits, but more importantly DOS is a lightweight, easy to control environment that can fit on a single floppy. This is important, because it means that you can ensure the integrity of a DOS boot disk because a minimal system needs just four files taking no more than 200KB. Make sure that the boot disk is reliable by making it from a secure system and then write-protecting it. Another option is to use a CD, for example a Windows 95/98 CD which allow you to boot to DOS.

To check for a Windows rootkit:

  1. Open a command prompt with the cmd command.
  2. Get a directory listing with dir c:\/s/a/o>d:\windir.txt.
  3. Reboot into pure DOS mode (do this ASAP after the previous step.)
  4. Get another directory listing with dir c:\/s/a/o>d:\dosdir.txt.
  5. Compare the two files (eg: WinDiff d:\dosdir.txt d:\windir.txt).

Obviously there will be some differences, since files are normally created, changed, and deleted while shutting down Windows. You’ll have to use your best judgement and possibly a reference or the Internet to determine which files that are different are malicious. To minimize the noise, make sure to clean up any temporary files and such before getting the listing.

If there is no rootkit, then the two listings should be more or less the same. If there is a rootkit present, then the DOS listing will reveal the hidden rootkit files.

One drawback to this method is that the built-in DIR command returns the directory listings in different formats in Windows and DOS. As a result, it will be difficult to do a straight comparison of the two listing files. For example this is a listing made in Windows:

Volume in drive C is C-Windows
Volume Serial Number is 0123-4567

Directory of C:
Mar.03.03 03:03am 233,632 ntldr
Mar.03.03 03:03am 47,580
Mar.03.03 03:03am 193 boot.ini
Mar.03.03 03:03am Windows
Mar.03.03 03:03am Program Files
Mar.03.03 03:03am Documents and Settings
3 File(s) 48,638 bytes
3 Dir(s) 123,456,789 bytes free

and the same in DOS (with DOSLFN for long file names on the right):

Volume in drive C is C-WINDOWS
Volume Serial Number is 0123-4567
Directory of C:
NTLDR 233,632 03-03-2003 03:03 ntldr
NTDETECT COM 502 03-03-2003 03:03
BOOT INI 502 03-03-2003 03:03 boot.ini
WINDOWS 03-03-2003 03:03 Windows
PROGRA~1 03-03-2003 03:03 Program Files
DOCUME~1 03-03-2003 03:03 Documents and Settings
3 file(s) 48,638 bytes
3 dir(s) 123,456,789 bytes free

The formats are quite different and will require some reworking to make a comparison easy. One solution is to use a third party directory listing program instead of the built-in dir. A third party dir would give the listing in the same format in both Windows and DOS, just make sure that it can list anything, and everything (including hidden files, system files, volumes, etc.)

All software is limited and hackable, and malware is no different. With a little thought and the right tools, even a rootkit can be ferreted out.

No Evidence of Time Travel, Still Possible? Maybe

It occurred to me yesterday that I obviously will never acquire the ability to time travel (at least into the past) since I have no evidence of it. After all, if I ever do acquire the ability, then it does not matter at what point I do so (age 30, 60, 100, etc.) since whenever it does happen, I can always go back to any point in the past. The reasoning is that if I do acquire the ability to go back (presumably to help myself make my—uh, our—life better, fix a mistake, etc.), then I would have done so and would know it. It does not matter if it happens tomorrow or 50 years from now; either way if I go back to my past then it has the same effect. Yet, I have never been visited by myself and so I clearly do not ever acquire the ability in my lifetime.

However, that reasoning falls apart because there is no guarantee that if I did acquire the ability, that I would come back to this point or any previous point in my life. It is entirely possible that for example, in 10 years I get the ability and then I come back in time tomorrow morning. Just because I have up until now, never been visited by my future self, does not mean that I do not ever acquire the ability, since I did not need to come back this far. Tomorrow morning however is a different story, something may happen tomorrow morning which requires my intervention and so I will be visited by myself and thus know for sure that I do eventually come across the time-travel technology.

The point is that while there is no current evidence to support the idea that I will ever be able to travel back in time, it does not rule out the possibility since I may just not need to come back this far. This is truly the definition of “you never know what the future holds”, since for all I know, tomorrow I may be visited by myself from the future. It’s impossible to completely rule that out without entirely disproving the possibility of time travel altogether.

Protect the Mislead

I stumbled across this interesting piece of American law today:


Subtitle B—Truth in Domain
 (a) IN GENERAL.—Chapter 110 of title 18, United
States Code, is amended by inserting after section 2252A
the following:
‘‘§ 2252B. Misleading domain names on the Internet
 ‘‘(a) Whoever knowingly uses a misleading domain
name on the Internet with the intent to deceive a person
into viewing material constituting obscenity shall be fined
under this title or imprisoned not more than 2 years, or
  ‘‘(b) Whoever knowingly uses a misleading domain
name on the Internet with the intent to deceive a minor
into viewing material that is harmful to minors on the
Internet shall be fined under this title or imprisoned not
more than 4 years, or both.
 ‘‘(c) For the purposes of this section, a domain name
that includes a word or words to indicate the sexual con-
tent of the site, such as ‘sex’ or ‘porn’, is not misleading.
 ‘‘(d) For the purposes of this section, the term ‘mate-
rial that is harmful to minors’ means any communication,
consisting of nudity, sex, or excretion, that, taken as a
whole and with reference to its context—


 ‘‘(1) predominantly appeals to a prurient inter-
est of minors;
 ‘‘(2) is patently offensive to prevailing stand-
ards in the adult community as a whole with respect
to what is suitable material for minors; and
 ‘‘(3) lacks serious literary, artistic, political, or
scientific value for minors.
 ‘‘(e) For the purposes of subsection (d), the term
‘sex’ means acts of masturbation, sexual intercourse, or
physcial contact with a person’s genitals, or the condition
of human male or female genitals when in a state of sexual
stimulation or arousal.’’.
 (b) CLERICAL AMENDMENT.—The table of sections
at the beginning of chapter 110 of title 18, United States
Code, is amended by inserting after the item relating to
section 2252A the following new item:

‘‘2252B. Misleading domain names on the Internet.’’.

It’s from the PROTECT act (Prosecutorial Remedies and Other Tools to end the Exploitation of Children Today Act of 2003). It’s an interesting piece of law which makes it illegal to create a domain name that purposely misleads people, especially children into going to and viewing objectionable websites. First of all, it’s interesting to note how stuffy old congress men and women discuss things like sex and especially how they define it (it’s fascinating that these days it even has to be defined at all, thanks Clinton!) Unfortunately this law did little to change the most famous of misleading sites, WHITEHOUSE.COM. Furthermore, any savvy lawyer could easily circumvent the law and get their defendant off.

Let’s take for example. It used to be a porn site but is now a “free speech forum” where they criticize the government. The current site does not violate the PROTECT act but the previous porn site did. Clearly that porn site had nothing to do with the American government and many a school-child had gone there to do some research for their civics class only to be exposed to hard-core pornography (not even the kind where the private parts were covered up by little stars, bars, or text). If it had gone to court however, a half-decent lawyer could easily have gotten them acquitted by arguing that was not misleading since they do their shooting in an actual white house. Even better, they could have changed their logo to a little white house to strengthen their case.

Now let’s try an even stronger example. Ostensibly a domain like would have to be about one thing and one thing only: Arnold Schwarzenegger, the man, the actor, the governor, the TERMINATOR! Any other site would be misleading. Yet, a guy could easily go and legally change his name to Arnold Schwarzenegger (names are not copyrightable), then open a porn site with that domain. He would not be prosecutable under the PROTECT act because he is not misleading since that’s his name. It’s “Arnold Schwarzenegger’s Porn Site”.

With a little bit of thought, even an eighth-decent lawyer could easily get around this law.

Clean and Oil Those Fans

Computers are not invulnerable to dust. They have a tendancy to get clogged up with plenty of dust which at best causes overheating. It is a good idea to regularly clean out all the dust in a system to keep it as cool as possible since dust is an insulator. Removing the dust will allow better airflow, especially through fins on heatsinks and lighten fan blades, allowing them to turn faster.

Another tip to keeping a computer running in peak condition is to oil fans. Anything that moves should be well lubricated to allow it to do so smoothly and fans are no exception. Every once in a while (at least once a year, depending on how dusty your environment is) you should remove the fans in your system, take them apart, and oil them.

To oil a fan, you need to disassemble it. This is the tricky part. To disassemble a fan, you need to remove any stickers that cover the capstan. Next, remove the washer that holds the capstan. You will need a pointy knife or something to do this. Usually they will be made of plastic, but sometimes metal. They will almost always be a small flat disc with a hole in the middle and have a cut (think of a “C” where the ends meet but do not attach). Once this is off, you can remove the fan blade assembly. Before oiling it, you should thouroughly clean it. All kinds of grime and grit can get in there and cause it to make noise, as well as slow it down and create friction heat. Once you’ve cleaned it, then you can oil it. The type of oil does not matter too much depending on the fan. Most fans are cheap anyway so you do not need to shell out for top of the line lubricant. Even vegitable oil is better than nothing in a pinch. Synthetic teflon lubricant can be found in any bicycle shop and works great. You should oil the parts that touch and move. This includes the capstan, and the hole in which it goes. You will also want to oil the joint where the capstan attaches to the blade hub and where the blade hub rests on the washer. Do not over-oil since that will just make a mess with no extra benefit. In fact you should probably clean up any excess before putting it back. Put the blade assembly back into the fan and give it a test spin. Make sure that it is running smoothly. Now place the holding washer back on the end of the capstan and finally the sticker. Put the fan back, plug it in, power it up, and watch it spin. You may want to consider comparing fan rotation speeds before and after. Also, make sure to notice the noise level after oiling.

Windows Themes Dialog

The Display Properties dialog in Windows has a Themes tab which allows you to easily change the theme used. This allows you to quickly change color schemes, wallpaper, visual styles, icons, sounds, and more. The drop down lists available themes as well as an option to browse for a theme and another that allows you to find some themes online.

Using the scroll wheel makes it easy to change the selected option in a combo box but the one in the themes dialog is problematic because every time that the online option is selected, Windows immediately freezes while it tries to open a browser window and navigate to a web page where you can download new themes. Also, the browse option is annoying because as soon as you hit it, Windows opens a file browsing dialog. These two options make scrolling through the options very inconvenient. Worse still, the web page that you are taken to is completely useless. Instead of allowing you to download free themes, it is merely a page that offers you the option of buying theme software.

Fortunately the online selection can be altered or removed completely. You can change the URL of the site that you are taken to when you select the online option by changing this registry entry:


Copy the code into a text file and give it a .REG extension then run it. When prompted to merge, say yes. The default code above will set the URL of the page to the local machine. If you are running a webserver you can create your own page and change the URL as necessary. Alternately you can set the URL to your favorite theme related web page where you normally download themes from.

You can change the text that is displayed in the combo box from the default of “More Themes Online…” to whatever you want by replacing the “@themeui.dll,-20154” in the above code.

To completely remove the “More Themes Online…” entry, just delete the whole DownloadSites key:


I have not yet found a way to remove the Browse option but will post it as soon as I do.

Another problem with the Themes dialog is the way in which the Theme combo box is populated. There is no (known) way to set a directory where Windows should look for themes to list in this dialog. Windows fills the list by searching through each and every top level directory in the My Documents folder for .THEME files. What this means is that the dialog will go to the folder that “My Documents” is set to and check each folder in there for any .THEME files then add those to the list. It will not however check any deeper. For example, if you have:

"My Documents\doc"
"My Documents\mp3s"
"My Documents\mp3s\audiobooks"
"My Documents\styles"
"My Documents\styles\colorschemes"
"My Documents\styles\themes"
"My Documents\styles\wallpaper"
"My Documents\text"

Then the dialog will look in the following folder for .THEME files:

"My Documents\doc"
"My Documents\mp3s"
"My Documents\styles"
"My Documents\text"

In other words, it will look for theme files in many directories in which it has no business looking, and will miss some where it should be looking. If you have many folders in your “My Documents” folder, then it will take longer as it searches each one.

There is currently no known way to disable this behavior and set one or more specific directories for it to look in.

The worst part of all is that these actions occur every time that the Display Properties dialog is opened since the Themes tab is always the first one displayed.

Cheap Multi-iPod Recharger

With the growing popularity of Apple’s iPods, a booming field of iPod accessories has evolved. Unfortunately, most of these accessories tend to be on the expensive side since the logic goes that if one can afford an—expensive—iPod, then one can afford to pay a lot for it’s accessories.

A main problem with iPods is their rechargeable batteries. They have proprietary batteries built in so you cannot just pop it out and replace it. Instead, you must pay a lot of money to have it shipped to Apple (or some other unauthorized third party) to replace it for a fee; some rechargeable. Even when the batteries are still good and can be recharged, there are not too many options on actually doing so.

Some people resort to purchasing expensive power adapters that allow you to plug an iPod into the wall to charge it. Most people just plug it into their computer.

There is another way, a way that allows you to charge the iPod anytime, anywhere without the need for a computer—just an electrical outlet—as well as being cheaper than an adapter: a powered USB hub.

The best way to charge an iPod is to purchase a USB hub. These are essentially USB splitters that allow you to daisy chain multiple USB devices into a computer. Using one of these you can simply plug the iPod’s cable (or the iPod Shuffle itself) into the hub and plug the hub into an outlet. This has a few other benefits as well. Because you are using the hub only for charging (no data transfer), you do not need USB 2.0, so a cheaper 1.0/1.1 hub will do. Since the whole purpose of a hub is to allow multiple devices to connect, you can charge multiple iPods at the same time.

So instead of getting costly power adapters or using a whole computer, just get a single, small, inexpensive, USB hub to quickly and easily charge multiple iPods at the same time.

When to Ding The Bus

Unfortunately I have been—and still am until I can afford a car—restricted to taking the bus for transportation. I have taken many trips, at many times, in many places, with many people. One thing I have noticed and been interested by is the judgment—or lack thereof—that people use in determining when to pull the stop-request cord.

Some people pull it immediately after leaving the stop prior to the one they want—some even earlier than that. Some people pull it exactly halfway, others wait until the bus has all but passed the stop—or even after—and the rest pull somewhere in between.

The ideal time to pull it is simply a case of common sense. You do not want to pull it too early because then the bus driver will slow down right away to avoid passing the stop, thus delaying your arrival. You do not want to pull it too late or the driver may not have enough time to stop and will just pass it and stop at the next one. There is no specific number or fraction that I can give since inter-stop distances vary as do road conditions and traffic, but ideally, you will want to pull the cord as close as possible to the stop while giving the driver enough time and space to safely come to a stop. A general rule of thumb could be to wait until you are about 2/3 of the way to your stop from the previous one.

Chickens Will Not Evolve to Taste Bad

For some time I have mused as to why animals do not evolve to taste bad.

The whole point to natural selection is to promote the survival of a species by simply finding that the members that have certain desirable characteristics which help it to live, go on to have children who are likely to have those characteristics who can then pass it on to their children and so on. Over time, most members of that species will have that characteristic.

Humans have been eating animals for many, many years so I could not understand why the animals that get eaten so often—chickens, cows, pigs—have not yet evolved to taste bad. After all, any animals who taste good are more likely to be killed while the ones that taste bad are more likely to be spared. It makes sense.

A while ago however, the answer dawned on me. Not only do animals not evolve to taste bad but they in fact evolve to taste better. Of course it does not occur because of “natural selection” but rather due to human interference and meddling.

For example, lets say that there are two chickens, one happens to taste great should it be eaten, the other tastes awful. Of course both have been slaughtered already, that is how we know how they taste, however they have already been bred by a chicken farmer. The one who tasted good had children which were more likely to taste good as well. The one who tasted bad had children which were more likely to taste bad as well. Over several generations, the one offspring from the one who tasted good are bred more and more often for obvious reasons and the one offspring of the one that tasted bad are bred less and less often—perhaps only used for eggs, maybe not. After enough time has passed, the ones that tasted bad become extinct—at least on the farm—while the ones that taste good end up becoming ubiquitous.

In nature on the other hand, it is possible for an animal—for example and antelope—to evolve to taste bad because a lion will not breed them, it will only hunt them and in time learn which ones taste good and which ones taste bad. It will leave the bad ones alone and hunt the good ones. Eventually, the antelopes who survive will be the ones who taste bad.

Humans are meddlesome creatures who interfere with everything for their own interests. This is just another example of this albeit a rather major one, after all tampering with the very essence of evolution is not to be taken lightly.

In summary, chickens will not evolve to taste bad because of humans and their artificial selection.