Di .NET e di altre amenita'

maggio 2005 Blog Posts

[referendum] link utile per capire

visto che recentemente l'attività "politica" nel blog è ripresa e suscita interesse, mi permetto di suggerirvi un utile articoletto per trasformare il gergo legalese dei quesiti referendari in qualcosa di comprensibile.

link: http://www.lucacoscioni.it/?q=node/2108

Navigare in rete. Davvero è un diritto per tutti?

Vi segnalo un interessante punto di vista sulla situazione del diritto in rete. Molti di voi sono coscenti delle problematiche del copyright sul software, ma troppi invece si si fidano ciecamente della rete considerandola una sorgente di informazione libera, quale purtroppo non è. Su Internet regna la censura e in molti paesi non è possibile trovare informazioni considerate vietate.

Link: http://www.radicali.it/newsletter/view.php?id=35872&numero=702&title=NOTIZIE+RADICALI

powered by IMHO 1.2


per leggere il post originale o inviare un commento visita il seguente indirizzo: Navigare in rete. Davvero è un diritto per tutti?

Cosa gli devo rispondere?

Credetemi se vi dico che lo screenshot qui sotto non è frutto di un montaggio. Cestino vuoto, icona che al contrario dice che contiene qualcosa, se chiedo di vuotarlo mi si presenta l'inquietante messaggio: Cancellare "WINDOWS"?

Messaggio inquietante...

Mi verrebbe da rispondere Sì... voi che fareste?

powered by IMHO 1.2


per leggere il post originale o inviare un commento visita il seguente indirizzo: Cosa gli devo rispondere?

Realizzare uno scheduler in ASP.NET

In seguito alla pubblicazione del Replicator for Community Server, e alla conseguente domanda legittima che mi ha posto Stefano Demiliani in merito alla possibilità adattare il replicator anche a .TEXT, ho deciso di approfondire un po' la questione e di studiarmi meglio il codice sorgente del Community Server per capire come funziona lo scheduler di Job che ho sfruttato con successo per replicare il mio blog. Ne è uscito un interessante articolo la cui lettura non vi impegnerà più di pochi minuti, ma che sicuramente sarà utile a più di qualcuno.

Articolo: http://www.boschin.it/blogs/radicalmente/articles/aspnet_scheduler.aspx


per leggere il post originale o inviare un commento visita il seguente indirizzo: Realizzare uno scheduler in ASP.NET

IMHO: Replicator for community Server 1.0

Finalmente, dopo una settimana di debug intensivo ho deciso di pubblicare il mio nuovo giocattolo. Si tratta di un job che consente di replicare i post inviati per mezzo di Community Server su una moltitudine di engine secondari. Il Replicator è basato sugli Engine Adapter di IMHO 1.2 e quindi consente la pubblicazione su .TEXT, MovableType, Blogger e Community Server (grazie al recente engine adapter for cs).

Ecco le principali feature:

  • Replica schedulata
  • Weblog di destinazione multipli
  • Weblog sorgente multipli
  • Regole di filtro basate su Regular Expression
  • Footer configurabile per ogni blog di destinazione
  • Tag rimpiazzati durante la pubblicazione
  • Log dell'attività

Potete scaricare il tool e il sorgente completo presso: http://imhoproject.org/download/Elite.Replicator.zip
Il software è distribuito sotto licenza creative common public license

Il tool ovviamente è perfettamente compatibile con IMHO e riesce a replicare anche i post inviati tramite webservice perchè agisce direttamente al livello del database. L'installazione è semplice e verrà dettagliata in un apposito articolo, ma non richiede ricompilazione del Community Server.

powered by IMHO 1.2


per leggere il post originale o inviare un commento visita il seguente indirizzo: IMHO: Replicator for community Server 1.0

The Darth Side: il blog di Darth Vader

Ho scovato questo splendido quanto apprezzato blog (più di 600 commenti all'ultimo post in meno di dieci giorni). Si tratta del blog di Darth Vader - alias Anakin Skywalker.

Vale la pena di leggerlo, sapendo bene l'inglese anche di più. Le storie sono ben caratterizzate e molto credibili.

Dato che il presidente dell'ugidotnet è un fan della saga sono certo apprezzerà il post.

Link: The Darth Side: Memoirs of a Monster

powered by IMHO 1.2


per leggere il post originale o inviare un commento visita il seguente indirizzo: The Darth Side: il blog di Darth Vader

IE7 avra' il Tabbed Browsing

un post sul blog di IE7 rivela che il nuovo browser di Microsoft supporterà il Tabbed Browsing tanto decantato dagli appassionati di FireFox. Il post è molto interessante perchè spiega quali e quante siano le difficoltà incontrate nel modificarte l'architettura del browser che in origine era nato per il browsing single-window.

Link: IE7 Tabbed Browsing Implementation

powered by IMHO 1.2


per leggere il post originale o inviare un commento visita il seguente indirizzo: IE7 avra' il Tabbed Browsing

Sequel: Virtual Server 2005 e l'hyperthreading

Ieri ho postato una segnalazione di un problema di Virtual Server 2005, che in concomitanza con processori HyperThreading può risultare più lento rispetto a processori normali. Ieri sera perciò ho provato ad andare nel BIOS e a disabilitare l'hyperthreading sul mio portatile. Fino a logon tutto bene, verificato con il taskmanager il processore visibile era solo uno. Non appena ho avviato la macchina virtuale per provare il risultato il portatile si è repentinamente trasformato in un hovercraft. Tutte le ventole disponibili sono partite letteralmente a tutta manetta, e non c'è stato verso di fermarle nemmeno dopo aver fatto lo shutdown del virtual server. Non mi è rimasto che riavviare il pc e riabilitare l'hyperthreading, anche perchè lavorare con il pc ancorato al terreno per evitare di farlo volare via mi sembrava un po' eccessivo, anche riuscendo a sopportare il rumore degno di un 747 al decollo.

Stamane un collega ferrato mi ha spiegato che il mio processore è un dual-core e perciò quando ho disabilitato il secondo core il primo è stato costretto a lavorare per due con il conseguente surriscaldamento.

Non mi resta che attendete la SP1 di Virtual Server che a detta di Lorenzo dovrebbe risolvere il problema.

powered by IMHO 1.2


per leggere il post originale o inviare un commento visita il seguente indirizzo: Sequel: Virtual Server 2005 e l'hyperthreading

Virtual Server 2005 ha problemi con l'hyperthreading

Il post cui mi riferisco è in francese, tuttavia è abbastanza breve e conciso e si riesce a comprenderlo facilmente. Esso riporta che L'Hyperthreading del P4 può dare problemi di performances a Virtual Server 2005. In effetti è un po' di tempo che noto che Virtual Server sul mio portatile gira un po' lentamente e attribuivo il problema alla carenza di RAM (512MB). Stasera proverò a disabilitare l'Hyperthreading (dal BIOS) e vediamo cosa succede.

Link: Virtual Server 2005 et l'hyperthreading

powered by IMHO 1.2


per leggere il post originale o inviare un commento visita il seguente indirizzo: Virtual Server 2005 ha problemi con l'hyperthreading

Paginare i record con Sql Server 2005 - Reloaded

Per amor di completezza, riporto un altro modo di paginare i record con Sql Server che mi è stato suggerito in risposta al mio precedente post su questo argomento. In Sql2005 ci sarà una nuova funzione ROW_NUMBER() che usata in coppia con OVER(ORDER BY ...) aggiunge al resultset una colonna con l'indice della riga.

Ecco un esempio per chiarire:

declare @pagesize int;
declare @pagenumber int;

set @pagesize=10;
set @pagenumber=0;

select from
(
    
select row_number()over(order by name ascas rownumber, *
        
from sysobjects 
as A
where 
    
A.rownumber>@pagenumber @pagesize and 
    
A.rownumber<=@pagenumber @pagesize @pagesize;
 
L'esempio fa la stessa cosa di quello riportato nel post precedente, con gli stessi parametri di ingresso. Tuttavia lo fa meglio... A quanto leggo in rete, questo sistema dovrebbe garantire delle performances migliori e soprattutto lineari. Il metodo che ho illustrato l'altra volta infatti ha il difetto di essere molto veloce nelle prime pagine, ma di peggiorare il proprio risultato mano a mano che si procede verso le pagine successive. Questo tipicamente non è un grosso problema, dato che le pagine usate dagli utenti non superano le prime dieci, ma è chiaro che potendo lavorare con l'oro, perchè ci si dovrebbe accontentare dell'argento? Grazie ai suggeritori!
 
powered by IMHO 1.2

per leggere il post originale o inviare un commento visita il seguente indirizzo: Paginare i record con Sql Server 2005 - Reloaded

Community Server: Impressioni di guida.

Dopo un mesetto che il mio blog gira sul Community Server e dopo un po' di giorni che lo uso online, fatemi dire che un po' di nostalgia per .TEXT si sente. Belle le feature nuove che l'engine rende disponibili, ma alcune sottigliezze che con .TEXT erano possibili sono diventate pure chimere con il CS1.0. Ad esempio, oggi ho tentato di mettere un link con un alert in javascript. Il precedente engine non faceva una piega, ed inghiottiva tutto senza problemi, ma il Community Server, volendo fare il figo ci mette http:// davanti e / dietro. Così il javascript va in pensione...

A parte un po' di buggetti, queste cosucce danno un po' fastidio. Come sempre quello che uccide l'usabilità e il non sapersi fermare. Come ama ricordare Adrian: "sai di aver raggiunto la perfezione non quando non sai più cosa aggiungere, ma quando non hai altro da togliere". (A. de Saint-Exupery).

Parole sante. 

powered by IMHO 1.2

 


per leggere il post originale o inviare un commento visita il seguente indirizzo: Community Server: Impressioni di guida.

Una via italiana al software?

Certo, dopo aver letto il post del buon Raffaele, qualcuno potrà pensare che queste mie righe siano in qualche modo fuori luogo. In realtà, è chiaro che se l'Italia è ridotta così i primi colpevoli siamo noi, per aver votato chi abbiamo votato, a destra e a sinistra senza distinzione, ma anche per i comportamenti che abbiamo preteso e demagogicamente ottenuto.

Chiusa la parentesi iniziale - anche perchè non è di questo che oggi parlerò - vorrei rendere pubblico un pensiero che da tempo mi solletica. Per formazione e inclinazione sono molto interessato al Design. Non sto parlando di design in senso informatico, ma di quella grande capacità in gran parte di origine Italiana che da sempre ha contraddistinto il nostro paese nei prodotti di arredamento, nell'architettura, nell'oggettistica per la casa e in una miriade di altri campi, dagli elettrodomestici alle vetture.

L'Italia è stata la culla fiorente delle arti, ma fate attenzione a non confondere l'Arte con il Design. Fin dagli anni '60 e ancor più negli anni '70 questo modus operandi nella progettazione dei beni di consumo, ha avuto un successo senza pari e ancora tuttoggi noi viviamo di rendita su quanto i grandi nomi di quell'eccezionale periodo ci hanno insegnato e regalato.

Ecco, detto questo, la domanda legittima che mi pongo e che pongo a chi ha la bontà di leggere queste righe. Perchè, i principi che hanno dato vita a delle così efficaci ed apprezzate soluzioni non vengono applicati anche in campo informatico? Ancora una volta, vi chiedo di non fare confusione. Il design non è pura estetica, ma la ricerca della migliore soluzione operativa, tenendo presente l'ambiente, le soluzioni tecniche, l'ergonomia, l'anatomia e i materiali a disposizione. Dal loro giusto impiego e da una corretta progettazione nasce come "effetto secondario" ma di certo non meno importante anche il valore estetico.

Nel campo dell'informatica questi sono tutti concetti che si possono e si devono applicare. E non è solo una mera questione di abbellimento estetico di un software, ma di corretto sfruttamento delle tecniche di sviluppo e delle tecnologie, di efficace adozione di paradigmi nelle interfacce utili per rendere migliore l'iterazione, con l'utente in prima istanza, ma anche con l macchina, con i sistemi che dialogano con il nostro.

Spesso, leggendo i post tecnici, mi sembra che vengano sopravvalutate le tecnologie e le tecniche di sviluppo rispetto una progettazione che tenga conto di tutti questi fattori. Sono daccordo, lo sapete, lo sviluppo Agile, e l'analisi, e il design, e .NET, e, e, e... ma tutto questo non serve. Non serve se è fine a se stesso e non mezzo per arrivare a dei risultati che siano tremendamente efficaci per risolvere la problematica che dobbiamo affrontare. Occorre a mio parere dimenticarsi di tutto ciò che esiste oggi. Non farsi condizionare dai successi altrui, ma pensare sempre ogni giorno di poter tirare fuori quel "quid" in più che trasformi il lavoro che stiamo realizzando in qualcosa di infinitamente più grande.

L'Italia ha secondo me le carte in regola per realizzare questi risultati come e meglio di altri paesi, tuttavia è relegata a fanalino di coda. Ritengo che sia nostro dovere tenerlo presente quando dobbiamo affrontare lo sviluppo di un software e un po' alla volta tirare fuori la soluzione "Italiana", apprezzata e rinomata. Non è un lavoro da tutti, ma porsi un obbiettivo è il giusto punto di partenza... lo spazio c'è, basta solo provarci.

powered by IMHO 1.2


per leggere il post originale o inviare un commento visita il seguente indirizzo: Una via italiana al software?

Paginare i record con SQL Server 2005

Una nuova feature di SqlServer 2005 consente di paginare agevolmente i record di una query. Si tratta della nuova clausola TOP, che si presenta come una funzione che accetta anche dei parametri dinamici. Chi ha provato in Sql Server 2000 a paginare i record di una tabella si sarà scontrato con delle difficoltà talvolta davvero eccessive. Paginare significava creare sempre delle query dinamiche, facendo uso di TOP, SET ROWCOUNT, con tutti i rischi si sql injection che questo comporta.

Ecco, nel box come con Sql Server 2005 si potrà paginare una tabella. Il criterio è quello di estrarre i primi n record (righe x pagina) dopo aver escluso le prime m pagine, dove m parte da 0 che ha il significato di pagina 1.

declare @pagesize int;
declare @pageindex int;

-- dimensione di una pagina
set @pagesize 10;
-- indice della pagina richiesta dove 0==prima pagina
set @pageindex 0;

select top(@pagesize) * 
    
from sysobjects 
    
where id not in 
    ( 
        
select top(@pagesize @pageindexid 
            from 
sysobjects 
            
order by name asc
    
)
    
order by name asc;

Con l'uso di TOP(n) la questione si semplifica notevolmente, ma tuttavia ancora non siamo in presenza di una soluzione ottimale come quella che ad esempio è presente in MySql (clausola LIMIT). Infatti dovremo comunque replicare l'istruzione per ogni tipo colonna di ordinamento, e in caso di uso di una WHERE ricadremo ancora una volta nella costruzione dinamica dello statement, almeno in una buona parte dei casi. 

Certo è che il miglioramento è significativo, infatti la semplificazione introdotta da TOP(n) ci permette di concentrarci maggiormente nei pericoli della concatenazione di stringhe SQL sperando di non commettere errori.

powered by IMHO 1.2


per leggere il post originale o inviare un commento visita il seguente indirizzo: Paginare i record con SQL Server 2005

IMHO 1.2.1964 for Community Server

Sono lieto di annunciare il rilascio della nuova release di IMHO 1.2 creata per introdurre il supporto al nuovo Community Server 1.0. A causa di un piccolo bug ho dovuto creare una nuova build del prodotto, per consentire al nuovo plugin di funzionare correttamente.

Ne ho approfittato per integrare nell'installer alcuni plugins creati da utenti di IMHO. Si tratta del plugin per Firefox 1.0 di Diego Guidi, del file di sintassi C++/CLI di Andrea Sansottera e infine del file di sintassi T-SQL di Yoshihiro Kawabata.

Un grazie a tutti per la collaborazione.

powered by IMHO 1.2

 


per leggere il post originale o inviare un commento visita il seguente indirizzo: IMHO 1.2.1964 for Community Server

webhosting4life... o almeno per buona parte

Per rispondere al commento di stefano ho deciso di spendere qualche parola sul servizio che ospita il mio weblog, http://www.webhosting4life.com. Dietro al prezzo decisamente invitante di 10€ al mese si nasconde un servizio molto completo e ben impostato. Senza stare a ripetere l'elenco interminabile delle feature che si può trovare qui vale la pena di segnalare lo spazio di 300MB sia per l'hosting che per sqlserver e la possibilità per chi ama l'opensource a tutti i costi di usare un db mysql. Ma la chicca è il supporto tecnico, disponibile 24x7 in chat, per ogni problema.

Dopo aver installato il community server, sul quale gira il mio weblog, ho scoperto però che la risposta del server è un po' lenta. Probabilmente il software un po' pesante mette a dura prova i server o più probabilmente la banda a disposizione.

Personalmente ho deciso di lasciare i dns su register.it, solo perchè trovo il servizio molto flessibile e ben fatto, ma ho avuto garanzie che webhosting4life è in grado di ospitare anche i domini italiani (.it). Direi che dopo la pessima esperienza di dotnetcentral, che spero di non dover ripetere, ho trovato una ottima casa, se non per la vita, almeno per un bel po'...


per leggere il post originale o inviare un commento visita il seguente indirizzo: webhosting4life... o almeno per buona parte

ma non starai mica scherzando?!?!?

stamane, riunione per presentare una soluzione. La parte migliore è stata quando alla domanda "ma qui ci va un application server... quanto costa?" ho avuto il piacere di poter dire "nulla". E non è di opensource che stiamo parlando, ma di Internet Information Server, che data la presenza di una licenza del sistema operativo è sufficiente inserire il cd e lanciare il setup.

Certo, chi è abituato a spendere decine di migliaia di euro per una licenza di BEA-Weblogic non poteva che esclamare, come è successo: "ma non starai mica scherzando?!?!?". Per inciso, la situazione del cliente fa sì che lo sviluppo del pacchetto sia gravato dei soli costi vivi di sviluppo.  

E io sotto i baffi (che non ho) ancora sorrido.


per leggere il post originale o inviare un commento visita il seguente indirizzo: ma non starai mica scherzando?!?!?

Back to Blog!

So di certo che più di qualcuno si è accorto della mia protratta assenza. Questioni di lavoro mi hanno convinto a diradare la mia attività di blogging fin quasi a zero. Oggi finalmente sono di ritorno, probabilmente non con la stessa intensità di un tempo, ma sicuramente con molta più frequenza e costanza. Ma prima di ricominciare devo rendere nota un piccola rivoluzione: E' nato il mio weblog.

Sull'onda delle legittime proteste e anche a causa di qualcuno che ne ha approfittato per indossare immediatamente i panni del grande moralizzatore (chi ha letto sa a chi mi riferisco), ho preso la decisione di spostare la mia attività di blogging al seguente indirizzo: http://blog.boschin.it. Grazie ad un plugin che ho sviluppato per il community server (l'engine che sta dietro il blog) replicherò nel mio blog sull'ugidotnet tutti quei post che ritengo interessanti per la comunità, mentre lascerò fuori tutto ciò che riguarda la "temuta" politica e quant'altro. Naturalmente tutti coloro che vogliono, sono invitati a sottoscrivere il mio mainfeed dove si parlerà di .NET, di politica di fotografia e di qualsiasi altra cosa mi baleni di dire. Per inciso a breve rilascerò il sorgente del replicatore sotto licenza opensource, per regalare alla community un'altro utile tool.

Spero con questo atto di risolvere definitivamente la questione dei post OT, che ritengo motivata e legittima (entro certi limiti), ma di poter continuare a partecipare attivamente con le mie elucubrazioni all'attività della community dell'ugidotnet.


la versione originale di questo post e' disponibile sul weblog "radicalmente" al seguente indirizzo: Back to Blog!

Opuscolo informativo sui referendum

Per chi vuole approfondire l'argomento referendum, un opuscolo con i testi dei quesiti e le ragioni del sì.

Scarica L'opuscolo (pdf, 395KB)

powered by IMHO 1.2

Le biblioteche europee scomunicano Google Print

Le biblioteche europee in rivolta contro l'iniziativa di Google Print che dovrebbe portare i libri di tutto il mondo su Internet. Ancora una volta la diffusione della cultura fa paura...

Fonte: Notizie Radicali

powered by IMHO 1.2