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
Cambio blog (spero per l'ultima volta!!)

Quando qualche mese fa ho deciso di scrivere un blog, mi son subito preoccupato di cercare l'applicazione che funzionasse meglio per le mie esigenze. Avevo pochi requirements in testa e pensavo che - essendo un blog in fin dei conti un DB con 2 tabelle - avrei trovato subito l'implementazione migliore. Listo qui i requirements e ditemi se hanno poco senso:

  1. Che avesse un editor HTML wysiAwayg (=what you see is ALMOST what you get) integrato (tipo wordpress)
  2. Che fosse gratuito da hostare su un mio dominio
  3. Che supportasse il posting in più categorie (perché al mondo siamo liberi)
  4. Che fosse facile da personalizzare... mi piace l'impostazione a tre colonne, la possibilità di usare uno dei tanti skin di panna-smontata, ecc.
  5. Che fosse self-contained. Nessun DB remoto con cui sfrantecarsi l'anima per poter facilmente migrare su un host diverso
  6. Che girasse secondo i requirement di un WebHost umano (con un occhio alla security)
  7. Che fosse scritto in .Net, magari 2.0 e che fosse facile scriverne plugins.

Dopo un paio di piccoli tentativi (tra cui wordpress che mi dava pochissime libertà in quanto a skinning) mi son procurato un host ed ho installato dblog. Scritto interamente (ehm quasi) in ASP puro usava un DB access per la persistenza dei post/commenti. DBlog centrava 5 requirements su 7... mancava il posting multiplo (di cui mi son affrettato a scrivere un "addon") e l'implementazione in .Net: me ne son accorto subito in quanto il mio "addon" ha richesto decine e decine di righe di codice (~100 se ben ricordo)... ma fa niente, tutto filava liscio fin quando...

Il mio host ha deciso di spostare il mio blog su un server 64 bit puro; siccome il mio host è gratuito e a caval donato non si guarda in bocca (non si può pagare un fitto per hostare delle cazzate secondo la mia filosofia) ho accettato mio malgrado la sfida che presentava subito un problema: il DB access che sui 64 bit non è più supportato. Ho provato a riscrivere l'accesso ai dati, ma DBLOG usava alcune caratteristiche specifiche di Access (tipo il paging) ed il codice SQL era sparpagliato un po' ovunque.... Tempo di guardarsi in giro fare due conti (ne scrivo uno io o ne cerco uno che funziona?) e provare prima dasBlog e poi Thinkjot.

dasBlog ha tuttora (nella versione 1.8) problemi a girare su host medium trust. Nonostante qualcuno facesse notare che questo behavior si può considerare un baco a tutti gli effetti, qualche simpatico developer ha pensato di chiudere il baco come "postponed" secondo la logica "sul mio host funziona, chissenefrega il resto del mondo può aspettare". Qualcun altro allora - armato di santa pazienza - ha cominciato a tagliuzzare e modificare a martellate dasBlog per farlo girare su medium trust togliendo via via "features inutili" (hey, l'implementazione della MetaBlog API non era così inutile!!): risultato thinkjot; ha funzionato, l'ho provato ed è cominciata la mia prima migrazione dei dati (posts e commenti) conclusasi abbastanza felicemente (qualche commento ha perso il nome dell'autore, ma fa niente) con del codice scritto a manina dal sottoscritto.

Sarei stato superfelice se non fosse per il fatto che, poiché i posts sono memorizzati su file XML, il tutto è di una lentezza esasperante... mentre qualcosa ancora non funziona.

Tempo di guardarsi in giro fare due conti (ne scrivo uno io o ne cerco uno che funziona? Eterno dilemma) e scopro CommunityServer. È fantastico: il blog é fatto molto bene e ci sono siti e siti che ospitano add-ons, consigli, ecc. ecc. L'unico neo é che richiede un SQL server... la prossima migrazione potrebbe essere piú dolorosa, ma a quanto pare qualcuno ha avuto problemi in passato ed è nata l'idea di un formato blog indipendent... ma su questo ci torno in un prossimo post.

Auguratemi buona fortuna!

To be continued...

Pubblicato mercoledì 9 agosto 2006 alle 12:22 AM - 0 commenti so far
Archiviato in: Pippe Mentali, Blog-Tech, Codice, Cazzate

WinFS è morto

A quanto pare hanno staccato il respiratore a questo progetto che era diventato tutto e niente. Il rammarico più grande è stato il fatto che WinFS ha trascinato via con se ObjectSpaces: ora tocca aspettare il DLINQ per avere un layer di persistenza adeguato.

Per quanto mi riguarda, nonostance ci fossi un po' affezionato perché in passato ci ho lavorato anche io, sono contento che finalmente sia stata staccata la spina (un anno in ritardo)

Pubblicato lunedì 26 giugno 2006 alle 2:57 PM - 0 commenti so far
Archiviato in: Microsoft, Codice, Software

Firefox, security e sul concetto di demenza

Leggiucchiando in giro son capitato sul sito dei FirefoxFlicks, video promozionali per pubblicizzare Firefox, e mi son imbattuto nel secondo posto classificato. Davidonzo, mia nemesi totale (usa Ubuntu e quindi Firefox), commentando il video definisce demenza l'essenza di IE.

Un paio di note: nel 2005 ho installato anche io, quando IE fu tempestato da una miriade di bachi di sicurezza, Firefox. Mi ripeto ma Firefox in passato, per il mancato supporto degli ActiveX causa di molti mali nel browser avverso, veniva svenduto come "intrinsecamente" piú sicuro. Peccato che questo intrisecarsi non sia stato di buon auspicio l'anno scorso: 17 bachi di sicurezza per IE, 22 bachi di sicurezza per Firefox (fonte secunia: per IE, per firefox). All'epoca non c'era neanche l'auto upgrade e toccava restare informati per scoprire se la versione di Firefox installata sul proprio PC fosse pericolosa (a differenza del servizio semi trasparente di Windows Update). Risultato disinstallazione immediata di firefox per aver tradito quelle che definisco le mie aspettative (e stendiamo un velo pietoso sul fatto che la cache di Firefox sia gran divoratrice di RAM: stando ai developers non é un baco, ma una feature!)

Poco piú avanti, leggo di explorer destroyer: un sito che distribuisce script fatti per mandare in tilt IE. Chiunque li puó inserire tra le pagine del proprio sito e costringere gli utenti - se vogliono davvero navigare le pagine di tali siti - a scaricare Firefox. Google fa di piú e dona addirittura un dollaro per ogni copia di Firefox scaricata alla causa (trovo funny che il loro motto sia "don't be evil" E-)). Oddio, ognuno é libero di fare e usare quello che vuole, ma cerco di immaginare chi potrebbe essere cosi idio... ehm intelligente da scaricare tali script e precludere il proprio sito all'89% (o giú di lí) dei navigatori. Beppe Grillo con vocina stridula direbbe: "leggermente in controtendenza"; in un mondo che si muove verso una distribuzione di contenuti da fruire nella maniera piú libera possibile (adoro gli RSS readers e per questo motivo ho tagliato fuori tutti quei feeds che richiedono di aprire un browser per continuare a leggere la news!) questa mi sembra una mossa davvero stonata (qualcuno direbbe demente!).

Una precisazione: credo sinceramente che la concorrenza nel "mercato" dei browser sia necessaria; é bello vedere features di Firefox implementate in IE7 e features di IE7 implementate come plugin di Firefox. Peró - vestendo i panni del webdesigner e considerando pure che i 2 browser non renderizzeranno mai le pagine in maniera identica al 100% - mi auguro sempre che uno dei due browser la faccia da padrone (purché per gli utenti rimanga free). Ció renderebbe la vita enormemente piú semplice a chi deve mettere mani all'HTML.

-quack

Pubblicato martedì 2 maggio 2006 alle 1:14 AM - 2 commenti so far
Archiviato in: Pippe Mentali, Codice, Software, Security

C# e IDisposable

Due dei costrutti piú interessanti ed eleganti del C# sono il lock e lo using, che funzionano in maniera pressocché simile. La feature piú comoda di tali istruzioni é la gestione automatica di quello che avviene implicitamente all'uscita del blocco di codice (e quindi anche in presenza di un eccezione). Nel caso del lock viene chiamato Monitor.Exit, nel caso di using viene chiamato IDisposable.Dispose. Giorni fa, proprio tale "automatismo" mi ha dato un'idea abbastanza simpatica e cioé quella di estendere il concetto di "rilasciare" contenuto nell'interfaccia IDisposable in senso lato. Si potrebbe ad esempio "rilasciare" un oggetto costoso in un pool. Ed é cosí che mi sono "inventato" (*) questo pattern. Siano:

MyClass un oggetto "costoso"
MyClassProxy un proxy all'oggetto "costoso" che implementa IDisposable
MyClassProxyPool un pool di MyClassProxy

Il pezzo di codice che "usa" MyClass e fa uso del pool diventa:

using(MyClassProxy proxy = MyClassProxyPool.GetAProxy())
{
MyClass realClass = proxy.RealObject;
realClass.DoSomething();
...

}

All'uscita del blocco (per un motivo o per un altro) verrá invocato proxy.Dispose(). A questo punto basta fare in modo che tale chiamata restituisca il proxy nel pool ed il gioco é fatto.

I  C#!!

-quack

(*) in realtá qualcuno direbbe che i pattern non si inventano ma si scoprono!

Pubblicato martedì 25 aprile 2006 alle 2:10 AM - 1 commento so far
Archiviato in: Codice, Software

Loops: Pop-quiz (2)

Nel buon vecchio BASIC 1.0 (quando i numeri di linea erano obbligatori!) l'unico modo per avere un loop era tramite FOR ... NEXT.

10 FOR I = 1 TO 10
20 ...
30 NEXT I

Per abbandonare prematuramente il loop bisognava fare qualcosa tipo:

20 I=15; GOTO 30

Oggi ho visto un pezzo di codice in C# che mi ha fatto venire un po' di nostalgia:

while(nRetries < allowedRetries)
{
....
if (condition)
{
nRetries = allowedRetries;
}
}

Lascio come quiz a voi la risposta corretta :-)

Pubblicato venerdì 14 aprile 2006 alle 7:31 AM - 2 commenti so far
Archiviato in: Codice, Cazzate