Jump to Content
Jump to Navigation

Archive for the “General”

Bottle Return

Tuesday, July 29th, 2008

When I was in the Czech Republic in March 2007, I went to see a movie called Vratné lahve, which in Czech means “Bottle Return” — although they titled the movie “Empties” in English. There’s a unique feature of Czech supermarkets, a bottle return department, where you return glass bottles of juice, water, and especially beer, […]


Plugin Strategies in Open Source, Part 2

Wednesday, June 4th, 2008

In any project, feature-creep can be a problem. In an open source project, this can be particularly acute when there are few developers. Worse yet, someone becomes super-active just until their major new feature lands and then they disappear! And then there’s the problem of noisy people who won’t stop whining about getting some peculiar […]


Handling exit within an eval

Saturday, March 15th, 2008

So I’ve run into a problem with mod_perlite, and it’s that I cannot just override Perl’s exit function with a straight perl_destruct call, a longjmp back to the Apache handler, or anything else at all.

Here’s how it’s handled in mod_perl.
And then there’s this possible workaround using goto.
Shockingly, this works, too.

Here’s my favorite…
bar.pl:

 exit;

Foo.pm:

package Foo;

sub new […]


Plugin Strategies in Open Source, Part 1

Saturday, March 15th, 2008

Once upon a time, I worked* on an open source groupware application called TWIG, The Web Information Gateway. I started posting fixes, wrote some code to scratch my itches, and pretty soon I got CVS commit access. I wrote a new module for scheduling meetings, and the guys on the development team loved it, […]


libSieve Hacking

Friday, February 22nd, 2008

This month a number of Sieve extensions became published RFCs, along with an update to the Sieve base spec itself:

[RFC 5228] Sieve: An Email Filtering Language.
[RFC 5229] Sieve Email Filtering: Variables Extension.
[RFC 5230] Sieve Email Filtering: Vacation Extension.
[RFC 5231] Sieve Email Filtering: Relational Extension.
[RFC 5232] Sieve Email Filtering: Imap4flags Extension.
[RFC 5233] Sieve Email Filtering: Subaddress Extension.
[RFC 5235] Sieve Email Filtering: Spamtest and […]


TWIG Hacking

Saturday, January 5th, 2008

For the first time in a long time, I spent a weekend hacking on TWIG! Tons of things work now in TWIG 4, lots of code flow improvements, CSS and Javascript improvements for Web 2.0 (more on that in a minute), database cleanliness and efficiency improvements, Reservations feature checked back in for the first […]


Another MySQL headache

Tuesday, November 27th, 2007

In http://www.dbmail.org/mantis/view.php?id=655, Mr. Maenaka writes:
MySQL’s automatic reconnection is unsafe because of the following reason.First, SET NAMES query is a required arbitration between server and client if both’s character encoding is different. This should be done at the time of connection open. (Of course you can issue SET NAMES between every query with the huge overhead though.) By […]


Two request monty for persistent services on non-persistent hosts

Wednesday, November 7th, 2007

A problem I’ve been thinking about for a long time was how to build a backend service for a stateless web frontend. All of the solutions I have seen involve building a daemon that lives on the server and holds the persistent data. Or, in the case of PHP, weird ass service side session cookie […]


Perl in Apache with mod_perlite

Tuesday, November 6th, 2007

Lately at work a few folks have been batting around possible solutions to the perceived problem of how hard it is to run Perl code from Apache. Of course there are very good solutions, mod_cgi, mod_fastcgi, and best of all mod_perl. But there are very good reasons why web hosts shy away from CGI, and […]


SSL Key Management App

Friday, November 2nd, 2007

The crux of my SSL management headache is that I have a lot of domains, but only four public IP addresses. I bet that most home-operated sites are like that. I also have a number of different applications running — HTTPS, SMTPS, and IMAPS in particular. For each HTTPS domain, I need to have an […]