I have been neglecting this blog for far to long. From now on I will try to post regular updates on what I have been working on lately. Why? Because I have been doing some exiting stuff, both for my job (working on a PhD) and privately. Luckily they all have some to do with system management.

PHP 5.3 has been released as well. eAccelerator has been ported to PHP 5.3, but the optimizer does not work (yet). In the next days I will try to find some spare time to disable the optimizer for PHP 5.3 and release a beta. Later on in the real release or even a next version the optimizer will return. I will you you posted!

Speed up firefox

Firefox was getting a bit sluggish when typing a url in the location bar or closing firefox. The “wonderbar” in Firefox3 creates a few sqlite databases. The urlclassifier3.sqlite had grown to about 56MB.

After running this command:
for db in $(find $HOME/.mozilla -name *.sqlite); do echo "VACUUM;" | sqlite3 $db; done

Afterwards the database has shrunk to about 12.5MB and has sped up firefox considerably.

Note: Firefox or other mozilla based browser that store their profile in .mozilla need to be closed, otherwise the sqlite databases will be locked.

eAccelerator, PHP 5.3 and Git

Two days back I released with a one line bugfix proposed in ticket #232. It should fix a lot fo the reported locking problems that we (the developers) actually never were able to reproduce. But that line shouldn’t be there anyway. I’ve always suspected something was wrong in that function and I’ve been looking at it for hours but never noticed that unlock call that shouldn’t be there. It has been added during the mmcache days so I’ve got nothing to do with it 🙂

I got a bit tired of working the whole day on my thesis, so yesterday I riped out all support for PHP version before 5.1 It cleans up the code considerably altough that diffstat isn’t that impresive.

ChangeLog | 4 +
NEWS | 27 ++++++++
content.c | 9 --
debug.c | 8 --
ea_dasm.c | 42 +------------
ea_restore.c | 150 +-----------------------------------------------
ea_store.c | 91 +----------------------------
eaccelerator.c | 56 ------------------
eaccelerator.h | 24 -------
opcodes.c | 49 ---------------
optimize.c | 177 ++-------------------------------------------------------
11 files changed, 54 insertions(+), 583 deletions(-)

Because of my thesis I really like to work with git and I discoverd git has gained two way svn support since the last time I checked. So I cloned the svn trunk and made it available at github.com You can get it here: http://github.com/bartv/eaccelerator/tree/master

Today in about a half an hour I added initial PHP 5.3 support and pushed it to the php-5.3 branch at github. There is an overview here http://github.com/bartv/eaccelerator/commits/php-5.3 You can clone the repository with the information listed on that page or just click the ‘download’ button and get a tarball. I’ve fixed the script and user cache but haven’t had the guts to enable the optimizer so compile eA with –without-eaccelerator-optimizer for now.

Now, let do some thesis writing again!

Thesis, job and life

The implementation of my thesis has been finished for about a week or so. Currently I’m spending my days writing the thesis text. This is going to be the hardest job of the whole project 😉

I’m probably the last person in my year to decide on a job but the decision has been made. Related to my thesis I’ll start as a researcher at the department of computer science of the KU Leuven working on a phd. The topic of my thesis is really interesting and I really enjoyed working on it and I got offered the change to work on it for a few more years. I’m really looking forward to it!

My girlfriend is also graduating and has found a job in Leuven too, so we are looking for an apartment in Leuven. Until now the search hasn’t been very successful 🙂

go7007 update

I’ve just pushed an update for the go7007 driver to make it work with the 2.6.24 driver. The code is available in my git repo: http://bart.ulyssis.org/go7007/go7007.git

You can get a patch against the 0.9.8 driver here: http://bart.ulyssis.org/go7007/

WARNING: The git repo doesn’t contain any firmware images, just to make sure!

PHP 5.3

PHP 5.3 will support loading .htaccess style settings for cgi and fastcgi according to a presentation given at a php conference. This is pretty funny. About two and a half years ago I wrote a patch for the cgi and fastcgi api’s of php. I didn’t get feedback about the patch until someone at the #lighttpd irc channel pinged a php developer hanging around there. The feedback was: This doesn’t belong in PHP, discussion closed!

Because I needed the patch at that moment I converted it into an extension and htscanner was born. I used it for a test setup that never got into production because of other problems. I didn’t need the extension any more and someone else took it over from me and posted it at pecl. Pretty funny Zend included it now, probably some corporate client needed it and all objections disappeared.