Merge branch 'master' of git.lattuga.net:boyska/sito-hackit-17

This commit is contained in:
samba 2017-06-10 15:50:00 +02:00
commit dcf8dc5e3c
61 changed files with 2024 additions and 84 deletions

View file

@ -12,6 +12,10 @@ DEBUG ?= 0
ifeq ($(DEBUG), 1)
PELICANOPTS += -D
endif
VERBOSE ?= 0
ifeq ($(VERBOSE), 1)
PELICANOPTS += -v
endif
help:
@echo 'Makefile for a pelican Web site '
@ -25,6 +29,7 @@ help:
@echo ' make devserver [PORT=8000] start/restart develop_server.sh '
@echo ' make stopserver stop local server '
@echo ' '
@echo 'Set the VERBOSE variable to 1 for some more messages, e.g. make VERBOSE=1 html'
@echo 'Set the DEBUG variable to 1 to enable debugging, e.g. make DEBUG=1 html'
@echo ' '

View file

@ -19,3 +19,16 @@ firefox output/index.html
Also, `make help` is your friend.
**Morte ai nemici dell'UTF-8**
Se devi debuggare, `make DEBUG=1 publish`
Aggiungere un talk
--------------------
```
cp -r talks/_talk_example/ talks/MIOTALK/
vim talks/MIOTALK/meta.yaml
```
Quindi rifai `make publish` come spiegato prima: l'output ti informa di eventuali errori nei campi o
sovrapposizioni con altri talk, leggilo!

BIN
content/images/biella.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 65 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 317 KiB

BIN
content/images/mtg.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 52 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 594 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 140 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 158 KiB

View file

@ -16,3 +16,12 @@ Esiste anche un canale IRC (Internet Relay Chat) dove poter discutere e chiacchi
.. **Mailing List locale**
Per facilitare l'organizzazione dell Hackmeeting è stata creata una mailing list locale, se sei in zona e vuoi contribuire o semplicemente vuoi seguire da vicino l'organizzazione puoi iscriverti ad
**E-mail**
Per contatti diretti, supporto, richieste o aiuto puoi mandare una mail direttamente
qui:
hackit2017@autistici.org

View file

@ -14,9 +14,3 @@ June 15-18, 2017 / Val di Susa / Turin
**The event is totally self-managed: there are neither promoters nor users, just participants.**
Prehack: 25-26 febbraio / Bussoleno
===================================
Dal sabato pomeriggio alla domenica a pranzo

View file

@ -24,9 +24,3 @@ About
.. I terreni liberati in quello storico 8 Dicembre sono quelli dove oggi sorge la borgata che ospiterà Hackit0x14. Il presidio di Venaus è quello dove trascorreremo il tempo libero.
Prehack: 25-26 febbraio / Bussoleno
===================================
Dal sabato pomeriggio alla domenica a pranzo

65
content/pages/info.md Normal file
View file

@ -0,0 +1,65 @@
Title: Info
slug: info
navbar_sort: 1
## Info
* **Chi organizza l'hackmeeting?**
Lhackmeeting è un momento annuale di incontro di una comunità che si riunisce intorno a [una mailing list](https://www.autistici.org/mailman/listinfo/hackmeeting). Non esistono organizzatori e fruitori. Tutti possono iscriversi e partecipare allorganizzazione dell'evento, semplicemente visitando il sito www.hackmeeting.org ed entrando nella comunità.
* **Chi è un hacker?**
Gli hacker sono persone curiose, che non accettano di non poter mettere le mani sulle cose. Che si tratti di tecnologia o meno gli hackers reclamano la libertà di sperimentare. Smontare tutto, e per poi rifarlo o semplicemente capire come funziona. Gli Hackers risolvono problemi e costruiscono le cose, credono nella libertà e nella condivisione. Non amano i sistemi chiusi. La forma mentis dellhacker non è ristretta allambito del software-hacking: ci sono persone che mantengono un atteggiamento da hacker in ogni campo dellesistente, spinti dallo stesso istinto creativo.
* **Chi tiene i seminari?**
Chi ne ha voglia. Se qualcuno vuole proporre un seminario, non deve fare altro che proporlo in lista. Se la proposta piace, si calendarizza. Se non piace, si danno utili consigli per farla piacere.
* **Ma cosa si fa, a parte seguire i seminari?**
Esiste un “lan-space”, vale a dire unarea dedicata alla rete: ognuno arriva col proprio portatile e si può mettere in rete con gli altri. In genere in questa zona è facile conoscere altri partecipanti, magari per farsi aiutare a installare Linux, per risolvere un dubbio, o anche solo per scambiare quattro chiacchiere. Lhackmeeting è un open-air festival, un meeting, un hacking party, un momento di riflessione, unoccasione di apprendimento collettivo, un atto di ribellione, uno scambio di idee, esperienze, sogni, utopie.
* **Quanto costa lingresso?**
Come ogni anno, lingresso allHackmeeting è del tutto libero; ricordati però che organizzare lHackmeeting ha un costo. Le spese sono sostenute grazie ai contributi volontari, alla vendita di magliette e altri gadget e in alcuni casi allintroito del bar.
* **Dove dormire**
Hackmeeting si svolgerà in mezzo ad un ampio spazio verde, è necessario quindi munirsi di tende e sacchi a pelo per campeggiare. Ci sarà la possibilità di parcheggiare il proprio camper o roulotte in luoghi non troppo distanti. (Per chi preferisse dormire al chiuso possiamo fornire una lista di attività) ???)
* **Dove e cosa mangiare**
La gestione della cucina sarà autorganizzata e invitiamo tutti e tutte a collaborare. Come tutti gli anni, si rispetteranno le necessità alimentari di ogni tipo e quindi si farà cucina vegana e vegetariana. Se hai necessità particolari, scrivilo in lista.
* **Cosa posso portare**
Se hai intenzione di utilizzare un computer, portalo accompagnato da una ciabatta elettrica. Non dimenticare una periferica di rete di qualche tipo (vedi cavi ethernet, switch e/o dispositivi WiFi). Ricordati inoltre di portare tutto lhardware su cui vorrai smanettare con gli altri. Durante levento faremo il possibile per garantire la connessione internet a tutti, ma, se vuoi essere assolutamente sicuro di poterti connettere, portati una pennina 4G e il necessario per condividerla con gli amici! In generale, cerca di essere autosufficiente sul lato tecnologico.
* **Posso arrivare prima di giovedì?**
Vuoi arrivare qualche giorno prima? Fantastico! Nei giorni precedenti ad hackmeeting ci sono sempre molte cose da fare (preparare linfrastruttura di rete, preparare le sale seminari, e tanto altro!) quindi una mano è ben accetta.
* **Posso scattare foto, girare video, postare, taggare, condividere, uploadare?**
Pensiamo che ad ogni partecipante debba essere garantita la libertà di scegliere in autonomia lampiezza della propria sfera privata e dei propri profili pubblici; per questo allinterno di hackmeeting sono ammessi fotografie e/o video solo se chiaramente segnalati e precedentemente autorizzati da tutte e tutti quanti vi compaiano.
* **Come ci si aspetta che si comportino tutte e tutti?**
Hackmeeting è uno spazio autogestito, una zona temporaneamente autonoma e chi ci transita è responsabile che le giornate di hackit si svolgano nel rispetto dellantisessismo, antirazzismo e antifascimo. Se subisci o assisti a episodi di oppressione, aggressione, o altre situazioni non consensuali e non sai come reagire o mitigare lattacco, conta sul sostegno di tutta la comunità e non esitare a richiamare pubblicamente lattenzione e chiedere aiuto.
### Gli spazi
Quest'anno l'evento non si svolgerà in una città, come in passato, bensì in un territorio di montagna ed ovviamente sarà necessario avere rispetto delle differenti dinamiche che i due mondi riproducono.
La zona in cui si svolgerà l'hackmeeting è composta da due parti separate tra loro da una strada a due corsie.
Nella prima parte, la “Borgata 8 Dicembre”, difesa dalla devastazione grazie alla lotta e attualmente gestita e messa a disposizione dall'amministrazione del comune di Venaus, in cui saranno allestite le sale nelle quali si svolgeranno talk e seminari e dove c'è uno spazio “arena” in cui si terrà l'evento di sabato 17.
Nella seconda parte, il "presidio" di Venaus, ci saranno la "zona notte" per tende, camper e roulotte, la zona "relax", cucina, bagni, docce, "lan space" e bar.
Ti informiamo da subito che al termine dei talk le sale della “Borgata 8 Dicembre” dovranno essere chiuse e quindi tutte le attività si sposteranno nell'area del presidio.
Tutto il resto della vita (bere, mangiare, dormire, lavarsi, cazzeggiare, ecc...) si svolgerà nell'area del presidio NO TAV di Venaus (che sta proprio di fronte).
Per la tua serenità e per quella di tutti quelli che come te transiteranno durante quei giorni, ti invitiamo a seguire alcune semplici indicazioni:
* **rispetta l'ambiente**
non accendere fuochi e non abbandonare rifiuti di nessun genere (compresi i mozziconi di sigaretta).
* **rispetta la comunità locale**
se ti fai una passeggiata per il paese, non scrivere sui muri delle case (come puoi vedere alzando lo sguardo sui piloni dell'autostrada, qui in valle cerchiamo di farlo dove ha più significato), non espropriare i piccoli esercizi commerciali di valle (sono locali spesso gestiti da famiglie solidali, certamente non da grandi multinazionali), ne tantomeno gli orti che trovi lungo la strada (dietro la terra c'è molto lavoro di persone comuni, non di grandi industrie)
* **rispetta chi ti sta intorno**
negli spazi chiusi, dove si svolgeranno i talk, non fumare. Se proprio non resisti esci, te ne giri una, te la fumi e poi rientri.
* **non portare animali se non sei in grado di gestirli**
se vieni con il tuo cane, il pappagallo, il cavallo, il gatto o la tartaruga, sappi che tra l'area degli eventi ed il presidio (o area del cazzeggio) ci passa una strada, non molto trafficata ma pur sempre una strada e nessuno garantisce la sicurezza assoluta quando la si attraversa.
* **figli**
Hackmeeting incoraggia i genitori a plasmare le nuove menti. Se vuoi portare i figli sappi che probabilmente dovrai starci dietro come tutti i giorni. inoltre ricorda che hackit e' un luogo di festa, quindi non pretendere che si spengano le luci a mezzanotte o che si moderi il linguaggio a seconda della tua morale. Hackmeeting e' uno spazio libero.

View file

@ -6,17 +6,24 @@ Schedule
:lang: en
`Add the schedule <schedule.ics>`_ as a calendar
The schedule is still work in progress: a large part of hackmeeting
contents are scheduled last-minute!
Read the `call for contents (Italian) <http://lists.autistici.org/message/20170502.165954.0e930b75.en.html>`_ and propose yours in `mailing list <{filename}contatti.rst>`_.
Contents in a language other than Italian are not only accepted, but
appreciated!
Hackmeeting (still) hasn't a proper translation system, but you can
find a bunch of people to ask to do translations when you need it.
.. talkgrid::
:lang: en
.. talklist::
:lang: en

View file

@ -5,6 +5,7 @@ Programma
:navbar_sort: 7
:lang: it
`Aggiungi il programma <schedule.ics>`_ di hackmeeting nel tuo calendario.
Il programma per ora è solo orientativo: molti dei contenuti vengono proposti all'ultimo minuto!
@ -12,5 +13,10 @@ Leggi l'`invito a presentare dei contenuti
<http://lists.autistici.org/message/20170502.165954.0e930b75.en.html>`_, fatti coraggio e proponi il tuo contenuto in `mailing
list <{filename}contatti.rst>`_
.. talklist::
.. talkgrid::
:lang: it
.. talklist::
:lang: it

View file

@ -19,6 +19,172 @@ Elenco
--------
=======
8 Giugno: wargames - it's definitively become real @ Spazio di Massa Occupato (Napoli)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Giovedì 8 giugno a partire dalle ore 19.30 presso lo Spazio di Massa Occupato, allinterno del dipartimento di Lettere e Filosofia in via Porta di Massa, MSAck presenta: WarGames Its definitively become real
È tutto reale.
Ci ascoltano, ci osservano, sanno dove siamo e con chi.
Gli stati attuano da anni delle fortissime politiche di controllo e repressione sociale, diventando sempre più quel Grande Fratello orwelliano che non avremmo mai voluto.
Noi di MSAck vogliamo condividere questa panoramica sulle strategie del controllo e della repressione tra una birra ed uno spritz, il cui ricavato andrà in favore del collettivo Autistici/Inventati.
Levento rientra nei Warmup di Hackmeeting 0x14, la ventesima edizione, che si terrà in Val Susa dal 15 al 18 giugno.
Dalle videocamere stradali per il controllo urbano agli attacchi alle centrali nucleari, lo stato cerca di avere sempre maggior controllo sui propri cittadini.
Il tutto viene mascherato da provvedimenti di protezione per i cittadini, restringendo di fatto la libertà
personale in cambio di un falso senso di sicurezza.
http://msack.org/2017/05/27/war-games-its-definitively-become-real/
.. image:: images/warmup-napoli-8giu.jpg
:height: 300px
:alt: Locandina
:target: http://msack.org/2017/05/27/war-games-its-definitively-become-real/
5 giugno: Morozov @ Ubik (Cosenza)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
L'Associazione Culturale Verde Binario / Museo Interattivo di
Archeologia Informatica (`MIAI <http://www.verdebinario.org/>`_)
per il ciclo di iniziative warmup hackit2017
presenta *I SIGNORI DEL SILICIO, LA FINE DEL MONDO E ALTRE STORIE*
talk di *EVGENY MOROZOV* (con una introduzione di Flavia Lisotti)
Lunedi 5 Giugno 2017 ore 18:00 - c/o Libreria Ubik, Via XXIV Maggio 49/P
#Cosenza
e in streaming su: http://malanova.info
Il talk partira' dall'ultimo libro di Evgeny Morozov, "Silicon Valley, i
signori del silicio" (ed. Codice, 2016), per discutere le dinamiche del
capitalismo digitale contemporaneo, evidenziandone le caratteristiche
principali (estrazione rapace dei dati, rapida ascesa di piattaforme
monopolistiche) e le conseguenze in termini di ineguaglianza economica e
sociale. Il luminoso futuro propagandato dalla Silicon Valley e dai suoi
cheerleader nella classe politica è lontano dal realizzarsi; Al
contrario, la seducente promessa di emancipazione attraverso l'attuale
modello di servizi online nasconde l'emergere di un neo-feudalesimo in
cui poche piattaforme tecnologiche accumulano un immenso potere e,
progressivamente, determinano la trasformazione dello stato sociale.
L'ascesa della Silicon Valley puo' essere compresa solo attraverso la
lente della geopolitica - largamente contrassegnata da una lunga
egemonia nordamericana - e prendendo in considerazione tutte le
trasformazioni strutturali all'interno del capitalismo stesso.
in collaborazione con
- `Museo dell'Informatica Funzionante <https://museo.freaknet.org>`_ - Palazzolo Acreide (SR)
- `Dyne.org <https://www.dyne.org>`_ Foundation - Amsterdam
.. image:: images/morozov-cs.png
:height: 300px
:alt: Locandina
:target: http://astio.ciotoni.net/roba/locandina_talk_evgeny_morozov_cosenza.pdf
31 Maggio: captatori informatici @ Tribolo (Bologna)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Autodifesa legale vol. 5: i captatori informatici.
A seguito di un attacco informatico all'azienda Hacking Team di Milano, leader mondiale in materia di
sorveglianza digitale salta fuori Galileo, un programma venduto ai servizi e alle polizie di tutto il mondo,
fra cui i nostrani servitori dell'ordine. Dimostrazione dell'uso del programma e dibattito.
Dalle 20:00 al `Tribolo <https://tribolo.noblogs.org>`_, via Donato Creti 69/2, Bologna.
https://tribolo.noblogs.org/post/2017/05/17/nelle-prossime-al-tribolo/
.. image:: images/warmup-tribolo-31mag.jpg
:height: 300px
:alt: Locandina
:target: https://tribolo.noblogs.org/post/2017/05/17/nelle-prossime-al-tribolo/
27 Maggio: warmup benefit A/I with Gabriella Coleman @ Piano Terra (Milano)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Incontro con Gabriella Coleman, antropologa della McGill University di Montreal. Coleman è una delle principali studiose di hacking e controculture digitali, e autrice di “I mille volti di Anonymous” .
Serata benefit per Autistici/Inventati
Aperitivo dalle 19.00
http://www.pianoterralab.org/evento/talk-con-gabriella-coleman/?instance_id=1939
.. image:: images/biella.png
:alt: Locandina coleman
:target: http://www.pianoterralab.org/wp-content/uploads/2017/05/biella-768x990.png
27 Maggio: warmup Cosenza parte prima
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
alle `Officine Babilonia <http://www.officinebabilonia.org/>`_ (Via Popilia 39, *Cosenza*)
Warmup per Hackmeeting 2017 ...parte prima, stay tuned! ;-)
- dalle 16 alle 18: Workshop "Nintendo ROM hacking"
Pixel vandalismo con Michele "Hiki" Falcone (CS)
- dalle 18 in poi: Workshop "Circuit Bending"
musica e cultura Low-Fi con Valeria "PCNA" Vito (NA)
- dalle ore 21: CRASH PARTY - Jam session live
toy music / circuit bending / 8-bit / noise
INGRESSO LIBERO: la partecipazione ai workshop e alla festa e' gratuita :-)
l'incasso del bar sara' devoluto al `Museo Interattivo di Archeologia
Informatica (MIAI) <http://www.verdebinario.org>`_ di Cosenza
.. image:: images/warmup-cosenza1-1.png
:height: 380px
:alt: Locandina serata
:target: http://astio.ciotoni.net/roba/Warmup_2017_Cosenza_A5_fronte_retro.pdf
.. image:: images/warmup-cosenza1-2.png
:height: 380px
:alt: Locandina workshop
:target: http://astio.ciotoni.net/roba/Warmup_2017_Cosenza_A5_fronte_retro.pdf
25-26 Maggio: Mind The Gap / festival del sapere libero @ Fisica "la Sapienza" (Roma)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
*25 Maggio*
- h 11: dibattito "BigData Revolution - Nuova scienza o nuova moda?"
- h 17.30: "Bigdata, social, algoritmi nuove e vecchie contraddizioni nel lavoro e nella società"
*26 Maggio*
- h 16: talk tematici (BigData & Biologia, Filter Bubble e altri deliri dellera della disinformazione)
- h 18: workshop autogestiti: (Arduino live music installation, Metadati “carta e penna” a cura di AvANa, Difesta Digitale a cura di Ronin-Lab)
https://officinafisica.noblogs.org/2017/05/23/983/
.. image:: images/mtg.jpg
:height: 380px
:alt: Locandina - Mind the gap
:target: https://officinafisica.noblogs.org/files/2017/05/mtg.jpg
>>>>>>> a75d3eaecd1c6c46c7e9f7844429e145b0d5377f
11 Maggio: dibattito sulle Radio AM @ SCUP (Roma)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

View file

@ -2,6 +2,7 @@
Manage talks scheduling in a semantic way
'''
from __future__ import print_function
import os
import io
@ -10,15 +11,22 @@ import logging
import re
import datetime
import shutil
import time
from copy import copy
import locale
from contextlib import contextmanager
from babel.dates import format_date, format_datetime, format_time
import markdown
from docutils import nodes
from docutils.parsers.rst import directives, Directive
from pelican import signals, generators
import jinja2
pelican = None # This will be set during register()
TALKS_PATH = 'talks'
def memoize(function):
@ -36,72 +44,144 @@ def memoize(function):
return wrapper
@contextmanager
def setlocale(name):
saved = locale.setlocale(locale.LC_ALL)
try:
yield locale.setlocale(locale.LC_ALL, name)
finally:
locale.setlocale(locale.LC_ALL, saved)
@memoize
def get_talk_names():
return [name for name in os.listdir(TALKS_PATH)
return [name for name in os.listdir(pelican.settings['TALKS_PATH'])
if not name.startswith('_') and
get_talk_data(name) is not None
]
def all_talks():
return [get_talk_data(tn) for tn in get_talk_names()]
def unique_attr(iterable, attr):
return {x[attr] for x in iterable
if attr in x}
@memoize
def get_talk_data(talkname):
fname = os.path.join(TALKS_PATH, talkname, 'meta.yaml')
def get_global_data():
fname = os.path.join(pelican.settings['TALKS_PATH'], 'meta.yaml')
if not os.path.isfile(fname):
return None
with io.open(fname, encoding='utf8') as buf:
try:
data = yaml.load(buf)
except Exception as exc:
except Exception:
logging.exception("Syntax error reading %s; skipping", fname)
return None
if data is None:
return None
if 'title' not in data:
logging.warn("Talk <{}> has no `title` field".format(talkname))
data['title'] = talkname
if 'text' not in data:
logging.warn("Talk <{}> has no `text` field".format(talkname))
data['text'] = ''
if 'duration' not in data:
logging.info("Talk <{}> has no `duration` field (50min used)"
.format(talkname))
data['duration'] = 50
data['duration'] = int(data['duration'])
if 'room' not in data:
logging.warn("Talk <{}> has no `room` field".format(talkname))
if 'time' not in data or 'day' not in data:
logging.warn("Talk <{}> has no `time` or `day`".format(talkname))
if 'time' in data:
timeparts = re.findall(r'\d+', str(data['time']))
if 4 > len(timeparts) > 0:
timeparts = [int(p) for p in timeparts]
data['time'] = datetime.time(*timeparts)
else:
logging.error("Talk <{}> has malformed `time`".format(talkname))
data['id'] = talkname
resdir = os.path.join(TALKS_PATH, talkname, 'res')
if os.path.isdir(resdir) and os.listdir(resdir):
data['resources'] = resdir
if 'startdate' not in data:
logging.error("Missing startdate in global data")
data['startdate'] = datetime.datetime.now()
return data
jinja_env = jinja2.Environment(
loader=jinja2.FileSystemLoader(os.path.join(TALKS_PATH, '_templates')),
autoescape=True,
)
@memoize
def get_talk_data(talkname):
fname = os.path.join(pelican.settings['TALKS_PATH'], talkname, 'meta.yaml')
if not os.path.isfile(fname):
return None
with io.open(fname, encoding='utf8') as buf:
try:
data = yaml.load(buf)
except:
logging.exception("Syntax error reading %s; skipping", fname)
return None
if data is None:
return None
try:
gridstep = pelican.settings['TALKS_GRID_STEP']
if 'title' not in data:
logging.warn("Talk <{}> has no `title` field".format(talkname))
data['title'] = talkname
if 'text' not in data:
logging.warn("Talk <{}> has no `text` field".format(talkname))
data['text'] = ''
if 'duration' not in data:
logging.info("Talk <{}> has no `duration` field (50min used)"
.format(talkname))
data['duration'] = 50
data['duration'] = int(data['duration'])
if data['duration'] < gridstep:
logging.info("Talk <{}> lasts only {} minutes; changing to {}"
.format(talkname, data['duration'], gridstep))
data['duration'] = gridstep
if 'links' not in data or not data['links']:
data['links'] = []
if 'contacts' not in data or not data['contacts']:
data['contacts'] = []
if 'needs' not in data or not data['needs']:
data['needs'] = []
if 'room' not in data:
logging.warn("Talk <{}> has no `room` field".format(talkname))
if 'time' not in data or 'day' not in data:
logging.warn("Talk <{}> has no `time` or `day`".format(talkname))
if 'time' in data:
del data['time']
if 'day' in data:
del data['day']
if 'day' in data:
data['day'] = get_global_data()['startdate'] + \
datetime.timedelta(days=data['day'])
if 'time' in data and 'day' in data:
timeparts = re.findall(r'\d+', str(data['time']))
if 4 > len(timeparts) > 0:
timeparts = [int(p) for p in timeparts]
data['time'] = datetime.datetime.combine(
data['day'], datetime.time(*timeparts))
else:
logging.error("Talk <%s> has malformed `time`", talkname)
data['id'] = talkname
resdir = os.path.join(pelican.settings['TALKS_PATH'], talkname,
pelican.settings['TALKS_ATTACHMENT_PATH'])
if os.path.isdir(resdir) and os.listdir(resdir):
data['resources'] = resdir
return data
except:
logging.exception("Error on talk %s", talkname)
raise
@memoize
def jinja_env():
env = jinja2.Environment(
loader=jinja2.FileSystemLoader(os.path.join(pelican.settings['TALKS_PATH'], '_templates')),
autoescape=True,
)
env.filters['markdown'] = lambda text: \
jinja2.Markup(markdown.Markdown(extensions=['meta']).
convert(text))
env.filters['dateformat'] = format_date
env.filters['datetimeformat'] = format_datetime
env.filters['timeformat'] = format_time
return env
class TalkListDirective(Directive):
required_arguments = 0
optional_arguments = 0
final_argument_whitespace = True
has_content = True
option_spec = {
'lang': directives.unchanged
}
def run(self):
tmpl = jinja_env.get_template('talk.html')
lang = self.options.get('lang', 'C')
tmpl = jinja_env().get_template('talk.html')
return [
nodes.raw('', tmpl.render(**get_talk_data(n)),
nodes.raw('', tmpl.render(lang=lang, **get_talk_data(n)),
format='html')
for n in get_talk_names()
]
@ -109,21 +189,129 @@ class TalkListDirective(Directive):
class TalkDirective(Directive):
required_arguments = 1
optional_arguments = 0
final_argument_whitespace = True
has_content = True
option_spec = {
'lang': directives.unchanged
}
def run(self):
tmpl = jinja_env.get_template('talk.html')
lang = self.options.get('lang', 'C')
tmpl = jinja_env().get_template('talk.html')
data = get_talk_data(self.arguments[0])
if data is None:
return []
return [
nodes.raw('', tmpl.render(**data),
nodes.raw('', tmpl.render(lang=lang, **data),
format='html')
]
# TODO: TalkGridDirective (griglia completa)
class TalkGridDirective(Directive):
'''A complete grid'''
final_argument_whitespace = True
has_content = True
option_spec = {
'lang': directives.unchanged
}
def run(self):
lang = self.options.get('lang', 'C')
tmpl = jinja_env().get_template('grid.html')
output = []
days = unique_attr(all_talks(), 'day')
gridstep = pelican.settings['TALKS_GRID_STEP']
for day in sorted(days):
talks = {talk['id'] for talk in all_talks()
if talk.get('day', None) == day
and 'time' in talk
and 'room' in talk}
if not talks:
continue
talks = [get_talk_data(t) for t in talks]
rooms = list(sorted(unique_attr(talks, 'room')))
# room=* is not a real room.
# Remove it unless that day only has special rooms
if '*' in rooms and len(rooms) > 1:
del rooms[rooms.index('*')]
mintime = min({talk['time'].hour * 60 +
talk['time'].minute
for talk in talks}) // gridstep * gridstep
maxtime = max({talk['time'].hour * 60 +
talk['time'].minute +
talk['duration']
for talk in talks})
times = {}
for t in range(mintime, maxtime, gridstep):
times[t] = [None] * len(rooms)
for talk in sorted(talks, key=lambda x: x['time']):
talktime = talk['time'].hour * 60 + talk['time'].minute
position = talktime // gridstep * gridstep # round
assert position in times
if talk['room'] == '*':
roomnums = range(len(rooms))
else:
roomnums = [rooms.index(talk['room'])]
for roomnum in roomnums:
if times[position][roomnum] is not None:
logging.error("Talk %s and %s overlap! (room %s)",
times[position][roomnum]['id'],
talk['id'],
rooms[roomnum]
)
continue
times[position][roomnum] = copy(talk)
times[position][roomnum]['skip'] = False
for i in range(1, talk['duration'] // gridstep):
times[position + i*gridstep][roomnum] = copy(talk)
times[position + i*gridstep][roomnum]['skip'] = True
render = tmpl.render(times=times,
rooms=rooms,
mintime=mintime, maxtime=maxtime,
timestep=gridstep,
lang=lang,
)
output.append(nodes.raw(
'', u'<h4>%s</h4>' % format_date(day, format='full',
locale=lang),
format='html'))
output.append(nodes.raw('', render, format='html'))
return output
def talks_to_ics():
content = u'BEGIN:VCALENDAR\nVERSION:2.0\nPRODID:pelican\n'
for t in all_talks():
try:
content += talk_to_ics(t)
except:
logging.exception("Error producing calendar for talk %s", t['id'])
content += 'END:VCALENDAR\n'
return content
def talk_to_ics(talk):
if 'time' not in talk or 'duration' not in talk or 'room' not in talk:
return ''
start = talk['time']
end = start + datetime.timedelta(minutes=talk['duration'])
content = 'BEGIN:VEVENT\n'
content += "UID:%s@%d.hackmeeting.org\n" % (talk['id'], talk['day'].year)
content += "SUMMARY:%s\n" % talk['title']
content += "DTSTAMP:%s\n" % time.strftime('%Y%m%dT%H%M%SZ',
time.gmtime(float(
start.strftime('%s'))))
content += "DTSTART:%s\n" % time.strftime('%Y%m%dT%H%M%SZ',
time.gmtime(float(
start.strftime('%s'))))
content += "DTEND:%s\n" % time.strftime('%Y%m%dT%H%M%SZ',
time.gmtime(float(
end.strftime('%s'))))
content += "LOCATION:%s\n" % talk['room']
content += 'END:VEVENT\n'
return content
class TalksGenerator(generators.Generator):
@ -138,21 +326,33 @@ class TalksGenerator(generators.Generator):
def generate_output(self, writer=None):
for talkname in self.talks:
if 'resources' in self.talks[talkname]:
outdir = os.path.join(self.output_path, 'talks', talkname,
'res')
outdir = os.path.join(self.output_path,
pelican.settings['TALKS_PATH'], talkname,
pelican.settings['TALKS_ATTACHMENT_PATH'])
if os.path.isdir(outdir):
shutil.rmtree(outdir)
shutil.copytree(self.talks[talkname]['resources'], outdir)
with io.open(os.path.join(self.output_path, pelican.settings.get('TALKS_ICS')),
'w',
encoding='utf8') as buf:
buf.write(talks_to_ics())
def add_talks_option_defaults(pelican):
pelican.settings.setdefault('TALKS_PATH', TALKS_PATH)
pelican.settings.setdefault('TALKS_PATH', 'talks')
pelican.settings.setdefault('TALKS_ATTACHMENT_PATH', 'res')
pelican.settings.setdefault('TALKS_ICS', 'schedule.ics')
pelican.settings.setdefault('TALKS_GRID_STEP', 30)
def get_generators(gen):
return TalksGenerator
def pelican_init(pelicanobj):
global pelican
pelican = pelicanobj
try:
import yaml
except ImportError:
@ -163,7 +363,9 @@ except ImportError:
else:
def register():
signals.initialized.connect(pelican_init)
signals.get_generators.connect(get_generators)
signals.initialized.connect(add_talks_option_defaults)
directives.register_directive('talklist', TalkListDirective)
directives.register_directive('talk', TalkDirective)
directives.register_directive('talkgrid', TalkGridDirective)

View file

@ -12,6 +12,7 @@ from pelicanconf import *
SITEURL = '/hackit17'
RELATIVE_URLS = True
TALKS_GRID_STEP = 30
# DELETE_OUTPUT_DIRECTORY = True

View file

@ -1,3 +1,4 @@
Babel==2.4.0
blinker==1.3
docutils==0.12
feedgenerator==1.7
@ -8,8 +9,8 @@ pelican==3.5.0
Pygments==2.0.2
python-dateutil==2.4.1
pytz==2014.10
PyYAML==3.12
six==1.9.0
smartypants==1.8.6
typogrify==2.0.7
Unidecode==0.4.17
PyYAML==3.12

37
talks/10min0/meta.yaml Normal file
View file

@ -0,0 +1,37 @@
# File di esempio; copialo e cambialo
title: "Ten minutes"
text: |
10 minuti o poco di piu per raccontare qualcosa di interessante. E bello se scrivi in lista quale sara loggetto del tuo intervento e il giorno, per regolarsi meglio, ma in generale puoi anche aggiungerti allultimo. Un moderatore si incarichera di gestire la questione tempo e eventuali domande e cacciarti in malo modo se ti riveli una persona piu logorroica del necessario.
# Se ancora non è stata assegnata una stanza al talk, commentala. Non usare un valore tipo "qualunque" o
# cose del genere, che ci si incasina tutto
room: A
# duration è la durata in minuti del talk
duration: 120
# Ci vanno le virgolette intorno! altrimenti 17.30 viene interpretato come un numero decimale
time: "21:00"
# day è il giorno in cui avverrà il talk. Finché non decommenti il talk non sarà schedulato
# 0=giovedì, 1=venerdì, 2=sabato, 3=domenica
day: 0
#tags:
# - tante
# - cose
# - belle
# Devono essere dei link validi!
#links:
# - https://git.lattuga.net/asd/foo
# mail dovrebbe contenere un link all'email in lista hackmeeting in cui il talk è stato proposto
# così si può sapere chi contattare e se c'è stata una discussione
# prendi il link da http://lists.autistici.org/list/hackmeeting.en.html
# il campo mail NON è un indirizzo email
#mail: "blabla"
# contacts invece sono i nomi, o gli indirizzi, delle persone che presentano
#contacts:
# - tizio
# - caio
# Devi usare UTF-8, non t'inventare scuse, sappiamo ndo abiti
# vim: set fileencoding=utf-8:

37
talks/10min1/meta.yaml Normal file
View file

@ -0,0 +1,37 @@
# File di esempio; copialo e cambialo
title: "Ten minutes"
text: |
10 minuti o poco di piu per raccontare qualcosa di interessante. E bello se scrivi in lista quale sara loggetto del tuo intervento e il giorno, per regolarsi meglio, ma in generale puoi anche aggiungerti allultimo. Un moderatore si incarichera di gestire la questione tempo e eventuali domande e cacciarti in malo modo se ti riveli una persona piu logorroica del necessario.
# Se ancora non è stata assegnata una stanza al talk, commentala. Non usare un valore tipo "qualunque" o
# cose del genere, che ci si incasina tutto
room: B
# duration è la durata in minuti del talk
duration: 120
# Ci vanno le virgolette intorno! altrimenti 17.30 viene interpretato come un numero decimale
time: "23:00"
# day è il giorno in cui avverrà il talk. Finché non decommenti il talk non sarà schedulato
# 0=giovedì, 1=venerdì, 2=sabato, 3=domenica
day: 1
#tags:
# - tante
# - cose
# - belle
# Devono essere dei link validi!
#links:
# - https://git.lattuga.net/asd/foo
# mail dovrebbe contenere un link all'email in lista hackmeeting in cui il talk è stato proposto
# così si può sapere chi contattare e se c'è stata una discussione
# prendi il link da http://lists.autistici.org/list/hackmeeting.en.html
# il campo mail NON è un indirizzo email
#mail: "blabla"
# contacts invece sono i nomi, o gli indirizzi, delle persone che presentano
#contacts:
# - tizio
# - caio
# Devi usare UTF-8, non t'inventare scuse, sappiamo ndo abiti
# vim: set fileencoding=utf-8:

37
talks/10min2/meta.yaml Normal file
View file

@ -0,0 +1,37 @@
# File di esempio; copialo e cambialo
title: "Ten minutes"
text: |
10 minuti o poco di piu per raccontare qualcosa di interessante. E bello se scrivi in lista quale sara loggetto del tuo intervento e il giorno, per regolarsi meglio, ma in generale puoi anche aggiungerti allultimo. Un moderatore si incarichera di gestire la questione tempo e eventuali domande e cacciarti in malo modo se ti riveli una persona piu logorroica del necessario.
# Se ancora non è stata assegnata una stanza al talk, commentala. Non usare un valore tipo "qualunque" o
# cose del genere, che ci si incasina tutto
room: B
# duration è la durata in minuti del talk
duration: 90
# Ci vanno le virgolette intorno! altrimenti 17.30 viene interpretato come un numero decimale
time: "23:00"
# day è il giorno in cui avverrà il talk. Finché non decommenti il talk non sarà schedulato
# 0=giovedì, 1=venerdì, 2=sabato, 3=domenica
day: 2
#tags:
# - tante
# - cose
# - belle
# Devono essere dei link validi!
#links:
# - https://git.lattuga.net/asd/foo
# mail dovrebbe contenere un link all'email in lista hackmeeting in cui il talk è stato proposto
# così si può sapere chi contattare e se c'è stata una discussione
# prendi il link da http://lists.autistici.org/list/hackmeeting.en.html
# il campo mail NON è un indirizzo email
#mail: "blabla"
# contacts invece sono i nomi, o gli indirizzi, delle persone che presentano
#contacts:
# - tizio
# - caio
# Devi usare UTF-8, non t'inventare scuse, sappiamo ndo abiti
# vim: set fileencoding=utf-8:

View file

@ -1,16 +1,25 @@
# File di esempio; copialo e cambialo
title: Il titolo del talk
title: "Il titolo del talk"
text: |
Descrizione del talk divisa in molte righe
Puoi scrivere quanto vuoi
ma devi rimanere indentato
Puoi anche mettere delle spaziature.
# Se ancora non è stata assegnata una stanza al talk, lasciala vuota. Non usare un valore tipo "qualunque" o
# Se ancora non è stata assegnata una stanza al talk, commentala. Non usare un valore tipo "qualunque" o
# cose del genere, che ci si incasina tutto
room: antani
# duration è la durata in minuti del talk
# duration: 50
# Ci vanno le virgolette intorno! altrimenti 17.30 viene interpretato come un numero decimale
time: "17.30"
# day è il giorno in cui avverrà il talk. Finché non decommenti il talk non sarà schedulato
# 0=giovedì, 1=venerdì, 2=sabato, 3=domenica
# day: 0
tags:
- tante
- cose
@ -18,9 +27,15 @@ tags:
# Devono essere dei link validi!
links:
- https://git.lattuga.net/asd/foo
# mail dovrebbe contenere un link alla mail con cui il talk è stato proposto
# mail dovrebbe contenere un link all'email in lista hackmeeting in cui il talk è stato proposto
# così si può sapere chi contattare e se c'è stata una discussione
mail: blabla
# prendi il link da http://lists.autistici.org/list/hackmeeting.en.html
# il campo mail NON è un indirizzo email
mail: "blabla"
# contacts invece sono i nomi, o gli indirizzi, delle persone che presentano
#contacts:
# - tizio
# - caio
# Devi usare UTF-8, non t'inventare scuse, sappiamo ndo abiti
# vim: set fileencoding=utf-8:

View file

@ -0,0 +1,79 @@
<style>
.talk-grid {
table-layout: auto;
width: 100%;
border-collapse: collapse;
text-align: center;
}
.talk-grid > thead th:first-child {
max-width: 5em;
}
.talk-grid > thead th {
text-align: center;
}
.rooms-4 .talk { width: 25%; }
.rooms-3 .talk { width: 33%; }
.rooms-2 .talk { width: 50%; }
.rooms-1 .talk { width: 100%; }
td.talk {
border: 1px solid #444;
padding: 4px;
}
td.talk > a {
text-decoration: none;
}
.talk-grid tr { line-height: 1em; }
.talk-grid tr:hover td:first-child {
background-color: rgb(152, 14, 14);
background-color: rgba(152, 14, 14, 0.79);
}
.talk-grid tr:hover td {
background-color: rgb(60, 22, 22)
}
</style>
<table class="talk-grid rooms-{{-rooms|length}}">
<thead>
<tr>
<th></th>
{% for room in rooms %}
<th>{{room}}</th>
{% endfor %}
</tr>
</thead>
<tbody>
{% for time in range (mintime, maxtime, timestep) %}
<tr>
<td>{{time//60}}:{{ "%02d" % (time % 60)}}</td>
{% for talk in times[time / timestep * timestep] %}
{% if not loop.first and talk.room == '*' %}
{# skip: covered by colspan #}
{% elif talk == None %}
<td></td>
{% elif not talk.skip %}
<td class="talk
{% if talk.room == '*' -%}allrooms{%-endif-%}
{% for t in talk.tags -%} tag-{{t|replace(' ', '_')}} {%endfor-%}
"
rowspan="{{talk.duration // timestep}}"
{% if talk.room == '*' %}colspan="{{rooms|length}}"{%endif%}>
<a href="#talk-{{talk.id}}"
title="{{talk.tags|join(",")}}"
>{{talk.title}}</a>
</td>
{% endif %}
{% endfor %}
</tr>
{% endfor %}
</tbody>
</table>
{# vim: set ft=jinja: #}

View file

@ -1,24 +1,42 @@
<div id="talk-{{id}}">
<div id="talk-{{id}}"
class="{% for t in tags -%} tag-{{t|replace(' ', '_')}} {% endfor -%}">
<h3 class="talk-title">{{title}}</h3>
<div class="talk-info">
{% if time is defined and day is defined %}
{# Dai un nome meglio ai giorni #}
<p>Giorno {{day}} alle {{time}}</p>
<p>
{% if time is defined and day is defined %}
{# Vedi http://babel.pocoo.org/en/latest/dates.html #}
<span>
{{day|dateformat(format='EEEE', locale=lang)}}
-
{{time.time()|timeformat(format='short', locale=lang)}}
</span>
{% else %}
<p><i>L'orario non è ancora stato fissato</i></p>
{% endif %}
<i>L'orario non è ancora stato fissato</i>
{% endif %} {# date-time #}
{% if room is defined %}
<p>Stanza {{ room }}</p>
<span>Stanza {{ room }}</span>
{% endif %}
</p>
{% if needs: %}
<div class="talk-needs">
<strong>Materiale necessario:</strong>
{{needs|join(", ")}}
</div>
{% endif %}
</div>
<div class="talk-description">{{text}}</div>
<div class="talk-description">{{text | markdown}}
{% if contacts: %}
<p class="contacts">A cura di {{contacts|join(', ')}}</p>
{% endif %}
</div>
{% if links is defined or resources is defined or mail is defined %}
<div class="talk-resources">
<h4>Link utili:</h4>
<ul>
{% if links is defined: %}
{% for link in links %}
<li>{{link}}</li>
<li>{{link|urlize}}</li>
{% endfor %}
{% endif %}
{% if resources is defined: %}

View file

@ -1,10 +0,0 @@
title: Radio AM
tags:
- radio
- comunicazione
text: |
In Italia la radio AM non ha mai attecchito molto. Comunque, praticamente ogni radio la supporta. Una bizzarra situazione legale le rende appetibili
Questo talk farà una panoramica della situazione attuale della radiofonia, spiegando soprattutto il quadro legale delle frequenze FM e AM. In chiusura presenteremo anche un riassuntissimo per chi sta valutando di trasmettere in AM.
mail: http://lists.autistici.org/message/20170502.171530.3345a634.en.html

View file

@ -0,0 +1,38 @@
# File di esempio; copialo e cambialo
title: "Assemblea"
text: |
Plenaria conclusiva
# Se ancora non è stata assegnata una stanza al talk, commentala. Non usare un valore tipo "qualunque" o
# cose del genere, che ci si incasina tutto
room: "*"
# duration è la durata in minuti del talk
duration: 60
# Ci vanno le virgolette intorno! altrimenti 17.30 viene interpretato come un numero decimale
time: "12.30"
# day è il giorno in cui avverrà il talk. Finché non decommenti il talk non sarà schedulato
# 0=giovedì, 1=venerdì, 2=sabato, 3=domenica
# day: 0
day: 3
#tags:
# - tante
# - cose
# - belle
# Devono essere dei link validi!
#links:
# - https://git.lattuga.net/asd/foo
# mail dovrebbe contenere un link all'email in lista hackmeeting in cui il talk è stato proposto
# così si può sapere chi contattare e se c'è stata una discussione
# prendi il link da http://lists.autistici.org/list/hackmeeting.en.html
# il campo mail NON è un indirizzo email
#mail: "blabla"
# contacts invece sono i nomi, o gli indirizzi, delle persone che presentano
#contacts:
# - tizio
# - caio
# Devi usare UTF-8, non t'inventare scuse, sappiamo ndo abiti
# vim: set fileencoding=utf-8:

View file

@ -0,0 +1,38 @@
# File di esempio; copialo e cambialo
title: "Assemblea"
text: |
Per un corretto svolgimento di hackit e un'equa ripartizione degli sbattimenti, punto logistico giornaliero
# Se ancora non è stata assegnata una stanza al talk, commentala. Non usare un valore tipo "qualunque" o
# cose del genere, che ci si incasina tutto
room: "*"
# duration è la durata in minuti del talk
duration: 60
# Ci vanno le virgolette intorno! altrimenti 17.30 viene interpretato come un numero decimale
time: "17.00"
# day è il giorno in cui avverrà il talk. Finché non decommenti il talk non sarà schedulato
# 0=giovedì, 1=venerdì, 2=sabato, 3=domenica
# day: 0
day: 0
#tags:
# - tante
# - cose
# - belle
# Devono essere dei link validi!
#links:
# - https://git.lattuga.net/asd/foo
# mail dovrebbe contenere un link all'email in lista hackmeeting in cui il talk è stato proposto
# così si può sapere chi contattare e se c'è stata una discussione
# prendi il link da http://lists.autistici.org/list/hackmeeting.en.html
# il campo mail NON è un indirizzo email
#mail: "blabla"
# contacts invece sono i nomi, o gli indirizzi, delle persone che presentano
#contacts:
# - tizio
# - caio
# Devi usare UTF-8, non t'inventare scuse, sappiamo ndo abiti
# vim: set fileencoding=utf-8:

View file

@ -0,0 +1,38 @@
# File di esempio; copialo e cambialo
title: "Assemblea"
text: |
Per un corretto svolgimento di hackit e un'equa ripartizione degli sbattimenti, punto logistico giornaliero
# Se ancora non è stata assegnata una stanza al talk, commentala. Non usare un valore tipo "qualunque" o
# cose del genere, che ci si incasina tutto
room: "*"
# duration è la durata in minuti del talk
duration: 30
# Ci vanno le virgolette intorno! altrimenti 17.30 viene interpretato come un numero decimale
time: "12.30"
# day è il giorno in cui avverrà il talk. Finché non decommenti il talk non sarà schedulato
# 0=giovedì, 1=venerdì, 2=sabato, 3=domenica
# day: 0
day: 2
#tags:
# - tante
# - cose
# - belle
# Devono essere dei link validi!
#links:
# - https://git.lattuga.net/asd/foo
# mail dovrebbe contenere un link all'email in lista hackmeeting in cui il talk è stato proposto
# così si può sapere chi contattare e se c'è stata una discussione
# prendi il link da http://lists.autistici.org/list/hackmeeting.en.html
# il campo mail NON è un indirizzo email
#mail: "blabla"
# contacts invece sono i nomi, o gli indirizzi, delle persone che presentano
#contacts:
# - tizio
# - caio
# Devi usare UTF-8, non t'inventare scuse, sappiamo ndo abiti
# vim: set fileencoding=utf-8:

View file

@ -0,0 +1,38 @@
# File di esempio; copialo e cambialo
title: "Assemblea"
text: |
Per un corretto svolgimento di hackit e un'equa ripartizione degli sbattimenti, punto logistico giornaliero
# Se ancora non è stata assegnata una stanza al talk, commentala. Non usare un valore tipo "qualunque" o
# cose del genere, che ci si incasina tutto
room: "*"
# duration è la durata in minuti del talk
duration: 30
# Ci vanno le virgolette intorno! altrimenti 17.30 viene interpretato come un numero decimale
time: "12.30"
# day è il giorno in cui avverrà il talk. Finché non decommenti il talk non sarà schedulato
# 0=giovedì, 1=venerdì, 2=sabato, 3=domenica
# day: 0
day: 1
#tags:
# - tante
# - cose
# - belle
# Devono essere dei link validi!
#links:
# - https://git.lattuga.net/asd/foo
# mail dovrebbe contenere un link all'email in lista hackmeeting in cui il talk è stato proposto
# così si può sapere chi contattare e se c'è stata una discussione
# prendi il link da http://lists.autistici.org/list/hackmeeting.en.html
# il campo mail NON è un indirizzo email
#mail: "blabla"
# contacts invece sono i nomi, o gli indirizzi, delle persone che presentano
#contacts:
# - tizio
# - caio
# Devi usare UTF-8, non t'inventare scuse, sappiamo ndo abiti
# vim: set fileencoding=utf-8:

View file

@ -0,0 +1,36 @@
# File di esempio; copialo e cambialo
title: "[base] Autodifesa digitale parte 1"
text: |
Installazione di una macchina con un pensiero all'autodifesa digitale.
Accesso fisico: cifratura del disco, uso corretto delle periferiche
Rimuovere i metadati indesiderati con MAT. Anonimizzare foto/video con obscuracam.
Navigazione (https, adblock, navigazione anonima, password, cronologia)
# Se ancora non è stata assegnata una stanza al talk, commentala. Non usare un valore tipo "qualunque" o
# cose del genere, che ci si incasina tutto
room: B
# duration è la durata in minuti del talk
duration: 90
# Ci vanno le virgolette intorno! altrimenti 17.30 viene interpretato come un numero decimale
time: "11.00"
# day è il giorno in cui avverrà il talk. Finché non decommenti il talk non sarà schedulato
# 0=giovedì, 1=venerdì, 2=sabato, 3=domenica
day: 2
tags:
- percorso base
# Devono essere dei link validi!
links: []
# mail dovrebbe contenere un link alla mail con cui il talk è stato proposto
# così si può sapere chi contattare e se c'è stata una discussione
mail: "http://lists.autistici.org/message/20170509.223449.0cec183b.en.html"
contacts:
- hacklabbo
# Devi usare UTF-8, non t'inventare scuse, sappiamo ndo abiti
# vim: set fileencoding=utf-8:

View file

@ -0,0 +1,32 @@
# File di esempio; copialo e cambialo
title: "[base] Autodifesa digitale parte 2"
text: |
Introduzione al mondo della paranoia: Tor, VPN, Tails.
# Se ancora non è stata assegnata una stanza al talk, commentala. Non usare un valore tipo "qualunque" o
# cose del genere, che ci si incasina tutto
room: B
# duration è la durata in minuti del talk
duration: 90
# Ci vanno le virgolette intorno! altrimenti 17.30 viene interpretato come un numero decimale
time: "16.00"
# day è il giorno in cui avverrà il talk. Finché non decommenti il talk non sarà schedulato
# 0=giovedì, 1=venerdì, 2=sabato, 3=domenica
day: 2
tags:
- percorso base
# Devono essere dei link validi!
links:
- https://tails.boum.org
- https://www.torproject.org/projects/torbrowser.html
# mail dovrebbe contenere un link alla mail con cui il talk è stato proposto
# così si può sapere chi contattare e se c'è stata una discussione
mail: "http://lists.autistici.org/message/20170509.223449.0cec183b.en.html"
contacts:
- AvANa
# Devi usare UTF-8, non t'inventare scuse, sappiamo ndo abiti
# vim: set fileencoding=utf-8:

View file

@ -0,0 +1,33 @@
# File di esempio; copialo e cambialo
title: "[base] Cellulari"
text: |
Come funziona la rete cellulare?
I concetti di cella, SIM, IMEI. I protocolli GSM, GPRS, 2G, 3G, 4G
Come funziona uno smartphone? Sensori, rooting, sistema operativo.
# Se ancora non è stata assegnata una stanza al talk, commentala. Non usare un valore tipo "qualunque" o
# cose del genere, che ci si incasina tutto
room: B
# duration è la durata in minuti del talk
duration: 30
# Ci vanno le virgolette intorno! altrimenti 17.30 viene interpretato come un numero decimale
time: "15.30"
# day è il giorno in cui avverrà il talk. Finché non decommenti il talk non sarà schedulato
# 0=giovedì, 1=venerdì, 2=sabato, 3=domenica
day: 1
tags:
- percorso base
# Devono essere dei link validi!
links: []
# mail dovrebbe contenere un link alla mail con cui il talk è stato proposto
# così si può sapere chi contattare e se c'è stata una discussione
mail: "http://lists.autistici.org/message/20170509.223449.0cec183b.en.html"
contacts:
- tracciabi.li
# Devi usare UTF-8, non t'inventare scuse, sappiamo ndo abiti
# vim: set fileencoding=utf-8:

View file

@ -0,0 +1,33 @@
title: "[base] Internet"
text: |
Come funziona internet?
Un'infarinatura storica, spiegazione teorica e pratica di Internet, ISP, router, client-server, cookie.
Cosa c'entra tutto questo con la sorveglianza?
# Se ancora non è stata assegnata una stanza al talk, commentala. Non usare un valore tipo "qualunque" o
# cose del genere, che ci si incasina tutto
room: B
# duration è la durata in minuti del talk
duration: 30
# Ci vanno le virgolette intorno! altrimenti 17.30 viene interpretato come un numero decimale
time: "15.00"
# day è il giorno in cui avverrà il talk. Finché non decommenti il talk non sarà schedulato
# 0=giovedì, 1=venerdì, 2=sabato, 3=domenica
day: 1
tags:
- percorso base
# Devono essere dei link validi!
links: []
# mail dovrebbe contenere un link alla mail con cui il talk è stato proposto
# così si può sapere chi contattare e se c'è stata una discussione
mail: "http://lists.autistici.org/message/20170509.223449.0cec183b.en.html"
contacts:
- ginox
- lesion
# Devi usare UTF-8, non t'inventare scuse, sappiamo ndo abiti
# vim: set fileencoding=utf-8:

36
talks/boom/meta.yaml Normal file
View file

@ -0,0 +1,36 @@
# File di esempio; copialo e cambialo
title: "Boom, ovvero cosa succede quando internet si rompe"
text: |
Questo voleva essere un talk, ma più che altro uno scambio di saperi a tema reti mesh, a livello tecnico quanto a livello sociale (ad es. capire quali sono le reti già esistenti sul territorio italiano), col desiderio intimo (ma collettivo!) di arrivare a creare un coordinamento di nodi mesh tale (che ambizione!) da creare una rete alternativa.
# Se ancora non è stata assegnata una stanza al talk, commentala. Non usare un valore tipo "qualunque" o
# cose del genere, che ci si incasina tutto
room: A
# duration è la durata in minuti del talk
duration: 90
# Ci vanno le virgolette intorno! altrimenti 17.30 viene interpretato come un numero decimale
time: "11:00"
# day è il giorno in cui avverrà il talk. Finché non decommenti il talk non sarà schedulato
# 0=giovedì, 1=venerdì, 2=sabato, 3=domenica
day: 2
#tags:
# - tante
# - cose
# - belle
# Devono essere dei link validi!
#links:
# - https://git.lattuga.net/asd/foo
# mail dovrebbe contenere un link all'email in lista hackmeeting in cui il talk è stato proposto
# così si può sapere chi contattare e se c'è stata una discussione
# prendi il link da http://lists.autistici.org/list/hackmeeting.en.html
# il campo mail NON è un indirizzo email
#mail: "blabla"
# contacts invece sono i nomi, o gli indirizzi, delle persone che presentano
contacts:
- frantic
- vacuum
# Devi usare UTF-8, non t'inventare scuse, sappiamo ndo abiti
# vim: set fileencoding=utf-8:

49
talks/cable/meta.yaml Normal file
View file

@ -0,0 +1,49 @@
# File di esempio; copialo e cambialo
title: "Cable: una rete federata di server Signal"
text: |
Signal è riconosciuto come uno degli strumenti più validi per quanto
riguarda la messaggistica privata, avendo tutte le caratteristiche
desiderabili a livello di protocollo e algoritmi e un'usabilità pari ai
più diffusi prodotti commerciali. Si tratta purtroppo di un servizio
centralizzato, i cui server sono interamente gestiti da una specifica
entità.
I software che implementano il servizio (server e client) supportano
però la federazione, è quindi possibile costruire una rete
decentralizzata e indipendente. Il talk vuole esporre il lavoro che
abbiamo fatto in questo senso in HacklabBo.
Programma di massima:
0. Il senso di questo lavoro
1. Infrastruttura del servizio Signal
2. Liberazione di client e server da servizi commerciali
3. Federazione di due server
4. Call for federation
5. Discussione
# Se ancora non è stata assegnata una stanza al talk, commentala. Non usare un valore tipo "qualunque" o
# cose del genere, che ci si incasina tutto
# room: ""
# Ci vanno le virgolette intorno! altrimenti 17.30 viene interpretato come un numero decimale
room: A
duration: 120
time: "21.00"
day: 2
tags:
- comunicazione
- servizi autogestiti
# Devono essere dei link validi!
links:
- https://github.com/WhisperSystems/Signal-Server/wiki/API-Protocol
# mail dovrebbe contenere un link alla mail con cui il talk è stato proposto
# così si può sapere chi contattare e se c'è stata una discussione
mail: http://lists.autistici.org/message/20170515.205020.ba238125.en.html
needs:
- proiettore
contacts:
- torn
- gine
# Devi usare UTF-8, non t'inventare scuse, sappiamo ndo abiti
# vim: set fileencoding=utf-8:

38
talks/cenaG/meta.yaml Normal file
View file

@ -0,0 +1,38 @@
# File di esempio; copialo e cambialo
title: "Cena al cantiere"
text: |
Ingerire cibo all'imbrunire davanti al cantiere maledetto
# Se ancora non è stata assegnata una stanza al talk, commentala. Non usare un valore tipo "qualunque" o
# cose del genere, che ci si incasina tutto
room: "*"
# duration è la durata in minuti del talk
duration: 180
# Ci vanno le virgolette intorno! altrimenti 17.30 viene interpretato come un numero decimale
time: "18.00"
# day è il giorno in cui avverrà il talk. Finché non decommenti il talk non sarà schedulato
# 0=giovedì, 1=venerdì, 2=sabato, 3=domenica
# day: 0
day: 0
#tags:
# - tante
# - cose
# - belle
# Devono essere dei link validi!
#links:
# - https://git.lattuga.net/asd/foo
# mail dovrebbe contenere un link all'email in lista hackmeeting in cui il talk è stato proposto
# così si può sapere chi contattare e se c'è stata una discussione
# prendi il link da http://lists.autistici.org/list/hackmeeting.en.html
# il campo mail NON è un indirizzo email
#mail: "blabla"
# contacts invece sono i nomi, o gli indirizzi, delle persone che presentano
#contacts:
# - tizio
# - caio
# Devi usare UTF-8, non t'inventare scuse, sappiamo ndo abiti
# vim: set fileencoding=utf-8:

38
talks/cenaS/meta.yaml Normal file
View file

@ -0,0 +1,38 @@
# File di esempio; copialo e cambialo
title: "Cena"
text: |
Ingerire cibo all'imbrunire
# Se ancora non è stata assegnata una stanza al talk, commentala. Non usare un valore tipo "qualunque" o
# cose del genere, che ci si incasina tutto
room: "*"
# duration è la durata in minuti del talk
duration: 120
# Ci vanno le virgolette intorno! altrimenti 17.30 viene interpretato come un numero decimale
time: "19.00"
# day è il giorno in cui avverrà il talk. Finché non decommenti il talk non sarà schedulato
# 0=giovedì, 1=venerdì, 2=sabato, 3=domenica
# day: 0
day: 2
#tags:
# - tante
# - cose
# - belle
# Devono essere dei link validi!
#links:
# - https://git.lattuga.net/asd/foo
# mail dovrebbe contenere un link all'email in lista hackmeeting in cui il talk è stato proposto
# così si può sapere chi contattare e se c'è stata una discussione
# prendi il link da http://lists.autistici.org/list/hackmeeting.en.html
# il campo mail NON è un indirizzo email
#mail: "blabla"
# contacts invece sono i nomi, o gli indirizzi, delle persone che presentano
#contacts:
# - tizio
# - caio
# Devi usare UTF-8, non t'inventare scuse, sappiamo ndo abiti
# vim: set fileencoding=utf-8:

38
talks/cenaV/meta.yaml Normal file
View file

@ -0,0 +1,38 @@
# File di esempio; copialo e cambialo
title: "Cena"
text: |
Ingerire cibo all'imbrunire
# Se ancora non è stata assegnata una stanza al talk, commentala. Non usare un valore tipo "qualunque" o
# cose del genere, che ci si incasina tutto
room: "*"
# duration è la durata in minuti del talk
duration: 120
# Ci vanno le virgolette intorno! altrimenti 17.30 viene interpretato come un numero decimale
time: "19.00"
# day è il giorno in cui avverrà il talk. Finché non decommenti il talk non sarà schedulato
# 0=giovedì, 1=venerdì, 2=sabato, 3=domenica
# day: 0
day: 1
#tags:
# - tante
# - cose
# - belle
# Devono essere dei link validi!
#links:
# - https://git.lattuga.net/asd/foo
# mail dovrebbe contenere un link all'email in lista hackmeeting in cui il talk è stato proposto
# così si può sapere chi contattare e se c'è stata una discussione
# prendi il link da http://lists.autistici.org/list/hackmeeting.en.html
# il campo mail NON è un indirizzo email
#mail: "blabla"
# contacts invece sono i nomi, o gli indirizzi, delle persone che presentano
#contacts:
# - tizio
# - caio
# Devi usare UTF-8, non t'inventare scuse, sappiamo ndo abiti
# vim: set fileencoding=utf-8:

View file

@ -0,0 +1,48 @@
# File di esempio; copialo e cambialo
title: "Copia forense, un'esperienza da tecnico di parte e il problema del pranzo"
text: |
Ripercorriamo la prima esperienza sul campo di hacklabbo/ams da
consulenti tecnici di parte per una copia forense.
Analizzeremo assieme il sequestro, la nomina e le operazioni compiute.
Parleremo di:
* imballi, sigilli e come devo essere maneggiati i dispositivi dal CTU
* quale materiale il CTP deve portarsi il giorno della copia
* il problema del pranzo
* una piccola panoramica su Deft Zero
* i formati di acquisizione
* Ufed Cellbrite Touch, per l'estrapolazione dei dati dal telefono
* la parti del verbale e cosa far scrivere
* curiose anomalie
* la figura del CTP, serve? Non serve? Cosa possiamo fare come hacklab
per i/le compagni/e inguiati/e?
needs:
- proiettore
# Se ancora non è stata assegnata una stanza al talk, commentala. Non usare un valore tipo "qualunque" o
# cose del genere, che ci si incasina tutto
room: B
# duration è la durata in minuti del talk
duration: 90
# Ci vanno le virgolette intorno! altrimenti 17.30 viene interpretato come un numero decimale
time: "17.30"
# day è il giorno in cui avverrà il talk. Finché non decommenti il talk non sarà schedulato
# 0=giovedì, 1=venerdì, 2=sabato, 3=domenica
day: 1
tags:
- legale
# Devono essere dei link validi!
links:
# mail dovrebbe contenere un link alla mail con cui il talk è stato proposto
# così si può sapere chi contattare e se c'è stata una discussione
mail: "http://lists.autistici.org/message/20170516.235536.3e0103ea.en.html"
contacts:
- jops
- gine
# Devi usare UTF-8, non t'inventare scuse, sappiamo ndo abiti
# vim: set fileencoding=utf-8:

View file

@ -0,0 +1,42 @@
# File di esempio; copialo e cambialo
title: "Appendice digitale a 'Difesa Legale per una maggiore consapevolezza'"
text: |
Tra aprile e novembre 2016 l'[Associazione di Mutuo Soccorso per il diritto alla libertà di
espressione](https://mutuosoccorso.noblogs.org/) ha collaborato assieme alla lista hackmeeting per la
stesura dell'appendice di autodifesa digitale della nuova edizione del libro "Difesa legale per una
maggiore consapevolezza", che uscirà la fine di ottobre.
Attraverso questo incontro presenteremo l'associazione, la nuova
edizione del libro e distribuiremo un'anteprima dell'appendice.
# Se ancora non è stata assegnata una stanza al talk, commentala. Non usare un valore tipo "qualunque" o
# cose del genere, che ci si incasina tutto
room: B
# duration è la durata in minuti del talk
duration: 90
# Ci vanno le virgolette intorno! altrimenti 17.30 viene interpretato come un numero decimale
time: "17.30"
# day è il giorno in cui avverrà il talk. Finché non decommenti il talk non sarà schedulato
# 0=giovedì, 1=venerdì, 2=sabato, 3=domenica
day: 2
tags:
- legale
# Devono essere dei link validi!
# mail dovrebbe contenere un link all'email in lista hackmeeting in cui il talk è stato proposto
# così si può sapere chi contattare e se c'è stata una discussione
# prendi il link da http://lists.autistici.org/list/hackmeeting.en.html
# il campo mail NON è un indirizzo email
mail: "http://lists.autistici.org/message/20170523.223216.71b0c687.en.html"
# contacts invece sono i nomi, o gli indirizzi, delle persone che presentano
contacts:
- Associazione di mutuo soccorso per il diritto di espressione
- Antonio Senta
- Jops
links:
- https://mutuosoccorso.noblogs.org
# Devi usare UTF-8, non t'inventare scuse, sappiamo ndo abiti
# vim: set fileencoding=utf-8:

View file

@ -0,0 +1,55 @@
# File di esempio; copialo e cambialo
title: "Elettronica ed attacchi hardware"
text: |
avevo intenzione di portare un talk riguardante
un approccio pratico di elettronica + attacchi fisici
Le linee generali sarebbero
- discorso base sulle compomenti elettroniche (le cose più base
per chi vuole iniziare a pacioccare e non capisce la terminologia)
- strumenti (multimetro/oscilloscopio/logic analyzer)
- prototipazione (design PCB con KiCAD/Eagle)
- trovare seriali e JTAG su vecchi device
- Side-channel attack&Fault generation
L'idea sarebbe di fare una carrellata su tutti gli argomenti
e farlo stare in un'ora anche se la vedo difficile.
Se trovo
il tempo magari riuscire a fare una dimostrazione pratica di
clock-glitching (arduino in loop che salta un'istruzione) o
anche bruteforcing dei pin JTAG di un router (usando JTAGEnum).
Se qualcuno ha qualche idea o gli interessa qualcosa in particolare
faccia sapere.
# Se ancora non è stata assegnata una stanza al talk, commentala. Non usare un valore tipo "qualunque" o
# cose del genere, che ci si incasina tutto
room: A
# duration è la durata in minuti del talk
duration: 90
# Ci vanno le virgolette intorno! altrimenti 17.30 viene interpretato come un numero decimale
time: "15.00"
# day è il giorno in cui avverrà il talk. Finché non decommenti il talk non sarà schedulato
# 0=giovedì, 1=venerdì, 2=sabato, 3=domenica
day: 2
tags:
- elettronica
# Devono essere dei link validi!
links: []
# mail dovrebbe contenere un link all'email in lista hackmeeting in cui il talk è stato proposto
# così si può sapere chi contattare e se c'è stata una discussione
# prendi il link da http://lists.autistici.org/list/hackmeeting.en.html
# il campo mail NON è un indirizzo email
mail: "http://lists.autistici.org/message/20170525.141714.24fa6749.en.html"
# contacts invece sono i nomi, o gli indirizzi, delle persone che presentano
contacts:
- packz
# - caio
# Devi usare UTF-8, non t'inventare scuse, sappiamo ndo abiti
# vim: set fileencoding=utf-8:

23
talks/lavalle/meta.yaml Normal file
View file

@ -0,0 +1,23 @@
# File di esempio; copialo e cambialo
title: La Valle e il Movimento NoTav si presentano ad HM
text: |
Saluto della Valle e presentazione del libro di Roberta Chiroli "Ora e sempre No Tav" con l'autrice
# Se ancora non è stata assegnata una stanza al talk, lasciala vuota. Non usare un valore tipo "qualunque" o
# cose del genere, che ci si incasina tutto
room: A
# Ci vanno le virgolette intorno! altrimenti 17.30 viene interpretato come un numero decimale
time: "21.00"
duration: 120
day: 1
tags:
- notav
# Devono essere dei link validi!
links:
# mail dovrebbe contenere un link alla mail con cui il talk è stato proposto
# così si può sapere chi contattare e se c'è stata una discussione
#mail: http://lists.autistici.org/message/20170518.153524.53e16c3e.en.html
#contacts:
# - ginox
# Devi usare UTF-8, non t'inventare scuse, sappiamo ndo abiti
# vim: set fileencoding=utf-8:

1
talks/meta.yaml Normal file
View file

@ -0,0 +1 @@
startdate: 2017-06-15

View file

@ -0,0 +1,37 @@
# File di esempio; copialo e cambialo
title: "La tecnica per la politica: laboratorio di micro e macropratiche di mutualismo digitale"
text: |
Descrizione: In tempi in cui la politica è dominio della tecnica, bisogna riprendersi la tecnica. Per farlo, immaginiamo uno spazio in cui discutere delle modalità in cui possiamo condurre lotte e mantenere spazi di libertà anche nell'isolazionismo. Il primo passo è ricostruire comunità, come possiamo farlo? Come ci smezziamo costi fra tutt* quant* se abbiamo tutt* le pezze ar culo anche a km di distanza? Questo, e tanti altri, saranno i punti della questione.
# Se ancora non è stata assegnata una stanza al talk, commentala. Non usare un valore tipo "qualunque" o
# cose del genere, che ci si incasina tutto
room: C
# duration è la durata in minuti del talk
duration: 180
# Ci vanno le virgolette intorno! altrimenti 17.30 viene interpretato come un numero decimale
time: "22.00"
# day è il giorno in cui avverrà il talk. Finché non decommenti il talk non sarà schedulato
# 0=giovedì, 1=venerdì, 2=sabato, 3=domenica
day: 1
#tags:
# - tante
# - cose
# - belle
# Devono essere dei link validi!
#links:
# - https://git.lattuga.net/asd/foo
# mail dovrebbe contenere un link all'email in lista hackmeeting in cui il talk è stato proposto
# così si può sapere chi contattare e se c'è stata una discussione
# prendi il link da http://lists.autistici.org/list/hackmeeting.en.html
# il campo mail NON è un indirizzo email
#mail: "blabla"
# contacts invece sono i nomi, o gli indirizzi, delle persone che presentano
contacts:
- frantic
- vacuum
# Devi usare UTF-8, non t'inventare scuse, sappiamo ndo abiti
# vim: set fileencoding=utf-8:

View file

@ -0,0 +1,68 @@
# File di esempio; copialo e cambialo
title: Pacioccare con gli ELFi
text: |
L'idea è quella di ripercorrere le tecniche per patchare un file in formato
ELF che negli anni (quindi è una cosa anche un po' retro e storiografica
volendo) virus writer, backdooratori di professione e hobbisty hanno
escogitato (tipo backdoor factory o quello che fa, o meglio forse non fa,
msfvenon con l'opzione `-x` e `-k` nella versione framework, quella pro non so
cosa faccia, per capirsi ).
L'elenco non so se completo di quello che io ho letto in giro si potrebbe fare per celarsi all'interno di
un file in formato ELF, ripreso da un libello molto figo uscito l'anno scorso, _Linux binary analysis_
* silvio cesare .text infection
* reverse .text infection
* .data infection
* pt_note to pt_load infection
Poi c'e' il problema di come deviare il flusso di esecuzione sul codice
introdotto e tornare indietro
modificare l'entry point, plt, got .ctors, .dtors, altro
Poi se volete ci sarebbe la questione di come infettare un processo gia'
caricato in memoria...
Insomma queste cose qui
Tutta sta roba andrebbe fatta usando il linguaggio che volete, aggeggiando un
file elf, forkando o threaddando (o anche no se complica troppo, pero' allora
il codice deve fare cose che non implichino che poi l'eseguibile originale non
parta) e preservandone la funzionalita'. La cosa sarebbe su piattaforme intel
amiche a 64 bit. Quindi magari si tratta di prendere cose che funzionavano
sulle piattaforme a 32 bit e rifarle funzionare per quelle a 64, oppure di
mostrare come funziona il codice di robe che gia' lo fanno, cmq l'analisi del
codice e' interessante, se non si limita a "ho trovato questo tool che lo
lancio e lui fa cose, pero' non so bene come".
Poi sabato, non troppo tardi che a me viene sonno, si vede che e' venuto
fuori, all'interno di una chiaccherata in cui si spiegano un po' ste cose, i
principi, il codice, che si e' riusciti a fare, cosa no, no stress, no ansia
da prestazione. Io mi accollo di guidare la discussione e le spiegazioni
teoriche per quanto mi riesce e di far vedere che ho partorito. L'idea e'
quella di capire meglio queste robe su linux, per essere piu' consapevoli e
credibili quando ne parliamo, perche' le nostre analisi siano approfondite e
quindi anche le nostre idee a riguardo abbiano piu' peso.
# Se ancora non è stata assegnata una stanza al talk, lasciala vuota. Non usare un valore tipo "qualunque" o
# cose del genere, che ci si incasina tutto
#room: antani
room: C
# Ci vanno le virgolette intorno! altrimenti 17.30 viene interpretato come un numero decimale
duration: 60
time: "17.00"
day: 2
#tags:
# - tante
# - cose
# - belle
# Devono essere dei link validi!
#links:
# mail dovrebbe contenere un link alla mail con cui il talk è stato proposto
# così si può sapere chi contattare e se c'è stata una discussione
mail: http://lists.autistici.org/message/20170518.153524.53e16c3e.en.html
contacts:
- ginox
# Devi usare UTF-8, non t'inventare scuse, sappiamo ndo abiti
# vim: set fileencoding=utf-8:

View file

@ -6,6 +6,10 @@ text: |
che permette di generare un segnale GPS in modo da disorientare i
cercatori di Pokemon lasciando, inevitabilmente, quelle creature carine
morire di fame!
duration: 60
room: A
day: 1
time: "15:00"
tags:
- sdr
- gps

38
talks/pranzoS/meta.yaml Normal file
View file

@ -0,0 +1,38 @@
# File di esempio; copialo e cambialo
title: "Pranzo"
text: |
Ingerire cibo a meta' giornata
# Se ancora non è stata assegnata una stanza al talk, commentala. Non usare un valore tipo "qualunque" o
# cose del genere, che ci si incasina tutto
room: "*"
# duration è la durata in minuti del talk
duration: 120
# Ci vanno le virgolette intorno! altrimenti 17.30 viene interpretato come un numero decimale
time: "13.00"
# day è il giorno in cui avverrà il talk. Finché non decommenti il talk non sarà schedulato
# 0=giovedì, 1=venerdì, 2=sabato, 3=domenica
# day: 0
day: 2
#tags:
# - tante
# - cose
# - belle
# Devono essere dei link validi!
#links:
# - https://git.lattuga.net/asd/foo
# mail dovrebbe contenere un link all'email in lista hackmeeting in cui il talk è stato proposto
# così si può sapere chi contattare e se c'è stata una discussione
# prendi il link da http://lists.autistici.org/list/hackmeeting.en.html
# il campo mail NON è un indirizzo email
#mail: "blabla"
# contacts invece sono i nomi, o gli indirizzi, delle persone che presentano
#contacts:
# - tizio
# - caio
# Devi usare UTF-8, non t'inventare scuse, sappiamo ndo abiti
# vim: set fileencoding=utf-8:

38
talks/pranzoV/meta.yaml Normal file
View file

@ -0,0 +1,38 @@
# File di esempio; copialo e cambialo
title: "Pranzo"
text: |
Ingerire cibo a meta' giornata circa
# Se ancora non è stata assegnata una stanza al talk, commentala. Non usare un valore tipo "qualunque" o
# cose del genere, che ci si incasina tutto
room: "*"
# duration è la durata in minuti del talk
duration: 120
# Ci vanno le virgolette intorno! altrimenti 17.30 viene interpretato come un numero decimale
time: "13.00"
# day è il giorno in cui avverrà il talk. Finché non decommenti il talk non sarà schedulato
# 0=giovedì, 1=venerdì, 2=sabato, 3=domenica
# day: 0
day: 1
#tags:
# - tante
# - cose
# - belle
# Devono essere dei link validi!
#links:
# - https://git.lattuga.net/asd/foo
# mail dovrebbe contenere un link all'email in lista hackmeeting in cui il talk è stato proposto
# così si può sapere chi contattare e se c'è stata una discussione
# prendi il link da http://lists.autistici.org/list/hackmeeting.en.html
# il campo mail NON è un indirizzo email
#mail: "blabla"
# contacts invece sono i nomi, o gli indirizzi, delle persone che presentano
#contacts:
# - tizio
# - caio
# Devi usare UTF-8, non t'inventare scuse, sappiamo ndo abiti
# vim: set fileencoding=utf-8:

View file

@ -0,0 +1,28 @@
# File di esempio; copialo e cambialo
title: "Proiezione zero days"
text: |
Proiezione del film _zero days_
# Se ancora non è stata assegnata una stanza al talk, commentala. Non usare un valore tipo "qualunque" o
# cose del genere, che ci si incasina tutto
room: B
# duration è la durata in minuti del talk
duration: 120
# Ci vanno le virgolette intorno! altrimenti 17.30 viene interpretato come un numero decimale
time: "21.00"
# day è il giorno in cui avverrà il talk. Finché non decommenti il talk non sarà schedulato
# 0=giovedì, 1=venerdì, 2=sabato, 3=domenica
day: 0
tags:
- percorso base
# Devono essere dei link validi!
links: []
# mail dovrebbe contenere un link alla mail con cui il talk è stato proposto
# così si può sapere chi contattare e se c'è stata una discussione
mail: "http://lists.autistici.org/message/20170509.223449.0cec183b.en.html"
# Devi usare UTF-8, non t'inventare scuse, sappiamo ndo abiti
# vim: set fileencoding=utf-8:

View file

@ -0,0 +1,60 @@
# File di esempio; copialo e cambialo
title: "Un'introduzione alla fisica quantistica"
text: |
La teoria quantistica è lo strumento fondamentale per descrivere i
fenomeni fisici che avvengono su scale microscopiche. Essa si fonda su
un principio di indeterminazione, legato a una costante fondamentale
della natura (la costante di Planck), che impone limiti insuperabili
alla precisione con cui è possibile conoscere le grandezze che
caratterizzano ogni sistema fisico. Questo principio di indeterminazione
comporta implicazioni sorprendenti - tra cui la duplice natura, di onda
e di particella, di ogni oggetto, l'esistenza di _sovrapposizioni_
quantistiche tra diversi stati fisici di un oggetto, e l'_entanglement_
quantistico - che nell'ultimo secolo hanno radicalmente rivoluzionato la
fisica, le altre scienze naturali, e la concezione stessa del sapere
scientifico, dando origine a importanti ricadute tecnologiche.
In questa presentazione, dopo una breve introduzione alle motivazioni
scientifiche che portarono alla nascita della fisica quantistica, si
esporranno i concetti fondamentali alla base di questa teoria, si
illustrerà il modo in cui essa descrive la propagazione delle
particelle, i fenomeni che prevede, e le conferme sperimentali di queste
predizioni. Si spiegherà poi per quale motivo la fisica _classica_ (cioè
non quantistica) rappresenta generalmente una ottima approssimazione per
i fenomeni fisici che avvengono a scale macroscopiche, con i quali siamo
familiari nella vita quotidiana.
Infine, verranno discussi alcuni esempi di moderne applicazioni della
fisica quantistica, con particolare attenzione alle nanotecnologie, a
nuovi materiali, e ai computer quantistici.
La presentazione non presume conoscenze propedeutiche: tutte le nozioni
fisiche e matematiche utilizzate verranno introdotte durante il
seminario e illustrate mediante esempi.
# Se ancora non è stata assegnata una stanza al talk, commentala. Non usare un valore tipo "qualunque" o
# cose del genere, che ci si incasina tutto
room: C
# duration è la durata in minuti del talk
# duration: 50
# Ci vanno le virgolette intorno! altrimenti 17.30 viene interpretato come un numero decimale
time: "16.00"
# day è il giorno in cui avverrà il talk. Finché non decommenti il talk non sarà schedulato
# 0=giovedì, 1=venerdì, 2=sabato, 3=domenica
day: 1
# Devono essere dei link validi!
links: []
# mail dovrebbe contenere un link all'email in lista hackmeeting in cui il talk è stato proposto
# così si può sapere chi contattare e se c'è stata una discussione
# prendi il link da http://lists.autistici.org/list/hackmeeting.en.html
# il campo mail NON è un indirizzo email
#mail: "blabla"
# contacts invece sono i nomi, o gli indirizzi, delle persone che presentano
contacts:
- marco panero ( panero@to.infn.it )
# Devi usare UTF-8, non t'inventare scuse, sappiamo ndo abiti
# vim: set fileencoding=utf-8:

View file

@ -0,0 +1,41 @@
# File di esempio; copialo e cambialo
title: "[Radio AM] - Software per fare una radio"
text: |
Per fare una radio fanno comodo un sacco di programmi. Come fare streaming? Come registrare? Come gestire una radio formata da più regie?
Abbiamo accumulato in questo workshop un'infarinatura di parecchi strumenti informatici che sono effettivamente usati da alcune radio autogestite e che hanno risolto problemi che crediamo siano comuni per chi volesse cimentarsi in una nuova radio.
Ah, malgrado il titolo, questo workshop è utile anche se la vostra radio non trasmette in AM ;)
# Se ancora non è stata assegnata una stanza al talk, commentala. Non usare un valore tipo "qualunque" o
# cose del genere, che ci si incasina tutto
room: B
# duration è la durata in minuti del talk
duration: 60
# Ci vanno le virgolette intorno! altrimenti 17.30 viene interpretato come un numero decimale
time: "22.00"
# day è il giorno in cui avverrà il talk. Finché non decommenti il talk non sarà schedulato
# 0=giovedì, 1=venerdì, 2=sabato, 3=domenica
day: 1
tags:
- radio am
# Devono essere dei link validi!
links: []
# mail dovrebbe contenere un link all'email in lista hackmeeting in cui il talk è stato proposto
# così si può sapere chi contattare e se c'è stata una discussione
# prendi il link da http://lists.autistici.org/list/hackmeeting.en.html
# il campo mail NON è un indirizzo email
mail: http://lists.autistici.org/message/20170502.171530.3345a634.en.html
# contacts invece sono i nomi, o gli indirizzi, delle persone che presentano
contacts:
- boyska
- wombat
# - tizio
# - caio
# Devi usare UTF-8, non t'inventare scuse, sappiamo ndo abiti
# vim: set fileencoding=utf-8:

View file

@ -0,0 +1,38 @@
# File di esempio; copialo e cambialo
title: "[Radio AM] - Come, perché, perché ora"
text: |
In Italia la radio AM non ha mai attecchito molto. Comunque, praticamente ogni radio la supporta. Una bizzarra situazione legale le rende appetibili
Questo talk farà una panoramica della situazione attuale della radiofonia, spiegando soprattutto il quadro legale delle frequenze FM e AM. In chiusura presenteremo anche un riassuntissimo per chi sta valutando di trasmettere in AM.
# Se ancora non è stata assegnata una stanza al talk, commentala. Non usare un valore tipo "qualunque" o
# cose del genere, che ci si incasina tutto
room: C
# duration è la durata in minuti del talk
duration: 60
# Ci vanno le virgolette intorno! altrimenti 17.30 viene interpretato come un numero decimale
time: "18.00"
# day è il giorno in cui avverrà il talk. Finché non decommenti il talk non sarà schedulato
# 0=giovedì, 1=venerdì, 2=sabato, 3=domenica
day: 2
tags:
- radio am
# Devono essere dei link validi!
links: []
# mail dovrebbe contenere un link all'email in lista hackmeeting in cui il talk è stato proposto
# così si può sapere chi contattare e se c'è stata una discussione
# prendi il link da http://lists.autistici.org/list/hackmeeting.en.html
# il campo mail NON è un indirizzo email
mail: http://lists.autistici.org/message/20170502.171530.3345a634.en.html
# contacts invece sono i nomi, o gli indirizzi, delle persone che presentano
#contacts:
# - tizio
# - caio
# Devi usare UTF-8, non t'inventare scuse, sappiamo ndo abiti
# vim: set fileencoding=utf-8:

View file

@ -0,0 +1,35 @@
# File di esempio; copialo e cambialo
title: "[Radio AM] Autocostruzione di trasmettitore e antenna"
text: |
In questo workshop spiegheremo come costruire un trasmettitore per le Radio AM, mostrandone uno progettato da noi. È stato ottimizzato per essere semplice da costruire e adattare alle proprie esigenze. A parte le spiegazioni, ci giocheremo davvero, spiegando anche come costruire un'antenna per le onde medie.
# Se ancora non è stata assegnata una stanza al talk, commentala. Non usare un valore tipo "qualunque" o
# cose del genere, che ci si incasina tutto
room: A
# duration è la durata in minuti del talk
duration: 120
# Ci vanno le virgolette intorno! altrimenti 17.30 viene interpretato come un numero decimale
time: "17.00"
# day è il giorno in cui avverrà il talk. Finché non decommenti il talk non sarà schedulato
# 0=giovedì, 1=venerdì, 2=sabato, 3=domenica
day: 1
tags:
- radio am
# Devono essere dei link validi!
links:
- http://ciapini.wiki.esiliati.org/index.php/MeoW
# mail dovrebbe contenere un link all'email in lista hackmeeting in cui il talk è stato proposto
# così si può sapere chi contattare e se c'è stata una discussione
# prendi il link da http://lists.autistici.org/list/hackmeeting.en.html
# il campo mail NON è un indirizzo email
mail: http://lists.autistici.org/message/20170502.171530.3345a634.en.html
# contacts invece sono i nomi, o gli indirizzi, delle persone che presentano
#contacts:
# - tizio
# - caio
# Devi usare UTF-8, non t'inventare scuse, sappiamo ndo abiti
# vim: set fileencoding=utf-8:

33
talks/shellcosi/meta.yaml Normal file
View file

@ -0,0 +1,33 @@
# File di esempio; copialo e cambialo
title: Shellcosi senza pretese
text: |
assembly intel a 64bit risicato risicato, per leggere e scrivere shellcode
due esempi classici: tcp shell bind e reverse shell in versione artigianale
i problemi che sorgono e le cose di cui bisogna tenere conto (null free, dove si mettono i parametri delle syscall, dove le stringhe, e cose così)
intro ai cosi multi stage e egg hunting
usare quel che c'è: introduzione alla ROP (return oriented programming)
Talk per persone curiose che di queste cose sentono parlare ma da sole non ci si mettono. Meno adatto per chi di queste cose già ne mastica.
# Se ancora non è stata assegnata una stanza al talk, lasciala vuota. Non usare un valore tipo "qualunque" o
# cose del genere, che ci si incasina tutto
room: A
# Ci vanno le virgolette intorno! altrimenti 17.30 viene interpretato come un numero decimale
time: "11.00"
duration: 90
day: 1
tags:
- shellcode
# Devono essere dei link validi!
links:
# mail dovrebbe contenere un link alla mail con cui il talk è stato proposto
# così si può sapere chi contattare e se c'è stata una discussione
mail: http://lists.autistici.org/message/20170518.153524.53e16c3e.en.html
contacts:
- ginox
# Devi usare UTF-8, non t'inventare scuse, sappiamo ndo abiti
# vim: set fileencoding=utf-8:

View file

@ -0,0 +1,49 @@
# File di esempio; copialo e cambialo
title: "Sovranità tecnologica vol 1"
text: |
Forse questo dossier non darà soluzioni a questi temi molto
ampi, però suggerisce modi alternativi di intendere le questioni
tecnologiche. Si tratta della parte in cui si ricostruiscono le cose a
nostro modo, dato che, come osservava Gibson, [la strada trova sempre i
propri usi delle cose](http://hackordie.gattini.ninja/book_st/intro/introita.html#fn_4).
La sovranità tecnologica ci fa tornare al contributo che ognuna di noi dà
allo sviluppo delle tecnologie, riscattando i nostri immaginari
radicali, recuperando la nostra storia e memoria collettiva, ri-situandoci
per poter sognare e desiderare insieme la costruzione, qui
e ora, delle nostre proprie infrastrutture di informazione,
comunicazione ed espressione.
# Se ancora non è stata assegnata una stanza al talk, commentala. Non usare un valore tipo "qualunque" o
# cose del genere, che ci si incasina tutto
room: C
# duration è la durata in minuti del talk
duration: 30
# Ci vanno le virgolette intorno! altrimenti 17.30 viene interpretato come un numero decimale
time: "21.00"
# day è il giorno in cui avverrà il talk. Finché non decommenti il talk non sarà schedulato
# 0=giovedì, 1=venerdì, 2=sabato, 3=domenica
day: 2
#tags:
# -
# - cose
# - belle
# Devono essere dei link validi!
links:
- https://calafou.org/es/content/dossier-soberan%C3%ADa-tecnol%C3%B3gica
- https://hackordie.gattini.ninja/book_st/
- https://git.lattuga.net/hacklabbo/soberania_tecnologica
# mail dovrebbe contenere un link alla mail con cui il talk è stato proposto
# così si può sapere chi contattare e se c'è stata una discussione
mail: "http://lists.autistici.org/message/20170518.174733.31877df3.en.html"
contacts:
- "hackordie@gattini.ninja"
# - caio
# Devi usare UTF-8, non t'inventare scuse, sappiamo ndo abiti
# vim: setfileencoding=utf-8:

View file

@ -0,0 +1,51 @@
# File di esempio; copialo e cambialo
title: "Sovranità tecnologica vol 1"
text: |
Forse questo dossier non darà soluzioni a questi temi molto
ampi, però suggerisce modi alternativi di intendere le questioni
tecnologiche. Si tratta della parte in cui si ricostruiscono le cose a
nostro modo, dato che, come osservava Gibson, -la strada trova sempre i
propri usi delle cose-^4
<http://hackordie.gattini.ninja/book_st/intro/introita.html#fn_4> .
La sovranità tecnologica ci fa tornare al contributo che ognuna di noi dà
allo sviluppo delle tecnologie, riscattando i nostri immaginari
radicali, recuperando la nostra storia e memoria collettiva, ri-situandoci
per poter sognare e desiderare insieme la costruzione, qui
e ora, delle nostre proprie infrastrutture di informazione,
comunicazione ed espressione.
# Se ancora non è stata assegnata una stanza al talk, commentala. Non usare un valore tipo "qualunque" o
# cose del genere, che ci si incasina tutto
#room: antani
# duration è la durata in minuti del talk
duration: 40
# Ci vanno le virgolette intorno! altrimenti 17.30 viene interpretato come un numero decimale
time: "17.30"
# day è il giorno in cui avverrà il talk. Finché non decommenti il talk non sarà schedulato
# 0=giovedì, 1=venerdì, 2=sabato, 3=domenica
day: 0
#tags:
# -
# - cose
# - belle
# Devono essere dei link validi!
links:
- https://calafou.org/es/content/dossier-soberan%C3%ADa-tecnol%C3%B3gica
- https://hackordie.gattini.ninja/book_st/
- https://git.lattuga.net/hacklabbo/soberania_tecnologica
# mail dovrebbe contenere un link alla mail con cui il talk è stato proposto
# così si può sapere chi contattare e se c'è stata una discussione
mail: "hackordie@gattini.ninja"
#contacts:
# - tizio
# - caio
# Devi usare UTF-8, non t'inventare scuse, sappiamo ndo abiti
# vim: setfileencoding=utf-8:

42
talks/tails/meta.yaml Normal file
View file

@ -0,0 +1,42 @@
# File di esempio; copialo e cambialo
title: "[base] Tails: novità 3.0"
text: |
The Amnesico Incognito Live System
Tails é un sistema operativo "live" che ha come obiettivo preservare la tua
privacy e il tuo anonimato. Ti aiuta ad utilizzare internet in forma anonima e a
evitare i filtri della censura, praticamente in qualunque luogo tu vada e su
qualunque computer, senza lasciare tracce a meno che tu non voglia farlo
esplicitamente.
Vedremo che tools ci offre la distro, come ottenerla e come usarla in che casi, le novità
e che limiti comunque ci sono.
# Se ancora non è stata assegnata una stanza al talk, commentala. Non usare un valore tipo "qualunque" o
# cose del genere, che ci si incasina tutto
room: B
# duration è la durata in minuti del talk
duration: 60
# Ci vanno le virgolette intorno! altrimenti 17.30 viene interpretato come un numero decimale
time: "15.00"
# day è il giorno in cui avverrà il talk. Finché non decommenti il talk non sarà schedulato
# 0=giovedì, 1=venerdì, 2=sabato, 3=domenica
day: 2
#tags:
# - tante
# - cose
# - belle
# Devono essere dei link validi!
links:
- https://tails.boum.org
# mail dovrebbe contenere un link alla mail con cui il talk è stato proposto
# così si può sapere chi contattare e se c'è stata una discussione
mail: "https://lists.autistici.org/message/20170518.174733.31877df3.it.html"
#contacts:
# - tizio
# - caio
# Devi usare UTF-8, non t'inventare scuse, sappiamo ndo abiti
# vim: set fileencoding=utf-8:

View file

@ -0,0 +1,42 @@
# File di esempio; copialo e cambialo
title: "Trojan di stato"
text: |
A seguito di un attacco informatico allazienda Hacking Team di Milano,
leader mondiale in materia di sorveglianza digitale, salta fuori Galileo,
un programma venduto ai servizi e alle polizie di tutto il mondo, fra cui
i nostrani servitori dellordine. Dopo una panoramica dei fatti mostreremo
nella pratica cosa permettono di fare questi "captatori informatici".
il talk sara' tendenzialmente divulgativo, se poi qualcuno vorra'
smanettare in compagnia non ci tireremo indietro :)
# Se ancora non è stata assegnata una stanza al talk, commentala. Non usare un valore tipo "qualunque" o
# cose del genere, che ci si incasina tutto
room: B
# duration è la durata in minuti del talk
duration: 60
# preferenza temporale: non accavallato con altri talk base
time: "16.00"
# day è il giorno in cui avverrà il talk. Finché non decommenti il talk non sarà schedulato
# 0=giovedì, 1=venerdì, 2=sabato, 3=domenica
day: 1
tags:
- malware
# Devono essere dei link validi!
links:
- https://www.autistici.org/underscore/di-trojan-di-stato.html
- https://www.autistici.org/underscore/di-trojan-di-stato-details.html
# mail dovrebbe contenere un link all'email in lista hackmeeting in cui il talk è stato proposto
# così si può sapere chi contattare e se c'è stata una discussione
# prendi il link da http://lists.autistici.org/list/hackmeeting.en.html
# il campo mail NON è un indirizzo email
mail: "http://lists.autistici.org/message/20170523.221506.b2e302ba.en.html"
# contacts invece sono i nomi, o gli indirizzi, delle persone che presentano
contacts:
- underscoreTO
# Devi usare UTF-8, non t'inventare scuse, sappiamo ndo abiti
# vim: set fileencoding=utf-8:

View file

@ -48,6 +48,11 @@ h1, h2, h3, h4, strong, tt {
color: black;
}
.navbar .navbar-nav > li > a {
transition: background-color .3s;
background-color: #e12b2b;
}
.navbar .navbar-nav > .active > a,
.navbar .navbar-nav > .active > a:hover,
.navbar .navbar-nav > .active > a:focus {
@ -60,6 +65,7 @@ h1, h2, h3, h4, strong, tt {
.navbar .navbar-brand:hover,
.navbar .navbar-brand:focus {
color: black;
background-color: #ff7456;
}
.navbar-brand {

View file

@ -121,7 +121,7 @@
{% set menu = MENUITEMS %}
{% endif %}
{% for title, link in menu %}
<li><a href="{{ link }}">{{ title }}</a></li>
<li class="{% if page.url == link %}active{% endif %}"><a href="{{ link }}" >{{ title }}</a></li>
{% endfor %}
{% if DISPLAY_CATEGORIES_ON_MENU %}