From 728a589774ba2d0653e898967eb91e94c2d18a6a Mon Sep 17 00:00:00 2001 From: Francesco Mecca Date: Tue, 28 Apr 2020 17:40:39 +0200 Subject: [PATCH] blog cultura hacker --- output/2020/index.html | 40 ++ output/archive.html | 4 + output/archiveall.html | 6 + output/assets/css/all-nocdn.css | 2 +- output/assets/css/all.css | 2 +- output/assets/css/theme.css | 2 +- output/blog/2019/03/06/Dconf-2019/index.html | 1 + .../blog/2019/05/18/cultura-hacker/index.html | 219 ++++--- .../blog/2019/05/18/cultura-hacker/index.md | 208 ++++--- output/categories/cat_pescewanda.xml | 358 +++++++++++- output/categories/cat_pescewanda/index.html | 3 + output/categories/index.html | 3 + output/categories/lezione.xml | 334 +++++++++++ output/categories/lezione/index.html | 52 ++ output/categories/pescewanda.xml | 538 +++++++++++------- output/categories/pescewanda/index.html | 3 + output/categories/politecnico.xml | 242 +++++--- output/categories/politecnico/index.html | 4 +- output/categories/polito.xml | 242 +++++--- output/categories/polito/index.html | 4 +- output/categories/rivoluzione-digitale.xml | 334 ++++++++++- .../rivoluzione-digitale/index.html | 3 + output/index-19.html | 150 ++++- output/index.html | 494 +++++++++++----- output/rss.xml | 358 +++++++++++- output/sitemap.xml | 59 +- posts/2019/05/18/cultura_hacker.md | 208 ++++--- wp-content/uploads/2019/draper.jpg | Bin 0 -> 45776 bytes wp-content/uploads/2019/pdp11.jpg | Bin 0 -> 126217 bytes wp-content/uploads/2019/stl.jpg | Bin 0 -> 72059 bytes 30 files changed, 3031 insertions(+), 842 deletions(-) create mode 100644 output/2020/index.html create mode 100644 output/categories/lezione.xml create mode 100644 output/categories/lezione/index.html create mode 100644 wp-content/uploads/2019/draper.jpg create mode 100644 wp-content/uploads/2019/pdp11.jpg create mode 100644 wp-content/uploads/2019/stl.jpg diff --git a/output/2020/index.html b/output/2020/index.html new file mode 100644 index 0000000..e9f6e4e --- /dev/null +++ b/output/2020/index.html @@ -0,0 +1,40 @@ + + + + + +Posts for year 2020 | Caught in the Net + + + + + + + + + +
+ +
+
+ + diff --git a/output/archive.html b/output/archive.html index a7ee9f5..bbedca5 100644 --- a/output/archive.html +++ b/output/archive.html @@ -30,6 +30,10 @@

Archive

  • +2020 + (1) +
  • +
  • 2019 (1)
  • diff --git a/output/archiveall.html b/output/archiveall.html index c6c9363..2623a9a 100644 --- a/output/archiveall.html +++ b/output/archiveall.html @@ -29,6 +29,12 @@ Curriculum

Archive

    +
  • 2020 (1): +
  • +
    +
  • 2019 (1):

  • diff --git a/output/assets/css/all-nocdn.css b/output/assets/css/all-nocdn.css index 92e2a60..4b5b783 100644 --- a/output/assets/css/all-nocdn.css +++ b/output/assets/css/all-nocdn.css @@ -613,7 +613,7 @@ table.codetable { width: 100%;} td.linenos {text-align: right; width: 4em;} @charset "UTF-8"; /* - Copyright © 2014-2019 Daniel Aleksandersen and others. + Copyright © 2014-2020 Daniel Aleksandersen and others. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated diff --git a/output/assets/css/all.css b/output/assets/css/all.css index e21c5c9..7113491 100644 --- a/output/assets/css/all.css +++ b/output/assets/css/all.css @@ -613,7 +613,7 @@ table.codetable { width: 100%;} td.linenos {text-align: right; width: 4em;} @charset "UTF-8"; /* - Copyright © 2014-2019 Daniel Aleksandersen and others. + Copyright © 2014-2020 Daniel Aleksandersen and others. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated diff --git a/output/assets/css/theme.css b/output/assets/css/theme.css index 647bef1..10088b0 100644 --- a/output/assets/css/theme.css +++ b/output/assets/css/theme.css @@ -1,7 +1,7 @@ @charset "UTF-8"; /* - Copyright © 2014-2019 Daniel Aleksandersen and others. + Copyright © 2014-2020 Daniel Aleksandersen and others. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated diff --git a/output/blog/2019/03/06/Dconf-2019/index.html b/output/blog/2019/03/06/Dconf-2019/index.html index fb5cb6e..bab19e4 100644 --- a/output/blog/2019/03/06/Dconf-2019/index.html +++ b/output/blog/2019/03/06/Dconf-2019/index.html @@ -13,6 +13,7 @@ + diff --git a/output/blog/2019/05/18/cultura-hacker/index.html b/output/blog/2019/05/18/cultura-hacker/index.html index f7d1df7..323a122 100644 --- a/output/blog/2019/05/18/cultura-hacker/index.html +++ b/output/blog/2019/05/18/cultura-hacker/index.html @@ -12,15 +12,14 @@ - + - + - + @@ -49,19 +48,20 @@ Capire la cultura hacker significa entrare in">

    Breve storia della cultura hacker

    - +
    -

    Questo e` un post tratto dalla lezione che ho svolto negli ultimi tre anni al Politecnico di Torino per il corso Rivoluzione Digitale.

    +

    Per tre anni ho svolto una lezione sulla cultura hacker che precedentemente era tenuta da Simone Basso al Politecnico di Torino per il corso Rivoluzione Digitale. +Quest'anno, data la situazione con il corona virus e dato che non voglio essere registrato (cosa inevitabile qualora organizzassi una videolezione), ho deciso di scrivere questo blogpost dove riassumo quello che solitamente espongo.

    Scopo della lezione

    -

    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.

    +

    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 è alle radici dell'informatica come strumento di cultura di massa.

    Jargon File

    -

    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 ritrovarono 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.

    -

    Con l'espandersi della comunita` il Jargon File funge da guida introduttiva ai canoni e alle etichette in uso: per questo Eric S. Raymond compiette un lavoro di riorganizzazione sistematica che termino` con l'ultima edizione del 2003.

    +

    Così 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 ritrovarono su usenet e mailing list: in maniera non organizzata alcuni membri di queste comunità iniziarono a raccogliere gli slang più utilizzati e le storie legate a questi modi di esprimersi.

    +

    Con l'espandersi della comunità il Jargon File funge da guida introduttiva ai canoni e alle etichette in uso: per questo Eric S. Raymond compiette un lavoro di riorganizzazione sistematica che terminò con l'ultima edizione del 2003.

    ESR scrive:

    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.

    @@ -102,15 +102,12 @@ Capire la cultura hacker significa entrare in">

    C# -> C Flat

  • -

    Piu` generale: "Ready for foodP?" (in Lisp la P sta per predicato con risultato booleano true false)

    +

    Più generale: "Ready for foodP?" (in Lisp la P sta per predicato con risultato booleano true|false)

Definizione della parola hacker

Definition of hacker

-

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.

-

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 ma debba velocemente maturare verso forme creative piu` nobili.

-

Del termine hacker abbiamo piu` definizioni, alcune indifferenti all'uso di sistemi informatici:

+

Del termine hacker abbiamo più definizioni, alcune indifferenti all'uso di sistemi informatici:

  1. Una persona che prova delizia dall'esplorare i dettagli di un sistema programmabile fino a raggiungerne i limiti possibili

    @@ -128,7 +125,11 @@ Nel Jargon File viene specificato che ci si aspetta che un hacker abbia compiuto

    una persona che trova piacere nella sfida intellettuale di superare un limite in maniera creativa

-

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.

+

A me piace raccogliere queste definizioni parafrasando Larry Wall: essere un hacker non è l'obbiettivo: gli obbiettivi variano in base alle persone ed al contesto. Un hacker è qualcuno che raggiunge il proprio obbiettivo superando le norme culturali e sociali.

+

Nell'immagine appaiono due definizioni, la prima che abbiamo già analizzato, è la definizione contenuta nel Jargon File e in fondo appare quella dell'Oxford Dictionary. +Si evince che il significato della parola hacker nel gergo comune si è via via svuotato per poi andare a sostituire quello del termine cracker.

+

Un cracker è 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 ma debba velocemente maturare verso forme creative più nobili.

Chiave di lettura

Nella storia della cultura hacker si possono distinguere tre tipi di persone:

    @@ -139,42 +140,46 @@ Nel Jargon File viene specificato che ci si aspetta che un hacker abbia compiuto

    gli esperti di determinate tipologie di hardware o software, come Bruce Schneier

  • -

    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.

    +

    i makers, coloro che costruiscono ciò che gli altri usano, come Bill Gates. +Chiaramente moltissime delle personalità di cui parleremo rientrano in più di una di queste categoria. In tutti i casi è importante capire che sono tre approcci complementari.

Storia

In the beginning there were the real programmers

La storia della cultura hacker inizia da persone che all'epoca chiaramente non si nominavano tali.

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.

-

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.

+

Fra i più 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 funzionò al primo avvio.

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.

Da qui parte il primo filone della storia della cultura hacker, quello universitario.

-

I primi hacker, la tribu` connessa

-

Rimanendo all'interno delle universita` gli albori della cultura hacker sono estremamente legati alle macchine che queste istituzioni mettevano a disposizione degli studenti.

-

Le macchine preferite dagli hacker era la linea dei PDP, prodotti dalla Digital Equipment Corporation (DEC).

-

Nei laboratori del MIT, nonostante utilizzassero le stesse macchine che in 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.

-

Questo e` un atteggiamento esemplificativo della cultura hacker di quel tempo: esplorare un sistema nei dettagli per poi superarne i limiti in maniera creativa.

-

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.

-

Questo permise a moltissimi hacker di superare le loro cerchie ristrette e condividere i propri lavori con una massa sempre piu` ampia di entusiasti.

+

I primi hacker, la tribù connessa

+

Rimanendo all'interno delle università gli albori della cultura hacker sono estremamente legati alle macchine che queste istituzioni mettevano a disposizione degli studenti.

+

Le macchine preferite dagli hacker appartenevano alla linea dei PDP, prodotti dalla Digital Equipment Corporation (DEC). +Lo stesso PDP-11, come evidenziato da (questo racconto)[https://web.archive.org/web/20080718223330/cm.bell-labs.com/cm/cs/who/dmr/chist.html], è stato molto influente nello sviluppo del linguaggio C.

+

pdp-11

+

Nei laboratori del MIT, nonostante utilizzassero le stesse macchine che in altre università (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 più alto livello (LISP, lingua franca della cultura hacker) rispetto al sistema operativo distribuito da DEC nei PDP.

+

Questo è un atteggiamento esemplificativo della cultura hacker di quel tempo: esplorare un sistema nei dettagli per poi superarne i limiti in maniera creativa.

+

Nel frattempo stava nascendo Arpanet, per altro inizialmente costituita da computer della linea dei PDP, che forniva l'accesso a centinaia di università e laboratori di ricerca.

+

Questo permise a moltissimi hacker di superare le loro cerchie ristrette e condividere i propri lavori con una massa sempre più ampia di entusiasti.

Arpanet permise la propagazione di tantissimi artefatti, fra questi le prime versioni del Jargon File.

La nascita di Unix

Nel frattempo, nello stesso anno in cui nacque Arpanet, nei Bell Labs veniva sviluppato Unix.

-

All'epoca ogni computer forniva strumenti ed interfacce incompatibili fra loro. L'idea di Ken Thompson e` stata quella di fornire un'interfaccia unificata e le stesse funzionalita` su macchine diverse.

-

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.

-

C e` sopravvissuto fino ad oggi e la filosofia di Unix, Keep It Simple and Stupid, e` rimasta valida nei suoi discendenti.

+

All'epoca ogni computer forniva strumenti ed interfacce incompatibili fra loro. L'idea di Ken Thompson è stata quella di fornire un'interfaccia unificata e le stesse funzionalità su macchine diverse.

+

Per raggiungere questo scopo, ovvero un sistema operativo universale chiamato Unix, Dennis Ritchie inventò un nuovo linguaggio che potesse facilitare lo sviluppo per Thompson: C. +Anche C ha lo stesso obbiettivo di Unix, la portabilità fra macchine diverse.

+

C è sopravvissuto fino ad oggi e la filosofia di Unix, Keep It Simple and Stupid, è rimasta valida nei suoi discendenti.

Freak + Phone = Phreaking

-

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.

+

Il reverse engineering è una pratica comune a molti hacker che consiste nel deconstruire un oggetto (o successivamente del software) in modo da rivelarne il funzionamento.

I phreaker si occupano del reverse engineering della rete telefonica, usando nel 1970 dei toni audio per emettere comandi in rete.

-

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.

-

Gli stessi Jobs e Wozniak iniziarono la loro carriera producendo delle blue box che permettevano di fare chiamate gratis o internazionali a prezzi ridotti.

+

Il più celebre fra questi è John Draper che scoprì 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.

+

John Draper e il fischietto blue

+

Gli stessi Jobs e Wozniak iniziarono la loro carriera producendo delle blue box che permettevano di fare chiamate gratis o internazionali a prezzi ridotti. +L'azione di John Draper ebbe anche effetti benefici: le telefonate in quegli erano molto costose, specialmente da stato a stato, ed il fischietto blu permetteva a persone molto isolate in quegli anni di comunicare come mai prima di allora.

Digressione: Anarco Illuminismo

-

La cultura hacker, perlomeno fino a questa parte del racconto, raccoglie in se` ideali di due ideologie differenti.

+

La cultura hacker, perlomeno fino a questa parte del racconto, raccoglie in sé ideali di due ideologie differenti.

Da una parte l'ideale illuminista della diffusione della conoscenza era l'obbiettivo ultimo di moltissimi hacker, forse secondo solo al piacere intellettuale.

Le informazioni venivano sempre condivise su Arpanet e successivamente su Internet e concesse senza alcuna restrizione.

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.

-

Nonostante cio` fino ad allora non era stato compiuto nessun tentativo di formalizzare gli ideali di questa cultura.

+

Nonostante ciò fino ad allora non era stato compiuto nessun tentativo di formalizzare gli ideali di questa cultura.

L'era del software proprietario

Negli anni 80 la cultura hacker era sostanzialmente spaccata in tre gruppi diversi, dagli ideali simili ma organizzati attorno a tecnologie estremamente differenti:

    @@ -185,19 +190,19 @@ Anche C ha lo stesso obbiettivo di Unix, la portabilita` fra macchine diverse.il gruppo di Unix e C, che poneva le basi di internet e dei protocolli ancora oggi utilizzati

  • -

    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

    +

    una serie meno organizzata di gruppetti più anarchici che si dedicavano al reverse engineering e allo studio di tecnologie e linguaggi alternativi a quelle viste precedentemente

-

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.

+

Nel frattempo iniziavano a diventare più comuni le prime macchine prodotte da Apple e Microsoft. In realtà 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.

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.

-

Nel 1983 DEC annuncio` la fine della linea dei PDP, definendo cosi` la morte del primo gruppo. +

Nel 1983 DEC annunciò la fine della linea dei PDP, definendo così la morte del primo gruppo. Nel 1984 Bell fu scorporata e AT&T acquisi i diritti di molti dei suoi prodotti, tra cui Unix.

-

L'hackerdom vide il pericolo 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.

-

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&T. -BSD Unix si diffuse in maniera capillare, in particolare nelle infrastrutture di rete data la qualita` delle sue implementazioni, ma AT&T vinse molte battaglie legali appropriandosi di vari standard.

+

L'hackerdom vide il pericolo che uno dei suoi più cari lavori venisse rubato da una grande compagnia e facesse la fine di tutto il software proprietario di quell'epoca.

+

Per questo in quel decennio si combatté una dura battaglia fra le prime versioni di BSD Unix, nato dalle ceneri di Unix, e la versione proprietaria di AT&T. +BSD Unix si diffuse in maniera capillare, in particolare nelle infrastrutture di rete data la qualità delle sue implementazioni, ma AT&T vinse molte battaglie legali appropriandosi di vari standard.

Verso una prima ideologia hacker

-

In quegli anni era ormai ovvio che senza acquisire maggiore consapevolezza molto del potere in mano a queste comunita` sarebbe sparito lentamente.

-

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).

+

In quegli anni era ormai ovvio che senza acquisire maggiore consapevolezza molto del potere in mano a queste comunità sarebbe sparito lentamente.

+

Inoltre iniziavano ad avere risalto i primi fenomeni di cracking e l'intervento dei governi si fece più severo (benché non sia paragonabile alla copertura che tali eventi hanno oggi).

La soluzione proposta risiede nella congiunzione di tre idee:

  • @@ -211,32 +216,37 @@ BSD Unix si diffuse in maniera capillare, in particolare nelle infrastrutture di

Decentralizzazione

-

La decentralizzazione e` il processo in cui un'attivita` viene distribuita in maniera equa fra tutti i partecipanti, in opposizione ad un'organizzazione piu` gerarchica e autoritaria.

-

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.

-

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.

+

La decentralizzazione è il processo in cui un'attività viene distribuita in maniera equa fra tutti i partecipanti, in opposizione ad un'organizzazione più gerarchica e autoritaria.

+

L'assunto alla base è il principio Manzoniano per cui una persona che detiene il potere si ritroverà prima o poi costretta a compiere decisioni non etiche. La soluzione è quella di ridurre il potere distribuendolo ai margini dell'infrastruttura.

+

Un'esempio di decentralizzazione è l'architettura di internet, almeno nelle sue prime forme, dove non c'è un'autorità centrale ma ogni nodo ha eguale importanza. +Un'esempio più attuale è la rete Bittorrent.

Crittografia

-

Nel 1992 nasce una mailing list (ad oggi ancora attiva) chiamata Cypherpunk, dal gioco fra i termini cypher e cyberpunk.

+

Nel 1992 nasce una mailing list (ad oggi ancora attiva) chiamata Cypherpunks, dal gioco fra i termini cypher e cyberpunk.

Tutte le discussioni di questo gruppo vertono sull'uso della crittografia e sul concetto di privacy e anonimato.

-

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.

+

L'idea alla base (Cypherpunk's Manifesto) è che la privacy è necessaria per poter costituire una società aperta nell'era dell'informazione; non c'è alcuna garanzia che i governi o le corporazioni si facciano garanti di questi ideali quindi la privacy va difesa dai singoli.

Il gruppo ha portato alla creazione di software crittografico (fra cui TOR), protocolli per la comunicazione riservata e atti di disobbedienza civile.

+

Sempre in quegli anni, mentre il governo americano cercava di indebolire le infrastrutture di telecomunicazione con il Telecommunications Act del '96, John Perry Barlow pubblicò un manifesto: (la dichiarazione di independenza del Cyberspazio)[https://www.eff.org/cyberspace-independence]. +Nel manifesto il governo (americano) viene dipinto come un gigante di acciaio e carne e gli hacker come individui autoeletti, proveniente dal futuro, che si oppongo all'invasione di potere nel cyberspazio. Barlow evidenzia come le leggi che governano questa comunità indipendente sono del tutto estranee alle angherie e alle regole imposte con la forza del mondo prima del cyberspazio.

+

Un documento ben più estremo di quello di Barlow è il Cyphernomicon di Timothy C. May, uno dei primi ingegneri di Intel e importantissima figura nella mailing list Cypherpunks. +Nel Cyphernomicon vengono discussi argomenti con una forte connotazione antagonista e vengono affrontati molti argomenti tabù.

Software Libero

-

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.

-

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.

-

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`.

-

Il progetto GNU e` una collezione di software di qualsiasi tipo che rispetti le liberta` garantite dalla licenza GPL; fra questi i piu` famosi sono GCC, emacs, Octave, R ma anche software di attivismo, gestione delle finanze e tant'altro.

-

Il progetto sarebbe dovuto essere completato da un kernel, HURD, che ad oggi e` ancora molto instabile.

-

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. Questo dibattito fu il soggetto di un'enorme flame war su usenet.

+

Richard Stallman nel 1980 modificò 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.

+

Quando nel 1980 la stampante fu sostituita Xerox si rifiutò di concedere a Stallman le facoltà 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.

+

Nel 1984 Stallman si licenziò dal MIT per lavorare a tempo pieno al suo progetto, GNU: una versione di Unix modificata che concedesse agli utenti finali le libertà da lui desiderate tramite l'utilizzo esclusivo di software libero. +Nel rispetto della cultura hacker GNU conquistò subito l'interesse della comunità.

+

Il progetto GNU è una collezione di software di qualsiasi tipo che rispetti le libertà garantite dalla licenza GPL; fra questi i più famosi sono GCC, emacs, Octave, R ma anche software di attivismo, gestione delle finanze e tant'altro.

+

Il progetto sarebbe dovuto essere completato da un kernel, HURD, che ad oggi è ancora molto instabile.

+

Nel frattempo, in Europa, Linus Torvalds, in sintonia con quell'atteggiamento di opposizione e rivolta tipico della cultura hacker , iniziò a sviluppare il kernel Linux seguendo un approccio inusuale che fu fortemente criticato dal suo professore, Andrew S. Tanenbaum. Questo dibattito fu il soggetto di un'enorme flame war su usenet.

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.

-

Questo ha portato a quello che oggi viene chiamato da molti Linux ma che in realta` andrebbe chiamato GNU/Linux.

+

Questo ha portato a quello che oggi viene chiamato da molti Linux ma che in realtà andrebbe chiamato GNU/Linux.

+

Linus Torvalds e Richard Stallman

Lo stato della cultura hacker oggi

-

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.

-

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.

-

Nonostante cio` ogni anno ho provato a trasmettere agli studenti delle mie considerazioni sulla situazione presente, da differenti punti di vista.

+

Abbiamo visto fino ad ora che ci sono stati tre filoni della cultura hacker, quello universitario, quello più amatoriale e pratico, rivolto all'exploitation e infine quello più ideologico.

+

È molto difficile cercare di interpretare la direzione di questa sottocultura (se ancora si può definire tale), specialmente per chi come me non ne ha le competenze benché si ritrovi spesso a parlare e conoscere con persone che hanno fatto proprio l'atteggiamento della cultura hacker.

+

Nonostante ciò ogni anno ho provato a trasmettere agli studenti delle mie considerazioni sulla situazione presente, da differenti punti di vista.

Disobbedienza civile elettronica

Non penso di dovermi soffermare ma due figure molto importanti della cultura hacker sono Edward Snowden e Julian Assange (Mendax).

-

Queste due persone e tutto quello che hanno fatto rappresentano cio` che il potere teme di internet.

+

Queste due persone e tutto quello che hanno fatto rappresentano ciò che il potere teme di internet.

Inoltre, riguardo i fatti recenti:

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. @@ -245,25 +255,22 @@ Nel rispetto della cultura hacker GNU conquisto` subito l'interesse della comuni

I primi due anni ho provato a concentrarmi su queste domande:

  • -

    la cultura hacker ha ancora una componente anarchica?

    +

    la cultura hacker ha ancora una componente di forte antagonismo nei confronti del potere stabilit?

  • Sono ancora possibili atti come quelli degli attivisti del cypherpunk?

  • -
  • -

    In che ottica possiamo inquadrare le azioni di Assange e Snowden?

    -

Quando si parla di Assange e Snowden si parla di politica e media, ovvero potere e controllo.

Prima dell'arrivo di internet e dell'informatica il cuore degli organismi di potere e controllo era facile da individuare.

Penso al fascismo, dove come spiega Mosse in "Il fascismo. Verso una teoria generale", l'architettura stessa aveva carattere intimidatorio.

-

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.

+

Gli "antagonisti" del potere non dovevano fare altro che riunirsi in qualche maniera organizzata e far fronte a queste strutture, fisicamente affrontare la loro solidità. +È il motivo per cui nella cultura pop V per Vendetta termina con l'esplosione del parlamento e Fight Club con il crollo delle banche.

Il regime collassa una volta che l'opposizione ne ha distrutto la fortezza in cui risiede.

-

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.

-

Cosi` quando nel 2016 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.

-

Possiamo a questo punto provare ad affermare che il potere risieda nelle persone e non piu` nelle strutture fisiche.

-

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.

+

Questo ad oggi non è più vero, gli edifici benché siano ancora visibili si sono svuotati e il potere si muove come desidera attraverso un flusso ininterrompibile di bits.

+

Così quando nel 2016 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 riuscì a recuperare il controllo della situazione prendendo contatto e mobilitando la resistenza.

+

Possiamo a questo punto provare ad affermare che il potere risieda nelle persone e non più nelle strutture fisiche.

+

Eppure quando nell'aprile del 2018 il congresso statunitense ha affrontato Zuckerberg con un documento di più di 1000 pagine, il potere di Facebook non era presente neanche sotto la forma fisica di un ragazzo di trent'anni.

Questo ce lo dimostra il fatto che a domande come:

  • @@ -288,37 +295,38 @@ E` il motivo per cui nella cultura pop V per Vendetta termina con l'esplosione d

    "How much information does Facebook have on non-Facebook users?"

-

Zuckerberg ha potuto affermare che non conosce la risposta o che puo` chiedere al suo team e rispondere in futuro.

+

Zuckerberg ha potuto affermare che non conosce la risposta o che può chiedere al suo team e rispondere in futuro.

Whether you know it or not, if you are a hacker, you are a revolutionary

-

Una volta compreso cio` queste parole di Doctor Crash su phrack appaiono ingenue.

+

Una volta compreso ciò queste parole di Doctor Crash su phrack appaiono ingenue.

Gli hacker combattono per il libero accesso all'informazione senza poi discutere di come queste nuove conoscenze andrebbero applicate.

Sempre Doctor Crash scrive:

-

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."

+

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."

-

Questo, complice la cultura hacker, oggi non e` piu` possibile.

+

Questo, complice la cultura hacker, oggi non è più possibile.

+

Per questo, la risposta alle prima domanda è no, la cultura hacker non ha mantenuto, A MIO PARERE, una componente antagonista. Questo perché, azioni di protesta come quelle degli hacktivisti alla Anonymous, o come nel più romanzato Mr Robot, ammontano a nulla per i motivi sopracitati. Lo stesso leak dei documenti della NSA compiuto da Snowden ha avuto effetti discutibili e di sicuro non ci ha portati ad un cambiamento di tendenza nei confronti della tecnosorveglianza.

Opensource e Free Software

-

Quest'ultimo anno mi son concentrato maggiormente sulla cultura del software libero.

-

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 il significato di cracker.

-

Stallman nel 2007 gia` ci avvertiva che il software opensource manca l'obbiettivo:

+

Nell'ultima lezione, anno 2019, mi son concentrato maggiormente sulla cultura del software libero.

+

Nel 2019 il termine opensource ha soppiantato quello di software libero allo stesso modo di come il termine hacker è stato corrotto mediaticamente andando a ricoprire il significato di cracker.

+

Stallman nel 2007 già ci avvertiva che il software opensource manca l'obbiettivo:

I due termini descrivono all'incirca la stessa categoria di software. Ma si basano su valori fondamentalmente diversi. 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à.

-

Quando ancora GNU/Linux girava sotto forma di dischi o floppy Steve Ballmer diceva che il software libero e` cancro o comunismo.

+

Quando ancora GNU/Linux girava sotto forma di dischi o floppy Steve Ballmer diceva che il software libero è cancro o comunismo.

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.

Basta fare un giro su stackshare.io per avere un'idea di quanto i colossi del web siano dipendenti dal software opensource.

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.

Ne sono un esempio gitlab, redislab e elasticsearch.

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.

-

Questo 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.

+

Questo 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 libertà 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.

Conclusione: come diventare un hacker

ESR mantiene da anni una breve guida a come diventare un hacker, organizzata su cinque punti:

  1. -

    Il mondo e` pieno di problemi affascinanti che aspettano di essere risolti

    +

    Il mondo è pieno di problemi affascinanti che aspettano di essere risolti

  2. Nessun problema andrebbe risolto due volte

    @@ -327,12 +335,59 @@ L'open source è una metodologia di sviluppo; il software libero è un movim

    La noia e la fatica sono malvagi

  3. -

    La liberta` e` una buona cosa

    +

    La libertà è una buona cosa

  4. Le maniere e la forma non mascherano le competenze

+

Appendice: Hacker oggi

+

Immagino che al termine di questa lettura sorga un dubbio: dove sono andati a finire gli hacker? +O meglio, una persona nata inevitabilmente nell'era del capitalismo della sorveglianza dove può imparare e poi mettere in pratica o far sue gli ideali propri della cultura hacker?

+

Nutro molte pochissime speranze nei confronti del web che a mio avviso è morto nel 1995 quando emersero i primi siti a scopo di lucro. Oggi il web è diventato un agglomerato di isole irraggiungibili le une dall'altre (i famosi walled garden) dove in molti casi si formano comunità di utenti che senza originalità propongono gli stessi contenuti o ripetono le stesse domande. Ne è un esempio reddit la cui qualità è andata degradando di anno in anno nel tentantivo di essere il più accogliente possibile nei confronti dei nuovi utenti. Quando l'effetto eternal september non dovesse bastare, masse di "growth hacker", uffici di marketing o giganti di metallo e carne si impossessano degli ultimi angoli inesplorati del web per renderli una palude pubblicitaria, come è successo a:

+
    +
  • +

    reddit

    +
  • +
  • +

    hacker news

    +
  • +
  • +

    medium

    +
  • +
  • +

    github

    +
  • +
  • +

    yahoo

    +
  • +
  • +

    youtube

    +
  • +
  • +

    la lista è infinita

    +
  • +
+

Come già affermato per i sistemi Microsoft ed Apple, l'assenza di comunità hacker nel web è dovuto alle forti imposizioni (motivate dal profitto) e l'impossibilità di riuso dei costumi e delle conoscenze sviluppati una volta che la piattaforma cambia.

+

Il catalizzatore della cultura hacker sembra essere in questi anni il carne-spazio, luoghi e situazioni sovversive in cui ho avuto la fortuna di conoscere moltissimi hacker. Consiglio di partire dagli hacklab, gli incontri a cadenza annuale (hackmeeting, offdem), gli spazi occupati e i fablab. Talvolta si ha fortuna anche nelle università, specialmente se ci sono gruppi che partecipano ai Capture The Flag. +Quando si vuole tornare nel cyberspazio è pieno di posti felici (e soprattutto interessanti) che si mantengono ancora distanti dai germi del web:

+
    +
  • +

    irc

    +
  • +
  • +

    le mailing list

    +
  • +
  • +

    i tracker privati

    +
  • +
  • +

    forum e blog su reti alternative (Tor, I2P, Freenet)

    +
  • +
  • +

    I cyberspazi di incontro delle stesse comunità sovversive: autistici, riseup, disroot

    +
  • +
CC BY-SA 4.0 International.
Nikola, Cayman theme. diff --git a/output/categories/polito.xml b/output/categories/polito.xml index 7f03b63..f388714 100644 --- a/output/categories/polito.xml +++ b/output/categories/polito.xml @@ -1,10 +1,11 @@ -Caught in the Net (Posts about polito)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> +Caught in the Net (Posts about polito)francescomecca.euenContents © 2020 <a href="mailto:francescomecca.eu">Francesco Mecca</a> Tue, 28 Apr 2020 15:40:28 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>Per tre anni ho svolto una lezione sulla cultura hacker che precedentemente era tenuta da <a href="https://nexa.polito.it/people/sbasso">Simone Basso</a> al Politecnico di Torino per il corso <a href="http://rivoluzionedigitale.polito.it/">Rivoluzione Digitale</a>. +Quest'anno, data la situazione con il corona virus e dato che non voglio essere registrato (cosa inevitabile qualora organizzassi una videolezione), ho deciso di scrivere questo blogpost dove riassumo quello che solitamente espongo.</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> +<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 è alle radici dell'informatica 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>Così 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 ritrovarono su usenet e mailing list: in maniera non organizzata alcuni membri di queste comunità iniziarono a raccogliere gli slang più utilizzati e le storie legate a questi modi di esprimersi.</p> +<p>Con l'espandersi della comunità 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 terminò 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> @@ -45,15 +46,12 @@ <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> +<p>Più generale: "Ready for foodP?" (in Lisp la P sta per predicato con risultato booleano true|false)</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> +<p>Del termine hacker abbiamo più 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> @@ -71,7 +69,11 @@ Nel Jargon File viene specificato che ci si aspetta che un hacker abbia compiuto <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> +<p>A me piace raccogliere queste definizioni parafrasando Larry Wall: essere un hacker non è l'obbiettivo: gli obbiettivi variano in base alle persone ed al contesto. Un hacker è qualcuno che raggiunge il proprio obbiettivo superando le norme culturali e sociali.</p> +<p>Nell'immagine appaiono due definizioni, la prima che abbiamo già analizzato, è la definizione contenuta nel Jargon File e in fondo appare quella dell'Oxford Dictionary. +Si evince che il significato della parola hacker nel gergo comune si è via via svuotato per poi andare a sostituire quello del termine cracker.</p> +<p>Un cracker è 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 ma debba velocemente maturare verso forme creative più nobili.</p> <h2>Chiave di lettura</h2> <p>Nella storia della cultura hacker si possono distinguere tre tipi di persone:</p> <ul> @@ -82,42 +84,46 @@ Nel Jargon File viene specificato che ci si aspetta che un hacker abbia compiuto <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> +<p>i makers, coloro che costruiscono ciò che gli altri usano, come Bill Gates. +Chiaramente moltissime delle personalità di cui parleremo rientrano in più di una di queste categoria. In tutti i casi è 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>La storia della cultura hacker inizia da persone che all'epoca chiaramente non si nominavano tali.</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>Fra i più 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 funzionò 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>Da qui parte il primo filone della storia della cultura hacker, quello universitario.</p> +<h4>I primi hacker, la tribù connessa</h4> +<p>Rimanendo all'interno delle università 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 appartenevano alla linea dei PDP, prodotti dalla Digital Equipment Corporation (DEC). +Lo stesso PDP-11, come evidenziato da (questo racconto)[https://web.archive.org/web/20080718223330/cm.bell-labs.com/cm/cs/who/dmr/chist.html], è stato molto influente nello sviluppo del linguaggio C.</p> +<p><img alt="pdp-11" src="francescomecca.eu/wp-content/uploads/2019/pdp11.jpg"></p> +<p>Nei laboratori del MIT, nonostante utilizzassero le stesse macchine che in altre università (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 più alto livello (LISP, lingua franca della cultura hacker) rispetto al sistema operativo distribuito da DEC nei PDP.</p> +<p>Questo è 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 università e laboratori di ricerca.</p> +<p>Questo permise a moltissimi hacker di superare le loro cerchie ristrette e condividere i propri lavori con una massa sempre più 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> +<p>All'epoca ogni computer forniva strumenti ed interfacce incompatibili fra loro. L'idea di Ken Thompson è stata quella di fornire un'interfaccia unificata e le stesse funzionalità su macchine diverse.</p> +<p>Per raggiungere questo scopo, ovvero un sistema operativo universale chiamato Unix, Dennis Ritchie inventò un nuovo linguaggio che potesse facilitare lo sviluppo per Thompson: C. +Anche C ha lo stesso obbiettivo di Unix, la portabilità fra macchine diverse.</p> +<p>C è sopravvissuto fino ad oggi e la filosofia di Unix, Keep It Simple and Stupid, è rimasta valida 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> +<p>Il reverse engineering è 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, usando nel 1970 dei toni audio per emettere comandi in rete.</p> +<p>Il più celebre fra questi è John Draper che scoprì 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><img alt="John Draper e il fischietto blue" src="francescomecca.eu/wp-content/uploads/2019/draper.jpg"></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. +L'azione di John Draper ebbe anche effetti benefici: le telefonate in quegli erano molto costose, specialmente da stato a stato, ed il fischietto blu permetteva a persone molto isolate in quegli anni di comunicare come mai prima di allora.</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>La cultura hacker, perlomeno fino a questa parte del racconto, raccoglie in sé 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> +<p>Nonostante ciò 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> @@ -125,22 +131,22 @@ Anche C ha lo stesso obbiettivo di Unix, la portabilita` fra macchine diverse.&l <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> +<p>il gruppo di Unix e C, che poneva 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> +<p>una serie meno organizzata di gruppetti più 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>Nel frattempo iniziavano a diventare più comuni le prime macchine prodotte da Apple e Microsoft. In realtà 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. +<p>Nel 1983 DEC annunciò la fine della linea dei PDP, definendo così 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> +<p>L'hackerdom vide il pericolo che uno dei suoi più 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 combatté 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 qualità 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>In quegli anni era ormai ovvio che senza acquisire maggiore consapevolezza molto del potere in mano a queste comunità sarebbe sparito lentamente.</p> +<p>Inoltre iniziavano ad avere risalto i primi fenomeni di cracking e l'intervento dei governi si fece più severo (benché non sia paragonabile alla copertura che tali eventi hanno oggi).</p> <p>La soluzione proposta risiede nella congiunzione di tre idee:</p> <ul> <li> @@ -154,32 +160,37 @@ BSD Unix si diffuse in maniera capillare, in particolare nelle infrastrutture di </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> +<p>La decentralizzazione è il processo in cui un'attività viene distribuita in maniera equa fra tutti i partecipanti, in opposizione ad un'organizzazione più gerarchica e autoritaria.</p> +<p>L'assunto alla base è il principio Manzoniano per cui una persona che detiene il potere si ritroverà prima o poi costretta a compiere decisioni non etiche. La soluzione è quella di ridurre il potere distribuendolo ai margini dell'infrastruttura.</p> +<p>Un'esempio di decentralizzazione è l'architettura di internet, almeno nelle sue prime forme, dove non c'è un'autorità centrale ma ogni nodo ha eguale importanza. +Un'esempio più attuale è 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>Nel 1992 nasce una mailing list (ad oggi ancora attiva) chiamata Cypherpunks, 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>L'idea alla base (Cypherpunk's Manifesto) è che la privacy è necessaria per poter costituire una società aperta nell'era dell'informazione; non c'è 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> +<p>Sempre in quegli anni, mentre il governo americano cercava di indebolire le infrastrutture di telecomunicazione con il Telecommunications Act del '96, John Perry Barlow pubblicò un manifesto: (la dichiarazione di independenza del Cyberspazio)[https://www.eff.org/cyberspace-independence]. +Nel manifesto il governo (americano) viene dipinto come un gigante di acciaio e carne e gli hacker come individui autoeletti, proveniente dal futuro, che si oppongo all'invasione di potere nel cyberspazio. Barlow evidenzia come le leggi che governano questa comunità indipendente sono del tutto estranee alle angherie e alle regole imposte con la forza del mondo prima del cyberspazio.</p> +<p>Un documento ben più estremo di quello di Barlow è il <a href="http://web.archive.org/web/20110922120111/http://www.cypherpunks.to/faq/cyphernomicron/cyphernomicon.txt">Cyphernomicon</a> di Timothy C. May, uno dei primi ingegneri di Intel e importantissima figura nella mailing list Cypherpunks. +Nel Cyphernomicon vengono discussi argomenti con una forte connotazione antagonista e vengono affrontati molti argomenti tabù.</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>Richard Stallman nel 1980 modificò 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 rifiutò di concedere a Stallman le facoltà 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 licenziò dal MIT per lavorare a tempo pieno al suo progetto, GNU: una versione di Unix modificata che concedesse agli utenti finali le libertà da lui desiderate tramite l'utilizzo esclusivo di software libero. +Nel rispetto della cultura hacker GNU conquistò subito l'interesse della comunità.</p> +<p>Il progetto GNU è una collezione di software di qualsiasi tipo che rispetti le libertà garantite dalla licenza <a href="https://en.wikipedia.org/wiki/GNU_General_Public_License">GPL</a>; fra questi i più 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 è ancora molto instabile.</p> +<p>Nel frattempo, in Europa, Linus Torvalds, in sintonia con quell'atteggiamento di opposizione e rivolta tipico della cultura hacker , iniziò 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> +<p>Questo ha portato a quello che oggi viene chiamato da molti Linux ma che in realtà andrebbe chiamato <a href="https://www.gnu.org/gnu/why-gnu-linux.html">GNU/Linux</a>.</p> +<p><img alt="Linus Torvalds e Richard Stallman" src="francescomecca.eu/wp-content/uploads/2019/stl.jpg"></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> +<p>Abbiamo visto fino ad ora che ci sono stati tre filoni della cultura hacker, quello universitario, quello più amatoriale e pratico, rivolto all'exploitation e infine quello più ideologico.</p> +<p>È molto difficile cercare di interpretare la direzione di questa sottocultura (se ancora si può definire tale), specialmente per chi come me non ne ha le competenze benché si ritrovi spesso a parlare e conoscere con persone che hanno fatto proprio l'atteggiamento della cultura hacker.</p> +<p>Nonostante ciò 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>Non penso di dovermi soffermare ma due figure molto importanti della cultura hacker sono Edward Snowden e Julian Assange (Mendax).</p> +<p>Queste due persone e tutto quello che hanno fatto rappresentano <a href="http://www.mantellini.it/2012/08/17/perche-assange-e-internet/">ciò 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. @@ -188,26 +199,22 @@ Nel rispetto della cultura hacker GNU conquisto` subito l'interesse della comuni <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> +<p>la cultura hacker ha ancora una componente di forte antagonismo nei confronti del potere stabilit?</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>Prima dell'arrivo di internet e dell'informatica il cuore degli organismi di potere e controllo era facile da individuare.</p> +<p>Penso 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 solidità. +È 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 ad oggi non è più vero, gli edifici benché siano ancora visibili si sono svuotati e il potere si muove come desidera attraverso un flusso ininterrompibile di bits.</p> +<p>Così 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 riuscì 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 più nelle strutture fisiche.</p> +<p>Eppure quando nell'aprile del 2018 il congresso statunitense ha affrontato Zuckerberg con un documento di più 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> @@ -232,29 +239,96 @@ E` il motivo per cui nella cultura pop V per Vendetta termina con l'esplosione d <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> +<p>Zuckerberg ha potuto affermare che non conosce la risposta o che può 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>Una volta compreso ciò 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> +<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> +<p>Questo, complice la cultura hacker, oggi non è più possibile.</p> +<p>Per questo, la risposta alle prima domanda è no, la cultura hacker non ha mantenuto, A MIO PARERE, una componente antagonista. Questo perché, azioni di protesta come quelle degli hacktivisti alla Anonymous, o come nel più romanzato Mr Robot, ammontano a nulla per i motivi sopracitati. Lo stesso leak dei documenti della NSA compiuto da Snowden ha avuto effetti <a href="https://web.archive.org/web/20150810184125/https://www.washingtonpost.com/news/volokh-conspiracy/wp/2015/04/09/edward-snowdens-impact/">discutibili</a> e di sicuro non ci ha portati ad un cambiamento di tendenza nei confronti della <a href="https://www.valigiablu.it/freedom-net-censura-sorveglianza/">tecnosorveglianza</a>.</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> +<p>Nell'ultima lezione, anno 2019, 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 è stato corrotto mediaticamente andando a ricoprire il significato di cracker.</p> +<p>Stallman nel 2007 già 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> +<p>I due termini descrivono all'incirca la stessa categoria di software. Ma si basano su valori fondamentalmente diversi. +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>Quando ancora GNU/Linux girava sotto forma di dischi o floppy Steve Ballmer diceva che il software libero è 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 GMT \ No newline at end of file +<p>Questo 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 libertà 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> +<h2>Conclusione: come diventare un hacker</h2> +<p>ESR <a href="http://www.catb.org/~esr/faqs/hacker-howto.html">mantiene da anni</a> una breve guida a come diventare un hacker, organizzata su cinque punti:</p> +<ol> +<li> +<p>Il mondo è pieno di problemi affascinanti che aspettano di essere risolti</p> +</li> +<li> +<p>Nessun problema andrebbe risolto due volte</p> +</li> +<li> +<p>La noia e la fatica sono malvagi</p> +</li> +<li> +<p>La libertà è una buona cosa</p> +</li> +<li> +<p>Le maniere e la forma non mascherano le competenze</p> +</li> +</ol> +<h2>Appendice: Hacker oggi</h2> +<p>Immagino che al termine di questa lettura sorga un dubbio: dove sono andati a finire gli hacker? +O meglio, una persona nata inevitabilmente nell'era del <a href="https://www.agendadigitale.eu/cultura-digitale/capitalismo-della-sorveglianza-come-salvarci-dalle-nuove-derive-delleconomia-globale/">capitalismo della sorveglianza</a> dove può imparare e poi mettere in pratica o far sue gli ideali propri della cultura hacker?</p> +<p>Nutro molte pochissime speranze nei confronti del web che a mio avviso è morto nel 1995 quando emersero i primi siti a scopo di lucro. Oggi il web è diventato un agglomerato di isole irraggiungibili le une dall'altre (i famosi walled garden) dove in molti casi si formano comunità di utenti che senza originalità propongono gli stessi contenuti o ripetono le stesse domande. Ne è un esempio reddit la cui qualità è andata degradando di anno in anno nel tentantivo di essere il più accogliente possibile nei confronti dei nuovi utenti. Quando l'effetto <a href="https://en.wikipedia.org/wiki/Eternal_September">eternal september</a> non dovesse bastare, masse di "growth hacker", uffici di marketing o giganti di metallo e carne si impossessano degli ultimi angoli inesplorati del web per renderli una palude pubblicitaria, come è successo a:</p> +<ul> +<li> +<p><a href="https://francescomecca.eu/blog/2018/3/27/addio-reddit/">reddit</a></p> +</li> +<li> +<p>hacker news</p> +</li> +<li> +<p>medium</p> +</li> +<li> +<p>github</p> +</li> +<li> +<p>yahoo</p> +</li> +<li> +<p>youtube</p> +</li> +<li> +<p>la lista è infinita</p> +</li> +</ul> +<p>Come già affermato per i sistemi Microsoft ed Apple, l'assenza di comunità hacker nel web è dovuto alle forti imposizioni (motivate dal profitto) e l'impossibilità di riuso dei costumi e delle conoscenze sviluppati una volta che la piattaforma cambia.</p> +<p>Il catalizzatore della cultura hacker sembra essere in questi anni il carne-spazio, luoghi e situazioni sovversive in cui ho avuto la fortuna di conoscere moltissimi hacker. Consiglio di partire dagli hacklab, gli incontri a cadenza annuale (hackmeeting, offdem), gli spazi occupati e i fablab. Talvolta si ha fortuna anche nelle università, specialmente se ci sono gruppi che partecipano ai Capture The Flag. +Quando si vuole tornare nel cyberspazio è pieno di posti felici (e soprattutto interessanti) che si mantengono ancora distanti dai germi del web:</p> +<ul> +<li> +<p>irc</p> +</li> +<li> +<p>le mailing list</p> +</li> +<li> +<p>i tracker privati</p> +</li> +<li> +<p>forum e blog su reti alternative (Tor, I2P, Freenet)</p> +</li> +<li> +<p>I cyberspazi di incontro delle stesse comunità sovversive: <a href="https://www.autistici.org/">autistici</a>, <a href="francescomecca.eu/blog/2019/05/18/cultura-hacker/riseup.net/">riseup</a>, <a href="francescomecca.eu/blog/2019/05/18/cultura-hacker/disroot.org">disroot</a></p> +</li> +</ul></div>lezionePesceWandapolitecnicopolitoRivoluzione Digitalefrancescomecca.eu/blog/2019/05/18/cultura-hacker/Mon, 06 Apr 2020 00:00:00 GMT \ No newline at end of file diff --git a/output/categories/polito/index.html b/output/categories/polito/index.html index 8146391..0167e20 100644 --- a/output/categories/polito/index.html +++ b/output/categories/polito/index.html @@ -27,7 +27,7 @@ RSS Personal Git Github - Curriculum + Curriculum
CC BY-SA 4.0 International.
Nikola, Cayman theme. diff --git a/output/categories/rivoluzione-digitale.xml b/output/categories/rivoluzione-digitale.xml index c01f0e6..fff0a5c 100644 --- a/output/categories/rivoluzione-digitale.xml +++ b/output/categories/rivoluzione-digitale.xml @@ -1,5 +1,337 @@ -Caught in the Net (Posts about Rivoluzione Digitale)francescomecca.euenContents © 2020 <a href="mailto:francescomecca.eu">Francesco Mecca</a> Wed, 29 Jan 2020 10:04:36 GMTNikola (getnikola.com)http://blogs.law.harvard.edu/tech/rssSome 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> +Caught in the Net (Posts about Rivoluzione Digitale)francescomecca.euenContents © 2020 <a href="mailto:francescomecca.eu">Francesco Mecca</a> Tue, 28 Apr 2020 15:40:28 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>Per tre anni ho svolto una lezione sulla cultura hacker che precedentemente era tenuta da <a href="https://nexa.polito.it/people/sbasso">Simone Basso</a> al Politecnico di Torino per il corso <a href="http://rivoluzionedigitale.polito.it/">Rivoluzione Digitale</a>. +Quest'anno, data la situazione con il corona virus e dato che non voglio essere registrato (cosa inevitabile qualora organizzassi una videolezione), ho deciso di scrivere questo blogpost dove riassumo quello che solitamente espongo.</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 è alle radici dell'informatica come strumento di cultura di massa.</p> +<h2>Jargon File</h2> +<p>Così 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 ritrovarono su usenet e mailing list: in maniera non organizzata alcuni membri di queste comunità iniziarono a raccogliere gli slang più utilizzati e le storie legate a questi modi di esprimersi.</p> +<p>Con l'espandersi della comunità 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 terminò 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>Più generale: "Ready for foodP?" (in Lisp la P sta per predicato con risultato booleano true|false)</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>Del termine hacker abbiamo più 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 è l'obbiettivo: gli obbiettivi variano in base alle persone ed al contesto. Un hacker è qualcuno che raggiunge il proprio obbiettivo superando le norme culturali e sociali.</p> +<p>Nell'immagine appaiono due definizioni, la prima che abbiamo già analizzato, è la definizione contenuta nel Jargon File e in fondo appare quella dell'Oxford Dictionary. +Si evince che il significato della parola hacker nel gergo comune si è via via svuotato per poi andare a sostituire quello del termine cracker.</p> +<p>Un cracker è 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 ma debba velocemente maturare verso forme creative più nobili.</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 ciò che gli altri usano, come Bill Gates. +Chiaramente moltissime delle personalità di cui parleremo rientrano in più di una di queste categoria. In tutti i casi è 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 all'epoca chiaramente non si nominavano tali.</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 più 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 funzionò 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>Da qui parte il primo filone della storia della cultura hacker, quello universitario.</p> +<h4>I primi hacker, la tribù connessa</h4> +<p>Rimanendo all'interno delle università 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 appartenevano alla linea dei PDP, prodotti dalla Digital Equipment Corporation (DEC). +Lo stesso PDP-11, come evidenziato da (questo racconto)[https://web.archive.org/web/20080718223330/cm.bell-labs.com/cm/cs/who/dmr/chist.html], è stato molto influente nello sviluppo del linguaggio C.</p> +<p><img alt="pdp-11" src="francescomecca.eu/wp-content/uploads/2019/pdp11.jpg"></p> +<p>Nei laboratori del MIT, nonostante utilizzassero le stesse macchine che in altre università (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 più alto livello (LISP, lingua franca della cultura hacker) rispetto al sistema operativo distribuito da DEC nei PDP.</p> +<p>Questo è 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 università e laboratori di ricerca.</p> +<p>Questo permise a moltissimi hacker di superare le loro cerchie ristrette e condividere i propri lavori con una massa sempre più 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 Thompson è stata quella di fornire un'interfaccia unificata e le stesse funzionalità su macchine diverse.</p> +<p>Per raggiungere questo scopo, ovvero un sistema operativo universale chiamato Unix, Dennis Ritchie inventò un nuovo linguaggio che potesse facilitare lo sviluppo per Thompson: C. +Anche C ha lo stesso obbiettivo di Unix, la portabilità fra macchine diverse.</p> +<p>C è sopravvissuto fino ad oggi e la filosofia di Unix, Keep It Simple and Stupid, è rimasta valida nei suoi discendenti.</p> +<h3>Freak + Phone = Phreaking</h3> +<p>Il reverse engineering è 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, usando nel 1970 dei toni audio per emettere comandi in rete.</p> +<p>Il più celebre fra questi è John Draper che scoprì 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><img alt="John Draper e il fischietto blue" src="francescomecca.eu/wp-content/uploads/2019/draper.jpg"></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. +L'azione di John Draper ebbe anche effetti benefici: le telefonate in quegli erano molto costose, specialmente da stato a stato, ed il fischietto blu permetteva a persone molto isolate in quegli anni di comunicare come mai prima di allora.</p> +<h3>Digressione: Anarco Illuminismo</h3> +<p>La cultura hacker, perlomeno fino a questa parte del racconto, raccoglie in sé 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 ciò 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 poneva le basi di internet e dei protocolli ancora oggi utilizzati</p> +</li> +<li> +<p>una serie meno organizzata di gruppetti più 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 più comuni le prime macchine prodotte da Apple e Microsoft. In realtà 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 annunciò la fine della linea dei PDP, definendo così 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 il pericolo che uno dei suoi più 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 combatté 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 qualità 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 comunità sarebbe sparito lentamente.</p> +<p>Inoltre iniziavano ad avere risalto i primi fenomeni di cracking e l'intervento dei governi si fece più severo (benché 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 è il processo in cui un'attività viene distribuita in maniera equa fra tutti i partecipanti, in opposizione ad un'organizzazione più gerarchica e autoritaria.</p> +<p>L'assunto alla base è il principio Manzoniano per cui una persona che detiene il potere si ritroverà prima o poi costretta a compiere decisioni non etiche. La soluzione è quella di ridurre il potere distribuendolo ai margini dell'infrastruttura.</p> +<p>Un'esempio di decentralizzazione è l'architettura di internet, almeno nelle sue prime forme, dove non c'è un'autorità centrale ma ogni nodo ha eguale importanza. +Un'esempio più attuale è la rete Bittorrent.</p> +<h4>Crittografia</h4> +<p>Nel 1992 nasce una mailing list (ad oggi ancora attiva) chiamata Cypherpunks, 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) è che la privacy è necessaria per poter costituire una società aperta nell'era dell'informazione; non c'è 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> +<p>Sempre in quegli anni, mentre il governo americano cercava di indebolire le infrastrutture di telecomunicazione con il Telecommunications Act del '96, John Perry Barlow pubblicò un manifesto: (la dichiarazione di independenza del Cyberspazio)[https://www.eff.org/cyberspace-independence]. +Nel manifesto il governo (americano) viene dipinto come un gigante di acciaio e carne e gli hacker come individui autoeletti, proveniente dal futuro, che si oppongo all'invasione di potere nel cyberspazio. Barlow evidenzia come le leggi che governano questa comunità indipendente sono del tutto estranee alle angherie e alle regole imposte con la forza del mondo prima del cyberspazio.</p> +<p>Un documento ben più estremo di quello di Barlow è il <a href="http://web.archive.org/web/20110922120111/http://www.cypherpunks.to/faq/cyphernomicron/cyphernomicon.txt">Cyphernomicon</a> di Timothy C. May, uno dei primi ingegneri di Intel e importantissima figura nella mailing list Cypherpunks. +Nel Cyphernomicon vengono discussi argomenti con una forte connotazione antagonista e vengono affrontati molti argomenti tabù.</p> +<h4>Software Libero</h4> +<p>Richard Stallman nel 1980 modificò 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 rifiutò di concedere a Stallman le facoltà 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 licenziò dal MIT per lavorare a tempo pieno al suo progetto, GNU: una versione di Unix modificata che concedesse agli utenti finali le libertà da lui desiderate tramite l'utilizzo esclusivo di software libero. +Nel rispetto della cultura hacker GNU conquistò subito l'interesse della comunità.</p> +<p>Il progetto GNU è una collezione di software di qualsiasi tipo che rispetti le libertà garantite dalla licenza <a href="https://en.wikipedia.org/wiki/GNU_General_Public_License">GPL</a>; fra questi i più 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 è ancora molto instabile.</p> +<p>Nel frattempo, in Europa, Linus Torvalds, in sintonia con quell'atteggiamento di opposizione e rivolta tipico della cultura hacker , iniziò 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 ma che in realtà andrebbe chiamato <a href="https://www.gnu.org/gnu/why-gnu-linux.html">GNU/Linux</a>.</p> +<p><img alt="Linus Torvalds e Richard Stallman" src="francescomecca.eu/wp-content/uploads/2019/stl.jpg"></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 più amatoriale e pratico, rivolto all'exploitation e infine quello più ideologico.</p> +<p>È molto difficile cercare di interpretare la direzione di questa sottocultura (se ancora si può definire tale), specialmente per chi come me non ne ha le competenze benché si ritrovi spesso a parlare e conoscere con persone che hanno fatto proprio l'atteggiamento della cultura hacker.</p> +<p>Nonostante ciò 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 dovermi soffermare ma due figure molto importanti della cultura hacker sono Edward Snowden e Julian Assange (Mendax).</p> +<p>Queste due persone e tutto quello che hanno fatto rappresentano <a href="http://www.mantellini.it/2012/08/17/perche-assange-e-internet/">ciò 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 di forte antagonismo nei confronti del potere stabilit?</p> +</li> +<li> +<p>Sono ancora possibili atti come quelli degli attivisti del cypherpunk?</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 il cuore degli organismi di potere e controllo era facile da individuare.</p> +<p>Penso 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 solidità. +È 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 è più vero, gli edifici benché siano ancora visibili si sono svuotati e il potere si muove come desidera attraverso un flusso ininterrompibile di bits.</p> +<p>Così 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 riuscì 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 più nelle strutture fisiche.</p> +<p>Eppure quando nell'aprile del 2018 il congresso statunitense ha affrontato Zuckerberg con un documento di più 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 può 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 ciò 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 è più possibile.</p> +<p>Per questo, la risposta alle prima domanda è no, la cultura hacker non ha mantenuto, A MIO PARERE, una componente antagonista. Questo perché, azioni di protesta come quelle degli hacktivisti alla Anonymous, o come nel più romanzato Mr Robot, ammontano a nulla per i motivi sopracitati. Lo stesso leak dei documenti della NSA compiuto da Snowden ha avuto effetti <a href="https://web.archive.org/web/20150810184125/https://www.washingtonpost.com/news/volokh-conspiracy/wp/2015/04/09/edward-snowdens-impact/">discutibili</a> e di sicuro non ci ha portati ad un cambiamento di tendenza nei confronti della <a href="https://www.valigiablu.it/freedom-net-censura-sorveglianza/">tecnosorveglianza</a>.</p> +<h3>Opensource e Free Software</h3> +<p>Nell'ultima lezione, anno 2019, 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 è stato corrotto mediaticamente andando a ricoprire il significato di cracker.</p> +<p>Stallman nel 2007 già 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. +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 è 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 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 libertà 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> +<h2>Conclusione: come diventare un hacker</h2> +<p>ESR <a href="http://www.catb.org/~esr/faqs/hacker-howto.html">mantiene da anni</a> una breve guida a come diventare un hacker, organizzata su cinque punti:</p> +<ol> +<li> +<p>Il mondo è pieno di problemi affascinanti che aspettano di essere risolti</p> +</li> +<li> +<p>Nessun problema andrebbe risolto due volte</p> +</li> +<li> +<p>La noia e la fatica sono malvagi</p> +</li> +<li> +<p>La libertà è una buona cosa</p> +</li> +<li> +<p>Le maniere e la forma non mascherano le competenze</p> +</li> +</ol> +<h2>Appendice: Hacker oggi</h2> +<p>Immagino che al termine di questa lettura sorga un dubbio: dove sono andati a finire gli hacker? +O meglio, una persona nata inevitabilmente nell'era del <a href="https://www.agendadigitale.eu/cultura-digitale/capitalismo-della-sorveglianza-come-salvarci-dalle-nuove-derive-delleconomia-globale/">capitalismo della sorveglianza</a> dove può imparare e poi mettere in pratica o far sue gli ideali propri della cultura hacker?</p> +<p>Nutro molte pochissime speranze nei confronti del web che a mio avviso è morto nel 1995 quando emersero i primi siti a scopo di lucro. Oggi il web è diventato un agglomerato di isole irraggiungibili le une dall'altre (i famosi walled garden) dove in molti casi si formano comunità di utenti che senza originalità propongono gli stessi contenuti o ripetono le stesse domande. Ne è un esempio reddit la cui qualità è andata degradando di anno in anno nel tentantivo di essere il più accogliente possibile nei confronti dei nuovi utenti. Quando l'effetto <a href="https://en.wikipedia.org/wiki/Eternal_September">eternal september</a> non dovesse bastare, masse di "growth hacker", uffici di marketing o giganti di metallo e carne si impossessano degli ultimi angoli inesplorati del web per renderli una palude pubblicitaria, come è successo a:</p> +<ul> +<li> +<p><a href="https://francescomecca.eu/blog/2018/3/27/addio-reddit/">reddit</a></p> +</li> +<li> +<p>hacker news</p> +</li> +<li> +<p>medium</p> +</li> +<li> +<p>github</p> +</li> +<li> +<p>yahoo</p> +</li> +<li> +<p>youtube</p> +</li> +<li> +<p>la lista è infinita</p> +</li> +</ul> +<p>Come già affermato per i sistemi Microsoft ed Apple, l'assenza di comunità hacker nel web è dovuto alle forti imposizioni (motivate dal profitto) e l'impossibilità di riuso dei costumi e delle conoscenze sviluppati una volta che la piattaforma cambia.</p> +<p>Il catalizzatore della cultura hacker sembra essere in questi anni il carne-spazio, luoghi e situazioni sovversive in cui ho avuto la fortuna di conoscere moltissimi hacker. Consiglio di partire dagli hacklab, gli incontri a cadenza annuale (hackmeeting, offdem), gli spazi occupati e i fablab. Talvolta si ha fortuna anche nelle università, specialmente se ci sono gruppi che partecipano ai Capture The Flag. +Quando si vuole tornare nel cyberspazio è pieno di posti felici (e soprattutto interessanti) che si mantengono ancora distanti dai germi del web:</p> +<ul> +<li> +<p>irc</p> +</li> +<li> +<p>le mailing list</p> +</li> +<li> +<p>i tracker privati</p> +</li> +<li> +<p>forum e blog su reti alternative (Tor, I2P, Freenet)</p> +</li> +<li> +<p>I cyberspazi di incontro delle stesse comunità sovversive: <a href="https://www.autistici.org/">autistici</a>, <a href="francescomecca.eu/blog/2019/05/18/cultura-hacker/riseup.net/">riseup</a>, <a href="francescomecca.eu/blog/2019/05/18/cultura-hacker/disroot.org">disroot</a></p> +</li> +</ul></div>lezionePesceWandapolitecnicopolitoRivoluzione Digitalefrancescomecca.eu/blog/2019/05/18/cultura-hacker/Mon, 06 Apr 2020 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 diff --git a/output/categories/rivoluzione-digitale/index.html b/output/categories/rivoluzione-digitale/index.html index 2f8a7eb..4ced354 100644 --- a/output/categories/rivoluzione-digitale/index.html +++ b/output/categories/rivoluzione-digitale/index.html @@ -42,6 +42,9 @@
-

Addio Reddit

+

Un articolo per r/italyinformatica

+
+ +
+
+
+

Questo articolo è stato originalmente scritto per il blog di r/italyinformatica.

+

Negli ultimi anni abbiamo assistito all'ascesa di un gran numero di linguaggi di programmazione, in particolare Go (2009), Rust (2010), Kotlin (2011), Elixir (2011), Crystal (2014), Pony (2014).

+

Questa esplosione di nuovi linguaggi è dovuta, fra le molte motivazioni, alla necessità di adottare paradigmi di programmazione non immediatamente recenti come cittadini di primo tipo.

+

Rispetto ai più maturi C, C++ o Java, Python o Ruby questi linguaggi offrono "out of the box" supporto per:

+
    +
  • una visione moderna delle concorrenze (le goroutines di Go o il modello ad attori di Pony ed Elixir)
  • +
  • Memory safeness, in particolare:
      +
    • assenza di NULL (Pony, Rust, Kotlin)
    • +
    • gestione automatica della memoria, il cosiddetto Garbage Collector +
    • +
    • assenza di puntatori
    • +
    • assenza di deadlocks
    • +
    +
  • +
  • Supporto ad HTTP nella standard library
  • +
  • Management delle dipendenze (ad eccezione di Kotlin)
  • +
  • Namespaces
  • +
+

Chiaramente nessuno di questi linguaggi è oggettivamente superiore agli altri, sono tutti turing completi e la scelta del programmatore ricade su motivazioni del tutto personali (stile, programmazione ad oggetti, familiarità con altri linguaggi).

+

Un pò di contesto

+

Ho scritto la mie prime due righe di codice nel 2013 per il corso di Computer Science del Politecnico di Torino.

+

Per mia fortuna, al Politecnico le cose si muovono ancora lentamente e ci hanno fatto usare C per tutta la durata della triennale. Si è aggiunto un corso di principi della programmazione ad oggetti al terzo anno, in Java.

+

Personalmente ho imparato durante l'estate di quel primo anno le basi di C++ e Python poco dopo.

+

Sono stati con i miei primi progetti che ho capito che non si può avere un buon linguaggio senza un buon tooling ed una community vivace e soprattutto tanta, tanta documentazione. Per questo, per molto tempo C è stata la mia prima scelta, dato che il mio target è sempre Linux.

+

Gli obbiettivi prima del linguaggio

+

Questo post vuole essere una raccolta più o meno organizzata delle motivazioni per cui mi sono dovuto muovere oltre la frontiera di C nel mio ultimo progetto, ovvero un backend per la raccolta e presentazione di pubblicazione di ricerca e materiale didattico per più di 80 centri di ricerca.

+

Per il Centro Nexa del Politecnico di Torino mi sono ritrovato per la prima volta responsabile del codice che dovevo scrivere e dell'uso che se ne sarebbe fatto.

+

Ho dovuto tenere in considerazione, oltre chiaramente alla funzionalità della piattaforma, in ordine di priorità:

+
    +
  1. Sicurezza
  2. +
  3. Performance e scalabilità
  4. +
  5. Separazione dal frontend
  6. +
  7. Facilità di deploy in un server che non controllo
  8. +
+

Fortunatamente non mi è stata imposta nessuna limitazione sulla scelta del linguaggio, altrimenti Python sarebbe stato la scelta più adeguata se avessi dovuto tener conto anche di altri programmatori.

+

Benvenuto D

+

La mia scelta è caduta su D.

+

Voglio provare ad affrontare ad uno ad uno i motivi di questa scelta magari inusuale.

+
Sicurezza
+

Nessuno vuole davvero vantarsi di usare un backend scritto in C/C++. Il buffer overflow può essere considerato il bug più comune e ci sono situazioni in cui non appaiono affatto in maniera ovvia.

+

Inoltre per un applicativo distribuito il Garbage Collector è la scelta più performante, specialmente se coordinato fra le varie istanze.

+

D offre questo di design, e benchè il suo GC sia frutto di numerose discussioni, offre in maniera del tutto innovativa, robustezza e sicurezza.

+

In particolare, D presenta:

+
    +
  • Array che sono slices (o ranges) ma non puntatori (e neanche oggetti)
  • +
  • Bound checking durante la fase di compilazione.
  • +
  • Inizializzazione automatica delle variabili.
  • +
  • Safe Casting (chiaramente come eredità di C++).
  • +
  • Restricted pointers: si può passare una funzione per referenza dichiarandola ref, ma solo quando passata come parametro o di ritorno. Inoltre non c'è nessuna pointer arithmetic.
  • +
  • +RAII, ovvero l'acquisizione delle risorse equivale alla loro assegnazione e Scopes: le variabili hanno una lifetime limitata allo scope di dichiarazione. Nessun dangling pointer come in C.
  • +
  • Strutture immutabili: come nelle specifiche di molti linguaggi funzionali, si può dichiarare una variabile come immutable e quindi può essere facilmente condivisa fra threads.
  • +
  • @safe, @trusted: le specifiche del linguaggio permettono di annotare delle funzioni come sicure o affidabili affinchè il compilatore controlli che non gestiscano puntatori (ad esempio interfacciandosi con C) ed utilizzino il subset "sicuro" del linguaggio (maggiori dettagli in seguito).
  • +
  • funzioni pure: le funzioni inoltre possono essere dichiarate pure, prive di effetti collaterali e sempre rientranti. Questo permette di evitare deadlocks e un controllo totale sul risultato delle funzioni.
  • +
+
Performance
+

Ci sono moltissime soluzioni per scrivere un applicativo che si interfaccia con il web, ma hanno tutte la loro origine nel famoso C10K problem.

+

Nel mio caso ho deciso di utilizzare un approccio asincrono con coroutines (anche detti threads leggeri).

+

Benchè D abbia supporto nativo alle coroutines, ho deciso di appoggiarmi al framework più comune per web dev in D: vibe.d.

+

Ogni volta che Vibe accetta una richiesta dall'esterno ed esegue una funzione bloccante (che interrompe l'esecuzione del programma fino al ritorno della funzione), questa viene messa in una pool di azioni da eseguire e Vibe controlla periodicamente che almeno una di queste sia pronta a ritornare un risultato e continuare con l'esecuzione di questa.

+

Inoltre, benchè questo meccanismo funzioni interamente su un solo thread, è elementare coordinare una thread pool che distribuisa il carico fra i vari core che eseguono migliaia di threads leggeri concorrentemente.

+
Contratti e Tests
+

Non amo scrivere commenti sui programmi. Penso sia assolutamente necessario commentare il codice di librerie ma al di fuori di queste il codice (buon codice) dovrebbe essere autoesplicativo.

+

Inoltre, nelle mie recenti esperienze, il comportamento del programma era chiaro a partire dai tests.

+

In D questo concetto viene portato agli estremi applicando il "Design by Contract programming.

+

Un contratto è la divisione di una funzione in:

+
    +
  • Precondizione, ovvero le condizioni che devono essersi verificate prima della chiamata della funzione;
  • +
  • Postcondizione, ovvero le condizioni che devono essere rispettate all'uscita della funzione (solitamente applicate al risultato);
  • +
  • Invarianti, ovvero le specifiche di una struttura dati che devono rimanere verificate in ogni funzione;
  • +
  • Corpo della funzione
  • +
+

Un esempio:

+
struct Clock {
+
+    short time;
+
+    invariant {
+
+    assert (time > 0);
+
+    }
+
+}
+
+short addReturnTime(Clock c, short n) 
+
+    in {
+        n > 0;
+
+    }
+
+    body {
+
+        return c->time + t;
+
+    }
+
+    out (result){
+
+        result > c->time;
+
+    }
+
+unittest {
+
+    auto clock = Clock(60);
+
+    assert (addReturnTime(clock, 10) == 70);
+
+}
+
+ + +

Come si nota dall'esempio il supporto ai tests è built-in nel linguaggio e distanti solo una flag in fase di compilazione.

+
Un approccio moderno alle concorrenze
+

Il modello primitivo delle concorrenze in Posix è discutibilmente datato e prono ad errori per il programmatore.

+

D di default evita la condivisione di dati fra Threads. +Fra le varie motivazioni c'è il fatto che questo rifletta più realisticamente l'hardware, ma sicuramente l'obbiettivo finale è la riduzione di bug.

+

Non voglio dilungarmi nei dettagli di ogni singolo approccio, ma per completezza D offre out of the box i seguenti modelli:

+
    +
  • Message passing e attori, ovvero tutti i dati che vogliono essere condivisi fra thread sono incapsulati in RPC;
  • +
  • Green threads, come nel mio caso;
  • +
  • Multi processing, ovvero man 3 fork +
  • +
  • TaskPools, ovvero future e promises di Python e Javascript;
  • +
  • SIMD vectorization
  • +
+

Andrei Alexandrescu, uno dei due creatori del linguaggio, dedica un intero capitolo alle concorrenze che potete leggere liberamente qui.

+
Assenza di dogmatismi
+

Non potrei mai pensare di scrivere un linguaggio di programmazione senza mettere al secondo posto la semplicità.

+

Ma chiaramente ancora prima di discutere di semplicità la dobbiamo definire.

+

Go e Python sono due linguaggi semplici. Lo sono per la ridotta sintassi (Go in particolare) e perchè attraverso il loro dogmatismo costringono il programmatore ad adottare dei paradigmi di programmazione scelti dai designer di quel linguaggio. E` il motivo per cui in python non abbiamo delle vere lambda e per cui Go non ha le eccezioni.

+

In D il programmatore ha libertà piena di scelta. Oltre ad un paradigma di programmazione si può ridefinire la sintassi e evitare il Garbage Collector. Si può in ultimo disattivare tutte le feature del linguaggio che sono @safe e adottare uno stile molto più vicino al C/C++, con tanto di inline asm.

+

Dove iniziare

+

Non posso non concludere un post propagandistico senza indirizzare i più interessati alle prime risorse per imparare D.

+

Personalmente consiglio il libro di Andrei che offre in particolare moltissimi dettagli sulle motivazioni del design di D. Non ho ancora letto un libro che affrontasse così chiaramente il design di linguaggi di programmazione e i vari compromessi fra performance, semplicità e complessità del compilatore.

+

Inoltre il sito della community offre due intro per chi proviene da C e C++, oltre al classi tour.

+

Inoltre la libreria standard, Phobos, è talmente chiara che solitamente mi trovo a mio agio a consultare direttamente il codice piuttosto che la documentazione online.

+
+
+


+

Addio Reddit

diff --git a/output/index.html b/output/index.html index 0a7234c..44f13b3 100644 --- a/output/index.html +++ b/output/index.html @@ -12,7 +12,7 @@ - +
@@ -30,7 +30,349 @@ Github Curriculum
-

Dconf 2019

+

Breve storia della cultura hacker

+
+ +
+
+
+

Per tre anni ho svolto una lezione sulla cultura hacker che precedentemente era tenuta da Simone Basso al Politecnico di Torino per il corso Rivoluzione Digitale. +Quest'anno, data la situazione con il corona virus e dato che non voglio essere registrato (cosa inevitabile qualora organizzassi una videolezione), ho deciso di scrivere questo blogpost dove riassumo quello che solitamente espongo.

+

Scopo della lezione

+

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 è alle radici dell'informatica come strumento di cultura di massa.

+

Jargon File

+

Così 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 ritrovarono su usenet e mailing list: in maniera non organizzata alcuni membri di queste comunità iniziarono a raccogliere gli slang più utilizzati e le storie legate a questi modi di esprimersi.

+

Con l'espandersi della comunità il Jargon File funge da guida introduttiva ai canoni e alle etichette in uso: per questo Eric S. Raymond compiette un lavoro di riorganizzazione sistematica che terminò con l'ultima edizione del 2003.

+

ESR scrive:

+
+

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.

+
+

Esempi di slang e trasformazioni del lessico:

+
    +
  • +

    Data General -> Dirty Genitals

    +
  • +
  • +

    IBM 360 -> IBM Three-Sickly

    +
  • +
  • +

    Government Property -- Do Not Duplicate (on keys) -> Government Duplicity -- Do Not Propagate

    +
  • +
  • +

    for historical reasons -> for hysterical raisins

    +
  • +
  • +

    Margaret Jacks Hall (the CS building at Stanford) -> Marginal Hacks Hall

    +
  • +
  • +

    Microsoft -> Microsloth

    +
  • +
  • +

    Internet Explorer -> Internet Exploiter

    +
  • +
  • +

    Microsoft Outlook -> Microsoft Outhouse

    +
  • +
  • +

    Linux -> Linsux

    +
  • +
  • +

    FreeBSD -> FreeLSD

    +
  • +
  • +

    C# -> C Flat

    +
  • +
  • +

    Più generale: "Ready for foodP?" (in Lisp la P sta per predicato con risultato booleano true|false)

    +
  • +
+

Definizione della parola hacker

+

Definition of hacker

+

Del termine hacker abbiamo più definizioni, alcune indifferenti all'uso di sistemi informatici:

+
    +
  1. +

    Una persona che prova delizia dall'esplorare i dettagli di un sistema programmabile fino a raggiungerne i limiti possibili

    +
  2. +
  3. +

    una persona a cui piace programmare e lo fa per la maggior parte del tempo in maniera pratica

    +
  4. +
  5. +

    una persona capace di programmare celermente e con precisione

    +
  6. +
  7. +

    un esperto di un particolare argomento e su cui lavora spesso, ad esempio Unix Hacker

    +
  8. +
  9. +

    una persona che trova piacere nella sfida intellettuale di superare un limite in maniera creativa

    +
  10. +
+

A me piace raccogliere queste definizioni parafrasando Larry Wall: essere un hacker non è l'obbiettivo: gli obbiettivi variano in base alle persone ed al contesto. Un hacker è qualcuno che raggiunge il proprio obbiettivo superando le norme culturali e sociali.

+

Nell'immagine appaiono due definizioni, la prima che abbiamo già analizzato, è la definizione contenuta nel Jargon File e in fondo appare quella dell'Oxford Dictionary. +Si evince che il significato della parola hacker nel gergo comune si è via via svuotato per poi andare a sostituire quello del termine cracker.

+

Un cracker è 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 ma debba velocemente maturare verso forme creative più nobili.

+

Chiave di lettura

+

Nella storia della cultura hacker si possono distinguere tre tipi di persone:

+
    +
  • +

    i poeti e matematici, come Donald Knuth

    +
  • +
  • +

    gli esperti di determinate tipologie di hardware o software, come Bruce Schneier

    +
  • +
  • +

    i makers, coloro che costruiscono ciò che gli altri usano, come Bill Gates. +Chiaramente moltissime delle personalità di cui parleremo rientrano in più di una di queste categoria. In tutti i casi è importante capire che sono tre approcci complementari.

    +
  • +
+

Storia

+

In the beginning there were the real programmers

+

La storia della cultura hacker inizia da persone che all'epoca chiaramente non si nominavano tali.

+

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.

+

Fra i più 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 funzionò al primo avvio.

+

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.

+

Da qui parte il primo filone della storia della cultura hacker, quello universitario.

+

I primi hacker, la tribù connessa

+

Rimanendo all'interno delle università gli albori della cultura hacker sono estremamente legati alle macchine che queste istituzioni mettevano a disposizione degli studenti.

+

Le macchine preferite dagli hacker appartenevano alla linea dei PDP, prodotti dalla Digital Equipment Corporation (DEC). +Lo stesso PDP-11, come evidenziato da (questo racconto)[https://web.archive.org/web/20080718223330/cm.bell-labs.com/cm/cs/who/dmr/chist.html], è stato molto influente nello sviluppo del linguaggio C.

+

pdp-11

+

Nei laboratori del MIT, nonostante utilizzassero le stesse macchine che in altre università (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 più alto livello (LISP, lingua franca della cultura hacker) rispetto al sistema operativo distribuito da DEC nei PDP.

+

Questo è un atteggiamento esemplificativo della cultura hacker di quel tempo: esplorare un sistema nei dettagli per poi superarne i limiti in maniera creativa.

+

Nel frattempo stava nascendo Arpanet, per altro inizialmente costituita da computer della linea dei PDP, che forniva l'accesso a centinaia di università e laboratori di ricerca.

+

Questo permise a moltissimi hacker di superare le loro cerchie ristrette e condividere i propri lavori con una massa sempre più ampia di entusiasti.

+

Arpanet permise la propagazione di tantissimi artefatti, fra questi le prime versioni del Jargon File.

+

La nascita di Unix

+

Nel frattempo, nello stesso anno in cui nacque Arpanet, nei Bell Labs veniva sviluppato Unix.

+

All'epoca ogni computer forniva strumenti ed interfacce incompatibili fra loro. L'idea di Ken Thompson è stata quella di fornire un'interfaccia unificata e le stesse funzionalità su macchine diverse.

+

Per raggiungere questo scopo, ovvero un sistema operativo universale chiamato Unix, Dennis Ritchie inventò un nuovo linguaggio che potesse facilitare lo sviluppo per Thompson: C. +Anche C ha lo stesso obbiettivo di Unix, la portabilità fra macchine diverse.

+

C è sopravvissuto fino ad oggi e la filosofia di Unix, Keep It Simple and Stupid, è rimasta valida nei suoi discendenti.

+

Freak + Phone = Phreaking

+

Il reverse engineering è una pratica comune a molti hacker che consiste nel deconstruire un oggetto (o successivamente del software) in modo da rivelarne il funzionamento.

+

I phreaker si occupano del reverse engineering della rete telefonica, usando nel 1970 dei toni audio per emettere comandi in rete.

+

Il più celebre fra questi è John Draper che scoprì 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.

+

John Draper e il fischietto blue

+

Gli stessi Jobs e Wozniak iniziarono la loro carriera producendo delle blue box che permettevano di fare chiamate gratis o internazionali a prezzi ridotti. +L'azione di John Draper ebbe anche effetti benefici: le telefonate in quegli erano molto costose, specialmente da stato a stato, ed il fischietto blu permetteva a persone molto isolate in quegli anni di comunicare come mai prima di allora.

+

Digressione: Anarco Illuminismo

+

La cultura hacker, perlomeno fino a questa parte del racconto, raccoglie in sé ideali di due ideologie differenti.

+

Da una parte l'ideale illuminista della diffusione della conoscenza era l'obbiettivo ultimo di moltissimi hacker, forse secondo solo al piacere intellettuale.

+

Le informazioni venivano sempre condivise su Arpanet e successivamente su Internet e concesse senza alcuna restrizione.

+

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.

+

Nonostante ciò fino ad allora non era stato compiuto nessun tentativo di formalizzare gli ideali di questa cultura.

+

L'era del software proprietario

+

Negli anni 80 la cultura hacker era sostanzialmente spaccata in tre gruppi diversi, dagli ideali simili ma organizzati attorno a tecnologie estremamente differenti:

+
    +
  • +

    il gruppo di Arpanet/PDP, principalmente nato agli AI Labs del MIT, molti di loro iniziavano ad essere assunti nelle prime startup

    +
  • +
  • +

    il gruppo di Unix e C, che poneva le basi di internet e dei protocolli ancora oggi utilizzati

    +
  • +
  • +

    una serie meno organizzata di gruppetti più anarchici che si dedicavano al reverse engineering e allo studio di tecnologie e linguaggi alternativi a quelle viste precedentemente

    +
  • +
+

Nel frattempo iniziavano a diventare più comuni le prime macchine prodotte da Apple e Microsoft. In realtà 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.

+

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.

+

Nel 1983 DEC annunciò la fine della linea dei PDP, definendo così la morte del primo gruppo. +Nel 1984 Bell fu scorporata e AT&T acquisi i diritti di molti dei suoi prodotti, tra cui Unix.

+

L'hackerdom vide il pericolo che uno dei suoi più cari lavori venisse rubato da una grande compagnia e facesse la fine di tutto il software proprietario di quell'epoca.

+

Per questo in quel decennio si combatté una dura battaglia fra le prime versioni di BSD Unix, nato dalle ceneri di Unix, e la versione proprietaria di AT&T. +BSD Unix si diffuse in maniera capillare, in particolare nelle infrastrutture di rete data la qualità delle sue implementazioni, ma AT&T vinse molte battaglie legali appropriandosi di vari standard.

+

Verso una prima ideologia hacker

+

In quegli anni era ormai ovvio che senza acquisire maggiore consapevolezza molto del potere in mano a queste comunità sarebbe sparito lentamente.

+

Inoltre iniziavano ad avere risalto i primi fenomeni di cracking e l'intervento dei governi si fece più severo (benché non sia paragonabile alla copertura che tali eventi hanno oggi).

+

La soluzione proposta risiede nella congiunzione di tre idee:

+
    +
  • +

    decentralizzazione

    +
  • +
  • +

    crittografia

    +
  • +
  • +

    software libero

    +
  • +
+

Decentralizzazione

+

La decentralizzazione è il processo in cui un'attività viene distribuita in maniera equa fra tutti i partecipanti, in opposizione ad un'organizzazione più gerarchica e autoritaria.

+

L'assunto alla base è il principio Manzoniano per cui una persona che detiene il potere si ritroverà prima o poi costretta a compiere decisioni non etiche. La soluzione è quella di ridurre il potere distribuendolo ai margini dell'infrastruttura.

+

Un'esempio di decentralizzazione è l'architettura di internet, almeno nelle sue prime forme, dove non c'è un'autorità centrale ma ogni nodo ha eguale importanza. +Un'esempio più attuale è la rete Bittorrent.

+

Crittografia

+

Nel 1992 nasce una mailing list (ad oggi ancora attiva) chiamata Cypherpunks, dal gioco fra i termini cypher e cyberpunk.

+

Tutte le discussioni di questo gruppo vertono sull'uso della crittografia e sul concetto di privacy e anonimato.

+

L'idea alla base (Cypherpunk's Manifesto) è che la privacy è necessaria per poter costituire una società aperta nell'era dell'informazione; non c'è alcuna garanzia che i governi o le corporazioni si facciano garanti di questi ideali quindi la privacy va difesa dai singoli.

+

Il gruppo ha portato alla creazione di software crittografico (fra cui TOR), protocolli per la comunicazione riservata e atti di disobbedienza civile.

+

Sempre in quegli anni, mentre il governo americano cercava di indebolire le infrastrutture di telecomunicazione con il Telecommunications Act del '96, John Perry Barlow pubblicò un manifesto: (la dichiarazione di independenza del Cyberspazio)[https://www.eff.org/cyberspace-independence]. +Nel manifesto il governo (americano) viene dipinto come un gigante di acciaio e carne e gli hacker come individui autoeletti, proveniente dal futuro, che si oppongo all'invasione di potere nel cyberspazio. Barlow evidenzia come le leggi che governano questa comunità indipendente sono del tutto estranee alle angherie e alle regole imposte con la forza del mondo prima del cyberspazio.

+

Un documento ben più estremo di quello di Barlow è il Cyphernomicon di Timothy C. May, uno dei primi ingegneri di Intel e importantissima figura nella mailing list Cypherpunks. +Nel Cyphernomicon vengono discussi argomenti con una forte connotazione antagonista e vengono affrontati molti argomenti tabù.

+

Software Libero

+

Richard Stallman nel 1980 modificò 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.

+

Quando nel 1980 la stampante fu sostituita Xerox si rifiutò di concedere a Stallman le facoltà 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.

+

Nel 1984 Stallman si licenziò dal MIT per lavorare a tempo pieno al suo progetto, GNU: una versione di Unix modificata che concedesse agli utenti finali le libertà da lui desiderate tramite l'utilizzo esclusivo di software libero. +Nel rispetto della cultura hacker GNU conquistò subito l'interesse della comunità.

+

Il progetto GNU è una collezione di software di qualsiasi tipo che rispetti le libertà garantite dalla licenza GPL; fra questi i più famosi sono GCC, emacs, Octave, R ma anche software di attivismo, gestione delle finanze e tant'altro.

+

Il progetto sarebbe dovuto essere completato da un kernel, HURD, che ad oggi è ancora molto instabile.

+

Nel frattempo, in Europa, Linus Torvalds, in sintonia con quell'atteggiamento di opposizione e rivolta tipico della cultura hacker , iniziò a sviluppare il kernel Linux seguendo un approccio inusuale che fu fortemente criticato dal suo professore, Andrew S. Tanenbaum. Questo dibattito fu il soggetto di un'enorme flame war su usenet.

+

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.

+

Questo ha portato a quello che oggi viene chiamato da molti Linux ma che in realtà andrebbe chiamato GNU/Linux.

+

Linus Torvalds e Richard Stallman

+

Lo stato della cultura hacker oggi

+

Abbiamo visto fino ad ora che ci sono stati tre filoni della cultura hacker, quello universitario, quello più amatoriale e pratico, rivolto all'exploitation e infine quello più ideologico.

+

È molto difficile cercare di interpretare la direzione di questa sottocultura (se ancora si può definire tale), specialmente per chi come me non ne ha le competenze benché si ritrovi spesso a parlare e conoscere con persone che hanno fatto proprio l'atteggiamento della cultura hacker.

+

Nonostante ciò ogni anno ho provato a trasmettere agli studenti delle mie considerazioni sulla situazione presente, da differenti punti di vista.

+

Disobbedienza civile elettronica

+

Non penso di dovermi soffermare ma due figure molto importanti della cultura hacker sono Edward Snowden e Julian Assange (Mendax).

+

Queste due persone e tutto quello che hanno fatto rappresentano ciò che il potere teme di internet.

+

Inoltre, riguardo i fatti recenti:

+
+

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. + Mantellini sul Post.

+
+

I primi due anni ho provato a concentrarmi su queste domande:

+
    +
  • +

    la cultura hacker ha ancora una componente di forte antagonismo nei confronti del potere stabilit?

    +
  • +
  • +

    Sono ancora possibili atti come quelli degli attivisti del cypherpunk?

    +
  • +
+

Quando si parla di Assange e Snowden si parla di politica e media, ovvero potere e controllo.

+

Prima dell'arrivo di internet e dell'informatica il cuore degli organismi di potere e controllo era facile da individuare.

+

Penso al fascismo, dove come spiega Mosse in "Il fascismo. Verso una teoria generale", l'architettura stessa aveva carattere intimidatorio.

+

Gli "antagonisti" del potere non dovevano fare altro che riunirsi in qualche maniera organizzata e far fronte a queste strutture, fisicamente affrontare la loro solidità. +È il motivo per cui nella cultura pop V per Vendetta termina con l'esplosione del parlamento e Fight Club con il crollo delle banche.

+

Il regime collassa una volta che l'opposizione ne ha distrutto la fortezza in cui risiede.

+

Questo ad oggi non è più vero, gli edifici benché siano ancora visibili si sono svuotati e il potere si muove come desidera attraverso un flusso ininterrompibile di bits.

+

Così quando nel 2016 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 riuscì a recuperare il controllo della situazione prendendo contatto e mobilitando la resistenza.

+

Possiamo a questo punto provare ad affermare che il potere risieda nelle persone e non più nelle strutture fisiche.

+

Eppure quando nell'aprile del 2018 il congresso statunitense ha affrontato Zuckerberg con un documento di più di 1000 pagine, il potere di Facebook non era presente neanche sotto la forma fisica di un ragazzo di trent'anni.

+

Questo ce lo dimostra il fatto che a domande come:

+
    +
  • +

    "Did Facebook deceive its users?"

    +
  • +
  • +

    "if I delete my account, how long does Facebook keep my data?"

    +
  • +
  • +

    "Does Facebook use cross-device tracking?"

    +
  • +
  • +

    "What data is being sold?"

    +
  • +
  • +

    "Is facebook censoring specific groups?"

    +
  • +
  • +

    "What’s Facebook’s reach beyond its website?"

    +
  • +
  • +

    "How much information does Facebook have on non-Facebook users?"

    +
  • +
+

Zuckerberg ha potuto affermare che non conosce la risposta o che può chiedere al suo team e rispondere in futuro.

+
+

Whether you know it or not, if you are a hacker, you are a revolutionary

+
+

Una volta compreso ciò queste parole di Doctor Crash su phrack appaiono ingenue.

+

Gli hacker combattono per il libero accesso all'informazione senza poi discutere di come queste nuove conoscenze andrebbero applicate.

+

Sempre Doctor Crash scrive:

+
+

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."

+
+

Questo, complice la cultura hacker, oggi non è più possibile.

+

Per questo, la risposta alle prima domanda è no, la cultura hacker non ha mantenuto, A MIO PARERE, una componente antagonista. Questo perché, azioni di protesta come quelle degli hacktivisti alla Anonymous, o come nel più romanzato Mr Robot, ammontano a nulla per i motivi sopracitati. Lo stesso leak dei documenti della NSA compiuto da Snowden ha avuto effetti discutibili e di sicuro non ci ha portati ad un cambiamento di tendenza nei confronti della tecnosorveglianza.

+

Opensource e Free Software

+

Nell'ultima lezione, anno 2019, mi son concentrato maggiormente sulla cultura del software libero.

+

Nel 2019 il termine opensource ha soppiantato quello di software libero allo stesso modo di come il termine hacker è stato corrotto mediaticamente andando a ricoprire il significato di cracker.

+

Stallman nel 2007 già ci avvertiva che il software opensource manca l'obbiettivo:

+
+

I due termini descrivono all'incirca la stessa categoria di software. Ma si basano su valori fondamentalmente diversi. +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à.

+
+

Quando ancora GNU/Linux girava sotto forma di dischi o floppy Steve Ballmer diceva che il software libero è cancro o comunismo.

+

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.

+

Basta fare un giro su stackshare.io per avere un'idea di quanto i colossi del web siano dipendenti dal software opensource.

+

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.

+

Ne sono un esempio gitlab, redislab e elasticsearch.

+

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.

+

Questo 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 libertà 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.

+

Conclusione: come diventare un hacker

+

ESR mantiene da anni una breve guida a come diventare un hacker, organizzata su cinque punti:

+
    +
  1. +

    Il mondo è pieno di problemi affascinanti che aspettano di essere risolti

    +
  2. +
  3. +

    Nessun problema andrebbe risolto due volte

    +
  4. +
  5. +

    La noia e la fatica sono malvagi

    +
  6. +
  7. +

    La libertà è una buona cosa

    +
  8. +
  9. +

    Le maniere e la forma non mascherano le competenze

    +
  10. +
+

Appendice: Hacker oggi

+

Immagino che al termine di questa lettura sorga un dubbio: dove sono andati a finire gli hacker? +O meglio, una persona nata inevitabilmente nell'era del capitalismo della sorveglianza dove può imparare e poi mettere in pratica o far sue gli ideali propri della cultura hacker?

+

Nutro molte pochissime speranze nei confronti del web che a mio avviso è morto nel 1995 quando emersero i primi siti a scopo di lucro. Oggi il web è diventato un agglomerato di isole irraggiungibili le une dall'altre (i famosi walled garden) dove in molti casi si formano comunità di utenti che senza originalità propongono gli stessi contenuti o ripetono le stesse domande. Ne è un esempio reddit la cui qualità è andata degradando di anno in anno nel tentantivo di essere il più accogliente possibile nei confronti dei nuovi utenti. Quando l'effetto eternal september non dovesse bastare, masse di "growth hacker", uffici di marketing o giganti di metallo e carne si impossessano degli ultimi angoli inesplorati del web per renderli una palude pubblicitaria, come è successo a:

+
    +
  • +

    reddit

    +
  • +
  • +

    hacker news

    +
  • +
  • +

    medium

    +
  • +
  • +

    github

    +
  • +
  • +

    yahoo

    +
  • +
  • +

    youtube

    +
  • +
  • +

    la lista è infinita

    +
  • +
+

Come già affermato per i sistemi Microsoft ed Apple, l'assenza di comunità hacker nel web è dovuto alle forti imposizioni (motivate dal profitto) e l'impossibilità di riuso dei costumi e delle conoscenze sviluppati una volta che la piattaforma cambia.

+

Il catalizzatore della cultura hacker sembra essere in questi anni il carne-spazio, luoghi e situazioni sovversive in cui ho avuto la fortuna di conoscere moltissimi hacker. Consiglio di partire dagli hacklab, gli incontri a cadenza annuale (hackmeeting, offdem), gli spazi occupati e i fablab. Talvolta si ha fortuna anche nelle università, specialmente se ci sono gruppi che partecipano ai Capture The Flag. +Quando si vuole tornare nel cyberspazio è pieno di posti felici (e soprattutto interessanti) che si mantengono ancora distanti dai germi del web:

+
    +
  • +

    irc

    +
  • +
  • +

    le mailing list

    +
  • +
  • +

    i tracker privati

    +
  • +
  • +

    forum e blog su reti alternative (Tor, I2P, Freenet)

    +
  • +
  • +

    I cyberspazi di incontro delle stesse comunità sovversive: autistici, riseup, disroot

    +
  • +
+
+
+


+

Dconf 2019

@@ -335,154 +677,6 @@ The following is a list of the positive and negative results of such studies gro


-

Un articolo per r/italyinformatica

-
- -
-
-
-

Questo articolo è stato originalmente scritto per il blog di r/italyinformatica.

-

Negli ultimi anni abbiamo assistito all'ascesa di un gran numero di linguaggi di programmazione, in particolare Go (2009), Rust (2010), Kotlin (2011), Elixir (2011), Crystal (2014), Pony (2014).

-

Questa esplosione di nuovi linguaggi è dovuta, fra le molte motivazioni, alla necessità di adottare paradigmi di programmazione non immediatamente recenti come cittadini di primo tipo.

-

Rispetto ai più maturi C, C++ o Java, Python o Ruby questi linguaggi offrono "out of the box" supporto per:

-
    -
  • una visione moderna delle concorrenze (le goroutines di Go o il modello ad attori di Pony ed Elixir)
  • -
  • Memory safeness, in particolare:
      -
    • assenza di NULL (Pony, Rust, Kotlin)
    • -
    • gestione automatica della memoria, il cosiddetto Garbage Collector -
    • -
    • assenza di puntatori
    • -
    • assenza di deadlocks
    • -
    -
  • -
  • Supporto ad HTTP nella standard library
  • -
  • Management delle dipendenze (ad eccezione di Kotlin)
  • -
  • Namespaces
  • -
-

Chiaramente nessuno di questi linguaggi è oggettivamente superiore agli altri, sono tutti turing completi e la scelta del programmatore ricade su motivazioni del tutto personali (stile, programmazione ad oggetti, familiarità con altri linguaggi).

-

Un pò di contesto

-

Ho scritto la mie prime due righe di codice nel 2013 per il corso di Computer Science del Politecnico di Torino.

-

Per mia fortuna, al Politecnico le cose si muovono ancora lentamente e ci hanno fatto usare C per tutta la durata della triennale. Si è aggiunto un corso di principi della programmazione ad oggetti al terzo anno, in Java.

-

Personalmente ho imparato durante l'estate di quel primo anno le basi di C++ e Python poco dopo.

-

Sono stati con i miei primi progetti che ho capito che non si può avere un buon linguaggio senza un buon tooling ed una community vivace e soprattutto tanta, tanta documentazione. Per questo, per molto tempo C è stata la mia prima scelta, dato che il mio target è sempre Linux.

-

Gli obbiettivi prima del linguaggio

-

Questo post vuole essere una raccolta più o meno organizzata delle motivazioni per cui mi sono dovuto muovere oltre la frontiera di C nel mio ultimo progetto, ovvero un backend per la raccolta e presentazione di pubblicazione di ricerca e materiale didattico per più di 80 centri di ricerca.

-

Per il Centro Nexa del Politecnico di Torino mi sono ritrovato per la prima volta responsabile del codice che dovevo scrivere e dell'uso che se ne sarebbe fatto.

-

Ho dovuto tenere in considerazione, oltre chiaramente alla funzionalità della piattaforma, in ordine di priorità:

-
    -
  1. Sicurezza
  2. -
  3. Performance e scalabilità
  4. -
  5. Separazione dal frontend
  6. -
  7. Facilità di deploy in un server che non controllo
  8. -
-

Fortunatamente non mi è stata imposta nessuna limitazione sulla scelta del linguaggio, altrimenti Python sarebbe stato la scelta più adeguata se avessi dovuto tener conto anche di altri programmatori.

-

Benvenuto D

-

La mia scelta è caduta su D.

-

Voglio provare ad affrontare ad uno ad uno i motivi di questa scelta magari inusuale.

-
Sicurezza
-

Nessuno vuole davvero vantarsi di usare un backend scritto in C/C++. Il buffer overflow può essere considerato il bug più comune e ci sono situazioni in cui non appaiono affatto in maniera ovvia.

-

Inoltre per un applicativo distribuito il Garbage Collector è la scelta più performante, specialmente se coordinato fra le varie istanze.

-

D offre questo di design, e benchè il suo GC sia frutto di numerose discussioni, offre in maniera del tutto innovativa, robustezza e sicurezza.

-

In particolare, D presenta:

-
    -
  • Array che sono slices (o ranges) ma non puntatori (e neanche oggetti)
  • -
  • Bound checking durante la fase di compilazione.
  • -
  • Inizializzazione automatica delle variabili.
  • -
  • Safe Casting (chiaramente come eredità di C++).
  • -
  • Restricted pointers: si può passare una funzione per referenza dichiarandola ref, ma solo quando passata come parametro o di ritorno. Inoltre non c'è nessuna pointer arithmetic.
  • -
  • -RAII, ovvero l'acquisizione delle risorse equivale alla loro assegnazione e Scopes: le variabili hanno una lifetime limitata allo scope di dichiarazione. Nessun dangling pointer come in C.
  • -
  • Strutture immutabili: come nelle specifiche di molti linguaggi funzionali, si può dichiarare una variabile come immutable e quindi può essere facilmente condivisa fra threads.
  • -
  • @safe, @trusted: le specifiche del linguaggio permettono di annotare delle funzioni come sicure o affidabili affinchè il compilatore controlli che non gestiscano puntatori (ad esempio interfacciandosi con C) ed utilizzino il subset "sicuro" del linguaggio (maggiori dettagli in seguito).
  • -
  • funzioni pure: le funzioni inoltre possono essere dichiarate pure, prive di effetti collaterali e sempre rientranti. Questo permette di evitare deadlocks e un controllo totale sul risultato delle funzioni.
  • -
-
Performance
-

Ci sono moltissime soluzioni per scrivere un applicativo che si interfaccia con il web, ma hanno tutte la loro origine nel famoso C10K problem.

-

Nel mio caso ho deciso di utilizzare un approccio asincrono con coroutines (anche detti threads leggeri).

-

Benchè D abbia supporto nativo alle coroutines, ho deciso di appoggiarmi al framework più comune per web dev in D: vibe.d.

-

Ogni volta che Vibe accetta una richiesta dall'esterno ed esegue una funzione bloccante (che interrompe l'esecuzione del programma fino al ritorno della funzione), questa viene messa in una pool di azioni da eseguire e Vibe controlla periodicamente che almeno una di queste sia pronta a ritornare un risultato e continuare con l'esecuzione di questa.

-

Inoltre, benchè questo meccanismo funzioni interamente su un solo thread, è elementare coordinare una thread pool che distribuisa il carico fra i vari core che eseguono migliaia di threads leggeri concorrentemente.

-
Contratti e Tests
-

Non amo scrivere commenti sui programmi. Penso sia assolutamente necessario commentare il codice di librerie ma al di fuori di queste il codice (buon codice) dovrebbe essere autoesplicativo.

-

Inoltre, nelle mie recenti esperienze, il comportamento del programma era chiaro a partire dai tests.

-

In D questo concetto viene portato agli estremi applicando il "Design by Contract programming.

-

Un contratto è la divisione di una funzione in:

-
    -
  • Precondizione, ovvero le condizioni che devono essersi verificate prima della chiamata della funzione;
  • -
  • Postcondizione, ovvero le condizioni che devono essere rispettate all'uscita della funzione (solitamente applicate al risultato);
  • -
  • Invarianti, ovvero le specifiche di una struttura dati che devono rimanere verificate in ogni funzione;
  • -
  • Corpo della funzione
  • -
-

Un esempio:

-
struct Clock {
-
-    short time;
-
-    invariant {
-
-    assert (time > 0);
-
-    }
-
-}
-
-short addReturnTime(Clock c, short n) 
-
-    in {
-        n > 0;
-
-    }
-
-    body {
-
-        return c->time + t;
-
-    }
-
-    out (result){
-
-        result > c->time;
-
-    }
-
-unittest {
-
-    auto clock = Clock(60);
-
-    assert (addReturnTime(clock, 10) == 70);
-
-}
-
- - -

Come si nota dall'esempio il supporto ai tests è built-in nel linguaggio e distanti solo una flag in fase di compilazione.

-
Un approccio moderno alle concorrenze
-

Il modello primitivo delle concorrenze in Posix è discutibilmente datato e prono ad errori per il programmatore.

-

D di default evita la condivisione di dati fra Threads. -Fra le varie motivazioni c'è il fatto che questo rifletta più realisticamente l'hardware, ma sicuramente l'obbiettivo finale è la riduzione di bug.

-

Non voglio dilungarmi nei dettagli di ogni singolo approccio, ma per completezza D offre out of the box i seguenti modelli:

-
    -
  • Message passing e attori, ovvero tutti i dati che vogliono essere condivisi fra thread sono incapsulati in RPC;
  • -
  • Green threads, come nel mio caso;
  • -
  • Multi processing, ovvero man 3 fork -
  • -
  • TaskPools, ovvero future e promises di Python e Javascript;
  • -
  • SIMD vectorization
  • -
-

Andrei Alexandrescu, uno dei due creatori del linguaggio, dedica un intero capitolo alle concorrenze che potete leggere liberamente qui.

-
Assenza di dogmatismi
-

Non potrei mai pensare di scrivere un linguaggio di programmazione senza mettere al secondo posto la semplicità.

-

Ma chiaramente ancora prima di discutere di semplicità la dobbiamo definire.

-

Go e Python sono due linguaggi semplici. Lo sono per la ridotta sintassi (Go in particolare) e perchè attraverso il loro dogmatismo costringono il programmatore ad adottare dei paradigmi di programmazione scelti dai designer di quel linguaggio. E` il motivo per cui in python non abbiamo delle vere lambda e per cui Go non ha le eccezioni.

-

In D il programmatore ha libertà piena di scelta. Oltre ad un paradigma di programmazione si può ridefinire la sintassi e evitare il Garbage Collector. Si può in ultimo disattivare tutte le feature del linguaggio che sono @safe e adottare uno stile molto più vicino al C/C++, con tanto di inline asm.

-

Dove iniziare

-

Non posso non concludere un post propagandistico senza indirizzare i più interessati alle prime risorse per imparare D.

-

Personalmente consiglio il libro di Andrei che offre in particolare moltissimi dettagli sulle motivazioni del design di D. Non ho ancora letto un libro che affrontasse così chiaramente il design di linguaggi di programmazione e i vari compromessi fra performance, semplicità e complessità del compilatore.

-

Inoltre il sito della community offre due intro per chi proviene da C e C++, oltre al classi tour.

-

Inoltre la libreria standard, Phobos, è talmente chiara che solitamente mi trovo a mio agio a consultare direttamente il codice piuttosto che la documentazione online.

-
-
-



diff --git a/output/rss.xml b/output/rss.xml index 4e5c9c1..24eaa76 100644 --- a/output/rss.xml +++ b/output/rss.xml @@ -1,5 +1,337 @@ -Caught in the Netfrancescomecca.euenContents © 2020 <a href="mailto:francescomecca.eu">Francesco Mecca</a> Wed, 29 Jan 2020 10:04:35 GMTNikola (getnikola.com)http://blogs.law.harvard.edu/tech/rssDconf 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. +Caught in the Netfrancescomecca.euenContents © 2020 <a href="mailto:francescomecca.eu">Francesco Mecca</a> Tue, 28 Apr 2020 15:40:28 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>Per tre anni ho svolto una lezione sulla cultura hacker che precedentemente era tenuta da <a href="https://nexa.polito.it/people/sbasso">Simone Basso</a> al Politecnico di Torino per il corso <a href="http://rivoluzionedigitale.polito.it/">Rivoluzione Digitale</a>. +Quest'anno, data la situazione con il corona virus e dato che non voglio essere registrato (cosa inevitabile qualora organizzassi una videolezione), ho deciso di scrivere questo blogpost dove riassumo quello che solitamente espongo.</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 è alle radici dell'informatica come strumento di cultura di massa.</p> +<h2>Jargon File</h2> +<p>Così 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 ritrovarono su usenet e mailing list: in maniera non organizzata alcuni membri di queste comunità iniziarono a raccogliere gli slang più utilizzati e le storie legate a questi modi di esprimersi.</p> +<p>Con l'espandersi della comunità 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 terminò 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>Più generale: "Ready for foodP?" (in Lisp la P sta per predicato con risultato booleano true|false)</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>Del termine hacker abbiamo più 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 è l'obbiettivo: gli obbiettivi variano in base alle persone ed al contesto. Un hacker è qualcuno che raggiunge il proprio obbiettivo superando le norme culturali e sociali.</p> +<p>Nell'immagine appaiono due definizioni, la prima che abbiamo già analizzato, è la definizione contenuta nel Jargon File e in fondo appare quella dell'Oxford Dictionary. +Si evince che il significato della parola hacker nel gergo comune si è via via svuotato per poi andare a sostituire quello del termine cracker.</p> +<p>Un cracker è 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 ma debba velocemente maturare verso forme creative più nobili.</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 ciò che gli altri usano, come Bill Gates. +Chiaramente moltissime delle personalità di cui parleremo rientrano in più di una di queste categoria. In tutti i casi è 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 all'epoca chiaramente non si nominavano tali.</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 più 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 funzionò 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>Da qui parte il primo filone della storia della cultura hacker, quello universitario.</p> +<h4>I primi hacker, la tribù connessa</h4> +<p>Rimanendo all'interno delle università 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 appartenevano alla linea dei PDP, prodotti dalla Digital Equipment Corporation (DEC). +Lo stesso PDP-11, come evidenziato da (questo racconto)[https://web.archive.org/web/20080718223330/cm.bell-labs.com/cm/cs/who/dmr/chist.html], è stato molto influente nello sviluppo del linguaggio C.</p> +<p><img alt="pdp-11" src="francescomecca.eu/wp-content/uploads/2019/pdp11.jpg"></p> +<p>Nei laboratori del MIT, nonostante utilizzassero le stesse macchine che in altre università (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 più alto livello (LISP, lingua franca della cultura hacker) rispetto al sistema operativo distribuito da DEC nei PDP.</p> +<p>Questo è 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 università e laboratori di ricerca.</p> +<p>Questo permise a moltissimi hacker di superare le loro cerchie ristrette e condividere i propri lavori con una massa sempre più 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 Thompson è stata quella di fornire un'interfaccia unificata e le stesse funzionalità su macchine diverse.</p> +<p>Per raggiungere questo scopo, ovvero un sistema operativo universale chiamato Unix, Dennis Ritchie inventò un nuovo linguaggio che potesse facilitare lo sviluppo per Thompson: C. +Anche C ha lo stesso obbiettivo di Unix, la portabilità fra macchine diverse.</p> +<p>C è sopravvissuto fino ad oggi e la filosofia di Unix, Keep It Simple and Stupid, è rimasta valida nei suoi discendenti.</p> +<h3>Freak + Phone = Phreaking</h3> +<p>Il reverse engineering è 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, usando nel 1970 dei toni audio per emettere comandi in rete.</p> +<p>Il più celebre fra questi è John Draper che scoprì 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><img alt="John Draper e il fischietto blue" src="francescomecca.eu/wp-content/uploads/2019/draper.jpg"></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. +L'azione di John Draper ebbe anche effetti benefici: le telefonate in quegli erano molto costose, specialmente da stato a stato, ed il fischietto blu permetteva a persone molto isolate in quegli anni di comunicare come mai prima di allora.</p> +<h3>Digressione: Anarco Illuminismo</h3> +<p>La cultura hacker, perlomeno fino a questa parte del racconto, raccoglie in sé 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 ciò 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 poneva le basi di internet e dei protocolli ancora oggi utilizzati</p> +</li> +<li> +<p>una serie meno organizzata di gruppetti più 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 più comuni le prime macchine prodotte da Apple e Microsoft. In realtà 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 annunciò la fine della linea dei PDP, definendo così 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 il pericolo che uno dei suoi più 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 combatté 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 qualità 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 comunità sarebbe sparito lentamente.</p> +<p>Inoltre iniziavano ad avere risalto i primi fenomeni di cracking e l'intervento dei governi si fece più severo (benché 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 è il processo in cui un'attività viene distribuita in maniera equa fra tutti i partecipanti, in opposizione ad un'organizzazione più gerarchica e autoritaria.</p> +<p>L'assunto alla base è il principio Manzoniano per cui una persona che detiene il potere si ritroverà prima o poi costretta a compiere decisioni non etiche. La soluzione è quella di ridurre il potere distribuendolo ai margini dell'infrastruttura.</p> +<p>Un'esempio di decentralizzazione è l'architettura di internet, almeno nelle sue prime forme, dove non c'è un'autorità centrale ma ogni nodo ha eguale importanza. +Un'esempio più attuale è la rete Bittorrent.</p> +<h4>Crittografia</h4> +<p>Nel 1992 nasce una mailing list (ad oggi ancora attiva) chiamata Cypherpunks, 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) è che la privacy è necessaria per poter costituire una società aperta nell'era dell'informazione; non c'è 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> +<p>Sempre in quegli anni, mentre il governo americano cercava di indebolire le infrastrutture di telecomunicazione con il Telecommunications Act del '96, John Perry Barlow pubblicò un manifesto: (la dichiarazione di independenza del Cyberspazio)[https://www.eff.org/cyberspace-independence]. +Nel manifesto il governo (americano) viene dipinto come un gigante di acciaio e carne e gli hacker come individui autoeletti, proveniente dal futuro, che si oppongo all'invasione di potere nel cyberspazio. Barlow evidenzia come le leggi che governano questa comunità indipendente sono del tutto estranee alle angherie e alle regole imposte con la forza del mondo prima del cyberspazio.</p> +<p>Un documento ben più estremo di quello di Barlow è il <a href="http://web.archive.org/web/20110922120111/http://www.cypherpunks.to/faq/cyphernomicron/cyphernomicon.txt">Cyphernomicon</a> di Timothy C. May, uno dei primi ingegneri di Intel e importantissima figura nella mailing list Cypherpunks. +Nel Cyphernomicon vengono discussi argomenti con una forte connotazione antagonista e vengono affrontati molti argomenti tabù.</p> +<h4>Software Libero</h4> +<p>Richard Stallman nel 1980 modificò 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 rifiutò di concedere a Stallman le facoltà 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 licenziò dal MIT per lavorare a tempo pieno al suo progetto, GNU: una versione di Unix modificata che concedesse agli utenti finali le libertà da lui desiderate tramite l'utilizzo esclusivo di software libero. +Nel rispetto della cultura hacker GNU conquistò subito l'interesse della comunità.</p> +<p>Il progetto GNU è una collezione di software di qualsiasi tipo che rispetti le libertà garantite dalla licenza <a href="https://en.wikipedia.org/wiki/GNU_General_Public_License">GPL</a>; fra questi i più 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 è ancora molto instabile.</p> +<p>Nel frattempo, in Europa, Linus Torvalds, in sintonia con quell'atteggiamento di opposizione e rivolta tipico della cultura hacker , iniziò 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 ma che in realtà andrebbe chiamato <a href="https://www.gnu.org/gnu/why-gnu-linux.html">GNU/Linux</a>.</p> +<p><img alt="Linus Torvalds e Richard Stallman" src="francescomecca.eu/wp-content/uploads/2019/stl.jpg"></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 più amatoriale e pratico, rivolto all'exploitation e infine quello più ideologico.</p> +<p>È molto difficile cercare di interpretare la direzione di questa sottocultura (se ancora si può definire tale), specialmente per chi come me non ne ha le competenze benché si ritrovi spesso a parlare e conoscere con persone che hanno fatto proprio l'atteggiamento della cultura hacker.</p> +<p>Nonostante ciò 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 dovermi soffermare ma due figure molto importanti della cultura hacker sono Edward Snowden e Julian Assange (Mendax).</p> +<p>Queste due persone e tutto quello che hanno fatto rappresentano <a href="http://www.mantellini.it/2012/08/17/perche-assange-e-internet/">ciò 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 di forte antagonismo nei confronti del potere stabilit?</p> +</li> +<li> +<p>Sono ancora possibili atti come quelli degli attivisti del cypherpunk?</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 il cuore degli organismi di potere e controllo era facile da individuare.</p> +<p>Penso 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 solidità. +È 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 è più vero, gli edifici benché siano ancora visibili si sono svuotati e il potere si muove come desidera attraverso un flusso ininterrompibile di bits.</p> +<p>Così 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 riuscì 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 più nelle strutture fisiche.</p> +<p>Eppure quando nell'aprile del 2018 il congresso statunitense ha affrontato Zuckerberg con un documento di più 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 può 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 ciò 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 è più possibile.</p> +<p>Per questo, la risposta alle prima domanda è no, la cultura hacker non ha mantenuto, A MIO PARERE, una componente antagonista. Questo perché, azioni di protesta come quelle degli hacktivisti alla Anonymous, o come nel più romanzato Mr Robot, ammontano a nulla per i motivi sopracitati. Lo stesso leak dei documenti della NSA compiuto da Snowden ha avuto effetti <a href="https://web.archive.org/web/20150810184125/https://www.washingtonpost.com/news/volokh-conspiracy/wp/2015/04/09/edward-snowdens-impact/">discutibili</a> e di sicuro non ci ha portati ad un cambiamento di tendenza nei confronti della <a href="https://www.valigiablu.it/freedom-net-censura-sorveglianza/">tecnosorveglianza</a>.</p> +<h3>Opensource e Free Software</h3> +<p>Nell'ultima lezione, anno 2019, 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 è stato corrotto mediaticamente andando a ricoprire il significato di cracker.</p> +<p>Stallman nel 2007 già 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. +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 è 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 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 libertà 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> +<h2>Conclusione: come diventare un hacker</h2> +<p>ESR <a href="http://www.catb.org/~esr/faqs/hacker-howto.html">mantiene da anni</a> una breve guida a come diventare un hacker, organizzata su cinque punti:</p> +<ol> +<li> +<p>Il mondo è pieno di problemi affascinanti che aspettano di essere risolti</p> +</li> +<li> +<p>Nessun problema andrebbe risolto due volte</p> +</li> +<li> +<p>La noia e la fatica sono malvagi</p> +</li> +<li> +<p>La libertà è una buona cosa</p> +</li> +<li> +<p>Le maniere e la forma non mascherano le competenze</p> +</li> +</ol> +<h2>Appendice: Hacker oggi</h2> +<p>Immagino che al termine di questa lettura sorga un dubbio: dove sono andati a finire gli hacker? +O meglio, una persona nata inevitabilmente nell'era del <a href="https://www.agendadigitale.eu/cultura-digitale/capitalismo-della-sorveglianza-come-salvarci-dalle-nuove-derive-delleconomia-globale/">capitalismo della sorveglianza</a> dove può imparare e poi mettere in pratica o far sue gli ideali propri della cultura hacker?</p> +<p>Nutro molte pochissime speranze nei confronti del web che a mio avviso è morto nel 1995 quando emersero i primi siti a scopo di lucro. Oggi il web è diventato un agglomerato di isole irraggiungibili le une dall'altre (i famosi walled garden) dove in molti casi si formano comunità di utenti che senza originalità propongono gli stessi contenuti o ripetono le stesse domande. Ne è un esempio reddit la cui qualità è andata degradando di anno in anno nel tentantivo di essere il più accogliente possibile nei confronti dei nuovi utenti. Quando l'effetto <a href="https://en.wikipedia.org/wiki/Eternal_September">eternal september</a> non dovesse bastare, masse di "growth hacker", uffici di marketing o giganti di metallo e carne si impossessano degli ultimi angoli inesplorati del web per renderli una palude pubblicitaria, come è successo a:</p> +<ul> +<li> +<p><a href="https://francescomecca.eu/blog/2018/3/27/addio-reddit/">reddit</a></p> +</li> +<li> +<p>hacker news</p> +</li> +<li> +<p>medium</p> +</li> +<li> +<p>github</p> +</li> +<li> +<p>yahoo</p> +</li> +<li> +<p>youtube</p> +</li> +<li> +<p>la lista è infinita</p> +</li> +</ul> +<p>Come già affermato per i sistemi Microsoft ed Apple, l'assenza di comunità hacker nel web è dovuto alle forti imposizioni (motivate dal profitto) e l'impossibilità di riuso dei costumi e delle conoscenze sviluppati una volta che la piattaforma cambia.</p> +<p>Il catalizzatore della cultura hacker sembra essere in questi anni il carne-spazio, luoghi e situazioni sovversive in cui ho avuto la fortuna di conoscere moltissimi hacker. Consiglio di partire dagli hacklab, gli incontri a cadenza annuale (hackmeeting, offdem), gli spazi occupati e i fablab. Talvolta si ha fortuna anche nelle università, specialmente se ci sono gruppi che partecipano ai Capture The Flag. +Quando si vuole tornare nel cyberspazio è pieno di posti felici (e soprattutto interessanti) che si mantengono ancora distanti dai germi del web:</p> +<ul> +<li> +<p>irc</p> +</li> +<li> +<p>le mailing list</p> +</li> +<li> +<p>i tracker privati</p> +</li> +<li> +<p>forum e blog su reti alternative (Tor, I2P, Freenet)</p> +</li> +<li> +<p>I cyberspazi di incontro delle stesse comunità sovversive: <a href="https://www.autistici.org/">autistici</a>, <a href="francescomecca.eu/blog/2019/05/18/cultura-hacker/riseup.net/">riseup</a>, <a href="francescomecca.eu/blog/2019/05/18/cultura-hacker/disroot.org">disroot</a></p> +</li> +</ul></div>lezionePesceWandapolitecnicopolitoRivoluzione Digitalefrancescomecca.eu/blog/2019/05/18/cultura-hacker/Mon, 06 Apr 2020 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 GMTeLearning in the age of Social Networks, the EduHack Platformfrancescomecca.eu/blog/2018/10/2/eduhack-coventry/Francesco Mecca<div><p>This is the revised transcript of my <a href="http://conf.owlteh.org/contributions/published/elearning-in-the-age-of-social-networks-the-eduhack-model/">talk</a> at the <a href="https://www.conf.owlteh.org/">OWLTEH Conference 2018</a> at the Coventry University.</p> @@ -637,26 +969,4 @@ Attraverso la dissipazione l'opera, che fissata nel momento aveva acquisito una <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 GMT \ No newline at end of file +<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 GMT \ No newline at end of file diff --git a/output/sitemap.xml b/output/sitemap.xml index c9e2c44..ba08888 100644 --- a/output/sitemap.xml +++ b/output/sitemap.xml @@ -7,7 +7,7 @@ http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd"> francescomecca.eu/francescomecca.eu/ - 2019-03-24T14:40:00Z + 2020-04-28T15:38:00Z francescomecca.eu/francescomecca.eu/2015/ @@ -29,13 +29,17 @@ francescomecca.eu/francescomecca.eu/2019/ 2019-03-24T14:40:00Z + + francescomecca.eu/francescomecca.eu/2020/ + 2020-04-28T15:38:00Z + francescomecca.eu/francescomecca.eu/archive.html - 2020-01-29T10:04:00Z + 2020-04-28T15:38:00Z francescomecca.eu/francescomecca.eu/archiveall.html - 2020-01-29T10:12:00Z + 2020-04-28T15:40:00Z francescomecca.eu/francescomecca.eu/blog/2015/3/31/chiave-pgp/ @@ -355,6 +359,11 @@ francescomecca.eu/francescomecca.eu/blog/2019/03/27/addio-reddit/ 2019-03-24T14:40:00Z + + francescomecca.eu/francescomecca.eu/blog/2019/05/18/cultura-hacker/ + 2019-05-18T20:57:00Z + + francescomecca.eu/francescomecca.eu/blog/2019/07/27/addio-reddit/ 2019-03-24T14:40:00Z @@ -369,7 +378,7 @@ francescomecca.eu/francescomecca.eu/categories/ - 2019-05-18T20:57:00Z + 2020-04-28T12:50:00Z francescomecca.eu/francescomecca.eu/categories/ai/ @@ -655,6 +664,10 @@ francescomecca.eu/francescomecca.eu/categories/leibniz/ 2019-03-24T14:40:00Z + + francescomecca.eu/francescomecca.eu/categories/lezione/ + 2020-04-28T12:50:00Z + francescomecca.eu/francescomecca.eu/categories/lifehacks/ 2019-03-24T14:40:00Z @@ -941,79 +954,79 @@ francescomecca.eu/francescomecca.eu/index-1.html - 2020-01-29T10:04:00Z + 2020-04-28T12:51:00Z francescomecca.eu/francescomecca.eu/index-10.html - 2020-01-29T10:04:00Z + 2020-04-28T12:51:00Z francescomecca.eu/francescomecca.eu/index-11.html - 2020-01-29T10:04:00Z + 2020-04-28T12:51:00Z francescomecca.eu/francescomecca.eu/index-12.html - 2020-01-29T10:04:00Z + 2020-04-28T12:51:00Z francescomecca.eu/francescomecca.eu/index-13.html - 2020-01-29T10:04:00Z + 2020-04-28T12:51:00Z francescomecca.eu/francescomecca.eu/index-14.html - 2020-01-29T10:04:00Z + 2020-04-28T12:51:00Z francescomecca.eu/francescomecca.eu/index-15.html - 2020-01-29T10:04:00Z + 2020-04-28T12:51:00Z francescomecca.eu/francescomecca.eu/index-16.html - 2020-01-29T10:04:00Z + 2020-04-28T12:51:00Z francescomecca.eu/francescomecca.eu/index-17.html - 2020-01-29T10:04:00Z + 2020-04-28T12:51:00Z francescomecca.eu/francescomecca.eu/index-18.html - 2020-01-29T10:04:00Z + 2020-04-28T12:51:00Z francescomecca.eu/francescomecca.eu/index-19.html - 2020-01-29T10:04:00Z + 2020-04-28T12:51:00Z francescomecca.eu/francescomecca.eu/index-2.html - 2020-01-29T10:04:00Z + 2020-04-28T12:51:00Z francescomecca.eu/francescomecca.eu/index-3.html - 2020-01-29T10:04:00Z + 2020-04-28T12:51:00Z francescomecca.eu/francescomecca.eu/index-4.html - 2020-01-29T10:04:00Z + 2020-04-28T12:51:00Z francescomecca.eu/francescomecca.eu/index-5.html - 2020-01-29T10:04:00Z + 2020-04-28T12:51:00Z francescomecca.eu/francescomecca.eu/index-6.html - 2020-01-29T10:04:00Z + 2020-04-28T12:51:00Z francescomecca.eu/francescomecca.eu/index-7.html - 2020-01-29T10:04:00Z + 2020-04-28T12:51:00Z francescomecca.eu/francescomecca.eu/index-8.html - 2020-01-29T10:04:00Z + 2020-04-28T12:51:00Z francescomecca.eu/francescomecca.eu/index-9.html - 2020-01-29T10:04:00Z + 2020-04-28T12:51:00Z francescomecca.eu/francescomecca.eu/listings/ diff --git a/posts/2019/05/18/cultura_hacker.md b/posts/2019/05/18/cultura_hacker.md index 9cd54a7..e7ae273 100644 --- a/posts/2019/05/18/cultura_hacker.md +++ b/posts/2019/05/18/cultura_hacker.md @@ -1,26 +1,26 @@ -Questo e\` un post tratto dalla lezione che ho svolto negli ultimi tre anni al Politecnico di Torino per il corso [Rivoluzione Digitale](http://rivoluzionedigitale.polito.it/). +Per tre anni ho svolto una lezione sulla cultura hacker che precedentemente era tenuta da [Simone Basso](https://nexa.polito.it/people/sbasso) al Politecnico di Torino per il corso [Rivoluzione Digitale](http://rivoluzionedigitale.polito.it/). +Quest'anno, data la situazione con il corona virus e dato che non voglio essere registrato (cosa inevitabile qualora organizzassi una videolezione), ho deciso di scrivere questo blogpost dove riassumo quello che solitamente espongo. # Scopo della lezione -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. +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 è alle radici dell'informatica come strumento di cultura di massa. # Jargon File -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 ritrovarono 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. +Così 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 ritrovarono su usenet e mailing list: in maniera non organizzata alcuni membri di queste comunità iniziarono a raccogliere gli slang più utilizzati e le storie legate a questi modi di esprimersi. -Con l'espandersi della comunita\` il Jargon File funge da guida introduttiva ai canoni e alle etichette in uso: per questo [Eric S. Raymond](https://en.wikipedia.org/wiki/Eric_S._Raymond) compiette un lavoro di riorganizzazione sistematica che termino` con l'ultima edizione del 2003. +Con l'espandersi della comunità il Jargon File funge da guida introduttiva ai canoni e alle etichette in uso: per questo [Eric S. Raymond](https://en.wikipedia.org/wiki/Eric_S._Raymond) compiette un lavoro di riorganizzazione sistematica che terminò con l'ultima edizione del 2003. [ESR](http://catdb.org/esr) scrive: > 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. @@ -49,18 +49,13 @@ Esempi di slang e trasformazioni del lessico: * C# -> C Flat -* Piu\` generale: "Ready for foodP?" (in Lisp la P sta per predicato con risultato booleano `true` `false`) +* Più generale: "Ready for foodP?" (in Lisp la P sta per predicato con risultato booleano true|false) ## Definizione della parola hacker ![Definition of hacker](/wp-content/uploads/2019/def_hacker.jpg) -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. - -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 ma debba velocemente maturare verso forme creative piu\` nobili. - -Del termine hacker abbiamo piu\` definizioni, alcune indifferenti all'uso di sistemi informatici: +Del termine hacker abbiamo più definizioni, alcune indifferenti all'uso di sistemi informatici: 1. Una persona che prova delizia dall'esplorare i dettagli di un sistema programmabile fino a raggiungerne i limiti possibili @@ -72,9 +67,15 @@ Del termine hacker abbiamo piu\` definizioni, alcune indifferenti all'uso di sis 5. una persona che trova piacere nella sfida intellettuale di superare un limite in maniera creativa -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. +A me piace raccogliere queste definizioni parafrasando Larry Wall: essere un hacker non è l'obbiettivo: gli obbiettivi variano in base alle persone ed al contesto. Un hacker è qualcuno che raggiunge il proprio obbiettivo superando le norme culturali e sociali. +Nell'immagine appaiono due definizioni, la prima che abbiamo già analizzato, è la definizione contenuta nel Jargon File e in fondo appare quella dell'Oxford Dictionary. +Si evince che il significato della parola hacker nel gergo comune si è via via svuotato per poi andare a sostituire quello del termine cracker. + +Un cracker è 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 ma debba velocemente maturare verso forme creative più nobili. + # Chiave di lettura Nella storia della cultura hacker si possono distinguere tre tipi di persone: @@ -83,8 +84,8 @@ Nella storia della cultura hacker si possono distinguere tre tipi di persone: * gli esperti di determinate tipologie di hardware o software, come Bruce Schneier -* 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. +* i makers, coloro che costruiscono ciò che gli altri usano, come Bill Gates. +Chiaramente moltissime delle personalità di cui parleremo rientrano in più di una di queste categoria. In tutti i casi è importante capire che sono tre approcci complementari. # Storia @@ -94,26 +95,29 @@ La storia della cultura hacker inizia da persone che all'epoca chiaramente non s 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. -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. +Fra i più 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 funzionò al primo avvio. 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. Da qui parte il primo filone della storia della cultura hacker, quello universitario. -### I primi hacker, la tribu\` connessa +### I primi hacker, la tribù connessa -Rimanendo all'interno delle universita\` gli albori della cultura hacker sono estremamente legati alle macchine che queste istituzioni mettevano a disposizione degli studenti. +Rimanendo all'interno delle università gli albori della cultura hacker sono estremamente legati alle macchine che queste istituzioni mettevano a disposizione degli studenti. -Le macchine preferite dagli hacker era la linea dei PDP, prodotti dalla Digital Equipment Corporation (DEC). +Le macchine preferite dagli hacker appartenevano alla linea dei PDP, prodotti dalla Digital Equipment Corporation (DEC). +Lo stesso PDP-11, come evidenziato da (questo racconto)[https://web.archive.org/web/20080718223330/cm.bell-labs.com/cm/cs/who/dmr/chist.html], è stato molto influente nello sviluppo del linguaggio C. -Nei laboratori del MIT, nonostante utilizzassero le stesse macchine che in 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. +![pdp-11](/wp-content/uploads/2019/pdp11.jpg) -Questo e\` un atteggiamento esemplificativo della cultura hacker di quel tempo: esplorare un sistema nei dettagli per poi superarne i limiti in maniera creativa. +Nei laboratori del MIT, nonostante utilizzassero le stesse macchine che in altre università (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 più alto livello (LISP, lingua franca della cultura hacker) rispetto al sistema operativo distribuito da DEC nei PDP. -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. +Questo è un atteggiamento esemplificativo della cultura hacker di quel tempo: esplorare un sistema nei dettagli per poi superarne i limiti in maniera creativa. -Questo permise a moltissimi hacker di superare le loro cerchie ristrette e condividere i propri lavori con una massa sempre piu\` ampia di entusiasti. +Nel frattempo stava nascendo Arpanet, per altro inizialmente costituita da computer della linea dei PDP, che forniva l'accesso a centinaia di università e laboratori di ricerca. + +Questo permise a moltissimi hacker di superare le loro cerchie ristrette e condividere i propri lavori con una massa sempre più ampia di entusiasti. Arpanet permise la propagazione di tantissimi artefatti, fra questi le prime versioni del Jargon File. @@ -121,26 +125,29 @@ Arpanet permise la propagazione di tantissimi artefatti, fra questi le prime ver Nel frattempo, nello stesso anno in cui nacque Arpanet, nei Bell Labs veniva sviluppato Unix. -All'epoca ogni computer forniva strumenti ed interfacce incompatibili fra loro. L'idea di Ken Thompson e\` stata quella di fornire un'interfaccia unificata e le stesse funzionalita\` su macchine diverse. +All'epoca ogni computer forniva strumenti ed interfacce incompatibili fra loro. L'idea di Ken Thompson è stata quella di fornire un'interfaccia unificata e le stesse funzionalità su macchine diverse. -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. +Per raggiungere questo scopo, ovvero un sistema operativo universale chiamato Unix, Dennis Ritchie inventò un nuovo linguaggio che potesse facilitare lo sviluppo per Thompson: C. +Anche C ha lo stesso obbiettivo di Unix, la portabilità fra macchine diverse. -C e\` sopravvissuto fino ad oggi e la filosofia di Unix, Keep It Simple and Stupid, e\` rimasta valida nei suoi discendenti. +C è sopravvissuto fino ad oggi e la filosofia di Unix, Keep It Simple and Stupid, è rimasta valida nei suoi discendenti. ## Freak + Phone = Phreaking -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. +Il reverse engineering è una pratica comune a molti hacker che consiste nel deconstruire un oggetto (o successivamente del software) in modo da rivelarne il funzionamento. I phreaker si occupano del reverse engineering della rete telefonica, usando nel 1970 dei toni audio per emettere comandi in rete. -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. +Il più celebre fra questi è John Draper che scoprì 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. + +![John Draper e il fischietto blue](/wp-content/uploads/2019/draper.jpg) Gli stessi Jobs e Wozniak iniziarono la loro carriera producendo delle blue box che permettevano di fare chiamate gratis o internazionali a prezzi ridotti. +L'azione di John Draper ebbe anche effetti benefici: le telefonate in quegli erano molto costose, specialmente da stato a stato, ed il fischietto blu permetteva a persone molto isolate in quegli anni di comunicare come mai prima di allora. ## Digressione: Anarco Illuminismo -La cultura hacker, perlomeno fino a questa parte del racconto, raccoglie in se\` ideali di due ideologie differenti. +La cultura hacker, perlomeno fino a questa parte del racconto, raccoglie in sé ideali di due ideologie differenti. Da una parte l'ideale illuminista della diffusione della conoscenza era l'obbiettivo ultimo di moltissimi hacker, forse secondo solo al piacere intellettuale. @@ -148,7 +155,7 @@ Le informazioni venivano sempre condivise su Arpanet e successivamente su Intern 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. -Nonostante cio\` fino ad allora non era stato compiuto nessun tentativo di formalizzare gli ideali di questa cultura. +Nonostante ciò fino ad allora non era stato compiuto nessun tentativo di formalizzare gli ideali di questa cultura. ## L'era del software proprietario @@ -158,26 +165,26 @@ Negli anni 80 la cultura hacker era sostanzialmente spaccata in tre gruppi diver * il gruppo di Unix e C, che poneva le basi di internet e dei protocolli ancora oggi utilizzati -* 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 +* una serie meno organizzata di gruppetti più anarchici che si dedicavano al reverse engineering e allo studio di tecnologie e linguaggi alternativi a quelle viste precedentemente -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. +Nel frattempo iniziavano a diventare più comuni le prime macchine prodotte da Apple e Microsoft. In realtà 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. 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. -Nel 1983 DEC annuncio\` la fine della linea dei PDP, definendo cosi\` la morte del primo gruppo. +Nel 1983 DEC annunciò la fine della linea dei PDP, definendo così la morte del primo gruppo. Nel 1984 Bell fu scorporata e AT&T acquisi i diritti di molti dei suoi prodotti, tra cui Unix. -L'hackerdom vide il pericolo 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. +L'hackerdom vide il pericolo che uno dei suoi più cari lavori venisse rubato da una grande compagnia e facesse la fine di tutto il software proprietario di quell'epoca. -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&T. -BSD Unix si diffuse in maniera capillare, in particolare nelle infrastrutture di rete data la qualita\` delle sue implementazioni, ma AT&T vinse molte battaglie legali appropriandosi di vari standard. +Per questo in quel decennio si combatté una dura battaglia fra le prime versioni di BSD Unix, nato dalle ceneri di Unix, e la versione proprietaria di AT&T. +BSD Unix si diffuse in maniera capillare, in particolare nelle infrastrutture di rete data la qualità delle sue implementazioni, ma AT&T vinse molte battaglie legali appropriandosi di vari standard. ## Verso una prima ideologia hacker -In quegli anni era ormai ovvio che senza acquisire maggiore consapevolezza molto del potere in mano a queste comunita\` sarebbe sparito lentamente. +In quegli anni era ormai ovvio che senza acquisire maggiore consapevolezza molto del potere in mano a queste comunità sarebbe sparito lentamente. -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). +Inoltre iniziavano ad avere risalto i primi fenomeni di cracking e l'intervento dei governi si fece più severo (benché non sia paragonabile alla copertura che tali eventi hanno oggi). La soluzione proposta risiede nella congiunzione di tre idee: @@ -189,56 +196,63 @@ La soluzione proposta risiede nella congiunzione di tre idee: ### Decentralizzazione -La decentralizzazione e\` il processo in cui un'attivita\` viene distribuita in maniera equa fra tutti i partecipanti, in opposizione ad un'organizzazione piu\` gerarchica e autoritaria. +La decentralizzazione è il processo in cui un'attività viene distribuita in maniera equa fra tutti i partecipanti, in opposizione ad un'organizzazione più gerarchica e autoritaria. -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. +L'assunto alla base è il principio Manzoniano per cui una persona che detiene il potere si ritroverà prima o poi costretta a compiere decisioni non etiche. La soluzione è quella di ridurre il potere distribuendolo ai margini dell'infrastruttura. -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. +Un'esempio di decentralizzazione è l'architettura di internet, almeno nelle sue prime forme, dove non c'è un'autorità centrale ma ogni nodo ha eguale importanza. +Un'esempio più attuale è la rete Bittorrent. ### Crittografia -Nel 1992 nasce una mailing list (ad oggi ancora attiva) chiamata Cypherpunk, dal gioco fra i termini cypher e cyberpunk. +Nel 1992 nasce una mailing list (ad oggi ancora attiva) chiamata Cypherpunks, dal gioco fra i termini cypher e cyberpunk. Tutte le discussioni di questo gruppo vertono sull'uso della crittografia e sul concetto di privacy e anonimato. -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. +L'idea alla base (Cypherpunk's Manifesto) è che la privacy è necessaria per poter costituire una società aperta nell'era dell'informazione; non c'è alcuna garanzia che i governi o le corporazioni si facciano garanti di questi ideali quindi la privacy va difesa dai singoli. Il gruppo ha portato alla creazione di software crittografico (fra cui TOR), protocolli per la comunicazione riservata e atti di disobbedienza civile. +Sempre in quegli anni, mentre il governo americano cercava di indebolire le infrastrutture di telecomunicazione con il Telecommunications Act del '96, John Perry Barlow pubblicò un manifesto: (la dichiarazione di independenza del Cyberspazio)[https://www.eff.org/cyberspace-independence]. +Nel manifesto il governo (americano) viene dipinto come un gigante di acciaio e carne e gli hacker come individui autoeletti, proveniente dal futuro, che si oppongo all'invasione di potere nel cyberspazio. Barlow evidenzia come le leggi che governano questa comunità indipendente sono del tutto estranee alle angherie e alle regole imposte con la forza del mondo prima del cyberspazio. + +Un documento ben più estremo di quello di Barlow è il [Cyphernomicon](http://web.archive.org/web/20110922120111/http://www.cypherpunks.to/faq/cyphernomicron/cyphernomicon.txt) di Timothy C. May, uno dei primi ingegneri di Intel e importantissima figura nella mailing list Cypherpunks. +Nel Cyphernomicon vengono discussi argomenti con una forte connotazione antagonista e vengono affrontati molti argomenti tabù. + ### Software Libero -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. +Richard Stallman nel 1980 modificò 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. -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. +Quando nel 1980 la stampante fu sostituita Xerox si rifiutò di concedere a Stallman le facoltà 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. -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\`. +Nel 1984 Stallman si licenziò dal MIT per lavorare a tempo pieno al suo progetto, GNU: una versione di Unix modificata che concedesse agli utenti finali le libertà da lui desiderate tramite l'utilizzo esclusivo di software libero. +Nel rispetto della cultura hacker GNU conquistò subito l'interesse della comunità. -Il progetto GNU e\` una collezione di software di qualsiasi tipo che rispetti le liberta\` garantite dalla licenza [GPL](https://en.wikipedia.org/wiki/GNU_General_Public_License); fra questi i piu\` famosi sono [GCC](https://gcc.gnu.org/), [emacs](https://www.gnu.org/software/emacs/), [Octave](https://www.gnu.org/software/octave/), [R](https://www.r-project.org/) ma anche software di attivismo, gestione delle finanze e tant'altro. +Il progetto GNU è una collezione di software di qualsiasi tipo che rispetti le libertà garantite dalla licenza [GPL](https://en.wikipedia.org/wiki/GNU_General_Public_License); fra questi i più famosi sono [GCC](https://gcc.gnu.org/), [emacs](https://www.gnu.org/software/emacs/), [Octave](https://www.gnu.org/software/octave/), [R](https://www.r-project.org/) ma anche software di attivismo, gestione delle finanze e tant'altro. -Il progetto sarebbe dovuto essere completato da un kernel, HURD, che ad oggi e\` ancora molto instabile. +Il progetto sarebbe dovuto essere completato da un kernel, HURD, che ad oggi è ancora molto instabile. -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. [Questo dibattito fu il soggetto di un'enorme flame war su usenet](https://en.wikipedia.org/wiki/Tanenbaum-Torvalds_debate). +Nel frattempo, in Europa, Linus Torvalds, in sintonia con quell'atteggiamento di opposizione e rivolta tipico della cultura hacker , iniziò a sviluppare il kernel Linux seguendo un approccio inusuale che fu fortemente criticato dal suo professore, Andrew S. Tanenbaum. [Questo dibattito fu il soggetto di un'enorme flame war su usenet](https://en.wikipedia.org/wiki/Tanenbaum-Torvalds_debate). 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. -Questo ha portato a quello che oggi viene chiamato da molti Linux ma che in realta\` andrebbe chiamato [GNU/Linux](https://www.gnu.org/gnu/why-gnu-linux.html). +Questo ha portato a quello che oggi viene chiamato da molti Linux ma che in realtà andrebbe chiamato [GNU/Linux](https://www.gnu.org/gnu/why-gnu-linux.html). +![Linus Torvalds e Richard Stallman](/wp-content/uploads/2019/stl.jpg) # Lo stato della cultura hacker oggi -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. +Abbiamo visto fino ad ora che ci sono stati tre filoni della cultura hacker, quello universitario, quello più amatoriale e pratico, rivolto all'exploitation e infine quello più ideologico. -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. +È molto difficile cercare di interpretare la direzione di questa sottocultura (se ancora si può definire tale), specialmente per chi come me non ne ha le competenze benché si ritrovi spesso a parlare e conoscere con persone che hanno fatto proprio l'atteggiamento della cultura hacker. -Nonostante cio\` ogni anno ho provato a trasmettere agli studenti delle mie considerazioni sulla situazione presente, da differenti punti di vista. +Nonostante ciò ogni anno ho provato a trasmettere agli studenti delle mie considerazioni sulla situazione presente, da differenti punti di vista. ## Disobbedienza civile elettronica Non penso di dovermi soffermare ma due figure molto importanti della cultura hacker sono Edward Snowden e Julian Assange (Mendax). -Queste due persone e tutto quello che hanno fatto rappresentano [cio\` che il potere teme di internet](http://www.mantellini.it/2012/08/17/perche-assange-e-internet/). +Queste due persone e tutto quello che hanno fatto rappresentano [ciò che il potere teme di internet](http://www.mantellini.it/2012/08/17/perche-assange-e-internet/). Inoltre, riguardo i fatti recenti: > 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. @@ -246,30 +260,28 @@ Inoltre, riguardo i fatti recenti: I primi due anni ho provato a concentrarmi su queste domande: -* la cultura hacker ha ancora una componente anarchica? +* la cultura hacker ha ancora una componente di forte antagonismo nei confronti del potere stabilit? * Sono ancora possibili atti come quelli degli attivisti del cypherpunk? -* In che ottica possiamo inquadrare le azioni di Assange e Snowden? - Quando si parla di Assange e Snowden si parla di politica e media, ovvero potere e controllo. Prima dell'arrivo di internet e dell'informatica il cuore degli organismi di potere e controllo era facile da individuare. Penso al fascismo, dove come spiega Mosse in "Il fascismo. Verso una teoria generale", l'architettura stessa aveva carattere intimidatorio. -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. +Gli "antagonisti" del potere non dovevano fare altro che riunirsi in qualche maniera organizzata e far fronte a queste strutture, fisicamente affrontare la loro solidità. +È il motivo per cui nella cultura pop V per Vendetta termina con l'esplosione del parlamento e Fight Club con il crollo delle banche. Il regime collassa una volta che l'opposizione ne ha distrutto la fortezza in cui risiede. -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. +Questo ad oggi non è più vero, gli edifici benché siano ancora visibili si sono svuotati e il potere si muove come desidera attraverso un flusso ininterrompibile di bits. -Cosi\` quando nel [2016](https://en.wikipedia.org/wiki/2016_Turkish_coup_d%27%C3%A9tat_attempt) 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. +Così quando nel [2016](https://en.wikipedia.org/wiki/2016_Turkish_coup_d%27%C3%A9tat_attempt) 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 riuscì a recuperare il controllo della situazione prendendo contatto e mobilitando la resistenza. -Possiamo a questo punto provare ad affermare che il potere risieda nelle persone e non piu\` nelle strutture fisiche. +Possiamo a questo punto provare ad affermare che il potere risieda nelle persone e non più nelle strutture fisiche. -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. +Eppure quando nell'aprile del 2018 il congresso statunitense ha affrontato Zuckerberg con un documento di più di 1000 pagine, il potere di Facebook non era presente neanche sotto la forma fisica di un ragazzo di trent'anni. Questo ce lo dimostra il fatto che a domande come: @@ -287,32 +299,33 @@ Questo ce lo dimostra il fatto che a domande come: - "How much information does Facebook have on non-Facebook users?" -Zuckerberg ha potuto affermare che non conosce la risposta o che puo\` chiedere al suo team e rispondere in futuro. +Zuckerberg ha potuto affermare che non conosce la risposta o che può chiedere al suo team e rispondere in futuro. > Whether you know it or not, if you are a hacker, you are a revolutionary -Una volta compreso cio\` queste parole di Doctor Crash su [phrack](http://phrack.org/issues/6/3.html) appaiono ingenue. +Una volta compreso ciò queste parole di Doctor Crash su [phrack](http://phrack.org/issues/6/3.html) appaiono ingenue. Gli hacker combattono per il libero accesso all'informazione senza poi discutere di come queste nuove conoscenze andrebbero applicate. Sempre Doctor Crash scrive: -> 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." +> 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." -Questo, complice la cultura hacker, oggi non e\` piu\` possibile. +Questo, complice la cultura hacker, oggi non è più possibile. +Per questo, la risposta alle prima domanda è no, la cultura hacker non ha mantenuto, A MIO PARERE, una componente antagonista. Questo perché, azioni di protesta come quelle degli hacktivisti alla Anonymous, o come nel più romanzato Mr Robot, ammontano a nulla per i motivi sopracitati. Lo stesso leak dei documenti della NSA compiuto da Snowden ha avuto effetti [discutibili](https://web.archive.org/web/20150810184125/https://www.washingtonpost.com/news/volokh-conspiracy/wp/2015/04/09/edward-snowdens-impact/) e di sicuro non ci ha portati ad un cambiamento di tendenza nei confronti della [tecnosorveglianza](https://www.valigiablu.it/freedom-net-censura-sorveglianza/). ## Opensource e Free Software -Quest'ultimo anno mi son concentrato maggiormente sulla cultura del software libero. +Nell'ultima lezione, anno 2019, mi son concentrato maggiormente sulla cultura del software libero. -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 il significato di cracker. +Nel 2019 il termine opensource ha soppiantato quello di software libero allo stesso modo di come il termine hacker è stato corrotto mediaticamente andando a ricoprire il significato di cracker. -Stallman nel 2007 gia\` ci avvertiva che il software opensource manca l'obbiettivo: +Stallman nel 2007 già ci avvertiva che il software opensource manca l'obbiettivo: > I due termini descrivono all'incirca la stessa categoria di software. Ma si basano su valori fondamentalmente diversi. > 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à. -Quando ancora GNU/Linux girava sotto forma di dischi o floppy Steve Ballmer diceva che il software libero e\` cancro o comunismo. +Quando ancora GNU/Linux girava sotto forma di dischi o floppy Steve Ballmer diceva che il software libero è cancro o comunismo. 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. @@ -324,19 +337,56 @@ Ne sono un esempio gitlab, redislab e elasticsearch. 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. -Questo 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. +Questo 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 libertà 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. # Conclusione: come diventare un hacker ESR [mantiene da anni](http://www.catb.org/~esr/faqs/hacker-howto.html) una breve guida a come diventare un hacker, organizzata su cinque punti: -1. Il mondo e\` pieno di problemi affascinanti che aspettano di essere risolti +1. Il mondo è pieno di problemi affascinanti che aspettano di essere risolti 2. Nessun problema andrebbe risolto due volte 3. La noia e la fatica sono malvagi -4. La liberta\` e\` una buona cosa +4. La libertà è una buona cosa 5. Le maniere e la forma non mascherano le competenze + +# Appendice: Hacker oggi +Immagino che al termine di questa lettura sorga un dubbio: dove sono andati a finire gli hacker? +O meglio, una persona nata inevitabilmente nell'era del [capitalismo della sorveglianza](https://www.agendadigitale.eu/cultura-digitale/capitalismo-della-sorveglianza-come-salvarci-dalle-nuove-derive-delleconomia-globale/) dove può imparare e poi mettere in pratica o far sue gli ideali propri della cultura hacker? + +Nutro molte pochissime speranze nei confronti del web che a mio avviso è morto nel 1995 quando emersero i primi siti a scopo di lucro. Oggi il web è diventato un agglomerato di isole irraggiungibili le une dall'altre (i famosi walled garden) dove in molti casi si formano comunità di utenti che senza originalità propongono gli stessi contenuti o ripetono le stesse domande. Ne è un esempio reddit la cui qualità è andata degradando di anno in anno nel tentantivo di essere il più accogliente possibile nei confronti dei nuovi utenti. Quando l'effetto [eternal september](https://en.wikipedia.org/wiki/Eternal_September) non dovesse bastare, masse di "growth hacker", uffici di marketing o giganti di metallo e carne si impossessano degli ultimi angoli inesplorati del web per renderli una palude pubblicitaria, come è successo a: + +* [reddit](https://francescomecca.eu/blog/2018/3/27/addio-reddit/) + +* hacker news + +* medium + +* github + +* yahoo + +* youtube + +* la lista è infinita + +Come già affermato per i sistemi Microsoft ed Apple, l'assenza di comunità hacker nel web è dovuto alle forti imposizioni (motivate dal profitto) e l'impossibilità di riuso dei costumi e delle conoscenze sviluppati una volta che la piattaforma cambia. + +Il catalizzatore della cultura hacker sembra essere in questi anni il carne-spazio, luoghi e situazioni sovversive in cui ho avuto la fortuna di conoscere moltissimi hacker. Consiglio di partire dagli hacklab, gli incontri a cadenza annuale (hackmeeting, offdem), gli spazi occupati e i fablab. Talvolta si ha fortuna anche nelle università, specialmente se ci sono gruppi che partecipano ai Capture The Flag. +Quando si vuole tornare nel cyberspazio è pieno di posti felici (e soprattutto interessanti) che si mantengono ancora distanti dai germi del web: + +* irc + +* le mailing list + +* i tracker privati + +* forum e blog su reti alternative (Tor, I2P, Freenet) + +* I cyberspazi di incontro delle stesse comunità sovversive: [autistici](https://www.autistici.org/), [riseup](riseup.net/), [disroot](disroot.org) + + diff --git a/wp-content/uploads/2019/draper.jpg b/wp-content/uploads/2019/draper.jpg new file mode 100644 index 0000000000000000000000000000000000000000..819398d8c1da117f5dcb42ebf6c4f695282a92f1 GIT binary patch literal 45776 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 literal 0 HcmV?d00001 diff --git a/wp-content/uploads/2019/pdp11.jpg b/wp-content/uploads/2019/pdp11.jpg new file mode 100644 index 0000000000000000000000000000000000000000..707e793d48d0bb856394b891f2c54af31bf62911 GIT binary patch literal 126217 zcmeFZ1yo#1wC*a1YYKB?L$yfe;eh-66Pp@Zd~y zZ|?W*yf^>1=FR-qtT%7I>Q$$HXP;eFyXute+Eu6TrtX#~>}9-dtpGqlffYan000fZ z0U-b=aO4a3xNr=Chk9 zxp`=~c?5X`1mQdYHINznr!YM5)U$tMq5GWT!2l9G;N<4!M2!Da7%4a%={MGeV^G4M zJRrD$2nm0t<9JU`ME@ge4>(3h{FCl~ANMys6poR9(_h0eIPuQ{BE$1T`;AHA82vX- z3Y_OfA{bzYhuLr+2FIxIvi05z2>UH37bhnO_Aix;0Q<9|0C=K^zi|^HJm24V2TsS% z`%|`2IL7&nf50(r-oI2h@!v3z5B{TE@MHi`!Jj;E2q63oBmNB|75th03Or4e-*mY6 zf4KWsBMkQxaE}i6e}6q(g1iEPoc#YE#6NO}$7qCm8n`$99l`_P{@GvmE5GSjf6(t6 zr5OA%2+qR}$4YRF0LS-LSPaLAzi}lTBf&8pocw@qG?|y360;p8+$Vpdu&u-*r41MRgfDK-SjP z(aY4;l19hU)y>xFISm&(CnuogZs}=Bqhe}dVe1C(w$kvL^8@|spUmHKKnE7@hVIaT z&j`No)mChW))JIO)G;6f#0Xg30zf9{@7Kw@``@3jSb+QAKi&UC z4V2RXB=Dvu4v+yOaQ6Gwbnow5J;ME<0?@*{6au_Y+&3l8`_TvY&mM8lh434f+;=;; z(-eUBW-x&GdxXEI{xu5(!f*bX1tQ@1@3R01;m;)F;dF%GxD`Gv{C!5aPyVkl{;%+E z>aGdELj}A67$OJ{K)?eb;(_jd0IvWPBxDq1Boq{66fhVC6&())9Sseg5C<0%kCcdv zjD(1Un4FrKmYnhd6)_1N2mJ#U)`yQClGAcQIoY7hY!BH$U@#aR4IP4k0b!#cp`c*< zkGi`yP#(NbBZK~M_rl*h_zVIU42+6~j)4mxfDjQ8kPwlPk>FJe^1q*5knoW4X}Kg& z2sBK=bS@C?poF)m^pe%hgqp(#3_ND8!D#42#3ZC-4;Y!4Sy-XGe2@7B1f`^9WaZ=) z6t%RU=seZc(>J%Uw6eCbwR3a#@bvQb@eO$u8WtWA8I_onoRXTBo{^cCUr<<7TvA&0 z;bTqhr_XiuUs_t*+B-VCx_d@O$Hpfnr>19?mRDBS);Bh{whxbvPfpK%onKtS$J9TI z1Hb;8^1!Pf{u+@Gk-+!m0U>zZ7Zwi*nU)I$UqSOw%r9fS&zOn6(}j7HC+c|d69 zI*d-l09|@;cweMHO7uThpy2{G3Uv?>co%PkILE;e2Uqbwr1tAcHRy&mjG?p_4>bAcF@UH3KJ|_!nv|g{& zg*gc{pU`s4ttf6j^r?&xvzen?aJBIjS=+%zO2ei#EX@LHvGkCI5QFG>uhtGJXSWj|ru_B-{pzm?n!`)+06o=92D z9k4)ddn~&8MSEfTTJ^iqP0=Y7@#<--XVT>x+ZnN;u;PI(Z##c-IlZEnBlE;rp=0j- zI>T|AQHjjgUWk`k8~YKL6}P1Hl_TGHy}=p)VsQUq9CpbXCi&*BNtlH)(9!G)5{k zMsobzgI>9boVKY;i$%#IimBV{V_G#Boht zKdrQXxA23kac?GfF;T0^pBQ#s8qs7f6DGNy9$~PfEd9md6P_Vri3GIzQue&_e6)`8 zEa9EE72yx3+qm4H9TH+%{VG?#(&Uwn&>$a0MErlMztyVQ!bB zEPQU49SKY4tA5c_i-A?$+Gc?_gaL)fZal%`E2Glqqgc&x6Ph?{K{8QVR<;tEsjnez zh`^#|)kO#4Szfy=Y$Rm#2=?AxH?IGQdYi)_y12k{Vauc0fM=zIHjSck)(6WhrvVYq zh--569=zr-ZQ;QuL<}E?E> zI6YvJsT;T063Fdzjg%$^Jv4ZRb7>QuI~JfXZemA`xl5{c`CzVEM4y=9Wj*9wxLfM? zb7PK2mL=uB48tpT02TF;OyCAD4saek$)H!!61N;I9v~HRsbM0}a3grsUhQY=@;qSc zon=6JUJH)}RWeBL2#01Aw5et%#VBh@6U>6y;P`HvFCqEUx4KB2CkpbAdYv`8=x!C3(I}-2gep zeaSYsC0?(3C4HzG@@|jJs>0fNqrjdS=MH$06QF2O(_i|?B=^Rh>-)G3o{l3zk8xck z=^bGCy(1d4P%Kn$ETTvbd~RqK4eGVK1F+n8nmTr*KfC&VWvh)_u7lcv3CmxQk61G8 zetb5quqp3B9YlI#gP1h-5_|gq!TsuoK_O)p$^0+N$t|;7 zrr6=^u<2}@J$~$PpS}QCn=RymOhC?M#8!(2%nI5{nut|jm*$=}>_GE=W3w*+$mhNLxA< ze)ZDcrWC{sCbl-clU`Q!g>+JfDm@MBJ2G#nUn0f0R3s`IJ>X^rqYRfIbl| zuiIt{wD5UDYA8+B_Sp=%FGsAfLS71)=SLrW4*40CO|ivC371-QT|aBo;(Sj_pNu;= z{2cPI>{AWEOSn{5V-+D5KR;fI?k_Es@F}j}))Q`{jyk?nXV>u+4Ow2mu@90>d8cPs zzeU#b7(OU6<&LDk>tBx&c#2upyD4jfr|C%6VYrT4JkAe8=RWtOzb!Kp$+8OMt`$Qq zoRwkU-K(U(-GP~2kO9l5#-W19&1UY?4q0~q1iMR&qv28=O#A+t=&}0lXl-{sx@)35B|H8p2p>&}ouVVx&;8nZd@&TrkCg8K#Zm|Qm1#{r=C`pc+0)O6 zj|zI~F;hRFw(dF>SWx996qG73%nT>U@U~Yoq8W+JiH!sn>lBKZ?26R#nct=$XhWOYwpqMPZtsbc9(pP2t#e&wr!l|vfvRxjzJDfNYMAo# z3`5n3Y{(Xkce9^$Y{eZgAEw%*|C-&qvGD_~uSr3=0XBw^{h-}aTZv`q#?8) zjH%_$-iY{8SSTQs#+Bhoe?nX#jq8oUz8`RUp{%)ZBiILZZ)W zQuvYH#O0^5Oz#|yW_1u_-6!W5#l&2`(JYgMrhX!%zLk__deSY4rw?K^>uBQT3K0bx zF_wv=+{N?NCOP15%~kA=w+2Bg@TXqFA$oRRxwM~KVrLWWIjTVZ0TYeyuz~W+t;q;a z;zv=-^KqZ`7qVkV5_k`7if^Y&#Y&;vs@yX(O4VOfy20BEH+Blhy(8QbWO;$*Lm*`= zM{?OK?Z;`KRZAUhf)<3GdXZ-c`AFLT&H`Fs?uM@yK^dmdSqpvlst?N*Pvmr4poIrltro{L zmt|)jZR~|$-(?L~@AI|%*Lm^yogYDygjofNV?Ucl&OX|wZg=u{6*cX@>=qNgj%%g} zqBnFnY?_{S?RQ+#k!*QB_ey62Q=sNGpe{~gK2!*-qJOMh9Q{KhSSEbJRc>p zr)nP?3wWPBY-5)egfL53C$q=8f8#q;s=`FTZp#d zC0t~}wJ82?sTe{RCl_S)dh=-LDeU23@IozH;@;SnyBO7Wrp2cu@xyKxCt6dUn=`G? ztn#~_$Fu9XobNI|`ma19)(u;^Qj_-fQxbuyUp?Q+y!F-@Tkp zt?iA^QT>AVV2q^M-Yfm;XF|jcm!{P0#b{@0x8F*(-L|A5Myg8PBB7Aa9q`RAf{UGf zWZck%=ffW2=zNlS_3MX&&}ud+eHrQsMe?b=lXPAV0wXLQ#W02EOn5D+Lvg3C0`PXZ zJ`0Elh}Jlqkd0HDT+^PrST0f$*iMU9JHzG-gW&2KQ(oNIksnAp`xI~!oCxs{KI*rA zsPc86t2?E0C}!gXX5D`W;F^t3KKtUYKfWw)*hvC*WewTp->7gN(_A0BGR*Xr*U)&? zxZg-QfPG3^@00;q`H{I(0Df!QmuNd&`@iIFD(y7suUhkUFSXEEwvk;Oc3vA_#lhQEBD}42F6?9 zSUj_?>|N%I5)1L>RtGMG&du|#OJ^3`QAXU^0BboH!ir{b`9z0(sZGHb#g$t9s9q*V z49-$aZz#f)*9e4?sOk|<7}GBz^GtfsPoNP001C!lxeXTr0s2Om^BX@eOS|q&uw=zvb9&RK zsNrBmXVfqPoDP;>HGULVHHhT5UjIN+No$L9R!ULliMf-?_sXw}yh3cfLWyY;M@_2- z44ORqA~NpH%;ogfk+HPLGPAEAnxu-1%3|Qf`{J_YR9N@hWS>+)i>d4q8Z5kUl>iOM z+9bnn^7FmeMtenq{U$v*^Sd+=41E}Ai` zay@ss$k11P&6n?c)||>hi1G4ZZ|g_SDKUT5iAYVolbKL9-5K)i0hiI+4`B15QD3Yj z*6Et}3DTvSttkv9E3qQX0$F}>8JYIlf$wzHzO?XSojeo}i?w;s*0{7o;9qWgMxUDF z9%24%9r1F+4^kug`H;8EpnNNCE~fe#drH1RDs(dzSY%qJ%vY5B(A_#a znl&<%r;lQue7NfeQkI*|MG}SRy$~J68Xr=6{cxkyaIqHK z3f6wEPg&tRogtr3E5FjvVL}48l&x8y%UrvS~V4Ta@FN%nGP^!@9wz(A#GHEyzm(iY{idAkKfrQ zz4PMJL{{6zo71f)IXJ&U4|~8GlhHj{WzcS`kIZNH@oP-uol7JYO!*(qgQ5F z(RIQlkYXr9GMthaSz57RAd%Pjr8klU6ppO0itlr6FH^mdF^^#UxP3xzmB#B1=tRA( ziJ#u(l@9&a;`~iGtVC!Ex_s28Z#ia&IO)@8)F0oZhe$5$W>u~R6fyhmBdajA2AEA6 zXrwx?nI7ef*KND%UY%X55Q)40F&O_*RPf#OpLWE5x&C3$MQlQbn;QRV(EX=D_un&7 z{|61a|FEV0>w)WEY`*_w`8S5=e^%CCD#<@<;y+tWAQY|_n_GldvM&Z=H>@H;vJz)) z`AmPD|7uAiW}N51wXNXf|FQAjO}(snx3inQQ-%Cp#QPXhT?@SV8V3Ep?e+Y>-tU9Y zj%IoY9<85#Zcg`PtWf1t zxS=h#=91a{;4Dn{4#51Z2454uh&wD@FFDg;OJwu(NsAB_@b1;aEV|Zj3kaTdKs?$w zE_L7Fh?4rM({+3!WjI!gFzD~+!bAPDONCb!^|?deyplzZz3LNtyuN+^H&>6mzo-N> zbK9nUgr;6z{aNki(o3(ueO&MwXrj&u|*tUOL>S7ut%x^?o0ov3*N3UR#=JWT4gfHU5;R zZ}7SwJ-rzGSdz={kx)lUB|G23 z?5YmWZf5WSrHXPf$$m$Y^&9VE_-59tlXOE{C&p4|L52Xj+_pO))T*rbAn)dlL5|dN zz>HYiufD_0vroS6a`}$jV(Z>Ftd)#x^gUnYR>bhVBdRAn%6AH$SJxCU-5ha>DGCtG zKDF79H))M3NW_SJDObx$YbvfA^9hTHuwAP@P*}r6d8_74Hhu@zuY+zcmuZ4f!kGG> zZ!4A)QvAG~*p<`KVW!#vs3+wLKeYI|f=D`jO(d8}g>P)5Hl7~*FlapJXr!txtTRYY zNq%k^Oky&o@Cve-+`eZ2Z_U#@PPKE4%^1(Nb(}$yeHrjQZeZ0zErtp_s-981C?*JTd#yPits@!oA8YLa@PBcC6v zxwd6KqKW{SL`q!9t*PDwv9IJXN5zya$666d%Z?D;QuoAKF(#2sxFiJH!8b>q=BilT z0XnTz$rtTCJ+8LL90wa)It8ItI*Btf&o#cYdPz^kwD=vK!XC=U<8vik3_DZN11lpb z9g2{>4Uz&PHj-neTA|R`5QS(9M5YRJK6@ma%4fBhqZ-rvO|Sw+m#&>1_2qOsZhzUc z362wk-gJ01t}?Q@f>Nu;Qn^6`H|sdPK+bw;cy5sFF%J0P&qxKFdrH9u(lyNwu?9j5eSPft`o{U12% zS8+QsQ+gCuJr6mWa8 zHLwkx6|hAC1)Q61%Iquy{5y(G&@l7vye8JpZ52*=-@KqseJS~uV11HZX8Nf3x?X`F^3$uo}GY5A$+)FbHQ_5PT#CT~t(}Q}9I7s2@-!k8ThIVQd`*g(ivV7c!`^ z(ejPHMaugmf+bW$WLZ*a5$NbmjyUqRWsL=@YotT*Vte~#3i}(j89JMvdkY1D{&t3B zWQk0A`KBozVz1eV3benQekvuV?9sSk;rT>PDfa5ob-yA$vFC^ZwS-=e4lh@2tkVOg zx8~Q|c_&m6<#uAeDEx1C(Xzpj3=9S|!VEOp1^U)v>)fBTZ(nf~W{x(>Q5RAzXS#ib^%R=gH=tdj_p6sP*p;^|x>{Z@@E<}FA851YEyh%O2<`!+e z9A{1NSAGyuNxAHPrk@hJ9b)O@$S-!>^TcV@E=jq$xzodJ?q3Yc|Ci4Wr6t>*f)>x7 z=leL>Q~xT8XTGuJOI>vK{ng*)}FYGGrv4?ulqNmP(jnw#X)BxAw0Bt`+_r zaRwoJNZ=D;97U6Gf({ua63nC%n36_kjJlQ%!C?Wd+k8-vLk`OnGL}LNB856J;I{$Q zC8Nx-4Q=}cGYCR#1eq2hV#^@dm`jm+sLPFHPhDt0Qq}pzXs(&p%~oYRNAo+o_P@Ut zH92#reDE%idcOKH^F>#o%KJPYFSJpV@Sc9N?M`zo`HAQ5-53#Q59AjwCtM2(Y$=o{ zHs5;quXic27@ifC>JgrP+kBbpfj&?;g**r?1Uq8UM}_e5{^<3KZ2lb29g0|4YfaKy z`k{jOBUju+Szpa4=8$^pB!s}FM+hBVLVTZH9)jG4=_2k{qlUHDM#4Gx(1Lo&l|_$m z&%)i;x{ZU#)>I}f!h?CtT}p`iR*o*y(V;8Zlp~7eI`*^T`NfLgL$vpM9FTxPKM(4% z9?5Ne3Vh!h?i8_v!Q=(gw z?R{VL`LfQk|Lheg(~90Ue<-5+ljwOcDiW^5K5LBRf3`LLKh9(Rduw#exu?%Y+#_N# za|*5PLcWf&-T^!c-H)1%Z`@XLL!fiLjy`;EnfDy=Is)b$aC&(~hvAck$fTIfPATI1 z$b31}-CrDaw~}elT#2Lnf!e|7dG7IEG+wVy@Z*TcC3q``6t}ga$8%xfcz%8!er!r! zF3_XLItjf57bC0U+9IfkkX^dR16<0eBvk7q=mRJ!2;^DlCd?*t%p~PWIp;9x>Y!j8 zEqU7{_?dKOQW}9RO(A?X&jMl!vY^mymRf?ox~>G?WtLxj}t#;8t6gKr$pj zCJHn*T=kA+PuUaHT#DPER)L7^7Bg%D64%AH4Mc$vV2xp7c)-j_OIUElb|fERsgma; zlS!vj2|&p7@Vef{>dCT1wsUhip{>G-`?}rpx^f0YJy-pi*LmFWFbt}$-rFA2oVgls zy;5#GmJPny#yW~E%`_}|IbXJkut9=M4sFb^C!5&xu9NNLKP}vy&TDVq=kF<4*G62+_fw4QOBKuh za+bYKJN(t*8LDId#=iFFh9q~uLoKb$ZKYPz!ZXLsfd-YELZ=jXZ+Y}Jq(O#OGeEFV z-$*0*!zG6;)MLhJk8-Jg{N+ON!Vj*Uj}Cz^^U8m)mvrb^eCtaR>=#<$2&%;@%bXG4 zs5umTS=YIvUDnp3=i%|;d%j@*#2pF(c;S)TD8<_J|K} zxI-f)yt-c_qUJySauxKt{JdCdc-Lc`Y53g_Uyo-;6P#xXm=V)5y=U2F1Y%Fckz#9UT|%o^s%OnD zjuq^X9J45fFe}-27s(1DXe{Y-iqb)YieQ&I0hlLs17c21pt@TokiwIo*!nEPp^*1@aY$!X+4eOS zMW$?m`7aX}nb+)`sXxy(>)2wYng;d3eVDB|%#>Ykw%R$zOu@oKfXhtK>*?6BQ>Fwg zu5!0eu~t%rL|hd^CnV5|NO$@nr|F&?il`TDekh+z%u{?Yv51vlr0Ddi9EXvT=BLu` zu}O;#^~QJE`aw0@`=5tiDN?~gl%~^8+sB+U&?ttxdUVsdel%~&sIl=rF}aKqSdZqB z9)-lR=!Hc{O;#ZI1}kf8b`_GL}IhF#61mbvPo z>gQs|E20WNl=*HU(1lgBC)*6m3k9BcBey)>6RkEzRtjUD8B#cFYMDxvb{*u?0ZQA##xUu)cc5 z1zDjcM`=vela;S}Bl-(7Mu6jclVqwK!=UdePlg9p9(;K?%J83Tdj@mQz-Xk#J0`Q} zt)m^x`qu|!u{3?)xZiIj_Z76N+fihoka^FE8hnf7%xV}vQolh(bCc&`5Zs+-%l9dA zNWr<|>17}%ct@+R)4ad-XCxKtBnHNf-A?cG>b80PTcxNpueuWf0Snu#udxHGN4l$- z_*HmW)=^#rK2PAls& z5gfm}=%-1JBEpROD(Ez?UHA2X3fJ4$aC-Vi6c+9QHx7JjoZfUtvE5K&vXIMAR-^=J zs6&|S;Zx4}*%KIIElnMwGCN`>!ZP(&TP$?nC`-=HMvx1_VUkQsm&&&>!yN67^znKc zt%e69ai(ENOn}z9)$W}2BUB%%{kc;@nn2A2M1(sc#Ar2iHi+Jp( zNBJpSSH2O>btL3LrK`L8?cYkAbGTh{RM=&0DYU`wqSTNyU98H!k}S%oWV|>uv7y{& zSAeUeW+CFOg@|?ejDdAuN2qxqJc!LuUAuxb&Hhh?el`-H8glRjE*RLZOV*4q&PH}h zN49eDuZ@b#cfXt-mE01=S6#m*dtdO~nj;GJekFw1;rT}TSZ|(r4~ls49!oQ8Qj5j3 zYUGOV#2VhCMv3hZwsWXICyiHZSlpnB4V2IHmT{*VDO_{gkL{cc&hWJSLeD$vRj)B0 z+k1+5Byhu0cF&;4@sVMmQu(}jFAk%tD6CtmC(uLhWyWU=R|nUsV3T{m|t9 z{hk5C#xOeXUfg5yeV^xKX}tJJa-mW&#~qyI9dZ_vo~i~6X4aMc-wjqsH@O~JZq>4O)Qic1lwrjB;XgZ0pUypVKSJLz}TTVSRj{dY#UHP zB0mIs)k!?Pc``&iFxDm0oOtcWPw{;LIg$d}COnyzKHp>U5$afPD5m%2Sm2Vpjf@D7 zviTiAAde{QB94v)FbiLeRAG1e0w9snuso_pW{_GT019Az3M`@{G{XmSW#?09xP64G zXfjH3t|E9$(r2SWh|r}NydzHgD#k20kPKZVmg1|Ezh`8{xUSWMPT7>UtW2i`6WTx4<{86Ia>G$E5JE?pk*@^OPnWqA|RYpihq;l9c z>o}$lK9Uhx{>=2n_!V8^lURCHU)YmAu3zGu719NDrJGFlp|lLQM|@O1 zpI&)`3ryrJfe&V-6Ri*F#VVdc;bsH%)?RN)&$KJ~^DvQojZycjgas3u?i;nEvL_Z+ z2mC$`GlFxE&(cPXg17Y_^fA>(sW-j!E<2kWPW~`;lacM2ak$d_w52d zG8zMq{++`#|9_kDKorOAPNY6-@h@$iH6^X|JcMU93T>2Fg_n$q167+`7#yvGr6NWOXpQ5V;T=- zLX#a?=zbxON{P{|k)m%mH1x+YV@jtPEN_t>+fAl9<^EMYQ9%9z;nB4QMYnLx?i4gr{XC(;OIC#dVR2r1B6hGxk1Jq{%^ z?qcyoa9|YZt$05psya4*DKk3W083KIVnNJk)ow4FwKE<51%Z!s{)J=6`EseI>y*Xw zm_`ZeQ0zCcOO+CZZUb@~>O=23Q3nLoVLeI`=(&nyRkfJTta2`>Fr;SKBY5x-FiS^E zkkH3ksYR6X(j+t6mibp%iYd2Ko>eNSAc56pwp!c^SAd@d(dyCDpr;L(`lnEga z-=}m_ZFT`GO4Z>F*kHhDhJ+&IPy#X4ABo52B|FD~ zfdpAYD)DX;K@lcIo^~!aON_ahEqSrTW|$|9*3a_^VSf;nC?%hI#mEac$IF+GY7HmgAyu6QTR}C{gsWKwR%Q zHO+vHh703MD%KSFZ$$*nPopNpO2?+RKM|Ku4IIrZ;T+1aR^4Dd8Ge<|ydNEspd9~i z4#4o7X6v`gRwo{7H-wE$qv$JSG2a0@xppdr_0F$~_6XfNPjP0*r9$-h&c67MPvm^% z?V?o>eXHj5o>ipi3#A&kr*X^9cOmSwoCDA1Q|70vTg$=`CrMep_jUj}BrJm8BIfT-COea;puCv*3ryDTVb)(hLL~PtFG=kbF$fv&N1&t2cZ*zL(o` z6ODV2mw!-odH5=>w-Ct4NXii$F5%)v23|G8BofYtG|jcMhMgg~zT%ICM{$Xo^O~KR z8i`0|R}WR27=6~G0RlU6Di%MS{aMk6OCGE*~|Lx6ayG*A~&z&~=@dMso$B68>uY*Yl@K zKR*(G&h(+c`^B(`dHj?@lD0d+P7K9?;ZwrNjjFDZTM#EE>NV?44b`SXj!WeW(TSQ8 z{l%6vKA43HhBf`oeC;DiV>B-Tg^Gg6sIEe_w4m!PvYZ{Rq3UficOrs7UTfXx*m@8jXGkXMHZ6rF>r$*U zOY9;F81gC|n@e@2&RiH>oQC3994sYnM_C%XoV8bII;%|K0Rv88NDzQ3=L8cx5^un^}<#McSKgJAT1fDcehM^A)4Bqb0B~273q)}+=7Ip{@_w+yU{+1VpRoD3y^zW6Bf#_925#Ly-eO!NdOD$P7zH ze<)7W4{ZhD3TqW5oQe3Uiwh!hnTR1~@)~eEp}o+MGb(!FeOMcd^m%BGd1pfsP3*O1 zRvKK1FHzdfewlWqWLKSHBq#GR-HS_zR;*9!iRDy}E*Xc_@WfVbO;HeM$J_jEqW&EM zhWt~uCwmR~#P`Np%4cbZ4Nae$pI+(hWu4UpO;X3A-q@ww+iNX9eDB+FA0$0@)9Re^ z=ofr(f+4tZG0xI{%9Tp>PN&*xm8V^BofKc43Wa<-TKYU)f+;9dr;LMxhbd&JQ-vsXI z*8FG?T#JaI?^Vzv5$IlYQQ?Wwa-6+FJhMs)XlZx?-#qow;;B(~y=4&t{ zEnSGjAl#R43X0&*%xu~X#ckVwVyHKZFxN}@Y()V$DABW$u5MeZyH5!aUdu8$kiqZ+ zi4mO|5kHVdJ$(?lr)-wc4$wdWYiM={(@R@J@v#vQ+Jz5fmk4)dOI%mdci0q+G+fn@ zQ{b7m$QwtaS%*cloI&prThr-MV4Wath|F16x3MLTkqHfUH=Ic-E>V7HoHvQs_L` zWy*|Yh}yrzb9n69x)vdHRvJtGP@)gHIYshkDfwX{|NRa?BYZtDK6Vl<5VW%Irg%!! zSCGgyYx@oS-C=GE%dYe5ivU)80!^W}QzZ*nFK9~$&K~KkBlrMyE5~KJHNPZ3a`QTc z5S#1|pOUaI?_4b;-=>sRC>m@+2Yip0#3CzJtcl{gz}LrVOczh|leR@ITm*~WxE0O5 z@ta}@cDcspw4)Sq&`-2{6wVYis5w-`(~OY$x~Iy=x)O5p27&vPN1;7_$6}OZU8tA8 zE!Py^VeAQljd)`TWjm^iOmG(hflN>hU#^pG(1**iXyNa6xjfu^EMcRFh!HGTb+62YZ!%wI9D<)Q3U7$ zha_RKG6*heuu=S#LZOe36**w7`0McH7c49y&Z=G1Oe7|?PxCz(iHtpX{HX?-v*;d? za-rrsslHP%#Fh5O4!+{*C%qgyB73O)Y&jhK9a67C=#7p;LB(8cr?A`pOwCZkv`B^U zYvLz7FP-NK&z;aU-+YkGexHbqxw=xPzmZD&C{8uifU$Ae*1gwrpk@2p^_aiun>)Zt z;*nxyQ9j~Y_r-We180sARm`ick;N78rrpgK&Qv4zn4k(qLGkkA5XMq;6+noUZNd#^pee#TGLh6Z{Z8 zyHSd+Vh{0{SfH$Z&88!NDsTF&8ocp?M8RcO7QAJ|RWjWx%*#XxwdOsfUU^o%?BOT! zz(8q~#57pcGU;ZW5?oct!lz6qsCf0UYhE10KAW>%NH3tBJfD}sPjN~L>z_@K12jwv z{Ee^J6xLtxrrl&qnqJc0)>epw5FBzyO|wa5{jV4rG3U$;N1+xAWyUizMLbv22uUZD zTLKU2MuhKxXXi^xD*PYxx?M`-1%2?A)RtY;x7kD1th09(YOpK$R)^hx7|3igWMz;a zEm|L!oF)36yf!=UBXy>IctXoA}38(o7&(u z>yUPCacpK5+G4R#1RIImmcS|tbaMpnvjPP7%OOyvsdHB+<(BT-Vi+ubz!h0U8p*LK zZ_Va$l*1bkh1*CX1}ZSf_y#HL6X@(MqM1it6Y0iGcAzc%FA|7z2Li`rx5VwBNjX{S z#E4xmb|lOs@xVp6RRWgYNtcc~C$fpaM}edNkdcv_CzA}HbQ%5UbE z8hMDGt*sO4G{?)fjNqR{P4IHt3Sg15Iiaum*nyoMI&`k-&81jC6{?oGL1J^O!zB#D zq||xw{<_0GSg}|94nI9bTcd1g4T*aspC~5X4(fYi%qB?3if+Pp0@f&p>7?c9B-N@G zwNCI@3+xCz-@i<@QHR>8AtEFph-4k+HjUJw*VDge(f<+JmS~bsO8TqVs?(K&_f4{< z+INUvv;^l~uP7L{9BY7)x-u4Oi14ytJ?SY{SSjkXro`oGq2&h_{7x?qydJ}@K=)QW z&8_!u>x&(i9W{|a?5i|)fcJV*QA22glF>MUK}2)8{>&_m*ba%KQ=d-tS5In|zL|4# zna8Gu2C1*^0EF(QYu|Cf7%zMC+Tj;Mi^)$oO!N*1({}?ZEOz=aGUcQ=f?rUV&0N@; zBT1il=h~x}EU$hhoNhhuUBaK9y2)=H>2=ly)yAw*|xe=G$_3irGw zMr=XNDnqUW@rzfT!sHqGaJJ0@-4sHp56vtV!3?X*zgvYQjj))&uLTXM)_YN!z)eEyv!gmip|p#f_+5 zxElvBc3RQ=3Pep@_()j*hAU+HW{VnTNd%NzF<=RC@QWx(+$e;W6}rGGWJ+er_*Zxm zSZG08nZAi5W+ao8{CT_Ksti^SIu&2E32K0dP(aXq4(lnv*=9IcOHKCKr|&rrnq)ew z-dQVh3zb+AmTsAi*ehc*#N-y59oXlKpjubF&|oyu0aJ6*eY`Aa$Yv8NY=ALAG8ly<@OS3vq2^SM`}tDjJ}x<8enjD>1BWmoGXon@R0 z4la16COT<4>(oE<*%4#d%{#eEHee&>wB3tlL2dl9Z$ff#i9MU0^Z9D3+t1^a zTSYb-hlg6f_NJ-Ib=*S#BlafHv$La#9{NXnZJe@Vu}{&#%YPgzx!hQi5b1STNWFUEi!js=^(BKD(eI<+YXTPbfvig_%(H>E`RbFcydRCEIjjw-t z{XKZ}m((%EZOxmcxv+?3rn*#Hy^Vymgjl_~NTzKSc5Pw{y$wPgtd2|*+5sDRNq@U{ zVRWawblX&L^$B%D00M!Y(uFCRj=9N8n&%|9v=BrgQ4E_##`-`51=_hHr%cpo%-e}b z;1*q~Y};AHKwDr0jeaB(_mv5Sh6^WCoUf@1j-3}^;?`UsBKr%bA33(_B2G(Q(#}~& z6`T^N3Mv8(@WUR`4hU*uY%(#BnS>ycLUob&Pu?0LnJ4m$q$A|3Bd0qmCA4#qP3R-f zjiiRn%Swz_Hx*lms3>uu3t0?uGm3@Es-3IPV5x@nN{=o@FxTo)e@#3J0F4x9$BbSv z>$b=ino$BIh(`redexj?%lOt$p4lRY%VAb@le^q(Beb=QE6n!w$9_x3)L>v%>?m9H z)aWWKaiGQjOiKu^?`QME2$o1nMQ*%$!bYdZ{0i_ccCOmX!o;N3R|(5op|H+Guj^ns z59}O?rhSe@SJIm!QmX5h@D+AQmRpXg1)$O6WGzy)M8kDyVg}ZvZQl{|1_E13@Q$)1 z;ULn`laAzTa0NmglIeil*a53QO0FwYLYQZ%Gq&inC4%1TXg#eRSN?5$_a*(kI-`*nXXek*yrNtErBKnCIW&=+EC z)PnZ#FJxy~T`oq?;;P&}YEpx|b+o}(`e)p}PR6&jIQVJe>t>%@8tL4fs?H-Za=&~4 zkTD3rU$8w*?WoZ_HYMyO?7g$UmZAjcfAf7dM;-;s$C2Jnv;wJ`4jv7bND~Nz{WhS7=C{B4+9^tDZzU1|h@`rLP33wqjC@O#v}f zHBG1mLRAhXR)KZ1v144vAk!_GkaQfnKgj|0u%{pidGrkuma!jM4aBsHPyBCmz4<$o{r@+9&StD* z8w}Zru_TirOEkzn7-UJRv0NFFj0vG->>6VbN|Q7gYZ0ZQ(lxTSU<^r8m+boz+UxqB z@Av0>9QW}#j{E)t&Y53c%j5ajUb4?3uJFR7*9ifV$DQz^&tn{g(Q9tmH_)ikp?D+T zF_P%#JGM2gWjAn3pQW5*568`Ap?}CU`^pZn<@ZO|84!0x)@gmb_eCmd=|}^`K)RQv zy@`w#seI>XrFgh!s@z6DNiy+@51`pL({(I{_u;w=KGn~CN57AJ zPW#L7(>dj2U+v2tog(vWZdyt1eWD-63C|1uvh48uxpcRBQ+o2Sm@qZPA%m>g4`|r5 zpcYP{&Mi80b*onAcGreKkXPvnW^MN%;UpyqJR*G!rJoMp^5)rZbD^QSc%FUf8xhE& z>#T5+_^@nq=nmm`kL1nJ=QKkN02hJ#Qxb zOTsGUSRv#QRxJa1Ps2p_gWZw8-*E-{T|*CE8O49PWa2$_-BQ**PFrp1<6-JT*I`SF z*yxYB>a@s-XSiD>^9OI5N*X`tb-(kS&DlBy5xL_g0&aqmKO3&GU5^1AoFnldJqInYO##=cc-k<7n1BYs6-_{Q7RF1c zd-cO0ED8i1R~5A0vQ5RZqOlN5Y8h7Baall5%C)Xbwe6u1Ry3CMf-tQE5$KW<#cE?~ z3l34z6#`63J10mnrv)XAy7oLy1bu*_!rKN9zaI?fN)U~(rt9;T9qO&H$yE>sJlp|Y z+is{*taCNspb;RVOV_K|Ezej*v)rtLk&!I}M`~#Ho({NBK~=MZw%f&z$688y4H(oB z_Kn;}yFzRi^xR^LFJH5I91{t@OC4OcJ#+|mB{GA9!ZGaIutGRsZpF-{t>Og2bW|{DZS3vv36aWEGy@#Up%ItXjOER$#Dv1bMs3x z;FH5mLC7j=1l9Jy4}N9|$%<+H4OF~-@^6HVh5Cp|RMR~!V9EOx(b~{ZBs*-(mO10y z?2HnrRuWEJCIksZ0K@K)>g%ia80iiUj8iYx+%TH%&J!YJ|9QajZK61tyjf<;Op-8hzvoa%_^^M+1T7HhjvUdL_pI813zjM33k2~r#Po>}+1 zrRvZ1U&}Gle1A2UxAMHE$SCfQ;-*T*=D~4VFC`f} z2BS(n;v_YEe@_QK{E6^H&*W{?2ZMS!i-H?|azR&;MH6gWO&-}FmPefbaKJE6*IOhq!FvZhWva2EggxcDrT=mu+U$y6w)3@e{NW}Lx#fnKI%Sq4?=^8dO z|J_@vC&zpNWVR1QZT9Bx>tE0diaNA~34^FTiM`}1BKyLd_e8-aee*j>K{Zetqg(b8 z87O3$_9WPsl+-l%nIj|?hTLam@hfYVz)#HHSL<)X!0sXhdbdjJGk2mXPvqzh7{YG5 zZ)-=@s;rtGTt3}(G~2t+x+mfw?nCpM-9uQWS}|-a=e6SZqFd$NFr}9n&w}!ZTW%wV zXd$LAw5+pej;T#ocK1LIjaxP2kD#x`9HOO}Bxb1y^U7hf3)WtcIdx>krZ06j^=F9x zcVf0p+rNNlAnHR#XzQ;#Cze|7k{`t)#U<^(c}17UT4+lP8O4L`Y1fQ8XuC*npQavi zI=E_zZ`2vM__fPlCezF6Q>L&_i`vUu`Z`~YXG^bKDz-v(pPZRt`0bHyo@eP5X-S={ zQ|SSDBMg^JBK2T61ppohWg}yH|HF|X@pp`^FDy!yn1JiiBWr9Z7&4UupimSsMkfP6 z4~u2SSa21jJ}2?zrNMi9ui_-hDob%L2QgN%hSd}Kn3A0&P~k}v{S|7^KIv48lN)97fIM=S9ZnE8w!G1xS z;^8Q_H)0T2-Bg{T%az4f*#k~;`_PV&rCkaK6X~X;G4F}1rr#ZOOhbGX*S$jSXo)9O z!>9!WiVnazp3b-!Xn#N4b7P<@@`TiRt0+hN<65c*pA2r-yZHoI>HNxja+}8d-*gb` z$W%HEe;K0-Jb|!*d?`m;coO4(MTkw}E+o4OG$Tw6ekR8qe=-64e)uJowGv^L_~*&y zqfVuBf89$wGpho(hi#b_Ha^xYQk)N5?`@Bq*|#X~HyZJ7#_IjAgRa-S&-9(I{Vb96 zdHKYsQJi~VLhF;#)b2cGadA{9!^VjCSNF5t{Sv(sO%0WL5Ws|1(3Rhgdj0#Ho@WqLn!b;8|7A7w@#yWWOw}mr?XLg z9~h+}&1VY|@Kc+Ox6zLKTV;FBz1L5@WYePWH?}u+^=>YGD)~|)D&ljq(&)!MO(noz zpU1vj)cbhMZuaK|N3qh7B~8z;C?zUej4jpuLu~9bRK09W z!u(dnf|>G>6rPsKLTj&9X{h2E0(PXxboTJ4nNGD&gLpGis>`n5-lu&&3>++0qW^EX|*74v!Wwecp#q{rrX5jAG^By&@m&y>h2HPpYLH_{^nUK3y7wAeHnx6DkVuM z1W7|qAO!&~Ae7SVE_3tKl#KrcA|78nydtmA7k}oThiku-Mg8}NbWv*4^>t?nk5ti< z;dF|81&)wJ+vYSle;C;;D{6#$DD1jNT_%RPx0d!)HGdOzHbZwGpkF(Ed*P{%(nxF% zLt!7vs(@_>ZSLqRpsqzw+@j7#o%_&|R}*MxAbX)gdl}R5wVFQ!e`^+&+x_-{_#^}7 zo!dWKpZR%CQ6)Bhs;ZfWvAmX@?&>GFu==6z&*3922BkZrj}o-K9q*gHv)QngFx@5k zy6@_d-4+F}e4&TJ3SJ!W-lNg@u_!21#JsAOFYwS~O~oMFVMNM0yC7$j-pWiCEpJjp zvf(AFt#yX>-Eaob+pfXkDeBPq(IUzugEYOq!9Y=Q*&ZxJ($x@3p1+F@?3xIIfC$H0 zZ%l{@3cn=O#TK*%Jb`l~^W5YXA&8X7ed#T=^Mzy7-Gk7Whz7kA(*?wkva%v^V3Lmm zrqMEhcud5Ep~^QdiJ8cO9U$q@B`;!igIlK=p{-y}uOAwFDAi0~M1|5;R3C46D8*%} z@Z|ZfNmNnh;gM_+B{VRv&Dx=w6okCK_{p>3P+65zNc+FQeq-IJnKw?s`(AEXFS*(e z10?UzBlpL1(nLj?hDSo^t$(n4RB!&Ycz5CcRB;+uC7bEu+1!I%imYsX|NFg7Zv%_; zf9wX}@o~muXzD}lF{fRj8YWlIaF)Rc1DF9WJN370)rFx&`9Fc%TYt^`fmW}sSZNLH zSpDqxo9w?7hZn?8%)=HeMO_jw@2#DDn#ob7yJ~Uo!qhJw{!VH<8+fT}uWX>XtUE$* zY1mht@*misp0IZ}aS{nZzqU=Bjc7@|`7B z7A3~wC!d#O8Q}z(q^IEwyL&2xE{hMVggfv}P?+<;N;o$0zSdBgXM%j%3{PG7Ckf_l zGFm@r`mBW>Efld}0L*y9(^d2)Fp`3N9UYKGELxLS@-(m4_IaT^k}FJQ1CqK`@(^L` zrF301kjwmeICqS?t)fq-nD=p{atjG#B`W<;sUPv+sGk=oN)(>DA}f1fSS;H!5)teY zlsw!zzUv9TjGLV}T_p@iIY6OQK~7O-*{wjbN*y4uWQStj>E1=Bj|n6Lfe85a6o}MN z6qR(%k~?a-8lXKdg==jNYZni@F<>cZTHCd?O7vHG465tjryuAz&&1ZKZ@DbtgVMa8 zq^bIXMp2rRz7VBjD%Z~jvHj!%X6_m`SNK3^Qe!o#aBs{x-Oak$(B=oo+|!spU&ft} z{=Pb)$L%_ib!@oNpZW~=7dYEEUfpvl@c6p}p)bmyAF@hJeh7Sl!hu&IrhC>|2Q4Eh z1aBAQx^nHd=bv_)FyUy8>@bAS#MDjx${7mgO^ekBGgH+ll#ZRF8)_aYD9^>55r6XX zMSm7xbyD!PRQdr7DZ zb&-f8XM$gxD0%eNztGLA+Ah!ul9~=1q4|>CMU*O@1+D$qVtCr#<6XZD$RH!#Na(hp z$(c6+R}G8}u4?JtZI=%j$vGRE?`%_2bvDysch{*`tGvZ!pBVlA+r6S|@rS*@^IJbb zdp=H0PFm~6;Un5w(O%8;LL}{4+cWmb-S1Nqdy}3B*9Xmy=dgH3%UXh3GS95C zu#jB!RYDa0A&n5Nq08jsGYk8nO-YA~GPKXutMr6}2V3|?o&NNblQ|MN%Tm6AR6$vb zaF8Gr#;|WiU0){>MAooal<;%|w5g;T2UNw{p9u^Ob_ER)R^kR}gc5G72|+>~RfOU> z5lQL>6J857BKeRIXB*jI0N+k`+C83F@4ZOT}k{DLG& zUv<_&E*f&$#fjWj|13568g7;34dZd*rSmYo=+X4@8aRo>5ry`hn8I)*6Mh#)Jsm`! zdOPzMxy3nU+Ysy|*nPXEb!id)bg*XGr{urb3H%&I3)*BAaD|TOZq2KGeyLXSN0(C< z>wNysR_>)Kotg`et>onM%a&iM^;EAGhf#g{O<(6~e?GwKy&8Ij;$@eBQD7!~tyTw^ zUdhau<$iI0g#=e;yh;Is13)GPFq@waP0w^!&GM}zr?C4DDk0)S|2e1Y@$_VV`)lu8 z-zoQGJgaHM+xJDk@)YQ5%_p8u-+P(i^2=e5<&~L`iErUS_r(PP`1-%QVOeU|0wW~t zWoCCD!MKY*d|g>t9(bN}n6a?-@?OEZL;BI9S1ik6BOw1rDKn_O0gFNMM?SL_nz(V3 zg0XmQdzVygalL>9IS)&(;Gmd}xg6AV3Yv`xXCtVRuAEjT=pO{fy?QZbaLVX)OXh)L z2pADg(ZTa^5>TlEkXn2!_1U~!M#s~YD614OOn46&MDsj;M^Nx3caW}RI61XFlHjMk zQ;(oN4XI*ABZO~=^qJSIl+@Hz0Xo#3x+aNbkIq(AA-&7F9A{J_w?};-g26LkllP}4 zf@x)BH3;d&#rXyj)A?Ar3~NUT82?n<*J|iqBt9KZ8_g-ErjtY46@)Uk1|)#=sG0C8 zoK;pcC)87$q#>-xF~lzEA-Vy+wF6q%8;s~ELpXM<>w|$p$h+-8FRdG9S7y^9k_qP1 z)LN$-zRP49%2G=$V%anya~*n4}^pL1vI#h#ha>n>XSv%j%zeiyQY1F(=7YaCIi zCHz2IH;{c?=R+xM2Y<&Z_d8unlir%Eu2nD?%J!EQdwqN8o@W%lH$G%ZY4t&Kr~6ek zUYhP!o%F!RZ&!}&+w(RA6#hO_nqEgVhFyQ;Iy=}_@jUE!utl%yz5MMT+7#B5 zksBbC91rfcX4lC#Ju@LCcZ|+~e4vFgNe5%9<*)EJ9=K^jKvF-}CO}Hdun_BdyXOfU zV2j5w0+eiPr`hrPlM)i@tsm)A^eCi9i|BNQ1Zn|=8!fO?5`pw_D3U^%JsKU;==_qL z-as;)^>iqvDgEN%AVZbr_oFE(zatQ7@UQD0(_UmJ^bIkM8fz@jJ8v(=0k>~7cL%#-b*g#*X52gb6J3#pKjeL_0kY-lV(ZJepkTG94~_p6SdPOQi&}? zJIIx5AzEOG$R$?zGpV#CX~>^gB>{WFpuJ%2P5A&w>L697?kWdTuE_*y@1>sO{6%}< zuXW(oMqN~uY7Kk2Z11RPyr#=*<6GbVl6-kkb*`%VtKN|)T5cgbQZqpox#$~wEN|Qx zD}TqV?!}-h0l!yu`wnn>5WixOLpLD=;NIc^1bFxMX5d98prvOkCb5%wu7s==V2HZl zWct)ZqR^4m-f0xUG2W3BqP(qQUX?abo6eg(ShZhA>t_46(34#ca)0-?tzeL9({`c8 zcb};&$3&k>JRQxy^q~1~El&b&FaGp#P~NVJc;uDwN87t|yXqyqM&-TZ`@oQ00^bhq zTzQ96KGy5g zZ`|}ekqg88B&GM|gfrS*V9Zc7Fpydj;JAQ_%*5rL2~4rdVS#4N`qr*$4UkkTqMN@^ zS)A}wvX)T5w7#%d&_g{}LIg_&y%F;Q=Q@Dqk}9iZfp7HfS{Kw7=_ztBxjbIQCn^Hc zdQ+s2Q!YGsKBSmu{}y`POg!`fObG!c$6BltL`wO9<@|#^jv9kC`0ik9mx@XCnc-H* zR3`n@***(=>NK^iJ%T>WL(@&Z4+HSi9Jp>-3n1G=i5Fwov;bTd&DI}Hv)!*Op_2(? zQJPTjgadpi-NcP5YV*|^+s;5wqs<__k^aCmrXRqnWC$bX54-_Rrl9;RmR%SAS_m7z z-mg2Olez1Pwzg`^Bh~cg<4@fmo9SP0aAPE=;_sYysST8#`S7x2MX5@VXM6wR@RU3^ zJG7+NQaWu;ob7t!C@$#3&>u}(F^Jg>ar#c}HS?(*%c{-4Gfjm<75rj(|Ez8P@Vofq zB+H>S`qv(+qSTU&o9c}lm|x4je#e~kZn#C13O_K=Gx_J7Tz!Mg5s8o2XU+C=uP=n2 zPYcwmR&cVeJ7)jalm5T5S}w2l$FmQeO1CHe(a+oDuDyIyI{W8AVnY7s zPgeR&h`YK;PIw!~Q1@U4?5G5ijo_s3)MG^k1Bw1p(uG7L_{`74bk&~P1gWi$bX4w= zgfor;A@pt6Lqw+KG@k%qa-S!a2(2~Jm;u4DC0Ulxr7T;vEmTRbYh5v=&$AIH)xU7$ zI@@6r$R@75)R%5!sQDzx0Me&I5fimobl^cc7XR}NsG7_68;E||!Hau*Fz0aA31S3c z4_Y_CmZD#5$>ePcauA&=Th99xz7I>ldu_G@k|64;?((}^(n z8m}{WuWr|Fo7ULd)DRfS&{GBzf^JGr`1QO7-{)N)B1AiuB;-{xLqAvVA(Zl!QeZ;G zS;3@OM{Ltb^kDPfCzsWl&+8ADG^)-W2|sflY^R1k%zWN;KK`?{-5nkXTO<*V+(gtmSw@ffdOe1QuC6ArMf z7g`(5^MyQcI~+JhR}n2tN{+)*tQd}o+;kok^TS8UzQY_7TO_GiA$94)2%-zthe8 z!7yU9rCgf4dGYm?D8VPE&7*%GEZzfsQ8K(|Cr$2g<{I?i{GG78fx_&-=e>1*dwzKF zXR)K|rL~*brCp&(#djv0VtvbWd)~r-Q)Yvyu~y20v1=NV-jR(~xtb}$i4{Bz7^NRC zuha>0+;DZFoK!p2mQ4JPRyz#xmd%mAUv@Jh$UV#Yv4HP{wU8tKTK8wE+E1y(8@)}v2=Saho^TPVLt zMP1M{gWeTzMT%L*SZwZqOFx`$jzO|R{iK??X4ueWqMuHt9j@O1T|oI@jQQZon{s|M zpip?LK{;DEcPqNjTrKc?PSa(N1{$Wz=VhAO^BM0MyL;G)pchtG+5QFXM=t+~^FxIB zhg+x?JEY-sL6WowFG3GZVGw0NW%)ER($D}21Jxa=f-5+}4b(dh!lnh0jv1f;QDq2N z>sggZx);4>WTZ*f`U&4y_W|s&thxElfA|g{*0ZT%QrCxow9efn?la6b!qu3gWn)z8 z0usb0H}q2T+bKew7IvS#^eMS!~ykWxw-D?G!$M+A)M{17M3-7rgnqgO#*iUO?={NPm;l_sCFY0(TD` zm9$0Nudv1tb?wZFF>!s~It$*{qR!_qKfI$t=u|;5ulLRD9&GkmW%j7>KvZ;5{Po{R zQ}097PBoGy-Y2b7>aKPM-oO3ea>o6>i}UvD0hQ62hcUa~-^ZDrmKid_N~C|qBYMhO zU{bLZxsF`*5$_o01%!$7vHRW)acL^0S)aq*h;)#FF;|ni z_3g%B*^@fF?>2TXUUWKd(V>?NW7ttxN6&>byR{=ppB=}^-jDgKC)F#yAMdL~ixi*S zc)jPA&dC#mMD(`G>*YMuarNDH&d9Hxc*qT#TU3b6*?rhG=cz&o(UlwL*4<*79Y2q+ z`58zZOMA8=YbPBP@kl);E#c?XZQGpRHxfz{iJtdGjnW;z>@QJtIVe==h?8g^m%{A@ zO&yZX(LbU}{+x}aR~zsWkGx&76x@?IwC8N8{56}&Ar7>COi>4{{f6L=z$9COQeK(= zXpo2Jm|Z#Ew;*=DrqTa_JS^Bz$cm4fL`_xEtDG?9!Y-Pig@eBDhjCxE$u81HW>#(V ze#>KZp>KwukLL6^PWvxyJaNl!zW4aa1DhL)SKX_5C6s+3{=uf_^KFI!Q9CIiwqHadzvdm@x%4FN3ZWb~%budUR z$--{>tKKiYwBWZJb#mRv2ly719&({0U0g3?ER+Ed!@d2wAQTM=Ed|9< zWj<8u0*)YI0ZkE3@&Resk9eSSj)k0j7ut zQCR?x))MMX;Y_v=)_RdKr7#H4Y>n&%G9H1&FXqBtRxY|uO`PjM=QIg~BChZu1GE%E zA-ZwR#E1HE`Z*R%)HY3;&!aP~6wxbI!sonAyf24a7<|7bV?*0g_CG}AzVZXOvNo0s zB30qguC?74=~S;h4A$JT+r1Chl$l#cxDj=(BNso3EP;NEqG5;?e~-|kkAGT#%v1+h zJ3@2xW_0v}U2bHPd1Arz5|4DsleVq;5_0;lGr%G`GHnCXm{zd#qE-qto+zW99h^Et z8}#G8#NKta4NhiIgdS%dOD|Qe@{lk9x*n7me{Q_7sF_*uT&{bBXv?r5tmT2PQ~~m< zwl-ljhrIO~wGz&u%~!kr1#TDYS{M<}|5SAQvt+14*Wp6qy~6dQy@Q;JX}!Tu@AnU0 zJ#MnvS6vb`c&l??Dsf-0`U)nbMDeYX^^D@yo_|#9wj>3`solEinVkl(H5{R*CA{@N z%UN%GuDFBsJ$v>twB!zUZ^w%&vZ|^_%=-5svVFQ>=C8}3*{ab17ynAe9fm-o&BNj= z?Hqu4wjn+CF8&UzdC}HxIxiBw%a#Ke*%U$i*4SA4g>>8hcJsTx82r z;!f2r{yGuxfoI!0DBbbP0R>Zcdo!pVmONEc%+Ya651x=+^`3e@lj@-Ts}mn&WOT0E zfc2@2>M<#i=8!rC0k24)9gE!sD2arqJ{xJoX;DJnfoen!jz2HDi}xSsGCA7bcR#bqKwIX@yGBwz9qA(MHMPDDWlC{2>eOg@xJ z-eL>gOnc;NC)*Af#efEfI1XGJoca%1fFY-&jH4MVDvs{B2}_cOA6;ee_y{7kdb;VR zjdGHt$f=Eg! z!NtB^`VPaxFsgkeS}}b(h>U$f83@&~*e1eYRry(EcdzalbY6 zu$y-nZIcd|FCX2;o#f6qRbR1U66aX|tlic9?sN2-itI(F55;XS z|Lf^cz0|1ojUANtW$;9Uj+gV_YaIx!>xEzCAmza2k;z~O>^t+=dF;Fr<2GzMbL zImE^I~z(e*Gj?=YTQ}udwJDjQIhKQ->fn1tj!}3& z=VQ6Lqc-fZ64{GAPVvyb{C25@o^uAorzazf6{4+Zc5*8R#35`Y)v1)co*dzLV=Sf} zOfB-L&hZdlHDIym$uYBf;QSCmgfB%L=k3MJQ0ShY!h(=4S||OQ-hh&kDS4S7iiL1-;Mgaux-Bl`4k*IFlMpmNq#r1g zlp~Bmm^18rssEVkyFvYP0lNRZlE@q!^=liNdQ>|*b=JvH$n$|0wls{9+RN$%36=4D zE0o$fuNdhcpRo{JYwRUavU4T0zy&kD)2VRu?14u?eg$I##P~wlqZ8kw&V}{sMM*nO zE*^=DOgk_Pt**Lt&y6)zuie*0I!f6wZ@6&}_pmy%`uuG<;wUxYuaz82rPIy!tOunZ zs~lwi*^;??TU46p+o$XuVmDvlj@Fx*E0G3`F}s_=IF#5w`1GNr6Zb*3?ThWNfdZ*#f*h+hGI3G50yhA zj&$RMJ1!ToO6Q8{Nz9{hm7H2imFB{lEdoPByh5Ng2USGP{;0?f7Et(!Mf9K|q%r}>*mc2zf~)6M>E6Z_lEg%f zb;gLrmU@gel?^8xWJzO2WjTA(3`dAp+*-{tqX>Ct2FM^a8$>zlR}pF&GV zo~eGj`2F%}YfaiO(#=eE{*lsW zN`}zP7cV#%?j}K4SaIDUQ}Gv80!U*ec~Ju>9@~hFaU3{;YIJL8R0VhwdQhcr0{msm zO1Stnd|qUT)JBp3A{I84lB>i)rZ z=^c+yZ{?`D2FIw!aS);+UpRPZ8(7A&>s&WN*wKn+uZ@95Ca88gW6U`O8Y5n%TSYI| zSnFV*KPHQ%cR2`UC0cN~46KlFB2F_ntyu-&)=!^SZ9z?4L6FjPn>j|J&eoBRS@UxC zty$%~I=QX`Da-b9-GkP85~7mePDMecN&tL1tZ=jhqH_N*WT@V5>Ic{-qYb8~S}V&& zgzZ2kIZk~S6P!U();&7Nz7t84d}Estb)jiFJIS8v$^D?MW@3|Q|Ac&)o~4}d(xM#JJQ#w5odxM)YGv^EqJ znpP@Amx*_?$+AQuDL!ygzh<0L}VEcwY7L{~x?N@HJ@O_i^8R z;#}dLeI{OCBxvmb1=GrbJ<}8R0fES>fG$pDKnmO<&g}m&<^|@;c~v$U;X1_NY28)} zw2o5I?8a8g&$@#4k`Q{^Et`U5d6)F29UrzKVt>Y)hmY^w`jQD!=}{n{dCwFO;0e9x zt~Gdkx4a4u#vD4Saah@#VgzfjLeTTrpna}=pI(4JWV;$C%t0s)Dtkjfr)Ef~b=`zr z6g*s+4?ithRu3LRC(d0W{_SnF{qxABkIa*GE-C#de(eK2Gsd=iZp;1)82;Dpkwq(g z_RZaL?UV#j&EfjN+N!gAP@p4_cTw{mys9Ed^J^yY*30yYA365WC9(IKeqRRWWKcHe zvej-X=W+VH<7gf5JbSld=EWT?i@ECO3h_=2fSzvo6dmda%1_e-;h=f=99`;fBm>%& z+_p#vvj3;uSc)ltn5D+*(FN7{0R+8VVL}gx!JCkr9;~d=LD!I7%-<1!@fVIzO5v&_ z2W%!F@JdOVLA4I^dp?%%Xr*2;XvvEah?3TR7+QQ93^3$FIKd;Ef)r5`24)TWn<93_ zNTe!8E`GkjSb1y(E9Cee9UdkgLRUoz=>^%P3ism{)UBHdUFICP3aD2ZQM8fBvLdvG zx@t>-ORj}Bn8B5rm$S;&TfxXW|=Va36qgU@@p| z(J56YWiL*nk%u1BgCf_x;DIHEFd=N{b6mfM2qQQcu>L^;93dP-l{OB1nNXZz?z2kh zQ#~GE?G887>l0$WaF3uk-DDsEKV;aRES&pBVXdBJvg&?Wb2sKd zTy0yDq;@D911uLfBL+Mlh?A2xo$ZT4mwjW4v(Iopul^Oa?Q-R%@MCbCmm3O!rp4AlF&|9O~$wkD^?vW2ouFegeWFg)&Hw>)b zRm30Kck^ww6MIRTo)~Nx{&hLCpzn?uRbPj?GTr2{7 z0CWimxf}q!YUmdZ5;YP4KkI}!>!-FVE`Sz|yO(lrVf7Avn95jMB(Sdn36uOhTU9#fDbsZkV8M_WaOul_7V)f4RPodt24@c zuU)(=P;JukgmGV`S3u{;FSUv##Z$Rv6V3Cnjl(&#E?V6K~A5v_5`##{GTP zvU@)+X#UJIxuvEnqx(mfAePJDCginn5pA0Ej0 zGbYJ7;!RpP~S$Vp_DUS?&n zZBLRns)#JFm z!S*3Jsn9OalC1N`lIHz_LZJRr2%6f<@3T20MCMOEsR#%kr;GpazK^+)4T=xi!?LZi z-2i5aE=4BEs}!)2RPI){d)Hozev%OFJv+a(wO;{qn&U16*3&|#%bxm*L#DV!ioJn$ ztyy6D?bFL)C2|tqn~ViOwKG8>pX&OFYSWUAEMUXOLT^P9R7b?U1UcfQSn7Cjde@5q zgfAUs9f8+@f#}}E*-o_t+|1l!QrwH0x;Bzt*%1AtJEM}ds0-mW4$DT>*)bA?LtS&BksGT5Jhlnt$N@SF)pUlkH za(y*G5^GlfF=Ad`rvwd(tDD_h+ANzDcwKX(Pocz0{{`;3~5u;j^%lg^MnT>t8%qmP5bn z%?R|;l86xyJsamtTg>DV*2}K>{m)~DstI+a{|w$*_x{VwchMOfcc620pc1?kKmQA~ zc9C?PmHvVpt^{a>9UQn{=iH&cY}#w34-{$T#)zrVhbP&oOqrCcw-Vk-_ZPc zK7Yk41_t8sxe`%JJ}kq4E*heMF6oA{r7COMjbVN2Oona9(@}ZBmNwS2sVZiq$}BB< z8fVgTv8|e3Ws_o=8d9J(wh=LwfOW49>biLD=#r3wyo6}OEzo;jNVCDmS(|zouNi7f`bGSo823TGQB^sbqTo zv!k9PRoP#T95$}J9%t7+0Gdob)nqrgd`3JF#Ovt{=atv2HBZd%J$w47XUJasa>-^- zyv#wI&#N)K$?FpHGes=U1|^1!%@3(5@<+#FG3i4wt?3|XjxTheLk1$47QKO{a+!so zWk1no1d;xqZDP0K|1mW^8VANk_j?p&k%PcCLs%&vS|(Xrt$_X!Qk>ptO@S){3?Ydt zNke4v?T=ho`PX{6lF9~otO&RR{ovSebdX&R)>hpe%vV-b*8N zSv!G0#N}H}pv=oJr-6(@7H29&jAc!87oEhVE!#SafDyN;aJC4H!0(NNm5l_cFa#ba z($NBwsDMv{uYcWg4Vk#^Xbe`OC4tW@jTm78*=3JuNJo!3S7XY!m+g<)c;c>^!CRt0 zK!_LFsSq4cRaa*>Hai>oq5r5{4y;NeXIQlb7+tnCw2I>xVsx&% z5pHCAHXxj6>wB~OK#|NSgHow_tTa(|*7nbXr@jRlPKjn`5BL4IoJ`X4*{kD3Pw$?> zk%tU_=ankoCTj-+S(?7Hk@O=6JU!2c?a`^Ucb$CjKm_*7q##QA_D$tp>r1kCiu9GI-o z&HQ}nWiWFW#3tw+Ptz$0f=+7|^UO-gG=j*Zveca1T*{jcge`K!N2lj_`KNX*(tnVD zqR1L4e5>YlSM2z;=k2KZxrYj7EYDx}3$;GuzcYxlJCf;-Hm{7wS1MQDdws)mPVb`z z?b^sM*(n2{=h%UlY2V7NYQ2bfW24ZriPhHBfTKfvhKIPJoi?26b5i5nfw}x`)JTxM zMa3kYZDfr3!3Sb3IDSe;4+aVWn;^*VxTfp_>8NcIW6C-s{u~Bc2P4V&M)Ph+%wOQC zyU$6G&x`BV(Gck!z3z+>Hr0A8dtlS!c@z>v{2EiWc$F7{`Ar`kNCEMlpS-ikOO6p^ z6qFu4vpBWSTzR{qQ>wJ=sgG2efJ?S8Unl5vGT#WLeinH#l@cUrzyqg_ohdq6HZSrj zm<31(DJvBxm+BDSC(AUi4;#d3|{4@_lC<>kgqx$^rXU7+H1b5#IR{A(6{y_V_XV(k}T8 z*DZWMzQK@NcFM;rYH_34Au&Jpf&kf`iaB#qX~TH@$=WP{F* z{q+`opB4`iy~{dTb2C}eSFFTGDT3LfQJ9o9kBEB- zI?AG==1HZ269OW8Dcv|+LtVL^6ALRY0_WwH??3RSD`m^BNh$rZ>xUXo%#{$ zv*uXtzaV75nNkC5#{T2LEAuG7TivTg#Y?0xrB?~k4;~i`v;AOV-B+rwmw!CQ6k?g3 z{{ff;_(qRIKBvEpjr5N_5rj*u-pyKzu@bHKy4O0qo8ff1vj;4dzwCnCZg6WGTC}m) zM6qA)**WqKx#6Cr)}YQ`*}ltUrynw^35G9Owz#+aaV*Yw$r^U~cK6dVPkzoNs`OuA z@UQ7D^quaP1Fyi4!UuO)z&}R^B)=-l68-kB@oK0t24}k!AV<8u#UYpUQqWRJ9@;Jk@~VT(hCf(3SpN$K2ekT z8r1K6=rr39M&|?*0=x*K;5^|)4&JHO0L!A$XXogskK4jA9I%lD(pXLxFHhM)L;Nln z4O|RFAm5zh7?Eyt4oMNc@7;1#_(yHLKy^uor)ZdR13SoYuVVlcimqsk{1A3Q(#J&NXzw?BBvqRTXV_ihPTV|jXS z47Am3##K$!svPl&`K=fGMXWK?;AX=^;_W2kj>>|Jp4#uNQ{eMd@N_BT$S7R8jI)=m zA#{dsC8{u5a#=`EJZPrC*-jh+j&4s`Ede1iE?+qDyFjHJEQ0mQ$BGHR1G~gO+73{p z*4}8zrj-tlAdpNSRk}%Dq~EUAn{DWTKvs|Nc6pJ8nyE1qg@p)Df4s^u`e;lUiB|-9 z!@^ULx=_jUG^W{vL!mX0A5mlD!k{J+?Aw z%#-=UDm}55f>xX@ScTrZ*Jit9&6zWjS+Q+Xgy@|S6@t}qC|>y@oDe`nw;fW6H1|#x zwY>6rT~hbPCGD)yhW!5Dfwm=~I~JPkA*jAAoqFWHw_cbqm!E&b;)CPlD-B@AuTH8r z;_Am!vso}UCif}bE+u6=onB`C3etlRm)RdB+Ia1AnTNai<)zn&m&a_E+;!Wk?htT! zt|B2G@Argh3G$D3*{CS8{11M-v!o#Fu?`)#|MQ~O;htFBdzrk*u!>;ka>;f8PTuCY zuoS@}>REIUW!VOOUn|{)8Yj3BPgF5A1LAw{@mLMl(IO4d~ru^28IVV(|vs?aC;X&QT8>_Absku9{G>hR+4Ejo$J$B9~Rkf0T z=Cc@RE1o9KZp@7p)>1ABYz0jH2ZiDS+={IsL&0k`!GbdL&fLj_a$-We9P|l@&|q7* zI0^#Yi$TZ3iC~M+{R0Ob%Mdmp`%wtd04W9H=n7ya$~==)Vj2bU?~CCCggNaN4hcTP z-EMwFvTeXs<>PJ4z&kX3nMN%Bx5~YgKZ29|nAe|X&v2q@KYk4kU|Fxw$hpDrd(m6( zYyoX(MZevr>^k8JbUg3TI#Z&y16TK27aYZTh8qq(Nf5f1QOAMzZWJTLNU*3BtN6-Z zlwnoIm#vJf+rY)??{#bVw~Kn;T>(Q69)Ri~8T$<|1{a1Z-;uQ@^?OuM0-lg^p0zyA z6ZvYYW^F+n+PuKH$5h-;fANveMDLnN&IKJr_LM%Go0!4u9I0vh#Dz`Fs+D3G&wmih zk%dn#_odM1O&tbR+{v3dMLTbcKjhCw_=lllYa<7%wrAYx8!I6sw#XG0iR4m%o|+rD z%Ja}|O^TBn5gC1UUvwY`7}AX@^a|iJUj3#vH3|d=q%B2kIC?Q6u`Dk+XzdvF640Ve z<;iH-GCf*ViQQ>_XQphwCw@9UHC|fm1AJkfW7ayERwO-b`(Vip5*-c70oLu0hG?}`b6)mR zuJuXv>z1gHGOF#SzWg04v|BYkbgBwb71G{xzRr0qD8G71a`d`5Wx``&Dy|mw6HT9X zTRdbtFn4kA2vf19zgpMAbn@!j$4=y3-lh0G88LzMD!+60?z>$v>fCZQ;d|s`S~ZXI zU9C6WsrRrF3;7}3))2z|DW%mnO(yQOFZro+S#~O|zD?dU-;A^H>z!F@9B1{yEbfKs zN6WZm+!Gau5ZRuD9Wv6kjvu65;%jx`emH)pj|_)rTY6Kv`?zT|Sp%JUyL5o51Pfu- z&?>4X-9mwuN#N$^bZ_oCrbk6Yp}43ecHM^aw@QO&yQ0lhY5xAs<mx3|A(K>@Nm{xT0NlG zTjzy?UyNp`nxPTr%*1IPE#69akOUzhZb)G*^TR=pMDKAv3oB6ZgYn3cs=merv$nv3%Z?AjiH}MLsXXF0g&t+>UVU};z4KB)y{}%4je&}- zy(Tt1DyX$4P$i+c>v6HIbsDoymR~AcWTn_mPe)_4eF)P8ARgO?Bm>1N4(u3!E)8ZP zmQ12ive|>miKKtT9t>L-9!MLy?WshP+BAR!(Yr!!U=u_^fHm@#IbxRrU8jK9jo8O% zlubM_jc?qN)(b#dXe{`f4$!@hg=VeU{;y|jjcU-e!)lR{9Ji8ox0i_7(r<#6r4PIf z|Mpb*@?c(Hku>8l9ggmUpE|E|N7fi`)FEgm#-p`LOp^wV6*hYPc!D$k(D$PXI%10& zLJn!zaq!v)-AkwTlx%ay625rAjSqcBQhE>7J>Pm=pSAu?cG0WGlqH}jF ztE3ccY|s2MtR5ZBdE3{ycQwx`4E6cC!QCgLEx9e7kDl1SKfxb2e1OQE(p7pG(0lyA zx`PpU;%x9SCfL?fMev!G^C@4iDRz=uCd@eIhPnb)WeqyBsr(h^hU|i5GK033CqLt19SN&@g~iw_w>X24PL&&;ssX} z{C6a(4&!<-K{;4kS3DrnIh!f|%Qm9Q*5>j+PlUr!9g?r4F z#u~_opjI0BzGYmB?Z@y|2-UgK^q{+g`xlC)5^#J-669cd1H5qrSz?l#T>>ue^Oha( z3Pw?JWLQZo*Qw^sZlHX)WDbqt;m_W6@OoG?sJK;be}6m@EJIp;3k|gMu#3XUENEy^ z8yE>$-*@-%Ffn#n({d=v!k3AA6uQU5Rjt$lI?vimA5I~L*SKnon2()juT(V8DTkT} zK^Y;BS_1nM?Z29PmEd8#aQc1p1Xo-6&!*Ske`M00D>O-DE6=>WyE3KW+A;evP{b0? zH@YzFo1IqPW_oc{^`rC+K?Ug2sltzv!7@qrVrXy_&jKqB-VrpL_LNS`p5ljjv!CYP zMiz+G!?y}F7d2nA06VtyKU!``_MHQ3jb2yk>lrKccqvG1$BYD`ag&@Q0{mu0`d2^dYpUw zt?M;MkA`*9WIr{Z_I_vI=bqqIN#*xcj+$_e4I8CNqgiVgo7di_2<7<^tQp1tHiw@X zj+)?x<^lRz@keQ(I-f3&Lyu^rZ{$pbsp#Kqw*Vp2^j+58C_8(WI?0Um#UdnnkHw|< zdHU}2ea6Oys#mgU4-w=$5|%GlZ2iIy&H5fPUtnvsRwyi)ltQinszqztWP7TP1MVkS z>c<$w;HHxzqXnmt5M0X~uASG947_PiqX_|nJdQ;0}1c6XyZP0Dm z<6wd$$Q7q_3%JF6NS=rqP;x3&%*!B0HUJC*=_Od0=%^SF@X++%ZbKPmLjzX((6I^R zRA|$lee~_&R4^W)zl=+2@yxh41OB0og@zr5IdW2ZK=>1%@>_m2B}3BcMI1NMTlH>u zB{!!(G|5Fs1FXio;>AE{zY^jA;RZDOxMAh$xgIHNKAj zoGdgJbYL;HZNU?MlHI4y7pv{*z~S>1&TJ-OEP2*Lc`D}BtJ_#6!#}N5B3|clm&!U6 zvSaybB5L3%GPwMul2krla+n)MKc<-MCiN%=gB$eQ-!LJ64XtOdFh^*-*_1)=c)v80 z5A{R)BRV&1dOvU!#)~G|vE4*i$vcsISyToq9k>Nr`E%@4aG|7oT9Q{rRWxVLWK7Dl z=N8Y@$9MJkW?3;iorRY~l}2%N zXo*WT2Wug}SCG+(!lQADhCkTUpVn?TEIIg^xCsB-O#@_$ImJ8E1oTsZJZOg|`pBzp zlQ32fOcTBSJ~yl{G0_9^V5`(GWsVqzC+UDF+VszOLLk7S_Fx_f0Y7q6IJkewaeG?nQ? z@O?^-rrrR@{1uDVCB*Za7Y9BJm0hN9)Pz&sAdLqp>Z}8#v&<%&VOC`TmpjGy%H`XQ zKGB(xsn4@~(D%Tl#LGji>7(RKQ#EIc7yNfq*;u0SxPWv0G@ecU7*Ex+uLQ4;o}Ow* zbSa(%-WsFOsMUCc#c#l88}MjDD$feApA4E(sScd&)ev76Wn2TdO*s$Z&tFq0T8F^g z?wL=U0Sqt+5W2yhw5BJM)Z}3*0~fA9qG96u-IR)r|Daii*F)dp8*Zfk`t@8?rE#1H#dYoxC(yy-zH@C&f6Cg6UfqsN4G5YrSdOlwTpw7y502h5A4&*{xAW^fU&=^ z`<6d^TeaqT&b#kEPPS(pq-jWxu)TpMDBgVvwCE#*hneXvk*VksnWQoS8gDXvm$D6> zCjK!i=mY$)Mf?|;#xR^X7S?vCQ85~rTCCqjDpAMyDUZ>L_R0P8%qEDL1w-x9->ZugN$ttALYNLl44WST?Fjp@ z4l|kTkQhk6@rnyP-Je&D)+W3c&YBUD^ z>;+-+ox1${DiAQCT2BFNz@=aJW1x4mPub zp4TaCT#~^+NdPS#QakX9fHV4m(T*M0CZ0PjgMLs>zR6yoD90OB8r$Z6it~E)`&RbU zo?y`EXb9GWnse6``>EjV7lrdpXXgzhZ0F#euLBK``}B_m1lFsB?h@*1M!9v006Zi{ z*Q7?}9CqU(;#c|aIKk$dOvW6ma)lbR5m)7{|AVaA8f;sACQ_w6io;IlP@2Ad=sA+1 zdl@fHo}!&m4)3>+s`N=_gP39rTzxvRJo1%v(pSL^WT^f1fed>0UR-$p^M_eBpA}G_ z0{y(jh6VziS-eNf3;o2;Ul}i93NIf~3iFh#qRB91`Ed}FCYyO;rb?I7&C1ojEs7<3 zn>~PM=d#%MfdXP2me}k!Sspp~$cY0nIi0G_8W{{$>pcklR=^*|`?z$}4*BJAQ*U$#I zaPn>tQyiMlO3Z~>4l0WAR@F*LEri;l#oQczL9AnW?5)rZEiB7V+0l?Oq-y}%%305m z8@g}lGnDCAU2!rJx*?X`B4c@sQLH}Z$nUsq8C2*pWdp~-^2|=faPiO%UN>%xV_g>H z&sM?lqJg1h`aQe&VF6XL_0p@RyN?|=Wj*RMuNc1lDx!A=<}^{6alXNSsts9%n8BH1 znC9&>ffNJDY0?)elO|J%T5Gp>tOe~gIH*ZYEXr^19GvmXOWiVmJ;+)GU3hXlFUkm3 z$i$&aZWgfTrCr{_#jkK{30aGQS7K!OQnTPOyIHu%SiFPAjwHr{29dTuE;m2R_x<^w zSyoV}pWki4g^UHjf!5Rxk@x9FH4lHoD6N!vjplx34=VyGIq{h9r@{8Y#h(Uo+G_0a z9jq!xF8@I|IlKaWug;Wz#oN5NfBRg7-+$1V|DZ1g(2w=s9pn;~f{UzsdzE6d6vlV2 zqU#@QR<}H8N>3@)xbRW>Ajntb*KT?4E92b(t~zIaGob)huLL5M+$$K1V{s#z;~B<3 zSt<5&Yi;zwg%$|x$LoB2J(?7w32ww>10=e^^yFP{NzlvY}+*{_VHD@uW{>V{-l7faVfN?m=ipm6;M2?p8S z-<V`rN##T~gvk zcoX9CjJ|vc%})^o8EiCEh>jp=;OeP_h9ZPPqUbV79=?=EKif0l3ekn&`q1KnKh(Wc+BqZu}ff`a>$0oj%AO#!3nX z6B7szNiw^*9BT*;eUU1^GA2G_dtH+fff@a@Wca=2h}Vwii^IKBPg6M9G=-)nBK%yQ8qh3}aZvu-yt=Y`rCllZQ4o`h$0);g<4ML_ zTTO1C)eYiY_X}EGu_rBc!+qRe*H>| z7)pmd)=a`^BC^A3rLL-$Lp~!@-&2Ok;pPpiAe6%uEy~4wb-4suzgf|JiGm0=@. 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 E*@Z2tjsO4v literal 0 HcmV?d00001