I, ClintByrum, apply for core-dev.
Who I am
I have been a systems administrator and/or software engineer continuously for the past 14 years. Before that, I earned extra cash as a middle-school student and high school student by helping my mom with her job, as an HP/3000 Operator and Novell LAN Admin. More recently, I was employed for a number of years as a systems administrator and web developer for several high load, low visibility web properties, namely Anonymizer.com, and Adicio.com, both effectively SaaS providers.
I've been involved with Free Software for many years, having authored a few small programs such as Pipemeter, and contributed bug reports to Debian, MySQL, and the Linux Kernel among many others. Most recently I've been directly involved with developing and testing Drizzle, a lightweight fork of MySQL, and gearman-job-server, a C rewrite of the perl Daemon.
I am currently employed by Canonical as a "WebOps Developer" on the Canonical Server Team. Since my start in May 2010 I've been involved heavily with improving Ubuntu's support for accepted best practices in the "Web 2.0" sphere of concern.
Who knows for sure, but hopefully an Ubuntu developer and well liked Bon Vivant.
My Ubuntu story
I ran Debian exclusively for many years, starting in 2000. I actually became quite frustrated with the Debian release process in 2004, around the same time that the Ubuntu project was forming. Still, I kept running Debian as my primary working desktop OS until this past May, when I was hired by Canonical. While I always knew that Ubuntu was out there, I had installed Debian on a single desktop machine and actually kept that single install running (on testing) and up to date for 6 years, and through several motherboard, graphics card, and even disk upgrades.
Examples of my work / Things I'm proud of
Since UDS-M I've been an employee of Canonical on the Server Team, and have made significant contributions to the server related packages. This includes:
A bug was introduced during the shift to upstart for booting that caused NFS mounts to fail if mounting /var was too slow, causing sm-notify to fail.
The fix involves changes to the portmap and statd startup to cause it to wait until local filesystems are mounted writable and to cause NFS mounting to wait until statd is started.
Shutdown bug fixes
libc6 upgrades must be accompanied with restarting any daemons that load libc as a shared library. Upstart's init process, however, isn't restartable because a patch was lost somewhere between hardy and lucid. This bug fixes it both by patching libc6 to not restart upstart on upgrade (because upstart will lose all of its state) and by restoring the upstart restart code so that it will let go of the libc6 libraries just before the root filesystem is remounted read-only during shutdown.
MySQL Bug Fixes
MySQL's upstart job would send a SIGKILL to mysqld after only waiting 5 seconds for it to stop. Since mysqld needs to flush buffers, sometimes taking a minute or more to shut down, this would cause the mysql database to be corrupted. The solution was to raise the kill timeout to 300 seconds, providing a balance between delaying the shutdown and potentially corrupting the database during a simple restart of mysqld.
For users that needed to utilize a PIC compiled embedded libmysqld, the mysql_config binary was inaccurate, providing no way to get the appropriate CFLAGS. This bug fix provided a solution for those users by adding a new mysql_config_pic binary.
PHP Bug Fixes
https://launchpad.net/bugs/564920 - PHP5 under Apache2 on 64 bit system is not completely 64 bit
This was a simple fix involving applying a patch from upstream and verifying the test cases.
OpenSSH bug fixes
Because of the way sshd handles SIGHUP, Upstart would lose track of sshd after a 'reload ssh'. After reviewing the code to make sure the code path change wouldn't cause any unintended effects, I submitted this bug fix which was merged and uploaded by Colin Watson.
Memcached is an industry standard for building scalable web apps. I wrote up a MIR report for it here:
Created a patch to add automatic munin support to the upstream provided monitoring script in Eucalyptus. This was done so munin-node could be recommended in the various eucalyptus packages for automatic monitoring support.
The changelog entries can be seen here:
CEPH is a distributed filesystem that takes advantage of some of BTRFS's advantages. It was added to Ubuntu as a technical preview using mostly upstream packages, though I contributed a license review and some tweaks to help it fit in. I have been contributing to the Debian ITP also on an ongoing basis:
Debian CEPH ITP: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=506040
Ask Ubuntu Involvement
I have answered numerous Server and general Ubuntu related questions on Ask Ubuntu, as can be seen here on my profile page:
ServerTeam/Specs/Natty/UpstartServerEnhancements packageselection-server-n-upstart-server-enhancement - with Upstart being the init daemon for 10.04, which is going to be supported for quite some time, I felt it was not receiving the amount of documentation and support that would be necessary as larger organizations migrate to 10.04. This spec is about allocating my time to work on changing that, and has thus far been quite beneficial I think.
MaverickCloudStorageSpec server-maverick-cloud-datastores - This was one of the first things I worked on in Ubuntu. It mostly involved testing and refining some of the newer "scale out" storage methods available in the cloud. It gave birth to the Cassandra Ubuntu PPA, which I maintain to help Ubuntu users run Cassandra.
MaverickWeb20WorkloadsSpec server-maverick-uds-web20-workloads - This spec involved bringing my knowledge of the current state of the "web 2.0" world into Ubuntu. In addition to adding memcached to main, we also gained python-gearman.libgearman packaging, and shipped a very new version of varnish in Maverick.
I have also worked to improve Ubuntu through contributions to Debian as well
I have been involved with gearman for some time now, and the python C library provides significant performance advantages over the pure python packages. I am currently the maintainer for this package. This package also is intended to create interfaces for LUA and Ruby, which I intend to add as time permits.
I wrote pipemeter quite some time ago, but never got it included in Debian. It was recently uploaded to Debian, and has since been synced into Ubuntu. I also moved it onto launchpad recently.
Areas of work
I have been actively triaging and fixing server bugs every Friday since joining Canonical in May of 2010, and I intend to continue this work. I also participate in Ubuntu Bug Days whenever time permits, and I intend to triage Upstart bugs whenever possible.
Server boot and shutdown
I have taken up the position of server related upstart work starting just before the 11.04 development cycle began. Of particular interest to me is providing reliable shutdown to server users, which is an ongoing effort.
I wrote a tool called Debigem to generate Debian source packages from a RubyGem. This tool has been superceded now, but I intend to continue working with the debian pkg-ruby-extras team to maintain ruby tools in Debian where possible.
I am a member of the Debian Python Modules Team, and while I've only done a tiny bit of work I do like to assist members of the server team with python packaging and help to answer python questions whenever possible.
I have extensive professional experience with PHP and so intend to continue helping to maintain PHP and PHP based programs in Ubuntu and Debian.
Things I could do better
There are a few examples of things I could do better, but it mostly boils down to one issue, which is that I tend to miss small details from time to time.
Plans for the future
I intend to help integrate the new features being added to upstart, and continue to help test and improve the reliability of shutdown and boot. I'd also like to continue to address bug triage aggressively, as I see it an essential component to growing both the user base and the development community of Ubuntu.
What I like least in Ubuntu
* Aggressive LTS releases - It seems to me that while Lucid was heavily tested, the changes included were still a bit too aggressive for server admins upgrading from hardy. * Clarity of Dev Membership Process - While there are numerous guidelines on the Dev Membership Page, its not clear what objectives are absolutely required to apply for developer membership.
If you'd like to comment, but are not the applicant or a sponsor, do it here. Don't forget to sign with @SIG@.
As a sponsor, just copy the template below, fill it out and add it to this section.
I've sponsored and reviewed a number of Clint's packages, and I'm quite happy with his technical expertise, packaging knowledge, and enthusiasm for Ubuntu. I think Clint is very much ready for upload rights and a real asset to the Ubuntu Server Community.
Specific Experiences of working together
I've worked extensively with Clint within the purvey of the Ubuntu Server Team within Canonical. The work he did on the Eucalyptus munin plugin was spot-on. I've reviewed a few packages of his for the archive which looked quite good too. I've sponsored a handful of bug fixes which have been quality work as well.
Areas of Improvement
Clint's depth of knowledge and experience in devops is impressive. His feedback on other's work can sometimes come across as a bit critical or harsh. Clint and I have talked this over in the past, and he acknowledged it, and pledged to do better. By all accounts since, he very much has, since our chat!
Clint has been a tenacious advocate for Ubuntu server users, tackling some of the worst server usability bugs in 10.04 LTS. His diligence in following through on startup bugs that had stumped more "experienced" Ubuntu developers shows a real dedication to the Ubuntu platform and the Ubuntu community. When I pointed out flaws with the initial fix for 525154, he wasn't dissuaded but worked with other developers on IRC to find a complete fix; and pulling this fix together and regression-testing it counts in my book as a masterpiece of bug work. I think he's ready to move beyond apprenticeship here and happily endorse him for core-dev status.
Since Clint has started working on Ubuntu he has managed to get himself stuck into the server. He has brought a different viewpoint on Ubuntu Server which I value. He has been thoughtful with his bug fixing and interacting with the community. I am also impressed how much involved he has gotten beyond Web 2.0 applications and managed to get involved with the Ubuntu Server booting experience. I also think he is ready to become a core-dev and also endorse his application form.
I have only worked with Clint for the past 3 1/2 months, and even in that brief time Clint has impressed me as being a highly knowledgeable and personable individual. He is both determined and proficient at understanding and resolving complex issues: I second Steve's comment - tenacious describes Clint perfectly. Clint and I have worked together on investigating a number of Upstart issues, a good example being the very gnarly 672177. The number of his branches on this bug alone show the lengths he will go to to solve a problem. Added to this, Clint is an active voice on the upstart-devel mailing list and has made a number of excellent suggestions for improvements and has proved to be a font of knowledge on the esoterics of Upstart configuration and tricks. Finally, like me he is passionate about good technical documentation and we are currently working together on the Upstart documentation effort. I endorse his application wholeheartedly.
Thierry Carrez (ttx)
Clint has been constantly tackling complex issues at every level of the Ubuntu Server experience (from boot issues in upstart to high-level application stacks). He has been very productive and it was sometimes difficult for his many sponsors to keep up. It's about time that he gets some upload rights
Specific Experiences of working together
I sponsored a number of his uploads and I've always been impressed by the quality and variety of his work. I remember in particular bug 564920 where he dutifully pushed a php5 fix to maverick and a Lucid SRU.
I've followed several of Clint's patches for extremely weird/difficult problems and have been continually impressed with his attention to detail. The trouble with upstart vs eglibc updates comes to mind as a great example of systematically understanding a problem and seeing the fixes through to both devel and SRU. I think he would make an excellent core-dev.
== <SPONSORS NAME> == === General feedback === ## Please fill us in on your shared experience. (How many packages did you sponsor? How would you judge the quality? How would you describe the improvements? Do you trust the applicant?) === Specific Experiences of working together === ''Please add good examples of your work together, but also cases that could have handled better.'' === Areas of Improvement ===