index.html 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318
  1. <!doctype html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
  6. <title>Talk on infra CA</title>
  7. <link rel="stylesheet" href="css/reset.css">
  8. <link rel="stylesheet" href="css/reveal.css">
  9. <link rel="stylesheet" href="css/theme/black.css">
  10. <!-- Theme used for syntax highlighting of code -->
  11. <link rel="stylesheet" href="lib/css/monokai.css">
  12. <!-- Printing and PDF exports -->
  13. <script>
  14. var link = document.createElement('link');
  15. link.rel = 'stylesheet';
  16. link.type = 'text/css';
  17. link.href = window.location.search.match(/print-pdf/gi) ? 'css/print/pdf.css' : 'css/print/paper.css';
  18. document.getElementsByTagName('head')[0].appendChild(link);
  19. </script>
  20. <style>
  21. .reveal h2 {
  22. font-size: 1.6em;
  23. background: rgba(6,6,6,0.8);
  24. }
  25. div.fragment, ul.fragment{background: rgba(6,6,6,0.8);}
  26. </style>
  27. </head>
  28. <body>
  29. <div class="reveal">
  30. <div class="slides">
  31. <section>
  32. <h2>Infrastructures in a horizontal farmers community</h2>
  33. Human agreements, comunication infrastructures<br/> Campi Aperti - Bologna - Italy
  34. </section>
  35. <!--
  36. <section>
  37. <h2>title</h2>
  38. <p>subtitle</p>
  39. <ul>
  40. <li></li>
  41. <li></li>
  42. <li></li>
  43. <li></li>
  44. <li></li>
  45. <li></li>
  46. </ul>
  47. <aside class="notes"> </aside>
  48. </section>
  49. -->
  50. <section>
  51. <h2>CAMPI APERTI</h2>
  52. <p>our food autonomy</p>
  53. <ul>
  54. <li>why: to know what we eat, to know how the environment is changing</li>
  55. <li>who: farmers, food processors (only in relation to producers), consumers = co-producers</li>
  56. <li>from: Via Campesina, 1999 no global movement, radical anticapitalist background</li>
  57. <!--li>how: agroecology, principle of equality, economy based on relationships, sense of limit</li>
  58. <li>where: near! In shared public spaces</li-->
  59. </ul>
  60. <aside class="notes">to keep humanity, safeguard the environment, to know that some things do not have a price, </aside>
  61. </section>
  62. <section data-background="./imgs/xm24_web.png">
  63. <h2 class="fragment">Where?</h2>
  64. <div class="fragment">
  65. <p>In shared public space: </br/>
  66. squares and squats VS supermarkets and car-parkings</p>
  67. <p>Campi Aperti was born in XM24 in Bolognina</p>
  68. <p>www.ecn.org/xm24</p>
  69. </div>
  70. <aside class="notes">xm24 is a self-managed public space in bolognina, more than 17 years old: now is under threat of eviction because it is out the logic of profit, because it is not a service, because it is a self-managed community</aside>
  71. </section>
  72. <section>
  73. <h2>WHEN? </h2>
  74. <p> a diffente idea of time!</p>
  75. <ul>
  76. <li>time does not depend from us, it is not human-centric</li>
  77. <li>farmers know this really well, they are used to plan</li>
  78. <li>ciclically</li>
  79. <li>emergencies can't exist, you have to be prepared</li>
  80. <li>everything change, slowly</li>
  81. </ul>
  82. <aside class="notes">our time is gold, is circular, is projects, is community, is story. Usually when something is smart and quick, is not considering some variables... </aside>
  83. </section>
  84. <section data-background-video="video.mp4,video.webm">
  85. <h3>HOW</h3>
  86. <ul class="fragment">
  87. <li>food autonomy (those who live in the area decide what to grow, eat and produce)</li>
  88. <li>agroecology, recognizing an ecosystem to be safeguarded</li>
  89. <li>consensus method, not hierarchical relationship</li>
  90. <li>shared warranty: participatory BIO certification!= centralized BIO certification</li>
  91. <li>sense of limit, shared ideas and mutualism, understand the diversity, planned together</li>
  92. <li>economy of relationship, based on knowledge and not on competition</li>
  93. </ul>
  94. <aside class="notes"><li>food autonomy (those who live in the area decide what to grow, eat and produce)</li>
  95. <li>agroecology, recognizing an ecosystem to be safeguarded</li>
  96. <li>consensus method, not gerarchical relationship</li>
  97. <li>shared warranty: participatory BIO certification!= centralized BIO certification</li>
  98. <li>is like a web of trust: every farmers at every market checks the product of the other.. is easier than it looks, because we live in the valleys.. you see if a product comes from the big distribution and not from a nearby field</li>
  99. <li>sense of limit, shared ideas and mutualism, understand the diversity, planned together</li>
  100. <li>economy of relationship, based on knowledge and not on competition</li></aside>
  101. </section>
  102. <section>
  103. <h3>Consensus method</h3>
  104. is a non-monopolistic method, based on trust and on the richness given by the diversity of points of view.
  105. it is a negotiation between content and relationship, between trust and technical agreement.
  106. It does not mean unanimity (which makes it difficult to express doubts), it means CONSENSUS, trust, understanding,
  107. Leave the possibility to CHANGE. Don't hide the problems.
  108. We use a formal consensus method, there are many small assemblies with reports and plenary assemblies with
  109. parallelizations.
  110. <aside class="notes">Img con diagramma trust and law. Always be in transformation and do not take definitive decision. no meta discussion. critical thinking </aside>
  111. </section>
  112. <section>
  113. <h1> diagrams</h1>
  114. </section>
  115. <section>
  116. <h2>Orientation</h2>
  117. <p>never say: "do we all agree?", but rather: "do someone have more doubts?"</p>
  118. <ul>
  119. <li>active consent</li>
  120. <li>consent and doubt</li>
  121. <li>active dissent</li>
  122. </ul>
  123. <aside class="notes"> active dissent, means that the path we are taking is against some principles</aside>
  124. </section>
  125. <section>
  126. <h2>Our Shared agreements</h2>
  127. <ul>
  128. <li>reports </li>
  129. <li>time keeper</li>
  130. <li>right to listen/ to be listened</li>
  131. <li>everyone talks for herself (no meta discussion)</li>
  132. </ul>
  133. <aside class="notes"> </aside>
  134. </section>
  135. <section data-background="./imgs/Ca_web.png">
  136. <h2 class="fragment">Early Communication tools</h2>
  137. <ul class="fragment">
  138. <li>2003: markets in public squares</li>
  139. <li>2003: mailing list: a lot of different self-managed servers</li>
  140. <li>2004: web site: autistici/inventati server</li>
  141. </ul>
  142. <p>the possibility to reduce distances is really important in the countryside</p>
  143. <aside class="notes">AI is an antifascist/antisexist/antiracist server, more than 12 ml, many different comunications tools, also commercial; we are 143 farmers, probably a bit more than 1000 thousand people</aside>
  144. </section>
  145. <section>
  146. <h2>Mesh network</h2>
  147. <ul>
  148. <li>ninux.org</li>
  149. <li>Starting in March 2017</li>
  150. <li>8 nodes</li>
  151. <li>software: libremesh.org</li>
  152. <ul> <li>based on openwrt</li>
  153. <li>routing protocols: batman adv and babeld</li>
  154. </ul>
  155. <li>hardware: tplink, ubiquiti, librerouter.org</li>
  156. </ul>
  157. <aside class="notes"> </aside>
  158. </section>
  159. <section>
  160. <h3>Deploying a feminist perspective</h3>
  161. <p>technology is a balance between skill and dependence</p>
  162. <ul>
  163. <li>do not do things alone</li>
  164. <li>testing environment</li>
  165. <li>document everything and explain the choice of algorithms</li>
  166. <li>give yourself the time to study</li>
  167. <li>share knowledge</li>
  168. <li>don't be too much specialized</li>
  169. <li>mix proficients with newbies</li>
  170. </ul>
  171. <aside class="notes">
  172. <ul>
  173. <li>do not do things alone [resilience, knowing that a single person should not be so important],</li>
  174. <li>consider the possibility of making mistakes [testing environment!]</li>
  175. <li>document everything to be able to redo it and explain the choice of algorithms [documentation!],
  176. </li>
  177. <li>give yourself time to study, encourage to get your hands on,
  178. </li>
  179. <li>share knowledge [sometimes with facilitation approaches]
  180. </li>
  181. <li>do not be too much specialized [to feel stronger and less alienated and to not burn-out]
  182. to have an overview of things and not being just a mechanism, a piece in an assembly line
  183. </li>
  184. <li>mix proficients in a skill with newbies in that skill [everyone can learn new stuff!]
  185. everyone is a newby in somethng.
  186. </li>
  187. </ul>
  188. <p>the technology that incorporates algorithms is NOT politically
  189. NEUTRAL. They are not like a hammer, algorithms have a political
  190. design.</p>
  191. </aside>
  192. </section>
  193. <section>
  194. <h2>Infrastructure</h2>
  195. <ul>
  196. <li>human agreement</li>
  197. <li>from 2003: markets</li>
  198. <li>from 2003: mailing list</li>
  199. <li>from 2004: website</li>
  200. <li>2017: starting the mesh network</li>
  201. <li>2019: starting our server</li>
  202. </ul>
  203. <aside class="notes"> </aside>
  204. </section>
  205. <section data-background="./imgs/gcsardo.jpg" data-background-size="550px">
  206. <h2>starting from our needs</h2>
  207. <p>we started to speak about the cloud in 2016</p>
  208. <p>during Genuino Clandestino in Sardinia</p>
  209. <aside class="notes"> is about the cards of shared warranty, where to host them? Genuino Clandestino is the human network of farmers in our peninsula and near islands, </aside>
  210. </section>
  211. <section>
  212. <h2>cloud</h2>
  213. <p>the problem of our intimacies</p>
  214. <ul>
  215. <li>find the server: tetaneutral.net (FFDN)</li>
  216. <li>find the sysadmins</li>
  217. <li>nextcloud</li>
  218. <li>docker</li>
  219. <li>ansible</li>
  220. <li>1 year of testing</li>
  221. <li>to grow or not to grow?</li>
  222. </ul>
  223. <aside class="notes">1 year of testing, 3 months to find the people: an herbalist, a technician, an astrophysicist. Tetaneutral supports net neutrality and internet access, inside the Federate France data Network, something that started near 20 years ago; with a budget based on donations with a trasparent money report. We turn on the cloud in march and now we are using it only to distribute administrative tasks. We are still in time to change software and infrastructure, we have to evaluate, but we have to think how to grow and make plans accordingly</aside>
  224. </section>
  225. <section data-background="./imgs/float.png">
  226. <h2 class="fragment">Float</h2>
  227. <div class="fragment">
  228. <p>a minimalistic container orchestrator by autistici.org</p>
  229. <p>git.autistici.org/ai3/float</p>
  230. <ul>
  231. <li>static service allocation</li>
  232. <li>1:1 instance/host mapping</li>
  233. <li>manual port assignments</li>
  234. <li>service discovery protocol</li>
  235. <li>PKI management</li>
  236. <li>builtin services</li>
  237. </ul>
  238. </div>
  239. <aside class="notes">Autistici is a self-managed and privacy oriented server active since 2001. This year it changed the Infrastructure. We decided to copy their resistent infrastructure because we have common needs. we decided to not use large software projects like kibernetes, because some of us would have to become too specialized in that, it's too much code to review and check, because the community behind it is different from ours. we need small stuff, 1thousand lines of python are enough! docker gives the possibility to test everything locally. the service scheduler does not move containers at runtime in response to host failures, all changes happen at "configuration time" when running Ansible. the scheduler won't run more than one instance of a service on each host. there's no automatic allocation of ports. service discovery protocol DNS based. all service-to-service communication can be encrypted and authenticated using a private PKI. the toolkit provides a number of built-in monitoring services</aside>
  240. </section>
  241. <section>
  242. <h2>Interesting features for us</h2>
  243. <ul>
  244. <li>move on bare metal</li>
  245. <li>have a testing infrastructure</li>
  246. <li>we trust the group and share their value</li>
  247. <li>UTF</li>
  248. <li>services go down when something fails</li>
  249. <li>integrated monitoring</li>
  250. <li>versioning everything</li>
  251. </ul>
  252. <aside class="notes">we have different needs than companies, speaking with other sysadmins in the last 10 years the stuff became more and more sophisticated, layers over layers, wrapper inside other wrapper.. being a sysadmin is becoming similar to a production-line job, you miss the overview and you start to be afraid of the interdependencies. this infrastructure gives you the possibility to be modular but specific, being able to seclude software but also not managing the machines like in a industry. the aim is to do the best with less , not to do the minimum with a lot of resources. we don't want to have machines that are numbers, we have machines with names, like pets :) I think that float is the best compromise that we could find with the complexity of managing a comunication infrastructure and knowing that we are not alone, using also the help of another community, because in the freesoftware an important thing is to not be alone and to make alliances with those sharing the same objectives.</aside>
  253. </section>
  254. <section>
  255. <h2>thanks</h2>
  256. <p>questions?</p>
  257. <small>CC 4 - by-nc-sa ; slide in reveal.js</small>
  258. <aside class="notes"> </aside>
  259. </section>
  260. <section>
  261. <h2>thanks to</h2>
  262. <ul>
  263. <li>campiaperti.org</li>
  264. <li>autistici.org</li>
  265. <li>libremesh.org</li>
  266. <li>librerouter.org</li>
  267. <li>tetaneutral.net</li>
  268. <li>genuinoclandestino.it</li>
  269. <li>hackmeeting.org</li>
  270. <li>ninux.org</li>
  271. <li>eclectictechcarnival.org</li>
  272. </ul> <aside class="notes"> </aside>
  273. </section>
  274. </div>
  275. </div>
  276. <script src="js/reveal.js"></script>
  277. <script>
  278. // More info about config & dependencies:
  279. // - https://github.com/hakimel/reveal.js#configuration
  280. // - https://github.com/hakimel/reveal.js#dependencies
  281. Reveal.initialize({
  282. controls: true,
  283. progress: true,
  284. center: true,
  285. hash: true,
  286. transition: 'slide', // none/fade/slide/convex/concave/zoom
  287. dependencies: [{
  288. src: 'plugin/markdown/marked.js'
  289. },
  290. {
  291. src: 'plugin/markdown/markdown.js'
  292. },
  293. {
  294. src: 'plugin/notes/notes.js',
  295. async: true
  296. },
  297. {
  298. src: 'plugin/highlight/highlight.js',
  299. async: true
  300. }
  301. ]
  302. });
  303. </script>
  304. </body>
  305. </html>