Become a Patron!

My Amazon wishlist can be found here.

Life Line


Haunt (PHP-GTK Twitter client)

Haunt is a Twitter client written in PHP-GTK. It uses PECL/OAuth for the authentication.

You can browse the source code at or checkout the code with:

git clone git:// haunt

SRM: Script Running Machine

The Vulcan Logic Script Running Magic, SRM, was first conceived in the autumn of 2000. It is designed to solve some of the problems often encountered with PHP and other web scripting languages that result from the statelessness of the HTTP protocol. However, the idea was mostly ill contrived so the project has been suspended. This entry is for historical purposes.

read more

SRM will use various methods to cope with the problems presented to programmers. It will offer caching of variables directly from supported scripting languages, and as they will be held in memory there will be considerable speed increases over a database-only approach.

Another feature of SRM will be it's ability to handle all database connections persistently; this will offer significant advantages in a variety of situations where you are either using multiple supported scripting languages or want to be able to control the amount of connections spawned to your database server in a more effective way. SRM does not spawn a connection to your database server for each connection but decides whether it is worth it or if it is better to share another connection.

Transliteration PHP Extension

This extension allows you to transliterate text in non-latin characters (such as Chinese, Cyrillic, Greek etc) to latin characters. Besides the transliteration the extension also contains filters to upper- and lowercase latin, cyrillic and greek, and perform special forms of transliteration such as converting ligatures such as the Norwegian "æ" to "ae" and normalizing punctuation and spacing.

read more

At the moment the supported transliteration filters include: Cyrillic-to-Latin transliteration, Greek-to-Latin transliteration, Han-to-Latin transliteration, Hebrew-to-Latin transliteration; case converting filters for Greek, Latin and Cyrillic and filters to remove diacriticals from text, normalizing ligatures and normalizing punctuation.


Example text:




$string = file_get_contents( 'test-text.utf8' );
$res = transliterate(
	'utf-8', 'utf-8'
echo $res;

Output text:




Besides the transliterate() function, there is another function that returns all the available filters. This function is transliterate_filters_get(). It returns an array containing all filter names.

Download Source

Simply run the pear installer tool to install the extension:

pear install

Vulcan Logic Dumper

The Vulcan Logic Dumper hooks into the Zend Engine and dumps all the opcodes (execution units) of a script. It can be used to see what is going on in the Zend Engine.

read more

This is an extension for advanced users and can not be used to un-encode PHP code that has been encoded with any encoder. If you can't make it work then this tool is not for you. If you are certain there is a bug, then please provide a patch (or a good bug report).

Download and Installation Instructions

The extension is not finished (and probably will never be finished). If you have questions, feel free to send me an e-mail.

You can get the source from Github:

git clone vld

Here are the instructions to get it to work:

  1. cd into the newly checked-out directory.

  2. Create the configure script: phpize

  3. Now run "./configure" followed by "make install".

That's it, if you now run PHP from the command line and add the parameter VLD will spit out the opcodes:

php program.php

There is also a setting vld.execute to disable execution of code, and vld.verbosity to control how much output VLD generates.

Xdebug Extension for PHP

The Xdebug extension helps you debugging your script by providing a lot of valuable debug information. The debug information that Xdebug can provide includes the following:

read more

  • stack traces and function traces in error messages with:

    • full parameter display for user defined functions

    • function name, file name and line indications

    • support for member functions

  • memory allocation

  • protection for infinite recursions

Xdebug also provides:

Information about Xdebug in more detail is available at