Author Archives: Yancy Lent

#PlanetLotus2025

Huge changes happened to Planet Lotus last week. It’s safe to say it’s been rebuilt from the ground up.

TL;DR: PL has been stripped down, rebuilt, and upgraded. Please let me know if you see any odd behavior.

I had originally set out to find a more cost effective home for Planet Lotus. That home has always required some sort of virtualized server due to basic functions the site relies on, features normally turned off on lower cost shared hosting accounts. If I’m going to move to yet another VM, I might as well update everything. As you can imagine, porting 10 year old code to a brand new LAMP server will require some work, like a lot of work, like it’s a whole new site, at least under the hood.

If you haven’t noticed, the update started with stripping it down to it’s core. After years of experimenting with ideas, it’s always been about the Feed, wait that’s Facebook, but yes, for Planet Lotus too. My approach, less is more. With less it’s easier it is to maintain and with that comes longevity. My goal is to maintain this site as long as there is a Lotus in some way shape or form.

What was stripped?

Blog post content/body is no longer stored, resulting in the removal of content preview. The only values stored for each post is pubdate, title, guid and author. This will impact the quality of search results but Google is way better at this. Search results have also been stripped down as well. For example, I removed the score of the return, way over engineered.

The “blogs” page is gone. The list on the front page is good enough.

The profile page has been radically reduced. Hit count, is still a rolling 7 days if you notice your blog posts getting less hits over time. The refresh button now lets you know what items are skipped because they’re already in the system and which are new.

What’s been Updated?

GoDaddy to Google Cloud Platform
I’d love to think this move will help out the folks in EMEA due to Google’s insane fiber infrastructure; let me know if anyone’s noticed a performance bump.

CentOS to Debian
Planet Lotus is now on it’s 3rd distro. Fedoria > CentOS > Debian. I have no favorites; all 3 are awesome.

cPanel/WHM to command line
For years, I’ve suck with GoDaddy for hosting, 10 in fact, and I still LOVE godaddy’s virtual dedicated servers for one very awesome reason, cPanel. A ~$20US a month VDS includes cPanel which, for someone like me is a requirement. I’ve never considered myself a LAMP admin and cPanel makes admin tasks very easy. This all changed when a new project I’m working on required me to become a LAMP admin. Relearning command line with an older more patient mind turned out to be very rewarding and not all that difficult to grasp. This and the fact that any tidbit is out there, a quick search away. Knowing command line has it’s advantages. On the day Specter and Meltdown broke I was able to do the mitigation on my phone, in bed, 3 minutes into first reading about it.

Self hosted MySQL 5.6 to Google managed MySQL 5.7 via Google Cloud SQL
This will be the single biggest noticeable change to long time readers. I’m sure you’ve all seen brief outages over the years, this was always due to MySQL blowing out the servers memory, good riddance managing that end of things, and hello stability. (yes, my fingers are still crossed.)

phpMyAdmin to MySQL Workbench
Google Cloud SQL doesn’t provide phpMyAdmin. After a short time working with the desktop based Workbench, I really like it.

PHP 5.5 to 7.1
This update caused every database call to be slightly updated. The only way I was going to attempt this was if I completely stripped down the site down to it’s basics. Ther

MyISAM to InnoDb
This change was uneventful and simple.

mysql_connect to mysqli
This PHP connection function was depreciated and required updating before moving to 7.1. Over all, the site is more secure as I was able to add a ton of security best practices I’ve picked up over the years, in addition to moving to moving to mysqli.

MySQL tables from utf8 to utf8mb4
My war on blog titles is over. The war consisted of a hand full of regex expressions I’ve collected over the years to make sure the title is escaped to death. Now I’m using mysqli_real_escape_string to handle everything and it’s paying off with more accurate display of titles in all languages.

MagpieRSS to PHP-RSS & SimplePie
So long and thank you for all the magic you provided, MagpieRss and thank you @kellan for your work in creating it.

The use of both engines is able to parse 100% of the valid blogs on the site. Actually, there is only one blog that SimplePie couldn’t process, but there could be more in the future.
Both engines are also configured with Composer, which should make updates into the future easier.

Update frequencies changes…

The more often you post the more frequently your blog is checked for updates. All blogs are queried and sorted based on their latest blog post. This list is split into 4 groups and the frequency is as follows.

Group 1, every 15 minutes
Group 2, once an hour
Group 3, every 3 hours
Group 4, every 7 hours.

Summary

So there it is, version 2018 of Planet Lotus and a path to a smooth 2025. If you enjoy this site, if it’s helped you in any way, please consider saying thank you here… http://pmcdad.com

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);
to
$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 | http://cadariu.blogspot.com | http://cadariu.blogspot.com/feeds/posts/default?alt=rss

Tommy Valand | http://dontpanic82.blogspot.com | http://feeds.feedburner.com/dontpanic82

Sasa Brkic | http://blog.squareone.ba | http://feeds.feedburner.com/lsoy

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.

Favicons on Front Page

I’ve added favicons to the front page to liven up the branding of blogs. There is no override to this enhancement. If you see the default icon for your blog, do some searching of Googles favicon rendering service to troubleshoot.

Example:

http://www.google.com/s2/favicons?domain=planetlotus.org

2 months of free front page advertising on Planet Lotus!

In an effort to raise donations for my favorite charity I’m trading ad space on Planet Lotus for donations. All you need to do is make a donation directly to the charity and I’ll place your ad, any ad on the front page. The more you donate the higher your ad on the left hand navigation bar will be placed.

The charity:

The PMC donates 100% of every rider-raised dollar to Dana-Farber Cancer Institute through its Jimmy Fund. Founded in 1980, the Pan-Mass Challenge (PMC) is an annual bike-a-thon that today raises more money for charity than any other single event in the country.

The details:

  • Ads will be in the form of 125/125px images stacked in the left hand navigation of the front page.
  • Placement of the ad is determined by how much you donate, top ad = most donated. Dollar amounts will not be published.
  • I will publish almost any ad image/URL. Promote your blog or your favorite product, site, etc. But please, NO animation.
  • All ads come down on Sept. 30th.
  • The ad image should be exactly 125px / 125px.

To buy an ad:

  • Donate here: http://www.pmcdad.com
  • Email me your ad image and URL along with the name you used to donate. charity@collaborancy.com
  • If you already donated to this years ride, do the same thing.
  • Change of URL or image will require a second donation.
  • Ads will be posted in batch at end of business day EST.

Thanks in advance for your consideration!

Lose, Lose Situation

I feel I made the correct choice last week. I was presented with a situation where a sensitive post was brought to my attention and I acted quickly in delisting the blog pending further investigation.

I’ve spent the last week reading everything I could and don’t believe the action warrants removal from this site.

I will go ahead and remove the 2 blogs that requested to be removed if said blog wasn’t removed.

The two blogs involved in the boycott of this site will be missed and I beseech both of you to reconsider.