Goodbye Twenga

Recently we had a performance problem that I traced back to shopping site called They were generating a lot of requests so I updated the the robots.txt file to slow everyone down and updated the file used by awstats to see how much traffic Twenga and a couple others were generating. After a couple of days I decided I had enough and banned Twenga via the robots.txt file. They had consumed over 1.6 GB in the first week of April which was several times more traffic than robots like Google and Bing. Since we do not get any sales from Twenga it was an easy decision.

Is the end of Internet Explorer closer than we think?

I have been using Google Chrome for the last month at work. It started out as a frustrated response to Internet Explorer crashing random tabs. Then it became an experiment since although it was much faster than IE there were some applications that did not play nicely with Chrome. Now that I have worked through the problems, it is my production browser. On the other hand I still use Internet Explorer at home since I do not have the crashing tab problem. Considering the size of the smartphone and tablet market, if Internet Explorer cannot decisively when the desktop market the end is drawing near.

Why do I get 80072EE2 errors?

It took me awhile to track down the culprit for the 800732EE2 errors. We verify all FedEx ground shipping addresses by making a call to the FedEx API when we print the packing slips. Our Priority Mail vendor, Endicia, will not let us print a label with an invalid address. FedEx Express packages will not print the label with an invalid address. For some reason FedEx allows Ground/Home packages to go out with an invalid shipping address but then they would ding us $11 for each invalid address. I fixed the problem by automatically checking addresses. I don’t know where I got the original code but the timeouts worked for every day except the first printout on Monday morning. On Monday mornings we print a lot of packing slips so the ten second receive timeout did not work.

Why do I get 80072EE2 errors?

msxml3.dll error ‘80072ee2’  
The operation timed out

This means that the site you were trying to parse either could not be found, and the component gave up; or it is taking far too long for the page to finish loading. One way you can avoid this error is to set timeout values that are more conservative, e.g.:

    url = ""  
    set xmlhttp = CreateObject("MSXML2.ServerXMLHTTP") 
    ‘ resolve, connect, send, receive – in milliseconds 
    xmlhttp.setTimeouts 5000, 60000, 10000, 10000 "GET", url, false  
    xmlhttp.send ""  
    Response.write xmlhttp.responseText  
    set xmlhttp = nothing  

The four timeout values are as follows: 
This value is for the return of a DNS resolution (mapping the domain name to its representative IP address). The default value is infinite. 
This value is for establishing a connection with the server, and the default value is 60 seconds. 
This value is the time allowed for sending an individual packet of data to the server. The default value is 30 seconds. 
This value is the time allowed for receiving an individual packet of data from the server. The default value is 30 seconds.

Why do I get 80072EE2 errors?

Svnserve Based Server

This week I decided to update my Subversion components and it did not go well. The first surprise was after updating my version of TortoiseSVN  to the 1.7 version, my Subversion icons disappeared. The fix was simple but it reminded me that it had been a long time since I updated the Svnserve server I was using from CollabNet. This would also be a nice time to add HTTP access to the repository. So I downloaded the CollabNet Subversion Edge Server and tried to get it to work with my existing repository. I ran into several problems(e.g. viewvc exception).  While researching the solutions I decided an easier solution to my problems was to install the VisualSVN Server. So I uninstalled the Edge Server, installed VisualSVN Server, and imported my repository. This worked for HTTP access but I still wanted Svnserve access since I had existing folders checked out via this method. The VisualSVN bin directory has the current version of svnserve so I needed the instructions for installing it as a windows service.  The instructions I found, Svnserve Based Server, worked for me but not until I stopped fixing things I should not be fixing in the “unusual command line” format.

Note the rather unusual command line format used by sc. In the key= value pairs there must be no space between the key and the = but there must be a space before the value.

So now I have a relatively simple Subversion server solution that works for both svnserve and http access and it should be easy to maintain.

Backblaze Blog » Petabytes on a Budget v2.0:Revealing More Secrets

135 terabyte, 4U server for $7,384 is pretty cool!

It’s been over a year since Backblaze revealed the designs of our first generation (67 terabyte) storage pod. During that time, we’ve remained focused on our mission to provide an unlimited online backup service for $5 per month. To maintain profitability, we continue to avoid overpriced commercial solutions, and we now build the Backblaze Storage Pod 2.0: a 135-terabyte, 4U server for $7,384. It’s double the storage and twice the performance—at lower cost than the original.

Backblaze Blog » Petabytes on a Budget v2.0:Revealing More Secrets

VirtualBox Migration Issues

Recently I have been interested in possibly converting my existing VPC and VMware images to VirtualBox. I have one image running under VPC and several images running under VMware server and ESXi. Although VMware has been an adequate platform the idea of running VirtualBox under Ubuntu server is appealing.

My first test was to try and convert my VPC image. It did not go well. I kept got a blue screen of death and wasted a lot of time. After soon research I realized that I did not setup the image correctly for migration.  Someday when I have a lot more time, I will try again .

My second test was to convert a mail server image that sends out our newsletter. This mail server has a history of being pretty compute intensive since we use DKIM to sign every email. From previous experiments I determined that I could shorten the run time by setting up the mail server as a multi-processor image. The host was on an old dual processor with 4 GB of RAM and under VMware Server  2.0 I could take advantage of both processors. However when I converted the image to run under VirtualBox I could take advantage of only one CPU. Alas the processors do not support VT-x so VirtualBox restricts you to one processor. I ran one newsletter through the VirtualBox version and it took about twice as long. Oh well! Back to the drawing board.

Going Back a version of Adobe Flash

Recently I started getting some Flash display problems. The Flash graphics was appearing in the upper left corner of the screen and flashing intermittently. I believe these problems started occurring when I upgraded to the most recent version, Here is what I tried and what worked for me.

  1. I tried reinstalling the current version and the symptoms remained.
  2. I tried a forced uninstall and a manual install of the current version. The symptoms remained.
  3. I uninstalled the current version and installed the previous version, I got the previous version from Archived Flash Player versions page. Now my graphics are working properly.

Microsoft Safety Scanner – Remove Spyware, Malware, Viruses Free

I had some funky display show up when I went to so I ran a antispyware check using Since this program takes a long time I ran the Microsoft Safety Scanner, too. Microsoft did not find anything and SUPERAntiSpyware found a false positive on a file included in QuickBooks SDK 10, tiny.exe.

Do you think your PC has a virus?

The Microsoft Safety Scanner is a free downloadable security tool that provides on-demand scanning and helps remove viruses, spyware, and other malicious software. It works with your existing antivirus software.

Microsoft Safety Scanner – Remove Spyware, Malware, Viruses Free

My Natty Narwhal problems

Last week I decided to update to the latest recent on my VMware version of the Ubuntu Desktop and it did not go well. During the upgrade I got a disk space error message with non-displayable characters. It was a curious message since I thought I had enough disk space and it did not stop the process. It was when I rebooted I encountered the major problem. I would like to tell you more about the error message but the screen clears and I am left with a GRUB prompt. That’s not nice!

So I did some research and booted using the instructions from this page, Express Boot to the Most Recent Kernel. Everything came up nicely except for my windows were missing the title bar when I came in via the NX client. To fix the booting problem, I reinstalled from the LiveCD using the simplest method. To fix the missing title bar I installed the latest version of NX client from NoMachine NX. I also got the missing title bar when I used the VMware console window to log in. In that case I just specified that I wanted to use the Classic interface when I logged in.

Amazon’s $23,698,655.93 book about flies

Over the last couple of weeks I have been working on an automated pricing program. This was not one of the algorithms I was looking at. Winking smile

A few weeks ago a postdoc in my lab logged on to Amazon to buy the lab an extra copy of Peter Lawrence’s The Making of a Fly – a classic work in developmental biology that we – and most other Drosophila developmental biologists – consult regularly. The book, published in 1992, is out of print. But Amazon listed 17 copies for sale: 15 used from $35.54, and 2 new from $1,730,045.91 (+$3.99 shipping).

Amazon’s $23,698,655.93 book about flies

Error code "0x80070646," "646," or "1606" running Windows Update

Windows Update was failing to install several updates Office 2003( KB2502786, KB2509503, KB2522981, and KB2464588). I eventually found the answer. I opted to manually update the registry. I only had to apply the first registry change described in KB2258121 for the updates to work.

This article (KB2258121) provides a fix for a problem in which you receive error code 0x80070646, error code 646, or error code 1606. This update issue occurs when you install Office updates by using Windows Update or Microsoft Update. For detailed information, see the “Symptoms,” “Cause,” and “Resolution” sections of this article.

Error code "0x80070646," "646," or "1606" running Windows Update

Problems upgrading Awstats from 6.9 to 7.0

I have a working configuration for Advanced Web Statistics 6.9 (build 1.919).  When I upgraded to the latest release (Advanced Web Statistics 7.0 (build 1.971), it did not work. I ran into this problem in 2009 and backed off.  Now it is time to commit some brain power to fixing the problem.


When I tried to process a log file no statistical data was being collected. No error messages were generated even though many new records were processed. The data file remained very small.


I set up a test environment in which I could process the data with the new version and debugging turned on. To turn debugging on I changed DebugMessages from 0 to 1 in the configuration file and added "-debug=10" parameter to command used to process the log file. This gave me all of the debug messages printed to the screen. I started processing a log file and interrupted it after it had processed a few lines by hitting Ctrl-C. In the debug output I could see that 7.0 version was having problems with the log format. Some values were parsed correctly and others looked like they were offset by one variable. In my configuration I was using a custom logformat which used a combination of IIS column names and AWSTATS keywords. I don’t remember how I created it but I suspect I found an example on the Internet. It worked for the last two years but now it seemed to have a problem with cs-username(%logname).


My solution was to convert the IIS column names to the corresponding AWSTATS keywords. Even after using the AWSTATS keywords it was still not parsing correctly. To get the parsing to work correctly, I had to change %logname to %other. In my log files, the value for cs-username(%logname) is a single dash.   Obviously it is not important or necessary. When I look at the code, line 9027, I see a comment that says the regular expression code allows spaces to support Lotus Notes. As a result it puts two fields into one variable. Naturally the parsing for %other works correctly. After I knew what the problem and answer was, I could find the answer on the Internet. Here is someone else who experienced the same problem, It sure would have been nice if Awstats re-mapped cs-username to %other rather than %logname.

Interfacing Subversion and Mercurial to Spiceworks

I keep our web site source files, stored procedures, and assorted programs in a source control management(SCM) program called Subversion. Since I am a small shop I track my trouble tickets using Spiceworks. My normal work flow is to enter the trouble ticket into Spiceworks and then start working on the problem. When I am finished with the problem I commit the files to the SCM and close the trouble ticket. To make life a little easier with future problems, I include a reference to the Spiceworks trouble ticket in the Subversion commit message. This could be a text version of trouble ticket number but I prefer a little nicer web interface so I implemented the bugtraq interface. This gives me a click-able link in the log that will bring up the original trouble ticket in a web browser window. This can be handy when you are troubleshooting a file that has some modification history. Implementing the bugtraq interface is pretty simple. You add two properties on your subversion repository, bugtraq:message and bugtraq:url. I set my parameters on the trunk folder properties. I set the message parameter to "Issue : %BUGID%" and the url parameter to "http://svrdev1:9675/tickets/list/all_tickets#ticket_id_%BUGID%". If you are planning to copy my parameters you should omit the double quotes and change the "svrdev1:9675" to your Spiceworks host name and port number.

If your SCM is Mercurial you can implement the bugtraq interface using these instructions, The instructions are for a different SCM, Kiln, but these instructions work for any SCM you access via a url. In this case the issue link in the issue tracker changed to "http://svrdev1:9675/tickets/list/all_tickets#ticket_id_{1}".  There are several valid formats you could use. Just look at the regular expression used in setting it up for details. I used "(?i)(?:case|bugzid|Issue|#)\s*:?\s*(\d+)" for my Issue Regex. When you browse the log you should find the "Issue : 619" is an underlined, click-able link to your SCM trouble ticket.

T-Mobile G2 free through Jan. 20

I bought two of these this week. My Blackberry was working fine but my wife’s phone was having problems. The price was right but I cannot find the $50 mail in rebate form. I had a surprisingly difficult time ordering the phones via the t-mobile web site using Internet Explorer. I ended up using Google Chrome to get the pop up windows to show up.

I also had a difficult time changing my handset on their my.t-mobile site. It kept changing back to the Blackberry even though that phone did not have the SIM chip anymore! When the site changed my phone device to the Blackberry, it would complain that I had the wrong data plan for the phone. I had to reset the phone almost every time I logged into

If you’re looking to snag a T-Mobile G2 (check out our review) on the cheap, it’s now available for the low, low price of free through Jan. 20. With it you get great keyboard, fast processor and that crazy locked-down hardware that took way too much time and effort to crack. (But cracked it was. Huzzah!) Anyhoo, you’ve got a couple days left to pull the trigger. Get it at the source link. [T-Mobile]

T-Mobile G2 free through Jan. 20 posted originally by Android Central

Sponsored by Android Cases and Accessories

T-Mobile G2 free through Jan. 20
Phil Nickinson
Tue, 18 Jan 2011 01:45:01 GMT

Creating a Portable Padre

Padre logo

I think I was bored on a slow Friday afternoon so I started updating non-critical software.   Somehow I found a portable version of Perl, Strawberry Perl, and an IDE for Perl called Padre. An IDE is a help for someone like me who does not use Perl very often. Since I have a love-hate affair with the Windows registry, I also prefer portable applications. Since all of my portable applications are applications, I prefer portable applications that fit in this framework. So I found a “portable” Strawberry Perl. However it was not in the Portable Apps framework. I found an installable version of Padre but not a portable version. I am guessing that there is a Perl/Padre version issue since they only build Padre for Perl 5.10. The “portable” version of Perl I was looking at is 5.12. So I decided to ignore the problems and create my first Portable Application. If it doesn’t work I won’t use it. Here are my steps for creating a Portableapps version of Strawberry Perl with Padre(45.7 MB).

  1. Download Portable Strawberry 5.12.
  2. Create PortableApps folder structure for new application called StrawberryPerlPortable
  3. Create StrawberryPerl Portable Application
    1. Install Portable Strawberry in "app" folder.
    2. Create appinfo.ini
    3. Create Launcher folder and StrawberryPerlPortable.ini pointing to portableshell.bat
    4. Create Portable application using Launcher
  4. Test
  5. Install Padre using cpanp. Ignore errors.
  6. Modify portableshell.bat to start padre rather than cmd.
  7. Test example scripts
  8. Final Test: Install my cidrmerge application.
    1. Install NetAddr::IP::Lite
    2. Install Net::CIDR::Lite
    3. Test cidrmerge.

The Case of the Messed Up Fax

We use a web application to create purchase orders. We send purchase orders to our vendors by printing the web page to our fax server. Two days ago we sent out two faxes with large black blotches on the page. There were purchase orders that were sent out before and after these faxes that were fine. Something was different about these purchase orders. We found that we could duplicate the problem on different workstations. When I previewed the fax on my laptop I could see that it was already corrupt. If I printed the web page to the printer or created a PDF it was fine. My boss thought it might have to do with our recent roll-out of the new Windows 7 laptops. So I checked the HTML for odd characters and did not find anything. It was about this time I noticed that the two problem purchase orders were about the same size. One purchase order had 36 line items while the other purchase order had 37 line items. I also found out that I used Firefox or Google Chrome to print the web page, it created the fax correctly. This printing problem was specific to Internet Explorer. The final clue was found when I went to my old laptop and it displayed the faxes correctly. When I checked its page setup I noticed that it was using an A4 paper size rather than the standard Letter size. After a little fiddling with the page settings, I determined that when I changed the bottom margin on my new Windows 7 laptop to 0.5 or 1.0 inch the fax would be created correctly.

My boss remained unconvinced. Why did we not see this problem before? That was a good question. After a little investigating of our fax log I found a corrupted fax over a month ago.  Since this problem is rare and the subsequent faxes went out successfully, they resent the fax manually and did not bother to tell anyone of the problem.