Archive for the ‘Windows’ Category.

Buildbot Slave on Windows XP

Today I installed Buildbot on Windows XP and even got it to run successfully as build slave. It was both harder and easier than I expected. Or more specifically, installing all the dependencies was harder than I thought, but configuring and running the slave was easier than I thought.

I have run Buildbot server and slaves on Linux based systems without any problems. Once you have setuptools installed, it is just a matter of easy_install buildbot and creating the configuration files. I thought once I had Python and setuptools installed on Windows it would be equally simple. Not so.

First of all I tried to use somewhat nonstandard Python 2.5, for which there was no registry entry. This meant that none of the dependencies that had their own executable installers worked. When I tried the zipped versions, these also failed because apparently my Python was compiled with different version of Visual C++ than the extensions I was trying to install. I got past this by grabbing a standard Python installer and going from there.

Next I tried to install setuptools from the exe installer. That failed because it could not find msvcrt71.dll. I downloaded that and put one in Python\DLLs directory and one if the directory from which I was trying to run the installers. Then I was able to get setuptools installed.

After I modified PATH to include the Python and Python\Scripts directories I tried to use easy_install, but it failed to install any package that contained native code. I also added .py to PATHEXT as described in the Buildbot README.w32 file. I continued by grabbing the exe installers of the dependencies and running them one by one. Note that this might be too long, but I found these from various pages describing how to run Buildbot on Windows: pywin32, zope.interfaces, twisted, pycrypto and pyopenssl. I used the latest stable release of each.

Next step was buildbot itself. I downloaded the sources, unpacked, and run python install.

For a change, easy_install worked for the next two packages I wanted to use for the actual tests: easy_install nose, easy_install coverage.

buildbot create-slave command worked fine, but when I first tried to start my slave it would just sit there without doing anything nor giving any errors. It turned out I had given wrong machine name as the buildmaster. I would have expected an error when trying to start. Once I fixed that, the buildbot slave was running correctly. (Note that I have not yet tried to run it as service.)

Finally it was just a matter of fixing broken tests and installing any dependencies the code I was testing had (like .NET 3.5). Feels good having some assurance that the changes I make on Linux won’t hose the Windows world.

Cygwin Upgrades and rebaseall

When you upgrade the Cygwin openssl package (or possibly any package, but the openssl package has caused the most problems for me) you are sometimes hit with mysterious-looking errors that go away if you run rebaseall. So I have taken the habit of always making sure that I install the rebase and ash packages when I do the initial Cygwin installation, and then run rebaseall after I upgrade any components.

Running rebaseall can be a bit tricky. The only Cygwin program that can be running at the time is the ash shell. So first of all you need to shut down any long running processes like sshd, close all Cygwin prompts and so on. Next you need to start the plain Windows Command Prompt (if you normally run as unprivileged user but install software as Administrator, then you want to start the prompt by right clicking the icon and selecting Run As… and choosing an administrator account). Then type the following commands (assuming default Cygwin installation location):

cd \cygwin\bin
PATH=. rebaseall -v

This should result in several lines of output similar to:

/usr/lib/xyz.dll new base = 1234, new size = 123

After that you can restart any long running processes, start the normal Cygwin shell and all should be good.

Xpress Mail Messed Up My Phone

I knew I shouldn’t, but I went and tried the Xpress Mail on my 8525 that CingularAT&T had provided for my phone… The end result was that I had to hard reset my phone, and because ActiveSync failed to restore my data, I had to manually reinstall all applications and I lost my contacts for good.

The Xpress Mail installation seems extremely invasive. Maybe it needs to be for simple devices, but I don’t see why that would have to be the case for a phone running WM5 or later. The installer asks for your phone number (what has that to do with email?), your ISP, login and password. Then it seems that it passes my login and password (in this case my Comcast account) to AT&T. There are no security settings anywhere, so I don’t know if all that is even being transmitted in the clear somewhere. The Xpress Mail UI has just a handful of preferences, and none that seemed to be of interest to me. For what it is worth, it did work with my Comcast email, and seemed to integrate that into Pocket Outlook.

But I really did not like the fact that I had no firm idea what had happened with my account information. So I reset my Comcast password, and uninstalled Xpress Mail. And started noticing major problems. It used to take just a couple of seconds to connect to network after reset, and now it was taking about a minute. Battery was draining at an alarming rate (full charge in the evening, and battery drained empty sometime during the night).

So now I have spent a day trying to restore everything, and all is good now except for the lost contacts. The additional software I installed included PTTFix, BART Quick Planner, Google Maps, GSPlayer2, PIM Backup (won’t lose my data anymore!), Pocket Putty, QMail3 (for Comcast email), Skype, vncviewer, WM6 Remote Desktop, and zsIRC.

QMail to the Rescue

Since I upgraded my 8525 to Windows Mobile 6, I have been unable to read Comcast email. Granted, it was really slow even with WM5, but it worked. Not so with WM6. I talked to both Comcast and AT&T support, but no luck. I did get a phone number for HTC support, but haven’t made the call, and rather figured I’d live with it.

But enough is enough. I finally figured I’d search for a good, free mail client for Windows Mobile. It seems QMail is hands down the best in that category. QMail is really capable, but it is seriously lacking in the documentation department, and even most of what is available is in Japanese. Luckily I did find an old guide, which clarified some issues (the latest version comes with SSL builtin, so you can disregard that part of the guide). There is also an English FAQ that explains how to create filters and actions to automatically download only messages that are newer than X number of days and download messages automatically every Y minutes.

QMail had no difficulty with Comcast’s POP or SMTP servers; even TLS works.

Office 2000 Broke Bluetooth ActiveSync on Windows XP

I have been syncing my Cingular 8525 (upgraded to Windows Mobile 6) over bluetooth using ActiveSync 4.5 with Windows XP, but last week I had to install Office 2000 (I had managed to use OpenOffice only for the past 4 years or so), and the Office 2000 setup messed up my sync.

It seems the installation (and all the updates, mind you) first of all deleted the virtual COM port (server) I had set up to enable ActiveSync over bluetooth. This is sync-over-bluetooth is a tricky thing. All the instructions tell you to first create a virtual COM port (server/incoming) on your computer. The way to do this differs, unfortunately, and depends on the bluetooth drivers. For Dell Inspiron 9300 you can do this using the Bluetooth Local COM shortcut in Control Panel. Then, in ActiveSync you need to go File > Connection Settings… and check the box to allow connections to the following, where you select the COM port just created. Then on the phone you initiate the connection, first pairing the device, and then doing the sync.

Unfortunately more often than not, you will run into one of two problems on the phone. The first is that the COM port you created on the desktop may not be available for your device. A little experimentation will hopefully find a common port for both. The second problem is that even after all this, the phone may not see the ActiveSync service being offered over bluetooth. It seems deleting the virtual COM port from the server and the pairing on the device and recreating everything from scratch eventually leads to the desired result, and sync may start working.

The last problem I run into was that now syncing seems to work except that the Outlook 2000 is too old, and while the sync tries to start it, Outlook 2000 will crash. Outlook 2002 is required, but unfortunately Cingular did not ship Outlook 2002 with my 8252 device (just a 60 day evaluation version), so I would need to spend additional $100 to get my device to properly sync with my desktop. That is just lame.

Nevertheless, it does seem like syncing is now working again, albeit much slower than it used to be and there is also the Outlook 2000 crash so I am not sure what is not synced.

Maxtor OneTouch III Mini 160 GB USB Drive

I finally got fed up with backing to CDs and DVDs and got an external USB drive. This being the first external drive I’ve ever used, and needing to use for both Windows XP and Linux, I decided to go with a modest device just in case it didn’t work. I first plugged it into a Windows system, and were immediately confronted with problems. It seems the Windows software that comes with it is really buggy. The installer of the Windows software did not start automatically. Once I launched it manually the install went OK. Pressing the OneTouch button seems buggy too, it very rarely launches the backup application like it is supposed to. The backup application has non-standard UI. I tried to move the window, and that always minimizes the window. Some other operations seem to minimize the window as well. Once that happens, there is no way to bring the window back up. You have to kill the program from the task manager. Eventually I did get it to start backing up, but when I went to look at some other settings I had a hard time finding out the progress of the backup. Turns out you need to “start backing up again” to see the current progress. Finally when that was done and I wanted to unplug the device, the remove devices notification icon was nowhere to be found. Had to use a cryptic command line trick to safely unplug the USB drive.

Then it was time to try Linux. Plugging it in to Ubuntu Dapper Drake immediately mounted it. Good. Except I wanted to partition the drive, so that Windows would write to NTFS and Linux to ext3 partition. So I launched GParted. And twiddled and twiddled and was stumped by not being able to resize NTFS partitions. What was going on, I have done this before? Finally decided to do it using the command line ntfsresize tool, which I had to install, and at that point GParted also got support for this. Doh! Ok, so I resized the NTFS partition and created ext3 without problem. Dapper automatically mounted the ext3 partition as well. Next problem was getting a user-writable directory there. Finally resorted to command line, as I was getting tired of finding the right GUI tool. Took me a minute to find where Dapper had automounted it, though. Right-clicking the disk icon on desktop, and looking at the last properties tab solved that problem. At first I just manually copied some files over, but I want to use a more automated system. I haven’t yet decided between rsync and Dar (or the KDar GUI).

nVidia 84.30 problems with GeForce Go 6800 on Dell Inspiron 9300

A while ago I noticed that Dell had an updated nVidia driver – 84.30 – for my GeForce Go 6800 card (3DMark says that is the Ultra model even, but I am not sure which is correct). My laptop was shipped with 78.51, which is fairly old compared to the update.

I went and installed the new driver, and went to try America’s Army. At first it seemed like the upgrade was great: my fps went from 30-35 to 40-60! But then I started noticing problems. First, everything was a bit jerky, as if the fps figure was lying. The biggest problem was terrible mouse lag. In head-to-head, one-on-one fights the mouse lag basically made it impossible to hit anything.

I eventually tested with 3DMark05:

  • 78.51: 3409
  • 84.30: 3055

After downgrading the driver (phew, worked!), America’s Army was again rolling smoothly without mouse lag.

While researching the issue I stumbled onto several resources that I might eventually try out when newer games no longer get decent fps with this card:

Logitech software breaks Cygwin

It was a couple of weeks ago that I last used Cygwin on this computer. Today I launched the cygwin prompt again and was surprised to see most commands reported errors about failing to allocate heap. This was a mystery since there was plenty of free memory and I hadn’t changed any Cygwin settings.

I proceeded to upgrade cygwin, reinstall, uninistall completely and manually delete any left over junk and reinstall again. To no avail.
I finally found the right Google query that produced the information I needed: it turns out the Logitech webcam software I installed recently breaks Cygwin. Specifically, it is the “Logitech Process Monitor” service. Stopping it made Cygwin go again. I am trying to leave it on Manual instead of Automatic, but I have yet to see what t hat does to the other Logitech webcam software.