Monthly Archives: January 2015

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.

Planet Lotus 2015 Update

Two weekends in the making, PL 2015 ships with some pretty exciting updates. The code changes were done to establish a new approach. The update culminated last night with moving the site to a state of the art server; more on this below. Please forgive the glitches this may have caused, they are being fixed. Switches be like, mess with me and I’ll drop yo packets. #geekhumor.

The change in approach boils down to this, when determining which blog to publish you can either wait for them to prove they post content that the community would be interesting in, or you can take a chance. The new approach is all about taking the chance. The time spent curating, adding the blog meta and reading the content of each blog to make the decision almost entirely goes away. The blog submission processes has turned self service allowing just a flip of a switch on my end to approve. This will expedient the publishing process and welcome in a new era of fresh content. It also removes the catch 22 (i think that’s correct), where you have a new blogger that doesn’t want to start blogging until they’re on PL but they can’t get on without having content… but i need your help. Please email me if the risk taken goes south.

The other theme is getting back to the basics. Over time, the site took on so many features in the pursuit of making it a full featured community site. Over time visitors came for the feed. l’ll leave the deprecated features (listed below) to other developers, downloads, events, forum, custom feeds, etc.

The focus on fresh also applies to data collection.

  • Counted clicks works well to understand what the community is reading and what author are on fire. The update will only collect 7 days of hits, life long or YTD hit counts have been removed to the tune of MILLIONS of rows from the database.
  • Extended profile information has been simplified. Please see linkedin,, blog about page for this info.
  • Content has been pruned, PL is no longer the way-back machine for the Lotus community. Posts will live on the site for a rolling 365 days. Plus, Google does this way better :).
    Inactive blogs will be removed after a year if there are not posts published. If you are unlisted because of this and start blogging again, just send me and email. Blog meta is hidden not removed so it’s easy to get them back on line.

Feature Updates:

  • Events – Removed.
  • Downloads – Removed.
  • Keywords – The analysis of a posts relationship to “Lotus” has been removed.
  • Forum – Posts, profiles and design deleted.
  • Podcasts – Now treated just like blogs.
  • Blog Widget – Removed.
  • MyPL, custom feeds, custom front page, accounts, deleted. This was a difficult decision but it was based on an old customized forum that was long figure out by hackers and filled with spam, etc.
  • Post hover over Tool Tip on front page, increased on the speed of page load.
  • Planet Lotus blog comments disabled. Not done to silence opinions, it was done to stop the fragmentation of site support questions. For example, people leaving their blog details to be posted on the page that tells them to email them. Feel free to always contact me at if you need anything updated.

Data Retention Summary

  • Hit Count – 7 Days. This is based on a rolling 168 hours, not on calendar days.
  • Posts – 1 Year.
  • Blogs – 1 Year. Stale blogs will be unlisted if there are not posts for a year. All posts and hits are removed from the site when a blog is unlisted.

Deprecated User Detail

  • Blog Type (vendor, person, IBM employee, multiple person, etc)
  • Stats on hits in the user profile.
  • Language
  • Anything Twitter related. Your twitter handle, image, your tweets, etc.
  • IBM Employment status.
  • More to follow.


  • What’s Hot – 7d (The most popular post over the past 7 days.)
  • * As of 1/1/2017 clicks are only collected for posts that are less than a week old.
  • Hot blogs, the top 6 increased to top 10.
  • Self service blog submission form with link on the front page. Remember, updates to your blog meta are still done by emailing
  • A Faster Server. The site went from Fedora v7 (EOL’d in June of 2008), to a vm on a 24 core CentOS 6.5 running the last versions of Apache, MySQL and PHP. The server is currently using 0.74% of it’s allocated CPU.
  • Better poling algorithm. It is no longer based on how popular a blog is. The new break out is as follows:
    • Every 10 minutes. Blogs 1-50 based on the most recent post.
    • Every 30 minutes. Blogs 51-150 based on the most recent post.
    • Every 120 minutes. Blogs 151-last based on the most recent post.
  • New posts are sent to the @planetlotus twitter feed.


  • Date stamps have been moved way down the front page.
  • The preview and tweet icons to the right of the blog title has been removed.
  • Sharing has been enhanced. Click on the blog’s favicon and it will take you to the preview page where you can get all kinds of share buttons.
  • Brought the 7 day what’s hot listing inline with the one  day, so now there is two.

I’d love to get your feedback!!!