Put all the articles in a flat folder.
|
@ -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
|
|
@ -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.
|
|
@ -3,6 +3,7 @@ Semaine de l’environnement: 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.
|
||||
|
|
@ -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.
|
|
@ -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.
|
|
@ -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 !
|
||||
|
||||
|
|
@ -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
|
||||
|
|
@ -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)
|
|
@ -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 !
|
||||
|
|
@ -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/>`_
|
|
@ -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),
|
|
@ -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
|
|
@ -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.
|
|
@ -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.
|
|
@ -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
|
|
@ -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.
|
||||
|
|
@ -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
|
|
@ -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
|
|
@ -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.
|
|
@ -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), 66–72. ACM.
|
||||
* Balabanović, M., & Shoham, Y. (1997). Fab: content-based, collaborative
|
||||
recommendation. Communications of the ACM, 40(3), 66–72. ACM.
|
||||
Retrieved March 1, 2011, from http://portal.acm.org/citation.cfm?id=245108.245124&.
|
||||
* Berners-Lee, T., Hendler, J., & Lassila, O. (2001).
|
||||
The semantic web: Scientific american. Scientific American, 284(5), 34–43.
|
||||
* Berners-Lee, T., Hendler, J., & Lassila, O. (2001).
|
||||
The semantic web: Scientific american. Scientific American, 284(5), 34–43.
|
||||
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. 12–17). 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. 441–450). 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.
|
||||
|
|
@ -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
|
|
@ -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 !
|
|
@ -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!
|
|
@ -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.
|
|
@ -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.
|
|
@ -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
|
|
@ -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.
|
||||
|
|
@ -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!
|
|
@ -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 !
|
|
@ -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.
|
|
@ -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.
|
||||
|
|
@ -4,6 +4,7 @@ Bidouille
|
|||
:date: 30-04-2012
|
||||
:tags: diy, électronique, hack, bidouille
|
||||
:lang: fr
|
||||
:category: thoughts
|
||||
|
||||
Bidouille bidouille bidouille.
|
||||
|
|
@ -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).
|
|
@ -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.
|
||||
|
||||
|
|
@ -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
|
|
@ -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
|
|
@ -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
|
|
@ -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
|
|
@ -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.
|
|
@ -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 :)
|
||||
|
|
@ -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 !
|
|
@ -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
|
|
@ -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.
|
|
@ -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
|
|
@ -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
|
|
@ -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.
|
|
@ -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
|
|
@ -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,
|
|
@ -2,6 +2,7 @@ Semences paysannes
|
|||
##################
|
||||
|
||||
:date: 20-12-2012
|
||||
:category: notes
|
||||
|
||||
http://www.dailymotion.com/video/x5nhq0_les-semences-paysannes_news#from=embed
|
||||
|
|
@ -3,6 +3,7 @@ Astuces SSH
|
|||
|
||||
:date: 27-12-2012
|
||||
:tags: note
|
||||
:category: notes
|
||||
|
||||
Tunelling
|
||||
=========
|
|
@ -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,
|
|
@ -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
|
|
@ -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
|
|
@ -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
|
|
@ -3,6 +3,7 @@ Implementing CORS in Cornice
|
|||
|
||||
:date: 04-02-2013
|
||||
:slug: cross-origin-in-cornice
|
||||
:category: tech
|
||||
|
||||
.. note::
|
||||
|
|
@ -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
|
||||
|
||||
|
|
@ -2,6 +2,7 @@ François Elie : Quelle école pour la société de l’information ?
|
|||
###############################################################
|
||||
|
||||
:date: 14/06/2013
|
||||
:category: notes
|
||||
|
||||
http://www.framablog.org/index.php/post/2013/06/11/francois-elie-education-conference
|
||||
|
|
@ -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
|
|
@ -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 !)
|
|
@ -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)
|
||||
|
|
@ -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é
|
||||
-------------
|
|
@ -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
|
|
@ -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.
|
|
@ -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)
|
|
@ -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. ;
|
|
@ -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é.
|
|
@ -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.
|
|
@ -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 ?
|
|
@ -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 ?
|
||||
|
|
@ -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::
|
|
@ -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 […] dispositif consiste à 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 l’habitude de se réfugier suivant leur pente « naturelle ».
|
||||
|
||||
|
||||
Pour ce faire, le groupe prendra du temps pour identifier les types de
|
||||
positions qu’adoptent 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é
|
||||
à s’agrandir. **Elles font en sorte que les gens se sentent bien**, génèrent de
|
||||
l’enthousiasme 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é à […] l’aspect 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 l’estime 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. […]
|
|
@ -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
|
|
@ -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.
|
|
@ -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 !
|
||||
|
|
@ -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.
|
|
@ -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.
|
||||
|
|
@ -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
|
|
@ -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
|
|
@ -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
|
|
@ -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.
|
||||
|
|
@ -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**
|
||||
|
|
@ -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.
|
||||
|
20
content/incubation/2017-11-19-meilleur.md
Normal 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 !
|
17
content/incubation/2017-11-22-hype-et-marketing.md
Normal 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 à
|
|
@ -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-----
|
Before Width: | Height: | Size: 45 KiB |
Before Width: | Height: | Size: 41 KiB |
Before Width: | Height: | Size: 20 KiB |
Before Width: | Height: | Size: 22 KiB |
Before Width: | Height: | Size: 62 KiB |
Before Width: | Height: | Size: 87 KiB |
Before Width: | Height: | Size: 144 KiB |