The easy way to set up postfix and mlmmj

I needed a mailing list manager for a new project, and, honestly, I’m a little sick of Mailman–it has tons of features I don’t use, but one fundamental feature I’d like, archive indexing and searching, is grossly deficient (the only option, which has been maintained *as a patch* for the last 7 or 8 years, only really supports ht://Dig, which has been moribund for about that whole time)–so I decided to try something that might be no better, but at least was lightweight. So I installed mlmmj.

And then I discovered that all the documentation for how to configure it with postfix was absurdly complex, at least for my situation, where I was dedicating a whole subdomain ( to it.

So, here it is, my take on how to marry mlmmj to postfix. I have successfully subscribed one address to it so far, but there’s no reason it has to be more trouble than this.

*Step 1.* Add an mlmmj transport to your postfix file:

bc. mlmmj unix – n n – – pipe

flags=DORhu user=nobody argv=/usr/bin/mlmmj-recieve -L /var/spool/mlmmj/${user}/

*Step 2.* Set up your subdomain to use the new transport (this can be set on an individual address basis using either regexes or individual entries, but hell, everyone uses these days). It can contain:

bc. mlmmj:

*Step 3.* Configure postfix to handle the subdomain and use the transport file to route messages (and don’t hand more than one to mlmmj at once):

bc. mlmmj_destination_recipient_limit = 1

relay_domains =

transport_maps = hash:/etc/postfix/transport

*Step 4.* There is no Step 4. You’re done. Seriously.

Of course, if I’ve missed something, I hope someone will let me know, but I don’t see why it has to be any more than this.


It was 52 weeks ago that I taught my first yoga class. I now find myself on the hook for _four_, at three different studios. I think I’m going to be gradually cutting back just a bit, as that’s at least one, perhaps two more than I really need to be teaching.


John Goerzen is a Debian developer for whom I’ve got a lot of respect. He has also recently been let in “on the secrets of underwear drawer rotation”:

And his workplace just had a big fire, and “he’s logged the thrills of working IS during times of crisis”:

Yes things have tapered off a little bit.

Part of the reason, of course, is that I’ve “been doing some work for these guys”:

Just in case you thought I was something other than a pinko-commie-bedwetting-liberal.

Five days without an update…

Five fairly busy days, too.

Finished building a diagram for the the data model for one of my clients. Did some more tweaking on my dia-to-sql XSL stylesheet to get things working. I think I’m starting to really _like_ XSL. What’s next, scheme? Intercal? Brainfuck?

I _should_ package up my stylesheet for public consumption, though–I understand that the next version of Dia is going to have an XSLT plugin, which would mean you could go directly from the diagram to SQL without an intervening processing step.

Now I’ve got to start getting the legacy data pulled out of the existing database and into the new one. That’s going to be a nightmare–the old database format is poorly normalized, and ages of poor programming have contributed to there being a lot of crapulous data in it. I am only looking forward to it in the sense that it will give me lots of hours to bill.

A relatively unproductive day

I hate to say it–especially where prospective employers might see it–but my version of productivity is kind of…nonstandard.

That is, I have a tendency to sit around play guitar, read email, etc. for a long time, then sit down, crank out in a few minutes something that might take someone else hours to do, and then move on to other activites.

The sad fact is that this frustrates me, perhaps more than anyone else–I mean, from the perspective of my employers, who aren’t actually sitting and watching what I do, I am still terribly productive. I get more stuff done than a lot of other people, in a shorter billable time. That’s great for customers, but tough on the bottom line sometimes.

But it’s also tough on me, in part because I’m not in an office environment–I don’t really have anyone to chat with or go to lunch with, no meetings to go to, or any of those other general wastes of you have you’re in an office.

So even though I’m actually being just as productive as I likely would in an office setting, I always feel less productive. It’s tough.

No good database modellers in Linux

I’m not usually much of a “visual” guy. I’d rather read a text description of most stuff than look at pictures.

The one great exception to this is when it comes to modelling large databases–say, more than 10 tables. At that point, staring at line after line of SQL simply doesn’t cut it–I can’t discern the problems at a glance, there’s lots of paging around, etc.

For the moment I use the UML mode of “Dia”:, which is an OK tool, plus a custom XSL stylesheet for coverting the Dia’s output into SQL. It works OK–you do get a diagram out of it, and you can coerce it to produce decent SQL–but it’s just not…fluid. There’s a lot of fiddly stuff that requires very careful work, and supporting things like foreign key references always requires more work than it should. This makes creating the diagram that much more work and frustration.