From 27debcfbf25a7087953ba83b41d790d8178e58a6 Mon Sep 17 00:00:00 2001 From: boyska Date: Wed, 15 Jan 2020 17:10:28 +0100 Subject: [PATCH] iniziamo! --- .agignore | 4 + .gitignore | 7 + Makefile | 73 ++++ README.md | 43 ++ content/images/.keepme | 0 content/images/press/2016-IMG_0574.jpg | Bin 0 -> 45929 bytes content/images/press/2016-IMG_0578.jpg | Bin 0 -> 35598 bytes content/images/press/2016-IMG_0581.jpg | Bin 0 -> 37373 bytes content/images/press/2016-IMG_0584.jpg | Bin 0 -> 42069 bytes content/images/press/2016-IMG_0586.jpg | Bin 0 -> 32443 bytes content/images/press/2016-IMG_0589.jpg | Bin 0 -> 37158 bytes content/pages/call.md | 130 ++++++ content/pages/come_arrivare.en.md | 15 + content/pages/come_arrivare.md | 15 + content/pages/contatti.en.rst | 17 + content/pages/contatti.rst | 16 + content/pages/index.en.rst | 16 + content/pages/index.es.rst | 15 + content/pages/index.fr.md | 27 ++ content/pages/index.rst | 25 ++ content/pages/info.en.md | 91 ++++ content/pages/info.md | 55 +++ content/pages/programma.en.rst | 31 ++ content/pages/programma.rst | 25 ++ content/pages/stampa.rst | 73 ++++ content/pages/storia.md | 210 +++++++++ content/pages/warmup.rst | 155 +++++++ new-year.md | 16 + pelicanconf.py | 74 ++++ plugins/langmenu.py | 39 ++ plugins/talks/__init__.py | 3 + plugins/talks/style.css | 104 +++++ plugins/talks/talks.py | 577 +++++++++++++++++++++++++ plugins/tipue_search/README.md | 67 +++ plugins/tipue_search/__init__.py | 1 + plugins/tipue_search/tipue_search.py | 107 +++++ publishconf.py | 13 + requirements.txt | 19 + talks/README.md | 4 + talks/_talk_example/meta.yaml | 44 ++ talks/_templates/grid.html | 36 ++ talks/_templates/talk.html | 59 +++ talks/meta.yaml | 9 + 43 files changed, 2215 insertions(+) create mode 100644 .agignore create mode 100644 .gitignore create mode 100644 Makefile create mode 100644 README.md create mode 100644 content/images/.keepme create mode 100644 content/images/press/2016-IMG_0574.jpg create mode 100644 content/images/press/2016-IMG_0578.jpg create mode 100644 content/images/press/2016-IMG_0581.jpg create mode 100644 content/images/press/2016-IMG_0584.jpg create mode 100644 content/images/press/2016-IMG_0586.jpg create mode 100644 content/images/press/2016-IMG_0589.jpg create mode 100644 content/pages/call.md create mode 100644 content/pages/come_arrivare.en.md create mode 100644 content/pages/come_arrivare.md create mode 100644 content/pages/contatti.en.rst create mode 100644 content/pages/contatti.rst create mode 100644 content/pages/index.en.rst create mode 100644 content/pages/index.es.rst create mode 100644 content/pages/index.fr.md create mode 100644 content/pages/index.rst create mode 100644 content/pages/info.en.md create mode 100644 content/pages/info.md create mode 100644 content/pages/programma.en.rst create mode 100644 content/pages/programma.rst create mode 100644 content/pages/stampa.rst create mode 100644 content/pages/storia.md create mode 100644 content/pages/warmup.rst create mode 100644 new-year.md create mode 100644 pelicanconf.py create mode 100644 plugins/langmenu.py create mode 100644 plugins/talks/__init__.py create mode 100644 plugins/talks/style.css create mode 100644 plugins/talks/talks.py create mode 100644 plugins/tipue_search/README.md create mode 100644 plugins/tipue_search/__init__.py create mode 100644 plugins/tipue_search/tipue_search.py create mode 100644 publishconf.py create mode 100644 requirements.txt create mode 100644 talks/README.md create mode 100644 talks/_talk_example/meta.yaml create mode 100644 talks/_templates/grid.html create mode 100644 talks/_templates/talk.html create mode 100644 talks/meta.yaml diff --git a/.agignore b/.agignore new file mode 100644 index 0000000..9a74aa5 --- /dev/null +++ b/.agignore @@ -0,0 +1,4 @@ +*/*.min.css +*/*.min.js +themes/*/static/*/*.min.* +output diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..a9caa2b --- /dev/null +++ b/.gitignore @@ -0,0 +1,7 @@ +output +output/* +.*.sw. +cache +*.pid +*.pyc +.*.swp diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..7e91be4 --- /dev/null +++ b/Makefile @@ -0,0 +1,73 @@ +PY?=python +PELICAN?=pelican +PELICANOPTS= + +BASEDIR=$(CURDIR) +INPUTDIR=$(BASEDIR)/content +OUTPUTDIR=$(BASEDIR)/output +CONFFILE=$(BASEDIR)/pelicanconf.py +PUBLISHCONF=$(BASEDIR)/publishconf.py + +DEBUG ?= 0 +ifeq ($(DEBUG), 1) + PELICANOPTS += -D +endif +VERBOSE ?= 0 +ifeq ($(VERBOSE), 1) + PELICANOPTS += -v +endif + +all: publish + +help: + @echo 'Makefile for a pelican Web site ' + @echo ' ' + @echo 'Usage: ' + @echo ' make html (re)generate the web site ' + @echo ' make clean remove the generated files ' + @echo ' make regenerate regenerate files upon modification ' + @echo ' make publish generate using production settings ' + @echo ' make serve [PORT=8000] serve site at http://localhost:8000' + @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 ' ' + +html: + $(PELICAN) $(INPUTDIR) -o $(OUTPUTDIR) -s $(CONFFILE) $(PELICANOPTS) + +clean: + [ ! -d $(OUTPUTDIR) ] || rm -rf $(OUTPUTDIR) + +regenerate: + $(PELICAN) -r $(INPUTDIR) -o $(OUTPUTDIR) -s $(CONFFILE) $(PELICANOPTS) + +serve: + echo http://localhost:8000/ +ifdef PORT + pelican -lr -p $(PORT) +else + pelican -lr +endif + +devserver: +ifdef PORT + $(BASEDIR)/develop_server.sh restart $(PORT) +else + $(BASEDIR)/develop_server.sh restart +endif + +stopserver: + kill -9 `cat pelican.pid` + kill -9 `cat srv.pid` + @echo 'Stopped Pelican and SimpleHTTPServer processes running in background.' + +publish: + $(PELICAN) $(INPUTDIR) --ignore-cache -o $(OUTPUTDIR) -s $(PUBLISHCONF) $(PELICANOPTS) + +autopublish: + while true; do inotifywait -r content pelicanconf.py publishconf.py Makefile themes -e modify -e create -e delete; make clean publish; sleep 0.1; done + +.PHONY: html help clean regenerate serve devserver publish diff --git a/README.md b/README.md new file mode 100644 index 0000000..d4a3a85 --- /dev/null +++ b/README.md @@ -0,0 +1,43 @@ +Hackmeeting 2019 +================== + +Sources for Italian Hackmeeting 0x16 (2019) website. + + +HowTo +------- + +So you want to contribute, nice! + +``` +mkvirtualenv -p `which python3` hackmeeting-website +pip install -r requirements.txt +make all serve +firefox http://localhost:8000/ +``` + +Also, `make help` is your friend. + +**Morte ai nemici dell'UTF-8** + +Se devi debuggare, `make DEBUG=1` + +Aggiungere un talk +-------------------- + +``` +cp -r talks/_talk_example/ talks/MIOTALK/ +vim talks/MIOTALK/meta.yaml +``` + +Quindi rifai `make html` come spiegato prima: l'output ti informa di eventuali errori nei campi o +sovrapposizioni con altri talk, leggilo! + +Hacking +--------- + +Il sito è un'istanza di pelican, più alcuni plugin custom: `langmenu`, per avere un menu che punta alle versioni +localizzate della pagina; `talks`, per gestire i talk in modo speciale. + +Il tutto richiede python 2.7, ma prima o poi sarebbe il caso di passare a python 3. Quindi cerca di tenere la +compatibilità, se metti mano al codice python. diff --git a/content/images/.keepme b/content/images/.keepme new file mode 100644 index 0000000..e69de29 diff --git a/content/images/press/2016-IMG_0574.jpg b/content/images/press/2016-IMG_0574.jpg new file mode 100644 index 0000000000000000000000000000000000000000..583bad064893f75d4316d4658a341c9555d0c156 GIT binary patch literal 45929 zcmeFY2UHYIyDr)@B*_^;a*~{L6p)PMoHLS!oDonEl$>+U8OcdWk^~f$93_K*WKcka z+oOK}_x*eAea_kUp0&=s>sme4_0(H$RlW7}Om%nFJ2x{o%K(m|tb!~6fj|Ix@BnUB zlwD+e>}&u)L4g^#1pojlfDM5H$RP3qBMyjh!1OT~@gN8Q1We)a4g~3Eng?Ri-?$9K zjK6iDAm#?^5`bwf81bRM>cZuA&k%ps?E^6{JpkM{cXD?6b*7S0)uiI$JcY zj_?mT@;@+K4_>YYMk+9ZT>}5v)%nk4fEoOo2G%x%j~d>}uQT=UlnRs~032YB47^Nm zZs1qT4?H3K#=#&)1ThULj{q?;s0C+x6vQYXCI<07h*3dI1!83IvS5HU;C)StZI@$$ zTA%>93(9eR%eA1uWBlLk-^B$0!ryYRN*)O)hu4M2yC7x+Q+7}%<+pA7AWnt%3)*!J;LY^<p5xc0k++ z;=gS8@Q;3%K{;p&@DsWyoIBm{oVrSru3h=U#DM9!!_)G3eLfve}!M= zKj)PH!E7RH=LYjOceAF_v37H}b9SQQV&`NR_(uo-1+1uWpmm@%1MF>ongwcsmVlQf z{SK=rd>lXRg1meQ&ad$BJNb$Kb&3aqF)(PQ;CXdk{T8!;w{PLp!oxo){?!8bvx3i| zzXM$M7xi%6zaqT&Fa6Np7!v^J-`@cO938v-mH8i}5Gpm`5WIW>@!og-Qu|jUe+ho4 zzZm2HdA0sS(Z6M5z?{|Z2rm%(-5^|M{agN*?eOydDtw24-*m*B|H_>Is@ngj!z(3`P@WS8WpYp$C@brI04)6Cr)BC4A|7`QWBYy(GkADwz z{_48R;Ghw~f&Gd(^k0(xUFT2k4+H-*26X;s3V+J~Fz|=>O@2`hc5@o1dSLQ(OC=Z_WR~h(Fms4E$l>|5psW0Y?j8NPsUwP=OKt z#06i(g6H7@`!|N?;bri72|icBmzw^PL4RXV{PTtWuexx(zx1)dJKwgPKKmdHv8PN=)1BIu1kY_(@e}-NIG!R;dF)$41Ky)DK z;QikkVhuU^$qN+RVF8;5Rw4L^Xo%0D=nxS=1V94r0PDaS&;^--Fd{G_xPm<`BFrNQ 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 literal 0 HcmV?d00001 diff --git a/content/images/press/2016-IMG_0578.jpg b/content/images/press/2016-IMG_0578.jpg new file mode 100644 index 0000000000000000000000000000000000000000..50b4b242b8206a7c19472e5ccaf1d8eaf5c410bd GIT binary patch literal 35598 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 Z6glKj9DNf>T4E@O852QP&}j}o|Jg_hS+xKF literal 0 HcmV?d00001 diff --git a/content/images/press/2016-IMG_0581.jpg b/content/images/press/2016-IMG_0581.jpg new file mode 100644 index 0000000000000000000000000000000000000000..bedbb3746ed1ee8c542daeb7a894af4d931cb0fe GIT binary patch literal 37373 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

pi?=t07Gkml5S7YFEfO&c8?Kozr5$fmm(2Dyxy! zmt3h)=_selLC>8iEtIyjsAO$*1uD-t;DX85eKw(MT(8yUzg4Z!V7ooovd$Us{1rOO z?6NSFp?KTKDoTQqPDW0@0H6^aZ?(F)dt6^TT#-h#1Sn~Go}9BXq!5LZ7`c!T$aPK? z;X`>KXBxHWe@Q;q>5aEug*uvseq9q>rY+YU@m?i+O4h>Awt{yjYhZg(+H| zTGU8OUHI-kx=Go+60X$b*B-3Rc`@iOBvd2sO4b1LC?yH|$8O`2cKJx;@ut0%f7~>i z=Duar9G6V4#DOunQmP0Xu8X4=<;-wr#~D|vB}#OV>hac?}A z6tILiPwdd3q$Nv8{5wW6PP;1gd9^nFevb3h*gHUr9wO5zh7bq!Y1|F~?SMzFIMk_q zDr$jy)FH?HogKZd#tAvtv-l6G3C8T7rnyV9TZG_SJ|q|a0R6Zs*iZP=_f`6hJXY34 z%H+jWwOR3Q2`){PFcPwo;(}6Cr2?V{U`{e|rxmE&8K_B9jXF=V!T$hVEG{mdqLm>9 z^|Mj&m4v1;{3!&J{{SrHAJbO0eHMvCsHQDaoXf1Z;7f{?4|IsBJQa+QpVuIMT09NN z_Mmij(&{AX5w214GEpv0MqDY7r6qe7q@^3utOLnO3tU4heC)fiRkg$iZY9!#cbbCkwKHJ3JJw~peVmAREEDf_#W zaoh;W-sr4V1vib5i}KB;UT_;?HPZYP%&t%nP?y2{Qc}nyr#K2yM{U{n(pf+x@-Pps zhis}BQt$4z+!87BYLx1n3Y&PSMv|!NP+Ed~7TgF{0BosaZU)dvI3VeX*Pf8u_8s`` zK9g0s>PbUvzVtQMoZY!xxStTGf=4`#Hw{t}+L<}Wx+!HqU)af<$_bxOkkv{tNb?1< zptR%j0FT#OGBwEt?X@A+sIRj+ol$8IwE7q2EvRQBj^nltIR`k#vAqu4q1_HR-LG@p z@M?(juHLK7LZzS&`ASksUr7G%o7`)n#p-L_4Y?n-{@8KIuSiUzMySU^7l!K5?o^WfDaGYhqqpFOlr&bri8pwYTFrSaq>Ky1t4i+UX#E-<#s$S+$S1EI+o+j z>u%9&v2PoC1z1i@dQ_%^t;A&+P*)xzHV!hCp6A^o^TxIMJvv{3N~BbzF&dDCC&2K5 zE~!T=bdCw#^z0G+O9;!IVQ9ZR~Ix}GS)oF%f>HD!`EMX%ZioWUwJrj}!eNL`nQK#HAM8@#VC6?U* zumXZyWP_BEo!JWKoD3+B$>@6(R~?-y9o-J=f~2V-#;~ANl6GrI zQY@N%9RQ)S`{VvIyqx_9Vfufd&>vnccPi9a6-5*BmitpBsVP2U7M8-02dE(`QU3r4 z)1=Vxl9tjk4T;d`oky+4Ztbj9>DG<9fSOGq_^!!=AH-XVai=z^FQhCbD&CCpu2cX6 zO^%@SD#NA2rcH~|DkaHBY9p?>Hqf{Xmt-kxLre@w+N}7h2?+{O^B-a~*65GLA5Ge! z{H@1RrqimI9YS1@Pj7SVw%P-JcX&PuR9qMe<2lCw;=20joh|CUTD4}^qSBa^EtxE{ z0!wa3bjNWnBXUoXNh<{H3PSdt7CURAsO2)9U!%5VlTJ&r6x&rbHsp$hF1t=#H^R1( zq_P~sU1=lAor)>|Zse1pDs>pyohF#%A|=H`5u{3`$b76Yw+L-AnI|QswCO?0cv?vq z1aSB2{{UInKBFGhyXZ7mD9!kC-)0<#pJGS^?eRfLc_|A|Ei#2ETxHObK|@peWpvm2 z!4?fV6iOYlQ$p7QpHgO1F~SxXu}NuaFD1R{DoR#x6@_i|)}W6IyQB~wiXV`;rM0w@ zjkQ6$EWmR`inV{(AK8->n>YlOeX_fOr5_+U|s zVo#=L%S^0Ih=J^o=HNg19XW?7!Q>q*xdJoLj@6mgsMLuwnpLkU4@{)Scz}i~4k-v) z0ql5DQU{?@@y<1KUUe2d$xFOI@Tn2m6bjp_<7*0D<|LEs(~7}9iFHTQS3PIxB|iTE zwcLd*)qJxlE+HIlLWdzqS8zu-)*z^L5#E^IF2J7}k<>Pkx5RR;hg@?9Ic()+Ay^}j zpHZkL+^LpzrqQ$7>WntzEsJKEBI|ghw%d^iY8z??1UV&sKmq>F;(Yj^+TsZ=C@TIqY0YaHc4>AbY(-_qk-lgm>~Nd7jZ^P z*w?1RXvIl!w2-lqk~sXa{59V4sW$9KX2>zA@sKj(&J?zQ2fB_1krt0kDr~@q{MG7h z$x5Zl8AL~xiDj?>`=!*9IT+_Yn)_V%K&0O_Bu%?-JD%fxDF7l&v^If*#uAj^ewfis zP_1rV+us&;W$)AhX+Vi7$j&9;n#1J@jNw8Gu!Q8PL0BLYjV1mkX~N&9s=Y^Bao130 zMIK_7tna6-MQ(QQu;7E}RgYa1$oOxzz8@-V-%M9)6W*sd3>rqplwWmVwuZMT6)SOA z1Gj$q>A7qwla}1qu89pxxofqWTo49aW+N(;l^E><-8+YwUDifV007%InitA5pT$Q^ z)oEW2*3jqA(yMHuOi7$6DjNm>SGL`xeLpQB!#)yFjN=Iz$@T7kj<@CAWG3nOb(uqu z+FqS($f!X>dCHj)r7W~RM!cik4Pe@|Wy7dE%gG@~RtVE4WcXv}qIWCFrBd0B`b|*9JSVV}lkWARmH99N#!)-j3U=ul*G_^&H z0!lo0hn2-79>~ZzK7%J&txW>-rggnKEw=%%`>s6uzDAiw=UsVS&cJd`Pwp7)uC}RH z1;z<|;X#Oh^zpFlr4R2c`BC{K6ZO^A3fB-^a%{&0x|5?0NCN>Q{##@4pnH1vIXWzd z9V8^D2tJ?=`nMu2kRwRx!xYlBM2;F$g9~}Z6}rF8Molxo}>ZQ!}cyqonBm&wtN*YaPiTfD$);|2|2+dzBPSYph2y)>`5&p z#+Ejz2eOB*uB^+F#S>Mzqwag9KMs~{mu^CG z4Qjm>n$&rdr5(nK;v8!m9I5A2RHA*!Je_vOWCw6ZVlk~$GHsOgD{eh$keMxPaR+;Ew5_f- zq1j0zkVm-CXI3Y<63vq`=7k#Ya+(ri$(9tENCiL<;#Mk( z52^J!1F=O7Pr!6+REKiXe?#2msI)ZcabOM4N_yIo+@&CwVaakh-=FHeLHYy8{Po{Yt51a{g;9v|W6Of_ zq#z_?%19|6!$ow;)jI5nA`wZ8a>r$(K<%ZS4RWGY=0%#N zE#2j5TKlLU_B?*=L8@b(k93K2JF3}>UX031?}DlNDa zmK|(j6HgELfE~&s&;jKfY29pJ^}8y0kw&OF2&)^~;Y~U8QVvqD-JhW-BkD$0XEH@iF#qLY!|I)y;$#Wv!MK5{$sXM(&kWRKYudVuF| z`?0GG(?wQY1Xmh8;L2+zGQqYw7_oyd@ao?VFbI_}@ zr3J|}S{qH)>y_AT#fvz}2w}G~=32r=6h86ekQ0wx7Lb?Ze_l1@$zRCPRFq6o6!KeW z;g%vKkf+{HDN@yqt%5mMJ(8^tRk|nBYP-!o{l3!N4JAGzmP*|9+_T+EImsu!t>3UD z*w&=x{AJIZB_PY3v4y_81daz}fx=QaNc~Bvn*63DDH|1p@$ICswH*ag$x{hb%+ zsZMxEO<_`!1C10FIO8ftQs(7kl_f{;jAZk3Z1vvg=#?@H71b{7v(mQWwI)Fg&yJ#! zpx$yryFfpn8QZ|o&EwDttr{IbSv4nVapj%zDR|!z^N?~|{0cbbZS6k!(kb7E4yW}x zxVTlg&e7>`_br#*a4CRQf@ZR*7)@TSwQ3rXgtQKugjY{&&E zVZv|{cAT`Lc;nn;V1uJKtm!pL%t?nS=sqG8r69;Ip<{u8o>D~-at1dL zp|N=!91;#S!PIoPdYI_T6)5ve?8TaR-l)1|-OEK0FUt;%B5U;oFsYSw`06U!89+)2 zCzFM`oP9^rLw!K5M_*9w7Th4fwnFZz(a+sZ;@n2Qt6PdCDeineJLzM1d``f3suSkY zn`XRINJTabmQ=JvTFd2bWn^au_Fhy4tz0D|I%4#Dr!_?Qw@vJ|CTy8Pq9RC0LYE*X zY9D<$AtkhV8Dk_goRgOnNbFTdD^9~`)F^c;9kfYoCUr(jvL+!13qqv4rMS@}*e_}H z%5{z}TNYB`?#szEDA-Lp0z#z(j063azax%*fcxvUxk08@;2BC1 zRlx6!bjM_KJ>|GS!oVYw&m8K;3yM)cgoBL~$mxSHY*g01eNIbEL`zs0@JLqEu|B!N zxH;sG-0&q4cph$jby}`Kf(Yrs9QM~!&Zs<~yoS#iNaSmwmsYS2N>khrd+WABlIYrV z#~gd;1s^_DZe;Qjd#gO_n@%BW01`*J9rfIe%tr}x%s(#LCh0YhtNQhUN(oSlzs8cW z_!&MRHXoYVl(4K&DYr6p;|DZl{o6c2t!eO$<3A=ca-h{4xF z#UAF=`vP`5GmuIZ^eTfY-x{G2UK{K$(MeF}OM}q*wY4oDZQAZ%3%1K4YmN-1Vgf2B8NV(Nobwe5<9vlK}E##Eyi~zg{g+t zhc9?4OK739a5BMpa2p(Dmy=S10-(qFBr)g#-FL+=NcEg z`eSe2=}D+VNRX4c5?b;&g@0)(9E0^3I@){>3Du{=2&ysub(YfZT|yO=GNM3G_SSLg zcTHK9)_WW5NfK!bip4>~^)m*&^!r8# z7(;cK0z<8jOgfdNO8)?>Kc22_iyfLY*;Og>l~}CFPln{TTL?;0Nb(^7ouJ@nl1|a+ z0Ml{@ONVAU>P_8KwCE37H!QSW^p_pq8n;c0^3!Q8Amwd69CD`lBn0It!3pC4BrRJW z&FY6yZm1Ln>-CFD1SdXTZ89QO6;}sc|}GDKQ-$3-M6AG?!UWC~+z& zQm~*w3Ijz5`x(Rk00~~{h0et?u`;n}$E?#+P@=az480XjVI@th1(1|^xK{KL+rAU6 zd+_1Wt7oUwHZEGlHK>=RMV;@wBfOBpRG+xmDFcy$PBKY6>g%o@7^gW&xhoaP(=J-P znmesCGN6{yn1Qt=%re_)N>PB7FOE($Z)snWXwhNO?zu^3O7P4o((s7&3~&&oeb(RO zl$-_qep46>}#BFCOTWcMZl>!P>J;4V-)ox_k-4kHiF=_1QE>2ILI2$e-2$tx-0j6c861}$f(m`x~AizR@WRtM_^n~D_82H zts9b3bFHB&8&hJ|u_xuE$!(xOaamHcl7BO$e_0)ln=*fm8M$HB%SJn>+#M?6DaWd} z5rN-0({1(;?1u`|xbIi4mUnsI)SGFAVN9^hsm-8{68m8Rwf#zWsEqbJ_W*%FNZ)3T$HLO^JY-m za$~nCih@dc#sbS^fC4=0`qqC9HW0S$2WyYCOxmE_ z*vFVKob3brM<@Q>WXfVg@*}ptG8W=eq1zy+YkS*q+m!f>>UYOu2yLvLsY*@~G4vX) zHEzts-EXT^85L-%qC!d|EUq(xb0rQgLX(zK7D!4qkU>c&kfDypM)r+vsa~K+6(?iB zsmD^?kl9if;I^fxws#?0NZOSQ@yZT$pZb+?)EzCdx5CFDc+^m6&F`wPvo`&yyTIF{-NLC&F#f=ysF&_SLEN z*F{JJOn*G#IsQ6HtBVas0G*@P zPu`ZMkjGA~c=R`!lS*Qh6{zZru(7c$qz>JWzt=jOS)kLd7z&3|gv{u!4Xb7J1tmcH zgRBAZPhinHXLWgLLt#S#??UCl#bW`zz_rrJ9& zE(FSkKPc|9=t%k?r&O^o>-swZxz+1E=>VLo?CB{u&l$tOXX*g_wQqY=B#La4<1Zj^ VNzSuDf=2)V literal 0 HcmV?d00001 diff --git a/content/images/press/2016-IMG_0584.jpg b/content/images/press/2016-IMG_0584.jpg new file mode 100644 index 0000000000000000000000000000000000000000..d77957f27b6b529257eb793b3821f5e4d3c37c29 GIT binary patch literal 42069 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 P^w+OyN15lTVITk5^ca$u literal 0 HcmV?d00001 diff --git a/content/images/press/2016-IMG_0586.jpg b/content/images/press/2016-IMG_0586.jpg new file mode 100644 index 0000000000000000000000000000000000000000..526ce03763f183b23c8ca63383b32f2eb88e9039 GIT binary patch literal 32443 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 yO4DPth{-?R(o5h>|bQbLdt1VOsv+c)a} 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 where you can ask for info and follow the discussions about the meeting. It is mostly in italian but feel free to ask questions in english. + +**IRC** + +There is also an IRC (Internet Relay Chat) channel where discuss and chat with other participants: connect to server ``irc.autistici.org`` and join channel ``#hackit99`` (again, it will be mostly in italian, but english speakers are welcome). + +If you prefer XMPP/Jabber, you can reach the same channel as room ``#hackit99@mufhd0.esiliati.org`` (please +include the hash) diff --git a/content/pages/contatti.rst b/content/pages/contatti.rst new file mode 100644 index 0000000..c2dc720 --- /dev/null +++ b/content/pages/contatti.rst @@ -0,0 +1,16 @@ +Contatti +########### + +:slug: contact +:navbar_sort: 6 +:lang: it + +**Mailing List** + +La comunità Hackmeeting ha una `lista di discussione `_ dove poter chiedere informazioni e seguire le attività della comunità. La lista ha un `archivio pubblico `_, quindi puoi leggerla anche senza iscriverti. L'iscrizione è invece necessaria per scrivere. + +**IRC** + +Esiste anche un canale IRC (Internet Relay Chat) dove poter discutere e chiacchierare con tutti i membri della comunità: collegati al server ``irc.autistici.org`` ed entra nel canale ``#hackit99``. + +Se preferisci XMPP/Jabber, puoi raggiungere lo stesso canale come ``#hackit99@mufhd0.esiliati.org`` (includi il cancelletto). diff --git a/content/pages/index.en.rst b/content/pages/index.en.rst new file mode 100644 index 0000000..990c181 --- /dev/null +++ b/content/pages/index.en.rst @@ -0,0 +1,16 @@ +About +##### + +:navbar_sort: 1 +:lang: en +:slug: index + +May30-June2, 2019 / Firenze +======================================== + + Hackmeeting is the yearly Italian digital counter-cultures meeting; it gathers those communities that take a hard look at how technologies work in our society. And that's not all. We tell you, just you, in a whisper (don't even tell anybody!): Hack-it is just for real hackers, that is to say for those people who want to manage their own lives as they want and are ready to fight for this right, even though they haven't ever seen a computer in their life. + + Three days of lessons, games, parties, debates, crossfires and collective learning, analyzing together those technologies that we use everyday, the way they change and how they can impact on our real or virtual lives; which role we can play in order to redirect these changes and set us free of control from those who want to monopolize their development, letting society crumble and relegating us in even tighter virtual spaces. + + **The event is totally self-managed: there are neither promoters nor users, just participants.** + diff --git a/content/pages/index.es.rst b/content/pages/index.es.rst new file mode 100644 index 0000000..5312006 --- /dev/null +++ b/content/pages/index.es.rst @@ -0,0 +1,15 @@ +About +################### + +:slug: index +:navbar_sort: 1 +:lang: es + +30/5 - 2/6 2019 / Firenze +======================================== + +Hackmeeting es el encuentro anual de las contraculturas digitales italianas, de aquellas comunidades que analizan de manera crítica los mecanismos de desarollo de las tecnologías en nuestra sociedad. Pero hackmeeting no es sólo esto, es mucho más. Te lo contamos al oído, no se lo digas a nadie, el hackmeeting es solamente para verdaderos hackers, para quienes quieran gestionarse la vida como quieran y luchan por eso, aunque no hayan visto un ordenador en su vida. + +Tres días de charlas, juegos, fiestas, debates, intercambios de ideas y aprendizaje colectivo, para analizar juntxs las tecnologías que usamos todos los días, cómo cambian y cómo pueden impactar en nuestras vidas, tanto reales como virtuales. Un encuentro para indagar qué papel podemos jugar en este cambio y liberarnos del control de aquellos que quieren monopolizar su desarrollo, rompiendo nuestras estructuras sociales y relegándonos a espacios virtuales cada vez más limitados. + +**El evento es totalmente autogestionado: no hay ni organizadores ni asistentes, solamente participantes!** diff --git a/content/pages/index.fr.md b/content/pages/index.fr.md new file mode 100644 index 0000000..54dfe63 --- /dev/null +++ b/content/pages/index.fr.md @@ -0,0 +1,27 @@ +Title: About +Date: 2016-04-17 +Slug: index +navbar_sort: 1 +lang: fr + +30/5 - 2/6 2019 / Firenze +======================================== + +*Hackmeeting* est le rencontre annuel des cultures numériques alternatives +italiennes, des communautés qui agissent de façon critique face aux mécanismes +de développement des technologies dans notre société. Mais c'est pas seulement +ça: on y trouve bien plus. On te le chuchote à l'oreille, ne le dis à personne: +hackit est seulement pour les vrais hackers, c'est à dire pour ceux/celles qui +veulent conduire leur vie comme ils/elles préfèrent, et qui savent comment se +battre pour accomplir leur objectif; même s'ils/elles n'ont jamais vu un ordi. + + +Trois jours entre talk techniques, jeux, fêtes, débats, discussions et +apprentissage collectif, tout ça pour étudier tous ensemble les technologies +qu'on utilise tous les jours, leur développement et les changements qu'elles +provoquent dans le réel et le virtuel des nos vies; pour comprendre quel soit +le rôle qu'on puisse jouer pour adresser ces changement vers la libération à +las fois des technologies elles-mêmes et des nos vies. + +**L'événement est complètement autogéré: il n'y a que des participants, pas +d'organisateurs, pas d'entrepreneurs.** diff --git a/content/pages/index.rst b/content/pages/index.rst new file mode 100644 index 0000000..6069895 --- /dev/null +++ b/content/pages/index.rst @@ -0,0 +1,25 @@ +About +##### + +:navbar_sort: 1 +:lang: it +:slug: index + +30maggio-2giugno / Firenze +======================================== + + L'*hackmeeting* è l'incontro annuale delle controculture digitali italiane, di quelle comunità che si pongono in maniera critica rispetto ai meccanismi di sviluppo delle tecnologie all'interno della nostra società. Ma non solo, molto di più. Lo sussuriamo nel tuo orecchio e soltanto nel tuo, non devi dirlo a nessuno: l'hackit è solo per veri hackers, ovvero per chi vuole gestirsi la vita come preferisce e sa s/battersi per farlo. Anche se non ha mai visto un computer in vita sua. + + Tre giorni di seminari, giochi, feste, dibattiti, scambi di idee e apprendimento collettivo, per analizzare assieme le tecnologie che utilizziamo quotidianamente, come cambiano e che stravolgimenti inducono sulle nostre vite reali e virtuali, quale ruolo possiamo rivestire nell'indirizzare questo cambiamento per liberarlo dal controllo di chi vuole monopolizzarne lo sviluppo, sgretolando i tessuti sociali e relegandoci in spazi virtuali sempre più stretti. + + **L'evento è totalmente autogestito: non ci sono organizzatori e fruitori, ma solo partecipanti.** + + + +.. image:: images/manifesto-small.jpg + :width: 424px + :height: 600px + :alt: Manifesto dell'hackmeeting 2019 a firenze + :align: center + :target: images/manifesto-web.jpg + diff --git a/content/pages/info.en.md b/content/pages/info.en.md new file mode 100644 index 0000000..690fc05 --- /dev/null +++ b/content/pages/info.en.md @@ -0,0 +1,91 @@ +Title: Info +slug: info +navbar_sort: 1 +lang: en + +## Info + + +* **Who is organizing?** +Hackmeeting is a yearly meeting of a community that communicates +through +[a mailing list](https://www.autistici.org/mailman/listinfo/hackmeeting). There +is no distinction between organizers and users. Everyone can subscribe +and partecipate in the organization by visiting the site +[it.hackmeeting.org](https://it.hackmeeting.org) and entering the community. + +* **What is an hacker?** +Hackers are curious people, always eager to discover how things are +done. Whether it is technology or not, hackers reclaim freedom to +experiment, disassemble and reassemble things or concepts, to +understand how are they made, to improve them, and then to share how +to do it again. Hackers solve problems and build things, believing in +freedom and sharing. They do not like closed systems. Hackers' forma +mentis is not restricted to the field of software hacking: there are +people that keep the hacker mentality in every existing field, driven +by their creative impulse. + +* **Who holds the talks?** +Whoever wants to. If someone wants to propose a talk, they just has to +propose it on the mailing list. If the proposal is well received, it +gets on calendar. If there are some problems, the community will be +happy to help improve the proposal. + +* **What’s in there, besides talks?** +There is a LAN space, as to say an area dedicated to the net: everyone +can plug their laptop, forming a network with the other participants. In +general, this is the right place to meet other attendees, to ask for +help in installing Linux, to solve a doubt, or just to have a chat. +Hackmeeting is an open-air festival, a meeting, an hacking party, a +moment of consideration, an occasion to learn something together, an act +of rebellion, an exhange of ideas, experiences, dreams, utopias. + +* **How much does it cost?** +Traditionally, entrance in Hackmeeting is totally free: always keep in +mind that organizing the event has a cost. Expenses are sustained +through voluntary contributions, selling shirts and other gadgets and +sometimes through the earnings of the bar. +Please donate whatever you can, every small donation counts. + +* **Eating** +There is a self-organized kitchen, and we invite everyone to +participate. As for every year, alimentary restrictions of every type +will be respected, so there will be vegetarian and vegan meals. +We also try to respect any other necessity (gluten-free meals and so +on), if this is your case please write it in +the mailing list. + +* **What shall I bring?** +If you want to bring a computer, take a power +strip too. Do not forget networking hardware (like Ethernet cables, +switches, WiFi access points). Remember to bring the hardware that +you will want to hack in company. We will try to get some internet +connection for everybody to share, but we can't really guarantee anything. +If you think that you need it, bring a 3G/4G stick with you +and the necessary to share it with friends! Try to be as independent +as possible regarding your hardware. + +* **May I arrive before Thursday?** +Do you want to arrive sooner? Wonderful! In the preceding days there is +always much to do (arrange network infrastructure, arrange seminar halls and +many other things) so any helping hand is well accepted. +Maybe just let us know in advance by sending a message in the list! + +* **May I take photos, make videos, post, tag, share, upload?** +We think that the freedom to choose the dimensions of one’s own private +sphere and public profile must be guaranteed to every participant: in +this spirit, photos and/or videos are admitted only if explicitly +authorized by every person that appears in the media. Nobody should be +photographed without knowing. +Many people at Hackmeeting really care about their privacy, please ask +before taking a picture. + +* **How are people expected to behave?** +Hackmeeting is a self-managed space, a temporary independent space and +whoever passes through is expected to behave according to the principles +of antisexism, antiracism and antifascism. If you are victim or witness +of an act of oppression, aggression, brute force, port scan, ping flood +and other non-consensual DOS and you do not know how to react, always +count on the community’s support and do not hesitate to attract +attention and ask for help. + diff --git a/content/pages/info.md b/content/pages/info.md new file mode 100644 index 0000000..0652f0b --- /dev/null +++ b/content/pages/info.md @@ -0,0 +1,55 @@ +Title: Info +slug: info +navbar_sort: 1 + +## Info + +* **Dove** +Firenze, csa nEXt Emerson, via di Bellagio 15, http://www.csaexemerson.it + +* **Quando** +30,31 Maggio, 1,2 giugno 2019 + +* **Dormire** +Sarà allestito uno spazio al chiuso (portatevi materassino e sacco a pelo) e uno all’aperto per tende e camper. Se avete intenzione di venire in camper o furgone vi preghiamo di avvisare in lista, perchè i posti sono limitati. Nel quartiere di Castello (quello in cui si trova il NextEmerson) vi sono alcune strutture tipo b&b e pensioni, altrimenti potreste anche cercare in zona Sesto Fiorentino, paese limitrofo, e usare i mezzi pubblici per spostarvi (che però terminano le corse entro l'una di notte). + +* **Mangiare** +Saranno garantiti colazioni/pranzi/cene a un prezzo popolare, a poca distanza dal centro sociale ci sono alcuni bar e negozi per acquistare cibo e bevande. + +* **Docce** +Ci saranno 4 docce a disposizione, sicuramente 3 con acqua calda (speriamo di terminare in tempo anche la quarta...) + +* **Come arrivare** +Vedi [sezione apposita](https://www.hackmeeting.org/hackit19/come-arrivare.html) del sito + +* **Chi organizza l'hackmeeting?** +L’hackmeeting è 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 all’organizzazione 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 dell’hacker non è ristretta all’ambito del software-hacking: ci sono persone che mantengono un atteggiamento da hacker in ogni campo dell’esistente, 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 un’area 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. L’hackmeeting è un open-air festival, un meeting, un hacking party, un momento di riflessione, un’occasione di apprendimento collettivo, un atto di ribellione, uno scambio di idee, esperienze, sogni, utopie. + +* **Quanto costa l’ingresso?** +Come ogni anno, l’ingresso all’Hackmeeting è del tutto libero; ricordati però che organizzare l’Hackmeeting ha un costo. Le spese sono sostenute grazie ai contributi volontari, alla vendita di magliette e altri gadget e in alcuni casi all’introito del bar e della cucina. + +* **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 l’hardware su cui vorrai smanettare con gli altri. Durante l’evento la connessione internet sarà estremamente limitata dato il posto 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 l’infrastruttura di rete, preparare le sale seminari, e tanto altro!) quindi una mano è ben accetta. Dai un'occhiata alla mailing list per organizzarti. + + +* **Posso scattare foto, girare video, postare, taggare, condividere, uploadare?** +Pensiamo che ad ogni partecipante debba essere garantita la libertà di scegliere in autonomia l’ampiezza della propria sfera privata e dei propri profili pubblici; per questo all’interno di hackmeeting sono ammessi fotografie o video solo se chiaramente segnalati e precedentemente autorizzati da tutte e tutti quanti vi compaiano. +Le persone che attraversano hackmeeting hanno particolarmente a cuore il concetto di +privacy: prima di fare una foto, esplicitalo. + +* **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 dell’antisessismo, antirazzismo e antifascimo. Se subisci o assisti a episodi di oppressione, aggressione, brute force, port scan, ping flood e altri DOS non consensuali e non sai come reagire o mitigare l’attacco, conta sul sostegno di tutta la comunità e non esitare a richiamare pubblicamente l’attenzione e chiedere aiuto. + + diff --git a/content/pages/programma.en.rst b/content/pages/programma.en.rst new file mode 100644 index 0000000..23a5d98 --- /dev/null +++ b/content/pages/programma.en.rst @@ -0,0 +1,31 @@ +Schedule +=========== + +:slug: schedule +:navbar_sort: 3 +:lang: en + +Recording of talks can be found `here +`_. + +`Add the schedule `_ 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) `_ 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 + + diff --git a/content/pages/programma.rst b/content/pages/programma.rst new file mode 100644 index 0000000..4c67ac0 --- /dev/null +++ b/content/pages/programma.rst @@ -0,0 +1,25 @@ +Programma +=========== + +:slug: schedule +:navbar_sort: 3 +:lang: it + +Gli audio dell'hackmeeting sono disponibili `qui +`_. + +`Aggiungi il programma `_ di hackmeeting nel tuo calendario. + +Il programma è soggetto a variazioni continue: vieni ad hackmeeting e vivitelo! + +Fatti coraggio, proponi il tuo contenuto in `mailing list <{filename}contatti.rst>`_: crea un nuovo thread +dedicato alla tua proposta. Nel subject inserisci ``[TALK]`` +(ad esempio ``[TALK] come sbucciare le mele con un cluster di GPU``) così che sia facile ritrovarlo per chi è +interessato. + +.. talkgrid:: + :lang: it + +.. talklist:: + :lang: it + diff --git a/content/pages/stampa.rst b/content/pages/stampa.rst new file mode 100644 index 0000000..191ebad --- /dev/null +++ b/content/pages/stampa.rst @@ -0,0 +1,73 @@ +Stampa +######### + +:slug: press +:navbar_sort: 10 +:lang: it + + +.. Rassegna stampa + ==================================== + + https://motherboard.vice.com/it/article/ev8dwn/come-costruire-una-calcolatrice-con-i-bicchieri-d-acqua + +Cartella stampa +==================================== + + +TODO + +Propaganda +========== + +I manifesti possono esser scaricati qui (in formato +`jpeg `_). + +`Logo/adesivo `_. + +Foto +========== + + +* .. image:: images/press/2016-IMG_0578.jpg + :width: 300px + :height: 200px + :alt: La bacheca dei seminari dell'hackmeeting 2016, a Pisa + :target: https://hackmeeting.org/hackit16/images/photos/IMG_0578.jpg + +* .. image:: images/press/2016-IMG_0581.jpg + :width: 300px + :height: 171px + :alt: Sessione di elettronica digitale + :target: https://hackmeeting.org/hackit16/images/photos/IMG_0581.jpg + +* .. image:: images/press/2016-IMG_0584.jpg + :width: 300px + :height: 200px + :alt: Programmazione + :target: https://hackmeeting.org/hackit16/images/photos/IMG_0584.jpg + +* .. image:: images/press/2016-IMG_0586.jpg + :width: 300px + :height: 200px + :alt: Computer + :target: https://hackmeeting.org/hackit16/images/photos/IMG_0586.jpg + +* .. image:: images/press/2016-IMG_0589.jpg + :width: 300px + :height: 200px + :alt: Il LAN party: un posto dove sperimentare insieme + :target: https://hackmeeting.org/hackit16/images/photos/IMG_0589.jpg + +* .. image:: images/press/2016-IMG_0574.jpg + :width: 200px + :height: 300px + :alt: Un hack su Emilio: il famoso robottino degli anni '90 è stato riprogrammato + :target: https://hackmeeting.org/hackit16/images/photos/IMG_0574.jpg + + +Comunicati stampa +================= + + +Presto disponibili. diff --git a/content/pages/storia.md b/content/pages/storia.md new file mode 100644 index 0000000..c2ecd13 --- /dev/null +++ b/content/pages/storia.md @@ -0,0 +1,210 @@ +Title: Storia +slug: storia +navbar_sort: 8 + +####La storia dell'HackMeeting + +* **1998 - Firenze - CPA Firenze Sud** + +Viene organizzato il primo hackmeeting al Cpa di Firenze. [Strano Network](http://strano.net/), [Avana BBS](http://avana.forteprenestino.net/), [Ecn](http://www.ecn.org), [Freaknet](http://www.freaknet.org), Decoder, Metro Olografix e la rete +Cybernet decidono di fare un meeting perché quattro anni prima c’era stato un primo giro di vite contro gli hacker italiani. Il problema era +che i media iniziavano ad accorgersi che c’era il fenomeno digitale e identificavano il tentativo di capire la logica delle nuove tecnologie +come fenomeno “criminali”. La comunità hacker invece voleva sottolineare che il computer era uno strumento di massa, domestico e non solo +tecnico-universitario o militare, di controllo o di mercato. +L’informazione che su quella rete di pc passava, doveva essere libera. Radio Cybernet strimmava i seminari su web, prima webradio italiana. Da +allora, la radio ci sarà praticamente ogni anno. I tre giorni di Firenze sono quelli in cui e’ nato l’impianto dell’hackmeeting attuale. Il +messaggio era: usciamo dal digitale e portiamo nel reale e alla portata di tutti questioni tecniche e opportunità di comunicazione diretta; +siamo noi a dirtelo senza mediazioni (”don’t hate the media, become the media” da lì a qualche anno avrebbe affiancato “information wants to be +free”). Quell’anno per esempio esce Kryptonite, un libro che raccoglie how-to su strumenti specifici, legati alla privacy e all’anonimato +(anonimous remailer, gpg, packet radio). L’intenzione divulgativa dell’hackmeeting è chiara. All’hackmeeting partecipa tutta la scena più +rappresentativa dell’underground italiano. La prima generazione di hacker che si riconosce nel termine non nel senso più comunemente +attribuito dai media. Strumenti tecnici: corsi di linux per principianti e workshop sulla accessibilità delle tecnologie e dei siti. + +* **1999 - Milano - Deposito Bulk** + +Viene deciso collettivamente di uscire dalla dimensione dei tre giorni per darsi spazi tutto l’anno, e dare origine agli hacklab dove +incontrarsi, avere un laboratorio, condividere il lavoro, divulgare tematiche. Ospite di rilievo è Wau Holland, un hacker libertario +cofondatore del Chaos Computer Club, che senza carta di identità arrivò in Italia in modi rocamboleschi. Connessioni internazionali vengono +fatte conoscere alla comunità italiana. Strumenti tecnici: si ricorda il seminario su attaccare i protocolli di comunicazione (ip icmp tcp udp + +servizi), per capire/spiegare un po’ meglio come funzionano i protocolli di rete e quindi dove e perché sono vulnerabili. Un altro tema che +diventerà ricorrente negli hackmeting. + +* **2000 - Roma - Forte Prenestino** + +Sede di Avana BBS, primo hackmeeting organizzato con gli hacklab, diventati ormai realtà concrete. Jaromil si presenta con asciicam, +costruendo le relazioni declinate in altri ambiti come la net art, aspetto artistico, giocoso e capace di critica dell’hacking. È anche un +hackmeeting dedicato ai diritti in rete, alla cooperazione sociale, all’accessibilità in rete. Molti i seminari su etica e web. + +* **2001 - Catania - Freaknet media lab** + +Un posto particolare, visto che era nato prima degli hacklab e già si apriva al pubblico con i bollettini meteo per i pescatori, via internet, +e le tastiere in arabo per gli immigrati. È l’hackmeeting più forte dal punto di vista del numero di ore passato sul codice. Viene presentato il +progetto autistici.org/inventati.org come server autogestito che si affiancava a ecn. Viene presentato anche Bolic1, che diventerà poi +Dynebolic (the media hacktivist tool). Il Freaknet propone nell’università scientifica di Catania che si adotti il software libero +come software di base e all’hackmeeting viene proposto di estenderlo anche ad altre città. Passeranno per questo meeting anche quelli che poi +creeranno il media center del G8. Vengono proposti strumenti e persone che poi si coaguleranno per dare vita a media come Indymedia. Si inizia +a parlare di reddito e lavoro nella net economy. Strumenti tecnici: si tiene un seminario di reverse engineering, ovvero +modificare il comportamento di un programma senza conoscere il codice sorgente. + +* **2002 - Bologna - TPO** + +Hackmeeting mondano. la parola mediattivismo è uscita e diffusa, Indymedia è un media consolidato, NGvision rappresenta un archivio video +su web consistente, ci sono le telestreet, l’hackmeeeting diventa non più solo da hacker ma da attivismo media, e non a caso compaiono le +donne. Viene Richard Stallman. Strumenti tecnici: viene presentato il Retrocomputing ovvero la passione per il recupero dell’hardware. + +* **2003 - Torino - Barrio** + +Viene fatto il mitico seminario di stiraggio acrobatico e la questione genere/tecnologie viene proposta dal Sexy shock di Bologna, collettivo +di donne, sottolineando che ci sono questioni di genere anche tra hacker e che sarebbe il caso di occuparsene. Alle aule vengono dati nomi +storici dell’anarchismo. Strumenti tecnici: Honeypots, sicurezza informatica sul web sono tra gli argomenti trattati. Wireless diffuso. + +* **2004 - Genova - Buridda** + +Si apre ulteriormente l’ambito, vengono presentati seminari di robotica, ma anche sulla prostituzione. E sopratutto a partire da Reload di Milano +viene lanciato il concetto di reality hacking, hacking della vita quotidiana e della politica, chiedendo agli hacklab di uscire dagli +stretti ambiti nerd per entrare in quelli più allargati dell’agire politico. Strumenti tecnici: Bluetooth security uno dei seminari. + +* **2005 - Napoli - TerraTerra** + +Viene presentato Open non è free, il secondo libro che esce dalla comunità di hackmeeting. Visto che nella società iniziano a circolare i +concetti di open source e di free software, la comunità sente la necessità di sottolineare la necessità di approcciare in maniera critica +queste tematiche che sono comunque ormai assorbite anche dal mercato. Strumenti tecnici: introduzione al Phreaking, ovvero come telefonare +gratis, dal fischietto di Captain Crunch al vOIP. + +* **2006 - Parma - Collettivo Mario Lupo** + +Gli hacklab non sono più l’elemento principale di organizzazione ma c’è una percezione più comunitaria che permette l’occupazione di uno spazio +per la durata dell’hackmeeting. L’occupazione avviene in un momento ambiguo e cosparso di sgomberi nel territorio parmense e prende la forma +politica di una TAZ, anche se c’era la speranza di fare molto di più (tenere il posto, che poi invece verrà sgomberato). Nell’ambito dei +seminari si apre ulteriormente l’applicazione della filosofia hack in ambiti vari, per esempio, serpicanaro e la licenza open per la +produzione materiale, bucare un sistema che non è solo informatico ma reale e di mercato. Viene presentato The darkside of Google, altro libro +scritto da persone della comunità su aspetti ancora (allora) poco noti di Google. Strumenti tecnici: Web Semantico e Ontologie informatiche; si discute di Copyleft e fightsharing. + +* **2007 - Pisa - Rebeldia** + +Rispetto all’anno precedente si recupera di nuovo sul profilo internazionale, vengono Emmanuel Goldstein, parte della scena americana storica dei phreakers e media hacktivist. Andy Muller Maghun, membro del CCC, esordisce dicendo “il CCC nasce come progetto politico”, segno di come in Europa sin dall’82 si considerava il potenziale politico dell’hacking come concetto, Armin Medosh, che fa una ricostruzione storica in chiave marxista dell’evoluzione tecnologica. Appaiono seminari che impongono una presa di coscienza collettiva ecologica: viene fatto il seminario “hack the bread”, che riporta l’accento su pratiche politiche anche a livello personale. Viene introdotto lo spazio capanne dei suchi, uno spazio diverso dal workshop, di discussione libera e lavoro in comune. Strumenti tecnici: metodi di compromissione dell’anonimato, come difendersi. Voip Security, necessità di attenzione anche su Voip. IPSec, Meccanismi per proteggersi da attacchi basati sull’analisi statistica del traffico (Web site fingerprinting, etc ). + +* **2008 - Palermo - AsK 191** + +Hackmeeting importante per il luogo, l’incontro con le persone dell’Ask ha prodotto un momento di autogestione in comune molto forte. Conferma +spirito forte comunitario, non molto aperto perché non c’era risposta da parte del pubblico palermitano. L’impronta ecologica continua, si parla +di compost, di rifiuti, di energia solare e onde radio. Sharing not exploiting: Prosumer vs. Corporation, riflessione su social network e +web 2.0, ritorni economici delle corporation. Dal punto di vista dell’immaginario compare il workshop sullo steampunk, il dopo cyberpunk. +Strumenti tecnici: Web semantico, come approccio al web 3.0 + +* **2009 - Rho - Fornace** + +Di nuovo l’hackmeeting va a supportare un’autogestione in difficoltà. Lo scenario è Rho, hinterland milanese devastato dalla speculazione Expo, +un enorme capannone vuoto occupato da pochi giorni. Si parla di paura, di creazione della paura, di come uscire da questo modello sociale di +persone spaventate, che si guardano in cagnesco. L’icona dell’hackit è il babau, il cattivo delle favole. Si stabilizza all’interno delle +tematiche l’interesse per la questione precariato e modelli di vita conseguenti. Si inaugura la pratica dei warm up, seminari che introducono nelle settimane precedenti sia nella città ospite, che nel resto d’Italia l’evento principale. A livello di immaginario si parla di fantascienza, di retrocomputing e restauro, videogiochi per cellulari. Strumenti tecnici: streaming audio/video giss, sniffjoke, reti gsm, reti mesh + +* **2010 - Roma - La Torre** + +Hackmeeting tra gli ulivi nel caldo romano, tutti in tenda, ci si riprende dall’hinterland milanese dell’anno prima. Si parla di controllo, di quanto ne abbiamo intorno, di quali strumenti utilizza. Le tematiche ecologiste rientrano dalla porta principale con il seminario sulle pale eoliche, la presentazione della rete per l’autocostruzione e il seminario sugli orti urbani. Nel lan space presenti sempre più arduini, e un modello di elicottero radiocomandato. Ospite dell’hackit Margaret killjoy, un buffo personaggio dello Steampunk Magazine, un rivista autoprodotta americana, presentata assieme a Ruggine, una rivista autoprodotta italiana di racconti e disegni. Affollatissimo il seminario di pr0n, misterisca e intrigante estensione di firefox. Strumenti tecnici: ipv6 e reti mesh, opencv, arduino. + +* **2011 - Firenze - csa nExt Emerson** + +Il tema di questa edizione è stato quello dell’apocalisse. Dalle nuvole dei disastri nucleari alle nuvole del cloud computing: la tecnologia e la conoscenza quando centralizzate per interessi economici e politici e in contrasto con le aspirazioni individuali e collettive di autonomia portano inevitabilmente alla… apocalisse. + +* **2012 - L’Aquila - Asilo Occupato** + +Una presenza significativa in una città come L’Aquila che non assomiglia più ad una città. Hack the town!! Se non è più possibile riparare i danni, dare un senso a ciò che è andato distrutto, hackmeeting prova a capire se è possibile farla funzionare in un altro modo, partendo dalla ricostruzione dei tessuti sociali e relazionali, delle connessioni vitali della città. + +* **2013 - Cosenza - Ex-Officine** + +Si è tenuto nell’area occupata delle ex officine Ferrovie della Calabria ed ha avuto come tema la “iattura del controllo”. L’idea dell’Hackmeeting 2013 era quello di stimolare una nuova saggezza popolare 2.0 per far fronte alle forze avverse che minacciano le libertà di espressione e di condivisione nella rete. Neanche a farlo apposta, fra iatture e superstizioni, proprio nei giorni di quest’hackmeeting escono le prime rivelazioni di Snowden. +L’attività di chi controlla i movimenti in rete, per affari, o per controllo è il tema chiave, ma gli argomenti trattati sono stati molteplici: dalla privacy alle tecnologie di comunicazione, dalla contrasessualità alle relazioni di inchiesta sui software spia utilizzati da governi e non. Degno di nota è anche l’esperimento di media trolling che porta hackmeeting sulle pagine dei più importanti quotidiani nazionali attraverso un divertente e totalmente infondato “scoop”. + +* **2014 - Bologna - XM24** + +Xm24 ospita gli ultimi 3 giorni di un hackmeeting durato molto più a lungo: +l'articolato percorso di warmup cittadino, coordinato dall'hacklabbo ma che +vede la partecipazione di molte realtà, antagoniste e non, porta ad un'edizione +particolarmente partecipata. + +Grazie alla lunga storia mediattivista di Xm24, la visibilità e il carattere +universitario di Bologna e alla rete di comunità che si intrecciano nella lista +hackmeeting prende vita un evento che dimostra alla sua stessa comunità come la +scena sia tutt'altro che morta, ma anzi particolarmente attenta e attiva. +Durante le tre giornate la necessità e la centralita' di un evento costruito +dal basso viene riaffermato con forza non soltato dalla partecipazione della +comunità storica, ma anche dalle assemblee di comunita' trasversali ad +hackmeeting(eg. quella delle WCN italiane), l'affacciarsi di molti volti nuovi +e i moltissimi talk di grande attualità (eg. Citizen Lab con il lavoro sulla +sorveglianza digitale). + +PS: il logo è un non morto, non un gorilla, non un fattone ;) + +* **2015 - Napoli - Mensa occupata** + +Dopo dieci anni Hackmeeting torna a Napoli e si riprende il centro della città. + +La collocazione centralissima della Mensa Occupata favorisce lo svolgimento di un hackmeeting di livello non esclusivamentetecnico e molto divulgativo. A meno di due mesi del primo maggio e delle lotte contro Expo, la riflessione sul lato più politico e militante dell'hacking si impone: tecniche di autodifesa neuro-digitali, studio delle legislazioni in materia di intercettazioni, Tor, crittografia e resistenza digitale. Alla comunità si è aggiunta tanta gente nuova e questa diventa l'occasione per reinventarsi. Si scopre che i fritti favoriscono la concentrazione. + +* **2016 - Pisa - Polo Fibonacci** + +Polo Fibonacci, l'hackmeeting si ritrova a Pisa il 3-5 Giugno e occupa un polo +universitario riempiendolo di giochi, feste, workshop e dibattiti. Per parlare di +tecnologia, di privacy, di sicurezza, ma anche di differenze, di gender e di +piu' inclusione all'interno del hackmeeting. + +Si analizzano malware, si discute di crittografia quantistica e +ci si ritrova a giocare a retrogame alle 3 di mattina tra musica punk e la +birra che ormai e' finita da un po' + +I bagni non divisi per genere si chiamano come gli editor: VIM, NANO o EMACS, mentre +alcune faccie internazionali e non rispondo ad email e scrivono pezzi di python nel mezzo del Lan Space +mentre altri cercano per la prima volta di installare Linux. + +L'attenzione si sposta parecchio sui malware, anche detti captatori informatici +si prova ad analizzarli e vedere la demo di hacking-team, poi Ippolita presenta [Anime Elettriche](http://www.vita.it/it/interview/2016/04/27/anime-elettriche-corpi-digitali-linee-di-fuga-e-tattiche-di-resistenza/52/) e la sera +alcuni propongono giochi sulla comprensione del consenso, tavole rotonde sulle +discussioni di genere e tentativi di migliorare la comunita' +Poi all'improvviso e' gia' domenica e abbracci e baci, si accolla il prossimo +hackit ai Torinesi, ci vediamo in Val Susa. + +* **2017 - Venaus, Val di Susa - Borgata 8 Dicembre e Presidio permanente** + +E' il ventesimo hackmeeting e per celebrare l'occasione, si pensa di +farlo in un posto diverso. L'idea gira in lista, piace subito e così si parte. +Si impara a saldare, a fare il dado vegetale, a costruire un'antenna, a +farsi il formaggio con il latte di capra. +Si parla di sicurezza digitale, di anonimato, di fisica quantistica, di +cyberspionaggio, di pokemon, di controllo, di radio e di reti mesh. +Ci si mischia con i resistenti valsusini, ci si contagia, si scambiano +racconti, esperienze, sogni.La comunità condivide con la valle, la valle si racconta alla comunità. +Si dorme in tenda si cucina e ci si lava all'aperto, si cena al cantiere +di Chiomonte, si cammina in montagna. + +Tagliare le reti, insomma, ci sta! + +* **2018 - Buridda Genova** + +Dopo 14 anni hackmeeting torna a Genova, nelle stanze del Buridda. +L'impronta del luogo è sicuramente l'attenzione all'autocostruzione, ma +non mancano dibattiti storici come la presentazione del numero di +Zapruder (numero dedicato all'hacking), una spiegazione pratica degli +avanzamenti crittografici negli ultimi anni, un workshop con pc e USB +alla mano come quello su Tails ed anche confronti interessanti e +contraddittori sui temi tecnici e politici come quello sul voto elettronico. +Viene presentato Stop al Panico, una raccolta di suggermenti tecnici e +legali da affrontare in caso di sequestro, si parla di sistemi operativi +alternativi per cellulari. +Si discute di social, di nolike e dell'uso tossico di questi strumenti, +riflettendo su come riappropriarci delle tecnologie "social" anche +presentando l'esperimento Bolognese di mastodon.bida.im +Dopo 3 giorni intensi, l'assemblea della domenica è molto partecipata: +scopriamo che i posti che hanno ospitato l'hackmeeting riprendono +energie mentre in varie città stanno nascendo vari hacklab mossi non +solo dalla volonta di smontare e comprendere la tecnologia come un tempo +o dalla mancanza di internet in casa, ma dal desiderio di incontrarsi, +discutere e condividere le impressioni su questi strumenti che oggi +abbiamo intorno e cercare alternative comuni insieme. +Ultimo giro al bar, dove quest'anno la birra non e' ancora finita, poi +una tuffo al mare per chi riesce, saluti sparsi a tutte le creature di +questo hackmeeting con la promessa di rivederci presto a sud a nord +online o offline, non fa differenza, l'importante e' che ci siamo. + + + diff --git a/content/pages/warmup.rst b/content/pages/warmup.rst new file mode 100644 index 0000000..a472bf3 --- /dev/null +++ b/content/pages/warmup.rst @@ -0,0 +1,155 @@ +Warmup +====== + +:slug: warmup +:navbar_sort: 5 +:lang: it + +Cosa sono +-------------- + +I warmup sono eventi "preparatori" ad hackmeeting. Avvengono in giro per l'Italia, e possono trattare gli argomenti più disparati. + +Proporre un warmup +------------------ + +Vuoi fare un warmup? ottimo! + +* iscriviti alla `mailing list di hackmeeting `_. +* scrivi in mailing list riguardo al tuo warmup: non c'è bisogno di alcuna "approvazione ufficiale", ma segnalarlo in lista è comunque un passaggio utile per favorire dibattito e comunicazione. + + +Elenco +--------- +.. contents:: :local: + +Marzo ++++++++ + +13 Marzo h 19, La ricreazione al silicio, @ `Hacklab Ifdo `_ - `Polveriera Spazio Comune `_ - Firenze +################################################################################################################################################################## + + + Appuntamento mensile all’hacklab in Polveriera per capire e approfondire le tecnologie smontandole e giocando. Ogni volta verranno proposti dei mini laboratori guidati di cose acarose, usando risorse disponibili on line (capture the flag, insecure vm e robe simili, ovvero ambienti con bug o vulnerabilità create apposta per capire come funziona questo buffo universo). + +.. image:: images/warmup-firenze-marzoaprile.jpg + :height: 200px + :alt: Locandina warmup fiorentini di marzo ed aprile + :name: Locandina warmup fiorentini di marzo ed aprile + + +14 Marzo h 21, Zero Days @ Occupazione viale Corsica 81 - Firenze +################################################################# + + Proiezione del documentario "Zero Days" (Alex Gibney, 2016, sub ita), con introduzione a cura di Ifdo Hacklab. Si tratta di una interessante ricostruzione della vicenda Stuxnet, un sabotaggio ai danni di una centrale nucleare iraniana, compiuto attraverso un malware(virus) da parte dell'intelligence isrealiana e statunitense. L'operazione avrà delle conseguenze piuttosto imprevedibili. Il documentario realizzato da un giornalista esperto in tema di intelligence è veramente utile per comprendere il modus cogitandi dietro alla geopolitica di quell'area del medio oriente. Offre anche uno spaccato di quella che viene definita dai media "cyber war", ma che altro non è che guerra a tutti gli effetti. + +15 Marzo h 21, Server autogestiti @ `Ateneo Libertario `_, Borgo Pinti 50r - Firenze +########################################################################################################################################## + + Servizi e server autogestiti: perchè l'autogestione è importante su Internet, oltre che forse l'unica via per la sopravvivenza di una rete utile alle persone e non mero strumento di controllo o centro di addestramente per consumatori. + +20 Marzo h 19, Citizenfour @ studentato PDM, via Ponte di mezzo 27 - Firenze +############################################################################ + + Proiezione del documentario Citizenfour (Laura Poitras, 2014, sub ita), con introduzione a cura di Ifdo Hacklab. Snowden è ex lavoratore della National Security Agency, che rivelò al mondo diversi progetti segreti di controllo e monitoraggio sulle comunicazioni mondiali utilizzati dall'intelligence americana. La viecnda è trattata dal punto di vista di Snoweden nei giorni della sua fuga dall'USA. Si tratta di un bel documentario, che per quanto valga, ha anche vinto l'oscar come migliore documentario nel 2015. La vicenda Snowden sebbene caduta nel dimenticatoio ha segnato una vera e propria cesura nel mondo della comunicazione digitale aprendo sostanzialmente alla consapevolezza diffusa di Internet come macchina di sorveglianza statale a cui si somma l'Internet della sorveglianza commerciale delle grandi corporations (Google, Facebook, ecc...), rimane aperto il problema di cosa farsene di quel che resta. + + A seguire Workshop: "La banalita' del malware, parte prima". Un malware è un software studiato apposta per interagire in maniera stramba e dannosa con i sistemi in cui viene eseguito. Dietro questi programmi vi è una fiorente industria legata alla sicurezza informatica, a cui partecipano apparati statali, malavita e corporations. Ma quanto è complesso lo sviluppo di un malware ? Quanta parte è solo e semplicemente "fuffa" in un mercato pompato ad arte ? Per rendercene conto proveremo a studiare alcuni recenti malware per analizzarne le caratteristiche e capire quanto lavoro ci sia dietro e in che modo la terminologia utilizzata, mascheri spesso caratteristiche piuttosto banali. Si tratta della prima parte, perchè probabilmente vi sarà un'appendice del workshop durante l'Hackmeeting il 30/31 maggio, 1/2 giugno al next emerson. + +30 Marzo, Controlla il tuo microcontrollore @ `Avana `_ - `CSOA Forte Prenestino `_ - Roma +########################################################################################################################################################## + + Un microcontrollore è un circuito integrato, solitamente collegato ad altri componenti elettronici, programmabile per gestire delle applicazioni specifiche. Se hai sempre desiderato avere la capacità di realizzare dei marchingegni per risolvere i piccoli problemi della vita quotidiana, non perderti questi due appuntamenti che, partendo da conoscenze basilari di programmazione, ti permetteranno di sviluppare i primi progetti di elettronica digitale. Gli incontri si terranno al CSOA Forte Prenestino. Avranno inizio alle 15:30 e consisteranno in una parte teorica della durata di circa un'ora, seguita da un laboratorio pratico. + + +.. image:: images/warmup-stm32-thumb.jpg + :height: 200px + :alt: Locandina "Controlla il tuo microcontrollore" + :name: Locandina "Controlla il tuo microcontrollore 1/2" + :target: https://avana.forteprenestino.net/ + + +Aprile +++++++++ + +13 Aprile, Controlla il tuo microcontrollore @ Roma, `Avana `_ - Csoa Forte Prenestino +########################################################################################################################## + + Seconda e ultima puntata del corso iniziato il 30 Marzo. Tutte le info su https://avana.forteprenestino.net/ + +.. image:: images/warmup-stm32-thumb.jpg + :height: 200px + :alt: Locandina "Controlla il tuo microcontrollore" + :name: Locandina "Controlla il tuo microcontrollore 2/2" + :target: https://avana.forteprenestino.net/ + + + +17 Aprile h 19, La ricreazione al silicio @ `Hacklab Ifdo `_ - `Polveriera Spazio Comune `_ - Firenze +################################################################################################################################################################# + + Appuntamento mensile all’hacklab in Polveriera per capire e approfondire le tecnologie smontandole e giocando. Ogni volta verranno proposti dei mini laboratori guidati di cose acarose, usando risorse disponibili on line (capture the flag, insecure vm e robe simili, ovvero ambienti con bug o vulnerabilità create apposta per capire come funziona questo buffo universo). + +18 Aprile h 18, Il tuo cellulare @ Occupazione via del Leone 60/62 - Firenze +############################################################################ + + Il cellulare è quell'oggetto che sta sempre con te. Piu' della biancheria intima vive in stretta relazione con la tua persona. Ma sai come funziona ? Cosa significano 2g,3g,4g,5g ? Cosa sia una cella ? Come traccia i tuoi spostamenti ? Quanta cose conosce di te il tuo telefonino e quanto e' difficile accedervi ? Quella che proponiamo è una chiaccherata tecnica, ma non troppo, per analizzare come funziona un cellulare nell'ottica di una sorta di ecologia mentale su un oggetto che trenta anni fa neanche esisteva, e oggi sembra il mondo finisca quando lo si dimentica a casa. + + +27,28 Aprile `Brugole e merletti `_ - `Next Emerson `_ - Firenze +################################################################################################################################ + + Due giorni di workshop e mani in pasta, due giorni per riempire l’Emerson di pittura, scultura, installazioni, arti volanti e idee illustrate. L’arte dentro, fuori, attraverso le nostre vite e i nostri muri. Brugole e Merletti incontra il NEMA, insomma! E quindi…. workshop pratici di elettronica, costruzione e autoriparazione, artigianato, idee geniali e arti sottovalutate. Live painting, installazioni e allestimenti in diretta del nuovo NextEmersonMuseoAutogestito. + +.. image:: images/warmup-brugole.jpg + :height: 200px + :alt: Locandina Brugole e merletti + :name: Locandina Brugole e merletti + + +Maggio +++++++ + +3,4 Maggio `Connessioni caotiche `_, Macao, viale Molise 68 - Milano +############################################################################################################################################# + + `Connessioni caotiche 2019 `_ + + +5 Maggio h 21.30 @ `k100 `_, Via Chiella 4 Campi Bisenzio - Campi Bisenzio (FI) +############################################################################################################### + + Presentazione degli aggiornamenti della `"Guida all'autodifesa digitale" `_, con una delle traduttrici. Nell'ultimo anno sono stati aggiunti i capitoli sui componenti hardware, l'analisi del rischio e le strategie e strumenti da utilizzare, alcuni casi di studio e esempi. A seguire Mini almanacco di primavera a base di `Coccoli al silicio `_. Sugose pillole dal mondo dell'hacking, tra intrighi internazionali, malware, ricche corporations che fanno della tua navigazione in rete la loro ricchezza. Selezioni di anedotti, cose buffe, dimostrazioni live, per capire il dietro le quinte di questi maledetti aggeggi elettronici. + + +11 Maggio h 15 Fedeli alla linea (di comando) @ Csoa COX 18 - Milano +#################################################################### + + Fedeli alla linea (di comando): Introduzione al terminale su sistemi unix. Per info `Unit `_. Benefit Radio OndaRossa + + +11 Maggio h 20 Presentazione "L'inconscio tra reale e virtuale" @ Roma, `Avana `_ - Cento celle aperte, via delle resede 5 +############################################################################################################################################################# + + Dalle 20 cena benefit per radio ondarossa. Dopo cena presentazione del libro "L'inconscio tra reale e virtuale" e dibattito con le dita nella presa: un'occasione per parlare di come la costante mediazione con i social network contribuisce a plasmare la nostra identità... Per info `Ror `_. + +11 Maggio Lancio e presentazione di Stereodon.social @ Bologna, XM24 +#################################################################### + +Bologna Elettrica insieme al collettivo Bida presenterà una nuova istanza mastodon focalizzata sulla musica. Stereodon ha l'obbiettivo sia di incentivare una discussione critica sull’influenza del capitale nella musica, sia di provare a modificare concretamente le modalità di diffusione di essa slegandola dalla logica del profitto. Per info ``_. + +14 Maggio h 19 Plaguemon: an interactive workshop @ Rende(Cosenza), Aula P2 Occupata +#################################################################################### + +Workshop interattivo per svelare i retroscena della genesi di Plaguemon, un'opera d'arte digitale nata dall'hacking del famoso videogioco per Game Boy: Pokemon Rosso. Impareremo a vivisezionare mostri digitali insieme al creatore di Plaguemon: Michele 'Hiki' Falcone. Durante la serata Hiki ci accompagnerà negli oscuri meandri del ROM hacking, districandoci tra i misteri dello Z80 assembly e le meraviglie monocromatiche della pixel art. + + +15 Maggio h 18 Proiezioni di The Internet's Own Boy: The Story of Aaron Swartz @ Firenze, Aula Apollo, Brunelleschi +################################################################################################################### + +Intro e proiezioni a cura di Ifdo hacklab. + + +15 Maggio Presentazione Tails @ Bologna, XM24 +############################################# + +Caratteristiche principali e dimostrazione pratica di Tails. The Amnesico Incognito Live System é un sistema operativo "live" che ha come obiettivo preservare la tua privacy e anonimato. Per info ``_. diff --git a/new-year.md b/new-year.md new file mode 100644 index 0000000..6caba39 --- /dev/null +++ b/new-year.md @@ -0,0 +1,16 @@ +Anno nuovo sito nuovo +========================= + +Come fare un sito per l'anno nuovo, abbastanza simile a quello vecchio? + +copia ed aggiorna le date. Dove? + +* `README.md` +* `content/pages/index.*` ci sono le date/luogo +* `content/pages/info*` c'è sicuramente roba da cambiare +* `pelicanconf.py` + - cambia il SITEURL e anche la DEFAULT_DATE per l'anno nuovo + - cambia SITENAME incrementando l'esadecimale +* `publishconf.py` cambia il SITEURL +* `talks/meta.yaml`: cambia la startdate: deve essere quella del primo giorno da mettere in programma, quindi + potrebbe anche essere il mercoledì o il giovedì diff --git a/pelicanconf.py b/pelicanconf.py new file mode 100644 index 0000000..d7720b9 --- /dev/null +++ b/pelicanconf.py @@ -0,0 +1,74 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- # +from __future__ import unicode_literals + +AUTHOR = "Hackmeeting" +SITENAME = "Hackmeeting 0x16" +CC_LICENSE = "by-nc-sa" +SITEURL = "/hackit19" + +PATH = "content" +PAGE_PATHS = ["pages"] +ARTICLE_PATHS = ["news"] +STATIC_PATHS = ["images", "talks", "extra"] +# DIRECT_TEMPLATES = ('search',) # tipue search + +TIMEZONE = "Europe/Paris" + +DEFAULT_LANG = "it" + +# Feed generation is usually not desired when developing +FEED_ALL_ATOM = None +CATEGORY_FEED_ATOM = None +TRANSLATION_FEED_ATOM = None +AUTHOR_FEED_ATOM = None +AUTHOR_FEED_RSS = None + +# Blogroll +LINKS = None +# Social widget +SOCIAL = None +DEFAULT_PAGINATION = 10 +USE_OPEN_GRAPH = False # COL CAZZO + +# Uncomment following line if you want document-relative URLs when developing +RELATIVE_URLS = True + +DEFAULT_DATE = (2019, 3, 1) +TYPOGRIFY = True + +PAGE_ORDER_BY = "navbar_sort" +PAGE_URL = "{slug}.html" +PAGE_SAVE_AS = "{slug}.html" +PAGE_LANG_URL = "{slug}.{lang}.html" +PAGE_LANG_SAVE_AS = "{slug}.{lang}.html" +INDEX_SAVE_AS = "articles.html" +BANNER = True +BANNER_ALL_PAGES = True +SITELOGO = "logo/logo.png" +# PAGE_BACKGROUND = 'images/background.jpg' +# THEME = 'themes/hackit0x15/' +THEME = "themes/hackit0x16/" +FAVICON = "images/cyberrights.png" +FONT_URL = "theme/css/anaheim.css" + +# Custom css by sticazzi. +# CUSTOM_CSS = 'theme/css/hackit.css' +EXTRA_PATH_METADATA = { + # 'extra/main.css': {'path': 'themes/pelican-bootstrap3/static/css/main.css' }, + "extra/favicon.png": {"path": "images/favicon.png"}, + "images/locandina.jpg": {"path": "images/locandina.jpg"}, +} + +# Pelican bootstrap 3 theme settings +BOOTSTRAP_THEME = "darkly" +HIDE_SITENAME = True +HIDE_SIDEBAR = True +PLUGIN_PATHS = ["plugins"] +PLUGINS = ["langmenu", "talks", "tipue_search"] + +# plugin/talks.py +SCHEDULEURL = "https://hackmeeting.org" + SITEURL + "/schedule.html" +TALKS_GRID_STEP = 30 + +MARKDOWN = {"extension_configs": {"markdown.extensions.toc": {}}} diff --git a/plugins/langmenu.py b/plugins/langmenu.py new file mode 100644 index 0000000..6637719 --- /dev/null +++ b/plugins/langmenu.py @@ -0,0 +1,39 @@ +''' +This plugin attemps to create something similar to menuitems, +but more meaningful with respect to l10n +''' +from __future__ import print_function + +from pelican import signals + + +def add_localmenuitems(generator): + menu = {} # lang: list of pages + for page in generator.context['pages']: + menu.setdefault(page.lang, []) + for tr in page.translations: + menu.setdefault(tr.lang, []) + print('we have langs ' + ','.join(menu.keys())) + for page in sorted(generator.context['pages'], + key=lambda x: int(x.navbar_sort)): + defined_langs = [] + menu[page.lang].append(page) + defined_langs.append(page.lang) + for tr in page.translations: + menu[tr.lang].append(tr) + defined_langs.append(tr.lang) + for lang in menu.keys(): + if lang not in defined_langs: + menu[lang].append(page) + + menuitems = {} + for lang in menu: + menuitems[lang] = [] + for page in menu[lang]: + menuitems[lang].append((page.title, page.url)) + + generator.context['LOCALMENUITEMS'] = menuitems + + +def register(): + signals.page_generator_finalized.connect(add_localmenuitems) diff --git a/plugins/talks/__init__.py b/plugins/talks/__init__.py new file mode 100644 index 0000000..64e7f13 --- /dev/null +++ b/plugins/talks/__init__.py @@ -0,0 +1,3 @@ +from .talks import * + +# flake8: noqa diff --git a/plugins/talks/style.css b/plugins/talks/style.css new file mode 100644 index 0000000..bca9fb5 --- /dev/null +++ b/plugins/talks/style.css @@ -0,0 +1,104 @@ + +.talk-resources { + word-break: break-all; +} + +.talk-grid { + table-layout: auto; + min-width: 100%; + border-collapse: separate; + text-align: center; +} + +.talk-grid > thead th:first-child { + max-width: 5em; +} + +.talk-grid > thead th { + text-align: center; +} + +.talk-grid tr { + height: 1.5em; +} + + +.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; + vertical-align: middle; +} + +td.talk > a { + text-decoration: none; + border: none; +} + +.talk-grid tr { + line-height: 1em; +} + +.talk-title a, +.talk-title a:hover, +.talk-title a:focus { + border-bottom: none; +} + +.talk-description strong { + background: inherit; + color: inherit; +} + +/* tag speciali nei talk {{{ */ +/* generati guardando i tag di glypicon come glyphicon-pushpin e copiandone il campo content */ +td.talk::before { + font-family: 'Glyphicons Halflings'; + float: right; +} +td.tag-presentazione_libro::before { + content: "\e043"; +} +td.tag-percorso_base::before { + content: "\e146"; +} +/* tag speciali nei talk }}} */ + +/* END TALK }}} */ + +/* Pagine speciali */ +.body-info .entry-content > ul { + list-style: none; +} + +/*media query min dal piccolo, max dal grande*/ + +@media all and (max-width: 770px) { + .talk-grid { + font-size: 0.8em; + } + .talk-grid td { + hyphens: auto; + } +} +@media all and (max-width: 450px) { + .talk-grid { + font-size: 0.5em; + } +} + diff --git a/plugins/talks/talks.py b/plugins/talks/talks.py new file mode 100644 index 0000000..d7be198 --- /dev/null +++ b/plugins/talks/talks.py @@ -0,0 +1,577 @@ +# -*- coding: utf-8 -*- +""" +Manage talks scheduling in a semantic way +""" + + +from __future__ import print_function +import os +import io +from functools import wraps +import logging +import re +import datetime +import shutil +from copy import copy +import locale +from contextlib import contextmanager +import inspect + +from babel.dates import format_date, format_datetime, format_time +from markdown import markdown +from docutils import nodes +from docutils.parsers.rst import directives, Directive +import six + +from pelican import signals, generators +import jinja2 + +try: + import ics +except ImportError: + ICS_ENABLED = False +else: + ICS_ENABLED = True +import unidecode +import dateutil + +pelican = None # This will be set during register() + + +def memoize(function): + """decorators to cache""" + memo = {} + + @wraps(function) + def wrapper(*args): + if args in memo: + return memo[args] + else: + rv = function(*args) + memo[args] = rv + return rv + + 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(): + names = [ + name + for name in os.listdir(pelican.settings["TALKS_PATH"]) + if not name.startswith("_") and get_talk_data(name) is not None + ] + names.sort() + return names + + +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_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: + logging.exception("Syntax error reading %s; skipping", fname) + return None + if data is None: + return None + if "startdate" not in data: + logging.error("Missing startdate in global data") + data["startdate"] = datetime.datetime.now() + if "rooms" not in data: + data["rooms"] = {} + if "names" not in data["rooms"]: + data["rooms"]["names"] = {} + if "order" not in data["rooms"]: + data["rooms"]["order"] = [] + return data + + +def _get_time_shift(timestring): + """ Il problema che abbiamo è che vogliamo dire che le 2 di notte del sabato sono in realtà "parte" del + venerdì. Per farlo accettiamo orari che superano le 24, ad esempio 25.30 vuol dire 1.30. + + Questa funzione ritorna una timedelta in base alla stringa passata + """ + timeparts = re.findall(r"\d+", timestring) + if not timeparts or len(timeparts) > 2: + raise ValueError("Malformed time %s" % timestring) + timeparts += [0, 0] # "padding" per essere sicuro ci siano anche [1] e [2] + duration = datetime.timedelta( + hours=int(timeparts[0]), minutes=int(timeparts[1]), seconds=int(timeparts[2]) + ) + if duration.total_seconds() > 3600 * 31 or duration.total_seconds() < 0: + raise ValueError("Sforamento eccessivo: %d" % duration.hours) + return duration + + +@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 Exception: + logging.exception("Syntax error reading %s; skipping", fname) + return None + if data is None: + return None + try: + gridstep = pelican.settings["TALKS_GRID_STEP"] + data.setdefault("nooverlap", []) + if "title" not in data: + logging.warn("Talk <{}> has no `title` field".format(talkname)) + data["title"] = six.text_type(talkname) + else: + data["title"] = six.text_type(data["title"]) + if "text" not in data: + logging.warn("Talk <{}> has no `text` field".format(talkname)) + data["text"] = "" + else: + data["text"] = six.text_type(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)) + else: + if data["room"] in get_global_data()["rooms"]["names"]: + data["room"] = get_global_data()["rooms"]["names"][data["room"]] + 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"] + else: + data["day"] = get_global_data()["startdate"] + datetime.timedelta( + days=data["day"] + ) + try: + shift = _get_time_shift(str(data["time"])) + except ValueError: + logging.error("Talk <%s> has malformed `time`", talkname) + + data["delta"] = shift + data["time"] = datetime.datetime.combine( + data["day"], datetime.time(0, 0, 0) + ) + data["time"] += shift + data["time"] = data["time"].replace(tzinfo=dateutil.tz.gettz("Europe/Rome")) + + 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 Exception: + logging.exception("Error on talk %s", talkname) + raise + + +def overlap(interval_a, interval_b): + """how many minutes do they overlap?""" + return max(0, min(interval_a[1], interval_b[1]) - max(interval_a[0], interval_b[0])) + + +def get_talk_overlaps(name): + data = get_talk_data(name) + overlapping_talks = set() + if "time" not in data: + return overlapping_talks + start = int(data["time"].strftime("%s")) + end = start + data["duration"] * 60 + for other in get_talk_names(): + if other == name: + continue + if "time" not in get_talk_data(other): + continue + other_start = int(get_talk_data(other)["time"].strftime("%s")) + other_end = other_start + get_talk_data(other)["duration"] * 60 + + minutes = overlap((start, end), (other_start, other_end)) + if minutes > 0: + overlapping_talks.add(other) + return overlapping_talks + + +@memoize +def check_overlaps(): + for t in get_talk_names(): + over = get_talk_overlaps(t) + noover = get_talk_data(t)["nooverlap"] + contacts = set(get_talk_data(t)["contacts"]) + for overlapping in over: + if overlapping in noover or set( + get_talk_data(overlapping)["contacts"] + ).intersection(contacts): + logging.warning("Talk %s overlaps with %s" % (t, overlapping)) + + +@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(text)) + env.filters["dateformat"] = format_date + env.filters["datetimeformat"] = format_datetime + env.filters["timeformat"] = format_time + return env + + +@memoize +def get_css(): + plugindir = os.path.dirname( + os.path.abspath(inspect.getfile(inspect.currentframe())) + ) + with open(os.path.join(plugindir, "style.css")) as buf: + return buf.read() + + +class TalkListDirective(Directive): + 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("talk.html") + + def _sort_date(name): + """ + This function is a helper to sort talks by start date + + When no date is available, put at the beginning + """ + d = get_talk_data(name) + room = d.get("room", "") + time = d.get( + "time", + datetime.datetime(1, 1, 1).replace( + tzinfo=dateutil.tz.gettz("Europe/Rome") + ), + ) + title = d.get("title", "") + return (time, room, title) + + return [ + nodes.raw("", tmpl.render(lang=lang, **get_talk_data(n)), format="html") + for n in sorted(get_talk_names(), key=_sort_date) + ] + + +class TalkDirective(Directive): + required_arguments = 1 + 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("talk.html") + data = get_talk_data(self.arguments[0]) + if data is None: + return [] + return [nodes.raw("", tmpl.render(lang=lang, **data), format="html")] + + +def _delta_to_position(delta): + gridstep = pelican.settings["TALKS_GRID_STEP"] + sec = delta.total_seconds() // gridstep * gridstep + return int("%2d%02d" % (sec // 3600, (sec % 3600) // 60)) + + +def _delta_inc_position(delta, i): + gridstep = pelican.settings["TALKS_GRID_STEP"] + delta = delta + datetime.timedelta(minutes=i * gridstep) + sec = delta.total_seconds() // gridstep * gridstep + return int("%2d%02d" % (sec // 3600, (sec % 3600) // 60)) + + +def _approx_timestr(timestr): + gridstep = pelican.settings["TALKS_GRID_STEP"] + t = str(timestr) + minutes = int(t[-2:]) + hours = t[:-2] + minutes = minutes // gridstep * gridstep + return int("%s%02d" % (hours, minutes)) + + +class TalkGridDirective(Directive): + """A complete grid""" + + final_argument_whitespace = True + has_content = True + option_spec = {"lang": directives.unchanged} + + def run(self): + try: + 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 = set() + for t in talks: + if type(t["room"]) is list: + for r in t["room"]: + rooms.add(r) + else: + rooms.add(t["room"]) + + def _room_sort_key(r): + order = get_global_data()["rooms"]["order"] + base = None + for k, v in get_global_data()["rooms"]["names"].items(): + if v == r: + base = k + break + else: + if type(r) is str: + return ord(r[0]) + # int? + return r + return order.index(base) + + rooms = list(sorted(rooms, key=_room_sort_key)) + + # 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("*")] + mintimedelta = min({talk["delta"] for talk in talks}) + maxtimedelta = max( + { + talk["delta"] + datetime.timedelta(minutes=talk["duration"]) + for talk in talks + } + ) + mintime = _delta_to_position(mintimedelta) + maxtime = _delta_to_position(maxtimedelta) + times = {} + + t = mintimedelta + while t <= maxtimedelta: + times[_delta_to_position(t)] = [None] * len(rooms) + t += datetime.timedelta(minutes=gridstep) + for talk in sorted(talks, key=lambda x: x["delta"]): + talktime = _delta_to_position(talk["delta"]) + position = _approx_timestr(talktime) + assert position in times, "pos=%d,time=%d" % (position, talktime) + if talk["room"] == "*": + roomnums = range(len(rooms)) + elif type(talk["room"]) is list: + roomnums = [rooms.index(r) for r in talk["room"]] + 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): + p = _approx_timestr(_delta_inc_position(talk["delta"], i)) + times[p][roomnum] = copy(talk) + times[p][roomnum]["skip"] = True + + render = tmpl.render( + times=times, + rooms=rooms, + mintime=mintime, + maxtime=maxtime, + timestep=gridstep, + lang=lang, + ) + output.append( + nodes.raw( + "", + u"

%s

" % format_date(day, format="full", locale=lang), + format="html", + ) + ) + output.append(nodes.raw("", render, format="html")) + except: + logging.exception("Error on talk grid") + import traceback + + traceback.print_exc() + return [] + css = get_css() + if css: + output.insert( + 0, + nodes.raw("", '' % css, format="html"), + ) + return output + + +def talks_to_ics(): + c = ics.Calendar() + c.creator = u"pelican" + for t in all_talks(): + e = talk_to_ics(t) + if e is not None: + c.events.add(e) + return six.text_type(c) + + +def talk_to_ics(talk): + def _decode(s): + if six.PY2: + return unidecode.unidecode(s) + else: + return s + + if "time" not in talk or "duration" not in talk: + return None + e = ics.Event( + uid="%s@%d.hackmeeting.org" % (talk["id"], get_global_data()["startdate"].year), + name=_decode(talk["title"]), + begin=talk["time"], + duration=datetime.timedelta(minutes=talk["duration"]), + transparent=True, + ) + # ics.py has some problems with unicode + # unidecode replaces letters with their most similar ASCII counterparts + # (ie: accents get stripped) + if "text" in talk: + e.description = _decode(talk["text"]) + e.url = pelican.settings["SCHEDULEURL"] + "#talk-" + talk["id"] + if "room" in talk: + e.location = talk["room"] + + return e + + +class TalksGenerator(generators.Generator): + def __init__(self, *args, **kwargs): + self.talks = [] + super(TalksGenerator, self).__init__(*args, **kwargs) + + def generate_context(self): + self.talks = {n: get_talk_data(n) for n in get_talk_names()} + self._update_context(("talks",)) + check_overlaps() + + def generate_output(self, writer=None): + for talkname in sorted(self.talks): + if "resources" in self.talks[talkname]: + 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) + if ICS_ENABLED: + with io.open( + os.path.join(self.output_path, pelican.settings.get("TALKS_ICS")), + "w", + encoding="utf8", + ) as buf: + buf.write(talks_to_ics()) + else: + logging.warning( + "module `ics` not found. " "ICS calendar will not be generated" + ) + + +def add_talks_option_defaults(pelican): + 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: + print("ERROR: yaml not found. Talks plugins will be disabled") + + def register(): + pass + + +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) diff --git a/plugins/tipue_search/README.md b/plugins/tipue_search/README.md new file mode 100644 index 0000000..1a2d615 --- /dev/null +++ b/plugins/tipue_search/README.md @@ -0,0 +1,67 @@ +Tipue Search +============ + +A Pelican plugin to serialize generated HTML to JSON that can be used by jQuery plugin - Tipue Search. + +Copyright (c) Talha Mansoor + +Author | Talha Mansoor +----------------|----- +Author Email | talha131@gmail.com +Author Homepage | http://onCrashReboot.com +Github Account | https://github.com/talha131 + +Why do you need it? +=================== + +Static sites do not offer search feature out of the box. [Tipue Search](http://www.tipue.com/search/) +is a jQuery plugin that search the static site without using any third party service, like DuckDuckGo or Google. + +Tipue Search offers 4 search modes. Its [JSON search mode](http://www.tipue.com/search/docs/json/) is the best search mode +especially for large sites. + +Tipue's JSON search mode requires the textual content of site in JSON format. + +Requirements +============ + +Tipue Search requires BeautifulSoup. + +```bash +pip install beautifulsoup4 +``` + +How Tipue Search works +========================= + +Tipue Search serializes the generated HTML into JSON. Format of JSON is as follows + +```python +{ + "pages": [ + { + "text": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer nec odio. Praesent libero. Sed cursus ante dapibus diam. Sed nisi. Nulla quis sem at nibh elementum imperdiet. Duis sagittis ipsum. Praesent mauris. Fusce nec tellus sed augue semper porta. Mauris massa. Vestibulum lacinia arcu eget nulla. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Curabitur sodales ligula in libero.", + "tags": "Example Category", + "url" : "http://oncrashreboot.com/plugin-example.html", + "title": "Everything you want to know about Lorem Ipsum" + }, + { + "text": "Sed dignissim lacinia nunc. Curabitur tortor. Pellentesque nibh. Aenean quam. In scelerisque sem at dolor. Maecenas mattis. Sed convallis tristique sem. Proin ut ligula vel nunc egestas porttitor. Morbi lectus risus, iaculis vel, suscipit quis, luctus non, massa. Fusce ac turpis quis ligula lacinia aliquet. Mauris ipsum. Nulla metus metus, ullamcorper vel, tincidunt sed, euismod in, nibh.", + "tags": "Example Category", + "url" : "http://oncrashreboot.com/plugin-example-2.html", + "title": "Review of the book Lorem Ipsum" + } + ] +} +``` + +JSON is written to file `tipuesearch_content.json` which is created in the root of `output` directory. + +How to use +========== + +To utilize JSON Search mode, your theme needs to have Tipue Search properly configured in it. [Official documentation](http://www.tipue.com/search/docs/#json) has the required details. + +Pelican [Elegant Theme](https://github.com/talha131/pelican-elegant) and [Plumage +theme](https://github.com/kdeldycke/plumage) have Tipue Search configured. You can view their +code to understand the configuration. diff --git a/plugins/tipue_search/__init__.py b/plugins/tipue_search/__init__.py new file mode 100644 index 0000000..ebd6c06 --- /dev/null +++ b/plugins/tipue_search/__init__.py @@ -0,0 +1 @@ +from .tipue_search import * diff --git a/plugins/tipue_search/tipue_search.py b/plugins/tipue_search/tipue_search.py new file mode 100644 index 0000000..ff5a4f5 --- /dev/null +++ b/plugins/tipue_search/tipue_search.py @@ -0,0 +1,107 @@ +# -*- coding: utf-8 -*- +""" +Tipue Search +============ + +A Pelican plugin to serialize generated HTML to JSON +that can be used by jQuery plugin - Tipue Search. + +Copyright (c) Talha Mansoor +""" + +from __future__ import unicode_literals + +import os.path +import json +from bs4 import BeautifulSoup +from codecs import open +try: + from urlparse import urljoin +except ImportError: + from urllib.parse import urljoin + +from pelican import signals + + +class Tipue_Search_JSON_Generator(object): + + def __init__(self, context, settings, path, theme, output_path, *null): + + self.output_path = output_path + self.context = context + self.siteurl = settings.get('SITEURL') + self.relative_urls = settings.get('RELATIVE_URLS') + self.tpages = settings.get('TEMPLATE_PAGES') + self.output_path = output_path + self.json_nodes = [] + + def create_json_node(self, page): + if getattr(page, 'status', 'published') != 'published': + return + + soup_title = BeautifulSoup(page.title.replace(' ', ' '), 'html.parser') + page_title = soup_title.get_text(' ', strip=True).replace('“', '"').replace('”', '"').replace('’', "'").replace('^', '^') + + soup_text = BeautifulSoup(page.content, 'html.parser') + page_text = soup_text.get_text(' ', strip=True).replace('“', '"').replace('”', '"').replace('’', "'").replace('¶', ' ').replace('^', '^') + page_text = ' '.join(page_text.split()) + + page_category = page.category.name if getattr(page, 'category', 'None') != 'None' else '' + + page_url = '.' + if page.url: + page_url = page.url if self.relative_urls else (self.siteurl + '/' + page.url) + + node = {'title': page_title, + 'text': page_text, + 'tags': page_category, + 'loc': page_url} + + self.json_nodes.append(node) + + def create_tpage_node(self, srclink): + with open(os.path.join(self.output_path, self.tpages[srclink]), + encoding='utf-8') as srcfile: + soup = BeautifulSoup(srcfile, 'html.parser') + page_title = soup.title.string if soup.title is not None else '' + page_text = soup.get_text() + + # Should set default category? + page_category = '' + page_url = urljoin(self.siteurl, self.tpages[srclink]) + + node = {'title': page_title, + 'text': page_text, + 'tags': page_category, + 'url': page_url} + + self.json_nodes.append(node) + + def generate_output(self, writer): + # bisognerebbe cambiare usando questo coso + # for p in self.context['PAGES']: + # print 'U', p.url + path = os.path.join(self.output_path, 'tipuesearch_content.json') + + pages = self.context['pages'] + self.context['articles'] + + for article in self.context['articles']: + pages += article.translations + + for srclink in self.tpages: + self.create_tpage_node(srclink) + + for page in pages: + self.create_json_node(page) + root_node = {'pages': self.json_nodes} + + with open(path, 'w', encoding='utf-8') as fd: + json.dump(root_node, fd, separators=(',', ':'), ensure_ascii=False) + + +def get_generators(generators): + return Tipue_Search_JSON_Generator + + +def register(): + signals.get_generators.connect(get_generators) diff --git a/publishconf.py b/publishconf.py new file mode 100644 index 0000000..4ff5c6b --- /dev/null +++ b/publishconf.py @@ -0,0 +1,13 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- # +from __future__ import unicode_literals + +# This file is only used if you use `make publish` or +# explicitly specify it as your config file. + +import os +import sys +sys.path.append(os.curdir) +from pelicanconf import * + +SITEURL = 'https://hackmeeting.org/hackit19/' diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..2cb4b8e --- /dev/null +++ b/requirements.txt @@ -0,0 +1,19 @@ +arrow==0.4.2 +Babel==2.4.0 +beautifulsoup4==4.6.0 +blinker==1.4 +docutils==0.14 +feedgenerator==1.9 +ics==0.4 +Jinja2==2.10 +Markdown==2.6.1 +MarkupSafe==1.1.1 +pelican==4.0.0 +Pygments==2.3.1 +python-dateutil==2.8.0 +pytz==2018.9 +PyYAML==3.12 +six==1.12.0 +smartypants==1.8.6 +typogrify==2.0.7 +Unidecode==1.0.23 diff --git a/talks/README.md b/talks/README.md new file mode 100644 index 0000000..554d78e --- /dev/null +++ b/talks/README.md @@ -0,0 +1,4 @@ +Per aggiungere un talk, copia la directory `_talk_example` in una nuova +directory che contenga **solo caratteri alfabetici**, quindi +cambia il file ``meta.yaml`` a tuo piacimento. +Usa UTF-8 o morirai. diff --git a/talks/_talk_example/meta.yaml b/talks/_talk_example/meta.yaml new file mode 100644 index 0000000..68616f0 --- /dev/null +++ b/talks/_talk_example/meta.yaml @@ -0,0 +1,44 @@ +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, 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 + - 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 https://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 + +# se chiedono di non sovrapporli con qualche talk, segnalo qui +# cosi' poi il coso ci avvisa quando sbagliamo +nooverlap: [] + +# Devi usare UTF-8, non t'inventare scuse, sappiamo ndo abiti +# vim: set fileencoding=utf-8 ts=4 sw=4 et: diff --git a/talks/_templates/grid.html b/talks/_templates/grid.html new file mode 100644 index 0000000..109eb40 --- /dev/null +++ b/talks/_templates/grid.html @@ -0,0 +1,36 @@ + + + + + {% for room in rooms %} + + {% endfor %} + + + + {% for time in times|sort %} + + + {% for talk in times[time] %} + {% if not loop.first and talk.room == '*' %} + {# skip: covered by colspan #} + {% elif talk == None %} + + {% elif not talk.skip %} + + {% endif %} + {% endfor %} + + {% endfor %} + +
{{room}}
{{time}} + {{talk.title}} +
+{# vim: set ft=jinja: #} diff --git a/talks/_templates/talk.html b/talks/_templates/talk.html new file mode 100644 index 0000000..9685beb --- /dev/null +++ b/talks/_templates/talk.html @@ -0,0 +1,59 @@ +{% macro durata_human(d) %} +{%- if d >= 60 -%}{{d//60}}h{%- endif -%} +{%- if d % 60 != 0 -%}{{d%60}}m {%- endif -%} +{% endmacro %} +
+

{{title.strip()}}

+
+

+ {% if time is defined and day is defined %} + {# Vedi http://babel.pocoo.org/en/latest/dates.html #} + + {{day|dateformat(format='EEEE', locale=lang)}} + - + {{time.time()|timeformat(format='short', locale=lang)}} + {% if duration %} ({{durata_human(duration)}}) {% endif %} + + {% else %} + L'orario non è ancora stato fissato + {% if duration %}

Durata: {{durata_human(duration)}}

{% endif %} + {% endif %} {# date-time #} + {% if room is defined %} + Stanza {{ room }} + {% endif %} +

+ + {% if needs: %} +
+Materiale necessario: +{{needs|join(", ")}} +
+{% endif %} +
+
{{text | markdown}} + {% if contacts: %} +

A cura di {{contacts|join(', ')}}

+ {% endif %} +
+ {% if links or resources or mail: %} +
+

Link utili:

+
    + {% if links is defined: %} + {% for link in links %} +
  • {{link|urlize}}
  • + {% endfor %} + {% endif %} + {% if resources is defined: %} +
  • Materiali
  • + {% endif %} + {% if mail is defined: %} +
  • Mail
  • + {% endif %} +
+
+ {% endif %} +
+ +{# vim: set ft=jinja: #} diff --git a/talks/meta.yaml b/talks/meta.yaml new file mode 100644 index 0000000..c178ef8 --- /dev/null +++ b/talks/meta.yaml @@ -0,0 +1,9 @@ +startdate: 2020-07-09 +rooms: + names: + A: Cinema + B: Spazio Uno + C: Boh + D: Sala corsi + E: Chi lo sa + order: [A,B,C,D,E]