francescomecca.eu/output/categories/pescewanda.xml
Francesco Mecca 2fc0ad5c9f new cv
2020-01-29 11:08:46 +01:00

494 lines
51 KiB
XML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="../assets/xml/rss.xsl" media="all"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Caught in the Net (Posts about PesceWanda)</title><link>francescomecca.eu</link><description></description><atom:link href="francescomecca.eu/categories/pescewanda.xml" rel="self" type="application/rss+xml"></atom:link><language>en</language><copyright>Contents © 2020 &lt;a href="mailto:francescomecca.eu"&gt;Francesco Mecca&lt;/a&gt; </copyright><lastBuildDate>Wed, 29 Jan 2020 10:04:35 GMT</lastBuildDate><generator>Nikola (getnikola.com)</generator><docs>http://blogs.law.harvard.edu/tech/rss</docs><item><title>Dconf 2019</title><link>francescomecca.eu/blog/2019/03/06/Dconf-2019/</link><dc:creator>Francesco Mecca</dc:creator><description>&lt;div&gt;&lt;p&gt;Quest'anno molto del mio tempo passato al pc e` stato investito per D e la sua community.
I miei sforzi nell'imparare questo linguaggio sono confluiti nella partecipazione al &lt;a href="https://dlang.org/blog/symmetry-autumn-of-code"&gt;SAOC&lt;/a&gt; con il mio amico e collega &lt;a href="https://fragal.eu"&gt;Francesco Galla`&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Accompagnero` Francesco all'edizione del 2019 della &lt;a href="https://dconf.org/2019/index.html"&gt;DConf&lt;/a&gt; che si terra` dall'otto all'undici marzo a Londra.&lt;/p&gt;
&lt;p&gt;See you there!&lt;/p&gt;&lt;/div&gt;</description><category>Conference</category><category>DConf</category><category>dlang</category><category>PesceWanda</category><guid>francescomecca.eu/blog/2019/03/06/Dconf-2019/</guid><pubDate>Wed, 06 Mar 2019 00:00:00 GMT</pubDate></item><item><title>Addio Reddit</title><link>francescomecca.eu/blog/2018/3/27/addio-reddit/</link><dc:creator>Francesco Mecca</dc:creator><description>&lt;div&gt;&lt;blockquote&gt;
&lt;p&gt;It is also common ground, however, that the First Amendment does not guarantee the right to communicate one's views at all times and places or in any manner that may be desired.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Tempo fa rimasi colpito nel leggere questo &lt;a href="https://www.courtlistener.com/opinion/110532/heffron-v-international-soc-for-krishna-consciousness-inc/"&gt;orientamento&lt;/a&gt; della corte degli Stati Uniti dal quale ho tratto la precedente citazione.&lt;/p&gt;
&lt;p&gt;La libertà di espressione è un diritto molto potente che ha storicamente molteplici interpretazioni. Benchè ingenuamente potrebbe essere inteso come la possibilità di manifestare qualsiasi idea, ci sono delle situazioni in cui si deve intendere come il diritto di un individuo minoritario nel poter esprimersi liberamente e senza ritorsioni.&lt;/p&gt;
&lt;p&gt;Con questa premessa posso inquadrare più facilmente il motivo per cui ritengo che il &lt;a href="https://www.reddit.com/r/announcements/comments/39bpam/removing_harassing_subreddits/"&gt;ban del 2015&lt;/a&gt; da parte degli amministratori di Reddit nei confronti di /r/FatPeopleHate e altri subreddit di minor dimensioni non sia stata un'azione ipocrita rispetto agli ideali della piattaforma.&lt;/p&gt;
&lt;p&gt;&lt;img alt="reddit policies" src="francescomecca.eu/wp-content/uploads/2018/reddit_freespeech.jpg"&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://nymag.com/selectall/2017/07/angela-nagles-kill-all-normies-the-alt-right-and-4chan.html"&gt;Angela Nagle&lt;/a&gt; ci ricorda che quegli spazi online &lt;a href="https://hackerchick.com/the-unstoppable-power-of-leaderless-organizations/"&gt;senza leader&lt;/a&gt; roccaforte di ideali minoritari di sinistra, hanno permesso di esprimere non un'idea, ma qualsiasi idea, anche di estrema destra.
Diventa quindi inevitabile che una piattaforma delle dimensioni di Reddit, che nello specifico raccoglie una moltitudine di argomenti e discussioni grazie ai quali è stata ritenuta un bastione della eterogeneità, prima o poi debba adottare una linea di moderazione più definita.&lt;/p&gt;
&lt;p&gt;&lt;img alt="1968" src="francescomecca.eu/wp-content/uploads/2018/Situationist.jpg"&gt;&lt;/p&gt;
&lt;p&gt;Il &lt;a href="https://np.reddit.com/r/announcements/comments/863xcj/new_addition_to_sitewide_rules_regarding_the_use/"&gt;recente ban&lt;/a&gt; invece non riguarda la libertà di espressione, e mi colpisce personalmente, nonostante io non abbia mai visitato alcuno dei subreddit recentementi banditi e le mie uniche transazioni si siano limitate agli utenti di r/MechanicalKeyboards.&lt;/p&gt;
&lt;p&gt;Sono approdato a Reddit inizialmente a causa del mio hobby per le tastiere meccaniche. Da lì mi sono mosso verso r/italy e altri subreddit di indirizzo informatico.
Ho interessi di nicchia e Reddit mi permetteva di riunirmi con persone dall'altra parte del globo che mi fornivano informazioni che non avrei potuto ottenere altrimenti.&lt;/p&gt;
&lt;p&gt;Ora questo rimane valido solo per le persone i quali interessi sono allineati con quelle comunità che riflettono una buona immagine per Reddit e gli investitori. Benchè i miei subreddit di riferimento non siano stati banditi, riconosco che nel recente ban ci sono degli intenti politici o misteriosamente economici.&lt;/p&gt;
&lt;p&gt;Con questo post dico addio a Reddit. Da spazio di discussione a spazio di intolleranza e divisione politica, dove delle comunità che non rientrano nei canoni di buona reputazione per delle agenzie pubblicitarie devono essere eliminate.&lt;/p&gt;
&lt;p&gt;Non voglio che ogni mia parola sia pesata oltre i valori della comunità a cui sottoscrivo, non voglio fare esercizi di autocensura nei post che scrivo.&lt;/p&gt;
&lt;p&gt;Aderivo a delle regole ben definite e delle quali gli amministratori si assumevano la responsabilità. Con il ban di marzo 2018 il sito che conoscevo ha cambiato faccia ed il post di un &lt;a href="https://np.reddit.com/user/Reddit-Policy"&gt;utente anonimo&lt;/a&gt; sarà l'ultimo post che downvoterò.&lt;/p&gt;&lt;/div&gt;</description><category>ban</category><category>free speech</category><category>moderation</category><category>PesceWanda</category><category>reddit</category><guid>francescomecca.eu/blog/2018/3/27/addio-reddit/</guid><pubDate>Tue, 27 Mar 2018 00:00:00 GMT</pubDate></item><item><title>Minidox, a guide for the Europeans and the Scrooges</title><link>francescomecca.eu/blog/2017/10/2/minidoxguide/</link><dc:creator>Francesco Mecca</dc:creator><description>&lt;div&gt;&lt;p&gt;This guide is adapted from the &lt;a href="https://github.com/nicinabox/lets-split-guide/blob/master/assembly.md"&gt;Let's split guide&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;It is tailored between the Scrooges like me and all the europeans that couldn't find some TRRS jacks.&lt;/p&gt;
&lt;h3&gt;Helpful references&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://imgur.com/a/vImo6#Rfd586V"&gt;/u/that-canadian's original build log&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Parts&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;PCBs - You will need two of them and you should participated in the group buy.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;2&lt;/strong&gt; ATmega32U4 - 5V/16MHz Pro Micros, you can find them easily on ebay or amazon. &lt;/li&gt;
&lt;li&gt;&lt;strong&gt;36&lt;/strong&gt; 1N4148 diodes, easy to source, even real world shops has them. &lt;/li&gt;
&lt;li&gt;&lt;s&gt;2 TRRS or TRS jacks&lt;/s&gt; our source of all problems, this build log will do without.&lt;/li&gt;
&lt;li&gt;Plate, from &lt;a href="https://github.com/dotdash32/Cases/tree/master/Minidox"&gt;u/dotdash32&lt;/a&gt; or &lt;a href="https://github.com/pjones/minidox-case"&gt;pjones&lt;/a&gt;, 3D printable.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;36&lt;/strong&gt; Switches of your choice&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;36&lt;/strong&gt; Keycaps of your choice&lt;/li&gt;
&lt;li&gt;&lt;s&gt; TRRS or TRS cable &lt;/s&gt; No jacks, no cable.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Cost Breakdown&lt;/h3&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th align="left"&gt;Cost&lt;/th&gt;
&lt;th align="left"&gt;Part&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td align="left"&gt;$8&lt;/td&gt;
&lt;td align="left"&gt;PCB&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td align="left"&gt;€ 12-30&lt;/td&gt;
&lt;td align="left"&gt;Pro Micros&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td align="left"&gt;€3-8&lt;/td&gt;
&lt;td align="left"&gt;Diodes&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td align="left"&gt;€14-80&lt;/td&gt;
&lt;td align="left"&gt;Switches&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td align="left"&gt;€14-180&lt;/td&gt;
&lt;td align="left"&gt;Keycaps&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;This is a very cheap build, mine was about 30 € given that I already had the keycaps.&lt;/p&gt;
&lt;h3&gt;Mount the Diodes&lt;/h3&gt;
&lt;p&gt;Diodes allow current to flow in one direction only. Mount the diodes with the black (negative, cathode) line facing the thicker line.&lt;/p&gt;
&lt;p&gt;&lt;img alt="" src="francescomecca.eu/wp-content/uploads/2017/minidox1.jpg"&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Double check your work&lt;/strong&gt;. &lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Tip:&lt;/em&gt; &lt;strong&gt;Lightly&lt;/strong&gt; tack each diode in from the top. This will keep them snug against the surface once we flip it over and do the real soldering from the bottom. You only need a tiny amount of solder here and you should still be able to see through the hole.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3&gt;Connect Jumpers&lt;/h3&gt;
&lt;blockquote&gt;
&lt;p&gt;This part is not really needed, but you may want to do it in case you will mount the TRRS jacks in the future.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;On the &lt;strong&gt;underside&lt;/strong&gt; of the PCB, right below the TRRS jack, you'll see two sets of 3 pads labelled VCC and GND. Jumper them like this:&lt;/p&gt;
&lt;pre class="code literal-block"&gt;&lt;span&gt;&lt;/span&gt;VCC [x] [ ] VCC
[x] [x]
GND [ ] [x] GND
&lt;/pre&gt;
&lt;p&gt;Do both PCBs the same.&lt;/p&gt;
&lt;p&gt;&lt;img alt="" src="https://i.imgur.com/AUT3VUd.png"&gt;&lt;/p&gt;
&lt;h3&gt;Mount Header Pins&lt;/h3&gt;
&lt;p&gt;You should have received header pins with your Pro Micro. Insert the short side into the bottom of PCB and solder them in.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Tip:&lt;/em&gt; To keep them aligned you can slip the Pro Micro over the pins but &lt;strong&gt;do not solder the Pro Micro at this time&lt;/strong&gt;.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Tack the pins on the end and inspect. If the pins are not quite aligned with the board, heat one side with your iron and press it in. It should make a satisfactory "click".&lt;/p&gt;
&lt;p&gt;Solder the rest of the pins (it won't take much solder here).&lt;/p&gt;
&lt;p&gt;The long part of the pins should be protruding from the bottom. We'll trim these later after soldering the Pro Micro, but you can leave them be for now.&lt;/p&gt;
&lt;h3&gt;Mount the Pro Micro&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Pay special attention on this step&lt;/strong&gt;. There are several things that need to be done in the right order and orientation.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Tip:&lt;/em&gt; Flash your Pro Micro now before you mount it. You can test it by using a multimeter to measure the voltage between VCC and RAW. It should be around 5V. If it's bad it'll be a lot less headache than desoldering.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h4&gt;Mount the 2 switches under the Pro Micro&lt;/h4&gt;
&lt;ol&gt;
&lt;li&gt;Grab two of your switches.&lt;/li&gt;
&lt;li&gt;Snap the switches into your plate in the spots that overlay the Pro Micro (on the left side that's column 2, and on the right that's column 5).&lt;/li&gt;
&lt;li&gt;Line up your PCB with the switches and solder them between the header pins&lt;/li&gt;
&lt;/ol&gt;
&lt;h4&gt;Mount the Pro Micro&lt;/h4&gt;
&lt;p&gt;You'll be working from the bottom of the board for this step.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;On the &lt;strong&gt;left PCB&lt;/strong&gt; the Pro Micro should be &lt;strong&gt;smooth side up&lt;/strong&gt; (facing you)&lt;/li&gt;
&lt;li&gt;On the &lt;strong&gt;right PCB&lt;/strong&gt; the Pro Micro should be &lt;strong&gt;component side up&lt;/strong&gt; (facing you)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;It gets easier if you notice that on the Pro Micros and the PCBs there is "RAW" printed. The raw pin must go through the hole with the same sign.&lt;/p&gt;
&lt;p&gt;If you made my same mistake, instead of desoldering without the right equipment you can try to just cut the dividers on the Pro Micro and detach it by breaking the header pins.&lt;/p&gt;
&lt;p&gt;&lt;img alt="" src="francescomecca.eu/wp-content/uploads/2017/promicro2.jpg"&gt;&lt;/p&gt;
&lt;h3&gt;Mount the rest of the switches&lt;/h3&gt;
&lt;p&gt;Home stretch. Gently snap in the rest of the switches and solder them.&lt;/p&gt;
&lt;p&gt;This would have been easier with a plate, I needed the help of a friend in order to have them aligned correctly.&lt;/p&gt;
&lt;h3&gt;Connect the Pro Micro&lt;/h3&gt;
&lt;p&gt;Given that sourcing the trrs jacks (even TRS if you go without leds) is a little bit difficult in Europe (I got mine from aliexpress), we are gonna connect the two Pro Micros directly.&lt;/p&gt;
&lt;p&gt;The Pro Micros just need communication between three of their pins.&lt;/p&gt;
&lt;p&gt;This means that the Minidox works if you connect the correct pins with a simple copper cable.&lt;/p&gt;
&lt;p&gt;The pins are:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Data pin on the right (pin 6 in figure)&lt;/li&gt;
&lt;li&gt;VCC pin, left side (21)&lt;/li&gt;
&lt;li&gt;GND pin, just below the RAW pin (23)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img alt="" src="francescomecca.eu/wp-content/uploads/2017/promicropinout.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="" src="francescomecca.eu/wp-content/uploads/2017/promicro4.jpg"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="" src="francescomecca.eu/wp-content/uploads/2017/promicro5.jpg"&gt;&lt;/p&gt;
&lt;p&gt;In my case I have used some old molex cable because raw copper wires tend to be very weak and break apart in a few days.&lt;/p&gt;
&lt;h2&gt;Troubleshooting&lt;/h2&gt;
&lt;h4&gt;Column 2 or column 5 doesn't work (under the controller)&lt;/h4&gt;
&lt;p&gt;If you're having trouble with a dead column right over your Pro Micro it could be that you've got a short from the switch pins. Try to get under there and bend them down.&lt;/p&gt;
&lt;h4&gt;One side isn't working&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;Double check if the copper wires are in working conditions and if you have connected the right pins.&lt;/li&gt;
&lt;li&gt;Check that the wires are insulated and that they do not touch the other pins.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;End Result&lt;/h2&gt;
&lt;p&gt;Beautiful? &lt;a href="https://en.wikipedia.org/wiki/Don%27t-care_term"&gt;W&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;img alt="" src="francescomecca.eu/wp-content/uploads/2017/promicro3.jpg"&gt;&lt;/p&gt;&lt;/div&gt;</description><category>DIY</category><category>mechanical keyboard</category><category>Minidox</category><category>PesceWanda</category><guid>francescomecca.eu/blog/2017/10/2/minidoxguide/</guid><pubDate>Mon, 02 Oct 2017 00:00:00 GMT</pubDate></item><item><title>Cyber-utopia and vaporwave</title><link>francescomecca.eu/blog/2017/5/9/vaporwave/</link><dc:creator>Francesco Mecca</dc:creator><description>&lt;div&gt;&lt;p&gt;Recently I decided to change the &lt;a href="https://github.com/jasonlong/cayman-theme"&gt;css&lt;/a&gt; of my blog to reflect a vaporwave-ish aestethic. &lt;/p&gt;
&lt;p&gt;Although I don't listen to a lot of electronic music, 2814 has been my go to music when I am programming and I go through a lot of James Ferraro's works during the day.&lt;/p&gt;
&lt;p&gt;What is the reason for my recent obsession on vaporwave culture?&lt;/p&gt;
&lt;h3&gt;A dream that disappeared&lt;/h3&gt;
&lt;blockquote&gt;
&lt;p&gt;The narrative of Western civilization has become a broken record... should we be surprised when a chopped and screwed trip through the cold war period resonates broadly? &lt;/p&gt;
&lt;p&gt;Vaporwave creates a language to reflect on the inability to break free from the chains of an Orwellian culture. &lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Internet gave me a personal space, a community, heck even a lot of fun masked by a sense of purpose for the free software culture.&lt;/p&gt;
&lt;p&gt;But from a higher point of view Internet failed us. The Cyberspace has been dead.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://en.wikipedia.org/wiki/John_Perry_Barlow"&gt;John Barlow&lt;/a&gt; on the &lt;a href="https://www.eff.org/cyberspace-independence"&gt;Declaration of the Independence of Cyberspace&lt;/a&gt; wrote:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Governments of the Industrial World, you weary giants of flesh and steel, I come from Cyberspace, the new home of Mind. On behalf of the future, I ask you of the past to leave us alone. You are not welcome among us. You have no sovereignty where we gather.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;But at a certain point in time the Cyberspace didn't want to be left alone and with its own feet headed to real world. Cyberspace blended with the Meatspace&lt;/p&gt;
&lt;p&gt;Every manifestation of the Cyberspace into reality is some sort of virus that eats bites of our existences in the Meatspace and translates that to bytes that are stored in virtual treasure chests. &lt;/p&gt;
&lt;p&gt;Real life communication is &lt;a href="https://medium.freecodecamp.com/mark-zuckerberg-is-the-most-powerful-person-on-earth-but-is-he-responsible-5fbcaeb29ee1"&gt;divoured&lt;/a&gt; into digital data by Facebook, Amazon doesn't stop at our doorbells anymore but &lt;a href="https://www.amazon.com/echoshow"&gt;creeps&lt;/a&gt; into our house, and sleeping is no more a function of how much we are offline but some sort of distorted &lt;a href="https://techcrunch.com/2017/05/09/apple-acquires-sleep-tracking-company-beddit/"&gt;self analytics&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;There is no shame when a &lt;a href="https://www.nytimes.com/2014/06/30/technology/facebook-tinkers-with-users-emotions-in-news-feed-experiment-stirring-outcry.html?_r=0"&gt;web giant plays with the emotions of the user of the platforms&lt;/a&gt;, or &lt;a href="http://www.theaustralian.com.au/business/media/digital/facebook-targets-insecure-young-people-to-sell-ads/news-story/a89949ad016eee7d7a61c3c30c909fa6"&gt;sells them&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;All of that was done by drying out the so called Hackerspace and transmuting it into "Dataspace", where experiment are conducted on people by means of data and algorithms.&lt;/p&gt;
&lt;p&gt;Data on which platforms are built and people are chained to.&lt;/p&gt;
&lt;p&gt;&lt;img alt="vaporwave aesthetic" src="francescomecca.eu/wp-content/uploads/2017/oc_starw.png"&gt;&lt;/p&gt;
&lt;h3&gt;Corporate smooth Jazz&lt;/h3&gt;
&lt;blockquote&gt;
&lt;p&gt;Floral Shoppe traces the outlines of the mental prison in which we now live, it gives us hope of one day transcending it. It reminds us what real freedom, the freedom of the heart, tastes like.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;In the novel &lt;a href="https://en.wikipedia.org/wiki/Neuromancer"&gt;Neuromance&lt;/a&gt; by cyberpunk father William Gibson the Internet is conceived as some sort of "consensual allucination". In the world where that book was written Internet is just a collective delusion.&lt;/p&gt;
&lt;p&gt;Vaporwave forces us to recognize our helplessness with the Dataspace and for me it is a remembrace of a cyber-utopia that never got off the ground.&lt;/p&gt;&lt;/div&gt;</description><category>blog</category><category>cyberpunk</category><category>cyberspace</category><category>music</category><category>PesceWanda</category><category>utopia</category><category>vaporwave</category><guid>francescomecca.eu/blog/2017/5/9/vaporwave/</guid><pubDate>Tue, 09 May 2017 00:00:00 GMT</pubDate></item><item><title>Late Stage Capitalism meets FOSS</title><link>francescomecca.eu/blog/2017/5/7/latestage_handbrake/</link><dc:creator>Francesco Mecca</dc:creator><description>&lt;div&gt;&lt;p&gt;&lt;img alt="brainwashing" src="francescomecca.eu/wp-content/uploads/2017/hn_handbrake_hack.jpg"&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://archive.is/XA3rj"&gt;source&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;</description><category>apple</category><category>hacker news</category><category>handbrake</category><category>PesceWanda</category><category>propaganda</category><category>vendor lockin</category><guid>francescomecca.eu/blog/2017/5/7/latestage_handbrake/</guid><pubDate>Sun, 07 May 2017 00:00:00 GMT</pubDate></item><item><title>Some shallow thoughts from my tiny virtual space</title><link>francescomecca.eu/blog/2017/3/20/spazio-digitale-rant-facebook__eng/</link><dc:creator>Francesco Mecca</dc:creator><description>&lt;div&gt;&lt;p&gt;I am not the kind of guy who goes to concerts. Ever.&lt;/p&gt;
&lt;p&gt;I prefer studio recordings because in these, the logical thoughts of the artist emerge as the track comes to life and reaches our ears. I have always been attracted by that, much more than to the sprinkle of emotions that come from venues and theaters.&lt;/p&gt;
&lt;p&gt;In my case the exceptions are the live performances of Dale Crover (from The Melvins) and Jeff Mangum. Both of which were some kind of unshaped epiphanic experiences for me. &lt;/p&gt;
&lt;p&gt;Milan, December 2015, The Melvins were at the end of their most recent European tour when Jeff Pinkus drops the bass guitar, tunes the effects pedal and kicks the bass with his bare foot until the right repetition of sounds comes out of the speakers. Slowly, each one of the members leaves the stage, sounds are still coming from
the earlier kicks to the speakers up to my ears.&lt;/p&gt;
&lt;p&gt;Once home, the performance by The Melvins made me recognize the different stages of communication. &lt;/p&gt;
&lt;p&gt;We can think of three stages. The first one is &lt;strong&gt;trial&lt;/strong&gt;, or
experimentation, field test. This first phase is as obvious as it is accidental.&lt;/p&gt;
&lt;p&gt;The second stage is about &lt;strong&gt;excess&lt;/strong&gt;. Excess is to acknowledge that what was played today will be different to what will be played tomorrow. A draft becomes a singular work that may not come to an end.&lt;/p&gt;
&lt;p&gt;The last one is the most important one if we want to understand the dynamics of the Internet: &lt;strong&gt;dissipation&lt;/strong&gt;. With the act of dissipation, the work of the artist that reached its own way on a tiny and crucial fraction of time, that is the moment, folds on itself, and it is forever lost by an act of absence, the absence of objective memory.&lt;/p&gt;
&lt;h3&gt;Internet dynamics&lt;/h3&gt;
&lt;p&gt;On the internet &lt;strong&gt;hounding&lt;/strong&gt; supersedes &lt;em&gt;dissipation&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;Hounding is the reason why thousands of men from different backgrounds congregate in small Facebook groups and share photos of their friends, wives and relevant others.&lt;/p&gt;
&lt;p&gt;On the original Italian &lt;a href="http://francescomecca.eu/pescewanda/2017/03/07/spazio-digitale-rant-facebook/"&gt;blog post&lt;/a&gt; I reported some Italian references on this phenomenon that dont have much cultural significance for the English readers. Therefore,
I want to explain the phenomenon in other words. &lt;/p&gt;
&lt;p&gt;The discussion about these Facebook groups in Italy consist of an online phenomenon regarding group of males playing what they call the game of "What would you do"
with sexually or less explicit photos of friends and wives.&lt;/p&gt;
&lt;p&gt;The game is as far as ever from an online &lt;a href="https://en.wikipedia.org/wiki/Role-playing_game"&gt;rpg&lt;/a&gt; or creative. It degrades every time in vulgar and extremist comments about the body of the girls depicted.&lt;/p&gt;
&lt;p&gt;I do believe that one of the many reasons to explain the inception of these online groups is the impossibility to overcome the absence of dissipation in online
communication.&lt;/p&gt;
&lt;p&gt;Machines do not remember but they never make us forget, they cross our space online with a continuous stream of photos and other people's moments.
Algorithms do not follow our placid flow of continuous time online and they snap it in collages of instants.&lt;/p&gt;
&lt;h3&gt;Recollection&lt;/h3&gt;
&lt;p&gt;In my first online experience, the interactions I had did not have the quality of recollection.
I divided my time between irc and mailing lists. I felt the obligation to archive every tiny succession of words that gave some light to me.&lt;/p&gt;
&lt;p&gt;(I still do).&lt;/p&gt;
&lt;p&gt;Then web caches arrived, the &lt;a href="francescomecca.eu/blog/2017/3/20/spazio-digitale-rant-facebook__eng/archive.org"&gt;Wayback Machine&lt;/a&gt;, Reddit, social networks. Nowdata can hardly ever disappear.&lt;/p&gt;
&lt;p&gt;It seems to me that it is just a worthy form of tenacity, not remembrance in any form.&lt;/p&gt;
&lt;p&gt;For the joy of archivists and the ones with a wistful gaze. And still unpleasant for someone.&lt;/p&gt;
&lt;p&gt;(This translation is for Madeline, thank you for still taking the time to read my blog)&lt;/p&gt;&lt;/div&gt;</description><category>community</category><category>Facebook</category><category>feudalesimo</category><category>feudalism</category><category>PesceWanda</category><category>Rivoluzione Digitale</category><guid>francescomecca.eu/blog/2017/3/20/spazio-digitale-rant-facebook__eng/</guid><pubDate>Mon, 20 Mar 2017 00:00:00 GMT</pubDate></item><item><title>Breve riflessione dal mio piccolo mondo virtuale</title><link>francescomecca.eu/blog/2017/3/7/spazio-digitale-rant-facebook/</link><dc:creator>Francesco Mecca</dc:creator><description>&lt;div&gt;&lt;p&gt;Non sono una persona che va ai concerti. &lt;/p&gt;
&lt;p&gt;La registrazione in studio esplicita i processi logici che l'artista segue per arrivare al processo di consegna e questo mi ha sempre affascinato, in maniera assai maggiore della carica emotiva sprigionata da un concerto di notte.&lt;/p&gt;
&lt;p&gt;Ma ci sono due artisti, Dale Crover dei Melvins e Jeff Mangum le cui performance live sono state per me, come spettatore, in qualche modo epifaniche.&lt;/p&gt;
&lt;p&gt;Milano, dicembre del 2015, i Melvins stanno concludendo il loro più recente tour in Europa quando Jeff Pinkus lascia cadere il basso sul pavimento, regola gli effetti sulla pedaliera e lo prende a calci finché non produce la giusta ripetizione di suoni. Lentamente ciascun musicista si allontana dal palco, il basso insistente, ancora a terra.&lt;/p&gt;
&lt;p&gt;Quell'esecuzione mi fece riflettere sui processi di produzione che dominano la nostra comunicazione.
Possiamo immaginarci delle fasi. La prima é quella di &lt;strong&gt;sperimentazione&lt;/strong&gt; che é tanto più ovvia quanto immediata e involontaria.&lt;/p&gt;
&lt;p&gt;La seconda é quella del &lt;strong&gt;superamento&lt;/strong&gt;. Superamento é la consapevolezza che il brano composto oggi verrà suonato diversamente domani, é la ragion d'essere delle bozze, anche quando infinite.&lt;/p&gt;
&lt;p&gt;La terza e quella più importante per comprendere le dinamiche di rete é la &lt;strong&gt;dissipazione&lt;/strong&gt;.
Attraverso la dissipazione l'opera, che fissata nel momento aveva acquisito una propria dimensione di senso, é costretta a ripiegarsi su se stessa, vana si perde a causa dell'assenza di memoria.&lt;/p&gt;
&lt;h3&gt;Le dinamiche della Rete&lt;/h3&gt;
&lt;p&gt;In rete l' &lt;strong&gt;accanimento&lt;/strong&gt; si sostituisce alla &lt;em&gt;dissipazione&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;L' accanimento é il motivo per cui qualche migliaio di uomini di qualsiasi fattura sociale si riuniscono in &lt;a href="http://archive.is/g6wDr#selection-989.483-989.484"&gt;gruppi&lt;/a&gt; e condividono foto delle loro mogli, fidanzate e qualche amica. Non c'é nessuno scandalo nella foto in sé, sono scatti quotidiani spesso "rubati" dagli stessi profili delle donne riprese.&lt;/p&gt;
&lt;p&gt;Ne ha parlato &lt;a href="http://espresso.repubblica.it/inchieste/2017/01/17/news/stupro-su-facebook-ecco-cosa-si-dicono-gli-uomini-che-umiliano-le-donne-1.293546"&gt;Repubblica&lt;/a&gt;, se ne é parlato su &lt;a href="https://www.reddit.com/r/italy/comments/5nqtgt/una_ragazza_su_facebook_ha_denunciato_lesistenza/"&gt;reddit&lt;/a&gt;, perfino &lt;a href="http://i.imgur.com/Of41aQ0.jpg"&gt;Mentana&lt;/a&gt; nella sua ridicola posizione da cavaliere bianco di Facebook ha urlato contro questo fenomeno.&lt;/p&gt;
&lt;p&gt;Fenomeno che dal mio punto di vista nasce da una difficoltà di alcuni abitanti della rete ad affrontare l'assenza di dissipazione nella comunicazione online.&lt;/p&gt;
&lt;p&gt;Le macchine non ricordano eppure non smettono di ricordarci, anzi invadono il nostro spazio in rete con un continuo susseguirsi di foto e momenti di vita delle altre persone.&lt;/p&gt;
&lt;p&gt;Gli algoritmi non seguono il pacato moto del nostro tempo online e anzi lo spezzano, lo frammentano in attimi che hanno il ritmo di un giro della rotella del mouse, lo scorrere di un pollice.&lt;/p&gt;
&lt;h3&gt;Memoria&lt;/h3&gt;
&lt;p&gt;Nei miei primi anni le mie fugaci interazioni virtuali non avevano la qualità della memoria.&lt;/p&gt;
&lt;p&gt;Bulimico degli ascii, passavo da lunghe e sostenute conversazioni su irc al lurking di qualche mailing list, saltuariamente 4chan. Mi sentivo (e mi sento tutt'ora) obbligato ad archiviare qualsiasi riga che suscitasse un minimo di interesse o potesse avere qualche valore futuro.&lt;/p&gt;
&lt;p&gt;Poi sono arrivate le cache, &lt;a href="francescomecca.eu/blog/2017/3/7/spazio-digitale-rant-facebook/archive.org"&gt;Wayback Machine&lt;/a&gt;, Reddit, e sembra che i contenuti non scompaiano più.&lt;/p&gt;
&lt;p&gt;Eppure mi ci é voluto un po' per capire che questa non é memoria, solo una forma nobile di accanimento.&lt;/p&gt;
&lt;p&gt;Piace ai nostalgici, agli archivisti. &lt;/p&gt;
&lt;p&gt;Spaventa a chi di Internet non vuole farsene una ragione.&lt;/p&gt;&lt;/div&gt;</description><category>community</category><category>Facebook</category><category>feudalesimo</category><category>PesceWanda</category><category>Rivoluzione Digitale</category><guid>francescomecca.eu/blog/2017/3/7/spazio-digitale-rant-facebook/</guid><pubDate>Tue, 07 Mar 2017 00:00:00 GMT</pubDate></item><item><title>Capire il Machine Learning (parte 3)</title><link>francescomecca.eu/blog/2016/11/15/machine-learning-parte3/</link><dc:creator>Francesco Mecca</dc:creator><description>&lt;div&gt;&lt;h3&gt;Riconoscimento delle immagini&lt;/h3&gt;
&lt;p&gt;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 ( &lt;strong&gt;convolutional neural networks&lt;/strong&gt;), abbreviata CNN.&lt;/p&gt;
&lt;p&gt;Innanzitutto consideriamo che ogni immagine può essere codificata come una matrice di valori&lt;/p&gt;
&lt;p&gt;&lt;img alt="pixel" src="francescomecca.eu/wp-content/uploads/2016/8.jpg"&gt;&lt;/p&gt;
&lt;p&gt;Vediamo ora quali sono le operazioni compiute da una &lt;strong&gt;CNN&lt;/strong&gt; per riconoscere delle immagini.&lt;/p&gt;
&lt;h5&gt;Convoluzione&lt;/h5&gt;
&lt;p&gt;Durante la fase di apprendimento, la rete neurale analizza moltissime immagini (categorizzate) utilizzando dei "filtri", ovvero delle funzioni che mescolate all'input originale permettono di evidenziare dei pattern nell'immagine.
Questi pattern corrispondono alle caratteristiche proprie di un oggetto (quali possono essere ad esempio per un uccello il becco, le piume, le ali) e nel caso queste sono presenti, possiamo riconoscere l'immagine.&lt;/p&gt;
&lt;p&gt;In questo esempio l'immagine di Wally é mescolata (l'operazione si chiama &lt;strong&gt;convoluzione&lt;/strong&gt;) con un filtro "a cerchio" che risponde molto bene a caratteristiche come quella di possedere degli occhi.&lt;/p&gt;
&lt;p&gt;&lt;img alt="waldoblue" src="francescomecca.eu/wp-content/uploads/2016/bluefilter.png"&gt;&lt;/p&gt;
&lt;p&gt;La &lt;strong&gt;convoluzione&lt;/strong&gt; é un'operazione che ha la proprietà di essere indipendente dalla posizione. Non importa la posizione degli occhi, quando applichiamo la &lt;strong&gt;convoluzione&lt;/strong&gt; su un'immagine con un filtro "a cerchio" notiamo che gli occhi sono presenti.&lt;/p&gt;
&lt;h5&gt;Subsampling&lt;/h5&gt;
&lt;p&gt;Ogni segnale contiene del "rumore", ovvero degli elementi che la allontanano dal comportamento ideale. &lt;/p&gt;
&lt;p&gt;&lt;img alt="ideal" src="francescomecca.eu/wp-content/uploads/2016/ideal.jpg"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="real" src="francescomecca.eu/wp-content/uploads/2016/real.jpg"&gt;&lt;/p&gt;
&lt;p&gt;Attraverso il subsampling possiamo ridurre il rumore e rendere il nostro algoritmo meno suscettibile a queste piccole variazioni; benché l'immagine abbia una risoluzione minore, i pattern rimangono.&lt;/p&gt;
&lt;p&gt;&lt;img alt="waldosub" src="francescomecca.eu/wp-content/uploads/2016/sub.png"&gt;&lt;/p&gt;
&lt;h5&gt;Connessione completa&lt;/h5&gt;
&lt;p&gt;Alla fine dell'analisi tutte le caratteristiche estrapolate vengono considerate nell'insieme e in questo modo possiamo capire a quale categoria appartiene l'immagine.&lt;/p&gt;
&lt;p&gt;Questo procedimento a livello algoritmo si esplicita con una connessione completa fra tutti i nodi della rete neurale che possono poi restituire l'output (probabilità che l'immagine appartenga ad una determinata categoria).&lt;/p&gt;
&lt;h5&gt;Fase di rinforzo&lt;/h5&gt;
&lt;p&gt;Durante il training é presente un'ultima fase (o strato), chiamato più propriamente &lt;strong&gt;loss layer&lt;/strong&gt;. Questo strato provvede a dare un &lt;strong&gt;feedback&lt;/strong&gt; alla rete neurale analizzando l'output in relazione ai dati di partenza (ovvero le immagini già categorizzate).&lt;/p&gt;&lt;/div&gt;</description><category>AI</category><category>algoritmi genetici</category><category>Genetic algorithm</category><category>Neural networks</category><category>PesceWanda</category><category>programming</category><category>reti neurali</category><guid>francescomecca.eu/blog/2016/11/15/machine-learning-parte3/</guid><pubDate>Tue, 15 Nov 2016 00:00:00 GMT</pubDate></item><item><title>Capire il Machine Learning (parte 2)</title><link>francescomecca.eu/blog/2016/11/11/machine-learning-parte2/</link><dc:creator>Francesco Mecca</dc:creator><description>&lt;div&gt;&lt;p&gt;Nel precedente &lt;a href="francescomecca.eu/pescewanda/2016/11/10/machine-learning-intro/"&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;h3&gt;Memoria e Stati&lt;/h3&gt;
&lt;p&gt;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 &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'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 &lt;em&gt;recurrent neural network&lt;/em&gt; (RNN) dove ogni stato precedente viene utilizzato per modificare l'output dell'algoritmo.&lt;/p&gt;
&lt;h5&gt;Generazione di testo attraverso le RNN&lt;/h5&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'output della nostra RNN non ha alcun valore:
in questo esempio, abbiamo l'output di una RNN allenata attraverso Guerra e Pace:&lt;/p&gt;
&lt;pre class="code literal-block"&gt;&lt;span&gt;&lt;/span&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;/pre&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;Dopo 300 iterazioni abbiamo un output di questo tipo:&lt;/p&gt;
&lt;pre class="code literal-block"&gt;&lt;span&gt;&lt;/span&gt;"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."
&lt;/pre&gt;
&lt;p&gt;Dopo quasi mille:&lt;/p&gt;
&lt;pre class="code literal-block"&gt;&lt;span&gt;&lt;/span&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;/pre&gt;
&lt;p&gt;Duemila:&lt;/p&gt;
&lt;pre class="code literal-block"&gt;&lt;span&gt;&lt;/span&gt;"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.
&lt;/pre&gt;
&lt;p&gt;Possiamo notare come l'output migliori visibilmente.&lt;/p&gt;
&lt;p&gt;Nel prossimo post tratterò una variante di rete neurale utilizzata per classificare e riconoscere immagini.&lt;/p&gt;&lt;/div&gt;</description><category>AI</category><category>algoritmi genetici</category><category>Genetic algorithm</category><category>Neural networks</category><category>PesceWanda</category><category>programming</category><category>reti neurali</category><guid>francescomecca.eu/blog/2016/11/11/machine-learning-parte2/</guid><pubDate>Fri, 11 Nov 2016 00:00:00 GMT</pubDate></item><item><title>Capire il Machine Learning (parte 1)</title><link>francescomecca.eu/blog/2016/11/10/machine-learning-intro/</link><dc:creator>Francesco Mecca</dc:creator><description>&lt;div&gt;&lt;p&gt;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.&lt;/p&gt;
&lt;h3&gt;Non c'è risultato senza algoritmo&lt;/h3&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'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".&lt;/p&gt;
&lt;h3&gt;La macchina impara&lt;/h3&gt;
&lt;p&gt;Nella fase di allenamento o di apprendimento, il "training", 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;h5&gt;Supervised Learning&lt;/h5&gt;
&lt;p&gt;Immaginiamo di dover valutare il prezzo di un'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 align="center"&gt;Km percorsi&lt;/th&gt;
&lt;th align="center"&gt;stato di usura&lt;/th&gt;
&lt;th align="right"&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 align="center"&gt;120 000&lt;/td&gt;
&lt;td align="center"&gt;lieve&lt;/td&gt;
&lt;td align="right"&gt;40 000&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;30 000&lt;/td&gt;
&lt;td align="center"&gt;150 000&lt;/td&gt;
&lt;td align="center"&gt;notevole&lt;/td&gt;
&lt;td align="right"&gt;8 000&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;20 000&lt;/td&gt;
&lt;td align="center"&gt;80 000&lt;/td&gt;
&lt;td align="center"&gt;lieve&lt;/td&gt;
&lt;td align="right"&gt;15 000&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;20 000&lt;/td&gt;
&lt;td align="center"&gt;120 000&lt;/td&gt;
&lt;td align="center"&gt;notevole&lt;/td&gt;
&lt;td align="right"&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'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 "inquinano" il nostro data set, come ad esempio il colore dell'auto, l'algoritmo non sarà capace di fare un'analisi corretta.&lt;/p&gt;
&lt;p&gt;La precisione della soluzione dipende dalla quantità di dati e dall'influenza che questi hanno nella situazione reale.&lt;/p&gt;
&lt;h2&gt;Unsupervised Learning&lt;/h2&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 align="center"&gt;Km percorsi&lt;/th&gt;
&lt;th align="right"&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 align="center"&gt;120 000&lt;/td&gt;
&lt;td align="right"&gt;lieve&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;30 000&lt;/td&gt;
&lt;td align="center"&gt;150 000&lt;/td&gt;
&lt;td align="right"&gt;notevole&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;20 000&lt;/td&gt;
&lt;td align="center"&gt;80 000&lt;/td&gt;
&lt;td align="right"&gt;lieve&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;20 000&lt;/td&gt;
&lt;td align="center"&gt;120 000&lt;/td&gt;
&lt;td align="right"&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'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.&lt;/p&gt;
&lt;h2&gt;Machine Learning e intelligenza&lt;/h2&gt;
&lt;p&gt;Concentriamoci sul &lt;strong&gt;supervised learning&lt;/strong&gt;.
Nel caso della vendita dell'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;&lt;em&gt;prezzo originale&lt;/em&gt; + B &lt;/em&gt;&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;pre class="code literal-block"&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="n"&gt;funzione&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="n"&gt;calcola_prezzo_auto&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;
&lt;span class="n"&gt;parametri&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="n"&gt;prezzo_originale&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="n"&gt;km_percorsi&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="n"&gt;stato_usura&lt;/span&gt;
&lt;span class="n"&gt;variabili&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="n"&gt;prezzo_finale&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;
&lt;span class="n"&gt;prezzo&lt;/span&gt; &lt;span class="n"&gt;finale&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;prezzo_originale&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="mf"&gt;0.804246&lt;/span&gt;
&lt;span class="n"&gt;prezzo&lt;/span&gt; &lt;span class="n"&gt;finale&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;prezzo_finale&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="n"&gt;km_percorsi&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mf"&gt;0.000125&lt;/span&gt;
&lt;span class="n"&gt;prezzo&lt;/span&gt; &lt;span class="n"&gt;finale&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;prezzo_finale&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="n"&gt;stato_usura&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mi"&gt;2500&lt;/span&gt;
&lt;/pre&gt;
&lt;p&gt;I valori di quelle costanti, stabilite casualmente nell'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'errore:&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;PREZZO ORIGINALE&lt;/th&gt;
&lt;th align="center"&gt;Km percorsi&lt;/th&gt;
&lt;th align="center"&gt;stato di usura&lt;/th&gt;
&lt;th align="center"&gt;PREZZO FINALE&lt;/th&gt;
&lt;th align="right"&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 align="center"&gt;120 000&lt;/td&gt;
&lt;td align="center"&gt;lieve&lt;/td&gt;
&lt;td align="center"&gt;40 000&lt;/td&gt;
&lt;td align="right"&gt;374888&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;30 000&lt;/td&gt;
&lt;td align="center"&gt;150 000&lt;/td&gt;
&lt;td align="center"&gt;notevole&lt;/td&gt;
&lt;td align="center"&gt;8 000&lt;/td&gt;
&lt;td align="right"&gt;16000&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;20 000&lt;/td&gt;
&lt;td align="center"&gt;80 000&lt;/td&gt;
&lt;td align="center"&gt;lieve&lt;/td&gt;
&lt;td align="center"&gt;15 000&lt;/td&gt;
&lt;td align="right"&gt;13492&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;20 000&lt;/td&gt;
&lt;td align="center"&gt;120 000&lt;/td&gt;
&lt;td align="center"&gt;notevole&lt;/td&gt;
&lt;td align="center"&gt;...&lt;/td&gt;
&lt;td align="right"&gt;10988&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;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.
&lt;img alt="rete1" src="francescomecca.eu/wp-content/uploads/2016/reteneurale1.jpg"&gt;
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.&lt;/p&gt;
&lt;h3&gt;Reti Neurali&lt;/h3&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;Possiamo arricchire l'esempio dell'automobile immaginando di avere più set di pesi e di ripetere il procedimento più volte:&lt;/p&gt;
&lt;pre class="code literal-block"&gt;&lt;span&gt;&lt;/span&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;/pre&gt;
&lt;p&gt;E ora immaginiamo di combinare ogni PREZZO FINALE STIMATO in un'ultimo risultato:&lt;/p&gt;
&lt;pre class="code literal-block"&gt;&lt;span&gt;&lt;/span&gt;| --------------------------------------------------|
| PREZZO_1 * peso X -----&amp;gt; |
| PREZZO_2 * peso Y -----&amp;gt; |
| PREZZO_3 * peso Z -----&amp;gt; |
| PREZZO FINALE DEF |
|---------------------------------------------------|
&lt;/pre&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;&lt;img alt="rete2" src="francescomecca.eu/wp-content/uploads/2016/reteneurale2.jpg"&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="francescomecca.eu/pescewanda/2016/11/11/machine-learning-PARTE2"&gt;post&lt;/a&gt; cercherò di approfondire il concetto di rete neurale con degli esempi di applicazioni concrete.&lt;/p&gt;&lt;/div&gt;</description><category>AI</category><category>algoritmi genetici</category><category>Genetic algorithm</category><category>Neural networks</category><category>PesceWanda</category><category>programming</category><category>reti neurali</category><guid>francescomecca.eu/blog/2016/11/10/machine-learning-intro/</guid><pubDate>Thu, 10 Nov 2016 00:00:00 GMT</pubDate></item></channel></rss>