Posts Tagged With 'mailman'

Time Stand Still

Written by Barry Warsaw in meditations on Tue 21 November 2017. Tags: mailman, change,
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 python-list@python.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 »


The right way to internationalize your Python app

Written by Barry Warsaw in technology on Fri 22 June 2012. Tags: i18n, mailman, python, python3, ubuntu,

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 »


Release that rewrite on 11.11.11

Written by Barry Warsaw in technology on Mon 04 April 2011. Tags: floss, mailman, opensource, python,

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!


We have a winner!

Written by Barry Warsaw in technology on Wed 26 May 2010. Tags: mailman,

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 winner!

Mailman logo

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 mailman-developers@python.org.

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.


Mailman and LMTP

Written by Barry Warsaw in technology on Sun 29 November 2009. Tags: 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 »