PHP QR Code Generator evolves!


PHP QR Code Generator page is the most visited page on my blog. It has evolved from a small page with a few features into a full featured real time generator on which you can choose from a lot of actions for your device and create different image types, even vector images. As far as I know, there are no free generators on the internet that can match its features, and it is also better than most of the paid ones.

It even works on new generation mobile phones like iPhone or Nexus One.

And as of today, it can also create Data Matrix codes, thanks to the folks who have created the wonderful libdmtx library. So, I have made a name change on the page.

It is now called PHP QR Code and Data Matrix Generator. I hope it continues to prove useful to everyone who use it. :)

New PHP QR Code Generator Page


Checking my blog stats, I saw that most people come to my Real Time QR Code Generator PHP Function post. So, I decided to create a decent page for QR Code generation instead of linking to a URL which accepts only base64 encoded variables. The new page is PHP QR Code Generator page, and now you can, not only create an image that redirects you to a web address, but also can call a phone number, send an sms and send an e-mail. Also you can just encode plain text into a QR Code image.

UPDATE: vCard and bookmarks creation added.

Hope it proves to be useful for some people out there.

Supporting Oracle FCF in Tomcat


We use Tomcat with Apache HTTPD in our company. And as a database backend, we use a two node Oracle Real Application Cluster (RAC).

We were having stale connection problems when a RAC node was behaving abnormally, because the JDBC pool which was created by Tomcat was not getting any notification about it. So I started searching for a way to take advantage of Oracle’s Fast Connection Failover (FCF) mechanism. FCF is superior to Transparent Application Failover (TAF) as it is event based and supports load balancing across the RAC nodes. It is also superior to having no failover mechanism whatsoever. :)

FCF leverages Oracle Notification Service (ONS) to get information about database events. With the help of ONS, a JDBC pool which has FCF enabled can see if a RAC node is up or down and can act accordingly. To be able to use the method I am about to show, you will have to have a minimum Oracle RAC version of 10.2.0, because Oracle versions prior to that do not support “Remote ONS”, which is an essential part of this configuration.

PHP Captcha 1.0 released

Today I am releasing PHP Captcha 1.0.

The main difference of PHP Captcha from other free or paid PHP implementations is, that it is written to utilize ImageMagick functions through the wonderful MagickWand PHP API to create CAPTCHA images that are hard enough for bots to crack, while more readable by humans than the others.

Quoting Aleksey Kolupaev of OCR Research Team, to whom I am thankful for his help on PHP Captcha:

“Everything can be cracked, but this one is a hard nut.”

Output of default configuration:


Output of a custom (a little too unpractical) configuration:


PHP Captcha has a lot of configuration options including:

  • Random background colors
  • Random background noise
  • Random text fill and stroke colors
  • Random text string length
  • Random font size
  • Random text direction
  • Random character rotation
  • Random image swirling
  • Random foreground noise and so on…

PHP Captcha beta testers needed

UPDATE: PHP Captcha 1.0 is released. Thanks to all who beta tested it.

I have started a new project named PHP Captcha which will be released as open source.

It will be a PHP Captcha implementation which will use ImageMagick instead of standard PHP GD libraries. It purpose is to create less crackable CAPTCHAs than the ones created with the readily available implementations that use GD.

I need beta testers who have some free time to test PHP Captcha. All you need to do is go to and solve the CAPTCHA that is written there. Please solve as many as you can, so that I can optimize the configuration.

Also I am getting help from Aleksey from OCR Research Team hoping to release PHP Captcha stronger than most two dimensional CAPTCHA implementations out on the wild. Thanks very much Aleksey for all your time.

Thanks to all who tested and still test PHP Captcha.

Real Time QR Code Generator PHP Function

UPDATE: Please read this post. You will be able to create more different images now!

If you have read my earlier posts, you must have seen that I am excited about implementing QR Code to my projects. These mostly include my work projects.

Today I have discovered that Fukuchi Kentaro, who is an assistant professor has written a very useful QR Code library to use on UNIX based systems. I have immediately downloaded the library and compiled it. It ran smoothly on my server, so I created a little PHP function to use with this library, for real time QR Code generation.

I have put a page on my server for you to use the function. You can call that page supplying a base64 encoded URL and it will create a QR Code PNG on the fly.

This is a demonstration of calling the page:

UPDATE: The page gets redirected to PHP QR Code Generator page on this blog now.

aHR0cDovL2tlcmVtZXJrYW4ubmV0Lwo= is Base64 encoded presentation of my blog URL,

You can easily Base64 encode this string by executing the command below from a UNIX shell:

echo | openssl enc -base64
Go to Top