blog.notmyidea.org/sprinting-on-distutils2-in-tours.html
2019-12-12 15:32:48 +01:00

217 lines
No EOL
8.4 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>Sprinting on distutils2 in Tours - 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="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>
</nav>
</div> <div class="wrap">
<div class="masthead">
<div class="container">
<h3 class="masthead-title">
<a href="https://blog.notmyidea.org/" title="Home">Carnets en ligne</a>
</h3>
</div>
</div>
<div class="container content">
<div id="main" class="posts">
<h1 class="post-title">Sprinting on distutils2 in Tours</h1>
<span class="post-date">
10 juillet 2010, 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="#sprinting-on-distutils2-in-tours">Sprinting on distutils2 in Tours</a><ul>
<li><a href="#documentation">Documentation</a></li>
<li><a href="#mercurial">Mercurial</a></li>
<li><a href="#on-using-tools">On using tools</a></li>
<li><a href="#on-being-pythonic">On being pythonic</a></li>
<li><a href="#conclusion">Conclusion</a></li>
</ul>
</li>
</ul>
</div>
</div>
<h1>🌟</h1>
<ul>
<li>
<p>date<br>
2010-07-06</p>
</li>
<li>
<p>category<br>
tech</p>
</li>
</ul>
<p>Yesterday, as I was traveling to Tours, I've took some time to visit
Éric, another student who's working on distutils2 this summer, as a
part of the GSoC. Basically, it was to take a drink, discuss a bit about
distutils2, our respective tasks and general feelings, and to put a face
on a pseudonym. I'd really enjoyed this time, because Éric knows a lot
of things about mercurial and python good practices, and I'm eager to
learn about those. So, we have discussed about things, have not wrote so
much code, but have some things to propose so far, about documentation,
and I also provides here some bribes of conversations we had.</p>
<h2 id="documentation">Documentation</h2>
<p>While writing the PyPI simple index crawler documentation, I realized
that we miss some structure, or how-to about the documentation. Yep, you
read well. We lack documentation on how to make documentation. Heh.
We're missing some rules to follow, and this lead to a not-so-structured
final documentation. We probably target three type of publics, and we
can split the documentation regarding those:</p>
<ul>
<li><strong>Packagers</strong> who want to distribute their softwares.</li>
<li><strong>End users</strong> who need to understand how to use end user commands,
like the installer/uninstaller</li>
<li><strong>packaging coders</strong> who <em>use</em> distutils2, as a base for building a
package manager.</li>
</ul>
<p>We also need to discuss about a pattern to follow while writing
documentation. How many parts do we need ? Where to put the API
description ? etc. That's maybe seems to be not so important, but I
guess the readers would appreciate to have the same structure all along
distutils2 documentation.</p>
<h2 id="mercurial">Mercurial</h2>
<p>I'm really <em>not</em> a mercurial power user. I use it on daily basis, but I
lack of basic knowledge about it. Big thanks Éric for sharing yours with
me, you're of a great help. We have talked about some mercurial
extensions that seems to make the life simpler, while used the right
way. I've not used them so far, so consider this as a personal note.</p>
<ul>
<li>hg histedit, to edit the history</li>
<li>hg crecord, to select the changes to commit</li>
</ul>
<p>We have spent some time to review a merge I made sunday, to re-merge it,
and commit the changes as a new changeset. Awesome. These things make me
say I <strong>need</strong> to read <a href="http://hgbook.red-bean.com/read/">the hg book</a>,
and will do as soon as I got some spare time: mercurial seems to be
simply great. So ... Great. I'm a powerful merger now !</p>
<h2 id="on-using-tools">On using tools</h2>
<p>Because we <em>also</em> are <em>hackers</em>, we have shared a bit our ways to code,
the tools we use, etc. Both of us were using vim, and I've discovered
vimdiff and hgtk, which will completely change the way I navigate into
the mercurial history. We aren't "power users", so we have learned from
each other about vim tips. You can find <a href="http://github.com/ametaireau/dotfiles">my dotfiles on
github</a>, if it could help.
They're not perfect, and not intended to be, because changing all the
time, as I learn. Don't hesitate to have a look, and to propose
enhancements if you have !</p>
<h2 id="on-being-pythonic">On being pythonic</h2>
<p>My background as an old Java user disserves me so far, as the paradigms
are not the same while coding in python. Hard to find the more pythonic
way to do, and sometimes hard to unlearn my way to think about software
engineering. Well, it seems that the only solution is to read code, and
to re-read import this from times to times ! <a href="http://python.net/~goodger/projects/pycon/2007/idiomatic/handout.html">Coding like a
pythonista</a>
seems to be a must-read, so, I know what to do.</p>
<h2 id="conclusion">Conclusion</h2>
<p>It was really great. Next time, we'll need to focus a bit more on
distutils2, and to have a bullet list of things to do, but days like
this one are opportunities to catch ! We'll probably do another sprint
in a few weeks, stay tuned !</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>
</div>
</body>
</html>