Canonical Voices

Barry Warsaw

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, 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 which gives you nice features like being able to do python test and many other things. See lines 18 and 19 in the above referenced 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 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. Just do sudo apt-get install bzr-builddeb on Ubuntu and you should get everything you need.

Okay, so now you have the requisite packages, and a, let's build us a deb and upload it to our personal package archive so everyone on Debian and Ubuntu can easily try it out.

First, let's create the debian directory. Here's the first little icky bit:

% python --command-packages=stdeb.command sdist_dsc

Notice that this leaves us with a deb_dist/ directory, not the debian/ directory we want. The latter is in there, just buried a bit. Let's dig it out:

% mv deb_dist/wikkid-0.1/debian .
% rm -rf deb_dist
% bzr add debian
% bzr commit -m'Debianize'

Note that "wikkid-0.1" will be replaced by the name of your package. In order to build the .deb package, you need an "orig.tar.gz" file. Packaging sort of assumes that you've got an original upstream tarball somewhere and you're just adding the necessary Debian goo to package the thing. In this case, we don't have an upstream tarball, although we could easily create one, and upload it to the Cheeseshop or Launchpad or wherever. However, that just slows us down so let's skip that for now! (Aside: if you do have an upstream tarball somewhere, you'll want to add a debian/watch which points to it; that'll eliminate the need to do the next step, by downloading the tarball instead).

Let's create the tarball right now and copy it to where the following step will expect it:

% python sdist
% mv dist/Wikkid-0.1.tar.gz ../wikkid_0.1.orig.tar.gz

Here's the second icky bit. Building a Debian source package imposes a very specific naming convention on the tarball. Wikkid's happens to build a tarball with an incompatible name, while the sdist command leaves it in a place where the next step can't find it. The rename just gets everything into the proper place. YMMV.

Now we can build the Debian source package. It's the source package that we'll upload to our Launchpad PPA. Launchpad will then automatically (if we've done everything right) build the binary package from the uploaded source package, from which Ubuntu and Debian users can easily install.

Oops! Before we do this, please edit your debian/changelog file and change unstable to lucid. You should also change the version number by adding a ~ppa1 to the end of it. Yeah, more ickiness.

Alright now we're ready to build our source package:

% bzr bd -S

Now let's upload it (assuming you've enabled a PPA):

% cd ..
% dput ppa:barry/python wikkid_0.1-1~ppa1_source.changes

That's it! If you've done everything successfully, you'll have the package in your PPA in 5 minutes or so. Then anybody who's added your PPA can just apt-get install wikkid (or whatever your package is called).

I do hope to work with the appropriate developers to make some of the ickiness go away. Please do contact me if you want to help!

Addendum (2010-06-10)

Let's say you publish your tarball on the Cheeseshop or Launchpad, and you don't want to have to build a different tarball locally in order to package it. Here's what I think works:

Create a debian/watch file that points to the download location you publish to. If your package is not yet available in Debian or Ubuntu, then use this command to build your source package:

bzr bd -S -- -sa

The bit at the end tells the Debian packaging primitives to include your tarball when your source package is uploaded. The debian/watch file is used to download your published tarball and automatically renamed to the required .orig.tar.gz name. When you dput your package, your tarball will be uploaded too, and everything should build properly.

Oh, and don't forget to look carefully at the lintian output. Try to make this as clean as possible. The Debian and Ubuntu packaging guides can help here.

Addendum 2 (2010-06-10)

Andrew Straw has added a debianize command to his stdeb package, which makes things much nicer. With this you can create the debian/ directory right next to your AFAIK, this version of stdeb isn't released yet, so you need to install his git head in a virtualenv, and it has a few minor buglets, but it does seem like the best-of-breed solution. I'll post another article with a more detailed follow up later.

Read more
Barry Warsaw

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 I've figured out a hack using virt-manager that will work well enough.

1. Create a disk for the baseline VM (named 'scars' in my case :) manually
% qemu-img create -f qcow2 scars.qcow2 20G

2. Create the baseline VM using virt-manager
* I use dhcp internally, so I give this thing a mac address, assign it 1GB
of RAM and 1 processor.
* For storage, I tell it to use the scars.qcow2 file I created above
* Boot from the maverick ISO of your choice, install everything you want,
and get your development environment in place
* Shut this machine down

3. Clone your baseline VM
* In the virt-manager Manager window, right click on your baseline VM and
select Clone
* You will not be given an opportunity to select a disk or a mac address,
so for now just go with the defaults.
* Do not start your clone

4. Create an 'overlay' disk that is a backed by your baseline disk.
% qemu-img create -f qcow2 -b scars.qcow2 scars.ovl

5. Edit your clone
* Delete the disk given to your clone by default
* Create a new virtio storage that points to scars.ovl
* Delete the nic given to your clone by default
* Create a new virtio network device with the mac address of your
baseline. You'll get a warning about a mac address collision, but this
can be ignored (see below).

6. Boot your clone

At this point you'll have a baseline which is your known good system, and a clone/overlay which you can break to your heart's content. When it's time to iterate back to a known good state, shut down your clone, delete the overlay disk, and create a new one from the baseline qcow2 disk. This is pretty fast, and your turn around time is not much more than the time it takes to shutdown one machine and boot another. It actually feels a lot faster by the wall clock than Fusion ever was to snapshot and restore.

One downside is that you cannot run both VMs at the same time. I think mostly this is because of the MAC address collision, but also because creating the overlay requires that both machines be powered off.

The other downside seems to be that if you want to update your known good baseline, say by installing more packages or apt-get update/upgrade, you will have to recreate your overlay disk for your next experiment. Changes to the underlying disk do not seem to propagate to the overlay automatically. Maybe that's intentional; I can't find much documentation on it. (Note too that the manpage for qemu-img does not describe the -b option.)

I guess the last downside is that I spent way too much time trying to figure all this out. The Googles were not a lot of help but did give me the qemu-img clue. But at least now you don't have to! :)

Read more
Barry Warsaw

Barry Warsaw

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. The 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 know?

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 iceskate 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".

Read more
Barry Warsaw

We have a winner!

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!

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

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.

Read more
Barry Warsaw

Gentoo No More

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 doing the conversion. There were a few tricking things to keep in mind:

  • I use a port forwarding border router to forward packets from my static external IP address to the appropriate server on my internal network. As I prepared to move each service, I first shut the service off on the old server, twiddled the port forwarding to point to a bogus IP, then tested the new service internally before pointing the real port forward to the new service. This way for example, I had reasonably good confidence that my SMTP server was configured properly before loosing the fire hose of the intarwebs on it.
  • I host several domains on my server so of course my Apache uses NameVirtualHosts. The big downside here is that the physical IP address is used, so I had to edit all the configs over to the temporary IP address of the VM, then back again to the original IP of the server, once the switch was completed.
  • My old server used a fairly straightforward iptables configuration, but in Ubuntu, UFW seems to be the norm. Again, I use IP addresses in the configuration, so these had to be changed twice during the migration.
  • /etc/hosts and /etc/hostname both had to be tweaked after the move since while living in a VM, the host was called something different than when in its final destination. Landscape also had to be reconfigured (see landscape-config(8)).
You get the picture. All in all, just tedious if not very difficult. One oddness was that when the machine was a Gentoo box, the ethernet port was eth0 but after the conversion to Ubuntu, it became eth1. Once I figured that out, it was easy to fix networking. There were a few other little things like updates to my internal DNS, pointing my backup server to the new locations of the web and Mailman data on the new server (Ubuntu is more FHS-compliant than my ancient Gentoo layout), and I'm sure a few other little things I forgot to take notes on.

Still, the big lesson here was that by bouncing the services to a USB-drive backed VM, I was able to fairly easy drop the new disk into the old server for a quick and seamless migration to an entirely new operating system.

Read more
Barry Warsaw


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 think it's worth it. The antiglare screen has a different color temperature than the old MBP matte screen. It seems colder and I don't think there's any way to adjust it (well, maybe color calibration but my first and only attempt at that didn't do much). The screen also seems a bit more "washed out" than my old MBP, but it's also brighter because of the backlit-LED. I'm not fond of the dimming in the dark and brightening in the light (it seems backward to me), so I'm kind of riding the F1 and F2 keys, but after several days of use, I am getting used to it.

The machine does seem to have a very long battery life. For hacking in front of Sunday football, I'd estimate it's about a 5 hour run, and the battery indicator seems pretty accurate after its calibration. That's with the high performance graphics card, btw (there are two in this machine).

I'm getting used to the different arrangement of ports and media slots, and the sleep light seems much less obnoxious. I do wish the machine had come with an eSATA port, as I think FireWire at least for storage is becoming increasingly uncommon and/or expensive.

Snow Leopard (OS X 10.6) seems pretty cool, although honestly I don't notice much of a difference. There are still some kinks though, as my cursor freeze up occasionally. I'm sure Apple will fix this in subsequent patches. They did seem to fix a few bugs I'd reported, but sadly not everything. And they broke GPGmail so currently I have no encryption in (a release for 4 is reportedly forthcoming).

I wanted this machine to run Ubuntu as well, so that I'd only have to take one laptop with me to conferences and such. I struggled with the best way to install Ubuntu: should I dual boot, use a virtual machine, or both? A colleague of mine had done the "both" route with VMware and bootcamp and I had enough disk space to consider this, but decided to see how the VMware-only approach worked first. The main problems are that Xorg configuration and MAC-address (and thus DHCP assigned IP addresses) would be problematic in a "both" environment.

Fortunately, Karmic Koala in a VMware 3 machine works absolutely great. It's very fast, looks and feels great, and doesn't tax the machine much that I can tell. The biggest problems are the lack of OpenGL/compiz for windowing, and a weird problem where Gnome-Do's summon chord of control-command-space has to be hit twice in order for it to work. I don't know if this is a VMware thing (since it works fine on my native Karmic desktop) or because I need to install vmware-tools. My last experience with vmware-tools was far from satisfying so I've mostly ignored it. I may try it to see if it clears up this problem though.

I should mention that I have an older version of Parallels, but ditched it because of some things that bug me about it, such as screen resolution during boot up, and more. Parallels 5 reportedly supports OpenGL/compiz for guests, so I grabbed a try-and-buy and went through the installation of Karmic in it, but was never able to enable desktop effects, so ditched it again.

In any event, I'm not going to try to set up a dual-boot until and unless I have to.

I did have one big gotcha as I was getting the new MBP set up. Apple has a very nice migration assistant that helps you move your stuff (including applications, settings, home directory, etc.) from your old machine to your new machine. The first time I tried it was massive fail. First, I did a wireless-to-wireless transfer and it never warned me that it was going to take 12+ hours to migrate, and once it started it was impossible to interrupt. Second, 12 hours later when I tried to log into the new machine, I was completely prevented from doing so. I actually could log in, but OS X was throwing up a cryptic error saying it couldn't open my FileVault. My home drive on my old MBP is encrypted and of course I wanted the same on my new machine. I figured since Migration Assistant happy proceeded it would Do The Right Thing. Yeah, not so much.

After being on the phone with Apple support for a few hours, I was finally told that this was not a supported migration option. Thank you Migration Assistant for the warning. Not. The solution was to re-install the OS on the new machine (since I could in no way log in now), turn FileVault off on the old machine, effect the transfer, and then re-enable FV on both machines. The problem with this is that you need enough disk space on the old machine to turn FV off, and this I did not have. It took quite some effort to free up the 31GB of space on my old machine (1/3 of the total hard drive size), but by temporarily moving stuff off to a NAS, I finally managed it.

This time, I did an ethernet-to-ethernet migration and it took way less than 12 hours. Of course it was transferring a lot less data, but still, it only took an hour or so maybe. I guess that's the advantage of gigabit ethernet over 802.11G :).

Read more
Barry Warsaw


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 too 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 we got to play together for a while. Keith was actually the first drummer that I played with where I experienced that immediate mind meld, back when I was 16 or 17. We knew from the first song that we had Something, and now even 30 years later, it's still there.

Larry and I have been doing something very cool and fun for a while now that I don't think anybody (maybe not even our fellow band members) know is going on, but it cracks the hell out of us! At the end of songs, there's usually a little closing fill, kind of a ba-dump roll that ends thing. Larry and I have this little game going on where we hit those little closing rolls dead on. I honestly don't know how we do it, nor do I really want to know! We're not 100% together, but it's better than 9-out-of-10, and the rest are pretty darn close. It's not because that closing is the same every time; in fact, he sometimes challenges me by throwing in subtle differences, or delaying the hit, or adding a little extra flourish. The key to me seems to be to all mindfulness. I don't think. I just open my ears and my eyes and let my fingers do the right thing. If you see us laughing at the end of a song, it's because we've hit a particularly good one.

The wild thing about this is that even with the hour or so I played with Keith and Torro this week, I've managed the same connection with them. Keith and I played one song that was almost all improv, and it was one of those chord progressions where it always comes back around to the head, so you're never quite sure how you're going to get out of it. Then, out of nowhere, there it was, a clean ending where we Just Knew it was ending, Keith and I hitting the last notes perfectly in unison, perfectly unplanned, but as tight as if we'd played together every day for those 30 years. We looked up afterward and just had to laugh! Torro and I had several such moments at last nights gig.

It's moments like these that make me so thankful to be a bass player bless with good drummers, and really just great musicians in my life. It's what makes being the bass half of this whole thing such an ongoing joy.


It looks like my new Mac laptop will be delivered today, so it's time to name it. My naming theme has always been Rush references, with a preference going toward one word song and album titles. This laptop is going to dual-boot Mac OS X and Ubuntu, so it seems appropriate to call it "hemispheres" although I've yet to figure out which one is Apollo and which one is Dionysus. Maybe I should call the machine Cygnus instead...

Hemispheres was also the first Rush album I heard, and I've been a rabid fan ever since.

Read more
Barry Warsaw


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.

I came this close to pulling the trigger, but ultimately decided not to. Why? Because the Thinkpads just don't feel right under my hands. I use a Microsoft Natural Keyboard on my desktop because I can type for hours with no pain. It's about the only Microsoft product that I can highly recommend . I think it's literally saved my career. There's no straight keyboard in the world that I can use for more than 5 minutes without feeling pain... except the keyboard on my Mac Book Pro. For some reason, that keyboard is also very comfortable and pain free.

What's not comfortable and pain free is the keyboard on my X40. So before I pulled the trigger on the Lenovo, I sat down and used the X40 for my most common tasks: reading email and coding. Within about 5 minutes I remembered why I've given this machine to Max (my son, who is about as anti-Windows as I am, and loves his little Ubuntu machine). The thing just hurts to use. I'm certainly not going to spend over $1000 on a machine that hurts, even if the discounts are insanely good.

I've decided instead to save my pennies and get a new Mac Book Pro some time in the next 3 months or so. The design of the 15" MBP has changed pretty significantly since I bought mine in summer of 2006. They use an aluminum unibody now, a default glossy screen, and most importantly a completely different keyboard. I honestly don't know if it will have the same comfortable feel as my current MBP. (TBH, I don't know that the Thinkpad x200s will have the same painful feel as my x40, but I think it's a good bet. Their designs haven't changed that much since then.) The little I've played on a new MBP is encouraging though.

And one thing's for sure, the Mac hardware is just better. The aluminum bodies are solid and sturdy, and I think few laptops could have put up with the abuse I've given mine. I know my old little Dell (now donated as an Ubuntu machine to a friend) failed me after about a year. Yes, you pay for it upfront, but they are reliable workhorses, so IMO well worth the money. Coming up with the money is a different matter.

Of course, Apple won't actually build the machine I want: a Mac Book Air with a 1400x900 matte screen. But the MBP, even with it's heavier weight, will have to do.

In any case, I know that the Thinkpad isn't right for me, so for now, I will choose not to decide.

Read more
Barry Warsaw

Mailman and LMTP

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 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 all the files. I'm probably going to postpone that until the long holiday break.

Read more
Barry Warsaw

House, Music, Hacking

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 Tuesday. 2.6.4 will have a nice long candidate release and a very conservative commit policy. We'll just fix the regressions in 2.6.3 and hopefully have a solid 2.6.4 on October 18.

On a personal note, I've been taking vocal lessons from Dede Wyland for about 6 weeks. She taught Joe Uehlein (from the U-Liners) and she's fantastic. I never really understood harmony theory, but her explanations were fantastic. Tenor tends to sing a chord tone above the melody and baritone tends to sing a chord tone below the melody. So if the chord is G major and the melody is singing a B (the major 3rd), the tenor will sing a D (the 5th) and the baritone will sing a G (the root). I was pleasantly surprised that I didn't totally suck when we sang together! I'm really enjoying stepping up to the mic more often.

Read more
Barry Warsaw


Okay, we have roof and insulation estimates. There are basically three options. The most expensive involves using this foam insulation between the attic rafters. This would give us essentially a conditioned attic which would be usable in for living space in the future. Given the price, and what we're going to use the attic for this seems overkill.

The second option involves insulating between the joists in the second floor ceiling but there are problems with this approach because batt insulation to code won't fit in the old shorter joists. So this option will include building up the joists to accept the R38 insulation.

The final (and cheapest) option seems best to me. This involves using 12" rafters in the new roof so that it can accept the 10.5" R38 batt insulation. We're going to go this route and it'll cost us approximately $6500. I have to hand it to the builder for really working with us to make this as palatable as possible. It's definitely not something I expected to spend money on and it's definitely a painful hit, but in the long run I think it will work out by giving us much better insulation and usable attic space. I also think it will be easier for the builder.

Now we just need plans for the roof, and the county will probably have to approve it. (I wonder how much that's going to cost?!)

Read more
Barry Warsaw

Insulate? Holy Moly!

We got quotes on the roof insulation. Wow, it is not cheap and it makes the whole roof proposition an even harder hit. It's going to add $2000-$3000 onto the total cost of the roof. Tom will work up specific estimates and we'll go over these at our next production meeting.

Nothing is happening at the house.

Read more
Barry Warsaw


Not much is happening, as we're waiting to decide about the roof. We need to get insulation numbers. Tom really thinks rebuilding the roof is the best thing. I tend to agree, but we need to make it fit the budget.

We told Tom about the placement of the kiln, which we want to put in the unconditioned space. This shouldn't be a problem, but we're still waiting to see the electrical bid.

Read more
Barry Warsaw

A new roof?

The builder is recommending that we rip off the old roof entirely and rebuild it from scratch. The cost came in at $4700 but that does not include insulation (or the 20% change order markup), so we'll need a complete price in order to decide if we should do it. This is a big hit to the budget, but it seems like it's really going to be the best option. We'll need architectural and structural plans for the new roof, which basically must look like the original roof in front (hip with dormer) and like the plans in the back (hip joint to match the front).

We looked at the shingle colors - I think Jane would love to go dark dark, but that's not nearly as energy efficient as a lighter color. I think we'll end up compromising on something like Forest Gray which is just a shade or two lighter. Wouldn't it be great if we could just layer solar panels over the entire roof? Maybe in Max's first house.

We met the stucco contractor today, who dropped off some samples and a color palette. Seemed like a nice guy and he offered to take us around to some of his jobs to see his work. I'm sure Jane will take him up on that. Sounds like he can basically match any paint color in the stucco; we also need to pick a finish. Jane's leaning toward the coarse grain for the majority of the house, with a fine finish for the trim. The really coarse finish just didn't do it for us.

The cabinets are killing us! We did a plan at HD for some fairly standard KM cabinets. I'm not very psyched about them, and it's really difficult to get cabinets that don't look like they belong in an apartment. The thing that sucks the most about the KMs is that they really don't give you the options you want. For example, we'd like to get the Shaker Rail doors in a dark color, but you can't do that. Not to mention that we're still at about $9000 for the quote, and even with the HD discount, we're still going to be a thousand or so over our allowance. We'll see about ditching the glass fronts, but that brings the discount down along with the price.

Really, we want to do something different but that seems impossible on our budget. Still looking.

Read more
Barry Warsaw

Little things

Lots of little things today, but not too much progress. Tom came up with a great, simple idea for the stair posts, involving bearing the load on the existing steel beam in the basement, then pull that load across to the outer wall. This means we won't need to break up the concrete and pour another footing, with the sleeve around the waste pipe.

We don't want to overbuild the existing roof, nor do we really want huge trusses because both options will severely limit the amount of usable space in the attic. We need to get options and costs on our alternatives.

Jane is still thinking about the RTA cabinets. Everyone's saying "Don't do it!" because of the amount of work involved and the low margin of error. Still, to get close to the cabinet allowances, we may have to do it this way. No decision on the cabinets are made yet.

The bay window will be insulated after the close-in inspection, so there's plenty of time for that.

Tom will get Jane square footage for tile, so that she can start looking into that.

We're still waiting on the electrical proposals.

We'll need to pick the shingle colors this week. This is especially important because we need to match it to the stucco color, which we also have to start thinking about.

Read more
Barry Warsaw


We got some cost estimates on the two alternatives we talked about previously. As suspected, both the additional insulation in the exterior walls, and the beadboard in the porch are too expensive so we'll pass on those.

The porch, with a wood flooring, is framed up to the headers. We're still waiting for structural on the bathroom and roof, and we're still waiting for the partial lien wavers.

Read more
Barry Warsaw

What's goin' on

The porch deck is being built now and the basement plumbing is done.

We've talked more about the structural options for keeping the existing bathroom. One option is to bring a footer down through the corner of the new basement bathroom. The unfortunate thing is that this drops right onto the waste pipe, with a sleeve to protect against any future settling. This would entail tearing out more of the original cast iron.

We also learned that the basement slab falls 2" from front-to-back but nothing significant side-to-side, so this will probably be easy to level out in the new slab.

There's a conflict in the roof drawings. We noticed that the architectural drawings say to tear the back roof off, while structural says to build over the existing roof. We'll have to think about options for resolving this and work out some numbers.

One time sensitive decision coming up is the rough-in kits for the showers, and we'll need to research the water heater a bit. We're also waiting on structural for the stair support options. In the meantime, the porch will be framed out.

I had a thought about some extra porch steps leading down from the small corner jog to the Louis side. Steve said he'd think about this, but I get the sense he's not crazy about the idea. I don't think Jane is either, so I'll probably be convinced to drop it. :) Jane is also thinking about doing beadboard between the porch roof beams and the ceiling, but again, it probably won't be cost effective to do.

Read more
Barry Warsaw


Today's production meeting needs to be rescheduled due to the snow, but we did get the window list in an email and will review that.

Read more
Barry Warsaw

Return from vacation

We were on vacation for a few days, doing some much needed detox on the ski slopes.

On our return, we saw that the whole addition is framed out, but not yet under roof. The brick exterior on the back of the old house has been demoed but not yet cleared. There's some kind of weird contraption on the roof. I wonder what that's all about?!

There's not much other activity at the house, probably due to the snow.

Read more
Barry Warsaw

More considerations

We thought about a couple of extras today:

Since the front wall where the bay window is was torn out, we noticed that the existing house is basically uninsulated. One of the things we're considering is tearing out the few outside walls we aren't touching, insulating, and re-drywalling them. It's tricky though because we've got some weird 1930's pre-drywall covering on the studs. There's only a few walls we're talking about, but it's still probably more work than we want to pay for. We've asked for an estimate and will get it from the builder soon.

There's another issue with the existing bathroom that we're not touching. There's a question about how the support for the new stairs is going to tie into the perimeter wall. This beam runs under the existing bathroom, but the plumbing is essentially in the way. We've asked for an estimate to tear the bathroom out and rebuild it, but it will probably be cost prohibitive. We're looking into other options, and are consulting the structural engineer to see if we can just drop a post down into the basement.

I also walked the site with one of the electricians, looking at what we want (especially with some kind of X10 setup, the network cabling and the additional outlets in the office and computer closet. We'll review his bid when it comes in and probably get a second bid as well.

Good news! The plumber's come in and verified that we will not need an ejector pump. I'm really glad we won't have to worry about that gross little addition.

The framing out of the ground floor is continuing apace.

Read more