Clicca qui per iscriverti.
Qualche giorno fa era il mio compleanno, e, come al solito si ricevono i regali, alcuni graditi altri meno. Con la mia ragazza esiste un antico ma validissimo accordo che prevede che il regalo in questione abbia certi prerequisiti.
Sappiate che dopo qualche anno non è facile mantenere queste condizioni, ma è davvero un bel gioco e soprattutto, sarà perché forse siamo un po’ sadici, ma ci piace molto di più l’idea di qualcuno che sia stato dei giorni a pensare cosa regalarci piuttosto di uno che abbia speso un sacco di soldi in fretta e furia per non doverci pensare. Sarà banale, ma la frase “è il pensiero che conta” noi lo prendiamo alla lettera, e i regali poco pensati e senza anima ci piacciono poco.
Marina mi ha regalato un banco di RAM da 1GB appositamente per il mio Acer Aspire One 110L, che di base parte con solo 512Mb di ram, e cosa più importante me lo ha anche montato; non che non ne fossi in grado, ma mi ha tolto una grande fatica, dato che ho delle mani molto grandi che ben poco si prestano al lavoro sul netbook. Inoltre per aggiungere RAM sul A110L bisogna praticamente smontare tutto il Netbook pezzo pezzo, con una procedura non proprio facilissima.
L’aggiornamento è andato a buon fine, e il computer ne ha beneficiato tantissimo sul piano delle prestazioni e della reattività. Ho tolto LXDE, ritornando a Gnome, e sono ritornato a Firefox lasciando Google Chrome, mantenendo un ottimo livello prestazionale. Devo ancora apportare delle modifiche software che forse mi permetterebbero di guadagnare un po di velocità, ma già così il risultato è ottimo.
Il punto chiave di questo post però non è il lato tecnico, bensì quello quello umano, e lo scrivo un po’ per esprimere la mia idea di come dovrebbe essere un regalo, e un po’ per ringraziare Marina dello splendido regalo, che mi permetterà di utilizzare con molta più soddisfazione il mio Acer One.
Quindi, grazie mille Marina.
Il codice incriminato:
public class Test { public static void main(String[] args) { String a1 = "test"; String a2 = "test"; System.out.println(a1 == a2); a2 = new String("test"); System.out.println(a1 == a2); } }Il primo confronto ritorna true, mentre il secondo false: ora, io avevo sempre pensato che una stringa inizializzata nel primo modo fosse semplicemente una scorciatoia al posto di new, invece a quanto pare sono due cose profondamente diverse. Il primo confronto dovrebbe, a norma di legge, confrontare i riferimenti, non i contenuti, ed invece non è così (nonostante i due oggetti siano dichiarati separatamente).
Perchè l’ho chiamato tradimento? Bè, perchè questo viola chiaramente il presupposto degli oggetti in Java: per quanto le stringhe siano un tipo base, sono comunque oggetti a tutti gli effetti, o almeno lo erano prima di questa scoperta… inutile dire che vale lo stesso fattaccio anche per gli oggetti che incorporano i tipi base (Integer vs. int). Questo dimostra comunque che conviene usare equals, dato che se una stringa viene ricreata l’== non funziona più, ma resta un notevole pacco.
Un ringraziamento a Maintux, che ha insinuato il seme del dubbio, ed a Sante che ha condiviso un’istanza di Eclipse all’uopo.
Come ho già detto in passato, in rete, esiste un genere di discussioni sul software, in particolare sui sistemi GNU/Linux, che tende ad alimentare dei falsi miti in negativo (vedere Parte 1 ). A quest’ultimi, che potremmo definire “Winari” o “utenti affezionati di Ms Windows” (o in tanti altri modi coloriti che non riporterò qui), si contrappongono i cosidetti “Linari” o “Linux entusiast”.
Dato che, come spesso accade i Winari soffrono della sindrome del pescatrore della domenica (ovvero quella tendenza a enfatizzare o esagerare sulle dimensioni del pesce…. riferendosi strettamente ed univocamente a quello pescato), non sia da credere che non ne soffra anche il Linaro. Essendo un mondo molto meno conosciuto di quello Windows, rapidamente si ingerano falsi miti, facilmente visibili in tanti forum.
Il primo, e ci tengo subito a smentirlo, e che non è vero che “con software libero si può fare quello che si vuole”; ci sono dei limiti nella licenza che fanno capire esattamente quale sia la differenza tra il free software e il pubblico dominio.
Non tutto quello che gira sui sistemi GNU/Linux è software libero; in passato ho documentato abbondantemente su questo blog e altrove il fatto che non tutto quello che è installabile su un sistema GNU/Linux sia necessariamente software FOSS. Esistono casi di driver/applicativi/plug-in di cui non si ha nemmeno il codice (Flash, skype, driver NVIDIA/Ati, firmware wireless etc…).
Altro punto chiave; Linux e compagnia bella non è stato scritto “dall’altissimo” o colleghi, ma da esseri umani dotati di buona volontà. Questo vuol dire che, per quanto un codice possa essere un “sorvegliato speciale”, qualche volta, qualche stupidata ci finisce. Quindi i sistemi GNU/Linux non sono infallibili, nonostante il buon livello raggiunto. Se state pensando “beh, non sarà perfetto, ma è più stabile di molti altri (senza fare nomi)”, sappiate che sono daccordo con voi.
Le “distribuzioni GNU/Linux” sono composizioni di pacchetti scritti da tantissimi autori o gruppi di lavoro; talvolta il rapporto pacchetto/autori e 1 a 1. Ciò implica che, per quanto possa essere eccezionale il lavoro di composizione, patch, compilazione e “pacchettizazione” svolto dal team della distribuzione, essi non hanno controllo diretto sullo sviluppo dei singoli software. Questo fa si che, in presenza di particolari errori del software, essi siano propagati a tutte le distribuzioni fino a correzioni sul software stesso a mezzo patch o nuove release. A volte queste possono essere mosse proprio dagli sviluppatori delle distribuzioni in questione.
A seguire, c’è questa strana abitudine dei mega affezionati a esaltare eccessivamente le bontà dei sistemi GNU/Linux, arrivando poi di conseguenza alla inevitabile disillusione e di conseguenza, un ritorno negativo di immagine.
Ad esempio si dice sempre che Linux gira bene su computer vecchi; bene, questa affermazione sarebbe da moderare e da specificare molto, molto bene. Sarebbe meglio dire che alcune particolari distribuzioni Linux, permettono di utilizzare computer vecchi per alcune specifiche applicazioni. Altrimenti ci si ritrova, ed a me è successo, con gente che si lamenta in pubblico, perché l’ultima release di Ubuntu (o Fedora o che per esse), che parte con tanto di GDM e Gnome (o KDM e KDE), va lenta su un computer di 8 anni fa (classico p4 con 256mb di ram). Ora, per quanto sia un sistema molto più generoso con l’hardware anche per quanto riguarda i computer più recenti, dato che non ha ancora ricevuto un upgrade di codice via git dal padre eterno (Dio non esiste, ma se esiste usa SVN ) non si possono ancora fare i miracoli. E’ vero che per alcune applicazioni particolari, è possibile il riuso di hardware molto vecchio, ma non si può pretendere che in un computer ideato per girare con WinXp prima versione giri l’ultima release di Firefox con Facebook e Flash, su KDE 4.4. A volte è venuta gente da me, pensando che, dato che Linux era un sistema alternativo, era possibile far funzionare hardware rotto, che logicamente non funzionava nemmeno sotto Windows.
Altro falso mito da smentire, ma solo parzialmente è il connubio, di solito mal interpretato “sorgente aperto -> ottimizzazione -> prestazioni superiori”; badate bene che non sono propriamente false le frecce, ma neanche necessariamente vere. E’ vero infatti che in Linux c’è la possibilità di ottimizzare perchè si ha il codice sorgente, ma la realtà dei fatti mostra che nella maggior parte dei casi, i pacchetti precompilati usano il numero minore di ottimizzazioni possibili, per aumentarne la retrocompatibilità. E inoltre vero che, a parte alcuni casi specifici con software particolari e ottimizzazioni particolari, l’ottimizzazione per la specifica CPU, molto spesso, non da più del 10% in prestazioni (molto spesso anche meno). In caso di ottimizzazioni mal impostate, le prestazioni possono anche peggiorare. Cio è dovuto anche al fatto che non basta avere un compilatore che ottimizza per una determinata CPU, ma anche il codice deve poter sfruttare le potenzialità delle CPU stessa.
Linux è indubbiamente un sistema sicuro, però questo non vuol dire che lo sia in qualsiasi condizione; non si può pretendere la sicurezza senza la cura e la manutenzione del sistema stesso. Come tutti i sistemi deve essere mantenuto aggiornato a release stabili e messo in sicurezza nei vari aspetti (hardering, firewall, controllo degli accessi, servizi configurati correttamente e quanto altro sia utile a mantenere la sicurezza). Possiamo dire, senza esagerare, che, un sistema GNU/Linux mal configurato può addirittura essere più insicuro di concorrenti proprietari, in quanto può offrire molti “punti di approdo” al sistema ed alla sua totale amministrazione. A supporto dellla mia tesi potrete chiedere a qualsiasi sistemista; non basta mettere linux per ottenere automaticamente sicurezza. Certo, facendo le cose per benino, si hanno, anche per l’utenza domestica, dei sorprendenti livelli di sicurezza e stabilità del sistema.
Con questo articolo, non voglio certo parlare male di Linux, ma, come già ribadito, vorrei evitare di ingenerare falsi miti, inutili se non addirittura dannosi; il software libero e linux sono cose bellissime, con gradissimo potenziale e spero un futuro grandioso, ma ad oggi, il modo migliore con cui possiamo aiutare lo sviluppo e la diffusione di questo sistema è l’impegno e l’onestà intelletuale.
Un giorno mi piacerebbe parlare con lo staff tecnico de Il Fatto Quotidiano, sono certo che me ne potrebbero raccontare delle belle. Penso un po’ tutti abbiate visto/sentito dei problemi che hanno avuto in fase di lancio..
Memorabile prompt di nome utente e password che veniva richiesto per accedere al sito mentre questo era in manutenzione. Mentre ancora io mi chiedo perché non abbiano predisposto una pagina statica con qualche spiegazione dei problemi, giusto per non spaventare la gente con quella mascherina di autenticazione http, segnalo una perla registrata qualche minuto fa.. guardare la data in alto a destra :°) Per forza poi li accusano di essere cattivi maestri… se vivono ancora negli anni settanta…
Because of an issue with the hosting service, my website (together with other websites on the same provider) has been unavailable for three days. Now the problem is fixed and I’m back online.
Se avete notato qualche rallentamento nei programmi multimediali con KDE (parliamo principalmente di Amarok), soprattutto nelle ultime versioni, ebbene ciò potrebbe essere dovuto al backend in uso: quello maggiormente utilizzato, fino a qualche tempo fa, era Xine (GStreamer esiste, ma non lo si è mai considerato molto performante), ma ha avuto nel tempo diversi problemi ed è quindi in fase di abbandono, specie alla luce di una nuova collaborazione tra KDE ed il gruppo di sviluppatori di VLC.
E’ già possibile testare una versione in sviluppo del nuovo backend (e posso dire che è sparito quel fastidioso bug/feature che faceva sì che un click sulla pausa di Amarok provocasse la pausa del brano dopo almeno 2 secondi…), e su Ubuntu è discretamente semplice: aggiungete un repository su Launchpad con VLC 1.1 (che, ricordo, è RC), quindi aggiornate ed assicuratevi di avere libvlc-dev on board; scaricate il repository Git di Phonon-VLC, quindi compilatelo (assicurandovi di passare -DCMAKE_INSTALL_PREFIX=/usr, così da evitare che Phonon non veda il backend stesso al termine dell’installazione; questo parte dal presupposto che KDE sia in /usr), installatelo e lanciate un bel kbuildsycoca4 –noincremental. Quindi andate nelle impostazioni audio e cambiate backend
Provate per credere!
Sembrowser 0.3
Hi everyone!
I have just released Sembrowser version 0.3 (sources here, Ubuntu packages here); not much changes since 0.2, time is always a problem, but it was worth publishing it because of the two most important features added:
Just a reminder: Sembrowser is a (very poor) clone of Dolphin, and it is not meant to substitute the default KDE file browser: it is being developed for testing faceted browsing of Nepomuk metadata applied directly to file browsing; the side panel offering this new functionality may (hopefully) someday be ported to Dolphin itself (or to some other Nepomuk apps). So, do not complain about missing functionalities (for the manager part), because I have just added the most important ones, but they are not the main goal here.
Here in Politecnico the exam session is starting right now, so the next month will be a little busy for me; fortunately, by the end of july I should have finished all of my exams, so I should have some more time to dedicate to KDE (especially if some things will get realized as I wish, but more on this later).
E’ uscita la versione 3.0 di WordPress, e scrivo queste due righe solo per dire che sono ammirato della velocità dell’upgrade… memore di altri passaggi tra minor version della 2.x, ero pronto ad aspettare anche qualche minuto, ed invece in qualcosa come 15 secondi l’upgrade è stato fatto!
Spettacolo… ribadisco che WordPress è il miglior gestore di siti esistente, quantomeno ad oggi.
Brevissimo update del mio ultimo post su Arduino & Java: ho verificato un sospetto che avevo, ed in effetti il codice di test funziona, il problema era dovuto ad una differenza di baud rate: il default dello sketch è 57600, mentre quello della classe Java Arduino è 115200; sovrascritto quest’ultimo valore (usando un costruttore diverso), la demo funziona correttamente.
In allegato, il codice aggiornato (con tanto di script Ant, se non volete usare Eclipse; dovrete comunque passare il path della libreria nativa all’interprete, temo): Arduino – Eclipse.
Oh diamine! Ieri mi sono perso l’ultima puntata di Ballarò alla televisione! Come posso fare per vederla?! Meno male che la RAI ha messo a disposizione dei suoi telespettatori il portale rai.tv. Bene allora posso ancora vederla! Basta solo andare sulla pagina della puntata e… mumble mumble…
Oh cacchio! Non posso vederlo dal mio pc con Ubuntu Linux. Mannaggia, rai.tv utilizza una tecnologia proprietaria e non aperta come Microsoft Silverlight che rende difficile la visione dei suoi programmi su pc che non hanno windows… Ma ci deve essere un modo per vederlo, per forza… Ah si! Eccolo!
Ecco, finalmente posso vedermi i programmi che voglio railibera.info
Ieri ho avuto il piacere di giocare con la seguente guida, che di fatto è un’unione di altre due guide, e permette di programmare l’Arduino in Java.
“Eh?”, diranno i puristi. Ebbene sì: caricando nel microprocessore uno sketch incluso tra gli esempi del PDE di Arduino (StandardFirmata), e creando un progetto Java sotto Eclipse (ma non siete obbligati ad usare un IDE, vi basta anche una mano di Vim) con giusto un paio di jar di Processing, una sorta di sottolinguaggio costruito per fare arte e programmare (non chiedetemi una definizione migliore, non saprei darvela, nemmeno io ho le idee chiarissime su cosa diavolo sia), è possibile di fatto impiegare l’Arduino come un oggetto remoto.
Ora, non vorrei che l’ultima definizione spaventasse qualcuno, ma il corso di sistemi distribuiti ha avuto i suoi effetti: nel codice Java diviene possibile, con questa modalità, creare un oggetto della classe Arduino (che trovate linkata nell’articolo di cui sopra), e su di esso chiamare i metodi corrispondenti alle API C++ che normalmente si usano per programmare la piattaforma; la classe stessa si occupa di comunicare via seriale con l’hardware Arduino e, tramite lo sketch caricato in precedenza, di eseguire in remoto i comandi e restituire il risultato direttamente in Java.
Ora, questo potrà sembrare una bella sega mentale e basta, ma in realtà apre alcune prospettive decisamente interessanti: per quanto, così facendo, si perda la caratteristica di standalone del circuito elettrico, dato che la comunicazione seriale diventa obbligatoria (tenete presente che il programma che caricate nel microprocessore si limita ad eseguire comandi remoti, non li memorizza), resta il fatto che trattare Arduino come un semplice oggetto, come tutte le altre cose in Java, permette una certa flessibilità sicuramente interessante, ed evita al programmatore di dover mettere le mani direttamente nel protocollo seriale per gestire la comunicazione stessa (oltre al fatto che si utilizza un linguaggio serio(TM), per quanto comunque il PDE di Arduino nasconda una parte del codice C++ necessario a far funzionare i vostri circuiti).
Insomma, non ho ancora fatto grossi esperimenti in merito, ma sicuramente è una modalità stimolante e da approfondire.
P.S.: rispetto all’articolo linkato in alto, è necessario aggiungere che deve essere importato anche il jar di RxTx, la libreria seriale, che trovate nella stessa cartella di Processing dove si trova Serial.jar; all’archivio Java va inoltre aggiunta la libreria librxtx.so, sempre dalla stessa cartella, che potete settare nelle proprietà del Build Path in Eclipse come nativa per rxtx.jar.
P.S.S.: includo anche uno zip del progetto di esempio dell’articolo, così com’è, con incluse anche le librerie richieste, già impostate nel progetto di Eclipse; resta il fatto che, ad un primo test, il led incluso nell’Arduino non si sia acceso, nonostante io abbia usato il pin 13, ma potrei aver cannato qualcosa (e, d’altro canto, l’autore dice di usare un led esterno, che io non ho). Arduino – Eclipse
Non so se a qualcuno di voi è mai capitato, ma a me ogni tanto, complice anche google, mi capita di finire in quei siti di tecnologia frequentati da utenti Linux, Windows e Mac. Ovviamente, nello spazio dei commenti alle notizie, o nei relativi forum, vedo spesso scatenarsi delle guerre filosofiche che rasentano l’inutilità totale, e, anche se la parte litigiosa (scatenatrice di “flame”) di me vorrebbe buttarsi nella mischia e dire la propria, la parte razionale di me sa bene che si rischia solamente di entrare in un inutile turbinio di messaggi, che non porterebbero a niente.
Vorrei poter dire che ce la faccio sempre a resistere, ma qualche volta, SBAGLIANDO, cedo. In generale, non è la voglia di far prevalere Linux a spingermi, ma l’inondazione di inesattezze presenti in queste discussioni. Ho potuto notare con il tempo, che questi errori sono abbastanza comuni e si ripetono spesso. A questo punto perchè non scrivere un articolo dove cercare pacificamente di porre rimedio a tali errori.
Questo post, non è un attacco ai sistemi Microsoft, ma, essendo utilizzati spesso come esempi di “qualità ed estrema facilità di utilizzo”, ho ritenuto corretto utilizzarlo come termine di paragone diretto.
Ovviamente, come tutti i sistemi operativi, ma anche, come tutto il software in generale, il Foss, ed i sistemi GNU/Linux, hanno i loro bravi difetti, e soprattutto, su questi sistemi esistono altri falsi miti di infallibilità e perfezione che non sono ne facenti parte della natura del software, ne di quella dell’uomo in generale. Di questo mi occuperò nella seconda parte del post.
Continua…..
(parte 2)
Ever thought that you can make a torch using a glue stick?
Ever thought that you can hack an inductor into a transformer?
Here is the final result of a rather old project I’ve done in 2005, but never published until now.
Read the full article on my website.
Vi è mai capitato di incontrare un seguace Mac (nota: indicherò spesso con “Mac” i computer di casa Apple)? Girando per conferenze e parlando di argomenti come GNU/Linux capita sempre il fenomeno che con tanto di Macbook Pro, deve per forza venirti ad illustrare il “perchè il Mac sia migliore”. Di base non apprezzo tantissimo la Apple per le sue politiche sul software (rilascia le cose in modo open source solo quando gli fa comodo) e sul DRM, e ancora di meno chi cerca di vendere per “certo” cose che sono aleatorie e soggettive. In più, parlando con tutta onestà, sarà sfortuna mia, ma ho sempre incontrato possessori di Apple che lo prendevano giusto perchè “fa figo” il Mac, o perchè rappresenta quello che secondo loro è il “Think Different”, piuttosto che per reali esigenze tecniche.
Con questo non voglio dire che i sistemi GNU/Linux siano necessariamente i migliori, se non ovviamente per la licenza molto più libera (si, sono uno di quei matti che considera la licenza come un parametro di valutazione del sistema), ma che questi Mac, a guardarli bene bene, di speciale hanno ben poco; molte volte infatti, il parametro di confronto è molto soggettivo o addirittura falsato e fuorviante.
Partendo dall’hardware, i Mac, al contrario di quanto avveniva fino a qualche anno fa, montano hardware e periferiche comuni ai computer di tutte le altre case costruttrici (Processori Intel e relarivi chipset, schede grafiche Nvidia e periferiche di memorizzazione di produzione comune), solo che costa molto di più. Vorrei dapprima smentire il falso mito che la Intel, la NVIDA o le altre case produttrici facciano dei pezzi appositamente per i computer Apple; quei pezzi sono identici in tutto e per tutto ai loro omologhi presenti nei computer comuni, e ciò è dimostrabili con dei semplici tool di gestione hardware. Se prendiamo in esame questo HP e questo Apple, prodotti teoricamente appartenenti alla stessa fascia, possiamo vedere come, alla fine, il prezzo del Apple, nonostante hardware del HP sia in generale più potente, sarà di oltre 500 euro superiore). Per quanto sia presente una corrente di pensiero nel mondo dell’informatica che sostiene che se le cose costano di più, valgono di più, in generale dubito che prendendo una CPU i5 della Intel, se la si paga di più, essa vada di più
Sempre in merito all’hardware, ci tengo a sfatare il falso mito relativo all’affidabilità dei Mac; contrariamente a quanto si propaganda in giro, anche i Mac, come tutti i normali computer costruiti con hardware similare, si rompono. E ve lo dice una persona che ha lavorato per anni all’interno di catene di grande distribuzione di elettronica/informatica. Ciò è completamente normale nel mondo dell’elettronica comune, non gli ne faccio certo una colpa, ma neanche un merito. Dato che questa non è una campagna denigratoria, ma semplicemente una mia personale analisi, è giusto parlare anche dell’eccellenza quando c’è; l’assistenza Apple, e lo dico sempre basandomi sull’esperienza lavorativa di cui sopra, e senza dubbio una di quelle più preparate, più veloci e che in assoluto fanno meno storie con i prodotti da mandare in assistenza. Avendo avuto che fare con le assistenze Acer, HP, Packard Bell, Toshiba, quella Apple è un paradiso a confronto; quindi diciamo che anche gli apple si rompono, ma è meno una rottura di scatole quando deve andare in assistenza.
A questo punto di una comune discussione, di solito entra in gioco il fattore meno significativo della discussione; il design. So di sembrare estremamente grezzo nel dire che onestamente considerò i computer per quello che fanno, non per la carrozzeria, considerando anche il fatto che, ne funzionalmente, ne a livello di protezione, gli chassis dei Mac non offrono niente di più rispetto ai comuni PC; per intenderci, quando compro un computer, non vedo se sta bene in salotto, ma le sue caratteristiche tecniche. Sarò limitato, o forse perchè sono di Arezzo, ma se si vuole qualcosa di bello da sfoggiare, non si compra un computer, si va in gioielleria. Soprattutto se il design è solo estetico, e non aggiunge nessun parametro funzionale / pratico all’oggetto in questione.
In ultima analisi, ma non certo per minore importanza, si deve necessariamente parlare del S.O., unica vera caratteristica distintiva marcata tra i Mac ed i comuni Pc (anche se, come abbiamo visto, anche i Mac, sono comuni PC). Qui il discorso si fa assai più complicato in quanto bisogna analizzare alcuni fattori fondamentali e l’unico modo per farlo è quello di prendere a paragone altri sistemi operativi ad uso Desktop (Windows e una GNU/Linux per uso domestico come Ubuntu, Fedora o OpenSUSE).
Quello che sto cercando di tramettere non è un messaggio contro i “Mac” in assoluto, o contro gli utenti Mac o qualsiasi altra cosa ci si potrebbe aspettare da un supporter del software libero.
Penso di essere stato molto onesto nella mia analisi, cercando di vedere sia i difetti, ma anche i pregi. Se volete comprarvi un “Mac”, fate pure, la vita è la vostra, i soldi pure, fateci quello che volete. Ognuno sceglie in libertà e secondo i propri gusti lo strumento che più si adatta alle sue esigenze. Di fatto però, non cercate di propinarci la favoletta che i computer Apple sono i migliori in assoluto, perche, come penso di aver chiarito sopra, non è per niente credibile. Il pacchetto complessivamente non è niente male, ma qualora esistesse modo, se si riuscisse a portare GNU/Linux all’interno del mondo della grande azienda “general consumer” si otterrebbero risultati similari (se non superiori). Con Windows al momento non c’è paragone, dato che comunque, al momento, detiene il 90% del marcato consumer.
Infine tre piccoli miti da sfatare:
Oggi ho trovato un po’ di tempo per fare un aggiornamento di tutta la documentazione del progetto polidocs. Ecco le novità che ho aggiunto:
* Added Database2 Notes
* Added DataMiningTextMining Lectures
* Added test from Impianti Informatici (Cremonesi)
La documentazione può essere reperita dirattamente dalla revision 20 del progetto polidocs
Per chi non sapesse cosa sia il progetto, basta consultare un mio vecchio post.