Category Archives: WordPress

Performance overhead of using plugins and includes in WordPress

Modularity requires additional overhead.  That’s just the way it is.  If you want to semantically separate different components of your web app or theme, you have to include files, run safety checks (e.g., include_once), extend components that you only use 20% of, etc.

WordPress encourages this behaviour, if you have plugins that only effect your admin panel, the files still get included and the actions and filters still get included, the functions are still defined, for every frontend visitor page render — but they are only called into action when you’re on the backend of your site.

And lately when coding for WordPress, I’ve come to embrace and accept that it wants me to be modular and extend.   Continue reading Performance overhead of using plugins and includes in WordPress

Advertisements

Intense Debate vs. Disqus

Image representing IntenseDebate as depicted i...
Image via CrunchBase

I had the, er, privilege of spending a couple hours today comparing Intense Debate to Disqus.  This kind of thing has been covered around the web, but I just couldn’t find all the answers I needed for my particular purpose.  I ended up taking a short test drive of them both, and as you see I already use Intense Debate here on my blog.  Funny enough I found the answers to most of my questions looking under “Support” on their sites and then clicking around.

Feature-wise, they’re nearly identical.  The only real differences:

  • Intense Debate is owned by Automattic, the company behind WordPress.  Therefore they have a lot of experience to draw from, a proven talent pool and track record, and intimate knowledge of our blogging platform.  Disqus is a Y-Combinator startup, the entire team seems to have gone straight from college to founding this company.
  • Disqus has some kind of a VIP program that includes the ability to skin the Disqus comments like your site, more advanced filtering tools for comments, support, and a service guarantee.  I could not find a similar program for Intense Debate.
  • Disqus has native integration with multiple platforms (WordPress, Movable Type, and a bunch of others).  Intense Debate has native integration with WordPress and a “generic install” that you can add to any page (whether it’s a blog or not).

We had a few specific concerns and needs that we wanted to make sure were addressed.

  1. Integration with Facebook, Twitter
  2. Realtime updates
  3. User profiles (ability to see a user’s history, ideally helps prevent users from masquerading as other people)
  4. Stay in control of our data (don’t lose comments if we leave the service later)
  5. Keep data in sync — edits to comments in WordPress should propagate the edit to the comment service, and vise-versa
  6. Needs graceful fallback in case the service goes down

So how did Intense Debate and Disqus fare?

Self-Updating Code in WordPress

One of the problems I face when having to deploy new code changes — especially those that require database changes, such as updating options, activating or de-activating plugins, etc — is the lag between deploying the code and making the relevant changes to the database. We can’t really risk the site looking broken for even the shortest time, especially true if the broken page gets cached.

Enter the need for self-updating code. The code will “activate” itself the first time it’s run — no temporary glitches in viewing the website because code is live but db changes aren’t or vise-versa.

Continue reading Self-Updating Code in WordPress