0
Mag 31 2018

Compara e unisci PDF

I PDF sono dei file molto comodi da leggere, ma possono diventare un inferno da modificare.

Avendo preso l’abitudine di prenderci appunti direttamente sopra, per me diventa un bel problema quando un documento viene aggiornato, così ho deciso di fare un’applicazione web che consenta di compararli visivamente e unirli.

È ancora un po’ un proof of concept. In pratica si basa sul noto PDF.js di Mozilla: lo usa per renderizzare le varie pagine in due canvas affiancati.

La navigazione è basata tutta su JavaScript vanilla, o meglio, su ES6, quindi con i browser moderni funziona, quindi, pur non avendo provato, sono sicuro che non vada su Internet Explorer.

Quindi questo progetto mi ha permesso di mettermi alla prova con JS, per vedere se riesco ancora a fare qualcosa senza jQuery, e mi ha dato modo di imparare un po’ a usare le API HTML5 per il Drag&Drop con i file.

Invece per il drag&drop dell’elenco di pagine che verranno unite mi sono affidato alla libreria html5sortable, che però non ha altre dipendenze. Avevo cominciato a implementare anche quello, però i risultati non erano buoni e la difficoltà parecchia. Quindi per questa cosa ha avuto senso usare una libreria, che peraltro non pesa molto.

Infine, per il lato client, ho usato Bootstrap 4, giusto per dare un po’ di classe al tutto.

Per il lato server ho usato una Servlet Java: pur non piacendomi molto come tecnologia, ha il vantaggio di poter chiamare direttamente l’ottima libreria iText, che è veramente potente e versatile.

L’unico svantaggio è la viralità della sua licenza: Afferro GPL. Mi vedo quindi costretto a rilasciare il lato server sotto questa licenza, invece il lato client, da solo, per quanto mi riguarda, se la Afferro lo concede, lo potete considerare sotto licenza MIT (non sono sicuro sia possibile, però).

Per il momento è ancora allo stato embrionale, soprattutto il codice lato server, quindi per motivazioni di sicurezza non ne faccio il deploy sul mio VPS, però vi lascio volentieri il codice per il download :-) .

0
Apr 20 2017

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… [Leggi il resto...]

2
Set 07 2015

Così famoso che mi plagiano

Ultimamente sono interessato all’argomento dei NAS, in modo da gestire facilmente un RAID 1 in cui mettere file e backup, così volevo valutare le prestazioni del TD-W8970 con OpenWRT per capire se posso risparmiare sull’acquisto e il mantenimento di un ulteriore dispositivo o meno.

Così cercando su Google tra i risultati mi è apparso anche il mio articolo in cui spiegavo come installare OpenWRT su questo dispositivo e un altro articolo, pubblicato 3 mesi dopo, ma con stessa identica descrizione su Google.

Confronto fra i risultati di Google

È sempre bello vedere che non scrivo solo per me stesso ma che le persone leggono.

Purtroppo l’autore si era dimenticato di citarmi, probabilmente perché era uno dei suoi primi post, però dopo ha apportato effettivamente le modifiche riportando le varie fonti, quindi adesso è tutto a posto :-) .

0
Ott 15 2014

Downtime

Ieri c’è stato un lungo downtime di questo sito, non posso che ammetterlo.

La maggior parte della colpa è mia, della mia stanchezza: ho accidentalmente premuto sul pulsante riavvia anziché rinnova.

Da là ci sono stati numerosi problemi: anziché esserci un riavvio regolare, la VPS è entrata in modalità recovery.

Su OVH il modo per tornare alla normalità è “selezionare il kernel per il netboot”, peccato che la mia VPS Classic di OVH sia basata su OpenVZ, e che quindi un kernel non lo ha.

Ho provato più volte a fare il ripristino creato al volo sfruttando il mio vecchio spazio, ancora attivo fino al 23, tuttavia non c’è stato modo di ripristinarlo.

Ad un certo punto ci ero riuscito, ma per problemi di dipendenze si era installato systemd, incompatibile con la versione di OpenVZ di OVH.

Alla fine la soluzione è stata reinstallare il sistema operativo e riconfigurarlo con 7 ore di downtime.

Vedrò di segnalare il problema a OVH e per il momento non posso che scusarmi per gli inconvenienti.

0
Set 26 2014

Trasferimento su VPS

È ufficiale! Questo sito è stato trasferito sul mio VPS.

Un paio di settimane fa ho comprato un VPS Classic 2014 di OVH: costa come l’hosting personale, solo che dà una macchina virtuale, a discapito dello spazio disponibile: 10GB, che comunque per me sono sufficienti.

Ho voluto fare così sia per imparare, che per avere più flessibilità: se ho un progetto particolare posso lo stesso svilupparlo.

In particolare ho: 1vCore, 10GB di archiviazione, 1GB di RAM, rete a 100Mbps fino a 10TB, dopo 1Mbps, Debian 64bit.

La RAM non è né poca, in confronto a certe altre macchine virtuali, né tanta, in confronto ai server di hosting condiviso, che offrono magari una più alta protezione da certi tipi di attacco. Sotto questo aspetto sono un po’ spaventato.

Adesso starò a vedere come si comporta il tutto, ma sono abbastanza soddisfatto.

In caso l’altro hosting è ancora attivo per circa un mese, tempo in cui testerò se questa soluzione funziona bene.