Other .NET
Tutto ciò che è relativo a .NET, ma non rientra esattamente nelle altre categorie...
In realtà, sono usciti il 19 di Gennaio… ma io sono _sempre_ in ritardo, e me li sono installati solo ora.
Risultato:spettacolo! Io ho un Macbook pro 2009 @ 2.8ghz e finalmente il mio Seven ha
- Smesso di pensare che il digital audio fosse sempre attivo, sparando fuori la luce rossa a-la Terminator dall’audio in;
- Risolto i problemi audio che avevo coi vecchi driver, ed ha iniziato a vedermi il microfono anche fuori dal registratore di suoni di Windows, senza fare giri strani con driver di terze parti e modifiche degli ini (che tra parentesi...
Questo periodo è a dir poco frenetico, tanti progetti che devono essere chiusi prima dell'estate, clienti ansiosni per il caldo, PC che rallentano, progetti personali che slittano, email che si affollano senza risposta.... malgrado questo, ho avuto pochi minuti fa la gioia di vedermi riconfermato l'MVP Award! Che dire, un grazie sincero ad Ale (si si, me la ricordo la survey :P), a Microsoft che continua a credere in me, ed a tutti i miei compagni MVP! :)
Il periodo pieno non accenna a smettere.. da un certo punto di vista mi va benone, dall'altro dormo troppo poco :)
In questi giorni, comunque, sto notando che manca proprio un'infarinatura su molte tematiche di base... uno dei piu gravi purtroppo è quello delle Performance.. ValueTypes, ReferenceTypes, boxing e unboxing, eccezioni... tutte cose di cui magari si parla ma di cui si ignorano gli impatti (Anche importanti, la maggior parte delle volte) in termini di velocità di esecuzione....
Una buona introduzione potrebbe essere questo articolo su msdn, un pò vecchiotto ma ancora attuale... sarebbe il caso di darci un'occhiata giusto per vedere...
Mi capita troppo spesso (sempre??) di avere a che fare con Warning presi sottogamba....
Il classico è il try/catch in cui si fa il catch dell'eccezione, ma poi non la si usa...
Questo vuol dire
1: non si conosce che il costrutto "catch" è ammesso anche se non si specifica l'eccezione, nel caso io voglia fare qualcosa senza interagire con l'eccezione stessa
2: si sta facendo debug spinto e "mi serve l'ex per capire cosa succede altrimenti non capisco"...
Ok.. perfetto.. una volta, due volte.. la terza ci attacchi un log4net.....
I warning sono l'anticamera di un problema. Si chiamano warning per un motivo, mica hanno...
... sono la base dello sviluppo...
Sono forse una delle cose piu importanti che voi possiate adoperare...
No, sul serio, non è uno scherzo.... non riesco a pensare a niente di piu serio di una corretta nomenclatura... tutto ciò di buono che possiamo fare o saper fare diventa inutilizzabile se non sappiamo dargli il giusto nome, corretto nel giusto contesto, e se non abbiamo il coraggio di cambiarlo (refactoring anyone?) nel caso diventi osboleto o scorretto.
Classi, variabili, metodi, proprietà, tutto il "mondo" dello sviluppo si disloca intorno a questo.. .eppure siamo nel 2007, molto è passato dai tempi della "niu economi"...
Lo vedo capitare sempre, ogni giorno, in tutto quello che faccio.
Gente che pur di fare un passaggio in produzione al millimetro lo fa alle 8 di sera di venerdi, e nel week end puntualmente si inchioda tutto, gente che se ne va a casa lasciando modifiche nel codice non testate senza nemmeno preoccuparsi del fatto che dovrà essere rilasciato tutto l'indomani, gente che dichiara chiuso un progetto perchè "funziona" e poi scatta alla macchinetta del caffè... ma non funziona, e non funzionerà mai ....
Capisco perfettamente la voglia di fare altro, di svago, di essere in altri posti soprattutto quando è...
Daily? Ma che daily... monthly... Yearly... insomma, è sempre lo stesso issue che si ripropone....
Partiamo dalla citazione che ha dato inizio al tutto:
"Supponiamo di aver addestrato un milione di scimmie a battere a caso sui tasti di una macchina da scrivere e che lavorino con ardore dieci ore al giorno con un milione di macchine da scrivere di tipi diversi. Che i sorveglianti illetterati raccolgano i fogli anneriti e li rileghino in volumi. Nel giro di un anno questi volumi conterranno la copia esatta dei libri di ogni genere e di ogni lingua conservati nelle biblioteche piu' ricche del mondo."
Emile...
Ok magari è un "mezzo" Daily Issue... però in relazione al mio post di ieri ed alla relativa osservazione di Massimo, ho ricevuto un pò di domande del tipo "ma che vuol dire inlining del JIT??"...
Effettivamente posso capire che non sia un concetto con cui si ha a che fare tutti i giorni, a meno di non chiamarsi Adrian :P..... quindi, piuttosto che spiegarlo io che potrei fare un bel po di confusione, vi rimando a questo post di Gunnerson che spiega in breve cos'è, a cosa serve e come funziona (piu o meno :))
Uno Issue un pò frettoloso, che oggi forse riesco ad uscire prima delle 9 di sera :)
Mi è capitato di configurare Log4Net in un ambiente che aveva già un logger (che però non funzionava :)) e per evitare di modificare tutte le pagine, ho tenuto la struttura e la severity del Logger esistente levando tutta la logica e chiamando log4Net.
Ho avuto il problema che tutti gli errori mi venivano ovviamente segnalati come partiti dal logger... .(
Un paio di ricerche sull'utilizzo di StackTrace ed ho trovato il metodo perfetto:
Type type = new StackTrace().GetFrame(1).GetMethod().DeclaringType;
Quindi passerò al GetLogger di log4net questo tipo!
Attenzione:...
Oggi niente Daily Issue: ho una laurea tra poco (non la mia, tranquilli, non è successo niente di irreparabile :P ) e sono incasinato in altre faccende ....
Però, il mio classico giro mattutino me lo faccio, e tra i tanti blog che visito ce n'è uno veramente carino, http://worsethanfailure.com/ (per chi naviga da un pò, mi pare che prima fosse il Daily What The Fuck, poi rinominato). Praticamente, una raccolta di stupidate relative al mondo informatico, non solo dal punto di vista dello sviluppo.
Bellissimo il post di ieri: http://worsethanfailure.com/Articles/Which-Cable.aspx
:)
http://www.theserverside.net/tt/cartoons/VSPriceless/VSPriceless_archive.html
:)
Apprendo oggi che è uscita la versione 3.1! Potete scaricarla qui.
La cosa sensazionale è vedere le statistiche:
Hm, only 4,436 lines of code for Rhino Mocks? I had met ASPX pages that had more code in them :-)
... è proprio vero!! Capita anche a me di vedere pagine ASPX con piu di 4000 righe di codice... tutte nel code-behind.... sigh
Ahahaha non l'avevo mai sentito, giuro! L'ho letto oggi come alternativa per definire qualcosa di disastroso:
The reporting system had a total of 192 forms, 87 modules, and 21 class modules. And hundreds of compiler errors. I believe the appropriate adjective here is "Hindenburgesque."
Che dire.. stupendo!Qui il link al post originale!
Like any skill, programming is something that gets better with a solid foundation that is continually built upon. Most of us got into software for the fun of problem solving. Once we lose the “fun”, that is when most of us settle into ruts that can be hard to get out of.
E si sa che l'ultimo punto è sempre il più importante.. lo dice anche lui :P
http://codebetter.com/blogs/jean-paul_boodhoo/archive/2007/04/05/Build-A-Solid-Core.aspx
Stavo leggendo un post che sottolineava l'importanza di licenziare qualsiasi software venga reso pubblico per evitare problemi a posteriori a chi voglia farne uso....
Sono abbastanza d'accordo con quanto scritto, soprattutto mi ha stupito la WTFPL: Do What The Fuck You Want To Public License...Che dire... particolare, ma credo che potrei adottarla :)
http://weblogs.asp.net/bsimser/archive/2007/04/03/scrum-room-fun-room.aspx
.... spettacolo... sogno il giorno in cui potrò avere anche io un posto simile :)
Stavo leggendo questo interessante post su Coding Horror riguardo le 6 migliori "Top Ten della programmazione"....
Qual'è secondo voi la voce piu importante tra tutte queste? Io punto su You are not your code:
My ego is not tied to my "perfect" or "imperfect" work product. My ego is only tied to my attempts to do the best job I know how, and to learn from my mistakes, not the initial result of my work.
Secondo me questo è _sacro_, troppo spesso vedo sviluppatori tanto attaccati al proprio codice da non riuscire non solo a fare un banale refactoring, ma neanche ad...
Beh che dire... è bello il reale utilizzo pratico... tipo il sapientino... impara divertendoti ;)
http://weblogs.asp.net/fmarguerie/archive/2007/03/28/using-linq-to-solve-puzzles.aspx
Volevo scrivere un mio post sul perchè le classi statiche sono spesso piu una fatica che un guadagno, ma non riesce a venirmi fuori come vorrei... quindi beh, mi appoggio a chi è più autorevole di me ... :)
http://www.thoughtshapes.com/Blog/?p=13
Edit: mi hanno fatto notare che "post apposta" fa schifo... lo cambio ;)
Ok, con ieri si è concluso il rilascio completo (quello che è definito come "Release 1".. .vedremo se sarà poi presente un'eventuale Release 2....) del famoso programma di tesoreria su cui sto lavorando da ormai due anni. E ancora una volta, devo inginocchiarmi e ringraziare .NET per aver fatto diventare il deploy delle applicazioni un gioco da ragazzi: pur senza pacchetto di installazione, è bastato copiare i siti, modificare i web.config (niente addin, la configurazione la vuole fare il lreparto IT .. così si sente partecipe... :)), pestare sulla tastiera un paio di InstallUtil, smanettare un pò con la GAC ed il...
Full Other .NET Archive