February 2008, Canonical's office in Lexington, MA |
1. update-motd / motd.ubuntu.com (September 2008)
Throughout the history of UNIX, the "message of the day" was always manually edited and updated by the local system administrator. Until Ubuntu's message-of-the-day. In fact, I received an email from Dennis Ritchie and Jon "maddog" Hall, confirming this, in April 2010. This started as a feature request for the Landscape team, but has turned out to be tremendously useful and informative to all Ubuntu users. Just last year, we launched motd.ubuntu.com, which provides even more dynamic information about important security vulnerabilities and general news from the Ubuntu ecosystem. Mathias Gug help me with the design and publication.
2. manpages.ubuntu.com (September 2008)
This was the first public open source project I worked on, in my spare time at Canonical. I had a local copy of the Ubuntu archive and I was thinking about what sorts of automated jobs I could run on it. So I wrote some scripts that extracted the manpages out of each one, formatted them as HTML, and published into a structured set of web directories. 10 years later, it's still up and running, serving thousands of hits per day. In fact, this was one of the ways we were able to shrink the Ubuntu minimal image, but removing the manpages, since they're readable online. Colin Watson and Kees Cook helped me with the initial implementation, and Matthew Nuzum helped with the CSS and Ubuntu theme in the HTML.
3. Byobu (December 2008)
4. eCryptfs / Ubuntu Encrypted Home Directories (October 2009)
I was familiar with eCryptfs from its inception in 2005, in the IBM Linux Technology Center's Security Team, sitting next to Michael Halcrow who was the original author. When I moved to Canonical, I helped Michael maintain the userspace portion of eCryptfs (ecryptfs-utils) and I shepherded into Ubuntu. eCryptfs was super powerful, with hundreds of options and supported configurations, but all of that proved far to difficult for users at large. So I set out to simplify it drastically, with an opinionated set of basic defaults. I started with a simple command to mount a "Private" directory inside of your home directory, where you could stash your secrets. A few months later, on a long flight to Paris, I managed to hack a new PAM module, pam_ecryptfs.c, that actually encrypted your entire home directory! This was pretty revolutionary at the time -- predating Apple's FileVault or Microsoft's Bitlocker, even. Today, tens of millions of Ubuntu users have used eCryptfs to secure their personal data. I worked closely with Tyler Hicks, Kees Cook, Jamie Strandboge, Michael Halcrow, Colin Watson, and Martin Pitt on this project over the years.
5. ssh-import-id (March 2010)
With the explosion of virtual machines and cloud instances in 2009 / 2010, I found myself constantly copying public SSH keys around. Moreover, given Canonical's globally distributed nature, I also regularly found myself asking someone for their public SSH keys, so that I could give them access to an instance, perhaps for some pair programming or assistance debugging. As it turns out, everyone I worked with, had a Launchpad.net account, and had their public SSH keys available there. So I created (at first) a simple shell script to securely fetch and install those keys. Scott Moser helped clean up that earliest implementation. Eventually, I met Casey Marshall, who helped rewrite it entirely in Python. Moreover, we contacted the maintainers of Github, and asked them to expose user public SSH keys by the API -- which they did! Now, ssh-import-id is integrated directly into Ubuntu's new subiquity installer and used by many other tools, such as cloud-init and MAAS.
6. Orchestra / MAAS (August 2011)
7. pollinate / pollen / entropy.ubuntu.com (February 2014)
8. The Orange Box (May 2014)
9. Hollywood (December 2014)
10. petname / golang-petname / python-petname (January 2015)
From "warty warthog" to "bionic beaver", we've always had a focus on fun, and user experience here in Ubuntu. How hard is it to talk to your colleague about your Amazon EC2 instance, "i-83ab39f93e"? Or your container "adfxkenw"? We set out to make something a little more user-friendly with our "petnames". Petnames are randomly generated "adjective-animal" names, which are easy to pronounce, spell, and remember. I curated and created libraries that are easily usable in Shell, Golang, and Python. With the help of colleagues like Stephane Graber and Andres Rodriguez, we now use these in many places in the Ubuntu ecosystem, such as LXD and MAAS.If you've read this post, thank you for indulging me in a nostalgic little trip down memory lane! I've had an amazing time designing, implementing, creating, and innovating with some of the most amazing people in the entire technology industry. And here's to a productive, fun future!
Cheers,
No comments:
Post a Comment
Please do not use blog comments for support requests! Blog comments do not scale well to this effect.
Instead, please use Launchpad for Bugs and StackExchange for Questions.
* bugs.launchpad.net
* stackexchange.com
Thanks,
:-Dustin