Glenn Glould e l’open source

Pubblicato il Pubblicato in #floss-stuff, #musica

Avevo voglia di ascoltare “So you want to write a fugue?” di Glenn Gloud, quindi sono andato su youtube ed ho cercato il brano, anche se ce l’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’informatica, quindi non ho fatto caso che alla fine del video c’è un url al codice sorgente che ha permesso la realizzazione di questo video. Codice open source e scritto in Python, uno dei pochi linguaggi che conosco e che so leggere. La cosa mi ha fatto riflettere perchè stiamo parlando di Glenn Gould e Python… e tra i due sicuramente il più conosciuto ai più è Python.

Glenn Gould era un folle genio che scrisse questo pezzo nel ’63 per una trasmissione radiofonica canadese allo scopo di far capire alle persone cosa fosse una fuga, 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’ come il walkin’ 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 “forget the rules and try”. E nel suo ambito le regole sono molto più ferree del jazz.

Avere a disposizione un video del genere è bellissimo, ha un valore didattico esagerato e l’averlo trovato è più bello ancora. Scoprire stasera che è stato generato grazie a Python (un linguaggio open source) e che l’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.

rif: https://github.com/zhanrnl/PyMusAnim

GNU/Linux su HP Pavilion TouchSmart 15-b190sl

Pubblicato il Pubblicato in #floss-stuff
hp-pavilion-touchsmart-notebook
HP Pavilion TouchSmart 15-b190sl

Prima o poi volevo fare un articolo della serie “GNU/Linux on [ … ] laptop” pieno di trick su come far funzionare definitivamente anche quei componenti capricciosi. Con i miei precedenti 3 portatili non l’ho mai potuto fare perchè mi sono sempre capitate schede video assolutamente non supportate o supportate alla c*z*o che li rendevano portatili sinceramente poco adatti a GNU/Linux. Con questo, il mio nuovo portatile, non posso farlo nemmeno perchè funziona tutto out-of-the-box!! Peccato, mi limito quindi a riportarvi qualche informazione tecnica per nerd:

Processore: Quad-Core Intel® Core™ i3-3227U CPU @ 1.90GHz
00:00.0 Host bridge: Intel Corporation 3rd Gen Core processor DRAM Controller (rev 09)
00:02.0 VGA compatible controller: Intel Corporation 3rd Gen Core processor Graphics Controller (rev 09)
00:14.0 USB controller: Intel Corporation 7 Series/C210 Series Chipset Family USB xHCI Host Controller (rev 04)
00:16.0 Communication controller: Intel Corporation 7 Series/C210 Series Chipset Family MEI Controller #1 (rev 04)
00:1a.0 USB controller: Intel Corporation 7 Series/C210 Series Chipset Family USB Enhanced Host Controller #2 (rev 04)
00:1b.0 Audio device: Intel Corporation 7 Series/C210 Series Chipset Family High Definition Audio Controller (rev 04)
00:1c.0 PCI bridge: Intel Corporation 7 Series/C210 Series Chipset Family PCI Express Root Port 1 (rev c4)
00:1c.1 PCI bridge: Intel Corporation 7 Series/C210 Series Chipset Family PCI Express Root Port 2 (rev c4)
00:1c.2 PCI bridge: Intel Corporation 7 Series/C210 Series Chipset Family PCI Express Root Port 3 (rev c4)
00:1d.0 USB controller: Intel Corporation 7 Series/C210 Series Chipset Family USB Enhanced Host Controller #1 (rev 04)
00:1f.0 ISA bridge: Intel Corporation HM77 Express Chipset LPC Controller (rev 04)
00:1f.2 RAID bus controller: Intel Corporation 82801 Mobile SATA Controller [RAID mode] (rev 04)
00:1f.3 SMBus: Intel Corporation 7 Series/C210 Series Chipset Family SMBus Controller (rev 04)
01:00.0 Network controller: Qualcomm Atheros AR9485 Wireless Network Adapter (rev 01)
02:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8101E/RTL8102E PCI Express Fast Ethernet controller (rev 05)
03:00.0 Unassigned class [ff00]: Realtek Semiconductor Co., Ltd. RTS5229 PCI Express Card Reader (rev 01)

Ci sto usando su Debian/testing con Gnome3 e devo dire che con il touchscreen -per me- è quasi fantascienza. Avevo visto qualche video su youtube ma non potevo rendermi conto della qualità del lavoro che è stato fatto sulle GTK3.x e Gnome3.x.

Gnome3 con un touchscreen è la svolta!!

phpIPAM, open source address management

Pubblicato il Pubblicato in #floss-stuff

phpIPAM è un applicativo web GPLv3 multiutente per l’address management con funzioni automatiche come il calcolo della netmask in base allo spazio di indirizzamento disponibile, funzioni visuali come una dashboard di riepilogo con widget ordinabili ed altri tool integrati. E’ scritto in PHP e Bootstrap3, non richiede particolari estensioni ed usa mysql come database.

Mette a disposizione delle “sezioni” dentro le quali si possono allocare più reti, ulteriori sottoreti ed indirizzi IP con informazioni aggiuntive ed attributi customizzabili ed estendibili. E’ possibile inserire anche macchine, apparati, VLANs ed importare sottoreti direttamente dal database RIPE.

E’ in inglese e tradotto in varia lingue, purtroppo ancora manca l’italiano ma c’è un modulo interno per la traduzione delle stringhe utilizzate.

via | phpipam.net

ElementaryOS, dual monitor e workspaces solo sul display primario.

Pubblicato il Pubblicato in #floss-stuff

Dalla scorsa settimana ho deciso di installare ElementaryOS anche sulla mia workstation al lavoro perchè sia la Ubuntu Gnome 13.04 che la 13.10 mi hanno dato non pochi problemi con continui crash. Anche se sono un fan di ElementaryOS sin dalla prima release ho provato Gnome3 per diversi mesi e devo dire che mi sono trovato molto bene come user experience, soprattutto per la possibilità di escludere il secondo monitor dalla gestione dei workspace: sul secondo monitor tengo tutti i terminali che mi serve avere sempre sott’occhio e sul primo monitor faccio tutto il resto utilizzando molto i workspaces.

Ieri, spulciando su Launchpad, ho scoperto che Gala è basato su libmutter e quindi eredita questa funzionalità da Gnome3! Basta settarla con dconf-editor:

org.gnome.mutter workspaces-only-on-primary

Mai più senza: F11 mappato in un angolo dello schermo con xdotool #elementaryOS

Pubblicato il Pubblicato in #floss-stuff

Mentre qualcuno elogia Google per il nuovo portatile con una risoluzione 3:2 molto più comoda “per lavorare” (ma anche per fare qualsiasi cosa che IMHO non sia guardarsi un film in 16:9) il resto delle persone che hanno comprato un portatile negli ultimi anni se lo sono ritrovati con uno schermo in -appunto- 16:9 e praticamente senza una possibilità di scelta diversa, perchè oramai i monitor sono tutti in 16:9.

Ora: tra barre, controbarre e toolbars… oggettivamente lo spazio usabile sul monitor è cambiato, se qualche genere di applicazione (ad esempio Gimp e le sue toolbar verticali) ne giova, altre ne perdono. IMHO i browser ne perdono tutti. Entrare in modalità tutto schermo non è sempre conveniente, nelle tastiere i tasti Fxx stanno andando sempre più frequentemente nel secondo livello ed hanno bisogno del tasto selettore fn, nel mio portatile con F11 metto in mute l’audio.

Mappare un angolo dello schermo che si comporti come il tasto F11 mi è sembrata la soluzione più ergonomica per entrare ed uscire dalla modalità fullscreen senza click ne tasti… ed ormai non posso più farne a meno!

Toast Machine

Pubblicato il Pubblicato in #floss-stuff

La Toast Machine è 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.

L’idea è del LugCR e nasce per risolvere il problema dei supporti CD/DVD preparati in gran quantità in vista di eventi pubblici come i Linux Day 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.

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.

La Toast Machine è scritta in Python/gtk ed è rilasciata sotto i termini della licenza GPLv2.

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.

Nota (06/2012): Attualmente il progetto è in mantenimento e non verrà portato su python 3.

Screenshots

Installazione

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: python-pam, python-gksu, brasero, udisks, python-gtk2, xloadimage, *gettext.

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

sudo usermod -a -G disk username

Per utilizzare la Toast machine in modalità chiosco con una sessione X dedicata è necessario non instarla in /usr/local in quanto GDM potrebbe non trovare il file xsession. E’ preferibile installarla con l’apposito script (in attesa di una pacchettizzazione ufficiale):

sudo python setup.py install --prefix=/usr

Download

Non esistono ancora pacchetti per le varie distro, è possibile solamente scaricare i sorgenti da launchpad:

Toast Machines in azione

Stand del LugCr alla festa del volontariato – Cremona
LugCR, autori dell’articolo su “Linux PRO”

aMiscela

Pubblicato il Pubblicato in #floss-stuff

aMiscela è un’app che serve a calcolare con una buona precisione quanto olio è necessario per fare la famosa «miscela». Il calcolo è molto semplice ma non tutti riescono a farlo a mente e magari mettono in moto con la paura di grippare perché si è aggiunto poco olio alla benzina o con la paura di ingolfare facile perché si è aggiunto troppo olio!

aMiscela è tral’altro una minchiata di pochissime righe di codice che ho scritto giusto per prendere confidenza con lo sviluppo su Android…

…però funziona :)

Screenshot

Licenza

Non c’è alcuna licenza. L’applicazione è rilasciata al pubblico dominio.

Download

QR Code generator
    amiscela-0.1.apk
    (md5: 3a526196df13223784410edd8fbd1101)