Alexis' loghttp://blog.notmyidea.org2011-05-19T00:00:00+02:00Travailler moins pour mieux travailler ?2011-05-19T00:00:00+02:00Alexis Métaireautag:blog.notmyidea.org,2011-05-19:/travailler-moins-pour-mieux-travailler.html/<p>Je viens de passer une semaine et demi quasiment hors-ligne et je dois dire que
je suis assez impressionné du résultat: je suis de retour chez mes parents pour
le "easter break" et j'en ai profité pour donner un coup aux travaux de la
maison (et pour me reposer un brin!).</p>
<p>Bosser en extérieur est un réel plaisir et faire quelque chose de manuel
également. Je n'ai pas pour habitude de bricoler autre chose que du logiciel et
c'est vraiment quelque chose que j'apprécie.</p>
<p>J'avoue, je mens un peu quand je dis que j'étais complètement déconnecté:
j'ai vérifié mes mails assez régulièrement en utilisant mon téléphone
(merci Arnaud pour le prêt du gadget!) et j'ai limité ma présence web au strict
minimum. Je veux dire par là pas de twitter, pas d'IRC et autres mailing-lists.</p>
<p>Quand je dis hors-ligne, je ne dis pas que je n'ai pas travaillé sur mon
ordinateur. J'ai à fournir beaucoup plus de travail que ce que je ne pensait en
premier lieu pour la rédaction de mon mémoire et j'ai passé quelques heures par
ci par là à lire des articles et livres sur le sujet ainsi que rédigé une bonne
partie de mon mémoire durant ces 10 jours. Résultat ? Les heures que j'ai passées à travailler ont
été étonnement plus productives que celles que j'ai l'habitude de passer derrière
un écran. Je ne parles pas uniquement du fait de procrastiner; évidemment c'est
une des causes principales de ma perte de productivité, mais je pense également
au fait de laisser le cerveau reposer, au moins en ce qui concerne la partie
informatique. Bricoler demande de la concentration et de la réflexion mais
permet également de laisser son esprit vagabonder. J'ai pu donc avancer mes
sur certaines parties de mon mémoire alors que j'étais en train de poser le
bardage sur la garage par exemple.</p>
<p>Passer du temps sur autre chose (qui demandait également de la concentration
par ailleurs) m'a permis d'être réellement plus efficace lors de mes phases de
rédaction et de lecture.</p>
<p>Je me demande depuis quelques temps quel sera mon futur travail et quelle forme
il prendra. Éééh oui, la fin des études arrive pour la fin de l'année, c'est
pas une blague. Et je me pose sérieusement la question du travail aux 3/4
temps. La raison principale étant que je ne souhaites pas passer la majeure
partie de mon temps à travailler derrière un écran et que la formation que j'ai
m'y rattache beaucoup. Ne me comprenez pas de travers: j'aime ce que je fais;
mais j'aime aussi ce que je fais à coté de l'informatique: associatif, projets
alternatifs, permaculture et autres.</p>
<p>Viens s'ajouter à ça le fait d'avoir une qualité de vie qui me semble pouvoir
passer par le fait de travailler moins ("il est marant ce gamin, il à pas encore commencé
à travailler qu'il veut bosser moins, regarde moi cette feignasse!") et
travailler plus efficacement. Bien sur, on n'est jamais 100% productif et c'est
d'autant plus vrai pour moi, alors si gagner en productivité peut passer par
travailler moins, pourquoi pas s'y essayer !</p>
<p>Peut être que vous pratiquez déjà le travail au 3/4 temps, que vous avez des
retours d'expérience à faire : fausse bonne idée ? Vraie bonne idée ?</p>
Fork you ! or how the social coding can help you2010-11-05T00:00:00+01:00Alexis Métaireautag:blog.notmyidea.org,2010-11-05:/fork-you-or-how-the-social-coding-can-help-you.html/<p>With <a class="reference external" href="http://github.com">github</a> and <a class="reference external" href="http://www.bitbucket.org">bitbucket</a> coming around, a lot of new usages appears for the
developpers: it's now easy to get feedback on your code/modifications, and to get
help from others by, for instance, forking repositories.</p>
<p>Eeach time I see people helping others, I'm amazed by how we like to share
our knowledge.</p>
<p>I say github, because it seems to be the more mainstream, but I think it's
something strongly related to the <a class="reference external" href="http://en.wikipedia.org/wiki/Distributed_revision_control">DVCS</a> principles: the "only" thing github have
made is to turn that into a social network, and to reveal the awesomeness of the
DVCSes to the masses.</p>
<p>What is really interesting is to see how this platform is addictive: it's
automatically updating a webpages with the more accurate informations about the
projects you're involved in, and add a bit of magic to that using webhooks,
allowing you to update your website each time you push to you repository, for
instance.</p>
<p>Quite nothing, indeed, but, I don't know why, I find this fascinating.</p>
<p>I haven't had the privilege to see my projects forked from github by strangers,
but I've forked others repository to give an hand some times, when I wanted to,
and the main reason is "because it's <strong>fun</strong>" to do so.</p>
<p>Yeah, you're probably right, you have to be a nerd to find fun to fork others.
The good point is that geeks are a kind of nerds, and some geeks are coders :)</p>
<div class="section" id="new-ways-to-contribute">
<h2>New ways to contribute</h2>
<p>In addition, it seems that he community, or the communities, are there, on those
new social networks for coders. It's really handy to drop an eye on interesting
projects, to report bugs, propose new features, and check what new projects this
or this person have made.</p>
<p>Well, "it's not new", you may think. That's true, because it's been a while that
SVN was there and even CVS before that. But, it was a bit messy to "fork" a
project, isn't it ? And I'm not talking about all the hell SVN involved with it
(who have not had issues with those messy .svn folders raises an hand !).</p>
<p>It have not been so easy to share code and thoughts about code, to propose
changes on existing code, than now. You think it's better to implement this or
that in a different way ? Clone it (fork it), make your changes and publish
them, and then ask projects owners about it. For sure you'll have answers.</p>
<p>Even if they don't want it, you can easily keep your changes, and keep getting
their updates!</p>
<p>Also, lot of <em>fashionables</em> projects tend to move on DVCS.
Personally, if I know I can fork on a DVCS instead of from a "simple" VCS,
I'll probably be quicker to fork/clone, and to publish changes on my own copy,
than if I had to do so on the upstream repository (and I'll likely dont have
the rights to push to it), because I will not be afraid to break things.</p>
<p>DVCSes makes the contribution easier.</p>
</div>
<div class="section" id="release-early-release-often">
<h2>Release early, release often</h2>
<p>Maybe have you read <a class="reference external" href="http://www.catb.org/~esr/writings/cathedral-bazaar/">The cathedral and the bazaar</a>, by Eric Steven Raymond ?
(If not, consider doing so, it's a really interesting reading)</p>
<p>Among a lot of others interesting things, one hint he gives is <em>release early,
release often</em>.</p>
<p>I understand it as: if you want to get contributors, release your code early,
even if it's not perfect, and don't be afraid to publish your changes each
time it's needed.</p>
<p>Without notifying it, that's basically what I was doing for my own projects.
I guess that's because Social coding platforms encourages those practices,
partially cause of the possible impact publishing each of your changes can have
on your final solution.</p>
<p>If you have considered publishing your projects, code snippets, or whatever
(code related) but did not done it, considering them not yet ready, maybe
should you think about it twice: you can get feedback and probably start some
interesting discussions about it, if you write code that's readable, of course!</p>
</div>
<div class="section" id="a-step-further-for-open-source-softwares">
<h2>A step further for open source softwares</h2>
<p>Well, DVCSes are a honking great idea, and they're starting to be really
powerful when applied to free softwares. I mean: if you can't see a project,
it will be hard to contribute to it. And, I don't think anyone wants to
contribute to something closed/proprietary, <em>just for fun</em>. Or maybe am I
missing something.</p>
<p>Maybe it's a kind of revolution, about free and open source softwares (<a class="reference external" href="http://en.wikipedia.org/wiki/Free_and_open_source_software">FOSS</a>),
that is going on. I really like to know I have my word to say about the changes
in the tools I use, and to know that I can make them evolve.</p>
<p>Let's take an example. Imagine I'm using a web framework on daily basis, as a
part of my job as a web developer. I do like using an open source software
because I know how it's working, and because I know that I can interact with the
authors of the framework while they're doing the changes on it.</p>
<p>That's communication, nothing more, and of course I can do that with an internal
proprietary solution, but it will cost me <strong>a lot</strong> more time, for a dead-simple
reason: a company is not as big and powerful as a community can be: it will cost
time to work on this framework, resources to maintain it, fix bugs etc.</p>
<p>Well, I'm starting advocating here about Free and Open Source Softwares use on
companies, what is a bit beyond the scope of this article, so let's back to
our DVCSes and new social related tools.</p>
<p>If I find a bug in this framework, while working, I have the possibility to
go and talk with the creators of the framework, to open a ticket, and even to
make a fix for it, because I've access to the source code. If I want to create a
new feature, I just have to fork it, hack it, and then publish my code to have
feedback of the community.</p>
<p>My fix/work will benefit to all the people (and maybe others companies) working
with this framework, and it's a way to prove the community that my company is
enough skilled to make code-fixes to the framework, so that's all good !</p>
</div>
<div class="section" id="what-s-next">
<h2>What's next ?</h2>
<p>I hope those social coding platforms are only the begining of a new area. I hope
they will make people realize what the power of the community is, and how easily
they can becomes part of it.</p>
<p>If you're not using them right now, maybe you should do so: have a
look on how the programs you're using are made, consider publishing your
experimentations, and share them with others, you will see, it's kind of
addictive !</p>
</div>