---------------
Christof Meerwald@blog.www

home
> blog
>> 436

translate to German (by SYSTRAN)

Weblog RDF feed, Atom feed

[previous] / [up] [overview] [down] / [next]

Thu Nov 24 21:43:52 2005 GMT: The end of USENET

Tue Nov 22 00:12:51 2005 GMT: Moving to Swindon

Sun Nov 13 14:39:56 2005 GMT: The CGI Dilemma

Some time ago I installed SquirrelMail in a private area of my Web site to be able to get access to a remote IMAP server. While the setup was fairly easy, performance just sucked. The reason, of course, lies in the statelessness of the CGI (Common Gateway Interface), but running PHP as an Apache module doesn't help here either. So, a PHP (or CGI) script can't keep resources open between requests, and therefore, in the case of SquirrelMail it has to establish the IMAP session every time which considerably slows down the whole thing (and increases resource consumption on the IMAP server side, because these IMAP servers aren't really optimized for short-lived sessions).

Well, in most cases you can get away by storing some session information in a database, but this doesn't work with network connections. Of course, having some background daemon running on the Web server machine would be the answer to the problem, but this usually requires at least having shell access on your Web server (which most low-cost hosting provider don't offer).

Another alternative would be to fork a daemon on demand from your CGI script, let it run for some time in the background and communicate via Unix domain sockets with it. Using this technique should be possible with all low-cost Web hosting accounts that at least allow you to write your own CGI scripts and should drastically improve performance of Web applications like SquirrelMail. But on the other hand, making use of a daemon process is a big architectural change.

Sun Nov 13 12:13:40 2005 GMT: Jabberd2 epoll Patch Updated

A few days ago I noticed that the server-to-server communication component of my cmeerw.org Jabber server crashed after logging an XML parse error (junk after document element). I have tracked this down to a problem in my epoll patch for jabberd2 which could cause a double-free memory allocation error leading to a program crash.

I have now updated my epoll patch on http://svn.cmeerw.net/src/jabberd2/epoll-patch/ to fix this bug.

Thu Nov 10 20:21:25 2005 GMT: Visual C++ 2005

A few days ago Visual C++ 2005 has been released. One of the good things about the release is that you can download the Express Edition for free (after registering, although you might get away without registering if you only use the command line tools).

I have just updated my Free C++ page to include this freely downloadable compiler. Interestingly, the for statement condition test case triggers an internal compiler error and the two phase name lookup still doesn't work, but they have updated parsing of right angle brackets to be in line with the upcoming C++ 0x standard.

Sun Nov 06 17:00:23 2005 GMT: https Support for JabRSS

It's now also possible to subscribe to RSS/Atom feeds in JabRSS via https (although I don't see a reason why anyone would want to publish a public RSS/Atom feed via https only).

Sun Oct 23 14:36:31 2005 GMT: Updating to Breezy Badger

Following the release of Breezy Badger about a week ago, I have now updated my home PC which went quite well, except that xdm is completely broken. Admittedly, this package is not part of the official distribution, but is part of universe. Fortunately, a bug has already been filed and is easy to fix.

Another (minor) annoyance is that the lsh-utils package is still not available for AMD64 (although it's fairly easy to compile it yourself for AMD64).

Sun Oct 16 20:24:26 2005 GMT: Ubuntu Breezy Badger Release Party

Sun Oct 16 20:01:07 2005 GMT: Linux Kongress 2005

Wed Sep 28 20:14:49 2005 GMT: The OrbZone

Tue Sep 27 21:08:33 2005 GMT: Simple SIP Forwarder

Tue Sep 20 19:56:45 2005 GMT: GSA

---------------

This Web page is licensed under the Creative Commons Attribution - NonCommercial - Share Alike License. Any use is subject to the Privacy Policy.

Revision: 1.14, cmeerw.org/blog/436.html
Last modified: Mon Sep 03 18:19:55 2018
Christof Meerwald <cmeerw@cmeerw.org>
XMPP: cmeerw@cmeerw.org