New site logo

Standard

jkshay copy.com logoI used to run my website in the Drupal framework. The default theme packaged with that installation used the default Drupal logo (a fierce-looking drop of water), which I used for several months. I concentrated my efforts on other parts of the site – building content, functionality installation, etc.

I’ve since ported my site over to the WordPress framework, and was ready for a little personalization. As I’ve mentioned before, my wife is an artist. I asked her to create a logo for me – check it out! It’s me, hiding behind a laptop emblazoned with my URL.

It’s become my website logo (in my site header), my favicon.ico (the little logo that appears in your browser tab), and my gravatar (a logo that remains consistently me across gravatar-enabled websites).

What do you think?

Comment count in WordPress shortcode

Standard

Earlier today I was raving about the simply elegant plug-in Anti-Spam. When writing that post, it occurred to me that I specified two pieces of information that might change as time passes.

If you’ve read my post on dynamic ages in my About Me page, then it might be obvious that I like to keep things dynamic. That is to say, I don’t like to use static values unless those values are simply a snapshot in time. So I thought I’d add a little functionality to my site that would:

Continue reading

WordPress plug-in Anti-Spam

Standard

On my wife’s site, we were getting hit from numerous (15+) spam messages a day. We figured this was an acceptable number to just handle manually, but quickly grew tired of taking the time to moderate these comments, marking them as trash.

We tried various CAPTCHA plugins but none were very graceful. From difficult-to-read CAPTCHA strings to stark, unstyled “You have entered an invalid CAPTCHA” message, none of the CAPTCHA plugins we implemented really worked for us.

Then I found this plugin. It’s so simple in its implementation that it’s almost laughable. There’s beauty in what it does, though. It’s not overly complicated, it doesn’t affect the aesthetic of the site AT ALL, and most importantly, it just works.

I’ve had this plugin installed for over 4 years, 7 months and have only received 16 spam comments. I give it five stars all day long. Continue reading

Embed IP camera stream into WordPress pages/posts

Standard

[showCamera width=”300″]I was looking for a way to show my local IP network camera stream in my site (and my wife’s site). Sure, it was easy enough to find the necessary code on Google and embed in a post through the text editor, but I wanted something more.

I can’t expect my wife to write her posts without the Visual editor (which would have butchered the HTML required to show the stream), so I decided to convert the camera-generating HTML code to a PHP function and put it in our sites’ functions.php files. Why would I want to do this?

Continue reading

Dynamic ages in About Me page

Standard

Recently my brother asked me if my daughters’ ages in my About Me page were static or if they would change as we moved through time.  The answer is that they’re the result of PHP functions and are therefore dynamic and will change as time passes.

You see, my site allows me to embed PHP code.  In a nutshell, PHP allows me to create HTML dynamically.  I wrote a PHP function that calculates the number of years/months (or months/days in certain situations) since a given birthdate.  I added this function to my site’s custom functions.php file, and registered it with the WordPress framework so that I can access it with a shortcode. Because I want to be able to use this function multiple times with various birthdates, I wrote it to accept an argument called “birthdate”. In my About Me page, anytime I want somebody’s age, I simply insert:

Continue reading

Implementing an ISAPI rewrite for IIS 6

Standard

In an effort to clean up the URLs my WordPress-based site generated, I wanted to implement an ISAPI rewrite. You see, because I host my site on IIS 6, turning on WordPress’ Permalinks required an “/index.php/” in all of my URLs. I wanted a way to eliminate the “/index.php/” portion of the URL.  If I were hosting this site on an Apache server, it would be a no-brainer as Apache has the mod_rewrite module available, and would be able to serve URLs without the /index.php/ out of the box.  According to http://httpd.apache.org, the mod_rewrite module “uses a rule-based rewriting engine, based on a PCRE regular-expression parser, to rewrite requested URLs on the fly.”  It is this module that allows the intricate URLs created by WordPress to be presented in a friendly, cleaner manner – allowing http://jkshay.com/index.php/implementing-an-isapi-rewrite-for-iis to be accessed with a URL such as http://jkshay.com/implementing-an-isapi-rewrite-for-iis-6.

Continue reading