Sunday, December 06, 2009

Windows 7 can't always automatically update root certificates?

Today Secunia PSI refused to run with the message: "an error occurred while verifying the security certificate". Then I found that IE refused to show https://secunia.com because the certificate was "not issued by a trusted certificate authority". Firefox did not have a problem with that webpage. For some reason, IE did not recognize the "Thawte Server CA" certificate. IE also refused to recognize StartSSL.

This was really weird, because as far as I know, Windows 7 is supposed to automatically update root certificates. Microsoft even explains how the process works in Vista. My first thought was that my firewall was blocking the update, but that was not it. Event log showed event 4100 from CAPI2, which is "Successful auto update retrieval of third-party root certificate". The problem was event 4110: "Failed to add certificate to Third-Party Root Certification Authorities store with error: A certificate chain could not be built to a trusted root authority."

I manually downloaded and installed the latest root certificate update from Windows Update. After that, everything works. I'm just left wondering why I had to deal with this in the first place.

Saturday, December 05, 2009

256 colour mode palette handling is broken in Windows 7?

A while ago I ported AcidWarp to Windows using SDL. At the time I was running Vista, and I had to use a workaround for full screen mode. I described the issues and my workaround in a post here.

Now I find that the workaround does not work in Windows 7. AcidWarp fails to get all 256 palette entries even when I use the directx SDL video driver. The program's 256 colours are then remapped onto a smaller number of colours. This results in visible errors in many AcidWarp patterns.

There is an even more serious palette issue. When using the directx SDL driver in the normal way (without workarounds, just using the "set SDL_VIDEODRIVER=directx" command), a substantial number of palette entries remain unchanged in full screen mode. These colours are not remapped, resulting in very ugly static parts of the pattern. This can be avoided by using the windib SDL driver or the workaround I developed in Vista.

One workaround for everything is killing explorer.exe. Then both directx and windib drivers are able to grab all 256 colours. Explorer can easily be restarted from Task Manager, and even the tray icons are preserved. Still, it's not a very nice workaround.

Friday, November 13, 2009

Building multi-threaded XaoS in Windows

XaoS is a fractal viewer program which is designed for smooth continuous zooming. It's a great way to explore fractals such as the Mandelbrot Set. Nowadays, multi-core CPUs are the norm, but the Windows binary of XaoS does not support multi-thread operation.

XaoS is easy to build in Cygwin. The only problem is that XaoS is set up to build for MinGW (using -mno-cygwin) and Cygwin doesn't provide Pthreads support for MinGW applications. The solution is to use Pthreads-w32. Using this and running with the "-threads 4" option I'm able to use up to 100% CPU on my Q6600, and XaoS is much faster.

Thursday, November 12, 2009

Intel Matrix Storage Manager driver causes 0x9088 bluescreen

I just saw my first Windows 7 problem. My computer locked up with the hard drive LED lit after resuming from sleep. Then I reset my computer, it started resuming from disk, and I got a blue screen.

I had never seen the 0x9088 (sometimes written as 0x00009088 or 9088) code, and very little information was available online. Fortunately, WinDbg was able to help. The crash was in iaStor.sys, the driver for the ICH9R SATA controller on my GA-P35-DS3R motherboard. Release notes for version 8.6.0.1007 mentioned fixes for that error. I guess those fixes weren't sufficient, because I was using Matrix Storage Manager 8.9.0.1023.

After a bit of searching, I saw that there was a new Intel Rapid Storage Technology 9.5.0.1037 driver. It wasn't available from Intel, but it was digitally signed and available from many places online. I still don't know if it fixes the problem, and it will be hard to tell because this problem must be rare.

Friday, October 23, 2009

How to install a Broadcom Wi-Fi driver on an unsupported system

Dell stops releasing driver updates for a laptop rather quickly. However, the same hardware is found in other laptops, and often these drivers will install. Drivers can even support similar hardware which is not explicitly listed. For example, a driver's description may claim support for one wireless card, but the driver may support all of Dell's Broadcom based wireless cards. A while ago I fixed audio glitches in Vista by installing a newer driver for my Dell Wireless 1500 Draft 802.11n WLAN Mini-Card.

Today I found that Dell had a Broadcom Wi-Fi driver for Windows 7 (R242438), but that driver refused to install. The error message was: "No compatible hardware found. The software you are attempting to install is not supported on this system." Despite this warning, I could manually install the driver via Device Manager without any warnings. After a manual install, the wireless card worked, but I didn't have the utility which shows signal strength in the tray and other components.

Since the driver seemed to be compatible, I searched for a way to do a proper installation. The driver installer unpacks itself to C:\dell\drivers\R242438. In that directory there is a "DellInst.enc" file. It doesn't look like anything, but it may be decoded via "BcmCrypt.exe" (also in that directory, USAGE: BCMCRYPT -e or -d <input> <output>). The file decodes into a text file which shows what cards are supported and what systems are certified with each card. The "Dell Wireless 1500 Draft 802.11n WLAN Mini-Card" (PCI\VEN_14E4&DEV_4328&SUBSYS_00091028) was supported, but my system was not in the list of systems in that section. I simply added the "0x01BD ;Inspiron 6400" line for my system and encoded the file with BcmCrypt. After that the driver installed properly and everything worked, although the highest speed seemed to be 130 Mbps. After changing some advanced settings in Device Manager, I finally got 270 Mbps.

While doing this I also found that there are three different drivers in three subdirectories of C:\dell\drivers\R242438. DRIVER_US is for the US, DRIVER_JPN is for Japan, and DRIVER_ROW is for the rest of the world. For example, it's possible to manually install the driver from C:\dell\drivers\R242438\DRIVER_ROW using Device Manager and gain access to channels 12 and 13. I never tested these channels and I now use the US driver which the installer installed, but it's nice to know that I can change that easily.

Thursday, October 22, 2009

Windows Live Messenger 14 doesn't report message delivery failures?

Occasionally, Windows Live Messenger fails to deliver messages. In version 8.5 this would result in a delayed notification saying that a particular message could not be delivered. In version 14.0.8089.726, messages fail to deliver without any notification. I have never seen any message delivery failure notification in version 14. Miranda IM is still able to report message delivery failures, so it doesn't seem like a server-side issue.

Friday, October 09, 2009

I used Picasa's facial recognition to find friends and myself in photos

In the past I tried tagging my photos with tags corresponding to the location, major things and people in the photo. This was mostly a waste of time. Folder names were already sufficient for finding photos by location and I wasn't interested in finding particular types of things (eg. lakes) in my photos. The only useful part was tags corresponding to people.

The last tagging was a long time ago, and so I had a lot of untagged photos. Recently, I felt like adding tags corresponding to people, but I assumed that it would be very tedious. Then I learned that Picasa has facial recognition and I decided to give that a try.

Starting the process was surprisingly easy. When I added a folder to Picasa, it first scanned the folder in the usual way and generated thumbnails. Then it started scanning the photo for faces. It quickly started filling a list of faces, and I just had to start identifying people. After a bit of manual identifying, Picasa was able to automatically identify some people.

There were certainly some issues and limitations. More than a third of the time, Picasa found a face but failed to identify the person. Occasionally, a person was misidentified (or maybe it was a sign that I look like some relatives). Then there were all the strangers in the background, whom I had to remove from the list. The most interesting issue was occasional identification of faces in artwork (eg. Mt. Rushmore, paintings and T-shirts) and even patterns of reeds or clouds. Fortunately, dealing with all these things was fun.

When the scan finished I wanted to see how many faces were missed. At first I was somewhat disappointed. Picasa easily dealt with sunglasses, but tuques or harsh shadow boundaries often caused faces to be ignored. Picasa also seemed sensitive to face orientation. It did well when a face was vertical and viewed from the front or side, but other angles were a problem. Manually adding people was a bit more trouble than it should have been. I had to go to the photo page, draw a box around the face and select the name. I wish I could have added tags from the thumbnails page without defining the person's location. After doing all this, I felt that Picasa automatically found the faces in the majority of the best photos. Even the automatic face detection wasn't anywhere near perfect, it was good enough and I was satisfied.

Picasa's automatic face detection also provided an unexpected benefit: the way it cropped faces was sometimes very aesthetically pleasing. It actually improved some photos, and it provided many images which could be used online.

Now I'm wondering whether to continue using Picasa or extract the face information and uninstall Picasa. I'm happy with the way I organize things into folders, and generally not interested in programs for managing libraries of files. I still have to see a bit more about what Picasa offers.

Monday, September 21, 2009

Why I consider myself atheist now

Religious stories involving the supernatural seem to be mythological, and literally believing them seems brainwashed or even crazy. However, scientific understanding has such gaping holes that it's impossible to rule out that something like what religions talk about is part of reality. So, for a long time I considered myself agnostic.

Recently I realized that calling myself agnostic can imply that for all that mythological and crazy stuff, I'm saying "I don't know, it could be true". It doesn't feel right, and being unsure about delusions can lead to more delusions. To see the problem, imagine being unsure about something which is generally recognized as a delusion: the idea that there are satellites which read your thoughts and put thoughts in your head. This is kind of like the idea of God hearing your prayers and providing guidance.

I don't deny that religion can be a useful psychological tool. I don't deny that it can offer moral and ethical guidance. However, this doesn't mean that religion is fundamentally true, and I don't think that it's necessary for these purposes.