<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Python  Zen-Funk Panda</title>
    <link>https://panda.zenfunk.it/tags/python/</link>
    <description>  Python  Zen-Funk Panda</description>
    <generator>Hugo</generator>
    <language>it</language>
    <lastBuildDate>Thu, 12 Dec 2019 15:31:12 +0200</lastBuildDate>
      <atom:link href="https://panda.zenfunk.it/tags/python/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Glenn Glould e l&#39;open source</title>
      <link>https://panda.zenfunk.it/posts/2019-12-12-glenn-glould-e-lopen-source/</link>
      <pubDate>Thu, 12 Dec 2019 15:31:12 +0200</pubDate>
      <guid>https://panda.zenfunk.it/posts/2019-12-12-glenn-glould-e-lopen-source/</guid>
      <description>&lt;p&gt;Avevo voglia di ascoltare &amp;ldquo;So you want to write a fugue?&amp;rdquo; di &lt;strong&gt;Glenn Gloud&lt;/strong&gt;, quindi sono andato su youtube ed ho cercato il brano, anche se ce l&amp;rsquo;avevo offline sul computer. Ho trovato una versione animata in stile karaoke col testo che in verità conoscevo già da tempo, quasi dieci anni, ma che avevo dimenticato e che soprattutto non avevo ancora rivisto e riascoltato con attenzione. Per quanto sia uno smanettone ai tempi non bazzicavo GitHub, anzi studiavo musicologia ed avevo mollato del tutto l&amp;rsquo;informatica, quindi non ho fatto caso che alla fine del video c&amp;rsquo;è un url al codice sorgente che ha permesso la realizzazione di questo video. Codice open source e scritto in &lt;strong&gt;Python&lt;/strong&gt;, uno dei pochi linguaggi che conosco e che so leggere. La cosa mi ha fatto riflettere perchè stiamo parlando di Glenn Gould e Python&amp;hellip; e tra i due sicuramente il più conosciuto ai più è Python.&lt;/p&gt;&#xA;&lt;p&gt;Glenn Gould era un folle genio che scrisse questo pezzo nel &amp;lsquo;63 per una trasmissione radiofonica canadese allo scopo di far capire alle persone cosa fosse una &lt;em&gt;fuga&lt;/em&gt;, in musica. E penso che ci sia riuscito perchè ci ha messo le parole che rendono la sua opera più intellegibile ai profani della musica e non solo. Ma cosa è una fuga? Voglio azzardare a spiegarvelo io, a modo mio, secondo la mia esperienza. Lasciando stare i tecnicismi contrappuntistici barocchi ai testi di musicologia la fuga è un evitare la ripetitività, cercare di essere originali ed evitare di suonare due volte la stessa cosa. Un po&amp;rsquo; come il walkin&amp;rsquo; bass nel jazz. Vivere e suonare qui ed ora, lasciarsi indietro il passato già suonato e suonare cose nuove, sempre (ove possibile perchè a volte, in alcuni brani veloci, è davvero difficile e disumano suonare sempre cose diverse). Si può e si deve citare il passato, il già suonato, ma non ripeterlo. Mi viene da pensare che una fuga sia una fuga dalla realtà ma è errato, è una fuga dalla consuetudine di mettere cose che non stonino. Puoi mettere anche note stonate se servono, Glenn Gould stesso dice &amp;ldquo;forget the rules and try&amp;rdquo;. E nel suo ambito le regole sono molto più ferree del jazz.&lt;/p&gt;&#xA;&lt;div style=&#34;position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;&#34;&gt;&#xA;&#x9;&#x9;&#x9;&lt;iframe allow=&#34;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen&#34; loading=&#34;eager&#34; referrerpolicy=&#34;strict-origin-when-cross-origin&#34; src=&#34;https://www.youtube.com/embed/U85-4EYgZk4?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0&#34; style=&#34;position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;&#34; title=&#34;YouTube video&#34;&gt;&lt;/iframe&gt;&#xA;&#x9;&#x9;&lt;/div&gt;&#xA;&#xA;&lt;p&gt;Avere a disposizione un video del genere è bellissimo, ha un valore didattico esagerato e l&amp;rsquo;averlo trovato è più bello ancora. Scoprire stasera che è stato generato grazie a Python (un linguaggio open source) e che l&amp;rsquo;autore abbia regalato il codice sorgente al mondo su GitHub è meraviglioso. Senza questo video, senza questo codice, senza questa persona (che oltre essere sicuramente un programmatore è sicuramente anche un musicista sopraffino) capire questo brano e capire più profondamente cosa sia una fuga e che che Glenn Gould era un figo sarebbe stato molto più difficile.&lt;/p&gt;&#xA;&lt;p&gt;rif: &lt;a href=&#34;https://github.com/zhanrnl/PyMusAnim&#34;&gt;https://github.com/zhanrnl/PyMusAnim&lt;/a&gt;&lt;/p&gt;&#xA;</description>
    </item>
    <item>
      <title>Toast Machine</title>
      <link>https://panda.zenfunk.it/posts/toast-machine/</link>
      <pubDate>Sun, 02 Sep 2012 11:26:00 +0000</pubDate>
      <guid>https://panda.zenfunk.it/posts/toast-machine/</guid>
      <description>&lt;img src=&#34;https://panda.zenfunk.it/img-post/toastmachine.png&#34; alt=&#34;Toast Machine&#34; style=&#34;width: auto;&#34;&gt;&#xA;&#xA;&lt;p&gt;La &lt;strong&gt;Toast Machine&lt;/strong&gt; è un distributore automatico di software libero in grado di masterizzare distribuzioni GNU/Linux su CD/DVD, copiare su supporti removibili USB/SD le immagini ISO, raccolte di sofware libero per altre piattaforme o materiale informativo.&lt;/p&gt;&#xA;&lt;p&gt;L&amp;rsquo;idea è del &lt;a href=&#34;http://www.lugcr.it/lugcr/&#34;&gt;LugCR&lt;/a&gt; e nasce per risolvere il problema dei supporti CD/DVD preparati in gran quantità in vista di eventi pubblici come i &lt;a href=&#34;http://www.linuxday.it/&#34;&gt;Linux Day&lt;/a&gt; ed avanzati perchè l’affluenza di pubblico è stata minore. Ma capita anche l’opposto, ovvero che si verifica una affluenza maggiore e non si hanno abbastanza CD da consegnare a chi li richiede perchè è interessato al software libero.&lt;/p&gt;&#xA;&lt;p&gt;La Toast Machine permette di masterizzare, self service o con un assistente, solo quello che serve. Oltre a permettere di copiare software libero direttamente su chiavetta USB, gadget che ormai chiunque ha in tasca.&lt;/p&gt;&#xA;&lt;p&gt;La Toast Machine è scritta in Python/gtk ed è rilasciata sotto i termini della licenza GPLv2.&lt;/p&gt;&#xA;&lt;p&gt;Nel Novembre 2010 la rivista Linux PRO (N.97) ha pubblicato un articolo che racconta l’esperienza del LugCR nella realizzazione ed allestimento di una Toast Machine.&lt;/p&gt;&#xA;&lt;p&gt;Nota (06/2012):Attualmente il progetto è in mantenimento e non verrà portato su python 3.&lt;/p&gt;&#xA;&lt;h2 id=&#34;screenshots&#34;&gt;&#xD;&#xA;  Screenshots&#xD;&#xA;  &lt;a class=&#34;heading-link&#34; href=&#34;#screenshots&#34;&gt;&#xD;&#xA;    &lt;i class=&#34;fa fa-link&#34; aria-hidden=&#34;true&#34;&gt;&lt;/i&gt;&#xD;&#xA;  &lt;/a&gt;&#xD;&#xA;&lt;/h2&gt;&#xD;&#xA;&lt;p&gt;&lt;img src=&#34;https://panda.zenfunk.it/img-post/toast-machine-0.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;installazione&#34;&gt;&#xD;&#xA;  Installazione&#xD;&#xA;  &lt;a class=&#34;heading-link&#34; href=&#34;#installazione&#34;&gt;&#xD;&#xA;    &lt;i class=&#34;fa fa-link&#34; aria-hidden=&#34;true&#34;&gt;&lt;/i&gt;&#xD;&#xA;  &lt;/a&gt;&#xD;&#xA;&lt;/h2&gt;&#xD;&#xA;&lt;p&gt;Al momento la Toast Machine è testata solamente su Ubuntu GNU/Linux 10.04 ma dovrebbe funzionare senza grossi problemi su tutte le distribuzioni che sono in grado di risolvere le seguenti dipendenze: &lt;code&gt;python-pam python-gksu brasero udisks python-gtk2 xloadimage&lt;/code&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Per trasferire le immagini avviabili su chiavette USB o SD è necessario che l’utente a nome del quale giri la Toast Machine appartenga al giusto gruppo, in base alle distribuzione. Ad esempio su Ubuntu è il gruppo &lt;code&gt;disk&lt;/code&gt;.&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;sudo usermod -a -G disk username&#xD;&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;Per utilizzare la Toast machine in modalità chiosco con una sessione X dedicata è necessario &lt;strong&gt;non&lt;/strong&gt; instarla in &lt;code&gt;/usr/local&lt;/code&gt; in quanto GDM potrebbe non trovare il file &lt;code&gt;xsession&lt;/code&gt;. E’ preferibile installarla con l’apposito script (in attesa di una pacchettizzazione ufficiale):&lt;/p&gt;&#xA;&lt;p&gt;&lt;code&gt;sudo python setup.py install --prefix=/usr&lt;/code&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;download&#34;&gt;&#xD;&#xA;  Download&#xD;&#xA;  &lt;a class=&#34;heading-link&#34; href=&#34;#download&#34;&gt;&#xD;&#xA;    &lt;i class=&#34;fa fa-link&#34; aria-hidden=&#34;true&#34;&gt;&lt;/i&gt;&#xD;&#xA;  &lt;/a&gt;&#xD;&#xA;&lt;/h2&gt;&#xD;&#xA;&lt;p&gt;Non esistono ancora pacchetti per le varie distro, è possibile solamente scaricare i sorgenti da launchpad:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://launchpad.net/toast-machine/main/0.2/&amp;#43;download/toast-machine-0.2.tar.bz2&#34;&gt;toast-machine-0.2.tar.bz2&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;bzr branch lp:toast-machine&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://launchpad.net/toast-machine&#34;&gt;https://launchpad.net/toast-machine&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;toast-machines-in-azione&#34;&gt;&#xD;&#xA;  Toast Machines in azione&#xD;&#xA;  &lt;a class=&#34;heading-link&#34; href=&#34;#toast-machines-in-azione&#34;&gt;&#xD;&#xA;    &lt;i class=&#34;fa fa-link&#34; aria-hidden=&#34;true&#34;&gt;&lt;/i&gt;&#xD;&#xA;  &lt;/a&gt;&#xD;&#xA;&lt;/h2&gt;&#xD;&#xA;&lt;p&gt;&lt;img src=&#34;https://panda.zenfunk.it/img-post/IMG_0826.jpeg&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Stand del LugCr alla festa del volontariato – Cremona&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://panda.zenfunk.it/img-post/ld_cr_lxp.jpeg&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;LugCR, autori dell’articolo su “Linux PRO”&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;</description>
    </item>
    <item>
      <title>Compilare Stackless Python su Linux PowerPC (PPC)</title>
      <link>https://panda.zenfunk.it/posts/2010-06-12-compilare-stackless-python-su-linux-powerpc-ppc/</link>
      <pubDate>Sat, 12 Jun 2010 00:00:00 +0000</pubDate>
      <guid>https://panda.zenfunk.it/posts/2010-06-12-compilare-stackless-python-su-linux-powerpc-ppc/</guid>
      <description>&lt;p&gt;IMHO una delle cose più affascinanti del mondo dell’Open Source e del Free Software è che per il 95% delle problematiche c’è già un folle che se ne sta occupando. Per il restante 5% pure, ma è solo questione di tempo… il tempo che i motori di ricerca reindicizzino blog e mailing list. Oppure sei proprio tu.&lt;/p&gt;&#xA;&lt;p&gt;Io non so quanta gente (in Italia) usi GNU/Linux su processori PowerPC e non so nemmeno quanta gente abbia voglia di smanettare con &lt;a href=&#34;https://netsukuku.freaknet.org&#34;&gt;Netsukuku&lt;/a&gt; su processori PowerPC… ma se qualcuno c’è (e mi ci gioco le palle che c’è) e sta sbattendo la testa a cercare di compilare Stackless Python ottenendo solamente un Segmentation Fault… beh forse questo mio post potrebbe essergli utile!&lt;/p&gt;&#xA;&lt;p&gt;Prima di tutto devo ringraziare &lt;em&gt;Mads Darø Kristensen Aarhus&lt;/em&gt; che con il suo post &lt;a href=&#34;http://kedeligdata.blogspot.com/2009/12/building-stackless-python-on-ps3-ppc.html&#34;&gt;Building Stackless Python on a PS3 (PPC Linux)&lt;/a&gt; mi ha dato una direzione sulla quale continuare a smanettare… perchè se lui sulla PS3 ci era riuscito io su un PowerBook G4 no :(&lt;/p&gt;&#xA;&lt;p&gt;Bene. Non importa se avete scaricato i tarball dei sorgenti o fatto il checkout SVN… spostatevi nella dir dei sorgenti e date un:&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;./configure --prefix=/test --enable-stacklessfewerregisters&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;Io ho impostato il prefix in &lt;code&gt;/test&lt;/code&gt; per stare tranquillo, di default viene impostato &lt;code&gt;/usr/local&lt;/code&gt; ma se avete altra roba installata lì forse preferite anche voi installlarlo in una dir separata per non inquinare &lt;code&gt;/usr/local&lt;/code&gt; qualora vorreste cancellare del tutto stackless python…&lt;/p&gt;&#xA;&lt;p&gt;Una volta terminato il &lt;code&gt;./configure&lt;/code&gt; dovete editare il &lt;strong&gt;Makefile&lt;/strong&gt; nella root dei sorgenti (le subdir lo erediteranno) e modificare le var &lt;code&gt;$OPT&lt;/code&gt; e &lt;code&gt;$SLPFLAGS&lt;/code&gt;:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;in &lt;code&gt;OPT&lt;/code&gt; cambiare &lt;code&gt;-O2&lt;/code&gt; in &lt;code&gt;-Os&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;in &lt;code&gt;SLPFLAGS&lt;/code&gt; modificare &lt;code&gt;-fno-omit-frame-pointer&lt;/code&gt; in &lt;code&gt;-fomit-frame-pointer&lt;/code&gt; e &lt;code&gt;-O2&lt;/code&gt; in &lt;code&gt;-Os&lt;/code&gt;.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;code&gt;make &amp;amp;&amp;amp; sudo make install&lt;/code&gt; e poi su &lt;code&gt;/$PREFIX/bin/python&lt;/code&gt; avrete il vostro Stackless Python!&lt;/p&gt;&#xA;&lt;p&gt;Non chiedetemi il perchè… a me ha l’ha compilato solamente così… anzi, se qualche programmatore C passa di qui e me lo spiega gliene sarò grato :)&lt;/p&gt;&#xA;</description>
    </item>
  </channel>
</rss>
