annotate examples/blog.atom @ 17:421a3416e768 draft

close std{in,out,err} in daemon mode Signed-off-by: Changaco <changaco ατ changaco δοτ net>
author Changaco <changaco ατ changaco δοτ net>
date Thu, 26 Apr 2012 23:54:23 +0200
parents a68d7feeba88
children ee5a5a7a9f72
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
1 <?xml version="1.0" encoding="utf-8"?>
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
2
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
3 <feed xmlns="http://www.w3.org/2005/Atom">
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
4 <title>Changaco&#x27;s blog</title>
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
5 <link href="http://changaco.net/blog/"/>
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
6 <link href="http://changaco.net/blog/feed.atom" rel="self" type="application/atom+xml"/>
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
7 <author>
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
8 <name>Changaco</name>
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
9
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
10 </author>
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
11
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
12
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
13
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
14 <id>http://changaco.net/blog/</id>
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
15
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
16 <subtitle type="html">Changaco</subtitle>
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
17 <generator uri="http://ikiwiki.info/" version="3.20111107">ikiwiki</generator>
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
18 <updated>2011-12-10T13:52:20Z</updated>
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
19 <entry>
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
20 <title>DNS problems and alternatives</title>
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
21
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
22 <id>http://changaco.net/blog/DNS_problems_and_alternatives/</id>
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
23
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
24 <link href="http://changaco.net/blog/DNS_problems_and_alternatives/"/>
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
25
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
26
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
27
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
28
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
29
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
30 <updated>2011-12-10T13:34:21Z</updated>
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
31 <published>2011-12-10T13:34:21Z</published>
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
32
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
33 <content type="html" xml:lang="en">
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
34 &lt;p&gt;Replacing the &lt;abbr title=&quot;Domain Name System&quot;&gt;DNS&lt;/abbr&gt; is a recurrent topic. In this post I try to explain the problems and give a list of existing or proposed alternatives.&lt;/p&gt;
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
35
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
36 &lt;h2 id=&quot;problemsofthedns&quot;&gt;Problems of the DNS&lt;/h2&gt;
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
37
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
38 &lt;p&gt;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.&lt;/p&gt;
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
39
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
40 &lt;h3 id=&quot;censorship&quot;&gt;Censorship&lt;/h3&gt;
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
41
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
42 &lt;p&gt;The US government has &lt;a href=&quot;http://torrentfreak.com/feds-seize-130-domain-names-in-mass-crackdown-111125/&quot;&gt;seized many domain names in November 2011&lt;/a&gt;, as it had done the year before. Contrary to what some people said, &lt;a href=&quot;http://domainincite.com/icann-had-no-role-in-seizing-torrent-domains/&quot;&gt;the ICANN was not involved in those operations&lt;/a&gt;. It was &lt;a href=&quot;http://en.wikipedia.org/wiki/Verisign&quot;&gt;Verisign&lt;/a&gt;, 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.&lt;/p&gt;
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
43
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
44 &lt;h3 id=&quot;economicvampirismanddomainparking&quot;&gt;Economic vampirism and domain parking&lt;/h3&gt;
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
45
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
46 &lt;p&gt;The DNS is a big profitable business.&lt;/p&gt;
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
47
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
48 &lt;p&gt;The name renting (you can&#39;t buy a domain name) business works like this : client → registrar (domain manager) → registry (&lt;abbr title=&quot;Top-Level Domain&quot;&gt;TLD&lt;/abbr&gt; manager) → ICANN (root manager). Some of these organizations are nonprofit (e.g. ICANN), but that doesn&#39;t mean people working for them don&#39;t profit (there are high salaries, expensive dinners, trips, etc). Others are corporations that make very good profits&lt;a href=&quot;http://changaco.net/blog/#fn:1&quot; id=&quot;fnref:1&quot; class=&quot;footnote&quot;&gt;1&lt;/a&gt;.&lt;/p&gt;
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
49
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
50 &lt;p&gt;X.509 certificates are another business. They are delivered by Certificate Authorities and used in TLS. This security model has been widely criticized&lt;a href=&quot;http://changaco.net/blog/#fn:2&quot; id=&quot;fnref:2&quot; class=&quot;footnote&quot;&gt;2&lt;/a&gt;&lt;a href=&quot;http://changaco.net/blog/#fn:3&quot; id=&quot;fnref:3&quot; class=&quot;footnote&quot;&gt;3&lt;/a&gt;&lt;a href=&quot;http://changaco.net/blog/#fn:4&quot; id=&quot;fnref:4&quot; class=&quot;footnote&quot;&gt;4&lt;/a&gt; and there are plans to put certificates directly in DNS records&lt;a href=&quot;http://changaco.net/blog/#fn:5&quot; id=&quot;fnref:5&quot; class=&quot;footnote&quot;&gt;5&lt;/a&gt;&lt;a href=&quot;http://changaco.net/blog/#fn:6&quot; id=&quot;fnref:6&quot; class=&quot;footnote&quot;&gt;6&lt;/a&gt;, and others to replace X.509 by OpenPGP&lt;a href=&quot;http://changaco.net/blog/#fn:7&quot; id=&quot;fnref:7&quot; class=&quot;footnote&quot;&gt;7&lt;/a&gt;.&lt;/p&gt;
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
51
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
52 &lt;p&gt;Finally, there is the very annoying &lt;a href=&quot;http://en.wikipedia.org/wiki/domain%20parking&quot;&gt;domain parking&lt;/a&gt; business.&lt;/p&gt;
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
53
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
54 &lt;h3 id=&quot;technicalproblems&quot;&gt;Technical problems&lt;/h3&gt;
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
55
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
56 &lt;p&gt;Being very old, the DNS also has technical weaknesses.&lt;/p&gt;
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
57
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
58 &lt;p&gt;The first is slow propagation of records because the DNS uses time-based caches.&lt;/p&gt;
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
59
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
60 &lt;p&gt;The second is that records are not stored in a P2P network, but by authoritative servers, which can be taken down by &lt;abbr title=&quot;Denial of Service&quot;&gt;DoS&lt;/abbr&gt; attacks if they aren&#39;t sufficiently protected. This is rarely a problem in practice though.&lt;/p&gt;
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
61
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
62 &lt;h2 id=&quot;whyhaventtheproblemsbeensolvedyet&quot;&gt;Why haven&#39;t the problems been solved yet ?&lt;/h2&gt;
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
63
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
64 &lt;p&gt;Well, because different people want things that are contradictory. The problem is often known as &lt;a href=&quot;http://en.wikipedia.org/wiki/Zooko%27s%20triangle&quot;&gt;Zooko&#39;s triangle&lt;/a&gt;, but there are in fact more than three desirable properties for identifiers :&lt;a href=&quot;http://changaco.net/blog/#fn:8&quot; id=&quot;fnref:8&quot; class=&quot;footnote&quot;&gt;8&lt;/a&gt;&lt;/p&gt;
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
65
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
66 &lt;ul&gt;
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
67 &lt;li&gt;We want to &lt;strong&gt;choose&lt;/strong&gt; a &lt;strong&gt;unique&lt;/strong&gt; and &lt;strong&gt;memorable&lt;/strong&gt; name so we can communicate it to somebody else even if we don&#39;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.&lt;/li&gt;
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
68 &lt;li&gt;We want a &lt;strong&gt;censorship-free&lt;/strong&gt; system.&lt;/li&gt;
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
69 &lt;li&gt;We want our &lt;strong&gt;trademarks&lt;/strong&gt; to be registered only by us.&lt;/li&gt;
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
70 &lt;li&gt;We want links between documents that are &lt;strong&gt;stable in time&lt;/strong&gt;, the Web doesn&#39;t like broken URLs.&lt;/li&gt;
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
71 &lt;li&gt;We want the registration process to be &lt;strong&gt;easy, fast and free of charge&lt;/strong&gt;.&lt;/li&gt;
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
72 &lt;li&gt;We want a name to be &lt;strong&gt;resolvable&lt;/strong&gt; to an address, otherwise it&#39;s of no use to us.&lt;/li&gt;
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
73 &lt;li&gt;We want names that are &lt;strong&gt;recoverable&lt;/strong&gt; in case of hijacking or loss of credentials.&lt;/li&gt;
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
74 &lt;/ul&gt;
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
75
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
76 &lt;h2 id=&quot;existingorproposedalternatives&quot;&gt;Existing or proposed alternatives&lt;/h2&gt;
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
77
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
78 &lt;p&gt;I can&#39;t help but start by my own DNS replacement proposal. &lt;img src=&quot;http://changaco.net/blog/../smileys/smile.png&quot; alt=&quot;:)&quot; /&gt; The &lt;a href=&quot;http://changaco.net/ins/&quot;&gt;Internet Naming System&lt;/a&gt; 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.&lt;/p&gt;
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
79
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
80 &lt;p&gt;Projects for P2P registration of names :&lt;/p&gt;
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
81
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
82 &lt;ul&gt;
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
83 &lt;li&gt;&lt;a href=&quot;http://dot-bit.org/&quot;&gt;Dot-BIT&lt;/a&gt; (&lt;a href=&quot;irc://irc.freenode.net/namecoin&quot;&gt;#namecoin on freenode&lt;/a&gt;) uses Bitcoin-like proof-of-work (which assumes that honest nodes have the majority of computing power)&lt;/li&gt;
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
84 &lt;li&gt;&lt;a href=&quot;http://www.p2pns.org/&quot;&gt;P2PNS&lt;/a&gt; assumes that a vast majority of peers is honest&lt;/li&gt;
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
85 &lt;li&gt;&lt;a href=&quot;http://lauren.vortex.com/archive/000787.html&quot;&gt;IDONS: Internet Distributed Open Name System&lt;/a&gt; (&lt;a href=&quot;http://forums.gctip.org/forum-34.html&quot;&gt;forum&lt;/a&gt;) seems dead&lt;/li&gt;
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
86 &lt;li&gt;&lt;a href=&quot;irc://irc.efnet.org/dns-p2p&quot;&gt;#dns-p2p&lt;/a&gt;, which used to have a wiki on dot-p2p.org, never gave anything and is dead&lt;/li&gt;
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
87 &lt;/ul&gt;
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
88
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
89 &lt;p&gt;Technical solutions for improving resolution :&lt;/p&gt;
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
90
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
91 &lt;ul&gt;
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
92 &lt;li&gt;&lt;a href=&quot;http://beehive.systems.cs.cornell.edu/codons.php&quot;&gt;CoDoNS&lt;/a&gt;&lt;/li&gt;
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
93 &lt;li&gt;&lt;a href=&quot;http://huitema.wordpress.com/2011/01/03/a-simple-p2p-dns-proposal/&quot;&gt;A simple P2P DNS proposal&lt;/a&gt;&lt;/li&gt;
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
94 &lt;/ul&gt;
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
95
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
96 &lt;p&gt;Other projects :&lt;/p&gt;
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
97
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
98 &lt;ul&gt;
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
99 &lt;li&gt;&lt;a href=&quot;http://opennicproject.org/&quot;&gt;OpenNIC&lt;/a&gt; (&lt;a href=&quot;irc://irc.freenode.net/opennic&quot;&gt;#opennic on freenode&lt;/a&gt;, &lt;a href=&quot;http://lists.darkdna.net/mailman/listinfo&quot;&gt;OpenNIC lists&lt;/a&gt;) is an alternative root&lt;/li&gt;
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
100 &lt;li&gt;&lt;a href=&quot;http://dns.telecomix.org/&quot;&gt;Telecomix Censorship-proof DNS&lt;/a&gt; (&lt;a href=&quot;irc://irc.telecomix.org/dns&quot;&gt;#dns on telecomix IRC&lt;/a&gt;)&lt;/li&gt;
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
101 &lt;/ul&gt;
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
102
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
103 &lt;p&gt;Other proposals :&lt;/p&gt;
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
104
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
105 &lt;ul&gt;
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
106 &lt;li&gt;on the &lt;a href=&quot;http://lists.zooko.com/mailman/listinfo/p2p-hackers&quot;&gt;p2p-hackers list&lt;/a&gt; :
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
107 &lt;ul&gt;
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
108 &lt;li&gt;&lt;a href=&quot;http://lists.zooko.com/pipermail/p2p-hackers/2010-December/002598.html&quot;&gt;Secure, decentralized DNS (a.k.a. solving Zooko&#39;s triangle)&lt;/a&gt;&lt;/li&gt;
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
109 &lt;li&gt;&lt;a href=&quot;http://lists.zooko.com/pipermail/p2p-hackers/2010-December/002587.html&quot;&gt;.p2p domain&lt;/a&gt;&lt;/li&gt;
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
110 &lt;/ul&gt;&lt;/li&gt;
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
111 &lt;li&gt;&lt;a href=&quot;http://roland.entierement.nu/blog/2010/10/02/for-a-truly-acentric-internet.html&quot;&gt;For a truly acentric Internet&lt;/a&gt;, proposes to abandon meaningful identifiers (an old proposition that comes back regularly)&lt;/li&gt;
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
112 &lt;li&gt;&lt;a href=&quot;http://www.templetons.com/brad/dns/&quot;&gt;Problems, Goals and a Fix for Domain Names&lt;/a&gt;, proposed to only allow trademarks as TLDs&lt;/li&gt;
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
113 &lt;/ul&gt;
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
114
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
115 &lt;h2 id=&quot;referencesandcredits&quot;&gt;References and credits&lt;/h2&gt;
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
116
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
117 &lt;p&gt;Thanks to Stéphane Bortzmeyer for helping with this post.&lt;/p&gt;
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
118
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
119 &lt;div class=&quot;footnotes&quot;&gt;
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
120 &lt;hr /&gt;
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
121 &lt;ol&gt;
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
122
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
123 &lt;li id=&quot;fn:1&quot;&gt;&lt;p&gt;&lt;a href=&quot;http://www.chemla.org/textes/voleur.html&quot;&gt;Confessions d&#39;un voleur&lt;/a&gt; [fr]&lt;a href=&quot;http://changaco.net/blog/#fnref:1&quot; class=&quot;reversefootnote&quot;&gt;&amp;#160;&amp;#8617;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
124
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
125 &lt;li id=&quot;fn:2&quot;&gt;&lt;p&gt;&lt;a href=&quot;https://www.eff.org/deeplinks/2010/03/researchers-reveal-likelihood-governments-fake-ssl&quot;&gt;New Research Suggests That Governments May Fake SSL Certificates&lt;/a&gt;&lt;a href=&quot;http://changaco.net/blog/#fnref:2&quot; class=&quot;reversefootnote&quot;&gt;&amp;#160;&amp;#8617;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
126
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
127 &lt;li id=&quot;fn:3&quot;&gt;&lt;p&gt;&lt;a href=&quot;https://docs.google.com/present/view?id=df9sn445_206ff3kn9gs&quot;&gt;It&#39;s Time to Fix HTTPS&lt;/a&gt;&lt;a href=&quot;http://changaco.net/blog/#fnref:3&quot; class=&quot;reversefootnote&quot;&gt;&amp;#160;&amp;#8617;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
128
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
129 &lt;li id=&quot;fn:4&quot;&gt;&lt;p&gt;&lt;a href=&quot;http://lair.fifthhorseman.net/~dkg/tls-centralization/&quot;&gt;Technical Architecture shapes Social Structure: an example from the real world&lt;/a&gt;&lt;a href=&quot;http://changaco.net/blog/#fnref:4&quot; class=&quot;reversefootnote&quot;&gt;&amp;#160;&amp;#8617;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
130
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
131 &lt;li id=&quot;fn:5&quot;&gt;&lt;p&gt;&lt;a href=&quot;http://tools.ietf.org/wg/dane/&quot;&gt;DNS-based Authentication of Named Entities - IETF Working Group&lt;/a&gt;&lt;a href=&quot;http://changaco.net/blog/#fnref:5&quot; class=&quot;reversefootnote&quot;&gt;&amp;#160;&amp;#8617;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
132
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
133 &lt;li id=&quot;fn:6&quot;&gt;&lt;p&gt;&lt;a href=&quot;http://www.bortzmeyer.org/jres-dane-2011.html&quot;&gt;Exposé sur les clés dans le DNS à JRES&lt;/a&gt; [fr]&lt;a href=&quot;http://changaco.net/blog/#fnref:6&quot; class=&quot;reversefootnote&quot;&gt;&amp;#160;&amp;#8617;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
134
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
135 &lt;li id=&quot;fn:7&quot;&gt;&lt;p&gt;&lt;a href=&quot;http://web.monkeysphere.info/&quot;&gt;The Monkeysphere Project&lt;/a&gt;&lt;a href=&quot;http://changaco.net/blog/#fnref:7&quot; class=&quot;reversefootnote&quot;&gt;&amp;#160;&amp;#8617;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
136
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
137 &lt;li id=&quot;fn:8&quot;&gt;&lt;p&gt;&lt;a href=&quot;http://www.bortzmeyer.org/no-free-lunch.html&quot;&gt;Inventer un meilleur système de nommage: pas si facile&lt;/a&gt; [fr]&lt;a href=&quot;http://changaco.net/blog/#fnref:8&quot; class=&quot;reversefootnote&quot;&gt;&amp;#160;&amp;#8617;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
138
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
139 &lt;/ol&gt;
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
140 &lt;/div&gt;
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
141
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
142 </content>
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
143
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
144
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
145 <link rel="comments" href="/blog/DNS_problems_and_alternatives/#comments" type="text/html" />
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
146
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
147
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
148 <link rel="comments" href="/blog/DNS_problems_and_alternatives/comments.atom" type="application/atom+xml" />
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
149
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
150 </entry>
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
151 <entry>
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
152 <title>Privacy and distant storage</title>
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
153
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
154 <id>http://changaco.net/blog/Privacy_and_distant_storage/</id>
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
155
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
156 <link href="http://changaco.net/blog/Privacy_and_distant_storage/"/>
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
157
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
158
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
159
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
160
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
161
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
162
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
163 <category term="tags/idea" />
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
164
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
165 <category term="tags/internet" />
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
166
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
167
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
168 <updated>2010-09-02T11:12:33Z</updated>
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
169 <published>2010-08-30T22:45:55Z</published>
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
170
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
171 <content type="html" xml:lang="en">
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
172 &lt;p&gt;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&#39;t control are bad things. But I was reminded today (while trolling on &lt;a href=&quot;http://www.numerama.com/&quot;&gt;Numerama&lt;/a&gt;, a French tech-related news site) that having them home doesn&#39;t make them safe from:&lt;/p&gt;
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
173
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
174 &lt;ul&gt;
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
175 &lt;li&gt;hardware failures such as hard drive breakdowns (although &lt;a href=&quot;http://smartmontools.sourceforge.net/&quot;&gt;smartmontools&lt;/a&gt; may be able to alert you before it is too late)&lt;/li&gt;
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
176 &lt;li&gt;disasters such as fire&lt;/li&gt;
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
177 &lt;/ul&gt;
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
178
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
179 &lt;p&gt;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.&lt;/p&gt;
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
180
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
181 &lt;p&gt;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 &lt;a href=&quot;http://en.wikipedia.org/wiki/Freenet&quot;&gt;Freenet&lt;/a&gt; does for different reasons).&lt;/p&gt;
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
182
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
183 &lt;p&gt;So the next question is where to store it ? I came to see three possibilities:&lt;/p&gt;
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
184
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
185 &lt;ul&gt;
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
186 &lt;li&gt;pay for some storage service, might be necessary if you have a lot of data&lt;/li&gt;
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
187 &lt;li&gt;share storage space with peers, this was my original thought&lt;/li&gt;
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
188 &lt;li&gt;share storage space with family and/or friends, this the safest of the three and credit goes to Kaliko for suggesting it on the &lt;a href=&quot;xmpp:utopians@muc.changaco.net?join&quot;&gt;utopians chat room&lt;/a&gt;&lt;/li&gt;
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
189 &lt;/ul&gt;
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
190
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
191 &lt;p&gt;I believe, like many others, that a good place for such sharing software is in &lt;a href=&quot;http://en.wikipedia.org/wiki/residential%20gateway&quot;&gt;residential gateway&lt;/a&gt;s, maybe we&#39;ll see it implemented someday in the &lt;a href=&quot;http://wiki.debian.org/FreedomBox&quot;&gt;Freedom Box&lt;/a&gt; ?&lt;/p&gt;
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
192
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
193 </content>
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
194
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
195
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
196 <link rel="comments" href="/blog/Privacy_and_distant_storage/#comments" type="text/html" />
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
197
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
198
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
199 <link rel="comments" href="/blog/Privacy_and_distant_storage/comments.atom" type="application/atom+xml" />
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
200
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
201 </entry>
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
202 <entry>
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
203 <title>tabs vs spaces</title>
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
204
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
205 <id>http://changaco.net/blog/tabs_vs_spaces/</id>
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
206
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
207 <link href="http://changaco.net/blog/tabs_vs_spaces/"/>
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
208
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
209
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
210
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
211
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
212
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
213 <updated>2011-04-12T09:23:05Z</updated>
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
214 <published>2010-06-01T15:09:22Z</published>
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
215
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
216 <content type="html" xml:lang="en">
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
217 &lt;p&gt;In this post I try to summarize the different points of view on the tabs versus spaces war.&lt;/p&gt;
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
218
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
219 &lt;h2 id=&quot;decompositionoftheproblem&quot;&gt;Decomposition of the problem&lt;/h2&gt;
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
220
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
221 &lt;p&gt;Firstly, you need to understand the difference between the &lt;strong&gt;tab key&lt;/strong&gt; and the &lt;strong&gt;tab character&lt;/strong&gt;. What you text editor does when you press the tab key is a matter of configuration and has nothing to do with the problem discussed here.&lt;/p&gt;
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
222
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
223 &lt;p&gt;Secondly, we need to distinguish &lt;strong&gt;indentation&lt;/strong&gt; and &lt;strong&gt;alignment&lt;/strong&gt;, this is explained in &lt;a href=&quot;http://www.iovene.com/61&quot;&gt;TABs vs Spaces. The end of the debate.&lt;/a&gt; and shows why the historical rendering of tabs is not fit for alignment.&lt;/p&gt;
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
224
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
225 &lt;h2 id=&quot;thesolutions&quot;&gt;The solutions&lt;/h2&gt;
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
226
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
227 &lt;h3 id=&quot;useonlyspaces&quot;&gt;Use only spaces&lt;/h3&gt;
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
228
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
229 &lt;p&gt;This is the solution proposed by many and is notably exposed in &lt;a href=&quot;http://www.jwz.org/doc/tabs-vs-spaces.html&quot;&gt;Tabs versus Spaces: An Eternal Holy War.&lt;/a&gt;&lt;/p&gt;
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
230
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
231 &lt;p&gt;The obvious solution when dynamic doesn&#39;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&#39;s wrong with it ? Here&#39;s a list :&lt;/p&gt;
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
232
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
233 &lt;ul&gt;
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
234 &lt;li&gt;you can&#39;t use proportional fonts&lt;/li&gt;
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
235 &lt;li&gt;you can&#39;t easily change the indentation width&lt;/li&gt;
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
236 &lt;li&gt;your files are larger&lt;/li&gt;
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
237 &lt;/ul&gt;
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
238
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
239 &lt;p&gt;The two first points are all about freedom, maybe you don&#39;t like proportional fonts to code, but some people do.&lt;/p&gt;
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
240
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
241 &lt;p&gt;As to the third point, people usually reject it by saying that it doesn&#39;t matter nowadays because of disks capacity, network speed and compression. Still, I wanted to make a &lt;em&gt;quick and dirty&lt;/em&gt; measure of the impact of the 4 spaces policy on python 2.6 on my system as of June 2010 ( done in zsh ) :&lt;/p&gt;
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
242
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
243 &lt;pre&gt;&lt;code&gt;# cd /usr/lib/python2.6
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
244 # for f in **/*(/); do mkdir -p &quot;../python2.6.spaces/&amp;#036;f&quot; &quot;../python2.6.tabs/&amp;#036;f&quot;; done;
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
245 # for f in **/*.py; do cp &quot;&amp;#036;f&quot; &quot;../python2.6.spaces/&amp;#036;f&quot;; cp &quot;&amp;#036;f&quot; &quot;../python2.6.tabs/&amp;#036;f&quot;; done;
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
246 # du -h --max-depth=0 python2.6.*
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
247 43M python2.6.spaces
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
248 43M python2.6.tabs
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
249
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
250 # cd ../python2.6.tabs
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
251 # sed &#39;s/^\(\t*\) /\1\t/&#39; -i **/*.py
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
252 # du -h --max-depth=0 ../python2.6.tabs
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
253 41M ../python2.6.tabs
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
254 # sed &#39;s/^\(\t*\) /\1\t/&#39; -i **/*.py
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
255 # du -h --max-depth=0 ../python2.6.tabs
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
256 39M ../python2.6.tabs
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
257
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
258 ... I did it two more times but the rounded number stayed 39M
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
259 &lt;/code&gt;&lt;/pre&gt;
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
260
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
261 &lt;p&gt;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.&lt;/p&gt;
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
262
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
263 &lt;h3 id=&quot;usespacesforalignment&quot;&gt;Use spaces for alignment&lt;/h3&gt;
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
264
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
265 &lt;p&gt;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&#39;t use proportional fonts.&lt;/p&gt;
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
266
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
267 &lt;h3 id=&quot;elastictabstops&quot;&gt;Elastic tabstops&lt;/h3&gt;
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
268
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
269 &lt;p&gt;This solution solves all the issues listed here and makes alignment easier. How ? By redefining the way the tab character is displayed. It&#39;s all explained in &lt;a href=&quot;http://nickgravgaard.com/elastictabstops/&quot;&gt;Elastic tabstops - a better way to indent and align code&lt;/a&gt;. The downside is that text editors&#39; code has to be modified.&lt;/p&gt;
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
270
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
271 &lt;h2 id=&quot;myopinion&quot;&gt;My opinion&lt;/h2&gt;
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
272
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
273 &lt;p&gt;I use tabs for indentation, spaces for alignment and I wish elastic tabstops were more widely known, implemented and used.&lt;/p&gt;
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
274
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
275 </content>
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
276
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
277
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
278 <link rel="comments" href="/blog/tabs_vs_spaces/#comments" type="text/html" />
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
279
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
280
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
281 <link rel="comments" href="/blog/tabs_vs_spaces/comments.atom" type="application/atom+xml" />
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
282
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
283 </entry>
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
284 <entry>
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
285 <title>Réponse à Daniel Glazman</title>
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
286
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
287 <id>http://changaco.net/blog/R%C3%A9ponse_%C3%A0_Daniel_Glazman/</id>
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
288
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
289 <link href="http://changaco.net/blog/R%C3%A9ponse_%C3%A0_Daniel_Glazman/"/>
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
290
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
291
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
292
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
293
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
294
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
295 <updated>2011-12-10T13:50:13Z</updated>
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
296 <published>2010-05-16T20:49:20Z</published>
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
297
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
298 <content type="html" xml:lang="en">
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
299 &lt;p&gt;Comme le dit le dicton populaire : « mieux vaut tard que jamais ». Je vais donc profiter de l&#39;ouverture de mon blog pour répondre à un message de Daniel Glazman, mais ce billet concerne aussi Tristan Nitot.&lt;/p&gt;
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
300
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
301 &lt;p&gt;Commençons par poser le décor, l&#39;histoire commence avec une &lt;a href=&quot;http://standblog.org/blog/post/2010/04/02/Interview-Glazman-BlueGriffon&quot;&gt;interview de Daniel Glazman par Tristan Nitot&lt;/a&gt;. Ayant le Standblog dans mon lecteur de flux je lis l&#39;article et trouvant étrange le modèle économique choisi par M. Glazman je décide de laisser un commentaire :&lt;/p&gt;
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
302
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
303 &lt;blockquote&gt;
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
304 &lt;p&gt;Encore et toujours en train d&#39;essayer de vendre des copies, quand allez-vous comprendre que ce n&#39;est pas un modèle viable ?&lt;br /&gt;
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
305 Voir entre autres : &lt;a href=&quot;http://hcsoftware.sourceforge.net/jason-rohrer/freeDistribution.html&quot;&gt;Free Distribution&lt;/a&gt;.&lt;/p&gt;
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
306 &lt;/blockquote&gt;
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
307
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
308 &lt;p&gt;J&#39;avoue que c&#39;était plutôt &lt;em&gt;trollesque&lt;/em&gt;, j&#39;aurais pu commencer par une question plus neutre sur le pourquoi du modèle économique choisi.&lt;/p&gt;
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
309
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
310 &lt;p&gt;C&#39;est là que commencent les choses intéressantes. Tout d&#39;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&#39;à ce que M. Nitot ferme les commentaires, sans donner d&#39;explication. &lt;a href=&quot;http://changaco.net/blog/#note1&quot; id=&quot;note1_c1&quot; title=&quot;Aller &amp;agrave; la note 1&quot;&gt;1&lt;/a&gt;&lt;/p&gt;
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
311
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
312 &lt;p&gt;Puis quelqu&#39;un qui est abonné au blog de M. Glazman m&#39;envoie un message sur Jabber pour me signaler que celui-ci a publié un billet pour continuer le débat : &lt;a href=&quot;http://www.glazman.org/weblog/dotclear/index.php?post/2010/04/07/Usual-suspects&quot;&gt;Usual suspects - &amp;lt;Glazblog/&amp;gt;&lt;/a&gt;.&lt;/p&gt;
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
313
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
314 &lt;p&gt;Je réponds donc là-bas, mais M. Glazman en a vite marre et ferme les commentaires à son tour, en laissant ce message :&lt;/p&gt;
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
315
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
316 &lt;blockquote&gt;
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
317 &lt;p&gt;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 (&quot;&lt;cite&gt;Si BlueGriffon était financé par Mozilla on ne serait pas en train de parler de tout ça&lt;/cite&gt;&quot; et si ma tante en avait...) que j&#39;en ai franchement ras-le-bol d&#39;offrir une tribune à cette personne ; je ferme donc les commentaires sur cet article mais je laisse sa prose, elle fera date...&lt;/p&gt;
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
318 &lt;/blockquote&gt;
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
319
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
320 &lt;p&gt;Tout d&#39;abord je tiens à faire remarquer que j&#39;ai passé pas mal de temps à rédiger mes commentaires or la majorité de mes propos n&#39;a pas eu de réponse, par exemple ma question dans mon dernier commentaire sur la fiabilité du modèle économique choisi :&lt;/p&gt;
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
321
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
322 &lt;blockquote&gt;
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
323 &lt;p&gt;je ne vois pas en quoi le modèle économique de la vente d&#39;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 ?&lt;/p&gt;
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
324 &lt;/blockquote&gt;
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
325
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
326 &lt;p&gt;Enfin, et c&#39;est la motivation première de ce billet, je tiens à dénoncer cette pratique de la fermeture des commentaires totalement contraire à la liberté d&#39;expression, il y a des façons plus civilisées de clore un débat, qu&#39;il soit &lt;em&gt;trollesque&lt;/em&gt; ou non.&lt;/p&gt;
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
327
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
328 &lt;p&gt;&lt;a id=&quot;note1&quot; href=&quot;http://changaco.net/blog/#note1_c1&quot;&gt;↑&lt;/a&gt; &lt;strong&gt;Édit :&lt;/strong&gt; 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 :&lt;/p&gt;
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
329
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
330 &lt;ul&gt;
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
331 &lt;li&gt;je ne vois aucune mention de ça sur ledit blog, il me semble que la moindre des choses serait de le signaler&lt;/li&gt;
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
332 &lt;li&gt;je suis autant en désaccord avec cette pratique qu&#39;avec la fermeture manuelle&lt;/li&gt;
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
333 &lt;/ul&gt;
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
334
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
335 </content>
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
336
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
337
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
338 <link rel="comments" href="/blog/Réponse_à_Daniel_Glazman/#comments" type="text/html" />
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
339
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
340
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
341 <link rel="comments" href="/blog/Réponse_à_Daniel_Glazman/comments.atom" type="application/atom+xml" />
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
342
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
343 </entry>
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
344 <entry>
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
345 <title>About this blog</title>
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
346
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
347 <id>http://changaco.net/blog/About_this_blog/</id>
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
348
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
349 <link href="http://changaco.net/blog/About_this_blog/"/>
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
350
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
351
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
352
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
353
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
354
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
355
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
356 <category term="tags/clevercss" />
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
357
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
358 <category term="tags/css3" />
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
359
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
360 <category term="tags/html5" />
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
361
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
362 <category term="tags/ikiwiki" />
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
363
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
364
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
365 <updated>2011-12-10T13:52:20Z</updated>
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
366 <published>2010-05-16T20:49:20Z</published>
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
367
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
368 <content type="html" xml:lang="en">
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
369 &lt;p&gt;This site is powered by &lt;a href=&quot;http://ikiwiki.info&quot;&gt;Ikiwiki&lt;/a&gt;. It took me a while to set it up and I have some things to share.&lt;/p&gt;
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
370
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
371 &lt;p&gt;Firstly :&lt;/p&gt;
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
372
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
373 &lt;ul&gt;
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
374 &lt;li&gt;&lt;a href=&quot;http://changaco.net/blog/../templates/&quot;&gt;templates&lt;/a&gt; that use HTML5&lt;/li&gt;
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
375 &lt;li&gt;&lt;a href=&quot;http://changaco.net/blog/../code/s2p2/&quot;&gt;s2p2&lt;/a&gt;, a bash script that pre-processes JavaScript and ( Clever ) CSS&lt;/li&gt;
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
376 &lt;/ul&gt;
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
377
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
378 &lt;p&gt;About &lt;a href=&quot;http://changaco.net/blog/../style/&quot;&gt;style sheets&lt;/a&gt; :&lt;/p&gt;
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
379
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
380 &lt;ul&gt;
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
381 &lt;li&gt;there is quite some of CSS3, like selectors and flexible box model&lt;/li&gt;
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
382 &lt;li&gt;the biggest part is written in &lt;a href=&quot;http://sandbox.pocoo.org/clevercss/&quot;&gt;Clever CSS&lt;/a&gt;&lt;/li&gt;
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
383 &lt;/ul&gt;
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
384
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
385 &lt;p&gt;For Clever CSS, a &lt;a href=&quot;http://changaco.net/blog/../code/ccss.xml&quot;&gt;ccss syntax file&lt;/a&gt; for &lt;a href=&quot;http://kate-editor.org/&quot;&gt;kate&lt;/a&gt;.&lt;/p&gt;
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
386
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
387 &lt;p&gt;Concerning &lt;a href=&quot;http://changaco.net/blog/../script/&quot;&gt;JavaScript&lt;/a&gt; :&lt;/p&gt;
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
388
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
389 &lt;ul&gt;
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
390 &lt;li&gt;I got rid of the default ikiwiki.js as I don&#39;t support old browsers&lt;/li&gt;
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
391 &lt;li&gt;&lt;a href=&quot;http://changaco.net/blog/../code/chtml/&quot;&gt;chtml&lt;/a&gt; creates real elements from HTML code contained in comments of the form &lt;code&gt;&amp;lt;!--(CHTML) ... --&amp;gt;&lt;/code&gt;&lt;/li&gt;
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
392 &lt;/ul&gt;
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
393
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
394 &lt;p&gt;Everything has been written with technologies supported by the current versions of Firefox and Chromium as of April 2010. A conditional comment hides scripts and styles from all versions of IE. If you are using an up-to-date free browser and you encounter a problem send me a mail or even better a patch, I&#39;ll see what I can do.&lt;/p&gt;
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
395
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
396 &lt;h2 id=&quot;aboutcomments&quot;&gt;About comments&lt;/h2&gt;
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
397
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
398 &lt;p&gt;After a lot of thinking and some debate I decided to enable pseudo-anonymous comments only ( you can put a nickname and a website ). This means no OpenID and no user registration.&lt;/p&gt;
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
399
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
400 &lt;p&gt;I&#39;ll try to talk about that in a future post on Internet Identity.&lt;/p&gt;
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
401
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
402 &lt;h2 id=&quot;criticsofikiwiki&quot;&gt;Critics of ikiwiki&lt;/h2&gt;
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
403
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
404 &lt;ul&gt;
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
405 &lt;li&gt;Perl sux&lt;/li&gt;
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
406 &lt;li&gt;I couldn&#39;t find a good way to build a site from multiple repositories&lt;/li&gt;
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
407 &lt;li&gt;no threaded comments&lt;/li&gt;
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
408 &lt;li&gt;discussion pages as crappy as traditional MediaWiki ones ( maybe even more )&lt;/li&gt;
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
409 &lt;/ul&gt;
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
410
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
411 </content>
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
412
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
413
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
414 <link rel="comments" href="/blog/About_this_blog/#comments" type="text/html" />
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
415
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
416
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
417 <link rel="comments" href="/blog/About_this_blog/comments.atom" type="application/atom+xml" />
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
418
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
419 </entry>
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
420
a68d7feeba88 initial commit
Changaco <changaco ατ changaco δοτ net>
parents:
diff changeset
421 </feed>