Mercurial > feed-push
annotate examples/blog.atom @ 34:030e8b24f8b7 draft default tip master
pretty print JSON in state file
Signed-off-by: Changaco <changaco ατ changaco δοτ net>
author | Changaco <changaco ατ changaco δοτ net> |
---|---|
date | Sun, 05 Aug 2012 15:18:28 +0200 |
parents | ee5a5a7a9f72 |
children |
rev | line source |
---|---|
1 | 1 <?xml version="1.0" encoding="utf-8"?> |
2 | |
3 <feed xmlns="http://www.w3.org/2005/Atom"> | |
4 <title>Changaco's blog</title> | |
5 <link href="http://changaco.net/blog/"/> | |
6 <link href="http://changaco.net/blog/feed.atom" rel="self" type="application/atom+xml"/> | |
7 <author> | |
8 <name>Changaco</name> | |
9 | |
10 </author> | |
11 | |
12 | |
13 | |
14 <id>http://changaco.net/blog/</id> | |
15 | |
16 <subtitle type="html">Changaco</subtitle> | |
26
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
17 <generator uri="http://ikiwiki.info/" version="3.20120202">ikiwiki</generator> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
18 <updated>2012-06-21T13:13:57Z</updated> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
19 <entry> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
20 <title>Parsing an indented tree in Haskell</title> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
21 |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
22 <id>http://changaco.net/blog/parse-indented-tree/</id> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
23 |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
24 <link href="http://changaco.net/blog/parse-indented-tree/"/> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
25 |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
26 |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
27 |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
28 |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
29 |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
30 <updated>2012-06-04T17:48:49Z</updated> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
31 <published>2012-06-04T17:48:49Z</published> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
32 |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
33 <content type="html" xml:lang="en"> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
34 |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
35 |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
36 |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
37 <p>Indentation-based syntaxes are elegant, and trees are handy data structures, yet parsing an indentation-based tree isn't exactly a well-documented walk in the park.</p> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
38 <p>So here is an example using <a href="http://hackage.haskell.org/package/parsec">Parsec</a> and <a href="http://hackage.haskell.org/package/indents">indents</a>.</p> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
39 <pre class="sourceCode literate haskell"><code class="sourceCode haskell"><span class="fu">&gt;</span> <span class="kw">import</span> <span class="dt">Control.Applicative</span> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
40 <span class="fu">&gt;</span> <span class="kw">import</span> <span class="dt">Data.Char</span> (<span class="fu">isSpace</span>) |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
41 <span class="fu">&gt;</span> <span class="kw">import</span> <span class="dt">Data.Either.Utils</span> (forceEither) |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
42 <span class="fu">&gt;</span> <span class="kw">import</span> <span class="dt">Data.Monoid</span> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
43 <span class="fu">&gt;</span> <span class="kw">import</span> <span class="dt">System.Environment</span> (getArgs) |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
44 <span class="fu">&gt;</span> <span class="kw">import</span> <span class="dt">Text.Parsec</span> <span class="kw">hiding</span> (many, optional, (<span class="fu">&lt;|&gt;</span>)) |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
45 <span class="fu">&gt;</span> <span class="kw">import</span> <span class="dt">Text.Parsec.Indent</span></code></pre> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
46 <p>A basic tree structure:</p> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
47 <pre class="sourceCode literate haskell"><code class="sourceCode haskell"><span class="fu">&gt;</span> <span class="kw">data</span> <span class="dt">Tree</span> <span class="fu">=</span> <span class="dt">Node</span> [<span class="dt">Tree</span>] <span class="fu">|</span> <span class="dt">Leaf</span> <span class="dt">String</span></code></pre> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
48 <p>A simple serialization function to easily check the result of our parsing:</p> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
49 <pre class="sourceCode literate haskell"><code class="sourceCode haskell"><span class="fu">&gt;</span> serializeIndentedTree tree <span class="fu">=</span> <span class="fu">drop</span> <span class="dv">2</span> <span class="fu">$</span> s (<span class="fu">-</span><span class="dv">1</span>) tree |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
50 <span class="fu">&gt;</span> <span class="kw">where</span> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
51 <span class="fu">&gt;</span> s i (<span class="dt">Node</span> children) <span class="fu">=</span> <span class="st">&quot;\n&quot;</span> <span class="fu">&lt;&gt;</span> (<span class="fu">concat</span> <span class="fu">$</span> <span class="fu">replicate</span> i <span class="st">&quot; &quot;</span>) <span class="fu">&lt;&gt;</span> (<span class="fu">concat</span> <span class="fu">$</span> <span class="fu">map</span> (s (i<span class="dv">+1</span>)) children) |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
52 <span class="fu">&gt;</span> s _ (<span class="dt">Leaf</span> text) <span class="fu">=</span> text <span class="fu">&lt;&gt;</span> <span class="st">&quot; &quot;</span></code></pre> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
53 <p>Our main function and some glue:</p> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
54 <pre class="sourceCode literate haskell"><code class="sourceCode haskell"><span class="fu">&gt;</span> main <span class="fu">=</span> <span class="kw">do</span> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
55 <span class="fu">&gt;</span> args <span class="ot">&lt;-</span> getArgs |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
56 <span class="fu">&gt;</span> input <span class="ot">&lt;-</span> <span class="kw">if</span> <span class="fu">null</span> args <span class="kw">then</span> <span class="fu">return</span> example <span class="kw">else</span> <span class="fu">readFile</span> <span class="fu">$</span> <span class="fu">head</span> args |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
57 <span class="fu">&gt;</span> <span class="fu">putStrLn</span> <span class="fu">$</span> serializeIndentedTree <span class="fu">$</span> forceEither <span class="fu">$</span> parseIndentedTree input |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
58 <span class="fu">&gt;</span> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
59 <span class="fu">&gt;</span> parseIndentedTree input <span class="fu">=</span> runIndent <span class="st">&quot;&quot;</span> <span class="fu">$</span> runParserT aTree () <span class="st">&quot;&quot;</span> input</code></pre> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
60 <p>The actual parser:</p> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
61 <p>Note that the indents package works by storing a <code>SourcePos</code> in a <code>State</code> monad. Its combinators don't actually consume indentation, they just compare the column numbers. So where we consume <code>spaces</code> is very important.</p> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
62 <pre class="sourceCode literate haskell"><code class="sourceCode haskell"><span class="fu">&gt;</span> aTree <span class="fu">=</span> <span class="dt">Node</span> <span class="fu">&lt;$&gt;</span> many aNode |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
63 <span class="fu">&gt;</span> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
64 <span class="fu">&gt;</span> aNode <span class="fu">=</span> spaces <span class="fu">*&gt;</span> withBlock makeNode aNodeHeader aNode |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
65 <span class="fu">&gt;</span> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
66 <span class="fu">&gt;</span> aNodeHeader <span class="fu">=</span> many1 aLeaf <span class="fu">&lt;*</span> spaces |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
67 <span class="fu">&gt;</span> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
68 <span class="fu">&gt;</span> aLeaf <span class="fu">=</span> <span class="dt">Leaf</span> <span class="fu">&lt;$&gt;</span> (many1 (satisfy (<span class="fu">not</span> <span class="fu">.</span> <span class="fu">isSpace</span>)) <span class="fu">&lt;*</span> many (oneOf <span class="st">&quot; \t&quot;</span>)) |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
69 <span class="fu">&gt;</span> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
70 <span class="fu">&gt;</span> makeNode leaves nodes <span class="fu">=</span> <span class="dt">Node</span> <span class="fu">$</span> leaves <span class="fu">&lt;&gt;</span> nodes</code></pre> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
71 <p>An example tree:</p> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
72 <pre class="sourceCode literate haskell"><code class="sourceCode haskell"><span class="fu">&gt;</span> example <span class="fu">=</span> <span class="fu">unlines</span> [ |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
73 <span class="fu">&gt;</span> <span class="st">&quot;lorem ipsum&quot;</span>, |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
74 <span class="fu">&gt;</span> <span class="st">&quot; dolor&quot;</span>, |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
75 <span class="fu">&gt;</span> <span class="st">&quot; sit amet&quot;</span>, |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
76 <span class="fu">&gt;</span> <span class="st">&quot; consectetur&quot;</span>, |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
77 <span class="fu">&gt;</span> <span class="st">&quot; adipiscing elit dapibus&quot;</span>, |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
78 <span class="fu">&gt;</span> <span class="st">&quot; sodales&quot;</span>, |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
79 <span class="fu">&gt;</span> <span class="st">&quot;urna&quot;</span>, |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
80 <span class="fu">&gt;</span> <span class="st">&quot; facilisis&quot;</span> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
81 <span class="fu">&gt;</span> ]</code></pre> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
82 <p>The result:</p> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
83 <pre><code>% runhaskell parseIndentedTree.lhs |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
84 lorem ipsum |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
85 dolor |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
86 sit amet |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
87 consectetur |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
88 adipiscing elit dapibus |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
89 sodales |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
90 urna |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
91 facilisis </code></pre> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
92 |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
93 |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
94 </content> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
95 |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
96 |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
97 <link rel="comments" href="/blog/parse-indented-tree/#comments" type="text/html" /> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
98 |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
99 |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
100 <link rel="comments" href="/blog/parse-indented-tree/comments.atom" type="application/atom+xml" /> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
101 |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
102 </entry> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
103 <entry> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
104 <title>Petit glossaire politique</title> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
105 |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
106 <id>http://changaco.net/blog/Petit_glossaire_politique/</id> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
107 |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
108 <link href="http://changaco.net/blog/Petit_glossaire_politique/"/> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
109 |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
110 |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
111 |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
112 |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
113 |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
114 <updated>2012-06-21T13:13:57Z</updated> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
115 <published>2012-04-26T19:09:28Z</published> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
116 |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
117 <content type="html" xml:lang="en"> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
118 <p>Dans <a href="http://changaco.net/blog/Les_vrais_chiffres_de_la_pr&eacute;sidentielle/">mon billet précédent</a> j'argumentais par les chiffres, cette fois je vais me focaliser sur des mots.</p> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
119 |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
120 <p>Les discours et débats politiques sont couramment ruinés par le mésusage (intentionnel ou non) de certains mots. On nomme parfois ceci la <a href="http://fr.wikipedia.org/wiki/novlangue">novlangue</a> même si ce n'est pas réellement une nouvelle langue mais seulement une dérive de certains termes.</p> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
121 |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
122 <h2 id="dmocratieetrpublique">Démocratie et République</h2> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
123 |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
124 <p>Commençons par démocratie et république. Aussi loin que je me souvienne j'ai toujours entendu dire que la France est une république démocratique, qu'il faut la défendre et y participer, notamment via les élections. Mais ces dernières années <a href="http://www.tedxrepubliquesquare.com/etienne-chouard/">des voix se sont levées contre cette vision</a>.</p> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
125 |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
126 <p>En effet selon leurs sens originels, "démocratie" et "république" sont deux régimes politiques opposés.</p> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
127 |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
128 <p>Dans une démocratie les citoyens exercent directement le pouvoir, ils n'élisent personne pour gouverner à leur place. Pour les tâches ne pouvant être accomplies par l'ensemble des citoyens, des représentants sont tirés au sort. Ce sont des mandats de courtes durées et les sélectionnés doivent rendre des comptes.</p> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
129 |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
130 <p>À l'opposé, une république est une oligarchie élective. Le peuple renonce à exercer le pouvoir en le confiant à une élite gouvernante. Les révolutionnaires français qui prônaient la mise en place d'une république s'opposaient à la démocratie, comme en atteste cette <a href="http://fr.wikiquote.org/wiki/Emmanuel-Joseph_Siey%C3%A8s">citation de l'abbé Sieyès</a>:</p> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
131 |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
132 <blockquote> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
133 <p>Les citoyens qui se nomment des représentants renoncent et doivent renoncer à faire eux-mêmes la loi ; donc ils n'ont pas de volonté particulière à imposer. Toute influence, tout pouvoir leur appartient sur la personne de leur mandataire, mais c'est tout. S'ils dictaient des volontés ce ne serait plus un état représentatif, ce serait un état démocratique.</p> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
134 </blockquote> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
135 |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
136 <p>On peut être démocrate ou républicain (aucun rapport avec le bipartisme des États-Unis), ce sont deux positions défendables, mais on ne peut pas être les deux en même temps.</p> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
137 |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
138 <h2 id="technocratie">Technocratie</h2> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
139 |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
140 <p>Face à des lois comme HADOPI, certaines personnes s'y connaissant ou croyant s'y connaître en informatique ont commencé à remettre en cause la légitimité des parlementaires à légiférer sur des domaines qu'ils ne maîtrisent pas.</p> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
141 |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
142 <p>Or en république la seule légitimité est celle de l'élection, et en démocratie celle de la citoyenneté. Le régime dans lequel les "experts" sont au pouvoir s'appelle la technocratie.</p> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
143 |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
144 <p>Cette <a href="http://www.bortzmeyer.org/pas-sage-en-seine-politiques.html">citation de Stéphane Bortzmeyer</a> résume bien le problème de cette approche:</p> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
145 |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
146 <blockquote> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
147 <p>Est-ce que les lois sur l'Internet doivent être faites exclusivement par les geeks, les lois sur l'agriculture uniquement par des paysans et les lois sur la santé seulement par des médecins ?</p> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
148 </blockquote> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
149 |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
150 <p>Une loi sur tel ou tel domaine n'affecte pas que les professionnels ou amateurs du domaine en question, elle affecte potentiellement la population entière. C'est pour ça que ce ne sont pas les "experts" qui doivent décider mais bien des représentants de toute la population.</p> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
151 |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
152 <h2 id="anarchismeetlibralisme">Anarchisme et Libéralisme</h2> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
153 |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
154 <p>Dans les idéologies anti-autoritaires, l'anarchisme et le libéralisme ont souffert des déformations et contre-vérités.</p> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
155 |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
156 <p>Le mot "anarchie" est fréquemment utilisé péjorativement comme synonyme de désordre alors que l'anarchie est l'absence de gouvernement, d'autorité, pas l'absence d'ordre. Les anarchistes sont également souvent assimilés à des utopistes ou des terroristes.</p> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
157 |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
158 <p>Ces préjugés font que plusieurs groupes de personnes hésitent à se revendiquer de l'anarchisme alors qu'ils font clairement partie de la grande famille anarchiste, c'est par exemple le cas d'Anonymous ("<em>No leaders no followers</em>") et des <a href="http://blog.p2pfoundation.net/">défenseurs du P2P</a>.</p> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
159 |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
160 <p>Le libéralisme a plutôt dérivé dans l'autre sens. Il a été sali par des néo-libéralismes consécutifs qui lui ont fait dire tout et son contraire, s'éloignant toujours plus du sens originel de défense de la liberté des citoyens pour se focaliser seulement sur le rôle de l'État dans l'économie.</p> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
161 |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
162 <p>De nombreuses personnes accusent le libéralisme de tous les maux et en particulier d'être responsable de la crise économique et financière actuelle, croyant qu'elle a été causée par un manque de régulation alors que <a href="http://www.tetedequenelle.fr/2011/09/abolir-la-creation-monetaire-banques/">le mal est bien plus profond</a>. En réalité qualifier notre économie de libérale est un contresens du même niveau que d'affirmer que nous sommes en démocratie.</p> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
163 |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
164 <h2 id="communismesocialismeetcapitalisme">Communisme, Socialisme et Capitalisme</h2> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
165 |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
166 <p>Ce trio issu des travaux de Marx a été tellement détourné que l'utiliser est un terrain très glissant. Aucun de ces termes n'a de définition précise et consensuelle, chacun traîne une pléthore de préjugés. En général je les boycott en les qualifiant de clivages dépassés.</p> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
167 |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
168 <h2 id="gaucheversusdroite">Gauche versus Droite</h2> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
169 |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
170 <p>Pire que les trois précédents, le faux clivage gauche/droite, en plus de n'avoir aucune définition précise et consensuelle, n'a aucun sens étymologique.</p> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
171 |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
172 <p>Il divise artificiellement le pays en deux camps prétendument opposés et a été critiqué comme étant une vision simpliste de la politique. Plusieurs représentations en deux dimensions ont été créées, certaines conservant un axe gauche/droite:</p> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
173 |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
174 <ul> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
175 <li><a href="http://www.politicalcompass.org/">The Political Compass</a></li> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
176 <li><a href="http://www.gaucheliberale.org/post/2011/11/04/Carte-2D-du-Paysage-Politique-Fran%C3%A7ais-%28PPF%29-mise-%C3%A0-jour-novembre-2011">Carte 2D du Paysage Politique Français</a></li> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
177 </ul> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
178 |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
179 <p>et d'autres l'abandonnant complètement:</p> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
180 |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
181 <ul> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
182 <li><a href="http://www.politimetrie.org/?p=1">Quelle est votre position politimétrique ?</a></li> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
183 <li><a href="http://changaco.net/politim%C3%A9trie/changaco_ae.html">Test de politimétrie Autoritarisme/Égalitarisme</a></li> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
184 </ul> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
185 |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
186 <h2 id="conclusion">Conclusion</h2> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
187 |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
188 <p>Le langage est la base de tout échange d'idées, si nous n'utilisons pas correctement des mots aux définition claires et consensuelles le dialogue est impossible.</p> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
189 |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
190 </content> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
191 |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
192 |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
193 <link rel="comments" href="/blog/Petit_glossaire_politique/#comments" type="text/html" /> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
194 |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
195 |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
196 <link rel="comments" href="/blog/Petit_glossaire_politique/comments.atom" type="application/atom+xml" /> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
197 |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
198 </entry> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
199 <entry> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
200 <title>Les vrais chiffres de la présidentielle</title> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
201 |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
202 <id>http://changaco.net/blog/Les_vrais_chiffres_de_la_pr%C3%A9sidentielle/</id> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
203 |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
204 <link href="http://changaco.net/blog/Les_vrais_chiffres_de_la_pr%C3%A9sidentielle/"/> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
205 |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
206 |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
207 |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
208 |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
209 |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
210 <updated>2012-05-07T16:09:51Z</updated> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
211 <published>2012-04-23T22:03:18Z</published> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
212 |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
213 <content type="html" xml:lang="en"> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
214 <p><em>Ce billet se base sur les <a href="http://elections.interieur.gouv.fr/PR2012/">résultats publiés par le Ministère de l'Intérieur</a>.</em></p> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
215 |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
216 <h2 id="lesscoresdescandidatsrelativiss">Les scores des candidats relativisés</h2> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
217 |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
218 <p>Dans les résultats officiels les pourcentages des candidats ne sont calculés qu'en fonction des suffrages exprimés. Nous allons les relativiser en fonction des inscrits sur les listes électorales, mais aussi de la population en âge de voter car beaucoup de personnes ne peuvent pas, ne veulent pas ou ont oublié de s'inscrire sur les listes.</p> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
219 |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
220 <p>J'aurais aussi aimé calculer l'abstention réelle mais je n'ai pas trouvé de données à jour sur le nombre de français majeurs non privés du droit de vote.</p> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
221 |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
222 <p>Pour la non-participation je me base sur <a href="http://www.insee.fr/fr/themes/tableau.asp?reg_id=0&amp;ref_id=ccc">la pyramide des âges publiée par l'INSEE</a> qui estime à environ 50 892 994 le nombre de personnes résidant en France ayant 18 ans ou plus, ce qui donne (par soustraction des 46 037 545 inscrits) environ 4 855 449 non inscrites parmi celles-ci.</p> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
223 |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
224 <h3 id="premiertour">Premier tour</h3> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
225 |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
226 <table> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
227 <col align="left" /> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
228 <col align="right" /> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
229 <col align="right" /> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
230 <col align="right" /> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
231 <col align="right" /> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
232 <thead> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
233 <tr> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
234 <th>Candidat</th> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
235 <th>Voix</th> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
236 <th>% des exprimés</th> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
237 <th>% des inscrits</th> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
238 <th>% des majeurs</th> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
239 </tr> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
240 </thead> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
241 <tbody> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
242 <tr> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
243 <td align="left"><em>blancs + non-part.</em></td> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
244 <td align="right"> </td> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
245 <td align="right"> </td> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
246 <td align="right"> </td> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
247 <td align="right"><strong>29,49 %</strong></td> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
248 </tr> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
249 <tr> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
250 <td align="left">François Hollande</td> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
251 <td align="right">10 273 582</td> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
252 <td align="right">28,63 %</td> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
253 <td align="right">22,32 %</td> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
254 <td align="right">20,19 %</td> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
255 </tr> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
256 <tr> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
257 <td align="left"><em>blancs + abstention</em></td> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
258 <td align="right"> </td> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
259 <td align="right"> </td> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
260 <td align="right"><strong>22,05 %</strong></td> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
261 <td align="right">19,95 %</td> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
262 </tr> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
263 <tr> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
264 <td align="left">Nicolas Sarkozy</td> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
265 <td align="right">9 753 844</td> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
266 <td align="right">27,18 %</td> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
267 <td align="right">21,19 %</td> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
268 <td align="right">19,17 %</td> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
269 </tr> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
270 <tr> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
271 <td align="left">Marine Le Pen</td> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
272 <td align="right">6 421 773</td> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
273 <td align="right">17,90 %</td> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
274 <td align="right">13,95 %</td> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
275 <td align="right">12,62 %</td> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
276 </tr> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
277 <tr> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
278 <td align="left">Jean-Luc Mélenchon</td> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
279 <td align="right">3 985 298</td> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
280 <td align="right">11,11 %</td> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
281 <td align="right">8,66 %</td> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
282 <td align="right">7,83 %</td> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
283 </tr> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
284 <tr> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
285 <td align="left">François Bayrou</td> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
286 <td align="right">3 275 349</td> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
287 <td align="right">9,13 %</td> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
288 <td align="right">7,11 %</td> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
289 <td align="right">6,44 %</td> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
290 </tr> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
291 <tr> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
292 <td align="left">Eva Joly</td> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
293 <td align="right">828 451</td> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
294 <td align="right">2,31 %</td> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
295 <td align="right">1,80 %</td> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
296 <td align="right">1,63 %</td> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
297 </tr> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
298 <tr> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
299 <td align="left">Nicolas Dupont-Aignan</td> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
300 <td align="right">644 086</td> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
301 <td align="right">1,79 %</td> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
302 <td align="right">1,40 %</td> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
303 <td align="right">1,27 %</td> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
304 </tr> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
305 <tr> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
306 <td align="left">Philippe Poutou</td> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
307 <td align="right">411 178</td> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
308 <td align="right">1,15 %</td> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
309 <td align="right">0,89 %</td> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
310 <td align="right">0,81 %</td> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
311 </tr> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
312 <tr> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
313 <td align="left">Nathalie Arthaud</td> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
314 <td align="right">202 562</td> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
315 <td align="right">0,56 %</td> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
316 <td align="right">0,44 %</td> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
317 <td align="right">0,40 %</td> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
318 </tr> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
319 <tr> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
320 <td align="left">Jacques Cheminade</td> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
321 <td align="right">89 572</td> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
322 <td align="right">0,25 %</td> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
323 <td align="right">0,19 %</td> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
324 <td align="right">0,18 %</td> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
325 </tr> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
326 </tbody> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
327 </table> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
328 |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
329 <p>Résultats:</p> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
330 |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
331 <ul> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
332 <li>blancs + abstention arrive en deuxième position au coude à coude avec François Hollande</li> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
333 <li>blancs + non-participation arrive en première position loin devant le PS</li> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
334 </ul> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
335 |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
336 <h3 id="secondtour">Second tour</h3> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
337 |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
338 <table> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
339 <col align="left" /> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
340 <col align="right" /> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
341 <col align="right" /> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
342 <col align="right" /> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
343 <col align="right" /> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
344 <thead> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
345 <tr> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
346 <th>Candidat</th> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
347 <th>Voix</th> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
348 <th>% des exprimés</th> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
349 <th>% des inscrits</th> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
350 <th>% des majeurs</th> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
351 </tr> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
352 </thead> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
353 <tbody> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
354 <tr> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
355 <td align="left">François Hollande</td> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
356 <td align="right">18 003 044</td> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
357 <td align="right">51,63 %</td> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
358 <td align="right">39,11 %</td> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
359 <td align="right">35,37 %</td> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
360 </tr> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
361 <tr> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
362 <td align="left">Nicolas Sarkozy</td> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
363 <td align="right">16 864 167</td> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
364 <td align="right">48.37 %</td> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
365 <td align="right">36,63 %</td> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
366 <td align="right">33,14 %</td> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
367 </tr> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
368 <tr> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
369 <td align="left"><em>blancs + non-part.</em></td> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
370 <td align="right"> </td> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
371 <td align="right"> </td> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
372 <td align="right"> </td> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
373 <td align="right"><strong>31,49 %</strong></td> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
374 </tr> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
375 <tr> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
376 <td align="left"><em>blancs + abstention</em></td> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
377 <td align="right"> </td> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
378 <td align="right"> </td> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
379 <td align="right"><strong>24,26 %</strong></td> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
380 <td align="right">21,95 %</td> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
381 </tr> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
382 </tbody> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
383 </table> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
384 |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
385 <p>La légitimité de François Hollande est donc plutôt faible, avec seulement 39,11% des inscrits sur les listes électorales qui ont voté pour lui au second tour, contre 42,68% pour Sarkozy en 2007.</p> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
386 |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
387 <h2 id="loppositionlumps">L'opposition à l'UMPS</h2> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
388 |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
389 <p>56,50% des inscrits sur les listes électorales n'ont <strong>pas</strong> voté pour l'UMPS au premier tour. Autrement dit les deux grands partis ne rassemblent même pas une majorité des électeurs.</p> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
390 |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
391 <p>Au deuxième tour c'est un électeur sur quatre (24,26%) qui a boycotté l'UMPS contre un sur cinq en 2007 (19,56%).</p> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
392 |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
393 <h2 id="conclusion">Conclusion</h2> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
394 |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
395 <p><strong>Que nous apprennent ces chiffres ?</strong></p> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
396 |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
397 <p>Ces chiffres sont une façon de plus d'argumenter que l'élection présidentielle est une mascarade qui n'a rien de démocratique.</p> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
398 |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
399 <p><strong>Quelles sont les alternatives ?</strong></p> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
400 |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
401 <p>On peut:</p> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
402 |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
403 <ul> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
404 <li>changer de mode de scrutin, par exemple passer au <a href="http://www.votedevaleur.org/">vote de valeur</a></li> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
405 <li>supprimer le poste de président de la République, considérant qu'un élu ne peut pas représenter 65 millions de personnes</li> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
406 <li>supprimer la République pour <a href="http://le-message.org/">instaurer une Démocratie</a> (regardez par exemple cette <a href="https://www.youtube.com/watch?v=oN5tdMSXWV8">conférence d'Étienne Chouard</a>)</li> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
407 </ul> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
408 |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
409 <p>Dans tous les cas il nous faut une nouvelle Constitution…</p> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
410 |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
411 </content> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
412 |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
413 |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
414 <link rel="comments" href="/blog/Les_vrais_chiffres_de_la_présidentielle/#comments" type="text/html" /> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
415 |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
416 |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
417 <link rel="comments" href="/blog/Les_vrais_chiffres_de_la_présidentielle/comments.atom" type="application/atom+xml" /> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
418 |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
419 </entry> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
420 <entry> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
421 <title>Announcing feed-push and sendxmpp-py</title> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
422 |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
423 <id>http://changaco.net/blog/Announcing_feed-push_and_sendxmpp-py/</id> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
424 |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
425 <link href="http://changaco.net/blog/Announcing_feed-push_and_sendxmpp-py/"/> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
426 |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
427 |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
428 |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
429 |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
430 |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
431 <updated>2012-04-16T12:30:25Z</updated> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
432 <published>2012-04-16T12:30:25Z</published> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
433 |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
434 <content type="html" xml:lang="en"> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
435 <p>Polling RSS/Atom feeds wastes a lot of resources, for example "of all bandwidth generated by [The Pirate Bay] today nearly half comes from the RSS feed"<a href="http://changaco.net/blog/#fn:1" id="fnref:1" class="footnote">1</a>.</p> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
436 |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
437 <p>Until today I used to poll the feeds of my websites, watching for contributions on wikis and comments on my blog.</p> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
438 |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
439 <p>Now I receive updates instantly via XMPP thanks to these two scripts:</p> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
440 |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
441 <p><a href="http://changaco.net/gitweb/?p=feed-push.git">feed-push</a> is a daemon that watches local RSS/Atom files for changes and executes commands when new articles appear. It is written in python2 and depends on gamin and feedparser.</p> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
442 |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
443 <p>sendxmpp is the XMPP equivalent of sendmail, <a href="http://changaco.net/gitweb/?p=sendxmpp-py.git">sendxmpp-py</a> is a python3 replacement for the old sendxmpp written in Perl.</p> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
444 |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
445 <h2 id="rants">Rants</h2> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
446 |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
447 <p>I couldn't find a cross-platform library to watch files/directories accessible from python to use in feed-push. I fell back to gamin which only works on Linux and FreeBSD at the time I'm writing this post.</p> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
448 |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
449 <p>sendxmpp should be provided by the XMPP server (in my case prosody) the same way SMTP servers provide sendmail.</p> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
450 |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
451 <p>There is still no way for a developer to provide a cross-distribution and easy way for users to cleanly install its software, the only tool I know of that tries to solve this problem is <a href="http://pkgxx.org/">pkg++</a> but it's not even close to being ready.</p> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
452 |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
453 <p><br></p> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
454 |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
455 <h2 id="references">References</h2> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
456 |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
457 <div class="footnotes"> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
458 <hr /> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
459 <ol> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
460 |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
461 <li id="fn:1"><p><a href="https://torrentfreak.com/torrent-less-pirate-bay-sees-massive-drop-in-bandwith-120308/">Torrent-less Pirate Bay Sees Massive Drop in Bandwith</a><a href="http://changaco.net/blog/#fnref:1" class="reversefootnote">&#160;&#8617;</a></p></li> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
462 |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
463 </ol> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
464 </div> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
465 |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
466 </content> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
467 |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
468 |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
469 <link rel="comments" href="/blog/Announcing_feed-push_and_sendxmpp-py/#comments" type="text/html" /> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
470 |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
471 |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
472 <link rel="comments" href="/blog/Announcing_feed-push_and_sendxmpp-py/comments.atom" type="application/atom+xml" /> |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
473 |
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
474 </entry> |
1 | 475 <entry> |
476 <title>DNS problems and alternatives</title> | |
477 | |
478 <id>http://changaco.net/blog/DNS_problems_and_alternatives/</id> | |
479 | |
480 <link href="http://changaco.net/blog/DNS_problems_and_alternatives/"/> | |
481 | |
482 | |
483 | |
484 | |
485 | |
486 <updated>2011-12-10T13:34:21Z</updated> | |
487 <published>2011-12-10T13:34:21Z</published> | |
488 | |
489 <content type="html" xml:lang="en"> | |
490 <p>Replacing the <abbr title="Domain Name System">DNS</abbr> is a recurrent topic. In this post I try to explain the problems and give a list of existing or proposed alternatives.</p> | |
491 | |
492 <h2 id="problemsofthedns">Problems of the DNS</h2> | |
493 | |
494 <p>A little terminology first : the DNS has two functions, registering and resolving names. Critics of the registration mechanisms are mostly political, resolution problems are mostly technical.</p> | |
495 | |
496 <h3 id="censorship">Censorship</h3> | |
497 | |
498 <p>The US government has <a href="http://torrentfreak.com/feds-seize-130-domain-names-in-mass-crackdown-111125/">seized many domain names in November 2011</a>, as it had done the year before. Contrary to what some people said, <a href="http://domainincite.com/icann-had-no-role-in-seizing-torrent-domains/">the ICANN was not involved in those operations</a>. It was <a href="http://en.wikipedia.org/wiki/Verisign">Verisign</a>, the operator of the .com, .net, and .name generic top-level domains, that was ordered to seize the domains. As a result, some sites have fled generic TLDs controlled by US companies.</p> | |
499 | |
500 <h3 id="economicvampirismanddomainparking">Economic vampirism and domain parking</h3> | |
501 | |
502 <p>The DNS is a big profitable business.</p> | |
503 | |
504 <p>The name renting (you can't buy a domain name) business works like this : client → registrar (domain manager) → registry (<abbr title="Top-Level Domain">TLD</abbr> manager) → ICANN (root manager). Some of these organizations are nonprofit (e.g. ICANN), but that doesn't mean people working for them don't profit (there are high salaries, expensive dinners, trips, etc). Others are corporations that make very good profits<a href="http://changaco.net/blog/#fn:1" id="fnref:1" class="footnote">1</a>.</p> | |
505 | |
506 <p>X.509 certificates are another business. They are delivered by Certificate Authorities and used in TLS. This security model has been widely criticized<a href="http://changaco.net/blog/#fn:2" id="fnref:2" class="footnote">2</a><a href="http://changaco.net/blog/#fn:3" id="fnref:3" class="footnote">3</a><a href="http://changaco.net/blog/#fn:4" id="fnref:4" class="footnote">4</a> and there are plans to put certificates directly in DNS records<a href="http://changaco.net/blog/#fn:5" id="fnref:5" class="footnote">5</a><a href="http://changaco.net/blog/#fn:6" id="fnref:6" class="footnote">6</a>, and others to replace X.509 by OpenPGP<a href="http://changaco.net/blog/#fn:7" id="fnref:7" class="footnote">7</a>.</p> | |
507 | |
508 <p>Finally, there is the very annoying <a href="http://en.wikipedia.org/wiki/domain%20parking">domain parking</a> business.</p> | |
509 | |
510 <h3 id="technicalproblems">Technical problems</h3> | |
511 | |
512 <p>Being very old, the DNS also has technical weaknesses.</p> | |
513 | |
514 <p>The first is slow propagation of records because the DNS uses time-based caches.</p> | |
515 | |
516 <p>The second is that records are not stored in a P2P network, but by authoritative servers, which can be taken down by <abbr title="Denial of Service">DoS</abbr> attacks if they aren't sufficiently protected. This is rarely a problem in practice though.</p> | |
517 | |
518 <h2 id="whyhaventtheproblemsbeensolvedyet">Why haven't the problems been solved yet ?</h2> | |
519 | |
520 <p>Well, because different people want things that are contradictory. The problem is often known as <a href="http://en.wikipedia.org/wiki/Zooko%27s%20triangle">Zooko's triangle</a>, but there are in fact more than three desirable properties for identifiers :<a href="http://changaco.net/blog/#fn:8" id="fnref:8" class="footnote">8</a></p> | |
521 | |
522 <ul> | |
523 <li>We want to <strong>choose</strong> a <strong>unique</strong> and <strong>memorable</strong> name so we can communicate it to somebody else even if we don't have our computer with us at the moment. Some people who always have their smartphone with them may argue that this property is not important anymore, but not everybody has a smartphone.</li> | |
524 <li>We want a <strong>censorship-free</strong> system.</li> | |
525 <li>We want our <strong>trademarks</strong> to be registered only by us.</li> | |
526 <li>We want links between documents that are <strong>stable in time</strong>, the Web doesn't like broken URLs.</li> | |
527 <li>We want the registration process to be <strong>easy, fast and free of charge</strong>.</li> | |
528 <li>We want a name to be <strong>resolvable</strong> to an address, otherwise it's of no use to us.</li> | |
529 <li>We want names that are <strong>recoverable</strong> in case of hijacking or loss of credentials.</li> | |
530 </ul> | |
531 | |
532 <h2 id="existingorproposedalternatives">Existing or proposed alternatives</h2> | |
533 | |
534 <p>I can't help but start by my own DNS replacement proposal. <img src="http://changaco.net/blog/../smileys/smile.png" alt=":)" /> The <a href="http://changaco.net/ins/">Internet Naming System</a> acknowledges that there is no perfect solution and chooses to keep a central authority for name allocation. It makes censorship automatically detectable but not impossible.</p> | |
535 | |
536 <p>Projects for P2P registration of names :</p> | |
537 | |
538 <ul> | |
539 <li><a href="http://dot-bit.org/">Dot-BIT</a> (<a href="irc://irc.freenode.net/namecoin">#namecoin on freenode</a>) uses Bitcoin-like proof-of-work (which assumes that honest nodes have the majority of computing power)</li> | |
540 <li><a href="http://www.p2pns.org/">P2PNS</a> assumes that a vast majority of peers is honest</li> | |
541 <li><a href="http://lauren.vortex.com/archive/000787.html">IDONS: Internet Distributed Open Name System</a> (<a href="http://forums.gctip.org/forum-34.html">forum</a>) seems dead</li> | |
542 <li><a href="irc://irc.efnet.org/dns-p2p">#dns-p2p</a>, which used to have a wiki on dot-p2p.org, never gave anything and is dead</li> | |
543 </ul> | |
544 | |
545 <p>Technical solutions for improving resolution :</p> | |
546 | |
547 <ul> | |
548 <li><a href="http://beehive.systems.cs.cornell.edu/codons.php">CoDoNS</a></li> | |
549 <li><a href="http://huitema.wordpress.com/2011/01/03/a-simple-p2p-dns-proposal/">A simple P2P DNS proposal</a></li> | |
550 </ul> | |
551 | |
552 <p>Other projects :</p> | |
553 | |
554 <ul> | |
555 <li><a href="http://opennicproject.org/">OpenNIC</a> (<a href="irc://irc.freenode.net/opennic">#opennic on freenode</a>, <a href="http://lists.darkdna.net/mailman/listinfo">OpenNIC lists</a>) is an alternative root</li> | |
556 <li><a href="http://dns.telecomix.org/">Telecomix Censorship-proof DNS</a> (<a href="irc://irc.telecomix.org/dns">#dns on telecomix IRC</a>)</li> | |
557 </ul> | |
558 | |
559 <p>Other proposals :</p> | |
560 | |
561 <ul> | |
562 <li>on the <a href="http://lists.zooko.com/mailman/listinfo/p2p-hackers">p2p-hackers list</a> : | |
563 <ul> | |
564 <li><a href="http://lists.zooko.com/pipermail/p2p-hackers/2010-December/002598.html">Secure, decentralized DNS (a.k.a. solving Zooko's triangle)</a></li> | |
565 <li><a href="http://lists.zooko.com/pipermail/p2p-hackers/2010-December/002587.html">.p2p domain</a></li> | |
566 </ul></li> | |
567 <li><a href="http://roland.entierement.nu/blog/2010/10/02/for-a-truly-acentric-internet.html">For a truly acentric Internet</a>, proposes to abandon meaningful identifiers (an old proposition that comes back regularly)</li> | |
568 <li><a href="http://www.templetons.com/brad/dns/">Problems, Goals and a Fix for Domain Names</a>, proposed to only allow trademarks as TLDs</li> | |
569 </ul> | |
570 | |
571 <h2 id="referencesandcredits">References and credits</h2> | |
572 | |
573 <p>Thanks to Stéphane Bortzmeyer for helping with this post.</p> | |
574 | |
575 <div class="footnotes"> | |
576 <hr /> | |
577 <ol> | |
578 | |
579 <li id="fn:1"><p><a href="http://www.chemla.org/textes/voleur.html">Confessions d'un voleur</a> [fr]<a href="http://changaco.net/blog/#fnref:1" class="reversefootnote">&#160;&#8617;</a></p></li> | |
580 | |
581 <li id="fn:2"><p><a href="https://www.eff.org/deeplinks/2010/03/researchers-reveal-likelihood-governments-fake-ssl">New Research Suggests That Governments May Fake SSL Certificates</a><a href="http://changaco.net/blog/#fnref:2" class="reversefootnote">&#160;&#8617;</a></p></li> | |
582 | |
583 <li id="fn:3"><p><a href="https://docs.google.com/present/view?id=df9sn445_206ff3kn9gs">It's Time to Fix HTTPS</a><a href="http://changaco.net/blog/#fnref:3" class="reversefootnote">&#160;&#8617;</a></p></li> | |
584 | |
585 <li id="fn:4"><p><a href="http://lair.fifthhorseman.net/~dkg/tls-centralization/">Technical Architecture shapes Social Structure: an example from the real world</a><a href="http://changaco.net/blog/#fnref:4" class="reversefootnote">&#160;&#8617;</a></p></li> | |
586 | |
587 <li id="fn:5"><p><a href="http://tools.ietf.org/wg/dane/">DNS-based Authentication of Named Entities - IETF Working Group</a><a href="http://changaco.net/blog/#fnref:5" class="reversefootnote">&#160;&#8617;</a></p></li> | |
588 | |
589 <li id="fn:6"><p><a href="http://www.bortzmeyer.org/jres-dane-2011.html">Exposé sur les clés dans le DNS à JRES</a> [fr]<a href="http://changaco.net/blog/#fnref:6" class="reversefootnote">&#160;&#8617;</a></p></li> | |
590 | |
591 <li id="fn:7"><p><a href="http://web.monkeysphere.info/">The Monkeysphere Project</a><a href="http://changaco.net/blog/#fnref:7" class="reversefootnote">&#160;&#8617;</a></p></li> | |
592 | |
593 <li id="fn:8"><p><a href="http://www.bortzmeyer.org/no-free-lunch.html">Inventer un meilleur système de nommage: pas si facile</a> [fr]<a href="http://changaco.net/blog/#fnref:8" class="reversefootnote">&#160;&#8617;</a></p></li> | |
594 | |
595 </ol> | |
596 </div> | |
597 | |
598 </content> | |
599 | |
600 | |
601 <link rel="comments" href="/blog/DNS_problems_and_alternatives/#comments" type="text/html" /> | |
602 | |
603 | |
604 <link rel="comments" href="/blog/DNS_problems_and_alternatives/comments.atom" type="application/atom+xml" /> | |
605 | |
606 </entry> | |
607 <entry> | |
608 <title>Privacy and distant storage</title> | |
609 | |
610 <id>http://changaco.net/blog/Privacy_and_distant_storage/</id> | |
611 | |
612 <link href="http://changaco.net/blog/Privacy_and_distant_storage/"/> | |
613 | |
614 | |
615 | |
616 | |
617 | |
618 <updated>2010-09-02T11:12:33Z</updated> | |
619 <published>2010-08-30T22:45:55Z</published> | |
620 | |
621 <content type="html" xml:lang="en"> | |
622 <p>Some people seem to think that their data is only safe in their own homes. I agree that not keeping a local copy or storing unprotected personal documents on a machine you don't control are bad things. But I was reminded today (while trolling on <a href="http://www.numerama.com/">Numerama</a>, a French tech-related news site) that having them home doesn't make them safe from:</p> | |
623 | |
624 <ul> | |
625 <li>hardware failures such as hard drive breakdowns (although <a href="http://smartmontools.sourceforge.net/">smartmontools</a> may be able to alert you before it is too late)</li> | |
626 <li>disasters such as fire</li> | |
627 </ul> | |
628 | |
629 <p>Of course, if your home burns, loosing your files will be the least of your concerns, but if you know they are safe it is one less thing to worry about.</p> | |
630 | |
631 <p>Then I realized that having backups in different geographic places does not necessarily endanger your privacy, it just depends on how you do it. What you need is to encrypt and/or cut the data so that the people who will store it for you will not be able to read or exploit it (just like <a href="http://en.wikipedia.org/wiki/Freenet">Freenet</a> does for different reasons).</p> | |
632 | |
633 <p>So the next question is where to store it ? I came to see three possibilities:</p> | |
634 | |
635 <ul> | |
636 <li>pay for some storage service, might be necessary if you have a lot of data</li> | |
637 <li>share storage space with peers, this was my original thought</li> | |
638 <li>share storage space with family and/or friends, this the safest of the three and credit goes to Kaliko for suggesting it on the <a href="xmpp:utopians@muc.changaco.net?join">utopians chat room</a></li> | |
639 </ul> | |
640 | |
641 <p>I believe, like many others, that a good place for such sharing software is in <a href="http://en.wikipedia.org/wiki/residential%20gateway">residential gateway</a>s, maybe we'll see it implemented someday in the <a href="http://wiki.debian.org/FreedomBox">Freedom Box</a> ?</p> | |
642 | |
643 </content> | |
644 | |
645 | |
646 <link rel="comments" href="/blog/Privacy_and_distant_storage/#comments" type="text/html" /> | |
647 | |
648 | |
649 <link rel="comments" href="/blog/Privacy_and_distant_storage/comments.atom" type="application/atom+xml" /> | |
650 | |
651 </entry> | |
652 <entry> | |
26
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
653 <title>Code indentation and alignment</title> |
1 | 654 |
26
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
655 <id>http://changaco.net/blog/Code_indentation_and_alignment/</id> |
1 | 656 |
26
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
657 <link href="http://changaco.net/blog/Code_indentation_and_alignment/"/> |
1 | 658 |
659 | |
660 | |
661 | |
662 | |
26
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
663 <updated>2012-04-16T12:31:10Z</updated> |
1 | 664 <published>2010-06-01T15:09:22Z</published> |
665 | |
666 <content type="html" xml:lang="en"> | |
667 <p>In this post I try to summarize the different points of view on the tabs versus spaces war.</p> | |
668 | |
669 <h2 id="decompositionoftheproblem">Decomposition of the problem</h2> | |
670 | |
26
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
671 <p>Firstly, you need to understand the difference between the <strong>tab key</strong> and the <strong>tab character</strong>. What your text editor does when you press the tab key is a matter of configuration and has nothing to do with the problem discussed here.</p> |
1 | 672 |
673 <p>Secondly, we need to distinguish <strong>indentation</strong> and <strong>alignment</strong>, this is explained in <a href="http://www.iovene.com/61">TABs vs Spaces. The end of the debate.</a> and shows why the historical rendering of tabs is not fit for alignment.</p> | |
674 | |
675 <h2 id="thesolutions">The solutions</h2> | |
676 | |
677 <h3 id="useonlyspaces">Use only spaces</h3> | |
678 | |
679 <p>This is the solution proposed by many and is notably exposed in <a href="http://www.jwz.org/doc/tabs-vs-spaces.html">Tabs versus Spaces: An Eternal Holy War.</a></p> | |
680 | |
681 <p>The obvious solution when dynamic doesn't work is to fall back to static. Using only spaces does indeed work for both indentation and aligning and you can configure most text editors to make it as easy as using tabs. So, what's wrong with it ? Here's a list :</p> | |
682 | |
683 <ul> | |
684 <li>you can't use proportional fonts</li> | |
685 <li>you can't easily change the indentation width</li> | |
686 <li>your files are larger</li> | |
687 </ul> | |
688 | |
689 <p>The two first points are all about freedom, maybe you don't like proportional fonts to code, but some people do.</p> | |
690 | |
691 <p>As to the third point, people usually reject it by saying that it doesn't matter nowadays because of disks capacity, network speed and compression. Still, I wanted to make a <em>quick and dirty</em> measure of the impact of the 4 spaces policy on python 2.6 on my system as of June 2010 ( done in zsh ) :</p> | |
692 | |
693 <pre><code># cd /usr/lib/python2.6 | |
694 # for f in **/*(/); do mkdir -p "../python2.6.spaces/&#036;f" "../python2.6.tabs/&#036;f"; done; | |
695 # for f in **/*.py; do cp "&#036;f" "../python2.6.spaces/&#036;f"; cp "&#036;f" "../python2.6.tabs/&#036;f"; done; | |
696 # du -h --max-depth=0 python2.6.* | |
697 43M python2.6.spaces | |
698 43M python2.6.tabs | |
699 | |
700 # cd ../python2.6.tabs | |
701 # sed 's/^\(\t*\) /\1\t/' -i **/*.py | |
702 # du -h --max-depth=0 ../python2.6.tabs | |
703 41M ../python2.6.tabs | |
704 # sed 's/^\(\t*\) /\1\t/' -i **/*.py | |
705 # du -h --max-depth=0 ../python2.6.tabs | |
706 39M ../python2.6.tabs | |
707 | |
708 ... I did it two more times but the rounded number stayed 39M | |
709 </code></pre> | |
710 | |
711 <p>The result is that using 4 spaces instead of tabs makes files about 10% bigger. If you get a different result or tested something else than python 2.6 I invite you to post a comment.</p> | |
712 | |
713 <h3 id="usespacesforalignment">Use spaces for alignment</h3> | |
714 | |
715 <p>Since the problem with tabs is alignment, some people argue that you can use whatever you want for indentation as long as you use spaces for alignment. If you choose to use tabs, the indentation width is no longer an issue and most of the space waste goes away, but you still can't use proportional fonts.</p> | |
716 | |
717 <h3 id="elastictabstops">Elastic tabstops</h3> | |
718 | |
26
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
719 <p>This solution solves all the issues listed here and makes alignment easier. How ? By redefining the way the tab character is displayed. It's all explained in <a href="http://nickgravgaard.com/elastictabstops/">Elastic tabstops - a better way to indent and align code</a>. The downside is that text editors have to be modified.</p> |
1 | 720 |
721 <h2 id="myopinion">My opinion</h2> | |
722 | |
723 <p>I use tabs for indentation, spaces for alignment and I wish elastic tabstops were more widely known, implemented and used.</p> | |
724 | |
725 </content> | |
726 | |
727 | |
26
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
728 <link rel="comments" href="/blog/Code_indentation_and_alignment/#comments" type="text/html" /> |
1 | 729 |
730 | |
26
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
731 <link rel="comments" href="/blog/Code_indentation_and_alignment/comments.atom" type="application/atom+xml" /> |
1 | 732 |
733 </entry> | |
734 <entry> | |
735 <title>Réponse à Daniel Glazman</title> | |
736 | |
737 <id>http://changaco.net/blog/R%C3%A9ponse_%C3%A0_Daniel_Glazman/</id> | |
738 | |
739 <link href="http://changaco.net/blog/R%C3%A9ponse_%C3%A0_Daniel_Glazman/"/> | |
740 | |
741 | |
742 | |
743 | |
744 | |
26
ee5a5a7a9f72
newer version of examples/blog.atom
Changaco <changaco ατ changaco δοτ net>
parents:
1
diff
changeset
|
745 <updated>2010-05-18T18:12:15Z</updated> |
1 | 746 <published>2010-05-16T20:49:20Z</published> |
747 | |
748 <content type="html" xml:lang="en"> | |
749 <p>Comme le dit le dicton populaire : « mieux vaut tard que jamais ». Je vais donc profiter de l'ouverture de mon blog pour répondre à un message de Daniel Glazman, mais ce billet concerne aussi Tristan Nitot.</p> | |
750 | |
751 <p>Commençons par poser le décor, l'histoire commence avec une <a href="http://standblog.org/blog/post/2010/04/02/Interview-Glazman-BlueGriffon">interview de Daniel Glazman par Tristan Nitot</a>. Ayant le Standblog dans mon lecteur de flux je lis l'article et trouvant étrange le modèle économique choisi par M. Glazman je décide de laisser un commentaire :</p> | |
752 | |
753 <blockquote> | |
754 <p>Encore et toujours en train d'essayer de vendre des copies, quand allez-vous comprendre que ce n'est pas un modèle viable ?<br /> | |
755 Voir entre autres : <a href="http://hcsoftware.sourceforge.net/jason-rohrer/freeDistribution.html">Free Distribution</a>.</p> | |
756 </blockquote> | |
757 | |
758 <p>J'avoue que c'était plutôt <em>trollesque</em>, j'aurais pu commencer par une question plus neutre sur le pourquoi du modèle économique choisi.</p> | |
759 | |
760 <p>C'est là que commencent les choses intéressantes. Tout d'abord, les commentaires étaient modérés à priori ce qui compliquait le débat en introduisant de longs délais, on a continué malgré tout, jusqu'à ce que M. Nitot ferme les commentaires, sans donner d'explication. <a href="http://changaco.net/blog/#note1" id="note1_c1" title="Aller &agrave; la note 1">1</a></p> | |
761 | |
762 <p>Puis quelqu'un qui est abonné au blog de M. Glazman m'envoie un message sur Jabber pour me signaler que celui-ci a publié un billet pour continuer le débat : <a href="http://www.glazman.org/weblog/dotclear/index.php?post/2010/04/07/Usual-suspects">Usual suspects - &lt;Glazblog/&gt;</a>.</p> | |
763 | |
764 <p>Je réponds donc là-bas, mais M. Glazman en a vite marre et ferme les commentaires à son tour, en laissant ce message :</p> | |
765 | |
766 <blockquote> | |
767 <p>A ce point, crevé par le jetlag, une crève monumentale et mon retour tardif de Paris hier soir, ce commentateur me les broute menu-menu. Ses arguments sont tellement nuls ("<cite>Si BlueGriffon était financé par Mozilla on ne serait pas en train de parler de tout ça</cite>" et si ma tante en avait...) que j'en ai franchement ras-le-bol d'offrir une tribune à cette personne ; je ferme donc les commentaires sur cet article mais je laisse sa prose, elle fera date...</p> | |
768 </blockquote> | |
769 | |
770 <p>Tout d'abord je tiens à faire remarquer que j'ai passé pas mal de temps à rédiger mes commentaires or la majorité de mes propos n'a pas eu de réponse, par exemple ma question dans mon dernier commentaire sur la fiabilité du modèle économique choisi :</p> | |
771 | |
772 <blockquote> | |
773 <p>je ne vois pas en quoi le modèle économique de la vente d'extensions propriétaires serait sûr. Par exemple si la communauté développe les mêmes en libre que ferez-vous ? La course aux fonctionnalités ?</p> | |
774 </blockquote> | |
775 | |
776 <p>Enfin, et c'est la motivation première de ce billet, je tiens à dénoncer cette pratique de la fermeture des commentaires totalement contraire à la liberté d'expression, il y a des façons plus civilisées de clore un débat, qu'il soit <em>trollesque</em> ou non.</p> | |
777 | |
778 <p><a id="note1" href="http://changaco.net/blog/#note1_c1">↑</a> <strong>Édit :</strong> on me rétorque que les commentaires sont fermés automatiquement aux bouts de 3 jours sur le Standblog. À cela je réponds deux choses :</p> | |
779 | |
780 <ul> | |
781 <li>je ne vois aucune mention de ça sur ledit blog, il me semble que la moindre des choses serait de le signaler</li> | |
782 <li>je suis autant en désaccord avec cette pratique qu'avec la fermeture manuelle</li> | |
783 </ul> | |
784 | |
785 </content> | |
786 | |
787 | |
788 <link rel="comments" href="/blog/Réponse_à_Daniel_Glazman/#comments" type="text/html" /> | |
789 | |
790 | |
791 <link rel="comments" href="/blog/Réponse_à_Daniel_Glazman/comments.atom" type="application/atom+xml" /> | |
792 | |
793 </entry> | |
794 | |
795 </feed> |