Save 25% on Wizard’s SQL for WP w/ code: WIZARDSQL
Web Dev + WordPress + Security

New WordPress Plugin: SAC Pro!

I’ve been developing WordPress chat plugins for over 10 years, and have received tons of great user feedback for the free version of Simple Ajax Chat (SAC). So many ideas and ways to improve the plugin that it just made sense to bring it all together and build a new “pro” version. So after several months of intense plugin development, I am excited to launch my latest WordPress plugin, SAC Pro. SAC Pro is completely rewritten from the ground up, […] Continue reading »

WP 6.0 Fix Error: QTags is not defined

“Quick” post about an error that may occur with WordPress 6.0 (and possibly other versions). After updating to WordPress 6, the JavaScript Errors Notifier extension was showing a “QTags is not defined” error on sites where custom Quicktags are configured (via plugins or custom scripts). Because of the error, custom Quicktags were broken and not added to the editor toolbar. This quick post explains why the error is happening and how to fix it (easily). Continue reading »

Replacement for JavaScript Errors Notifier (Chrome Extension)

Heads up about the JavaScript Errors Notifier extension for Google Chrome. Looks like it was removed from the Chrome store sometime last year. Not sure of the reason behind it, but can tell you that currently there are no suitable extensions to replace it. Kinda sucks because JavaScript Errors Notifier was one of my favorite “always on” extensions. It makes it easy to spot any JavaScript errors as you develop, design, or browse the Web. Fortunately there’s still a way […] Continue reading »

Check Your Spam Folder

It’s sad that we’ve arrived at a place where it needs to be said. Unfortunately, 3rd-party email services such as Yahoo, Hotmail, Gmail, and so forth have to deal with tons and tons of spam. So they tend to use very aggressive spam-filtering rules. Overly aggressive, in many cases. Continue reading »

18 Years Online

This year, 2022, will be the 18th year that Perishable Press is online. The first year (2004–2005) was mostly behind-the-scenes development and site building. If you do a Whois lookup for the domain name, perishablepress.com, you’ll find the creation date is 2004-07-14. I had to look that up myself for this post. It was so long ago.. lol. So once the site went live in 2005, it was off to the races. Fast forward 18 years and here we are, […] Continue reading »

Enabling ModSecurity (Updated)

For years, I’ve not used ModSecurity for any of my own sites. Way back when I first tried ModSecurity, there were just too many false positives, so I stayed away from it, opting instead to develop my own fast Apache/.htaccess firewall. But my web host now is telling me that ModSecurity is required on all of their managed VPS plans. Continue reading »

New Book: Wizard’s SQL Recipes for WordPress

I’m excited to launch my latest web-dev book, Wizard’s SQL Recipes for WordPress. I got the idea for this book way back when I was first learning how to build dynamic websites. I thought it would be useful to bring together all of the best SQL snippets in sort of a “spellbook” or “cookbook”. After all, SQL queries can seem like magic to the uninitiated. By entering concise, well-crafted commands, SQL enables anyone to interact with any relational database. It’s […] Continue reading »

Migrating All Book Accounts to Perishable Press Books

Just a heads up! I’m in the process of migrating all book accounts to the new bookstore at Perishable Press Books. The goal is to streamline everything — all books and user accounts — under the new books domain. This will make everything much simpler for everyone. Eventually, the other book sites will be taken offline, after everything is migrated to the new bookstore here at Perishable Press. Continue reading »

Protect WordPress Media Files

This is an experimental technique that I am playing with. It’s the simplest possible way that I could think of to protect all files in the WordPress Media Library using only Apache/.htaccess. I’ve been testing the code on an image-heavy site and so far there are no issues. So I want to put the code out there for others to test and hopefully provide feedback if anything less than perfect. It’s a super simple method that prevents media files from […] Continue reading »

Important Notice for Email Subscribers

Whoops! I spaced off sending this before July, so figured better late than never :) Hello! As you may have heard, Google/Feedburner is dropping support for their “Subscribe via Email” feature. This free service grabs the latest content from a site’s RSS feed and delivers it via email to a list of subscribers. So whenever a new post is published here at Perishable Press, Feedburner delivers an HTML-formatted copy direct your inbox. The subscribe-via-email service has been available for years […] Continue reading »

Roll Your Own Simple Password Manager on macOS

I’ve tried 1Password and Dashlane, and several other popular password managers for both Mac and PC. It always seems to be the same thing: things start off great and then go downhill from there. For example, I was loving 1Password, and then it locked me out of my password file/account. Likewise for a couple of years Dashlane was great, but then they started making drastic changes like moving from standalone app to browser extension Web-based UI. The confusion involved with […] Continue reading »

Cutting Floor Interview

When I spend time on something, like an interview, I like to know that it was actually published somewhere. Below is an interview that I completed for a web-hosting company that apparently now is missing in action. It covers how I got into web development, upcoming projects, web security, work flow, writing books, WordPress, and more.. Continue reading »

Apache Redirect Range of IP Addresses (IPv4 and IPv6)

There are numerous ways to redirect requests using Apache’s mod_rewrite and mod_alias. This concise, friendly tutorial explains different ways to redirect a range of IP addresses, either IPv4 or IPv6. Continue reading »

My Wish List for Legend of Zelda: Breath of the Wild 2

As a teenager, I played the original Legend of Zelda game when it launched on the first Nintendo console (NES). Back then, us neighborhood kids had a blast playing that game for hours on end. Fast-forward to adulthood, it’s a joy watching my own kids play the various sequels: Ocarina of Time, Majora‚Äôs Mask, Wind Waker, Twilight Princess, and to some degree, Skyward Sword. Beyond watching my kids play, I didn’t really get into playing any of the Zelda sequels. […] Continue reading »

Plugin Planet 2021 Redesign

Finally! Writing this post is the final step in the 2021 redesign of my WordPress plugins site, Plugin Planet. The site launched seven years ago in 2014. I think I spent a couple of months or so building the original site to the best of my ability. That first design stood the test of time, and honestly it would have been fine for another couple of years or more. But after seven years of changes, modifications, swapping out plugins, adding […] Continue reading »

CSS: Odd Bug with Colons and Combined Pseudo Elements

According to specification (and these helpful posts by Chris Coyier), CSS pseudo elements like ::before and ::after should be written with two preceding colons. It can be confusing because while pseudo elements are prefixed by two colons, like ::element, pseudo selectors (aka pseudo classes) are prefixed by only one, like :selector. So that’s the context for an odd little CSS bug.. Continue reading »

Welcome
Perishable Press is operated by Jeff Starr, a professional web developer and book author with two decades of experience. Here you will find posts about web development, WordPress, security, and more »
Banhammer: Protect your WordPress site against threats.
Thoughts
Enjoy my 7-year hand-curated collection of free online tools for web dev and design.
Weapons required to rule the world: the weather, common cold, plenty of idiots.
Finally time to launch my latest pro WordPress plugin, SAC Pro »
Finally feeling better and back on track to launch SAC Pro this June or July.
All plugins updated for WordPress 6.0 (drops tomorrow)!
Coding never ends. Bring a snack.
Not posting anything online usually means I’m busy working on my next project.
Newsletter
Get news, updates, deals & tips via email.
Email kept private. Easy unsubscribe anytime.