|
maggio 2006 Blog Posts
Il posto piu' strano da dove abbia mai bloggato? L'aula Training 2 del palazzetto Microsoft Realizing Center di Microsoft Italia. I nostri PC non hanno connessione al Web, quindi mi devo accontentare del mio Pocket PC, meglio di niente. :-) Spero che il pomeriggio non sia troppo noioso o assonnato, al contrario della mattinata dove tutta la teoria sul testing mi ha tenuto acceso e bello sveglio.
Si è accennato al libro Code Complete, che mi interessa, anche alla luce del fatto che il buon Mauro me ne parla piu' che bene.
Stay tuned!
powered by IMHO 1.3
Nei giorni scorsi ho preso
parte all'evento dedicato a Visual Studio Team System, insieme a Mauro, e grazie al
generosissimo Lorenzo che ci ha invitato. Senza Lorenzo, questa cosa non sarebbe
mai stata possibile (così come alcune altre cose), perciò un doveroso grazie è
d'obbligo.
Bene o male, avevo già seguito i webcast su
Team System in passato, ma averlo fra le mani e soprattutto avere
Lorenzo che te ne parla lì davanti è tutta un'altra cosa. Le giornate dedicate
all'evento sono complessivamente 3, dei quali oggi è l'ultima. Come
sospettavamo io e Mauro, ogni volta che si lavora con Team System,
cresce da matti...
Alla fine, aprofittando di mio fratello che era in giro,
ne ho preso uno della Extreme Technology. Sono abbastanza soddisfatto, ma ci
sono comunque alcune precauzioni da prendere per fare tutto in estrema
sicurezza.
Non ne ho preso uno con l'HD incorporato, altrimenti fra un anno avrei
dovuto ricomprarmelo. L'HD ce l'ho messo io, ho preso il mio disco Dati da
120Gb e sono a posto
Alcuni software, come il mio amatissimo Outlook Express,
non accettano dischi di rete come repository. Non è un problema - credo - del
device...
Sto valutando l'idea di acquistare un box esterno in grado
di ospitare un normale HD EIDE. Il connettore più diffuso (e ci mancherebbe
altro) è ovviamente l'USB 2.0. Io insisto però per averne uno su RJ45 per una
serie di buoni (almeno per me) motivi.
Innanzitutto, collegare un HD su RJ45 rende quel HD un vero storage di rete.
Il contenuto dell'HD è condiviso da tutti, indipendentemente dai PC accessi e
così via.
Quello che fa pendere l'ago della bilancia è una questione importante. Un
lan drive rimane sempre acceso, e
non ha bisogno di un PC a cui collegarlo. Questo
rende...
Sto meditando l'acquisto di un nuovo dominio, ed è
inevitabile il confronto tra i due provider che risuonano più spesso nelle mie
orecchie: www.aruba.it e www.webhosting4life.com (WH4L). Il primo italiano,
il secondo americano. Ad uno primo sguardo, il prezzo di Aruba appare molto più
conveniente. Il prezzo minimo è di 27,99 euro ivati all'anno per un hosting
Windows pressochè completo. Per WH4L invece le cose sono un po' diverse: la
configurazione che mi interessa di più è l'Advance Plan, e il prezzo è di 9,95
dollari al mese (119,4 dollari all'anno). Ma è sulla
lunga distanza che WH4L la spunta.
Aruba con...
Nel mio caso, non è stato così. Una delle funzionalità
esposte dalla finestra Data Sources dell'IDE di VS2005 è quella
di favorire un po' di drag'n'drop durante la creazione di Windows Forms che
facciano uso di data-binding tra i controlli ed una datasource. Questo vale
anche nel caso si utilizzino business object, e questo è davvero molto
importante.
In VB6, se ricordo bene, l'unico modo di sfruttare il
tandem drag'n'drop + data-binding era quello di trascinare un campo su una
form completamente vuota. Tale meccanismo creava automaticamente il controllo,
lo bindava ed eravamo contenti. Ehm, contenti magari proprio no, ma questo lo si...
Oggi vi voglio raccontare una storia.
Era il 24 aprile 2004. Quel
giorno, ero preoccupato ed ansioso: mi faceva male in un modo strano la
chiappa sinistra. Non capivo cosa fosse, non sapevo cosa dovessi fare. Il giorno
dopo, me ne volevo stare per i cavoli miei, così andai a farmi una bella (e
lunga) passeggiata in montagna, nel Piacentino, al Passo del Penice. Scattai un gran numero di fotografie
...
Il mio PC ha due dischi:Disk[0],
che è un Samsung da 200Gb. Questo è il disco di boot con XP
Professional.Disk[1], che è un
Maxtor da 120Gb. Questo è il disco dei dati (posta elettronica,
sorgenti, documenti DI OGNI TIPO).
Sconnetto il Disk[0], ne inserisco uno vergine, un Maxtor da 60Gb
completamente vuoto. Accendo il PC, inserisco il DVD di Windows Vista Beta 2
scaricato l'altra sera da MSDN. Parte il setup di Vista, mi chiede il codice
seriale e proseguo.
Mi chiede su quale partizione voglio installare
Windows Vista. Bene. Seleziono Disk[0], clicco Next per
proseguire. Il setup mi chiede una cosa...
Ve l'avevo promesso, e con un po' di ritardo l'ho fatto davvero. Ieri sera - ma ne do notizia
solo adesso - ho pubblicato con MSBuild il nuovo file ZIP con i sorgenti
aggiornati di Fatturazione . Ho sistemato un po' di
cosettine:
ho tolto un sacco di warning in fase di compilazione,
di cui prima non mi importava molto
ho cambiato i namespace, anteponendo ByteAdventure ed
ottenendo uno schema simile a
ByteAdventure.NomeLayer.NomeOggetto
Per scaricarlo, cliccate sul logo all'interno del mio blog...
Punto il mio IE all'URL http://msdn.microsoft.com, vengo
reindirizzato su http://msdn1.microsoft.com/en-us/default.aspx.
In alto, c'è una scritta linkata Get the Fabrikam Fine Furniture Sample
Reference App. che punta al seguente URL:
http://msdn.microsoft.com/windowsvista/default.aspx?pull=/library/en-us/dntablet/html/mpconffflandpg.asp
L'URL qui sopra non esiste, mi viene
restituito un bel 404, page not found. Ho provato anche con FireFox, ma idem
come prima (non si sa mai, ogni tanto il firewall aziendale fa le bizze!).
Magnifico!
powered by IMHO 1.2
...Windows Vista! Stavate pensando male,
vero?
Leggere tutti questi post ed articoli su Vista, degli user non amministratori
dei loro PC, della nuova interfaccia, mi sta facendo venir voglia di prendere
un hard disk da ~60Gb che devo avere da qualche parte e dedicarlo,
così per sfizio, al nuovo sistema operativo. Vedere come si comporta il mio
hardware, quali driver sono compliant e quali no. Come si vede il
mio sito, ed il nostro blog, con IE7 è un'altra curiosità: non vorrei
arrivare al fatidico giorno X e scoprire che per qualche strano motivo qualche
javascript o qualche DIV nelle mie pagine HTML viene formattato...
Non è proprio da me postare una citazione di un brano
musicale. Essere di cattivo umore e giù di corda comporta anche questo,
oltre al fatto che ci sarà un breve sciopero degli emoticon di IMHO nei miei
post. Prendere o lasciare.
Mi sto ascoltando tutto il concerto del Liga di Campovolo, in formato mp3,
opportunamente creato dal DVD originale acquistato qualche tempo fa. Rock a
tutto andare.
Poi lei si volta per un momentoguarda quel posto
ed accenna un ciao,lui a quel post gli sputa contro,e spinge sul
gas.
Luciano Ligabue - Salviamoci la pelle
powered by IMHO 1.2
E' in fase di preparazione una nuova release di
Fatturazione. Da quando è stata rilasciata la prima versione,
giusto una settimana fa, è stato scaricata 172
volte. Mi sembra una bella cosa, un bel risultato. Diverse
persone mi hanno chiesto questo o quello, mi hanno sollevato problemi nella
connessione al database, e così via. Ho cercato di rispondere a tutti
personalmente, ma sto davvero impazzendo! Mi conviene installare da qualche parte
un software freeware per gestire un forum, il tutto rigorosamente in PHP!
A parte questo, volevo comunicare che probabilmente questa sera (ma più
probabilmente tutto scivolerà a domani) rilascerò una nuova...
Non posso andarmene a casa senza nemmeno scrivere un
post, non sarebbe da me.
Stavo pensando che passo gran parte della mia giornata lavorativa davanti a
SQL Server (2000 o 2005) oppure a qualche release di Oracle. Manipolo tabella
con milioni di record, scrivo stored-procedure, ottimizzo le prestazioni. Ogni
tanto ci scappa qualcosa in VBA o, meglio, .NET. Proprio oggi ad
esempio ho completato una stored-procedure (circa 4-5 tabelle coinvolte in varie
JOIN innestate) di rounding (arrotondamento) su una tabella in Oracle contenente
i dati di vendita di una grossa azienda di alimentari all'ingrosso. Il software
predice su larga scala le previsioni di...
Ho fallito entrambi gli esami 70-548 e 70-549: l'unica
cosa che mi consola è avrò studiato sì e no un totale di 8 ore per tutti e due
gli esami. A quanto pare, davvero troppo poco.
Ho passato un weekend contrastante: da un lato divertente e sfavillante,
dall'altro ansioso e preoccupato.
Invece di arrivare al lunedì riposato, sono arrivato ancora più
distrutto.
Vivere da soli (ma con il fratello) per una settimana, e con gli
orari di lavoro che faccio, e con tutte le cose da fare per mantenere decente
una villetta di 3 piani, è un incubo. Almeno per me e per il mio
metabolismo.
Alle...
Oggi è un venerdì in cui mi sento triste. Sarà il decorso
post-operatorio che ogni tanto mi rimanda in ospedale per le visite di
controllo, sarà stata la settimana in cui ho ricominciato a lavorare, sarà che
avrò il bioritmo basso, sarà che ho lasciato il principe di Persia abbandonato
nelle cascate sottostanti il Palazzo Reale, sarà questo o quell'altro, ma oggi
sono giù.
Ci vorrebbe una gita al mare, una passeggiata all'aria aperta, dovrei buttare
uno sguardo su qualche collina, qualcosa per rilassarsi senza troppi pensieri,
far rallentare il cervello. L'ho detto a non so chi qualche giorno fa: più...
Perchè la potenza di Roma non sta nel pavimento
freddo del Senato, ma è nella sabbia del Colosseo.
Questa frase non è uscita chissà dove, è una citazione tratta dal film
"Il Gladiatore", un film che sia io che mio fratello adoriamo.
Per avere il vero potere, ottenere prestigio e ritagliarsi una propria
fetta di mondo nella quale sopravvivere, non possiamo sfondare le porte
principali: nella maggior parte dei casi, ci butterebbero fuori a calci nel
sedere. Dobbiamo, dice la frase, passare un po' dalla porta di servizio,
conquistare il popolo usando quello che più ama. Ai tempi della Roma Antica,
conquistare il popolo...
Ieri Igor me l'aveva detto, ma non ci credevo per il
semplice fatto che mi sono messo a girare tutte le edicole di Milano alla
ricerca di una copia dell'ultimo numero di IoProgrammo, quello
del mese di giugno. Il mio girare è stato inutile, perchè in realtà è uscito
oggi, solo il mio omonimo è riuscito ad averlo un giorno prima in una sperduta
Coop di Crema.
Tutto questo per dirvi che - se vi interessa - è stato pubblicato un mio articolo sul
BackgroundWorker, proprio sul numero che trovate da oggi in
edicola. Sono davvero contento, perchè IoProgrammo è stata (e...
Negli ultimi giorni ho studiato MSBuild per automatizzare
la pubblicazione su un server Web (che supporta PHP & MySQL, alla
faccia di ASP.NET ) di un file ZIP contenente i sorgenti di
Fatturazione. Ne ho sempre parlato in modo un po' vago, per cui
in questo post voglio descrivere nel modo più specifico quello che ho fatto.
IntroduzioneIn linea di massima, lo script parte da
questi concetti:
ho i sorgenti da qualche parte, che devo
prelevare
copio i sorgenti trasferendoli da qualche altra
parte
zippo i sorgenti copiati al punto (2)
faccio l'upload...
Chi ieri ha provato a scaricare i sorgenti aggiornati di
Fatturazione ha avuto qualche problema, dovuto all'utilizzo
della libreria NRuleValidator di cui faccio uso. Effettivamente, avete ragione
tutti voi, ed è colpa mia: avrei voluto già dirlo ieri (magari in un commento a
rudy al mio post), ma abbiamo tutti avuto qualche problemino tecnico nel
raggiungere i rispettivi blog. Per cui, ne parlo oggi.
Nei sorgenti che - ahimè - ho deciso di pubblicare ieri utilizzo la libreria
NRuleValidator che non è stata ancora rilasciata pubblicamente.
L'unica versione disponibile è la cara JankyValidation
(disponibile invece su GotDotNet):
concettualmente si tratta...
Questa mattina, assonnato, distrutto e stanco, ho messo
online un file .proj, ovvero un file progettato di MSBuild, nel tentativo di
scaricarlo in locale e mandarlo via e-mail a qualcuno.
Supponiamo che l'URL completo sia una cosa tipo http://www.miosito.com/MioProgetto.proj.Adesso
ho aperto IE, scrivo l'URL indicato qui sopra nella barra degli indirizzi del
browser, convinto che mi chieda se salvare od aprire il file. Invece mi appare
un testo:
K:\Documenti\Fatturazione\Fatturazione Fatturazione.zip $/Fatturazione
La più semplice delle domande: perchè? La mia è boh!
powered by IMHO 1.2
Avrei voluto farlo ieri sera, ma altre questioni mi
hanno rubato il tempo, perciò lo faccio questa mattina. Sul mio blog già da un po' di tempo è
visibile la seguente immagine...
...la vera novità è che da ieri sera questa è cliccabile , e vi fa scaricare il file ZIP (~400Kb)
contenente tutti i sorgenti dell'ultima release del mio software di Fatturazione
di cui sto parlando già da un po' di tempo qua sul mio blog. I sorgenti sono in
costante sviluppo, magari per informarvi di una nuova release ne parlerò qui
segnalando ovviamente i cambiamenti rispetto alla versione precedente....
Proprio in questo periodo sto aprofondendo alcune
conoscenze prima su NAnt ed adesso su MSBuild.
Il primo infatti non gestisce nativamente le soluzioni create con VS2005 e mi
costringe quindi a scriptare la build di ogni singolo assembly, indicando
esplicitamente le dipendenze tra un assembly e l'altro, ed onestamente è un po'
un incubo, soprattutto se ho poco tempo per farlo. Sto quindi migrando il
mio script su MSBuild che tra l'altro mi ritrovo già installato a
seguito del setup di Windows SDK (o forse già da prima con il framework SDK? chi
può dirlo?). Curiosando sul nuovo MSDN Magazine, ho dato
un'occhiata...
L'ultima volta che ho scritto un post dal mio PC lavorativo era del
20 Aprile scorso. Questa mattina - finalmente - ho ripreso a lavorare, ho
reincontrato i miei colleghi e le colleghe di lavoro che non vedevano l'ora di
salutarmi per sapere come era andato tutto l'ambaradan. Ricomincio a
svegliarmi presto la mattina, a salire in macchina, a viaggiare in
metropolitana. In realtà avrei dovuto ricominciare lunedì scorso, ma il chirurgo
mi ha sconsigliato di farlo, per fare in modo che i punti si chiudessero bene e
che la ferita dell'intervento si riposasse per bene. Mi ricordo lunedì scorso:...
1° Grande Teoria del Caos dei
BytesSia A il numero di
esseri umani viventi in un certo istante T.Sia B il
numero di bytes istanziati in un certo istante T.
Non importa il valore del rapporto A /
B:se i bytes decidessero di dichiararci guerra, saremmo
comunque tutti spacciati entro l'istante T +
1.
powered by IMHO 1.3
Un grandioso grazie a Igor
che mi ha illuminato, passandomi uno scheletro di script per NAnt che io ho
personalizzato a dovere. Senza di lui, probabilmente non ci avrei mai
tentato, mentre adesso ho fatto davvero un bel lavoro, che mi automatizza
parecchio la pubblicazione sul mio server Web dell'ultima release dei sorgenti
del mio software di fatturazione.
Lo script per Nant mi permette di:
richiedere al server di source control (nel mio caso Vault SourceGear)
l'ultima release di tutti i sorgenti. Non viene fatto il Check Out dei files, ma un semplice Get Last Version.
I sorgenti vengono...
Su consiglio di Janky, sto
usando Vault SourceGear come software
per il source control. Se usato da solo, come nel mio caso, la licenza è
gratuita. E' davvero ottimo: il server utilizza un db SQL Server (io lo sto
utilizzando con SQL Server 2005 senza problemi), esiste un client (che uso poco)
ed è pienamente integrato nell'IDE di Visual Studio 2005.
Sviluppando in .NET prevalentemente da solo, tranne qualche progetto con mio
fratello, non ho mai usato un source control, ma da quando sono Admin con Janky
di NRuleValidator ho deciso di
masticare un po' di più la terminologia specifica di...
Dalla settimana prossima, per fortuna, ricomincerò a
lavorare regolarmente. E' stata una bella pacchia, ad essere sincero, tranne i
primi 10 giorni dove ero davvero dolorante e mi muovevo a fatica. Adesso le cose
sono molto migliorate, e già da questa sera vedrò di tornare fuori per godermi
un po' questo pianeta!
Domenica, giusto per prendere un po' di sole, volevo andare a vedere un rally
sui colli piacentini (di cui ho perso l'URL, altrimenti ve lo avrei segnalato),
però a quanto pare è stato annullato perchè non c'è stata l'approvazione dei
percorsi da parte del Ministero. E' un vero...
E' stato difficile, perchè per anni ed anni la mia
home-page di IE è sempre stata Repubblica.it. Da quando ho riformattato
il mio PC, la settimana scorsa, ho deciso di cambiare e di adeguarmi ai tempi.
Mi sono messo Windows
Live per aggregare contenuti da tutti i siti & blog che mi
interessano.
E' davvero forte! Qui sopra ho messo un piccolo screenshot del blog UGIdotNET.
Questa mattina mi sono accorto di una cosa simpatica: se col puntatore vado
sopra quella scritta [Altro], appare un riquadro che permette di
leggere quel post senza star lì a cliccarci sopra. Comodo, utile e senza
particolari controindicazioni. Se...
Una serata grandiosa, mi sono proprio divertito. Qualcuno aveva ipotizzato 2 ore di viaggio (!) dal casello di Lodi: in realtà ci siamo ritrovati alle 19:40 al casello, con me c'era mio fratello, ho tirato su Mauro che arrivava da Treviglio. La mia Astra ci ha fatto volare sull'autostrada (senza un filo di traffico) e siamo giunti a destinazione esattamente un'ora dopo. Stessa cosa per il ritorno, ma su questo è meglio cambiare discorso. Almeno questa volta non sono arrivato tardi, dai, mettiamola così...
La cena è stata davvero bella. Ottima mangiata, bella compagnia, ottimo cibo, graziose le ragazze del ristorante. Si...
Sono contento anche io che sia stato preparato il logo
Lambrusco.NET, in versione bottone, così è più semplice
includerlo nelle pagine dei nostri blog. Beh, questa è solo una piccola comunicazione di
servizio, per dire che io, mio fratello Omar e Mauro
Servienti saremo dei vostri, questa sera. L'incontro, per
noi, è alle 19:30 presso il casello Lodi della mitica A1, direzione Sud da
qualche parte.
Non vorrei che mi sia sfuggito il post con l'indicazione esatta
dell'incontro, sono un po' latitante ultimamente. Me lo potete ricordare, per
cortesia? Non vedo l'ora di una bella mangiata, anche se effettivamente qua...
Ho impiegato un po' di tempo per realizzare il mio
piccolo componente BindingHistoryManager che serve per
applicare funzionalità di undo/redo nelle mie applicazioni. Ero convintissimo
che il framework .NET non includesse qualcosa che potesse fare al caso mio,
invece qualche giorno fa mi sono imbattuto nella classe UndoEngine nel namespace System.ComponentModel.Design. Non l'ho guardata più di
tanto, magari non è propriamente adatta al mio contesto, però si può sempre
trarne qualche idea interessante.
Quando si dice che il framework è composto da più di 8.000 classi: c'è
proprio di tutto!
powered by IMHO 1.3
Qualche tempo fa avevo scritto qua sul mio blog parlando di un
certo problema con il mio lettore DVD. Ho scoperto cos'è: l'installazione di
Roxio Easy Media Creator 8 che
probabilmente installa un qualcosa che intercetta l'inserimento di un DVD nel
lettore e mi fa apparire un bel blue screen con la scritta MACHINE_EXCEPTION.
Ieri ho riformattato il mio PC, non ho installato la suite di Roxio ed il
problema effettivamente non c'è più. Peccato, perchè mi piaceva, adesso ho
davvero molti dubbi se acquistare la release nuova: non vorrei spendere soldini,
e poi avere lo stesso problema. Ci penserò su!
powered by...
L'economia che governa il mercato è molto simile a quella
dei ristoranti? Per qualcuno sì!!!
http://blogs.msdn.com/larryosterman/archive/2006/05/05/591226.aspx
powered by IMHO 1.3
Ore 21:00, tangenziale Est di Milano, uscita Cascina
GobbaVoce cordiale: "Ehi ragazzi, diteci dove
siete, che veniamo a prendervi!"Voce decisa: "Cosa?"Voce cordiale: "Su, dai, la missione
sto andando male, dacci la tua posizione, manderemo una squadra a
recuperarti."Voce decisa: "Voi non avete capito,
sono io che vengo a prendervi!!!!"
Questa intro era obbligatoria, dal momento che nel logo del 2°
Summit della Bresaola c'è addirittura Rambo!!! A parte scherzi, senza l'aiuto di Gabriele
magari non saremmo mai arrivati a Dazio, per cui un ringraziamento particolare
per aver sostituito il Tom Tom 3 installato sulla macchina.
Beh, siamo arrivati in ritardo (colpa di...
In meno di un'oretta ho preparato un logo per il download del mio software di
fatturazione. Considerando le mie scarse capacità grafiche, è un grande
successo. Il download non è però ancora disponibile: pazientate ancora un
po', ok?
Ovunque vedrete questo logo, sarà sufficiente cliccarci sopra per scaricare
il file ZIP contenente i sorgenti C# del mio piccolo software. Il download -
dicevo - non è ancora disponibile, perchè devo includere ancora qualche file
importante e sistemare alcune cosette che mi stanno a cuore. Nell'ordine:
includere lo script aggiornato per la creazione del database SQL Server
2005
...
Copiando il titolo del post da quello di Andrea, volevo segnalare un grave problema, quasi
insormontabile, riguardante la cena di questa sera.
Questo è il problema: se Lorenzo crede davvero di mangiarsi tutti i
pizzoccheri da solo, si sbaglia di grosso. Ho proprio paura che abbia fatto i conti senza
l'oste, cioè io! Lasciate solo che arrivi, guidato dal mio fedele
Tom Tom 3, e poi vedete chi se li mangia i pizzoccheri, altrochè!!!!
A parte scherzi, sono appena tornato dall'ospedale, tutto bene. Perciò dove
solo aspettare che torni mio fratello da Milano, che arrivi qui il mio omonimo Igor e poi...via...tutti...
Il 21 Aprile scorso mi hanno operato. Da quel giorno, non sono praticamente
uscito di casa. La prima settimana è stata quasi un incubo: costretto a leggere,
navigare un po' come un end-user per il solo piacere di farlo , dolorante e muovendomi al rallentatore. Sono andato
in ospedale praticamente ogni 2 giorni per visite di controllo, per togliere
pian piano tutti i punti, per verificare che la ferita si sia chiusa bene.
Un'altra visita ce l'ho questo pomeriggio alle 17, spero di non uscire
distrutto! Comunque, in tutto questo tempo ho letto molto il mio libro sul data
binding,...
Al primo posto c'è Acronis True Image 9.1, un ottimo software
per fare il backup & restore di hard-disk e partizioni. E' davvero un
portento: fa il backup anche a caldo, senza per forza fare il boot da floppy o
da CD. E' estremamente veloce: ho creato il backup (un file da 25Gb) del mio
intero disco C in circa 15 minuti, usando una compressione standard. Poi ho
fatto il restore su un disco nuovo da 200Gb nello stesso tempo. Il restore deve
essere fatto con un CD di boot che può essere creato senza troppe storie
direttamente dall'IDE del...
Articolo 5 dello Statuto dei Diritti del
ByteEvitare il più possibile violenti sbalzi del patrimonio
genetico di un byte.Ad improvvisi cambiamenti
del valore di un byte seguono diversi e svariati
malesseri del byte stesso.
Passare da 0x00 a 0xFF, oppure
da 0xFF a 0x00, sono i casi
estremi, nei quali il byte subisce stress inopportuno,
attacchi di panico, disorientamento, malessere e disturbi
vari. L'Articolo 1 dello Statuto dei Diritti del
Byte impone che il nostro codice deve girare grazie a
byte felici. E' fatto obbligo quindi il rispetto della
legge suddetta.
powered by IMHO 1.3
Diverse persone mi hanno contattato per saperne di più
sul software di fatturazione che ho sviluppato per me stesso, e che è stato
fatto vedere durante i Community Days del 12-13 Aprile. Come ho già detto altre
volte, il software non è assolutamente in vendita, ma è liberamente scaricabile
dal sito.
Però...c'è sempre un però. Quella ormai è una
versione non più aggiornata, nel senso che man mano che ne sento
il bisogno, lo integro con qualche funzionalità che prima non avevo pensato.
Queste funzionalità comprendono modifiche sia sulla UI (quando si inserisce una
fattura, il cliente può essere selezionato in...
The easier way is to simply drag the DLL that contains
the controls onto the Toolbox from a Windows Explorer window.
Giuro che non ci avevo mai provato, di solito passavo dalla classica finestra
Choose Items che è un po' più completa, ma anche eternamente
lenta durante la prima apertura. Questo invece mi sembra un metodo molto più
veloce e comodo!
powered by IMHO 1.3
IntroduzioneNel post precedente
abbiamo visto come utilizzare la classe Thread in modo basilare. In
breve: come creare un nuovo thread, utilizzando le classi ThreadStart e ParameterizedThreadStart, a
seconda del fatto che il metodo da eseguire in modo asincrono abbiamo parametri
oppure no.
Quello che vediamo oggi va un po' più in là. Sarà un po' tutto teorico,
perchè francamente non ho mai avuto bisogno di scendere così nel dettaglio.
Innanzitutto il Framework ci mette a disposizione la classe ThreadPool. Questa classe è
definita come static, di conseguenza non abbiamo bisogno di istanziarla per
poterla utilizzare. Come dice la pagina su MSDN,...
Nel mio programma di fatturazione ho incorporato una
classe creata da me davvero utile. Vorrei farlo diventare un bel componente
da droppare sulla Windows Forms. Si tratta in pratica di una classe che
incorpora tutta la logica necessaria ad aggiungere le funzioni di Redo ed Undo. Lavora a stretto contatto con il data-binding
tra un business object ed i controlli di una Windows Form, passando da un
BindingSource opportuno.
La particolarità è che il business object deve implementare l'interfaccia
IMementoConsumer, che come descrivevo qua richiede l'implementazione di due
metodi SetMemento e CreateMemento.
public interface IMementoConsumer{ void SetMemento(Memento m); Memento CreateMemento();}
Il costruttore della mia classe è questo:
public BindingHistoryManager(BindingSource BindingSource){ _bindingSource = BindingSource; _businessObject = (IMementoConsumer)_bindingSource.DataSource; _bindingComplete = true;}
Il BindingHistoryManager lavora con il...
Mi stavo leggendo la documentazione di Spring
Application Framework, liberamente scaricabile in formato
PDF dal sito. Ovviamente, la stavo leggendo con Acrobat Reader. Dopo un po' che
era aperto, Acrobat mi avvisa che ci sono degli aggiornamenti da fare: dalla 7.0
(la mia), dovevo migrare prima alla 7.0.5, poi alla 7.0.7. Vabbè - mi sono detto
- fallo, tanto lo fai in background.
Finito il download (circa 20Mb ), si passa all'installazione della release 7.0.5. Al
termine, chiede il primo reboot. Vabbè,
riavviamo, cosa devo dire? Ripartito il PC, ecco il setup della 7.0.7. Finito
questo, devo riavviare una seconda
volta. Ok,...
Tutto il mio sistema è diventato ClearType-compliant,
compreso IMHO, e mi piace molto. Bravo Simone!
Ieri pomeriggio ho seguito uno dei tutorial inclusi nel Microsoft
Expression Interactive Designer, quello relativo al Layout degli elementi. Me la
sono cavata, e mi sono pure divertito. Una cosa interessante che ho notato, e
che Corrado ha sempre sottolineato nelle sue sessioni, è che un
controllo non ha un output predefinito, ma dipende - eventualmente - dai
controlli child che sono al suo interno.
Ogni controllo ha una proprietà Content. Nel caso della
TextBox, il suo Content è la stringa che il controllo stesso visualizzerà.
Fin qua nulla...
Fino a poco tempo fa, con il vecchio software di
fatturazione in Access, per generare i files PDF delle mie fatture, utilizzano
un metodo tutto mio. In pratica:
Mi installavo una stampante fittizia Apple LaserWriter II NT v47.0
L'output di questa stampante è impostata su un file C:\Output.ps
Poi, eseguivo un file batch scritto da me che chiamava Ghostscript in
questo modo:
c:\gs\gs8.00\bin\gswin32c -dNOPAUSE -dBATCH -dNOPROMPT -sOutputFile=C:\Output.PDF -sDEVICE=pdfwrite c:\Output.ps
Questo comando scrive il file C:\Output.PDF, che non è nient'altro che
il file PDF del report di stampa, apribile normalmente con Adobe Acrobat Reader. L'unico inconveniente è che il PDF è sempre in
B/N,...
Si avvicinò ad una porta di I/O, speranzoso.Consegnò al controller
seriale il proprio patrimonio, e sospirò.Attese il consenso del thread
corrente, e l'ansia cresceva.
Tremava, e non capì se fosse paura o emozione.Paura, di non farcela,
di non essere all'altezza, e di essere un perdente.Emozione, per una vita
sognata e desiderata a lungo, e di essere un vincente.
Il controller, finalmente, fece un cenno di
assenso.Sollevato, il byte fece un solo, piccolo passo
avanti.Pensò che era un grande passo per se stesso.
Un attimo dopo, era fuori. Un debole alito di vento gli soffiò sulla
faccia.Rumore e suoni. Un ticchettio di un orologio, e uno
sbattere di ali fuori dalla finestra.Alzò gli...
Oggi pomeriggio ho messo in pratica l'idea che mi
frullava in testa da un po' di tempo, ovvero implementare all'interno di una mia
applicazione un meccanismo riutilizzabile di undo e redo. In altre
parole, immaginate di avere un business object
qualsiasi, che viene bindato attraverso un BindingSource a diversi controlli sulla Windows Forms. L'utente
può ovviamente editare i controlli, aggiornando di conseguenza il business
object sottostante. Ogni volta che l'utente modifica qualcosa, si scatena
l'evento CurrentItemChanged, nel caso
scatto una fotografia dell'oggetto chiedendo un memento all'originator,
ovvero il business object stesso.
I memento vengono salvati in una lista tipizzata
(BindingList<Memento>), che...
|