Category Archives: Technology

Yahoo Abuse Feedback Loop

A few days ago I discovered that Yahoo had created a email abuse feedback loop system.

Based on my experiences with AOL’s feedback system, I really didn’t have high hopes for Yahoo’s efforts … but decided to give it a shot anyways.

I signed up to get abuse reports for midrange.com messages.   It took a bit of time to get it all processed, but it’s now in place.

The next day I got my first report of abuse.

Continue reading

Netgear ReadyNAS NV+

For quite some time I haven’t been happy with the level of data protection on my servers … a while ago I ran mirrored (RAID 1) IDE (PATA) drives on my system using a Arco Duplidisk adapter.   It seemed adequate, but after I upgraded my servers to the Dell PowerEdge systems, it didn’t seem to work quite right.   It was reporting failed drives when there were none.

So, after a fair bit of research, I decided to get a NAS (Network Attached Storage) device.   My criteria were a) had to support various RAID levels (1 & 5 at least), have hot swappable drives, and support NFS (the linux network file system).

The device I decided on is a Netgear ReadyNAS NV+.   The model I got came with 2 x 500gb drives, with bays for two more.   It wasn’t cheap, but I think it will be worth it in the long run.

It supports various RAID levels … RAID 1 (mirroring, where the data on one drive is completely duplicated on the other), RAID 5 (where data is stored on two drives with a parity bit on the 3rd … if any one of the drives fails, the data can be reconstructed on the fly using two of the drives), and it’s own RAID X … which is an eXpandable and adaptive RAID variation … which will use RAID 1 if you only have two drives, and RAID 5 when you add more.

Although there were a few hiccups, I’m not displeased.

Continue reading

Spam Poison

I’ve never understood the rationale behind the various web scripts that claim that they are ‘poisoning’ spammers lists.

They claim that, by putting a bunch of garbage email addresses on a web page and encouraging spammers to harvest   the page, they are poisoning a spammers email list and thus making the list useless so that they will discard the list.

Where did they ever get the idea that spammers CARE about the good & bad addresses that they harvest.   Considering how much it costs them to send spam, they wouldn’t are one lick if 90% of the addresses on their list is valid or not.   Especially since most spam sent these days is done by infected personal computers controlled by ‘bot herders‘.

I often watch the log file on my mail server … and observe the servers trying to deliver mail to mangled and non-existent addresses.   It’s clear the sending system is just blasting names at my server without any consideration if the address exists or not.   My mail server software (sendmail) had an option to throttle the connection of any system that gets more than a certian number of bad addresses.   I also have a script that monitors for that behavior and adds a firewall rule to completely block such systems.

My advice to those who create such scripts … focus your energies elsewhere … right now you’re just wasting your time.

Oh, by the way, for those of you who are trying to use “User-Agent” lists to block harvesters … don’t waste your time on that either.   Harvesters, like spammers, will never clearly identify themselves as such … and will use a completely legitimate user agent when spidering your website.   Additionally, they will absolutely ignore any robots.txt file that you have in your site.

There are, however, systems that use a somewhat similar technique to stop spammers … but are much more effective.   Instead of just trying to poison a spammers list … they use traceable email addresses.   This means that, when a harvester visits a page with this traceable email address, they log the IP the harvester is using and the email address that is harvested.   This way, when spam is sent to the address, they know when and how the address was harvested and where it was sent from.   Theoretically the spammer is reported both to the ISP that the mail was sent through AND the ISP that was used to harvest the address.   Project Honeypot is one such anti-harvester organization.

Temporary LIBXML2 solution

Ginny has been bugging me about the problem she’s been having posting to her blog from the iPhone and other third party tools that she uses.

The problem has been narrowed down to a bug in LIBXML2 that causes leading angle brackets “<” to be stripped off of posts when processed through the XMLRPC support in PHP.   I logged the issue in the WordPress bug tracker, and the consensus is that the problem started manifesting after an automatic update applied by Fedora 8.

Well, to solve the problem I’ve moved Ginny’s blog to a temporary server running in a base Fedora 8 install in a VMWare instance.   Luckily WordPress stores most of it’s content in the MySQL database (not the images, unfortunately).   A bit of NFS magic to mount the appropriate directory in the virtual system, and it’s working fine.   The server itself only has Apache, PHP, MySQL client, SSH, and a few other bits & pieces to keep it running.   No automatic updates, GUI, compilers, etc.

Once the bug is fixed (either WordPress, using a different XML processing mechanism, or LIBXML2) I’ll move her server back to the main server.

In the mean time, her blog is going to run in the virtual machine ‘Hobbittown’ (named because it’s small).

Bad Video Card

My poor little Laptop … something’s gone wrong with it’s video card.

A few days ago I was watching a video on the laptop and something went horribly wrong … the video got completely corrupted.   Even rebooting the system didn’t help.   My initial thought was that my external monitor had gone casters up, so I undocked the system and booted it up.   Video on the laptops display was corrupted too.

Got on another PC and started a chat with Dell hardware support … I was quite surprised that the tech I chatted with quickly picked up on the fact that I was technically competent and didn’t waste my time with each individual mouse click and key press.   He simply said “OK, let’s delete the video adapter from the device manager”.

After we deleted the video adapter and reinstalled the video drivers, the problem seemed to go away.   The tech had me run a few video intensive programs to see if the failure came back.   It didn’t.

Yesterday, however, the problem came back.

Continue reading

Excel is Stupid!

Did you know that Excel could give you different calculated values based on what the default language for your PC is?

I’m working on a translation project … and the translation company gave us a excel spread sheet with a list of screen fields that need to be expanded.

This spread sheet uses the LENB function to calculate the length of the text that needs fit on the screen … and uses that calculated length to indicate how much the field needs to be expanded.

LENB is (supposed to be) aware of double byte & single byte character sets … unfortunately, it’s only aware of double byte characters when Japanese is the default language on your PC.

So, if Japanese IS the default language on your PC, and a character is double byte … it will return 2 as the length of the character. However, if Japanese is NOT the default language on your PC … it will return 1 as the length of a character.

There’s no warning about this potential discrepancy when you load the spread sheet … the only way I was able to find this out was to dig through the documentation.

As a result of this, I just spent a week and a half working on expanding fields … and it turns out that the size I expanded the fields to was incorrect … so those have to be redone … and the entries in the spread sheet that were less than 1 actually DO need to be expanded.

LENB is a totally brain dead and stupid function … there is NO situation where a calculation such as that should be effected by what the default language of the PC is.   It should return the same value regardless of what machine it’s run on.

Turns out there are a bunch of functions that behave this way … FINDB, MIDB, LEFTB, MIDB, REPLACEB, RIGHTB, and SEARCHB.

A friend suggested that OpenOffice might be better … but, at least as far as I can see, OO doesn’t have functionality that’s aware of double byte characters.

iPhone for WordPress

This post is being written with the WordPress app for iPhone.

As expected, it’s pretty awkward to use, but functional.

  • Documentation is non-existent … but that’s coming, according to the announcement post.
  • Decent integration with the camera & photo roll, although there doesn’t appear to be a way to position the pictures.
  • Can’t see a way to do trackbacks or even enter URL’s.
  • It’s not clear if the text is entered in HTML or just plain text.

It’s going to take some getting used to … but I’m pretty sure this isn’t the next ‘killer app’.

photo

FWIW: This post was originally entered on the iPhone, but edited in regular WordPress.

2.0 iPhones Upgraded to 2.0

Ok, I got both iPhones upgraded to the 2.0 version of the iPhone OS.

Initially, I had some trepidation about upgrading a day early … and my feeling seemed to be valid when a co-worker tried to upgrade his phone and had a bunch of problems.   He kept getting an “Unknown error (6)” message.   I don’t know if he actually got his upgraded.

Regardless, I decided to throw caution to the wind and upgrade my phone anyways.   Luckily, it worked without a single hitch.

When I got home from work, I proceeded to upgrade Ginny’s phone.   This, of course, is where I ran into problems.

I started the upgrade process by first upgrading her iTunes to 7.7.   That worked without any problems.   Then I proceeded to upgrade her phone.

Initially it was going OK … then I got an “Unknown error (10)” message.   Figuring that I would just restore the phone to it’s previous OS version, I tried the restore option … but when I did this   I got an “Unknow error (20)” message.   Tried a few more times and got the same message.   This is not good.

I Googled around a bit and found a thread in the Apple support forum that said that, if I pressed Option (shift in Windows context) and clicked the restore button, I could ‘Recover’ to the 2.0 firmware.   Luckily this worked.

About 20 minutes later I had Ginny’s iPhone working fine.

Five minutes after that, I we were both playing with the “Phone Saber” application.