Posts Tagged With 'mailman'
I turn my back to the wind
To catch my breath,
Before I start off again
—Neil Peart, Time Stand Still
23 years ago, I met Guido, fell in love with Python, and took a turn that
changed the course of my life and career. You can't ever know where your
decisions will lead you, so you just have to set a course and trust the wind.
In the 1990s, as we moved the Python.Org infrastructure from the Netherlands
to the US, we inherited the Majordomo list server that was running
firstname.lastname@example.org. There were changes we wanted to make and features
we wanted to add, but it was becoming increasingly clear that Majordomo had to
be replaced. Besides being difficult to hack on, it was written in Perl, so
of course that wouldn't do at all. Python was an upstart disrupting its
space, and we needed a list server written in Python that was malleable enough
for us to express our ideas.
It was about that time that our friend John Viega showed us a project he'd
been working on. He'd wanted to connect a popular, local Charlottesville,
Virginia band with their fans at UVA, and email lists were an important way to
do that. Of course, no one wants to manage such lists manually, and if you're
not happy with the existing options, what does any self-respecting developer
do? You write yourself a new one! As for implementation language, was there
really any other choice? History celebrates this momentous confluence of
events: the band became the mega-rock powerhouse known as the Dave Matthews
Band, and the mailing list software John wrote is what became GNU Mailman.
(Aside: I'll never forget the time my band the Cravin' Dogs played at TRAX,
a Charlottesville music venue. The place …
Continue reading »
Recently, as part of our push to ship only Python 3 on the Ubuntu 12.10
desktop, I've helped several projects update their internationalization
(i18n) support. I've seen lots of instances of suboptimal Python 2 i18n code,
which leads to liberal sprinkling of cargo culted .decode() and
.encode() calls simply to avoid the dreaded UnicodeError s. These get
worse when the application or library is ported to Python 3 because then even
the workarounds aren't enough to prevent nasty failures in non-ASCII
environments (i.e. the non-English speaking world majority :).
Let's be honest though, the problem is not because these developers are crappy
coders! In fact, far from it, the folks I've talked with are really really
smart, experienced Pythonistas. The fundamental problem is Python 2's 8-bit
string type which doubles as a bytes type, and the terrible API of the
built-in Python 2 gettext module, which does its utmost to sabotage your
Python 2 i18n programs. I take considerable blame for the latter, since I
wrote the original version of that module. At the time, I really didn't
understand unicodes (this is probably also evident in the mess I made of the
email package). Oh, to really have access to Guido's time machine.
The good news is that we now know how to do i18n right, especially in a
bilingual Python 2/3 world, and the Python 3 gettext module fixes the most
egregious problems in the Python 2 version. Hopefully this article does some
measure of making up for my past sins.
Stop right here and go watch Ned Batchelder's talk from PyCon 2012 entitled
Pragmatic Unicode, or How Do I Stop the Pain? It's the single best
description of the background and effective use of Unicode in Python you'll
ever see. Ned does a brilliant job of …
Continue reading »
I know that the Mailman 3 project is not alone in procrastinating getting
out a release of its major rewrite. It's hard work to finish a rewrite on
your own copious spare time. I was just chatting with Thomas Waldmann of the
Moin project on IRC, and he lamented a similar story about the Moin 2
release. Then he said something that really made me sit up straight:
<ThomasWaldmann> 11.11.11 would be a great date for something :)
Yes, it would! We have the 2011 Google Summer of Code happening soon
(students, you have until April 8th to submit your applications) so many
free and open source software projects will get some great code coming soon.
And November is far enough out that we can plan exactly what a "release"
means. Here's what I propose:
Let's make November 11, 2011 the "Great FLOSS Release Day". If you're working
on an open source project undergoing a major new version rewrite, plan on
doing your release on 11.11.11. It can be a beta or final release, but get
off your butts and make it happen! There's nothing like a good deadline to
motivate me, so Mailman 3 will be there. Add a comment here if you want your
project to be part of the event!
In the early part of 2010, we started a contest for a new GNU Mailman logo.
Our old logo, donated by the Dragon de Monsyne had served us well for many
years, but it felt like we needed a refresh. Besides, we wanted a nice
scalable graphic that we could use in many more situations. So we solicited
entries and then conducted a poll. Today I am very pleased to announce the
By better than 2-to-1, this submission by Andrija Arsic was voted as best logo
by the Mailman community. Congratulations Andrija!
While we have yet to re-brand the website and software to include the new
logo, we'll start using it immediately. If you'd like to help with any
redesign, please contact us at email@example.com.
A little bit about Andrija: originally from Trstenik, Serbia and now studying
IT technology in Belgrade, Andrija is a self-employed, part-time graphic
designer, specialising in the fields of corporate identity (logo) design, web
design, print design and branding with the majority of his time spent
designing and implementing marketing promotions for businesses such as logos,
websites, letterhead, business cards, packaging and more. I'm glad that he
also contributes to free software, as I think his winning logo is spectacular.
My thanks and appreciation to all the artists who contributed logos to the
contest. All the designs are very nice, and in their own way, capture the
spirit of GNU Mailman.
So, I spent quite a bit of time this weekend making sure that Mailman 3 works
with LMTP delivery from Postfix. With some help from Patrick on the
mailman-developers list, I've gotten this working pretty well. I also took
the opportunity to play with virt-manager on Karmic. It was pretty darn easy
to create a virtual machine, load it up with Ubuntu 9.10 server and test
Mailman in a fairly pristine setting. The one gotcha that I ran into was
having to run virt-manager under sudo, otherwise it could not create the VM
files under /var/lib/libvert/images.
I'm going to release Mailman 3.0.0a4 today. It really took me much longer to
get this out than it should have. I removed the dependency on setuptools_bzr
because it really sucked having to build bzr just to install Mailman. The
whole reason for the setup dependency on setuptools_bzr was to allow me to be
lazy in creating the MANIFEST.in file. I bit the bullet and created that
file, but it took surprisingly many iterations to get it right.
On another front, after my bout with the flu and trip to Dallas, I'd been
pretty remiss in updating my two Gentoo servers. They were way behind on
patches, so I finally updated the public one, which was a royal pain in the
butt. Still, it was doable. The internal server is running EVMS which is no
longer supported by IBM or Gentoo. I think this will be the final straw that
forces me to install Ubuntu on that machine. I'm dreading moving all the
services and files off of it in preparation for that. It's going to be a time
consuming job. Fortunately, I have a spare box that I can bounce the services
to, and backups of …
Continue reading »