Clean, easy, effective. You don’t need no stinking JavaScript to preload your images. Nope. Try some tasty CSS and (X)HTML instead! Here’s how to do it with only two easy steps.. Step 1 — Place this in your CSS file: div#preloaded-images { position: absolute; overflow: hidden; left: -9999px; top: -9999px; height: 1px; width: 1px; } Step 2 — Place this at the bottom of your (X)HTML document: <div id="preloaded-images"> <img src="https://perishablepress.com/image-01.png" width="1" height="1" alt="" /> <img src="https://perishablepress.com/image-02.png" width="1" height="1" alt="" […] Continue reading »
If you think you understand the logic behind Microsoft’s downlevel conditional comments, you are sadly mistaken. Sure, they seem simple enough on the surface, but as you really try to wrap your head around how and why they work, the subtle complexities of downlevel conditional comments may leave you dazed and confused… In our previous article on Internet Explorer’s exclusive browser-detection method, downlevel conditional comments (DCC), we present an introductory exposition, defining expressions and providing several generalized code examples. Overall, […] Continue reading »
For over a year now, I have been using Markus Kämmerer’s (Happy Arts Blog) WP-ShortStat plugin for WordPress. The plugin is relatively well-maintained and remains one of my favorite admin tools. Great for popping in on stats without logging into Mint. Nonetheless, due to its IP/country-detection functionality, WP-ShortStat has experienced its share of difficulties (e.g., read through the change log on the plugin’s home page). In this article, I describe how WP-Shortstat slows down the root index-page of a site, […] Continue reading »
In our previous article, we explain the process of allowing Feedburner to access your hotlink-protected images. The article details the entire process, which covers the basics of hotlink protection and involves adding several lines of code to your htaccess file. In this article, we skip the detailed explanations and present only the main points. The discussion is very similar for both Feedburner and Google Reader, and may be extrapolated to serve virtually any purpose. If you are using htaccess to […] Continue reading »
Announcing an easy way to export and automatically format your WordPress Blogroll for import into your del.icio.us social bookmarking account! The Export Blogroll plugin for del.icio.us simplifies the process of transferring your WordPress Blogroll to your del.icio.us account. del.icio.us now provides a way to import multiple links with a single file, however the file must emulate a specific (browser bookmark) format. The Export Blogroll plugin automatically formats your exported Blogroll content according to del.icio.us batch-upload specifications, making it super-easy to […] Continue reading »
After our recent WordPress-2.1 blogroll debacle, we concluded that the WordPress Links Manager (aka the Blogroll) is no longer a viable, long-term solution for managing bookmark collections containing large numbers of links. A far better solution, in the eyes of many savvy web users, is the free social bookmarking service del.icio.us. Using del.icio.us for over a year now, we have found it to be highly flexible, always reliable, and infinitely extensible. Plus, as a social bookmark service, everyone benefits from […] Continue reading »
Recently, we installed and configured the excellent WordPress Feedburner plugin by the venerable Steve Smith. The plugin basically redirects our various WordPress-powered content feeds to Feedburner, which then delivers them to subscribers. This method enables us to take advantage of Feedburner’s excellent statistical tools. Further, all of the action happens silently, beneath the surface, and without the subscriber even realizing it. After a few weeks running the plugin with great success, we began hearing reports of broken and missing images […] Continue reading »
Even with all the fancy-pants new features found in Windows XP and now Vista, Microsoft Windows 98 (Second Edition) remains our favorite Windows-flavored operating system. We love it so much, we still use it on one of our trusty laptops. Over the years, we have discovered several very useful functions available via the command line or even the “Run” prompt (Start → Run…). Anyway, without spending too much time researching or explaining these wonderful tools, we figured posting the information online may […] Continue reading »
Happy Fourth of July, 2007! Continue reading »
Figuratively speaking, hunting down and killing spammers, scrapers, and other online scum remains one of our favorite pursuits. Once we have determined that a particular IP address is worthy of banishment, we generally invoke the magical powers of htaccess to lock the gates. When htaccess is not available, we may summon the versatile functionality of PHP to get the job done. This method is straightforward. Simply edit, copy and paste the following code example into the top of any PHP […] Continue reading »
Shouts out: First of all, to everyone who reads my content on a regular basis, thank you! Things are finally rolling along quite smoothly, and I just wanted to take a moment to let you know that I truly appreciate your kind participation with Perishable Press. Whether you’re sharing code, leaving comments, or even just reading my content, it’s all very inspiring and appreciated. We have some great things planned in the near future, and look forward to sharing them […] Continue reading »
There is a major problem with the “Hotlink Protection” feature of cPanel. To summarize the issue, allow me to quote a recent email sent to a completely unresponsive tech support department: …The problem is that if I try to include any rewrite rules for permalinks, hotlinking, or blocking spambots, cPanel automatically enables its “Hotlink Protection” feature. And, even worse, it automatically adds every URL from every rewrite rule (even the ones for blocking spambots) to its “auto-discovered” list of URL’s […] Continue reading »
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. Continue reading »
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. […] Continue reading »
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. Continue reading »
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 […] Continue reading »