Caught in the Net (Posts about PesceWanda)francescomecca.euenContents © 2019 <a href="mailto:francescomecca.eu">Francesco Mecca</a> Sat, 18 May 2019 21:11:19 GMTNikola (getnikola.com)http://blogs.law.harvard.edu/tech/rssBreve storia della cultura hackerfrancescomecca.eu/blog/2019/05/18/cultura-hacker/Francesco Mecca<div><p>Questo e` un post tratto dalla lezione che ho svolto ogni anno per gli ultimi tre anni al Politecnico di Torino per il corso <a href="http://rivoluzionedigitale.polito.it/">Rivoluzione Digitale</a>.</p> <h2>Scopo della lezione</h2> <p>Capire la cultura hacker significa entrare in contatto con quelle che sono le motivazioni e la storia di persone che hanno contribuito in maniera fondamentale alla nascita di internet e hanno presentato al mondo un modo di pensare che ancora oggi e` alle radici dell'informatica come scienza e come strumento di cultura di massa.</p> <h2>Jargon File</h2> <p>Cosi` come oggi utilizziamo i social network per portare avanti discussioni (si spera) con una cerchia di interessati online, allo stesso modo a partire dal 1970 alcune persone si ritrovavano su usenet e mailing list: in maniera non organizzata alcuni membri di queste comunita` iniziarono a raccogliere gli slang piu` utilizzati e le storie legate a questi modi di esprimersi.</p> <p>Con l'espandersi della comunita` il Jargon File funge da guida introduttiva ai canoni e alle etichette in uso: per questo <a href="https://en.wikipedia.org/wiki/Eric_S._Raymond">Eric S. Raymond</a> compiette un lavoro di riorganizzazione sistematica che termina con l'ultima edizione del 2003.</p> <p><a href="http://catdb.org/esr">ESR</a> scrive:</p> <blockquote> <p>Among hackers, though, slang has a subtler aspect, paralleled perhaps in the slang of jazz musicians and some kinds of fine artists but hard to detect in most technical or scientific cultures; parts of it are code for shared states of consciousness. There is a whole range of altered states and problem-solving mental stances basic to high-level hacking which don't fit into conventional linguistic reality any better than a Coltrane solo or one of Maurits Escher's surreal trompe l'oeil compositions (Escher is a favorite of hackers), and hacker slang encodes these subtleties in many unobvious ways. </p> </blockquote> <p>Esempi di slang e trasformazioni del lessico:</p> <ul> <li> <p>Data General -&gt; Dirty Genitals</p> </li> <li> <p>IBM 360 -&gt; IBM Three-Sickly</p> </li> <li> <p>Government Property -- Do Not Duplicate (on keys) -&gt; Government Duplicity -- Do Not Propagate</p> </li> <li> <p>for historical reasons -&gt; for hysterical raisins</p> </li> <li> <p>Margaret Jacks Hall (the CS building at Stanford) -&gt; Marginal Hacks Hall</p> </li> <li> <p>Microsoft -&gt; Microsloth</p> </li> <li> <p>Internet Explorer -&gt; Internet Exploiter</p> </li> <li> <p>Microsoft Outlook -&gt; Microsoft Outhouse</p> </li> <li> <p>Linux -&gt; Linsux</p> </li> <li> <p>FreeBSD -&gt; FreeLSD</p> </li> <li> <p>C# -&gt; C Flat</p> </li> <li> <p>Piu` generale: "Ready for foodP?" (in Lisp la P sta per predicato con risultato booleano <code>true</code> <code>false</code>)</p> </li> </ul> <h3>Definizione della parola hacker</h3> <p><img alt="Definition of hacker" src="francescomecca.eu/wp-content/uploads/2019/def_hacker.jpg"></p> <p>Come si evince dall'immagine il significato della parola hacker nel gergo comune si e` via via svuotato per poi andare a sostituire quello del termine cracker.</p> <p>Un cracker e` una persona che fa un uso non previsto e malevolo di un sistema informatico. Nel Jargon File viene specificato che ci si aspetta che un hacker abbia compiuto del cracking e ne conosca le tecniche ma sia velocemente maturato verso forme creative piu` nobili.</p> <p>Del termine hacker abbiamo piu` definizioni, alcune indifferenti all'uso di sistemi informatici:</p> <ol> <li> <p>Una persona che prova delizia dall'esplorare i dettagli di un sistema programmabile fino a raggiungerne i limiti possibili</p> </li> <li> <p>una persona a cui piace programmare e lo fa per la maggior parte del tempo in maniera pratica</p> </li> <li> <p>una persona capace di programmare celermente e con precisione</p> </li> <li> <p>un esperto di un particolare argomento e su cui lavora spesso, ad esempio Unix Hacker</p> </li> <li> <p>una persona che trova piacere nella sfida intellettuale di superare un limite in maniera creativa</p> </li> </ol> <p>A me piace raccogliere queste definizioni parafrasando Larry Wall: essere un hacker non e` l'obbiettivo: gli obbiettivi variano in base alle persone ed al contesto. Un hacker e` qualcuno che raggiunge il proprio obbiettivo superando le norme culturali e sociali.</p> <h2>Chiave di lettura</h2> <p>Nella storia della cultura hacker si possono distinguere tre tipi di persone:</p> <ul> <li> <p>i poeti e matematici, come Donald Knuth</p> </li> <li> <p>gli esperti di determinate tipologie di hardware o software, come Bruce Schneier</p> </li> <li> <p>i makers, coloro che costruiscono cio` che gli altri usano, come Bill Gates. Chiaramente moltissime delle personalita` di cui parleremo rientrano in piu` di una di queste categoria. In tutti i casi e` importante capire che sono tre approcci complementari.</p> </li> </ul> <h2>Storia</h2> <h3>In the beginning there were the real programmers</h3> <p>La storia della cultura hacker inizia da persone che chiaramente non si nominavano tali all'epoca.</p> <p>Persone che solitamente avevano un background in elettronica o fisica e si occupavano di batch computing, ovvero l'uso del computer in maniera non interattiva, solitamente per scopi scientifici.</p> <p>Fra i piu` famosi, Seymour Cray, si dice abbia una volta scritto un sistema operativo in linguaggio macchina tramite gli switch frontali di un computer da lui progettato che funziono` al primo avvio.</p> <p>Queste persone rientrano nella definizione di hacker che prende in considerazione l'esperienza in un campo, quella del calcolo scientifico, soppiantato poi dalla computazione interattiva.</p> <p>Qua parte il primo filone della storia della cultura hacker, quello universitario.</p> <h4>I primi hacker, la tribu` connessa</h4> <p>Rimanendo all'interno delle universita` gli albori della cultura hacker sono estremamente legati alle macchine che queste istituzioni mettevano a disposizione degli studenti.</p> <p>Le macchine preferite dagli hacker era la linea dei PDP, prodotti dalla Digital Equipment Corporation (DEC).</p> <p>Nei laboratori del MIT, nonostante usassero le stesse macchine che tutte le altre universita` (PDP-10 in particolare), alcuni studenti decisero di sviluppare un proprio sistema operativo, l'Incompatible Time Sharing System, con l'obbiettivo di poter utilizzare un linguaggio di piu` alto livello (LISP, lingua franca della cultura hacker) rispetto al sistema operativo distribuito da DEC nei PDP.</p> <p>Questo e` un atteggiamento esemplificativo della cultura hacker di quel tempo: esplorare un sistema nei dettagli per poi superarne i limiti in maniera creativa.</p> <p>Nel frattempo stava nascendo Arpanet, per altro inizialmente costituita da computer della linea dei PDP, che forniva l'accesso a centinaia di universita` e laboratori di ricerca.</p> <p>Questo permise a moltissimi hacker di rompere le loro cerchie ristrette e condividere i propri lavori con una massa sempre piu` ampia di entusiasti.</p> <p>Arpanet permise la propagazione di tantissimi artefatti, fra questi le prime versioni del Jargon File.</p> <h4>La nascita di Unix</h4> <p>Nel frattempo, nello stesso anno in cui nacque Arpanet, nei Bell Labs veniva sviluppato Unix.</p> <p>All'epoca ogni computer forniva strumenti ed interfacce incompatibili fra loro. L'idea di Ken Thmpson e` stata quella di fornire un'interfaccia unificata e le stesse funzionalita` su macchine diverse.</p> <p>Per raggiungere questo scopo, ovvero un sistema operativo universale chiamato Unix, Dennis Ritchie invento` un nuovo linguaggio che potesse facilitare lo sviluppo per Thompson: C. Anche C ha lo stesso obbiettivo di Unix, la portabilita` fra macchine diverse.</p> <p>C e` sopravvissuto fino ad oggi e la filosofia di Unix, Keep It Simple and Stupid, e` rimasta viva nei suoi discendenti.</p> <h3>Freak + Phone = Phreaking</h3> <p>Il reverse engineering e` una pratica comune a molti hacker che consiste nel deconstruire un oggetto (o successivamente del software) in modo da rivelarne il funzionamento.</p> <p>I phreaker si occupano del reverse engineering della rete telefonica, che nel 1970 usavano dei toni audio per emettere comandi in rete.</p> <p>Il piu` celebre fra questi e` John Draper che scopri` che il fischietto giocattolo fornito all'interno dei cereali Cap'n Crunch emetteva un tono a 2600 Hz, coincidentalmente lo stesso utilizzato dalle linee telefoniche per instradare le chiamate.</p> <p>Gli stessi Jobs e Wozniak iniziarono la loro carriera producendo delle blue box che permettevano di fare chiamate gratis o internazionali a prezzi ridotti.</p> <h3>Digressione: Anarco Illuminismo</h3> <p>La cultura hacker, perlomeno fino a questa parte del racconto, raccoglie in se` ideali di due ideologie differenti.</p> <p>Da una parte l'ideale illuminista della diffusione della conoscenza era l'obbiettivo ultimo di moltissimi hacker, forse secondo solo al piacere intellettuale.</p> <p>Le informazioni venivano sempre condivise su Arpanet e successivamente su Internet e concesse senza alcuna restrizione.</p> <p>Dall'altra parte questo obbiettivo veniva spesso raggiunto con pratiche anarchiche, come la distruzione o manipolazione di oggetti al fine di comprenderli (cracking e phreaking) o l'apertura forzata di laboratori per concedere a masse di entusiasti l'accesso a strumentazione costosa o rara.</p> <p>Nonostante cio` fino ad allora non era stato compiuto nessun tentativo di formalizzare gli ideali di questa cultura.</p> <h3>L'era del software proprietario</h3> <p>Negli anni 80 la cultura hacker era sostanzialmente spaccata in tre gruppi diversi, dagli ideali simili ma organizzati attorno a tecnologie estremamente differenti:</p> <ul> <li> <p>il gruppo di Arpanet/PDP, principalmente nato agli AI Labs del MIT, molti di loro iniziavano ad essere assunti nelle prime startup</p> </li> <li> <p>il gruppo di Unix e C, che metteva le basi di internet e dei protocolli ancora oggi utilizzati</p> </li> <li> <p>una serie meno organizzata di gruppetti piu` anarchici che si dedicavano al reverse engineering e allo studio di tecnologie e linguaggi alternativi a quelle viste precedentemente</p> </li> </ul> <p>Nel frattempo iniziavano a diventare piu` comuni le prime macchine prodotte da Apple e Microsoft. In realta` questi ebbero un'importanza marginale nella cultura hacker in quanto erano sistemi sottoposti a continue evoluzioni imposte dall'alto e privi di strumenti per l'analisi e lo sviluppo.</p> <p>La cultura hacker era alla fine del suo slancio iniziale e era ormai un dato di fatto che colossi come Microsoft e IBM avrebbero dominato l'industria del software e di internet.</p> <p>Nel 1983 DEC annuncio` la fine della linea dei PDP, definendo cosi` la morte del primo gruppo. Nel 1984 Bell fu scorporata e AT&amp;T acquisi i diritti di molti dei suoi prodotti, tra cui Unix.</p> <p>L'hackerdom vide la possibilita` che uno dei suoi piu` cari lavori venisse rubato da una grande compagnia e facesse la fine di tutto il software proprietario di quell'epoca.</p> <p>Per questo in quel decennio si combatte una dura battaglia fra le prime versioni di BSD Unix, nato dalle ceneri di Unix, e la versione proprietaria di AT&amp;T. BSD Unix si diffuse in maniera capillare, in particolare nelle infrastrutture di rete data la qualita` delle sue implementazioni, ma AT&amp;T vinse molte battaglie legali appropriandosi di vari standard.</p> <h3>Verso una prima ideologia hacker</h3> <p>In quegli anni era ormai ovvio che senza acquisire maggiore consapevolezza molto del potere in mano a queste comunita` sarebbe sparito lentamente.</p> <p>Inoltre iniziavano ad avere risalto i primi fenomeni di cracking e l'intervento dei governi si fece piu` severo (benche` non sia paragonabile alla copertura che tali eventi hanno oggi).</p> <p>La soluzione proposta risiede nella congiunzione di tre idee:</p> <ul> <li> <p>decentralizzazione</p> </li> <li> <p>crittografia</p> </li> <li> <p>software libero</p> </li> </ul> <h4>Decentralizzazione</h4> <p>La decentralizzazione e` il processo in cui un'attivita` viene distribuita in maniera equa fra tutti i partecipanti, e si oppone all'organizzazione gerarchica e autoritaria.</p> <p>L'assunto alla base e` il principio Manzoniano per cui una persona che detiene il potere si ritrovera` prima o poi costretta a compiere decisioni non etiche. La soluzione e` quella di ridurre il potere distribuendolo ai margini dell'infrastruttura.</p> <p>Un'esempio di decentralizzazione e` l'architettura di internet, almeno nelle sue prime forme, dove non c'e` un'autorita` centrale ma ogni nodo ha eguale importanza. Un'esempio piu` attuale e` la rete Bittorrent.</p> <h4>Crittografia</h4> <p>Nel 1992 nasce una mailing list (ad oggi ancora attiva) chiamata Cypherpunk, dal gioco fra i termini cypher e cyberpunk.</p> <p>Tutte le discussioni di questo gruppo vertono sull'uso della crittografia e sul concetto di privacy e anonimato.</p> <p>L'idea alla base (Cypherpunk's Manifesto) e` che la privacy e` necessaria per poter costituire una societa` aperta nell'era dell'informazione; non c'e` alcuna garanzia che i governi o le corporazioni si facciano garanti di questi ideali quindi la privacy va difesa dai singoli.</p> <p>Il gruppo ha portato alla creazione di software crittografico (fra cui TOR), protocolli per la comunicazione riservata e atti di disobbedienza civile.</p> <h4>Software Libero</h4> <p>Richard Stallman aveva modificato il software di una stampante xerox in modo da mandare un messaggio di posta elettronica agli utenti in attesa di stampa ogni qualvolta la stampante si bloccasse per qualche errore.</p> <p>Quando nel 1980 la stampante fu sostituita Xerox si rifiuto` di concedere a Stallman le facolta` necessarie per poter modificare il firmware della nuova stampante. Chiaramente questo inconveniente fu risolto con delle pratiche di reverse engineering ma questo inconveniente convinse Stallman a mettere le basi per l'ideologia del software libero.</p> <p>Nel 1984 Stallman si licenzio` dal MIT per lavorare a tempo pieno al suo progetto, GNU, una versione di Unix modificata che concedesse agli utenti finali le liberta` da lui desiderate tramite l'utilizzo esclusivo di software libero. Nel rispetto della cultura hacker GNU conquisto` subito l'interesse della comunita`.</p> <p>Il progetto GNU e` una collezione di software di qualsiasi tipo che rispetti le liberta` garantite dalla licensa <a href="https://en.wikipedia.org/wiki/GNU_General_Public_License">GPL</a>; fra questi i piu` famosi sono <a href="https://gcc.gnu.org/">GCC</a>, <a href="https://www.gnu.org/software/emacs/">emacs</a>, <a href="https://www.gnu.org/software/octave/">Octave</a>, <a href="https://www.r-project.org/">R</a> ma anche software di attivismo, gestione delle finanze e tant'altro.</p> <p>Il progetto sarebbe dovuto essere completato da un kernel, HURD, che ad oggi e` ancora molto instabile.</p> <p>Nel frattempo, in Europa, Linus Torvalds, in sintonia con quell'atteggiamento di opposizione e rivolta tipico della cultura hacker , inizio` a sviluppare il kernel Linux seguendo un approccio inusuale che fu fortemente criticato dal suo professore, Andrew S. Tanenbaum. <a href="https://en.wikipedia.org/wiki/Tanenbaum-Torvalds_debate">Questo dibattito fu il soggetto di un'enorme flame war su usenet</a>.</p> <p>Linus per lavorare al suo progetto stava utilizzato moltissimi degli strumenti della suite di GNU e fu contattato da Stallman per collaborare ed adottare Linux come kernel, pezzo mancante del sistema operativo GNU.</p> <p>Questo ha portato a quello che oggi viene chiamato da molti Linux che in realta` andrebbe chiamato <a href="https://www.gnu.org/gnu/why-gnu-linux.html">GNU/Linux</a>.</p> <h2>Lo stato della cultura hacker oggi</h2> <p>Abbiamo visto fino ad ora che ci sono stati tre filoni della cultura hacker, quello universitario, quello piu` amatoriale e pratico, rivolto all'exploitation e infine quello piu` ideologico.</p> <p>E` molto difficile cercare di interpretare la direzione di questa sottocultura (se ancora si puo` definire tale), specialmente per chi come me non ne ha le competenze benche` si ritrovi spesso a parlare e conoscere con persone che hanno fatto proprio l'atteggiamento della cultura hacker.</p> <p>Nonostante cio` ogni anno ho provato a trasmettere agli studenti delle mie considerazioni sulla situazione presente, da differenti punti di vista.</p> <h3>Disobbedienza civile elettronica</h3> <p>Non penso di dovermici soffermare ma due figure molto importanti della cultura hacker sono Edward Snowden e Julian Assange (Mendax).</p> <p>Queste due persone e tutto cio` ha permesso loro di raggiungere questa posizione rappresentano <a href="http://www.mantellini.it/2012/08/17/perche-assange-e-internet/">cio` che il potere teme di internet</a>.</p> <p>Inoltre, riguardo i fatti recenti:</p> <blockquote> <p>A un certo punto su Julian Assange è diventato impossibile dire qualsiasi cosa. È semplicemente accaduto, non è colpa di nessuno. Da un certo momento in avanti, dire qualcosa di sensato su Assange, qualcosa di non ovvio e cialtrone, di vagamente correlato ad un’idea minima di verità sulla vita e le gesta dell’hacker australiano dai capelli argentati è diventato non solo complicato ma perfino inutile. Troppe cose nel frattempo si erano sommate, troppe bugie, troppe interpretazioni di segno opposto si erano saldamente ancorate alla biografia di un uomo indubitabilmente unico, i cui tratti biografici e di comportamento hanno disegnato fin dall’inizio, a complicare ulteriormente le cose, i tratti della stranezza, se non quelli del disturbo psichico. <a href="https://www.ilpost.it/massimomantellini/2019/04/11/cosa-potremo-dire-di-assange/">Mantellini sul Post</a>.</p> </blockquote> <p>I primi due anni ho provato a concentrarmi su queste domande:</p> <ul> <li> <p>la cultura hacker ha ancora una componente anarchica?</p> </li> <li> <p>Sono ancora possibili atti come quelli degli attivisti del cypherpunk?</p> </li> <li> <p>In che ottica possiamo inquadrare le azioni di Assange e Snowden?</p> </li> </ul> <p>Quando si parla di Assange e Snowden si parla di politica e media, ovvero potere e controllo.</p> <p>Prima dell'arrivo di internet e dell'informatica piu` in generale il cuore degli organismi di potere e controllo era facile da individuare.</p> <p>Cosi` penso al Medioevo, dove questo era la chiesa, che faceva dell'arte barocca il suo strumento di controllo.</p> <p>Oppure al fascismo, dove come spiega Mosse in "Il fascismo. Verso una teoria generale", l'architettura stessa aveva carattere intimidatorio.</p> <p>Gli "antagonisti" del potere non dovevano fare altro che riunirsi in qualche maniera organizzata e far fronte a queste strutture, fisicamente affrontare la loro solidita`. E` il motivo per cui nella cultura pop V per Vendetta termina con l'esplosione del parlamento e Fight Club con il crollo delle banche.</p> <p>Il regime collassa una volta che l'opposizione ne ha distrutto la fortezza in cui risiede.</p> <p>Questo ad oggi non e` piu` vero, gli edifici benche` siano ancora visibili si sono svuotati e il potere si muove come desidera attraverso un flusso ininterrompibile di bits.</p> <p>Cosi` quando nel <a href="https://en.wikipedia.org/wiki/2016_Turkish_coup_d%27%C3%A9tat_attempt">2016</a> i militari turchi riuscirono a far fuoco sul parlamento e prendere il controllo di radio e televisioni, Erdogan, fisicamente non presente, con una semplice chiamata Facetime riusci` a recuperare il controllo della situazione prendendo contatto e mobilitando la resistenza.</p> <p>Possiamo a questo punto provare ad affermare che il potere risieda nelle persone e non piu` nelle strutture fisiche.</p> <p>Eppure quando nell'aprile del 2018 il congresso statunitense ha affrontato Zuckerberg con un documento di piu` di 1000 pagine, il potere di Facebook non era presente neanche sotto la forma fisica di un ragazzo di trent'anni.</p> <p>Questo ce lo dimostra il fatto che a domande come:</p> <ul> <li> <p>"Did Facebook deceive its users?"</p> </li> <li> <p>"if I delete my account, how long does Facebook keep my data?"</p> </li> <li> <p>"Does Facebook use cross-device tracking?"</p> </li> <li> <p>"What data is being sold?"</p> </li> <li> <p>"Is facebook censoring specific groups?"</p> </li> <li> <p>"What’s Facebook’s reach beyond its website?"</p> </li> <li> <p>"How much information does Facebook have on non-Facebook users?"</p> </li> </ul> <p>Zuckerberg ha potuto affermare che non conosce la risposta o che puo` chiedere al suo team e rispondere in futuro.</p> <blockquote> <p>Whether you know it or not, if you are a hacker, you are a revolutionary</p> </blockquote> <p>Una volta compreso cio` queste parole di Doctor Crash su <a href="http://phrack.org/issues/6/3.html">phrack</a> appaiono ingenue.</p> <p>Gli hacker combattono per il libero accesso all'informazione senza poi discutere di come queste nuove conoscenze andrebbero applicate.</p> <p>Sempre Doctor Crash scrive:</p> <blockquote> <p>There is one last method of this war against computer abusers. This is a less subtle, less electronic method, but much more direct and gets the message across. I am speaking of what is called Anarchy. Anarchy as we know it does not refer to the true meaning of the word (no ruling body), but to the process of physically destroying buildings and governmental establishments. This is a very drastic, yet vital part of this "techno-revolution." </p> </blockquote> <p>Questo, complice la cultura hacker, oggi non e` piu` possibile.</p> <h3>Opensource e Free Software</h3> <p>Quest'ultimo anno mi son concentrato maggiormente sulla cultura del software libero.</p> <p>Nel 2019 il termine opensource ha soppiantato quello di software libero allo stesso modo di come il termine hacker e` stato corrotto mediaticamente andando a ricoprire significato di cracker.</p> <p>Stallman nel 2007 gia` ci avvertiva che il software opensource manca l'obbiettivo:</p> <blockquote> <p>I due termini descrivono all'incirca la stessa categoria di software. Ma si basano su valori fondamentalmente diversi. </p> <p>L'open source è una metodologia di sviluppo; il software libero è un movimento sociale. Per il movimento per il software libero, il software libero è un imperativo etico, il rispetto essenziale della libertà degli utenti. Al contrario la filosofia dell'open source pensa a come "migliorare" il software soltanto da un punto di vista pratico. Dice che il software non libero è una soluzione non ottimale. Spesso le discussioni sull'“open source” non considerano quel che è giusto o sbagliato, ma solo il successo e la popolarità. </p> </blockquote> <p>Quando ancora GNU/Linux girava sotto forma di dischi o floppy Steve Ballmer diceva che il software libero e` cancro o comunismo.</p> <p>Vent'anni dopo lui stesso afferma di aver sbagliato giudizio e che l'opensource ha divorato il mondo: non solo quasi tutto lo sviluppo avviene utilizzando tool opensource ma banche, data center, agenzie governative, perfino le auto, usano software libero, almeno in parte se non completamente.</p> <p>Basta fare un giro su <a href="https://stackshare.io/stacks">stackshare.io</a> per avere un'idea di quanto i colossi del web siano dipendenti dal software opensource.</p> <p>Inoltre moltissime startup o aziende fondano il loro business sul modello "open-core", ovvero il fornire un'edizione del proprio prodotto come software libero e una versione commerciale solitamente sviluppata a partire dalla precedente.</p> <p>Ne sono un esempio gitlab, redislab e elasticsearch.</p> <p>Nonostante l'opensource abbia avuto un successo incomparabile nelle "core tecnologies", come librerie, tooling e linguaggi di programmazione, ha fallito nel liberare l'utente finale, obbiettivo con il quale era nato.</p> <p>Questo ce lo dimostra il fatto che i servizi forniti dalle SaaS (software as a service) e i grandi servizi di cloud non trasmettono nessuna delle quattro liberta` del software libero fino all'utente finale e hanno catturato il potenziale radicale del software libero per renderlo un mero strumento del tutto insignificante e sconosciuto al destinatario del servizio.</p></div>lecturePesceWandapolitecnicopolitoRivoluzione Digitalefrancescomecca.eu/blog/2019/05/18/cultura-hacker/Sat, 18 May 2019 00:00:00 GMTDconf 2019francescomecca.eu/blog/2019/03/06/Dconf-2019/Francesco Mecca<div><p>Quest'anno molto del mio tempo passato al pc e` stato investito per D e la sua community. I miei sforzi nell'imparare questo linguaggio sono confluiti nella partecipazione al <a href="https://dlang.org/blog/symmetry-autumn-of-code">SAOC</a> con il mio amico e collega <a href="https://fragal.eu">Francesco Galla`</a>.</p> <p>Accompagnero` Francesco all'edizione del 2019 della <a href="https://dconf.org/2019/index.html">DConf</a> che si terra` dall'otto all'undici marzo a Londra.</p> <p>See you there!</p></div>ConferenceDConfdlangPesceWandafrancescomecca.eu/blog/2019/03/06/Dconf-2019/Wed, 06 Mar 2019 00:00:00 GMTAddio Redditfrancescomecca.eu/blog/2018/3/27/addio-reddit/Francesco Mecca<div><blockquote> <p>It is also common ground, however, that the First Amendment does not guarantee the right to communicate one's views at all times and places or in any manner that may be desired.</p> </blockquote> <p>Tempo fa rimasi colpito nel leggere questo <a href="https://www.courtlistener.com/opinion/110532/heffron-v-international-soc-for-krishna-consciousness-inc/">orientamento</a> della corte degli Stati Uniti dal quale ho tratto la precedente citazione.</p> <p>La libertà di espressione è un diritto molto potente che ha storicamente molteplici interpretazioni. Benchè ingenuamente potrebbe essere inteso come la possibilità di manifestare qualsiasi idea, ci sono delle situazioni in cui si deve intendere come il diritto di un individuo minoritario nel poter esprimersi liberamente e senza ritorsioni.</p> <p>Con questa premessa posso inquadrare più facilmente il motivo per cui ritengo che il <a href="https://www.reddit.com/r/announcements/comments/39bpam/removing_harassing_subreddits/">ban del 2015</a> da parte degli amministratori di Reddit nei confronti di /r/FatPeopleHate e altri subreddit di minor dimensioni non sia stata un'azione ipocrita rispetto agli ideali della piattaforma.</p> <p><img alt="reddit policies" src="francescomecca.eu/wp-content/uploads/2018/reddit_freespeech.jpg"></p> <p><a href="http://nymag.com/selectall/2017/07/angela-nagles-kill-all-normies-the-alt-right-and-4chan.html">Angela Nagle</a> ci ricorda che quegli spazi online <a href="https://hackerchick.com/the-unstoppable-power-of-leaderless-organizations/">senza leader</a> roccaforte di ideali minoritari di sinistra, hanno permesso di esprimere non un'idea, ma qualsiasi idea, anche di estrema destra. Diventa quindi inevitabile che una piattaforma delle dimensioni di Reddit, che nello specifico raccoglie una moltitudine di argomenti e discussioni grazie ai quali è stata ritenuta un bastione della eterogeneità, prima o poi debba adottare una linea di moderazione più definita.</p> <p><img alt="1968" src="francescomecca.eu/wp-content/uploads/2018/Situationist.jpg"></p> <p>Il <a href="https://np.reddit.com/r/announcements/comments/863xcj/new_addition_to_sitewide_rules_regarding_the_use/">recente ban</a> invece non riguarda la libertà di espressione, e mi colpisce personalmente, nonostante io non abbia mai visitato alcuno dei subreddit recentementi banditi e le mie uniche transazioni si siano limitate agli utenti di r/MechanicalKeyboards.</p> <p>Sono approdato a Reddit inizialmente a causa del mio hobby per le tastiere meccaniche. Da lì mi sono mosso verso r/italy e altri subreddit di indirizzo informatico. Ho interessi di nicchia e Reddit mi permetteva di riunirmi con persone dall'altra parte del globo che mi fornivano informazioni che non avrei potuto ottenere altrimenti.</p> <p>Ora questo rimane valido solo per le persone i quali interessi sono allineati con quelle comunità che riflettono una buona immagine per Reddit e gli investitori. Benchè i miei subreddit di riferimento non siano stati banditi, riconosco che nel recente ban ci sono degli intenti politici o misteriosamente economici.</p> <p>Con questo post dico addio a Reddit. Da spazio di discussione a spazio di intolleranza e divisione politica, dove delle comunità che non rientrano nei canoni di buona reputazione per delle agenzie pubblicitarie devono essere eliminate.</p> <p>Non voglio che ogni mia parola sia pesata oltre i valori della comunità a cui sottoscrivo, non voglio fare esercizi di autocensura nei post che scrivo.</p> <p>Aderivo a delle regole ben definite e delle quali gli amministratori si assumevano la responsabilità. Con il ban di marzo 2018 il sito che conoscevo ha cambiato faccia ed il post di un <a href="https://np.reddit.com/user/Reddit-Policy">utente anonimo</a> sarà l'ultimo post che downvoterò.</p></div>banfree speechmoderationPesceWandaredditfrancescomecca.eu/blog/2018/3/27/addio-reddit/Tue, 27 Mar 2018 00:00:00 GMTMinidox, a guide for the Europeans and the Scroogesfrancescomecca.eu/blog/2017/10/2/minidoxguide/Francesco Mecca<div><p>This guide is adapted from the <a href="https://github.com/nicinabox/lets-split-guide/blob/master/assembly.md">Let's split guide</a>.</p> <p>It is tailored between the Scrooges like me and all the europeans that couldn't find some TRRS jacks.</p> <h3>Helpful references</h3> <ul> <li><a href="https://imgur.com/a/vImo6#Rfd586V">/u/that-canadian's original build log</a></li> </ul> <h3>Parts</h3> <ul> <li>PCBs - You will need two of them and you should participated in the group buy.</li> <li><strong>2</strong> ATmega32U4 - 5V/16MHz Pro Micros, you can find them easily on ebay or amazon. </li> <li><strong>36</strong> 1N4148 diodes, easy to source, even real world shops has them. </li> <li><s>2 TRRS or TRS jacks</s> our source of all problems, this build log will do without.</li> <li>Plate, from <a href="https://github.com/dotdash32/Cases/tree/master/Minidox">u/dotdash32</a> or <a href="https://github.com/pjones/minidox-case">pjones</a>, 3D printable.</li> <li><strong>36</strong> Switches of your choice</li> <li><strong>36</strong> Keycaps of your choice</li> <li><s> TRRS or TRS cable </s> No jacks, no cable.</li> </ul> <h3>Cost Breakdown</h3> <table> <thead> <tr> <th align="left">Cost</th> <th align="left">Part</th> </tr> </thead> <tbody> <tr> <td align="left">$8</td> <td align="left">PCB</td> </tr> <tr> <td align="left">€ 12-30</td> <td align="left">Pro Micros</td> </tr> <tr> <td align="left">€3-8</td> <td align="left">Diodes</td> </tr> <tr> <td align="left">€14-80</td> <td align="left">Switches</td> </tr> <tr> <td align="left">€14-180</td> <td align="left">Keycaps</td> </tr> </tbody> </table> <p>This is a very cheap build, mine was about 30 € given that I already had the keycaps.</p> <h3>Mount the Diodes</h3> <p>Diodes allow current to flow in one direction only. Mount the diodes with the black (negative, cathode) line facing the thicker line.</p> <p><img alt="" src="francescomecca.eu/wp-content/uploads/2017/minidox1.jpg"></p> <p><strong>Double check your work</strong>. </p> <blockquote> <p><em>Tip:</em> <strong>Lightly</strong> tack each diode in from the top. This will keep them snug against the surface once we flip it over and do the real soldering from the bottom. You only need a tiny amount of solder here and you should still be able to see through the hole.</p> </blockquote> <h3>Connect Jumpers</h3> <blockquote> <p>This part is not really needed, but you may want to do it in case you will mount the TRRS jacks in the future.</p> </blockquote> <p>On the <strong>underside</strong> of the PCB, right below the TRRS jack, you'll see two sets of 3 pads labelled VCC and GND. Jumper them like this:</p> <pre class="code literal-block"><span></span>VCC [x] [ ] VCC [x] [x] GND [ ] [x] GND </pre> <p>Do both PCBs the same.</p> <p><img alt="" src="https://i.imgur.com/AUT3VUd.png"></p> <h3>Mount Header Pins</h3> <p>You should have received header pins with your Pro Micro. Insert the short side into the bottom of PCB and solder them in.</p> <blockquote> <p><em>Tip:</em> To keep them aligned you can slip the Pro Micro over the pins but <strong>do not solder the Pro Micro at this time</strong>.</p> </blockquote> <p>Tack the pins on the end and inspect. If the pins are not quite aligned with the board, heat one side with your iron and press it in. It should make a satisfactory "click".</p> <p>Solder the rest of the pins (it won't take much solder here).</p> <p>The long part of the pins should be protruding from the bottom. We'll trim these later after soldering the Pro Micro, but you can leave them be for now.</p> <h3>Mount the Pro Micro</h3> <p><strong>Pay special attention on this step</strong>. There are several things that need to be done in the right order and orientation.</p> <blockquote> <p><em>Tip:</em> Flash your Pro Micro now before you mount it. You can test it by using a multimeter to measure the voltage between VCC and RAW. It should be around 5V. If it's bad it'll be a lot less headache than desoldering.</p> </blockquote> <h4>Mount the 2 switches under the Pro Micro</h4> <ol> <li>Grab two of your switches.</li> <li>Snap the switches into your plate in the spots that overlay the Pro Micro (on the left side that's column 2, and on the right that's column 5).</li> <li>Line up your PCB with the switches and solder them between the header pins</li> </ol> <h4>Mount the Pro Micro</h4> <p>You'll be working from the bottom of the board for this step.</p> <ul> <li>On the <strong>left PCB</strong> the Pro Micro should be <strong>smooth side up</strong> (facing you)</li> <li>On the <strong>right PCB</strong> the Pro Micro should be <strong>component side up</strong> (facing you)</li> </ul> <p>It gets easier if you notice that on the Pro Micros and the PCBs there is "RAW" printed. The raw pin must go through the hole with the same sign.</p> <p>If you made my same mistake, instead of desoldering without the right equipment you can try to just cut the dividers on the Pro Micro and detach it by breaking the header pins.</p> <p><img alt="" src="francescomecca.eu/wp-content/uploads/2017/promicro2.jpg"></p> <h3>Mount the rest of the switches</h3> <p>Home stretch. Gently snap in the rest of the switches and solder them.</p> <p>This would have been easier with a plate, I needed the help of a friend in order to have them aligned correctly.</p> <h3>Connect the Pro Micro</h3> <p>Given that sourcing the trrs jacks (even TRS if you go without leds) is a little bit difficult in Europe (I got mine from aliexpress), we are gonna connect the two Pro Micros directly.</p> <p>The Pro Micros just need communication between three of their pins.</p> <p>This means that the Minidox works if you connect the correct pins with a simple copper cable.</p> <p>The pins are:</p> <ul> <li>Data pin on the right (pin 6 in figure)</li> <li>VCC pin, left side (21)</li> <li>GND pin, just below the RAW pin (23)</li> </ul> <p><img alt="" src="francescomecca.eu/wp-content/uploads/2017/promicropinout.png"></p> <p><img alt="" src="francescomecca.eu/wp-content/uploads/2017/promicro4.jpg"></p> <p><img alt="" src="francescomecca.eu/wp-content/uploads/2017/promicro5.jpg"></p> <p>In my case I have used some old molex cable because raw copper wires tend to be very weak and break apart in a few days.</p> <h2>Troubleshooting</h2> <h4>Column 2 or column 5 doesn't work (under the controller)</h4> <p>If you're having trouble with a dead column right over your Pro Micro it could be that you've got a short from the switch pins. Try to get under there and bend them down.</p> <h4>One side isn't working</h4> <ul> <li>Double check if the copper wires are in working conditions and if you have connected the right pins.</li> <li>Check that the wires are insulated and that they do not touch the other pins.</li> </ul> <h2>End Result</h2> <p>Beautiful? <a href="https://en.wikipedia.org/wiki/Don%27t-care_term">W</a>.</p> <p><img alt="" src="francescomecca.eu/wp-content/uploads/2017/promicro3.jpg"></p></div>DIYmechanical keyboardMinidoxPesceWandafrancescomecca.eu/blog/2017/10/2/minidoxguide/Mon, 02 Oct 2017 00:00:00 GMTCyber-utopia and vaporwavefrancescomecca.eu/blog/2017/5/9/vaporwave/Francesco Mecca<div><p>Recently I decided to change the <a href="https://github.com/jasonlong/cayman-theme">css</a> of my blog to reflect a vaporwave-ish aestethic. </p> <p>Although I don't listen to a lot of electronic music, 2814 has been my go to music when I am programming and I go through a lot of James Ferraro's works during the day.</p> <p>What is the reason for my recent obsession on vaporwave culture?</p> <h3>A dream that disappeared</h3> <blockquote> <p>The narrative of Western civilization has become a broken record... should we be surprised when a chopped and screwed trip through the cold war period resonates broadly? </p> <p>Vaporwave creates a language to reflect on the inability to break free from the chains of an Orwellian culture. </p> </blockquote> <p>Internet gave me a personal space, a community, heck even a lot of fun masked by a sense of purpose for the free software culture.</p> <p>But from a higher point of view Internet failed us. The Cyberspace has been dead.</p> <p><a href="https://en.wikipedia.org/wiki/John_Perry_Barlow">John Barlow</a> on the <a href="https://www.eff.org/cyberspace-independence">Declaration of the Independence of Cyberspace</a> wrote:</p> <blockquote> <p>Governments of the Industrial World, you weary giants of flesh and steel, I come from Cyberspace, the new home of Mind. On behalf of the future, I ask you of the past to leave us alone. You are not welcome among us. You have no sovereignty where we gather.</p> </blockquote> <p>But at a certain point in time the Cyberspace didn't want to be left alone and with its own feet headed to real world. Cyberspace blended with the Meatspace</p> <p>Every manifestation of the Cyberspace into reality is some sort of virus that eats bites of our existences in the Meatspace and translates that to bytes that are stored in virtual treasure chests. </p> <p>Real life communication is <a href="https://medium.freecodecamp.com/mark-zuckerberg-is-the-most-powerful-person-on-earth-but-is-he-responsible-5fbcaeb29ee1">divoured</a> into digital data by Facebook, Amazon doesn't stop at our doorbells anymore but <a href="https://www.amazon.com/echoshow">creeps</a> into our house, and sleeping is no more a function of how much we are offline but some sort of distorted <a href="https://techcrunch.com/2017/05/09/apple-acquires-sleep-tracking-company-beddit/">self analytics</a>.</p> <p>There is no shame when a <a href="https://www.nytimes.com/2014/06/30/technology/facebook-tinkers-with-users-emotions-in-news-feed-experiment-stirring-outcry.html?_r=0">web giant plays with the emotions of the user of the platforms</a>, or <a href="http://www.theaustralian.com.au/business/media/digital/facebook-targets-insecure-young-people-to-sell-ads/news-story/a89949ad016eee7d7a61c3c30c909fa6">sells them</a>.</p> <p>All of that was done by drying out the so called Hackerspace and transmuting it into "Dataspace", where experiment are conducted on people by means of data and algorithms.</p> <p>Data on which platforms are built and people are chained to.</p> <p><img alt="vaporwave aesthetic" src="francescomecca.eu/wp-content/uploads/2017/oc_starw.png"></p> <h3>Corporate smooth Jazz</h3> <blockquote> <p>Floral Shoppe traces the outlines of the mental prison in which we now live, it gives us hope of one day transcending it. It reminds us what real freedom, the freedom of the heart, tastes like.</p> </blockquote> <p>In the novel <a href="https://en.wikipedia.org/wiki/Neuromancer">Neuromance</a> by cyberpunk father William Gibson the Internet is conceived as some sort of "consensual allucination". In the world where that book was written Internet is just a collective delusion.</p> <p>Vaporwave forces us to recognize our helplessness with the Dataspace and for me it is a remembrace of a cyber-utopia that never got off the ground.</p></div>blogcyberpunkcyberspacemusicPesceWandautopiavaporwavefrancescomecca.eu/blog/2017/5/9/vaporwave/Tue, 09 May 2017 00:00:00 GMTLate Stage Capitalism meets FOSSfrancescomecca.eu/blog/2017/5/7/latestage_handbrake/Francesco Mecca<div><p><img alt="brainwashing" src="francescomecca.eu/wp-content/uploads/2017/hn_handbrake_hack.jpg"></p> <p><a href="http://archive.is/XA3rj">source</a></p></div>applehacker newshandbrakePesceWandapropagandavendor lockinfrancescomecca.eu/blog/2017/5/7/latestage_handbrake/Sun, 07 May 2017 00:00:00 GMTSome shallow thoughts from my tiny virtual spacefrancescomecca.eu/blog/2017/3/20/spazio-digitale-rant-facebook__eng/Francesco Mecca<div><p>I am not the kind of guy who goes to concerts. Ever.</p> <p>I prefer studio recordings because in these, the logical thoughts of the artist emerge as the track comes to life and reaches our ears. I have always been attracted by that, much more than to the sprinkle of emotions that come from venues and theaters.</p> <p>In my case the exceptions are the live performances of Dale Crover (from The Melvins) and Jeff Mangum. Both of which were some kind of unshaped epiphanic experiences for me. </p> <p>Milan, December 2015, The Melvins were at the end of their most recent European tour when Jeff Pinkus drops the bass guitar, tunes the effects pedal and kicks the bass with his bare foot until the right repetition of sounds comes out of the speakers. Slowly, each one of the members leaves the stage, sounds are still coming from the earlier kicks to the speakers up to my ears.</p> <p>Once home, the performance by The Melvins made me recognize the different stages of communication. </p> <p>We can think of three stages. The first one is <strong>trial</strong>, or experimentation, field test. This first phase is as obvious as it is accidental.</p> <p>The second stage is about <strong>excess</strong>. Excess is to acknowledge that what was played today will be different to what will be played tomorrow. A draft becomes a singular work that may not come to an end.</p> <p>The last one is the most important one if we want to understand the dynamics of the Internet: <strong>dissipation</strong>. With the act of dissipation, the work of the artist that reached its own way on a tiny and crucial fraction of time, that is the moment, folds on itself, and it is forever lost by an act of absence, the absence of objective memory.</p> <h3>Internet dynamics</h3> <p>On the internet <strong>hounding</strong> supersedes <em>dissipation</em>.</p> <p>Hounding is the reason why thousands of men from different backgrounds congregate in small Facebook groups and share photos of their friends, wives and relevant others.</p> <p>On the original Italian <a href="http://francescomecca.eu/pescewanda/2017/03/07/spazio-digitale-rant-facebook/">blog post</a> I reported some Italian references on this phenomenon that don’t have much cultural significance for the English readers. Therefore, I want to explain the phenomenon in other words. </p> <p>The discussion about these Facebook groups in Italy consist of an online phenomenon regarding group of males playing what they call the game of "What would you do" with sexually or less explicit photos of friends and wives.</p> <p>The game is as far as ever from an online <a href="https://en.wikipedia.org/wiki/Role-playing_game">rpg</a> or creative. It degrades every time in vulgar and extremist comments about the body of the girls depicted.</p> <p>I do believe that one of the many reasons to explain the inception of these online groups is the impossibility to overcome the absence of dissipation in online communication.</p> <p>Machines do not remember but they never make us forget, they cross our space online with a continuous stream of photos and other people's moments. Algorithms do not follow our placid flow of continuous time online and they snap it in collages of instants.</p> <h3>Recollection</h3> <p>In my first online experience, the interactions I had did not have the quality of recollection. I divided my time between irc and mailing lists. I felt the obligation to archive every tiny succession of words that gave some light to me.</p> <p>(I still do).</p> <p>Then web caches arrived, the <a href="francescomecca.eu/blog/2017/3/20/spazio-digitale-rant-facebook__eng/archive.org">Wayback Machine</a>, Reddit, social networks. Nowdata can hardly ever disappear.</p> <p>It seems to me that it is just a worthy form of tenacity, not remembrance in any form.</p> <p>For the joy of archivists and the ones with a wistful gaze. And still unpleasant for someone.</p> <p>(This translation is for Madeline, thank you for still taking the time to read my blog)</p></div>communityFacebookfeudalesimofeudalismPesceWandaRivoluzione Digitalefrancescomecca.eu/blog/2017/3/20/spazio-digitale-rant-facebook__eng/Mon, 20 Mar 2017 00:00:00 GMTBreve riflessione dal mio piccolo mondo virtualefrancescomecca.eu/blog/2017/3/7/spazio-digitale-rant-facebook/Francesco Mecca<div><p>Non sono una persona che va ai concerti. </p> <p>La registrazione in studio esplicita i processi logici che l'artista segue per arrivare al processo di consegna e questo mi ha sempre affascinato, in maniera assai maggiore della carica emotiva sprigionata da un concerto di notte.</p> <p>Ma ci sono due artisti, Dale Crover dei Melvins e Jeff Mangum le cui performance live sono state per me, come spettatore, in qualche modo epifaniche.</p> <p>Milano, dicembre del 2015, i Melvins stanno concludendo il loro più recente tour in Europa quando Jeff Pinkus lascia cadere il basso sul pavimento, regola gli effetti sulla pedaliera e lo prende a calci finché non produce la giusta ripetizione di suoni. Lentamente ciascun musicista si allontana dal palco, il basso insistente, ancora a terra.</p> <p>Quell'esecuzione mi fece riflettere sui processi di produzione che dominano la nostra comunicazione. Possiamo immaginarci delle fasi. La prima é quella di <strong>sperimentazione</strong> che é tanto più ovvia quanto immediata e involontaria.</p> <p>La seconda é quella del <strong>superamento</strong>. Superamento é la consapevolezza che il brano composto oggi verrà suonato diversamente domani, é la ragion d'essere delle bozze, anche quando infinite.</p> <p>La terza e quella più importante per comprendere le dinamiche di rete é la <strong>dissipazione</strong>. Attraverso la dissipazione l'opera, che fissata nel momento aveva acquisito una propria dimensione di senso, é costretta a ripiegarsi su se stessa, vana si perde a causa dell'assenza di memoria.</p> <h3>Le dinamiche della Rete</h3> <p>In rete l' <strong>accanimento</strong> si sostituisce alla <em>dissipazione</em>.</p> <p>L' accanimento é il motivo per cui qualche migliaio di uomini di qualsiasi fattura sociale si riuniscono in <a href="http://archive.is/g6wDr#selection-989.483-989.484">gruppi</a> e condividono foto delle loro mogli, fidanzate e qualche amica. Non c'é nessuno scandalo nella foto in sé, sono scatti quotidiani spesso "rubati" dagli stessi profili delle donne riprese.</p> <p>Ne ha parlato <a href="http://espresso.repubblica.it/inchieste/2017/01/17/news/stupro-su-facebook-ecco-cosa-si-dicono-gli-uomini-che-umiliano-le-donne-1.293546">Repubblica</a>, se ne é parlato su <a href="https://www.reddit.com/r/italy/comments/5nqtgt/una_ragazza_su_facebook_ha_denunciato_lesistenza/">reddit</a>, perfino <a href="http://i.imgur.com/Of41aQ0.jpg">Mentana</a> nella sua ridicola posizione da cavaliere bianco di Facebook ha urlato contro questo fenomeno.</p> <p>Fenomeno che dal mio punto di vista nasce da una difficoltà di alcuni abitanti della rete ad affrontare l'assenza di dissipazione nella comunicazione online.</p> <p>Le macchine non ricordano eppure non smettono di ricordarci, anzi invadono il nostro spazio in rete con un continuo susseguirsi di foto e momenti di vita delle altre persone.</p> <p>Gli algoritmi non seguono il pacato moto del nostro tempo online e anzi lo spezzano, lo frammentano in attimi che hanno il ritmo di un giro della rotella del mouse, lo scorrere di un pollice.</p> <h3>Memoria</h3> <p>Nei miei primi anni le mie fugaci interazioni virtuali non avevano la qualità della memoria.</p> <p>Bulimico degli ascii, passavo da lunghe e sostenute conversazioni su irc al lurking di qualche mailing list, saltuariamente 4chan. Mi sentivo (e mi sento tutt'ora) obbligato ad archiviare qualsiasi riga che suscitasse un minimo di interesse o potesse avere qualche valore futuro.</p> <p>Poi sono arrivate le cache, <a href="francescomecca.eu/blog/2017/3/7/spazio-digitale-rant-facebook/archive.org">Wayback Machine</a>, Reddit, e sembra che i contenuti non scompaiano più.</p> <p>Eppure mi ci é voluto un po' per capire che questa non é memoria, solo una forma nobile di accanimento.</p> <p>Piace ai nostalgici, agli archivisti. </p> <p>Spaventa a chi di Internet non vuole farsene una ragione.</p></div>communityFacebookfeudalesimoPesceWandaRivoluzione Digitalefrancescomecca.eu/blog/2017/3/7/spazio-digitale-rant-facebook/Tue, 07 Mar 2017 00:00:00 GMTCapire il Machine Learning (parte 3)francescomecca.eu/blog/2016/11/15/machine-learning-parte3/Francesco Mecca<div><h3>Riconoscimento delle immagini</h3> <p>Il machine learning viene utilizzato anche per il riconoscimento delle immagini. La tipologia di rete neurale utilizzata per questa applicazione è chiamata rete neural a convoluzione ( <strong>convolutional neural networks</strong>), abbreviata CNN.</p> <p>Innanzitutto consideriamo che ogni immagine può essere codificata come una matrice di valori</p> <p><img alt="pixel" src="francescomecca.eu/wp-content/uploads/2016/8.jpg"></p> <p>Vediamo ora quali sono le operazioni compiute da una <strong>CNN</strong> per riconoscere delle immagini.</p> <h5>Convoluzione</h5> <p>Durante la fase di apprendimento, la rete neurale analizza moltissime immagini (categorizzate) utilizzando dei "filtri", ovvero delle funzioni che mescolate all'input originale permettono di evidenziare dei pattern nell'immagine. Questi pattern corrispondono alle caratteristiche proprie di un oggetto (quali possono essere ad esempio per un uccello il becco, le piume, le ali) e nel caso queste sono presenti, possiamo riconoscere l'immagine.</p> <p>In questo esempio l'immagine di Wally é mescolata (l'operazione si chiama <strong>convoluzione</strong>) con un filtro "a cerchio" che risponde molto bene a caratteristiche come quella di possedere degli occhi.</p> <p><img alt="waldoblue" src="francescomecca.eu/wp-content/uploads/2016/bluefilter.png"></p> <p>La <strong>convoluzione</strong> é un'operazione che ha la proprietà di essere indipendente dalla posizione. Non importa la posizione degli occhi, quando applichiamo la <strong>convoluzione</strong> su un'immagine con un filtro "a cerchio" notiamo che gli occhi sono presenti.</p> <h5>Subsampling</h5> <p>Ogni segnale contiene del "rumore", ovvero degli elementi che la allontanano dal comportamento ideale. </p> <p><img alt="ideal" src="francescomecca.eu/wp-content/uploads/2016/ideal.jpg"></p> <p><img alt="real" src="francescomecca.eu/wp-content/uploads/2016/real.jpg"></p> <p>Attraverso il subsampling possiamo ridurre il rumore e rendere il nostro algoritmo meno suscettibile a queste piccole variazioni; benché l'immagine abbia una risoluzione minore, i pattern rimangono.</p> <p><img alt="waldosub" src="francescomecca.eu/wp-content/uploads/2016/sub.png"></p> <h5>Connessione completa</h5> <p>Alla fine dell'analisi tutte le caratteristiche estrapolate vengono considerate nell'insieme e in questo modo possiamo capire a quale categoria appartiene l'immagine.</p> <p>Questo procedimento a livello algoritmo si esplicita con una connessione completa fra tutti i nodi della rete neurale che possono poi restituire l'output (probabilità che l'immagine appartenga ad una determinata categoria).</p> <h5>Fase di rinforzo</h5> <p>Durante il training é presente un'ultima fase (o strato), chiamato più propriamente <strong>loss layer</strong>. Questo strato provvede a dare un <strong>feedback</strong> alla rete neurale analizzando l'output in relazione ai dati di partenza (ovvero le immagini già categorizzate).</p></div>AIalgoritmi geneticiGenetic algorithmNeural networksPesceWandaprogrammingreti neuralifrancescomecca.eu/blog/2016/11/15/machine-learning-parte3/Tue, 15 Nov 2016 00:00:00 GMTCapire il Machine Learning (parte 2)francescomecca.eu/blog/2016/11/11/machine-learning-parte2/Francesco Mecca<div><p>Nel precedente <a href="francescomecca.eu/pescewanda/2016/11/10/machine-learning-intro/">post</a> abbiamo preso in considerazione una rete neurale molto basica. Proviamo ora ad approfondire il concetto aggiungendo una proprietà fondamentale, la memoria.</p> <h3>Memoria e Stati</h3> <p>La rete neurale che abbiamo modellato non ha alcun tipo di memoria. con gli stessi dati di input, l'output è (quasi certamente) lo stesso. Possiamo ampliare il nostro modello introducendo il concetto di <em>stato</em>.</p> <p>Poniamo il problema della vendita delle auto in questo modo: immaginiamo di avere un algoritmo di machine learning che valuti le auto e faccia delle offerte di vendita che conseguentemente vengono valutate da delle persone e accettate oppure rifiutate. Ogni volta che una proposta viene accettata la teniamo in memoria e nell'aggiustare i pesi per la seguente offerta, teniamo in considerazione la validità dei pesi usati in precedenza. In altre parloe, in ogni operazione di valutazione dell'auto salviamo lo stato dell'offerta precedente (rifiutata o accettata) e la consideriamo quando vogliamo proporre l'offerta successiva. Abbiamo in questo modo una <em>recurrent neural network</em> (RNN) dove ogni stato precedente viene utilizzato per modificare l'output dell'algoritmo.</p> <h5>Generazione di testo attraverso le RNN</h5> <p>Immaginiamo di voler creare un algoritmo che utilizzando una RNN possa generare del testo o prevedere quale sarà il prossimo carattere inserito (come nel caso del T9).</p> <p>Inizialmente dobbiamo permettere alla RNN di analizzare almeno qualche sample del nostro testo. La RNN analizza carattere dopo carattere e costruisce un grande grafo dove collega ogni carattere al suo successivo. Inizialmente l'output della nostra RNN non ha alcun valore: in questo esempio, abbiamo l'output di una RNN allenata attraverso Guerra e Pace:</p> <pre class="code literal-block"><span></span>tyntd-iafhatawiaoihrdemot lytdws e ,tfti, astai f ogoh eoase rrranbyne 'nhthnee e plia tklrgd t o idoe ns,smtt h ne etie h,hregtrs nigtike,aoaenns lngty </pre> <p>L'output prodotto dalla RNN, benchè non abbia nessun valore per un umano, viene analizzato dalla RNN per arricchire il grafo costituito inizialmente dai caratteri (e le loro relazioni) di Guerra e Pace. Questo procedimento continua all'infinito. Ogni volta che la RNN produce dell'output lo salva e lo riutilizza come input in maniera ricorsiva per generare nuovo output.</p> <p>Dopo 300 iterazioni abbiamo un output di questo tipo:</p> <pre class="code literal-block"><span></span>"Tmont thithey" fomesscerliund Keushey. Thom here sheulke, anmerenith ol sivh I lalterthend Bleipile shuwy fil on aseterlome coaniogennc Phe lism thond hon at. MeiDimorotion in ther thize." </pre> <p>Dopo quasi mille:</p> <pre class="code literal-block"><span></span>Aftair fall unsuch that the hall for Prince Velzonski's that me of her hearly, and behs to so arwage fiving were to it beloge, pavu say falling misfort how, and Gogition is so overelical and ofter. </pre> <p>Duemila:</p> <pre class="code literal-block"><span></span>"Why do what that day," replied Natasha, and wishing to himself the fact the princess, Princess Mary was easier, fed in had oftened him. Pierre aking his soul came to the packs and drove up his father-in-law women. </pre> <p>Possiamo notare come l'output migliori visibilmente.</p> <p>Nel prossimo post tratterò una variante di rete neurale utilizzata per classificare e riconoscere immagini.</p></div>AIalgoritmi geneticiGenetic algorithmNeural networksPesceWandaprogrammingreti neuralifrancescomecca.eu/blog/2016/11/11/machine-learning-parte2/Fri, 11 Nov 2016 00:00:00 GMT