Server Upgrade Issues

How about that new server?

A few issues have risen over the past few days that have had me up until well after midnight. They seem to be under control with a band-aid but wanted everyone to have something to look to if they/you were/are affected.

Issue 1. Encoding. I just spotted this so i’ll discuss first. I know the fix but just don’t have the cycles right now to fix. The band-aid is changing:

$title = htmlspecialchars($blogtitle, ENT_QUOTES);
$title = htmlspecialchars($blogtitle, ENT_SUBSTITUTE);

The bigger fix will  be a total revamp of how encoding is handled with both php and mysql. I’ll fix this over time. For now blog posts that use special characters in the title will look funny or fail to insert. There are very few cases of this happening in testing. The more you use them, the greater the possibility.

Issue 2. Dates. More specifically the posts published date stamp and how it’s presented in the 262 different ‘takes’ on the rss/atom standard. The time suck was two fold, one to identify the problem and two, stop my self from fixing all the bugs i found along the way. The problem had to do with the PHP function strtotime(). “Parse about any English textual datetime description into a Unix timestamp.” The return value changed. Previous to PHP 5.1.0, I’m pretty sure the old server was using an older version.

The bugs this effort dredged was the silver lining. As a result there is little need to use feedburner to ‘clean’ feeds. This includes atom feeds, connection feeds, etc. Pretty amp’d about that.

Here is a list of blogs that still have issues with their publish date. This is about 1% of the total. I’m pretty sure that if the owners of these blogs do a little magic to the feed schema or tweak the feeds somehow, they could fix it on their end. Until now they’re sort of ok. Going forward, if  the code can’t parse the date it’ll use the current time, then it’ll make you a sandwich.

Radu Cadariu | |

Tommy Valand | |

Sasa Brkic | |

Issue 3. A fun one, if you’re a developer i guess, and it was all me. I had a cron job hourly pruning aged blog posts (+365 days). Every hour or so a another job would go out and poll for now posts. In the process it would look for and compare all posts. Given the large number of feeds with posts over a year old.. you can see where this is going, can’ t you? Well add this loop to the few batch of blogs that were never able to be parsed because of the improvements in the parser,  it opened a whole can of worms. They would be posted, then disappear shortly after. . Yup. all me. Good times. Old posts are now ‘unpublished’ to be used as a stub to prevent future inserts.

In summary, if you own a blog listed above, please tweak and get back to me if it worked. Also, use special characters in you’re titles and you’re own risk; for now.