Experimental Virtual Machines

Written by Barry Warsaw in technology on Mon 07 June 2010. Tags: canonical, python, ubuntu,

I'm doing some work these days on trying to get Python 2.7 as the default Python in the next version of Ubuntu, Maverick Meerkat (10.10). This work will occasionally require me to break my machine by installing experimental packages. That's a good and useful thing because I want to test various potentially disruptive changes before I think about unleashing them on the world. This is where virtual machines really shine!

To be efficient, I need a really fast turnaround from known good state, to broken state, back to known good state. In the past, I've used VMware Fusion on my Mac to create a VM, then take a live snapshot of the disk before making my changes. It was really easy then to revert to the last known good snapshot, try something else and iterate.

But lately Fusion has sprouted a nasty habit of freezing the host OS, such that a hard reboot is necessary. This will inevitably cause havoc on the host, by losing settings, trashing mail, corrupting VMs, etc. VMware can't reproduce the problem but it happens every time to me, and it hurts, so I'm not doing that any more :).

Back to my Lucid host and libvirt/kvm and the sanctuary of FLOSS. It's really easy to create new VMs, and there are several ways of doing it, from virt-manager to vmbuilder to straight up kvm (thanks Colin for some recipes). The problem is that none of these are exactly fast to go from bare metal to working Maverick VM with all the known good extras I need (like openssh-server and bzr, plus my comfortable development environment).

I didn't find a really good fit for vmbuilder or the kvm commands, and I'm not smart enough to use the libvirt command line tools, but I think …

Continue reading »

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.

From Python package to Ubuntu package in 3-ish easy steps

Written by Barry Warsaw in technology on Mon 24 May 2010. Tags: canonical, ubuntu, debian, python, packaging,

My friend Tim is working on a very cool Bazaar-backed wiki project and he asked me to package it up for Ubuntu. I'm getting pretty good at packaging Python projects, but I always like the practice because each time it gets a little smoother. This one I managed to package in about 10 minutes so I thought I'd outline the very easy process.

First of all, you want to have a good setup.py, and if you like to cargo cult, you can start with this one. I highly recommend using Distribute instead of setuptools, and in fact the former is what Ubuntu gives you by default. I really like adding the distribute_setup.py which gives you nice features like being able to do python setup.py test and many other things. See lines 18 and 19 in the above referenced setup.py file.

The next thing you'll want is Andrew Straw's fine stdeb package, which you can get on Ubuntu with sudo apt-get install python-stdeb. This package is going to bootstrap your debian/ directory from your setup.py file. It's not perfectly suited to the task (yet, Andrew assures me :), but we can make it work!

These days, I host all of my packages in Bazaar on Launchpad, which is going to make some of the following steps really easy. If you use a different hosting site or a different version control system, you will have to build your Ubuntu package using more traditional means. That's okay, once you have your debian/ directory, it'll be fairly easy (but not as easy as described here). If you do use Bazaar, you'll just want to make sure you have the bzr-builddeb plugin. Just do sudo apt-get install bzr-builddeb on Ubuntu and you should get everything you need.

Okay, so now you …

Continue reading »

Gentoo No More

Written by Barry Warsaw in technology on Sun 23 May 2010. Tags: canonical, servers, ubuntu,

Today I finally swapped my last Gentoo server for an Ubuntu 10.04 LTS server. Gentoo has served me well over these many years, but with my emerge updates growing to several pages (meaning, I was waaaay behind on updates with almost no hope of catching up) it was long past time to switch. I'd moved my internal server over to Ubuntu during the Karmic cycle, but that was a much easier switch. This one was tougher because I had several interdependent externally facing services: web, mail, sftp, and Mailman.

The real trick to making this go smoothly was to set up a virtual machine in which to install, configure and progressively deploy the new services. My primary desktop machine is a honkin' big i7-920 quad-core Dell with 12GB of RAM, so it's perfectly suited for running lots of VMs. In fact, I have several Ubuntu, Debian and even Windows VMs that I use during my normal development of Ubuntu and Python. However, once I had the new server ready to go, I wanted to be able to quickly swap it into the real hardware. So I purchased a 160GB IDE drive (since the h/w it was going into was too old to support SATA, but still perfectly good for a simple Linux server!) and a USB drive enclosure. I dropped the new disk into the enclosure, mounted it on the Ubuntu desktop and created a virtual machine using the USB drive as its virtio storage.

It was then a pretty simple matter of installing Ubuntu 10.04 on this USB drive-backed VM, giving the VM an IP address on my local network, and installing all the services I wanted. I could even register the VM with Landscape to easily keep it up-to-date as I took my sweet time …

Continue reading »

I read this somewhere

Written by Barry Warsaw in historical on Mon 25 January 2010.

I read this somewhere:

When we opened the door to this wonderful place, we were stunned!
Literally.  Uncle Fledge had to be led in by the hand and seated in front
of the massive TV.  He'd never seen anything so big.  Grandma loved the
"hot" tub and even with her massive girth, it came up to her chin so she
could relax.  The little family of hamsters or weasels kept wanting to
join her, so that's what the broomstick is for (in case you're wondering).

Uncle Fledge is a skier but he loved the game room so much, he played for
36 hours straight until he got pokey finger.  Then Aunt Weebus dragged him
out to the slopes.  Good thing too because we were getting tired of White
Lion on the jukebox.  Uncle Fledge and Jimmie's favorite band, how did you

Martha was kind of obsessed with the telescope but Billy brought his
laptop and then it was family YouTube time.  The view is spectacular
though.  Grandma loved watching the bears ice skate on the lake.  Never
seen that before she said.  The twins wanted me to add that the bunk beds
are fun, and the triplets loved having their own rooms.  Mom and Dad
retired to the jacuzzi for 8 hours, and little Moby had to keep refreshing
their champagne.  We loved the Bears Den and will definitely be back.

- The Kimmels, the Conans, the Boxxees, the Fledge Jrs & Srs, Phil, Sarah,
  Monk, Billy, Jimmy, Sandy Candy & Mandy, Uncle F. Aunt W, Grandma, Tina,
  Mallory, Frank, Stu, Mack T, Mack F, Tug, Willy and "Beans".


Written by Barry Warsaw in technology on Wed 09 December 2009.

So I got my new Mac Book Pro, named it "hemispheres" as mentioned in my previous post. I'm very happy with this machine, and here are my early impressions.

The SSD is pure win. It's quiet, cool, and fast. The biggest immediate downside of course is the cost, but as a refurb, this option was made much more affordable. It'll be interesting to see how it performs over time as there are known issues with the long-term use of the technology.

My two biggest concerns were the screen and the keyboard. I absolutely love my previous generation MBP keyboard, as it's about the only laptop I can comfortably use for 8 hours a day. The unibody MBPs have a completely different keyboard, with a different feel, but I hadn't used one for a long hacking session so I was unsure how it would feel after a few hours under my hands. I'm very relieved to say that while it has a different feel, it's still incredibly comfortable to use. Apple seems to know what they're doing.

I have had a few problems hitting the right keys, most notably not quite getting the shift-2 chord right to produce an @ sign. The reach is a little bit longer it seems so I often end up just typing a "2", somehow missing the shift combination. I have a few other common typing errors, but for the most part I'm getting used to it.

The other big uncertainty was the antiglare screen. I absolutely love the matte screen on my old MBP and hate hate HATE the glossy screens that seem to come on most laptops today. Honestly, if the MBP didn't offer a matte screen as an option, I probably wouldn't have bought it. Of course, now it's a $50 upcharge, but I …

Continue reading »


Written by Barry Warsaw in music on Fri 04 December 2009.

The relationship between the bass player and the drummer is one of the most profound and important relationships in rock music. I've been incredibly fortunate in my musical life to have played with a number of drummers with whom I've had a deep and usually immediate musical connection. Almost all are still close personal friends. For me, playing with a good drummer is probably one of the most important reasons to stick with a band long term (it's a necessary but not sufficient condition).

I've been with the U-Liners now for quite a few years and I've enjoyed every minute playing with our drummer Larry. He's in the Army band, so clearly he's talented, but it goes deeper than that. His feel is impeccable, his timing is great, and he hears everything. What I really love about him (and many of my other favorite drummers) is that he's solid but knows when to go for it. It's the occasional waltzes on the edge that make for an exciting, emotional musical moment. It can't be too often, but it has to be there. An element of risk is involved, and I love more than anything else, those improvisational moments within musical structure of the song, because that's where the magic happens.

This week has been extraordinary too because I've played with three of my favorite drummers of all time. Larry of course (and we have a gig this coming Saturday night), but also two great drummers and long time friends. Last night the U-Liners played a show that Larry couldn't make, so my friend Torro sat in. Torro and I go way back (he was best man at my wedding) and is an amazing musician. And at a jam party last Saturday night, my friend Keith came up from Florida and …

Continue reading »


Written by Barry Warsaw in technology on Wed 02 December 2009.

I really need a new laptop. While I love my 3.5 year old Mac Book Pro, it's by now showing its age and the abuse I've given it. It runs Fusion to give me an Ubuntu desktop, but because the disk is almost full I have to run that from a USB drive, so it's slow. I know I can upgrade the disk, but the machine is a Core Duo only, so that probably wouldn't help much. I also have an old IBM Thinkpad X40 which has an excellent form factor, but a small screen, and the motherboard power jack has an annoying habit of screaming at a high pitch when plugged in, so it lives in its dock, making it heavier and much less portable. And this thing is really slow.

What to do? Well, I've been looking around and with Cyber Monday (do you hate that marketing term as much as I do?) I knew there'd be some great deals around. One of the best, which if you're reading this the same day I post it, is on Lenovo computers (formerly IBM), including steep 35% discounts on Thinkpads. I know, I should get one of those!

I looked at the x200s and the x301, the former being closest to the X40 form factor, but with a WXGA+ 1400x900 screen (yay!), no trackpad (boo), and no built-in webcam (boo). The latter has the same WXGA+ screen (yay), a trackpad (yay), a built-in webcam (yay) and default solid state drive (yay). It's still under 3lbs (yay) and only .5lbs heavier than the x200s in its stock configuration. But it's about $800 more before you start customizing it. Still the discounts really bring both computers into the realm of possibility, especially for a work computer that I'll be using constantly …

Continue reading »

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 »

House, Music, Hacking

Written by Barry Warsaw in music on Mon 10 August 2009.

Well, it's been a long time since I posted anything here, and a lot has happened. I won't bore you with all the details, but suffice to say it's been an interesting ride. The good news is we were able to move back into our house in August and life is good. We're not completely done, but we're getting back on track and moving on with our lives.

Max started middle school so I am officially a morning person now, and I've even caught the Facebook bug. We got a cat.

I want to expand this blog to cover things technical and personal, and I'm going to spend a little time every week posting something here. I was going to say "something interesting" but it probably won't be, so you're just wasting time reading this. :)

The email-sig is very interesting lately. Python comes with a package to parse, generate and manipulate email messages. It's actually very functional in Python 2 but mostly because we cheat. In Python 2 we can be lazy about what's a string and what's a byte and email exploits this profusely. I know this because the email package is severely damaged in Python 3, where the distinction between strings (unicodes) and bytes is explicit. The email-sig is tasked with maintaining and developing the email package and we're struggling with many tricky issues. And y'all thought email was simple because 99% of it is spam.

Python 2.6.3 was released last Friday, but it was broken and no one should use it. It's my fault as the release manager for wanting a shortened candidate cycle, but I'm still not convinced that a long cycle would have avoided the regressions. 2.6.3 broke the logging module and setuptools, so I released Python 2.6.4rc1 on …

Continue reading »