mercoledì 22 dicembre 2010

Lieta novella

L'anno nuovo sta per giungere, e possiamo dare una lieta novella: Enrico ha sottoscritto la richiesta di cittadinanza triestina.

Ne lascio prova per futura ed eterna memoria...

giovedì 16 dicembre 2010

Laboratorio violento

Oggi in laboratorio si è consumata una violenza ad opera di Enrico, membro del Partito Nazionalista Carnico.

Il suddetto elemento ha costretto il povero triestino Giorgio a pasteggiare con frico e polenta carnica (quella integrale, per intendersi).

Qualcuno potrebbe dire che si tratta di una montatura della Fazione Scismatica Austro Triestina, ma non è così: segue un chiaro reportage fotografico.

Ecco il minaccioso picchiatore carnico che sorveglia il momento del rancio:
Ed il povero marittimo triestino, costretto alla massima umiliazione, in una chiara posa che unisce disgusto e paura:


mercoledì 15 dicembre 2010

Wikileaks: Una riflessione davvero superba

I think the government is learning what the music and movie industries were forced to learn years ago: it's easy to copy and distribute digital files. That's what's different between the 1970s and today. Amassing and releasing that many documents was hard in the paper and photocopier era; it's trivial in the Internet era. And just as the music and movie industries are going to have to change their business models for the Internet era, governments are going to have to change their secrecy models.


Bruce Schneier

lunedì 13 dicembre 2010

Visualizzatore JPA

Una cosa che ci sarebbe servita più e più volte e che continuerà a servirci nel futuro è un visualizzatore di entità.

Input:
  • JAR con le classi-entità (o loro nome)
  • xml di configurazione per la persistance
Output:
  • Finestra da cui posso scegliere l'entità e vederne i dettagli (gli oggetti complessi si aprono premendo su un "+", stile tabella di access).
Come funziona?
Reflection. Non dovrebbe essere troppo complesso, e sarebbe un codice utilizzabile per quasi tutti i progetti che facciamo e che richiedono JPA.

giovedì 9 dicembre 2010

Feed Zotero (commenti per la posterità)

Con molta fatica e molto tempo "investito", sono riuscito a creare un feed più o meno sensato per la nostra Zotero group library. Riassumo qui problemi e soluzioni a futura memoria.

Problema:
  • Abbiamo una group library condivisa. Vorrei creare un feed per tenerci aggiornati mutuamente e semplicemente delle aggiunte fatte da ognuno di noi (articoli, note).
  • Se la group library fosse leggibile a chiunque, avrebbe già un feed generato automaticamente da Zotero.
  • Non possiamo rendere la group library leggibile a chiunque, in quanto contiene anche pdf ottenuti da biblioteche alle quali l'ateneo è abbonato, pertanto non possiamo diffonderli.
Soluzione:
  • Ho creato un feed che notifica di tutte le aggiunte (ho messo l'URL in manymoon).
  • Le notifiche puntano all'oggetto nella libreria web. Il link è quindi accessibile solo previa basic authentication su Zotero (o su Google, vedi anche questo post)
  • Le notifiche di note ed attachment puntano all'oggetto che li contiene (esempio: se una nota è attaccata ad un articolo, il post punta all'articolo, non alla nota). Questa caratteristica è importantissima, in quanto note/attachment non hanno un link all'oggetto che le contiene.
Quanto segue è utile solo per chi è interessato al funzionamento...

Realizzazione della soluzione (il perché della soluzione è spiegato più sotto):
  • Ho creato due feed tramite Feed43:
    • uno per la notifica di tutti gli elementi della group library. Contiene titolo dell'item e link all'oggetto nella libreria web.
    • uno per la notifica dei soli elementi che sono note o attachment. Contiene link all'oggetto che contiene la nota o attachment.
  • I feed sono dati in pasto a FeedRinse. Questo elimina i post del primo feed che sono di tipo attachment o note, e fa un merge dei due feed.
Ho provato molti strumenti per la conversione da pagina web a feed RSS. Il problema di fondo è che occorre accedere ad una pagina protetta con basic authentication, pertanto moltissimi strumenti sono inutilizzabili.

Ho scoperto che Zotero ha una API REST alla quale si accede via https. Ciò esclude automaticamente strumenti come Yahoo Pipes, feedity ed altri (permettono solo l'uso di http). Prova e riprova, ho trovato la giusta combinazione di URL. Ho fatto molte prove con dapper, ma lo strumento è inaffidabile. Alla fine ho usato feed43: semplice e limitato ma affidabile, fa ciò che promette e supporta https.

Le limitazioni principali di feed43 sono:
  • se cambia qualcosa nel formato della risposta REST occorre modificare lo script feed43
  • non permette la descrizione di field opzionali. Ciò spiega perché:
    • ho dovuto fare due feed separati per "tutto, compreso note/attachment" e "solo note/attachment";
    • il feed per "solo note/attachment" non contiene il titolo dell'oggetto (vedi più sotto);
Il pattern per "tutto" è questo (il primo % è il titolo, il secondo è il link all'oggetto, il terzo è il tipo):

Il pattern per "solo note/attachment" è questo (il primo % è l'identificatore dell'oggetto che contiene questa entry; il secondo % è il tipo di questa entry):

Ho tentato di mettere in quest'ultimo pattern anche l'elemento title ma non funziona; infatti quando trova una entry che non è di tipo note/attachment, e quindi non contiene un elemento link rel="up" ,  non è in grado di individuare correttamente la fine entry; usa la fine della prima entry successiva che è di tipo note/attachment (inizia alla entry N e termina alla entry N+1, oppure N+K).