This post explains all the different “x” characters currently available in HTML. It covers the various HTML entities and provides some examples and tips. Also explains the difference between the often confused “Multiplication X” and “Multiplication Sign”, and which is better for symmetrical buttons and links. Continue reading »
I’ve always made use of CSS text-decoration properties in my theme designs and other dev work. From underlining text to making hyperlinks look great, text-decoration is essential CSS. Until recently I was not aware of a couple of related properties, text-underline-offset and text-underline-position. I am currently planning the next redesign of Perishable Press and thinking about using text-underline-offset to add some style to various link elements. So this post is to bring these related CSS properties together on paper, forever […] Continue reading »
New WordPress plugin! Simple Login Notification does one thing and does it well: sends an email alert whenever an admin-level user logs in to your site. I use this plugin on all of my sites to keep an eye on any unauthorized activity. Not that I’m expecting any, but if it does happen I definitely want to know about it. The plugin size is only 4 KB (zipped) with virtually zero impact on performance or anything else. Win win win, […] Continue reading »
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 »
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 »
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 »
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 »
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 »
Working on the redesign of Plugin Planet, I needed a way to toggle between two divs based on which radio input is selected. This is useful for showing option-specific information conditionally, depending on the current active radio select field. This tutorial shows how to achieve it using vanilla JavaScript, so there is no need for including an entire library like jQuery. Very simple technique, requiring minimal amount of HTML markup and vanilla JavaScript. Continue reading »
Let’s say you have some .htaccess rewrite rules in place using Apache’s mod_rewrite. By default if the rewrite rules are located in the root directory, they will be applied to every subdirectory, as expected. But what if you need to disable the rewrite rules so that they do not affect some specific sub-directory or sub-folder? This super quick tutorial shows the easiest way to do it. Continue reading »
Have you ever wanted to make a WordPress site private? So that only specific users are allowed access? For example, for my found-images site eChunks.com, I decided to require user login in order to access any content. So now for that site, public access is not allowed, and any posts, images, and all other content is available only to logged-in users. This tutorial explains four ways to make a WordPress site private or members only, so that only authenticated/trusted users […] Continue reading »
Want to stop Google Chrome browser from constantly asking for permission to “know your location”? This mini tutorial shows how to do it quickly and easily, for Google Chrome versions (around) 83 and better. Continue reading »
This post is a bit different than my regular in-depth tutorials. This is where I scribble down notes and thoughts about my experience switching from Photoshop (PS) to Affinity Photo (AP). As I continue to learn AP and collect more notes, I’ll add them to this post. It’s an informal work in progress. To give some context of where I’m coming from, I have around 20 years experience working with Photoshop (and other Adobe apps). Like many others, for me […] Continue reading »
Here is a quick CSS tutorial showing how to center-align a list element with left-aligned text. For example, if you have an <ul></ul> or <ol></ol> of unknown width, and you want it to stay centered on the page and keep the inner text aligned to the left. That’s the trick we’re looking at in this tutorial. Continue reading »
Zipping files on Apple/Mac is a chore because of all the hidden files and folders added by macOS. Like .DS_Store and __MACOSX are two of the most common files and folders that are added to zip files when compressed on macOS. The folder named __MACOSX especially is problematic because it contains duplicates of every file in the zip archive. So for example, if you use Finder to compress 20 files, the resulting zip file will contain the original 20 files, […] Continue reading »
I see so many technical (and other) questions in forums and social media that go unanswered. Not due to lack of trying, but due to lack of understanding. People posting questions like this (an actual post in a popular PHP group on FB): Continue reading »