blog.notmyidea.org/circus-sprint-at-pyconfr.html
2019-11-20 13:56:59 +01:00

226 lines
No EOL
9.6 KiB
HTML

<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1">
<link rel="shortcut icon" type="image/x-icon" href="favicon.ico" />
<title>Circus sprint at PyconFR - Alexis - Carnets en ligne</title>
<meta charset="utf-8" />
<link href="https://blog.notmyidea.org/feeds/all.atom.xml" type="application/atom+xml" rel="alternate" title="Alexis - Carnets en ligne Full Atom Feed" />
<link rel="stylesheet" href="https://blog.notmyidea.org/theme/css/poole.css"/>
<link rel="stylesheet" href="https://blog.notmyidea.org/theme/css/syntax.css"/>
<link rel="stylesheet" href="https://blog.notmyidea.org/theme/css/lanyon.css"/>
<link rel="stylesheet" href="//fonts.googleapis.com/css?family=PT+Serif:400,400italic,700%7CPT+Sans:400">
<link rel="stylesheet" href="https://blog.notmyidea.org/theme/css/styles.css"/>
<style>
h1 {
font-family: "Avant Garde", Avantgarde, "Century Gothic", CenturyGothic, "AppleGothic", sans-serif;
padding: 80px 50px;
text-align: center;
text-transform: uppercase;
text-rendering: optimizeLegibility;
color: #202020;
letter-spacing: .1em;
text-shadow:
-1px -1px 1px #111,
2px 2px 1px #eaeaea;
}
#main {
text-align: justify;
text-justify: inter-word;
}
#main h1 {
padding: 10px;
}
.post-headline {
padding: 15px;
text-align: center;
}
</style>
</head>
<body>
<!-- Target for toggling the sidebar `.sidebar-checkbox` is for regular
styles, `#sidebar-checkbox` for behavior. -->
<input type="checkbox" class="sidebar-checkbox" id="sidebar-checkbox">
<!-- Toggleable sidebar -->
<div class="sidebar" id="sidebar">
<div class="sidebar-item">
<div class="profile">
<img src="https://blog.notmyidea.org/theme/img/profile.png"/>
</div>
</div>
<nav class="sidebar-nav">
<a class="sidebar-nav-item" href="/">Articles</a>
<a class="sidebar-nav-item" href="https://www.vieuxsinge.com">Brasserie du Vieux Singe</a>
<a class="sidebar-nav-item" href="http://blog.notmyidea.org/pages/about.html">A propos</a>
<a class="sidebar-nav-item" href="https://twitter.com/ametaireau">Messages courts</a>
<a class="sidebar-nav-item" href="https://github.com/almet">Code</a>
</nav>
</div> <div class="wrap">
<div class="masthead">
<div class="container">
<h3 class="masthead-title">
<a href="https://blog.notmyidea.org/" title="Home">Alexis - Carnets en ligne</a>
</h3>
</div>
</div>
<div class="container content">
<div id="main" class="posts">
<h1 class="post-title">Circus sprint at PyconFR</h1>
<span class="post-date">
17 septembre 2012, dans <a class="no-color" href="category/technologie.html">Technologie</a>
</span>
<img id="illustration" class="illustration-Technologie" src="" />
<div class="post article">
<div id="toc_container">
<div class="toc">
<ul>
<li><a href="#circus-sprint-at-pyconfr">Circus sprint at PyconFR</a><ul>
<li><a href="#autocompletion-on-the-command-line">Autocompletion on the command-line</a></li>
<li><a href="#future-changes-to-the-web-ui">Future changes to the web ui</a></li>
<li><a href="#bug-and-doc-fixing">Bug and doc fixing</a></li>
<li><a href="#circus-clustering-capabilities">Circus clustering capabilities</a></li>
<li><a href="#project-management">Project management</a></li>
</ul>
</li>
</ul>
</div>
</div>
<h1>🌟</h1>
<p>Last Thursday to Sunday, <a href="http://pycon.fr">Pycon France</a> took place, in
Paris. It was the opportunity to meet a lot of people and to talk about
python awesomness in general.</p>
<p>We had three tracks this year, plus sprints the two first days. We
sprinted on <a href="http://circus.io">Circus</a>, the process and socket manager
we're using at Mozilla for some of our setups.</p>
<p>The project gathered some interest, and we ended up with 5 persons
working on it. Of course, we spent some time explaining what is Circus,
how it had been built, a lot of time talking about use-cases and
possible improvements, but we also managed to add new features.</p>
<p>Having people wanting to sprint on our projects is exciting because
that's when making things in the open unleashes its full potential. You
can't imagine how happy I was to have some friends come and work on this
with us :)</p>
<p>Here is a wrap-up of the sprint:</p>
<h2 id="autocompletion-on-the-command-line">Autocompletion on the command-line</h2>
<p><a href="http://natim.ionyse.com">Remy Hubscher</a> worked on the command-line
autocompletion. Now we have a fancy command-line interface which is able
to aucomplete if you're using bash. It seems that not that much work is
needed to make it happen on zsh as well :)</p>
<p><a href="https://github.com/mozilla-services/circus/blob/master/extras/circusctl_bash_completion">Have a look at the
feature</a></p>
<p>On the same topic, we now have a cool shell for Circus. If you start the
circusctl command without any option, you'll end-up with a cool shell.
Thanks <a href="https://github.com/jojax">Jonathan Dorival</a> for the work on
this! You can have a look at <a href="https://github.com/mozilla-services/circus/pull/268">the pull
request</a>.</p>
<h2 id="future-changes-to-the-web-ui">Future changes to the web ui</h2>
<p><a href="https://twitter.com/rachbelaid">Rachid Belaid</a> had a deep look at the
source code and is much more familiarized to it now than before. We
discussed the possibility to change the implementation of the web ui,
and I'm glad of this. Currently, it's done with bottle.py and we want to
switch to pyramid.</p>
<p>He fixed some issues that were in the tracker, so we now can have the
age of watchers in the webui, for instance.</p>
<h2 id="bug-and-doc-fixing">Bug and doc fixing</h2>
<p>While reading the source code, we found some inconsistencies and fixed
them, with <a href="http://mathieu.agopian.info/">Mathieu Agopian</a>. We also
tried to improve the documentation at different levels.</p>
<p>Documentation still needs a lot of love, and I'm planning to spend some
time on this shortly. I've gathered a bunch of feedback on this</p>
<h2 id="circus-clustering-capabilities">Circus clustering capabilities</h2>
<p>One feature I wanted to work on during this sprint was the clustering
abilities of Circus. Nick Pellegrino made an internship on this topic at
Mozilla so we spent some time to review his pull requests.</p>
<p>A lot of code was written for this so we discussed a bunch of things
regarding all of this. It took us more time than expected (and I still
need to spend more time on this to provide appropriate feedback), but it
allowed us to have a starting-point about what this clustering thing
could be.</p>
<p>Remy wrote <a href="http://tech.novapost.fr/circus-clustering-management-en.html">a good summary about our
brainstorming</a>
so I'll not do it again here, but feel free to contact us if you have
ideas on this, they're very welcome!</p>
<h2 id="project-management">Project management</h2>
<p>We've had some inquiries telling us that's not as easy as it should to
get started with the Circus project. Some of the reasons are that we
don't have any release schedule, and that the documentation is hairy
enough to lost people, at some point :)</p>
<p>That's something we'll try to fix soon :)</p>
<p>PyconFR was a very enjoyable event. I'm looking forward to meet the
community again and discuss how Circus can evolve in ways that are
interesting to everyone.</p>
<p>Tarek and me are going to <a href="http://python.ie/pycon/2012/">Pycon ireland</a>,
feel free to reach us if you're going there, we'll be happy to meet and
enjoy beers!</p>
</div>
</div>
</div>
<label for="sidebar-checkbox" class="sidebar-toggle"></label>
<script>
(function(document) {
var i = 0;
// snip empty header rows since markdown can't
var rows = document.querySelectorAll('tr');
for(i=0; i<rows.length; i++) {
var ths = rows[i].querySelectorAll('th');
var rowlen = rows[i].children.length;
if (ths.length > 0 && ths.length === rowlen) {
rows[i].remove();
}
}
})(document);
</script>
<script>
/* Lanyon & Poole are Copyright (c) 2014 Mark Otto. Adapted to Pelican 20141223 and extended a bit by @thomaswilley */
(function(document) {
var toggle = document.querySelector('.sidebar-toggle');
var sidebar = document.querySelector('#sidebar');
var checkbox = document.querySelector('#sidebar-checkbox');
document.addEventListener('click', function(e) {
var target = e.target;
if(!checkbox.checked ||
sidebar.contains(target) ||
(target === checkbox || target === toggle)) return;
checkbox.checked = false;
}, false);
})(document);
</script>
<!-- Piwik -->
<script type="text/javascript">
var _paq = _paq || [];
_paq.push(['trackPageView']);
_paq.push(['enableLinkTracking']);
(function() {
var u="//tracker.notmyidea.org/";
_paq.push(['setTrackerUrl', u+'piwik.php']);
_paq.push(['setSiteId', 3]);
var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
g.type='text/javascript'; g.async=true; g.defer=true; g.src=u+'piwik.js'; s.parentNode.insertBefore(g,s);
})();
</script>
<noscript><p><img src="//tracker.notmyidea.org/piwik.php?idsite=3" style="border:0;" alt="" /></p></noscript>
<!-- End Piwik Code -->
</div>
</body>
</html>