Piero V.

Firefox 100

A long time has passed since the last time I have written about a software version update. And I published the last one about Firefox almost 10 years ago.

But this is a special occasion: last Tuesday, Mozilla published Firefox 100. So, congrats, Mozilla! 🥳️🎉️

Now that I think of it, Firefox is the first open source software I have ever used and probably the program that introduced this concept to me. It also “saved” me from Internet Explorer 6 and taught me that the web must be developed following standards.

The first version of Firefox I used was either 1.5.0.x or 1.0.x. Many, many years have passed since then.

Now I have a job tightly connected to Firefox and to Mozilla. This allowed me to contribute back, at least in a tiny way, and it was acknowledged in Firefox 97 release notes, which makes me super happy! (Even though, to be completely honest, that effort was not only mine but also of other Tor community users).

We need Firefox because only alternative and independent browser implementations can guarantee freedom and openness to all web users.

So, thanks, Mozilla, and long live Firefox!

Guitar Biro

Tempo fa, avevo annunciato di voler creare un auto tabulatore per la chitarra.

È passato un po’ di tempo, però alla fine qualcosa ho fatto, e ne è uscito un bel proof of concept.

Come algoritmo alla fine ho scelto l’auto correlazione, quindi un’analisi nel dominio del tempo. Avevo fatto delle prove con la trasformata di Fourier, ma ottenevo dei risultati effettivamente peggiori, come riportato anche su degli studi su IEEEXplore e su vari siti. Inoltre per Fourier in C esistono delle librerie ma sono più difficili da usare dell’autocorrelazione.

L’autocorrelazione permetterebbe anche di determinare il punto su cui la nota è stata suonata, cosa che con l’assunzione che si suoni più o meno sopra i pickup, permetterebbe anche di trovare in quale corda è stata suonata la nota. Però questa è un’assunzione forte e spesso c’erano risultati non proprio corretti.

Quindi ho preferito mostrare tutte le posizioni in cui una nota può essere suonata e non consente di salvare i risultati ottenuti.

Mi spiace dover rilasciare sotto la GNU GPL v3, rilascerei volentieri sotto una licenza più leggera, come la MIT, però ho usato RSVG (da GNOME) per mostrare l’immagine del manico della chitarra. Se qualcuno riuscisse a togliere questa dipendenza potrebbe considerare tranquillamente il codice rilasciato sotto licenza MIT, e magari potrebbe farmi un pull su GitHub 😊 .

Il software è stato scritto senza prediligere una piattaforma, però per il momento l’ho testato solo su Debian.

Inoltre mancano numerose funzionalità, una su tutte la possibilità di scegliere l’accordatura dello strumento, sebbene io l’abbia realizzata in modo parametrico.

Detto tutto ciò, su GitHub potete trovare tutto il codice sorgente.

Invece in esclusiva per il sito, pubblico la relazione sul progeto per l’esame.

Nuovo progetto: auto tablatore per chitarra

Ultimamente il tempo che posso dedicare a sperimentare e in generale nerdare è abbastanza poco, però potrò, come si suol dire, unire l’utile al dilettevole.

Infatti dovrò realizzare un progetto in C per un corso all’Università, quindi ho deciso di realizzare un’idea che mi era venuta abbastanza tempo fa, ma che avevo sempre lasciato stare: scrivere un software in grado di riconoscere che nota è stata suonata a partire dall’audio della chitarra, in realtime, quindi visualizzarlo e magari poter esportare la tablatura.

Ancora non so quante feature riuscirò/avrò tempo per implementare. Probabilmente sarà in grado di riconoscere solo note singole, in quanto gli algoritmi che permettono di riconoscere toni di una frequenza singola (comprese le armoniche, eventualmente) sono diversi da quelli che permettono il riconoscimento di accordi.

Come moduli comprenderà sicuramente un’interfaccia con la scheda audio, probabilmente basato su Libsoundio, oppure, in alternativa, su PortAudio.

L’altro modulo sarà il riconoscimento della frequenza fondamentale. Ci sono diverse soluzioni, perlopiù basate sulla trasformata di Fourier e sull’autocorrelazione. Sul secondo metodo ho già trovato un’implementazione abbastanza semplice, pulita e comprensibile. … [Leggi il resto]

Unity

Unity è un game engine che può creare contenuti per un gran numero di piattaforme: dal classico computer, agli smartphone, alle console di videogiochi.

Contrariamente al mio solito, ho provato questo pacchetto che, pur potendo creare contenuti per Linux, non è disponibile per questo OS, né è software libero.

Tuttavia ho deciso di provarlo perché è estremamente diffuso ed è sempre ben lodato e finalmente ne ho capito il motivo.

Essenzialmente Unity rende estremamente facile e soprattutto veloce la creazione di un gioco: anziché focalizzarsi sulla stesura del codice, si concentra sulla creazione dei livelli di gioco su un editor grafico. Quindi le varie entità, tra cui ad esempio le mesh, vengono create direttamente lì, poi, seguendo un design molto modulare, si possono abilitare diversi comportamenti, che vanno dalla fisica all’emissione di luci e audio. Soprattutto si possono associare degli script C#, che alla fine sono solitamente delle classi che implementano alcuni metodi prefissati.

Per il momento ho seguito un paio di tutorial, e risultati sono stati estremamente soddisfacenti. In un’ora si riesce a fare ciò che un motore più tradizionale, basato tutto sulla stesura di codice richiederebbe almeno un giorno, se non due.

La cosa più simile che io abbia usato finora è Blender Game, ma Unity come vantaggio ha che è più facile da usare. Uno svantaggio è che Unity è più pesante sia come installazione, che come grandezza del gioco creato.

Non escludo che magari in futuro io non arrivi magari a rilasciare anche qualcosa fatto con questo engine, anche perché tra velocità d’uso e semplicità rende possibile anche pensare di completare un gioco anche a una persona da sola.

Perché evitare Ephesoft Community

Ephesoft è un software che afferma di essere il miglior strumento di automatizzazione dell’acquisizione dei dati.

È una piattaforma web che gestisce le scansioni: è in grado di riconoscere i documenti, li divide automaticamente, li categorizza, ed estrae automaticamente le loro informazioni.

Fondamentalmente si basa su un motore OCR, con cui ricostruisce i testi e li confronta, tramite Apache Lucene, con dei modelli impostati dall’amministratore di sistema.

Viene distribuito in diverse versioni, tra cui una “community”, rilasciata sotto GNU Afferro GPL, che ho provato, ma non mi ha per nulla convinto.

In breve, questa versione è quasi del tutto priva di documentazione, non è aggiornata e sembra che il suo unico scopo, più che far provare il prodotto o rappresentare una soluzione per degli “smanettoni interessati all’argomento” 1, sia di far passare alle versioni a pagamento.

Tuttavia, se la versione a pagamento soffre degli stessi problemi di quella gratuita, allora più che avvicinare al prodotto commerciale, ha l’esito opposto.

Installazione

La documentazione di Ephesoft Community è estremamente scarna, nonché piena di link morti. … [Leggi il resto]