Kerem Erkan
The mind of the six billionth one…
The mind of the six billionth one…
Jul 9th
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.
Jul 8th
Enabling the tftp daemon in MacOS X Snow Leopard (or Leopard) is an easy task with little documentation. This is a quick reference. The manual page for tftpd in MacOS X Snow Leopard (or Leopard) recommends that tftpd is launched via launchd, so we will do it that way. First, we enter launchd% console using sudo:
sudo launchctl
After that, we enable tftpd in launchd% console:
load -F /System/Library/LaunchDaemons/tftp.plist
That’s it. Now you can put your tftp files into /private/tftpboot folder and start using tftpd.
When you are finished using the daemon, you can unload it by entering launchd% console and issuing the following command:
unload /System/Library/LaunchDaemons/tftp.plist
If you use tftpd a lot, you can enable it at boot time by entering the following in launchd% console:
load -w /System/Library/LaunchDaemons/tftp.plist
And to disable it from starting up at boot time:
unload -w /System/Library/LaunchDaemons/tftp.plist
Apr 21st
I have received a lot of mails about both PHP DRM Packager class and Check Quota plugin for SquirrelMail. For the last months, I have not been able to concentrate on anything and I could not reply your mails. I apologize for that from all of you.
For the PHP DRM Packager, while I would love to share the code with the rest of the world as open source, I am not able to do that for the time being. Sorry. I hope in the future, I will be able to do it.
For the Check Quota plugin for SquirrelMail, I will be working on the plugin. I still need some time to get fully back on, but I will, eventually.
Thanks to all who sent support mails to me in this period. It means a lot to me.
Aug 6th
I have released Check Quota 2.2 today, with help from Paul Lesniewski of SquirrelMail Development Team. With this release, all Check Quota versions prior to this one and Quota Usage plugin maintained by Bill Shupp and Paul are obsoleted. The two plugins are now completely and officially merged.
The biggest change in Check Quota 2.2 is complete support of SquirrelMail 1.5.2 branch. Other changes are mostly bugfixes and optimizations, as well as new language strings. This means, translations of Check Quota 2.x will not work for Check Quota 2.2, so they are removed from the plugin.
Please send your translations to the SquirrelMail i18n team from now on. You can also send them to me, and I will forward them to the translation team.
You can download the new release from the downloads page.
Jun 29th
This week two translations for Show User and IP 3.3 have arrived and added. They are Bahasa Melayu (ms_MY) and Norwegian (nb_NO). You can find the repacked plugin file from Downloads page. Thanks to Muhd Zamri MS and Arnt Gronas for giving their precious time to these translations.
Jun 4th
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:
May 31st
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 http://www.keremerkan.net/captchatest.php 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.
Apr 21st
Today, I am releasing Check Quota 2.1, which includes new updates. With this release, you will be able to check UNIX quotas when your SquirrelMail and IMAP servers are on different machines. I have added a thorough explanation of achieving this in the INSTALL file of the plugin.
I have also added SquirrelMail 1.5.2 support. The plugin hooks and outputs have been changed a lot in 1.5.2, so most of the plugins designed for 1.5.1 and below will not work in 1.5.2.
And last, the first translations for Check Quota 2.x have arrived and added, which are Hungarian (hu_HU), thanks to Csezsy Laszlo of Frugalware and Brasilian Portuguese (pt_BR), thanks to Mauricio Severich.
You can download the new release from the downloads page.
Apr 17th
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:
http://www.keremerkan.net/qrcode/qr.php?c=aHR0cDovL2tlcmVtZXJrYW4ubmV0Lwo=
UPDATE: The page gets redirected to PHP QR Code Generator page on this blog now.
aHR0cDovL2tlcmVtZXJrYW4ubmV0Lwo= is Base64 encoded presentation of my blog URL, http://keremerkan.net/
You can easily Base64 encode this string by executing the command below from a UNIX shell:
echo http://keremerkan.net/ | openssl enc -base64
Apr 12th
UPDATE: I had to remove the demo page for reasons I cannot specify here. I hope that I can put it back online in the future.
I have set up a demo page for my packager class. You will be able to give the URL of a content file and get it DRM packed to your phone. As this is a demo, it has some limitations. You will only be able to pack video/3gpp, audio/3gpp, image/gif and image/jpeg files. That is, you will be able to pack 3GP audio and video files and GIF or JPEG images.
You can test the class at the following page:
http://www.keremerkan.net/drm
If you have questions, you can contact me via my contact page.