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
:lang: fr
:category: thoughts
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

View file

@ -3,6 +3,7 @@ Python ? go !
:date: 2009-12-17
:lang: fr
:category: tech
Cela fait maintenant un peu plus d'un mois que je travaille sur un
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
>>> import this
>>> import this
The Zen of Python, by Tim Peters
Beautiful is better than ugly.

View file

@ -3,6 +3,7 @@ Semaine de lenvironnement: La consommation étudiante
:date: 2010-02-24
: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.

View file

@ -3,11 +3,12 @@ Le temps des grâces, courrez-y !
:date: 2010-03-28
:lang: fr
:category: thoughts
Ouf, notre
`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
fallait.
fallait.
Ce fut l'occasion de rencontrer beaucoup de gens biens, et
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
`France Nature Environnement <http://www.fne.asso.fr/>`_, qui
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
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
d'agronomes, d'agriculteurs, de chercheurs et bien d'autres, qui
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
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
monde agricole français, tout en proposant des alternatives qui
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.

View file

@ -2,6 +2,7 @@ A Distutils2 GSoC
#################
:date: 2010-05-01
:category: tech
WOW. I've been accepted to be a part of the
`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
the `PEP 376 <http://www.python.org/dev/peps/pep-0376/>`_.
In more details, I'm going to work on the Installer / Uninstaller
features of Distutils2, and on a PyPI XML-RPC client for distutils2.
In more details, I'm going to work on the Installer / Uninstaller
features of Distutils2, and on a PyPI XML-RPC client for distutils2.
Here are the already defined tasks:
- Implement Distutils2 APIs described in PEP 376.

View file

@ -2,6 +2,7 @@ first week working on distutils2
#################################
:date: 2010-06-04
:category: tech
As I've been working on
`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
`already started here <http://github.com/ametaireau/pypiclient>`_
I'll take you updated !

View file

@ -2,13 +2,14 @@ Use Restructured Text (ReST) to power your presentations
#########################################################
:date: 2010-06-25
:category: tech
Wednesday, we give a presentation, with some friends, about the
CouchDB Database, to
`the Toulouse local LUG <http://www.toulibre.org>`_. Thanks a lot
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
Toulouse next year.
Toulouse next year.
During our brainstorming about the topic, we
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
I've wrote a simple file containing our different bullet points. In
fact, there is quite nothing to do then, to have a working
presentation.
presentation.
So far, I've used
`the rst2pdf program <http://code.google.com/p/rst2pdf/>`_, and a
simple template, to generate output. It's probably simple to have
similar results using latex + beamer, I'll try this next time, but
as I'm not familiar with latex syntax, restructured text was a
great option.
great option.
Here are
`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::
rst2pdf couchdb.rst -b1 -s ../slides.style

View file

@ -2,6 +2,7 @@ Introducing the distutils2 index crawlers
##########################################
:date: 2010-07-06
:category: tech
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)

View file

@ -2,6 +2,7 @@ Sprinting on distutils2 in Tours
################################
:date: 2010-07-06
:category: tech
Yesterday, as I was traveling to Tours, I've took some time to
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
like this one are opportunities to catch ! We'll probably do
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
:category: tech
The `Google Summer of Code <http://code.google.com/soc/>`_ I've
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
:category: tech
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),

View file

@ -2,6 +2,7 @@ Dynamically change your gnome desktop wallpaper
###############################################
:date: 2010-10-11
:category: tech
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

View file

@ -2,6 +2,7 @@ How to install NGINX + PHP 5.3 on FreeBSD.
##########################################
:date: 2010-10-10
:category: tech
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
@ -14,11 +15,11 @@ that's worse to have the piece of configuration somewhere !
# install php5 port
$ 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
$ make config-recursive -C /usr/ports/www/nginx-devel
$ make package-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
Now we have all the dependencies installed, we need to configure a bit the
server.

View file

@ -2,6 +2,7 @@ Pelican, a simple static blog generator in python
#################################################
:date: 2010-10-06
:category: tech
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
@ -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
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
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
:category: thoughts
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
help from others by, for instance, forking repositories.
Eeach time I see people helping others, I'm amazed by how we like to share
our knowledge.
Eeach time I see people helping others, I'm amazed by how we like to share
our knowledge.
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
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,
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 :)
New ways to contribute
======================
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
In addition, it seems that he community, or the communities, are there, on those
new social networks for coders. It's really handy to drop an eye on interesting
projects, to report bugs, propose new features, and check what new projects this
or this person have made.
@ -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
their updates!
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,
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,
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.
DVCSes makes the contribution easier.
@ -63,24 +64,24 @@ Release early, release often
============================
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)
Among a lot of others interesting things, one hint he gives is *release early,
release often*.
Among a lot of others interesting things, one hint he gives is *release early,
release often*.
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
I understand it as: if you want to get contributors, release your code early,
even if it's not perfect, and don't be afraid to publish your changes each
time it's needed.
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
on your final solution.
If you have considered publishing your projects, code snippets, or whatever
(code related) but did not done it, considering them not yet ready, maybe
should you think about it twice: you can get feedback and probably start some
If you have considered publishing your projects, code snippets, or whatever
(code related) but did not done it, considering them not yet ready, maybe
should you think about it twice: you can get feedback and probably start some
interesting discussions about it, if you write code that's readable, of course!
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
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.
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
Well, I'm starting advocating here about Free and Open Source Softwares use on
companies, what is a bit beyond the scope of this article, so let's back to
our DVCSes and new social related tools.
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
feedback of the community.
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
My fix/work will benefit to all the people (and maybe others companies) working
with this framework, and it's a way to prove the community that my company is
enough skilled to make code-fixes to the framework, so that's all good !
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
look on how the programs you're using are made, consider publishing your
experimentations, and share them with others, you will see, it's kind of
addictive !
addictive !
.. _github: http://github.com
.. _bitbucket: http://www.bitbucket.org

View file

@ -2,6 +2,7 @@ Help me to go to the distutils2 paris' sprint
#############################################
:date: 2011-01-15
:category: tech
**Edit: Thanks to logilab and some amazing people, I can make it to paris for the
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).
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.
Following some advices on #distutils, I've set up a ChipIn account for that, so
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
if some people want to help me making it to go there, they can give me some
money that way.

View file

@ -2,6 +2,7 @@ PyPI on CouchDB
###############
:date: 2011-01-20
:category: tech
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
@ -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
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
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::
$ pypioncouch --fullimport http://your.couchdb.instance/
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
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
:category: tech
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
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.
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.
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
:tags: freebsd, unison
:category: tech
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
@ -145,7 +146,7 @@ feedback from the sync:
message += " It took {0}s.".format(delta)
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'))
if __name__ == "__main__":
@ -153,7 +154,7 @@ feedback from the sync:
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`::
$ * */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>`_.
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.

View file

@ -3,6 +3,7 @@ Analyse users' browsing context to build up a web recommender
:date: 2011-04-01
:tags: recommendations, browsers, users
:category: tech
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>`_
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
accurate (I discovered **a lot** of great artists listening to the
"neighbour radio".) (by the way, `here is <http://lastfm.com/user/akounet/>`_
accurate (I discovered **a lot** of great artists listening to the
"neighbour radio".) (by the way, `here is <http://lastfm.com/user/akounet/>`_
my lastfm account)
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
(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
reader <https://bitbucket.org/bruno/aspirator/>`_ because of the
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.
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
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
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).
@ -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
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
by HTML pages so there is a need of tools to recognise them.
@ -157,16 +158,16 @@ Segaran, 2007).
References:
* Balabanović, M., & Shoham, Y. (1997). Fab: content-based, collaborative
recommendation. Communications of the ACM, 40(3), 6672. ACM.
* Balabanović, M., & Shoham, Y. (1997). Fab: content-based, collaborative
recommendation. Communications of the ACM, 40(3), 6672. ACM.
Retrieved March 1, 2011, from http://portal.acm.org/citation.cfm?id=245108.245124&amp;.
* Berners-Lee, T., Hendler, J., & Lassila, O. (2001).
The semantic web: Scientific american. Scientific American, 284(5), 3443.
* Berners-Lee, T., Hendler, J., & Lassila, O. (2001).
The semantic web: Scientific american. Scientific American, 284(5), 3443.
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.
* 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.
* Segaran, T. (2007). Collective Intelligence.

View file

@ -3,6 +3,7 @@ Travailler moins pour mieux travailler ?
:date: 2011-05-19
:lang: fr
:category: thoughts
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
@ -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.
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
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
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
partie de mon mémoire durant ces 10 jours. Résultat ? Les heures que j'ai passées à travailler ont
été étonnement plus productives que celles que j'ai l'habitude de passer derrière
un écran. Je ne parles pas uniquement du fait de procrastiner; évidemment c'est
une des causes principales de ma perte de productivité, mais je pense également
au fait de laisser le cerveau reposer, au moins en ce qui concerne la partie
partie de mon mémoire durant ces 10 jours. Résultat ? Les heures que j'ai passées à travailler ont
été étonnement plus productives que celles que j'ai l'habitude de passer derrière
un écran. Je ne parles pas uniquement du fait de procrastiner; évidemment c'est
une des causes principales de ma perte de productivité, mais je pense également
au fait de laisser le cerveau reposer, au moins en ce qui concerne la partie
informatique. Bricoler demande de la concentration et de la réflexion mais
permet également de laisser son esprit vagabonder. J'ai pu donc avancer mes
sur certaines parties de mon mémoire alors que j'étais en train de poser le

View file

@ -3,16 +3,17 @@ Un coup de main pour mon mémoire!
:date: 2011-05-25
:lang: fr
:category: tech
Ç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
Ç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
coup de main.
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
basant sur ce que vous visitez quotidiennement et comment vous le visitez (quelles
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
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
basant sur ce que vous visitez quotidiennement et comment vous le visitez (quelles
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
ont des profils similaires au votre.
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
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
: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
uninteresting parts of HTML pages, like menus, footers and other "boilerplate"
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.
JPype allows to bridge python project with java libraries. It takes another
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
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
from your python script, but it does the job and stay fully compatible with
Cpython and its C extensions.
@ -26,7 +27,7 @@ seamlessly with your system) you can access java classes by doing something
like that:
.. code-block:: python
import jpype
jpype.startJVM(jpype.getDefaultJVMPath())
@ -36,7 +37,7 @@ like that:
# and you have to shutdown the VM at the end
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.
Interfacing with Boilerpipe
@ -66,10 +67,10 @@ To run it:
.. 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
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
.. code-block:: python
@ -86,8 +87,8 @@ Let's try something similar, but from python
# call them !
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
extract text content from URLs and remove the *boilerplate* text easily
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
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
:date: 25/07/2011
: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
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
@ -22,7 +23,7 @@ I pulled features such as translations, tag
clouds, integration with different services such as twitter or piwik, import
from dotclear and rss, fixed
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.
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
:tags: dbpedia, sparql, python
:category: tech
While browsing the Python's wikipedia page, I found information about the languages
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
:date: 2011-10-15
:category: tech
**TL;DR:** We're kick-starting a new application to manage your shared
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
: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
<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
pessimisme, le ressentiment, une désensibilisation croissante et… la mort
lente.

View file

@ -2,11 +2,12 @@ Introducing Cornice
###################
:date: 07/12/2011
:category: tech
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>`_.
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
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
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)
As you might have seen, `request.errors.add` takes three parameters: **location**,
**name** and **description**.
**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
**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
problem, if any, and **description** contains a more detailed message.
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!"}
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
requests.
in `request.validated`. It is a standard dict automatically attached to the
requests.
For instance, in our validator, we can chose to validate the parameter passed
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)
def get1(request):
return {"test": request.validated['awesome']}
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
{"test": "awesome yeah"}
Dealing with "Accept" headers
=============================
@ -120,18 +121,18 @@ supported, using the `accept` parameter:
def get1(request):
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::
$ curl -vH "Accept: application/xml" http://127.0.0.1:5000/service
> GET /service HTTP/1.1
> Host: 127.0.0.1:5000
> Accept: application/xml
>
>
< HTTP/1.0 406 Not Acceptable
< Content-Type: application/json; charset=UTF-8
< Content-Length: 33
<
<
["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
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.
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>`_
, commit and send us a pull request!

View file

@ -4,6 +4,7 @@ Quels usages pour l'informatique ?
:date: 01/12/2011
:lang: fr
:slug: usages-informatique
:category: thoughts
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
@ -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
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,
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
ou elle peut apporter quelque chose !

View file

@ -2,11 +2,12 @@
##################
:date: 21-01-2012
:category: thoughts
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
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.
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,
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
of help me to have a differentiation between my working place and home, which I
find to be important.

View file

@ -3,6 +3,7 @@ Les dangers du livre numérique
:date: 23-01-2012
: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.

View file

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

View file

@ -6,6 +6,7 @@ Génération de formulaires, geolocalisés ?
:author: Alexis Métaireau, Mathieu Leplatre
:tags: GIS, forms
:lang: fr
:category: tech
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
pour l'ensemble des évènements alternatifs. Il crée les champs suivants:
* Nom: le champ qui contient le nom de l'évènement.
* 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,
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).
* 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
(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),
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,
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".
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.
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
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*
proposerait de la validation de données et proposerait un support des points
SIG (point, ligne, polygone).

View file

@ -6,6 +6,7 @@ Thoughts about a form generation service, GIS enabled
:author: Alexis Métaireau, Mathieu Leplatre
:tags: GIS, forms
:lang: en
:category: tech
We have a plan. A "fucking good" one.
@ -41,7 +42,7 @@ Imagine the following:
pre-populated using device geolocation ;
3. At the end of the day, we can see a map with all user contributions seized
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.
@ -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
alternative-related events. He creates the following fields:
* Name: a plain text field containing the name of the event.
* 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,
with generic clients.
As mentioned before, the idea of a simple tool to support collaborative mapping
fullfils a recurring necessity !
As mentioned before, the idea of a simple tool to support collaborative mapping
fullfils a recurring necessity !
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
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),
@ -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
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
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.
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
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).
@ -122,11 +123,11 @@ Visualization tool
------------------
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
is a great advantage, and a map shows the resulting features set. You feel like you're in
front of a decision support system!
is a great advantage, and a map shows the resulting features set. You feel like you're in
front of a decision support system!
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.
@ -138,15 +139,15 @@ Generic forms service
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.
A form service would be really useful to create forms programmatically and retrieve
cleaned and validated input values.
A form service would be really useful to create forms programmatically and retrieve
cleaned and validated input values.
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.
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).
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.

View file

@ -3,8 +3,9 @@ Djangocong 2012
:date: 16-04-2012
: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
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
ç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
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

View file

@ -3,6 +3,7 @@ Lifestyle
:lang: fr
:date: 11-05-2012
:category: thoughts
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
@ -51,7 +52,7 @@ Tout de suite ça me parles plus.
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,
é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
:tags: python, Cornice, refactoring
:category: tech
After working for a while with `Cornice <http://cornice.readthedocs.com>`_ to
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
<http://docs.pylonsproject.org/en/latest/docs/pyramid.html>`_ routing system,
allowing to register services in a simpler way. Then we added some niceties
such as the ability to automatically generate the services documentation or
allowing to register services in a simpler way. Then we added some niceties
such as the ability to automatically generate the services documentation or
returning the correct HTTP headers `as defined by the HTTP specification
<http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html>`_ without the need
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:
.. code-block:: python
from cornice.service import Service
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
easily. For instance, we've written our `token-server
<https://github.com/mozilla-services/tokenserver>`_ code on top of this in a
blast.
blast.
The burden
==========
@ -47,7 +48,7 @@ you can get the gist of it).
.. code-block:: python
class Service(object):
def __init__(self, **service_kwargs):
# some information, such as the colander schemas (for validation),
# 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)
return view
return wrapper
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
as another feature, even in a different module. The function is named

View file

@ -4,6 +4,7 @@ Pourquoi Mozilla?
:date: 2012-07-16
:tags: logiciel-libre, valeurs
:lang: fr
:category: thoughts
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

View file

@ -3,6 +3,7 @@ Cheese & Code party: October 20-21
:date: 20/09/2012
: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
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
:category: tech
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
@ -58,7 +59,7 @@ with `Mathieu Agopian <http://mathieu.agopian.info/>`_. We also tried to
improve the documentation at different levels.
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
==============================
@ -83,7 +84,7 @@ Project management
We've had some inquiries telling us that's not as easy as it should to get
started with the Circus project. Some of the reasons are that we don't
have any release schedule, and that the documentation is hairy enough to lost
people, at some point :)
people, at some point :)
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
:lang: fr
:category: thoughts
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
@ -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é
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
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
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.
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…
Just do it !

View file

@ -3,6 +3,7 @@ Bière maison !
:date: 04-10-2012
:lang: fr
:category: diy
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

View file

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

View file

@ -3,6 +3,7 @@ Gnome 3, extensions
:date: 27-12-2012
:tags: note
:category: tech
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

View file

@ -3,6 +3,7 @@
:date: 27-12-2012
:tags: note
:category: musique
“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

View file

@ -2,6 +2,7 @@ Habitat collectif
#################
:date: 28-12-2012
:category: notes
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.

View file

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

View file

@ -2,6 +2,7 @@ Notre dame des landes
#####################
:date: 27-12-2012
:category: notes
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,

View file

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

View file

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

View file

@ -3,6 +3,7 @@ Status board
:date: 29-12-2012
:lang: fr
:category: tech
À 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,

View file

@ -3,6 +3,7 @@ Tricot
:date: 28-12-2012
:tags: note
:category: diy
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

View file

@ -2,6 +2,7 @@ New year python meme, 2012
##########################
:date: 07-01-2013
:category: tech
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

View file

@ -4,6 +4,7 @@ Des profils de confiance partout et pour tout ?
:date: 04/02/2013
:slug: confiance
:lang: fr
:category: thoughts
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
@ -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
question.
Plu
Plu
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

View file

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

View file

@ -2,6 +2,7 @@ Le revenu de base
#################
:date: 10/03/2013
:category: notes
.. raw:: html
@ -10,7 +11,7 @@ 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)
- 2/10 retraite / rente
- 1/10 assurance chomage / AS
@ -50,13 +51,13 @@ Citations
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
souvent exactement l'inverse.
— Katja Kipping, membre du parlement allemand.
Si les gens on déjà une sécurité matérielle, ils sont plus difficiles
à corrompre.
— Katja Kipping

View file

@ -2,6 +2,7 @@ François Elie : Quelle école pour la société de linformation ?
###############################################################
:date: 14/06/2013
:category: notes
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
:category: notes
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

View file

@ -3,6 +3,7 @@ Des carnets d'esquisse
:date: 16/08/2013
:lang: fr
:category: thoughts
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
@ -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
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
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
:category: tech
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
@ -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
like the following:
.. note::
.. note::
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.
@ -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)
.. note::
.. note::
The ``identity.mozilla.com/picl/v1/sessionToken`` is a reference to this way of
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
import requests
from requests_hawk import HawkAuth
@ -126,7 +127,7 @@ Here is a demo of how we implemented it for Daybed:
.. code-block:: python
from pyramid_hawkauth import HawkAuthenticationPolicy
policy = HawkAuthenticationPolicy(decode_hawk_id=get_hawk_id)
config.set_authentication_policy(authn_policy)

View file

@ -2,8 +2,9 @@ Retours sur deux ans à Mozilla
##############################
: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
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
actuel, pour en faire quelque chose de plus facile à maintenir et de moins
imbriqué.
imbriqué.
La Communauté
-------------

View file

@ -2,6 +2,7 @@ Quel métier, quelle utilité ?
=============================
:date: 2014-07-29
:category: thoughts
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

View file

@ -2,6 +2,7 @@ Le secret du bonheur
====================
:date: 20/11/2014
:category: notes
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é.
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 !
@ -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 :
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.
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 ?
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
Category: tech
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)

View file

@ -1,6 +1,7 @@
Chiffrement
###########
:category: thoughts
:date: 2015-05-08
:headline: Face a la surveillance généralisée, une seule solution, le
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,
et ses dispositions dangereuses ont été conservées :
- Élargissement des finalités du renseignement, permettant une **potentielle
mise sous surveillance de pans entiers de la vie politique, syndicale,
militante**, mais aussi économique, scientifique, etc. ;

View file

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

View file

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

View file

@ -1,6 +1,7 @@
Phrases de passe et bonnes pratiques
####################################
:category: crypto
:date: 2015-05-09
: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 ?

View file

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

View file

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

View file

@ -1,6 +1,7 @@
Rôles
#####
:category: thoughts
:date: 2015-06-29
:headline: De l'importance des rôles informels et de leur partage au sein d'un
groupe.
@ -10,7 +11,7 @@ Rôles
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
pris lhabitude de se réfugier suivant leur pente « naturelle ».
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,
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
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é
à 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
@ -71,7 +72,7 @@ Parmi les rôles principaux, quelques autres citations:
========================================================================================
.. epigraph::
Le dragon permet au groupe de rester connecté à […] laspect pratique et
réaliste des choses. […] Le dragon veille aux ressources du groupe, à ses
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
qui, dans le groupe, se sentent dépassés et ne peuvent partager lénergie
des Corbeaux et des Grâces.
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
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
de pensée hiérarchique, le professeur ou le gourou occupe le centre du
réseau. […]
Dans les groupes non-hiérarchiques, certaines personnes peuvent être perçues
comme centrales : en disposant des informations dont les autres ont besoin,
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
se sentent. […]
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
pourraient aider à une médiation, à une résolution du problème. […]

View file

@ -1,6 +1,7 @@
Web distribution signing
########################
:category: crypto
:lang: en
:date: 2015-10-12
: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
efficiently verify the consistency of their own entry in the directory
without relying on a third party.
This “self- auditing log” approach makes the system partially have no
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

View file

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

View file

@ -1,6 +1,7 @@
Let's Encrypt + HAProxy
#######################
:category: crypto
:date: 2016-02-11
:headline: Comment j'ai mis en place des certificats SSL avec Let's Encrypt
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
<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
Date: 2016-03-17
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)
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?
:date: 2016-03-17
:tags: focus, time-management
:category: thoughts
I do have a problem with information.

View file

@ -4,6 +4,7 @@ L'horizon
:date: 2016-03-02
:headline: Temps de changer d'horizon. Mon départ de Mozilla et le début d'une
nouvelle histoire.
:category: thoughts
.. epigraph::
@ -36,7 +37,7 @@ quand même !)
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,
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
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?
Headline: Tour d'horizon du fonctionnement de SSL et des solutions pour le sécuriser.
Date: 2016-03-25
Category: crypto
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

View file

@ -1,6 +1,7 @@
Title: Cloisonnement des activités ?
Headline: En revenant de SudWeb
Date: 2016-05-29
Category: thoughts
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

View file

@ -1,6 +1,7 @@
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.
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.

View file

@ -1,7 +1,7 @@
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 »
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**

View file

@ -1,7 +1,7 @@
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 ;)
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.

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