Posted
almost 16 years
ago
So I counted my fingers and toes (including thumbs) and I still can't count how many people have asked me about the possibility of having the functionality of Tarmac (automatic merging) built into Launchpad. The short answer is "No." The long
... [More]
answer is also "No."
There are many reasons for this. The first one I can come up with is the test suite. Sure, you can automate the merging of branches, but c'mon, what's the point of automating it if it's just going to propagate breakage? So the running of tests is relatively essential in automated merging. Elliot got a patch into Tarmac the day after 0.1 to do just this, and I have recently refactored it to work as a plugin. So, for instance, Entertainer can have approved merges, and Tarmac will check out a fresh copy trunk, merge in the branch, and run the tests. If the tests pass, it lands, if not, then the test output is added to the merge proposal. The problem with this is that many test suites take a very long time to run. Others may be quite CPU intensive. As one can imagine, that can require a lot of hardware.
Now, think of test suite you're running. Who wrote it? Not the Launchpad folk. PQM has put a lot of effort into making sure that the tests are run in a sandbox, and not in an environment that would have security implications. In fact, I've put a lot of thought into how to run the tests in a chroot environment for the Tarmac instances I maintain. This is quite a complicated setup.
Lastly, you may need a build environment. Maybe you're working in Windows, or you need a database, etc. These things are pretty specific to an environment. The possibilities are endless. This also has huge hardware implications.
Bottom line: Provide your own test environment, run Tarmac on a cron, make your development team happy.
Side note: I'd love to see if Tarmac would run on Windows. I don't have any Windows machines around, so (for bonus points) would someone please volunteer to try it there? Update: John Meinel was awesome enough to hack on Tarmac enough to get it running on Windows, and the branches have been submitted for review. This means that Tarmac 0.2 will have Windows compatibility as well. Woot! [Less]
|
Posted
almost 16 years
ago
Want to hack on Tarmac? Want to learn how to use the Launchpad API (or want to use your existing knowledge)? Want to learn to use bzr's functionality programmatically? There is a Tarmac mini-sprint scheduled for Friday, 10 Jul 2009 in #tarmac on
... [More]
Freenode. Tarmac 0.2 will also be released this weekend based on the work completed on Tarmac on Friday.
Also, if you'd like to know more about Tarmac, or would like to participate, please join the Tarmac Launchpad group and subscribe to the mailing list. [Less]
|
Posted
about 16 years
ago
I spent this past week in Barcelona with all the other Canonical employees at a
meeting we call AllHands. I have the opportunity to travel to all sorts of
nice places with Canonical, and experience lots of conferences. None of those
other
... [More]
experiences hold a candle to last week's events in Barcelona. I'd like
to share my experiences, notes, feelings, and overall energy in this post (and
try and start a new flow of regular interval posts).
A Plug for Moleskine
First off, I need to say something about my method for taking notes here.
Prior to leaving for my trip, I picked up two Moleskine notebooks that have
unlined pages in them. I'd seen them used by many of my colleagues and
friends, but never really saw why they had such hype behind them. After looking
through my notes, there was something about the Moleskine that absolutely
changed the way I write notes. The diagrams, blurbs, and quotes I wrote down
last week were in a completely different and amazing format that allowed me to
actually capture a lot of the thoughts I usually just try to reference and hope
I remember.
On Collaboration
Collaboration has been on my mind for a while, and there are a lot of thoughts
I have that are arranging themselves into blog post as we speak. I'm amazed at
how much Canonical and its employees are thinking about collaboration. There
was an overwhelming amount of questions like "How can we make X better?" and
"What if we did Y like this? Would it be easier?"
Launchpad and Bazaar are two humongous examples of us trying to make
collaboration easier. Launchpad has created this workflow for handling your
code, doing merges of other people's code, getting bugs fixed, getting your
code translated, releasing tarballs, and allowing people to easily install
software into Ubuntu based machines. Launchpad has a rich code review system,
which I am convinced is the best way to make open source software better.
The Ayatana Project excites me beyond
my ability to express. Free software is generally written, tested, and
(unfortunately) designed by geeks. This usually means that to find a
tool with great design and usability is a gem. To have a team that is
completely and totally devoted to making free software easy to use for my
mother is amazing. Take your app (you know, the one you think is just
amazing), get someone's attention in #ayatana on Freenode, and ask them (ever
so nicely) what you can do to make it stellar. Do it. Do it now.
UbuntuOne is going to end up being a great
service, and I would venture to say it will be a reference guide to the web
services of the future. No data lock-in, open protocols, standards-based
implementations, and the sky is the limit. UbuntuOne isn't about file sharing
(although that is a cute first feature). It's about sharing data in any
form, and as it fills out, it really will make collaboration even more social.
Finally, I wrote an open ended question to myself to think about, and thought
that maybe I'd throw it out here as well. For context, Jono Bacon was talking
about community (y'know, plugging his book and all that :), and I wrote "Open
source thrives on a meritocracy - how can we prevent feelings of entitlement?"
I see this a lot in open source communities: people earn their "commit rights"
and then start behaving like everyone owes them something. Collaboration is about peers, not about hierarchies.
Getting Organized
A highlight of the talks I attended was a talk by Jono Bacon on recognizing and avoiding
burnout. It was on eye opener for me. I spend a lot of time writing code, and
I have now recognized that at some level I'm getting burned out by it. I'm doing a lot of
things at the same time, and doing them absolutely terribly.
The biggest thing that hit me was that my methods for staying organized are
terrible, and they aren't working. When this happens, one may be working
hard, but not accomplishing much of anything. I've since restructured what my
daily planning is like, and will report when I have data on its success or failure.
The Culture of Canonical
This was my greatest experience at AllHands. The nature of Canonical is that most of us work from home. This means that we can easily miss out on the social aspects of co-located work, like going out for a beer (Coke for me thanks) after work, shooting Nerf guns at each other, etc. However, because we work with these people on a daily basis, we form these incredibly strong bonds, so much that when we actually meet on this physical plane, we're old friends that would bend over backwards for one another.
Daniel Holbach epitomizes the Canonical culture at the very core with his hugs.
I think of my direct manager more as my friend than as my manager. I enjoy
seeing the rest of my team in person, because they are all really great people.
There is absolutely no difference in social status between Mark Shuttleworth
himself and the newest hire. We all work together. There isn't this idea of
"What I do is more important than what you do" but more that "What you do is so
helpful that I want to make sure what I do is helpful in return" Canonical is
really about Ubuntu, the product, and the meaning of brotherhood and working
together.
[Less]
|
Posted
about 16 years
ago
In a nod to Michael Bernstein's F/OSS License App for Web App Wednesday, I threw together some code that does a similar thing for Launchpad. Things rolled downhill from there to do some other really fun things, but I thought I'd stop and blog about
... [More]
the first result before hacking on the rest of the data.
The above image is the result of this hacking. I used the Google Charts API to create the pie chart. It's obvious that GPLv2 is the most popular license, being that 35% of all Launchpad projects are licensed that way. [Less]
|
Posted
about 16 years
ago
by
laymanstermsdev
I just announced it officially on the team’s Launchpad page, but Entertainer 0.4 is out. Check out the installation instructions on the wiki for the play by play of how to get things going.
Thanks to all the other developers who help make Entertainer possible. You guys rock.
|
Posted
about 16 years
ago
by
laymanstermsdev
I just announced it officially on the team’s Launchpad page, but Entertainer 0.4 is out. Check out the installation instructions on the wiki for the play by play of how to get things going. Thanks to all the other developers who help make Entertainer possible. You guys rock.
|
Posted
about 16 years
ago
by
laymanstermsdev
I just announced it officially on the team’s Launchpad page, but Entertainer 0.4 is out. Check out the installation instructions on the wiki for the play by play of how to get things going. Thanks to all the other developers who help make Entertainer possible. You guys rock.
|
Posted
about 16 years
ago
by
laymanstermsdev
I just announced it officially on the team’s Launchpad page, but Entertainer 0.4 is out. Check out the installation instructions on the wiki for the play by play of how to get things going. Thanks to all the other developers who help make Entertainer possible. You guys rock. Advertisements
|
Posted
about 16 years
ago
by
Joshua Scotton
I’ve been exceptionally busy over the past month finishing off a lot of things before I start at Warwick University including training my replacement at my job in Leicester, finishing off most of the work on the Alpha Sales and Stock Database System for the 6 clients which are currently using the software, and other [...]
|
Posted
about 16 years
ago
I'm pleased to announce the first version of bzr-autoreview, a Bazaar plugin for automating Launchpad merge proposal reviews.
The concept is simple. Go to your local mirror of a branch on Launchpad, and simply type bzr autoreview. The plugin will
... [More]
do the rest. It finds every merge proposal against your public branch that doesn't yet have a review, gives you an editor pre-populated with the diff, and then, after your review, allows you to also vote.
I have many planned features, but I've been trying this year to release code instead of just writing it. The code's a mess because I was spanning hemispheres while writing it. I plan on cleaning it up in the next few days and releasing again.
Please see the README. You can download the tarball or get the branch. If you're really ambitious, I'd appreciate any patches, so please see the HACKING file. A special thanks goes to Elliot for giving me the idea in the first place. [Less]
|