Archive for June, 2007

Ultimate htaccess Blacklist

Posted on June 28, 2007 in Function by Jeff Starr

[ Image: Solar Eclipse ] For those of us running Apache, htaccess rewrite rules provide an excellent way to block spammers, scrapers, and other scumbags easily and effectively. While there are many htaccess tricks involving blocking domains, preventing access, and redirecting traffic, Apache’s mod_rewrite module enables us to target bad agents by testing the user-agent string against a predefined blacklist of unwanted visitors. Any matches are immediately and quietly denied access.

There are many ways to obtain an effective htaccess blacklist. There are several excellent forums around the web that provide a plethora of priceless htaccess advice. Highly suggested. Additionally, after copying and pasting your favorite forum blacklist examples to your domain’s root htaccess file, you will want to continue with its development by tracking bandwidth thieves, comment spammers, and site scrapers and adding them to the list. Or, you may wish to skip the tedious grunt work and simply grab a copy of the Ultimate htaccess Blacklist!

The Ultimate htaccess Blacklist began as a short list of only the most heinous offenders. Blocking scum was such an enjoyable activity that we soon added to the list the identity of every nasty agent we could find. The result has been a very low-stress, spam-free site with virtually zero stolen bandwidth. The list is fairly comprehensive and attempts to blacklist as many site rippers, grabbers, spammers and bad bots as possible. While no blacklist could ever block them all (nor would they want to using this method)1, an elaborate htaccess blacklist can do wonders to improve overall performance, decrease site maintenance, and reduce server expense. Overall, we consider this blacklist a great foundation on which to build and customize your own ultimate htaccess blacklist!2

Continue Reading

Use PHP to Create Symbolic Links without Shell Access

Posted on June 25, 2007 in Function by Jeff Starr

[ Image: Chain Linkage ] On Unix systems, a symbolic link refers to a file that points to another file or directory. Symbolic links serve as powerful tools for web designers and developers. Using shell access, creating a symbolic link requires only one line of code:

ln -s /home/username/public_html/directory1 /home/username/public_html/directory2

Simple enough. Assuming you have access to the linux shell. Unfortunately, many shared hosting environments deny shell access. Fortunately, creating symbolic links — also called “symlinks” — remains a possibility via the PHP symlink() function. Check it out..

Continue Reading

SEO 101: Best Practices

Posted on June 25, 2007 in Optimization by Jeff Starr

[ Image: Abstracted Documents ] After studying Peter Kent’s excellent book, Search Engine Optimization for Dummies, several key methods emerged for optimizing websites for the search engines. Although the book is written for people who are new to the world of search engine optimization (SEO), many of the principles presented throughout the book remain important, fundamental practices even for the most advanced SEO-wizards. This article divulges these very useful SEO practices and organizes them into manageable chunks 1.

Text Essentials

The golden rule for developing a popular website is to create a useful site and share it with as many people as possible. When designing a site for search engine popularity, use clear, readable text. Replace non-standard text characters with standard equivalents. By all means, check the spelling, grammar, and syntax of your text manually, or at the very least, using an automatic spell-checker. If you are targeting the giant Google search engines, your design mantra should be, “black text on white background” — that is, keep it simple, straightforward, and focus on quality content. And finally, never use image-based text in place of searchable, text-based content.

Continue Reading

WordPress 2.1 Blogroll Nightmare and Lessons Learned

Posted on June 23, 2007 in Blogging, WordPress by Jeff Starr

[ Image: Nightmarish Rotting Corpse Head ] Here at Perishable Press, we like to stay current by running the latest version of WordPress. The site launched in 2005 with WordPress 1.5 (Strayhorn), eventually made the jump to version 2.0 (Duke), recently stepped up to 2.0.1 (Still Duke), and currently enjoys 2.0.5 (Ronan). Although each of these upgrades have required various file edits, plugin tweaks, and theme modifications, the process is always educational and remains an important aspect of this site. Much of our content revolves around using and customizing WordPress, and so staying current with new versions is critical if we are to continue operating as a relevant, contemporary resource.

Needless to say, with the release of WordPress 2.1 (Ella) in January of 2007, we were excited about upgrading. In fact, we were so enthusiastic about diving into ‘Ella’ that we went ahead and upgraded only hours after its release (mistake #1). I recall thinking something to the effect of “..every other WordPress upgrade has gone so well..” and, after skimming over the list of changes, “Wow, look at all that WordPress goodness — surely this will be a fantastic upgrade!” (mistake #2). As if that weren’t enough, by not waiting a few days before jumping aboard, it was impossible to follow the sage advice of “Google first, upgrade second” (mistake #3).

Continue Reading

June 21, 2007

Posted on June 21, 2007 in Textual, Timeline by Jeff Starr

working on it. getting there.
swimming to the other side
of the never-ending pool.

letting go. holding on.
nurturing hope in spite of
relentless pursuits..

almost almost there.
only another step behind
on the treadmill marathon.

The Friendliest Link Targets in the Neighborhood

Posted on June 20, 2007 in Structure by Jeff Starr

[ Image: Fred Rogers with Shoe ] The target attribute for anchor elements (<a>) specifies the location in which the referenced document should load. For example, to open a link in a new window, we would use a target value of _blank. Although this is a commonly employed technique, the target attribute has been deprecated by the W3C and is not valid (X)HTML. Regardless, the target element remains a useful tool for practicing designers and developers. Here, we present the attribute values for the target element:

Continue Reading

Wireless Internet: BlackBerry Curve as Bluetooth Modem for OS-X Mac

Posted on June 12, 2007 in Technology by Jeff Starr

Stay connected to the Internet wherever you go by using your BlackBerry Curve (8300) as a Bluetooth modem for your OS-X-powered Macintosh…

[ Image: BlackBerry Curve and Mac PowerBook ]
BlackBerry Curve Wireless Modem for Mac
This tutorial guides you through the process of connecting wirelessly to the Internet using your BlackBerry Curve (8300) as a Bluetooth modem for your Macintosh (running OS X) via native Bluetooth functionality. The benefits of such wireless connectivity are numerous, enabling greater productivity and maximized Internet access. The procedure is straightforward, and the tutorial assumes no prior knowledge of either Bluetooth or BlackBerry. Knowing your way around a Mac will help, but is not required. Note that using your BlackBerry as a wireless modem for your Mac (or any computer) is classified as tethering, and may or may not be covered by your wireless plan1. Having said that, the setup time for this tutorial should be well under thirty minutes, and requires2 the following items:

Continue Reading