Info:

twitter

Ultimi commenti: Comment feed

Tags:

Sponsor:

Archivio 2018:

Giu Mag Feb Gen

Archivio 2017:

Dic Nov Ott Mag Apr Mar Feb Gen

Archivio 2016:

Dic Nov Ott Ago Mag Mar Feb Gen

Archivio 2015:

Nov Ott Set Mar Gen

Archivio 2014:

Dic Nov Ott Set Lug Giu Mag Apr Gen

Archivio 2013:

Dic Nov Set Ago Lug Giu Mag Apr Feb Gen

Archivio 2012:

Dic Nov Ott Set Ago Giu Mag Apr Mar Feb Gen

Archivio 2011:

Dic Nov Ott Set Ago Lug Giu Mag Apr Mar Feb Gen

Archivio 2010:

Dic Nov Ott Set Ago Lug Giu Mag Apr Mar Feb Gen

Archivio 2009:

Dic Nov Ott Set Ago Lug Giu Mag Apr Mar Feb Gen

Archivio 2008:

Dic Nov Ott Set Ago Lug Giu Mag Apr Mar Feb Gen

Archivio 2007:

Dic Nov Ott Set Ago Lug Giu Mag Apr Mar Feb Gen

Archivio 2006:

Dic Nov Ott Set Ago Lug Giu Mag Apr Mar Feb Gen
Windows Live Writer Post Download Plugin

English version of these instructions.

Come promesso, questo è il post sul plugin da premio Nobel che mi sono auto assegnato.

Il problema: tempo fa cercando sul mio blog, ho scoperto che un post antico non si visualizzava correttamente in quanto l’immagine hot-linkata su WikiPedia era stata rinominata. Siccome la piattaforma ancora non supporta l’editing on-line (Всему свое время, direbbero i russi), l’alternativa era quella di aprire gli ultimi 500 post via Windows Live Writer, trovare quello giusto, editarlo e ripubblicarlo. Più facile a dirsi che a farsi ed il post è rimasto “rotto” per un bel po’

La soluzione (teorica): la prima soluzione è stata quella di suggerire al team di Windows Live Writer di supportare l’apertura di un post tramite PostId. Purtroppo il suggerimento non è stato recepito in tempo (vorrei sperare) ed io ed un paio di colleghi siamo rimasti con un palmo di naso.

La soluzione (pratica): armato di santa pazienza e di magico reflector, ho ravanato un bel po’ nel codice di Windows Live Writer ed ho scoperto che la magica funzionalità era a qualche API di distanza. Da lì è stato poi semplice: ho referenziato le giuste DLL, creato le 10 righe di codice necessarie per fare la magia e ho creato uno URI protocol handler (wlw://) per invocare il codicillo magico. Il tutto condito di un installer ed una UI frichigna, che poi in realtà altro non è che una semplice animazione visto che scaricare il post via webservice non è una delle operazioni più veloci del mondo ed ho dovuto renderla asincrona. Tutto qui? Non proprio. Nel momento in cui ho testato il plugin sul mio PC in ufficio per testare che tutto funzionasse su un PC “vergine”, ho scoperto che diverse versioni di DLL rendevano lo sforzo vano: da lì l’idea di invocare le stesse API usando la reflection: sicuramente meno safe, ma funziona e sono contento così. Dal lato server per esporre la funzionalità basta inserire un link della forma wlw://hostname.com/?postid=numeroPost per i post o wlw://hostname.com/?pageId=numeroPagina per le pagine.

Seguono un paio di screenshot che non renderanno sicuramente giustizia al lavoro svolto :

Plugin1

 Plugin2

Un paio di note:

  1. il plugin, misteriosamente, non funziona su x64. Non avendo un PC x64 nelle immediate vicinanze, non ho nessuna possibilità di rimediare. FIXED
  2. il plugin potrebbe non funzionare correttamente se con WLW si gestiscono più blog sullo stesso PC (working on a fix, visto che la cosa interessa direttamente ) FIXED
  3. lo stesso è scaricabile dalla pagina download.works
  4. infine il nobel-worth-plugin è certificato works on my machine, use at your own risk; se lo usate, fatemi la cortesia di dirmi brevemente se funziona

-enjoy

Pubblicato lunedì 15 settembre 2008 alle 9:44 AM - 34 commenti so far
Archiviato in: Blog-Tech, Codice, Cazzate

Source control

Da qualche parte avevo letto qualcosa sulla falsa riga di se il tuo progetto non vale un fico secco, non lo mettere in un source control system.

Visto che la complessità di Blogoo è cominciata a salire parecchio, mi è sembrato sensato cercare di pararmi le spalle utilizzando qualcosa di già pronto e possibilmente economico. La mia passata esperienza di Source Control è quasi variegata: sono passato da un source control infimo (si chiamava SLIME) a Source Depot passando per quell’accrocco bestiale che è stato Visual Source Safe.

Ho cercato qualcosa di semplice, gestibile da riga di comando e che fosse integrato con l’IDE di Visual Studio.

La mia scelta si è fermata dapprima su Subversion, il popolare SCM open source su cui tanti progetti in sourceforge fanno leva. La scelta è stata alquanto infelice per alcune caratteristiche tecniche di Subversion che hanno creato non pochi grattacapi:

  • la creazione automatica di folder .SVN protetti in scrittura sul client; questo è troppo intrusivo per i miei gusti
  • il client standard integrato (parlo di TortoiseSVN) è un po’ troppo aggressivo; ogni file creato viene automaticamente aggiunto al SCC. Questo crea pasticci in fase di submit se i file sono file temporanei, ecc. Male, molto molto male
  • il plugin per Visual Studio AnkhSVN, sotto molti aspetti fatto molto bene, non riportava lo stesso numero di file checked out di TortoiseSVN. Questo rende la gestione dei file per lo meno confusa

La mia seconda scelta è stata Perforce, forte del fatto che il summenzionato Source Depot è praticamente una versione custom di perforce e la familiarità con il tool semplifica di parecchio la gestione. La prima sfida è stata quella di spostare il codice tra i due sistemi; nonostante ci fosse uno script Perl semi-automatico generante una quantità infinita di errori poco chiari ho deciso che per 12 revisioni in tutto non valesse la pena imparare Perl per sistemare o capire il problema. La seconda sfida è stata l’integrazione con Visual Studio. Qualche difficoltà iniziale nel riconfigurare il client ma alla fine ce l’ho fatta: l’integrazione è pressoché totale.

Perforce è scaricabile gratuitamente in versione DEMO limitata a due utenti. Per progetti micro non è assolutamente una limitazione (ho un extra-utente a disposizione per il mio workspace )

Subversion Perforce

Avrei voluto provare Microsoft Team System ma il tempo per imparare qualcosa di nuovo è una risorsa molto scarsa. Ha vinto la familiarità.

-quack

Technorati Tags:

Pubblicato venerdì 8 agosto 2008 alle 7:22 PM - 13 commenti so far
Archiviato in: Blog-Tech, Codice

Stemming

Mentre debuggavo qualche pezzo di Blogoo inerente stemla ricerca, mi sono imbattuto in un algoritmo alquanto interessante data la mia viscerale passione per l’analisi lessicale: lo stemming, ovvero la riduzione di una parola alla sua radice in modo che la ricerca sia più accurata possibile.

Ho cercato di usare qualcosa di già pronto, ma si è rivelato così bacato che ho preferito riscrivere l’intero algoritmo da capo tenendo in mente che una parte dell’algoritmo deve essere molto veloce.

Anche se ad un certo punto mi son arreso per dare priorità, come dovrebbe pur essere, alla corretta funzionalità.

L’algoritmo che ho usato è una versione modificata di quello descritto in questa pagina. Modifica resasi necessaria per il corretto stemming di parole che terminano in –atrice, –atrici gestite in maniera diversa – e chissà per quale motivo – dai corrispondenti suffissi maschili. Volendo per i programmatori C# volenterosi ci si potrebbe divertire a studiare implementazioni migliori e darle in pasto ad un semplice programma di test.

Nel piccolo di questa piattaforma quindi lo stemming è pressoché completato: magari non serve a niente, ma un algoritmo interessante è difficile da ignorare.

-quack

Technorati Tags: ,

Pubblicato martedì 29 luglio 2008 alle 1:24 AM - 2 commenti so far
Archiviato in: Blog-Tech

Chi cerca trova

A grande richiesta, dopo il feed dei commenti, la box per il search del contenuto di questo blog, qui immediatamente sulla sinistra. Codificata tra una build e l’altra di uno dei progetti a cui sto lavorando, tra i più folli a cui abbia mai partecipato.

search 
Ne ho approfittato per far scomparire un vecchio sticker visto che la verità su Vista sta venendo a galla da sola…

Occhio alla bufala. 
In realtà c’è ancora qualche baco da sistemare (il link alle pagine non è corretto e la ricerca non avviene ancora nei titoli) ma per lo meno è funzionale. Un ringraziamento a Luca e Blackstorm per il feedback. Nota di rilievo la soluzione elegante ad un problema che mi assillava: l’indicizzazione dei post postumi. Risolto filtrando i risultati anziché creare un complesso schema di schedulazione delle indicizzazioni. cool.

Non faccio uno screenshot della pagina dei risultati per stimolare la curiosità: l’intenzione è quella di fare un piccolo omaggio all’azienda del PageRank.

Enjoy

Technorati Tags:

Pubblicato mercoledì 9 luglio 2008 alle 3:54 AM - 5 commenti so far
Archiviato in: Blog-Tech

Comment Feed

A grande richiesta, a giudicare dal numero di 404 nei log, ho implementato (che parolone per 10 righe modificate e qualche cut & paste) un feed RSS per i commenti per questa piattaforma.

CommentFeed

Cliccare sull’icona a destra di “Ultimi commenti” per il link.

Sperando di fare cosa buona e giusta, distintamente saluto.

-quack

Technorati Tags:

Pubblicato sabato 21 giugno 2008 alle 12:08 AM - 4 commenti so far
Archiviato in: Blog-Tech