Naked Password

Want to have a little fun with your clients? Want to make checking password security fun?

Try Naked Password!


(If you are developing a site for IBM or one of the Big 3, please don’t implement this as it can be seen as offensive)

What is naked password?
The whole idea of naked password is to encourage your users to enter stronger passwords.
Our beautiful model Sally tastefully removes items of clothing as the password grows stronger.

Naked password is extremely easy to use. All thats needed is for you to attach nakedPassword(); to one or all of your password fields.


Naked password assumes that the images are uploaded in a publicly accessible folder called “images/”.
You can overwrite the images path as follows:

$("input:password").nakedPassword({path: "/new_image_path/"});

Note: If you want to use it on multiple fields on one page, make sure these fields have unique id’s.

And thats it! Feel free to fork a copy of our repo on github and push any changes to us, and we’ll take a look!


Naked password in the wild
Using naked password? let us know and we’ll add you to our featured sites list.
Email your URL to examples at

Regular Expressions: a simple, easy tutorial

From I added this page which has awesome information because the original aite was unavailable when I checked it. Just to be clear, this is not my work and copyright info is listed at the bottom.

It needed reposting, so here it is in all it’s g33ky glory…


First, you may ask, if you found this page fortuitously, what are regular expressions ? (usually abbreviated as RegExp, RegEx or RE) In a few words, they are a powerful (but a bit geeky) way to manipulate text.

With them, you can see if a generic string (eg. “5 letters followed by 2 digits) is inside a text, you can extract a string out of a text (eg. getting the current version number from a software download page), check if a string meets some criteria (did the user type a date in the right format?), transform a text (morph a list of C’s #defines to a list of variable assignments in your favorite language), split a string with complex requirements (eg. get all words of a natural text, separated by spaces or punctuation signs), etc.

The drawback is its syntax, quite cryptic for the uninitiated (and sometime for the initiated…), but with practice, it appears that most of the tasks use rather simple expressions, so are not hard to master.

Now, don’t feel bad if you had to ask. I see myself as a seasoned professional programmer, with more than 15 years of paid experience, and more than 25 years of programming practice (going back to my first programmable calculator!). Yet, I started only recently to really use REs.

That’s because in most of the programming languages I used (C[++], Pascal, various Basics, assembly languages), regexps are not full part of the language, needing an external, non-standard library, and thus their use wasn’t commonplace.

I used them a bit with Unix tools like grep or sed, but only at low level of expertise. I actually started to use them with the Lua language that has a proprietary implementation, and when the SciTE source code editor integrated a simple implementation of REs. Being a bit primitive, it was less intimidating and I found myself using them more and more.

Then I learned languages fully integrating regexps. A bit of Perl, of course, but I am still a beginner here; JavaScript, which is quite close of Perl in RE syntax; PHP, with both its Posix implementation (ereg, outdated) and its PCRE-based one (preg); and Java, fully integrating REs since version 1.4.

Actually, you are probably using REs without knowing it… At least a very primitive, very simplified version of them, called meta characters in MS-Dos: in file patterns, ? replaces any character and * replaces any sequence of chars, like in *.jpg or backup.00?
Continue reading “Regular Expressions: a simple, easy tutorial”

Cpanel on VPS licensing issue

If you utilize WHM/CPanel an a VPS instance, there is an issue which has been identified in which cpkeyclt is looking for the server IP when attempting verify license information via /usr/local/cpanel/cpkeyclt
and not finding the correct IP that matches the listed cpanel license.

According to cpanel, they have run across this behavior several times recently in which a few large hosts have started provisioning VPSes in such a way that the first ip address on the machine starts with venet0:1, or sometimes venet0:2. For some reason, cpkeyctl is wanting the cpanel licensed IP to be on venet0:0, but it may not be. This issue has been addressed internally so that cpkeyctl will simply use the first IP on the system, but this has not been pushed out to the production branches yet.

For now though you can fix this particular license problem by ensuring that you have a venet0:0 interface on the VPS, and that the ip on that interface is the one you have licensed with cpanel. Once venet0:0 exists with the right IP, cpkeyctl should run with out a problem.

If you run across this issue, you can check on this by running a simple ‘ifconfig’ and verify that the cpanel licensed IP is associated with venet0:0.

Kill defunct PHP processes

If you have run into defunct php processes that keep running on the server which causes the CPU load to increase, read on…

Normally to kill these process we can use

ps aux | grep -i “defunc” | awk {‘print “kill -9 “$2?} | sh

but this is not a permanent solution.

The root cause of this issue is usually due to an apache bug related to the suphp module.

According to
When I am using suPHP I have zombie processes. What’s the problem?

Apache 1.3.28 has a bug in the Apache core which causes CGI processes not to be ended correctly. mod_suphp uses some of this core functions, however it is not a bug in mod_suphp but in Apache itself. The bug is first occured in Apache 1.3.28 and is fixed since Apache 1.3.29

Turn off ssl cPanel redirection

SSL redirection can be found in WHM >> Tweak Settings >> Redirection

Always redirect to SSL [?] On Off = off

Non-SSL redirect destination = Origin Domain Name
Origin Domain Name default

SSL redirect destination = Origin Domain Name
SSL Certificate Name default
Origin Domain Name

Logout redirection URL = No redirection default

If you would like for the to work again:

Modify WHM >> Tweak Settings >> Security
Require SSL = off


Modify the /var/cpanel/cpanel.config file setting
reset to
and restarted cpanel

Memcache vs PHP Memcache

or Memcache vs. Memcached

It seems that PHP has two memcached libraries named memcache and memcached. What is the difference and how do you know which one to use? The newer memcached PHP extension was created recently by some guys at Digg. It has some new features and performance enhancements.

Here is a quick backgrounder in naming conventions (for those unfamiliar), which explains the frustration by the question asker: For many *nix applications, the piece that does the backend work is called a “daemon” (think “service” in Windows-land), while the interface or client application is what you use to control or access the daemon. The daemon is most often named the same as the client, with the letter “d” appended to it. For example “imap” would be a client that connects to the “imapd” daemon.

This naming convention is clearly being adhered to by memcache when you read the introduction to the memcache module (notice the distinction between memcache and memcached in this excerpt):

Memcache module provides handy procedural and object oriented interface to memcached, highly effective caching daemon, which was especially designed to decrease database load in dynamic web applications.

Continue reading “Memcache vs PHP Memcache”