Archive for July, 2008

No news isn’t always good news

Monday, July 14th, 2008

I intentionally downloaded something questionable on the Internet because I thought it might be a useful program.

First, let me say that I don’t encounter too many destructive viruses any more.  Not since infecting computers became profitable have I personally seen any viruses that simply delete your hard drive or corrupt your master boot record or anything like that.

I planned to run the questionable application on my laptop.  I hadn’t yet installed any antivirus software on my laptop, so I installed McAfee’s antivirus and firewall.  After the shields were up, I scanned the EXE.  Nothing was detected by McAfee, so I ran it.  The program seemed to do nothing.  Yet, even more suspcious than the program not doing what was expected–the program actually deleted itself.

Just because your antivirus doesn’t detect a problem doesn’t mean there isn’t a problem.

It turned out to be a Trojan backdoor program, which also installed some Internet Explorer ActiveX add-ons.  Interestingly, when I disabled one of the add-ons through IE, it re-enabled itself before I shut down IE.  Make sure you manage IE’s add-ons through Internet Options in control panel rather than through the Tools menu in IE.

Also, I couldn’t delete the DLLs that were part of the malware because they were loaded by winlogon.exe.  I tried killing the threads and handles using Windows SysInternals Process Explorer.  That didn’t seem to let me delete the DLLs, even though they were killed.

I’ve had good experiences with Avast Antivirus in the past, so I installed that.  To anounce a virus, Avast uses an audio alert, like the ship’s computer on Star Trek, which appeals to me.  Avast also has a simple user interface and a no-hassle install and no-hassle updates.

AvastAvast has a pre-boot scan which can delete viruses before they’re loaded by Windows.  Unfortunately, Avast didn’t even detect the malware DLLs, however it did detect the original EXE, which I tested by re-downloading it.

So, I did some research.  I found an article that actually compared the effectiveness of antivirus programs.  The program that was rated #1 for accuracy was a program called Avira.

AviraAvira has a painless install, an easy user interface, and it detected not only the original EXE, but also each individual malware program that was delivered as payload by the EXE.

When Avira detected the DLLs, it asked what I wanted to do.  I said, “Move to quarantine”, but the files remained, which made sense because they were in use.   But after a reboot, the malware was effectively moved to the quarantine.

My favorite part about Avira’s user interface is that an open umbrella icon in your system tray means you’re protected, and a closed umbrella means you’re not–simple.

So, now I have three anti-viruses installed on my laptop, but they seem to get along.  Avira is free for personal use, like Avast.  However, Avira does nag you to upgrade with a pop-up, which may seem almost as bad as those Internet Explorer add-ons.

Antiviruses should be more clear by always giving an answer.  They should report one of the following: “infected”, “possibly infected (heuristics)”, and “unknown”.

Unfortunately, there is no way for an antivirus to report a program as “safe” unless the program has been digitally signed by a trusted author.  A digital signature identifies where a program came from, and it’s up to you to trust or not trust the program based on that.  It would be nice if an antivirus actually reported “safe”, not just “nothing detected”.

Draining transaxle fluid on a 2003 Chevrolet cavalier

Wednesday, July 2nd, 2008

There is no drain plug for the automatic transmission on my 2003 Chevrolet Impala 3.4L V6.

Transmission/Transaxle Pan for Chevrolet ImpalaIt’s crazy work to get the fluid out.  You have to actually remove the screws on one side of the pan and loosen the screws on the other to drain the eight quarts of automatic transmission fluid.  It’s a messy job.

This photo shows the drain pan, and I’ve marked the screws on one side, but these screws go all the way around the pan.

You have to take the pan cover off completely in order to replace the filter anyway, but it sure would be nice to drain the fluid in a controlled manner first.

I’m glad I only need to do this every 50,000 miles.

Developing software is a lot like driving a car.  Software has a maintenance mode, and cars have a maintenance mode.

There is a school of thought that dictates that if you know the direction that your software is headed, you try to incorporate some flexibility into your design in order to more easily accommodate those changes.

Yet, there is a school of thought that believes that you should only write what you need, and simply re-factor in the future if you hit a road block with your current design.  The idea behind this is that the number one risk factor for all development tasks is the time line.  Therefore, the number one goal should be to simply get it done.

Those that coded two digit years into their code used the second concept.  Yes, we were still using a lot of that software when the year 2000 came, and a lot of changes had to be made while the software was in maintenance mode.

While it was certainly a lot of work to re-factor the software to handle four digit years, all of these software projects that had to be updated for Y2K had one thing in common–they were done.  They had made the move from development to production and maintenance.

It’s understandable why Chevrolet decided not to put a drain plug on the pan.    They would have to design it.  They would have to test the plug.  They would have to order the parts, and keep them in stock, all for something that would only be used every 50,000 miles.

When asked why there was no drain plug, the developers probably answered, “Well, just loosen the screws and drain it that way.  It’s not the ideal situation, but it’s done.”

“What about when we hit the year 2000?” they asked.  “We’ll fix it then.  At least it’s done.  Go make some money.”