machine learning 1 e 2

This commit is contained in:
PesceWanda 2016-11-18 20:45:39 +01:00
parent 694d6e0dff
commit 1dd8d25456
76 changed files with 15011 additions and 7227 deletions

View file

@ -27,7 +27,7 @@
{% endfor %}
<a class="sidebar-nav-item" href="/feed.xml">RSS</a>
<a class="sidebar-nav-item" href="http://francescomecca.eu:3000">Personal Git</a>
<a class="sidebar-nav-item" href="http://francescomecca.eu:3000/explore/repos">Personal Git</a>
<span class="sidebar-nav-item" href="" >Powered by Jekyll and Hyde</span>
</nav>

2
_posts/.med Normal file
View file

@ -0,0 +1,2 @@
![rete1](/wp-content/uploads/2016/reteneurale1.jpg)

View file

@ -0,0 +1,76 @@
---
title: Capire il Machine Learning (parte 2)
date: 2016-11-11
author: pesceWanda
layout: post
categories:
- PesceWanda
tags:
- AI
- Genetic algorithm
- Neural networks
- reti neurali
- algoritmi genetici
- programming
---
Nel precedente [post](/pescewanda/2016/11/10/machine-learning-intro/) abbiamo preso in considerazione una rete neurale molto basica.
Proviamo ora ad approfondire il concetto aggiungendo una proprietá fondamentale, la memoria.
## Memoria e Stati
La rete neurale che abbiamo modellato non ha alcun tipo di memoria. con gli stessi dati di input, l'output è (quasi certamente) lo stesso.
Possiamo ampliare il nostro modello introducendo il concetto di _stato_.
Poniamo il problema della vendita delle auto in questo modo:
immaginiamo di avere un algoritmo di machine learning che valuti le auto e faccia delle offerte di vendita che conseguentemente vengono valutate da delle persone e accettate oppure rifiutate.
Ogni volta che una proposta viene accettata la teniamo in memoria e nell'aggiustare i pesi per la seguente offerta, teniamo in considerazione la validità dei pesi usati in precedenza.
In altre parloe, in ogni operazione di valutazione dell'auto salviamo lo stato dell'offerta precedente (rifiutata o accettata) e la consideriamo quando vogliamo proporre l'offerta successiva.
Abbiamo in questo modo una _recurrent neural network_ (RNN) dove ogni stato precedente viene utilizzato per modificare l'output dell'algoritmo.
#### Generazione di testo attraverso le RNN
Immaginiamo di voler creare un algoritmo che utilizzando una RNN possa generare del testo o prevedere quale sarà il prossimo carattere inserito (come nel caso del T9).
Inizialmente dobbiamo permettere alla RNN di analizzare almeno qualche sample del nostro testo.
La RNN analizza carattere dopo carattere e costruisce un grande grafo dove collega ogni carattere al suo successivo.
Inizialmente l'output della nostra RNN non ha alcun valore:
in questo esempio, abbiamo l'output di una RNN allenata attraverso Guerra e Pace:
```
tyntd-iafhatawiaoihrdemot lytdws e ,tfti, astai f ogoh eoase rrranbyne 'nhthnee e
plia tklrgd t o idoe ns,smtt h ne etie h,hregtrs nigtike,aoaenns lngty
```
L'output prodotto dalla RNN, benchè non abbia nessun valore per un umano, viene analizzato dalla RNN per arricchire il grafo costituito inizialmente dai caratteri (e le loro relazioni) di Guerra e Pace.
Questo procedimento continua all'infinito.
Ogni volta che la RNN produce dell'output lo salva e lo riutilizza come input in maniera ricorsiva per generare nuovo output.
Dopo 300 iterazioni abbiamo un output di questo tipo:
```
"Tmont thithey" fomesscerliund
Keushey. Thom here
sheulke, anmerenith ol sivh I lalterthend Bleipile shuwy fil on aseterlome
coaniogennc Phe lism thond hon at. MeiDimorotion in ther thize."
```
Dopo quasi mille:
```
Aftair fall unsuch that the hall for Prince Velzonski's that me of
her hearly, and behs to so arwage fiving were to it beloge, pavu say falling misfort
how, and Gogition is so overelical and ofter.
```
Duemila:
```
"Why do what that day," replied Natasha, and wishing to himself the fact the
princess, Princess Mary was easier, fed in had oftened him.
Pierre aking his soul came to the packs and drove up his father-in-law women.
```
Possiamo notare come l'output migliori visibilmente.
Nel prossimo post tratterò una variante di rete neurale mutilizzata per classificare e riconoscere immagini.

View file

@ -0,0 +1,42 @@
---
title: Capire il Machine Learning (parte 1)
date: 2016-11-10
author: pesceWanda
layout: post
categories:
- PesceWanda
tags:
- AI
- Genetic algorithm
- Neural networks
- reti neurali
- algoritmi genetici
- programming
---
## Riconoscimento delle immagini
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 ( **convolutional neural networks**), abbreviata CNN.
Innanzitutto consideriamo che ogni immagine può essere codificata come una matrice di valori
![pixel](/wp-content/uploads/2016/8.jpg)
Una CNN esegue quattro step durante la fase di apprendimento
#### Convoluzione
Consideriamo l'immagine di un uccello.
Ci sono
# ALGORITMI GENETICI
// ~~ 500 ~~
# PRUNING E SEARCH TREES
// ~~ 200 ~~

View file

@ -0,0 +1,162 @@
---
title: Capire il Machine Learning (parte 1)
date: 2016-11-10
author: pesceWanda
layout: post
categories:
- PesceWanda
tags:
- AI
- Genetic algorithm
- Neural networks
- reti neurali
- algoritmi genetici
- programming
---
Questo è il primo di una serie di post che hanno l'obbiettivo di fornire una breve e generale introduzione al mondo del machine learning e delle intelligenze artificiali piú in generale.
Mi auguro che questa breve introduzione al mondo dell'apprendimento automatico sia una sorta di vaccino contro il sensazionalismo mediatico e la disinformazione che negli ultimi anni fanno da contorno al progresso in questo settore.
## Non c'è risultato senza algoritmo
Nelle scienze informatiche un algoritmo è un insieme di istruzioni che partendo da uno stato iniziale (input) permette di arrivare ad uno stato finale (output) attraverso una serie di step logici.
Ogni algoritmo utilizza una logica propria e specifica per il problema di cui si occupa.
Nel caso del machine learning l'algoritmo non viene progettato in base al tipo di problema bensí vengono utilizzati algoritmi generici adattabili attraverso dei parametri.
L'algoritmo di machine learning analizza i vari parametri e i dati che riceve "in pasto" al fine di raggiungere lo stato di output ottimale.
L'output ottimale è la migliore approssimazione di un risultato teorico che si raggiunge nella fase di "training".
## La macchina impara
Nella fase di allenamento o di apprendimento, il "training", si possono adottare due tecniche differenti: apprendimento con supervisione ( **supervised learning** ) e apprendimento senza supervisione ( **unsupervised learning** ).
#### Supervised Learning
Immaginiamo di dover valutare il prezzo di un'automobile usata senza essere esperti in materia.
Noi abbiamo questi dati:
| PREZZO ORIGINALE | Km percorsi | stato di usura | PREZZO FINALE |
| ---------------- |:-----------:|:--------------:| -------------:|
| 50 000 | 120 000 | lieve | 40 000 |
| 30 000 | 150 000 | notevole | 8 000 |
| 20 000 | 80 000 | lieve | 15 000 |
| 20 000 | 120 000 | notevole | ... |
Dalla tabella possiamo dedurre la caratteristica fondamentale del **supervised learning**: abbiamo due vettori (serie di dati) di input (prezzo originale) e di output (prezzo finale) che hanno una correlazione certa e valida.
Possiamo dedurre intuitivamente quale sarà il prezzo dell'ultima auto se analizziamo i dati precedenti.
Questo è quello che succede nel caso del **supervised learning**.
Un algoritmo di machine learning che utilizza il **supervised learning** estrapolerà la relazione fra i vari dati e in questo modo potrà ottenere un determinato output partendo dai dati di input.
Possiamo capire già da ora che nel caso ci fossero dati che "inquinano" il nostro data set, come ad esempio il colore dell'auto, l'algoritmo non sarà capace di fare un'analisi corretta.
La precisione della soluzione dipende dalla quantità di dati e dall'influenza che questi hanno nella situazione reale.
# Unsupervised Learning
Nel caso di unsupervised learning ci troviamo di fronte agli stessi dati ma senza la possibilità di conoscere il prezzo finale.
| PREZZO ORIGINALE | Km percorsi | stato di usura |
| ---------------- |:-----------:| --------------:|
| 50 000 | 120 000 | lieve |
| 30 000 | 150 000 | notevole |
| 20 000 | 80 000 | lieve |
| 20 000 | 120 000 | notevole |
Non siamo capaci di stabilire il prezzo finale attraverso l'unsupervised learning, ma possiamo stabilire dei pattern fra i vari dati.
Non c'è nessun tipo di feedback (il prezzo finale) che possa aiutarci a capire se il risultato sia giusto ma possiamo analizzare le notevoli relazioni fra i dati.
# Machine Learning e intelligenza
Concentriamoci sul **supervised learning**.
Nel caso della vendita dell'automobile, abbiamo un semplice problema con una soluzione lineare di questo tipo:
_prezzo finale_ = _prezzo originale_ + _km percorsi_ + stato di usura
Ovviamente ogni incognita nella nostra equazione influisce diversamente sul prezzo finale e quindi possiamo riscriverla come:
_prezzo finale_ = A *_prezzo originale_ + B *_km percorsi_ + C * stato di usura
Se pensiamo ad un algoritmo possiamo ragionare in questo modo:
```
funzione: calcola_prezzo_auto:
parametri: prezzo_originale, km_percorsi, stato_usura
variabili: prezzo_finale = 0
prezzo finale = prezzo_originale * 0.804246
prezzo finale = prezzo_finale + km_percorsi * -0.000125
prezzo finale = prezzo_finale + stato_usura * -2500
```
I valori di quelle costanti, stabilite casualmente nell'esempio, sono chiamate _pesi_ e servono a stimare il prezzo finale.
Una volta stabiliti i pesi, il nostro algoritmo di supervised learning applica questi pesi ai dati originali e ne valuta l'errore:
| PREZZO ORIGINALE | Km percorsi | stato di usura | PREZZO FINALE | PREZZO STIMATO |
| ---------------- |:-----------:|:--------------:|:-------------:| --------------:|
| 50 000 | 120 000 | lieve | 40 000 | 374888 |
| 30 000 | 150 000 | notevole | 8 000 | 16000 |
| 20 000 | 80 000 | lieve | 15 000 | 13492 |
| 20 000 | 120 000 | notevole | ... | 10988 |
Una volta valutato l'errore e la distanza dal prezzo finale, l'algoritmo di machine learning modifica i pesi di conseguenza e ripete la procedura fino ad arrivare al risultato che piú si avvicina ai dati iniziali.
![rete1](/wp-content/uploads/2016/reteneurale1.jpg)
Ci sono varie funzioni che stimano l'errore e permettono di correggere i pesi o metodi che restringono lo spazio di ricerca fino a convergere alla soluzione, ovvero i pesi cercati.
## Reti Neurali
Ora, come possiamo immaginare, il prezzo di un'auto ha molti fattori che si aggiungono a quelli elencati nell'esempio.
Non solo, ma molti problemi non hanno una soluzione lineare, ovvero una soluzione che si puó semplicemente esprimere attraverso una funzione che aggiunge e moltiplica i valori una sola volta.
Possiamo arricchire l'esempio dell'automobile immaginando di avere più set di pesi e di ripetere il procedimento più volte:
```
|---------------------------------------------------|
| PREZZO_ORIG * peso A1 -----> |
| KM_PERCORSI * peso B1 -----> |
| STATO_USURA * peso C1 -----> |
| PREZZO FINALE STIMATO 1|
|---------------------------------------------------|
| --------------------------------------------------|
| PREZZO_ORIG * peso A2 -----> |
| KM_PERCORSI * peso B2 -----> |
| STATO_USURA * peso C2 -----> |
| PREZZO FINALE STIMATO 2|
|---------------------------------------------------|
| --------------------------------------------------|
| PREZZO_ORIG * peso A3 -----> |
| KM_PERCORSI * peso B3 -----> |
| STATO_USURA * peso C3 -----> |
| PREZZO FINALE STIMATO 3|
|---------------------------------------------------|
```
E ora immaginiamo di combinare ogni PREZZO FINALE STIMATO in un'ultimo risultato:
```
| --------------------------------------------------|
| PREZZO_1 * peso X -----> |
| PREZZO_2 * peso Y -----> |
| PREZZO_3 * peso Z -----> |
| PREZZO FINALE DEF |
|---------------------------------------------------|
```
Questa é, seppur molto basica, una rete neurale.
Proviamo a visualizzarla in un'immagine dove i box arancioni sono i nodi di input e i rossi sono i nodi "nascosti" e temporanei.
![rete2](/wp-content/uploads/2016/reteneurale2.jpg)
In una rete neurale (_neural networks_) abbiamo:
* i neuroni: la funzione di stima e i set di pesi;
* le catene: i collegamenti fra neuroni che permettono di valutare il prezzo più volte.
Nel prossimo [post](/pescewanda/2016/11/11/machine-learning-PARTE2) cercherò di approfondire il concetto di rete neurale con degli esempi di applicazioni concrete.

View file

@ -119,7 +119,7 @@
<a class="sidebar-nav-item" href="/feed.xml">RSS</a>
<a class="sidebar-nav-item" href="http://francescomecca.eu:3000">Personal Git</a>
<a class="sidebar-nav-item" href="http://francescomecca.eu:3000/explore/repos">Personal Git</a>
<span class="sidebar-nav-item" href="" >Powered by Jekyll and Hyde</span>
</nav>

View file

@ -119,7 +119,7 @@
<a class="sidebar-nav-item" href="/feed.xml">RSS</a>
<a class="sidebar-nav-item" href="http://francescomecca.eu:3000">Personal Git</a>
<a class="sidebar-nav-item" href="http://francescomecca.eu:3000/explore/repos">Personal Git</a>
<span class="sidebar-nav-item" href="" >Powered by Jekyll and Hyde</span>
</nav>

View file

@ -119,7 +119,7 @@
<a class="sidebar-nav-item" href="/feed.xml">RSS</a>
<a class="sidebar-nav-item" href="http://francescomecca.eu:3000">Personal Git</a>
<a class="sidebar-nav-item" href="http://francescomecca.eu:3000/explore/repos">Personal Git</a>
<span class="sidebar-nav-item" href="" >Powered by Jekyll and Hyde</span>
</nav>
@ -139,6 +139,9 @@
<h2 id="blog-posts">Blog Posts</h2>
<ul>
<li><p>11 Nov 2016 &raquo; <a href="/pescewanda/2016/11/11/machine-learning-PARTE2/"> Capire il Machine Learning (parte 2) </a></p></li>
<li><p>10 Nov 2016 &raquo; <a href="/pescewanda/2016/11/10/machine-learning-intro/"> Capire il Machine Learning (parte 1) </a></p></li>
<li><p>10 Nov 2016 &raquo; <a href="/pescewanda/2016/11/10/machine-learning-PARTE3/"> Capire il Machine Learning (parte 1) </a></p></li>
<li><p>07 Jul 2016 &raquo; <a href="/pescewanda/2016/07/07/pres-berk/"> A short talk about cryptography at the Berkman Klein Center </a></p></li>
<li><p>06 Jul 2016 &raquo; <a href="/pescewanda/2016/07/06/IM-services/"> Phone messaging apps comparison </a></p></li>
<li><p>05 Jul 2016 &raquo; <a href="/pescewanda/2016/07/05/arduino_keyboard/"> Arduino Uno as HID keyboard </a></p></li>

View file

@ -4,7 +4,7 @@
<title>Caught in the Net</title>
<link href="francescomecca.eu/atom.xml" rel="self"/>
<link href="francescomecca.eu/"/>
<updated>2016-09-17T15:20:52+02:00</updated>
<updated>2016-11-18T20:43:26+01:00</updated>
<id>francescomecca.eu</id>
<author>
<name>Francesco Mecca</name>
@ -12,6 +12,317 @@
</author>
<entry>
<title>Capire il Machine Learning (parte 2)</title>
<link href="francescomecca.eu/pescewanda/2016/11/11/machine-learning-PARTE2/"/>
<updated>2016-11-11T00:00:00+01:00</updated>
<id>francescomecca.eu/pescewanda/2016/11/11/machine-learning-PARTE2</id>
<content type="html">&lt;p&gt;Nel precedente &lt;a href=&quot;/pescewanda/2016/11/10/machine-learning-intro/&quot;&gt;post&lt;/a&gt; abbiamo preso in considerazione una rete neurale molto basica.
Proviamo ora ad approfondire il concetto aggiungendo una proprietá fondamentale, la memoria.&lt;/p&gt;
&lt;h2 id=&quot;memoria-e-stati&quot;&gt;Memoria e Stati&lt;/h2&gt;
&lt;p&gt;La rete neurale che abbiamo modellato non ha alcun tipo di memoria. con gli stessi dati di input, l&amp;#39;output è (quasi certamente) lo stesso.
Possiamo ampliare il nostro modello introducendo il concetto di &lt;em&gt;stato&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;Poniamo il problema della vendita delle auto in questo modo:
immaginiamo di avere un algoritmo di machine learning che valuti le auto e faccia delle offerte di vendita che conseguentemente vengono valutate da delle persone e accettate oppure rifiutate.
Ogni volta che una proposta viene accettata la teniamo in memoria e nell&amp;#39;aggiustare i pesi per la seguente offerta, teniamo in considerazione la validità dei pesi usati in precedenza.
In altre parloe, in ogni operazione di valutazione dell&amp;#39;auto salviamo lo stato dell&amp;#39;offerta precedente (rifiutata o accettata) e la consideriamo quando vogliamo proporre l&amp;#39;offerta successiva.
Abbiamo in questo modo una &lt;em&gt;recurrent neural network&lt;/em&gt; (RNN) dove ogni stato precedente viene utilizzato per modificare l&amp;#39;output dell&amp;#39;algoritmo.&lt;/p&gt;
&lt;h4 id=&quot;generazione-di-testo-attraverso-le-rnn&quot;&gt;Generazione di testo attraverso le RNN&lt;/h4&gt;
&lt;p&gt;Immaginiamo di voler creare un algoritmo che utilizzando una RNN possa generare del testo o prevedere quale sarà il prossimo carattere inserito (come nel caso del T9).&lt;/p&gt;
&lt;p&gt;Inizialmente dobbiamo permettere alla RNN di analizzare almeno qualche sample del nostro testo.
La RNN analizza carattere dopo carattere e costruisce un grande grafo dove collega ogni carattere al suo successivo.
Inizialmente l&amp;#39;output della nostra RNN non ha alcun valore:
in questo esempio, abbiamo l&amp;#39;output di una RNN allenata attraverso Guerra e Pace:&lt;/p&gt;
&lt;div class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-&quot; data-lang=&quot;&quot;&gt;tyntd-iafhatawiaoihrdemot lytdws e ,tfti, astai f ogoh eoase rrranbyne 'nhthnee e
plia tklrgd t o idoe ns,smtt h ne etie h,hregtrs nigtike,aoaenns lngty
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;L&amp;#39;output prodotto dalla RNN, benchè non abbia nessun valore per un umano, viene analizzato dalla RNN per arricchire il grafo costituito inizialmente dai caratteri (e le loro relazioni) di Guerra e Pace.
Questo procedimento continua all&amp;#39;infinito.
Ogni volta che la RNN produce dell&amp;#39;output lo salva e lo riutilizza come input in maniera ricorsiva per generare nuovo output.&lt;/p&gt;
&lt;p&gt;Dopo 300 iterazioni abbiamo un output di questo tipo:&lt;/p&gt;
&lt;div class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-&quot; data-lang=&quot;&quot;&gt;&quot;Tmont thithey&quot; fomesscerliund
Keushey. Thom here
sheulke, anmerenith ol sivh I lalterthend Bleipile shuwy fil on aseterlome
coaniogennc Phe lism thond hon at. MeiDimorotion in ther thize.&quot;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Dopo quasi mille:&lt;/p&gt;
&lt;div class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-&quot; data-lang=&quot;&quot;&gt;Aftair fall unsuch that the hall for Prince Velzonski's that me of
her hearly, and behs to so arwage fiving were to it beloge, pavu say falling misfort
how, and Gogition is so overelical and ofter.
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Duemila:&lt;/p&gt;
&lt;div class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-&quot; data-lang=&quot;&quot;&gt;&quot;Why do what that day,&quot; replied Natasha, and wishing to himself the fact the
princess, Princess Mary was easier, fed in had oftened him.
Pierre aking his soul came to the packs and drove up his father-in-law women.
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Possiamo notare come l&amp;#39;output migliori visibilmente.&lt;/p&gt;
&lt;p&gt;Nel prossimo post tratterò una variante di rete neurale mutilizzata per classificare e riconoscere immagini.&lt;/p&gt;
</content>
</entry>
<entry>
<title>Capire il Machine Learning (parte 1)</title>
<link href="francescomecca.eu/pescewanda/2016/11/10/machine-learning-intro/"/>
<updated>2016-11-10T00:00:00+01:00</updated>
<id>francescomecca.eu/pescewanda/2016/11/10/machine-learning-intro</id>
<content type="html">&lt;p&gt;Questo è il primo di una serie di post che hanno l&amp;#39;obbiettivo di fornire una breve e generale introduzione al mondo del machine learning e delle intelligenze artificiali piú in generale.
Mi auguro che questa breve introduzione al mondo dell&amp;#39;apprendimento automatico sia una sorta di vaccino contro il sensazionalismo mediatico e la disinformazione che negli ultimi anni fanno da contorno al progresso in questo settore.&lt;/p&gt;
&lt;h2 id=&quot;non-c-39-risultato-senza-algoritmo&quot;&gt;Non c&amp;#39;è risultato senza algoritmo&lt;/h2&gt;
&lt;p&gt;Nelle scienze informatiche un algoritmo è un insieme di istruzioni che partendo da uno stato iniziale (input) permette di arrivare ad uno stato finale (output) attraverso una serie di step logici.
Ogni algoritmo utilizza una logica propria e specifica per il problema di cui si occupa.
Nel caso del machine learning l&amp;#39;algoritmo non viene progettato in base al tipo di problema bensí vengono utilizzati algoritmi generici adattabili attraverso dei parametri.
L&amp;#39;algoritmo di machine learning analizza i vari parametri e i dati che riceve &amp;quot;in pasto&amp;quot; al fine di raggiungere lo stato di output ottimale.
L&amp;#39;output ottimale è la migliore approssimazione di un risultato teorico che si raggiunge nella fase di &amp;quot;training&amp;quot;.&lt;/p&gt;
&lt;h2 id=&quot;la-macchina-impara&quot;&gt;La macchina impara&lt;/h2&gt;
&lt;p&gt;Nella fase di allenamento o di apprendimento, il &amp;quot;training&amp;quot;, si possono adottare due tecniche differenti: apprendimento con supervisione ( &lt;strong&gt;supervised learning&lt;/strong&gt; ) e apprendimento senza supervisione ( &lt;strong&gt;unsupervised learning&lt;/strong&gt; ).&lt;/p&gt;
&lt;h4 id=&quot;supervised-learning&quot;&gt;Supervised Learning&lt;/h4&gt;
&lt;p&gt;Immaginiamo di dover valutare il prezzo di un&amp;#39;automobile usata senza essere esperti in materia.
Noi abbiamo questi dati:&lt;/p&gt;
&lt;table&gt;&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;PREZZO ORIGINALE&lt;/th&gt;
&lt;th style=&quot;text-align: center&quot;&gt;Km percorsi&lt;/th&gt;
&lt;th style=&quot;text-align: center&quot;&gt;stato di usura&lt;/th&gt;
&lt;th style=&quot;text-align: right&quot;&gt;PREZZO FINALE&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;50 000&lt;/td&gt;
&lt;td style=&quot;text-align: center&quot;&gt;120 000&lt;/td&gt;
&lt;td style=&quot;text-align: center&quot;&gt;lieve&lt;/td&gt;
&lt;td style=&quot;text-align: right&quot;&gt;40 000&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;30 000&lt;/td&gt;
&lt;td style=&quot;text-align: center&quot;&gt;150 000&lt;/td&gt;
&lt;td style=&quot;text-align: center&quot;&gt;notevole&lt;/td&gt;
&lt;td style=&quot;text-align: right&quot;&gt;8 000&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;20 000&lt;/td&gt;
&lt;td style=&quot;text-align: center&quot;&gt;80 000&lt;/td&gt;
&lt;td style=&quot;text-align: center&quot;&gt;lieve&lt;/td&gt;
&lt;td style=&quot;text-align: right&quot;&gt;15 000&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;20 000&lt;/td&gt;
&lt;td style=&quot;text-align: center&quot;&gt;120 000&lt;/td&gt;
&lt;td style=&quot;text-align: center&quot;&gt;notevole&lt;/td&gt;
&lt;td style=&quot;text-align: right&quot;&gt;...&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;p&gt;Dalla tabella possiamo dedurre la caratteristica fondamentale del &lt;strong&gt;supervised learning&lt;/strong&gt;: abbiamo due vettori (serie di dati) di input (prezzo originale) e di output (prezzo finale) che hanno una correlazione certa e valida.&lt;/p&gt;
&lt;p&gt;Possiamo dedurre intuitivamente quale sarà il prezzo dell&amp;#39;ultima auto se analizziamo i dati precedenti.
Questo è quello che succede nel caso del &lt;strong&gt;supervised learning&lt;/strong&gt;.
Un algoritmo di machine learning che utilizza il &lt;strong&gt;supervised learning&lt;/strong&gt; estrapolerà la relazione fra i vari dati e in questo modo potrà ottenere un determinato output partendo dai dati di input.
Possiamo capire già da ora che nel caso ci fossero dati che &amp;quot;inquinano&amp;quot; il nostro data set, come ad esempio il colore dell&amp;#39;auto, l&amp;#39;algoritmo non sarà capace di fare un&amp;#39;analisi corretta.&lt;/p&gt;
&lt;p&gt;La precisione della soluzione dipende dalla quantità di dati e dall&amp;#39;influenza che questi hanno nella situazione reale.&lt;/p&gt;
&lt;h1 id=&quot;unsupervised-learning&quot;&gt;Unsupervised Learning&lt;/h1&gt;
&lt;p&gt;Nel caso di unsupervised learning ci troviamo di fronte agli stessi dati ma senza la possibilità di conoscere il prezzo finale.&lt;/p&gt;
&lt;table&gt;&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;PREZZO ORIGINALE&lt;/th&gt;
&lt;th style=&quot;text-align: center&quot;&gt;Km percorsi&lt;/th&gt;
&lt;th style=&quot;text-align: right&quot;&gt;stato di usura&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;50 000&lt;/td&gt;
&lt;td style=&quot;text-align: center&quot;&gt;120 000&lt;/td&gt;
&lt;td style=&quot;text-align: right&quot;&gt;lieve&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;30 000&lt;/td&gt;
&lt;td style=&quot;text-align: center&quot;&gt;150 000&lt;/td&gt;
&lt;td style=&quot;text-align: right&quot;&gt;notevole&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;20 000&lt;/td&gt;
&lt;td style=&quot;text-align: center&quot;&gt;80 000&lt;/td&gt;
&lt;td style=&quot;text-align: right&quot;&gt;lieve&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;20 000&lt;/td&gt;
&lt;td style=&quot;text-align: center&quot;&gt;120 000&lt;/td&gt;
&lt;td style=&quot;text-align: right&quot;&gt;notevole&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;p&gt;Non siamo capaci di stabilire il prezzo finale attraverso l&amp;#39;unsupervised learning, ma possiamo stabilire dei pattern fra i vari dati.
Non c&amp;#39;è nessun tipo di feedback (il prezzo finale) che possa aiutarci a capire se il risultato sia giusto ma possiamo analizzare le notevoli relazioni fra i dati.&lt;/p&gt;
&lt;h1 id=&quot;machine-learning-e-intelligenza&quot;&gt;Machine Learning e intelligenza&lt;/h1&gt;
&lt;p&gt;Concentriamoci sul &lt;strong&gt;supervised learning&lt;/strong&gt;.
Nel caso della vendita dell&amp;#39;automobile, abbiamo un semplice problema con una soluzione lineare di questo tipo:
&lt;em&gt;prezzo finale&lt;/em&gt; = &lt;em&gt;prezzo originale&lt;/em&gt; + &lt;em&gt;km percorsi&lt;/em&gt; + stato di usura&lt;/p&gt;
&lt;p&gt;Ovviamente ogni incognita nella nostra equazione influisce diversamente sul prezzo finale e quindi possiamo riscriverla come:
&lt;em&gt;prezzo finale&lt;/em&gt; = A *&lt;em&gt;prezzo originale&lt;/em&gt; + B *&lt;em&gt;km percorsi&lt;/em&gt; + C * stato di usura&lt;/p&gt;
&lt;p&gt;Se pensiamo ad un algoritmo possiamo ragionare in questo modo:&lt;/p&gt;
&lt;div class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-&quot; data-lang=&quot;&quot;&gt;funzione: calcola_prezzo_auto:
parametri: prezzo_originale, km_percorsi, stato_usura
variabili: prezzo_finale = 0
prezzo finale = prezzo_originale * 0.804246
prezzo finale = prezzo_finale + km_percorsi * -0.000125
prezzo finale = prezzo_finale + stato_usura * -2500
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;I valori di quelle costanti, stabilite casualmente nell&amp;#39;esempio, sono chiamate &lt;em&gt;pesi&lt;/em&gt; e servono a stimare il prezzo finale.
Una volta stabiliti i pesi, il nostro algoritmo di supervised learning applica questi pesi ai dati originali e ne valuta l&amp;#39;errore:&lt;/p&gt;
&lt;table&gt;&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;PREZZO ORIGINALE&lt;/th&gt;
&lt;th style=&quot;text-align: center&quot;&gt;Km percorsi&lt;/th&gt;
&lt;th style=&quot;text-align: center&quot;&gt;stato di usura&lt;/th&gt;
&lt;th style=&quot;text-align: center&quot;&gt;PREZZO FINALE&lt;/th&gt;
&lt;th style=&quot;text-align: right&quot;&gt;PREZZO STIMATO&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;50 000&lt;/td&gt;
&lt;td style=&quot;text-align: center&quot;&gt;120 000&lt;/td&gt;
&lt;td style=&quot;text-align: center&quot;&gt;lieve&lt;/td&gt;
&lt;td style=&quot;text-align: center&quot;&gt;40 000&lt;/td&gt;
&lt;td style=&quot;text-align: right&quot;&gt;374888&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;30 000&lt;/td&gt;
&lt;td style=&quot;text-align: center&quot;&gt;150 000&lt;/td&gt;
&lt;td style=&quot;text-align: center&quot;&gt;notevole&lt;/td&gt;
&lt;td style=&quot;text-align: center&quot;&gt;8 000&lt;/td&gt;
&lt;td style=&quot;text-align: right&quot;&gt;16000&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;20 000&lt;/td&gt;
&lt;td style=&quot;text-align: center&quot;&gt;80 000&lt;/td&gt;
&lt;td style=&quot;text-align: center&quot;&gt;lieve&lt;/td&gt;
&lt;td style=&quot;text-align: center&quot;&gt;15 000&lt;/td&gt;
&lt;td style=&quot;text-align: right&quot;&gt;13492&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;20 000&lt;/td&gt;
&lt;td style=&quot;text-align: center&quot;&gt;120 000&lt;/td&gt;
&lt;td style=&quot;text-align: center&quot;&gt;notevole&lt;/td&gt;
&lt;td style=&quot;text-align: center&quot;&gt;...&lt;/td&gt;
&lt;td style=&quot;text-align: right&quot;&gt;10988&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;p&gt;Una volta valutato l&amp;#39;errore e la distanza dal prezzo finale, l&amp;#39;algoritmo di machine learning modifica i pesi di conseguenza e ripete la procedura fino ad arrivare al risultato che piú si avvicina ai dati iniziali.
&lt;img src=&quot;/wp-content/uploads/2016/reteneurale1.jpg&quot; alt=&quot;rete1&quot;&gt;
Ci sono varie funzioni che stimano l&amp;#39;errore e permettono di correggere i pesi o metodi che restringono lo spazio di ricerca fino a convergere alla soluzione, ovvero i pesi cercati.&lt;/p&gt;
&lt;h2 id=&quot;reti-neurali&quot;&gt;Reti Neurali&lt;/h2&gt;
&lt;p&gt;Ora, come possiamo immaginare, il prezzo di un&amp;#39;auto ha molti fattori che si aggiungono a quelli elencati nell&amp;#39;esempio.
Non solo, ma molti problemi non hanno una soluzione lineare, ovvero una soluzione che si puó semplicemente esprimere attraverso una funzione che aggiunge e moltiplica i valori una sola volta.&lt;/p&gt;
&lt;p&gt;Possiamo arricchire l&amp;#39;esempio dell&amp;#39;automobile immaginando di avere più set di pesi e di ripetere il procedimento più volte:&lt;/p&gt;
&lt;div class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-&quot; data-lang=&quot;&quot;&gt;|---------------------------------------------------|
| PREZZO_ORIG * peso A1 -----&amp;gt; |
| KM_PERCORSI * peso B1 -----&amp;gt; |
| STATO_USURA * peso C1 -----&amp;gt; |
| PREZZO FINALE STIMATO 1|
|---------------------------------------------------|
| --------------------------------------------------|
| PREZZO_ORIG * peso A2 -----&amp;gt; |
| KM_PERCORSI * peso B2 -----&amp;gt; |
| STATO_USURA * peso C2 -----&amp;gt; |
| PREZZO FINALE STIMATO 2|
|---------------------------------------------------|
| --------------------------------------------------|
| PREZZO_ORIG * peso A3 -----&amp;gt; |
| KM_PERCORSI * peso B3 -----&amp;gt; |
| STATO_USURA * peso C3 -----&amp;gt; |
| PREZZO FINALE STIMATO 3|
|---------------------------------------------------|
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;E ora immaginiamo di combinare ogni PREZZO FINALE STIMATO in un&amp;#39;ultimo risultato:&lt;/p&gt;
&lt;div class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-&quot; data-lang=&quot;&quot;&gt;| --------------------------------------------------|
| PREZZO_1 * peso X -----&amp;gt; |
| PREZZO_2 * peso Y -----&amp;gt; |
| PREZZO_3 * peso Z -----&amp;gt; |
| PREZZO FINALE DEF |
|---------------------------------------------------|
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Questa é, seppur molto basica, una rete neurale.
Proviamo a visualizzarla in un&amp;#39;immagine dove i box arancioni sono i nodi di input e i rossi sono i nodi &amp;quot;nascosti&amp;quot; e temporanei.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;/wp-content/uploads/2016/reteneurale2.jpg&quot; alt=&quot;rete2&quot;&gt;&lt;/p&gt;
&lt;p&gt;In una rete neurale (&lt;em&gt;neural networks&lt;/em&gt;) abbiamo:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;p&gt;i neuroni: la funzione di stima e i set di pesi;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;le catene: i collegamenti fra neuroni che permettono di valutare il prezzo più volte.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Nel prossimo &lt;a href=&quot;/pescewanda/2016/11/11/machine-learning-PARTE2&quot;&gt;post&lt;/a&gt; cercherò di approfondire il concetto di rete neurale con degli esempi di applicazioni concrete.&lt;/p&gt;
</content>
</entry>
<entry>
<title>Capire il Machine Learning (parte 1)</title>
<link href="francescomecca.eu/pescewanda/2016/11/10/machine-learning-PARTE3/"/>
<updated>2016-11-10T00:00:00+01:00</updated>
<id>francescomecca.eu/pescewanda/2016/11/10/machine-learning-PARTE3</id>
<content type="html">## Riconoscimento delle immagini
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 ( **convolutional neural networks**), abbreviata CNN.
Innanzitutto consideriamo che ogni immagine può essere codificata come una matrice di valori
![pixel](/wp-content/uploads/2016/8.jpg)
Una CNN esegue quattro step durante la fase di apprendimento
#### Convoluzione
Consideriamo l'immagine di un uccello.
Ci sono
# ALGORITMI GENETICI
// ~~ 500 ~~
# PRUNING E SEARCH TREES
// ~~ 200 ~~
</content>
</entry>
<entry>
<title>A short talk about cryptography at the Berkman Klein Center</title>
<link href="francescomecca.eu/pescewanda/2016/07/07/pres-berk/"/>

View file

@ -119,7 +119,7 @@
<a class="sidebar-nav-item" href="/feed.xml">RSS</a>
<a class="sidebar-nav-item" href="http://francescomecca.eu:3000">Personal Git</a>
<a class="sidebar-nav-item" href="http://francescomecca.eu:3000/explore/repos">Personal Git</a>
<span class="sidebar-nav-item" href="" >Powered by Jekyll and Hyde</span>
</nav>

View file

@ -6,6 +6,323 @@
<link>francescomecca.eu</link>
<item>
<title>Capire il Machine Learning (parte 2)</title>
<description>&lt;p&gt;Nel precedente &lt;a href=&quot;/pescewanda/2016/11/10/machine-learning-intro/&quot;&gt;post&lt;/a&gt; abbiamo preso in considerazione una rete neurale molto basica.
Proviamo ora ad approfondire il concetto aggiungendo una proprietá fondamentale, la memoria.&lt;/p&gt;
&lt;h2 id=&quot;memoria-e-stati&quot;&gt;Memoria e Stati&lt;/h2&gt;
&lt;p&gt;La rete neurale che abbiamo modellato non ha alcun tipo di memoria. con gli stessi dati di input, l&amp;#39;output è (quasi certamente) lo stesso.
Possiamo ampliare il nostro modello introducendo il concetto di &lt;em&gt;stato&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;Poniamo il problema della vendita delle auto in questo modo:
immaginiamo di avere un algoritmo di machine learning che valuti le auto e faccia delle offerte di vendita che conseguentemente vengono valutate da delle persone e accettate oppure rifiutate.
Ogni volta che una proposta viene accettata la teniamo in memoria e nell&amp;#39;aggiustare i pesi per la seguente offerta, teniamo in considerazione la validità dei pesi usati in precedenza.
In altre parloe, in ogni operazione di valutazione dell&amp;#39;auto salviamo lo stato dell&amp;#39;offerta precedente (rifiutata o accettata) e la consideriamo quando vogliamo proporre l&amp;#39;offerta successiva.
Abbiamo in questo modo una &lt;em&gt;recurrent neural network&lt;/em&gt; (RNN) dove ogni stato precedente viene utilizzato per modificare l&amp;#39;output dell&amp;#39;algoritmo.&lt;/p&gt;
&lt;h4 id=&quot;generazione-di-testo-attraverso-le-rnn&quot;&gt;Generazione di testo attraverso le RNN&lt;/h4&gt;
&lt;p&gt;Immaginiamo di voler creare un algoritmo che utilizzando una RNN possa generare del testo o prevedere quale sarà il prossimo carattere inserito (come nel caso del T9).&lt;/p&gt;
&lt;p&gt;Inizialmente dobbiamo permettere alla RNN di analizzare almeno qualche sample del nostro testo.
La RNN analizza carattere dopo carattere e costruisce un grande grafo dove collega ogni carattere al suo successivo.
Inizialmente l&amp;#39;output della nostra RNN non ha alcun valore:
in questo esempio, abbiamo l&amp;#39;output di una RNN allenata attraverso Guerra e Pace:&lt;/p&gt;
&lt;div class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-&quot; data-lang=&quot;&quot;&gt;tyntd-iafhatawiaoihrdemot lytdws e ,tfti, astai f ogoh eoase rrranbyne 'nhthnee e
plia tklrgd t o idoe ns,smtt h ne etie h,hregtrs nigtike,aoaenns lngty
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;L&amp;#39;output prodotto dalla RNN, benchè non abbia nessun valore per un umano, viene analizzato dalla RNN per arricchire il grafo costituito inizialmente dai caratteri (e le loro relazioni) di Guerra e Pace.
Questo procedimento continua all&amp;#39;infinito.
Ogni volta che la RNN produce dell&amp;#39;output lo salva e lo riutilizza come input in maniera ricorsiva per generare nuovo output.&lt;/p&gt;
&lt;p&gt;Dopo 300 iterazioni abbiamo un output di questo tipo:&lt;/p&gt;
&lt;div class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-&quot; data-lang=&quot;&quot;&gt;&quot;Tmont thithey&quot; fomesscerliund
Keushey. Thom here
sheulke, anmerenith ol sivh I lalterthend Bleipile shuwy fil on aseterlome
coaniogennc Phe lism thond hon at. MeiDimorotion in ther thize.&quot;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Dopo quasi mille:&lt;/p&gt;
&lt;div class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-&quot; data-lang=&quot;&quot;&gt;Aftair fall unsuch that the hall for Prince Velzonski's that me of
her hearly, and behs to so arwage fiving were to it beloge, pavu say falling misfort
how, and Gogition is so overelical and ofter.
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Duemila:&lt;/p&gt;
&lt;div class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-&quot; data-lang=&quot;&quot;&gt;&quot;Why do what that day,&quot; replied Natasha, and wishing to himself the fact the
princess, Princess Mary was easier, fed in had oftened him.
Pierre aking his soul came to the packs and drove up his father-in-law women.
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Possiamo notare come l&amp;#39;output migliori visibilmente.&lt;/p&gt;
&lt;p&gt;Nel prossimo post tratterò una variante di rete neurale mutilizzata per classificare e riconoscere immagini.&lt;/p&gt;
</description>
<pubDate>2016-11-11T00:00:00+01:00</pubDate>
<link>francescomecca.eu/pescewanda/2016/11/11/machine-learning-PARTE2/</link>
<guid isPermaLink="true">francescomecca.eu/pescewanda/2016/11/11/machine-learning-PARTE2/</guid>
</item>
<item>
<title>Capire il Machine Learning (parte 1)</title>
<description>&lt;p&gt;Questo è il primo di una serie di post che hanno l&amp;#39;obbiettivo di fornire una breve e generale introduzione al mondo del machine learning e delle intelligenze artificiali piú in generale.
Mi auguro che questa breve introduzione al mondo dell&amp;#39;apprendimento automatico sia una sorta di vaccino contro il sensazionalismo mediatico e la disinformazione che negli ultimi anni fanno da contorno al progresso in questo settore.&lt;/p&gt;
&lt;h2 id=&quot;non-c-39-risultato-senza-algoritmo&quot;&gt;Non c&amp;#39;è risultato senza algoritmo&lt;/h2&gt;
&lt;p&gt;Nelle scienze informatiche un algoritmo è un insieme di istruzioni che partendo da uno stato iniziale (input) permette di arrivare ad uno stato finale (output) attraverso una serie di step logici.
Ogni algoritmo utilizza una logica propria e specifica per il problema di cui si occupa.
Nel caso del machine learning l&amp;#39;algoritmo non viene progettato in base al tipo di problema bensí vengono utilizzati algoritmi generici adattabili attraverso dei parametri.
L&amp;#39;algoritmo di machine learning analizza i vari parametri e i dati che riceve &amp;quot;in pasto&amp;quot; al fine di raggiungere lo stato di output ottimale.
L&amp;#39;output ottimale è la migliore approssimazione di un risultato teorico che si raggiunge nella fase di &amp;quot;training&amp;quot;.&lt;/p&gt;
&lt;h2 id=&quot;la-macchina-impara&quot;&gt;La macchina impara&lt;/h2&gt;
&lt;p&gt;Nella fase di allenamento o di apprendimento, il &amp;quot;training&amp;quot;, si possono adottare due tecniche differenti: apprendimento con supervisione ( &lt;strong&gt;supervised learning&lt;/strong&gt; ) e apprendimento senza supervisione ( &lt;strong&gt;unsupervised learning&lt;/strong&gt; ).&lt;/p&gt;
&lt;h4 id=&quot;supervised-learning&quot;&gt;Supervised Learning&lt;/h4&gt;
&lt;p&gt;Immaginiamo di dover valutare il prezzo di un&amp;#39;automobile usata senza essere esperti in materia.
Noi abbiamo questi dati:&lt;/p&gt;
&lt;table&gt;&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;PREZZO ORIGINALE&lt;/th&gt;
&lt;th style=&quot;text-align: center&quot;&gt;Km percorsi&lt;/th&gt;
&lt;th style=&quot;text-align: center&quot;&gt;stato di usura&lt;/th&gt;
&lt;th style=&quot;text-align: right&quot;&gt;PREZZO FINALE&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;50 000&lt;/td&gt;
&lt;td style=&quot;text-align: center&quot;&gt;120 000&lt;/td&gt;
&lt;td style=&quot;text-align: center&quot;&gt;lieve&lt;/td&gt;
&lt;td style=&quot;text-align: right&quot;&gt;40 000&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;30 000&lt;/td&gt;
&lt;td style=&quot;text-align: center&quot;&gt;150 000&lt;/td&gt;
&lt;td style=&quot;text-align: center&quot;&gt;notevole&lt;/td&gt;
&lt;td style=&quot;text-align: right&quot;&gt;8 000&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;20 000&lt;/td&gt;
&lt;td style=&quot;text-align: center&quot;&gt;80 000&lt;/td&gt;
&lt;td style=&quot;text-align: center&quot;&gt;lieve&lt;/td&gt;
&lt;td style=&quot;text-align: right&quot;&gt;15 000&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;20 000&lt;/td&gt;
&lt;td style=&quot;text-align: center&quot;&gt;120 000&lt;/td&gt;
&lt;td style=&quot;text-align: center&quot;&gt;notevole&lt;/td&gt;
&lt;td style=&quot;text-align: right&quot;&gt;...&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;p&gt;Dalla tabella possiamo dedurre la caratteristica fondamentale del &lt;strong&gt;supervised learning&lt;/strong&gt;: abbiamo due vettori (serie di dati) di input (prezzo originale) e di output (prezzo finale) che hanno una correlazione certa e valida.&lt;/p&gt;
&lt;p&gt;Possiamo dedurre intuitivamente quale sarà il prezzo dell&amp;#39;ultima auto se analizziamo i dati precedenti.
Questo è quello che succede nel caso del &lt;strong&gt;supervised learning&lt;/strong&gt;.
Un algoritmo di machine learning che utilizza il &lt;strong&gt;supervised learning&lt;/strong&gt; estrapolerà la relazione fra i vari dati e in questo modo potrà ottenere un determinato output partendo dai dati di input.
Possiamo capire già da ora che nel caso ci fossero dati che &amp;quot;inquinano&amp;quot; il nostro data set, come ad esempio il colore dell&amp;#39;auto, l&amp;#39;algoritmo non sarà capace di fare un&amp;#39;analisi corretta.&lt;/p&gt;
&lt;p&gt;La precisione della soluzione dipende dalla quantità di dati e dall&amp;#39;influenza che questi hanno nella situazione reale.&lt;/p&gt;
&lt;h1 id=&quot;unsupervised-learning&quot;&gt;Unsupervised Learning&lt;/h1&gt;
&lt;p&gt;Nel caso di unsupervised learning ci troviamo di fronte agli stessi dati ma senza la possibilità di conoscere il prezzo finale.&lt;/p&gt;
&lt;table&gt;&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;PREZZO ORIGINALE&lt;/th&gt;
&lt;th style=&quot;text-align: center&quot;&gt;Km percorsi&lt;/th&gt;
&lt;th style=&quot;text-align: right&quot;&gt;stato di usura&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;50 000&lt;/td&gt;
&lt;td style=&quot;text-align: center&quot;&gt;120 000&lt;/td&gt;
&lt;td style=&quot;text-align: right&quot;&gt;lieve&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;30 000&lt;/td&gt;
&lt;td style=&quot;text-align: center&quot;&gt;150 000&lt;/td&gt;
&lt;td style=&quot;text-align: right&quot;&gt;notevole&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;20 000&lt;/td&gt;
&lt;td style=&quot;text-align: center&quot;&gt;80 000&lt;/td&gt;
&lt;td style=&quot;text-align: right&quot;&gt;lieve&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;20 000&lt;/td&gt;
&lt;td style=&quot;text-align: center&quot;&gt;120 000&lt;/td&gt;
&lt;td style=&quot;text-align: right&quot;&gt;notevole&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;p&gt;Non siamo capaci di stabilire il prezzo finale attraverso l&amp;#39;unsupervised learning, ma possiamo stabilire dei pattern fra i vari dati.
Non c&amp;#39;è nessun tipo di feedback (il prezzo finale) che possa aiutarci a capire se il risultato sia giusto ma possiamo analizzare le notevoli relazioni fra i dati.&lt;/p&gt;
&lt;h1 id=&quot;machine-learning-e-intelligenza&quot;&gt;Machine Learning e intelligenza&lt;/h1&gt;
&lt;p&gt;Concentriamoci sul &lt;strong&gt;supervised learning&lt;/strong&gt;.
Nel caso della vendita dell&amp;#39;automobile, abbiamo un semplice problema con una soluzione lineare di questo tipo:
&lt;em&gt;prezzo finale&lt;/em&gt; = &lt;em&gt;prezzo originale&lt;/em&gt; + &lt;em&gt;km percorsi&lt;/em&gt; + stato di usura&lt;/p&gt;
&lt;p&gt;Ovviamente ogni incognita nella nostra equazione influisce diversamente sul prezzo finale e quindi possiamo riscriverla come:
&lt;em&gt;prezzo finale&lt;/em&gt; = A *&lt;em&gt;prezzo originale&lt;/em&gt; + B *&lt;em&gt;km percorsi&lt;/em&gt; + C * stato di usura&lt;/p&gt;
&lt;p&gt;Se pensiamo ad un algoritmo possiamo ragionare in questo modo:&lt;/p&gt;
&lt;div class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-&quot; data-lang=&quot;&quot;&gt;funzione: calcola_prezzo_auto:
parametri: prezzo_originale, km_percorsi, stato_usura
variabili: prezzo_finale = 0
prezzo finale = prezzo_originale * 0.804246
prezzo finale = prezzo_finale + km_percorsi * -0.000125
prezzo finale = prezzo_finale + stato_usura * -2500
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;I valori di quelle costanti, stabilite casualmente nell&amp;#39;esempio, sono chiamate &lt;em&gt;pesi&lt;/em&gt; e servono a stimare il prezzo finale.
Una volta stabiliti i pesi, il nostro algoritmo di supervised learning applica questi pesi ai dati originali e ne valuta l&amp;#39;errore:&lt;/p&gt;
&lt;table&gt;&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;PREZZO ORIGINALE&lt;/th&gt;
&lt;th style=&quot;text-align: center&quot;&gt;Km percorsi&lt;/th&gt;
&lt;th style=&quot;text-align: center&quot;&gt;stato di usura&lt;/th&gt;
&lt;th style=&quot;text-align: center&quot;&gt;PREZZO FINALE&lt;/th&gt;
&lt;th style=&quot;text-align: right&quot;&gt;PREZZO STIMATO&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;50 000&lt;/td&gt;
&lt;td style=&quot;text-align: center&quot;&gt;120 000&lt;/td&gt;
&lt;td style=&quot;text-align: center&quot;&gt;lieve&lt;/td&gt;
&lt;td style=&quot;text-align: center&quot;&gt;40 000&lt;/td&gt;
&lt;td style=&quot;text-align: right&quot;&gt;374888&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;30 000&lt;/td&gt;
&lt;td style=&quot;text-align: center&quot;&gt;150 000&lt;/td&gt;
&lt;td style=&quot;text-align: center&quot;&gt;notevole&lt;/td&gt;
&lt;td style=&quot;text-align: center&quot;&gt;8 000&lt;/td&gt;
&lt;td style=&quot;text-align: right&quot;&gt;16000&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;20 000&lt;/td&gt;
&lt;td style=&quot;text-align: center&quot;&gt;80 000&lt;/td&gt;
&lt;td style=&quot;text-align: center&quot;&gt;lieve&lt;/td&gt;
&lt;td style=&quot;text-align: center&quot;&gt;15 000&lt;/td&gt;
&lt;td style=&quot;text-align: right&quot;&gt;13492&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;20 000&lt;/td&gt;
&lt;td style=&quot;text-align: center&quot;&gt;120 000&lt;/td&gt;
&lt;td style=&quot;text-align: center&quot;&gt;notevole&lt;/td&gt;
&lt;td style=&quot;text-align: center&quot;&gt;...&lt;/td&gt;
&lt;td style=&quot;text-align: right&quot;&gt;10988&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;p&gt;Una volta valutato l&amp;#39;errore e la distanza dal prezzo finale, l&amp;#39;algoritmo di machine learning modifica i pesi di conseguenza e ripete la procedura fino ad arrivare al risultato che piú si avvicina ai dati iniziali.
&lt;img src=&quot;/wp-content/uploads/2016/reteneurale1.jpg&quot; alt=&quot;rete1&quot;&gt;
Ci sono varie funzioni che stimano l&amp;#39;errore e permettono di correggere i pesi o metodi che restringono lo spazio di ricerca fino a convergere alla soluzione, ovvero i pesi cercati.&lt;/p&gt;
&lt;h2 id=&quot;reti-neurali&quot;&gt;Reti Neurali&lt;/h2&gt;
&lt;p&gt;Ora, come possiamo immaginare, il prezzo di un&amp;#39;auto ha molti fattori che si aggiungono a quelli elencati nell&amp;#39;esempio.
Non solo, ma molti problemi non hanno una soluzione lineare, ovvero una soluzione che si puó semplicemente esprimere attraverso una funzione che aggiunge e moltiplica i valori una sola volta.&lt;/p&gt;
&lt;p&gt;Possiamo arricchire l&amp;#39;esempio dell&amp;#39;automobile immaginando di avere più set di pesi e di ripetere il procedimento più volte:&lt;/p&gt;
&lt;div class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-&quot; data-lang=&quot;&quot;&gt;|---------------------------------------------------|
| PREZZO_ORIG * peso A1 -----&amp;gt; |
| KM_PERCORSI * peso B1 -----&amp;gt; |
| STATO_USURA * peso C1 -----&amp;gt; |
| PREZZO FINALE STIMATO 1|
|---------------------------------------------------|
| --------------------------------------------------|
| PREZZO_ORIG * peso A2 -----&amp;gt; |
| KM_PERCORSI * peso B2 -----&amp;gt; |
| STATO_USURA * peso C2 -----&amp;gt; |
| PREZZO FINALE STIMATO 2|
|---------------------------------------------------|
| --------------------------------------------------|
| PREZZO_ORIG * peso A3 -----&amp;gt; |
| KM_PERCORSI * peso B3 -----&amp;gt; |
| STATO_USURA * peso C3 -----&amp;gt; |
| PREZZO FINALE STIMATO 3|
|---------------------------------------------------|
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;E ora immaginiamo di combinare ogni PREZZO FINALE STIMATO in un&amp;#39;ultimo risultato:&lt;/p&gt;
&lt;div class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-&quot; data-lang=&quot;&quot;&gt;| --------------------------------------------------|
| PREZZO_1 * peso X -----&amp;gt; |
| PREZZO_2 * peso Y -----&amp;gt; |
| PREZZO_3 * peso Z -----&amp;gt; |
| PREZZO FINALE DEF |
|---------------------------------------------------|
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Questa é, seppur molto basica, una rete neurale.
Proviamo a visualizzarla in un&amp;#39;immagine dove i box arancioni sono i nodi di input e i rossi sono i nodi &amp;quot;nascosti&amp;quot; e temporanei.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;/wp-content/uploads/2016/reteneurale2.jpg&quot; alt=&quot;rete2&quot;&gt;&lt;/p&gt;
&lt;p&gt;In una rete neurale (&lt;em&gt;neural networks&lt;/em&gt;) abbiamo:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;p&gt;i neuroni: la funzione di stima e i set di pesi;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;le catene: i collegamenti fra neuroni che permettono di valutare il prezzo più volte.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Nel prossimo &lt;a href=&quot;/pescewanda/2016/11/11/machine-learning-PARTE2&quot;&gt;post&lt;/a&gt; cercherò di approfondire il concetto di rete neurale con degli esempi di applicazioni concrete.&lt;/p&gt;
</description>
<pubDate>2016-11-10T00:00:00+01:00</pubDate>
<link>francescomecca.eu/pescewanda/2016/11/10/machine-learning-intro/</link>
<guid isPermaLink="true">francescomecca.eu/pescewanda/2016/11/10/machine-learning-intro/</guid>
</item>
<item>
<title>Capire il Machine Learning (parte 1)</title>
<description>## Riconoscimento delle immagini
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 ( **convolutional neural networks**), abbreviata CNN.
Innanzitutto consideriamo che ogni immagine può essere codificata come una matrice di valori
![pixel](/wp-content/uploads/2016/8.jpg)
Una CNN esegue quattro step durante la fase di apprendimento
#### Convoluzione
Consideriamo l'immagine di un uccello.
Ci sono
# ALGORITMI GENETICI
// ~~ 500 ~~
# PRUNING E SEARCH TREES
// ~~ 200 ~~
</description>
<pubDate>2016-11-10T00:00:00+01:00</pubDate>
<link>francescomecca.eu/pescewanda/2016/11/10/machine-learning-PARTE3/</link>
<guid isPermaLink="true">francescomecca.eu/pescewanda/2016/11/10/machine-learning-PARTE3/</guid>
</item>
<item>
<title>A short talk about cryptography at the Berkman Klein Center</title>
<description>&lt;p&gt;The 7th of July me and &lt;a href=&quot;http://studentprivacy.ca&quot;&gt;Aaron&lt;/a&gt;, as interns at the &lt;a href=&quot;http://cyber.law.harvard.edu&quot;&gt;Berkman Klein for Internet and Society&lt;/a&gt;, gave a presentation on the basics of cryptography and a quick overview on the essential tools.&lt;/p&gt;

View file

@ -119,7 +119,7 @@
<a class="sidebar-nav-item" href="/feed.xml">RSS</a>
<a class="sidebar-nav-item" href="http://francescomecca.eu:3000">Personal Git</a>
<a class="sidebar-nav-item" href="http://francescomecca.eu:3000/explore/repos">Personal Git</a>
<span class="sidebar-nav-item" href="" >Powered by Jekyll and Hyde</span>
</nav>
@ -136,6 +136,329 @@
<div class="content container">
<div class="posts">
<div class="post">
<h1 class="post-title">
<a href="/pescewanda/2016/11/11/machine-learning-PARTE2/">
Capire il Machine Learning (parte 2)
</a>
</h1>
<span class="post-date">11 Nov 2016</span>
<p>Nel precedente <a href="/pescewanda/2016/11/10/machine-learning-intro/">post</a> abbiamo preso in considerazione una rete neurale molto basica.
Proviamo ora ad approfondire il concetto aggiungendo una proprietá fondamentale, la memoria.</p>
<h2 id="memoria-e-stati">Memoria e Stati</h2>
<p>La rete neurale che abbiamo modellato non ha alcun tipo di memoria. con gli stessi dati di input, l&#39;output è (quasi certamente) lo stesso.
Possiamo ampliare il nostro modello introducendo il concetto di <em>stato</em>.</p>
<p>Poniamo il problema della vendita delle auto in questo modo:
immaginiamo di avere un algoritmo di machine learning che valuti le auto e faccia delle offerte di vendita che conseguentemente vengono valutate da delle persone e accettate oppure rifiutate.
Ogni volta che una proposta viene accettata la teniamo in memoria e nell&#39;aggiustare i pesi per la seguente offerta, teniamo in considerazione la validità dei pesi usati in precedenza.
In altre parloe, in ogni operazione di valutazione dell&#39;auto salviamo lo stato dell&#39;offerta precedente (rifiutata o accettata) e la consideriamo quando vogliamo proporre l&#39;offerta successiva.
Abbiamo in questo modo una <em>recurrent neural network</em> (RNN) dove ogni stato precedente viene utilizzato per modificare l&#39;output dell&#39;algoritmo.</p>
<h4 id="generazione-di-testo-attraverso-le-rnn">Generazione di testo attraverso le RNN</h4>
<p>Immaginiamo di voler creare un algoritmo che utilizzando una RNN possa generare del testo o prevedere quale sarà il prossimo carattere inserito (come nel caso del T9).</p>
<p>Inizialmente dobbiamo permettere alla RNN di analizzare almeno qualche sample del nostro testo.
La RNN analizza carattere dopo carattere e costruisce un grande grafo dove collega ogni carattere al suo successivo.
Inizialmente l&#39;output della nostra RNN non ha alcun valore:
in questo esempio, abbiamo l&#39;output di una RNN allenata attraverso Guerra e Pace:</p>
<div class="highlight"><pre><code class="language-" data-lang="">tyntd-iafhatawiaoihrdemot lytdws e ,tfti, astai f ogoh eoase rrranbyne 'nhthnee e
plia tklrgd t o idoe ns,smtt h ne etie h,hregtrs nigtike,aoaenns lngty
</code></pre></div>
<p>L&#39;output prodotto dalla RNN, benchè non abbia nessun valore per un umano, viene analizzato dalla RNN per arricchire il grafo costituito inizialmente dai caratteri (e le loro relazioni) di Guerra e Pace.
Questo procedimento continua all&#39;infinito.
Ogni volta che la RNN produce dell&#39;output lo salva e lo riutilizza come input in maniera ricorsiva per generare nuovo output.</p>
<p>Dopo 300 iterazioni abbiamo un output di questo tipo:</p>
<div class="highlight"><pre><code class="language-" data-lang="">"Tmont thithey" fomesscerliund
Keushey. Thom here
sheulke, anmerenith ol sivh I lalterthend Bleipile shuwy fil on aseterlome
coaniogennc Phe lism thond hon at. MeiDimorotion in ther thize."
</code></pre></div>
<p>Dopo quasi mille:</p>
<div class="highlight"><pre><code class="language-" data-lang="">Aftair fall unsuch that the hall for Prince Velzonski's that me of
her hearly, and behs to so arwage fiving were to it beloge, pavu say falling misfort
how, and Gogition is so overelical and ofter.
</code></pre></div>
<p>Duemila:</p>
<div class="highlight"><pre><code class="language-" data-lang="">"Why do what that day," replied Natasha, and wishing to himself the fact the
princess, Princess Mary was easier, fed in had oftened him.
Pierre aking his soul came to the packs and drove up his father-in-law women.
</code></pre></div>
<p>Possiamo notare come l&#39;output migliori visibilmente.</p>
<p>Nel prossimo post tratterò una variante di rete neurale mutilizzata per classificare e riconoscere immagini.</p>
</div>
<div class="post">
<h1 class="post-title">
<a href="/pescewanda/2016/11/10/machine-learning-intro/">
Capire il Machine Learning (parte 1)
</a>
</h1>
<span class="post-date">10 Nov 2016</span>
<p>Questo è il primo di una serie di post che hanno l&#39;obbiettivo di fornire una breve e generale introduzione al mondo del machine learning e delle intelligenze artificiali piú in generale.
Mi auguro che questa breve introduzione al mondo dell&#39;apprendimento automatico sia una sorta di vaccino contro il sensazionalismo mediatico e la disinformazione che negli ultimi anni fanno da contorno al progresso in questo settore.</p>
<h2 id="non-c-39-risultato-senza-algoritmo">Non c&#39;è risultato senza algoritmo</h2>
<p>Nelle scienze informatiche un algoritmo è un insieme di istruzioni che partendo da uno stato iniziale (input) permette di arrivare ad uno stato finale (output) attraverso una serie di step logici.
Ogni algoritmo utilizza una logica propria e specifica per il problema di cui si occupa.
Nel caso del machine learning l&#39;algoritmo non viene progettato in base al tipo di problema bensí vengono utilizzati algoritmi generici adattabili attraverso dei parametri.
L&#39;algoritmo di machine learning analizza i vari parametri e i dati che riceve &quot;in pasto&quot; al fine di raggiungere lo stato di output ottimale.
L&#39;output ottimale è la migliore approssimazione di un risultato teorico che si raggiunge nella fase di &quot;training&quot;.</p>
<h2 id="la-macchina-impara">La macchina impara</h2>
<p>Nella fase di allenamento o di apprendimento, il &quot;training&quot;, si possono adottare due tecniche differenti: apprendimento con supervisione ( <strong>supervised learning</strong> ) e apprendimento senza supervisione ( <strong>unsupervised learning</strong> ).</p>
<h4 id="supervised-learning">Supervised Learning</h4>
<p>Immaginiamo di dover valutare il prezzo di un&#39;automobile usata senza essere esperti in materia.
Noi abbiamo questi dati:</p>
<table><thead>
<tr>
<th>PREZZO ORIGINALE</th>
<th style="text-align: center">Km percorsi</th>
<th style="text-align: center">stato di usura</th>
<th style="text-align: right">PREZZO FINALE</th>
</tr>
</thead><tbody>
<tr>
<td>50 000</td>
<td style="text-align: center">120 000</td>
<td style="text-align: center">lieve</td>
<td style="text-align: right">40 000</td>
</tr>
<tr>
<td>30 000</td>
<td style="text-align: center">150 000</td>
<td style="text-align: center">notevole</td>
<td style="text-align: right">8 000</td>
</tr>
<tr>
<td>20 000</td>
<td style="text-align: center">80 000</td>
<td style="text-align: center">lieve</td>
<td style="text-align: right">15 000</td>
</tr>
<tr>
<td>20 000</td>
<td style="text-align: center">120 000</td>
<td style="text-align: center">notevole</td>
<td style="text-align: right">...</td>
</tr>
</tbody></table>
<p>Dalla tabella possiamo dedurre la caratteristica fondamentale del <strong>supervised learning</strong>: abbiamo due vettori (serie di dati) di input (prezzo originale) e di output (prezzo finale) che hanno una correlazione certa e valida.</p>
<p>Possiamo dedurre intuitivamente quale sarà il prezzo dell&#39;ultima auto se analizziamo i dati precedenti.
Questo è quello che succede nel caso del <strong>supervised learning</strong>.
Un algoritmo di machine learning che utilizza il <strong>supervised learning</strong> estrapolerà la relazione fra i vari dati e in questo modo potrà ottenere un determinato output partendo dai dati di input.
Possiamo capire già da ora che nel caso ci fossero dati che &quot;inquinano&quot; il nostro data set, come ad esempio il colore dell&#39;auto, l&#39;algoritmo non sarà capace di fare un&#39;analisi corretta.</p>
<p>La precisione della soluzione dipende dalla quantità di dati e dall&#39;influenza che questi hanno nella situazione reale.</p>
<h1 id="unsupervised-learning">Unsupervised Learning</h1>
<p>Nel caso di unsupervised learning ci troviamo di fronte agli stessi dati ma senza la possibilità di conoscere il prezzo finale.</p>
<table><thead>
<tr>
<th>PREZZO ORIGINALE</th>
<th style="text-align: center">Km percorsi</th>
<th style="text-align: right">stato di usura</th>
</tr>
</thead><tbody>
<tr>
<td>50 000</td>
<td style="text-align: center">120 000</td>
<td style="text-align: right">lieve</td>
</tr>
<tr>
<td>30 000</td>
<td style="text-align: center">150 000</td>
<td style="text-align: right">notevole</td>
</tr>
<tr>
<td>20 000</td>
<td style="text-align: center">80 000</td>
<td style="text-align: right">lieve</td>
</tr>
<tr>
<td>20 000</td>
<td style="text-align: center">120 000</td>
<td style="text-align: right">notevole</td>
</tr>
</tbody></table>
<p>Non siamo capaci di stabilire il prezzo finale attraverso l&#39;unsupervised learning, ma possiamo stabilire dei pattern fra i vari dati.
Non c&#39;è nessun tipo di feedback (il prezzo finale) che possa aiutarci a capire se il risultato sia giusto ma possiamo analizzare le notevoli relazioni fra i dati.</p>
<h1 id="machine-learning-e-intelligenza">Machine Learning e intelligenza</h1>
<p>Concentriamoci sul <strong>supervised learning</strong>.
Nel caso della vendita dell&#39;automobile, abbiamo un semplice problema con una soluzione lineare di questo tipo:
<em>prezzo finale</em> = <em>prezzo originale</em> + <em>km percorsi</em> + stato di usura</p>
<p>Ovviamente ogni incognita nella nostra equazione influisce diversamente sul prezzo finale e quindi possiamo riscriverla come:
<em>prezzo finale</em> = A *<em>prezzo originale</em> + B *<em>km percorsi</em> + C * stato di usura</p>
<p>Se pensiamo ad un algoritmo possiamo ragionare in questo modo:</p>
<div class="highlight"><pre><code class="language-" data-lang="">funzione: calcola_prezzo_auto:
parametri: prezzo_originale, km_percorsi, stato_usura
variabili: prezzo_finale = 0
prezzo finale = prezzo_originale * 0.804246
prezzo finale = prezzo_finale + km_percorsi * -0.000125
prezzo finale = prezzo_finale + stato_usura * -2500
</code></pre></div>
<p>I valori di quelle costanti, stabilite casualmente nell&#39;esempio, sono chiamate <em>pesi</em> e servono a stimare il prezzo finale.
Una volta stabiliti i pesi, il nostro algoritmo di supervised learning applica questi pesi ai dati originali e ne valuta l&#39;errore:</p>
<table><thead>
<tr>
<th>PREZZO ORIGINALE</th>
<th style="text-align: center">Km percorsi</th>
<th style="text-align: center">stato di usura</th>
<th style="text-align: center">PREZZO FINALE</th>
<th style="text-align: right">PREZZO STIMATO</th>
</tr>
</thead><tbody>
<tr>
<td>50 000</td>
<td style="text-align: center">120 000</td>
<td style="text-align: center">lieve</td>
<td style="text-align: center">40 000</td>
<td style="text-align: right">374888</td>
</tr>
<tr>
<td>30 000</td>
<td style="text-align: center">150 000</td>
<td style="text-align: center">notevole</td>
<td style="text-align: center">8 000</td>
<td style="text-align: right">16000</td>
</tr>
<tr>
<td>20 000</td>
<td style="text-align: center">80 000</td>
<td style="text-align: center">lieve</td>
<td style="text-align: center">15 000</td>
<td style="text-align: right">13492</td>
</tr>
<tr>
<td>20 000</td>
<td style="text-align: center">120 000</td>
<td style="text-align: center">notevole</td>
<td style="text-align: center">...</td>
<td style="text-align: right">10988</td>
</tr>
</tbody></table>
<p>Una volta valutato l&#39;errore e la distanza dal prezzo finale, l&#39;algoritmo di machine learning modifica i pesi di conseguenza e ripete la procedura fino ad arrivare al risultato che piú si avvicina ai dati iniziali.
<img src="/wp-content/uploads/2016/reteneurale1.jpg" alt="rete1">
Ci sono varie funzioni che stimano l&#39;errore e permettono di correggere i pesi o metodi che restringono lo spazio di ricerca fino a convergere alla soluzione, ovvero i pesi cercati.</p>
<h2 id="reti-neurali">Reti Neurali</h2>
<p>Ora, come possiamo immaginare, il prezzo di un&#39;auto ha molti fattori che si aggiungono a quelli elencati nell&#39;esempio.
Non solo, ma molti problemi non hanno una soluzione lineare, ovvero una soluzione che si puó semplicemente esprimere attraverso una funzione che aggiunge e moltiplica i valori una sola volta.</p>
<p>Possiamo arricchire l&#39;esempio dell&#39;automobile immaginando di avere più set di pesi e di ripetere il procedimento più volte:</p>
<div class="highlight"><pre><code class="language-" data-lang="">|---------------------------------------------------|
| PREZZO_ORIG * peso A1 -----&gt; |
| KM_PERCORSI * peso B1 -----&gt; |
| STATO_USURA * peso C1 -----&gt; |
| PREZZO FINALE STIMATO 1|
|---------------------------------------------------|
| --------------------------------------------------|
| PREZZO_ORIG * peso A2 -----&gt; |
| KM_PERCORSI * peso B2 -----&gt; |
| STATO_USURA * peso C2 -----&gt; |
| PREZZO FINALE STIMATO 2|
|---------------------------------------------------|
| --------------------------------------------------|
| PREZZO_ORIG * peso A3 -----&gt; |
| KM_PERCORSI * peso B3 -----&gt; |
| STATO_USURA * peso C3 -----&gt; |
| PREZZO FINALE STIMATO 3|
|---------------------------------------------------|
</code></pre></div>
<p>E ora immaginiamo di combinare ogni PREZZO FINALE STIMATO in un&#39;ultimo risultato:</p>
<div class="highlight"><pre><code class="language-" data-lang="">| --------------------------------------------------|
| PREZZO_1 * peso X -----&gt; |
| PREZZO_2 * peso Y -----&gt; |
| PREZZO_3 * peso Z -----&gt; |
| PREZZO FINALE DEF |
|---------------------------------------------------|
</code></pre></div>
<p>Questa é, seppur molto basica, una rete neurale.
Proviamo a visualizzarla in un&#39;immagine dove i box arancioni sono i nodi di input e i rossi sono i nodi &quot;nascosti&quot; e temporanei.</p>
<p><img src="/wp-content/uploads/2016/reteneurale2.jpg" alt="rete2"></p>
<p>In una rete neurale (<em>neural networks</em>) abbiamo:</p>
<ul>
<li><p>i neuroni: la funzione di stima e i set di pesi;</p></li>
<li><p>le catene: i collegamenti fra neuroni che permettono di valutare il prezzo più volte.</p></li>
</ul>
<p>Nel prossimo <a href="/pescewanda/2016/11/11/machine-learning-PARTE2">post</a> cercherò di approfondire il concetto di rete neurale con degli esempi di applicazioni concrete.</p>
</div>
<div class="post">
<h1 class="post-title">
<a href="/pescewanda/2016/11/10/machine-learning-PARTE3/">
Capire il Machine Learning (parte 1)
</a>
</h1>
<span class="post-date">10 Nov 2016</span>
## Riconoscimento delle immagini
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 ( **convolutional neural networks**), abbreviata CNN.
Innanzitutto consideriamo che ogni immagine può essere codificata come una matrice di valori
![pixel](/wp-content/uploads/2016/8.jpg)
Una CNN esegue quattro step durante la fase di apprendimento
#### Convoluzione
Consideriamo l'immagine di un uccello.
Ci sono
# ALGORITMI GENETICI
// ~~ 500 ~~
# PRUNING E SEARCH TREES
// ~~ 200 ~~
</div>
<div class="post">
<h1 class="post-title">
<a href="/pescewanda/2016/07/07/pres-berk/">
@ -512,196 +835,6 @@ What if, when the person walks into a mall, we record the time, the location, th
</div>
<div class="post">
<h1 class="post-title">
<a href="/pescewanda/2016/07/05/arduino_keyboard/">
Arduino Uno as HID keyboard
</a>
</h1>
<span class="post-date">05 Jul 2016</span>
<p>Turin is the hometown of Arduino. I have been at the <a href="http://fablabtorino.org/">fablab</a> multiple times but I had to come all the way to America to get my hands on a simple Arduino Uno.</p>
<p>For 60$ I bought a cheap (but still good!) mechanical keyboard by Qisan, a clone of the Arduino Uno and a USB host shield.</p>
<p>Given that is 3 years since I have been using a dvorak layout and it&#39;s a pain to change layout on every machine that you have to use.
You can imagine that given this three pieces of hardware together I put together an hardware key mapper for the keyboard.</p>
<p>I have never had experience with Arduino before but it was not that difficult to make it do simple things like blinking the led or send signal through to a serial monitor.</p>
<p>It took me half an hour to wear down all my excitement: the USB Host Shield library broke all the compatibility with the similar project I found wandering online.</p>
<p>In particular <a href="http://hunt.net.nz/users/darran/">this blog</a> has the most precious information and the guy wrote a HID driver that allows the Uno to be seen as a HID device.</p>
<p>It was a noob error but I didn&#39;t checked the various arduino alternatives and I discovered late that just a few have the HID capabilities that would make this work easier. I should have bought and Arduino Due or Leonardo maybe.</p>
<p>Also, the various guides about flashing with a dfu tool are specific to older models of the Uno and it took me some time to figure the name of the new components so that I could flash a new firmware.</p>
<h2 id="a-small-journey-in-the-arduino-world">A small journey in the Arduino world</h2>
<p>It feels pretentious to write a little guide for this kind of work, given also the fact that I have roughly 10 hours of experience with the Arduino. But the other resources are really outdated so I hope this piece can be useful to someone out there.</p>
<p>All the files I have used today are on <a href="http://francescomecca.eu:3000/pesceWanda/arduino_HID_keyboard">my repos</a> and I included also an outdated version of the USB Host Shield library that I used.</p>
<p>The original code from this <a href="http://hunt.net.nz/users/darran/weblog/c6f35/Arduino_USB_Keyboard_Passthrough.html">blog post</a> works like a charm but just as a simple passthrough.</p>
<p>It was not difficult at all to examine the code:
during each loop of the iteration a char array gets read from the shield and if it is contains information Arduino with the Serial.Write method send the data to the host.</p>
<p>The buffer array is a simple array of length 8 and the first two positions are reserved. In particular the first one represent the various modifier keys.</p>
<p>The dvorak layout has the same pairs as the US layout but eventually I got used to having the &#39;@&#39; where at the same place of &#39;Q&#39; (qwerty) and &#39;&quot;&#39; over the &#39;2&#39;.
Also, I am an avid vim user (I should thank Simone Basso for that) and I swapped some keys on the new 65 keys keyboard.
The modifier bit at the beginning of the array came in handy for my code.</p>
<p>An hardware key remapper is a simple but long switch C statement but I decided to consider also the modifier bit: in this way certain keys like the Window (UGH!) key is mapped to a different layer of keys.
I got all the codes for the HID events <a href="http://www.freebsddiary.org/APC/usb_hid_usages.php">here</a>.</p>
<p>The process of flashing the code on the Uno goes like this:</p>
<ul>
<li>write the looping code;</li>
<li>push it to the Arduino using the IDE;</li>
<li>shortcircuit the board so that it goes in DFU mode;</li>
<li>flash the .hex HID firmware;</li>
<li>try your code;</li>
<li>repeat until it&#39;s right.</li>
</ul>
<p><img src="/wp-content/uploads/2016/IMG_20160706_011304.jpg" alt="Everything fits in one picture"></p>
<h2 id="flashing-the-firmware">Flashing the firmware</h2>
<p>The firmware is in my repo but I got it from (here)[<a href="http://hunt.net.nz/users/darran/weblog/a6d52/Arduino_UNO_Keyboard_HID_version_02.html">http://hunt.net.nz/users/darran/weblog/a6d52/Arduino_UNO_Keyboard_HID_version_02.html</a>].
The tool I used to flash it is dfu-programmer (version 0.62).
Every time you want to flash a new firmware the Arduino must be put in DFU mode (you can see the difference with lsusb).
To do that simply create a shortcircuit using a small metal wire on the two pins near the reset button and a led will blink.
This <a href="https://www.youtube.com/watch?v=E8XyRwXQr8Q">video</a> shows the method briefly (no real need for a jumper).
The commands are the following and there is no risk to brick the Uno:</p>
<div class="highlight"><pre><code class="language-" data-lang="">dfu-programmer atmega16u2 erase
dfu-programmer atmega16u2 flash Arduino-keyboard-0.2.hex
dfu-programmer atmega16u2 reset
</code></pre></div>
<p>After each flashing the device needs to be disconnected once. Of course you can flash the original firmware back. It is included in my repo or on the official ones.</p>
<p><img src="/wp-content/uploads/2016/IMG_20160706_011143.jpg" alt="Arduino and the shield"></p>
<p>That&#39;s it, as you can see is not difficult at all. The worst part is gathering the various info that are left dormant in blogs or forums.</p>
</div>
<div class="post">
<h1 class="post-title">
<a href="/pescewanda/2016/05/16/lifehacks2/">
Lifehacks (2)
</a>
</h1>
<span class="post-date">16 May 2016</span>
<ul>
<li><p>If you&#39;re at a party and you don&#39;t know anyone, make it a point to meet the host and introduce yourself. The host can introduce you to other guys/girls and it scores you points.</p></li>
<li><p>Never buy high-end cables, and never buy cables at retail. Cables have higher profit margins than almost everything except extended warranties. Despite what the marketing and sales people will tell you, there is no difference. Need a computer cable? Order it from a wholesaler online. That USB cable that your printer requires will cost you $25 at Staples and $1.50 at Newegg.</p></li>
<li><p>Never quote an entire post unless it&#39;s shorter than the one you write in response.</p></li>
<li><p>Don&#39;t eat food after 6pm.</p></li>
<li><p>In college, always check the library to see if the teacher is using a test bank.</p></li>
</ul>
</div>
<div class="post">
<h1 class="post-title">
<a href="/pescewanda/2016/05/15/genetic-alg/">
Interpolation using a genetic algorithm
</a>
</h1>
<span class="post-date">15 May 2016</span>
<p>This weekend I was in Milan to get a visa and I had the opportunity to work with a friend, Michele, on genetic algorithms.
It was the first time I dig up in such field and it was very exciting.
In this post I want to explain some bits of our work.</p>
<h2 id="a-brief-introduction-to-ga">A brief introduction to GA</h2>
<p>A genetic algorithm is a search/optimization algorithm that uses an heuristic approach to reduce the search space and evolve gradually to a solution.</p>
<h4 id="population">Population</h4>
<p>It is an algorithm that has its root in the theory of natural selectioni by Charles Darwin.
The main components of a GA are:</p>
<ul>
<li>the population, that concentrate all the available solutions at a given time;</li>
<li>the fitness function, that gives an approximation of the quality of the solution codified by a given member of the population.</li>
</ul>
<p>In a GA the first thing to do is to generate a population.</p>
<p>A population is a group of objects with given attributes, usually a string, and they contains in some form the solution (usually inside a string); the first population is randomly generated and contains a big number of solutions, but not every solution (this is not a bruteforce approach).</p>
<p>After this step the fitness functions evaluates the quality of every solution that a given member carries: the evaluation should be considered from a bottom up point of view.</p>
<h4 id="reproduction">Reproduction</h4>
<p>Now, as in Darwin&#39;s theory of evolution, the member of the population are going to &quot;reproduce&quot;: two members are going to be coupled to generate a new member of the second generation and every child member will contain a solution that is the product of the original genes of their parent members.</p>
<p>This time the reproduction of the population into a second one is not entirely random. The fitness function gives us an approximation of the quality of every gene that a member carries and by the rule of the &quot;survival by the fittest&quot; the probability that a member is going to reproduce with another one is proportional to the quality of its genes.</p>
<p>When we have a second generation of members we can recur on our GA and generate a third generation. From this point we can recur until we converge to a solution that is common to every member, or at least that is suited to our needs.</p>
<h4 id="mutation">Mutation</h4>
<p>Actually, in some cases, a mutation function can be added, so that, like in real world, some times the genes are &quot;scrambled&quot; indipendently from the fitness function.</p>
<p>There is more to a GA, for example we could talk about possible ways of storing the genes inside a member or when to use mutation, anyway I want to stop here and continue with an analysis of my problem.</p>
<h2 id="interpolating-a-function-using-a-ga">Interpolating a function using a GA</h2>
<p>Me and Michele decided to spend some time developing a little python script to explore GA capabilities and we decided to interpolate some points on a cartesian plane.</p>
<p>Our program, that is available <a href="http://francescomecca.eu:3000/pesceWanda/interpol_genetica">here</a> uses a class to define the various members of the population and a string for the genes, a class as well for the points on the plane.</p>
<p>The fitness function is not as precise as it should be because this is only a proof of concept:</p>
<figure class="highlight"><pre><code class="language-python" data-lang="python"><span class="n">mutationProbability</span> <span class="o">=</span> <span class="mf">0.1</span>
<span class="n">rangeLimit</span> <span class="o">=</span> <span class="mi">5</span>
<span class="k">def</span> <span class="nf">fitness</span><span class="p">(</span><span class="n">item</span><span class="p">,</span> <span class="n">pointList</span><span class="p">,</span> <span class="n">n</span><span class="p">):</span>
<span class="n">value</span> <span class="o">=</span> <span class="mi">0</span>
<span class="k">for</span> <span class="n">p</span> <span class="ow">in</span> <span class="n">pointList</span><span class="p">:</span>
<span class="n">y</span> <span class="o">=</span> <span class="mi">0</span>
<span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">n</span><span class="p">):</span>
<span class="n">y</span> <span class="o">+=</span> <span class="n">item</span><span class="o">.</span><span class="n">gene</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="o">*</span> <span class="nb">pow</span><span class="p">(</span><span class="n">p</span><span class="o">.</span><span class="n">x</span><span class="p">,</span> <span class="n">i</span><span class="p">)</span>
<span class="n">result</span> <span class="o">=</span> <span class="mi">1</span> <span class="o">-</span> <span class="p">(</span><span class="nb">abs</span> <span class="p">(</span><span class="n">p</span><span class="o">.</span><span class="n">y</span> <span class="o">-</span> <span class="n">y</span><span class="p">)</span> <span class="o">/</span> <span class="n">rangeLimit</span><span class="p">)</span>
<span class="k">if</span> <span class="n">result</span> <span class="o">&lt;</span> <span class="mi">0</span><span class="p">:</span>
<span class="n">result</span> <span class="o">=</span> <span class="mi">0</span>
<span class="n">value</span> <span class="o">+=</span> <span class="n">result</span>
<span class="k">return</span> <span class="n">value</span> <span class="o">/</span> <span class="n">n</span></code></pre></figure>
<p>item is just a member of the population, poinList is the list of points and n is the number of points (n - 1 is the grade of the function).</p>
<div class="highlight"><pre><code class="language-" data-lang="">for i in range(n):
y += item.gene[i] * pow(p.x, i)
</code></pre></div>
<p>this piece of code gives us the value of the function encoded in the genes in the points of pointList;</p>
<div class="highlight"><pre><code class="language-" data-lang="">result = 1 - (abs (p.y - y) / rangeLimit)
if result &lt; 0:
result = 0
</code></pre></div>
<p>while here the script stores 1 - the previous result because if the GA has yield a good result there should be distance = 0 from the function evaluated and the points; If this is the case, the fitness function should attribute the highest possible reproduction probability for that member.
At the end the fitness function returns the total value over the number of points evaluated.</p>
<p>As you can see this fitness function is by no means an optimal one. The reproduction probability is higher for functions that crosses some points and are really distant from others rather than for functions that are closer to every point but crosses none.
Anyway for simple cases the GA yields good results, as an example for points (0 0), (1 4), (2 9) one of the member with the highest reproduction probability has this function in its genes:</p>
<div class="highlight"><pre><code class="language-" data-lang="">-0.0487839869993989 * x^0 + 4.600339125358671 * x^1 + -0.2780958075230644 * x^2
</code></pre></div>
<p>that crosses this points: (0 -0.0488), (1 4.2735), (2 8.0395) given 80 iterations, initial population of 600 members and a two digit approximation.</p>
<p>For a more precise computation a higher population size and a really high number of iterations should be used.</p>
</div>
</div>
<div class="pagination">

View file

@ -119,7 +119,7 @@
<a class="sidebar-nav-item" href="/feed.xml">RSS</a>
<a class="sidebar-nav-item" href="http://francescomecca.eu:3000">Personal Git</a>
<a class="sidebar-nav-item" href="http://francescomecca.eu:3000/explore/repos">Personal Git</a>
<span class="sidebar-nav-item" href="" >Powered by Jekyll and Hyde</span>
</nav>
@ -227,6 +227,33 @@
<!--<related-posts />-->
<!--<h2>Related Posts</h2>-->
<!--<ul class="related-posts">-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/11/11/machine-learning-PARTE2/">-->
<!--Capire il Machine Learning (parte 2)-->
<!--<small>11 Nov 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/11/10/machine-learning-intro/">-->
<!--Capire il Machine Learning (parte 1)-->
<!--<small>10 Nov 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/11/10/machine-learning-PARTE3/">-->
<!--Capire il Machine Learning (parte 1)-->
<!--<small>10 Nov 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
@ -246,33 +273,6 @@
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/07/05/arduino_keyboard/">-->
<!--Arduino Uno as HID keyboard-->
<!--<small>05 Jul 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/05/16/lifehacks2/">-->
<!--Lifehacks (2)-->
<!--<small>16 May 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/05/15/genetic-alg/">-->
<!--Interpolation using a genetic algorithm-->
<!--<small>15 May 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--</ul>-->
<!--</div>-->
@ -688,6 +688,106 @@

View file

@ -119,7 +119,7 @@
<a class="sidebar-nav-item" href="/feed.xml">RSS</a>
<a class="sidebar-nav-item" href="http://francescomecca.eu:3000">Personal Git</a>
<a class="sidebar-nav-item" href="http://francescomecca.eu:3000/explore/repos">Personal Git</a>
<span class="sidebar-nav-item" href="" >Powered by Jekyll and Hyde</span>
</nav>
@ -257,6 +257,33 @@
<!--<related-posts />-->
<!--<h2>Related Posts</h2>-->
<!--<ul class="related-posts">-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/11/11/machine-learning-PARTE2/">-->
<!--Capire il Machine Learning (parte 2)-->
<!--<small>11 Nov 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/11/10/machine-learning-intro/">-->
<!--Capire il Machine Learning (parte 1)-->
<!--<small>10 Nov 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/11/10/machine-learning-PARTE3/">-->
<!--Capire il Machine Learning (parte 1)-->
<!--<small>10 Nov 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
@ -276,33 +303,6 @@
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/07/05/arduino_keyboard/">-->
<!--Arduino Uno as HID keyboard-->
<!--<small>05 Jul 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/05/16/lifehacks2/">-->
<!--Lifehacks (2)-->
<!--<small>16 May 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/05/15/genetic-alg/">-->
<!--Interpolation using a genetic algorithm-->
<!--<small>15 May 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--</ul>-->
<!--</div>-->
@ -638,6 +638,86 @@

View file

@ -119,7 +119,7 @@
<a class="sidebar-nav-item" href="/feed.xml">RSS</a>
<a class="sidebar-nav-item" href="http://francescomecca.eu:3000">Personal Git</a>
<a class="sidebar-nav-item" href="http://francescomecca.eu:3000/explore/repos">Personal Git</a>
<span class="sidebar-nav-item" href="" >Powered by Jekyll and Hyde</span>
</nav>
@ -221,6 +221,33 @@
<!--<related-posts />-->
<!--<h2>Related Posts</h2>-->
<!--<ul class="related-posts">-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/11/11/machine-learning-PARTE2/">-->
<!--Capire il Machine Learning (parte 2)-->
<!--<small>11 Nov 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/11/10/machine-learning-intro/">-->
<!--Capire il Machine Learning (parte 1)-->
<!--<small>10 Nov 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/11/10/machine-learning-PARTE3/">-->
<!--Capire il Machine Learning (parte 1)-->
<!--<small>10 Nov 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
@ -240,33 +267,6 @@
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/07/05/arduino_keyboard/">-->
<!--Arduino Uno as HID keyboard-->
<!--<small>05 Jul 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/05/16/lifehacks2/">-->
<!--Lifehacks (2)-->
<!--<small>16 May 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/05/15/genetic-alg/">-->
<!--Interpolation using a genetic algorithm-->
<!--<small>15 May 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--</ul>-->
<!--</div>-->
@ -682,6 +682,106 @@

View file

@ -119,7 +119,7 @@
<a class="sidebar-nav-item" href="/feed.xml">RSS</a>
<a class="sidebar-nav-item" href="http://francescomecca.eu:3000">Personal Git</a>
<a class="sidebar-nav-item" href="http://francescomecca.eu:3000/explore/repos">Personal Git</a>
<span class="sidebar-nav-item" href="" >Powered by Jekyll and Hyde</span>
</nav>
@ -211,6 +211,33 @@
<!--<related-posts />-->
<!--<h2>Related Posts</h2>-->
<!--<ul class="related-posts">-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/11/11/machine-learning-PARTE2/">-->
<!--Capire il Machine Learning (parte 2)-->
<!--<small>11 Nov 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/11/10/machine-learning-intro/">-->
<!--Capire il Machine Learning (parte 1)-->
<!--<small>10 Nov 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/11/10/machine-learning-PARTE3/">-->
<!--Capire il Machine Learning (parte 1)-->
<!--<small>10 Nov 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
@ -230,33 +257,6 @@
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/07/05/arduino_keyboard/">-->
<!--Arduino Uno as HID keyboard-->
<!--<small>05 Jul 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/05/16/lifehacks2/">-->
<!--Lifehacks (2)-->
<!--<small>16 May 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/05/15/genetic-alg/">-->
<!--Interpolation using a genetic algorithm-->
<!--<small>15 May 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--</ul>-->
<!--</div>-->
@ -592,6 +592,86 @@

View file

@ -119,7 +119,7 @@
<a class="sidebar-nav-item" href="/feed.xml">RSS</a>
<a class="sidebar-nav-item" href="http://francescomecca.eu:3000">Personal Git</a>
<a class="sidebar-nav-item" href="http://francescomecca.eu:3000/explore/repos">Personal Git</a>
<span class="sidebar-nav-item" href="" >Powered by Jekyll and Hyde</span>
</nav>
@ -215,6 +215,33 @@
<!--<related-posts />-->
<!--<h2>Related Posts</h2>-->
<!--<ul class="related-posts">-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/11/11/machine-learning-PARTE2/">-->
<!--Capire il Machine Learning (parte 2)-->
<!--<small>11 Nov 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/11/10/machine-learning-intro/">-->
<!--Capire il Machine Learning (parte 1)-->
<!--<small>10 Nov 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/11/10/machine-learning-PARTE3/">-->
<!--Capire il Machine Learning (parte 1)-->
<!--<small>10 Nov 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
@ -234,33 +261,6 @@
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/07/05/arduino_keyboard/">-->
<!--Arduino Uno as HID keyboard-->
<!--<small>05 Jul 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/05/16/lifehacks2/">-->
<!--Lifehacks (2)-->
<!--<small>16 May 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/05/15/genetic-alg/">-->
<!--Interpolation using a genetic algorithm-->
<!--<small>15 May 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--</ul>-->
<!--</div>-->
@ -596,6 +596,86 @@

View file

@ -119,7 +119,7 @@
<a class="sidebar-nav-item" href="/feed.xml">RSS</a>
<a class="sidebar-nav-item" href="http://francescomecca.eu:3000">Personal Git</a>
<a class="sidebar-nav-item" href="http://francescomecca.eu:3000/explore/repos">Personal Git</a>
<span class="sidebar-nav-item" href="" >Powered by Jekyll and Hyde</span>
</nav>
@ -180,6 +180,33 @@ David Gomez, un ex agente dell&#8217;FBI , ha detto che il velivolo di sorveglia
<!--<related-posts />-->
<!--<h2>Related Posts</h2>-->
<!--<ul class="related-posts">-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/11/11/machine-learning-PARTE2/">-->
<!--Capire il Machine Learning (parte 2)-->
<!--<small>11 Nov 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/11/10/machine-learning-intro/">-->
<!--Capire il Machine Learning (parte 1)-->
<!--<small>10 Nov 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/11/10/machine-learning-PARTE3/">-->
<!--Capire il Machine Learning (parte 1)-->
<!--<small>10 Nov 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
@ -199,33 +226,6 @@ David Gomez, un ex agente dell&#8217;FBI , ha detto che il velivolo di sorveglia
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/07/05/arduino_keyboard/">-->
<!--Arduino Uno as HID keyboard-->
<!--<small>05 Jul 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/05/16/lifehacks2/">-->
<!--Lifehacks (2)-->
<!--<small>16 May 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/05/15/genetic-alg/">-->
<!--Interpolation using a genetic algorithm-->
<!--<small>15 May 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--</ul>-->
<!--</div>-->
@ -321,6 +321,26 @@ David Gomez, un ex agente dell&#8217;FBI , ha detto che il velivolo di sorveglia

View file

@ -119,7 +119,7 @@
<a class="sidebar-nav-item" href="/feed.xml">RSS</a>
<a class="sidebar-nav-item" href="http://francescomecca.eu:3000">Personal Git</a>
<a class="sidebar-nav-item" href="http://francescomecca.eu:3000/explore/repos">Personal Git</a>
<span class="sidebar-nav-item" href="" >Powered by Jekyll and Hyde</span>
</nav>
@ -153,6 +153,33 @@
<!--<related-posts />-->
<!--<h2>Related Posts</h2>-->
<!--<ul class="related-posts">-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/11/11/machine-learning-PARTE2/">-->
<!--Capire il Machine Learning (parte 2)-->
<!--<small>11 Nov 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/11/10/machine-learning-intro/">-->
<!--Capire il Machine Learning (parte 1)-->
<!--<small>10 Nov 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/11/10/machine-learning-PARTE3/">-->
<!--Capire il Machine Learning (parte 1)-->
<!--<small>10 Nov 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
@ -172,33 +199,6 @@
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/07/05/arduino_keyboard/">-->
<!--Arduino Uno as HID keyboard-->
<!--<small>05 Jul 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/05/16/lifehacks2/">-->
<!--Lifehacks (2)-->
<!--<small>16 May 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/05/15/genetic-alg/">-->
<!--Interpolation using a genetic algorithm-->
<!--<small>15 May 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--</ul>-->
<!--</div>-->
@ -294,6 +294,26 @@

View file

@ -119,7 +119,7 @@
<a class="sidebar-nav-item" href="/feed.xml">RSS</a>
<a class="sidebar-nav-item" href="http://francescomecca.eu:3000">Personal Git</a>
<a class="sidebar-nav-item" href="http://francescomecca.eu:3000/explore/repos">Personal Git</a>
<span class="sidebar-nav-item" href="" >Powered by Jekyll and Hyde</span>
</nav>
@ -197,6 +197,33 @@
<!--<related-posts />-->
<!--<h2>Related Posts</h2>-->
<!--<ul class="related-posts">-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/11/11/machine-learning-PARTE2/">-->
<!--Capire il Machine Learning (parte 2)-->
<!--<small>11 Nov 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/11/10/machine-learning-intro/">-->
<!--Capire il Machine Learning (parte 1)-->
<!--<small>10 Nov 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/11/10/machine-learning-PARTE3/">-->
<!--Capire il Machine Learning (parte 1)-->
<!--<small>10 Nov 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
@ -216,33 +243,6 @@
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/07/05/arduino_keyboard/">-->
<!--Arduino Uno as HID keyboard-->
<!--<small>05 Jul 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/05/16/lifehacks2/">-->
<!--Lifehacks (2)-->
<!--<small>16 May 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/05/15/genetic-alg/">-->
<!--Interpolation using a genetic algorithm-->
<!--<small>15 May 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--</ul>-->
<!--</div>-->
@ -658,6 +658,106 @@

View file

@ -119,7 +119,7 @@
<a class="sidebar-nav-item" href="/feed.xml">RSS</a>
<a class="sidebar-nav-item" href="http://francescomecca.eu:3000">Personal Git</a>
<a class="sidebar-nav-item" href="http://francescomecca.eu:3000/explore/repos">Personal Git</a>
<span class="sidebar-nav-item" href="" >Powered by Jekyll and Hyde</span>
</nav>
@ -270,6 +270,33 @@ Command successful.</pre>
<!--<related-posts />-->
<!--<h2>Related Posts</h2>-->
<!--<ul class="related-posts">-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/11/11/machine-learning-PARTE2/">-->
<!--Capire il Machine Learning (parte 2)-->
<!--<small>11 Nov 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/11/10/machine-learning-intro/">-->
<!--Capire il Machine Learning (parte 1)-->
<!--<small>10 Nov 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/11/10/machine-learning-PARTE3/">-->
<!--Capire il Machine Learning (parte 1)-->
<!--<small>10 Nov 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
@ -289,33 +316,6 @@ Command successful.</pre>
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/07/05/arduino_keyboard/">-->
<!--Arduino Uno as HID keyboard-->
<!--<small>05 Jul 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/05/16/lifehacks2/">-->
<!--Lifehacks (2)-->
<!--<small>16 May 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/05/15/genetic-alg/">-->
<!--Interpolation using a genetic algorithm-->
<!--<small>15 May 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--</ul>-->
<!--</div>-->
@ -811,6 +811,126 @@ Command successful.</pre>

View file

@ -119,7 +119,7 @@
<a class="sidebar-nav-item" href="/feed.xml">RSS</a>
<a class="sidebar-nav-item" href="http://francescomecca.eu:3000">Personal Git</a>
<a class="sidebar-nav-item" href="http://francescomecca.eu:3000/explore/repos">Personal Git</a>
<span class="sidebar-nav-item" href="" >Powered by Jekyll and Hyde</span>
</nav>
@ -173,6 +173,33 @@ perl-cleaner --all</pre>
<!--<related-posts />-->
<!--<h2>Related Posts</h2>-->
<!--<ul class="related-posts">-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/11/11/machine-learning-PARTE2/">-->
<!--Capire il Machine Learning (parte 2)-->
<!--<small>11 Nov 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/11/10/machine-learning-intro/">-->
<!--Capire il Machine Learning (parte 1)-->
<!--<small>10 Nov 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/11/10/machine-learning-PARTE3/">-->
<!--Capire il Machine Learning (parte 1)-->
<!--<small>10 Nov 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
@ -192,33 +219,6 @@ perl-cleaner --all</pre>
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/07/05/arduino_keyboard/">-->
<!--Arduino Uno as HID keyboard-->
<!--<small>05 Jul 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/05/16/lifehacks2/">-->
<!--Lifehacks (2)-->
<!--<small>16 May 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/05/15/genetic-alg/">-->
<!--Interpolation using a genetic algorithm-->
<!--<small>15 May 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--</ul>-->
<!--</div>-->
@ -794,6 +794,146 @@ perl-cleaner --all</pre>

View file

@ -119,7 +119,7 @@
<a class="sidebar-nav-item" href="/feed.xml">RSS</a>
<a class="sidebar-nav-item" href="http://francescomecca.eu:3000">Personal Git</a>
<a class="sidebar-nav-item" href="http://francescomecca.eu:3000/explore/repos">Personal Git</a>
<span class="sidebar-nav-item" href="" >Powered by Jekyll and Hyde</span>
</nav>
@ -234,6 +234,33 @@ The original idea for the Buridan&#39;s donkey came from my mentor <a href="http
<!--<related-posts />-->
<!--<h2>Related Posts</h2>-->
<!--<ul class="related-posts">-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/11/11/machine-learning-PARTE2/">-->
<!--Capire il Machine Learning (parte 2)-->
<!--<small>11 Nov 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/11/10/machine-learning-intro/">-->
<!--Capire il Machine Learning (parte 1)-->
<!--<small>10 Nov 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/11/10/machine-learning-PARTE3/">-->
<!--Capire il Machine Learning (parte 1)-->
<!--<small>10 Nov 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
@ -253,33 +280,6 @@ The original idea for the Buridan&#39;s donkey came from my mentor <a href="http
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/07/05/arduino_keyboard/">-->
<!--Arduino Uno as HID keyboard-->
<!--<small>05 Jul 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/05/16/lifehacks2/">-->
<!--Lifehacks (2)-->
<!--<small>16 May 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/05/15/genetic-alg/">-->
<!--Interpolation using a genetic algorithm-->
<!--<small>15 May 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--</ul>-->
<!--</div>-->
@ -935,6 +935,166 @@ The original idea for the Buridan&#39;s donkey came from my mentor <a href="http

View file

@ -119,7 +119,7 @@
<a class="sidebar-nav-item" href="/feed.xml">RSS</a>
<a class="sidebar-nav-item" href="http://francescomecca.eu:3000">Personal Git</a>
<a class="sidebar-nav-item" href="http://francescomecca.eu:3000/explore/repos">Personal Git</a>
<span class="sidebar-nav-item" href="" >Powered by Jekyll and Hyde</span>
</nav>
@ -189,6 +189,33 @@
<!--<related-posts />-->
<!--<h2>Related Posts</h2>-->
<!--<ul class="related-posts">-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/11/11/machine-learning-PARTE2/">-->
<!--Capire il Machine Learning (parte 2)-->
<!--<small>11 Nov 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/11/10/machine-learning-intro/">-->
<!--Capire il Machine Learning (parte 1)-->
<!--<small>10 Nov 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/11/10/machine-learning-PARTE3/">-->
<!--Capire il Machine Learning (parte 1)-->
<!--<small>10 Nov 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
@ -208,33 +235,6 @@
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/07/05/arduino_keyboard/">-->
<!--Arduino Uno as HID keyboard-->
<!--<small>05 Jul 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/05/16/lifehacks2/">-->
<!--Lifehacks (2)-->
<!--<small>16 May 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/05/15/genetic-alg/">-->
<!--Interpolation using a genetic algorithm-->
<!--<small>15 May 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--</ul>-->
<!--</div>-->
@ -810,6 +810,146 @@

View file

@ -119,7 +119,7 @@
<a class="sidebar-nav-item" href="/feed.xml">RSS</a>
<a class="sidebar-nav-item" href="http://francescomecca.eu:3000">Personal Git</a>
<a class="sidebar-nav-item" href="http://francescomecca.eu:3000/explore/repos">Personal Git</a>
<span class="sidebar-nav-item" href="" >Powered by Jekyll and Hyde</span>
</nav>
@ -212,6 +212,33 @@ Truecrypt permette di creare un volume crittografico che si presenta come un fil
<!--<related-posts />-->
<!--<h2>Related Posts</h2>-->
<!--<ul class="related-posts">-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/11/11/machine-learning-PARTE2/">-->
<!--Capire il Machine Learning (parte 2)-->
<!--<small>11 Nov 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/11/10/machine-learning-intro/">-->
<!--Capire il Machine Learning (parte 1)-->
<!--<small>10 Nov 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/11/10/machine-learning-PARTE3/">-->
<!--Capire il Machine Learning (parte 1)-->
<!--<small>10 Nov 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
@ -231,33 +258,6 @@ Truecrypt permette di creare un volume crittografico che si presenta come un fil
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/07/05/arduino_keyboard/">-->
<!--Arduino Uno as HID keyboard-->
<!--<small>05 Jul 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/05/16/lifehacks2/">-->
<!--Lifehacks (2)-->
<!--<small>16 May 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/05/15/genetic-alg/">-->
<!--Interpolation using a genetic algorithm-->
<!--<small>15 May 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--</ul>-->
<!--</div>-->
@ -593,6 +593,86 @@ Truecrypt permette di creare un volume crittografico che si presenta come un fil

View file

@ -119,7 +119,7 @@
<a class="sidebar-nav-item" href="/feed.xml">RSS</a>
<a class="sidebar-nav-item" href="http://francescomecca.eu:3000">Personal Git</a>
<a class="sidebar-nav-item" href="http://francescomecca.eu:3000/explore/repos">Personal Git</a>
<span class="sidebar-nav-item" href="" >Powered by Jekyll and Hyde</span>
</nav>
@ -771,6 +771,33 @@
<!--<related-posts />-->
<!--<h2>Related Posts</h2>-->
<!--<ul class="related-posts">-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/11/11/machine-learning-PARTE2/">-->
<!--Capire il Machine Learning (parte 2)-->
<!--<small>11 Nov 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/11/10/machine-learning-intro/">-->
<!--Capire il Machine Learning (parte 1)-->
<!--<small>10 Nov 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/11/10/machine-learning-PARTE3/">-->
<!--Capire il Machine Learning (parte 1)-->
<!--<small>10 Nov 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
@ -790,33 +817,6 @@
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/07/05/arduino_keyboard/">-->
<!--Arduino Uno as HID keyboard-->
<!--<small>05 Jul 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/05/16/lifehacks2/">-->
<!--Lifehacks (2)-->
<!--<small>16 May 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/05/15/genetic-alg/">-->
<!--Interpolation using a genetic algorithm-->
<!--<small>15 May 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--</ul>-->
<!--</div>-->
@ -912,6 +912,26 @@

View file

@ -119,7 +119,7 @@
<a class="sidebar-nav-item" href="/feed.xml">RSS</a>
<a class="sidebar-nav-item" href="http://francescomecca.eu:3000">Personal Git</a>
<a class="sidebar-nav-item" href="http://francescomecca.eu:3000/explore/repos">Personal Git</a>
<span class="sidebar-nav-item" href="" >Powered by Jekyll and Hyde</span>
</nav>
@ -196,6 +196,33 @@
<!--<related-posts />-->
<!--<h2>Related Posts</h2>-->
<!--<ul class="related-posts">-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/11/11/machine-learning-PARTE2/">-->
<!--Capire il Machine Learning (parte 2)-->
<!--<small>11 Nov 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/11/10/machine-learning-intro/">-->
<!--Capire il Machine Learning (parte 1)-->
<!--<small>10 Nov 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/11/10/machine-learning-PARTE3/">-->
<!--Capire il Machine Learning (parte 1)-->
<!--<small>10 Nov 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
@ -215,33 +242,6 @@
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/07/05/arduino_keyboard/">-->
<!--Arduino Uno as HID keyboard-->
<!--<small>05 Jul 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/05/16/lifehacks2/">-->
<!--Lifehacks (2)-->
<!--<small>16 May 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/05/15/genetic-alg/">-->
<!--Interpolation using a genetic algorithm-->
<!--<small>15 May 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--</ul>-->
<!--</div>-->
@ -337,6 +337,26 @@

View file

@ -119,7 +119,7 @@
<a class="sidebar-nav-item" href="/feed.xml">RSS</a>
<a class="sidebar-nav-item" href="http://francescomecca.eu:3000">Personal Git</a>
<a class="sidebar-nav-item" href="http://francescomecca.eu:3000/explore/repos">Personal Git</a>
<span class="sidebar-nav-item" href="" >Powered by Jekyll and Hyde</span>
</nav>
@ -172,6 +172,33 @@
<!--<related-posts />-->
<!--<h2>Related Posts</h2>-->
<!--<ul class="related-posts">-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/11/11/machine-learning-PARTE2/">-->
<!--Capire il Machine Learning (parte 2)-->
<!--<small>11 Nov 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/11/10/machine-learning-intro/">-->
<!--Capire il Machine Learning (parte 1)-->
<!--<small>10 Nov 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/11/10/machine-learning-PARTE3/">-->
<!--Capire il Machine Learning (parte 1)-->
<!--<small>10 Nov 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
@ -191,33 +218,6 @@
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/07/05/arduino_keyboard/">-->
<!--Arduino Uno as HID keyboard-->
<!--<small>05 Jul 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/05/16/lifehacks2/">-->
<!--Lifehacks (2)-->
<!--<small>16 May 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/05/15/genetic-alg/">-->
<!--Interpolation using a genetic algorithm-->
<!--<small>15 May 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--</ul>-->
<!--</div>-->
@ -313,6 +313,26 @@

View file

@ -119,7 +119,7 @@
<a class="sidebar-nav-item" href="/feed.xml">RSS</a>
<a class="sidebar-nav-item" href="http://francescomecca.eu:3000">Personal Git</a>
<a class="sidebar-nav-item" href="http://francescomecca.eu:3000/explore/repos">Personal Git</a>
<span class="sidebar-nav-item" href="" >Powered by Jekyll and Hyde</span>
</nav>
@ -288,6 +288,33 @@
<!--<related-posts />-->
<!--<h2>Related Posts</h2>-->
<!--<ul class="related-posts">-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/11/11/machine-learning-PARTE2/">-->
<!--Capire il Machine Learning (parte 2)-->
<!--<small>11 Nov 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/11/10/machine-learning-intro/">-->
<!--Capire il Machine Learning (parte 1)-->
<!--<small>10 Nov 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/11/10/machine-learning-PARTE3/">-->
<!--Capire il Machine Learning (parte 1)-->
<!--<small>10 Nov 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
@ -307,33 +334,6 @@
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/07/05/arduino_keyboard/">-->
<!--Arduino Uno as HID keyboard-->
<!--<small>05 Jul 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/05/16/lifehacks2/">-->
<!--Lifehacks (2)-->
<!--<small>16 May 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/05/15/genetic-alg/">-->
<!--Interpolation using a genetic algorithm-->
<!--<small>15 May 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--</ul>-->
<!--</div>-->
@ -669,6 +669,86 @@

View file

@ -119,7 +119,7 @@
<a class="sidebar-nav-item" href="/feed.xml">RSS</a>
<a class="sidebar-nav-item" href="http://francescomecca.eu:3000">Personal Git</a>
<a class="sidebar-nav-item" href="http://francescomecca.eu:3000/explore/repos">Personal Git</a>
<span class="sidebar-nav-item" href="" >Powered by Jekyll and Hyde</span>
</nav>
@ -209,6 +209,33 @@ Alcuni <a href="https://trac.torproject.org/projects/tor/wiki/doc/GoodBadISPs" t
<!--<related-posts />-->
<!--<h2>Related Posts</h2>-->
<!--<ul class="related-posts">-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/11/11/machine-learning-PARTE2/">-->
<!--Capire il Machine Learning (parte 2)-->
<!--<small>11 Nov 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/11/10/machine-learning-intro/">-->
<!--Capire il Machine Learning (parte 1)-->
<!--<small>10 Nov 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/11/10/machine-learning-PARTE3/">-->
<!--Capire il Machine Learning (parte 1)-->
<!--<small>10 Nov 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
@ -228,33 +255,6 @@ Alcuni <a href="https://trac.torproject.org/projects/tor/wiki/doc/GoodBadISPs" t
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/07/05/arduino_keyboard/">-->
<!--Arduino Uno as HID keyboard-->
<!--<small>05 Jul 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/05/16/lifehacks2/">-->
<!--Lifehacks (2)-->
<!--<small>16 May 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/05/15/genetic-alg/">-->
<!--Interpolation using a genetic algorithm-->
<!--<small>15 May 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--</ul>-->
<!--</div>-->
@ -590,6 +590,86 @@ Alcuni <a href="https://trac.torproject.org/projects/tor/wiki/doc/GoodBadISPs" t

View file

@ -119,7 +119,7 @@
<a class="sidebar-nav-item" href="/feed.xml">RSS</a>
<a class="sidebar-nav-item" href="http://francescomecca.eu:3000">Personal Git</a>
<a class="sidebar-nav-item" href="http://francescomecca.eu:3000/explore/repos">Personal Git</a>
<span class="sidebar-nav-item" href="" >Powered by Jekyll and Hyde</span>
</nav>
@ -163,6 +163,33 @@ L&#8217;opera si trova a Berlino.</p>
<!--<related-posts />-->
<!--<h2>Related Posts</h2>-->
<!--<ul class="related-posts">-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/11/11/machine-learning-PARTE2/">-->
<!--Capire il Machine Learning (parte 2)-->
<!--<small>11 Nov 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/11/10/machine-learning-intro/">-->
<!--Capire il Machine Learning (parte 1)-->
<!--<small>10 Nov 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/11/10/machine-learning-PARTE3/">-->
<!--Capire il Machine Learning (parte 1)-->
<!--<small>10 Nov 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
@ -182,33 +209,6 @@ L&#8217;opera si trova a Berlino.</p>
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/07/05/arduino_keyboard/">-->
<!--Arduino Uno as HID keyboard-->
<!--<small>05 Jul 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/05/16/lifehacks2/">-->
<!--Lifehacks (2)-->
<!--<small>16 May 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/05/15/genetic-alg/">-->
<!--Interpolation using a genetic algorithm-->
<!--<small>15 May 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--</ul>-->
<!--</div>-->
@ -304,6 +304,26 @@ L&#8217;opera si trova a Berlino.</p>

View file

@ -119,7 +119,7 @@
<a class="sidebar-nav-item" href="/feed.xml">RSS</a>
<a class="sidebar-nav-item" href="http://francescomecca.eu:3000">Personal Git</a>
<a class="sidebar-nav-item" href="http://francescomecca.eu:3000/explore/repos">Personal Git</a>
<span class="sidebar-nav-item" href="" >Powered by Jekyll and Hyde</span>
</nav>
@ -217,6 +217,33 @@
<!--<related-posts />-->
<!--<h2>Related Posts</h2>-->
<!--<ul class="related-posts">-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/11/11/machine-learning-PARTE2/">-->
<!--Capire il Machine Learning (parte 2)-->
<!--<small>11 Nov 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/11/10/machine-learning-intro/">-->
<!--Capire il Machine Learning (parte 1)-->
<!--<small>10 Nov 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/11/10/machine-learning-PARTE3/">-->
<!--Capire il Machine Learning (parte 1)-->
<!--<small>10 Nov 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
@ -236,33 +263,6 @@
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/07/05/arduino_keyboard/">-->
<!--Arduino Uno as HID keyboard-->
<!--<small>05 Jul 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/05/16/lifehacks2/">-->
<!--Lifehacks (2)-->
<!--<small>16 May 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/05/15/genetic-alg/">-->
<!--Interpolation using a genetic algorithm-->
<!--<small>15 May 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--</ul>-->
<!--</div>-->
@ -358,6 +358,26 @@

View file

@ -119,7 +119,7 @@
<a class="sidebar-nav-item" href="/feed.xml">RSS</a>
<a class="sidebar-nav-item" href="http://francescomecca.eu:3000">Personal Git</a>
<a class="sidebar-nav-item" href="http://francescomecca.eu:3000/explore/repos">Personal Git</a>
<span class="sidebar-nav-item" href="" >Powered by Jekyll and Hyde</span>
</nav>
@ -165,6 +165,33 @@ L&#8217;attacco avviene attraverso l&#8217;uso di codice Javascript e analizza l
<!--<related-posts />-->
<!--<h2>Related Posts</h2>-->
<!--<ul class="related-posts">-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/11/11/machine-learning-PARTE2/">-->
<!--Capire il Machine Learning (parte 2)-->
<!--<small>11 Nov 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/11/10/machine-learning-intro/">-->
<!--Capire il Machine Learning (parte 1)-->
<!--<small>10 Nov 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/11/10/machine-learning-PARTE3/">-->
<!--Capire il Machine Learning (parte 1)-->
<!--<small>10 Nov 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
@ -184,33 +211,6 @@ L&#8217;attacco avviene attraverso l&#8217;uso di codice Javascript e analizza l
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/07/05/arduino_keyboard/">-->
<!--Arduino Uno as HID keyboard-->
<!--<small>05 Jul 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/05/16/lifehacks2/">-->
<!--Lifehacks (2)-->
<!--<small>16 May 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/05/15/genetic-alg/">-->
<!--Interpolation using a genetic algorithm-->
<!--<small>15 May 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--</ul>-->
<!--</div>-->
@ -306,6 +306,26 @@ L&#8217;attacco avviene attraverso l&#8217;uso di codice Javascript e analizza l

View file

@ -119,7 +119,7 @@
<a class="sidebar-nav-item" href="/feed.xml">RSS</a>
<a class="sidebar-nav-item" href="http://francescomecca.eu:3000">Personal Git</a>
<a class="sidebar-nav-item" href="http://francescomecca.eu:3000/explore/repos">Personal Git</a>
<span class="sidebar-nav-item" href="" >Powered by Jekyll and Hyde</span>
</nav>
@ -253,6 +253,33 @@
<!--<related-posts />-->
<!--<h2>Related Posts</h2>-->
<!--<ul class="related-posts">-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/11/11/machine-learning-PARTE2/">-->
<!--Capire il Machine Learning (parte 2)-->
<!--<small>11 Nov 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/11/10/machine-learning-intro/">-->
<!--Capire il Machine Learning (parte 1)-->
<!--<small>10 Nov 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/11/10/machine-learning-PARTE3/">-->
<!--Capire il Machine Learning (parte 1)-->
<!--<small>10 Nov 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
@ -272,33 +299,6 @@
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/07/05/arduino_keyboard/">-->
<!--Arduino Uno as HID keyboard-->
<!--<small>05 Jul 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/05/16/lifehacks2/">-->
<!--Lifehacks (2)-->
<!--<small>16 May 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/05/15/genetic-alg/">-->
<!--Interpolation using a genetic algorithm-->
<!--<small>15 May 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--</ul>-->
<!--</div>-->
@ -394,6 +394,26 @@

View file

@ -119,7 +119,7 @@
<a class="sidebar-nav-item" href="/feed.xml">RSS</a>
<a class="sidebar-nav-item" href="http://francescomecca.eu:3000">Personal Git</a>
<a class="sidebar-nav-item" href="http://francescomecca.eu:3000/explore/repos">Personal Git</a>
<span class="sidebar-nav-item" href="" >Powered by Jekyll and Hyde</span>
</nav>
@ -175,6 +175,33 @@ Secondo alcuni amministartori del sito, tra cui OptimusCrime, Boneless vendette
<!--<related-posts />-->
<!--<h2>Related Posts</h2>-->
<!--<ul class="related-posts">-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/11/11/machine-learning-PARTE2/">-->
<!--Capire il Machine Learning (parte 2)-->
<!--<small>11 Nov 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/11/10/machine-learning-intro/">-->
<!--Capire il Machine Learning (parte 1)-->
<!--<small>10 Nov 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/11/10/machine-learning-PARTE3/">-->
<!--Capire il Machine Learning (parte 1)-->
<!--<small>10 Nov 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
@ -194,33 +221,6 @@ Secondo alcuni amministartori del sito, tra cui OptimusCrime, Boneless vendette
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/07/05/arduino_keyboard/">-->
<!--Arduino Uno as HID keyboard-->
<!--<small>05 Jul 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/05/16/lifehacks2/">-->
<!--Lifehacks (2)-->
<!--<small>16 May 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/05/15/genetic-alg/">-->
<!--Interpolation using a genetic algorithm-->
<!--<small>15 May 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--</ul>-->
<!--</div>-->
@ -316,6 +316,26 @@ Secondo alcuni amministartori del sito, tra cui OptimusCrime, Boneless vendette

View file

@ -119,7 +119,7 @@
<a class="sidebar-nav-item" href="/feed.xml">RSS</a>
<a class="sidebar-nav-item" href="http://francescomecca.eu:3000">Personal Git</a>
<a class="sidebar-nav-item" href="http://francescomecca.eu:3000/explore/repos">Personal Git</a>
<span class="sidebar-nav-item" href="" >Powered by Jekyll and Hyde</span>
</nav>
@ -227,6 +227,33 @@ Estimates of the current size of the body of federal criminal law vary. It has b
<!--<related-posts />-->
<!--<h2>Related Posts</h2>-->
<!--<ul class="related-posts">-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/11/11/machine-learning-PARTE2/">-->
<!--Capire il Machine Learning (parte 2)-->
<!--<small>11 Nov 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/11/10/machine-learning-intro/">-->
<!--Capire il Machine Learning (parte 1)-->
<!--<small>10 Nov 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/11/10/machine-learning-PARTE3/">-->
<!--Capire il Machine Learning (parte 1)-->
<!--<small>10 Nov 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
@ -246,33 +273,6 @@ Estimates of the current size of the body of federal criminal law vary. It has b
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/07/05/arduino_keyboard/">-->
<!--Arduino Uno as HID keyboard-->
<!--<small>05 Jul 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/05/16/lifehacks2/">-->
<!--Lifehacks (2)-->
<!--<small>16 May 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/05/15/genetic-alg/">-->
<!--Interpolation using a genetic algorithm-->
<!--<small>15 May 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--</ul>-->
<!--</div>-->
@ -305,6 +305,195 @@ Estimates of the current size of the body of federal criminal law vary. It has b
@ -610,95 +799,6 @@ Estimates of the current size of the body of federal criminal law vary. It has b

View file

@ -119,7 +119,7 @@
<a class="sidebar-nav-item" href="/feed.xml">RSS</a>
<a class="sidebar-nav-item" href="http://francescomecca.eu:3000">Personal Git</a>
<a class="sidebar-nav-item" href="http://francescomecca.eu:3000/explore/repos">Personal Git</a>
<span class="sidebar-nav-item" href="" >Powered by Jekyll and Hyde</span>
</nav>
@ -193,6 +193,33 @@ In questo modo ed attraverso i cookie Facebook riesce a riunire la maggior parte
<!--<related-posts />-->
<!--<h2>Related Posts</h2>-->
<!--<ul class="related-posts">-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/11/11/machine-learning-PARTE2/">-->
<!--Capire il Machine Learning (parte 2)-->
<!--<small>11 Nov 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/11/10/machine-learning-intro/">-->
<!--Capire il Machine Learning (parte 1)-->
<!--<small>10 Nov 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/11/10/machine-learning-PARTE3/">-->
<!--Capire il Machine Learning (parte 1)-->
<!--<small>10 Nov 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
@ -212,33 +239,6 @@ In questo modo ed attraverso i cookie Facebook riesce a riunire la maggior parte
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/07/05/arduino_keyboard/">-->
<!--Arduino Uno as HID keyboard-->
<!--<small>05 Jul 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/05/16/lifehacks2/">-->
<!--Lifehacks (2)-->
<!--<small>16 May 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/05/15/genetic-alg/">-->
<!--Interpolation using a genetic algorithm-->
<!--<small>15 May 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--</ul>-->
<!--</div>-->
@ -974,6 +974,186 @@ In questo modo ed attraverso i cookie Facebook riesce a riunire la maggior parte

View file

@ -119,7 +119,7 @@
<a class="sidebar-nav-item" href="/feed.xml">RSS</a>
<a class="sidebar-nav-item" href="http://francescomecca.eu:3000">Personal Git</a>
<a class="sidebar-nav-item" href="http://francescomecca.eu:3000/explore/repos">Personal Git</a>
<span class="sidebar-nav-item" href="" >Powered by Jekyll and Hyde</span>
</nav>
@ -242,6 +242,33 @@
<!--<related-posts />-->
<!--<h2>Related Posts</h2>-->
<!--<ul class="related-posts">-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/11/11/machine-learning-PARTE2/">-->
<!--Capire il Machine Learning (parte 2)-->
<!--<small>11 Nov 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/11/10/machine-learning-intro/">-->
<!--Capire il Machine Learning (parte 1)-->
<!--<small>10 Nov 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/11/10/machine-learning-PARTE3/">-->
<!--Capire il Machine Learning (parte 1)-->
<!--<small>10 Nov 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
@ -261,33 +288,6 @@
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/07/05/arduino_keyboard/">-->
<!--Arduino Uno as HID keyboard-->
<!--<small>05 Jul 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/05/16/lifehacks2/">-->
<!--Lifehacks (2)-->
<!--<small>16 May 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/05/15/genetic-alg/">-->
<!--Interpolation using a genetic algorithm-->
<!--<small>15 May 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--</ul>-->
<!--</div>-->
@ -383,6 +383,26 @@

View file

@ -119,7 +119,7 @@
<a class="sidebar-nav-item" href="/feed.xml">RSS</a>
<a class="sidebar-nav-item" href="http://francescomecca.eu:3000">Personal Git</a>
<a class="sidebar-nav-item" href="http://francescomecca.eu:3000/explore/repos">Personal Git</a>
<span class="sidebar-nav-item" href="" >Powered by Jekyll and Hyde</span>
</nav>
@ -165,6 +165,33 @@ Il payload è un tipo di shellcode, ovvero un piccolo pezzo di codice, che sfrut
<!--<related-posts />-->
<!--<h2>Related Posts</h2>-->
<!--<ul class="related-posts">-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/11/11/machine-learning-PARTE2/">-->
<!--Capire il Machine Learning (parte 2)-->
<!--<small>11 Nov 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/11/10/machine-learning-intro/">-->
<!--Capire il Machine Learning (parte 1)-->
<!--<small>10 Nov 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/11/10/machine-learning-PARTE3/">-->
<!--Capire il Machine Learning (parte 1)-->
<!--<small>10 Nov 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
@ -184,33 +211,6 @@ Il payload è un tipo di shellcode, ovvero un piccolo pezzo di codice, che sfrut
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/07/05/arduino_keyboard/">-->
<!--Arduino Uno as HID keyboard-->
<!--<small>05 Jul 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/05/16/lifehacks2/">-->
<!--Lifehacks (2)-->
<!--<small>16 May 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/05/15/genetic-alg/">-->
<!--Interpolation using a genetic algorithm-->
<!--<small>15 May 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--</ul>-->
<!--</div>-->
@ -306,6 +306,26 @@ Il payload è un tipo di shellcode, ovvero un piccolo pezzo di codice, che sfrut

View file

@ -119,7 +119,7 @@
<a class="sidebar-nav-item" href="/feed.xml">RSS</a>
<a class="sidebar-nav-item" href="http://francescomecca.eu:3000">Personal Git</a>
<a class="sidebar-nav-item" href="http://francescomecca.eu:3000/explore/repos">Personal Git</a>
<span class="sidebar-nav-item" href="" >Powered by Jekyll and Hyde</span>
</nav>
@ -167,6 +167,33 @@
<!--<related-posts />-->
<!--<h2>Related Posts</h2>-->
<!--<ul class="related-posts">-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/11/11/machine-learning-PARTE2/">-->
<!--Capire il Machine Learning (parte 2)-->
<!--<small>11 Nov 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/11/10/machine-learning-intro/">-->
<!--Capire il Machine Learning (parte 1)-->
<!--<small>10 Nov 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/11/10/machine-learning-PARTE3/">-->
<!--Capire il Machine Learning (parte 1)-->
<!--<small>10 Nov 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
@ -186,33 +213,6 @@
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/07/05/arduino_keyboard/">-->
<!--Arduino Uno as HID keyboard-->
<!--<small>05 Jul 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/05/16/lifehacks2/">-->
<!--Lifehacks (2)-->
<!--<small>16 May 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/05/15/genetic-alg/">-->
<!--Interpolation using a genetic algorithm-->
<!--<small>15 May 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--</ul>-->
<!--</div>-->
@ -308,6 +308,26 @@

View file

@ -119,7 +119,7 @@
<a class="sidebar-nav-item" href="/feed.xml">RSS</a>
<a class="sidebar-nav-item" href="http://francescomecca.eu:3000">Personal Git</a>
<a class="sidebar-nav-item" href="http://francescomecca.eu:3000/explore/repos">Personal Git</a>
<span class="sidebar-nav-item" href="" >Powered by Jekyll and Hyde</span>
</nav>
@ -217,6 +217,33 @@
<!--<related-posts />-->
<!--<h2>Related Posts</h2>-->
<!--<ul class="related-posts">-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/11/11/machine-learning-PARTE2/">-->
<!--Capire il Machine Learning (parte 2)-->
<!--<small>11 Nov 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/11/10/machine-learning-intro/">-->
<!--Capire il Machine Learning (parte 1)-->
<!--<small>10 Nov 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/11/10/machine-learning-PARTE3/">-->
<!--Capire il Machine Learning (parte 1)-->
<!--<small>10 Nov 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
@ -236,33 +263,6 @@
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/07/05/arduino_keyboard/">-->
<!--Arduino Uno as HID keyboard-->
<!--<small>05 Jul 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/05/16/lifehacks2/">-->
<!--Lifehacks (2)-->
<!--<small>16 May 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/05/15/genetic-alg/">-->
<!--Interpolation using a genetic algorithm-->
<!--<small>15 May 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--</ul>-->
<!--</div>-->
@ -358,6 +358,26 @@

View file

@ -119,7 +119,7 @@
<a class="sidebar-nav-item" href="/feed.xml">RSS</a>
<a class="sidebar-nav-item" href="http://francescomecca.eu:3000">Personal Git</a>
<a class="sidebar-nav-item" href="http://francescomecca.eu:3000/explore/repos">Personal Git</a>
<span class="sidebar-nav-item" href="" >Powered by Jekyll and Hyde</span>
</nav>
@ -204,6 +204,33 @@ I dati sono la risposta economica a: “Iscriviti, e&#8217; gratis e lo sarà se
<!--<related-posts />-->
<!--<h2>Related Posts</h2>-->
<!--<ul class="related-posts">-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/11/11/machine-learning-PARTE2/">-->
<!--Capire il Machine Learning (parte 2)-->
<!--<small>11 Nov 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/11/10/machine-learning-intro/">-->
<!--Capire il Machine Learning (parte 1)-->
<!--<small>10 Nov 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/11/10/machine-learning-PARTE3/">-->
<!--Capire il Machine Learning (parte 1)-->
<!--<small>10 Nov 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
@ -223,33 +250,6 @@ I dati sono la risposta economica a: “Iscriviti, e&#8217; gratis e lo sarà se
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/07/05/arduino_keyboard/">-->
<!--Arduino Uno as HID keyboard-->
<!--<small>05 Jul 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/05/16/lifehacks2/">-->
<!--Lifehacks (2)-->
<!--<small>16 May 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/05/15/genetic-alg/">-->
<!--Interpolation using a genetic algorithm-->
<!--<small>15 May 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--</ul>-->
<!--</div>-->
@ -745,6 +745,126 @@ I dati sono la risposta economica a: “Iscriviti, e&#8217; gratis e lo sarà se

View file

@ -119,7 +119,7 @@
<a class="sidebar-nav-item" href="/feed.xml">RSS</a>
<a class="sidebar-nav-item" href="http://francescomecca.eu:3000">Personal Git</a>
<a class="sidebar-nav-item" href="http://francescomecca.eu:3000/explore/repos">Personal Git</a>
<span class="sidebar-nav-item" href="" >Powered by Jekyll and Hyde</span>
</nav>
@ -194,6 +194,33 @@
<!--<related-posts />-->
<!--<h2>Related Posts</h2>-->
<!--<ul class="related-posts">-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/11/11/machine-learning-PARTE2/">-->
<!--Capire il Machine Learning (parte 2)-->
<!--<small>11 Nov 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/11/10/machine-learning-intro/">-->
<!--Capire il Machine Learning (parte 1)-->
<!--<small>10 Nov 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/11/10/machine-learning-PARTE3/">-->
<!--Capire il Machine Learning (parte 1)-->
<!--<small>10 Nov 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
@ -213,33 +240,6 @@
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/07/05/arduino_keyboard/">-->
<!--Arduino Uno as HID keyboard-->
<!--<small>05 Jul 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/05/16/lifehacks2/">-->
<!--Lifehacks (2)-->
<!--<small>16 May 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/05/15/genetic-alg/">-->
<!--Interpolation using a genetic algorithm-->
<!--<small>15 May 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--</ul>-->
<!--</div>-->
@ -335,6 +335,26 @@

View file

@ -119,7 +119,7 @@
<a class="sidebar-nav-item" href="/feed.xml">RSS</a>
<a class="sidebar-nav-item" href="http://francescomecca.eu:3000">Personal Git</a>
<a class="sidebar-nav-item" href="http://francescomecca.eu:3000/explore/repos">Personal Git</a>
<span class="sidebar-nav-item" href="" >Powered by Jekyll and Hyde</span>
</nav>
@ -183,6 +183,33 @@ echo Complete.
<!--<related-posts />-->
<!--<h2>Related Posts</h2>-->
<!--<ul class="related-posts">-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/11/11/machine-learning-PARTE2/">-->
<!--Capire il Machine Learning (parte 2)-->
<!--<small>11 Nov 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/11/10/machine-learning-intro/">-->
<!--Capire il Machine Learning (parte 1)-->
<!--<small>10 Nov 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/11/10/machine-learning-PARTE3/">-->
<!--Capire il Machine Learning (parte 1)-->
<!--<small>10 Nov 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
@ -202,33 +229,6 @@ echo Complete.
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/07/05/arduino_keyboard/">-->
<!--Arduino Uno as HID keyboard-->
<!--<small>05 Jul 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/05/16/lifehacks2/">-->
<!--Lifehacks (2)-->
<!--<small>16 May 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/05/15/genetic-alg/">-->
<!--Interpolation using a genetic algorithm-->
<!--<small>15 May 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--</ul>-->
<!--</div>-->
@ -564,6 +564,86 @@ echo Complete.

View file

@ -119,7 +119,7 @@
<a class="sidebar-nav-item" href="/feed.xml">RSS</a>
<a class="sidebar-nav-item" href="http://francescomecca.eu:3000">Personal Git</a>
<a class="sidebar-nav-item" href="http://francescomecca.eu:3000/explore/repos">Personal Git</a>
<span class="sidebar-nav-item" href="" >Powered by Jekyll and Hyde</span>
</nav>
@ -154,6 +154,33 @@
<!--<related-posts />-->
<!--<h2>Related Posts</h2>-->
<!--<ul class="related-posts">-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/11/11/machine-learning-PARTE2/">-->
<!--Capire il Machine Learning (parte 2)-->
<!--<small>11 Nov 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/11/10/machine-learning-intro/">-->
<!--Capire il Machine Learning (parte 1)-->
<!--<small>10 Nov 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/11/10/machine-learning-PARTE3/">-->
<!--Capire il Machine Learning (parte 1)-->
<!--<small>10 Nov 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
@ -173,33 +200,6 @@
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/07/05/arduino_keyboard/">-->
<!--Arduino Uno as HID keyboard-->
<!--<small>05 Jul 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/05/16/lifehacks2/">-->
<!--Lifehacks (2)-->
<!--<small>16 May 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/05/15/genetic-alg/">-->
<!--Interpolation using a genetic algorithm-->
<!--<small>15 May 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--</ul>-->
<!--</div>-->
@ -295,6 +295,26 @@

View file

@ -119,7 +119,7 @@
<a class="sidebar-nav-item" href="/feed.xml">RSS</a>
<a class="sidebar-nav-item" href="http://francescomecca.eu:3000">Personal Git</a>
<a class="sidebar-nav-item" href="http://francescomecca.eu:3000/explore/repos">Personal Git</a>
<span class="sidebar-nav-item" href="" >Powered by Jekyll and Hyde</span>
</nav>
@ -196,6 +196,33 @@
<!--<related-posts />-->
<!--<h2>Related Posts</h2>-->
<!--<ul class="related-posts">-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/11/11/machine-learning-PARTE2/">-->
<!--Capire il Machine Learning (parte 2)-->
<!--<small>11 Nov 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/11/10/machine-learning-intro/">-->
<!--Capire il Machine Learning (parte 1)-->
<!--<small>10 Nov 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/11/10/machine-learning-PARTE3/">-->
<!--Capire il Machine Learning (parte 1)-->
<!--<small>10 Nov 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
@ -215,33 +242,6 @@
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/07/05/arduino_keyboard/">-->
<!--Arduino Uno as HID keyboard-->
<!--<small>05 Jul 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/05/16/lifehacks2/">-->
<!--Lifehacks (2)-->
<!--<small>16 May 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/05/15/genetic-alg/">-->
<!--Interpolation using a genetic algorithm-->
<!--<small>15 May 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--</ul>-->
<!--</div>-->
@ -577,6 +577,86 @@

View file

@ -119,7 +119,7 @@
<a class="sidebar-nav-item" href="/feed.xml">RSS</a>
<a class="sidebar-nav-item" href="http://francescomecca.eu:3000">Personal Git</a>
<a class="sidebar-nav-item" href="http://francescomecca.eu:3000/explore/repos">Personal Git</a>
<span class="sidebar-nav-item" href="" >Powered by Jekyll and Hyde</span>
</nav>
@ -136,6 +136,225 @@
<div class="content container">
<div class="posts">
<div class="post">
<h1 class="post-title">
<a href="/index.php/archives/82">
Bitwhisper, dove anche la rete non arriva
</a>
</h1>
<span class="post-date">09 Apr 2015</span>
<div style="line-height:100%;margin-bottom:0;">
<span style="font-family:Arial, Helvetica, sans-serif;">Lo scorso 26 marzo 4 ricercatori della Ben Gurion University in Israele hanno sviluppato Bitwhisper, un inconsueto malware per PC che dimostra la possibilita` di penetrare macchine anche non connesse in rete.</span>
</div>
<div style="line-height:100%;margin-bottom:0;">
<span style="font-family:Arial, Helvetica, sans-serif;"><br /></span>
</div>
<div style="line-height:100%;margin-bottom:0;">
<span style="font-family:Arial, Helvetica, sans-serif;">In informatica si usa il termine <i>air-gapped device </i>per denotare due terminali fisicamente separati, uno dei quali e` connesso ad internet mentre l&#8217;altro e` completamente offline: tutto il lavoro sensibile viene svolto sul dispositivo offline e successivamente trasferito (magari con un drive usb) sul pc connesso e pubblicato in rete.</span>
</div>
<div style="line-height:100%;margin-bottom:0;">
<span style="font-family:Arial, Helvetica, sans-serif;">Queste precauzioni si basano sul presupposto che un pc non connesso ad internet sia sicuro da vettori di attacco, e che anche se infetto non puo` ricevere comandi.</span>
</div>
<div style="line-height:100%;margin-bottom:0;">
<span style="font-family:Arial, Helvetica, sans-serif;"><br /></span>
</div>
<div style="line-height:100%;margin-bottom:0;">
<span style="font-family:Arial, Helvetica, sans-serif;">Bitwhisper e` la dimostrazione che e` possibile fare breccia in questi sistemi attraverso lo sfruttamento dei sensori termici installati in ogni macchina per prevenire il surriscaldamento.</span>
</div>
<div style="line-height:100%;margin-bottom:0;">
<span style="font-family:Arial, Helvetica, sans-serif;"><br /></span>
</div>
<div class="separator" style="clear:both;text-align:center;">
<span style="font-family:Arial, Helvetica, sans-serif;">[youtube=http://www.youtube.com/watch?v=EWRk51oB-1Y&w=320&h=266]</span>
</div>
<div style="line-height:100%;margin-bottom:0;">
<span style="font-family:Arial, Helvetica, sans-serif;"><br /></span>
</div>
<div style="line-height:100%;margin-bottom:0;">
<span style="font-family:Arial, Helvetica, sans-serif;">In questo video viene illustrato l&#8217;attacco: innanzitutto in entrambi i pc e` installato il malware che attraverso l&#8217;uso del processore, della scheda video e opzionalmente di tutte le altre componenti hardware innalza in maniera controllata la temperatura della macchina dove e` installata, aspettando che l&#8217;altra macchina percepisca con i propri sensori questo innalzamento e trasmetta indietro un segnale di conferma. Il sistema di comunicazione e` molto simile al codice morse e un innalzamento di un grado puo` venir tradotto in un bit di segnale.</span>
</div>
<div style="line-height:100%;margin-bottom:0;">
<span style="font-family:Arial, Helvetica, sans-serif;">Tramite questa tecnica e` possibile trasmettere 8 bit di segnale all&#8217;ora a PC ad un massimo di 40 centimetri di distanza. In questo modo viene azionato il piccolo lancia missili giocattolo sul PC di destra.</span>
</div>
<div style="line-height:100%;margin-bottom:0;">
<span style="font-family:Arial, Helvetica, sans-serif;"><br /></span>
</div>
<div style="line-height:100%;margin-bottom:0;">
<span style="font-family:Arial, Helvetica, sans-serif;">Nonostante in precedenza siano state mostrate tecniche piu` efficaci per penetrare dispositivi <i>air-gapped </i>come ad esempio segnali radio, frequenze non udibili e segnali elettromagnetici, Bitwhisper e` il piu` interessante perche` il primo a permettere non solo l&#8217;intercettazioni di dati, ma anche l&#8217;invio di segnali. Una macchina infettata da Bitwhisper puo` effettuare ping e handshake oltre che ricevere comandi ed e` molto difficile da tracciare in quanto le fluttuazioni di calore sono minime e molto frequenti nei computer.</span>
</div>
<div style="line-height:100%;margin-bottom:0;">
<span style="font-family:Arial, Helvetica, sans-serif;"><br /></span>
</div>
<div style="line-height:100%;margin-bottom:0;">
<span style="font-family:Arial, Helvetica, sans-serif;">Al momento non ci sono prove credibili che questo exploit sia stato usato da cracker o da agenzie di spionaggio, ma in precedenza -stando ai leak di Snowden- l&#8217;NSA ha sfruttato tecniche di infezione anche piu` sofisticate per <a href="http://www.nytimes.com/2014/01/15/us/nsa-effort-pries-open-computers-not-connected-to-internet.html?_r=1" target="_blank">iniettare malware</a> in PC non connessi in rete delle centrali iraniane.</span>
</div>
<div style="line-height:100%;margin-bottom:0;">
<span style="font-family:Arial, Helvetica, sans-serif;"><br /></span>
<div style="text-align:right;">
<span style="font-family:Arial, Helvetica, sans-serif;">Francesco Mecca</span>
</div>
</div>
<p><span style="font-family:Arial, Helvetica, sans-serif;"><br /></span> </p>
<div style="line-height:100%;margin-bottom:0;">
<span style="font-family:Arial, Helvetica, sans-serif;"><br /></span>
</div>
</div>
<div class="post">
<h1 class="post-title">
<a href="/index.php/archives/85">
Il Big Bang dei Big Data
</a>
</h1>
<span class="post-date">06 Apr 2015</span>
<p>“Perche` sto puntando tutto sul deep learning? Perche&#8217; sara` il nuovo Big Bang”</p>
<p>Cosi` ha parlato il CEO di Nvidia Jensen Huang il 3 marzo scorso alla sua <a href="http://www.gputechconf.com/">GTC 2015</a>.<br>
L&#8217;attenzione di Huang si e` concentrata sul deep learning e come le deep neural networks negli ultimi anni abbiano compiuto progressi impressionanti tali da superare il cervello umano nei test di analisi immagine.</p>
<p>Molta della ricerca negli ultimi anni, in particolare dal 2012 ad oggi, si sta concentrando sul programmare algoritmi tali da consentire alle intelligenze artificiali di processare dati in maniera gerarchica e organizzata tramite l&#8217;apprendimento progressivo dei livelli di rappresentazione.<br>
E` una scienza che acquista un&#8217;importanza fondamentale, anzi diventa un requisito necessario nel campo dei Big Data.</p>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left:auto;margin-right:auto;text-align:center;">
<tr>
<td style="text-align:center;">
<a href="http://francescomecca.eu/wp-content/uploads/2015/08/gratis.png" style="margin-left:auto;margin-right:auto;"><img border="0" src="https://images-blogger-opensocial.googleusercontent.com/gadgets/proxy?url=http%3A%2F%2F2.bp.blogspot.com%2F-71lrlU3SeNo%2FVSGcwmXDJKI%2FAAAAAAAAAAc%2F8CVzgBBpV7Y%2Fs1600%2Fgratis.PNG&container=blogger&gadget=a&rewriteMime=image%2F*" /></a>
</td>
</tr>
<tr>
<td class="tr-caption" style="text-align:center;">
gratis: il paradosso del Web 2.0
</td>
</tr>
</table>
<p>Come possono mantenersi in vita aziende come Google, Facebook, Twitter e moltissime altre che gratuitamente offrono agli utenti finali servizi?<br>
I dati sono la risposta economica a: “Iscriviti, e&#8217; gratis e lo sarà sempre” e lo sfruttamento di essi rende possibile le ricerche di marketing, la progettazione di gadget e sopratutto le previsioni a breve termine di trend economici, flessioni di mercato, insomma il futuro della societa&#8217;.</p>
<p>I dati cosi` raccolti pero` nella maggior parte dei casi sono non organizzati e a risolvere questo dilemma interviene il deep learning che si occupa di gestire, ordinare ed integrare i dati provenienti dalle sorgenti analizzate. Perfezionare il deep learning significa poter integrare e comprendere ogni singolo flusso di dati all&#8217;interno del grande mare dei big data.</p>
<p>Jensen continua il suo discorso affermando che: “Oggi c&#8217;e` una mole di dati troppo estesa per poter comprendere cosa stia accadendo. Un super computer grazie al deep learning potra` in futuro offrirci previsioni quanto piu` attendibili, previsioni che l&#8217;uomo non potrebbe nemmeno percepire. In futuro grazie a tutti i dispositivi connessi in internet avremo dati di qualsiasi genere. Anche quelli piu&#8217; impensabili: in base ai dati raccolti potremo dire, per esempio, se in un determinato luogo si sta svolgendo una rapina od una sommossa.”</p>
<p>Questa informazione per me rappresenta un lapsus ed e` l&#8217;aspetto piu` critico dei big data: l&#8217;abbattimento di ogni riservatezza personale tramite la concessione indiscriminata di dati abbatte ogni limite alla possibilita` di tecnocontrollo sul presente e sul futuro.</p>
<p><a href="https://hbr.org/2014/11/with-big-data-comes-big-responsibility">With Big Data Comes Big Responsibility</a> afferma l&#8217;Harvard Business Center; ma davvero tutti i nostri dati generati dalle nostre attivita&#8217; in rete sono esclusivamente proprieta` dei giganti del Web? E&#8217; giusto che anche le nostre attivita` al di fuori del Web, come i nostri <a href="http://www.bloomberg.com/bw/articles/2013-08-08/your-medical-records-are-for-sale">registri medici</a> siano venduti e sfruttati commercialmente o a fini di controllo sociale? </p>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left:auto;margin-right:auto;text-align:center;">
<tr>
<td style="text-align:center;">
<a href="http://francescomecca.eu/wp-content/uploads/2015/08/9276962702_57d9bfddd4_o.jpg" style="margin-left:auto;margin-right:auto;"><img border="0" height="400" src="http://francescomecca.eu/wp-content/uploads/2015/08/9276962702_57d9bfddd4_o.jpg?w=300" width="400" /></a>
</td>
</tr>
<tr>
<td class="tr-caption" style="text-align:center;">
<div class="attribution-info">
<a class="owner-name truncate" href="https://www.flickr.com/photos/adactio/" title="Go to Jeremy Keith's photostream">Jeremy Keith</a>
<div class="view follow-view clear-float photo-attribution" id="yui_3_16_0_1_1434565601596_716">
<span class="relationship"> </span>
</div>
</div>
</td>
</tr>
</table>
<p>E` inutile chiedere regolamentazione ai governi che purtroppo sembrano ignorare le implicazioni etiche di queste pratiche oppressive, anzi in alcuni casi le sfruttano in proprio favore. E` utopico pensare di poter convincere le aziende a rinunciare a questi dati che rappresentano la loro linfa vitale.</p>
<p>La via di uscita sembra essere una sola, anche se poco desiderabile: <a href="http://en.wikipedia.org/wiki/Opt-out">l&#8217;opt out</a> ovvero la rinuncia consapevole da parte dell&#8217;utente al servizio.</p>
<div style="text-align:right;">
Francesco Mecca
</div>
</div>
<div class="post">
<h1 class="post-title">
<a href="/index.php/archives/87">
Ci presentiamo
</a>
</h1>
<span class="post-date">04 Apr 2015</span>
<p><span style="font-family: inherit;">Salve a tutti,</span></p>
<div style="line-height: 100%; margin-bottom: 0;">
<span style="font-family: inherit;">siamo tre studenti della facolta` di ingegneria del Politecnico di Torino ed abbiamo aperto questo blog come strumento di giudizio per il corso di </span><a href="http://rivoluzionedigitale.polito.it/" target="_blank" rel="nofollow"><span style="font-family: inherit;">Rivoluzione Digitale</span></a><span style="font-family: inherit;">.</span><br /> <span style="font-family: inherit;"><br /> </span>
</div>
<div style="line-height: 100%; margin-bottom: 0;">
</div>
<div style="line-height: 100%; margin-bottom: 0;">
<span style="font-family: inherit;">Aprire un blog per noi e` un gesto molto significativo: siamo nati nel 1995 percio` possiamo essere considerati “nativi digitali” ed abbiamo assistito ad una sempre piu` larga, per certe prospettive globale espansione del mondo di internet e dei computer e toccato con mano le conseguenze che questa espansione ha avuto sulla societa`. </span>
</div>
<div style="line-height: 100%; margin-bottom: 0;">
<span style="font-family: inherit;">Sia che si pensi alle BBS degli anni 70 o ai social networks di oggi il Web e` stato ed e` tutt&#8217;ora in gran parte il prodotto dei contenuti degli utenti che ogni volta che compiono un azione online lasciano tracce digitali e anche inconsapevolmente permettono l&#8217;espansione del mondo digitale.</span>
</div>
<p>&nbsp;</p>
<div style="line-height: 100%; margin-bottom: 0;">
<span style="font-family: inherit;">Il blog e` lo strumento che noi nativi digitali consapevoli abbiamo scelto per lasciare la nostra impronta in rete con lo stesso spirito con cui si accende una lanterna cinese, con la consapevolezza che ogni strumento di comunicazione e attivismo e` un piccolo passo verso un mondo piu&#8217; democratico.</span>
</div>
<p>&nbsp;</p>
<div style="line-height: 100%; margin-bottom: 0;">
<span style="font-family: inherit;">I temi che ci proponiamo di trattare riguardano il mondo del digitale ma con particolare attenzione all&#8217;anonimato e alla privacy, parole che per alcuni non hanno piu` senso nel mondo del Web 2.0.</span><br /> <span style="font-family: inherit;"><br /> </span>
</div>
<div style="line-height: 100%; margin-bottom: 0;">
<span style="font-family: inherit;">Per noi queste due parole invece sono sempre piu` rilevanti, anzi fondamentali per costituire l&#8217;identita` di un cittadino digitale, di un netizen non miope e ben attento agli abusi da parte dei poteri forti nell&#8217;era digitale.</span>
</div>
<div style="line-height: 100%; margin-bottom: 0;">
<span style="font-family: inherit;">Ci opponiamo alle parole dell&#8217;onorevole Tiziano Motti che sostiene che: “L&#8217;anonimato in rete e&#8217; il contrario della democrazia che la rete stessa offre”, anzi crediamo che sia un presupposto necessario per una societa` libera e condizione necessaria per un uso autonomo e partecipativo della rete.</span><br /> <span style="font-family: inherit;"><br /> </span>
</div>
<div style="line-height: 100%; margin-bottom: 0;">
<span style="font-family: inherit;">Siate liberi di contattarci sul profilo twitter del gruppo <span lang="en-US"><a href="https://twitter.com/caughtin_thenet">@caughtin_thenet</a>o anche sui nostri profili personali <a href="https://twitter.com/EugenioCorso">@EugenioCorso</a> <a href="https://twitter.com/GabrieleCorso95">@GabrieleCorso95</a> e <a href="https://twitter.com/FrancescoMecca">@FrancescoMecca</a> .</span></span>
</div>
<div style="line-height: 100%; margin-bottom: 0;">
<span style="font-family: inherit;"><span lang="en-US">Siamo disponibili via email all&#8217;indirizzo pescewanda3 [at] gmail.com : </span><span lang="en-US">e` possibile usare la <a href="http://caught-in-thenet.blogspot.it/2015/03/chiave-pgp.html" target="_blank">nostra chiave PGP</a> per scriverci.</span></span>
</div>
<p>&nbsp;</p>
<div style="line-height: 100%; margin-bottom: 0;" align="RIGHT">
<span style="font-family: inherit;">Francesco Mecca, Eugenio Corso, Gabriele Corso</span>
</div>
</div>
<div class="post">
<h1 class="post-title">
<a href="/index.php/archives/90">

View file

@ -119,7 +119,7 @@
<a class="sidebar-nav-item" href="/feed.xml">RSS</a>
<a class="sidebar-nav-item" href="http://francescomecca.eu:3000">Personal Git</a>
<a class="sidebar-nav-item" href="http://francescomecca.eu:3000/explore/repos">Personal Git</a>
<span class="sidebar-nav-item" href="" >Powered by Jekyll and Hyde</span>
</nav>
@ -136,6 +136,196 @@
<div class="content container">
<div class="posts">
<div class="post">
<h1 class="post-title">
<a href="/pescewanda/2016/07/05/arduino_keyboard/">
Arduino Uno as HID keyboard
</a>
</h1>
<span class="post-date">05 Jul 2016</span>
<p>Turin is the hometown of Arduino. I have been at the <a href="http://fablabtorino.org/">fablab</a> multiple times but I had to come all the way to America to get my hands on a simple Arduino Uno.</p>
<p>For 60$ I bought a cheap (but still good!) mechanical keyboard by Qisan, a clone of the Arduino Uno and a USB host shield.</p>
<p>Given that is 3 years since I have been using a dvorak layout and it&#39;s a pain to change layout on every machine that you have to use.
You can imagine that given this three pieces of hardware together I put together an hardware key mapper for the keyboard.</p>
<p>I have never had experience with Arduino before but it was not that difficult to make it do simple things like blinking the led or send signal through to a serial monitor.</p>
<p>It took me half an hour to wear down all my excitement: the USB Host Shield library broke all the compatibility with the similar project I found wandering online.</p>
<p>In particular <a href="http://hunt.net.nz/users/darran/">this blog</a> has the most precious information and the guy wrote a HID driver that allows the Uno to be seen as a HID device.</p>
<p>It was a noob error but I didn&#39;t checked the various arduino alternatives and I discovered late that just a few have the HID capabilities that would make this work easier. I should have bought and Arduino Due or Leonardo maybe.</p>
<p>Also, the various guides about flashing with a dfu tool are specific to older models of the Uno and it took me some time to figure the name of the new components so that I could flash a new firmware.</p>
<h2 id="a-small-journey-in-the-arduino-world">A small journey in the Arduino world</h2>
<p>It feels pretentious to write a little guide for this kind of work, given also the fact that I have roughly 10 hours of experience with the Arduino. But the other resources are really outdated so I hope this piece can be useful to someone out there.</p>
<p>All the files I have used today are on <a href="http://francescomecca.eu:3000/pesceWanda/arduino_HID_keyboard">my repos</a> and I included also an outdated version of the USB Host Shield library that I used.</p>
<p>The original code from this <a href="http://hunt.net.nz/users/darran/weblog/c6f35/Arduino_USB_Keyboard_Passthrough.html">blog post</a> works like a charm but just as a simple passthrough.</p>
<p>It was not difficult at all to examine the code:
during each loop of the iteration a char array gets read from the shield and if it is contains information Arduino with the Serial.Write method send the data to the host.</p>
<p>The buffer array is a simple array of length 8 and the first two positions are reserved. In particular the first one represent the various modifier keys.</p>
<p>The dvorak layout has the same pairs as the US layout but eventually I got used to having the &#39;@&#39; where at the same place of &#39;Q&#39; (qwerty) and &#39;&quot;&#39; over the &#39;2&#39;.
Also, I am an avid vim user (I should thank Simone Basso for that) and I swapped some keys on the new 65 keys keyboard.
The modifier bit at the beginning of the array came in handy for my code.</p>
<p>An hardware key remapper is a simple but long switch C statement but I decided to consider also the modifier bit: in this way certain keys like the Window (UGH!) key is mapped to a different layer of keys.
I got all the codes for the HID events <a href="http://www.freebsddiary.org/APC/usb_hid_usages.php">here</a>.</p>
<p>The process of flashing the code on the Uno goes like this:</p>
<ul>
<li>write the looping code;</li>
<li>push it to the Arduino using the IDE;</li>
<li>shortcircuit the board so that it goes in DFU mode;</li>
<li>flash the .hex HID firmware;</li>
<li>try your code;</li>
<li>repeat until it&#39;s right.</li>
</ul>
<p><img src="/wp-content/uploads/2016/IMG_20160706_011304.jpg" alt="Everything fits in one picture"></p>
<h2 id="flashing-the-firmware">Flashing the firmware</h2>
<p>The firmware is in my repo but I got it from (here)[<a href="http://hunt.net.nz/users/darran/weblog/a6d52/Arduino_UNO_Keyboard_HID_version_02.html">http://hunt.net.nz/users/darran/weblog/a6d52/Arduino_UNO_Keyboard_HID_version_02.html</a>].
The tool I used to flash it is dfu-programmer (version 0.62).
Every time you want to flash a new firmware the Arduino must be put in DFU mode (you can see the difference with lsusb).
To do that simply create a shortcircuit using a small metal wire on the two pins near the reset button and a led will blink.
This <a href="https://www.youtube.com/watch?v=E8XyRwXQr8Q">video</a> shows the method briefly (no real need for a jumper).
The commands are the following and there is no risk to brick the Uno:</p>
<div class="highlight"><pre><code class="language-" data-lang="">dfu-programmer atmega16u2 erase
dfu-programmer atmega16u2 flash Arduino-keyboard-0.2.hex
dfu-programmer atmega16u2 reset
</code></pre></div>
<p>After each flashing the device needs to be disconnected once. Of course you can flash the original firmware back. It is included in my repo or on the official ones.</p>
<p><img src="/wp-content/uploads/2016/IMG_20160706_011143.jpg" alt="Arduino and the shield"></p>
<p>That&#39;s it, as you can see is not difficult at all. The worst part is gathering the various info that are left dormant in blogs or forums.</p>
</div>
<div class="post">
<h1 class="post-title">
<a href="/pescewanda/2016/05/16/lifehacks2/">
Lifehacks (2)
</a>
</h1>
<span class="post-date">16 May 2016</span>
<ul>
<li><p>If you&#39;re at a party and you don&#39;t know anyone, make it a point to meet the host and introduce yourself. The host can introduce you to other guys/girls and it scores you points.</p></li>
<li><p>Never buy high-end cables, and never buy cables at retail. Cables have higher profit margins than almost everything except extended warranties. Despite what the marketing and sales people will tell you, there is no difference. Need a computer cable? Order it from a wholesaler online. That USB cable that your printer requires will cost you $25 at Staples and $1.50 at Newegg.</p></li>
<li><p>Never quote an entire post unless it&#39;s shorter than the one you write in response.</p></li>
<li><p>Don&#39;t eat food after 6pm.</p></li>
<li><p>In college, always check the library to see if the teacher is using a test bank.</p></li>
</ul>
</div>
<div class="post">
<h1 class="post-title">
<a href="/pescewanda/2016/05/15/genetic-alg/">
Interpolation using a genetic algorithm
</a>
</h1>
<span class="post-date">15 May 2016</span>
<p>This weekend I was in Milan to get a visa and I had the opportunity to work with a friend, Michele, on genetic algorithms.
It was the first time I dig up in such field and it was very exciting.
In this post I want to explain some bits of our work.</p>
<h2 id="a-brief-introduction-to-ga">A brief introduction to GA</h2>
<p>A genetic algorithm is a search/optimization algorithm that uses an heuristic approach to reduce the search space and evolve gradually to a solution.</p>
<h4 id="population">Population</h4>
<p>It is an algorithm that has its root in the theory of natural selectioni by Charles Darwin.
The main components of a GA are:</p>
<ul>
<li>the population, that concentrate all the available solutions at a given time;</li>
<li>the fitness function, that gives an approximation of the quality of the solution codified by a given member of the population.</li>
</ul>
<p>In a GA the first thing to do is to generate a population.</p>
<p>A population is a group of objects with given attributes, usually a string, and they contains in some form the solution (usually inside a string); the first population is randomly generated and contains a big number of solutions, but not every solution (this is not a bruteforce approach).</p>
<p>After this step the fitness functions evaluates the quality of every solution that a given member carries: the evaluation should be considered from a bottom up point of view.</p>
<h4 id="reproduction">Reproduction</h4>
<p>Now, as in Darwin&#39;s theory of evolution, the member of the population are going to &quot;reproduce&quot;: two members are going to be coupled to generate a new member of the second generation and every child member will contain a solution that is the product of the original genes of their parent members.</p>
<p>This time the reproduction of the population into a second one is not entirely random. The fitness function gives us an approximation of the quality of every gene that a member carries and by the rule of the &quot;survival by the fittest&quot; the probability that a member is going to reproduce with another one is proportional to the quality of its genes.</p>
<p>When we have a second generation of members we can recur on our GA and generate a third generation. From this point we can recur until we converge to a solution that is common to every member, or at least that is suited to our needs.</p>
<h4 id="mutation">Mutation</h4>
<p>Actually, in some cases, a mutation function can be added, so that, like in real world, some times the genes are &quot;scrambled&quot; indipendently from the fitness function.</p>
<p>There is more to a GA, for example we could talk about possible ways of storing the genes inside a member or when to use mutation, anyway I want to stop here and continue with an analysis of my problem.</p>
<h2 id="interpolating-a-function-using-a-ga">Interpolating a function using a GA</h2>
<p>Me and Michele decided to spend some time developing a little python script to explore GA capabilities and we decided to interpolate some points on a cartesian plane.</p>
<p>Our program, that is available <a href="http://francescomecca.eu:3000/pesceWanda/interpol_genetica">here</a> uses a class to define the various members of the population and a string for the genes, a class as well for the points on the plane.</p>
<p>The fitness function is not as precise as it should be because this is only a proof of concept:</p>
<figure class="highlight"><pre><code class="language-python" data-lang="python"><span class="n">mutationProbability</span> <span class="o">=</span> <span class="mf">0.1</span>
<span class="n">rangeLimit</span> <span class="o">=</span> <span class="mi">5</span>
<span class="k">def</span> <span class="nf">fitness</span><span class="p">(</span><span class="n">item</span><span class="p">,</span> <span class="n">pointList</span><span class="p">,</span> <span class="n">n</span><span class="p">):</span>
<span class="n">value</span> <span class="o">=</span> <span class="mi">0</span>
<span class="k">for</span> <span class="n">p</span> <span class="ow">in</span> <span class="n">pointList</span><span class="p">:</span>
<span class="n">y</span> <span class="o">=</span> <span class="mi">0</span>
<span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">n</span><span class="p">):</span>
<span class="n">y</span> <span class="o">+=</span> <span class="n">item</span><span class="o">.</span><span class="n">gene</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="o">*</span> <span class="nb">pow</span><span class="p">(</span><span class="n">p</span><span class="o">.</span><span class="n">x</span><span class="p">,</span> <span class="n">i</span><span class="p">)</span>
<span class="n">result</span> <span class="o">=</span> <span class="mi">1</span> <span class="o">-</span> <span class="p">(</span><span class="nb">abs</span> <span class="p">(</span><span class="n">p</span><span class="o">.</span><span class="n">y</span> <span class="o">-</span> <span class="n">y</span><span class="p">)</span> <span class="o">/</span> <span class="n">rangeLimit</span><span class="p">)</span>
<span class="k">if</span> <span class="n">result</span> <span class="o">&lt;</span> <span class="mi">0</span><span class="p">:</span>
<span class="n">result</span> <span class="o">=</span> <span class="mi">0</span>
<span class="n">value</span> <span class="o">+=</span> <span class="n">result</span>
<span class="k">return</span> <span class="n">value</span> <span class="o">/</span> <span class="n">n</span></code></pre></figure>
<p>item is just a member of the population, poinList is the list of points and n is the number of points (n - 1 is the grade of the function).</p>
<div class="highlight"><pre><code class="language-" data-lang="">for i in range(n):
y += item.gene[i] * pow(p.x, i)
</code></pre></div>
<p>this piece of code gives us the value of the function encoded in the genes in the points of pointList;</p>
<div class="highlight"><pre><code class="language-" data-lang="">result = 1 - (abs (p.y - y) / rangeLimit)
if result &lt; 0:
result = 0
</code></pre></div>
<p>while here the script stores 1 - the previous result because if the GA has yield a good result there should be distance = 0 from the function evaluated and the points; If this is the case, the fitness function should attribute the highest possible reproduction probability for that member.
At the end the fitness function returns the total value over the number of points evaluated.</p>
<p>As you can see this fitness function is by no means an optimal one. The reproduction probability is higher for functions that crosses some points and are really distant from others rather than for functions that are closer to every point but crosses none.
Anyway for simple cases the GA yields good results, as an example for points (0 0), (1 4), (2 9) one of the member with the highest reproduction probability has this function in its genes:</p>
<div class="highlight"><pre><code class="language-" data-lang="">-0.0487839869993989 * x^0 + 4.600339125358671 * x^1 + -0.2780958075230644 * x^2
</code></pre></div>
<p>that crosses this points: (0 -0.0488), (1 4.2735), (2 8.0395) given 80 iterations, initial population of 600 members and a two digit approximation.</p>
<p>For a more precise computation a higher population size and a really high number of iterations should be used.</p>
</div>
<div class="post">
<h1 class="post-title">
<a href="/pescewanda/2016/05/03/satoshisignature/">
@ -327,108 +517,6 @@ Ogni altra prova è discutibile e non necessaria.</p>
</div>
<div class="post">
<h1 class="post-title">
<a href="/pescewanda/2016/04/17/kpd-player/">
Kyuss Music Player
</a>
</h1>
<span class="post-date">17 Apr 2016</span>
<p>For a long time I have been using Clementine music player on my workstation. Recently I reinstalled Gentoo on my desktop and I wanted to avoid installing QT libraries of any sort.
So I switched to <a href="https://www.musicpd.org/">mpd</a> and I have fallen in love with it. It is very flexible, fast and enriched by a lot of community software.
For some weeks I used mpc client as my primary client for mpd but I was not satisfied with it. Even though it is pretty minimal but packed with every feature mpd permits, the search feels uncomfortable because is case sensitive and need artist, album, etc. flags before any entry.
This is why I have written kpd together with Francesco Gallà</p>
<h2 id="kyuss-player-client">Kyuss Player Client</h2>
<p>kpd is an acronym for Kyuss Player Client because we have been listening only to <a href="https://en.wikipedia.org/wiki/Kyuss">Kyuss</a> while programming this client.
We have reimplemented the search functions to suit our habits. No more case sensitive, optional &#39;artist, album, title&#39; flags.
kpd accepts only one string as the search argument and implements optional filter arguments to narrow the search in a grep like way.
I welcome you to read the <a href="http://francescomecca.eu:3000/pesceWanda/kpd">readme</a> in my git to understand how the search works.
Anyway in this post I want to explain bits of the code.</p>
<h3 id="main">Main</h3>
<p>The main kpd file invoked when the command is run in the console is kpd.py
The most interesting part in this file IMHO is these lines:</p>
<figure class="highlight"><pre><code class="language-python" data-lang="python">
<span class="k">for</span> <span class="n">el</span> <span class="ow">in</span> <span class="n">argsOrder</span><span class="p">:</span>
<span class="k">if</span> <span class="n">dictArgs</span><span class="p">[</span><span class="n">el</span><span class="p">]</span> <span class="o">!=</span> <span class="bp">False</span><span class="p">:</span>
<span class="n">client</span><span class="o">.</span><span class="n">update_status</span> <span class="p">()</span>
<span class="n">methodToCall</span> <span class="o">=</span> <span class="nb">getattr</span> <span class="p">(</span><span class="n">util</span><span class="p">,</span> <span class="n">el</span><span class="p">)</span>
<span class="n">retUtil</span> <span class="o">=</span> <span class="n">methodToCall</span> <span class="p">(</span><span class="n">client</span><span class="p">,</span> <span class="n">dictArgs</span><span class="p">[</span><span class="n">el</span><span class="p">],</span> <span class="n">searchRes</span><span class="p">)</span></code></pre></figure>
<p>argsOrder is a list of the arguments on the command line in the order the user wrote them.
kpd uses a dictionary to store for every argument the corrispective string for the function that will be invoked using getattr.
In this way any argument can be added to the main file without writing any other line of code. WE used this method to avoid using switch alike solutions.</p>
<h3 id="util">Util</h3>
<p>The util.py source file is a pretty easy source file to read. It contains every function that can be invoked by command line arguments. Every function has the same &#39;prototypes&#39; so that they can be called using the method explained above.
To implement <code>no-output</code> and <code>output</code> function I have used a class:
to suppress the output on the console the program assign to <em>sys.stdout</em> a dummy class that save the original stdout on a variable and replaces write and flush functions so that they are just pass. and no output is written.
To permit output after suppression the program just reassing the original value to sys.stdout.</p>
<h3 id="database-search">Database Search</h3>
<p>In MPDdatabase.py we have written the search functions.
Originally we intended to just read and import in a dictionary the whole mpd database that is stored compressed in the home directory.
This list of dictionaries stores every entry related to the song and if any of them matches the search string or the filter string (considering also flags if any) the related song is printed on the output and saved in a list so it can be added by the add function.
This approach result very efficent in term of precision but it lacked speed. For a database of about 77 thousand songs (about 550k lines) a search query could last almost 2 seconds.
To improve the speed of the search we used the pickle module. The pickle module allows kpd to dump the data structure used to store the database in memory on a file that can be read easily by using the <code>pickle.load</code> function.
In this way the search lasts about 40 milliseconds on the same database that wastes about 16MiB of memory on disk.</p>
<h2 id="conclusion">Conclusion</h2>
<p>This was really fun. It was our first hand on python project and the first real program we have written since we started learning programming at our university.
I discovered that programming allows me to relax and that is really cool to have custom software for activities you do every day.
The source for our program is stored in my git <a href="http://francescomecca.eu:3000/pesceWanda/kpd">here</a> and you are free to modify it.</p>
</div>
<div class="post">
<h1 class="post-title">
<a href="/pescewanda/2016/04/10/short-lesson-from-reddit/">
Bright Father
</a>
</h1>
<span class="post-date">10 Apr 2016</span>
<blockquote>
<p>My father used to tell us ridiculous false information all the time. The catch was if we could catch one out and prove him wrong he&#39;d give us a dollar. As we got older it would got a little less outrageous, but we&#39;d still get that dollar if we could prove it. Looking back it was a good way to get us to think for ourselves.</p>
</blockquote>
<p><a href="https://www.reddit.com/user/zedoriah">zedoria</a> on <a href="https://www.reddit.com/r/AskReddit/comments/u1ili/what_did_school_teach_you_that_was_blatantly/?ref=search_posts">reddit</a></p>
</div>
<div class="post">
<h1 class="post-title">
<a href="/pescewanda/2016/04/10/lifehacks/">
Lifehacks
</a>
</h1>
<span class="post-date">10 Apr 2016</span>
<ul>
<li><p>Even though you may be nervous about talking to random people, the worst you can get is &quot;Go away&quot;.</p></li>
<li><p>Do not buy your girlfriend or wife flowers in an attempt to make nice after you pissed her off. Every
time she looks at the flowers, she will just be reminded that you pissed her off, unless she has the
memory span of a goldfish.</p></li>
<li><p>To keep lettuce fresh for days longer, wrap it in paper towels instead of inside a plastic bag, it
works very well.</p></li>
<li><p>Cubes of sugar in biscuit barrels help the biscuits stay crisp.</p></li>
<li><p>To clear your sinuses, eat a lot of wasabi. It will hurt tons, but your sinuses clear almost
instantaneously.</p></li>
</ul>
</div>
</div>
<div class="pagination">

View file

@ -119,7 +119,7 @@
<a class="sidebar-nav-item" href="/feed.xml">RSS</a>
<a class="sidebar-nav-item" href="http://francescomecca.eu:3000">Personal Git</a>
<a class="sidebar-nav-item" href="http://francescomecca.eu:3000/explore/repos">Personal Git</a>
<span class="sidebar-nav-item" href="" >Powered by Jekyll and Hyde</span>
</nav>
@ -136,6 +136,108 @@
<div class="content container">
<div class="posts">
<div class="post">
<h1 class="post-title">
<a href="/pescewanda/2016/04/17/kpd-player/">
Kyuss Music Player
</a>
</h1>
<span class="post-date">17 Apr 2016</span>
<p>For a long time I have been using Clementine music player on my workstation. Recently I reinstalled Gentoo on my desktop and I wanted to avoid installing QT libraries of any sort.
So I switched to <a href="https://www.musicpd.org/">mpd</a> and I have fallen in love with it. It is very flexible, fast and enriched by a lot of community software.
For some weeks I used mpc client as my primary client for mpd but I was not satisfied with it. Even though it is pretty minimal but packed with every feature mpd permits, the search feels uncomfortable because is case sensitive and need artist, album, etc. flags before any entry.
This is why I have written kpd together with Francesco Gallà</p>
<h2 id="kyuss-player-client">Kyuss Player Client</h2>
<p>kpd is an acronym for Kyuss Player Client because we have been listening only to <a href="https://en.wikipedia.org/wiki/Kyuss">Kyuss</a> while programming this client.
We have reimplemented the search functions to suit our habits. No more case sensitive, optional &#39;artist, album, title&#39; flags.
kpd accepts only one string as the search argument and implements optional filter arguments to narrow the search in a grep like way.
I welcome you to read the <a href="http://francescomecca.eu:3000/pesceWanda/kpd">readme</a> in my git to understand how the search works.
Anyway in this post I want to explain bits of the code.</p>
<h3 id="main">Main</h3>
<p>The main kpd file invoked when the command is run in the console is kpd.py
The most interesting part in this file IMHO is these lines:</p>
<figure class="highlight"><pre><code class="language-python" data-lang="python">
<span class="k">for</span> <span class="n">el</span> <span class="ow">in</span> <span class="n">argsOrder</span><span class="p">:</span>
<span class="k">if</span> <span class="n">dictArgs</span><span class="p">[</span><span class="n">el</span><span class="p">]</span> <span class="o">!=</span> <span class="bp">False</span><span class="p">:</span>
<span class="n">client</span><span class="o">.</span><span class="n">update_status</span> <span class="p">()</span>
<span class="n">methodToCall</span> <span class="o">=</span> <span class="nb">getattr</span> <span class="p">(</span><span class="n">util</span><span class="p">,</span> <span class="n">el</span><span class="p">)</span>
<span class="n">retUtil</span> <span class="o">=</span> <span class="n">methodToCall</span> <span class="p">(</span><span class="n">client</span><span class="p">,</span> <span class="n">dictArgs</span><span class="p">[</span><span class="n">el</span><span class="p">],</span> <span class="n">searchRes</span><span class="p">)</span></code></pre></figure>
<p>argsOrder is a list of the arguments on the command line in the order the user wrote them.
kpd uses a dictionary to store for every argument the corrispective string for the function that will be invoked using getattr.
In this way any argument can be added to the main file without writing any other line of code. WE used this method to avoid using switch alike solutions.</p>
<h3 id="util">Util</h3>
<p>The util.py source file is a pretty easy source file to read. It contains every function that can be invoked by command line arguments. Every function has the same &#39;prototypes&#39; so that they can be called using the method explained above.
To implement <code>no-output</code> and <code>output</code> function I have used a class:
to suppress the output on the console the program assign to <em>sys.stdout</em> a dummy class that save the original stdout on a variable and replaces write and flush functions so that they are just pass. and no output is written.
To permit output after suppression the program just reassing the original value to sys.stdout.</p>
<h3 id="database-search">Database Search</h3>
<p>In MPDdatabase.py we have written the search functions.
Originally we intended to just read and import in a dictionary the whole mpd database that is stored compressed in the home directory.
This list of dictionaries stores every entry related to the song and if any of them matches the search string or the filter string (considering also flags if any) the related song is printed on the output and saved in a list so it can be added by the add function.
This approach result very efficent in term of precision but it lacked speed. For a database of about 77 thousand songs (about 550k lines) a search query could last almost 2 seconds.
To improve the speed of the search we used the pickle module. The pickle module allows kpd to dump the data structure used to store the database in memory on a file that can be read easily by using the <code>pickle.load</code> function.
In this way the search lasts about 40 milliseconds on the same database that wastes about 16MiB of memory on disk.</p>
<h2 id="conclusion">Conclusion</h2>
<p>This was really fun. It was our first hand on python project and the first real program we have written since we started learning programming at our university.
I discovered that programming allows me to relax and that is really cool to have custom software for activities you do every day.
The source for our program is stored in my git <a href="http://francescomecca.eu:3000/pesceWanda/kpd">here</a> and you are free to modify it.</p>
</div>
<div class="post">
<h1 class="post-title">
<a href="/pescewanda/2016/04/10/short-lesson-from-reddit/">
Bright Father
</a>
</h1>
<span class="post-date">10 Apr 2016</span>
<blockquote>
<p>My father used to tell us ridiculous false information all the time. The catch was if we could catch one out and prove him wrong he&#39;d give us a dollar. As we got older it would got a little less outrageous, but we&#39;d still get that dollar if we could prove it. Looking back it was a good way to get us to think for ourselves.</p>
</blockquote>
<p><a href="https://www.reddit.com/user/zedoriah">zedoria</a> on <a href="https://www.reddit.com/r/AskReddit/comments/u1ili/what_did_school_teach_you_that_was_blatantly/?ref=search_posts">reddit</a></p>
</div>
<div class="post">
<h1 class="post-title">
<a href="/pescewanda/2016/04/10/lifehacks/">
Lifehacks
</a>
</h1>
<span class="post-date">10 Apr 2016</span>
<ul>
<li><p>Even though you may be nervous about talking to random people, the worst you can get is &quot;Go away&quot;.</p></li>
<li><p>Do not buy your girlfriend or wife flowers in an attempt to make nice after you pissed her off. Every
time she looks at the flowers, she will just be reminded that you pissed her off, unless she has the
memory span of a goldfish.</p></li>
<li><p>To keep lettuce fresh for days longer, wrap it in paper towels instead of inside a plastic bag, it
works very well.</p></li>
<li><p>Cubes of sugar in biscuit barrels help the biscuits stay crisp.</p></li>
<li><p>To clear your sinuses, eat a lot of wasabi. It will hurt tons, but your sinuses clear almost
instantaneously.</p></li>
</ul>
</div>
<div class="post">
<h1 class="post-title">
<a href="/pescewanda/2016/04/02/buridan_donkey/">
@ -230,214 +332,6 @@ Finally I put a link to the archive, my github page and the atom feed on the sid
</div>
<div class="post">
<h1 class="post-title">
<a href="/index.php/archives/207">
The Buridan&#8217;s donkey paradox
</a>
</h1>
<span class="post-date">20 Sep 2015</span>
<p style="text-align: left;">
The Buridan&#8217;s donkey is an illustration of a paradox regarding the philosophy of moral determinism and free will.
</p>
<p style="text-align: left;">
The paradox shows an hypothetical situation in which a donkey searching for food is caught in the middle of two equally appealing stacks of hay located at the same distance from the donkey. Because the donkey has no real reason to choose one over the other he dies of starvation.
</p>
<p><a href="https://en.wikipedia.org/wiki/Buridan&#x27;s_ass"><img class="aligncenter size-full wp-image-209" src="http://francescomecca.eu/wp-content/uploads/2015/09/Deliberations_of_Congress.jpg" alt="Deliberations_of_Congress" width="431" height="425" srcset="http://francescomecca.eu/wp-content/uploads/2015/09/Deliberations_of_Congress-300x296.jpg 300w, http://francescomecca.eu/wp-content/uploads/2015/09/Deliberations_of_Congress.jpg 431w" sizes="(max-width: 431px) 100vw, 431px" /></a>I have decided to write a cli program that chooses for me when I can&#8217;t make up my mind.</p>
<p>The program is written in C++ and when invoked along with two or more arguments it puts them in a vector and then changes the order randomly.</p>
<figure class="highlight"><pre><code class="language-c" data-lang="c"><span class="cp">#include &lt;iostream&gt;
#include &lt;vector&gt;
#include &lt;algorithm&gt;
#include &lt;random&gt;
#include &lt;string&gt;
#include &lt;sys/poll.h&gt;
</span><span class="n">using</span> <span class="n">namespace</span> <span class="n">std</span><span class="p">;</span>
<span class="k">struct</span> <span class="n">pollfd</span> <span class="n">stdin_poll</span> <span class="o">=</span> <span class="p">{</span>
<span class="p">.</span><span class="n">fd</span> <span class="o">=</span> <span class="n">fileno</span> <span class="p">(</span><span class="n">stdin</span><span class="p">),</span> <span class="p">.</span><span class="n">events</span> <span class="o">=</span> <span class="n">POLLIN</span>
<span class="p">};</span>
<span class="kt">void</span> <span class="nf">read_from_piped_input</span> <span class="p">(</span><span class="n">vector</span><span class="o">&lt;</span><span class="n">string</span><span class="o">&gt;&amp;</span> <span class="n">lst</span><span class="p">)</span>
<span class="p">{</span>
<span class="n">string</span> <span class="n">x</span><span class="p">;</span>
<span class="k">while</span> <span class="p">(</span><span class="n">getline</span> <span class="p">(</span><span class="n">cin</span><span class="p">,</span> <span class="n">x</span><span class="p">))</span> <span class="p">{</span>
<span class="n">lst</span><span class="p">.</span><span class="n">push_back</span> <span class="p">(</span><span class="n">x</span><span class="p">);</span>
<span class="p">}</span>
<span class="p">}</span>
<span class="kt">void</span> <span class="nf">read_from_arguments</span> <span class="p">(</span><span class="k">const</span> <span class="kt">int</span><span class="o">&amp;</span> <span class="n">argc</span><span class="p">,</span> <span class="kt">char</span><span class="o">*</span> <span class="n">argv</span><span class="p">[],</span> <span class="n">vector</span><span class="o">&lt;</span><span class="n">string</span><span class="o">&gt;&amp;</span> <span class="n">lst</span><span class="p">)</span>
<span class="p">{</span>
<span class="k">if</span> <span class="p">(</span><span class="n">argc</span> <span class="o">==</span> <span class="mi">1</span><span class="p">)</span> <span class="p">{</span>
<span class="n">cout</span> <span class="o">&lt;&lt;</span> <span class="s">"Usage: asino [string] [string] ..."</span> <span class="o">&lt;&lt;</span> <span class="n">endl</span><span class="p">;</span>
<span class="n">exit</span><span class="p">;</span>
<span class="p">}</span>
<span class="k">for</span> <span class="p">(</span><span class="n">vector</span><span class="o">&lt;</span><span class="n">string</span><span class="o">&gt;::</span><span class="n">size_type</span> <span class="n">i</span> <span class="o">=</span> <span class="mi">1</span><span class="p">;</span> <span class="n">i</span> <span class="o">&lt;</span> <span class="n">argc</span><span class="p">;</span> <span class="o">++</span><span class="n">i</span><span class="p">)</span> <span class="p">{</span>
<span class="n">lst</span><span class="p">.</span><span class="n">push_back</span> <span class="p">(</span><span class="n">argv</span><span class="p">[</span><span class="n">i</span><span class="p">]);</span>
<span class="p">}</span>
<span class="p">}</span>
<span class="kt">int</span> <span class="nf">main</span> <span class="p">(</span><span class="kt">int</span> <span class="n">argc</span><span class="p">,</span> <span class="kt">char</span><span class="o">*</span> <span class="n">argv</span><span class="p">[])</span>
<span class="p">{</span>
<span class="n">vector</span><span class="o">&lt;</span><span class="n">string</span><span class="o">&gt;</span> <span class="n">lst</span><span class="p">;</span>
<span class="kt">int</span> <span class="n">poll_ret</span> <span class="o">=</span> <span class="n">poll</span> <span class="p">(</span><span class="o">&amp;</span><span class="n">stdin_poll</span><span class="p">,</span> <span class="mi">1</span><span class="p">,</span> <span class="mi">0</span><span class="p">);</span>
<span class="k">if</span> <span class="p">(</span><span class="n">poll_ret</span> <span class="o">&gt;</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
<span class="n">read_from_piped_input</span> <span class="p">(</span><span class="n">lst</span><span class="p">);</span>
<span class="p">}</span>
<span class="k">else</span> <span class="p">{</span>
<span class="n">read_from_arguments</span> <span class="p">(</span><span class="n">argc</span><span class="p">,</span> <span class="n">argv</span><span class="p">,</span> <span class="n">lst</span><span class="p">);</span>
<span class="p">}</span>
<span class="n">random_device</span> <span class="n">rd</span><span class="p">;</span>
<span class="n">mt19937</span> <span class="n">m</span><span class="p">(</span><span class="n">rd</span><span class="p">());</span>
<span class="n">shuffle</span> <span class="p">(</span><span class="n">lst</span><span class="p">.</span><span class="n">begin</span> <span class="p">(),</span> <span class="n">lst</span><span class="p">.</span><span class="n">end</span> <span class="p">(),</span> <span class="n">m</span><span class="p">);</span>
<span class="kt">int</span> <span class="n">i</span> <span class="o">=</span> <span class="mi">1</span><span class="p">;</span>
<span class="k">for</span> <span class="p">(</span><span class="n">vector</span><span class="o">&lt;</span><span class="n">string</span><span class="o">&gt;::</span><span class="n">iterator</span> <span class="n">it</span> <span class="o">=</span> <span class="n">lst</span><span class="p">.</span><span class="n">begin</span> <span class="p">();</span> <span class="n">it</span> <span class="o">!=</span> <span class="n">lst</span><span class="p">.</span><span class="n">end</span> <span class="p">();</span> <span class="o">++</span><span class="n">it</span><span class="p">)</span> <span class="p">{</span>
<span class="n">cout</span> <span class="o">&lt;&lt;</span> <span class="n">i</span><span class="o">++</span> <span class="o">&lt;&lt;</span> <span class="s">". "</span> <span class="o">&lt;&lt;</span> <span class="o">*</span><span class="n">it</span> <span class="o">&lt;&lt;</span> <span class="n">endl</span><span class="p">;</span>
<span class="p">}</span>
<span class="p">}</span></code></pre></figure>
<p>I have used the <a href="http://en.cppreference.com/w/cpp/numeric/random/mersenne_twister_engine" target="_blank">Mersenne Twister PRNG</a> just to give it a try.</p>
<p style="text-align: left;">
One of the challenges was to read from stdin instead of arguments when the program is piped after another program in the shell:
</p>
<figure class="highlight"><pre><code class="language-sh" data-lang="sh">ls /media/my_movies/ | buridan</code></pre></figure>
<p>So I have used poll() that checks for a specified amount of time if the selected device (/dev/stdin in my case) can perform I/O operations; in my code:</p>
<figure class="highlight"><pre><code class="language-bash" data-lang="bash">poll <span class="o">(</span>&amp;stdin_poll, 1, 0<span class="o">)</span></code></pre></figure>
<p>I selected the POLLIN as event so poll() only checks if there is data to read, 1 as the number of items in the fds array, 0 milliseconds of timeout because when the program is invoked /dev/stdin may already contain input.</p>
<p>The program should be compiled this way:</p>
<figure class="highlight"><pre><code class="language-bash" data-lang="bash">g++ -std<span class="o">=</span>c++11 ./program.cpp -o output</code></pre></figure>
<p>You are free to reuse this little piece of code as you wish.</p>
<p>EDIT: 02-04-2016
The original idea for the Buridan&#39;s donkey came from my mentor <a href="https://twitter.com/bassosimone">Simone Basso</a> who wrote the original one in haskell.</p>
<p style="text-align: right;">
Francesco Mecca
</p>
</div>
<div class="post">
<h1 class="post-title">
<a href="/index.php/archives/198">
About Perl packages in Gentoo
</a>
</h1>
<span class="post-date">11 Sep 2015</span>
<p>In this post I wish to explain a bit about Perl related ebuilds in Gentoo and how to update from perl-core to virtual/perl without conflicts.</p>
<p>First of all the core distribution of Perl is included in <a href="https://packages.gentoo.org/package/dev-lang/perl">dev-lang/Perl</a> along with <a href="http://perldoc.perl.org/index-modules-A.html">modules</a>.</p>
<p>The <a href="https://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/perl-core/">perl-core category</a> in portage contains ebuilds for perl modules, some of which are included in the core perl distibution. The perl-core ebuilds overrides the perl-core modules such that you can update them without recompiling dev-lang/Perl.</p>
<p>Each perl-core module has a corrensponding virtual/perl-* package. The virtual category is used by portage when emerging to take into account that a module can be either provided by dev-lang/perl package or found in perl-core category.</p>
<p>So, what to do in case of blocks when upgrading your Gentoo machine?</p>
<p>Perl-cleaner is a package provided to get rid of these blocks and to migrate from perl-core to virtual/perl-*.</p>
<pre class="wp-code-highlight prettyprint linenums:1">emerge perl-cleaner
emerge dev-lang/perl
perl-cleaner --all</pre>
<p>if you still have problems when upgrading @world you add a backtrack option</p>
<pre class="wp-code-highlight prettyprint linenums:1">emerge -uDN --backtrack=30 @world</pre>
<p>or you can unmerge all perl-core packages and then finally upgrade world</p>
<pre class="wp-code-highlight prettyprint linenums:1">emerge --unmerge perl-core/*</pre>
<p>This will remove all perl-core packages that virtual/perl-* packages will bring back if needed.</p>
<p style="text-align: right;">
Francesco Mecca
</p>
</div>
<div class="post">
<h1 class="post-title">
<a href="/index.php/archives/177">
56 secondi di celebrita`
</a>
</h1>
<span class="post-date">31 Aug 2015</span>
<p><a href="http://www.mantellini.it/2015/08/26/state-al-riparo/" target="_blank" rel="http://www.mantellini.it/2015/08/26/state-al-riparo/"><img class="aligncenter wp-image-178 size-full" src="http://francescomecca.eu/wp-content/uploads/2015/08/Schermata-2015-08-26-alle-22.29.31.jpg" alt="" width="644" height="533" srcset="http://francescomecca.eu/wp-content/uploads/2015/08/Schermata-2015-08-26-alle-22.29.31-300x248.jpg 300w, http://francescomecca.eu/wp-content/uploads/2015/08/Schermata-2015-08-26-alle-22.29.31.jpg 644w" sizes="(max-width: 644px) 100vw, 644px" /></a></p>
<p>Dura 56 secondi il video di Vester Lee Flanagan che testimonia l&#8217;omicidio in prima persona di due giornalisti in Virginia durante un live broadcast televisivo. Durante l&#8217;inseguimento nel quale si e` tolto la vita Flanagan ha caricato su Twitter e Facebook il video dell&#8217;uccisione in prima persona.</p>
<p>Twitter e Facebook hanno tempestivamente censurato il video e rimosso l&#8217;account dell&#8217;omicida ed alcune emittenti televisive (come SkyTg24) hanno scelto allo stesso modo di non pubblicare il video in diretta.</p>
<h3 id="to-publish-or-not-to-publish">To publish or not to publish?</h3>
<p>E` quindi una decisione giusta quella di non pubblicare il video?</p>
<p><a href="https://stevebuttry.wordpress.com/2015/08/26/media-should-avoid-indulging-attention-seeking-killers/" target="_blank">Steve Buttry sul suo blog</a> si esprime in questo modo:</p>
<blockquote>
<p>1) Someone who attacks during a live telecast is seeking attention. Obviously you need to report the attack, but I would not broadcast the attack or make it available online.</p>
<p>[&#8230;]</p>
<p>4) I see no ethical justification for publishing videos shot by the killer. That is the ultimate in attention-seeking behavior.</p>
<p>5) You can report the mental health issues, gun access issues and other issues that a story presents without publicizing or profiling the killer.</p>
<p>6) My focus would be on the people who were killed or injured. They warrant media attention, not the person who was seeking it.</p>
</blockquote>
<p>1)Una persona che attacca durante una trasmissione in diretta e` alla ricerca di attenzione. Naturalmente si deve rendere noto l&#8217;atto, ma io non lo trasmetterei ne lo pubblicherei online.</p>
<p>[&#8230;]</p>
<p>4) Non vedo giustificazioni etiche per pubblicare il video: e` l&#8217;esempio piu` eclatante di ricerca di attenzioni.</p>
<p>5) Puoi discutere sui problemi mentali, la questione relativa al facile accesso alle armi e tutti gli altri problemi di questa storia senza mostrare o pubblicizzare il killer.</p>
<p>6) Io mi concentrerei sulle persone ferite o uccise. Loro meritano l&#8217;attenzione dei media, non la persona che la cercava.</p>
<h3 id="famoso-in-un-istante">Famoso in un istante</h3>
<p>E` ovvio che Flanagan stesse cercando i suoi 15 minuti di fama con <a href="http://www.theguardian.com/us-news/2015/aug/27/virginia-shooting-in-an-instant-vester-flanagan-broadcast-death-to-the-world" target="_blank">questo atto</a>, ma a mio parere non ci sarebbe riuscito se non sfruttando nuovi strumenti quali lo smartphone e i social network. Molto difficilmente sarebbe riuscito 20 anni fa utilizzando i media tradizionali a filmarsi in prima persona in una situazione del genere e a rendere cosi` tante persone testimoni del suo gesto.</p>
<p>Per questo non mi trovo d&#8217;accordo con Steve Buttry che afferma che il video non andrebbe reso disponibile online. i nuovi media hanno un ruolo diverso nella condivisione dei contenuti e soprattutto nel mantenimento della memoria storica. Un video del genere non aggiunge alcun valore investigativo o giornalistico al caso ma puo` ritenersi utile per analisi differenti, in primis psicologiche, ed ha sicuramente un valore storico (da quanto conosco e` il primo video in prima persona di un omicidio con queste dinamiche).</p>
<h3 id="lo-specchio-nero">Lo specchio nero</h3>
<p>Chi come me e` un grande fan della serie TV <a href="https://en.wikipedia.org/wiki/Black_Mirror_%28TV_series%29" target="_blank">Black Mirror</a> avra` sicuramente ricordato il primo episodio della serie: National Anthem.</p>
<p>Questo episodio e` un&#8217;analisi sottile e dettagliata della natura umana, che di fronte ad eventi che suscitano un cosi` grande clamore sospendono ogni giudizio morale e dimenticano il motivo per cui si trovano a guardare cio` che hanno di fronte.</p>
<p>Allo stesso modo trovo miserevole poter assistere a giornalisti ed emittenti televisive che per attirare spettatori nelle proprie reti mostrano il video integrale.</p>
<p>Come in National Anthem chi ha perpetrato il crimine non ci ha costretto ad essere complici del suo gesto.</p>
<p style="text-align: right;">
Francesco Mecca
</p>
</div>
</div>
<div class="pagination">

View file

@ -119,7 +119,7 @@
<a class="sidebar-nav-item" href="/feed.xml">RSS</a>
<a class="sidebar-nav-item" href="http://francescomecca.eu:3000">Personal Git</a>
<a class="sidebar-nav-item" href="http://francescomecca.eu:3000/explore/repos">Personal Git</a>
<span class="sidebar-nav-item" href="" >Powered by Jekyll and Hyde</span>
</nav>
@ -136,6 +136,214 @@
<div class="content container">
<div class="posts">
<div class="post">
<h1 class="post-title">
<a href="/index.php/archives/207">
The Buridan&#8217;s donkey paradox
</a>
</h1>
<span class="post-date">20 Sep 2015</span>
<p style="text-align: left;">
The Buridan&#8217;s donkey is an illustration of a paradox regarding the philosophy of moral determinism and free will.
</p>
<p style="text-align: left;">
The paradox shows an hypothetical situation in which a donkey searching for food is caught in the middle of two equally appealing stacks of hay located at the same distance from the donkey. Because the donkey has no real reason to choose one over the other he dies of starvation.
</p>
<p><a href="https://en.wikipedia.org/wiki/Buridan&#x27;s_ass"><img class="aligncenter size-full wp-image-209" src="http://francescomecca.eu/wp-content/uploads/2015/09/Deliberations_of_Congress.jpg" alt="Deliberations_of_Congress" width="431" height="425" srcset="http://francescomecca.eu/wp-content/uploads/2015/09/Deliberations_of_Congress-300x296.jpg 300w, http://francescomecca.eu/wp-content/uploads/2015/09/Deliberations_of_Congress.jpg 431w" sizes="(max-width: 431px) 100vw, 431px" /></a>I have decided to write a cli program that chooses for me when I can&#8217;t make up my mind.</p>
<p>The program is written in C++ and when invoked along with two or more arguments it puts them in a vector and then changes the order randomly.</p>
<figure class="highlight"><pre><code class="language-c" data-lang="c"><span class="cp">#include &lt;iostream&gt;
#include &lt;vector&gt;
#include &lt;algorithm&gt;
#include &lt;random&gt;
#include &lt;string&gt;
#include &lt;sys/poll.h&gt;
</span><span class="n">using</span> <span class="n">namespace</span> <span class="n">std</span><span class="p">;</span>
<span class="k">struct</span> <span class="n">pollfd</span> <span class="n">stdin_poll</span> <span class="o">=</span> <span class="p">{</span>
<span class="p">.</span><span class="n">fd</span> <span class="o">=</span> <span class="n">fileno</span> <span class="p">(</span><span class="n">stdin</span><span class="p">),</span> <span class="p">.</span><span class="n">events</span> <span class="o">=</span> <span class="n">POLLIN</span>
<span class="p">};</span>
<span class="kt">void</span> <span class="nf">read_from_piped_input</span> <span class="p">(</span><span class="n">vector</span><span class="o">&lt;</span><span class="n">string</span><span class="o">&gt;&amp;</span> <span class="n">lst</span><span class="p">)</span>
<span class="p">{</span>
<span class="n">string</span> <span class="n">x</span><span class="p">;</span>
<span class="k">while</span> <span class="p">(</span><span class="n">getline</span> <span class="p">(</span><span class="n">cin</span><span class="p">,</span> <span class="n">x</span><span class="p">))</span> <span class="p">{</span>
<span class="n">lst</span><span class="p">.</span><span class="n">push_back</span> <span class="p">(</span><span class="n">x</span><span class="p">);</span>
<span class="p">}</span>
<span class="p">}</span>
<span class="kt">void</span> <span class="nf">read_from_arguments</span> <span class="p">(</span><span class="k">const</span> <span class="kt">int</span><span class="o">&amp;</span> <span class="n">argc</span><span class="p">,</span> <span class="kt">char</span><span class="o">*</span> <span class="n">argv</span><span class="p">[],</span> <span class="n">vector</span><span class="o">&lt;</span><span class="n">string</span><span class="o">&gt;&amp;</span> <span class="n">lst</span><span class="p">)</span>
<span class="p">{</span>
<span class="k">if</span> <span class="p">(</span><span class="n">argc</span> <span class="o">==</span> <span class="mi">1</span><span class="p">)</span> <span class="p">{</span>
<span class="n">cout</span> <span class="o">&lt;&lt;</span> <span class="s">"Usage: asino [string] [string] ..."</span> <span class="o">&lt;&lt;</span> <span class="n">endl</span><span class="p">;</span>
<span class="n">exit</span><span class="p">;</span>
<span class="p">}</span>
<span class="k">for</span> <span class="p">(</span><span class="n">vector</span><span class="o">&lt;</span><span class="n">string</span><span class="o">&gt;::</span><span class="n">size_type</span> <span class="n">i</span> <span class="o">=</span> <span class="mi">1</span><span class="p">;</span> <span class="n">i</span> <span class="o">&lt;</span> <span class="n">argc</span><span class="p">;</span> <span class="o">++</span><span class="n">i</span><span class="p">)</span> <span class="p">{</span>
<span class="n">lst</span><span class="p">.</span><span class="n">push_back</span> <span class="p">(</span><span class="n">argv</span><span class="p">[</span><span class="n">i</span><span class="p">]);</span>
<span class="p">}</span>
<span class="p">}</span>
<span class="kt">int</span> <span class="nf">main</span> <span class="p">(</span><span class="kt">int</span> <span class="n">argc</span><span class="p">,</span> <span class="kt">char</span><span class="o">*</span> <span class="n">argv</span><span class="p">[])</span>
<span class="p">{</span>
<span class="n">vector</span><span class="o">&lt;</span><span class="n">string</span><span class="o">&gt;</span> <span class="n">lst</span><span class="p">;</span>
<span class="kt">int</span> <span class="n">poll_ret</span> <span class="o">=</span> <span class="n">poll</span> <span class="p">(</span><span class="o">&amp;</span><span class="n">stdin_poll</span><span class="p">,</span> <span class="mi">1</span><span class="p">,</span> <span class="mi">0</span><span class="p">);</span>
<span class="k">if</span> <span class="p">(</span><span class="n">poll_ret</span> <span class="o">&gt;</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
<span class="n">read_from_piped_input</span> <span class="p">(</span><span class="n">lst</span><span class="p">);</span>
<span class="p">}</span>
<span class="k">else</span> <span class="p">{</span>
<span class="n">read_from_arguments</span> <span class="p">(</span><span class="n">argc</span><span class="p">,</span> <span class="n">argv</span><span class="p">,</span> <span class="n">lst</span><span class="p">);</span>
<span class="p">}</span>
<span class="n">random_device</span> <span class="n">rd</span><span class="p">;</span>
<span class="n">mt19937</span> <span class="n">m</span><span class="p">(</span><span class="n">rd</span><span class="p">());</span>
<span class="n">shuffle</span> <span class="p">(</span><span class="n">lst</span><span class="p">.</span><span class="n">begin</span> <span class="p">(),</span> <span class="n">lst</span><span class="p">.</span><span class="n">end</span> <span class="p">(),</span> <span class="n">m</span><span class="p">);</span>
<span class="kt">int</span> <span class="n">i</span> <span class="o">=</span> <span class="mi">1</span><span class="p">;</span>
<span class="k">for</span> <span class="p">(</span><span class="n">vector</span><span class="o">&lt;</span><span class="n">string</span><span class="o">&gt;::</span><span class="n">iterator</span> <span class="n">it</span> <span class="o">=</span> <span class="n">lst</span><span class="p">.</span><span class="n">begin</span> <span class="p">();</span> <span class="n">it</span> <span class="o">!=</span> <span class="n">lst</span><span class="p">.</span><span class="n">end</span> <span class="p">();</span> <span class="o">++</span><span class="n">it</span><span class="p">)</span> <span class="p">{</span>
<span class="n">cout</span> <span class="o">&lt;&lt;</span> <span class="n">i</span><span class="o">++</span> <span class="o">&lt;&lt;</span> <span class="s">". "</span> <span class="o">&lt;&lt;</span> <span class="o">*</span><span class="n">it</span> <span class="o">&lt;&lt;</span> <span class="n">endl</span><span class="p">;</span>
<span class="p">}</span>
<span class="p">}</span></code></pre></figure>
<p>I have used the <a href="http://en.cppreference.com/w/cpp/numeric/random/mersenne_twister_engine" target="_blank">Mersenne Twister PRNG</a> just to give it a try.</p>
<p style="text-align: left;">
One of the challenges was to read from stdin instead of arguments when the program is piped after another program in the shell:
</p>
<figure class="highlight"><pre><code class="language-sh" data-lang="sh">ls /media/my_movies/ | buridan</code></pre></figure>
<p>So I have used poll() that checks for a specified amount of time if the selected device (/dev/stdin in my case) can perform I/O operations; in my code:</p>
<figure class="highlight"><pre><code class="language-bash" data-lang="bash">poll <span class="o">(</span>&amp;stdin_poll, 1, 0<span class="o">)</span></code></pre></figure>
<p>I selected the POLLIN as event so poll() only checks if there is data to read, 1 as the number of items in the fds array, 0 milliseconds of timeout because when the program is invoked /dev/stdin may already contain input.</p>
<p>The program should be compiled this way:</p>
<figure class="highlight"><pre><code class="language-bash" data-lang="bash">g++ -std<span class="o">=</span>c++11 ./program.cpp -o output</code></pre></figure>
<p>You are free to reuse this little piece of code as you wish.</p>
<p>EDIT: 02-04-2016
The original idea for the Buridan&#39;s donkey came from my mentor <a href="https://twitter.com/bassosimone">Simone Basso</a> who wrote the original one in haskell.</p>
<p style="text-align: right;">
Francesco Mecca
</p>
</div>
<div class="post">
<h1 class="post-title">
<a href="/index.php/archives/198">
About Perl packages in Gentoo
</a>
</h1>
<span class="post-date">11 Sep 2015</span>
<p>In this post I wish to explain a bit about Perl related ebuilds in Gentoo and how to update from perl-core to virtual/perl without conflicts.</p>
<p>First of all the core distribution of Perl is included in <a href="https://packages.gentoo.org/package/dev-lang/perl">dev-lang/Perl</a> along with <a href="http://perldoc.perl.org/index-modules-A.html">modules</a>.</p>
<p>The <a href="https://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/perl-core/">perl-core category</a> in portage contains ebuilds for perl modules, some of which are included in the core perl distibution. The perl-core ebuilds overrides the perl-core modules such that you can update them without recompiling dev-lang/Perl.</p>
<p>Each perl-core module has a corrensponding virtual/perl-* package. The virtual category is used by portage when emerging to take into account that a module can be either provided by dev-lang/perl package or found in perl-core category.</p>
<p>So, what to do in case of blocks when upgrading your Gentoo machine?</p>
<p>Perl-cleaner is a package provided to get rid of these blocks and to migrate from perl-core to virtual/perl-*.</p>
<pre class="wp-code-highlight prettyprint linenums:1">emerge perl-cleaner
emerge dev-lang/perl
perl-cleaner --all</pre>
<p>if you still have problems when upgrading @world you add a backtrack option</p>
<pre class="wp-code-highlight prettyprint linenums:1">emerge -uDN --backtrack=30 @world</pre>
<p>or you can unmerge all perl-core packages and then finally upgrade world</p>
<pre class="wp-code-highlight prettyprint linenums:1">emerge --unmerge perl-core/*</pre>
<p>This will remove all perl-core packages that virtual/perl-* packages will bring back if needed.</p>
<p style="text-align: right;">
Francesco Mecca
</p>
</div>
<div class="post">
<h1 class="post-title">
<a href="/index.php/archives/177">
56 secondi di celebrita`
</a>
</h1>
<span class="post-date">31 Aug 2015</span>
<p><a href="http://www.mantellini.it/2015/08/26/state-al-riparo/" target="_blank" rel="http://www.mantellini.it/2015/08/26/state-al-riparo/"><img class="aligncenter wp-image-178 size-full" src="http://francescomecca.eu/wp-content/uploads/2015/08/Schermata-2015-08-26-alle-22.29.31.jpg" alt="" width="644" height="533" srcset="http://francescomecca.eu/wp-content/uploads/2015/08/Schermata-2015-08-26-alle-22.29.31-300x248.jpg 300w, http://francescomecca.eu/wp-content/uploads/2015/08/Schermata-2015-08-26-alle-22.29.31.jpg 644w" sizes="(max-width: 644px) 100vw, 644px" /></a></p>
<p>Dura 56 secondi il video di Vester Lee Flanagan che testimonia l&#8217;omicidio in prima persona di due giornalisti in Virginia durante un live broadcast televisivo. Durante l&#8217;inseguimento nel quale si e` tolto la vita Flanagan ha caricato su Twitter e Facebook il video dell&#8217;uccisione in prima persona.</p>
<p>Twitter e Facebook hanno tempestivamente censurato il video e rimosso l&#8217;account dell&#8217;omicida ed alcune emittenti televisive (come SkyTg24) hanno scelto allo stesso modo di non pubblicare il video in diretta.</p>
<h3 id="to-publish-or-not-to-publish">To publish or not to publish?</h3>
<p>E` quindi una decisione giusta quella di non pubblicare il video?</p>
<p><a href="https://stevebuttry.wordpress.com/2015/08/26/media-should-avoid-indulging-attention-seeking-killers/" target="_blank">Steve Buttry sul suo blog</a> si esprime in questo modo:</p>
<blockquote>
<p>1) Someone who attacks during a live telecast is seeking attention. Obviously you need to report the attack, but I would not broadcast the attack or make it available online.</p>
<p>[&#8230;]</p>
<p>4) I see no ethical justification for publishing videos shot by the killer. That is the ultimate in attention-seeking behavior.</p>
<p>5) You can report the mental health issues, gun access issues and other issues that a story presents without publicizing or profiling the killer.</p>
<p>6) My focus would be on the people who were killed or injured. They warrant media attention, not the person who was seeking it.</p>
</blockquote>
<p>1)Una persona che attacca durante una trasmissione in diretta e` alla ricerca di attenzione. Naturalmente si deve rendere noto l&#8217;atto, ma io non lo trasmetterei ne lo pubblicherei online.</p>
<p>[&#8230;]</p>
<p>4) Non vedo giustificazioni etiche per pubblicare il video: e` l&#8217;esempio piu` eclatante di ricerca di attenzioni.</p>
<p>5) Puoi discutere sui problemi mentali, la questione relativa al facile accesso alle armi e tutti gli altri problemi di questa storia senza mostrare o pubblicizzare il killer.</p>
<p>6) Io mi concentrerei sulle persone ferite o uccise. Loro meritano l&#8217;attenzione dei media, non la persona che la cercava.</p>
<h3 id="famoso-in-un-istante">Famoso in un istante</h3>
<p>E` ovvio che Flanagan stesse cercando i suoi 15 minuti di fama con <a href="http://www.theguardian.com/us-news/2015/aug/27/virginia-shooting-in-an-instant-vester-flanagan-broadcast-death-to-the-world" target="_blank">questo atto</a>, ma a mio parere non ci sarebbe riuscito se non sfruttando nuovi strumenti quali lo smartphone e i social network. Molto difficilmente sarebbe riuscito 20 anni fa utilizzando i media tradizionali a filmarsi in prima persona in una situazione del genere e a rendere cosi` tante persone testimoni del suo gesto.</p>
<p>Per questo non mi trovo d&#8217;accordo con Steve Buttry che afferma che il video non andrebbe reso disponibile online. i nuovi media hanno un ruolo diverso nella condivisione dei contenuti e soprattutto nel mantenimento della memoria storica. Un video del genere non aggiunge alcun valore investigativo o giornalistico al caso ma puo` ritenersi utile per analisi differenti, in primis psicologiche, ed ha sicuramente un valore storico (da quanto conosco e` il primo video in prima persona di un omicidio con queste dinamiche).</p>
<h3 id="lo-specchio-nero">Lo specchio nero</h3>
<p>Chi come me e` un grande fan della serie TV <a href="https://en.wikipedia.org/wiki/Black_Mirror_%28TV_series%29" target="_blank">Black Mirror</a> avra` sicuramente ricordato il primo episodio della serie: National Anthem.</p>
<p>Questo episodio e` un&#8217;analisi sottile e dettagliata della natura umana, che di fronte ad eventi che suscitano un cosi` grande clamore sospendono ogni giudizio morale e dimenticano il motivo per cui si trovano a guardare cio` che hanno di fronte.</p>
<p>Allo stesso modo trovo miserevole poter assistere a giornalisti ed emittenti televisive che per attirare spettatori nelle proprie reti mostrano il video integrale.</p>
<p>Come in National Anthem chi ha perpetrato il crimine non ci ha costretto ad essere complici del suo gesto.</p>
<p style="text-align: right;">
Francesco Mecca
</p>
</div>
<div class="post">
<h1 class="post-title">
<a href="/index.php/archives/171">
@ -221,315 +429,6 @@
</div>
<div class="post">
<h1 class="post-title">
<a href="/index.php/archives/100">
Puo` un sottomarino nuotare? Deep learning e intelligenze artificiali
</a>
</h1>
<span class="post-date">21 Jul 2015</span>
<p>Nel <a href="https://en.wikipedia.org/wiki/De_Arte_Combinatoria">De Arte Combinatoria</a> (1666) Leibniz afferma che tutta la logica del pensiero umano non sia altro che una combinazione di pensieri piu` piccoli che a loro volta possono essere frammentati in idee semplicissime e concatenabili.</p>
<table class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;" cellspacing="0" cellpadding="0" align="center">
<tr>
<td style="text-align: center;">
<a style="margin-left: auto; margin-right: auto;" href="http://francescomecca.eu/wp-content/uploads/2015/08/7af6d-diagram_of_i_ching_hexagrams_owned_by_gottfried_wilhelm_leibniz252c_1701.jpg"><img src="http://francescomecca.eu/wp-content/uploads/2015/08/7af6d-diagram_of_i_ching_hexagrams_owned_by_gottfried_wilhelm_leibniz252c_1701.jpg?w=300" alt="" width="400" height="382" border="0" /></a>
</td>
</tr>
<tr>
<td class="tr-caption" style="text-align: center;">
fu questo libro cinese, spedito da un gesuita a Leibniz, a dargli l&#8217;idea della matematica binaria
</td>
<td class="tr-caption" style="text-align: center;">
</td>
<td class="tr-caption" style="text-align: center;">
</td>
</tr>
</table>
<p><a href="http://www.lucdebrabandere.com/en">Luc De Brabandere</a> ci spiega che il sogno di Leibniz e` “fare di un argomentazione un teorema, fare di una discussione un sistema di equazioni e poter proporre al proprio avversario in caso di impasse: Ebbene! Calcoliamo” (Pensiero Magico Pensiero Logico,  LIT edizioni, 2015).</p>
<p>Prima di Leibniz un altro filosofo, Hobbes, affermo`:</p>
<blockquote class="tr_bq">
<p>
Reasoning is nothing but reckoning
</p>
</blockquote>
<p>Di recente il CEO di Nvidia ha tenuto di recente un discorso sul &#8220;deep learning&#8221;, ovvero &#8220;machine learning&#8221; arricchito dall&#8217;analisi dei <a href="http://caught-in-thenet.blogspot.it/2015/04/il-big-bang-dei-big-data.html">Big Data</a>.</p>
<p>Secondo me il deep learning e la frase di Hobbes hanno un profondo legame.</p>
<p>Ci sono compiti che per un uomo sono molto complicati, come ad esempio la risoluzione di equazioni, che rispondono a delle semplici regole formali. Tradurre queste regole in algoritmi e` molto semplice.</p>
<p>Il cervello umano si spinge molto oltre: e` celebre la frase di un giudice della corte suprema americana (<a href="https://en.wikipedia.org/wiki/Potter_Stewart">Potter Stewart</a>) che nel tentativo di dare una definizione legale per distinguere il materiale pornografico dal non, scrisse: &#8220;lo riconosco quando lo vedo&#8221;.</p>
<p>Ci sono molte operazioni, come quello del riconoscere facce, immagini o testo (come i captcha) che per un umano sono piuttosto triviali.</p>
<p>Quale e` la risposta che il deep learning offre a questo problema?</p>
<p>Grazie ai Big Data le macchine hanno a disposizione una quantita` enorme di dati, spesso anche categorizzata dagli stessi utenti, che puo` essere sottoposta ad analisi statistica.</p>
<p>Nel 2014 Facebook ha presentato un algoritmo chiamato <a href="http://www.huffingtonpost.com/2014/03/18/facebook-deepface-facial-recognition_n_4985925.html">DeepFace</a> che riconosce nel 97% dei casi i volti umani, anche se con poca luce o parzialmente coperti.</p>
<p><a href="http://www.theinquirer.net/inquirer/news/2355462/microsofts-project-adam-knows-the-difference-between-an-engineer-and-a-dog">Project Adam</a> e` un progetto della Microsoft che si occupa di riconoscimento delle immagini e di oggetti ed ha dimostrato la sua potenza riconoscendo con <a href="http://research.microsoft.com/en-us/news/features/dnnvision-071414.aspx">successo</a> un Cardigan Corgi da un Pembroke Corgi (due cani praticamente identici che si distinguono principalmente per la densita` delle ossa).</p>
<p>Questa e` la potenza dell&#8217;apprendimento e dell&#8217;analisi statistica.</p>
<table class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;" cellspacing="0" cellpadding="0" align="center">
<tr>
<td style="text-align: center;">
<a style="margin-left: auto; margin-right: auto;" href="http://francescomecca.eu/wp-content/uploads/2015/08/92dfe-2000px-artificial_neural_network-svg.png"><img src="http://francescomecca.eu/wp-content/uploads/2015/08/92dfe-2000px-artificial_neural_network-svg.png?w=300" alt="" width="400" height="356" border="0" /></a>
</td>
</tr>
<tr>
<td class="tr-caption" style="text-align: center;">
reti neurali, <a href="https://commons.wikimedia.org/wiki/File:Artificial_neural_network.svg">fonte</a>
</td>
</tr>
</table>
<p>Se davvero riconoscere coincidesse con il ragionare si potrebbe dire che un computer e` capace di pensare; il sogno di Liebniz non si vedrebbe avverato ma il risultato ottenuto e` identico.</p>
<p>Ora mi chiedo, quale e` la differenza fra ragionare e pensare?</p>
<p>Non e` semplice dare una risposta definitiva, per quanto mi riguarda penso che sono entrambi processi mentali che hanno l&#8217;obiettivo di migliorare e aumentare la conoscenza. Quando l&#8217;attivita` del pensiero e` logica, ovvero e` diretta verso un obiettivo specifico (non vaga senza meta, come nello stream of consciousness) coincide con il ragionare.</p>
<p>Se si potesse dimostrare che un&#8217;intelligenza artificiale abbia la facolta` del pensiero ritengo che prima di procedere alla realizzazione di un cosi` maestoso progetto si dovrebbe ragionare su tutte le conseguenze etiche e morali di tali tecnologie. Per alcuni e` un rischio esistenziale, ovvero e` la creazione di un rivale dell&#8217;intelligenza umana.</p>
<p>Eppure <a href="https://en.wikipedia.org/wiki/Edsger_W._Dijkstra">Edsger Dijkstra</a>, un pioniere della ricerca nel campo delle intelligenze artificiali ha affermato che: &#8220;chiedersi se un computer possa pensare e` come chiedersi se un sottomarino possa nuotare&#8221;.</p>
<p>Questo perche`? Un algoritmo di deep learning, un A.I. universale capace di analizzare ogni tipo di dato, rimane comunque un programma senza motivazioni, senza fini se non quelli che il suo creatore gli ha assegnato. Questo programma e` conscio della sua esistenza tanto quanto lo e` un foglio di carta, un documento di Excel o una stampante 3D.</p>
<p>Se si dovesse lavorare per creare un cervello &#8220;umano&#8221; in laboratorio si partirebbe proprio da questo, che e` un requisito necessario, che si potrebbe definire come molto piu` di una semplice &#8220;istruzione&#8221; che ci porta a dire: &#8220;io sono&#8221;, e delle volte dubitare anche di questo.</p>
<div style="text-align: right;">
Francesco Mecca
</div>
</div>
<div class="post">
<h1 class="post-title">
<a href="/index.php/archives/101">
Dodici brevi domande sul mondo del giornalismo nell&#8217;era digitale
</a>
</h1>
<span class="post-date">07 Jul 2015</span>
<h4 id="premessa"><span style="font-size: large;">Premessa </span></h4>
<p>La Rivoluzione Digitale ha toccato la societa` in tutti i suoi aspetti, e fra questi ha anche minato le fondamenta di un settore, quello dell&#8217;informazione, alle fondamenta della nostra societa`.</p>
<p>La decentralizzazione delle fonti di informazione, che avviene attraverso i blog e le piattaforme online, la micro messaggistica istantanea e i tweet, i social media, ma piu` in generale tutti gli strumenti che Internet ci offre, hanno mutato radicalmente non solo il modo di fare giornalismo, ma il rapporto del cittadino digitale con l&#8217;informazione cartacea e digitale.</p>
<p>Per questo abbiamo posto 12 domande a <a href="https://twitter.com/cidigi">Carla De Girolamo</a>, vicecaporedattore di <a href="http://panorama.it/">Panorama</a>, basandoci sulle parole di <a href="http://blog.debiase.com/">Luca de Biase</a>, il quale <a href="https://www.youtube.com/watch?v=6al_1ELORXk">afferma</a> che nel mondo dell&#8217;editoria la Rivoluzione Digitale e` stata una rivoluzione di tre nature: Francese, Copernica e Industriale.</p>
<table class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;" cellspacing="0" cellpadding="0" align="center">
<tr>
<td style="text-align: center;">
<a style="margin-left: auto; margin-right: auto;" href="http://francescomecca.eu/wp-content/uploads/2015/08/9df1b-le_journal_illustr25c325a9_n25c225b08.jpg"><img src="http://francescomecca.eu/wp-content/uploads/2015/08/9df1b-le_journal_illustr25c325a9_n25c225b08.jpg?w=218" alt="" width="290" height="400" border="0" /></a>
</td>
</tr>
<tr>
<td class="tr-caption" style="text-align: center;">
<a href="https://en.wikipedia.org/wiki/Le_Journal_illustr%C3%A9" target="_blank">fonte</a>
</td>
</tr>
</table>
<h4 id="societa-economia-mezzi"><span style="font-size: x-large;">Societa`, Economia, Mezzi</span></h4>
<h4 id="><span style="font-size: large;"> </span></h4>
<p><strong>1. Che business model ci sono nell&#8217;editoria dopo l&#8217;entrata del digitale?</strong> </p>
<p>Sul business model digitale ce` ancora molta poca chiarezza, e non solo in Italia. Mentre ce` la percezione netta che levoluzione normale della stampa sara` digitale, manca ancorala capacita` di mettere a frutto questa idea. Da un lato, tutti si aspettano di trovare online contenuti gratis. Dallaltro, gli investitori (che sulla carta sono disposti a spendere cifre consistenti per una pagina pubblicitaria), per Internet pagano meno di un decimo di quelle cifre. Quindi ce` una grande spinta allevoluione digitale dei contenuti, ma per ora non e` un modello di business sostenibile.</p>
<p><strong>2. Ogni giorno ricevete piu` visite dai dispositi mobili o dai computer o tradizionale cartaceo?</strong></p>
<p>Decisamente prevale il digitale. Mobile e fisso sono ormai quasi equivalenti, il mobile tra pochissimo prevarra`, dati i trend costanti di crescita.</p>
<p>**</p>
<p>** <strong>3. <a href="https://twitter.com/annamasera">Anna Masera</a> ci ha <a href="https://www.youtube.com/watch?v=TANsxwwGCjw" target="_blank" rel="nofollow">mostrato</a> che nonostante le regole del giornalismo siano rimaste le stesse, sono emersi nuovi ruoli, come ad esempio quello del social media manager. Che evoluzione ha subito il ruolo del giornalista?</strong></p>
<p>Per ora in Italia ci sono figure di giornalisti che si evolvono, e che integrano alle capacita` e competenze tradizionali altre funzioni. Quindi una persona che normalmente si occupava di &#8220;desk&#8221;, per il lavoro online deve anche diventare social media manager, photo editor, videomaker… Insomma si assommano più funzioni in una sola persona, e a mio avviso e` la parte migliore e più divertente del lavoro sul settore digitale.</p>
<p><strong>4. La Rivoluzione Digitale quali basi ha tolto al giornalismo? Quali ne ha create?</strong></p>
<p>Il giornalismo di qualita` resta tale, anche sul digitale. Deve pero` necessariamente evolversi e, come detto, arricchirsi di nuove funzioni e nuove capacita`.</p>
<p><strong>5. Prima dell&#8217;arrivo di Internet il giornalismo per molti aspetti equivaleva all&#8217;informazione. Ora ci sono nuovi media che si stanno appropriando di questa tautologia?</strong></p>
<p>No. Prolifera linformazione dei blog, anche grazie alla diffusione attraverso i social, ma le fonti più qualificate e più accreditate restano quelle dei grandi giornali.</p>
<p><strong>6. Che strumenti fornisce Internet per costruire un tipo di informazione solida in una societa`</strong> </p>
<p><strong>costretta a cambiamenti cosi` veloci e spesso violenti?</strong> </p>
<p>Internet offre la possibilita` di confrontare in tempi rapidissimi diverse fonti, quindi di approfondire un argomento guardandolo da diverse angolazioni</p>
<table class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;" cellspacing="0" cellpadding="0" align="center">
<tr>
<td style="text-align: center;">
<a style="margin-left: auto; margin-right: auto;" href="http://francescomecca.eu/wp-content/uploads/2015/08/b527d-social-media-for-public-relations1.jpg"><img src="http://francescomecca.eu/wp-content/uploads/2015/08/b527d-social-media-for-public-relations1.jpg?w=300" alt="" width="400" height="202" border="0" /></a>
</td>
</tr>
<tr>
<td class="tr-caption" style="text-align: center;">
<a href="https://commons.wikimedia.org/wiki/File:Social-media-for-public-relations1.jpg" target="_blank">fonte</a>
</td>
</tr>
</table>
<p><strong>7. Sono in crisi i giornali o i giornalisti?</strong></p>
<p>E` in crisi la carta stampata. E quindi, di conseguenza, i giornalisti rischiano di perdere autorevolezza e indipendenza.</p>
<p><strong>8. I giornalisti di Panorama hanno delle linee guida per il comportamento da tenere online?</strong></p>
<p>Le linee guida sull&#8217;accuratezza e la serieta` dell&#8217;informazione e sul rispetto per i lettori non cambiano. Cambiano i modi di scrivere per il settore digitale rispetto al cartaceo.</p>
<p>**</p>
<p>** <strong>9. Come e` cambiato il rapporto interdipendente fra giornalisti ed utenti/lettori?</strong></p>
<p>Grazie ai social media il rapporto e` molto più stretto e immediato. Non tutti i giornalisti purtroppo sono ancora pronti a cogliere questa opportunita`.</p>
<p>**</p>
<p>** <strong>10. Le regole del giornalismo sono davvero rimaste le stesse?</strong> </p>
<p>Assolutamente si`.</p>
<p>**</p>
<p>** <strong>11. Si puo` affermare che ora grazie ad Internet le 5 W alla base del giornalismo sono state passate ai cittadini?</strong></p>
<p>No. I cittadini possono fare a loro volta informazione, ma difficilmente le 5W sono soddisfatte dagli articoli di un blog personale</p>
<p><strong>12. Secondo Stefano Quintarelli con i nuovi social media il “fatto” si e` trasformato in</strong> </p>
<p><strong>“opinione”, nel senso che il ruolo e l`importanza del primo ora e` stata oscurata dall&#8217;imporsi del secondo. Quanto c&#8217;e` di vero in questa frase?</strong></p>
<p>Non può esserci opinione senza lapprofondimento di un fatto. Che quindi rimane prioritario.</p>
<div style="text-align: left;">
</div>
<div style="text-align: left;">
</div>
<div style="text-align: left;">
Ringraziamo Carla de Girolamo e tutta la redazione di Panorama per il tempo a noi dedicato.
</div>
<div style="text-align: right;">
Francesco Mecca
</div>
</div>
<div class="post">
<h1 class="post-title">
<a href="/index.php/archives/102">
La Rivoluzione Digitale nella Professione dell&#8217;Avvocato
</a>
</h1>
<span class="post-date">07 Jul 2015</span>
<h4 id="premessa"><span style="font-size: large;">Premessa</span></h4>
<p>Con lavvento dellinformatizzazione e` notevolmente mutata la modalita` con cui lavvocato svolge la propria professione; sinteticamente si puo` arrivare ad affermare che al di la` della partecipazione alle udienze e il ricevimento dei clienti, tutta lattivita` si puo` svolgere con il computer nel proprio studio, senza alzarsi dalla poltrona.</p>
<p>Per quanto mi riguarda vorrei premettere che io sono un avvocato dipendente di un ente pubblico (lINAIL) e pertanto unico mio cliente e` lIstituto che io difendo sia in ambito giudiziario (cause legali) che extragiudiziario (composizione bonaria delle liti).</p>
<p>Lavvento dellinformatica ha modificato il modo di lavorare nella sua globalita`, vediamo pertanto le singole fasi dellattivita`.</p>
<table class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;" cellspacing="0" cellpadding="0" align="center">
<tr>
<td style="text-align: center;">
<a style="margin-left: auto; margin-right: auto;" href="http://francescomecca.eu/wp-content/uploads/2015/08/8e3ff-hammer-620011_1280.jpg"><img src="http://francescomecca.eu/wp-content/uploads/2015/08/8e3ff-hammer-620011_1280.jpg?w=300" alt="" width="400" height="300" border="0" /></a>
</td>
</tr>
<tr>
<td class="tr-caption" style="text-align: center;">
Immagine Pubblico Dominio, fonte <a href="https://pixabay.com/" target="_blank">Pixabay</a>
</td>
</tr>
</table>
<h4 id="ricerche-giurisprudenziali"><span style="font-size: large;">Ricerche Giurisprudenziali</span></h4>
<p>p { margin-bottom: 0.1in; direction: ltr; color: rgb(0, 0, 0); line-height: 120%; orphans: 2; widows: 2; }p.western { font-family: &#8220;Times New Roman&#8221;,serif; font-size: 12pt; }p.cjk { font-family: &#8220;Times New Roman&#8221;,serif; font-size: 12pt; }p.ctl { font-family: &#8220;Times New Roman&#8221;,serif; font-size: 12pt; }a:link { color: rgb(0, 0, 255); } Allorche` mi viene sottoposto un caso da esaminare devo effettuare ricerche sullo stato della giurisprudenza (esame delle pronunce dei Tribunali che hanno trattato casi analoghi) al fine di inquadrare giuridicamente la questione: in passato le ricerche venivano effettuate sfogliando le varie riviste giuridiche cartacee (pubblicate per lo piu` con raccolte che uscivano con cadenza trimestrale o addirittura annuale) dopo aver estrapolato dagli indici tutte le sentenze emesse su quel determinato argomento: la ricerca effettuata in questo modo richiedeva molto tempo dovendo passare in rassegna una molteplicità di riviste (generalmente la ricerca si effettua su un arco di tempo decennale) ed inoltre si era nellimpossibilita` di esaminare la giurisprudenza piu` recente; dal punto di vista pratico e logistico lavvocato doveva disporre di grandi librerie per conservare le riviste cartacee. Debbo pero` riconoscere che la ricerca cartacea offriva la possibilità di venire a conoscenza di sentenze emesse su altri argomenti (che rivestivano interesse per altre pratiche: cio` comporta un grande arricchimento professionale) in quanto passando in rassegna gli indici lattenzione cadeva anche su altre fattispecie.</p>
<p>Ora la ricerca viene fatta digitalmente, si consultano le varie banche dati online e inserendo la parola chiave (argomento o riferimenti normativi o anche autorita` giudiziaria) si viene subito in contatto con numerosissime sentenze. In questo modo la ricerca e` piu` veloce, puo` essere agevolmente fatta su archi temporali molto lunghi ma soprattutto si possono conoscere sentenze emesse di recente in quanto la pubblicazione non passa attraverso la stampa; tra laltro per un avvocato è molto importante conoscere le ultime sentenze in senso temporale in quanto e` utilissimo aggiornarsi sugli indirizzi giurisprudenziali più recenti. Ce` anche un altro aspetto dal punto di vista pratico: non e` piu` necessario avere i grandi spazi richiesti dalle librerie (tale fatto non e` da sottovalutare viste le peculiarita` del mercato immobiliare).</p>
<p>Il limite della ricerca telematica (rispetto alla ricerca cartacea) e` costituito dal fatto che la ricerca si rivela molto piu` specifica, e` molto più circoscritta e quindi non si viene “casualmente ” a conoscenza di sentenze che riguardano altre fattispecie; cio` secondo il mio parere e` un aspetto negativo, che mi fa un po` rimpiangere la ricerca cartacea, perche` in quel caso, come ho precisato sopra, si raccoglievano molti stimoli (forse oggi si privilegia il fattore tempo?).</p>
<h4 id="posta-email-e-pec"><span style="font-size: large;">Posta, email e PEC</span></h4>
<p>Unaltra grande rivoluzione si e` verificata nellambito della corrispondenza che lavvocato deve tenere con il cliente e con la controparte.</p>
<p>Mentre prima tutte le lettere e diffide venivano inoltrate mediante il servizio postale richiedendo quindi la necessita` di recarsi presso lUfficio stesso e, sostenere il costo della spedizione ed attendere il recapito della corrispondenza ora tale attivita` viene svolta con l&#8217;email, cosicche` non si esce dallo studio, non si sostengono costi ed inoltre il recapito e` immediato e anche la risposta puo` sopraggiungere immediatamente: e` evidente la facilita` di comunicazione! A cio` si aggiunga che ora con lintroduzione della PEC le mail hanno le stesso valore delle raccomandate postali. Io ritengo che tale sistema innovativo sia importantissimo in quanto velocizza le comunicazioni ed abbatte i costi, eliminando anche i rischi dei disguidi postali (materiale perdita della corrispondenza). A cio` si aggiunga anche che avendo tutta la corrispondenza come archivio digitale la successiva consultazione della stessa puo` avvenire in modo agevole ed immediato.</p>
<h4 id="processo-telematico"><span style="font-size: large;">Processo Telematico</span></h4>
<p>Ora (dal primo gennaio 2015) anche gli uffici Giudiziari hanno preso atto dellattivita` informatica permettendo la possibilita` di formare fascicoli digitali. Tutte le cause possono essere introdotte telematicamente cosicche` lavvocato puo` depositare atti e comunicarli alla controparte senza uscire dal proprio studio. Allo stesso modo riceve le comunicazione dagli uffici del Tribunale (la cancelleria) e gli atti dei colleghi. In questo modo per depositare un atto non ci si deve piu` materialmente recare in Tribunale ed essere legati agli orari di apertura dellUfficio, in quanto la legge permette che lavvocato trasmetta latto entro le ore 24 del giorno di scadenza , con la conseguenza che i tempi si sono dilatati, anche se in effetti non e` consigliabile fare un atto allultimo minuto in quanto talvolta (per lo meno come si sta verificando in questa prima fase) la trasmissione telematica non va a buon fine, cosicche` si puo` incorrere in decadenze. Anche in questo caso tutte le attivita` sono velocizzate e soprattutto mi arrivano immediatamente le comunicazioni del Tribunale, il che` nella mia attivita` non e` di poco conto.</p>
<h4 id="acquisizione-documentazione"><span style="font-size: large;">Acquisizione Documentazione</span></h4>
<p>Un altro aspetto molto importante che ha agevolato lattivita` legale e` quello che riguarda il reperimento della documentazione necessaria per la corretta e completa istruzione della pratica.</p>
<p>Nel momento in cui lavvocato ha necessita` di visionare e/o allegare un documento, lo richiede al cliente o agli uffici preposti (es: uffici finanziari, enti locali, camere di commercio&#8230;) a mezzo mail e sollecitamente la controparte glielo puo` trasmettere telematicamente: il cliente non deve recarsi dallavvocato per portare il documento ne` lavvocato deve accedere ai vari uffici (come al catasto per richiedere una visura). Pensate in una grande citta` quanto tempo (e costi) richiedono tali attivita`, ora ogni cosa puo` essere fatta indipendentemente dal luogo in cui ci si trova!</p>
<h4 id="indagini-sui-social-network"><span style="font-size: large;">Indagini sui Social Network</span></h4>
<p>Ora lavvocato puo` raccogliere notizie anche solo digitando nomi e fatti sui motori di ricerca: in questo modo vengo a conoscenza di indirizzi, recapiti telefonici e altre notizie che riguardano il soggetto e/o il fatto che mi interessa. Nello specifico premetto che la mia attivita` si esplica anche nellesame di pratiche che riguardano il riconoscimento di eventi lesivi come infortuni sul lavoro. Precisamente determinate categorie di lavoratori possono chiedere allINAIL il riconoscimento di eventi lesivi come infortuni sul lavoro con conseguenti erogazioni economiche e sanitarie dal parte dellINAIL in loro favore. Facciamo lesempio che un lavoratore denunci una lesione come conseguente allesplicamento della propria attivita` lavorativa adducendo una descrizione del fatto: e` capitato che facendo un riscontro su Facebook il soggetto raccontava di essersi fatto male mentre giocava a calcetto: in questo caso levento non viene riconosciuto e addirittura si potrebbe presentare una denuncia per truffa. Recentemente gli organi di informazione hanno divulgato il caso di quel signore che usufruiva dei permessi INPS per assistere il genitore invalido mentre scriveva su Facebook che in quei medesimi giorni era allestero per seguire i campionati sportivi!</p>
<p>Quindi cio` che voglio dire e` che laccesso ai social network costituisce in sistema per reperire informazioni e/o riscontri circa fatti denunciati dagli utenti, raccogliendo così elementi utili per esaminare compiutamente una pratica e arrivare così ad una piu` puntuale decisione legale.</p>
<table class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;" cellspacing="0" cellpadding="0" align="center">
<tr>
<td style="text-align: center;">
<a style="margin-left: auto; margin-right: auto;" href="http://francescomecca.eu/wp-content/uploads/2015/08/06143-privacy-policy-510739_1280.jpg"><img src="http://francescomecca.eu/wp-content/uploads/2015/08/06143-privacy-policy-510739_1280.jpg?w=300" alt="" width="400" height="291" border="0" /></a>
</td>
</tr>
<tr>
<td class="tr-caption" style="text-align: center;">
Immagine Pubblico Dominio, fonte <a href="https://pixabay.com/" target="_blank">Pixabay</a>
</td>
</tr>
</table>
<p>Cio` che ho messo in evidenza sono gli aspetti e le novita` piu` eclatanti introdotte dalla informatizzazione e che a mio parere sono molto positivi  (soprattutto per tutti gli aspetti di velocizzazione ed efficienza che pongono in essere) permettendo anche di svolgere lattivita` legale con maggiore approfondimento (avendo a disposizione di fatto piu` strumenti) e maggiore tempestivita`, considerando anche in questambito le potenzialita` della ulteriore strumentazione informatica di cui il professionista puo` dotarsi.</p>
<div style="text-align: right;">
Avv. Emanuela Andreozzi
</div>
<div style="text-align: right;">
Avvocatura Regionale INAIL delle Marche
</div>
<p>&nbsp;</p>
</div>
</div>
<div class="pagination">

View file

@ -119,7 +119,7 @@
<a class="sidebar-nav-item" href="/feed.xml">RSS</a>
<a class="sidebar-nav-item" href="http://francescomecca.eu:3000">Personal Git</a>
<a class="sidebar-nav-item" href="http://francescomecca.eu:3000/explore/repos">Personal Git</a>
<span class="sidebar-nav-item" href="" >Powered by Jekyll and Hyde</span>
</nav>
@ -136,6 +136,315 @@
<div class="content container">
<div class="posts">
<div class="post">
<h1 class="post-title">
<a href="/index.php/archives/100">
Puo` un sottomarino nuotare? Deep learning e intelligenze artificiali
</a>
</h1>
<span class="post-date">21 Jul 2015</span>
<p>Nel <a href="https://en.wikipedia.org/wiki/De_Arte_Combinatoria">De Arte Combinatoria</a> (1666) Leibniz afferma che tutta la logica del pensiero umano non sia altro che una combinazione di pensieri piu` piccoli che a loro volta possono essere frammentati in idee semplicissime e concatenabili.</p>
<table class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;" cellspacing="0" cellpadding="0" align="center">
<tr>
<td style="text-align: center;">
<a style="margin-left: auto; margin-right: auto;" href="http://francescomecca.eu/wp-content/uploads/2015/08/7af6d-diagram_of_i_ching_hexagrams_owned_by_gottfried_wilhelm_leibniz252c_1701.jpg"><img src="http://francescomecca.eu/wp-content/uploads/2015/08/7af6d-diagram_of_i_ching_hexagrams_owned_by_gottfried_wilhelm_leibniz252c_1701.jpg?w=300" alt="" width="400" height="382" border="0" /></a>
</td>
</tr>
<tr>
<td class="tr-caption" style="text-align: center;">
fu questo libro cinese, spedito da un gesuita a Leibniz, a dargli l&#8217;idea della matematica binaria
</td>
<td class="tr-caption" style="text-align: center;">
</td>
<td class="tr-caption" style="text-align: center;">
</td>
</tr>
</table>
<p><a href="http://www.lucdebrabandere.com/en">Luc De Brabandere</a> ci spiega che il sogno di Leibniz e` “fare di un argomentazione un teorema, fare di una discussione un sistema di equazioni e poter proporre al proprio avversario in caso di impasse: Ebbene! Calcoliamo” (Pensiero Magico Pensiero Logico,  LIT edizioni, 2015).</p>
<p>Prima di Leibniz un altro filosofo, Hobbes, affermo`:</p>
<blockquote class="tr_bq">
<p>
Reasoning is nothing but reckoning
</p>
</blockquote>
<p>Di recente il CEO di Nvidia ha tenuto di recente un discorso sul &#8220;deep learning&#8221;, ovvero &#8220;machine learning&#8221; arricchito dall&#8217;analisi dei <a href="http://caught-in-thenet.blogspot.it/2015/04/il-big-bang-dei-big-data.html">Big Data</a>.</p>
<p>Secondo me il deep learning e la frase di Hobbes hanno un profondo legame.</p>
<p>Ci sono compiti che per un uomo sono molto complicati, come ad esempio la risoluzione di equazioni, che rispondono a delle semplici regole formali. Tradurre queste regole in algoritmi e` molto semplice.</p>
<p>Il cervello umano si spinge molto oltre: e` celebre la frase di un giudice della corte suprema americana (<a href="https://en.wikipedia.org/wiki/Potter_Stewart">Potter Stewart</a>) che nel tentativo di dare una definizione legale per distinguere il materiale pornografico dal non, scrisse: &#8220;lo riconosco quando lo vedo&#8221;.</p>
<p>Ci sono molte operazioni, come quello del riconoscere facce, immagini o testo (come i captcha) che per un umano sono piuttosto triviali.</p>
<p>Quale e` la risposta che il deep learning offre a questo problema?</p>
<p>Grazie ai Big Data le macchine hanno a disposizione una quantita` enorme di dati, spesso anche categorizzata dagli stessi utenti, che puo` essere sottoposta ad analisi statistica.</p>
<p>Nel 2014 Facebook ha presentato un algoritmo chiamato <a href="http://www.huffingtonpost.com/2014/03/18/facebook-deepface-facial-recognition_n_4985925.html">DeepFace</a> che riconosce nel 97% dei casi i volti umani, anche se con poca luce o parzialmente coperti.</p>
<p><a href="http://www.theinquirer.net/inquirer/news/2355462/microsofts-project-adam-knows-the-difference-between-an-engineer-and-a-dog">Project Adam</a> e` un progetto della Microsoft che si occupa di riconoscimento delle immagini e di oggetti ed ha dimostrato la sua potenza riconoscendo con <a href="http://research.microsoft.com/en-us/news/features/dnnvision-071414.aspx">successo</a> un Cardigan Corgi da un Pembroke Corgi (due cani praticamente identici che si distinguono principalmente per la densita` delle ossa).</p>
<p>Questa e` la potenza dell&#8217;apprendimento e dell&#8217;analisi statistica.</p>
<table class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;" cellspacing="0" cellpadding="0" align="center">
<tr>
<td style="text-align: center;">
<a style="margin-left: auto; margin-right: auto;" href="http://francescomecca.eu/wp-content/uploads/2015/08/92dfe-2000px-artificial_neural_network-svg.png"><img src="http://francescomecca.eu/wp-content/uploads/2015/08/92dfe-2000px-artificial_neural_network-svg.png?w=300" alt="" width="400" height="356" border="0" /></a>
</td>
</tr>
<tr>
<td class="tr-caption" style="text-align: center;">
reti neurali, <a href="https://commons.wikimedia.org/wiki/File:Artificial_neural_network.svg">fonte</a>
</td>
</tr>
</table>
<p>Se davvero riconoscere coincidesse con il ragionare si potrebbe dire che un computer e` capace di pensare; il sogno di Liebniz non si vedrebbe avverato ma il risultato ottenuto e` identico.</p>
<p>Ora mi chiedo, quale e` la differenza fra ragionare e pensare?</p>
<p>Non e` semplice dare una risposta definitiva, per quanto mi riguarda penso che sono entrambi processi mentali che hanno l&#8217;obiettivo di migliorare e aumentare la conoscenza. Quando l&#8217;attivita` del pensiero e` logica, ovvero e` diretta verso un obiettivo specifico (non vaga senza meta, come nello stream of consciousness) coincide con il ragionare.</p>
<p>Se si potesse dimostrare che un&#8217;intelligenza artificiale abbia la facolta` del pensiero ritengo che prima di procedere alla realizzazione di un cosi` maestoso progetto si dovrebbe ragionare su tutte le conseguenze etiche e morali di tali tecnologie. Per alcuni e` un rischio esistenziale, ovvero e` la creazione di un rivale dell&#8217;intelligenza umana.</p>
<p>Eppure <a href="https://en.wikipedia.org/wiki/Edsger_W._Dijkstra">Edsger Dijkstra</a>, un pioniere della ricerca nel campo delle intelligenze artificiali ha affermato che: &#8220;chiedersi se un computer possa pensare e` come chiedersi se un sottomarino possa nuotare&#8221;.</p>
<p>Questo perche`? Un algoritmo di deep learning, un A.I. universale capace di analizzare ogni tipo di dato, rimane comunque un programma senza motivazioni, senza fini se non quelli che il suo creatore gli ha assegnato. Questo programma e` conscio della sua esistenza tanto quanto lo e` un foglio di carta, un documento di Excel o una stampante 3D.</p>
<p>Se si dovesse lavorare per creare un cervello &#8220;umano&#8221; in laboratorio si partirebbe proprio da questo, che e` un requisito necessario, che si potrebbe definire come molto piu` di una semplice &#8220;istruzione&#8221; che ci porta a dire: &#8220;io sono&#8221;, e delle volte dubitare anche di questo.</p>
<div style="text-align: right;">
Francesco Mecca
</div>
</div>
<div class="post">
<h1 class="post-title">
<a href="/index.php/archives/101">
Dodici brevi domande sul mondo del giornalismo nell&#8217;era digitale
</a>
</h1>
<span class="post-date">07 Jul 2015</span>
<h4 id="premessa"><span style="font-size: large;">Premessa </span></h4>
<p>La Rivoluzione Digitale ha toccato la societa` in tutti i suoi aspetti, e fra questi ha anche minato le fondamenta di un settore, quello dell&#8217;informazione, alle fondamenta della nostra societa`.</p>
<p>La decentralizzazione delle fonti di informazione, che avviene attraverso i blog e le piattaforme online, la micro messaggistica istantanea e i tweet, i social media, ma piu` in generale tutti gli strumenti che Internet ci offre, hanno mutato radicalmente non solo il modo di fare giornalismo, ma il rapporto del cittadino digitale con l&#8217;informazione cartacea e digitale.</p>
<p>Per questo abbiamo posto 12 domande a <a href="https://twitter.com/cidigi">Carla De Girolamo</a>, vicecaporedattore di <a href="http://panorama.it/">Panorama</a>, basandoci sulle parole di <a href="http://blog.debiase.com/">Luca de Biase</a>, il quale <a href="https://www.youtube.com/watch?v=6al_1ELORXk">afferma</a> che nel mondo dell&#8217;editoria la Rivoluzione Digitale e` stata una rivoluzione di tre nature: Francese, Copernica e Industriale.</p>
<table class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;" cellspacing="0" cellpadding="0" align="center">
<tr>
<td style="text-align: center;">
<a style="margin-left: auto; margin-right: auto;" href="http://francescomecca.eu/wp-content/uploads/2015/08/9df1b-le_journal_illustr25c325a9_n25c225b08.jpg"><img src="http://francescomecca.eu/wp-content/uploads/2015/08/9df1b-le_journal_illustr25c325a9_n25c225b08.jpg?w=218" alt="" width="290" height="400" border="0" /></a>
</td>
</tr>
<tr>
<td class="tr-caption" style="text-align: center;">
<a href="https://en.wikipedia.org/wiki/Le_Journal_illustr%C3%A9" target="_blank">fonte</a>
</td>
</tr>
</table>
<h4 id="societa-economia-mezzi"><span style="font-size: x-large;">Societa`, Economia, Mezzi</span></h4>
<h4 id="><span style="font-size: large;"> </span></h4>
<p><strong>1. Che business model ci sono nell&#8217;editoria dopo l&#8217;entrata del digitale?</strong> </p>
<p>Sul business model digitale ce` ancora molta poca chiarezza, e non solo in Italia. Mentre ce` la percezione netta che levoluzione normale della stampa sara` digitale, manca ancorala capacita` di mettere a frutto questa idea. Da un lato, tutti si aspettano di trovare online contenuti gratis. Dallaltro, gli investitori (che sulla carta sono disposti a spendere cifre consistenti per una pagina pubblicitaria), per Internet pagano meno di un decimo di quelle cifre. Quindi ce` una grande spinta allevoluione digitale dei contenuti, ma per ora non e` un modello di business sostenibile.</p>
<p><strong>2. Ogni giorno ricevete piu` visite dai dispositi mobili o dai computer o tradizionale cartaceo?</strong></p>
<p>Decisamente prevale il digitale. Mobile e fisso sono ormai quasi equivalenti, il mobile tra pochissimo prevarra`, dati i trend costanti di crescita.</p>
<p>**</p>
<p>** <strong>3. <a href="https://twitter.com/annamasera">Anna Masera</a> ci ha <a href="https://www.youtube.com/watch?v=TANsxwwGCjw" target="_blank" rel="nofollow">mostrato</a> che nonostante le regole del giornalismo siano rimaste le stesse, sono emersi nuovi ruoli, come ad esempio quello del social media manager. Che evoluzione ha subito il ruolo del giornalista?</strong></p>
<p>Per ora in Italia ci sono figure di giornalisti che si evolvono, e che integrano alle capacita` e competenze tradizionali altre funzioni. Quindi una persona che normalmente si occupava di &#8220;desk&#8221;, per il lavoro online deve anche diventare social media manager, photo editor, videomaker… Insomma si assommano più funzioni in una sola persona, e a mio avviso e` la parte migliore e più divertente del lavoro sul settore digitale.</p>
<p><strong>4. La Rivoluzione Digitale quali basi ha tolto al giornalismo? Quali ne ha create?</strong></p>
<p>Il giornalismo di qualita` resta tale, anche sul digitale. Deve pero` necessariamente evolversi e, come detto, arricchirsi di nuove funzioni e nuove capacita`.</p>
<p><strong>5. Prima dell&#8217;arrivo di Internet il giornalismo per molti aspetti equivaleva all&#8217;informazione. Ora ci sono nuovi media che si stanno appropriando di questa tautologia?</strong></p>
<p>No. Prolifera linformazione dei blog, anche grazie alla diffusione attraverso i social, ma le fonti più qualificate e più accreditate restano quelle dei grandi giornali.</p>
<p><strong>6. Che strumenti fornisce Internet per costruire un tipo di informazione solida in una societa`</strong> </p>
<p><strong>costretta a cambiamenti cosi` veloci e spesso violenti?</strong> </p>
<p>Internet offre la possibilita` di confrontare in tempi rapidissimi diverse fonti, quindi di approfondire un argomento guardandolo da diverse angolazioni</p>
<table class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;" cellspacing="0" cellpadding="0" align="center">
<tr>
<td style="text-align: center;">
<a style="margin-left: auto; margin-right: auto;" href="http://francescomecca.eu/wp-content/uploads/2015/08/b527d-social-media-for-public-relations1.jpg"><img src="http://francescomecca.eu/wp-content/uploads/2015/08/b527d-social-media-for-public-relations1.jpg?w=300" alt="" width="400" height="202" border="0" /></a>
</td>
</tr>
<tr>
<td class="tr-caption" style="text-align: center;">
<a href="https://commons.wikimedia.org/wiki/File:Social-media-for-public-relations1.jpg" target="_blank">fonte</a>
</td>
</tr>
</table>
<p><strong>7. Sono in crisi i giornali o i giornalisti?</strong></p>
<p>E` in crisi la carta stampata. E quindi, di conseguenza, i giornalisti rischiano di perdere autorevolezza e indipendenza.</p>
<p><strong>8. I giornalisti di Panorama hanno delle linee guida per il comportamento da tenere online?</strong></p>
<p>Le linee guida sull&#8217;accuratezza e la serieta` dell&#8217;informazione e sul rispetto per i lettori non cambiano. Cambiano i modi di scrivere per il settore digitale rispetto al cartaceo.</p>
<p>**</p>
<p>** <strong>9. Come e` cambiato il rapporto interdipendente fra giornalisti ed utenti/lettori?</strong></p>
<p>Grazie ai social media il rapporto e` molto più stretto e immediato. Non tutti i giornalisti purtroppo sono ancora pronti a cogliere questa opportunita`.</p>
<p>**</p>
<p>** <strong>10. Le regole del giornalismo sono davvero rimaste le stesse?</strong> </p>
<p>Assolutamente si`.</p>
<p>**</p>
<p>** <strong>11. Si puo` affermare che ora grazie ad Internet le 5 W alla base del giornalismo sono state passate ai cittadini?</strong></p>
<p>No. I cittadini possono fare a loro volta informazione, ma difficilmente le 5W sono soddisfatte dagli articoli di un blog personale</p>
<p><strong>12. Secondo Stefano Quintarelli con i nuovi social media il “fatto” si e` trasformato in</strong> </p>
<p><strong>“opinione”, nel senso che il ruolo e l`importanza del primo ora e` stata oscurata dall&#8217;imporsi del secondo. Quanto c&#8217;e` di vero in questa frase?</strong></p>
<p>Non può esserci opinione senza lapprofondimento di un fatto. Che quindi rimane prioritario.</p>
<div style="text-align: left;">
</div>
<div style="text-align: left;">
</div>
<div style="text-align: left;">
Ringraziamo Carla de Girolamo e tutta la redazione di Panorama per il tempo a noi dedicato.
</div>
<div style="text-align: right;">
Francesco Mecca
</div>
</div>
<div class="post">
<h1 class="post-title">
<a href="/index.php/archives/102">
La Rivoluzione Digitale nella Professione dell&#8217;Avvocato
</a>
</h1>
<span class="post-date">07 Jul 2015</span>
<h4 id="premessa"><span style="font-size: large;">Premessa</span></h4>
<p>Con lavvento dellinformatizzazione e` notevolmente mutata la modalita` con cui lavvocato svolge la propria professione; sinteticamente si puo` arrivare ad affermare che al di la` della partecipazione alle udienze e il ricevimento dei clienti, tutta lattivita` si puo` svolgere con il computer nel proprio studio, senza alzarsi dalla poltrona.</p>
<p>Per quanto mi riguarda vorrei premettere che io sono un avvocato dipendente di un ente pubblico (lINAIL) e pertanto unico mio cliente e` lIstituto che io difendo sia in ambito giudiziario (cause legali) che extragiudiziario (composizione bonaria delle liti).</p>
<p>Lavvento dellinformatica ha modificato il modo di lavorare nella sua globalita`, vediamo pertanto le singole fasi dellattivita`.</p>
<table class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;" cellspacing="0" cellpadding="0" align="center">
<tr>
<td style="text-align: center;">
<a style="margin-left: auto; margin-right: auto;" href="http://francescomecca.eu/wp-content/uploads/2015/08/8e3ff-hammer-620011_1280.jpg"><img src="http://francescomecca.eu/wp-content/uploads/2015/08/8e3ff-hammer-620011_1280.jpg?w=300" alt="" width="400" height="300" border="0" /></a>
</td>
</tr>
<tr>
<td class="tr-caption" style="text-align: center;">
Immagine Pubblico Dominio, fonte <a href="https://pixabay.com/" target="_blank">Pixabay</a>
</td>
</tr>
</table>
<h4 id="ricerche-giurisprudenziali"><span style="font-size: large;">Ricerche Giurisprudenziali</span></h4>
<p>p { margin-bottom: 0.1in; direction: ltr; color: rgb(0, 0, 0); line-height: 120%; orphans: 2; widows: 2; }p.western { font-family: &#8220;Times New Roman&#8221;,serif; font-size: 12pt; }p.cjk { font-family: &#8220;Times New Roman&#8221;,serif; font-size: 12pt; }p.ctl { font-family: &#8220;Times New Roman&#8221;,serif; font-size: 12pt; }a:link { color: rgb(0, 0, 255); } Allorche` mi viene sottoposto un caso da esaminare devo effettuare ricerche sullo stato della giurisprudenza (esame delle pronunce dei Tribunali che hanno trattato casi analoghi) al fine di inquadrare giuridicamente la questione: in passato le ricerche venivano effettuate sfogliando le varie riviste giuridiche cartacee (pubblicate per lo piu` con raccolte che uscivano con cadenza trimestrale o addirittura annuale) dopo aver estrapolato dagli indici tutte le sentenze emesse su quel determinato argomento: la ricerca effettuata in questo modo richiedeva molto tempo dovendo passare in rassegna una molteplicità di riviste (generalmente la ricerca si effettua su un arco di tempo decennale) ed inoltre si era nellimpossibilita` di esaminare la giurisprudenza piu` recente; dal punto di vista pratico e logistico lavvocato doveva disporre di grandi librerie per conservare le riviste cartacee. Debbo pero` riconoscere che la ricerca cartacea offriva la possibilità di venire a conoscenza di sentenze emesse su altri argomenti (che rivestivano interesse per altre pratiche: cio` comporta un grande arricchimento professionale) in quanto passando in rassegna gli indici lattenzione cadeva anche su altre fattispecie.</p>
<p>Ora la ricerca viene fatta digitalmente, si consultano le varie banche dati online e inserendo la parola chiave (argomento o riferimenti normativi o anche autorita` giudiziaria) si viene subito in contatto con numerosissime sentenze. In questo modo la ricerca e` piu` veloce, puo` essere agevolmente fatta su archi temporali molto lunghi ma soprattutto si possono conoscere sentenze emesse di recente in quanto la pubblicazione non passa attraverso la stampa; tra laltro per un avvocato è molto importante conoscere le ultime sentenze in senso temporale in quanto e` utilissimo aggiornarsi sugli indirizzi giurisprudenziali più recenti. Ce` anche un altro aspetto dal punto di vista pratico: non e` piu` necessario avere i grandi spazi richiesti dalle librerie (tale fatto non e` da sottovalutare viste le peculiarita` del mercato immobiliare).</p>
<p>Il limite della ricerca telematica (rispetto alla ricerca cartacea) e` costituito dal fatto che la ricerca si rivela molto piu` specifica, e` molto più circoscritta e quindi non si viene “casualmente ” a conoscenza di sentenze che riguardano altre fattispecie; cio` secondo il mio parere e` un aspetto negativo, che mi fa un po` rimpiangere la ricerca cartacea, perche` in quel caso, come ho precisato sopra, si raccoglievano molti stimoli (forse oggi si privilegia il fattore tempo?).</p>
<h4 id="posta-email-e-pec"><span style="font-size: large;">Posta, email e PEC</span></h4>
<p>Unaltra grande rivoluzione si e` verificata nellambito della corrispondenza che lavvocato deve tenere con il cliente e con la controparte.</p>
<p>Mentre prima tutte le lettere e diffide venivano inoltrate mediante il servizio postale richiedendo quindi la necessita` di recarsi presso lUfficio stesso e, sostenere il costo della spedizione ed attendere il recapito della corrispondenza ora tale attivita` viene svolta con l&#8217;email, cosicche` non si esce dallo studio, non si sostengono costi ed inoltre il recapito e` immediato e anche la risposta puo` sopraggiungere immediatamente: e` evidente la facilita` di comunicazione! A cio` si aggiunga che ora con lintroduzione della PEC le mail hanno le stesso valore delle raccomandate postali. Io ritengo che tale sistema innovativo sia importantissimo in quanto velocizza le comunicazioni ed abbatte i costi, eliminando anche i rischi dei disguidi postali (materiale perdita della corrispondenza). A cio` si aggiunga anche che avendo tutta la corrispondenza come archivio digitale la successiva consultazione della stessa puo` avvenire in modo agevole ed immediato.</p>
<h4 id="processo-telematico"><span style="font-size: large;">Processo Telematico</span></h4>
<p>Ora (dal primo gennaio 2015) anche gli uffici Giudiziari hanno preso atto dellattivita` informatica permettendo la possibilita` di formare fascicoli digitali. Tutte le cause possono essere introdotte telematicamente cosicche` lavvocato puo` depositare atti e comunicarli alla controparte senza uscire dal proprio studio. Allo stesso modo riceve le comunicazione dagli uffici del Tribunale (la cancelleria) e gli atti dei colleghi. In questo modo per depositare un atto non ci si deve piu` materialmente recare in Tribunale ed essere legati agli orari di apertura dellUfficio, in quanto la legge permette che lavvocato trasmetta latto entro le ore 24 del giorno di scadenza , con la conseguenza che i tempi si sono dilatati, anche se in effetti non e` consigliabile fare un atto allultimo minuto in quanto talvolta (per lo meno come si sta verificando in questa prima fase) la trasmissione telematica non va a buon fine, cosicche` si puo` incorrere in decadenze. Anche in questo caso tutte le attivita` sono velocizzate e soprattutto mi arrivano immediatamente le comunicazioni del Tribunale, il che` nella mia attivita` non e` di poco conto.</p>
<h4 id="acquisizione-documentazione"><span style="font-size: large;">Acquisizione Documentazione</span></h4>
<p>Un altro aspetto molto importante che ha agevolato lattivita` legale e` quello che riguarda il reperimento della documentazione necessaria per la corretta e completa istruzione della pratica.</p>
<p>Nel momento in cui lavvocato ha necessita` di visionare e/o allegare un documento, lo richiede al cliente o agli uffici preposti (es: uffici finanziari, enti locali, camere di commercio&#8230;) a mezzo mail e sollecitamente la controparte glielo puo` trasmettere telematicamente: il cliente non deve recarsi dallavvocato per portare il documento ne` lavvocato deve accedere ai vari uffici (come al catasto per richiedere una visura). Pensate in una grande citta` quanto tempo (e costi) richiedono tali attivita`, ora ogni cosa puo` essere fatta indipendentemente dal luogo in cui ci si trova!</p>
<h4 id="indagini-sui-social-network"><span style="font-size: large;">Indagini sui Social Network</span></h4>
<p>Ora lavvocato puo` raccogliere notizie anche solo digitando nomi e fatti sui motori di ricerca: in questo modo vengo a conoscenza di indirizzi, recapiti telefonici e altre notizie che riguardano il soggetto e/o il fatto che mi interessa. Nello specifico premetto che la mia attivita` si esplica anche nellesame di pratiche che riguardano il riconoscimento di eventi lesivi come infortuni sul lavoro. Precisamente determinate categorie di lavoratori possono chiedere allINAIL il riconoscimento di eventi lesivi come infortuni sul lavoro con conseguenti erogazioni economiche e sanitarie dal parte dellINAIL in loro favore. Facciamo lesempio che un lavoratore denunci una lesione come conseguente allesplicamento della propria attivita` lavorativa adducendo una descrizione del fatto: e` capitato che facendo un riscontro su Facebook il soggetto raccontava di essersi fatto male mentre giocava a calcetto: in questo caso levento non viene riconosciuto e addirittura si potrebbe presentare una denuncia per truffa. Recentemente gli organi di informazione hanno divulgato il caso di quel signore che usufruiva dei permessi INPS per assistere il genitore invalido mentre scriveva su Facebook che in quei medesimi giorni era allestero per seguire i campionati sportivi!</p>
<p>Quindi cio` che voglio dire e` che laccesso ai social network costituisce in sistema per reperire informazioni e/o riscontri circa fatti denunciati dagli utenti, raccogliendo così elementi utili per esaminare compiutamente una pratica e arrivare così ad una piu` puntuale decisione legale.</p>
<table class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;" cellspacing="0" cellpadding="0" align="center">
<tr>
<td style="text-align: center;">
<a style="margin-left: auto; margin-right: auto;" href="http://francescomecca.eu/wp-content/uploads/2015/08/06143-privacy-policy-510739_1280.jpg"><img src="http://francescomecca.eu/wp-content/uploads/2015/08/06143-privacy-policy-510739_1280.jpg?w=300" alt="" width="400" height="291" border="0" /></a>
</td>
</tr>
<tr>
<td class="tr-caption" style="text-align: center;">
Immagine Pubblico Dominio, fonte <a href="https://pixabay.com/" target="_blank">Pixabay</a>
</td>
</tr>
</table>
<p>Cio` che ho messo in evidenza sono gli aspetti e le novita` piu` eclatanti introdotte dalla informatizzazione e che a mio parere sono molto positivi  (soprattutto per tutti gli aspetti di velocizzazione ed efficienza che pongono in essere) permettendo anche di svolgere lattivita` legale con maggiore approfondimento (avendo a disposizione di fatto piu` strumenti) e maggiore tempestivita`, considerando anche in questambito le potenzialita` della ulteriore strumentazione informatica di cui il professionista puo` dotarsi.</p>
<div style="text-align: right;">
Avv. Emanuela Andreozzi
</div>
<div style="text-align: right;">
Avvocatura Regionale INAIL delle Marche
</div>
<p>&nbsp;</p>
</div>
<div class="post">
<h1 class="post-title">
<a href="/index.php/archives/9">
@ -266,275 +575,6 @@ echo Complete.
</div>
<div class="post">
<h1 class="post-title">
<a href="/index.php/archives/13">
Nativi digitali: oltre il recinto della Generazione Google
</a>
</h1>
<span class="post-date">13 Jun 2015</span>
<p>&nbsp;</p>
<blockquote class="tr_bq">
<p>
<span style="font-family: inherit;">Facebook per molti utenti è l&#8217;unico sito visitato, tanto da essere per molti sinonimo e sostituto integrale di Internet. Qui le regole d&#8217;uso vengono decise unilateralmente, senza dibattito [&#8230;] È un ambiente chiuso, controllato secondo criteri bizzarri e soprattutto insindacabili. Il parco pubblico è stato sostituito dal centro commerciale. E a<span style="font-family: inherit;">d</span> un miliardo e cento milioni di utenti questo va benissimo. </span><br /> <span style="font-family: inherit;"><br /> I dati indicano che stiamo rinunciando progressivamente agli elementi tecnici fondamentali che hanno permesso lo sviluppo della Rete, sostituendoli con un ecosistema hardware e software progressivamente sempre più chiuso. La mia preoccupazione è che tutto questo non crea nativi digitali. Crea polli di batteria</span>
</p>
</blockquote>
<p>Cosi` si chiude l&#8217;<a href="http://www.agendadigitale.eu/competenze-digitali/550_per-favore-non-chiamateli-nativi-digitali.htm">articolo</a> di <a href="http://www.attivissimo.net/">Paolo Attivissimo</a> sui (falsi) nativi digitali, su quelli che per molti genitori sono piccoli Mozart della tecnologia capaci di maneggiare con naturalezza dispositivi piatti e lucidi e di navigare senza impacci in un mare di icone quadrate.</p>
<p>Ma fra queste icone non si cela la conoscenza.</p>
<p>Gli smartphone e tutti i dispositivi che molti di noi definiscono perfino <a href="http://www.ilpost.it/2014/10/07/recensione-iphone-6-plus-mantellini/"><em>intimi</em></a> _<em>nonostante rendono la connessione al web trasparente, impalpabile, sono scatole chiuse sia fisicamente che <u>legalmente</u>, e ci privano quindi della possibilita` (e del diritto) di smontare, aprire, guardare e diventare _hacker</em> (nel senso originario del <a href="https://en.wikipedia.org/wiki/Hacker_%28programmer_subculture%29">termine</a>).</p>
<p>I dispositivi mobili non stanno costruendo la strada verso la conoscenza e la liberta` democratica, stanno fissando attorno a noi un alto recinto protetto dal falso mito di un Web 2.0 democratico.</p>
<h4 id="chi-trova-un-amico-8230-trova-un-business"><span style="font-size: x-large;"><span style="font-weight: normal;">Chi trova un amico&#8230; trova un business</span></span></h4>
<h4 id="><span style="font-weight: normal;"> </span></h4>
<p>Nel 1970 gli sviluppatori del sistema <a href="https://en.wikipedia.org/wiki/Xerox_Star">Xerox Star</a> introdussero nei loro sistema il <a href="https://it.wikipedia.org/wiki/Metafora_della_scrivania">Desktop</a>.</p>
<p>La “scrivania” non e` altro che una <u>metafora</u> che venne usata da <a href="https://it.wikipedia.org/wiki/Alan_Kay">Alan Kay</a> e dal <a href="https://it.wikipedia.org/wiki/Xerox_Palo_Alto_Research_Center">centro di ricerca Xerox</a> per poter permettere agli utenti di orientarsi in un ambiente del tutto estraneo utilizzando metafore che si ricollegano ad oggetti del tutto conosciuti.</p>
<p>40 anni dopo il desktop e` praticamente scomparso, non serve perche` ormai i nuovi dispositivi portatili sono fool-proof (almeno per i “nativi digitali”) ed invece si e` affermata una nuova metafora vincente: <em>l&#8217;amicizia</em>.</p>
<p>L&#8217;amicizia e` la metafora che alimenta il business delle piattaforme nel mondo del web sociale, e le stesse piattaforme agiscono da filtro per la nostra esperienza nel web e nel mondo reale. Cosi` come i fotografi con la passione e l&#8217;esperienza sviluppano l&#8217;occhio da inquadratura, i “nativi digitali” acquisiscono l&#8217;occhio da social, quella skill che permette loro di riconoscere l&#8217;occasione giusta per misurarsi con una condivisione in piu`.</p>
<p>Ma la metafora dell&#8217;amicizia sta anche alimentando attorno a noi una “<a href="http://dontbubble.us/">filter bubble</a>” che attraverso algoritmi sceglie cosa nasconderci. La ricerca di Google, in generale tutto il web della “smart personalization”, come definito da <a href="http://www.thefilterbubble.com/">Eli Pariser</a> nel suo libro &#8220;<a href="http://www.amazon.co.uk/Filter-Bubble-What-Internet-Hiding/dp/067092038X/">What the Internet is hiding from you</a>&#8220;, non fa altro che restituirci una ricerca distorta e chiusa tra noi e i nostri <em>amici</em>, dei risultati che “sono percepiti” come migliori.</p>
<p>Inoltre cosa succede quando, cosi` come lo studente reputato dal professore poco intelligente finisce per agire come tale, il nostro motore di ricerca e il nostro social network decidono chi siamo?</p>
<h4 id="che-la-rete-non-ci-catturi"><span style="font-size: x-large;">Che la rete non ci catturi</span></h4>
<blockquote class="tr_bq">
<div class="qt">
dsully: please describe web 2.0 to me in 2 sentences or less.<br /> jwb: you make all the content. they keep all the revenue &#8211; <a href="http://www.bash.org/?779320">bash.org</a>
</div>
</blockquote>
<p>Se il Web di <a href="https://en.wikipedia.org/wiki/Tim_Berners-Lee">Tim Berners Lee</a> era il Web della possibilita`, il Web 2.0 e` il Web della consapevolezza.</p>
<p>Dobbiamo imparare a tracciare un confine fra noi e le piattaforme, dobbiamo capire quanto sono alti i muri che “gli ecosistemi digitali”, termine quanto mai improprio, costruiscono attorno a noi, dobbiamo sapere quali dati sono nostri, quali dati possiamo barattare.</p>
<p>Per evitare che il servizio ci trasformi in servitori.</p>
<p>Per evitare che la piattaforma si trasformi in una gabbia dorata.</p>
<p>E soprattutto perche` per pensare digitale e` comunque necessario prima pensare.</p>
<table class="tr-caption-container" style="float: left; margin-right: 1em; text-align: left;" cellspacing="0" cellpadding="0" align="center">
<tr>
<td style="text-align: center;">
<a style="margin-left: auto; margin-right: auto;" href="http://francescomecca.eu/wp-content/uploads/2015/08/e41d5-infrastructures.png"><img src="http://francescomecca.eu/wp-content/uploads/2015/08/e41d5-infrastructures.png?w=300" alt="" width="640" height="304" border="0" /></a>
</td>
</tr>
<tr>
<td class="tr-caption" style="text-align: center;">
<a href="http://www.xkcd.com/743/">fonte</a>
</td>
</tr>
</table>
<p>Nei prossimi anni si creera` un divario sempre piu` ampio fra chi ha <u>scelto</u> come modellare la propria identita` digitale e chi, invece, non ha lo sguardo piu` lungo del suo schermo e si lascia guidare da un meccanicismo acritico quanto mai radicato nella moderna societa` dei consumi.</p>
<p>La strada per la riduzione del divario digitale e la democratizzazione del web passa per le scuole e l&#8217;istruzione, forse uno dei pochi settori dove le istituzioni pubbliche hanno piu` potere della macchina del denaro della Silicon Valley.</p>
<div style="text-align: right;">
Francesco Mecca
</div>
</div>
<div class="post">
<h1 class="post-title">
<a href="/index.php/archives/16">
Aerei FBI: pericolo per la privacy o sicurezza per i cittadini?
</a>
</h1>
<span class="post-date">06 Jun 2015</span>
<p>Recentemente l&#8217;<a href="http://bigstory.ap.org/article/4b3f220e33b64123a3909c60845da045/fbi-behind-mysterious-surveillance-aircraft-over-us-cities">Associated Press</a> ha dichiarato che sono stati avvistati numerosi aerei americani che volavano a bassa quota nei pressi di alcune città americane. Dopo averli tracciati si è scoperto che gli aerei erano in possesso dell&#8217;FBI, che ne aveva menzionato ben 115 nel documento di bilancio federale del 2009.</p>
<p>Per molti anni questi aerei avevano aiutato l&#8217;FBI con le operazioni di sorveglianza al suolo, ora invece sono stati equipaggiati con telecamere hi-tech e dispositivi in grado di tracciare migliaia di telefoni e risalire ai propri possessori anche se non si stanno effettuando chiamate, anche se a quanto detto dall&#8217;agenzia quest&#8217;ultima tecnologia è usata raramente.</p>
<p>Charles Grasseley, presidente della commissione Giustizia del Senato, ha detto: &#8220;E&#8217; importante che le forze dell&#8217;ordine abbiano gli strumenti essenziali per rintracciare e catturare i criminali, ma quando un&#8217;operazione monitora anche i cittadini americani che non sono sospettati, dobbiamo essere sicuri di salvaguardare la libertà degli americani innocenti&#8221;.</p>
<div class="separator" style="clear:both;text-align:center;">
<a href="http://francescomecca.eu/wp-content/uploads/2015/08/865de-fbi.png" style="margin-left:1em;margin-right:1em;"><img border="0" height="192" src="http://francescomecca.eu/wp-content/uploads/2015/08/865de-fbi.png?w=300" width="320" /></a>
</div>
<div style="text-align:center;">
<span style="font-size:x-small;">Logo dell&#8217;FBI, fonte <a href="http://it.wikipedia.org/wiki/Federal_Bureau_of_Investigation">wikipedia</a></span>
</div>
<p>L&#8217;FBI ha dichiarato che l&#8217;attrezzatura degli aerei serviva per investigazioni in corso e non per la sorveglianza di massa, associando a questi aerei 13 compagnie fittizie come  FVX Research, KQM Aviation, NBR Aviation e PXW Services. Queste finte aziende vengono utilizzate per proteggere la sicurezza dei piloti, l&#8217;FBI ha detto e per proteggere anche l&#8217;identità del velivolo in modo che i sospetti sul terreno non sanno che sono seguiti.<br>
Per vedere il documento pubblico clicca <a href="https://www.documentcloud.org/documents/2090186-fbi-surveillance-plane-documents.html">qui</a></p>
<p>Ma l&#8217;FBI non è stata la prima ad adottare questi metodi, infatti la DEA, Drug Enforcement Administration, ha anche registrato imprese fittizie, secondo un rapporto dell&#8217; ispettore generale 2011 del Dipartimento di Giustizia.</p>
<p>Aspetti fondamentali del programma del FBI sono trattenuti dal pubblico nelle versioni censurate di rapporti ufficiali da ispettore generale del Dipartimento di Giustizia, e l&#8217;FBI è stata anche attenta a non rivelare i suoi voli di sorveglianza in atti giudiziari. L&#8217;agenzia non dirà quanti aerei sono attualmente nella sua flotta.</p>
<p>Nel corso delle ultime settimane sono stati rintracciati aerei della flotta del FBI su più di 100 voli su almeno 11 stati più il Distretto di Columbia, incluse parti di di Boston, Chicago, Dallas, Houston, Minneapolis, Phoenix, Seattle e California del sud.</p>
<p>Alcuni voli orbitavano attorno grandi edifici chiusi per lunghi periodi in cui la fotografia aerea sarebbe meno efficace che i segnali di raccolta elettronica<br>
David Gomez, un ex agente dell&#8217;FBI , ha detto che il velivolo di sorveglianza dell&#8217;FBI sono utilizzati per aiutare la sorveglianza a terra, permettendo agli agenti durante un inseguimento di rimanere indietro e non far saltare la copertura.</p>
<p>L&#8217;FBI ha chiesto di non divulgare i nomi delle compagnie finte, ma l&#8217;Associated Press ha rifiutato la richiesta perchè queste sono elencate in documenti pubblici e in database governativi.</p>
<p>Le forze dell&#8217;ordine hanno detto che gli avvocati del Dipartimento di Giustizia hanno approvato la decisione di creare società fittizie e che la Federal Aviation Administration era a conoscenza della pratica. L&#8217;FBI ha messo in pratica questi metodi sin dal tardo 1980, secondo un rapporto del 1990 della General Accounting.</p>
<div style="text-align:right;">
Eugenio Corso
</div>
<div>
</div>
</div>
<div class="post">
<h1 class="post-title">
<a href="/index.php/archives/19">
Guida pratica a LUKS
</a>
</h1>
<span class="post-date">01 Jun 2015</span>
<blockquote>
<div style="text-align: left;">
<i>&#8220;When privacy is outlawed, only outlaws will have privacy&#8221;</i>
</div>
</blockquote>
<p style="text-align: right;">
<a href="https://en.wikipedia.org/wiki/Phil_Zimmermann">Phil Zimmerman </a>
</p>
<p style="text-align: left;">
Questa e` una guida pratica alluso di LUKS su Linux.
</p>
<p style="text-align: left;">
LUKS e` un acronimo che sta per Linux Unified Key Setup ed e` il formato standard per il disk-encryption, creato nel 2004, si distingue da molti altri formati crittografici per la particolareggiata documentazione e soprattutto per esser stato sottoposto ad auditing, ovvero il processo di controllo del codice sorgente per verificarne lintegrita`, lefficacia e la robustezza degli algoritmi e lassenza di backdoor o bug software critici.
</p>
<p style="text-align: left;">
Il primo passo per utilizzare LUKS e` installarlo sulla propria distribuzione, o controllare se e` gia` presente.
</p>
<h2 style="text-align: left;">
Preparare la partizione
</h2>
<p style="text-align: left;">
In questo esempio la partizione /dev/sda1 viene formattata e sovrascritta.
</p>
<pre class="wp-code-highlight prettyprint linenums:1"># cryptsetup -y -v luksFormat /dev/sda1
WARNING!
========
This will overwrite data on /dev/sda1 irrevocably.
Are you sure? (Type uppercase yes): YES
Enter LUKS passphrase:
Verify passphrase:
Command successful.</pre>
<p>In questo post useremo i parametri di default che sono:</p>
<pre class="wp-code-highlight prettyprint linenums:1"># cryptsetup -v cipher aes-xts-plain64 key-size 256 hash sha1 iter-time 1000 use-urandom verify-passphrase luksFormat /dev/sda1</pre>
<p>ed equivalgono al precedente; se si vuole adottare un livello di sicurezza maggiore e personalizzata si puo` eseguire</p>
<pre class="wp-code-highlight prettyprint linenums:1">#cryptsetup benchmark</pre>
<p>e scegliere il cypher e lalgoritmo che si preferisce. Si ricorda che il numero relativo alla dimensione della chiave e` la meta` di quello usato da LUKS, ovvero 512 bit in questo caso.</p>
<p>Il prossimo comando inizializza il volume dopo aver inserito la chiave per il volume. Il terzo argomento e` il nome che si vuole scegliere per la partizione.</p>
<p>La password scelta non puo` esser in nessun modo recuperata.</p>
<pre class="wp-code-highlight prettyprint linenums:1">#cryptsetup luksOpen /dev/sda1 testvolume
Enter passphrase for /dev/sda1:</pre>
<p style="text-align: left;">
Ora /dev/sda1 correttemente inizializzato viene mappato su /dev/mapper/testvolume. Per verificare lo stato del volume:
</p>
<pre class="wp-code-highlight prettyprint linenums:1"># cryptsetup -v status testvolume
/dev/mapper/testvolume is active.
type: LUKS1
cipher: aes-cbc-essiv:sha256
keysize: 512 bits
device: /dev/sda1
offset: 4096
sectors size: 419426304
sectors mode: read/write
Command successful.</pre>
<h2 style="text-align: left;">
Formattare la partizione
</h2>
<p>Ora ci si deve assicurare che in caso di unanalisi esterna ogni dato venga visto come una serie random di zero ed uno senza valore e assicurarsi che non ci sia un leak di informazioni relative alluso del disco:</p>
<pre class="wp-code-highlight prettyprint linenums:1"># dd if=/dev/zero of=/dev/mapper/testvolume</pre>
<p>Poi creare un filesystem, in questo caso ext4</p>
<pre class="wp-code-highlight prettyprint linenums:1"># mkfs.ext4 /dev/mapper/testvolume</pre>
<h2 style="text-align: left;">
Montare e chiudere il disco
</h2>
<p>Per montare da /dev/mapper il disco e poterlo utilizzare digitare:</p>
<pre class="wp-code-highlight prettyprint linenums:1"># mount /dev/mapper/testvolume /mnt/testvolume</pre>
<p>e per chiudere il volume in maniera sicura:</p>
<pre class="wp-code-highlight prettyprint linenums:1"># umount /mnt/testvolume
# cryptsetup luksClose testvolume</pre>
<h2 style="text-align: left;">
Cambiare password
</h2>
<p>LUKS supporta anche piu` di una password per volume quindi si procede aggiungendo una nuova password:</p>
<pre class="wp-code-highlight prettyprint linenums:1"># cryptsetup luksAddKey /dev/sda1
Enter any passphrase:
Enter new passphrase for key slot:
Verify passphrase:</pre>
<p>e poi rimuovendo quella precedente:</p>
<pre class="wp-code-highlight prettyprint linenums:1"># cryptsetup luksRemoveKey /dev/sda1</pre>
<p>Oppure in alternativa si puo` utilizzare</p>
<pre class="wp-code-highlight prettyprint linenums:1">#cryptsetup luksChangekey /dev/sda1</pre>
<p>Se si volesse rendere completamente inaccessibile il volume basta rimuovere la chiave attraverso il comando:</p>
<pre class="wp-code-highlight prettyprint linenums:1">#cryptsetup luksErase /dev/sda</pre>
<p style="text-align: left;">
questa opzione non richiede password ed e` irreversibile.
</p>
<p style="text-align: right;">
Francesco Mecca
</p>
</div>
</div>
<div class="pagination">

File diff suppressed because it is too large Load diff

View file

@ -119,7 +119,7 @@
<a class="sidebar-nav-item" href="/feed.xml">RSS</a>
<a class="sidebar-nav-item" href="http://francescomecca.eu:3000">Personal Git</a>
<a class="sidebar-nav-item" href="http://francescomecca.eu:3000/explore/repos">Personal Git</a>
<span class="sidebar-nav-item" href="" >Powered by Jekyll and Hyde</span>
</nav>
@ -136,6 +136,749 @@
<div class="content container">
<div class="posts">
<div class="post">
<h1 class="post-title">
<a href="/index.php/archives/32">
Rischiare il carcere per TOR
</a>
</h1>
<span class="post-date">18 May 2015</span>
<p>Articolo tradotto da <a href="http://motherboard.vice.com/read/the-operators">motherboard.vice.com</a><span id="goog_42434934"></span><span id="goog_42434935"></span></p>
<p>Richard aveva avuto un lungo viaggio in macchina alle spalle. Circa un&#8217;ora prima, alle 05:30, la moglie Lisa aveva telefonato: </p>
<div>
</div>
<div>
<div>
&#8220;La casa è colma&#8221; disse con una voce calma ma udibilmente tesa. Richard si era appena svegliato e stava cercando di dare un senso alla chiamata e pensò ci dovesse essere un&#8217;altra perdita d&#8217;acqua nel seminterrato.
</div>
</div>
<div>
</div>
<div>
<div>
Invece la moglie gli disse che la casa era piena di agenti FBI che volevano parlare con lui.
</div>
</div>
<div>
</div>
<div>
<div>
&#8220;Ok sto arrivando&#8221; disse Richard. Si mise alcuni vestiti, prese il suo portatile e il suo cellulare come richiesto dall&#8217;FBI, e uscì nella notte. Il viaggio sull&#8217;interstatale da Milwuakee, dove stava lavorando come ingegnere del software, a casa sua a Indianapolis gli richiese circa cinque ore, più del tempo necessario per capire cosa stava accadendo.
</div>
</div>
<div>
</div>
<div>
<div>
Era qualcosa a che fare con i computer, aveva detto Lisa. L&#8217;unica cosa che Richard pensò potesse essere collegata a questo era il suo <a href="https://it.wikipedia.org/wiki/Tor_%28software%29#Exit_router" target="_blank">exit node</a> di <a href="https://www.torproject.org/" target="_blank">TOR</a>.
</div>
</div>
<div>
</div>
<div>
<div>
TOR &#8211; un progetto originariamente sviluppato dalla marina americana &#8211; collega server, alcuni grandi, altri più piccoli, diffusi in tutto il mondo. Quando un utente si connette al network il suo traffico internet è indirizzato casualmente ad almeno tre di questi server, protetto per tutto il tempo da strati di crittografia, rendendo quasi impossibile a chiunque monitorare il traffico per determinare chi sta mandando cosa o dove sia stata spedita.</p>
<div class="separator" style="clear:both;text-align:center;">
<a href="http://francescomecca.eu/wp-content/uploads/2015/08/e8ff7-computer_keyboard.png" style="margin-left:1em;margin-right:1em;"><img border="0" src="http://francescomecca.eu/wp-content/uploads/2015/08/e8ff7-computer_keyboard.png" /></a>
</div>
<div style="text-align:center;">
<span style="font-size:x-small;">immagine presa da <a href="http://en.wikipedia.org/wiki/Typing">wikipedia</a></span>
</div>
</div>
</div>
<div>
</div>
<div>
<div>
Questo permette ai dissidenti di comunicare anonimamente, ai cittadini di bypassare la censura del governo, e ai criminali di vendere carte di credito o distribuire pedopornografia. TOR facilita anche siti speciali chiamati &#8220;servizi nascosti&#8221; , parte del così detto web oscuro. Con questa tecnologia si permette ai proprietari del sito e ai loro utenti di rimanere ampiamente anonimi.
</div>
</div>
<div>
</div>
<div>
<div>
L&#8217;ultima serie di server che TOR utilizza in questo processo sono chiamati &#8220;nodi di uscita&#8221;, perché sono i punti in cui il traffico dell&#8217;utente esce dalla rete TOR e si unisce al web normale che usiamo tutti i giorni.
</div>
</div>
<div>
</div>
<div>
<div>
Invece di essere gestiti da una società, la maggior parte di questi nodi sono mantenuti da volontari, o &#8220;operatori&#8221;. Alcune organizzazioni mantengono le uscite più grandi, un certo numero di università ha le proprie, e gli attivisti volontari ne gestistono anche alcune. Edward Snowden aveva riferito di averne uno.
</div>
</div>
<div>
</div>
<div>
<div>
Richard era uno di questi operatori.
</div>
</div>
<div>
</div>
<div style="text-align:center;">
<h4>
<span style="color:#38761d;font-size:large;font-weight:normal;">Il nodo di uscita di Richard avrebbe potuto essere implicato in qualsiasi cosa</span>
</h4>
<div style="text-align:left;">
<div style="text-align:center;">
</div>
<p></div></p>
<p><div style="text-align:left;">
<div>
Sebbene Richard aveva ipotizzato che la chiamata era collegata al suo exit node, non sapeva ancora specificatamente su cosa stesse investigando l&#8217;FBI quando aveva iniziato il viaggio verso casa. 
</div></p>
<div class="highlight"><pre><code class="language-" data-lang="">&lt;div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&amp;#8220;Un organizzazione per la distribuzione di pedopornografia è stato arrestato? O un attacco di hacking? O era stato chiamato un allarme bomba? Non avevo idea di cosa fosse, &amp;#8220;Richard poi mi disse al telefono.
&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
Quando qualcuno usa TOR il suo indirizzo IP è quello a cui è stato casualmente assegnato. Questo significa che se qualcuno manda per e-mail una minaccia di morte, o inviare una raffica di spam, è l&amp;#8217;IP del nodo di uscita che appare quando le autorità iniziano a investigare sulle impronte digitali del crimine digitale. Il nodo di Richard avrebbe potuto essere implicati in qualsiasi cosa. 
&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
Tuttavia, Kurt Opsahl, il consigliere generale delegato della Electronic Frontier Foundation (EFF), ritiene che la gestione di un nodo d&amp;#8217;uscita di TOR è legale, almeno secondo il diritto statunitense.
&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
Ma se un operatore gestisce un nodo da casa sua, e sotto la propria connessione ad internet, &amp;#8220;può essere confuso tra l&amp;#8217;essere una fonte del traffico, e essere un nodo di uscita del traffico&amp;#8221;, Opsahl mi disse. Per chiunque guardi il flusso delle attività in uscita &amp;#8211; sia che riguardi materiale pedopornografico, o un tentativo di hackerare un sito web &amp;#8211; queste sembrano far parte dell&amp;#8217;utilizzo personale dell&amp;#8217;operatore. Ciò potrebbe portare a un&amp;#8217;incursione nella casa dell&amp;#8217;operatore, anche se la gestione di un exit node è senza dubbio legale.
&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
Per questo motivo, e altri elencati sul sito web del progetto TOR, gli operatori sono invitati a gestire solo le loro uscite a distanza, affittando spazio sul server.
&lt;div style="text-align:center;"&gt;
&lt;/div&gt;
&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left:auto;margin-right:auto;text-align:center;"&gt;
&lt;tr&gt;
&lt;td style="text-align:center;"&gt;
&lt;a href="http://francescomecca.eu/wp-content/uploads/2015/08/b3337-jailtor2.jpg" style="margin-left:auto;margin-right:auto;"&gt;&lt;img border="0" height="343" src="http://francescomecca.eu/wp-content/uploads/2015/08/b3337-jailtor2.jpg?w=300" width="400" /&gt;&lt;/a&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class="tr-caption" style="text-align:center;"&gt;
original content
&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;
&lt;div style="text-align:center;"&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
 Questo è ciò che fece Richard. Attraverso una società con sede a St. Louis, la sua uscita TOR era stato collocata in un centro dati tedesco per 18 mesi. Ma sembra che non era stato sufficiente per fermare un&amp;#8217;incursione in casa sua.
&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
Tornando in periferia, gli agenti dell&amp;#8217;FBI interrogarono Lisa. Perché la famiglia aveva affittato così tante auto? Perché Richard aveva preso in affitto così tanti computer? Lisa, un venditore per l&amp;#8217;azienda di computer networking 3Com Corporation, si destreggiò tra le domande più tecniche degli agenti.
&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
L&amp;#8217;incursione era iniziata prima dell&amp;#8217;alba. Dopo essere arrivati con otto veicoli delle forze dell&amp;#8217;ordine non marcate, gli agenti dell&amp;#8217;FBI avevano martellato sulla porta e avevano affollato la casa, dopo aver estratto le armi automatiche.  Non lasciarono nemmeno accendere la caffettiera alla sorellastra di Richard fino a quando la zona fu dichiarata &amp;#8220;sicura&amp;#8221;.  Un team di esperti di computer entrò nella proprietà dopo la squadra iniziale dell&amp;#8217;FBI.  Secondo il mandato di perquisizione ottenuto dalla scheda madre, erano alla ricerca di prove di accesso non autorizzato a un computer, furto di segreti commerciali, o cospirazione.
&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
Gli esperti sequestrarono il server domestico e un personal computer desktop, sui quali era installato Linux. Incredibilmente, lasciarono le altre due macchine Windows. Dopo aver preso i computer, gli agenti condussero una ricerca più approfondita.  Un agente guardò anche dietro un dipinto per vedere se ci fosse qualcosa nascosto. Anche se il resto della casa era stato lasciato in uno stato ordinato, l&amp;#8217;ufficio di Richard era stato fatto a pezzi, mi disse dopo aver visto l&amp;#8217;effetto dell&amp;#8217;incursione.
&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
Questa non e` la prima volta che un operatore riceve la visita delle forze dell&amp;#8217;ordine.
&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
Nel 2013, la polizia fece irruzione nella casa di William Weber, un amministratore IT austriaco, e confiscarono 20 computer, console di gioco e altri dispositivi poichè la pornografia infantile era stata trasmessa attraverso una dei suoi molti nodi.
&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
L&amp;#8217;anno seguente, Weber fu giudicato colpevole di distribuzione di tale materiale illegale. Decise di non ricorrere in appello perché aveva già utilizzato tutti i suoi risparmi in spese legali. Prima di allora, Weber aveva affermato di aver ricevuto minacce di essere estradato in Polonia per affrontare le accuse separate di hacking, e inoltre la polizia aveva sottoposto i suoi amici e colleghi a un&amp;#8217;interrogatorio. 
&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
Un altro uomo, in Germania, Alex &amp;#8220;Yalla&amp;#8221; Janssen, decise di chiudere il suo nodo dopo essere stato perquisito due volte dalla polizia.
&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&amp;#8220;Non posso farlo più, mia moglie ed io eravamo spaventati a morte&amp;#8221;, ha scritto sul suo blog poco dopo. &amp;#8220;Sono alla fine del mio coraggio civile. Mi terrò impegnato nel progetto TOR, ma non voglio più gestire un server. Scusate. No. &amp;#8220;
&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
Non ci sono dati concreti di quanti operatori siano stati perquisiti a causa della gestione di un uscita, perché gli eventi non sono sempre segnalati. In cima a quello, non è chiaro in primo luogo quanti operatori ci siano. Anche se poco più di 1.000 nodi di uscita sono in funzione al momento della scrittura, un operatore potrebbe mantenerne più di uno alla volta. Indipendentemente dalle centinaia di persone che gestiscono i nodi d&amp;#8217;uscita, &amp;#8220;penso che siano una manciata&amp;#8221; che sono stati perquisiti, mi disse al telefono Andrew Lewman, ex direttore esecutivo del progetto TOR. (Lewman recentemente ha lasciato il progetto TOR  per un altro lavoro). 
&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div class="MsoNormal" style="text-align:center;"&gt;
&lt;span style="color:#38761d;font-size:large;"&gt;Alle forze dellordine vengono dati dei contingenti e in questo momento, la criminalità informatica è in crescita&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#38761d;font-size:large;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left:auto;margin-right:auto;text-align:center;"&gt;
&lt;tr&gt;
&lt;td style="text-align:center;"&gt;
&lt;a href="http://francescomecca.eu/wp-content/uploads/2015/08/0ceba-geographies_of_tor255b1255d.png" style="margin-left:auto;margin-right:auto;"&gt;&lt;img border="0" height="255" src="http://francescomecca.eu/wp-content/uploads/2015/08/0ceba-geographies_of_tor255b1255d.png?w=300" width="400" /&gt;&lt;/a&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class="tr-caption" style="text-align:center;"&gt;
fonte: &lt;a href="https://en.wikipedia.org/wiki/Tor_(anonymity_network)"&gt;wikipedia&lt;/a&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;
&lt;div style="text-align:left;"&gt;
&lt;span style="text-align:justify;"&gt;Qualche volta, la casa di un operatore non è invasa, ma il suo exit node è chiuso lo stesso, sequestrato, o in qualche modo manomesso dalle forze dellordine. Dopo aver notato qualche strana attività su questa uscita, Thomas White, un activista situato in UK, lo ha segnalato alla mailing list di TOR.&lt;/span&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="MsoNormal" style="text-align:justify;"&gt;
&lt;/div&gt;
&lt;div class="MsoNormal" style="text-align:justify;"&gt;
“Avendo visto lultima informazione disponibile dei sensori, la rete dei server era aperta e un dispositivo USB sconosciuto era stato collegato prima che la connessione fosse saltata,” White scrisse a Dicembre. “Per esperienza so che questo tipo di attività è simile al protocollo di sofisticate forze dellordine che effettuano una ricerca e un sequestro dei server attivi.”
&lt;/div&gt;
&lt;div class="MsoNormal" style="text-align:justify;"&gt;
&lt;/div&gt;
&lt;div class="MsoNormal" style="text-align:justify;"&gt;
Quando ho chiesto a White di spiegare cosa fosse esattamente accaduto, lui disse che non poteva senza dover affrontare conseguenze legali.
&lt;/div&gt;
&lt;div class="MsoNormal" style="text-align:justify;"&gt;
&lt;/div&gt;
&lt;div class="MsoNormal" style="text-align:justify;"&gt;
Tuttavia, mi disse che le forze dellordine avevano preso circa 14 dei suoi 40 server, e analizzati molti di più.
&lt;/div&gt;
&lt;div class="MsoNormal" style="text-align:justify;"&gt;
&lt;/div&gt;
&lt;div class="MsoNormal" style="text-align:justify;"&gt;
“Sospetto che la ragione dietro molti sequestri o problemi è che loro vogliono essere visti per fare qualcosa,” White continuò. “Alle forze dellordine vengono dati dei contingenti e in questo giorno ed età, la criminalità informatica è in crescita. Perché spendiamo milioni su una grande operazione per catturare un hacker quando loro possono sequestrare solamente un server e aggiungere un&amp;#8217;altra tacca al riscontro sui loro contingenti?”
&lt;/div&gt;
&lt;div class="MsoNormal" style="text-align:justify;"&gt;
&lt;/div&gt;
&lt;div class="MsoNormal" style="text-align:justify;"&gt;
Questo mese, un altro operatore ha affermato che lui o lei ha avuto un mandato di comparizione per rintracciare un utente di TOR, nonostante loperatore non fosse in grado di farlo.
&lt;/div&gt;
&lt;div class="MsoNormal" style="text-align:justify;"&gt;
&lt;/div&gt;
&lt;div class="MsoNormal" style="text-align:justify;"&gt;
Oltre a gestire luscita in remoto, un altro passo protettivo per evitare ogni problema è entrare in un organizzazione operativa, che è anche raccomandata dal progetto TOR.
&lt;/div&gt;
&lt;div class="MsoNormal" style="text-align:justify;"&gt;
&lt;/div&gt;
&lt;div class="MsoNormal" style="text-align:justify;"&gt;
Moritz Bartl, il quale ha mantenuto unuscita dal 2006, è a capo di un gruppo umbrella che trasmettono su una dozzina di organizzazioni differenti che gestiscono le uscite. Chiamata Torservers.net, il gruppo si occupa di ogni denuncia di abusi che nascono dalluso di uscite dei suoi membri, come anche rimborsare alcuni operatori al costo di gestirli.
&lt;/div&gt;
&lt;div class="MsoNormal" style="text-align:justify;"&gt;
&lt;/div&gt;
&lt;div class="MsoNormal" style="text-align:justify;"&gt;
La maggior parte delle denunce che Bartil riceve riguardano contenuti piratati, e tipicamente non risultano alcuna incursione o sequestri di server. Nonostante ciò, Bartil dice che loro non ne ricevono così tanti.
&lt;/div&gt;
&lt;div class="MsoNormal" style="text-align:justify;"&gt;
&lt;/div&gt;
&lt;div class="MsoNormal" style="text-align:justify;"&gt;
“Riceviamo unindagine di polizia ogni mese,”dice.”Rispondiamo che noi non abbiamo alcun  dato utente, e che a noi è legalmente concesso raccogliere questo tipo di dati, e anche se fossimo, avrebbe tecnicamente senso”.
&lt;/div&gt;
&lt;div class="MsoNormal" style="text-align:justify;"&gt;
&lt;/div&gt;
&lt;div class="MsoNormal" style="text-align:justify;"&gt;
Ma quelli che vengono assaliti o altrimenti molestati sono una piccola parte degli operatori di TOR, e alcuni sentono che la precaria situazione attorno al loro lavoro è esagerata.
&lt;/div&gt;
&lt;div class="MsoNormal" style="text-align:justify;"&gt;
&lt;/div&gt;
&lt;div class="MsoNormal" style="text-align:justify;"&gt;
“In totale, ho ricevuto 50 DMCA avvisi di infrazione, 20 denunce di abuso, e zero visite dei federali,” Lewman dal progetto TOR, usando lo pseudonimo phobos, scritto nel 2008. “Mi dispiace deluderti se tu ti aspettavi la SWAT e gli elicotteri neri e gli inseguimenti folli per le strade. La vita vera è molto più noiosa.” Lewman non gestisce più uscite di TOR.
&lt;/div&gt;
&lt;div class="MsoNormal" style="text-align:justify;"&gt;
&lt;/div&gt;
&lt;div class="MsoNormal" style="text-align:justify;"&gt;
Linterrogatorio dellFBI continua. Gli agenti chiesero che interesse avesse Richard nel Houston Astros, la squadra di baseball? Nessuno, replicò sua moglie. Richard non guarda per niente sport.
&lt;/div&gt;
&lt;div class="MsoNormal" style="text-align:justify;"&gt;
&lt;/div&gt;
&lt;div class="MsoNormal" style="text-align:justify;"&gt;
Ormai, il sole era sorto, sebbene ci fosse un freddo pungente nellaria. Richard stava ancora guidando, ricevette una seconda chiamata da Lisa, la quale disse che lincursione aveva a che fare qualcosa con lAstros. In particolare, gli agenti stavano cercando i registri degli accessi nella rete dei computer dellHuston Astros, inclusi il loro sistema email o quello Ground Control un database in casa usato per registrare le statistiche di baseball- così come ogni credenziali di accesso, secondo il mandato di perquisizione.
&lt;/div&gt;
&lt;div class="MsoNormal" style="text-align:justify;"&gt;
&lt;/div&gt;
&lt;div class="MsoNormal" style="text-align:justify;"&gt;
Lamministratore del sistema dellHuston Astros non rispondeva alle mie domande riguardanti qualsiasi violazione del loro sistema, e mi ha indirizzato al rappresentante dei media della compagnia, il quale ha anche rifiutato di commentare.
&lt;/div&gt;
&lt;div class="MsoNormal" style="text-align:justify;"&gt;
&lt;/div&gt;
&lt;div class="MsoNormal" style="text-align:justify;"&gt;
Richard era ancora perplesso. “Non ho mai violato nessun sito in vita mia,” mi disse in seguito.
&lt;/div&gt;
&lt;div class="MsoNormal" style="text-align:justify;"&gt;
&lt;/div&gt;
&lt;div class="MsoNormal" style="text-align:justify;"&gt;
Quando chiesi a Richard perché creò la sua uscita, lui disse che poteva essere riassunto in una sola parola: colpa.
&lt;/div&gt;
&lt;div class="MsoNormal" style="text-align:justify;"&gt;
&lt;/div&gt;
&lt;div class="MsoNormal" style="text-align:justify;"&gt;
“Sono sempre stato più interessato a proposito della sorveglianza per unitera decade, e dopo ho trovato un lavoro,” continuò. “Si scopri che io stavo facendo un lavoro di subappalto per lNSA.” Richard, essendo un ingegnere del software contrattuale, aveva lavorato sulle comunicazioni satellitari sicure, disse.
&lt;/div&gt;
&lt;div class="MsoNormal" style="text-align:justify;"&gt;
&lt;/div&gt;
&lt;div class="MsoNormal" style="text-align:justify;"&gt;
Questo fu tre anni fa, prima Edward Snowden espose vari programmi di sorveglianza di massa gestiti dallNSA, così come le sue controparti Five Eyes negli UK, Nuova Zelanda, Canada, e Australia. Nellanno precedente la decisione di Richard di diventare un operatore, era già stato rivelato che lNSA ha mantenuto stanze segrete in una serie di servizi dellAT&amp;T, e che George W. Bush aveva autorizzato un programma di intercettazioni senza mandato a seguito dell11 settembre. Richard ha da molto tempo lasciato la posizione affiliata allNSA, e sta correntemente lavorando a un progetto militare.
&lt;/div&gt;
&lt;div class="MsoNormal" style="text-align:justify;"&gt;
&lt;/div&gt;
&lt;div class="MsoNormal" style="text-align:justify;"&gt;
Tuttavia, Richard enfatizzò che non era lNSA in particolare ad averlo spinto oltre il limite. “Potrei altrettanto facilmente trovarmi un lavoro, lavorando per Google o qualche sorta di ufficio di dati sul credito minerario, o cose come queste,” mi disse. La sua risposta è stata più in risposta alla crescente tendenza di sorveglianza in generale.
&lt;/div&gt;
&lt;div class="MsoNormal" style="text-align:justify;"&gt;
&lt;/div&gt;
&lt;div class="MsoNormal" style="text-align:justify;"&gt;
“Sono stato interessato a lungo su ciò, e improvvisamente ho realizzato che ero parte del problema, e che era buono per me prendere misure attive per cercare di recuperare un po della privacy che avevamo perso negli ultimi anni,” lui disse.
&lt;/div&gt;
&lt;div class="MsoNormal" style="text-align:justify;"&gt;
&lt;/div&gt;
&lt;div class="MsoNormal" style="text-align:justify;"&gt;
White, loperatore situato in UK, ebbe una motivazione diversa per creare la sua uscita: voleva restituire il favore alla rete di TOR gestendo unuscita.
&lt;/div&gt;
&lt;div class="MsoNormal" style="text-align:justify;"&gt;
&lt;/div&gt;
&lt;div class="MsoNormal" style="text-align:justify;"&gt;
“Ho usato TOR per molto tempo, dal 2008,” disse. “Spero dopo anni di utilizzo, finalmente riportare un contributo alla rete sia qualcosa che sono in una buona posizione di fare. Inoltre, abbiamo bisogno di persone che agiscano come i fondamenti della rete, non in modo maligno e proteggano gli utenti della rete.”
&lt;/div&gt;
&lt;div class="MsoNormal" style="text-align:justify;"&gt;
&lt;/div&gt;
&lt;div class="MsoNormal" style="text-align:justify;"&gt;
Un altro operatore con cui ho parlato, il quale andò sotto lo pseudonimo di “Kura”, anche raramente usa Tor.
&lt;/div&gt;
&lt;div class="MsoNormal" style="text-align:justify;"&gt;
&lt;/div&gt;
&lt;div class="MsoNormal" style="text-align:justify;"&gt;
“Supporto il progetto in ogni modo ma, io non lo uso molto,” Kura disse di più sulla chat crittata. “Sono più interessato a fornire nodi così che le persone che ne hanno bisogno li utilizzano, poi li uso anche io.”&lt;/p&gt;
&lt;p&gt;
&lt;div style="margin-bottom:0;text-align:start;"&gt;
&lt;div style="text-align:center;"&gt;
&lt;span style="color:#38761d;"&gt;&lt;span style="font-size:large;"&gt;Permetto alle persone di esprimere liberamente le loro idee. E non sento il bisogno di scusarmi per questo&lt;/span&gt;&lt;/span&gt;
&lt;/div&gt;
&lt;p&gt;
&lt;span style="color:#38761d;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="margin-bottom:0;text-align:start;"&gt;
&lt;/div&gt;
&lt;div style="margin-bottom:0;text-align:start;"&gt;
Dopo che l&amp;#8217;FBI ha ottenuto cio&amp;#8217; che voleva, hanno lasciato la casa e chiamato Richard per chiedergli di raggiungerli e poterlo interrogare.
&lt;/div&gt;
&lt;div style="margin-bottom:0;text-align:start;"&gt;
&lt;/div&gt;
&lt;div style="margin-bottom:0;text-align:start;"&gt;
Nascosto dietro un centro commerciale, l&amp;#8217;ufficio del&amp;#8217; FBI aveva le sembianze di un qualsiasi ufficio, eccezion fatta per “le barre di ferro e le guardie che lo circondava”.
&lt;/div&gt;
&lt;div style="margin-bottom:0;text-align:start;"&gt;
&lt;/div&gt;
&lt;div style="margin-bottom:0;text-align:start;"&gt;
Per prima cosa hanno prelevato ogni oggetto dalle sue tasche e li hanno analizzati attraverso i raggi X, poi Richard e&amp;#8217; stato scortato in una piccola stanza per poter essere interrogato. Il primo era un agente locale, gli altri provenivano dall&amp;#8217;unita&amp;#8217; contro il cyber crimini con base ad Houston.
&lt;/div&gt;
&lt;div style="margin-bottom:0;text-align:start;"&gt;
&lt;/div&gt;
&lt;div style="margin-bottom:0;text-align:start;"&gt;
“Mi hanno chiesto come mai avessi questo server in affitto, e quali fossero le mie motivazioni” ha ricordato Richard mentre agitato rispondeva alle domande dell&amp;#8217;agente.
&lt;/div&gt;
&lt;div style="margin-bottom:0;text-align:start;"&gt;
“Come mai ho scelto la Germania? Per evadere dalle forze di polizia? Ho spiegato che la banda e&amp;#8217; nettamente piu&amp;#8217; economica in Europa”.
&lt;/div&gt;
&lt;div style="margin-bottom:0;text-align:start;"&gt;
&lt;/div&gt;
&lt;div style="margin-bottom:0;text-align:start;"&gt;
Richard ha preso in affitto il server per il suo nodo utilizzando il proprio nome e pagando con la propria carta di credito, mi ha raccontato. Ha aggiunto che fn semplice lookup dell&amp;#8217;IP ci avrebbe rivelato che operava come exit node per la rete TOR.
&lt;/div&gt;
&lt;div style="margin-bottom:0;text-align:start;"&gt;
&lt;/div&gt;
&lt;div style="margin-bottom:0;text-align:start;"&gt;
L&amp;#8217;agente speciale Joshua Phipps, l&amp;#8217;agente di Indianapolis che ha interrogato Richard, si e&amp;#8217; rifiutato di rispondere alle nostre domande. Inoltre un rappresentante del suo ufficio allo stesso modo non ci ha voluto dire se questa investigazione avesse prodotto alcun risultato positivo.
&lt;/div&gt;
&lt;div style="margin-bottom:0;text-align:start;"&gt;
&lt;/div&gt;
&lt;div style="margin-bottom:0;text-align:start;"&gt;
Un portavoce ci ha rivelato che ai propri agenti del dipartimento di polizia locale, i quali ufficiali hanno assistito l&amp;#8217;FBI nell&amp;#8217;indagine, non erano stati informati delle motivazioni per il raid in casa di Richard.
&lt;/div&gt;
&lt;div style="margin-bottom:0;text-align:start;"&gt;
&lt;/div&gt;
&lt;div style="margin-bottom:0;text-align:start;"&gt;
“[L&amp;#8217;agente di Houston] non sembrava molto ferratosull&amp;#8217;argomento. Sembrava un ufficiale a cui erano state fornite qualche indicazioni piuttosto che un tecnico che successivamente avesse sviluppato interesse nel far parte delle forze dell&amp;#8217;ordine” ci ha confessato Richard.
&lt;/div&gt;
&lt;div style="margin-bottom:0;text-align:start;"&gt;
&lt;/div&gt;
&lt;div style="margin-bottom:0;text-align:start;"&gt;
Andrew Lewman invece ha affermato che l&amp;#8217;FBI ha una dettagliata conoscenza di TOR e dei suoi meccanismi.
&lt;/div&gt;
&lt;div style="margin-bottom:0;text-align:start;"&gt;
&lt;/div&gt;
&lt;div style="margin-bottom:0;text-align:start;"&gt;
“L&amp;#8217;FBI si e&amp;#8217; occupata per molto tempo di leggere il codice sorgente durante le operazioni”, continua Lewman. The Tor Project educa le varie forze dell&amp;#8217;ordine cosa e&amp;#8217; esattamente TOR e come utilizzarlo loro stessi.
&lt;/div&gt;
&lt;div style="margin-bottom:0;text-align:start;"&gt;
&lt;/div&gt;
&lt;div style="margin-bottom:0;text-align:start;"&gt;
Quando ho chiesto se i raid come quello avvenuto a casa di Richard non sarebbero piu&amp;#8217; avvenuti, Lewman ha risposto: “probabilmente no”. Delle volte “dipende da ciascun dipartimento”, come si relazionano con il gestore del nodo, oppure “lo fanno di proposito, per dare una dimostrazione di forza”, ha aggiunto Lewman.
&lt;/div&gt;
&lt;div style="margin-bottom:0;text-align:start;"&gt;
&lt;/div&gt;
&lt;div style="margin-bottom:0;text-align:start;"&gt;
“Altre volte, i gestori non sono chiari come dovrebbero”, ovvero probabilmente potrebbero essere implicati in un crimine.
&lt;/div&gt;
&lt;div style="margin-bottom:0;text-align:start;"&gt;
&lt;/div&gt;
&lt;div style="margin-bottom:0;text-align:start;"&gt;
Ad oggi, il nodo di Richard e&amp;#8217; ancora operativo; Chat, foto e magari qualsiasi altro tipo di dato “maligno” da ogni parte del mondo. “Se i video dell&amp;#8217;ISIS attraversano il mio nodo non mi sento responsabile per quegli omicidi” ci dice Richard.
&lt;/div&gt;
&lt;div style="margin-bottom:0;text-align:start;"&gt;
&lt;/div&gt;
&lt;div style="margin-bottom:0;text-align:start;"&gt;
Opsahl dall&amp;#8217;EFF pensa che questa mancanza di responsabilita&amp;#8217; dovrebbe essere tale anche legalmente. “Penso sia davvero importante per il funzionamente della rete e per la liberta&amp;#8217; di espressione online che i gestori di servizi operino senza essere responsabile delle azioni dei loro utenti”. Questo dovrebbe valere anche per gli ISP, le compagnie di hosting, e quindi anche per chi gestisce un nodo TOR.
&lt;/div&gt;
&lt;div style="margin-bottom:0;text-align:start;"&gt;
&lt;/div&gt;
&lt;div style="margin-bottom:0;text-align:start;"&gt;
Richard, che ora sta aspettanto i prossimi sviluppi del caso, e&amp;#8217; sicuro che non avra&amp;#8217; ulteriori conseguenze poiche&amp;#8217; si ha un registro pubblico degli IP che operano come exit node di TOR.
&lt;/div&gt;
&lt;div style="margin-bottom:0;text-align:start;"&gt;
&lt;/div&gt;
&lt;div style="margin-bottom:0;text-align:start;"&gt;
In tutti i casi, “e&amp;#8217; molto traumatico vedersi un gruppo di uomini armati nella propria casa che ti rivolgono minacce”. Richard pensa che e&amp;#8217; lecito da parte dell&amp;#8217;FBI investigare sul proprietario del server implicato nell&amp;#8217;hacking, ma non dovrebbero entrarti in casa.
&lt;/div&gt;
&lt;div style="margin-bottom:0;text-align:start;"&gt;
&lt;/div&gt;
&lt;div style="margin-bottom:0;text-align:start;"&gt;
Cio&amp;#8217; che e&amp;#8217; impensabile, e&amp;#8217; che compaiano prima dell&amp;#8217;laba con un giubbotto antiproiettile e mostrando le armi, il tutto per investigare un crimine non violento”, ci spiega Richard.
&lt;/div&gt;
&lt;div style="margin-bottom:0;text-align:start;"&gt;
&lt;/div&gt;
&lt;div style="margin-bottom:0;text-align:start;"&gt;
Da quando ho parlato con Richard a Marzo non ha piu&amp;#8217; ricevuto visite dalle forze dell&amp;#8217;ordine. Ma il suo computer ancora non gli e&amp;#8217; stato restituito.
&lt;/div&gt;
&lt;div style="margin-bottom:0;text-align:start;"&gt;
&lt;/div&gt;
&lt;div style="margin-bottom:0;text-align:start;"&gt;
“Permetto alle persone di esprimere liberamente le loro idee” afferma Richard. “E non sento il bisogno di scusarmi per questo”.
&lt;/div&gt;
&lt;div style="margin-bottom:0;text-align:start;"&gt;
&lt;/div&gt;
&lt;ul style="text-align:start;"&gt;
&lt;li&gt;
&lt;div style="margin-bottom:0;"&gt;
I nomi delle persone sono fittizzi, Richard non vuole essere bersagliato dalle persone che si sfogano conto la pedopornografia, il terrorismo o tutto cio&amp;#8217; che puo&amp;#8217; essere associato negativamente a TOR.
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;div style="text-align:right;"&gt;
Eugenio Corso
&lt;/div&gt;
&lt;div style="text-align:right;"&gt;
Francesco Mecca
&lt;/div&gt;
&lt;div style="text-align:right;"&gt;
Gabriele Corso
&lt;/div&gt;&lt;/div&gt; &lt;/div&gt; &lt;/div&gt; &lt;/div&gt;
</code></pre></div>
</div>
<div class="post">
<h1 class="post-title">
<a href="/index.php/archives/36">
NSA e le intercettazioni telefoniche
</a>
</h1>
<span class="post-date">09 May 2015</span>
<div class="MsoNormal" style="text-align:justify;">
<table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float:right;margin-left:1em;text-align:right;">
<tr>
<td style="text-align:center;">
<a href="http://francescomecca.eu/wp-content/uploads/2015/08/da1b5-2000px-national_security_agency-svg.png" style="clear:right;margin-bottom:1em;margin-left:auto;margin-right:auto;"><img border="0" height="320" src="http://francescomecca.eu/wp-content/uploads/2015/08/da1b5-2000px-national_security_agency-svg.png?w=300" width="320" /></a>
</td>
</tr>
<tr>
<td class="tr-caption" style="text-align:center;">
immagine presa da <a href="http://en.wikipedia.org/wiki/National_Security_Agency" target="_blank">wikipedia</a><span id="goog_1228900754"></span><span id="goog_1228900755"></span><a href="https://www.blogger.com/"></a>
</td>
</tr>
</table>
<p>
<span>LNSA (National Security Agency) è un organo governativo degli USA che si occupa della sicurezza allinterno della nazione, tutelandola da eventuali attacchi. La sua nascita si ebbe quando il presidente della commissione </span><span style="background:white;font-family:Arial, sans-serif;">Herbert Brownell pensò che le comunicazioni allinterno delle forze armate dovevano essere coordinate meglio (anche se dopo il ruolo dellNSA fu esteso alla nazione), così nel giugno del 1952 il presidente Truman l autorizzò.</span></div>
<div class="highlight"><pre><code class="language-" data-lang="">&lt;div class="MsoNormal" style="text-align:justify;"&gt;
&lt;span style="background:white;font-family:Arial, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;/div&gt;
&lt;div class="MsoNormal" style="text-align:right;"&gt;
&lt;span style="background:white;font-family:Arial, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;/div&gt;
&lt;div class="MsoNormal" style="text-align:justify;"&gt;
&lt;/div&gt;
&lt;div class="MsoNormal" style="text-align:justify;"&gt;
&lt;span style="background:white;font-family:Arial, sans-serif;"&gt;La NSA per assolvere al suo compito può controllare buona parte del traffico telefonico americano, e proprio per questo è stata soggetto di diversi eventi, come ad esempio &lt;a href="http://www.nytimes.com/2005/12/16/politics/bush-lets-us-spy-on-callers-without-courts.html"&gt;larticolo&lt;/a&gt; del New York Times nel quale diceva che, sotto pressione della Casa Bianca e con un ordine esecutivo del presidente Bush, la NSA aveva condotto delle intercettazioni telefoniche non autorizzate sui cittadini che chiamavano al di fuori del paese, nel tentativo di ostacolare il terrorismo. La pubblicazione di questo articolo fu posticipata di un anno perché la Casa Bianca chiese di non pubblicarlo al momento, dato che avrebbe potuto compromettere loperazione, facendo sapere ai potenziali nemici di essere controllati.&lt;/span&gt;
&lt;/div&gt;
&lt;div class="MsoNormal" style="text-align:justify;"&gt;
&lt;span style="background:white;font-family:Arial, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;/div&gt;
&lt;div class="MsoNormal" style="text-align:justify;"&gt;
&lt;span style="background:white;font-family:Arial, sans-serif;"&gt;Subito questa rivelazione provocò un grosso scandalo in tutto il paese, il senatore &lt;span class="apple-converted-space"&gt; &lt;/span&gt;Arlen Specter e il congressista Rob Simmons si schierarono contro, dichiarando che ciò era &lt;span class="apple-converted-space"&gt; &lt;/span&gt;violazione della legge e abuso dei diritti costituzionali, infatti secondo la legge “&lt;i&gt;&lt;u&gt;Le comunicazioni da, verso o riguardo ad un cittadino statunitense&amp;#8230; non possono essere raccolte intenzionalmente senza autorizzazione&lt;/u&gt;”.&lt;/i&gt; Il presidente Bush successivamente fece un discorso nel quale confermava di aver autorizzato le intercettazioni senza mandato, e giustificava la situazione dicendo che erano misure opportune per la sicurezza nazionale, e che avrebbe fatto il possibile per tutelare i cittadini fintato che fosse esistita la minaccia di al-Quaeda. Gran parte della popolazione non prese bene la notizia, infatti i cittadini americani ormai erano controllati dal governo, il quale infrangeva le leggi costituzionali sulla privacy dellindividuo, giustificando il tutto dicendo che era per il bene della nazione.&lt;/span&gt;
&lt;/div&gt;
&lt;div class="MsoNormal" style="text-align:justify;"&gt;
&lt;/div&gt;
&lt;p&gt;
&lt;div class="MsoNormal" style="text-align:justify;"&gt;
&lt;span style="background:white;font-family:Arial, sans-serif;"&gt;Un altro importante evento è quello che riguarda le due grandi compagnie telefoniche americane AT&amp;T e Verizon, che, come mostrato da Edward Snowden, hanno installato delle tecnologie per copiare, scannerizzare e filtrare gran parte del loro traffico telefonico. A tal proposito la New York State Common Retirement Found e la Trillium Asset Management hanno presentato richiesta alle due aziende di pubblicare il numero di richieste che le compagnie ricevono per le informazioni sui clienti ogni sei mesi. La compagnia AT&amp;T è stata avvertita che questo tipo di collaborazione potrebbe ostacolare le sue ambizioni a espandersi in Europa, e un suo portavoce ha replicato che la compagnia guarda le proposte degli azionisti, ma non vuole esprimersi in merito, mentre la Verizon ha dichiarato di stare valutando la proposta.&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="background:white;font-family:Arial, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="background:white;font-family:Arial, sans-serif;"&gt;Fonti: &lt;a href="http://www.theguardian.com/business/2013/nov/21/investors-att-verizon-customer-data-nsa"&gt;www.theguardian.com&lt;/a&gt;&lt;/span&gt;
&lt;div style="text-align:right;"&gt;
&lt;span style="background:white;font-family:Arial, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="background:white;font-family:Arial, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="background:white;font-family:Arial, sans-serif;"&gt;Gabriele Corso&lt;/span&gt;
&lt;/div&gt;
&lt;/div&gt;
</code></pre></div>
</div>
<div class="post">
<h1 class="post-title">
<a href="/index.php/archives/37">
Google afferma di essere pronta a dare agli utenti android più controllo sulla privacy
</a>
</h1>
<span class="post-date">09 May 2015</span>
<div style="text-align:center;">
articolo tradotto da <a href="http://www.bloomberg.com/news/articles/2015-05-07/google-said-ready-to-give-android-users-more-privacy-controls" target="_blank">bloomberg.com</a>
</div>
<p>Google inc. sta progettando di dare ai suoi utenti android più controllo riguardo a quali informazioni le applicazioni possono accedere, hanno affermato le persone che si occupano di ciò.</p>
<p>Il sistema operativo android di Google è impostato per dare agli utenti una scelta più dettagliata a quali contenuti possono accedere le app, secondo le richieste delle persone, che hanno chiesto di non essere identificate affinchè la faccenda rimanga privata. Questo potrebbe includere foto, contatti o la posizione. Un annuncio del cambiamento, che metterebbe Android più in linea con l&#8217; iOS Apple Inc., è previsto per la conferenza degli sviluppatori di Google in San Francisco questo mese, ha detto una delle persone.</p>
<div class="separator" style="clear:both;text-align:center;">
<a href="http://francescomecca.eu/wp-content/uploads/2015/08/02c33-googlelogo.jpg" style="margin-left:1em;margin-right:1em;"><img border="0" height="160" src="http://francescomecca.eu/wp-content/uploads/2015/08/02c33-googlelogo.jpg?w=300" width="320" /></a>
</div>
<div style="text-align:center;">
<span style="font-size:x-small;">immagine presa da <a href="http://www.slidetomac.com/il-nuovo-os-x-10-10-3-yosemite-rendera-piu-semplice-la-configurazione-degli-account-google-con-verifica-a-due-passaggi-89725.html" target="_blank">slidetomac.com</a></span>
</div>
<p>La Mountain View, società con sede in California l&#8217;anno scorso ha semplificato come le persone siano informate su ciò a cui un app sta accedendo. Sono gli utenti a decidere se l&#8217;app può essere scaricata. La nuova impostazione da la possibilità all&#8217;utente di scegliere a cosa può accedere un&#8217;app.</p>
<p>Google sta aggiungendo alcune funzionalità per i propri servizi di telefonia mobile che cerca di attirare gli utenti che sempre più vanno su Internet tramite i loro dispositivi wireless. L&#8217;Android ha avuto l&#8217;81% del mercato mondiale degli smartphone mentre l&#8217;Apple il 15%, secondo <a href="http://www.gartner.com/newsroom/id/2996817" target="_blank">Gartner Inc.</a></p>
<p>La pressione su Android cresce in alcune parti del mondo. Nei cinque paesi più gandi d&#8217;Europa, la sua quota è scesa al 69 per cento nel primo trimestre dal 72 per cento rispetto all&#8217;anno precedente, secondo <a href="http://www.kantarworldpanel.com/global/News/Android-Switchers-Drive-iOS-Growth-in-Europes-Big-Five-Countries" target="_blank">Kantar worldpanel.com</a>. La quota per iOS è salita al 20,3 per cento dal 18,6 per cento, Kantar ha riferito.</p>
<div style="text-align:right;">
Eugenio Corso
</div>
<div>
</div>
</div>
<div class="post">
<h1 class="post-title">
<a href="/index.php/archives/44">
@ -369,155 +1112,6 @@ Alcuni <a href="https://trac.torproject.org/projects/tor/wiki/doc/GoodBadISPs" t
</div>
<div class="post">
<h1 class="post-title">
<a href="/index.php/archives/47">
Trinita`
</a>
</h1>
<span class="post-date">04 May 2015</span>
<table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float:right;margin-left:1em;text-align:right;">
<tr>
<td style="text-align:center;">
<a href="http://francescomecca.eu/wp-content/uploads/2015/08/9bc25-cd_hirkwmaemr03.jpg" style="clear:right;margin-bottom:1em;margin-left:auto;margin-right:auto;"><img border="0" src="http://francescomecca.eu/wp-content/uploads/2015/08/9bc25-cd_hirkwmaemr03.jpg" /></a>
</td>
</tr>
<tr>
<td class="tr-caption" style="text-align:center;">
</td>
</tr>
</table>
<p>Sono di un italiano, <a href="http://davidedormino.com/" target="_blank">Davide Dormino</a>, le tre statue che rappresentano tre eroi contemporanei che hanno combattuto per le liberta` del singolo e contro l&#8217;oppressione dello Stato: <a href="https://en.wikipedia.org/wiki/Chelsea_Manning" target="_blank">Manning</a>, <a href="https://en.wikipedia.org/wiki/Julian_Assange" target="_blank">Assange</a>, <a href="https://en.wikipedia.org/wiki/Edward_Snowden" target="_blank">Snowden</a>.<br>
L&#8217;opera si trova a Berlino.</p>
<div style="text-align:right;">
Francesco Mecca
</div>
</div>
<div class="post">
<h1 class="post-title">
<a href="/index.php/archives/51">
Ancora nessuna visita dalla Cina
</a>
</h1>
<span class="post-date">29 Apr 2015</span>
<p><span style="font-family:inherit;">Questo blog non puo<code>essere &lt;a href=&quot;http://www.greatfirewallofchina.org/index.php?siteurl=caught-in-thenet.blogspot.it&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;visualizzato&lt;/a&gt; in Cina.&lt;br /&gt;A partire dal 1993 mentre molti altri Stati si occupavano delle leggi sul cyber crimine il CCP (Chinese Communist Party) ha dato inizio ad una delle piu</code> grandi operazioni di censura moderna mai messa in atto: il Grande Firewall Cinese. </span> </p>
<div style="text-align:center;">
<blockquote class="tr_bq">
<span style="font-family:inherit;">&#8220;If you open the window for fresh air, you have to expect some flies to blow in.&#8221;</span></p>
</blockquote>
</div>
<div style="text-align:center;">
<blockquote class="tr_bq">
<span style="font-family:inherit;">“Se apri la finestra per far entrare un po` di aria fresca, anche delle mosche entreranno”  </span></p>
</blockquote>
<div style="text-align:right;">
<a href="https://en.wikipedia.org/wiki/Deng_Xiaoping" target="_blank">Deng Xiaping</a>
</div>
</div>
<p><span style="font-family:inherit;">Questa e<code>l&amp;#8217;ideologia alla base del blocco, che tecnicamente e</code> il piu<code>sofisticato sistema di filtri automatizzato adoperato nell&amp;#8217;obiettivo di sradicare il diritto alla liberta</code> di espressione e del web libero per i netizen cinesi. <br /> </span><br>
<span style="font-family:inherit;">Il blocco avviene tramite queste tecnologie: </span> </p>
<ul>
<li><span style="font-family:inherit;">Blocco IP per tutti i protocolli web;</span></li>
<li><span style="font-family:inherit;">Reindirizzamento tramite DNS; </span></li>
<li><span style="font-family:inherit;">Filtering dell&#8217;URL; </span></li>
<li><span style="font-family:inherit;">Filtering dei pacchetti TCP : se contengono determinate keyword vengono terminati; questo colpisce in particolar modo i motori di ricerca e i blog, come questo, che contengono parole nel&#8217; indice del Grande Firewall; </span></li>
<li><span style="font-family:inherit;">Se una connessione TCP e` stata precedentemente bloccata i tentativi futuri vengono bloccati per un periodo di tempo; </span></li>
<li><span style="font-family:inherit;">Blocco VPN attraverso l&#8217;apprendimento progressivo dei metodi utilizzati per criptare i canali.</span></li>
</ul>
<p><span style="font-family:inherit;">Inoltre per facilitare i blocchi a partire dal 2011 alcune macchine eseguono delle connessioni a computer esterni alla Cina ed attraverso il “deep packet inspection” raccolgono informazioni utili per ampliare le capacita<code>del Great Firewall. Questo e</code> quanto e<code>stato raccolto in varie analisi, il governo cinese non e</code> completamente trasparente sui metodi usati e fino a che punto i dati analizzati dalle macchine vengano poi raccolti ed <span style="font-family:inherit;">ispezionati </span>per profilari utenti &#8220;pericolosi&#8221;.</span></p>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left:auto;margin-right:auto;text-align:center;">
<tr>
<td style="text-align:center;">
<span style="font-family:inherit;"><a href="http://francescomecca.eu/wp-content/uploads/2015/08/9c1a9-oie_tlkgocge28ek.jpg" style="margin-left:auto;margin-right:auto;"><img border="0" height="354" src="http://francescomecca.eu/wp-content/uploads/2015/08/9c1a9-oie_tlkgocge28ek.jpg" width="640" /></a></span>
</td>
</tr>
<tr>
<td class="tr-caption" style="text-align:center;">
<span style="font-family:inherit;">Muro.</span>
</td>
<td class="tr-caption" style="text-align:center;">
<span style="font-family:inherit;"><br /></span>
</td>
</tr>
</table>
<p><span style="font-family:inherit;">La censura non solo infrange il diritto inalienabile dell&#8217;uomo alla liberta<code>, ma crea intorno alla societa</code> che ne e` vittima una sorta di bolla <span style="font-family:inherit;">la qua<span style="font-family:inherit;">le</span></span> scherma dai cambiamenti esterni e fa da cuscinetto a tutti i moti turbolenti interni. </p> </p>
<p>
In moltissimi Stati europei molti siti vengono bloccati (talvolta con un semplice <a href="https://en.wikipedia.org/wiki/DNS_spoofing" target="_blank">DNS poisoning</a>) e quindi il cittadino in molti casi non e`consapevole che non puo` accedere ad una risorsa, oppure sceglie di adottare tecniche per circumnavigare il blocco. <br /> </span><br /><span style="font-family:inherit;">In Cina invece quando lo Stato oltre che alla censura sceglie di adoperare contromisure oppressive nei confronti dei “fuorilegge” si crea un il Panopticon di Michael Foucault: ogni comportamente viene misurato dal punto di vista del “sospettabile” e da questo ne scaturisce la normalizzazione dell&#8217;individuo.</span><span style="font-family:inherit;"><br />Judy Blume in uno dei suoi discorsi piu` celebri riguardo la censura e il mondo giovanile afferma:<i> </i></span><br />
<blockquote class="tr_bq">
<span style="font-family:inherit;"><i>  <span style="font-style:normal;">&#8220;Non sono solo i libri bruciati ora che mi preoccupano. Sono i libri che non saranno mai scritti. i libri che non saranno mai letti. E tutto questo per la paura della censura&#8221;</span></i></span></p>
<p></blockquote></p>
<p><div style="line-height:100%;margin-bottom:0;">
<p>
<i><span style="font-family:inherit;">Viviamo <span style="font-family:inherit;">in un periodo di <span style="font-family:inherit;">forte e radicale cam<span style="font-family:inherit;">biamento, questo notevole avanzamento tecnologico non solo fornisce al <span style="font-family:inherit;">censore tutti gli strumenti per per<span style="font-family:inherit;">petuare la sua tirannia, ma con<span style="font-family:inherit;">ce<span style="font-family:inherit;">de anche all&#8217;<span style="font-family:inherit;">u<span style="font-family:inherit;">omo gli strumenti per liberars<span style="font-family:inherit;">e<span style="font-family:inherit;">ne e far volare libere le idee e i pensieri.</span></span></span></span></span></span></span></span></span></span></span></span></i></div> </p>
<div class="highlight"><pre><code class="language-" data-lang=""> &lt;div style="line-height:100%;margin-bottom:0;"&gt;
&lt;/div&gt;
&lt;div style="line-height:100%;margin-bottom:0;text-align:right;"&gt;
&lt;span style="font-family:inherit;"&gt;&lt;span style="font-style:normal;"&gt;Francesco Mecca &lt;/span&gt;&lt;/span&gt;
&lt;/div&gt;
&lt;p&gt;
&lt;span style="font-family:inherit;"&gt; &lt;/span&gt;
&lt;/p&gt;
</code></pre></div>
</div>
<div class="post">
<h1 class="post-title">
<a href="/index.php/archives/55">
Javascript attacca la cache del processore
</a>
</h1>
<span class="post-date">23 Apr 2015</span>
<p>Lo scorso febbraio 4 ricercatori della Columbia University hanno ideato un attacco <a href="https://en.wikipedia.org/wiki/Side-channel_attack">side channel</a> in grado di penetrare la cache dei processori intel piu` recenti di qualsiasi OS.<br>
L&#8217;attacco avviene attraverso l&#8217;uso di codice Javascript e analizza la cache di terzo livello del processore. Il pdf tecnico e` disponibile a questo <a href="http://arxiv.org/abs/1502.07373">indirizzo</a>.</p>
<p>Di seguito una breve spiegazione dell&#8217;attacco.<br>
&#8211; Attacco side channel: i dati vengono estratti da fenomeni fisici correlati al funzionamento del terminale: ritardi nella risposta, consumo della cpu,voltaggio e altro se misurati in maniera molto precisa e in correlazione ad eventi esterni permettono di capire che informazioni stava processando la CPU.</p>
<div>
-Requisiti: un qualsiasi fra i browser piu` popolari, un processore intel 32 o 64 bit, almeno qualche minuto sulla pagina infetta.</p>
<p>
-Come avviene l&#8217;attacco: il codice Javascript permette al vettore di occupare una piccola parte di cache di cache e poi va a misurare il ritardo in una nuova lettura e controllando se altri processi la stanno usando. Se questa azione viene compiuta per tutte le &#8220;linee&#8221; della cache senza interruzioni permette di avere dati relativi all&#8217;utilizzo della CPU. Con analizi avanzate si possono stabilire a partire daqueste informazioni in alcuni casi i movimenti del mouse, l&#8217;accesso alle risorse, i tasti premuti.
</p>
</div>
<div>
-Come evitare l&#8217;infezione: non permettere al browser di attivare i javascript e evitare di tenere aperte pagine web mentre si compiono azioni sensibili, questi due sono gli unici metodi al momento. I ricercatori hanno deciso di non rilasciare alcun proof of concepit prima del rilascio di patch per i browser.
<div style="text-align:right;">
Francesco Mecca
</div>
</div>
</div>
</div>
<div class="pagination">

View file

@ -119,7 +119,7 @@
<a class="sidebar-nav-item" href="/feed.xml">RSS</a>
<a class="sidebar-nav-item" href="http://francescomecca.eu:3000">Personal Git</a>
<a class="sidebar-nav-item" href="http://francescomecca.eu:3000/explore/repos">Personal Git</a>
<span class="sidebar-nav-item" href="" >Powered by Jekyll and Hyde</span>
</nav>
@ -136,6 +136,155 @@
<div class="content container">
<div class="posts">
<div class="post">
<h1 class="post-title">
<a href="/index.php/archives/47">
Trinita`
</a>
</h1>
<span class="post-date">04 May 2015</span>
<table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float:right;margin-left:1em;text-align:right;">
<tr>
<td style="text-align:center;">
<a href="http://francescomecca.eu/wp-content/uploads/2015/08/9bc25-cd_hirkwmaemr03.jpg" style="clear:right;margin-bottom:1em;margin-left:auto;margin-right:auto;"><img border="0" src="http://francescomecca.eu/wp-content/uploads/2015/08/9bc25-cd_hirkwmaemr03.jpg" /></a>
</td>
</tr>
<tr>
<td class="tr-caption" style="text-align:center;">
</td>
</tr>
</table>
<p>Sono di un italiano, <a href="http://davidedormino.com/" target="_blank">Davide Dormino</a>, le tre statue che rappresentano tre eroi contemporanei che hanno combattuto per le liberta` del singolo e contro l&#8217;oppressione dello Stato: <a href="https://en.wikipedia.org/wiki/Chelsea_Manning" target="_blank">Manning</a>, <a href="https://en.wikipedia.org/wiki/Julian_Assange" target="_blank">Assange</a>, <a href="https://en.wikipedia.org/wiki/Edward_Snowden" target="_blank">Snowden</a>.<br>
L&#8217;opera si trova a Berlino.</p>
<div style="text-align:right;">
Francesco Mecca
</div>
</div>
<div class="post">
<h1 class="post-title">
<a href="/index.php/archives/51">
Ancora nessuna visita dalla Cina
</a>
</h1>
<span class="post-date">29 Apr 2015</span>
<p><span style="font-family:inherit;">Questo blog non puo<code>essere &lt;a href=&quot;http://www.greatfirewallofchina.org/index.php?siteurl=caught-in-thenet.blogspot.it&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;visualizzato&lt;/a&gt; in Cina.&lt;br /&gt;A partire dal 1993 mentre molti altri Stati si occupavano delle leggi sul cyber crimine il CCP (Chinese Communist Party) ha dato inizio ad una delle piu</code> grandi operazioni di censura moderna mai messa in atto: il Grande Firewall Cinese. </span> </p>
<div style="text-align:center;">
<blockquote class="tr_bq">
<span style="font-family:inherit;">&#8220;If you open the window for fresh air, you have to expect some flies to blow in.&#8221;</span></p>
</blockquote>
</div>
<div style="text-align:center;">
<blockquote class="tr_bq">
<span style="font-family:inherit;">“Se apri la finestra per far entrare un po` di aria fresca, anche delle mosche entreranno”  </span></p>
</blockquote>
<div style="text-align:right;">
<a href="https://en.wikipedia.org/wiki/Deng_Xiaoping" target="_blank">Deng Xiaping</a>
</div>
</div>
<p><span style="font-family:inherit;">Questa e<code>l&amp;#8217;ideologia alla base del blocco, che tecnicamente e</code> il piu<code>sofisticato sistema di filtri automatizzato adoperato nell&amp;#8217;obiettivo di sradicare il diritto alla liberta</code> di espressione e del web libero per i netizen cinesi. <br /> </span><br>
<span style="font-family:inherit;">Il blocco avviene tramite queste tecnologie: </span> </p>
<ul>
<li><span style="font-family:inherit;">Blocco IP per tutti i protocolli web;</span></li>
<li><span style="font-family:inherit;">Reindirizzamento tramite DNS; </span></li>
<li><span style="font-family:inherit;">Filtering dell&#8217;URL; </span></li>
<li><span style="font-family:inherit;">Filtering dei pacchetti TCP : se contengono determinate keyword vengono terminati; questo colpisce in particolar modo i motori di ricerca e i blog, come questo, che contengono parole nel&#8217; indice del Grande Firewall; </span></li>
<li><span style="font-family:inherit;">Se una connessione TCP e` stata precedentemente bloccata i tentativi futuri vengono bloccati per un periodo di tempo; </span></li>
<li><span style="font-family:inherit;">Blocco VPN attraverso l&#8217;apprendimento progressivo dei metodi utilizzati per criptare i canali.</span></li>
</ul>
<p><span style="font-family:inherit;">Inoltre per facilitare i blocchi a partire dal 2011 alcune macchine eseguono delle connessioni a computer esterni alla Cina ed attraverso il “deep packet inspection” raccolgono informazioni utili per ampliare le capacita<code>del Great Firewall. Questo e</code> quanto e<code>stato raccolto in varie analisi, il governo cinese non e</code> completamente trasparente sui metodi usati e fino a che punto i dati analizzati dalle macchine vengano poi raccolti ed <span style="font-family:inherit;">ispezionati </span>per profilari utenti &#8220;pericolosi&#8221;.</span></p>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left:auto;margin-right:auto;text-align:center;">
<tr>
<td style="text-align:center;">
<span style="font-family:inherit;"><a href="http://francescomecca.eu/wp-content/uploads/2015/08/9c1a9-oie_tlkgocge28ek.jpg" style="margin-left:auto;margin-right:auto;"><img border="0" height="354" src="http://francescomecca.eu/wp-content/uploads/2015/08/9c1a9-oie_tlkgocge28ek.jpg" width="640" /></a></span>
</td>
</tr>
<tr>
<td class="tr-caption" style="text-align:center;">
<span style="font-family:inherit;">Muro.</span>
</td>
<td class="tr-caption" style="text-align:center;">
<span style="font-family:inherit;"><br /></span>
</td>
</tr>
</table>
<p><span style="font-family:inherit;">La censura non solo infrange il diritto inalienabile dell&#8217;uomo alla liberta<code>, ma crea intorno alla societa</code> che ne e` vittima una sorta di bolla <span style="font-family:inherit;">la qua<span style="font-family:inherit;">le</span></span> scherma dai cambiamenti esterni e fa da cuscinetto a tutti i moti turbolenti interni. </p> </p>
<p>
In moltissimi Stati europei molti siti vengono bloccati (talvolta con un semplice <a href="https://en.wikipedia.org/wiki/DNS_spoofing" target="_blank">DNS poisoning</a>) e quindi il cittadino in molti casi non e`consapevole che non puo` accedere ad una risorsa, oppure sceglie di adottare tecniche per circumnavigare il blocco. <br /> </span><br /><span style="font-family:inherit;">In Cina invece quando lo Stato oltre che alla censura sceglie di adoperare contromisure oppressive nei confronti dei “fuorilegge” si crea un il Panopticon di Michael Foucault: ogni comportamente viene misurato dal punto di vista del “sospettabile” e da questo ne scaturisce la normalizzazione dell&#8217;individuo.</span><span style="font-family:inherit;"><br />Judy Blume in uno dei suoi discorsi piu` celebri riguardo la censura e il mondo giovanile afferma:<i> </i></span><br />
<blockquote class="tr_bq">
<span style="font-family:inherit;"><i>  <span style="font-style:normal;">&#8220;Non sono solo i libri bruciati ora che mi preoccupano. Sono i libri che non saranno mai scritti. i libri che non saranno mai letti. E tutto questo per la paura della censura&#8221;</span></i></span></p>
<p></blockquote></p>
<p><div style="line-height:100%;margin-bottom:0;">
<p>
<i><span style="font-family:inherit;">Viviamo <span style="font-family:inherit;">in un periodo di <span style="font-family:inherit;">forte e radicale cam<span style="font-family:inherit;">biamento, questo notevole avanzamento tecnologico non solo fornisce al <span style="font-family:inherit;">censore tutti gli strumenti per per<span style="font-family:inherit;">petuare la sua tirannia, ma con<span style="font-family:inherit;">ce<span style="font-family:inherit;">de anche all&#8217;<span style="font-family:inherit;">u<span style="font-family:inherit;">omo gli strumenti per liberars<span style="font-family:inherit;">e<span style="font-family:inherit;">ne e far volare libere le idee e i pensieri.</span></span></span></span></span></span></span></span></span></span></span></span></i></div> </p>
<div class="highlight"><pre><code class="language-" data-lang=""> &lt;div style="line-height:100%;margin-bottom:0;"&gt;
&lt;/div&gt;
&lt;div style="line-height:100%;margin-bottom:0;text-align:right;"&gt;
&lt;span style="font-family:inherit;"&gt;&lt;span style="font-style:normal;"&gt;Francesco Mecca &lt;/span&gt;&lt;/span&gt;
&lt;/div&gt;
&lt;p&gt;
&lt;span style="font-family:inherit;"&gt; &lt;/span&gt;
&lt;/p&gt;
</code></pre></div>
</div>
<div class="post">
<h1 class="post-title">
<a href="/index.php/archives/55">
Javascript attacca la cache del processore
</a>
</h1>
<span class="post-date">23 Apr 2015</span>
<p>Lo scorso febbraio 4 ricercatori della Columbia University hanno ideato un attacco <a href="https://en.wikipedia.org/wiki/Side-channel_attack">side channel</a> in grado di penetrare la cache dei processori intel piu` recenti di qualsiasi OS.<br>
L&#8217;attacco avviene attraverso l&#8217;uso di codice Javascript e analizza la cache di terzo livello del processore. Il pdf tecnico e` disponibile a questo <a href="http://arxiv.org/abs/1502.07373">indirizzo</a>.</p>
<p>Di seguito una breve spiegazione dell&#8217;attacco.<br>
&#8211; Attacco side channel: i dati vengono estratti da fenomeni fisici correlati al funzionamento del terminale: ritardi nella risposta, consumo della cpu,voltaggio e altro se misurati in maniera molto precisa e in correlazione ad eventi esterni permettono di capire che informazioni stava processando la CPU.</p>
<div>
-Requisiti: un qualsiasi fra i browser piu` popolari, un processore intel 32 o 64 bit, almeno qualche minuto sulla pagina infetta.</p>
<p>
-Come avviene l&#8217;attacco: il codice Javascript permette al vettore di occupare una piccola parte di cache di cache e poi va a misurare il ritardo in una nuova lettura e controllando se altri processi la stanno usando. Se questa azione viene compiuta per tutte le &#8220;linee&#8221; della cache senza interruzioni permette di avere dati relativi all&#8217;utilizzo della CPU. Con analizi avanzate si possono stabilire a partire daqueste informazioni in alcuni casi i movimenti del mouse, l&#8217;accesso alle risorse, i tasti premuti.
</p>
</div>
<div>
-Come evitare l&#8217;infezione: non permettere al browser di attivare i javascript e evitare di tenere aperte pagine web mentre si compiono azioni sensibili, questi due sono gli unici metodi al momento. I ricercatori hanno deciso di non rilasciare alcun proof of concepit prima del rilascio di patch per i browser.
<div style="text-align:right;">
Francesco Mecca
</div>
</div>
</div>
<div class="post">
<h1 class="post-title">
<a href="/index.php/archives/57">
@ -300,272 +449,6 @@ Secondo alcuni amministartori del sito, tra cui OptimusCrime, Boneless vendette
</div>
<div class="post">
<h1 class="post-title">
<a href="/index.php/archives/66">
Non abbiamo nulla da nascondere
</a>
</h1>
<span class="post-date">15 Apr 2015</span>
<div class="separator" style="clear: both; text-align: center;">
</div>
<table class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;" cellspacing="0" cellpadding="0" align="center">
<tr>
<td style="text-align: center;">
<a style="margin-left: auto; margin-right: auto;" href="http://francescomecca.eu/wp-content/uploads/2015/08/ce9cc-we-have-nothing-to-hide-so-whats-the-problem.jpg"><img src="http://francescomecca.eu/wp-content/uploads/2015/08/ce9cc-we-have-nothing-to-hide-so-whats-the-problem.jpg" alt="" width="640" height="514" border="0" /></a>
</td>
</tr>
<tr>
<td class="tr-caption" style="text-align: center;">
vignetta di <a href="http://www.arkansasonline.com/staff/john-deering/">John Deering</a> (si ringrazia l&#8217;autore per la disponibilita` alla pubbilicazione)
</td>
</tr>
</table>
<p>Un normale cittadino inglese in due sole occasioni puo` ascoltare la frase: “se non hai nulla da nascondere non hai nulla da temere” in TV: durante lo <a href="http://styleandfashion.blogosfere.it/post/65447/elave-ecco-uno-spot-che-non-ha-nulla-da-nascondere">spot di Elave</a> e della causa farmaceutica Ovelle con i suoi spot NSFW, oppure nel motto del programma per la promozione delle CCTV in luoghi pubblici nelle strade del Regno Unito che recita: “If you&#8217;ve got nothing to hide, you&#8217;ve got nothing to fear&#8221;</p>
<div>
<h4>
<span style="font-family: Arial, Helvetica, sans-serif;"><b><span style="font-weight: normal;">Sfatiamo un mito comune</span></b> </span>
</h4>
<p>
<span style="font-family: Arial, Helvetica, sans-serif;">Questo argomento a favore dell&#8217;intercettazione di massa e a danno nei confronti diritto alla privacy e` spaventosamente comune e viene usato non solo dai governi o dagli istituti di sorveglianza ma comunemente per <u>non esprimersi</u> contro le operazioni di controllo governativo: e` una argomentazione piuttosto inconsapevole e fine a se stessa che non tiene conto di svariate implicazioni e permette ai governi di implementare lo stato di sorveglianza.</span><br /> <span style="font-family: Arial, Helvetica, sans-serif;"><br /> </span><span style="font-family: Arial, Helvetica, sans-serif;">Innanzitutto la privacy e` <u>controllo</u>, non segretezza: la sorveglianza sociale ha il potere di eliminare il diritto di libera espressione, di libera associazione e di proprieta` personale. </span><br /> <span style="font-family: Arial, Helvetica, sans-serif;">Il controllo dei dati e` uno dei dibattiti piu` attuali nell&#8217;<a href="https://encrypted.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&cad=rja&uact=8&ved=0CB0QFjAA&url=http%3A%2F%2Fec.europa.eu%2Fdgs%2Fhome-affairs%2Fwhat-we-do%2Fpolicies%2Fpolice-cooperation%2Fdata-retention%2Findex_en.htm&ei=nqctVeaEKMPUapOXgKAD&usg=AFQjCNGcpPEyhxRiU9UiETrwMgGgEURFrA&sig2=1NgS64S6bckbilRI68-_wA&bvm=bv.90790515,d.d2s" target="_blank">unione europea</a> e proprio da qui nasce il termine di “privacy obliqua”, ovvero la possibilita` per le aziende di avere a propria disposizione i dati che il cittadino ha liberamente (ma spesso sensa saperlo) concesso loro. </span><br /> <span style="font-family: Arial, Helvetica, sans-serif;"><br /> </span>
</p>
<h4>
<span style="font-family: Arial, Helvetica, sans-serif;"><b><span style="font-weight: normal;"><span style="font-size: large;"><b>Se hai i miei dati ho diritto ai tuoi</b> </span></span></b></span>
</h4>
<p>
<span style="font-family: Arial, Helvetica, sans-serif;">Uno Stato in cui tutte le mie attivita` (magari anche i pensieri) sono pubblici implica che nessuno possa nascondere questi dati; invece nella societa` attuale le agenzie governative come la NSA o anche solo i politici si nascondo spesso dietro il <i>segreto</i> e non acconsentono alla completa trasparenza delle loro azioni: si origina cosi` una intollerabile forma di disparita`. </span><br /> <span style="font-family: Arial, Helvetica, sans-serif;"><br /> </span><span style="font-family: Arial, Helvetica, sans-serif;">A questo si aggiunge che non sei mai te stesso a decidere se hai qualcosa da nascondere, bensi` l&#8217;autorita`.</span><br /> <span style="font-family: Arial, Helvetica, sans-serif;">James Duane lo spiega <a href="http://www.youtube.com/watch?v=6wXkI4t7nuc" target="_blank">cosi</a>&#8216;:</span>
</p>
<blockquote class="tr_bq">
<p>
Estimates of the current size of the body of federal criminal law vary. It has been reported that the Congressional Research Service <i><span style="font-style: normal;">cannot even count the current number of federal crimes</span></i>. These laws are scattered in over 50 titles of the United States Code, encompassing roughly 27,000 pages. Worse yet, the statutory code sections often incorporate, by reference, the provisions and sanctions of administrative regulations promulgated by various regulatory agencies under congressional authorization. Estimates of how many such regulations exist are even less well settled, but the ABA thinks there are nearly 10,000”</span>
</p>
</blockquote>
<p>
Con le parole di <a href="https://www.schneier.com/essay-114.htm" target="_blank">Bruce Schneier:</a></p>
“se mi dai sei linee scritte di pugno dall&#8217;uomo piu` onesto, potrei trovare qualche motivo per farlo impiccare!”.
<p></p>
<p>
A questo si aggiunge che non e` sempre la verita` la paladina dei nostri diritti: spesso i pregiudizi sociali a cui si aggiunge la manipolazione dei mass media porta un innocente ad essere dichiarato colpevole falsamente ed innanzitempo.  <span style="font-size: large;"><br /> </span></span>
</p>
<h4>
<b>Ben oltre il sostrato sociale</b>
</h4>
<p>
<span style="font-family: Arial, Helvetica, sans-serif;"> La sorveglianza di massa determina uno spaventoso cambiamento comportamentale: ogni gesto che l&#8217;individuo si trovera` a compiere non verra` analizzato secondo il binomio legale-illegale, bensi` secondo la domanda: “E` un comportamento sospetto? L&#8217;autorita` come puo` valutare questa mia azione?”. Si perde ogni confine certo per finire nel limbo dell&#8217;incertezza e del timore. </span><br /> <span style="font-family: Arial, Helvetica, sans-serif;"><br /> Nella <a href="http://www.diritto.it/docs/35250-la-presunzione-di-innocenza" target="_blank">societa` attuale</a> un imputato è considerato non colpevole sino a condanna definitiva ovvero non spetta allimputato dimostrare la sua innocenza ma è compito degli accusatori dimostrarne la colpa. La presunzione di innocenza al contrario non trova posto in uno stato di controllo a cui potrebbe bastare l&#8217;analisi di un&#8217;idea non ancora messa in atto per processare un cittadino. </span>
</p>
<h4>
<b>Due torti a volte fanno un giusto</b>
</h4>
<p>
<span style="font-family: Arial, Helvetica, sans-serif;">Per quale motivo in molti stati si prende in considerazione il matrimonio omosessuale? </span><br /> <span style="font-family: Arial, Helvetica, sans-serif;"><br /> Il sistema democratico permette a chi lotta attraverso mezzi leciti di ottenere riconosciuti I propri diritti, ma in molti casi queste vittorie legali non sarebbero state possibili se qualcuno non avesse in precedenza commesso il reato infrangendo la legge. Come puo` lo Stato decidere o meno sul matrimonio omosessuale se nessuno avesse visto o avesse preso parte in relazioni con persone dello stesso sesso? </span><br /> <span style="font-family: Arial, Helvetica, sans-serif;"><br /> Quando si dispone di tutti gli strumenti per un tecnocontrollo effettivo ogni <u>potenziale</u> fuorilegge verrebbe perseguitato. </span> <span style="font-family: Arial, Helvetica, sans-serif;"><br /> </span>
</p>
<h4>
<b>Nulla da nascondere?</b>
</h4>
<p>
<span style="font-family: Arial, Helvetica, sans-serif;">“Diventiamo individui attraverso la scoperta che possiamo nascondere qualcosa negli altri” afferma <a href="http://www.emiliomordini.info/about-m-e/" target="_blank">Emilio Mordini</a>.</span>
</p>
<p>
<span style="font-family: Arial, Helvetica, sans-serif;">La semplice verita` e` che non serriamo le persiane per nascondere crimini e misfatti, le esperienze anche piu` ingenue dell&#8217;individuo si riflettono nell&#8217;intimita`, <i>“che al giorno d&#8217;oggi, e` il Santo Graal”</i>. </span>
</p>
<div style="text-align: right;">
<span style="font-family: Arial, Helvetica, sans-serif;">Francesco Mecca </span>
</div></div>
</div>
<div class="post">
<h1 class="post-title">
<a href="/index.php/archives/67">
Facciamo luce sui profili ombra
</a>
</h1>
<span class="post-date">13 Apr 2015</span>
<p>La BPC, Belgian Privacy Commision, il 31 marzo ha pubblicato un <a href="http://www.law.kuleuven.be/icri/en/news/item/facebooks-revised-policies-and-terms-v1-2.pdf">documento</a> investigativo sulle policy di Facebook e da questa indagine e` emersa una violazione delle leggi europee sul <a href="http://rt.com/news/245769-facebook-spies-eu-laws/">tracciamento online</a>.</p>
<p>Ogni volta che un utente non loggato, o perfino senza account sul social network, visita una pagina che incorpora il bottone “like” o altri plugin sociali riceve un piccolo file di testo chiamato <a href="https://www.facebook.com/help/cookies">cookie</a> che incorpora una miriade di informazioni e la propria attivita` online in toto. Anche se si ha scelto per l&#8217;opt out un particolare cookie chiamato &#8216;<a href="http://www.zdnet.com/article/facebook-tracking-cookie-returns-according-to-hacker/">datr</a>&#8216; contenente un ID unico viene scaricato e mantenuto nella cache del browser identificando il computer dell&#8217;utente in maniera indistinguibile.<br>
Per quale motivo Facebook usa questo sistema di tracciamento?</p>
<div class="separator" style="clear:both;text-align:center;">
</div>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left:auto;margin-right:auto;text-align:center;">
<tr>
<td style="text-align:center;">
<a href="http://francescomecca.eu/wp-content/uploads/2015/08/c74d7-shadow-3-625x1000.jpg" style="margin-left:auto;margin-right:auto;"><img border="0" src="http://francescomecca.eu/wp-content/uploads/2015/08/c74d7-shadow-3-625x1000.jpg" height="267" width="400" /></a><br />Foto di <a href="https://www.flickr.com/photos/polubeda/" target="_blank">PoL Úbeda Hervas</a> 
</td>
</tr>
</table>
<p>Questo metodo di raccolta dati permette all&#8217;azienda di Mountan View di creare profili ombra a loro volta integrati dai dati forniti da altri utenti.</p>
<p>Uno “shadow profile” e` un file archiviato nei server di Facebook e collegato univocamente ad un utente online: non e` assolutamente differente da un profilo vero e proprio se non che non e` pubblico e generato ad insaputa del proprietario dei dati.</p>
<p>Quando un membro di Facebook installa sul proprio smartphone l&#8217;app ufficiale acconsente alla lettura (e all&#8217;archiviazione) dei propri contatti, dell&#8217;elenco chiamate, la lettura degli sms e nei file archiviati nella scheda SD e l&#8217;accesso a praticamente tutte le funzione del dispositivo di tracciamento smartphone.<br>
In questo modo ed attraverso i cookie Facebook riesce a riunire la maggior parte delle informazioni personali di utenti non iscritti, tra cui gli indirizzi mail, i numeri di telefono, le foto di altri membri iscritti, in alcuni casi perfino l&#8217;indirizzo di casa e informazioni di lavoro.</p>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left:auto;margin-right:auto;text-align:center;">
<tr>
<td style="text-align:center;">
<a href="http://francescomecca.eu/wp-content/uploads/2015/08/e5bc2-192-168-0-122.png" style="margin-left:auto;margin-right:auto;"><img border="0" height="400" src="https://images-blogger-opensocial.googleusercontent.com/gadgets/proxy?url=http%3A%2F%2F2.bp.blogspot.com%2F-nqe0T95jgy8%2FVSr-HHgeI1I%2FAAAAAAAAAA8%2Fo7olXIAGeDk%2Fs1600%2F192.168.0.122.png&container=blogger&gadget=a&rewriteMime=image%2F*" width="240" /></a>
</td>
</tr>
<tr>
<td class="tr-caption" style="text-align:center;">
Permessi dell&#8217;app di Facebook su Android
</td>
</tr>
</table>
<p>Chi ha il controllo su questi dati?</p>
<p>Non di certo l&#8217;utente che viene profilato a sua insaputa, ma le compagnie di advertising (a breve il lancio della piattaforma omniseziente <a href="http://atlassolutions.com/">ATLAS</a>), le <a href="https://www.nsa.gov/">agenzie governative</a> e Facebook stessa che si scusa dicendo che i dati vengono “inclusi”, non “raccolti” (<a href="https://www.facebook.com/notes/facebook-security/important-message-from-facebooks-white-hat-program/10151437074840766"></a><a href="https://www.facebook.com/notes/facebook-security/important-message-from-facebooks-white-hat-program/10151437074840766">Additionally, no other types of personal or financial information were included”</a>).</p>
<p>C&#8217;e` scampo al potere di Facebook? C&#8217;e` una via di fuga dal web sociale per chi vuole rimanere una persona non un prodotto? A 10 anni da quando <a href="http://it.wikipedia.org/wiki/Tim_O%27Reilly">TimO&#8217;Reilly</a> conio` la fatidica espressione “Web 2.0” l&#8217;utente consapevole si trova ad un bivio dove ogni scelta e` in perdita.</p>
<div style="text-align:right;">
</div>
<div style="text-align:right;">
Francesco Mecca
</div>
</div>
<div class="post">
<h1 class="post-title">
<a href="/index.php/archives/70">
Anonymous: we are legion
</a>
</h1>
<span class="post-date">13 Apr 2015</span>
<div class="MsoNormal" style="text-align:justify;">
Trattando argomenti quali lanonimato e la privacy, non si può fare a meno di parlare di uno dei movimenti più rappresentativi di queste due tematiche, ovvero Anonymous. Questo movimento nasce nel 2003, e per il suo nome prende ispirazione dal nickname usato nei siti di imageboard, siti nei quali un thread può essere iniziato solo con un immagine, quali per esempio 4chan, 711chan, dove chi commentava senza identificarsi appariva come “anonymous”, e da qui si incominciò a identificare anonymous come una persona reale. </p>
</div>
<div class="MsoNormal" style="text-align:justify;">
Anonymous non ha un leader, è un insieme di persone, o anche singoli, spesso provenienti dagli stessi siti di imageboard citati prima, che agiscono con un fine comune che può essere visto nella libertà di espressione, infatti le attività mosse da questo gruppo mirano alla pubblicazione di informazioni riservate, forme di protesta quali attacchi DDoS o proteste in strada, le quali allinizio fecero capire limportanza che stava acquisendo il movimento, infatti si scoprirono essere numerosi coloro che aderirono nelle varie città del mondo.</p>
</div>
<div class="MsoNormal" style="text-align:justify;">
La grandezza di cui gode Anonymous è data dal web, grazie al quale persone con un ideologia comune si sono potute incontrare, hanno potuto organizzarsi e dare vita a quello che ad oggi è uno dei fenomeni più conosciuti su internet.</p>
</div>
<div class="MsoNormal" style="text-align:justify;">
Uno dei simboli che identifica Anonymous è la maschera di <span style="background-color:white;color:#252525;font-family:sans-serif;font-size:14px;line-height:22.39999961853px;text-align:start;"> </span><a href="http://it.wikipedia.org/wiki/Guy_Fawkes" style="background:none rgb(255,255,255);color:#0b0080;font-family:sans-serif;font-size:14px;line-height:22.39999961853px;text-align:start;" title="Guy Fawkes">Guy Fawkes</a>, famoso cospiratore inglese, che spesso viene usata nelle proteste per nascondere il volto dei protestanti, e celarne quindi lidentità.
</div>
<div class="MsoNormal" style="text-align:justify;">
</div>
<div class="separator" style="clear:both;text-align:center;">
</div>
<div class="MsoNormal" style="text-align:center;">
<div class="separator" style="clear:both;text-align:center;">
<a href="http://francescomecca.eu/wp-content/uploads/2015/08/a31f5-211a67b4522ee844418ef0efa5e43c29.jpg" style="margin-left:1em;margin-right:1em;"><img border="0" height="160" src="http://francescomecca.eu/wp-content/uploads/2015/08/a31f5-211a67b4522ee844418ef0efa5e43c29.jpg" width="320" /></a>
</div>
<div class="separator" style="clear:both;text-align:center;">
<span style="background-color:white;line-height:23.519998550415px;text-align:start;"><span style="font-family:Georgia, Times New Roman, serif;font-size:xx-small;">Photo by <a href="https://www.flickr.com/photos/equinoxefr/6857189595/">Pierre (Rennes)</a>/Flickr (CC BY 2.0)</span></span>
</div>
</div>
<div class="MsoNormal" style="text-align:justify;">
</div>
<div class="MsoNormal" style="text-align:justify;">
Le varie attività svolte da questo gruppo, grazie alle quali ha ottenuto sempre più visibilità, sono diverse, quale ad esempio quello del 2010 quando il sito di WikiLeaks pubblicò documenti diplomatici segreti del governo americano, e questultimo a causa di ciò fece forti pressioni per interrompere tali pubblicazioni, ovviamente ciò attirò lattenzione di anonymous che iniziò a sostenere il sito, iniziando a lanciare attacchi DDoS contro siti quali Amazon.com, PayPal, MasterCard, Visa e la banca svizzera i quali avevano dimostrato un comportamento anti-WikiLeaks, perché stopparono lafflusso di donazioni al sito.</p>
<p>
 Un altro evento molto importante fu quando il sito Megaupload venne chiuso dallFBI, e in seguito a ciò anonymous rese impossibile laccesso a siti governativi americani, scatenando quella che fu chiamata W W W W (World Wide Web War), ovvero uno degli attacchi da parte del gruppo più grande e importante realizzato sul web.
</p>
<p>
Infine uno degli eventi più recenti è stato quello contro lo Stato Islamico, infatti gli anonymous hanno bloccato e sospeso tutti gli account social di coloro che avessero a che fare con lorganizzazione dellISIS, a causa di azioni terroristiche condotte da quest&#8217;ultima, e tuttora danno la caccia agli esponenti del movimento per arrestarlo.
</p>
<p>
Fonti: <a href="https://www.youtube.com/watch?v=YJmRqgBE_t8">www.youtube.com</a></div>
<div class="highlight"><pre><code class="language-" data-lang="">&lt;div class="MsoNormal" style="text-align:justify;"&gt;
&lt;p&gt;
&lt;/div&gt;
&lt;div class="MsoNormal" style="text-align:justify;"&gt;
&lt;div style="text-align:center;"&gt;
&lt;/div&gt;
&lt;div class="separator" style="clear:both;text-align:center;"&gt;
&lt;a href="https://www.youtube.com/embed/LiFrjbjASk4?feature=player_embedded"&gt;https://www.youtube.com/embed/LiFrjbjASk4?feature=player_embedded&lt;/a&gt;
&lt;/div&gt;
&lt;div style="text-align:center;"&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="MsoNormal" style="text-align:justify;"&gt;
&lt;/div&gt;
&lt;div class="MsoNormal" style="text-align:center;"&gt;
&lt;span lang="EN-US" style="background:white;font-family:Arial, sans-serif;font-size:10pt;"&gt;We are Anonymous.&lt;/span&gt;
&lt;/div&gt;
&lt;div class="MsoNormal" style="text-align:center;"&gt;
&lt;span lang="EN-US" style="background:white;font-family:Arial, sans-serif;font-size:10pt;"&gt; We are legion.&lt;/span&gt;
&lt;/div&gt;
&lt;div class="MsoNormal" style="text-align:center;"&gt;
&lt;span lang="EN-US" style="background:white;font-family:Arial, sans-serif;font-size:10pt;"&gt; We do not forgive. &lt;/span&gt;
&lt;/div&gt;
&lt;div class="MsoNormal" style="text-align:center;"&gt;
&lt;span lang="EN-US" style="background:white;font-family:Arial, sans-serif;font-size:10pt;"&gt;We do not forget. &lt;/span&gt;
&lt;/div&gt;
&lt;div class="MsoNormal" style="text-align:center;"&gt;
&lt;span lang="EN-US" style="background:white;font-family:Arial, sans-serif;font-size:10pt;"&gt;Expect us&lt;/span&gt;!
&lt;/div&gt;
&lt;div class="MsoNormal" style="text-align:center;"&gt;
&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;/div&gt;
&lt;p&gt;
&lt;div class="MsoNormal" style="text-align:center;"&gt;
&lt;span lang="EN-US"&gt;                                                                                                        Gabriele Corso&lt;/span&gt;
&lt;/div&gt;
</code></pre></div>
</div>
</div>
<div class="pagination">

View file

@ -119,7 +119,7 @@
<a class="sidebar-nav-item" href="/feed.xml">RSS</a>
<a class="sidebar-nav-item" href="http://francescomecca.eu:3000">Personal Git</a>
<a class="sidebar-nav-item" href="http://francescomecca.eu:3000/explore/repos">Personal Git</a>
<span class="sidebar-nav-item" href="" >Powered by Jekyll and Hyde</span>
</nav>
@ -136,6 +136,272 @@
<div class="content container">
<div class="posts">
<div class="post">
<h1 class="post-title">
<a href="/index.php/archives/66">
Non abbiamo nulla da nascondere
</a>
</h1>
<span class="post-date">15 Apr 2015</span>
<div class="separator" style="clear: both; text-align: center;">
</div>
<table class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;" cellspacing="0" cellpadding="0" align="center">
<tr>
<td style="text-align: center;">
<a style="margin-left: auto; margin-right: auto;" href="http://francescomecca.eu/wp-content/uploads/2015/08/ce9cc-we-have-nothing-to-hide-so-whats-the-problem.jpg"><img src="http://francescomecca.eu/wp-content/uploads/2015/08/ce9cc-we-have-nothing-to-hide-so-whats-the-problem.jpg" alt="" width="640" height="514" border="0" /></a>
</td>
</tr>
<tr>
<td class="tr-caption" style="text-align: center;">
vignetta di <a href="http://www.arkansasonline.com/staff/john-deering/">John Deering</a> (si ringrazia l&#8217;autore per la disponibilita` alla pubbilicazione)
</td>
</tr>
</table>
<p>Un normale cittadino inglese in due sole occasioni puo` ascoltare la frase: “se non hai nulla da nascondere non hai nulla da temere” in TV: durante lo <a href="http://styleandfashion.blogosfere.it/post/65447/elave-ecco-uno-spot-che-non-ha-nulla-da-nascondere">spot di Elave</a> e della causa farmaceutica Ovelle con i suoi spot NSFW, oppure nel motto del programma per la promozione delle CCTV in luoghi pubblici nelle strade del Regno Unito che recita: “If you&#8217;ve got nothing to hide, you&#8217;ve got nothing to fear&#8221;</p>
<div>
<h4>
<span style="font-family: Arial, Helvetica, sans-serif;"><b><span style="font-weight: normal;">Sfatiamo un mito comune</span></b> </span>
</h4>
<p>
<span style="font-family: Arial, Helvetica, sans-serif;">Questo argomento a favore dell&#8217;intercettazione di massa e a danno nei confronti diritto alla privacy e` spaventosamente comune e viene usato non solo dai governi o dagli istituti di sorveglianza ma comunemente per <u>non esprimersi</u> contro le operazioni di controllo governativo: e` una argomentazione piuttosto inconsapevole e fine a se stessa che non tiene conto di svariate implicazioni e permette ai governi di implementare lo stato di sorveglianza.</span><br /> <span style="font-family: Arial, Helvetica, sans-serif;"><br /> </span><span style="font-family: Arial, Helvetica, sans-serif;">Innanzitutto la privacy e` <u>controllo</u>, non segretezza: la sorveglianza sociale ha il potere di eliminare il diritto di libera espressione, di libera associazione e di proprieta` personale. </span><br /> <span style="font-family: Arial, Helvetica, sans-serif;">Il controllo dei dati e` uno dei dibattiti piu` attuali nell&#8217;<a href="https://encrypted.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&cad=rja&uact=8&ved=0CB0QFjAA&url=http%3A%2F%2Fec.europa.eu%2Fdgs%2Fhome-affairs%2Fwhat-we-do%2Fpolicies%2Fpolice-cooperation%2Fdata-retention%2Findex_en.htm&ei=nqctVeaEKMPUapOXgKAD&usg=AFQjCNGcpPEyhxRiU9UiETrwMgGgEURFrA&sig2=1NgS64S6bckbilRI68-_wA&bvm=bv.90790515,d.d2s" target="_blank">unione europea</a> e proprio da qui nasce il termine di “privacy obliqua”, ovvero la possibilita` per le aziende di avere a propria disposizione i dati che il cittadino ha liberamente (ma spesso sensa saperlo) concesso loro. </span><br /> <span style="font-family: Arial, Helvetica, sans-serif;"><br /> </span>
</p>
<h4>
<span style="font-family: Arial, Helvetica, sans-serif;"><b><span style="font-weight: normal;"><span style="font-size: large;"><b>Se hai i miei dati ho diritto ai tuoi</b> </span></span></b></span>
</h4>
<p>
<span style="font-family: Arial, Helvetica, sans-serif;">Uno Stato in cui tutte le mie attivita` (magari anche i pensieri) sono pubblici implica che nessuno possa nascondere questi dati; invece nella societa` attuale le agenzie governative come la NSA o anche solo i politici si nascondo spesso dietro il <i>segreto</i> e non acconsentono alla completa trasparenza delle loro azioni: si origina cosi` una intollerabile forma di disparita`. </span><br /> <span style="font-family: Arial, Helvetica, sans-serif;"><br /> </span><span style="font-family: Arial, Helvetica, sans-serif;">A questo si aggiunge che non sei mai te stesso a decidere se hai qualcosa da nascondere, bensi` l&#8217;autorita`.</span><br /> <span style="font-family: Arial, Helvetica, sans-serif;">James Duane lo spiega <a href="http://www.youtube.com/watch?v=6wXkI4t7nuc" target="_blank">cosi</a>&#8216;:</span>
</p>
<blockquote class="tr_bq">
<p>
Estimates of the current size of the body of federal criminal law vary. It has been reported that the Congressional Research Service <i><span style="font-style: normal;">cannot even count the current number of federal crimes</span></i>. These laws are scattered in over 50 titles of the United States Code, encompassing roughly 27,000 pages. Worse yet, the statutory code sections often incorporate, by reference, the provisions and sanctions of administrative regulations promulgated by various regulatory agencies under congressional authorization. Estimates of how many such regulations exist are even less well settled, but the ABA thinks there are nearly 10,000”</span>
</p>
</blockquote>
<p>
Con le parole di <a href="https://www.schneier.com/essay-114.htm" target="_blank">Bruce Schneier:</a></p>
“se mi dai sei linee scritte di pugno dall&#8217;uomo piu` onesto, potrei trovare qualche motivo per farlo impiccare!”.
<p></p>
<p>
A questo si aggiunge che non e` sempre la verita` la paladina dei nostri diritti: spesso i pregiudizi sociali a cui si aggiunge la manipolazione dei mass media porta un innocente ad essere dichiarato colpevole falsamente ed innanzitempo.  <span style="font-size: large;"><br /> </span></span>
</p>
<h4>
<b>Ben oltre il sostrato sociale</b>
</h4>
<p>
<span style="font-family: Arial, Helvetica, sans-serif;"> La sorveglianza di massa determina uno spaventoso cambiamento comportamentale: ogni gesto che l&#8217;individuo si trovera` a compiere non verra` analizzato secondo il binomio legale-illegale, bensi` secondo la domanda: “E` un comportamento sospetto? L&#8217;autorita` come puo` valutare questa mia azione?”. Si perde ogni confine certo per finire nel limbo dell&#8217;incertezza e del timore. </span><br /> <span style="font-family: Arial, Helvetica, sans-serif;"><br /> Nella <a href="http://www.diritto.it/docs/35250-la-presunzione-di-innocenza" target="_blank">societa` attuale</a> un imputato è considerato non colpevole sino a condanna definitiva ovvero non spetta allimputato dimostrare la sua innocenza ma è compito degli accusatori dimostrarne la colpa. La presunzione di innocenza al contrario non trova posto in uno stato di controllo a cui potrebbe bastare l&#8217;analisi di un&#8217;idea non ancora messa in atto per processare un cittadino. </span>
</p>
<h4>
<b>Due torti a volte fanno un giusto</b>
</h4>
<p>
<span style="font-family: Arial, Helvetica, sans-serif;">Per quale motivo in molti stati si prende in considerazione il matrimonio omosessuale? </span><br /> <span style="font-family: Arial, Helvetica, sans-serif;"><br /> Il sistema democratico permette a chi lotta attraverso mezzi leciti di ottenere riconosciuti I propri diritti, ma in molti casi queste vittorie legali non sarebbero state possibili se qualcuno non avesse in precedenza commesso il reato infrangendo la legge. Come puo` lo Stato decidere o meno sul matrimonio omosessuale se nessuno avesse visto o avesse preso parte in relazioni con persone dello stesso sesso? </span><br /> <span style="font-family: Arial, Helvetica, sans-serif;"><br /> Quando si dispone di tutti gli strumenti per un tecnocontrollo effettivo ogni <u>potenziale</u> fuorilegge verrebbe perseguitato. </span> <span style="font-family: Arial, Helvetica, sans-serif;"><br /> </span>
</p>
<h4>
<b>Nulla da nascondere?</b>
</h4>
<p>
<span style="font-family: Arial, Helvetica, sans-serif;">“Diventiamo individui attraverso la scoperta che possiamo nascondere qualcosa negli altri” afferma <a href="http://www.emiliomordini.info/about-m-e/" target="_blank">Emilio Mordini</a>.</span>
</p>
<p>
<span style="font-family: Arial, Helvetica, sans-serif;">La semplice verita` e` che non serriamo le persiane per nascondere crimini e misfatti, le esperienze anche piu` ingenue dell&#8217;individuo si riflettono nell&#8217;intimita`, <i>“che al giorno d&#8217;oggi, e` il Santo Graal”</i>. </span>
</p>
<div style="text-align: right;">
<span style="font-family: Arial, Helvetica, sans-serif;">Francesco Mecca </span>
</div></div>
</div>
<div class="post">
<h1 class="post-title">
<a href="/index.php/archives/67">
Facciamo luce sui profili ombra
</a>
</h1>
<span class="post-date">13 Apr 2015</span>
<p>La BPC, Belgian Privacy Commision, il 31 marzo ha pubblicato un <a href="http://www.law.kuleuven.be/icri/en/news/item/facebooks-revised-policies-and-terms-v1-2.pdf">documento</a> investigativo sulle policy di Facebook e da questa indagine e` emersa una violazione delle leggi europee sul <a href="http://rt.com/news/245769-facebook-spies-eu-laws/">tracciamento online</a>.</p>
<p>Ogni volta che un utente non loggato, o perfino senza account sul social network, visita una pagina che incorpora il bottone “like” o altri plugin sociali riceve un piccolo file di testo chiamato <a href="https://www.facebook.com/help/cookies">cookie</a> che incorpora una miriade di informazioni e la propria attivita` online in toto. Anche se si ha scelto per l&#8217;opt out un particolare cookie chiamato &#8216;<a href="http://www.zdnet.com/article/facebook-tracking-cookie-returns-according-to-hacker/">datr</a>&#8216; contenente un ID unico viene scaricato e mantenuto nella cache del browser identificando il computer dell&#8217;utente in maniera indistinguibile.<br>
Per quale motivo Facebook usa questo sistema di tracciamento?</p>
<div class="separator" style="clear:both;text-align:center;">
</div>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left:auto;margin-right:auto;text-align:center;">
<tr>
<td style="text-align:center;">
<a href="http://francescomecca.eu/wp-content/uploads/2015/08/c74d7-shadow-3-625x1000.jpg" style="margin-left:auto;margin-right:auto;"><img border="0" src="http://francescomecca.eu/wp-content/uploads/2015/08/c74d7-shadow-3-625x1000.jpg" height="267" width="400" /></a><br />Foto di <a href="https://www.flickr.com/photos/polubeda/" target="_blank">PoL Úbeda Hervas</a> 
</td>
</tr>
</table>
<p>Questo metodo di raccolta dati permette all&#8217;azienda di Mountan View di creare profili ombra a loro volta integrati dai dati forniti da altri utenti.</p>
<p>Uno “shadow profile” e` un file archiviato nei server di Facebook e collegato univocamente ad un utente online: non e` assolutamente differente da un profilo vero e proprio se non che non e` pubblico e generato ad insaputa del proprietario dei dati.</p>
<p>Quando un membro di Facebook installa sul proprio smartphone l&#8217;app ufficiale acconsente alla lettura (e all&#8217;archiviazione) dei propri contatti, dell&#8217;elenco chiamate, la lettura degli sms e nei file archiviati nella scheda SD e l&#8217;accesso a praticamente tutte le funzione del dispositivo di tracciamento smartphone.<br>
In questo modo ed attraverso i cookie Facebook riesce a riunire la maggior parte delle informazioni personali di utenti non iscritti, tra cui gli indirizzi mail, i numeri di telefono, le foto di altri membri iscritti, in alcuni casi perfino l&#8217;indirizzo di casa e informazioni di lavoro.</p>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left:auto;margin-right:auto;text-align:center;">
<tr>
<td style="text-align:center;">
<a href="http://francescomecca.eu/wp-content/uploads/2015/08/e5bc2-192-168-0-122.png" style="margin-left:auto;margin-right:auto;"><img border="0" height="400" src="https://images-blogger-opensocial.googleusercontent.com/gadgets/proxy?url=http%3A%2F%2F2.bp.blogspot.com%2F-nqe0T95jgy8%2FVSr-HHgeI1I%2FAAAAAAAAAA8%2Fo7olXIAGeDk%2Fs1600%2F192.168.0.122.png&container=blogger&gadget=a&rewriteMime=image%2F*" width="240" /></a>
</td>
</tr>
<tr>
<td class="tr-caption" style="text-align:center;">
Permessi dell&#8217;app di Facebook su Android
</td>
</tr>
</table>
<p>Chi ha il controllo su questi dati?</p>
<p>Non di certo l&#8217;utente che viene profilato a sua insaputa, ma le compagnie di advertising (a breve il lancio della piattaforma omniseziente <a href="http://atlassolutions.com/">ATLAS</a>), le <a href="https://www.nsa.gov/">agenzie governative</a> e Facebook stessa che si scusa dicendo che i dati vengono “inclusi”, non “raccolti” (<a href="https://www.facebook.com/notes/facebook-security/important-message-from-facebooks-white-hat-program/10151437074840766"></a><a href="https://www.facebook.com/notes/facebook-security/important-message-from-facebooks-white-hat-program/10151437074840766">Additionally, no other types of personal or financial information were included”</a>).</p>
<p>C&#8217;e` scampo al potere di Facebook? C&#8217;e` una via di fuga dal web sociale per chi vuole rimanere una persona non un prodotto? A 10 anni da quando <a href="http://it.wikipedia.org/wiki/Tim_O%27Reilly">TimO&#8217;Reilly</a> conio` la fatidica espressione “Web 2.0” l&#8217;utente consapevole si trova ad un bivio dove ogni scelta e` in perdita.</p>
<div style="text-align:right;">
</div>
<div style="text-align:right;">
Francesco Mecca
</div>
</div>
<div class="post">
<h1 class="post-title">
<a href="/index.php/archives/70">
Anonymous: we are legion
</a>
</h1>
<span class="post-date">13 Apr 2015</span>
<div class="MsoNormal" style="text-align:justify;">
Trattando argomenti quali lanonimato e la privacy, non si può fare a meno di parlare di uno dei movimenti più rappresentativi di queste due tematiche, ovvero Anonymous. Questo movimento nasce nel 2003, e per il suo nome prende ispirazione dal nickname usato nei siti di imageboard, siti nei quali un thread può essere iniziato solo con un immagine, quali per esempio 4chan, 711chan, dove chi commentava senza identificarsi appariva come “anonymous”, e da qui si incominciò a identificare anonymous come una persona reale. </p>
</div>
<div class="MsoNormal" style="text-align:justify;">
Anonymous non ha un leader, è un insieme di persone, o anche singoli, spesso provenienti dagli stessi siti di imageboard citati prima, che agiscono con un fine comune che può essere visto nella libertà di espressione, infatti le attività mosse da questo gruppo mirano alla pubblicazione di informazioni riservate, forme di protesta quali attacchi DDoS o proteste in strada, le quali allinizio fecero capire limportanza che stava acquisendo il movimento, infatti si scoprirono essere numerosi coloro che aderirono nelle varie città del mondo.</p>
</div>
<div class="MsoNormal" style="text-align:justify;">
La grandezza di cui gode Anonymous è data dal web, grazie al quale persone con un ideologia comune si sono potute incontrare, hanno potuto organizzarsi e dare vita a quello che ad oggi è uno dei fenomeni più conosciuti su internet.</p>
</div>
<div class="MsoNormal" style="text-align:justify;">
Uno dei simboli che identifica Anonymous è la maschera di <span style="background-color:white;color:#252525;font-family:sans-serif;font-size:14px;line-height:22.39999961853px;text-align:start;"> </span><a href="http://it.wikipedia.org/wiki/Guy_Fawkes" style="background:none rgb(255,255,255);color:#0b0080;font-family:sans-serif;font-size:14px;line-height:22.39999961853px;text-align:start;" title="Guy Fawkes">Guy Fawkes</a>, famoso cospiratore inglese, che spesso viene usata nelle proteste per nascondere il volto dei protestanti, e celarne quindi lidentità.
</div>
<div class="MsoNormal" style="text-align:justify;">
</div>
<div class="separator" style="clear:both;text-align:center;">
</div>
<div class="MsoNormal" style="text-align:center;">
<div class="separator" style="clear:both;text-align:center;">
<a href="http://francescomecca.eu/wp-content/uploads/2015/08/a31f5-211a67b4522ee844418ef0efa5e43c29.jpg" style="margin-left:1em;margin-right:1em;"><img border="0" height="160" src="http://francescomecca.eu/wp-content/uploads/2015/08/a31f5-211a67b4522ee844418ef0efa5e43c29.jpg" width="320" /></a>
</div>
<div class="separator" style="clear:both;text-align:center;">
<span style="background-color:white;line-height:23.519998550415px;text-align:start;"><span style="font-family:Georgia, Times New Roman, serif;font-size:xx-small;">Photo by <a href="https://www.flickr.com/photos/equinoxefr/6857189595/">Pierre (Rennes)</a>/Flickr (CC BY 2.0)</span></span>
</div>
</div>
<div class="MsoNormal" style="text-align:justify;">
</div>
<div class="MsoNormal" style="text-align:justify;">
Le varie attività svolte da questo gruppo, grazie alle quali ha ottenuto sempre più visibilità, sono diverse, quale ad esempio quello del 2010 quando il sito di WikiLeaks pubblicò documenti diplomatici segreti del governo americano, e questultimo a causa di ciò fece forti pressioni per interrompere tali pubblicazioni, ovviamente ciò attirò lattenzione di anonymous che iniziò a sostenere il sito, iniziando a lanciare attacchi DDoS contro siti quali Amazon.com, PayPal, MasterCard, Visa e la banca svizzera i quali avevano dimostrato un comportamento anti-WikiLeaks, perché stopparono lafflusso di donazioni al sito.</p>
<p>
 Un altro evento molto importante fu quando il sito Megaupload venne chiuso dallFBI, e in seguito a ciò anonymous rese impossibile laccesso a siti governativi americani, scatenando quella che fu chiamata W W W W (World Wide Web War), ovvero uno degli attacchi da parte del gruppo più grande e importante realizzato sul web.
</p>
<p>
Infine uno degli eventi più recenti è stato quello contro lo Stato Islamico, infatti gli anonymous hanno bloccato e sospeso tutti gli account social di coloro che avessero a che fare con lorganizzazione dellISIS, a causa di azioni terroristiche condotte da quest&#8217;ultima, e tuttora danno la caccia agli esponenti del movimento per arrestarlo.
</p>
<p>
Fonti: <a href="https://www.youtube.com/watch?v=YJmRqgBE_t8">www.youtube.com</a></div>
<div class="highlight"><pre><code class="language-" data-lang="">&lt;div class="MsoNormal" style="text-align:justify;"&gt;
&lt;p&gt;
&lt;/div&gt;
&lt;div class="MsoNormal" style="text-align:justify;"&gt;
&lt;div style="text-align:center;"&gt;
&lt;/div&gt;
&lt;div class="separator" style="clear:both;text-align:center;"&gt;
&lt;a href="https://www.youtube.com/embed/LiFrjbjASk4?feature=player_embedded"&gt;https://www.youtube.com/embed/LiFrjbjASk4?feature=player_embedded&lt;/a&gt;
&lt;/div&gt;
&lt;div style="text-align:center;"&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="MsoNormal" style="text-align:justify;"&gt;
&lt;/div&gt;
&lt;div class="MsoNormal" style="text-align:center;"&gt;
&lt;span lang="EN-US" style="background:white;font-family:Arial, sans-serif;font-size:10pt;"&gt;We are Anonymous.&lt;/span&gt;
&lt;/div&gt;
&lt;div class="MsoNormal" style="text-align:center;"&gt;
&lt;span lang="EN-US" style="background:white;font-family:Arial, sans-serif;font-size:10pt;"&gt; We are legion.&lt;/span&gt;
&lt;/div&gt;
&lt;div class="MsoNormal" style="text-align:center;"&gt;
&lt;span lang="EN-US" style="background:white;font-family:Arial, sans-serif;font-size:10pt;"&gt; We do not forgive. &lt;/span&gt;
&lt;/div&gt;
&lt;div class="MsoNormal" style="text-align:center;"&gt;
&lt;span lang="EN-US" style="background:white;font-family:Arial, sans-serif;font-size:10pt;"&gt;We do not forget. &lt;/span&gt;
&lt;/div&gt;
&lt;div class="MsoNormal" style="text-align:center;"&gt;
&lt;span lang="EN-US" style="background:white;font-family:Arial, sans-serif;font-size:10pt;"&gt;Expect us&lt;/span&gt;!
&lt;/div&gt;
&lt;div class="MsoNormal" style="text-align:center;"&gt;
&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;/div&gt;
&lt;p&gt;
&lt;div class="MsoNormal" style="text-align:center;"&gt;
&lt;span lang="EN-US"&gt;                                                                                                        Gabriele Corso&lt;/span&gt;
&lt;/div&gt;
</code></pre></div>
</div>
<div class="post">
<h1 class="post-title">
<a href="/index.php/archives/73">
@ -204,225 +470,6 @@ Il payload è un tipo di shellcode, ovvero un piccolo pezzo di codice, che sfrut
</div>
<div class="post">
<h1 class="post-title">
<a href="/index.php/archives/82">
Bitwhisper, dove anche la rete non arriva
</a>
</h1>
<span class="post-date">09 Apr 2015</span>
<div style="line-height:100%;margin-bottom:0;">
<span style="font-family:Arial, Helvetica, sans-serif;">Lo scorso 26 marzo 4 ricercatori della Ben Gurion University in Israele hanno sviluppato Bitwhisper, un inconsueto malware per PC che dimostra la possibilita` di penetrare macchine anche non connesse in rete.</span>
</div>
<div style="line-height:100%;margin-bottom:0;">
<span style="font-family:Arial, Helvetica, sans-serif;"><br /></span>
</div>
<div style="line-height:100%;margin-bottom:0;">
<span style="font-family:Arial, Helvetica, sans-serif;">In informatica si usa il termine <i>air-gapped device </i>per denotare due terminali fisicamente separati, uno dei quali e` connesso ad internet mentre l&#8217;altro e` completamente offline: tutto il lavoro sensibile viene svolto sul dispositivo offline e successivamente trasferito (magari con un drive usb) sul pc connesso e pubblicato in rete.</span>
</div>
<div style="line-height:100%;margin-bottom:0;">
<span style="font-family:Arial, Helvetica, sans-serif;">Queste precauzioni si basano sul presupposto che un pc non connesso ad internet sia sicuro da vettori di attacco, e che anche se infetto non puo` ricevere comandi.</span>
</div>
<div style="line-height:100%;margin-bottom:0;">
<span style="font-family:Arial, Helvetica, sans-serif;"><br /></span>
</div>
<div style="line-height:100%;margin-bottom:0;">
<span style="font-family:Arial, Helvetica, sans-serif;">Bitwhisper e` la dimostrazione che e` possibile fare breccia in questi sistemi attraverso lo sfruttamento dei sensori termici installati in ogni macchina per prevenire il surriscaldamento.</span>
</div>
<div style="line-height:100%;margin-bottom:0;">
<span style="font-family:Arial, Helvetica, sans-serif;"><br /></span>
</div>
<div class="separator" style="clear:both;text-align:center;">
<span style="font-family:Arial, Helvetica, sans-serif;">[youtube=http://www.youtube.com/watch?v=EWRk51oB-1Y&w=320&h=266]</span>
</div>
<div style="line-height:100%;margin-bottom:0;">
<span style="font-family:Arial, Helvetica, sans-serif;"><br /></span>
</div>
<div style="line-height:100%;margin-bottom:0;">
<span style="font-family:Arial, Helvetica, sans-serif;">In questo video viene illustrato l&#8217;attacco: innanzitutto in entrambi i pc e` installato il malware che attraverso l&#8217;uso del processore, della scheda video e opzionalmente di tutte le altre componenti hardware innalza in maniera controllata la temperatura della macchina dove e` installata, aspettando che l&#8217;altra macchina percepisca con i propri sensori questo innalzamento e trasmetta indietro un segnale di conferma. Il sistema di comunicazione e` molto simile al codice morse e un innalzamento di un grado puo` venir tradotto in un bit di segnale.</span>
</div>
<div style="line-height:100%;margin-bottom:0;">
<span style="font-family:Arial, Helvetica, sans-serif;">Tramite questa tecnica e` possibile trasmettere 8 bit di segnale all&#8217;ora a PC ad un massimo di 40 centimetri di distanza. In questo modo viene azionato il piccolo lancia missili giocattolo sul PC di destra.</span>
</div>
<div style="line-height:100%;margin-bottom:0;">
<span style="font-family:Arial, Helvetica, sans-serif;"><br /></span>
</div>
<div style="line-height:100%;margin-bottom:0;">
<span style="font-family:Arial, Helvetica, sans-serif;">Nonostante in precedenza siano state mostrate tecniche piu` efficaci per penetrare dispositivi <i>air-gapped </i>come ad esempio segnali radio, frequenze non udibili e segnali elettromagnetici, Bitwhisper e` il piu` interessante perche` il primo a permettere non solo l&#8217;intercettazioni di dati, ma anche l&#8217;invio di segnali. Una macchina infettata da Bitwhisper puo` effettuare ping e handshake oltre che ricevere comandi ed e` molto difficile da tracciare in quanto le fluttuazioni di calore sono minime e molto frequenti nei computer.</span>
</div>
<div style="line-height:100%;margin-bottom:0;">
<span style="font-family:Arial, Helvetica, sans-serif;"><br /></span>
</div>
<div style="line-height:100%;margin-bottom:0;">
<span style="font-family:Arial, Helvetica, sans-serif;">Al momento non ci sono prove credibili che questo exploit sia stato usato da cracker o da agenzie di spionaggio, ma in precedenza -stando ai leak di Snowden- l&#8217;NSA ha sfruttato tecniche di infezione anche piu` sofisticate per <a href="http://www.nytimes.com/2014/01/15/us/nsa-effort-pries-open-computers-not-connected-to-internet.html?_r=1" target="_blank">iniettare malware</a> in PC non connessi in rete delle centrali iraniane.</span>
</div>
<div style="line-height:100%;margin-bottom:0;">
<span style="font-family:Arial, Helvetica, sans-serif;"><br /></span>
<div style="text-align:right;">
<span style="font-family:Arial, Helvetica, sans-serif;">Francesco Mecca</span>
</div>
</div>
<p><span style="font-family:Arial, Helvetica, sans-serif;"><br /></span> </p>
<div style="line-height:100%;margin-bottom:0;">
<span style="font-family:Arial, Helvetica, sans-serif;"><br /></span>
</div>
</div>
<div class="post">
<h1 class="post-title">
<a href="/index.php/archives/85">
Il Big Bang dei Big Data
</a>
</h1>
<span class="post-date">06 Apr 2015</span>
<p>“Perche` sto puntando tutto sul deep learning? Perche&#8217; sara` il nuovo Big Bang”</p>
<p>Cosi` ha parlato il CEO di Nvidia Jensen Huang il 3 marzo scorso alla sua <a href="http://www.gputechconf.com/">GTC 2015</a>.<br>
L&#8217;attenzione di Huang si e` concentrata sul deep learning e come le deep neural networks negli ultimi anni abbiano compiuto progressi impressionanti tali da superare il cervello umano nei test di analisi immagine.</p>
<p>Molta della ricerca negli ultimi anni, in particolare dal 2012 ad oggi, si sta concentrando sul programmare algoritmi tali da consentire alle intelligenze artificiali di processare dati in maniera gerarchica e organizzata tramite l&#8217;apprendimento progressivo dei livelli di rappresentazione.<br>
E` una scienza che acquista un&#8217;importanza fondamentale, anzi diventa un requisito necessario nel campo dei Big Data.</p>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left:auto;margin-right:auto;text-align:center;">
<tr>
<td style="text-align:center;">
<a href="http://francescomecca.eu/wp-content/uploads/2015/08/gratis.png" style="margin-left:auto;margin-right:auto;"><img border="0" src="https://images-blogger-opensocial.googleusercontent.com/gadgets/proxy?url=http%3A%2F%2F2.bp.blogspot.com%2F-71lrlU3SeNo%2FVSGcwmXDJKI%2FAAAAAAAAAAc%2F8CVzgBBpV7Y%2Fs1600%2Fgratis.PNG&container=blogger&gadget=a&rewriteMime=image%2F*" /></a>
</td>
</tr>
<tr>
<td class="tr-caption" style="text-align:center;">
gratis: il paradosso del Web 2.0
</td>
</tr>
</table>
<p>Come possono mantenersi in vita aziende come Google, Facebook, Twitter e moltissime altre che gratuitamente offrono agli utenti finali servizi?<br>
I dati sono la risposta economica a: “Iscriviti, e&#8217; gratis e lo sarà sempre” e lo sfruttamento di essi rende possibile le ricerche di marketing, la progettazione di gadget e sopratutto le previsioni a breve termine di trend economici, flessioni di mercato, insomma il futuro della societa&#8217;.</p>
<p>I dati cosi` raccolti pero` nella maggior parte dei casi sono non organizzati e a risolvere questo dilemma interviene il deep learning che si occupa di gestire, ordinare ed integrare i dati provenienti dalle sorgenti analizzate. Perfezionare il deep learning significa poter integrare e comprendere ogni singolo flusso di dati all&#8217;interno del grande mare dei big data.</p>
<p>Jensen continua il suo discorso affermando che: “Oggi c&#8217;e` una mole di dati troppo estesa per poter comprendere cosa stia accadendo. Un super computer grazie al deep learning potra` in futuro offrirci previsioni quanto piu` attendibili, previsioni che l&#8217;uomo non potrebbe nemmeno percepire. In futuro grazie a tutti i dispositivi connessi in internet avremo dati di qualsiasi genere. Anche quelli piu&#8217; impensabili: in base ai dati raccolti potremo dire, per esempio, se in un determinato luogo si sta svolgendo una rapina od una sommossa.”</p>
<p>Questa informazione per me rappresenta un lapsus ed e` l&#8217;aspetto piu` critico dei big data: l&#8217;abbattimento di ogni riservatezza personale tramite la concessione indiscriminata di dati abbatte ogni limite alla possibilita` di tecnocontrollo sul presente e sul futuro.</p>
<p><a href="https://hbr.org/2014/11/with-big-data-comes-big-responsibility">With Big Data Comes Big Responsibility</a> afferma l&#8217;Harvard Business Center; ma davvero tutti i nostri dati generati dalle nostre attivita&#8217; in rete sono esclusivamente proprieta` dei giganti del Web? E&#8217; giusto che anche le nostre attivita` al di fuori del Web, come i nostri <a href="http://www.bloomberg.com/bw/articles/2013-08-08/your-medical-records-are-for-sale">registri medici</a> siano venduti e sfruttati commercialmente o a fini di controllo sociale? </p>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left:auto;margin-right:auto;text-align:center;">
<tr>
<td style="text-align:center;">
<a href="http://francescomecca.eu/wp-content/uploads/2015/08/9276962702_57d9bfddd4_o.jpg" style="margin-left:auto;margin-right:auto;"><img border="0" height="400" src="http://francescomecca.eu/wp-content/uploads/2015/08/9276962702_57d9bfddd4_o.jpg?w=300" width="400" /></a>
</td>
</tr>
<tr>
<td class="tr-caption" style="text-align:center;">
<div class="attribution-info">
<a class="owner-name truncate" href="https://www.flickr.com/photos/adactio/" title="Go to Jeremy Keith's photostream">Jeremy Keith</a>
<div class="view follow-view clear-float photo-attribution" id="yui_3_16_0_1_1434565601596_716">
<span class="relationship"> </span>
</div>
</div>
</td>
</tr>
</table>
<p>E` inutile chiedere regolamentazione ai governi che purtroppo sembrano ignorare le implicazioni etiche di queste pratiche oppressive, anzi in alcuni casi le sfruttano in proprio favore. E` utopico pensare di poter convincere le aziende a rinunciare a questi dati che rappresentano la loro linfa vitale.</p>
<p>La via di uscita sembra essere una sola, anche se poco desiderabile: <a href="http://en.wikipedia.org/wiki/Opt-out">l&#8217;opt out</a> ovvero la rinuncia consapevole da parte dell&#8217;utente al servizio.</p>
<div style="text-align:right;">
Francesco Mecca
</div>
</div>
<div class="post">
<h1 class="post-title">
<a href="/index.php/archives/87">
Ci presentiamo
</a>
</h1>
<span class="post-date">04 Apr 2015</span>
<p><span style="font-family: inherit;">Salve a tutti,</span></p>
<div style="line-height: 100%; margin-bottom: 0;">
<span style="font-family: inherit;">siamo tre studenti della facolta` di ingegneria del Politecnico di Torino ed abbiamo aperto questo blog come strumento di giudizio per il corso di </span><a href="http://rivoluzionedigitale.polito.it/" target="_blank" rel="nofollow"><span style="font-family: inherit;">Rivoluzione Digitale</span></a><span style="font-family: inherit;">.</span><br /> <span style="font-family: inherit;"><br /> </span>
</div>
<div style="line-height: 100%; margin-bottom: 0;">
</div>
<div style="line-height: 100%; margin-bottom: 0;">
<span style="font-family: inherit;">Aprire un blog per noi e` un gesto molto significativo: siamo nati nel 1995 percio` possiamo essere considerati “nativi digitali” ed abbiamo assistito ad una sempre piu` larga, per certe prospettive globale espansione del mondo di internet e dei computer e toccato con mano le conseguenze che questa espansione ha avuto sulla societa`. </span>
</div>
<div style="line-height: 100%; margin-bottom: 0;">
<span style="font-family: inherit;">Sia che si pensi alle BBS degli anni 70 o ai social networks di oggi il Web e` stato ed e` tutt&#8217;ora in gran parte il prodotto dei contenuti degli utenti che ogni volta che compiono un azione online lasciano tracce digitali e anche inconsapevolmente permettono l&#8217;espansione del mondo digitale.</span>
</div>
<p>&nbsp;</p>
<div style="line-height: 100%; margin-bottom: 0;">
<span style="font-family: inherit;">Il blog e` lo strumento che noi nativi digitali consapevoli abbiamo scelto per lasciare la nostra impronta in rete con lo stesso spirito con cui si accende una lanterna cinese, con la consapevolezza che ogni strumento di comunicazione e attivismo e` un piccolo passo verso un mondo piu&#8217; democratico.</span>
</div>
<p>&nbsp;</p>
<div style="line-height: 100%; margin-bottom: 0;">
<span style="font-family: inherit;">I temi che ci proponiamo di trattare riguardano il mondo del digitale ma con particolare attenzione all&#8217;anonimato e alla privacy, parole che per alcuni non hanno piu` senso nel mondo del Web 2.0.</span><br /> <span style="font-family: inherit;"><br /> </span>
</div>
<div style="line-height: 100%; margin-bottom: 0;">
<span style="font-family: inherit;">Per noi queste due parole invece sono sempre piu` rilevanti, anzi fondamentali per costituire l&#8217;identita` di un cittadino digitale, di un netizen non miope e ben attento agli abusi da parte dei poteri forti nell&#8217;era digitale.</span>
</div>
<div style="line-height: 100%; margin-bottom: 0;">
<span style="font-family: inherit;">Ci opponiamo alle parole dell&#8217;onorevole Tiziano Motti che sostiene che: “L&#8217;anonimato in rete e&#8217; il contrario della democrazia che la rete stessa offre”, anzi crediamo che sia un presupposto necessario per una societa` libera e condizione necessaria per un uso autonomo e partecipativo della rete.</span><br /> <span style="font-family: inherit;"><br /> </span>
</div>
<div style="line-height: 100%; margin-bottom: 0;">
<span style="font-family: inherit;">Siate liberi di contattarci sul profilo twitter del gruppo <span lang="en-US"><a href="https://twitter.com/caughtin_thenet">@caughtin_thenet</a>o anche sui nostri profili personali <a href="https://twitter.com/EugenioCorso">@EugenioCorso</a> <a href="https://twitter.com/GabrieleCorso95">@GabrieleCorso95</a> e <a href="https://twitter.com/FrancescoMecca">@FrancescoMecca</a> .</span></span>
</div>
<div style="line-height: 100%; margin-bottom: 0;">
<span style="font-family: inherit;"><span lang="en-US">Siamo disponibili via email all&#8217;indirizzo pescewanda3 [at] gmail.com : </span><span lang="en-US">e` possibile usare la <a href="http://caught-in-thenet.blogspot.it/2015/03/chiave-pgp.html" target="_blank">nostra chiave PGP</a> per scriverci.</span></span>
</div>
<p>&nbsp;</p>
<div style="line-height: 100%; margin-bottom: 0;" align="RIGHT">
<span style="font-family: inherit;">Francesco Mecca, Eugenio Corso, Gabriele Corso</span>
</div>
</div>
</div>
<div class="pagination">

View file

@ -119,7 +119,7 @@
<a class="sidebar-nav-item" href="/feed.xml">RSS</a>
<a class="sidebar-nav-item" href="http://francescomecca.eu:3000">Personal Git</a>
<a class="sidebar-nav-item" href="http://francescomecca.eu:3000/explore/repos">Personal Git</a>
<span class="sidebar-nav-item" href="" >Powered by Jekyll and Hyde</span>
</nav>
@ -187,6 +187,33 @@ Finally I put a link to the archive, my github page and the atom feed on the sid
<!--<related-posts />-->
<!--<h2>Related Posts</h2>-->
<!--<ul class="related-posts">-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/11/11/machine-learning-PARTE2/">-->
<!--Capire il Machine Learning (parte 2)-->
<!--<small>11 Nov 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/11/10/machine-learning-intro/">-->
<!--Capire il Machine Learning (parte 1)-->
<!--<small>10 Nov 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/11/10/machine-learning-PARTE3/">-->
<!--Capire il Machine Learning (parte 1)-->
<!--<small>10 Nov 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
@ -206,33 +233,6 @@ Finally I put a link to the archive, my github page and the atom feed on the sid
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/07/05/arduino_keyboard/">-->
<!--Arduino Uno as HID keyboard-->
<!--<small>05 Jul 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/05/16/lifehacks2/">-->
<!--Lifehacks (2)-->
<!--<small>16 May 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/05/15/genetic-alg/">-->
<!--Interpolation using a genetic algorithm-->
<!--<small>15 May 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--</ul>-->
<!--</div>-->
@ -488,6 +488,66 @@ Finally I put a link to the archive, my github page and the atom feed on the sid

View file

@ -119,7 +119,7 @@
<a class="sidebar-nav-item" href="/feed.xml">RSS</a>
<a class="sidebar-nav-item" href="http://francescomecca.eu:3000">Personal Git</a>
<a class="sidebar-nav-item" href="http://francescomecca.eu:3000/explore/repos">Personal Git</a>
<span class="sidebar-nav-item" href="" >Powered by Jekyll and Hyde</span>
</nav>
@ -171,6 +171,33 @@ The bot can be added to your contact list by simply searching for <a href="http:
<!--<related-posts />-->
<!--<h2>Related Posts</h2>-->
<!--<ul class="related-posts">-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/11/11/machine-learning-PARTE2/">-->
<!--Capire il Machine Learning (parte 2)-->
<!--<small>11 Nov 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/11/10/machine-learning-intro/">-->
<!--Capire il Machine Learning (parte 1)-->
<!--<small>10 Nov 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/11/10/machine-learning-PARTE3/">-->
<!--Capire il Machine Learning (parte 1)-->
<!--<small>10 Nov 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
@ -190,33 +217,6 @@ The bot can be added to your contact list by simply searching for <a href="http:
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/07/05/arduino_keyboard/">-->
<!--Arduino Uno as HID keyboard-->
<!--<small>05 Jul 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/05/16/lifehacks2/">-->
<!--Lifehacks (2)-->
<!--<small>16 May 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/05/15/genetic-alg/">-->
<!--Interpolation using a genetic algorithm-->
<!--<small>15 May 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--</ul>-->
<!--</div>-->
@ -429,6 +429,195 @@ The bot can be added to your contact list by simply searching for <a href="http:
@ -554,104 +743,6 @@ The bot can be added to your contact list by simply searching for <a href="http:
<li class="relatedPost">
<a href="/pescewanda/2016/04/17/kpd-player/">Kyuss Music Player
</a>
</li>

View file

@ -119,7 +119,7 @@
<a class="sidebar-nav-item" href="/feed.xml">RSS</a>
<a class="sidebar-nav-item" href="http://francescomecca.eu:3000">Personal Git</a>
<a class="sidebar-nav-item" href="http://francescomecca.eu:3000/explore/repos">Personal Git</a>
<span class="sidebar-nav-item" href="" >Powered by Jekyll and Hyde</span>
</nav>
@ -155,6 +155,33 @@ instantaneously.</p></li>
<!--<related-posts />-->
<!--<h2>Related Posts</h2>-->
<!--<ul class="related-posts">-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/11/11/machine-learning-PARTE2/">-->
<!--Capire il Machine Learning (parte 2)-->
<!--<small>11 Nov 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/11/10/machine-learning-intro/">-->
<!--Capire il Machine Learning (parte 1)-->
<!--<small>10 Nov 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/11/10/machine-learning-PARTE3/">-->
<!--Capire il Machine Learning (parte 1)-->
<!--<small>10 Nov 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
@ -174,33 +201,6 @@ instantaneously.</p></li>
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/07/05/arduino_keyboard/">-->
<!--Arduino Uno as HID keyboard-->
<!--<small>05 Jul 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/05/16/lifehacks2/">-->
<!--Lifehacks (2)-->
<!--<small>16 May 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/05/15/genetic-alg/">-->
<!--Interpolation using a genetic algorithm-->
<!--<small>15 May 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--</ul>-->
<!--</div>-->
@ -300,6 +300,123 @@ instantaneously.</p></li>
@ -410,75 +527,6 @@ instantaneously.</p></li>

View file

@ -119,7 +119,7 @@
<a class="sidebar-nav-item" href="/feed.xml">RSS</a>
<a class="sidebar-nav-item" href="http://francescomecca.eu:3000">Personal Git</a>
<a class="sidebar-nav-item" href="http://francescomecca.eu:3000/explore/repos">Personal Git</a>
<span class="sidebar-nav-item" href="" >Powered by Jekyll and Hyde</span>
</nav>
@ -149,6 +149,33 @@
<!--<related-posts />-->
<!--<h2>Related Posts</h2>-->
<!--<ul class="related-posts">-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/11/11/machine-learning-PARTE2/">-->
<!--Capire il Machine Learning (parte 2)-->
<!--<small>11 Nov 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/11/10/machine-learning-intro/">-->
<!--Capire il Machine Learning (parte 1)-->
<!--<small>10 Nov 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/11/10/machine-learning-PARTE3/">-->
<!--Capire il Machine Learning (parte 1)-->
<!--<small>10 Nov 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
@ -168,33 +195,6 @@
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/07/05/arduino_keyboard/">-->
<!--Arduino Uno as HID keyboard-->
<!--<small>05 Jul 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/05/16/lifehacks2/">-->
<!--Lifehacks (2)-->
<!--<small>16 May 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/05/15/genetic-alg/">-->
<!--Interpolation using a genetic algorithm-->
<!--<small>15 May 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--</ul>-->
<!--</div>-->
@ -462,6 +462,54 @@

View file

@ -119,7 +119,7 @@
<a class="sidebar-nav-item" href="/feed.xml">RSS</a>
<a class="sidebar-nav-item" href="http://francescomecca.eu:3000">Personal Git</a>
<a class="sidebar-nav-item" href="http://francescomecca.eu:3000/explore/repos">Personal Git</a>
<span class="sidebar-nav-item" href="" >Powered by Jekyll and Hyde</span>
</nav>
@ -194,6 +194,33 @@ The source for our program is stored in my git <a href="http://francescomecca.eu
<!--<related-posts />-->
<!--<h2>Related Posts</h2>-->
<!--<ul class="related-posts">-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/11/11/machine-learning-PARTE2/">-->
<!--Capire il Machine Learning (parte 2)-->
<!--<small>11 Nov 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/11/10/machine-learning-intro/">-->
<!--Capire il Machine Learning (parte 1)-->
<!--<small>10 Nov 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/11/10/machine-learning-PARTE3/">-->
<!--Capire il Machine Learning (parte 1)-->
<!--<small>10 Nov 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
@ -213,33 +240,6 @@ The source for our program is stored in my git <a href="http://francescomecca.eu
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/07/05/arduino_keyboard/">-->
<!--Arduino Uno as HID keyboard-->
<!--<small>05 Jul 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/05/16/lifehacks2/">-->
<!--Lifehacks (2)-->
<!--<small>16 May 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/05/15/genetic-alg/">-->
<!--Interpolation using a genetic algorithm-->
<!--<small>15 May 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--</ul>-->
<!--</div>-->
@ -284,112 +284,6 @@ The source for our program is stored in my git <a href="http://francescomecca.eu
@ -413,6 +307,328 @@ The source for our program is stored in my git <a href="http://francescomecca.eu
<h4>Similar Posts</h4>
<ul>
<li class="relatedPost">
<a href="/pescewanda/2016/11/11/machine-learning-PARTE2/">Capire il Machine Learning (parte 2)
</a>
</li>
<li class="relatedPost">
<a href="/pescewanda/2016/11/10/machine-learning-intro/">Capire il Machine Learning (parte 1)
</a>
</li>
<li class="relatedPost">
<a href="/pescewanda/2016/11/10/machine-learning-PARTE3/">Capire il Machine Learning (parte 1)
</a>
</li>
<li class="relatedPost">
<a href="/pescewanda/2016/07/05/arduino_keyboard/">Arduino Uno as HID keyboard
@ -596,104 +812,6 @@ The source for our program is stored in my git <a href="http://francescomecca.eu
<li class="relatedPost">
<a href="/pescewanda/2016/04/02/buridan_donkey/">The Buridan's donkey in python
</a>
</li>

View file

@ -119,7 +119,7 @@
<a class="sidebar-nav-item" href="/feed.xml">RSS</a>
<a class="sidebar-nav-item" href="http://francescomecca.eu:3000">Personal Git</a>
<a class="sidebar-nav-item" href="http://francescomecca.eu:3000/explore/repos">Personal Git</a>
<span class="sidebar-nav-item" href="" >Powered by Jekyll and Hyde</span>
</nav>
@ -236,6 +236,33 @@ Ogni altra prova è discutibile e non necessaria.</p>
<!--<related-posts />-->
<!--<h2>Related Posts</h2>-->
<!--<ul class="related-posts">-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/11/11/machine-learning-PARTE2/">-->
<!--Capire il Machine Learning (parte 2)-->
<!--<small>11 Nov 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/11/10/machine-learning-intro/">-->
<!--Capire il Machine Learning (parte 1)-->
<!--<small>10 Nov 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/11/10/machine-learning-PARTE3/">-->
<!--Capire il Machine Learning (parte 1)-->
<!--<small>10 Nov 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
@ -255,33 +282,6 @@ Ogni altra prova è discutibile e non necessaria.</p>
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/07/05/arduino_keyboard/">-->
<!--Arduino Uno as HID keyboard-->
<!--<small>05 Jul 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/05/16/lifehacks2/">-->
<!--Lifehacks (2)-->
<!--<small>16 May 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/05/15/genetic-alg/">-->
<!--Interpolation using a genetic algorithm-->
<!--<small>15 May 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--</ul>-->
<!--</div>-->
@ -591,6 +591,231 @@ Ogni altra prova è discutibile e non necessaria.</p>
@ -671,111 +896,6 @@ Ogni altra prova è discutibile e non necessaria.</p>

View file

@ -119,7 +119,7 @@
<a class="sidebar-nav-item" href="/feed.xml">RSS</a>
<a class="sidebar-nav-item" href="http://francescomecca.eu:3000">Personal Git</a>
<a class="sidebar-nav-item" href="http://francescomecca.eu:3000/explore/repos">Personal Git</a>
<span class="sidebar-nav-item" href="" >Powered by Jekyll and Hyde</span>
</nav>
@ -219,6 +219,33 @@ At the end, I ask, why would you choose anything else than the easiest and most
<!--<related-posts />-->
<!--<h2>Related Posts</h2>-->
<!--<ul class="related-posts">-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/11/11/machine-learning-PARTE2/">-->
<!--Capire il Machine Learning (parte 2)-->
<!--<small>11 Nov 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/11/10/machine-learning-intro/">-->
<!--Capire il Machine Learning (parte 1)-->
<!--<small>10 Nov 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/11/10/machine-learning-PARTE3/">-->
<!--Capire il Machine Learning (parte 1)-->
<!--<small>10 Nov 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
@ -238,33 +265,6 @@ At the end, I ask, why would you choose anything else than the easiest and most
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/07/05/arduino_keyboard/">-->
<!--Arduino Uno as HID keyboard-->
<!--<small>05 Jul 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/05/16/lifehacks2/">-->
<!--Lifehacks (2)-->
<!--<small>16 May 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/05/15/genetic-alg/">-->
<!--Interpolation using a genetic algorithm-->
<!--<small>15 May 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--</ul>-->
<!--</div>-->
@ -532,6 +532,195 @@ At the end, I ask, why would you choose anything else than the easiest and most
@ -602,95 +791,6 @@ At the end, I ask, why would you choose anything else than the easiest and most

View file

@ -119,7 +119,7 @@
<a class="sidebar-nav-item" href="/feed.xml">RSS</a>
<a class="sidebar-nav-item" href="http://francescomecca.eu:3000">Personal Git</a>
<a class="sidebar-nav-item" href="http://francescomecca.eu:3000/explore/repos">Personal Git</a>
<span class="sidebar-nav-item" href="" >Powered by Jekyll and Hyde</span>
</nav>
@ -223,6 +223,33 @@ Anyway for simple cases the GA yields good results, as an example for points (0
<!--<related-posts />-->
<!--<h2>Related Posts</h2>-->
<!--<ul class="related-posts">-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/11/11/machine-learning-PARTE2/">-->
<!--Capire il Machine Learning (parte 2)-->
<!--<small>11 Nov 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/11/10/machine-learning-intro/">-->
<!--Capire il Machine Learning (parte 1)-->
<!--<small>10 Nov 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/11/10/machine-learning-PARTE3/">-->
<!--Capire il Machine Learning (parte 1)-->
<!--<small>10 Nov 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
@ -242,33 +269,6 @@ Anyway for simple cases the GA yields good results, as an example for points (0
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/07/05/arduino_keyboard/">-->
<!--Arduino Uno as HID keyboard-->
<!--<small>05 Jul 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/05/16/lifehacks2/">-->
<!--Lifehacks (2)-->
<!--<small>16 May 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/05/03/satoshisignature/">-->
<!--Why Wright's proof is a fake-->
<!--<small>03 May 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--</ul>-->
<!--</div>-->
@ -278,170 +278,386 @@ Anyway for simple cases the GA yields good results, as an example for points (0
<h4>Similar Posts</h4>
<ul>
<li class="relatedPost">
<a href="/pescewanda/2016/11/11/machine-learning-PARTE2/">Capire il Machine Learning (parte 2)
</a>
</li>
<li class="relatedPost">
<a href="/pescewanda/2016/11/10/machine-learning-intro/">Capire il Machine Learning (parte 1)
</a>
</li>
<li class="relatedPost">
<a href="/pescewanda/2016/11/10/machine-learning-PARTE3/">Capire il Machine Learning (parte 1)
</a>
</li>
<li class="relatedPost">
<a href="/pescewanda/2016/07/05/arduino_keyboard/">Arduino Uno as HID keyboard
@ -627,104 +843,6 @@ Anyway for simple cases the GA yields good results, as an example for points (0
<li class="relatedPost">
<a href="/pescewanda/2016/04/02/buridan_donkey/">The Buridan's donkey in python
</a>
</li>

View file

@ -119,7 +119,7 @@
<a class="sidebar-nav-item" href="/feed.xml">RSS</a>
<a class="sidebar-nav-item" href="http://francescomecca.eu:3000">Personal Git</a>
<a class="sidebar-nav-item" href="http://francescomecca.eu:3000/explore/repos">Personal Git</a>
<span class="sidebar-nav-item" href="" >Powered by Jekyll and Hyde</span>
</nav>
@ -151,6 +151,33 @@
<!--<related-posts />-->
<!--<h2>Related Posts</h2>-->
<!--<ul class="related-posts">-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/11/11/machine-learning-PARTE2/">-->
<!--Capire il Machine Learning (parte 2)-->
<!--<small>11 Nov 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/11/10/machine-learning-intro/">-->
<!--Capire il Machine Learning (parte 1)-->
<!--<small>10 Nov 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/11/10/machine-learning-PARTE3/">-->
<!--Capire il Machine Learning (parte 1)-->
<!--<small>10 Nov 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
@ -170,33 +197,6 @@
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/07/05/arduino_keyboard/">-->
<!--Arduino Uno as HID keyboard-->
<!--<small>05 Jul 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/05/15/genetic-alg/">-->
<!--Interpolation using a genetic algorithm-->
<!--<small>15 May 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/05/03/satoshisignature/">-->
<!--Why Wright's proof is a fake-->
<!--<small>03 May 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--</ul>-->
<!--</div>-->
@ -446,14 +446,6 @@
<h4>Similar Posts</h4>
<ul>
<li class="relatedPost">
<a href="/pescewanda/2016/04/10/lifehacks/">Lifehacks
</a>
</li>
@ -496,7 +488,61 @@
</ul>
</div>

View file

@ -119,7 +119,7 @@
<a class="sidebar-nav-item" href="/feed.xml">RSS</a>
<a class="sidebar-nav-item" href="http://francescomecca.eu:3000">Personal Git</a>
<a class="sidebar-nav-item" href="http://francescomecca.eu:3000/explore/repos">Personal Git</a>
<span class="sidebar-nav-item" href="" >Powered by Jekyll and Hyde</span>
</nav>
@ -212,6 +212,33 @@ dfu-programmer atmega16u2 reset
<!--<related-posts />-->
<!--<h2>Related Posts</h2>-->
<!--<ul class="related-posts">-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/11/11/machine-learning-PARTE2/">-->
<!--Capire il Machine Learning (parte 2)-->
<!--<small>11 Nov 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/11/10/machine-learning-intro/">-->
<!--Capire il Machine Learning (parte 1)-->
<!--<small>10 Nov 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/11/10/machine-learning-PARTE3/">-->
<!--Capire il Machine Learning (parte 1)-->
<!--<small>10 Nov 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
@ -231,33 +258,6 @@ dfu-programmer atmega16u2 reset
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/05/16/lifehacks2/">-->
<!--Lifehacks (2)-->
<!--<small>16 May 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/05/15/genetic-alg/">-->
<!--Interpolation using a genetic algorithm-->
<!--<small>15 May 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/05/03/satoshisignature/">-->
<!--Why Wright's proof is a fake-->
<!--<small>03 May 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--</ul>-->
<!--</div>-->
@ -312,159 +312,6 @@ dfu-programmer atmega16u2 reset
@ -488,6 +335,411 @@ dfu-programmer atmega16u2 reset
<h4>Similar Posts</h4>
<ul>
<li class="relatedPost">
<a href="/pescewanda/2016/11/11/machine-learning-PARTE2/">Capire il Machine Learning (parte 2)
</a>
</li>
<li class="relatedPost">
<a href="/pescewanda/2016/11/10/machine-learning-intro/">Capire il Machine Learning (parte 1)
</a>
</li>
<li class="relatedPost">
<a href="/pescewanda/2016/11/10/machine-learning-PARTE3/">Capire il Machine Learning (parte 1)
</a>
</li>
<li class="relatedPost">
<a href="/pescewanda/2016/05/15/genetic-alg/">Interpolation using a genetic algorithm
@ -677,111 +929,6 @@ dfu-programmer atmega16u2 reset
</ul>

View file

@ -119,7 +119,7 @@
<a class="sidebar-nav-item" href="/feed.xml">RSS</a>
<a class="sidebar-nav-item" href="http://francescomecca.eu:3000">Personal Git</a>
<a class="sidebar-nav-item" href="http://francescomecca.eu:3000/explore/repos">Personal Git</a>
<span class="sidebar-nav-item" href="" >Powered by Jekyll and Hyde</span>
</nav>
@ -239,6 +239,33 @@
<!--<related-posts />-->
<!--<h2>Related Posts</h2>-->
<!--<ul class="related-posts">-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/11/11/machine-learning-PARTE2/">-->
<!--Capire il Machine Learning (parte 2)-->
<!--<small>11 Nov 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/11/10/machine-learning-intro/">-->
<!--Capire il Machine Learning (parte 1)-->
<!--<small>10 Nov 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/11/10/machine-learning-PARTE3/">-->
<!--Capire il Machine Learning (parte 1)-->
<!--<small>10 Nov 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
@ -258,33 +285,6 @@
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/05/16/lifehacks2/">-->
<!--Lifehacks (2)-->
<!--<small>16 May 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/05/15/genetic-alg/">-->
<!--Interpolation using a genetic algorithm-->
<!--<small>15 May 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/05/03/satoshisignature/">-->
<!--Why Wright's proof is a fake-->
<!--<small>03 May 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--</ul>-->
<!--</div>-->
@ -768,6 +768,126 @@

View file

@ -119,7 +119,7 @@
<a class="sidebar-nav-item" href="/feed.xml">RSS</a>
<a class="sidebar-nav-item" href="http://francescomecca.eu:3000">Personal Git</a>
<a class="sidebar-nav-item" href="http://francescomecca.eu:3000/explore/repos">Personal Git</a>
<span class="sidebar-nav-item" href="" >Powered by Jekyll and Hyde</span>
</nav>
@ -401,6 +401,33 @@ What if, when the person walks into a mall, we record the time, the location, th
<!--<related-posts />-->
<!--<h2>Related Posts</h2>-->
<!--<ul class="related-posts">-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/11/11/machine-learning-PARTE2/">-->
<!--Capire il Machine Learning (parte 2)-->
<!--<small>11 Nov 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/11/10/machine-learning-intro/">-->
<!--Capire il Machine Learning (parte 1)-->
<!--<small>10 Nov 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/11/10/machine-learning-PARTE3/">-->
<!--Capire il Machine Learning (parte 1)-->
<!--<small>10 Nov 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
@ -420,33 +447,6 @@ What if, when the person walks into a mall, we record the time, the location, th
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/05/16/lifehacks2/">-->
<!--Lifehacks (2)-->
<!--<small>16 May 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/05/15/genetic-alg/">-->
<!--Interpolation using a genetic algorithm-->
<!--<small>15 May 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/05/03/satoshisignature/">-->
<!--Why Wright's proof is a fake-->
<!--<small>03 May 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--</ul>-->
<!--</div>-->
@ -1054,6 +1054,166 @@ What if, when the person walks into a mall, we record the time, the location, th

View file

@ -0,0 +1,981 @@
<!DOCTYPE html>
<html lang="en-us">
<head>
<link href="http://gmpg.org/xfn/11" rel="profile">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<!-- Enable responsiveness on mobile devices-->
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1">
<title>
Capire il Machine Learning (parte 1) &middot; Caught in the Net
</title>
<!-- CSS -->
<link rel="stylesheet" href="/public/css/poole.css">
<link rel="stylesheet" href="/public/css/syntax.css">
<link rel="stylesheet" href="/public/css/hyde.css">
<!-- Icons -->
<link rel="apple-touch-icon-precomposed" sizes="144x144" href="/public/apple-touch-icon-144-precomposed.png">
<link rel="shortcut icon" href="/public/favicon.ico">
<!-- RSS -->
<link rel="alternate" type="application/rss+xml" title="RSS" href="/atom.xml">
</head>
<body class="theme-base-09">
<div class="sidebar">
<div class="container sidebar-sticky">
<div class="sidebar-about">
<h1>
<a href="/">
Caught in the Net
</a>
</h1>
<p class="lead"></p>
</div>
<nav class="sidebar-nav">
<a class="sidebar-nav-item" href="/">Home</a>
<a class="sidebar-nav-item" href="/about/">About</a>
<a class="sidebar-nav-item" href="/archive/">Archive</a>
<a class="sidebar-nav-item" href="/contattami/">Contact me</a>
<a class="sidebar-nav-item" href="/feed.xml">RSS</a>
<a class="sidebar-nav-item" href="http://francescomecca.eu:3000/explore/repos">Personal Git</a>
<span class="sidebar-nav-item" href="" >Powered by Jekyll and Hyde</span>
</nav>
<p>&copy; 2016. CC BY-SA 4.0 International </p>
</div>
</div>
<h3 class="masthead-title">
<a href="/" title="Home">Caught in the Net</a>
</h3>
<div class="content container">
<div class="post">
<h1 class="post-title">Capire il Machine Learning (parte 1)</h1>
<span class="post-date">10 Nov 2016</span>
## Riconoscimento delle immagini
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 ( **convolutional neural networks**), abbreviata CNN.
Innanzitutto consideriamo che ogni immagine può essere codificata come una matrice di valori
![pixel](/wp-content/uploads/2016/8.jpg)
Una CNN esegue quattro step durante la fase di apprendimento
#### Convoluzione
Consideriamo l'immagine di un uccello.
Ci sono
# ALGORITMI GENETICI
// ~~ 500 ~~
# PRUNING E SEARCH TREES
// ~~ 200 ~~
</div>
<!--<div class="related">-->
<!--<related-posts />-->
<!--<h2>Related Posts</h2>-->
<!--<ul class="related-posts">-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/11/11/machine-learning-PARTE2/">-->
<!--Capire il Machine Learning (parte 2)-->
<!--<small>11 Nov 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/11/10/machine-learning-intro/">-->
<!--Capire il Machine Learning (parte 1)-->
<!--<small>10 Nov 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/07/07/pres-berk/">-->
<!--A short talk about cryptography at the Berkman Klein Center-->
<!--<small>07 Jul 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/07/06/IM-services/">-->
<!--Phone messaging apps comparison-->
<!--<small>06 Jul 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--<li>-->
<!--<h3>-->
<!--<a href="/pescewanda/2016/07/05/arduino_keyboard/">-->
<!--Arduino Uno as HID keyboard-->
<!--<small>05 Jul 2016</small>-->
<!--</a>-->
<!--</h3>-->
<!--</li>-->
<!---->
<!--</ul>-->
<!--</div>-->
<h4>Similar Posts</h4>
<ul>
<li class="relatedPost">
<a href="/pescewanda/2016/11/11/machine-learning-PARTE2/">Capire il Machine Learning (parte 2)
</a>
</li>
<li class="relatedPost">
<a href="/pescewanda/2016/11/10/machine-learning-intro/">Capire il Machine Learning (parte 1)
</a>
</li>
<li class="relatedPost">
<a href="/pescewanda/2016/07/05/arduino_keyboard/">Arduino Uno as HID keyboard
</a>
</li>
<li class="relatedPost">
<a href="/pescewanda/2016/05/15/genetic-alg/">Interpolation using a genetic algorithm
</a>
</li>
<li class="relatedPost">
<a href="/pescewanda/2016/04/17/kpd-player/">Kyuss Music Player
</a>
</li>
</ul>
</div>
<!--<link rel="alternate" type="application/rss+xml" title="Francesco Mecca RSS" href="/feed.xml">-->
</body>
</html>

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

Binary file not shown.

After

Width:  |  Height:  |  Size: 95 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 49 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 76 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 95 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 49 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 76 KiB