Put all the articles in a flat folder.

This commit is contained in:
Alexis Métaireau 2018-01-17 19:10:49 +01:00
parent ba89e386f1
commit aa8b7066d2
102 changed files with 281 additions and 222 deletions

View file

@ -3,6 +3,7 @@ AMAP + Média = Paniers bio à 5e ?!
:date: 2009-11-11 :date: 2009-11-11
:lang: fr :lang: fr
:category: thoughts
Le raccourci me semble un peu rapide. Et pourtant, il est emprunté Le raccourci me semble un peu rapide. Et pourtant, il est emprunté
bien trop souvent. La dernière *mes-utilisation* que j'ai à décrier bien trop souvent. La dernière *mes-utilisation* que j'ai à décrier

View file

@ -3,6 +3,7 @@ Python ? go !
:date: 2009-12-17 :date: 2009-12-17
:lang: fr :lang: fr
:category: tech
Cela fait maintenant un peu plus d'un mois que je travaille sur un Cela fait maintenant un peu plus d'un mois que je travaille sur un
projet en `django <http://www.djangoproject.org>`_, et que, projet en `django <http://www.djangoproject.org>`_, et que,
@ -24,7 +25,7 @@ forme d'un *easter egg* présent dans python
.. code-block:: bash .. code-block:: bash
>>> import this >>> import this
The Zen of Python, by Tim Peters The Zen of Python, by Tim Peters
Beautiful is better than ugly. Beautiful is better than ugly.

View file

@ -3,6 +3,7 @@ Semaine de lenvironnement: La consommation étudiante
:date: 2010-02-24 :date: 2010-02-24
:lang: fr :lang: fr
:category: thoughts
Les acteurs associatifs sont bien souvent moteurs des critiques de nos sociétés. Je pense à `Framasoft <http://www.framasoft.net/>`_, à `la Quadrature du net <http://www.laquadrature.net/>`_ ou à `Ars Industrialis <http://www.arsindustrialis.org/>`_ (dans le domaine de la science et de l'informatique), mais aussi `aux Amis de la Terre <http://www.amisdelaterre.org/>`_, à `ATTAC <http://www.attac.org/>`_ (dans le domaine de l'environnement entres autres), et a tout un tas d'autres associations que je ne peux pas citer ici exhaustivement... Ce sont eux qui sont porteurs de messages alternatifs, et qui sont les initiateurs de débats publics, qui permettent de faire avancer des thématiques aussi importantes que le logiciel libre ou la protection de l'environnement. Les acteurs associatifs sont bien souvent moteurs des critiques de nos sociétés. Je pense à `Framasoft <http://www.framasoft.net/>`_, à `la Quadrature du net <http://www.laquadrature.net/>`_ ou à `Ars Industrialis <http://www.arsindustrialis.org/>`_ (dans le domaine de la science et de l'informatique), mais aussi `aux Amis de la Terre <http://www.amisdelaterre.org/>`_, à `ATTAC <http://www.attac.org/>`_ (dans le domaine de l'environnement entres autres), et a tout un tas d'autres associations que je ne peux pas citer ici exhaustivement... Ce sont eux qui sont porteurs de messages alternatifs, et qui sont les initiateurs de débats publics, qui permettent de faire avancer des thématiques aussi importantes que le logiciel libre ou la protection de l'environnement.

View file

@ -3,11 +3,12 @@ Le temps des grâces, courrez-y !
:date: 2010-03-28 :date: 2010-03-28
:lang: fr :lang: fr
:category: thoughts
Ouf, notre Ouf, notre
`semaine de l'environnement <http://www.reseaugrappe.org>`_ s'est `semaine de l'environnement <http://www.reseaugrappe.org>`_ s'est
terminée, après un peu de neige et un brin de soleil quand il en terminée, après un peu de neige et un brin de soleil quand il en
fallait. fallait.
Ce fut l'occasion de rencontrer beaucoup de gens biens, et Ce fut l'occasion de rencontrer beaucoup de gens biens, et
de regarder d'un peu plus près toutes ces problématiques qui de regarder d'un peu plus près toutes ces problématiques qui
@ -18,7 +19,7 @@ retrouve de nouveau sur ces mêms réflexions, grâce aux journées
organisées par organisées par
`France Nature Environnement <http://www.fne.asso.fr/>`_, qui `France Nature Environnement <http://www.fne.asso.fr/>`_, qui
proposaient ce jeudi soir une projection de "Le temps des grâces", proposaient ce jeudi soir une projection de "Le temps des grâces",
un documentaire sur l'agriculture. un documentaire sur l'agriculture.
Parce que depuis 60 ans, il est pratiqué le remembrement des Parce que depuis 60 ans, il est pratiqué le remembrement des
parcelles à gogo, parce que nos sols deviennent completement morts parcelles à gogo, parce que nos sols deviennent completement morts
@ -35,9 +36,9 @@ Si vous en avez l'occasion, sautez dessus et profitez le temps de
ces 2 heures, ou vous pourrez écouter à la fois des discours ces 2 heures, ou vous pourrez écouter à la fois des discours
d'agronomes, d'agriculteurs, de chercheurs et bien d'autres, qui d'agronomes, d'agriculteurs, de chercheurs et bien d'autres, qui
dressent un constat pas si brillant de notre agriculture. On n'est dressent un constat pas si brillant de notre agriculture. On n'est
pas sorti de l'auberge, enfin, c'est l'expression. pas sorti de l'auberge, enfin, c'est l'expression.
Je vous laisse avec le synopsis et une bande annonce. Je vous laisse avec le synopsis et une bande annonce.
Une enquête documentaire sur Une enquête documentaire sur
le monde agricole français aujourd'hui à travers de nombreux récits le monde agricole français aujourd'hui à travers de nombreux récits
@ -67,6 +68,6 @@ trouvé sur allocine.fr (oui, vous savez, ce site rempli de pubs).
ni même réactionnaire, il propose juste un constat alarmant du ni même réactionnaire, il propose juste un constat alarmant du
monde agricole français, tout en proposant des alternatives qui monde agricole français, tout en proposant des alternatives qui
pourraient être utilisée, si les pouvoirs publics lâchaient un peu pourraient être utilisée, si les pouvoirs publics lâchaient un peu
la main des lobbys. Passionnant, vraiment. la main des lobbys. Passionnant, vraiment.
Courrez-y, je vous dis. Courrez-y, je vous dis.

View file

@ -2,6 +2,7 @@ A Distutils2 GSoC
################# #################
:date: 2010-05-01 :date: 2010-05-01
:category: tech
WOW. I've been accepted to be a part of the WOW. I've been accepted to be a part of the
`Google Summer Of Code <http://code.google.com/intl/fr/soc/>`_ `Google Summer Of Code <http://code.google.com/intl/fr/soc/>`_
@ -18,8 +19,8 @@ program, and will work on `python <http://python.org/>`_
packaging stuff interoperable, as pointed out by packaging stuff interoperable, as pointed out by
the `PEP 376 <http://www.python.org/dev/peps/pep-0376/>`_. the `PEP 376 <http://www.python.org/dev/peps/pep-0376/>`_.
In more details, I'm going to work on the Installer / Uninstaller In more details, I'm going to work on the Installer / Uninstaller
features of Distutils2, and on a PyPI XML-RPC client for distutils2. features of Distutils2, and on a PyPI XML-RPC client for distutils2.
Here are the already defined tasks: Here are the already defined tasks:
- Implement Distutils2 APIs described in PEP 376. - Implement Distutils2 APIs described in PEP 376.

View file

@ -2,6 +2,7 @@ first week working on distutils2
################################# #################################
:date: 2010-06-04 :date: 2010-06-04
:category: tech
As I've been working on As I've been working on
`Distutils2 <http://hg.python.org/distutils2/>`_ during the past `Distutils2 <http://hg.python.org/distutils2/>`_ during the past
@ -84,5 +85,3 @@ to make this clear.
Next step is to a little client, as I've Next step is to a little client, as I've
`already started here <http://github.com/ametaireau/pypiclient>`_ `already started here <http://github.com/ametaireau/pypiclient>`_
I'll take you updated ! I'll take you updated !

View file

@ -2,13 +2,14 @@ Use Restructured Text (ReST) to power your presentations
######################################################### #########################################################
:date: 2010-06-25 :date: 2010-06-25
:category: tech
Wednesday, we give a presentation, with some friends, about the Wednesday, we give a presentation, with some friends, about the
CouchDB Database, to CouchDB Database, to
`the Toulouse local LUG <http://www.toulibre.org>`_. Thanks a lot `the Toulouse local LUG <http://www.toulibre.org>`_. Thanks a lot
to all the presents for being there, it was a pleasure to talk to all the presents for being there, it was a pleasure to talk
about this topic with you. Too bad the season is over now an I quit about this topic with you. Too bad the season is over now an I quit
Toulouse next year. Toulouse next year.
During our brainstorming about the topic, we During our brainstorming about the topic, we
used some paper, and we wanted to make a presentation the simpler used some paper, and we wanted to make a presentation the simpler
@ -16,14 +17,14 @@ way. First thing that come to my mind was using
`restructured text <http://docutils.sourceforge.net/rst.html>`_, so `restructured text <http://docutils.sourceforge.net/rst.html>`_, so
I've wrote a simple file containing our different bullet points. In I've wrote a simple file containing our different bullet points. In
fact, there is quite nothing to do then, to have a working fact, there is quite nothing to do then, to have a working
presentation. presentation.
So far, I've used So far, I've used
`the rst2pdf program <http://code.google.com/p/rst2pdf/>`_, and a `the rst2pdf program <http://code.google.com/p/rst2pdf/>`_, and a
simple template, to generate output. It's probably simple to have simple template, to generate output. It's probably simple to have
similar results using latex + beamer, I'll try this next time, but similar results using latex + beamer, I'll try this next time, but
as I'm not familiar with latex syntax, restructured text was a as I'm not familiar with latex syntax, restructured text was a
great option. great option.
Here are Here are
`the final PDF output <http://files.lolnet.org/alexis/rst-presentations/couchdb/couchdb.pdf>`_, `the final PDF output <http://files.lolnet.org/alexis/rst-presentations/couchdb/couchdb.pdf>`_,
@ -32,4 +33,3 @@ Here are
and the command line to generate the PDF:: and the command line to generate the PDF::
rst2pdf couchdb.rst -b1 -s ../slides.style rst2pdf couchdb.rst -b1 -s ../slides.style

View file

@ -2,6 +2,7 @@ Introducing the distutils2 index crawlers
########################################## ##########################################
:date: 2010-07-06 :date: 2010-07-06
:category: tech
I'm working for about a month for distutils2, even if I was being a I'm working for about a month for distutils2, even if I was being a
bit busy (as I had some class courses and exams to work on) bit busy (as I had some class courses and exams to work on)

View file

@ -2,6 +2,7 @@ Sprinting on distutils2 in Tours
################################ ################################
:date: 2010-07-06 :date: 2010-07-06
:category: tech
Yesterday, as I was traveling to Tours, I've took some time to Yesterday, as I was traveling to Tours, I've took some time to
visit Éric, another student who's working on distutils2 this visit Éric, another student who's working on distutils2 this
@ -89,4 +90,3 @@ 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 distutils2, and to have a bullet list of things to do, but days
like this one are opportunities to catch ! We'll probably do like this one are opportunities to catch ! We'll probably do
another sprint in a few weeks, stay tuned ! another sprint in a few weeks, stay tuned !

View file

@ -2,6 +2,7 @@ An amazing summer of code working on distutils2
############################################### ###############################################
:date: 2010-08-16 :date: 2010-08-16
:category: tech
The `Google Summer of Code <http://code.google.com/soc/>`_ I've The `Google Summer of Code <http://code.google.com/soc/>`_ I've
spent working on `distutils2 <http://hg.python.org/distutils2/>`_ spent working on `distutils2 <http://hg.python.org/distutils2/>`_

View file

@ -2,6 +2,7 @@ How to reboot your bebox using the CLI
###################################### ######################################
:date: 2010-10-21 :date: 2010-10-21
:category: tech
I've an internet connection which, for some obscure reasons, tend to be very I've an internet connection which, for some obscure reasons, tend to be very
slow from time to time. After rebooting the box (yes, that's a hard solution), slow from time to time. After rebooting the box (yes, that's a hard solution),

View file

@ -2,6 +2,7 @@ Dynamically change your gnome desktop wallpaper
############################################### ###############################################
:date: 2010-10-11 :date: 2010-10-11
:category: tech
In gnome, you can can use a XML file to have a dynamic wallpaper. In gnome, you can can use a XML file to have a dynamic wallpaper.
It's not so easy, and you can't just tell: use the pictures in this folder to do It's not so easy, and you can't just tell: use the pictures in this folder to do

View file

@ -2,6 +2,7 @@ How to install NGINX + PHP 5.3 on FreeBSD.
########################################## ##########################################
:date: 2010-10-10 :date: 2010-10-10
:category: tech
I've not managed so far to get completely rid of php, so here's a simple I've not managed so far to get completely rid of php, so here's a simple
reminder about how to install php on NGINX, for FreeBSD. Nothing hard, but reminder about how to install php on NGINX, for FreeBSD. Nothing hard, but
@ -14,11 +15,11 @@ that's worse to have the piece of configuration somewhere !
# install php5 port # install php5 port
$ make config-recursive -C /usr/ports/lang/php5-extensions $ make config-recursive -C /usr/ports/lang/php5-extensions
$ make package-recursive -C /usr/ports/lang/php5-extensions $ make package-recursive -C /usr/ports/lang/php5-extensions
# install nginx # install nginx
$ make config-recursive -C /usr/ports/www/nginx-devel $ make config-recursive -C /usr/ports/www/nginx-devel
$ make package-recursive -C /usr/ports/www/nginx-devel $ make package-recursive -C /usr/ports/www/nginx-devel
Now we have all the dependencies installed, we need to configure a bit the Now we have all the dependencies installed, we need to configure a bit the
server. server.

View file

@ -2,6 +2,7 @@ Pelican, a simple static blog generator in python
################################################# #################################################
:date: 2010-10-06 :date: 2010-10-06
:category: tech
Those days, I've wrote a little python application to fit my blogging needs. Those days, I've wrote a little python application to fit my blogging needs.
I'm an occasional blogger, a vim lover, I like restructured text and DVCSes, so I'm an occasional blogger, a vim lover, I like restructured text and DVCSes, so
@ -9,7 +10,7 @@ I've made a little tool that makes good use of all that.
Pelican_ (for calepin) is just a simple tool to generate your blog as static Pelican_ (for calepin) is just a simple tool to generate your blog as static
files, letting you using your editor of choice (vim!). It's easy to extend, files, letting you using your editor of choice (vim!). It's easy to extend,
and has a template support (via jinja2). and has a template support (via jinja2).
I've made it to fit *my* needs. I hope it will fit yours, but maybe it wont, and I've made it to fit *my* needs. I hope it will fit yours, but maybe it wont, and
it have not be designed to feet everyone's needs. it have not be designed to feet everyone's needs.

View file

@ -2,16 +2,17 @@ Fork you ! or how the social coding can help you
################################################# #################################################
:date: 2010-11-05 :date: 2010-11-05
:category: thoughts
With github_ and bitbucket_ coming around, a lot of new usages appears for the With github_ and bitbucket_ 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 developpers: it's now easy to get feedback on your code/modifications, and to get
help from others by, for instance, forking repositories. help from others by, for instance, forking repositories.
Eeach time I see people helping others, I'm amazed by how we like to share Eeach time I see people helping others, I'm amazed by how we like to share
our knowledge. our knowledge.
I say github, because it seems to be the more mainstream, but I think it's I say github, because it seems to be the more mainstream, but I think it's
something strongly related to the DVCS_ principles: the "only" thing github have something strongly related to the DVCS_ principles: the "only" thing github have
made is to turn that into a social network, and to reveal the awesomeness of the made is to turn that into a social network, and to reveal the awesomeness of the
DVCSes to the masses. DVCSes to the masses.
@ -27,14 +28,14 @@ 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, but I've forked others repository to give an hand some times, when I wanted to,
and the main reason is "because it's **fun**" to do so. and the main reason is "because it's **fun**" to do so.
Yeah, you're probably right, you have to be a nerd to find fun to fork others. 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 :) The good point is that geeks are a kind of nerds, and some geeks are coders :)
New ways to contribute New ways to contribute
====================== ======================
In addition, it seems that he community, or the communities, are there, on those 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 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 projects, to report bugs, propose new features, and check what new projects this
or this person have made. or this person have made.
@ -51,10 +52,10 @@ them, and then ask projects owners about it. For sure you'll have answers.
Even if they don't want it, you can easily keep your changes, and keep getting Even if they don't want it, you can easily keep your changes, and keep getting
their updates! their updates!
Also, lot of *fashionables* projects tend to move on DVCS. Also, lot of *fashionables* projects tend to move on DVCS.
Personally, if I know I can fork on a DVCS instead of from a "simple" VCS, 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, 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 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. the rights to push to it), because I will not be afraid to break things.
DVCSes makes the contribution easier. DVCSes makes the contribution easier.
@ -63,24 +64,24 @@ Release early, release often
============================ ============================
Maybe have you read `The cathedral and the bazaar Maybe have you read `The cathedral and the bazaar
<http://www.catb.org/~esr/writings/cathedral-bazaar/>`_, by Eric Steven Raymond ? <http://www.catb.org/~esr/writings/cathedral-bazaar/>`_, by Eric Steven Raymond ?
(If not, consider doing so, it's a really interesting reading) (If not, consider doing so, it's a really interesting reading)
Among a lot of others interesting things, one hint he gives is *release early, Among a lot of others interesting things, one hint he gives is *release early,
release often*. release often*.
I understand it as: if you want to get contributors, release your code early, 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 even if it's not perfect, and don't be afraid to publish your changes each
time it's needed. time it's needed.
Without notifying it, that's basically what I was doing for my own projects. 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, I guess that's because Social coding platforms encourages those practices,
partially cause of the possible impact publishing each of your changes can have partially cause of the possible impact publishing each of your changes can have
on your final solution. on your final solution.
If you have considered publishing your projects, code snippets, or whatever If you have considered publishing your projects, code snippets, or whatever
(code related) but did not done it, considering them not yet ready, maybe (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 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! interesting discussions about it, if you write code that's readable, of course!
A step further for open source softwares A step further for open source softwares
@ -103,11 +104,11 @@ authors of the framework while they're doing the changes on it.
That's communication, nothing more, and of course I can do that with an internal That's communication, nothing more, and of course I can do that with an internal
proprietary solution, but it will cost me **a lot** more time, for a dead-simple proprietary solution, but it will cost me **a lot** more time, for a dead-simple
reason: a company is not as big and powerful as a community can be: it will cost 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. time to work on this framework, resources to maintain it, fix bugs etc.
Well, I'm starting advocating here about Free and Open Source Softwares use on 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 companies, what is a bit beyond the scope of this article, so let's back to
our DVCSes and new social related tools. our DVCSes and new social related tools.
If I find a bug in this framework, while working, I have the possibility to If I find a bug in this framework, while working, I have the possibility to
@ -116,8 +117,8 @@ 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 new feature, I just have to fork it, hack it, and then publish my code to have
feedback of the community. feedback of the community.
My fix/work will benefit to all the people (and maybe others companies) working 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 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 ! enough skilled to make code-fixes to the framework, so that's all good !
What's next ? What's next ?
@ -130,7 +131,7 @@ they can becomes part of it.
If you're not using them right now, maybe you should do so: have a 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 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 experimentations, and share them with others, you will see, it's kind of
addictive ! addictive !
.. _github: http://github.com .. _github: http://github.com
.. _bitbucket: http://www.bitbucket.org .. _bitbucket: http://www.bitbucket.org

View file

@ -2,6 +2,7 @@ Help me to go to the distutils2 paris' sprint
############################################# #############################################
:date: 2011-01-15 :date: 2011-01-15
:category: tech
**Edit: Thanks to logilab and some amazing people, I can make it to paris for the **Edit: Thanks to logilab and some amazing people, I can make it to paris for the
sprint. Many thanks to them for the support!** sprint. Many thanks to them for the support!**
@ -13,8 +14,8 @@ You can find more informations about the sprint on the wiki page of the event
(http://wiki.python.org/moin/Distutils/SprintParis). (http://wiki.python.org/moin/Distutils/SprintParis).
I really want to go there but I'm unfortunately blocked in UK for money reasons. I really want to go there but I'm unfortunately blocked in UK for money reasons.
The cheapest two ways I've found is about £80, which I can't afford. The cheapest two ways I've found is about £80, which I can't afford.
Following some advices on #distutils, I've set up a ChipIn account for that, so Following some advices on #distutils, I've set up a ChipIn account for that, so
if some people want to help me making it to go there, they can give me some if some people want to help me making it to go there, they can give me some
money that way. money that way.

View file

@ -2,6 +2,7 @@ PyPI on CouchDB
############### ###############
:date: 2011-01-20 :date: 2011-01-20
:category: tech
By now, there are two ways to retrieve data from PyPI (the Python Package By now, there are two ways to retrieve data from PyPI (the Python Package
Index). You can both rely on xml/rpc or on the "simple" API. The simple Index). You can both rely on xml/rpc or on the "simple" API. The simple
@ -40,7 +41,7 @@ generate records in the CouchDB instance.
The final goal is to avoid to rely on this "simple" API, and rely on a REST The final goal is to avoid to rely on this "simple" API, and rely on a REST
insterface instead. I have set up a couchdb server on my server, which is insterface instead. I have set up a couchdb server on my server, which is
available at http://couchdb.notmyidea.org/_utils/database.html?pypi. available at http://couchdb.notmyidea.org/_utils/database.html?pypi.
There is not a lot to There is not a lot to
see there for now, but I've done the first import from PyPI yesterday and all see there for now, but I've done the first import from PyPI yesterday and all
@ -60,7 +61,7 @@ You can do something like that for a full import. This **will** take long,
because it's fetching all the projects at pypi and importing their metadata:: because it's fetching all the projects at pypi and importing their metadata::
$ pypioncouch --fullimport http://your.couchdb.instance/ $ pypioncouch --fullimport http://your.couchdb.instance/
If you already have the data on your couchdb instance, you can just update it If you already have the data on your couchdb instance, you can just update it
with the last informations from pypi. **However, I recommend to just replicate with the last informations from pypi. **However, I recommend to just replicate
the principal node, hosted at http://couchdb.notmyidea.org/pypi/**, to avoid the principal node, hosted at http://couchdb.notmyidea.org/pypi/**, to avoid

View file

@ -2,9 +2,10 @@ Wrap up of the distutils2 paris' sprint
####################################### #######################################
:date: 2011-02-08 :date: 2011-02-08
:category: tech
Finally, thanks to a bunch of people that helped me to pay my train and bus Finally, thanks to a bunch of people that helped me to pay my train and bus
tickets, I've made it to paris for the distutils2 sprint. tickets, I've made it to paris for the distutils2 sprint.
They have been a bit more than 10 people to come during the sprint, and it was They have been a bit more than 10 people to come during the sprint, and it was
very productive. Here's a taste of what we've been working on: very productive. Here's a taste of what we've been working on:
@ -28,7 +29,7 @@ very productive. Here's a taste of what we've been working on:
a must. a must.
Some people have also tried to port their packaging from distutils1 to Some people have also tried to port their packaging from distutils1 to
distutils2. They have spotted a number of bugs and made some improvements distutils2. They have spotted a number of bugs and made some improvements
to the code, to make it more friendly to use. to the code, to make it more friendly to use.
I'm really pleased to see how newcomers went trough the code, and started I'm really pleased to see how newcomers went trough the code, and started

View file

@ -3,6 +3,7 @@ Working directly on your server? How to backup and sync your dev environment wit
:date: 16/03/2011 :date: 16/03/2011
:tags: freebsd, unison :tags: freebsd, unison
:category: tech
I have a server running freebsd since some time now, and was wondering about I have a server running freebsd since some time now, and was wondering about
the possibility to directly have a development environment ready to use when the possibility to directly have a development environment ready to use when
@ -145,7 +146,7 @@ feedback from the sync:
message += " It took {0}s.".format(delta) message += " It took {0}s.".format(delta)
if display_message: if display_message:
os.system('notify-send -i {2} "{0}" "{1}"'.format(program_name, message, os.system('notify-send -i {2} "{0}" "{1}"'.format(program_name, message,
'error' if error else 'info')) 'error' if error else 'info'))
if __name__ == "__main__": if __name__ == "__main__":
@ -153,7 +154,7 @@ feedback from the sync:
This is probably perfectible, but that does the job. This is probably perfectible, but that does the job.
Last step is to tell you machine to run that frequently. That's what `crontab` Last step is to tell you machine to run that frequently. That's what `crontab`
is made for, so let's `crontab -e`:: is made for, so let's `crontab -e`::
$ * */3 * * * . ~/.Xdbus; /usr/bin/python /home/alexis/dev/python/unison-syncer/sync.py $ * */3 * * * . ~/.Xdbus; /usr/bin/python /home/alexis/dev/python/unison-syncer/sync.py
@ -187,5 +188,5 @@ content.
And it comes from `here <http://ubuntuforums.org/showthread.php?p=10148738#post10148738>`_. And it comes from `here <http://ubuntuforums.org/showthread.php?p=10148738#post10148738>`_.
A sync takes about 20s + the upload time on my machine, which stay acceptable for A sync takes about 20s + the upload time on my machine, which stay acceptable for
all of my developments. all of my developments.

View file

@ -3,6 +3,7 @@ Analyse users' browsing context to build up a web recommender
:date: 2011-04-01 :date: 2011-04-01
:tags: recommendations, browsers, users :tags: recommendations, browsers, users
:category: tech
No, this is not an april's fool ;) No, this is not an april's fool ;)
@ -17,12 +18,12 @@ new. After all, that's the good time to learn.
Since a long time, I'm being impressed by the `last.fm <http://last.fm>`_ Since a long time, I'm being impressed by the `last.fm <http://last.fm>`_
recommender system. They're *scrobbling* the music I listen to since something recommender system. They're *scrobbling* the music I listen to since something
like 5 years now and the recommendations they're doing are really nice and like 5 years now and the recommendations they're doing are really nice and
accurate (I discovered **a lot** of great artists listening to the accurate (I discovered **a lot** of great artists listening to the
"neighbour radio".) (by the way, `here is <http://lastfm.com/user/akounet/>`_ "neighbour radio".) (by the way, `here is <http://lastfm.com/user/akounet/>`_
my lastfm account) my lastfm account)
So I decided to work on recommender systems, to better understand what is it So I decided to work on recommender systems, to better understand what is it
about. about.
Recommender systems are usually used to increase the sales of products Recommender systems are usually used to increase the sales of products
(like Amazon.com does) which is not really what I'm looking for (The one who (like Amazon.com does) which is not really what I'm looking for (The one who
@ -32,13 +33,13 @@ Actually, the most simple thing I thought of was the web: I'm browsing it quite
every day and each time new content appears. I've stopped to follow `my feed every day and each time new content appears. I've stopped to follow `my feed
reader <https://bitbucket.org/bruno/aspirator/>`_ because of the reader <https://bitbucket.org/bruno/aspirator/>`_ because of the
information overload, and reduced drastically the number of people I follow `on information overload, and reduced drastically the number of people I follow `on
twitter <http://twitter.com/ametaireau/>`_. twitter <http://twitter.com/ametaireau/>`_.
Too much information kills the information. Too much information kills the information.
You shall got what will be my dissertation topic: a recommender system for You shall got what will be my dissertation topic: a recommender system for
the web. Well, such recommender systems already exists, so I will try to add contextual the web. Well, such recommender systems already exists, so I will try to add contextual
information to them: you're probably not interested by the same topics at different information to them: you're probably not interested by the same topics at different
times of the day, or depending on the computer you're using. We can also times of the day, or depending on the computer you're using. We can also
probably make good use of the way you browse to create groups into the content probably make good use of the way you browse to create groups into the content
you're browsing (or even use the great firefox4 tab group feature). you're browsing (or even use the great firefox4 tab group feature).
@ -119,7 +120,7 @@ Castellano et Al, 2007). Because raw data can contain a lot of un-needed text
Multiple techniques can be used here and belongs to boilerplate removal and Multiple techniques can be used here and belongs to boilerplate removal and
full text extraction (Kohlschütter et Al, 2010). full text extraction (Kohlschütter et Al, 2010).
Then, structuring the information: category, type of content (news, blog, wiki) Then, structuring the information: category, type of content (news, blog, wiki)
can be extracted from raw data. This kind of information is not clearly defined can be extracted from raw data. This kind of information is not clearly defined
by HTML pages so there is a need of tools to recognise them. by HTML pages so there is a need of tools to recognise them.
@ -157,16 +158,16 @@ Segaran, 2007).
References: References:
* Balabanović, M., & Shoham, Y. (1997). Fab: content-based, collaborative * Balabanović, M., & Shoham, Y. (1997). Fab: content-based, collaborative
recommendation. Communications of the ACM, 40(3), 6672. ACM. recommendation. Communications of the ACM, 40(3), 6672. ACM.
Retrieved March 1, 2011, from http://portal.acm.org/citation.cfm?id=245108.245124&amp;. Retrieved March 1, 2011, from http://portal.acm.org/citation.cfm?id=245108.245124&amp;.
* Berners-Lee, T., Hendler, J., & Lassila, O. (2001). * Berners-Lee, T., Hendler, J., & Lassila, O. (2001).
The semantic web: Scientific american. Scientific American, 284(5), 3443. The semantic web: Scientific american. Scientific American, 284(5), 3443.
Retrieved November 21, 2010, from http://www.citeulike.org/group/222/article/1176986. Retrieved November 21, 2010, from http://www.citeulike.org/group/222/article/1176986.
* Castellano, G., Fanelli, A., & Torsello, M. (2007). * Castellano, G., Fanelli, A., & Torsello, M. (2007).
LODAP: a LOg DAta Preprocessor for mining Web browsing patterns. Proceedings of the 6th Conference on 6th WSEAS Int. Conf. on Artificial Intelligence, Knowledge Engineering and Data Bases-Volume 6 (p. 1217). World Scientific and Engineering Academy and Society (WSEAS). Retrieved March 8, 2011, from http://portal.acm.org/citation.cfm?id=1348485.1348488. LODAP: a LOg DAta Preprocessor for mining Web browsing patterns. Proceedings of the 6th Conference on 6th WSEAS Int. Conf. on Artificial Intelligence, Knowledge Engineering and Data Bases-Volume 6 (p. 1217). World Scientific and Engineering Academy and Society (WSEAS). Retrieved March 8, 2011, from http://portal.acm.org/citation.cfm?id=1348485.1348488.
* Kohlschutter, C., Fankhauser, P., & Nejdl, W. (2010). Boilerplate detection using shallow text features. Proceedings of the third ACM international conference on Web search and data mining (p. 441450). ACM. Retrieved March 8, 2011, from http://portal.acm.org/citation.cfm?id=1718542. * Kohlschutter, C., Fankhauser, P., & Nejdl, W. (2010). Boilerplate detection using shallow text features. Proceedings of the third ACM international conference on Web search and data mining (p. 441450). ACM. Retrieved March 8, 2011, from http://portal.acm.org/citation.cfm?id=1718542.
* Myatt, G. J. (2007). Making Sense of Data: A Practical Guide to Exploratory * Myatt, G. J. (2007). Making Sense of Data: A Practical Guide to Exploratory
Data Analysis and Data Mining. Data Analysis and Data Mining.
* Segaran, T. (2007). Collective Intelligence. * Segaran, T. (2007). Collective Intelligence.

View file

@ -3,6 +3,7 @@ Travailler moins pour mieux travailler ?
:date: 2011-05-19 :date: 2011-05-19
:lang: fr :lang: fr
:category: thoughts
Je viens de passer une semaine et demi quasiment hors-ligne et je dois dire que 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 je suis assez impressionné du résultat: je suis de retour chez mes parents pour
@ -14,19 +15,19 @@ Bosser en extérieur est un réel plaisir et faire quelque chose de manuel
c'est vraiment quelque chose que j'apprécie. c'est vraiment quelque chose que j'apprécie.
J'avoue, je mens un peu quand je dis que j'étais complètement déconnecté: 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 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 (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. minimum. Je veux dire par là pas de twitter, pas d'IRC et autres mailing-lists.
Quand je dis hors-ligne, je ne dis pas que je n'ai pas travaillé sur mon 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 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 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 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 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 é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 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 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 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 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 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 sur certaines parties de mon mémoire alors que j'étais en train de poser le

View file

@ -3,16 +3,17 @@ Un coup de main pour mon mémoire!
:date: 2011-05-25 :date: 2011-05-25
:lang: fr :lang: fr
:category: tech
Ça y est, bientôt la fin. LA FIN. La fin des études, et le début du reste. Ça y est, bientôt la fin. LA FIN. La fin des études, et le début du reste.
En attendant je bosse sur mon mémoire de fin d'études et j'aurais besoin d'un petit En attendant je bosse sur mon mémoire de fin d'études et j'aurais besoin d'un petit
coup de main. coup de main.
Mon mémoire porte sur les systèmes de recommandation. Pour ceux qui connaissent Mon mémoire porte sur les systèmes de recommandation. Pour ceux qui connaissent
last.fm, je fais quelque chose de similaire mais pour les sites internet: en me last.fm, je fais quelque chose de similaire mais pour les sites internet: en me
basant sur ce que vous visitez quotidiennement et comment vous le visitez (quelles basant sur ce que vous visitez quotidiennement et comment vous le visitez (quelles
horaires, quelle emplacement géographique, etc.) je souhaites proposer des liens horaires, quelle emplacement géographique, etc.) je souhaites proposer des liens
qui vous intéresseront potentiellement, en me basant sur l'avis des personnes qui qui vous intéresseront potentiellement, en me basant sur l'avis des personnes qui
ont des profils similaires au votre. ont des profils similaires au votre.
Le projet est loin d'être terminé, mais la première étape est de récupérer des Le projet est loin d'être terminé, mais la première étape est de récupérer des
@ -35,4 +36,4 @@ question, et c'est tout!
A votre bon cœur ! Je récupérerais probablement des données durant les 2 A votre bon cœur ! Je récupérerais probablement des données durant les 2
prochains mois pour ensuite les analyser correctement. prochains mois pour ensuite les analyser correctement.
Merci pour votre aide ! Merci pour votre aide !

View file

@ -3,18 +3,19 @@ Using JPype to bridge python and Java
:date: 11/06/2011 :date: 11/06/2011
:tags: python, java :tags: python, java
:category: tech
Java provides some interesting libraries that have no exact equivalent in Java provides some interesting libraries that have no exact equivalent in
python. In my case, the awesome boilerpipe library allows me to remove python. In my case, the awesome boilerpipe library allows me to remove
uninteresting parts of HTML pages, like menus, footers and other "boilerplate" uninteresting parts of HTML pages, like menus, footers and other "boilerplate"
contents. contents.
Boilerpipe is written in Java. Two solutions then: using java from python or Boilerpipe is written in Java. Two solutions then: using java from python or
reimplement boilerpipe in python. I will let you guess which one I chosen, meh. reimplement boilerpipe in python. I will let you guess which one I chosen, meh.
JPype allows to bridge python project with java libraries. It takes another JPype allows to bridge python project with java libraries. It takes another
point of view than Jython: rather than reimplementing python in Java, both point of view than Jython: rather than reimplementing python in Java, both
languages are interfacing at the VM level. This means you need to start a VM languages are interfacing at the VM level. This means you need to start a VM
from your python script, but it does the job and stay fully compatible with from your python script, but it does the job and stay fully compatible with
Cpython and its C extensions. Cpython and its C extensions.
@ -26,7 +27,7 @@ seamlessly with your system) you can access java classes by doing something
like that: like that:
.. code-block:: python .. code-block:: python
import jpype import jpype
jpype.startJVM(jpype.getDefaultJVMPath()) jpype.startJVM(jpype.getDefaultJVMPath())
@ -36,7 +37,7 @@ like that:
# and you have to shutdown the VM at the end # and you have to shutdown the VM at the end
jpype.shutdownJVM() jpype.shutdownJVM()
Okay, now we have a hello world, but what we want seems somehow more complex. Okay, now we have a hello world, but what we want seems somehow more complex.
We want to interact with java classes, so we will have to load them. We want to interact with java classes, so we will have to load them.
Interfacing with Boilerpipe Interfacing with Boilerpipe
@ -66,10 +67,10 @@ To run it:
.. code-block:: bash .. code-block:: bash
$ javac -cp dist/boilerpipe-1.1-dev.jar:lib/nekohtml-1.9.13.jar:lib/xerces-2.9.1.jar src/demo/de/l3s/boilerpipe/demo/Oneliner.java $ javac -cp dist/boilerpipe-1.1-dev.jar:lib/nekohtml-1.9.13.jar:lib/xerces-2.9.1.jar src/demo/de/l3s/boilerpipe/demo/Oneliner.java
$ java -cp src/demo:dist/boilerpipe-1.1-dev.jar:lib/nekohtml-1.9.13.jar:lib/xerces-2.9.1.jar de.l3s.boilerpipe.demo.Oneliner $ java -cp src/demo:dist/boilerpipe-1.1-dev.jar:lib/nekohtml-1.9.13.jar:lib/xerces-2.9.1.jar de.l3s.boilerpipe.demo.Oneliner
Yes, this is kind of ugly, sorry for your eyes. Yes, this is kind of ugly, sorry for your eyes.
Let's try something similar, but from python Let's try something similar, but from python
.. code-block:: python .. code-block:: python
@ -86,8 +87,8 @@ Let's try something similar, but from python
# call them ! # call them !
print DefaultExtractor.INSTANCE.getText(jpype.java.net.URL("http://blog.notmyidea.org")) print DefaultExtractor.INSTANCE.getText(jpype.java.net.URL("http://blog.notmyidea.org"))
And you get what you want. And you get what you want.
I must say I didn't thought it could work so easily. This will allow me to I must say I didn't thought it could work so easily. This will allow me to
extract text content from URLs and remove the *boilerplate* text easily extract text content from URLs and remove the *boilerplate* text easily
for infuse (my master thesis project), without having to write java code, nice! for infuse (my master thesis project), without having to write java code, nice!

View file

@ -4,8 +4,9 @@ Pelican, 9 months later
:tags: pelican, python, open source, nice story :tags: pelican, python, open source, nice story
:date: 25/07/2011 :date: 25/07/2011
:description: or why I like opensource so much :description: or why I like opensource so much
:category: tech
Back in October, I released `pelican <http://docs.notmyidea.org/alexis/pelican>`_, Back in October, I released `pelican <http://docs.notmyidea.org/alexis/pelican>`_,
a little piece of code I wrote to power this weblog. I had simple needs: I wanted a little piece of code I wrote to power this weblog. I had simple needs: I wanted
to be able to use my text editor of choice (vim), a vcs (mercurial) and to be able to use my text editor of choice (vim), a vcs (mercurial) and
restructured text. I started to write a really simple blog engine restructured text. I started to write a really simple blog engine
@ -22,7 +23,7 @@ I pulled features such as translations, tag
clouds, integration with different services such as twitter or piwik, import clouds, integration with different services such as twitter or piwik, import
from dotclear and rss, fixed from dotclear and rss, fixed
a number of mistakes and improved a lot the codebase. This was a proof that a number of mistakes and improved a lot the codebase. This was a proof that
there is a bunch of people that are willing to make better softwares just for there is a bunch of people that are willing to make better softwares just for
the sake of fun. the sake of fun.
Thank you, guys, you're why I like open source so much. Thank you, guys, you're why I like open source so much.

View file

@ -3,6 +3,7 @@ Using dbpedia to get languages influences
:date: 2011/08/16 :date: 2011/08/16
:tags: dbpedia, sparql, python :tags: dbpedia, sparql, python
:category: tech
While browsing the Python's wikipedia page, I found information about the languages While browsing the Python's wikipedia page, I found information about the languages
influenced by python, and the languages that influenced python itself. influenced by python, and the languages that influenced python itself.

View file

@ -3,6 +3,7 @@ How are you handling your shared expenses?
:tags: python, flask, budget-manager :tags: python, flask, budget-manager
:date: 2011-10-15 :date: 2011-10-15
:category: tech
**TL;DR:** We're kick-starting a new application to manage your shared **TL;DR:** We're kick-starting a new application to manage your shared
expenses. Have a look at http://ihatemoney.notmyidea.org expenses. Have a look at http://ihatemoney.notmyidea.org

View file

@ -3,8 +3,9 @@ La simplicité volontaire contre le mythe de l'abondance
:date: 2011-10-14 :date: 2011-10-14
:lang: fr :lang: fr
:category: thoughts
Paul Ariès dans la préface de "`La simplicité volontaire contre le mythe de Paul Ariès dans la préface de "`La simplicité volontaire contre le mythe de
l'abondance l'abondance
<http://www.editionsladecouverte.fr/catalogue/index.php?ean13=9782707169747>`_" <http://www.editionsladecouverte.fr/catalogue/index.php?ean13=9782707169747>`_"
@ -26,4 +27,3 @@ l'abondance
conditions de nos adversaires, car c'est la seule façon d'éviter le conditions de nos adversaires, car c'est la seule façon d'éviter le
pessimisme, le ressentiment, une désensibilisation croissante et… la mort pessimisme, le ressentiment, une désensibilisation croissante et… la mort
lente. lente.

View file

@ -2,11 +2,12 @@ Introducing Cornice
################### ###################
:date: 07/12/2011 :date: 07/12/2011
:category: tech
Wow, already my third working day at Mozilla. Since Monday, I've been working with Wow, already my third working day at Mozilla. Since Monday, I've been working with
`Tarek Ziadé <http://ziade.org>`_, on a pyramid REST-ish toolkit named `Cornice <https://github.com/mozilla-services/cornice>`_. `Tarek Ziadé <http://ziade.org>`_, on a pyramid REST-ish toolkit named `Cornice <https://github.com/mozilla-services/cornice>`_.
Its goal is to take care for you of what you're usually missing so you can Its goal is to take care for you of what you're usually missing so you can
focus on what's important. Cornice provides you facilities focus on what's important. Cornice provides you facilities
for validation of any kind. for validation of any kind.
@ -37,14 +38,14 @@ Here is how it works:
All the errors collected during the validation process, or after, are collected All the errors collected during the validation process, or after, are collected
before returning the request. If any, a error 400 is fired up, with the list of before returning the request. If any, a error 400 is fired up, with the list of
problems encountered returned as a nice json list response (we plan to support problems encountered returned as a nice json list response (we plan to support
multiple formats in the future) multiple formats in the future)
As you might have seen, `request.errors.add` takes three parameters: **location**, As you might have seen, `request.errors.add` takes three parameters: **location**,
**name** and **description**. **name** and **description**.
**location** is where the error is located in the request. It can either be "body", **location** is where the error is located in the request. It can either be "body",
"query", "headers" or "path". **name** is the name of the variable causing "query", "headers" or "path". **name** is the name of the variable causing
problem, if any, and **description** contains a more detailed message. problem, if any, and **description** contains a more detailed message.
Let's run this simple service and send some queries to it:: Let's run this simple service and send some queries to it::
@ -68,8 +69,8 @@ The content returned is in JSON, and I know exactly what I have to do: add an
{"test": "yay!"} {"test": "yay!"}
Validators can also convert parts of the request and store the converted value Validators can also convert parts of the request and store the converted value
in `request.validated`. It is a standard dict automatically attached to the in `request.validated`. It is a standard dict automatically attached to the
requests. requests.
For instance, in our validator, we can chose to validate the parameter passed For instance, in our validator, we can chose to validate the parameter passed
and use it in the body of the webservice: and use it in the body of the webservice:
@ -90,7 +91,7 @@ and use it in the body of the webservice:
@service.get(validator=is_awesome) @service.get(validator=is_awesome)
def get1(request): def get1(request):
return {"test": request.validated['awesome']} return {"test": request.validated['awesome']}
The output would look like this: The output would look like this:
:: ::
@ -98,7 +99,7 @@ The output would look like this:
curl http://127.0.0.1:5000/service?awesome=yeah curl http://127.0.0.1:5000/service?awesome=yeah
{"test": "awesome yeah"} {"test": "awesome yeah"}
Dealing with "Accept" headers Dealing with "Accept" headers
============================= =============================
@ -120,18 +121,18 @@ supported, using the `accept` parameter:
def get1(request): def get1(request):
return {"test": "yay!"} return {"test": "yay!"}
Now, if you specifically ask for XML, Cornice will throw a 406 with the list of Now, if you specifically ask for XML, Cornice will throw a 406 with the list of
accepted `Content-Type` values:: accepted `Content-Type` values::
$ curl -vH "Accept: application/xml" http://127.0.0.1:5000/service $ curl -vH "Accept: application/xml" http://127.0.0.1:5000/service
> GET /service HTTP/1.1 > GET /service HTTP/1.1
> Host: 127.0.0.1:5000 > Host: 127.0.0.1:5000
> Accept: application/xml > Accept: application/xml
> >
< HTTP/1.0 406 Not Acceptable < HTTP/1.0 406 Not Acceptable
< Content-Type: application/json; charset=UTF-8 < Content-Type: application/json; charset=UTF-8
< Content-Length: 33 < Content-Length: 33
< <
["application/json", "text/json"] ["application/json", "text/json"]
@ -167,9 +168,9 @@ What's next?
We try to make our best to find how Cornice can help you build better We try to make our best to find how Cornice can help you build better
web services. Cool features we want for the future include the automatic web services. Cool features we want for the future include the automatic
publication of a static definition of the services, so it can be used by clients publication of a static definition of the services, so it can be used by clients
to discover services in a nice way. to discover services in a nice way.
Of course, we are open to all your ideas and patches! If you feel haskish and Of course, we are open to all your ideas and patches! If you feel haskish and
want to see the sources, `go grab them on github <https://github.com/mozilla-services/cornice>`_ want to see the sources, `go grab them on github <https://github.com/mozilla-services/cornice>`_
, commit and send us a pull request! , commit and send us a pull request!

View file

@ -4,6 +4,7 @@ Quels usages pour l'informatique ?
:date: 01/12/2011 :date: 01/12/2011
:lang: fr :lang: fr
:slug: usages-informatique :slug: usages-informatique
:category: thoughts
Quand on termine ses études, on s'en pose un tas, des questions. Sur le métier Quand on termine ses études, on s'en pose un tas, des questions. Sur le métier
que l'on veut faire, sur ce que ça signifie, sur le sens et la valeur du que l'on veut faire, sur ce que ça signifie, sur le sens et la valeur du
@ -116,7 +117,7 @@ Parce que l'informatique est utile dans bien des milieux, parce qu'elle peut
être (et elle l'est) un vecteur de participation et de collaboration, défendons être (et elle l'est) un vecteur de participation et de collaboration, défendons
les valeurs qui nous sont chères (logiciels libres et ouverts!) et construisons les valeurs qui nous sont chères (logiciels libres et ouverts!) et construisons
des ponts entre les initiatives qui nous parlent (fermes autogérées, des ponts entre les initiatives qui nous parlent (fermes autogérées,
initiatives d'éducation populaire) et l'informatique. initiatives d'éducation populaire) et l'informatique.
Faisons en sorte de rendre l'informatique accessible et utile dans les milieux Faisons en sorte de rendre l'informatique accessible et utile dans les milieux
ou elle peut apporter quelque chose ! ou elle peut apporter quelque chose !

View file

@ -2,11 +2,12 @@
################## ##################
:date: 21-01-2012 :date: 21-01-2012
:category: thoughts
A lot of changes in these last months. First of all, I've started to A lot of changes in these last months. First of all, I've started to
work for `Mozilla <http://mozilla.org>`_, on the Services team, where I am working on work for `Mozilla <http://mozilla.org>`_, on the Services team, where I am working on
web services and scalability. Basically, what we are trying to do at services web services and scalability. Basically, what we are trying to do at services
is to provide a way for developers to make web services able to scale out of is to provide a way for developers to make web services able to scale out of
the box. the box.
Our most visible and known project, so far, is Firefox Sync, which allows to synchronize Our most visible and known project, so far, is Firefox Sync, which allows to synchronize
@ -36,7 +37,7 @@ it unexpected, and that's the case. I'm usually not a big fan of big cities and
am a fairly strong defender of having and creating activities in the country side, am a fairly strong defender of having and creating activities in the country side,
to face the rural exodus problem, into other thingS. to face the rural exodus problem, into other thingS.
I didn't changed my opinion about that. However, I don't want to *start* by I didn't changed my opinion about that. However, I don't want to *start* by
working remote, especially when working with a remote team. Having offices kind working remote, especially when working with a remote team. Having offices kind
of help me to have a differentiation between my working place and home, which I of help me to have a differentiation between my working place and home, which I
find to be important. find to be important.

View file

@ -3,6 +3,7 @@ Les dangers du livre numérique
:date: 23-01-2012 :date: 23-01-2012
:lang: fr :lang: fr
:category: thoughts
Le framablog vient de publier `une traduction de l'article de RMS à propos des dangers du livre électronique <http://www.framablog.org/index.php/post/2012/01/22/stallman-ebook-livre-electronique>`_. Intéressant, même si il faut faire attention à ne pas confondre livre électronique et risques liés au format de distribution. Le framablog vient de publier `une traduction de l'article de RMS à propos des dangers du livre électronique <http://www.framablog.org/index.php/post/2012/01/22/stallman-ebook-livre-electronique>`_. Intéressant, même si il faut faire attention à ne pas confondre livre électronique et risques liés au format de distribution.

View file

@ -4,6 +4,7 @@ Bidouille
:date: 30-04-2012 :date: 30-04-2012
:tags: diy, électronique, hack, bidouille :tags: diy, électronique, hack, bidouille
:lang: fr :lang: fr
:category: thoughts
Bidouille bidouille bidouille. Bidouille bidouille bidouille.

View file

@ -6,6 +6,7 @@ Génération de formulaires, geolocalisés ?
:author: Alexis Métaireau, Mathieu Leplatre :author: Alexis Métaireau, Mathieu Leplatre
:tags: GIS, forms :tags: GIS, forms
:lang: fr :lang: fr
:category: tech
On a un plan. Un "truc de ouf". On a un plan. Un "truc de ouf".
@ -59,7 +60,7 @@ général:
* Un "administrateur" se rend sur le site web et crée un nouveau formulaire * Un "administrateur" se rend sur le site web et crée un nouveau formulaire
pour l'ensemble des évènements alternatifs. Il crée les champs suivants: pour l'ensemble des évènements alternatifs. Il crée les champs suivants:
* Nom: le champ qui contient le nom de l'évènement. * Nom: le champ qui contient le nom de l'évènement.
* Catégorie: la catégorie de l'évènement (marche, concert, manifestation…). * Catégorie: la catégorie de l'évènement (marche, concert, manifestation…).
@ -75,7 +76,7 @@ général:
(oui/non, multiple sélection, date, heure, champ géocodé, sélection carto, (oui/non, multiple sélection, date, heure, champ géocodé, sélection carto,
etc.) etc.)
* Une fois terminé, le formulaire est généré et une URL permet d'y accéder. * Une fois terminé, le formulaire est généré et une URL permet d'y accéder.
(par exemple http://forms.notmyidea.org/alternatives). (par exemple http://forms.notmyidea.org/alternatives).
* Une API REST permet à d'autres applications d'accéder aux informations et d'en * Une API REST permet à d'autres applications d'accéder aux informations et d'en
@ -106,7 +107,7 @@ endroits accessibles (pour fauteuils roulants etc.), identification des arbres,
bons coins à champignons, recensement des espèces en voie de disparition bons coins à champignons, recensement des espèces en voie de disparition
(l'aigle de Bonelli est actuellement suivi en utilisant une feuille de calcul (l'aigle de Bonelli est actuellement suivi en utilisant une feuille de calcul
partagée !), suivi des espèces dangereuses (le frelon asiatique par exemple), partagée !), suivi des espèces dangereuses (le frelon asiatique par exemple),
cartographier les points d'affichage publicitaires, participation citoyenne cartographier les points d'affichage publicitaires, participation citoyenne
(graffitis, nids de poule, voir http://fixmystreet.ca), geocaching, (graffitis, nids de poule, voir http://fixmystreet.ca), geocaching,
trajectoires (randonnées, coureurs, cyclistes)… trajectoires (randonnées, coureurs, cyclistes)…
@ -162,7 +163,7 @@ formulaires de manière automatique et récupérer les données "nettoyées" et
"validées". "validées".
On peut imaginer par exemple l'utilisation d'un système de templates externe On peut imaginer par exemple l'utilisation d'un système de templates externe
reposant sur *carto-forms*. Celui-ci "parserait" le contenu des templates et reposant sur *carto-forms*. Celui-ci "parserait" le contenu des templates et
pourrait le lier aux informations ajoutées par les utilisateurs via un formulaire. pourrait le lier aux informations ajoutées par les utilisateurs via un formulaire.
Pour ce cas particulier, il n'y a pas besoin d'informations géographiques Pour ce cas particulier, il n'y a pas besoin d'informations géographiques
@ -180,7 +181,7 @@ avec un système de drag'n'drop. J'adorerais reproduire quelque chose de
similaire pour l'interface utilisateur. Par contre ce projet ne gère pas les similaire pour l'interface utilisateur. Par contre ce projet ne gère pas les
appels via API et les informations de géolocalisation … appels via API et les informations de géolocalisation …
L'idée de http://thoth.io est également assez sympathique: une api très L'idée de http://thoth.io est également assez sympathique: une api très
simple pour stocker et récupérer des données. En plus de ça, *carto-forms* simple pour stocker et récupérer des données. En plus de ça, *carto-forms*
proposerait de la validation de données et proposerait un support des points proposerait de la validation de données et proposerait un support des points
SIG (point, ligne, polygone). SIG (point, ligne, polygone).

View file

@ -6,6 +6,7 @@ Thoughts about a form generation service, GIS enabled
:author: Alexis Métaireau, Mathieu Leplatre :author: Alexis Métaireau, Mathieu Leplatre
:tags: GIS, forms :tags: GIS, forms
:lang: en :lang: en
:category: tech
We have a plan. A "fucking good" one. We have a plan. A "fucking good" one.
@ -41,7 +42,7 @@ Imagine the following:
pre-populated using device geolocation ; pre-populated using device geolocation ;
3. At the end of the day, we can see a map with all user contributions seized 3. At the end of the day, we can see a map with all user contributions seized
through this particular form ; through this particular form ;
4. If relevant, a script could eventually import the resulting dataset and 4. If relevant, a script could eventually import the resulting dataset and
publish/merge with OpenStreetMap. publish/merge with OpenStreetMap.
@ -53,7 +54,7 @@ facet filtering. Let's draw a potential user flow:
* An "administrator" goes to the website and creates a form to list all the * An "administrator" goes to the website and creates a form to list all the
alternative-related events. He creates the following fields: alternative-related events. He creates the following fields:
* Name: a plain text field containing the name of the event. * Name: a plain text field containing the name of the event.
* Category: the category of the event. Can be a finite list. * Category: the category of the event. Can be a finite list.
@ -88,11 +89,11 @@ To push the cursor a bit further, if we can come with a cool description format
for the forms, we could even build the forms dynamically on different platforms, for the forms, we could even build the forms dynamically on different platforms,
with generic clients. with generic clients.
As mentioned before, the idea of a simple tool to support collaborative mapping As mentioned before, the idea of a simple tool to support collaborative mapping
fullfils a recurring necessity ! fullfils a recurring necessity !
We envision a lot of example uses for this : recycling spots, accessible spots (wheelchairs, We envision a lot of example uses for this : recycling spots, accessible spots (wheelchairs,
etc.), trees identification, mushrooms picking areas, tracking of endangered species etc.), trees identification, mushrooms picking areas, tracking of endangered species
(e.g. Bonelli's Eagle is currently tracked by sharing a spreadsheet), spotting of dangerous (e.g. Bonelli's Eagle is currently tracked by sharing a spreadsheet), spotting of dangerous
species (e.g. asian predatory wasps), map advertisement boards (most cities do not track them!), species (e.g. asian predatory wasps), map advertisement boards (most cities do not track them!),
citizen reporting (e.g. graffiti, potholes, garbage, lightning like http://fixmystreet.ca), citizen reporting (e.g. graffiti, potholes, garbage, lightning like http://fixmystreet.ca),
@ -107,12 +108,12 @@ Let's say you are a mobile developer, you don't want to bother with PostGIS
nor write a custom and insecure code to insert and retrieve your GIS data! You nor write a custom and insecure code to insert and retrieve your GIS data! You
need carto-forms! A simple API helps you design your models/forms and the need carto-forms! A simple API helps you design your models/forms and the
same API allows you to CRUD and query your data. Thus, you only need to focus same API allows you to CRUD and query your data. Thus, you only need to focus
on your application, not on how GIS data will be handled. on your application, not on how GIS data will be handled.
We make a distinction between storage and widgets. We make a distinction between storage and widgets.
Besides, if you are a django / drupal / plomino... maintainer : you Besides, if you are a django / drupal / plomino... maintainer : you
can develop a module to "plug" your models (content types) and UI to carto-forms! can develop a module to "plug" your models (content types) and UI to carto-forms!
Carto forms are then exposed to your backoffice users (ex: drupal admin UI, django Carto forms are then exposed to your backoffice users (ex: drupal admin UI, django
adminsite), and likewise you can write your own HTML widgets that consume datasets adminsite), and likewise you can write your own HTML widgets that consume datasets
in frontend views (facets in JSON/XML, and map data in GeoJSON). in frontend views (facets in JSON/XML, and map data in GeoJSON).
@ -122,11 +123,11 @@ Visualization tool
------------------ ------------------
Since data submission can be done programmatically using the API, you could use Carto-forms Since data submission can be done programmatically using the API, you could use Carto-forms
results page as a visualization tool. results page as a visualization tool.
You can explore your dataset content using filters related to each form field. Facets filtering You can explore your dataset content using filters related to each form field. Facets filtering
is a great advantage, and a map shows the resulting features set. You feel like you're in is a great advantage, and a map shows the resulting features set. You feel like you're in
front of a decision support system! front of a decision support system!
Of course, filtered raw data can be downloaded (GeoJSON, XML) and a permalink allows to Of course, filtered raw data can be downloaded (GeoJSON, XML) and a permalink allows to
share the page with the state of the filters and the zoom/location of the map. share the page with the state of the filters and the zoom/location of the map.
@ -138,15 +139,15 @@ Generic forms service
If you want to generate a configuration file (or whatever, email messages, ...), If you want to generate a configuration file (or whatever, email messages, ...),
you will need a form and a template to inlay user submitted values and get the result. you will need a form and a template to inlay user submitted values and get the result.
A form service would be really useful to create forms programmatically and retrieve A form service would be really useful to create forms programmatically and retrieve
cleaned and validated input values. cleaned and validated input values.
You could run a dedicated template service based on *carto-forms*! Parsing a template You could run a dedicated template service based on *carto-forms*! Parsing a template
content, this external service could create a form dynamically and bind them together. content, this external service could create a form dynamically and bind them together.
The output of the form service (fields => values) would be bound to the input of a template The output of the form service (fields => values) would be bound to the input of a template
engine (variables => final result). engine (variables => final result).
Note that for this use-case, there is no specific need of GIS data nor storage of records Note that for this use-case, there is no specific need of GIS data nor storage of records
for further retrieval. for further retrieval.

View file

@ -3,8 +3,9 @@ Djangocong 2012
:date: 16-04-2012 :date: 16-04-2012
:lang: fr :lang: fr
:category: thoughts
Ce week-end, c'était `djangocong`_, une conférence autour de `django`_, Ce week-end, c'était `djangocong`_, une conférence autour de `django`_,
de `python`_ et du web, qui avait lieu dans le sud, à Carnon-plage, à quelques de `python`_ et du web, qui avait lieu dans le sud, à Carnon-plage, à quelques
kilomètres de Montpellier la belle. kilomètres de Montpellier la belle.
@ -29,7 +30,7 @@ d'écoute. Et contrairement à mes attentes, ce n'est pas trop court. Pas mal de
retours d'expérience pour le coup, et une matinée pas vraiment techniques, mais retours d'expérience pour le coup, et une matinée pas vraiment techniques, mais
ça pose le décor et permet de savoir qui fait quoi. ça pose le décor et permet de savoir qui fait quoi.
Parmi l'ensemble des conférences du matin, je retiens principalement Parmi l'ensemble des conférences du matin, je retiens principalement
celle de Mathieu Leplatre, "des cartes d'un autre monde", qui m'a réellement celle de Mathieu Leplatre, "des cartes d'un autre monde", qui m'a réellement
bluffée quand à la facilité de créer des cartes avec `TileMill bluffée quand à la facilité de créer des cartes avec `TileMill
<http://mapbox.com/tilemill/>`_, et qui me pousse à reconsidérer le fait que "la <http://mapbox.com/tilemill/>`_, et qui me pousse à reconsidérer le fait que "la

View file

@ -3,6 +3,7 @@ Lifestyle
:lang: fr :lang: fr
:date: 11-05-2012 :date: 11-05-2012
:category: thoughts
Eh beh, c'est pas aussi simple qu'il y parait de trouver un environnement qui Eh beh, c'est pas aussi simple qu'il y parait de trouver un environnement qui
permette autant de travailler correctement et de ne pas s'enfermer dans le permette autant de travailler correctement et de ne pas s'enfermer dans le
@ -51,7 +52,7 @@ Tout de suite ça me parles plus.
Et quand-est-ce qu'on arrête ? Et quand-est-ce qu'on arrête ?
============================== ==============================
Une autre chose assez difficile à gérer, c'est le temps. Une autre chose assez difficile à gérer, c'est le temps.
J'ai vraiment une chance monstrueuse, celle de faire un travail qui me plait, J'ai vraiment une chance monstrueuse, celle de faire un travail qui me plait,
éthiquement et techniquement. Je pourrais y passer mes journées et mes nuits éthiquement et techniquement. Je pourrais y passer mes journées et mes nuits

View file

@ -3,6 +3,7 @@ Refactoring Cornice
:date: 14-05-2012 :date: 14-05-2012
:tags: python, Cornice, refactoring :tags: python, Cornice, refactoring
:category: tech
After working for a while with `Cornice <http://cornice.readthedocs.com>`_ to After working for a while with `Cornice <http://cornice.readthedocs.com>`_ to
define our APIs at `Services <http://docs.services.mozilla.com>`_, it turned define our APIs at `Services <http://docs.services.mozilla.com>`_, it turned
@ -11,8 +12,8 @@ what we wanted to do.
Cornice started as a toolkit on top of the `pyramid Cornice started as a toolkit on top of the `pyramid
<http://docs.pylonsproject.org/en/latest/docs/pyramid.html>`_ routing system, <http://docs.pylonsproject.org/en/latest/docs/pyramid.html>`_ routing system,
allowing to register services in a simpler way. Then we added some niceties allowing to register services in a simpler way. Then we added some niceties
such as the ability to automatically generate the services documentation or such as the ability to automatically generate the services documentation or
returning the correct HTTP headers `as defined by the HTTP specification returning the correct HTTP headers `as defined by the HTTP specification
<http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html>`_ without the need <http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html>`_ without the need
from the developer to deal with them nor to know them. from the developer to deal with them nor to know them.
@ -21,7 +22,7 @@ If you're not familiar with Cornice, here is how you define a simple service
with it: with it:
.. code-block:: python .. code-block:: python
from cornice.service import Service from cornice.service import Service
bar = Service(path="/bar") bar = Service(path="/bar")
@ -32,7 +33,7 @@ with it:
This external API is quite cool, as it allows to do a bunch of things quite This external API is quite cool, as it allows to do a bunch of things quite
easily. For instance, we've written our `token-server easily. For instance, we've written our `token-server
<https://github.com/mozilla-services/tokenserver>`_ code on top of this in a <https://github.com/mozilla-services/tokenserver>`_ code on top of this in a
blast. blast.
The burden The burden
========== ==========
@ -47,7 +48,7 @@ you can get the gist of it).
.. code-block:: python .. code-block:: python
class Service(object): class Service(object):
def __init__(self, **service_kwargs): def __init__(self, **service_kwargs):
# some information, such as the colander schemas (for validation), # some information, such as the colander schemas (for validation),
# the defined methods that had been registered for this service and # the defined methods that had been registered for this service and
@ -166,7 +167,7 @@ Here is the gist of the new architecture:
self.add_view(method, view, **kwargs) self.add_view(method, view, **kwargs)
return view return view
return wrapper return wrapper
So, the service is now only storing the information that's passed to it and So, the service is now only storing the information that's passed to it and
nothing more. No more route registration logic goes here. Instead, I added this nothing more. No more route registration logic goes here. Instead, I added this
as another feature, even in a different module. The function is named as another feature, even in a different module. The function is named

View file

@ -4,6 +4,7 @@ Pourquoi Mozilla?
:date: 2012-07-16 :date: 2012-07-16
:tags: logiciel-libre, valeurs :tags: logiciel-libre, valeurs
:lang: fr :lang: fr
:category: thoughts
Depuis que j'ai commencé à bosser chez Mozilla, je me retrouve assez souvent à Depuis que j'ai commencé à bosser chez Mozilla, je me retrouve assez souvent à
expliquer ce que j'y fais. J'aime bien raconter l'histoire de Mozilla, la expliquer ce que j'y fais. J'aime bien raconter l'histoire de Mozilla, la

View file

@ -3,6 +3,7 @@ Cheese & Code party: October 20-21
:date: 20/09/2012 :date: 20/09/2012
:slug: afpy-computer-camp-october-20-21 :slug: afpy-computer-camp-october-20-21
:category: tech
At PyconFR, this week-end, a few ideas were thrown in the air and one of them At PyconFR, this week-end, a few ideas were thrown in the air and one of them
was to have a /dev/fort doing some python-related coding. was to have a /dev/fort doing some python-related coding.

View file

@ -2,6 +2,7 @@ Circus sprint at PyconFR
######################## ########################
:date: 17/09/2012 :date: 17/09/2012
:category: tech
Last Thursday to Sunday, `Pycon France <http://pycon.fr>`_ took place, in Last Thursday to Sunday, `Pycon France <http://pycon.fr>`_ took place, in
Paris. It was the opportunity to meet a lot of people and to talk about python Paris. It was the opportunity to meet a lot of people and to talk about python
@ -58,7 +59,7 @@ with `Mathieu Agopian <http://mathieu.agopian.info/>`_. We also tried to
improve the documentation at different levels. improve the documentation at different levels.
Documentation still needs a lot of love, and I'm planning to spend some time on 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 this shortly. I've gathered a bunch of feedback on this
Circus clustering capabilities Circus clustering capabilities
============================== ==============================
@ -83,7 +84,7 @@ Project management
We've had some inquiries telling us that's not as easy as it should to get 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 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 have any release schedule, and that the documentation is hairy enough to lost
people, at some point :) people, at some point :)
That's something we'll try to fix soon :) That's something we'll try to fix soon :)

View file

@ -3,6 +3,7 @@ Motivation, bénévolat et participation
:date: 04-10-2012 :date: 04-10-2012
:lang: fr :lang: fr
:category: thoughts
Des luttes, dieu (même si on peut à juste titre se demander ce qu'il vient Des luttes, dieu (même si on peut à juste titre se demander ce qu'il vient
faire là) sait qu'il y en a. Principalement pour pointer du doigt les hérésies faire là) sait qu'il y en a. Principalement pour pointer du doigt les hérésies
@ -14,7 +15,7 @@ et à encore bien d'autres choses.
Pendant un bout de temps, j'ai parlé d'entraide, de collaboration, j'ai essayé Pendant un bout de temps, j'ai parlé d'entraide, de collaboration, j'ai essayé
de sensibiliser autour de la question environnementale et aux alternatives de sensibiliser autour de la question environnementale et aux alternatives
sociales. C'est d'ailleurs de cette manière que je me suis moi-même le plus sociales. C'est d'ailleurs de cette manière que je me suis moi-même le plus
sensibilisé à ces questions qui me préoccupaient. sensibilisé à ces questions qui me préoccupaient.
J'ai tenté de le faire sans tomber dans la critique des choix des uns et des J'ai tenté de le faire sans tomber dans la critique des choix des uns et des
autres. Je respecte profondément la diversité des points de vues **mais** je autres. Je respecte profondément la diversité des points de vues **mais** je
@ -24,7 +25,7 @@ Une des choses difficile à supporter (pour les autres) quand on fait de la
sensibilisation, c'est le syndrôme du jeune con, du donneur de leçons. sensibilisation, c'est le syndrôme du jeune con, du donneur de leçons.
On dirait qu'on parle de sauver le monde. "Nous qui avons tout compris, on peut On dirait qu'on parle de sauver le monde. "Nous qui avons tout compris, on peut
vous aider à aller dans la *bonne direction*", mais c'est en oubliant que vous aider à aller dans la *bonne direction*", mais c'est en oubliant que
la bonne direction pour l'un ne l'est pas nécessairement pour les autres… la bonne direction pour l'un ne l'est pas nécessairement pour les autres…
Just do it ! Just do it !

View file

@ -3,6 +3,7 @@ Bière maison !
:date: 04-10-2012 :date: 04-10-2012
:lang: fr :lang: fr
:category: diy
Et voilà, c'est notre troisième brassin. On a commencé à faire notre propre Et voilà, c'est notre troisième brassin. On a commencé à faire notre propre
bière (avec un ami, Fred) il y a quasiment un an maintenant, et après quelques bière (avec un ami, Fred) il y a quasiment un an maintenant, et après quelques

View file

@ -2,6 +2,7 @@ Cheese & code - Wrap-up
####################### #######################
:date: 2012-10-22 :date: 2012-10-22
:category: tech
This week-end I hosted a *cheese & code* session in the country-side of Angers, This week-end I hosted a *cheese & code* session in the country-side of Angers,
France. France.

View file

@ -3,6 +3,7 @@ Gnome 3, extensions
:date: 27-12-2012 :date: 27-12-2012
:tags: note :tags: note
:category: tech
Après avoir tenté pendant un bout de temps unity, le bureau par defaut de Après avoir tenté pendant un bout de temps unity, le bureau par defaut de
ubuntu, j'ai eu envie de changements, et j'ai donc essayé un peu de regarder du ubuntu, j'ai eu envie de changements, et j'ai donc essayé un peu de regarder du

View file

@ -3,6 +3,7 @@
:date: 27-12-2012 :date: 27-12-2012
:tags: note :tags: note
:category: musique
“Groovy”, c'est comme ça que je l'aime la musique: peut importe le style “Groovy”, c'est comme ça que je l'aime la musique: peut importe le style
finalement, la bonne musique c'est celle qui sonne, celle qui groove, celle qui finalement, la bonne musique c'est celle qui sonne, celle qui groove, celle qui

View file

@ -2,6 +2,7 @@ Habitat collectif
################# #################
:date: 28-12-2012 :date: 28-12-2012
:category: notes
Habiter à plusieurs, partager un lieu de vie, monter une communauté, changer Habiter à plusieurs, partager un lieu de vie, monter une communauté, changer
nos modes de vie et prendre plus de temps les uns pour les autres. nos modes de vie et prendre plus de temps les uns pour les autres.

View file

@ -3,6 +3,7 @@ Languages
:date: 28-12-2012 :date: 28-12-2012
:tags: note :tags: note
:category: musique
Ouriel Ellert " Languages" avec Anthony Jambon & Natascha Rogers, c'est Ouriel Ellert " Languages" avec Anthony Jambon & Natascha Rogers, c'est
enregistré par le `Studio Mezzanine enregistré par le `Studio Mezzanine

View file

@ -2,6 +2,7 @@ Notre dame des landes
##################### #####################
:date: 27-12-2012 :date: 27-12-2012
:category: notes
La lutte à Notre Dame des Landes ne fait pas du tout que commencer, mais il se La lutte à Notre Dame des Landes ne fait pas du tout que commencer, mais il se
trouve que les médias se sont "emparés" de la question que très récemment, trouve que les médias se sont "emparés" de la question que très récemment,

View file

@ -2,6 +2,7 @@ Semences paysannes
################## ##################
:date: 20-12-2012 :date: 20-12-2012
:category: notes
http://www.dailymotion.com/video/x5nhq0_les-semences-paysannes_news#from=embed http://www.dailymotion.com/video/x5nhq0_les-semences-paysannes_news#from=embed

View file

@ -3,6 +3,7 @@ Astuces SSH
:date: 27-12-2012 :date: 27-12-2012
:tags: note :tags: note
:category: notes
Tunelling Tunelling
========= =========

View file

@ -3,6 +3,7 @@ Status board
:date: 29-12-2012 :date: 29-12-2012
:lang: fr :lang: fr
:category: tech
À force de démarrer des services web pour un oui et pour un non, de proposer À force de démarrer des services web pour un oui et pour un non, de proposer
à des copains d'héberger leurs sites, de faire pareil pour quelques assos etc, à des copains d'héberger leurs sites, de faire pareil pour quelques assos etc,

View file

@ -3,6 +3,7 @@ Tricot
:date: 28-12-2012 :date: 28-12-2012
:tags: note :tags: note
:category: diy
Puisque j'ai décidé d'apprendre à faire les trucs moi-même, je me mets au Puisque j'ai décidé d'apprendre à faire les trucs moi-même, je me mets au
tricot. Et puis y'a aussi tout un symbole derrière: le tricot, c'est pour les tricot. Et puis y'a aussi tout un symbole derrière: le tricot, c'est pour les

View file

@ -2,6 +2,7 @@ New year python meme, 2012
########################## ##########################
:date: 07-01-2013 :date: 07-01-2013
:category: tech
This series, also known as "`Tarek Ziadé <http://ziade.org>`_ strikes again", This series, also known as "`Tarek Ziadé <http://ziade.org>`_ strikes again",
is a good occasion to take a look back at 2012 and see what I've done related is a good occasion to take a look back at 2012 and see what I've done related

View file

@ -4,6 +4,7 @@ Des profils de confiance partout et pour tout ?
:date: 04/02/2013 :date: 04/02/2013
:slug: confiance :slug: confiance
:lang: fr :lang: fr
:category: thoughts
Depuis un petit moment déjà, le site covoiturage.fr est passé "payant". Il est Depuis un petit moment déjà, le site covoiturage.fr est passé "payant". Il est
désormais possible (et même obligatoire) de payer les trajets à l'avance, et en désormais possible (et même obligatoire) de payer les trajets à l'avance, et en
@ -54,7 +55,7 @@ et que donc il en deviendrait un outil pour vérifier que la confiance est bien
légitime, et non pas créée de toute pièce sur le profil de la personne en légitime, et non pas créée de toute pièce sur le profil de la personne en
question. question.
Plu Plu
Plus exactement, ce qui est dit est que le paiement en ligne permet de Plus exactement, ce qui est dit est que le paiement en ligne permet de
justifier qu'il y a bien eu transaction entre deux personnes, et que donc les justifier qu'il y a bien eu transaction entre deux personnes, et que donc les

View file

@ -3,6 +3,7 @@ Implementing CORS in Cornice
:date: 04-02-2013 :date: 04-02-2013
:slug: cross-origin-in-cornice :slug: cross-origin-in-cornice
:category: tech
.. note:: .. note::

View file

@ -2,6 +2,7 @@ Le revenu de base
################# #################
:date: 10/03/2013 :date: 10/03/2013
:category: notes
.. raw:: html .. raw:: html
@ -10,7 +11,7 @@ Le revenu de base
Quelques notes prises en visualisant le documentaire "le revenu de base". Quelques notes prises en visualisant le documentaire "le revenu de base".
- 4 Allemands sur 10 travaillent. - 4 Allemands sur 10 travaillent.
- 3/10 (les enfants et jeunes) - 3/10 (les enfants et jeunes)
- 2/10 retraite / rente - 2/10 retraite / rente
- 1/10 assurance chomage / AS - 1/10 assurance chomage / AS
@ -50,13 +51,13 @@ Citations
Il faut en finir avec cette idée fausse, selon laquelle seul le travail Il faut en finir avec cette idée fausse, selon laquelle seul le travail
rémunéré constitue une contribution méritoire à la société, en réalité, c'est rémunéré constitue une contribution méritoire à la société, en réalité, c'est
souvent exactement l'inverse. souvent exactement l'inverse.
— Katja Kipping, membre du parlement allemand. — Katja Kipping, membre du parlement allemand.
Si les gens on déjà une sécurité matérielle, ils sont plus difficiles Si les gens on déjà une sécurité matérielle, ils sont plus difficiles
à corrompre. à corrompre.
— Katja Kipping — Katja Kipping

View file

@ -2,6 +2,7 @@ François Elie : Quelle école pour la société de linformation ?
############################################################### ###############################################################
:date: 14/06/2013 :date: 14/06/2013
:category: notes
http://www.framablog.org/index.php/post/2013/06/11/francois-elie-education-conference http://www.framablog.org/index.php/post/2013/06/11/francois-elie-education-conference

View file

@ -2,6 +2,7 @@ Notes: Économie libidinale et économie politique
################################################ ################################################
:date: 07/06/2013 :date: 07/06/2013
:category: notes
Une enquete d'un cabinet de marketing american ARI qui pour la première fois en Une enquete d'un cabinet de marketing american ARI qui pour la première fois en
2004 disait qu'on voyait aparaitre des "alter consommateurs", qui n'étaient pas 2004 disait qu'on voyait aparaitre des "alter consommateurs", qui n'étaient pas

View file

@ -3,6 +3,7 @@ Des carnets d'esquisse
:date: 16/08/2013 :date: 16/08/2013
:lang: fr :lang: fr
:category: thoughts
Je me rends compte que je n'écris pas si souvent que ça ici, principalement Je me rends compte que je n'écris pas si souvent que ça ici, principalement
parce que je me sens obligé d'y écrire en Anglais, mais aussi parce que je le parce que je me sens obligé d'y écrire en Anglais, mais aussi parce que je le
@ -40,6 +41,6 @@ Et puis bon, partager dans un seul sens, c'est un peu dommage !
Il est maintenant possible, avec `talka.tv <http://talka.tv>`_ d'héberger soi Il est maintenant possible, avec `talka.tv <http://talka.tv>`_ d'héberger soi
même ses commentaires. J'ai dans l'idée d'héberger une instance de ce service même ses commentaires. J'ai dans l'idée d'héberger une instance de ce service
sur `discus.notmyidea.org`, ou d'utiliser Daybed pour faire la même chose, sur `discus.notmyidea.org`, ou d'utiliser Daybed pour faire la même chose,
mais faut il encore que je le fasse, alors en attendant, j'ai réactivé disqus mais faut il encore que je le fasse, alors en attendant, j'ai réactivé disqus
ici! (Le mieux est l'ennemi du bien, paraît il !) ici! (Le mieux est l'ennemi du bien, paraît il !)

View file

@ -2,6 +2,7 @@ What's Hawk and how to use it?
############################## ##############################
:date: 2014-07-31 :date: 2014-07-31
:category: tech
At Mozilla, we recently had to implement `the Hawk authentication scheme At Mozilla, we recently had to implement `the Hawk authentication scheme
<https://github.com/hueniverse/hawk>`_ for a number of projects, and we came up <https://github.com/hueniverse/hawk>`_ for a number of projects, and we came up
@ -33,7 +34,7 @@ between the server and the client. The excellent team behind `Firefox Accounts
<http://accounts.firefox.com>`_ put together a scheme to do that, which acts <http://accounts.firefox.com>`_ put together a scheme to do that, which acts
like the following: like the following:
.. note:: .. note::
All this derivation crazyness might seem a bit complicated, but don't worry, All this derivation crazyness might seem a bit complicated, but don't worry,
we put together some libraries that takes care of that for you automatically. we put together some libraries that takes care of that for you automatically.
@ -53,7 +54,7 @@ given session token. You'll need to use the following parameters::
key_material = HKDF(hawk_session, "", 'identity.mozilla.com/picl/v1/sessionToken', 32*2) key_material = HKDF(hawk_session, "", 'identity.mozilla.com/picl/v1/sessionToken', 32*2)
.. note:: .. note::
The ``identity.mozilla.com/picl/v1/sessionToken`` is a reference to this way of The ``identity.mozilla.com/picl/v1/sessionToken`` is a reference to this way of
deriving the credentials, not an actual URL. deriving the credentials, not an actual URL.
@ -92,7 +93,7 @@ In addition, it will help you to craft requests using the requests library:
.. code-block:: python .. code-block:: python
import requests import requests
from requests_hawk import HawkAuth from requests_hawk import HawkAuth
@ -126,7 +127,7 @@ Here is a demo of how we implemented it for Daybed:
.. code-block:: python .. code-block:: python
from pyramid_hawkauth import HawkAuthenticationPolicy from pyramid_hawkauth import HawkAuthenticationPolicy
policy = HawkAuthenticationPolicy(decode_hawk_id=get_hawk_id) policy = HawkAuthenticationPolicy(decode_hawk_id=get_hawk_id)
config.set_authentication_policy(authn_policy) config.set_authentication_policy(authn_policy)

View file

@ -2,8 +2,9 @@ Retours sur deux ans à Mozilla
############################## ##############################
:date: 2014-07-29 :date: 2014-07-29
:category: thoughts
.. note:: .. note::
Ça fait un bail que j'ai cet article en cours de rédaction, et je me dis que Ça fait un bail que j'ai cet article en cours de rédaction, et je me dis que
je dois le poster maintenant, sinon je ne le ferais jamais (saloperie de je dois le poster maintenant, sinon je ne le ferais jamais (saloperie de
@ -74,7 +75,7 @@ travaillent dessus (salut `Mathieu <http://virgule.net>`_, Yohan, `David
Une partie de notre plan a été de sortir certaines fonctionnalités du code Une partie de notre plan a été de sortir certaines fonctionnalités du code
actuel, pour en faire quelque chose de plus facile à maintenir et de moins actuel, pour en faire quelque chose de plus facile à maintenir et de moins
imbriqué. imbriqué.
La Communauté La Communauté
------------- -------------

View file

@ -2,6 +2,7 @@ Quel métier, quelle utilité ?
============================= =============================
:date: 2014-07-29 :date: 2014-07-29
:category: thoughts
Aujourd'hui, mon métier est d'être développeur d'applications. Imaginer des Aujourd'hui, mon métier est d'être développeur d'applications. Imaginer des
solutions techniques pour faire marcher des logiciels, puis écrire les lignes solutions techniques pour faire marcher des logiciels, puis écrire les lignes

View file

@ -2,6 +2,7 @@ Le secret du bonheur
==================== ====================
:date: 20/11/2014 :date: 20/11/2014
:category: notes
Un enfant demande à son père : Un enfant demande à son père :
@ -18,7 +19,7 @@ Le lendemain ils sortent de nouveau.
Le père ayant installé son fils sur l'âne et lui marchant à côté. Le père ayant installé son fils sur l'âne et lui marchant à côté.
Les gens du village dirent alors : Les gens du village dirent alors :
Quel fils indigne, qui ne respecte pas son vieux père et le laisse aller à pied ! Quel fils indigne, qui ne respecte pas son vieux père et le laisse aller à pied !
@ -34,6 +35,6 @@ Cette fois les gens du village y trouvèrent encore à redire :
De retour à la maison, le père dit à son fils : De retour à la maison, le père dit à son fils :
Tu me demandais l'autre jour le secret du bonheur. Tu me demandais l'autre jour le secret du bonheur.
Peu importe ce que tu fais, il y aura toujours quelqu'un pour y trouver à redire. Peu importe ce que tu fais, il y aura toujours quelqu'un pour y trouver à redire.
Fais ce qui te plaît et là tu seras vraiment heureux. Fais ce qui te plaît et là tu seras vraiment heureux.

View file

@ -1,6 +1,7 @@
Title: Comment est-ce que vous générez vos formulaires ? Title: Comment est-ce que vous générez vos formulaires ?
Headline: Présentation d'une solution pour gérer vos formulaires en gardant la main sur les données générées Headline: Présentation d'une solution pour gérer vos formulaires en gardant la main sur les données générées
Date: 2016-05-31 Date: 2016-05-31
Category: tech
TL; DR: Je viens à peine de *releaser* la première version d'un service de génération de formulaires. TL; DR: Je viens à peine de *releaser* la première version d'un service de génération de formulaires.
Allez jeter un coup d'œil sur [https://www.fourmilieres.net](https://www.fourmilieres.net) Allez jeter un coup d'œil sur [https://www.fourmilieres.net](https://www.fourmilieres.net)

View file

@ -1,6 +1,7 @@
Chiffrement Chiffrement
########### ###########
:category: thoughts
:date: 2015-05-08 :date: 2015-05-08
:headline: Face a la surveillance généralisée, une seule solution, le :headline: Face a la surveillance généralisée, une seule solution, le
chiffrement de nos données et communications. chiffrement de nos données et communications.
@ -13,7 +14,7 @@ Chiffrement
le projet de loi n'a pas été significativement amendé en séance mi-avril, le projet de loi n'a pas été significativement amendé en séance mi-avril,
et ses dispositions dangereuses ont été conservées : et ses dispositions dangereuses ont été conservées :
- Élargissement des finalités du renseignement, permettant une **potentielle - Élargissement des finalités du renseignement, permettant une **potentielle
mise sous surveillance de pans entiers de la vie politique, syndicale, mise sous surveillance de pans entiers de la vie politique, syndicale,
militante**, mais aussi économique, scientifique, etc. ; militante**, mais aussi économique, scientifique, etc. ;

View file

@ -1,6 +1,7 @@
Simplifier les preuves d'identités Simplifier les preuves d'identités
################################## ##################################
:category: crypto
:date: 2015-05-11 :date: 2015-05-11
:headline: Qu'est-ce que Keybase.io et comment essayent-ils de simplifier la :headline: Qu'est-ce que Keybase.io et comment essayent-ils de simplifier la
création de preuves d'identité. création de preuves d'identité.

View file

@ -3,6 +3,7 @@ Language
:date: 2015-05-01 :date: 2015-05-01
:headline: Nos langues peuvent être autant de frontières que de ponts... :headline: Nos langues peuvent être autant de frontières que de ponts...
:category: thoughts
.. epigraph:: .. epigraph::
@ -11,7 +12,7 @@ Language
équivaut à les placer en situation d'infériorité. **Cela les prive de la équivaut à les placer en situation d'infériorité. **Cela les prive de la
capacité de nuance et de raffinement**, ce qui revient à faire des capacité de nuance et de raffinement**, ce qui revient à faire des
concessions à ceux dont c'est la langue maternelle. concessions à ceux dont c'est la langue maternelle.
Aussi nous savons tous que les concepts qui paraissent similaires sont Aussi nous savons tous que les concepts qui paraissent similaires sont
souvent différents d'une civilisation à l'autre. Les mots expriment une souvent différents d'une civilisation à l'autre. Les mots expriment une
culture, une façon de penser et une vision du monde. culture, une façon de penser et une vision du monde.

View file

@ -1,6 +1,7 @@
Phrases de passe et bonnes pratiques Phrases de passe et bonnes pratiques
#################################### ####################################
:category: crypto
:date: 2015-05-09 :date: 2015-05-09
:headline: Communiquer de manière chiffrée n'est pas aisée, et nécessite de :headline: Communiquer de manière chiffrée n'est pas aisée, et nécessite de
mémoriser des phrases de passes complexes. Comment s'en sortir ? mémoriser des phrases de passes complexes. Comment s'en sortir ?

View file

@ -1,6 +1,7 @@
Les problèmes de PGP Les problèmes de PGP
#################### ####################
:category: crypto
:date: 2015-05-25 :date: 2015-05-25
:headline: Quels sont les soucis liés à PGP, que faire ? :headline: Quels sont les soucis liés à PGP, que faire ?

View file

@ -3,6 +3,7 @@ Travail et créativité
:date: 2015-05-21 :date: 2015-05-21
:headline: Travailler moins pour laisser plus de place à la créativité. :headline: Travailler moins pour laisser plus de place à la créativité.
:category: thoughts
.. epigraph:: .. epigraph::

View file

@ -1,6 +1,7 @@
Rôles Rôles
##### #####
:category: thoughts
:date: 2015-06-29 :date: 2015-06-29
:headline: De l'importance des rôles informels et de leur partage au sein d'un :headline: De l'importance des rôles informels et de leur partage au sein d'un
groupe. groupe.
@ -10,7 +11,7 @@ Rôles
Un […] dispositifconsiste à tenter de faire bouger les rôles (pré)acquis Un […] dispositifconsiste à tenter de faire bouger les rôles (pré)acquis
ou qui se fixent dans le groupe, les pousser ailleurs que là où ils ont ou qui se fixent dans le groupe, les pousser ailleurs que là où ils ont
pris lhabitude de se réfugier suivant leur pente « naturelle ». pris lhabitude de se réfugier suivant leur pente « naturelle ».
Pour ce faire, le groupe prendra du temps pour identifier les types de Pour ce faire, le groupe prendra du temps pour identifier les types de
positions quadoptent ses protagonistes et les affects qui y sont liés, positions quadoptent ses protagonistes et les affects qui y sont liés,
imaginer ensuite des questions à résoudre ou des propositions à travailler imaginer ensuite des questions à résoudre ou des propositions à travailler
@ -59,8 +60,8 @@ Parmi les rôles principaux, quelques autres citations:
Les Grâces sont toujours attentives à lénergie du groupe, prêtes à la Les Grâces sont toujours attentives à lénergie du groupe, prêtes à la
renforcer au moment où elle faiblit, à la diriger et à la canaliser quand renforcer au moment où elle faiblit, à la diriger et à la canaliser quand
elle est forte. elle est forte.
Elles apportent au groupe […] enthousiasme, énergie, capacité Elles apportent au groupe […] enthousiasme, énergie, capacité
à sagrandir. **Elles font en sorte que les gens se sentent bien**, génèrent de à sagrandir. **Elles font en sorte que les gens se sentent bien**, génèrent de
lenthousiasme pour le groupe, accueillent les nouveaux venus, amènent de lenthousiasme pour le groupe, accueillent les nouveaux venus, amènent de
@ -71,7 +72,7 @@ Parmi les rôles principaux, quelques autres citations:
======================================================================================== ========================================================================================
.. epigraph:: .. epigraph::
Le dragon permet au groupe de rester connecté à […] laspect pratique et Le dragon permet au groupe de rester connecté à […] laspect pratique et
réaliste des choses. […] Le dragon veille aux ressources du groupe, à ses réaliste des choses. […] Le dragon veille aux ressources du groupe, à ses
frontières et donne voix à ses limites. frontières et donne voix à ses limites.
@ -94,7 +95,7 @@ Parmi les rôles principaux, quelques autres citations:
être perçus comme des rabat-joie, mais ils peuvent gagner lestime de ceux être perçus comme des rabat-joie, mais ils peuvent gagner lestime de ceux
qui, dans le groupe, se sentent dépassés et ne peuvent partager lénergie qui, dans le groupe, se sentent dépassés et ne peuvent partager lénergie
des Corbeaux et des Grâces. des Corbeaux et des Grâces.
Nourrir les Dragons peut permettre au groupe de se maintenir dans le temps. Nourrir les Dragons peut permettre au groupe de se maintenir dans le temps.
Mais une fois encore, si ce rôle ne tourne pas, même les Dragons risquent Mais une fois encore, si ce rôle ne tourne pas, même les Dragons risquent
de sépuiser. de sépuiser.
@ -108,7 +109,7 @@ Parmi les rôles principaux, quelques autres citations:
vision commune**, ou peut se manifester à travers une personne. Dans les modes vision commune**, ou peut se manifester à travers une personne. Dans les modes
de pensée hiérarchique, le professeur ou le gourou occupe le centre du de pensée hiérarchique, le professeur ou le gourou occupe le centre du
réseau. […] réseau. […]
Dans les groupes non-hiérarchiques, certaines personnes peuvent être perçues Dans les groupes non-hiérarchiques, certaines personnes peuvent être perçues
comme centrales : en disposant des informations dont les autres ont besoin, comme centrales : en disposant des informations dont les autres ont besoin,
en étant le point de contact pour les autres. en étant le point de contact pour les autres.
@ -124,7 +125,7 @@ Parmi les rôles principaux, quelques autres citations:
Les serpents cultivent une attention particulière à la manière dont les gens Les serpents cultivent une attention particulière à la manière dont les gens
se sentent. […] se sentent. […]
Les serpents sont au courant de ce qui se murmure dans les couloirs, des Les serpents sont au courant de ce qui se murmure dans les couloirs, des
conflits naissants, et les mettent sur la place publique, là où ils conflits naissants, et les mettent sur la place publique, là où ils
pourraient aider à une médiation, à une résolution du problème. […] pourraient aider à une médiation, à une résolution du problème. […]

View file

@ -1,6 +1,7 @@
Web distribution signing Web distribution signing
######################## ########################
:category: crypto
:lang: en :lang: en
:date: 2015-10-12 :date: 2015-10-12
:headline: Bringing trust back between software authors and user agents. :headline: Bringing trust back between software authors and user agents.
@ -101,7 +102,7 @@ It seems that some other systems could allow for something more reliable:
prefix trees to build a key directory [...] for which individual users can prefix trees to build a key directory [...] for which individual users can
efficiently verify the consistency of their own entry in the directory efficiently verify the consistency of their own entry in the directory
without relying on a third party. without relying on a third party.
This “self- auditing log” approach makes the system partially have no This “self- auditing log” approach makes the system partially have no
auditing required (as general auditing of non-equivocation is still required) auditing required (as general auditing of non-equivocation is still required)
and also enables the system to be privacy preserving as the entries in the and also enables the system to be privacy preserving as the entries in the

View file

@ -1,6 +1,7 @@
Ateliers d'autodéfense numérique Ateliers d'autodéfense numérique
################################ ################################
:category: crypto
:date: 2016-01-14 :date: 2016-01-14
:headline: J'ai récemment animé des ateliers d'autodéfense numérique. Voici :headline: J'ai récemment animé des ateliers d'autodéfense numérique. Voici
quelques retours et pistes d'améliorations. quelques retours et pistes d'améliorations.

View file

@ -1,6 +1,7 @@
Let's Encrypt + HAProxy Let's Encrypt + HAProxy
####################### #######################
:category: crypto
:date: 2016-02-11 :date: 2016-02-11
:headline: Comment j'ai mis en place des certificats SSL avec Let's Encrypt :headline: Comment j'ai mis en place des certificats SSL avec Let's Encrypt
derrière haproxy. derrière haproxy.
@ -127,4 +128,3 @@ Pour automatiser un peu tout ça, j'ai choisi de faire ça comme suit:
Et voila ! `Le tout est dans un dépot github Et voila ! `Le tout est dans un dépot github
<https://github.com/almet/infra/>`_, si jamais ça peut vous servir, tant mieux ! <https://github.com/almet/infra/>`_, si jamais ça peut vous servir, tant mieux !

View file

@ -1,6 +1,7 @@
Title: Retours sur un atelier ZeroNet Title: Retours sur un atelier ZeroNet
Date: 2016-03-17 Date: 2016-03-17
Headline: Comment contourner la censure grâce à un Web pair-à-pair ? Headline: Comment contourner la censure grâce à un Web pair-à-pair ?
Category: crypto
Mardi dernier se tenait [une *cryptoparty*](http://biblio.insa-rennes.fr/crypto) Mardi dernier se tenait [une *cryptoparty*](http://biblio.insa-rennes.fr/crypto)
dans les locaux de l'INSA de Rennes. dans les locaux de l'INSA de Rennes.

View file

@ -4,6 +4,7 @@ Focusing on what matters
:headline: How to avoid the information overload? :headline: How to avoid the information overload?
:date: 2016-03-17 :date: 2016-03-17
:tags: focus, time-management :tags: focus, time-management
:category: thoughts
I do have a problem with information. I do have a problem with information.

View file

@ -4,6 +4,7 @@ L'horizon
:date: 2016-03-02 :date: 2016-03-02
:headline: Temps de changer d'horizon. Mon départ de Mozilla et le début d'une :headline: Temps de changer d'horizon. Mon départ de Mozilla et le début d'une
nouvelle histoire. nouvelle histoire.
:category: thoughts
.. epigraph:: .. epigraph::
@ -36,7 +37,7 @@ quand même !)
J'ai choisi de rejoindre Mozilla parce que j'ai besoin de causes à défendre, J'ai choisi de rejoindre Mozilla parce que j'ai besoin de causes à défendre,
qui me saisissent et qui me guident. Aujourd'hui, une des visions qui m'anime, qui me saisissent et qui me guident. Aujourd'hui, une des visions qui m'anime,
c'est celle que d'autres ont déjà ouverte: celle de données et de vie privée c'est celle que d'autres ont déjà ouverte: celle de données et de vie privée
qui sont rendues à leurs utilisateurs. qui sont rendues à leurs utilisateurs.
Et je veux faire en sorte de réaliser ces «rêves d'un monde meilleur», ce qui Et je veux faire en sorte de réaliser ces «rêves d'un monde meilleur», ce qui
veut dire pour moi qu'il est temps de partir vers des horizons plus propices veut dire pour moi qu'il est temps de partir vers des horizons plus propices

View file

@ -1,6 +1,7 @@
Title: Avez vous confiance en SSL? Title: Avez vous confiance en SSL?
Headline: Tour d'horizon du fonctionnement de SSL et des solutions pour le sécuriser. Headline: Tour d'horizon du fonctionnement de SSL et des solutions pour le sécuriser.
Date: 2016-03-25 Date: 2016-03-25
Category: crypto
Dans le cadre [des ateliers d'autodéfense numérique](http://autodefense-numerique.readthedocs.org/en/latest/), Dans le cadre [des ateliers d'autodéfense numérique](http://autodefense-numerique.readthedocs.org/en/latest/),
j'ai passé un peu de temps à creuser sur l'utilisation de SSL puisque j'ai passé un peu de temps à creuser sur l'utilisation de SSL puisque

View file

@ -1,6 +1,7 @@
Title: Cloisonnement des activités ? Title: Cloisonnement des activités ?
Headline: En revenant de SudWeb Headline: En revenant de SudWeb
Date: 2016-05-29 Date: 2016-05-29
Category: thoughts
Je vous écris depuis un train, en rentrant de Bordeaux où j'ai passé quelques Je vous écris depuis un train, en rentrant de Bordeaux où j'ai passé quelques
jours à l'occasion de [SudWeb](http://sudweb.fr/). Si vous ne connaissez pas jours à l'occasion de [SudWeb](http://sudweb.fr/). Si vous ne connaissez pas

View file

@ -1,6 +1,7 @@
Title: Brasserie du Vieux Singe — W.I.P. Title: Brasserie du Vieux Singe — W.I.P.
Headline: Retours sur ces quelques mois consacrés à la création de la brasserie du Vieux Singe. Headline: Retours sur ces quelques mois consacrés à la création de la brasserie du Vieux Singe.
Date: 2017-06-26 Date: 2017-06-26
Category: thoughts
Ça fait maintenant quelques mois que j'ai décidé de [changer de métier](https://www.vieuxsinge.com). Choix à la fois difficile et excitant. Une rupture qui laisse place à quelques étoiles dans les yeux. Enfin, je retrouve l'envie de créer, et je renoue avec mes rêves, ceux-la mêmes que je croyaient trop fous pour être à portée de main. Ça fait maintenant quelques mois que j'ai décidé de [changer de métier](https://www.vieuxsinge.com). Choix à la fois difficile et excitant. Une rupture qui laisse place à quelques étoiles dans les yeux. Enfin, je retrouve l'envie de créer, et je renoue avec mes rêves, ceux-la mêmes que je croyaient trop fous pour être à portée de main.

View file

@ -1,7 +1,7 @@
Title: L'arrivée du trouble (ou comment faire des NEIPA ?) Title: L'arrivée du trouble (ou comment faire des NEIPA ?)
Headline: Traduction d'un article sur les New England IPA du magazine Américan « Brew Your Own » Headline: Traduction d'un article sur les New England IPA du magazine Américan « Brew Your Own »
Date: 2017-10-17 Date: 2017-10-17
tags: beer Category: biere
**Ceci est une traduction d'un article paru dans le magazine « Brew Your Own » en Octobre 2016, écrit par Dave Green** **Ceci est une traduction d'un article paru dans le magazine « Brew Your Own » en Octobre 2016, écrit par Dave Green**

View file

@ -1,7 +1,7 @@
Title: Un club des brasseurs amateurs Rennais Title: Un club des brasseurs amateurs Rennais
Headline: si vous êtes dans le coin de Rennes et que vous voulez échanger sur la fabrication de bière, ne cherchez plus ;) Headline: si vous êtes dans le coin de Rennes et que vous voulez échanger sur la fabrication de bière, ne cherchez plus ;)
Date: 2017-11-06 Date: 2017-11-06
tags: beer Category: biere
En Mars dernier, suite à quelques discussions entre brasseurs amateurs, on à décidé de monter [une liste de diffusion](https://framalistes.org/sympa/subscribe/brassam-rennes) pour faciliter les échanges autour du brassage amateur sur Rennes et ses alentours. En Mars dernier, suite à quelques discussions entre brasseurs amateurs, on à décidé de monter [une liste de diffusion](https://framalistes.org/sympa/subscribe/brassam-rennes) pour faciliter les échanges autour du brassage amateur sur Rennes et ses alentours.

View file

@ -0,0 +1,20 @@
Title: Être (le) meilleur ?
Headline: Quelques réfléxions sur l'élitisme et l'apprentissage.
Date: 2017-11-19
Status: draft
Au fur et à mesure de mes apprentissages, il y a quelque chose que j'ai du mal à déconstruire: le mythe du meilleur. Moi qui pense qu'ensemble on va plus loin, et que la compétition n'a pas de bons jours devant elle, je me retrouve parfois dans des situations où j'ai une *envie* de montrer que je suis meilleur, que je sais mieux que mon voisin. Notamment lors de l'apprentissage via mes pairs.
Dans les domaines dans lesquels je me spécialise (fabrication de bière, informatique et programmation) je me rends compte qu'une certaine forme d'élistisme existe parfois, contrairement aux apparences de surface. Avoir une position de *sage* flatte mon égo.
## Bonnes pratiques et élitisme
Il ne faut sûrement pas confondre les bonnes pratiques avec l'élitisme, mais parfois la frontière se fait ténue. En guise d'exemple, dans le domaine du brassage, on va critiquer les personnes qui ne contrôlent pas la température de leurs fermentations alors qu'il s'agit probablement de leur apprentissage personnel. Contrôler cette température est une bonne pratique, qui constitue deux groupes: ceux qui savent et ceux qui ne savent pas.
Ceux qui savent vont alors *expliquer* à ceux qui apprennent, et ceux qui apprennent vont être contents d'apprendre. Il est à mon avis important de garder une posture d'apprenant alors même qu'on a des choses à transmettre. Que faut-il alors faire ? Dois-je garder du recul sur mes avis, ou dois-je les formuler comme étant des avis personnels, a prendre avec des pincettes ?
## Connaître ses limites
Rester dans une position de *sachant* semble nous pousser à des comportements de fermeture d'esprit. Ce qui caractérise la sagesse est la facultée à se remettre en question. Mais quid des fausses véritées et des *avis de surface*, de ce que l'on croit connaître ?
Peut-être que la solution est de connaître ses limites, ou en tout cas de les rechercher et de reconnaître les zones de flou. Personne n'est un expert de tout !

View file

@ -0,0 +1,17 @@
Title: Hype
Headline: Hype et Marketing
Date: 2017-11-22
Status: draft
Pendant longtemps, j'ai refusé d'avoir un compte Facebook.
Pour des raisons éthiques de propriété des données, parce que l'idée d'avoir une entreprise géante qui fait de nos inter-relations un profit me fait blêmir.
Depuis, ce sont toujours des pratiques qui me débectent mais j'ai mis un peu de poison dans mon élixir, tant et si bien que j'ai depuis quelques mois un compte au grand F bleu.
Je suis surpris de voir tout ce qui s'y passe. J'ai l'impression de découvrir le dessous de l'iceberg: beaucoup de communautées utilisent ce média pour communiquer, et j'y trouve beaucoup d'informations que j'avais de la peine à trouver ailleurs.
Je loupais alors toute une partie de la problématique: ce qui fait qu'un réseau social est ce qu'il est. Le fait que Facebook semble être un terreau propice au marketing. De plus en plus d'entreprises l'utilisent pour faire parler de leurs produits. On mélange alors la partie personnelle avec la partie entrepreneuriale.
Dans le milieu de la fabrication de bière, je me suis retrouvé à toujours voir ce que font mes collègues, tout ce qu'ils font de plus génial les uns que les autres. Franchement, ça me renvoie pas mal l'impression que je suis un gros naze.
Le souci, c'est que je me retrouve coincé dans une position qui nécessite de moi que je fasse parler de mon entreprise, que je cherche à

View file

@ -1,52 +0,0 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v1
mQINBFZfnLoBEADwgI8KAkbQbPeoJkO0P7iqmBevnvdYGXYLMhKvscUC+6pcf3gR
hARz7/E1uwP7U0audn6k4q2GvvG4GaEHTR8sJ1c+Y9h/xGLG+ridyBsxclwc6qyc
Kclif052kDWgPpE5em2VazLZKsmVuyZg+XuNK4NKQlGp3ed+OBbGnFBZVvPz8XWI
iTV4LadGWiVD2duRBHUFIqNpi2Cu/I9oXZNhbCnAxc7nWCNE8JsjgX5nOc/ltH4x
aIbusOKkaE7+il3SfPRnxMcsuYVuj31tKdBecLPdkrFuNcficC1WGhdJkSa6us2g
owWd5B7ayNcHBBKsvSUyRmAy/HkfsQ7QFi69ErpYlAxFV9yBP/9yHQz9z1+F8hcu
nzmR4+Z5V5MPVlEw26C8X0gXqdn+/vz3adKmoTYzcLeKA/PeOgJBA25eELeQbRt6
WzHubY+7ZYS4Sn37GwFrMHwywdUEA5pCjzYSRWjhJ4rIYD2IsZujhDoGfYi4/ZAr
FOJax1aFVyv9W9qe5dGDMib23zrnFLpDISJ5SQmHLq8/rPL2A25Or/47cYS7xKNI
mcJcwiILRm0dfEX0xCtXtgE45dc+hADg9JvoBwMP1gd0f9XixngAe306V9r7a7fh
pFeVLOjeocgbRs428/0SFvCIKfmQ4k2BrwI6Il0PpSUJhqV3Lgg0LUH0QwARAQAB
tDtBbGV4aXMgTcOpdGFpcmVhdSAoQ2zDqSBwcmluY2lwYWxlLikgPGFsZXhpc0Bu
b3RteWlkZWEub3JnPokCPgQTAQIAKAUCVl+cugIbIwUJA8JnAAYLCQgHAwIGFQgC
CQoLBBYCAwECHgECF4AACgkQHt9aekhdShEhxA/+IIyRi1lwhAd8WOSufnDpsDRj
rgT/OzG6u51UYhIrw5nhsgQRovUpHFZ5PaEqWefwgMhIFuDt5MYDi167Aq2YhqWC
9dd2eumQuj8kF57nbAoiKnjq8DiCFN6su6jBFHPhjoCqYb+LyeggprPBRzEFUx3O
SaIcruihH0KbQw99fOGcTWnGnJqKsgjYM5csvV0Svzl5EKifKLFFIMii2Qf5h7W5
lkk0SUIzDpDMpPVkZg6GkRfAygCDfoRkzh2Y7Hf5uweUkbIc/3yPAjKS78CuzS66
St122bbA2nwpReWMlmlRFHgcOraF1TrJ6WWXHiZVChzKaDLkV3CxHwka38+CdMqJ
DU1cM88mrlMWXfUkwgNEL7fNJbm5YP8g1PKzrhJ3ztPk3A2PaJXWH0103ShEn2nl
MfoTILEMsYOqZK9jj6qX+fXx5Uwd/TrauI57Zth0dRfNOAUqxTNGopW+aUyDU/qh
j2ZuoGNWg7rWzbJoEa7K+gyhNnUt7hF6ONMWJl4aAhAhOzRMzbQL0Ykho05X3qNv
EW1FRp7WR2lUCZ4y33aQi497vF/HW+TC+pj67Y/srzCHk+XCF+af+ao19W3ltQ+q
doAyHzIsLLisiVs7gMLvX2cfYkaRw/Tgprj6pJvft2ZB2Wsy8SvbDBZu6DoWVkKT
82ZBZx/fUgQQGEVG9X65Ag0EVl+cugEQAKpAdOce7DAf48SOwzp11RI7cghQbkH6
UD119zQGRVLWu4d/Wh43X5JaUC7AMiBbbB24R64cvZLoZnVM5K0Hi/bheNbgNnWC
x3oqZHtez0TMZ3px/FJKbA9Lf016v5khD7N+UT30b9MqSdL1C4+FfTp7R/MTkdl8
WYfhJU/pPglOF2up5V/RNODH6bcUwAETfpxDPKduXJBxsPNH2pAhay+YKWxLDD47
Wj/L0H89hF7R6XsR94LV91vkZc/QYOxGHL8gpdB5i+HQTNR5z2E8y/+uZFAc7YL2
qIUFOfDabz/yN/KQUYTZhHDlLj5mBFoqiCBhQZTpQnpLQefPXfSwRTBVtxdJOM47
2oD3uH/zUAzbx5flgislM6TeYPIA+vWbbsQQQAvmOiERidQ57mHX/HQIftX01Ai0
E1jitEbSuT8L0ZQpqCX4jVj92UY1oSo1ahtTIVdvsHhvTW5GPktU2qsyg8W1iFYT
MfndOlDbNJOXd3ZtbieiIwIUKThJml8GVDo9VtFygAv9YzKgNji5As+T7hUaJ3vV
gvRrF6oays2lm1c5nSw4Qhk9hH1NdKjbCOg+v07sB/qjnGfuWzqSsk4roKBxWuEb
iKAWvQCWR4JGMRWzzGjdKWv+IgIvKabvatQneIyFn9CV72o28jPjzlZ3abla2ekb
WUXeBvkjfKPnABEBAAGJAiUEGAECAA8FAlZfnLoCGwwFCQPCZwAACgkQHt9aekhd
ShFJSQ/9GhwNCrmi80enV/JRqAA5lKbxlhzF+siOJyJkO76GpcXyRVmQhfay07fu
LC1uKPApOe2dWf9R00exYKrzU1BbrKMhZsX+sKlx0kYDRQcgVwcim56uWu+WmTSf
WOm0Aa2bYBMYlga8Ptk7u5qVvwmIddBx44OM6fo4kvD61DHL5sWVtw9IK0iw2kD7
QagNvLf5t7bYomd69lE7sJkoylb0rAmffZ2ZujRhqrsQb6gufQus4wRvcEVh3EF2
dEw+P0UYoymP/f1wPZFeam2r0pf1Nt4gnCnEp+Oi/tA0y746GmjOZyk68BEAmFw8
/JEW1r+u64eyutEmOF4WRDOu15xKYZGaNKLLEiH55adFdEkcirC/4IYKvRPY0oMr
SRz60obcTNCpVt0IEMAF6VExm1nk0+mfVgb7kO/PiUTueOy5HCuIfO/vJ/326Oog
sxmmPWakoNWiHV7nPdE0hZbb7F2tDfB67JRm5DDHKiUMa5ujlWDNE3Apfw3w/O1r
77CJSU+ue5o4oZA00LDa0iYGFgzSC4TwkcRAaZe8wNVAW1vTSHK/N0mvx5VYc42G
nEAz8KKJOOTP5eiVqZlBrgkJiCNlrSqcx5nzEsZCQyxrhEEaBTjh5dtQOrWyZv8m
vPrCP+c/JrpgyXiCZWuSH57+tu9ZytHhw/XCuzzcdKh1hVe5Wts=
=l3yN
-----END PGP PUBLIC KEY BLOCK-----

Binary file not shown.

Before

Width:  |  Height:  |  Size: 45 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 41 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 62 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 87 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 144 KiB

Some files were not shown because too many files have changed in this diff Show more