I’ve been using intense debate for the longest time, being a very active proponent of their comment system, hell, even getting a gift T-shirt for my efforts; but now I find myself having to disable the comment system and go back to the default wordpress comments.
The reason for this is that for some reason their comment system has somehow been compromised by spammers, and blatantly obvious spam comments are coming in constantly, and that is even though they are supposed to be going through Akismet which is excellent at catching this kind of stuff.
I didn’t take this decision lightly, I contacted support who initially thought comments were coming through the internal comments, but once I pointed to evidence that it is coming through ID, they said they were going to “look into it” and that I should fight spammer with IP bans, which is a ridiculous idea.
In fact, another reason why I’m ditching ID is that they have completely dropped the community ball. I have no idea what is up, but I got all excited when they got acquired by Automattic, and was expecting to see ID comments start to get rolled out in WordPress.com and stuff which would have been awesome. Instead the ID people literally fell of the map. Their active blog pretty much died, making 1 post in a year, their support either doesn’t reply, or gives worthless suggestions like IP bans on spammers. And most importantly, their development all but stopped. I haven’t seen any improvements in ID every since the automattic acquisition and that’s just sad.
I was content to stick with ID anyway since it’s better than my theme’s built-in ones, but now that it has also become quite a lot of work to scrub my comments every few days, enough is enough!
Perhaps it’s time to look into Disqus whose developers seem to be actually interested in improving and making useful.
So, here’s a new version of the site. Still in a very basic form, with only the most barest of plugins. I’m checking to see what the stability is before proceeding but the positive is that I already see that php calls do not automatically take 10 percent of my available ram each. More like 3-5% each which I hope will be manageable once the caching plugin picks up.
This is the second time I’ve had to do a complete wipe of the blog and restart. The first time was after a being hacked and finding it impossible to wipe all traces of the code which meant that they kept getting back in. This time I went even more radical and completely nuked my existing database as well, because it’s the one I’ve been using since 2007, which means its full of crud from all the plugins I’ve installed and uninstalled since then. I sincerely hope this was a big part for the memory leaking because if that doesn’t work either, I’m at my wits end, and I’ll probably have to start seriously considering moving away from Dreamhost.
So now I wait and see if the site will avoid imploding from those DOS-like requests I’ve been getting lately.
Damn, I’ve been trying to find this plugin for a while now, ever since I’d discovered clickcomments ((And stopped using it due to its slowness. That service has now shutdown due to hosting costs. No wonder as the whole thing was extremely centralized)) I’ve been trying to get a similar solution running on the Division by Zer0 but there was nothing of the sort, at least as far as I knew.
So as a workaround I used another similar plugin called WP-Likes which did almost the same thing but unfortunately was limited to only one option and hard-coded to “Like”. It was a compromise while hoping that it’s developer might include the multiple-choice functionality in the future.
Fortunately I didn’t have to wait that long. Through a chance encounter with the Sikkdays blog, I noticed exactly what I wished to have: Three little icons at the end of the pos, allowing people to rate/judge a post according to emotion. A quick question to the admin, led me to the plugin responsible for this, called Emo-Vote.
Fortunately, I didn’t have to stay with Emo-based titles as there is a customization possibility and I quickly switched to Slashdot-based ratings, which are far more descriptive of how people might find the topics I write about.
So you’ll notice further below that you can now vote for each article on how you found it. Options are based on how I think opinionated blogposts can be judged as, such as interesting, boring, funny etc. I’d like to have a couple of options more, such as “disagree” etc, but I think for now the current capability is enough.
But why do I think that this kind of functionality is something beneficial to have on one’s blog? A few reasons.
First, it allows people who had a reaction to the article from some perspective (say, finding it informative) to state so without having to write a short comment about it (which is far more time-consuming than a simple click of the mouse.) In a sense, allowing the author to see how his articles are being received from a part of the audience he couldn’t see before. The silent majority. And as I consider comments and feedback in general as the main measure of success of blogposts, a way to increase that cannot be anything but good.
Second, it provides some interesting statistics, such as being able to see which are my top funniest topics, which are the most boring etc, according to audience interaction. This in turn one can publish on sidebars or a particular page so that new visitors can quickly find the most interesting content in the blog according to their tastes. It also provides the author with valuable information on what kind of topic he should concentrate on, based on previous success.
Lastly, it has potential. What Postreach attempted to do but failed due to its centralized nature, perhaps can be achieved by blogs federating amongst themselves. So for example, perhaps there will be a way to export such ratings to an aggregator which would allow anyone visiting it to quickly find new insightful, interesting etc posts from different blogs. Of course that would require than many use the same rating names or some other working system. Who knows, perhaps the Automattic will be willing to host such a service for the benefit of their userbase. But yeah, potential.
So anyway, I really hope I’ll see you all clicking away below, and you should even see this as an option on your RSS reader. 😉 Normal comments are of course welcome as always and do let me know if you think that a category should be swapped to something better.
The Division by Zer0 has finally passed the 100.000 unique visitors mark. W00t!
I only noticed this from my WordPress stats, which count my visitors since Feb 2008, but Google Analytics gives me about the same number since 2006 (and that is always much reduced). So I can safely say that I’ve passed this little milestone in the life of this site. It’s not incredibly important, but it’s nice to know that so many people have read what small I had to say.
Here’s to 1 Mil 🙂
And now, some stats, just for the heck of it:
Current RSS Subscribers: ~200
Most popular referrers: Google Search, Stumbleupon and Reddit.
For the last month, Intense Debate has been behaving extremely badly. It’s been hiding comments from everyone, on seemingly random rates and times. Basically, at various occassions, replies to particular threads would disappear. Sometimes it would be just one or two replies, at others it would be the whole thread past the first reply.
And while this started out mild, as the month passed, it has grown progressively more intense, to the point where now there’s always at least some replies missing, and at worse, hundreds of them. This is even more annoying since those comments still exist in the system (ie, I can see them in the dashboard) but appear sporadically. So in one refresh I will see 90/100, and the next refresh I will see only 15.
Unfortunately, the developers have really dropped the ball on this. Even though this seemed from the start as a quite important problem, and even though this was reported early on, there was initially no response, then there was some non-functioning workarounds, and finally the problem was acknowledged just last week after me and other started screaming bloody murder. Incidentally, it was at this point where this was becoming unbrearable which I assume meant some of their big name clients started complaining as well.
So now, this is creating a comment hell situation for me, especially for the long discussions I’ve opened with Lockeanists and the like. Not only do many people get confused about their disappearing replies, but they also get the impression that I’m secretly deleting comments. And this just too much.
So for now, I’m going to stop replying to comments until this fucking issue is resolved. This is not say that I will leave your replies unanswered, but that I will only start a conversation, when a conversation can be maintained. Of course, this assumes that IDC will get their act together and fix this annoying bug ASAP. If this does not happen, I may have to do the unthinkable and remove it altogether in order to be able to discuss again.
Needless to say, this whole situation is seriously pissing me off, especially since I’ve been a devout proponent of IDC for a while now.
I’ll be updating this post with the status of this comment hell in the future.
UPDATE1: It seems that the IDC folks have finally located the code causing this and have produced a fix to stop this from happening in the future. Now all that’s left is fixing the problem as it already exists and they plan to push an update for this once they know the fix worked.
My site has recently been trying to emulate a yo-yo. Apologies to everyone who’s been trying to access it and seeing either 404 errors or Internal Server Errors. Believe me, I’m more annoyed than you are by this.
This is a really tricky issue. I wanted to blame my host but I don’t think they are the cause. Something is corrupting one of my database tables which ends up causing php5 processes to hang and eventually consume all my RAM. I don’t know what it is and it’s not easy to find, particularly since I’m without internet at home and have to troubleshoot from work. That means no ssh terminal access and only a web-based ftp access and the php webadmin. Fortunately they were enough for the restore.
I am nevertheless getting mighty pissed off from all of this, particularly since this is not something easy to troubleshoot. I was lucky to get a quick reply to my question on the Worpdress fora but I haven’t received any more help on this. For some reason I suspect Intense Debate as it the one with the most common connections to the DB. Particularly since after disabling it and repairing the tables, the problem mostly went away. I was about the write a very exasperated support ticket to them but I wasn’t very sure so I left it for a bit.
I fully expect this to happen again soon and hopefully I’ll have a better idea where to look then (and hopefully some ssh access).
Goddamnit! Someone, managed somehow to insert malicious php scripts into the site which were injecting invisible spam links to my content. Even more insidiously, those links were not injected to the html source of the page unless the browser user agent reported that it was a googlebot, making them all but impossible to see with a normal browser.
I was lucky to notice this because in the Google Webmaster tools I still had my site address added as www.dbzer0.com which was wrong as I’m not using the www. part anymore. Fortunately however, this allowed the site stats to show the keywords in the content instead of simply how people are linking to it, which made all the spam stand out.
When I saw that my fist action was to do a search just to see if I was possibly looking at outdated data. Unfortunately, the results were not uplifting.
This was not good. Looking at the cached copies of these pages, it was obvious that these links existed at least since the start of February which means that whatever is causing this, was added after my upgrade to WP2.7 or managed to remain active after it. The source code for the googlebot looked like this, when it should have been looking like this. The links were apparently pointing to redirection scripts in a cracked Movable Type based blog. I’ve fired an email to the author to advise him to take the site down but have heard nothing from him yet.
Take note people: If you’re not going to keep your site updated and patched, either take it down, or export it into pure html and let that stand. Don’t let your obsolete php and mysql setup running as that just invites people to turn your old site into a spam haven.
At this point I started looking around the interwebs in a bit of a panic as hate this kind of shit being associated with me. I couldn’t find anything exactly like what I had unfortunately. The only thing coming close that I found was this post which at least gave me some ideas on where to look.
I was able to discover 2 malicious php scripts residing in my wp-content folder. One was called cache.php and was on directy under /wp-content/ while the other was in the /wp-content/uploads and had a weirder name (can’t remember now). I summarily deleted them (although in retrospect I should have probably saved them for all of you to see) but I did notice the ironic comment inside, warning people not to copy them and pass them around.
I couldn’t find anything else after that but I was still not certain I was rid of the spam. A quick look through the google bot’s eyes showed me that the page didn’t return any spam results but that could also be because the script doing it is smart enough to recognise fake google agents. The only real way to find out if this still happens is to wait until Google indexes one of the spammed posts again and see if the spam links still appear.
As a precautionary measure, I also changed my WP password (as unlikely as it is that it would have been cracked through brute force) and looked around for anything that can help me discover such stuff in the future. I did find a plugin that looks very promising in this regard but unfortunately due to the way it asks for RAM and the setup of my host’s php, I can’t allocate enough memory for it to run. A last precaution was to add a search alert for these keywords appearing on my site which will, if I get cracked in the future again, give me notice within a few days.
On a more positive note, hopefully by removing these huge-ass scripts (many hundreds of line of code each) perhaps the load on my server will be reduced as well. But I’d be happy even if I simply see these keywords disappear from the Webmaster tools soon.
Improving the speed of this and my two other sites has always been a major issue for me. Ever since I’ve switched to WordPress I’ve never been fully satisfied with the loading time and it seems I’ve been trying since forever to improve it. My main methods were through the use of caching plugins such a WP-Cache and later on WP-Supercache and through manual performance tweaking. For a while it seemed to have worked to a degree until again my performance started dropping without any apparent reason.
It was at this point that I jumped to the VPS offering in a desperate attempt to get a site which loads in this century. Again, for a while things looked to be working well but now and then I would get horrible site b0rks which would take me hours to troubleshoot and resolve. The latest one was the reason I discovered that WP-Supercache didn’t play nice with VPS and thus I had to find something else, or live with it in a state of half-on.
To my delight, it seems that now there are new caching plugins available which I can try. I already mentioned Hyper Cache last time and today I discovered DB Cache (h/t diTii.com) which seems particularly promising, especially because it works not by caching the fully loaded page, but rather by caching the Database queries themselves. This is an interesting take on caching since it now can improve performance for web crawlers as well as normal users. It also provides an extra benefit to me since I’m proving a gallery through the wordpress interface, and that means that the database queries for that are also cached.
So I ditched Super Cache from all my blogs and installed DB Cache on the Division by Zer0 and the Wesnoth Journals and Hyper Cache on the ACP. It’s of course always difficult to figure out how much difference a caching plugin has done to your site. As of now, I can’t say I notice a significant difference on loading times with DB Cache, however I did notice that the number of SQL queries that are made each time the page loads have dropped from >60 to about 15 which means that there some difference.
I have also noticed anotther thing. In the past it could take a few seconds before my site even started loading (I guess while it was running the SQL queries) but after that it would be displayed very quickly (especially if it had been supercached) whereas now, the site starts loading very quickly but it takes more time to actually finish loading the content, in effect loading in parts (first the header, then the content etc) but in a way that is much more exaggerated than before.
Another thing I also decided to do is to finally activate Fast CGI for PHP. I hadn’t done this before as it wouldn’t have made much difference when Supercache was in use but now that the code is executed every time, it seems like a good idea. There’s also the added bonus that for VPS, the Xcache opcoder is available which further improves php performance when on high load. I do not think it will make much of a difference as my problem is not one of traffic but it may come in handy for those rare reddit moments.
As of now, the performance seems comparable to SuperCache times and I am hoping that this time I will not have any more random Internal Server Errors. Unfortunately my WordPress admin panel is still quite slower than I’d like with loading times randing frmo 5 to 15 seconds or more on occasion. I honestly don’t know what I can do to fix that but at least the admin panel is not something that is used very often.
Next step will be to see if Hyper Cache is better than DB Cache and if they can both play well together for a combined improvement.
Another month, another total crapdown of my sites which are hosted at the moment in Dreamhost’s Virtual Private Server offering. Once again the story begins in the usual way, all three of my sites start puking Internal Server Errors all over the place which generally means that you are out of available RAM on your server. As I generally have about 180 Mb of availability, it would meant that either I have a huge amount of traffic that my Cache did not alleviate, or that something is going wrong on the server.
Going to the Resource Management, I am greeted by a classic figure
Having looked at my traffic already which had stayed steady in the last days, I know that this is certainly caused by some server/app malfunction. I know this from experience because the same goddamn problem happens to me so regularly, it’s not even funny anymore.
Since this happened while I was at work, I could troubleshoot it through the terminal as they have the ssh ports blocked so I had to wait until I came back home to investigate. Once I arrived, I fired up an ssh connection and checked what processes were running. As expected, it was PHP in CGI mode that was sucking my life’s blood.
Now mind you, I know all this because I’ve done it before where I had to google around and learn which commands to use to discover this info. The first time it happened, my ram usage was slowly creeping upwards in jumps of 30 Mb per week or so. After that, it simply happens all at once suddenly.
Now this is extremelly difficult to troubleshoot as you can have no idea what is causing this. A php5.cgi process can be anything under the sun that runs on PHP. Basically the whole wordpress interface or any of the dozens of plugins I have installed. You can kill the processes but this will not tell you what is happening and as it does not happen persistently, you can’t figure out which plugin might be causing it as shutting down a plugin does not stop the process and you don’t know when a process will get stuck again.
Unfortunately, and this is what is annoying me mostly, Dreamhost’s answer in the past has been that “It’s not our fault. Figure it out yourself”. A very unfulfilling answer as you might guess. But at least I know that I can expect very little help from them anymore so I avoid them.
So then I got to process killing. Unfortunately this time it seems that I had found a resistant strain of bug. As soon as I killed a process, 5 seconds later and a new one would be spawned, then another and another, until all my RAM was eaten up, no matter how much I increased my available. At this point I was fast reaching a deadend with my current skills as I couldn’t make the problem go away. I couldn’t even access my wordpress’ admin panel to disable plugins.
At this point, a former colleague suggested that this might be caused by a known PHP 5.2 bug which leaves processes hanging when done with them. I thought this might be a good thing to suggest to Dreamhost support to check so I fired up a support ticket.
A while later, I noticed that the RAM usage seemed to have dropped off so I thought that the problem had resolved itself. Unfortunately, while the main page was working the admin panel refused to work.
In desperation I did a quick server reboot and this was the point where the universe b0rked. After the reboot the whole site was off and my memory usage was stuck at around 20Mb which means that basically the whole thing failed to load. I fired a new ticket to support and waited.
I had to wait until today for an answer which basically told me that they managed to get the sites running again but advised me that my RAM usage was high so I should be checking that and no, they still can’t help me. Thanks Sherlock…
Looking around the interwebs however, I did stumble on a page in the dreamhost wiki where there was a note under supercache under caching that warned not to utilize the “super” part of WP Super Cache as it may drive resource use up on Private Servers. Gee, it would be nice if I knew of this a bit before. It would also be nice if Super Cache was not installed as part of the standard one-click installation of WordPress by Dreamhost which makes people assume that if anything, this plugin will be working well.
So I disabled Supercache on the Division by Zer0 and on the Wesnoth Journals and killed the remaining php processes. Lo and behold, no more processes were spawned. Unfortunately I was lucky that I could access the admin panel of these two sites after I increased my available resources to some ungawdly amount (1.5Gb of RAM or so). Unfortunately I was not so lucky in the Antichristian Phenomenon where not only I could not access the admin panel (never finished loading) anymore but the php processes kept spawning repeatedly and fast.
I tried deleting the plugin directory which led to my whole page being turned off. I tried fixing the .htaccess file. Nothing. Anything I tried, I couldn’t get the site to work properly. So I did the only thing I could do, renamed the whole wordpress directory and reinstalled again. At least this gave me an opportunity to finally rename the prefix of my database tables which helps avoid zero-day exploits by script kiddies. After a few hours, the site was back online.
Unfortunately the latest ordeal has really disillusioned me about Dreamhost’s PS and their support of those. From the 3 times I’ve contacted them about issues in randomly increasing resources, their reply has been “Deal with it yourself” because apparently now I control everything on the server and if anything goes wrong, it must be my own scripts or whatever. Seeing as I only use standard software like WordPress and Gallery this reply does not help me much.
Basically what seems to be happening is that when one decides to go to a PS in order to get a bit more speed (since shared hosting seems at time to be powered by hamsters) you’re on your own. If you’re not a (quite) techical user and have made the grave error of installing wordpress plugins on your site, you’re fucked. It seems that as far as Dreamhost is concerned, you shouldn’t be running plugins in the first place. Just vanilla WordPress for you.
Luckily for me, I know a few UNIX commands and how to use an ssh shell to do some troubleshooting. However even for me this kind of response is definitelly inferior. It would be nice if I could expect the Dreamhost support to ask questions like “Are you using WP Super Cache?”, or something similar. It would be nice to expect the support people to know of a few issues that generally might cause this kind of trouble. Is this is all too much to ask? Is it too much to ask to expect some attempt to help your users?
Last time I was delighted when the support tech gave me a simple command to help me trouble shoot but since then, all replies have been to explain me that it’s my own damn fault and this is very disheartening. To everyone considering the Private Server offering, if you’re not very technical and open to spending a few hours now and then to troubleshoot random issues that occur without you changing anything, then stay away from it and stick to simple shared hosting.
As for me, now my sites are all in the classic WP Cache mode and I’ve used Hyper Cache for the ACP to see how it goes. If all goes fine, I will switch everything to Hyper Cache and drop Super Cache altogether. ‘Till next time my site craps down…
As I’ve been progressing with my misunderstanding communism series it has become to me painfully obvious that I need a better way to organise the links and the format of it in a much better way than what I’ve been doing until now. Specifically, what I have been doing was to copy paste a small introduction text within a style-customized <div> and then manually update the links towards the previous and next articles.
This is what I had been doing in my self-hosting with WordPress series as well and, frankly it was an annoying process. I thought that there must be a more optimal way to go about doing this and fortunately others had the same idea as me.
A quick search for relevant plugins immediately landed me two results. Without knowing the difference, I simply went for the one which has been updated more recently (plugin developers, this is why it pays to keep your code up to date): Organise Series
This one takes the more exciting road of actually using the wordpres taxonomy capabilities and creating a new one. As such I do not have to mix up my already existing tags or categories (which would appear in the various parts of my theme) and I can rest assured that I will not b0rk it by mistake.
I faced the first hurdle when I discovered that the plugin did not have the correct link structure for the options page and eventually that it is not yet ready for WordPress 2.6. However actually opening my eyes a bit more showed me that some kind soul has already submitted patches for this and the beta versions are working. Thus, since I had already initialized it anyway, I took the dive and upgraded to the developer version No problems there.
Then I set about making it look good. It took me a while to figure it out but the author of the plugin has gone into the trouble of writing a use howto…well, series, which goes quite in depth. Eventually I figured it out and made my pages look readable again. But as always, I wanted more bling. So, since I’m already using scriptaculous through backlinks, why not make my series description available without crowding the actual post, through the nice toggle function. And lo, there was code!
The following went into my “Series Meta”, which is the text that appears very first on the post, announcing it as part of the series.
<div class="seriesmeta">This entry is part %series_part% of %total_posts_in_series% in the series %series_title% - <a href="#" onclick="Effect.toggle('series_description', 'slide')">%series_icon_linked% About this series</a></div>%postcontent%
This goes into my Series post list Template:
<div class="seriesbox" id="series_description" style="display:none;">
And thus, after customizing the css a bit, you get the nice result you see now in any post in the series where you can click on the link and the description of the series, along with the whole list of posts drops down for your viewing pleasure. And I didn’t even had to hack my theme as you can do all this from the options page. Sweet!
The plugin has other nice options like the ability to assign an icon/image to a series, a standalone series page and the capability to read all the posts in a row when clicking on their series link. Unfortunately for me the last does not work as it simply kills the html loading of the page. I assume this is because it’s not yet fully compatible with 2.6 but I’m going to soon open a bug about it.