Skip to content

GeoIP 1.0.5 released

I just released GeoIP 1.0.5 on PECL. An excerpt from the ChangeLog:

  • Small bug in phpinfo() when printing version number could crash PHP. (in 1.0.4)
  • Fix memleaks, bug #14851
  • Small patch for MacPorts by jhohle
  • Add geoip_time_zone_by_country_and_region() and geoip_region_name_by_code() (thanks to Sid Dunayer)
  • Add continent_code field for City Database, only if using GeoIP lib 1.4.3 or newer

Since most of the features are very dependent on the GeoIP Library version you're using, I do suggest you upgrade the installed library on your system before upgrading the PECL counter-part.

I have also upgraded the PHP documentation, which should appear on the mirrors by next week. I am now working on documenting the added functions, mostly that FIPS 10-4 thing in geoip_region_name_by_code().

One thing to note about this release though is that the time zones returned by geoip_time_zone_by_country_and_region() with library 1.4.5 don't seem to make any sense here. I have opened up a bug report on SourceForge for libgeoip, will see if it gets resolved in the next release.

In the meantime, happy IP Geo Localization with PHP!

All new blog!

Please welcome... wait for it... my new blog! (you need to use Barney Stinson's voice for that phrase)

Ok, so what's the catch? It looks like the other one, what's different? In fact, what changed is the machine behind.

After many problems with ServerPronto, I decived to move everything back in Canada. My new hosting company is now iWeb, right here in Montreal. I wasn't sure at first, since iWeb is a little bit more expensive than others. After trying it, I am more than pleased with the service.

For example, when installing my dedicated server, I wanted to switch my Debian to Gentoo. I knew it was risky, but I needed my server to run Gentoo, mainly for seldom ebuild development. Everything ran smoothly, but I unfortunately made a typo in the network config file. Upon reboot, I couldn't access the machine and was stuck with a bricked server.

With a simple support ticket, I was able to get an IP KVM connected to my server quickly and interacted with it to bring the network back online. It might seem like a trivial event, but I am not sure what would have happened if it was hosted elsewhere. I would have probably ended up paying someone to type the commands on the shell, which is not always an easy task when the other person is more than a thousand kilometers away.

DoubleMetaphone on PECL

It's finally there... after quite some requests by external people, I've created a doublemetaphone module on PECL.

After some house-keeping, version 0.1.2 was born. It is still alpha, although it should not segfault or anything. The only reason going alpha is because I'm not sure the API should stay the same. After some feedbacks, I'll ramp-up beta and GA.

So, after a pecl install doublemetaphone, you can enjoy using the new double_metaphone() function.

If you have any comments, or found bugs, leave a comment here, or on the PECL bug system.

PECL GeoIP on Gentoo

Even if the GeoIP bindings for PHP have been available for more than a year on PECL, I have never took the time to write an ebuild for it on Gentoo.

Until now, I was using the PEAR installer, which is great for installing PECL packages. The only downside is that those packages won't be seen when doing a world upgrade with Gentoo. You then have two choices:

  1. Do an emerge world followed by a pecl upgrade-all
  2. Install PECL packages via Portage

Since I'm lazy, I like the fact to upgrade everything at one place.

The hard part now is to write the ebuild, which is really simple considering the fact that it is a PECL package and that eclass are available.

One thing to another, this ebuild is now part of the testing overlay for Gentoo. If no bugs are found, it should be part of the normal tree shortly.

Kerberos kpropd on Gentoo

Nothing fancy, but while configuring a Kerberos slave on a Gentoo server, an init script seems to be missing for starting kpropd.

While it seems some have difficulties writing init scripts, here is what I am using:


daemon="MIT Kerberos 5 KPROPD"

opts="start stop restart"

depend() {
        need net

start() {
        ebegin "Starting $daemon"
        start-stop-daemon --start --quiet --exec ${exec} -- -S 1>&2
        eend $? "Error starting $daemon"

stop() { 
        ebegin "Stopping $daemon"
        start-stop-daemon --stop --quiet --oknodo --exec ${exec} 1>&2
        eend $? "Error stopping $daemon"

restart() {