|
giugno 2006 Blog Posts
Bisogna dirla tutta: non so nelle altre parti d'Italia, ma qua a Milano il
caldo è invernale davvero. Forse non è proprio il caldo in sè, ma il tasso di
umidità che manda un po' tutti a terra per KO tecnico alla 1° ripresa. Se fosse
per il viaggio fino in ufficio alla mattina, andrebbe anche bene. La permanenza
in ufficio per tutta la giornata è mitigata dall'aria condizionata, quindi
nessun problema. Ma il vero grande incubo è il ritorno a casa, perchè farsi
buona parte della linea rossa e buona parte della linea gialla, senza aria
condizionata, nella calca...
Varie ed eventuali sui bytesIl byte non nasce: viene istanziato.Il byte non diventa mai un adulto indipendente: c'è sempre
qualcuno che si occupa di lui. Il byte non
si riproduce: un thread dice al byte di
clonarsi.Il byte non si accoppia: può formare
un byte[2] con chi vuole.Il byte è poligamo per natura: può formare un byte[x] quante volte vuole.Il
byte non ha la patente e non guida: sale sul
bus e si fa portare dove necessario! Il byte non muore:
viene deallocato.
powered by IMHO 1.2
La potenza di informazione del Lato Oscuro della Forza non
è solo dalla parte di Lorenzo. Da ieri abbiamo infatti almeno un MCP in
più, Roberto Maccario, che mi scrisse un sacco di tempo fa
chiedendomi informazioni sull'esame 70-316. Beh, insomma, ieri Roberto ha
superato l'esame ed è diventato MCP insieme a me e a tanti altri.
Congratulazioni e soprattutto grazie per avermi scritto!
powered by IMHO 1.2
Quando si svegliò, si sentì subito di cattivo umore.
Voleva starsene per conto proprio, tranquillo, mentre in realtà sapeva quello
che lo aspettava. Il byte rimase ancora qualche ciclo di clock nella propria
cella di memoria, stropicciandosi gli occhi e cercando di ricordarsi
dove si trovava. Che vita di inferno - si disse il byte! Non è possibile vivere
in questa maniera, sempre di corsa, svegliandosi la mattina senza ricordarsi più
nulla del giorno prima, senza un attimo di tempo libero. Pensò per un solo
istante a quanto sarebbe stato bello poter vagare liberamente per il sistema,
senza dover per...
Volevo andare giù a mangiare, ma dai miei colleghi
giunge voce che c'è una fila interminabile, per cui abbiamo tutti rimandato ad
un po' più tardi. Mi sono messo a leggere i vari blog di
MSDN, e ho beccato questo post che mi è piaciuto un sacco, quindi lo scrivo anche io. Igor in versione copione!
Alle 06:00 il mio Asus mi sveglia, suonando una delle mie
canzone preferite. Attualmente è He wasn't, di Avril
Lavigne. Non per altro: una voce femminile sveglia molto di più di una
voce maschile. Una canzone aggressiva sveglia un po' di più di una
canzone...
Poco meno di un anno fa - era fine luglio - ordinai su
CHL.it il mio
attuale PC. Rimasi molto soddisfatto del mio ordine, perchè dopo averlo
confermato ho ottenuto tutta una serie di SMS che mi informavano costantemente
di come stava procedendo l'evasione dell'ordine stesso. Alle 10 confermo
l'ordine, alle 12 l'ordine stava per essere verificato, alle 14 il magazziniere
stava preparando la merce, alle 21 l'ordine era pronto per la spedizione, etc.
etc. Sono convinto che chiunque lavori in CHL abbia un sensore che spedisce un
SMS appena fa qualcosa che fa progredire l'ordine, e che ci avvisa...
Ho appena dato un'occhiata a CodePlex e
mi è cascato l'occhio su questo progetto, che permette di consultare l'help-on-line di MSDN
attraverso la command-line. Il progetto si chiama
msdnman e mette a disposizione una piccola lista di parametri
per fare ricerche nel gigantesco database MSDN. Con il parametro
-k possiamo specificare le keyword da ricercare, mentre il
parametro -language permette di filtrare gli esempi di codice
solo nel linguaggio indicato. Il modo più semplice per utilizzarlo è mettere
l'eseguibile msdnman.exe in una directory prevista dai path di
sistema, così da poter dare ovunque siamo comandi del tipo:
msdnman System.Collections.IList
L'output per adesso non...
A tutti quelli che pensano che chi usa il PC deve
portare gli occhiali,a quelli che credono che stare seduti davanti al
monitor fa diventare gobbi,a quelli che pensano che lavorare con il PC sia
monotono e triste.
A tutti quelli che mi guardavano male quando a 10 anni passavo il tempo al
computer,a quelli che oggi appoggiano la mano sul mouse e lo
sollevano dalla scrivania,a quelli che oggi hanno bisogno del PC e non
lo capiscono e ci rinunciano.
A tutti quelli che dicono: "A me il computer non servirà mai!" ma alla fine
hanno un'e-mail,a quelli che fanno l'ITIS, specializzazione...
13° Legge di Damiani sui bytesI
bytes soffrono il caldo. Se dovete dichiarare un byte[2] (vedere la 2° Legge di Damiani), dichiarate un byte[3],
assicurandovi di avere sempre byte[1] = 0 per far
passare un po' d'aria.
Un byte sudato e/o accaldato potrebbe non essere del
tutto felice, e di conseguenza potrebbe essere portato a non lavorare in modo
appropriato, causando svariati crash di sistema incontrollati. Sistemi
tradizionali (ventilatori, aria condizionata, etc.) non agiscono direttamente
sui bytes, ma sull'hardware (environment) in cui il byte vive. Per ovviare al problema, e per rendere più felici i
bytes del vostro sistema, fate sempre...
Ho appena letto questo post segnalato da Lorenzo che
mi ha fatto riflettere. Le modalità del database unit testing descritto
assomigliano moltissimo alle modalità con cui
sfrutto nUnit e Test Driven
.NET nelle mie ultime settimane. Mi spiego meglio, ma prima ho
bisogno di fare una piccola premessa.
Sabato mattina mio fratello ha messo live la nostra piccola
applicazione per la gestione di concessionari d'auto, creata ad-hoc per un
concessionario piuttosto imponente di Lodi. Lo sviluppo di questa applicazione
ha richiesto molto più tempo di quello preventivato inizialmente, per tutta una
serie di motivi, di cui magari parlerò in un altro post (anche un fallimento...
Ho passato un weekend un po' più sportivo rispetto al mio
solito. Ieri pomeriggio sono andato all'Idroscalo, qua a
Milano, per prendere un po' di sole e per fare un po' di lanci con il mio amico
freesbee, che giaceva dall'anno scorso nel mio sottoscala. Ho speso un po' per
quel fresbee, perchè è un modello semi-pro acquistato in un negozio a
Milano che vende tutto materiale per sport un po' particolari. Insomma, ho corso
come non facevo da un sacco di tempo, ho respirato un po' d'aria pulita e questo
fa senz'altro bene. Questa mattina, intorno alle 10, ho...
IntroduzioneNel post [2] relativo ad NHibernate, avevamo visto come
scrivere file di mapping per legare due classi con una relazione uno-a-molti.
Nel caso specifico, lo riassumo in breve, avevamo una classe
HockeyPlayer ed una classe Faults: ad
un'istanza della prima, possono corrispondere più istanze della seconda. Senza
andare troppo nel dettaglio, più che altro per non ripetere cose già dette,
riporto qui sotto il mapping della classe
HockeyPlayer:
<class name='HockeyPlayer' table='HockeyPlayers'> <id name='ID' column='ID' type='Int32' length='4' unsaved-value="0"> <generator class='identity' /> </id> <property name='Name' type='String' column='Name' length='50'/> <property name='Height' type='Int32' column='Height' length='4'/> <property name='Weight' type='Int32' column='Weight' length='4'/> <property name='Number' type='Int32' column='Number' length='4'/> <bag name="Faults" cascade="all" lazy="false" inverse="true"> <key column="IDPlayer" /> <one-to-many class="Fault, HockeyObject" /> </bag></class>
Detto questo, avevamo detto che anche la classe Faults deve
essere mappata opportunamente. Quello che mi interessa far ricordare (e
ricordare a me stesso) è che nella classe Fault deve esserci un
riferimento all'istanza HockeyPlayer...
Ho passato gli ultimi due giorni in full-immersion con
due colleghi tedeschi per un passaggio di consegne di un progetto che,
tecnicamente, ho seguito soprattutto io. Ne ho abbastanza! Lo scorso weekend mi
ero riproposto di andare a farmi una scampagnata da qualche parte, ma ho dovuto
rimandare per un motivo o per l'altro. Domenica avevo invitati in casa,
sabato ho dovuto lavorare, venerdì sera mi pare ci fosse la partita dell'Italia
e quindi ogni locale aveva un mega-schermo.
Questo weekend, tempo meterologico permettendo, forse si prospetta migliore.
L'unico impegno ce l'ho questa sera (ma non ve ne parlo, altrimenti andrei
in...
Rimbalzato dall'openspace in cui lavoro, alla sala
meeting con due persone della sede tedesca della società per cui faccio
consulanza (con cui sto lavorando fianco a fianco da questa mattina) e la
saletta dove grazie alla televisione che IO ho attaccato tutti adesso emettono
grugniti ed altri versi strani in base a quella o a quell'altra azione.
Adesso sgommo via, di là i due tedeschi mi aspettano, anche se io
questa mattina li avevo avvisati del fatto che oggi sarei stato molto impegnato,
chissà perchè!
powered by IMHO 1.2
Ci sono molte cose che fanno vergognare una persona. Fare
una brutta figura, prendere un brutto voto a scuola, essere ripresi davanti ad
un po' di persone. Io ieri sera ho masterizzato su un CD-R da
700Mb un file Excel da 20Kb. Ditemi un po' voi se non me ne devo
vergognare. Credetemi, ho fatto il possibile, ma non avevo altro modo di dare
quel maledetto foglio Excel a quella persona.
Non ho avuto scelta,Non ho avuto scelta,Non ho avuto scelta!
Qualche penitenza non c'è?
powered by IMHO 1.2
Mio papà ha visto diverse volte il mio palmare
funzionare come navigatore satellitare, specialmente sulla nostra 500. Ne è
rimasto affascinato, perchè non credeva che fosse così semplice da usare, così
accurato e così divertente. Tra l'altro, sa benissimo che lo uso molto
spesso quando magari devo andare chissà dove, sia per motivi di lavoro, sia per
svago. Insomma, diverse volte mi ha messo la pulce nell'orecchio, con frasi del
tipo: "Uè, prenditi un palmare nuovo, quello che hai adesso
lo dai a me.".
Ho sempre ignorato questo tentativo di corruzione , ma questa mattina ho cercato un po' sul
sito Dell.it e...
Sono sempre stato affezionato ai dischi fissi Maxtor,
perchè con loro non ho mai avuto alcun problema. Sto invece imparando a
diffidare degli HD della Samsung: ho due dischi Samsung da 200Gb e negli ultimi
30 giorni ho avuto un sacco di problemi. Il primo disco è
diventato inutilizzabile: vede una partizione da 30 Gb circa, non riesco nè
a formattarlo, nè a ripartizionarlo. Il secondo disco ha
rischiato ieri di salutarmi: durante la copia da un HD all'altro (passando dalla
LAN - notare che il disco Samsung era l'origine della copia, quindi da lì si
leggeva e basta), a casa...
Questa mattina ho riscontrato un problema che deriva un
po' da quello che ho descritto nei miei ultimi 3 post relativi ad NHibernate.
Immaginate di avere una classe che espone una proprietà di tipo
IList, per implementare una relazione uno-a-molti tra una
classe father ed una classe child.
Immaginiamo di aver costruito un opportuno file di mapping per salvare questa
classe, e la corrispondente classe figlia. Una delle caratteristiche di
NHibernate è quella di poter restituire una lista di oggetti di questa nostra
classe, perchè il file di mapping lo permette. Quindi, per esempio, possiamo
scrivere codice simile a questo:
session = factory.OpenSession();ICriteria criteria = session.CreateCriteria(typeof(AttoVendita));IList list = criteria.List();AttoVenditaCollection ret = new AttoVenditaCollection();foreach (AttoVendita element in list) ret.Add(element);
Con il...
L'altro giorno Lorenzo ha
postato parlando di quella notizia secondo la quale si può essere accusati di
diffamazione attraverso il blog. Non so se ho letto bene o male, non l'ho
guardata con molta attenzione.
Non ordinate su Pixmania.com o, se proprio volete farlo, state bene attenti.
Io ed altre persone abbiamo appena concluso un ordine: io ho preso la mia nuova
Sound Blaster 4, mentre un mio amico ha preso la Nikon
Coolpi P3, una macchina fotografica digitale. La scheda del prodotto su Pixmania.com dice
espressamente che nella confezione ci sono i manuali in inglese e francese:
quando il mio...
IntroduzioneEccoci al terzo
(ultimo?) post dedicato ad NHibernate. Nel primo abbiamo fatto un'overview delle
classi da persistere, alcune delle quali legate da una relazione uno-a-molti,
nel secondo abbiamo visto come creare files di mapping corretti che possano fornire all'engine di persistenza
di NHibernate tutte le informazioni su ciascuna classe e come le
classe si relazionano fra loro.
Fino ad oggi, non abbiamo scritto una sola maledetta linea di codice. In
realtà, almeno per quello che riguarda me, scrivere codice C# che utilizzi
NHibernate per caricare/scrivere/cancellare i nostri oggetti è davvero una
banalità, perchè il fulcro, tutta la logica e molta della complessità...
Devo dire la verità: ultimamente ho snobbato un po' il cinema. La bella
stagione mi ha portato più all'aria aperta, per fortuna. Non so esattamente cosa
farò durante il weekend: avrei dovuto festeggiare un compleanno di un'amica, ma
per diversi motivi è stato tutto rimandato. Alla fin fine mi toccherà
improvvisare e vedere di tirar fuori il meglio in tema di relax. Sembra una
stupidaggine, ma fino a poco tempo fa avevo raggiunto il mio peso record di
80Kg: ho dovuto rifarmi il guardaroba perchè i miei vecchi jeans non mi andavano
più bene. Due domeniche fa mi sono sparato...
Ho appena letto questa classifica dei Top 10 Must Haves
(pubblicata il 6 giugno, quindi tutta roba recentissima), ovvero quei giocattoli
tecnologici che non dovrebbero mancare a nessuno. Non sono d'accordo quasi su
niente: mettere due console come la Sony PSP e la XBox
360 è un'assurdità, io faccio a meno di tutte e due. E perchè mettere
un Portable Media Center? Vada per il notebook, ma tutto il
resto mi sembra solo un'accozzaglia di oggetti messi lì solo per fare
pubblicità. Le uniche cose su cui invece concordo sono la fotocamera digitale
(Canon PowerShot S80) e il videoregistratore digitale,...
Seconda ed penultima parteDopo aver
introdotto ieri le classi coinvolte, e qualche altra disgressione nei commenti
, vediamo oggi come realizzare un file di
mapping che possa fornire all'engine di persistenza di NHibernate tutte le
informazioni necessarie per salvare, caricare e cancellare un oggetto dal
database.
Innanzitutto, e ci tengo a dirlo, è da sfatare il mito secondo il quale
bisogna creare un file di mapping per ogni classe che
vogliamo gestire tramite NHibernate. In realtà, e lo vedremo
adesso, possiamo tranquillamente avere tutto dentro un solo file con estensione
hbm.xml e scrivere lì tutto il necessario. Magari, cosa
migliore se...
Oggi a mezzogiorno, durante la pausa pranzo, il mio
amico Fabio è andato a ritirare il materiale dell'ordine che abbiamo fatto su
Pixmania.com. Tra le altre cose, c'era la mia nuova Sound Blaster Audigy 4, che ho acquistato solo per lo
sfizio di avere una scheda con il telecomando.
Questa sera l'ho installata sul mio PC e devo dire che è promossa a pieni
voti. A patto di avere un impianto di casse che supporti in qualche modo il
sorround (io ho le Creative 4.1, prima edizione, che resistono a meraviglia), la
resa, anche se non me ne intendo, è...
Sono impazzito molto nei giorni scorsi nel tentativo di sfruttare NHibernate per persistere
business object del domain model di un'applicazione reale che sto sviluppando. Finchè
si tratta di oggetti semplici, nessun problema, ma nel mio caso avevo a che fare
con due oggetti relazionati uno-a-molti. Ieri sera ho risolto il mio problema,
ma ho voluto replicare lo stesso scenario in una sample
application
di cui ho già parlato in passato, per descrivere meglio il mio
dilemma e per spiegare come l'ho risolto.
Le classi coinvolte: HockeyPlayer e...
Dalla pagina su MSDN dedicata a WinFX, sono andato a
leggermi l'Introducing .NET Framework 3.0, direttamente dal
blog del vice-presidente Somasegar. Il suo ultimo post, scritto qualche giorno fa, ha
ricevuto fino a questo momento 0xFE commenti, anche di oggi,
chiedendo un po' di tutto...che fine farà .NET, o il framework 2.0, Orcas, i
codename dei progetti, il perchè hanno rinominato questo in quello, quando
uscirà, etc. etc. etc.
Evviva, che bella confusione!!!
powered by IMHO 1.2
Ormai è passato poco più di un anno da quando ho aperto
il mio blog qua su UGI. Inizialmente, non sapevo bene di cosa avrei parlato,
mentre adesso (e man mano che il tempo passa) ho le idee un po' più chiare. Da
qualche giorno ho aggiunto qualche categoria per suddividere meglio i contenuti:
prima ne usavo una sola, Tecnologia, dove mettevo tutti i post
che parlavano sia di hardware che di software, dove mettevo tip di
programmazione sul data-binding o su MSBuild. Mi sembrava una categoria un po'
troppo vasta, così ci ho pensato su e ho deciso di...
I parametri dell'attributo
DllImportNell'ultimo post riguardante l'esame 70-536, abbiamo
visto come utilizzare l'attributo DllImport per poter
utilizzare una funzione esportata da una libreria unmanaged. Nella sua
forma base, DllImport richiede un solo parametro: una stringa
che contiene il nome del file DLL che esporta la funzione che ci interessa
utilizzare nella nostra applicazione managed. L'ultima volta avevamo
fatto un piccolo esempio, considerando la funzione GetTempPath, esportata da
kernel32.dll. la dichiarazione nella nostra classe managedera:
[DllImport("kernel32.dll")] private static extern uint GetTempPath(uint nBufferLength, [Out] StringBuilder lpBuffer);
L'attributo DllImport può avere qualche parametro
aggiuntivo. Ad esempio, nel codice qui sopra il nome della funzione GetTempPath
corrisponde al nome della funzione contenuta in kernel32.dll. Se...
...che è la statale che va da Pavia a Brescia, passando
dietro il mio paesino e mi collega all'ingresso della A1, uscita Lodi. Questa
mattina, come ogni mattina, io, mio fratello ed il mio amico Fabio, ci mettiamo
in macchina alle 7:40, convinti di arrivare in metropolitana alle 8:20 circa.
Nulla di più sbagliato! La SS235, questa mattina, era imbottigliata come una
bottiglietta da 33cl di Peroni e non c'era verso di raggiungere il casello.
Abbiamo provato vie parallele, ma niente da fare. Abbiamo tentato di prendere
l'autostrada dalla molto più trafficata strada che porta a Melegnano e lì, dopo...
Ho appena finito di scrivere il mio secondo articolo, che
verrà pubblicato su Io Programmo di non-so-quando. Giusto per
mantenere alto l'interesse, non vi dico di cosa tratterà. Sappiate solo che è un argomento che mi ha
abbastanza appassionato, tantè che quando l'ho studiato per l'esame sono rimasto
stupito. Non avevo molta voglia di mettermi davanti al PC la domenica mattina,
ma ho dovuto farlo, perchè avevo promesso alla redazione che lunedì avrebbero
avuto tutto il materiale. Volevo lavorarci venerdì sera, ma gli amici, le
amiche, le birre e le risate hanno avuto la meglio...di certo non mi
lamento!
Adesso finisco...
Sono appena tornato da una bella serata con amici al pub
qua nelle colline di S.Colombano, piccolo paese agricolo piuttosto famoso per i
vini. Eravamo sulla mia auto in quattro: io, mio fratello e due amici
(Flavio e Fabio). Su un'altra auto, un altro gruppo di amici ed amiche. Come al
solito, le chiaccherate tra amici finiscono per degenerare verso gli
argomenti più disparati. Stasera, tra le altre cose, sulla via del ritorno si
parlava di sostantivi non numerabili, nella fattispecie la parola
pane.
Igor: "Cavolo, la parola acqua è una parola non
numerabile, perchè non puoi farne il plurale!"Fabio:
"......mmmhhhhh......."Igor: "Sì, dai.....come anche
pane....la...
Ho cominciato da qualche giorno a lavorare su un altro
grosso progetto che fa uso di SQL Server 2005 come database di
warehousing. Mi sono installato, su consiglio di un collega, ApexSQL Edit, un software che è un po' una
sorta di Query Analyzer/Enterprise Manager/Management Studio tutto in uno.
Scritto completamente in .NET, è molto carino davvero: ha il pieno supporto
di Intellisense (che qui si chiama Intellilist), un object browser, un sacco di
funzioni per fare filtri, ricerche e sorting sui dati, una quintalata
di snippet, funzioni che forniscono un elenco di possibili JOIN per andare da
una tabella all'altra,...
Oggi cominciamo i Mondiali di Calcio. E' molto triste che
lo sport in quanto tale sia stato venduto alle multinazionali, nella fattispecie
Sky , che di fatto sarà l'unico network televisivo che potrà mostrare
tutte le partite. Non sono un fanatico del calcio, ma se lo fossi non esiterei
un solo momento a protestare alla Rai, o a distruggere qualsiasi newsgroup
di spamming, OT e di insulti vari. Onestamente, ma magari è un pensiero solo
mio, lo ritengo davvero un oltraggio. Ma non è tanto colpa di
Sky in sè, ognuno ha il diritto (forse) di tirare l'acqua al
suo mulino:...
Da quando ho preso lo storage LAN a casa mia, ho dovuto
migrare a Microsoft Outlook per gestire la mia posta elettronica. Fino a quel
giorno, avevo sempre usato Outlook con un solo archivio esclusivamente per
gestire tutti i miei dati inerenti il mio lavoro nel senso stretto: in primo
luogo, la rubrica di tutti i clienti ed in secondo luogo gli appuntamenti presso
gli stessi clienti. Sincronizzando i dati con l'Agenda Fusion installato sul mio Pocket
PC, in Outlook mi ritrovo tutte le giornate che faccio nell'azienda nella
quale faccio consulenza da più di un anno.
Adesso invece mi ritrovo due...
IntroduzioneP/Invoke è
l'abbreviazione di Platform Invoke e consiste
nella capacità da parte del nostro managed code di utilizzare DLL di
sistema ed eseguire le funzioni contenute. Ho trovato di grande comodità il sito
www.pinvoke.net, che ci aiuta con una
grande raccolta di tutte le librerie di sistema e come poterle importare in una
classe managed per rendere accessibile da C#, VB.NET e da tutti gli altri
linguaggi della famiglia .NET. Anche in questo caso, come nel mio ultimo post,
abbiamo a che fare con una classe
wrapper: sarà questa che il codice managed eseguirà.
Tale classe deve essere decorata...
Bravo Lorenzo! Mi aveva avvisato durante l'evento VSTS
di aspettare ancora qualche giorno, ed in effetti oggi leggo che a questo
indirizzo è possibile scaricare l'ultima release CTP dei DSL Tools.
Sul PC in ufficio rischio di far esplodere tutto, ma questa sera a casa li
scarico, me li installo e gli darò un'occhiata.
powered by IMHO 1.2
Quasi quasi adesso esco, vado in banca e
compro tutte le azioni di Google disponibili sul mercato! A parte scherzi, tutto questo fioccare
di servizi targati Google non mi può non far pensare che le sue azioni puntino
al rialzo. A tutto vantaggio di chi gioca in borsa e ci guadagnerà parecchio.
Confesso che non me ne intendo più di tanto di queste cose, però credo che la
logica sia questa.
L'impressione però è che sia un po' troppo dispersivo. Va bene cercare di
allargarsi e di occupare fette di mercato, ma di questo passo ci ritroveremo
Google anche sui forni, sulle auto...
Se c'è una cosa che odio e che trovo noiosa è
implementare l'interfaccia ICloneable sui propri business
object. Nulla di complicato, parecchio di noioso, e molto, anche. In fin dei
conti si tratta di creare un solo metodo Clone, di creare un
nuovo oggetto dello stesso tipo della classe in cui ci si trova, assegnare una
ad una tutte le proprietà e ritornare un oggetto con la classica return.
Perchè non farlo fare al nostro bravo (ed estensibile) class designer?
L'estensibilità del class designer di VS2005Mi sono ispirato all'articolo scritto dal
nostro Marco
e...
Ho dichiarato un byte[3] per questo. Ogni byte del mio array vi
saluta.
Oggi esce nelle sale cinematografiche Omen: Il Presagio, che è in realtà un
remake di un file più vecchio, con Gregory Peck, uscito il 6 Giugno 1976, esattamente
trent'anni fa. Ho visto questo film quando ero a casa in convalescenza, una sera
tardi su Rete 4. Lo spunto era più che buono: una donna perde il
figlio durante il parto, il padre decide allora di prendere con sè un altro
bambino che, invece, ha perso la madre. Col passare degli anni, succedono fatti
strani e diabolici
...
Quando poco tempo fa mi sono distrutto il disco dati del mio
sistema, avevo recuperato quasi tutto, perchè bene o male ho
l'abitudine di masterizzare una volta al mese tutto quello che mi serve. Questa
sera - mannaggia - vado a scoprire che giustamente ho perso tutti gli script MSBuild che con infinita pazienza mi
ero preparato per automatizzare un po' certi task che mi interessavano.
Mi sa che dovrò dedicare un po' di tempo a ricostruirli, tanto sul mio blog
avevo pubblicato qualcosa, perlomeno le parti salienti e quelle che mi avevano
causato più difficoltà. Poi, si sa, fatta una...
Da buon appassionato di retrocomputing, ogni tanto punto
il mio browser sulla categoria di ebay.it dedicata a
questo argomento, alla ricerca di espansioni, giochi e programmi per il mio
vecchio home computer, il mitico TI-99/4A. Ho appena letto che il prossimo
evento si terrà a Branco di Tavagnacco, in
provincia di Udine, dal 30 giugno al 2 luglio. Ho partecipato negli anni scorsi
ad altri eventi di questo tipo (soprattutto in Emilia-Romagna) ma mi hanno
sempre un po' deluso, perchè alla fine mi sono ritrovato tra appassionati di CB,
di radio antiche, elettronica pura, telefoni anni '30 e roba del...
IntroduzioneFino ad oggi abbiamo
sempre discusso con un mondo completamente managed, ovvero il cui
codice è scritto al 100% in linguaggi previsti dal FX (VB.NET e C# in primo
luogo), e che quindi gira all'interno del CLR. Possiamo però andare oltre,
e permettere al nostro codice di oltrepassare le normali barriere ed avere a che
fare con il managed unmanaged, ovvero tutto quello che riguarda codice
Win32, mondo COM e via dicendo.
Ovviamente, il fatto che sia possibile non vuol dire che sia una cosa
semplice, nè tantomeno che siamo esenti da rischi. La difficoltà principale è
saper mappare in memoria gli oggetti...
In molti, giustamente, mi hanno detto che i miei post
per l'esame 70-536 sono più discontinui rispetto alla mia
prima serie per l'esame 70-316. Effettivamente, i miei impegni di lavoro mi hanno
portato via più tempo del previsto e anche se trovo il tempo per studiare un po'
(ho giusto giusto del materiale su P/Invoke che mi aspetta sul letto),
ho sicuramente meno tempo per dedicarmi alla scrittura di post.
Spero davvero di poter riprendere a parlare come una volta, perlomeno sugli
argomenti più importanti come P/Invoke che citavo prima. Rimane da vedere
qualcosa sulla sicurezza ed altro ancora: avevo fissato l'esame il...
Qualche giorno fa ho scritto un piccolo post per
cominciare a prendere in considerazione l'idea di poter avere diverse view di
una nostra custom collection. Giustamente, Corrado ha osservato che sebbene
avessi creato una classe FaultCollection ed una corrispondente
FaultCollectionDefaultView, c'è comunque un grande
accoppiamento fra le due. Una non vive senza l'altra e questo rende il mio
codice poco riutilizzabile: se voglio creare un'altra view, posso, però devo
ricompilare e così via. Insomma, volevo migliorare un po' le cose e questa sera
ho fatto i primi passi.
L'idea è innanzitutto quella di fornire alla classe
FaultCollection una classe gemella...
Nel suo articolo su UGIdotNET Marco spiega come installare sul
proprio PC i Power Toys e
come sviluppare add-ins per Visual Studio 2005. L'operazione è riuscita
perfettamente sul mio PC al lavoro, dove ho cominciato a litigare con l'object
model nel tentativo di integrare il class designer con alcune funzionalità
che vorrei rendere pubbliche una volta capita la fattibilità. Sul mio PC a casa
invece qualcosa non è andato bene: sebbene abbia installato i
suddetti Power Toys, nel mio VS2005 non compare alcun
progetto di tipo Class Designer Add-in, e non capisco il
perchè.
Che manchi qualcosa? Ho provato comunque ad aprire il progetto che ho fatto...
Questo è il mio ennesimo post inviato da una locazione piuttosto stramba. Sto scrivendo da 1.000 metri di altitudine, in mezzo agli alberi. Fa un po' freschino, ma per fortuna mi sono attrezzato. Ho lasciato la mia auto a Passo del Penice, mi sono sparato due ore di cammino fino ad arrivare nei dintorni di Pecorara, Cicogni ed altri minuscoli comuni a metà strada tra Lombardia ed Emilia-Romagna. Ho scoperto il Giardino Alpino, una sorta di parco attrezzato da visitare: la cosa triste è che per entrare devo avere il biglietto, ma il paese è davvero troppo lontano per essere...
Anche oggi la giornata di vacanza mi ha fatto
dimenticare il mio tradizionale OT del venerdì. Ho poco tempo, è venerdì e me ne
sto andando a fare un giro da qualche parte. Avrei voluto essere in qualche
località di mare, ma il freddo e il traffico mi hanno fatto desistere.
Avete o no notato che stanno terminando tutti i soliti programmi TV che ci
hanno tenuto compagnia fino ad oggi? Io sono estremamente contento di non vedere
più Amadeus e il suo orribile L'Eredità, un quiz di cui ho già
parlato e che mi ha sempre annoiato per la sua...
IntroduzioneNe avevo parlato un po'
di tempo fa qua sul mio blog. Se nel nostro domain model abbiamo creato una
custom collection e poi vogliamo bindarla su una
DataGridView, tale collection deve implementare l'interfaccia ITypedList. Questa
interfaccia è di per sè abbastanza semplice: richiede l'implementazione di due
soli metodi pubblici (GetItemProperties e GetListName). In pratica, il
primo metodo ritorna un oggetto PropertyDescriptorCollection che rappresenta
l'elenco delle proprietà che vogliamo bindare come colonne sulla DataGridView. Il secondo metodo ritorna una banale
stringa con il nome della lista.
Facciamo un esempio pratico. Il class designer vale in questo caso molto più
di mille parole:
Come è facilmente...
L'altra sera ho acquistato la suite di Acronis Disk Director Suite
10.0, utile per maneggiare le partizioni degli hard-disk
senza troppa paura di perdere dati. L'ho già installata sulla mia workstation
XP, vediamo se mi tornerà utile la prima volta che voglio dare una sistemata
alla mia LAN.
La cosa bella è che adesso ho diritto ad uno sconto del 20% sul prossimo
acquisto: stavo optando per Acronis True Image 9.0, ma ho letto che non è supportato su Windows
2003. Il mio server invece monta proprio questo OS, per cui non posso prenderlo
per mettere in piedi quel backup automatico...
Il 1° Dicembre scorso avevo estrapolato alcune
statistiche, considerando solo quelli che hanno sul proprio blog più di 100
post. Oggi ho aggiornato la statistica, e ci sono alcune novità.
Post
Commenti
Media
Delta Post
Lorenzo Barbieri
2131
3491
1.638198029
0
...
I byte che vivono in sistemi
hardware appartenenti a soci UGIdotNET (chi più, chi meno) sono (comunque) dei
grandi.
powered by IMHO 1.2
Voglio fare una classifica della 3-giorni dell'evento Microsoft Visual Studio
Team System a cui ho potuto prendere parte grazie all'invito di Lorenzo.
Martedì 30 maggio, dedicata al Team System for Software
Developers(unit-testing, code-coverage e dintorni)
La mattinata del 31 maggio, dedicata alla teoria del buon
testing(investire sulla prevenzione del bug, )
Lunedì 29 maggio, dedicata al Team System for Software
Architects(diagrammi vivi per progettare l'infrastruttura
distribuita nella quale gireranno le nostre apps)
Il pomeriggio del 31 maggio, dedicata a test di
applicazioni Web(c'è bisogno di ricordare...
|