The best WordPress plugins

On Christmas day, I gave thanks for the four top technology solutions that impacted my life in 2006. First on my list was WordPress, which is as far as I’m concerned the best personal publishing platform. The beauty of WordPress is that it’s almost infinitely extensible through plugins. If there’s a feature that’s not standard in WordPress, chances are someone’s written a plugin that fills that need. Here are the plugins I found most useful during this past year, listed in alphabetical order:

  • Akismet: hands down, the best anti-spam plugin there is. I wish Akismet made junk email filters as well. When coupled with manual approval of new comments, virtually nothing gets by it. It filters out 99.9% of the spam comments, and leaves a few in the moderation queue for me to check. Since I started ComeAcross in April of 2006, it’s filtered out almost 17,000 spam comments. None of those reached the blog. Only meaningful comments written by real people made it to the live site — and that’s a beautiful thing.
  • FeedBurner Feed Replacement: it allows me to present the FeedBurner feed for ComeAcross as the standard feed that gets shown to browsers and feed readers when they visit my site. That means people don’t subscribe to the real site feed, which might change, but to the FeedBurner feed, which stays the same and is enriched with all sorts of goodies.
  • Filosofo Home-Page Control: lets me set a particular page as the home page, and also to separate the blog to a subdirectory, even if it’s at the root level. At first, you don’t get the point, until you realize you can use WordPress to run a regular site by creating pages, then add a blog to a subdirectory later and specify that subdirectory through this plugin. In other words, you run the site pages at and the blog at Really, really nice.
  • Google Sitemaps: I get my lion’s share of traffic from Google, and I’m truly grateful for that. My content gets ranked toward the top in Google search results on many topics. It goes to show that quality content will make it to the top no matter if it’s produced by one person or many people. So anything that will tell the good folks at Google when I publish or change my content is at the top of my list. Imagine my joy when I found that someone put together a beauty of a plugin for WordPress that creates a Google Sitemap of all my site content and pings Google whenever I add or change that content! I was ecstatic, and I still am!
  • inlineRSS: this little plugin allows inline display of RSS feeds from virtually any source. I actually used it to display my bookmarks for a while, but it works with YouTube feeds as well. It won’t display photos or videos (although if you’re brave, you can tweak the XSLT file for those purposes), but if you’re just looking for a simple list of links to your latest and greatest feed items, it’ll do the trick just fine.
  • No Ping Wait: boy, oh boy did I need this plugin after I started using WordPress seriously! Because I set up WordPress to ping several services when I published a new post, the publishing process became unmanageably slow. Any hiccups in reaching a service would cause a delay when saving a post, and possibly bring everything to a stop. Well, that was no way to run a site! With this plugin, pinging is delegated to a separate process and whether it fails or not, it doesn’t affect the publishing of content. After a quick and painless install, my site ran smoothly once more, and I was grateful for it!
  • WordPress Database Backup: talk about a lifesaver! Yes, this plugin, along with Akismet, ships packaged in with WordPress, but even if it didn’t, I’d download it and install it in a heartbeat! It backs up the site database (where all of the posts, pages and comments are stored), compresses it, and either puts it in a backup directory on the server, lets you download it to your computer, or emails it to you! How cool is that! That means you and I can do periodic backups of the site, and restore from them in case anything should happen. I absolutely love it!
  • WP-Contact Form: this plugin lets you easily add a contact form to your WordPress site. Just create a contact page, paste the snippet of code that calls up the contact form code, and you’re set: you get instant functionality that your site visitors will love!
  • WPVideo: I’ve saved the best for last! This is, hands down, no contest, the easiest video plugin for WordPress! It should be packaged together with WordPress and shipped out as a standard config, that’s how easy it is to use! After it’s installed, you just tag any YouTube, Google Video or MetaCafe video link with a simple snippet, and that’s all you need do! The video automatically displays, and you can configure the display of additional data such as video title, duration, and even a download link. I’ve seen some video plugins for WordPress require you to paste special codes from the video URLs, or to use arcane tags and make ridiculous changes to core WordPress template files, but not WPVideo! No, this is the easiest video plugin for WordPress, I guarantee it!

Well, there you have it, folks! If you use WordPress and you don’t already use these plugins, by all means, give them a try, they’ll make your life a whole lot easier! As for me, by way of this post, I’m sending a big, hearty Thank You and Happy New Year to the developers who worked on these plugins. May you wonderful people have a blessed year ahead! I can’t thank you enough for your work! Oh, and if I haven’t mentioned other WordPress plugins that are doing wonders for people, I apologize. Here’s a list of all of the WP plugins. Take your pick!

Update on Microsoft Expression Web Designer

It appears that Web Designer is part of a suite of apps that has yet to launch, called Microsoft Expression. It will contain three apps: Graphic Designer, Interactive Designer and Web Designer. Graphic Designer will be a marriage (in MS fashion) of Fireworks, Illustrator and Photoshop (we’ll see how well that comes out), Interactive Designer will be a UI design/destop app tool (it integrates seamlessly with Visual Studio), and Web Designer will of course go after Dreamwever, as detailed before, emphasizing the MS coding platforms (ASP, ASP.NET).

Microsoft Expression Graphic DesignerMicrosoft Expression Interactive DesignerMicrosoft Expression Web Designer
Graphic Designer and Interactive Designer are still in community edition (read flaky), and it looks like Interactive Designer will only work with .NET Framework 3.0 plus Visual Studio Express (at least). Web Designer is out in Beta and ready for download and use.

I have to ponder MS’ reach on this. They’re clearly building upon their strengths and going after their competitors, which is what they’ve always done, but to go after Photoshop and Dreamweaver is pretty lofty. Only time (and users) will tell whether they’ve managed to reach the target, or, in usual MS fashion, delivered something half-baked. Now we begin to see where all that R&D money went — it didn’t just go to Vista, it also went to stuff like this.

Deliver First Class Web Sites: 101 Essential Checklists, by Shirley Kaiser

Deliver First Class Web Sites: 101 Essential Checklists, by Shirley KaiserDeliver First Class Web Sites, released by SitePoint Press, is an informative and compact book, but don’t let its size fool you. By using the checklist format, a whole lot of information was packed into this book. Rather than being an instruction manual, this book is a review guide. If you’re not familiar with today’s web design, you’ll be a bit confused. This is a book written for web designers and developers who want to produce quality web sites, not for novices. That’s how the book size was kept down while a staggering amount of instruction on all sorts of topics was squeezed in.

The checkpoints and checklists included in the book can be broken down into the following major categories:

  • Initial preparation and planning
  • Site content
  • Usability
  • Color
  • Information architecture
  • Navigation
  • Best coding practices/W3C standards and recommendations
  • Accessibility
  • Web site optimization
  • Search engine optimization
  • Design
  • Testing
  • Launch
  • Follow-up

I found myself drawn by the Color and Information Architecture sections, but all of the sections are worthwhile. They’re thoroughly written, and although most of us already know (or should know) what the author’s talking about, it really helps to have all of this knowledge down on paper, and in checklist format. As we’re building our next great site, or reviewing our current site(s) for a re-design, going through the book helps keep us on the right track by ensuring that our attention stays focused on what’s important. Remember, fluff or eye candy can be always be added as after-thoughts, but nothing can replace proper planning and a good, expandable foundation.

This book is highly recommended for all web designers and developers. Depending on the level of knowledge that each of us possesses, we may get a lot or a little from this book, but whatever we end up with will have been worth our time and money.

Object-Oriented PHP: Concepts, Techniques, and Code by Peter Lavin

“Object Oriented PHP: Concepts, Techniques and Code”, by Peter LavinCan a single book get web designers to start writing better, reusable PHP code? Peter Lavin makes a go of it in Object Oriented PHP, and it comes out pretty darn well.

The gist of the book is this: would you rather write code that does the same sort of stuff over, and over, and over, and over, and… so on and so forth, or would you rather write a piece of code you can plug into any of your pages or sites when you need to do a certain thing? The object-oriented way involves a little more time upfront, but it pays off time and time again. Because let’s face it, none of us enjoys coding the same boring stuff unless we’re gluttons for punishment.

Some may say, “What?! What’s this nonsense about OOP with PHP?”, and I will duly point them to the specs for PHP 5. That’s when OOP techniques were truly made possible. I tell you, even I started reading Peter’s book with skepticism, because heck, PHP is “just” a scripting language, and besides, Dreamweaver can write a lot of the code I need for me. But as I went through the book, I realized an object-oriented approach is a scalable approach. It can be applied to multiple projects. In essence, that’s what Dreamweaver’s doing when I tell it to write a recordset for me, and Macromedia’s not doing too bad as a company… There are obviously benefits to be reaped from OOP in web development.

Peter’s book is great, because it walks you through and explains how OOP in PHP should work. He first explains the basics of OOP, then applies them to PHP, and provides real-world techniques and code to illustrate his points. He touches on AJAX, XML, RSS, thumbnail images, PDO, and other cool things, in an approachable and understandable manner.

It’s funny, but the illustration on the cover of the book says it all. Would you rather code a waffle from scratch, or code the wafflemaker, and make yourself waffles whenever you want them? That’s the difference between just writing code and object-oriented programming. It gives you the power of reproducibility and scalability. So what are you waiting for? Get cooking with OOP!

Building Scalable Web Sites, by Cal Henderson

I love this book! There, I’ve given away the clincher already.

Truth is, the writing is addictive. Once I picked it up, it was hard to tear myself away. Perhaps it’s because I’m fascinated with the subject matter, but boy, the writing style ain’t too shabby either. It’s easy on the eyes, and easy on the brain. You just start reading, and go on reading. There are no stumbling blocks, just nice, smooth writing that encourages you to keep moving on as you’re reading.

Let’s face it, which web developer out there doesn’t want to find out how to build scalable websites? Don’t we all dream that our sites or web apps will hit it big, and we’ll have to start planning how to expand? Well, this book will show you how. No, this book won’t show you how to code such sites. There are so many languages out there, it’d be impossible to do that in a book. And besides, code and its structure varies wildly based on the application you’re building. The load imposed on the server varies as well, based on the nature of your application. Some require more RAM, others crave more disk space, others are cuckoo for I/O… you get the point.

What this book will do is to set you straight: what is scalability, and how it’s done, from scratch to finished product, from hardware planning to software planning. It’s all laid out, and it’s easy to understand. Oh heck, Cal even explains what a web application is. And he’ll shatter a few myths, such as this: scalability and performance aren’t the same thing. And, PHP can be used in scalable applications. What?! The heresy! Only Java is scalable, right? Nope.

You’ll also learn things such as… Which scaling (vertical or horizontal) is more cost and resource-effective? How do you load balance with both software and hardware? What in the world is involved when exposing web services? Well, it’s not about nerds flashing in the server room, that’s for sure. How should you react when someone pulls an RPC on your XML? Should you wash it with SOAP, or should you cry API Abuse? Is a data cache a good thing? Should you worry about your database slaves? Should you buy cheap machines like Google, or should you spend your cash on real servers? Read the book, and find out the answers to all these captivating questions.

By my estimate, most people interested in the subject will manage to read the book in less than a week, and that’s with leisurely reading in the evenings. That’s more than I can say about many tech books, where you get bogged down trying to understand the code and what it’s doing. This book is instructive, entertaining, and intellectually enriching. Cal has a lot of knowledge in building scalable websites, and there’ll be no mistaking that when you pick up the book. This fellow speaks from personal experience. Do yourself a favor, and don’t build a hamstrung site. Read this book first!

Java I/O 2nd Edition by Elliotte Rusty Harold

Java I/O discusses in great detail a subject that is, in many ways, the bread and butter of Java: input and output. Given the expanded capabilities introduced with Java 1.4, 1.5 and 1.6, this book’s attention to them is timely and on target.

Here are some techniques that the book teaches:

  • Reading and writing files
  • Communicating over network sockets
  • Filtering data
  • Interpreting a wide variety of formats for integer and floating-point numbers
  • Passing data between threads
  • Encrypting and decrypting content
  • Calculating digital signatures for streams
  • Compressing and decompressing data
  • Writing objects to streams
  • Copying, moving and renaming files and directories
  • Choosing files from a GUI
  • Reading and writing non-English text in a variety of character sets
  • Talking directly to modems and other serial port devices
  • Controlling printers and other parallel port devices
  • Managing and communicating with USB devices
  • Transmitting data wirelessly with Bluetooth
  • Communicating with the outside world from small devices such as cellphones and PDAs

The book has 25 chapters, divided into the following logical parts:

  • Basic I/O, or the stream
  • Data Sources, such as files and networks
  • Filter Streams, or processing data as you read or write
  • New I/O, which deals with the changes made in Java 1.4
  • File System: moving, deleting, renaming and choosing files
  • Text: reader and writer streams
  • Devices: the Java Communications API, USB, J2ME and Bluetooth

Java I/O isn’t for everyone. It’s an in-depth book that assumes you already have a basic familiarity with Java, and you know its syntax. You should already know object-oriented programming, and you should already have written simple applications and applets. Although the examples given in the book are straightforward, you will quickly be overwhelmed if you’re a Java beginner, so you may want to pick up another book such as Learning Java or Java in a Nutshell first.

Elliotte Rusty Harold put a lot of hard work and detail into making Java I/O understandable and usable, and it shows. This book will prove an invaluable resource to the Java programmer interested in strengthening his or her I/O knowledge.

Google just made AJAX development easier

Google Web ToolkitGoogle released what looks to be a very useful piece of software around noon today: the Google Web Toolkit. Bret Taylor broke the news on the Google Blog. As those of us who work in web development know, AJAX is a pain to code and deploy. With the Google Web Toolkit, you can write the code in Java, then convert it to browser-compliant JavaScript and HTML on the fly. Nice!

Hurrah!!! ComeAcross is alive!

ComeAcross is live and well, thanks to a few days of feverish work! I am deeply grateful to my beautiful wife, for helping me sort through all of the content and helping me link and categorize it! Love ya, sweetie! 😉

Those of you wondering why I’m calling this site new when it’s chock full of content, take a peek at this. This is, indeed a brand new site, in many, wonderful ways! So put on a propeller beanie, folks, and sing for joy, because our new, “free for all to use and enjoy” site is up and running! Okay, if you won’t put on the beanie, I won’t mind, but at least belt out a couple of verses from your favorite song. Come on, do it like you’re in the shower!

Here on ComeAcross, you’ll find all sorts of interesting information such as “Pigs in a Polka“, all categorized, searchable, and updated regularly with new, “fresh as the spring air” content. As a matter of fact, I’d be tickled pink if you thought of this site as a source of information from now on, and came back often to see what’s cooking!

Updated 2/17/08: I’ve changed my site’s name to my own since I published this. This site could initially be found at It is now found at, which is where you are right now.

This site has been a labor of love for me, and it represents the culmination of years of publishing articles and other information on the web, for various of my sites. I was finally able to put together a great site with a single, large collection of content, where users can interact with each other and discuss the topics presented, thanks to a wonderful CMS/platform called WordPress. It would have taken me several months of coding to get this site going without WordPress, so the amazing capabilities of this platform can’t be underestimated.

Please, pull up a chair and enjoy! If you like it, spread the word! If you don’t, still spread the word, maybe others will! 🙂


Creating a module for Google's home page

Just spent the entire afternoon getting acquainted with a fun little document called the Google API Developer Guide. I think it’s cool because Google will let me create a module that I can submit to them for inclusion in their directory of modules. These modules can then be added to a user’s personalized home page, sort of like MSN or Yahoo do it.

I say I spent the entire afternoon because it may be fairly easy to write a basic XML file, it’s hard to write it in such a way that it pulls data correctly from an existing feed. In my case, I wanted to pull the latest blog entries from this blog. There was some fancy codework involved, and the directions just weren’t very clear. They showed me how to pull the text from the feed, including the entry title and content, but I just couldn’t figure out how to make my module look like the others in the directory. I guess one either has to be a good JavaScript programmer (which I’m not) or have access to some secret directions that Google isn’t sharing with everyone… I don’t know…

RaoulAt any rate, FeedBurner once again saved me from coding hell. Because the only other alternative for me would have been to update a static XML file by hand every time I had a new blog entry, and I wasn’t going to do that! Well, FeedBurner has this nifty Headline Animator service, that will create a simple animated GIF which rolls through the latest blog entries very nicely. I used that to create the XML file, and bingo, I got my module done and submitted it. Now I’m curious to see if Google will accept it!

Oh, one more thing. I’d like to see if Google will expand the module directory categories. They’re fairly limited. I would like to see categories like Blogs, Personal, Culture, Travel, Photography, etc.

Designed by Braggadocio

I do web design and development consulting in my free time. I always strive for quality and originality in my designs. It never fails to amaze me how people always fall for cheap, imitative designs, simply because they’re flashier.

These “web designers” promise more traffic, more exposure, better looks, more and better everything, and of course they don’t deliver on any of those things, except on the surface. Yes, the designs may be flashier, and buttons might move, or the top banner might be in Flash, and it might do something that’ll make the site owner go “Wow”, but that’s all empty. It doesn’t do anything for the site’s substance, nor does it do anything for the search engines, because the site hasn’t been properly coded for them. Or, they’ll design the site in Frontpage… The telltale signs are easy to spot: _vti files are everywhere, the page weight is large, and the graphics just aren’t that good. But people fall for this stuff!

It never fails to amaze me… It leaves me speechless, really. I compare the bragging with the product delivered, and I can see the wide gap between what’s been promised and actually created. Yet the site owners don’t see it. How can I make them see where the real value lies?

How I use FeedBurner

I think FeedBurner is one of the coolest sites out there today, and I wanted to share how I use it with the world. My life is a lot easier because of it – I can manage my feeds in ways I couldn’t even imagine before. I love it. Here’s why:

I was able to move the location of my feeds from one domain to another, one directory to another and one web host to another without any interruption in service or problems accesing my feed items. Now that’s cool! Portability, here I come to enthuse about you! 🙂

I’ve been able to splice my feed with my bookmarks, and that’s been wonderful! Not only is that a “nice to have” item for me, but it’s saving me lots of time! You see, I put out the ComeAcross Podcast. It’s a quick summary of interesting stuff I stumble on. Well, along with it, I provide the audience with a collection of detailed info about the things I mention in the show. For the 1st three episodes, I did it with zipped PDFs – but you know, publishers aren’t too keen on reproduction of their content – so I decided to drop that before one of their lawyers contacted me…

Next I switched to coding a summary of links to each of the articles or websites I talked about, but that was getting bothersome. I’d have to copy shortcuts to those websites to my hard drive when I found the articles, then when I put the show together, open them up again, and write the summary in Dreamweaver. Well, I thought, why couldn’t I do away with that step? When I discovered the Link Splicing feature in FeedBurner and realized I could use that to distribute the links, I jumped up for joy! Yes, less headaches! Now for my next show, my 8th, I’ll simply tell my subscribers to check my FeedBurner feed for the links mentioned in the podcast! Cool!

Here’s more good news about Link Splicing: with the help of support folks at FeedBurner, I was pointed to a hack which allows me to use only specially tagged items from my bookmarks for my feeds. So, for example, I use items tagged Dignoscentia on my three Dignoscentia feeds (The Dignoscentia Blog, Dignoscentia Bible Podcast and Dignoscentia Podcast Biblic). And I use only items tagged for the podcast on the ComeAcross Podcast feed.

Of course, I love the FeedFlare option as well. Boy, does that come in handy to make it easy for people to add various blog or podcast items to! That’s like a guaranteed traffic increase right there! The easier it is for people to share things with others, the easier it is for me to get my content out there!

I am enamored with BuzzBoost and Headline Animator. I use them to promote my content. I use the Chicklet Chooser a lot. I post the Feed icon on all my sites to let visitors know they can browse my feeds directly. And it’s also on the FeedBurner Support Forums that I found out how to advertise my feed to crawlers by posting the links in my code. Check out the source code for my home page to see what I mean. All of my feeds are present there! 🙂 Cool!

The stats are really, really cool! FeedBurner breaks down my readers by app used to access the feed, and also gives me stats about which feed items get accessed. Last, but not least, I love PingShot! It’s instant gratification. Everyone (about 10 or so of the biggest blog or podcast locators) knows about a new item on my feeds as soon as I ping FeedBurner.

The FeedBurner support folks are the quickest in the biz, and for a free service, that’s saying a LOT. They’re right on the money, they’re friendly, and they understand English! They’re not outsourced! Yes! 🙂

Thanks, FeedBurner, for making my geeky life easier and more fun!