Slow Firefox

I was commenting on this poll by Sortvind at deviantART about web browser usage, and want to share my wonderful insight with my readers. :grin:

I use Mozilla Firefox because of the great tab control, automation, nice bookmarks toolbar, no text aliasing, other add-ons, and general speediness. But it slows down a lot as I leave one window open for days (using Windows’ hibernation function at night); it’ll even lock up and make everything else slow as molasses, as it steals all the CPU cycles and RAM. I did re-install recently, switching from the portable version to the regular Windows installer, but to no avail. It surely doesn’t help that I like to keep 20 tabs open.

Firefox was originally supposed to be simple and fast, replacing the slow Mozilla suite, but with spell-checking, RSS support, history caching, etc. in the core instead of being relegated to add-ons, it’s becoming increasingly heavy-weight. Inefficiencies in the code don’t help either, though changes will mess up the plugins people love, I hear.

Incidentally, there is the same problem of slowness with WordPress; I and many other users have to use caching to stay running during traffic spikes. Though most database-driven websites use caching, it’s particularly necessary due to WordPress’ inefficiencies. And they won’t be going away or else plugins will break. At least we get lots of cool features out of it. :smile:

13 Indispensible WordPress Plugins

I’ve broken my promise about focusing on adding photography, as I spent the last few days solving technical issues and making improvements around here.

Category URIs don’t have “category/” in them anymore, so you can get to the shop at richardxthripp.thripp.com/shop, which is what I’ve wanted for a while. I got this working with Top Level Cats.

The comment section for each entry has been totally redesigned. You can subscribe to comments (Subscribe to Comments plugin), preview comments without a page reload (AJAX Comment Preview plugin), and subscribe to an RSS feed for the comments on each entry. I moved stuff around and renamed stuff so it makes more sense; the “reply to” (for comment threading) is now at the top so that when you click a “Reply to this” link, you don’t have to scroll up to see the comment box. I use Yet Another Threaded Comments Plugin (YATCP) version 0.6.1, in which I accomplished this by moving <?php yatcp_show_comment_parents($post_ID); ?> up above the contact boxes in yatcp_comments.php, and delinking the reply box from the comment form (comment_form) by changing add_action('comment_form','yatcp_show_comment_parents'); to add_action('','yatcp_show_comment_parents'); in template_functions.php.

I added notifiers for disabled JavaScript, because the “Reply to this” links, comment previewing, and the shopping cart require it. Try disabling JavaScript in your browser to see what I mean.

When viewing individual entries, there is a link to the next and previous entries above the similar entries list (Related Posts 2.04 plugin, which has been taken offline by its creator). I added <?php previous_post_link(); ?><br /><?php next_post_link(); ?> in my theme’s index.php file for the previous and next entries feature.

If that isn’t enough, first-time commenters will get an automated thank-you email, with a plug for my RSS syndication feed. The Comment Relish plugin makes this easy to set up.

My cousin wanted his own website, so I set it up for him in the same WordPress installation at jt.thripp.com (which just redirects to his category at richardxthripp.jt.thripp.com). I added him to the banner and sidebar, and he’s already got some photos up. I’m using , Bind User to Category, and Advanced Category Excluder, so that his entries stay off the home page, he can only post in his category, and he can’t go on a rampage destroying my website. The three plugins are playing nicely together.

I’m using SEO Title Tag to manually edit the titles of the home page, categories, and other pages; they’re more descriptive and search engine-optimized.

Admin Drop Down Menu makes it a breeze to navigate in the administrative section.

I thought I was adding too much stuff; I’m getting 35 MySQL queries on the home page, and 20 on most individual entries, with query times of 2-3 seconds on the home page and feed, and ~1 second on most individual entries. I have cheap shared hosting from Netfirms, and the WP-Cache plugin speeds up load time and reduces the server load, so this seems acceptable.

To make an even 13, I use Random Image Script for the random photos in my header. It isn’t actually a WordPress plugin, but it’s convenient because you can throw it in a directory with some images and call it like a normal image (an img scr HTML tag). To have three random photos, I just made three copies of the script. It’s an inefficient method, but it’s easy and the cool (or annoying) thing is the same images can show up in each box. Get three of a kind and you’re really lucky.

And finally, there is a bugs and problems page, where I list the problems remaining, which I don’t know how to fix and are fairly minor.

I’m $3.25 away from recouping my hosting costs on this website, though domain renewal is up in March and I’ll have to pay more for hosting in August. Save me from insolvency. :help: Buy three prints from the shop today—$3.85 shipped in the USA). :big-grin:

List of the plugins:
Top Level Cats
Subscribe to Comments
AJAX Comment Preview
Yet Another Threaded Comments Plugin (YATCP)
Related Posts (Original site, offline currently)
Comment Relish

Bind User to Category
Advanced Category Excluder
SEO Title Tag
Admin Drop Down Menu
WP-Cache
Random Image Script

Sweet Progress

My pages’ URIs don’t have /index.php in them anymore, thanks to this WordPress plugin (Netfirms Pretty Permalinks). I can’t use canonical URIs because the hack requires them to be disabled. :frown: So, just use the links around here when linking to me, as they’re all fine. Looking at the WordPress forum, I’m glad I can have nice links at all.

I was getting memory errors in the administration panel, but they went away when I disabled MySpace, Facebook, and Xanga cross-posting. 2008-01-04 Update: It was the Google Sitemap Generator; I increased the amount of memory available to it (from the default of 16MB to 64MB), and it works fine. MySpace cross-posting still generates blank screens on my end, so it won’t return. I can’t get the threaded comments reply link to work with the new URIs, so you have to use the list below the comment box.

The Netfirms permalinks plugin doesn’t fix calls from PHP scripts using $_SERVER[‘REQUEST_URI’]. They still have the /index.php in them, which broke the sidebar log-in panel and reply buttons in comments. To fix this, in Yet Another Threaded Comments Plugin (YATCP) version 0.6.1, I replaced a portion of the template_functions.php file. This:

function yatcp_get_url(){
$my_url = '';
if($_SERVER['HTTPS']){
$my_url = 'https://';
} else {
$my_url = 'http://';
}
$my_url .= $_SERVER['HTTP_HOST'];
if($_SERVER['SERVER_PORT'] != '80'){
$my_url .= ':' . $_SERVER['SERVER_PORT'];
}
$my_url .= $_SERVER['REQUEST_URI'];
$my_url .= '#comment_selection';
return $my_url;
}

became this:

function yatcp_get_url(){
$my_url .= '#comment_selection';
return $my_url;
}

I’m not going to use the extra functions in the original code, so I removed them.

For the sidebar script, I just hard-coded the log-in/log-out URIs to the home page. Unfortunately, this means you don’t go back to the page you logged in or out from. These are both kludges though; I won’t need them once I leave Netfirms in August.

I changed the layout; the sidebar is stream-lined and the page margins are smaller to leave more space for the content. I’m particularly proud of the banner at the top; it displays three random photos on each page (currently, 26 of my photos are in rotation).

The website is looking pretty good, so I’m going to stop tweaking it for the next month, and instead work on adding photos. :)

2008-01-03 Update: Fixed comment reply buttons and sidebar log-in panel; updated entry.

Photography Shop

2008-06-18 Update: There is no more photography shop, so I took away the broken links. Read about why I removed it: Everything Old is New Again.

2008-08-17 Update:: The photography shop is back, reincarnated.

I’ve set up a photography shop here. Took me a lot of time to hash out the technical issues (I’m using yak and WordPress), so I’ve only posted one photo for sale so far. I’m selling 4*6’s only (you’d be surprised how artful they can look), matted on white card-stock. This is different from my deviantART shop, because I oversee the entire production and shipping process (my standards are high), keep more of the profits, and can offer my art at affordable prices. The prints are 95¢ each, plus $1 shipping in the USA, $3 shipping to Canada and Mexico, and $5 to Australia and the UK (no other countries yet). Shipping is flat-rate, encouraging my customers to purchase more of my work.

The shop integrates well with my blog too—I can post an “Add to cart” button right in the text of my entries, as I will be doing for most upcoming photos.

All the payments go through PayPal since that’s simple and easy to set up, though they take a chunk off the top (30¢ + 3% per transaction). Check it out and buy something sometime so I can have more money for photographic equipment. :big-grin:

Entry Mirroring

I added WordPress plugins to cross-post my entries to LiveJournal, MySpace, and Xanga from this blog. The LiveJournal and Xanga ones work best as they link here for comments and duplicate the content. The MySpace one only posts a link to the entry here.

Tomorrow, I’ll start adding new photos instead of fluff like this.

2008-08-17 Update: I’ve only kept the LiveJournal one. The other ones failed when I switched to WordPress MU.

Comment Threading

I added comment threading, similar to deviantART. deviantART lets comments nest infinitely and after each ten levels, you must click a link to view the deeper levels. Mine stops at four levels though, so the page indent doesn’t become too great. But at the fourth level, you can continue posting replies like normal (they’ll just stay on the same level), and it will still be easy to keep track of the conversation, as other commenters will be on different threads. Try it out on this entry. Click “Comments” in the bottom-right, and then on my comment, click *REPLY TO THIS*.

I don’t know how to get comment previewing to work with the plugin, so it’s gone for now. 2008-01-10 Update: It’s back!

Also, each entry has a printable version, which you can view by clicking “Printable Version” at the bottom. Above this, there is a ShareThis button, so you can share my articles with friends and strangers alike, by email or through Facebook, digg, del.icio.us, et cetera. Finally, there is a dynamically generated list of three similar entries at the end of each entry, and a “random page” link in the sidebar. Both of these features will become useful as I add content.

First Entry

Hello all! I’m Richard X. Thripp, and 2007-12-23 marks the day of my first entry on my blog at richardxthripp.thripp.com. The reason for the subdomain is so that I may share Thripp.com with friends and family without it being a personal website.

Unfortunately I have crippled hosting through Netfirms, and so all my pages must have “/index.php” in their URIs (2008-11-01 Update: switched hosts long ago). When I switch to a better host (I’m locked in through 2008-07), hopefully I’ll be able to redirect all old links to the new pages without “/index.php”. I was able to get advertising set up through Google Adsense, which may cover hosting costs.

Expect to see a lot of my photography and essays. Check out my about page, which lists me and my family’s websites, and contact information and pricing regarding my photography services (Daytona Beach area, Florida).

Go ahead and post some comments to get the ball rolling. No registration needed, for now at least (2008-11-01 Update: no registration required ever).