Aggregator

Due programmi per Diamond da installare "ASSOLUTAMENTE…

Il primo è GSen, che aggiunge l’autorotazione e TUTTE le applicazioni del cellulare…E funziona in tutte e quattro le direzioni… SPETTACOLO!!!

Il secondo è il Diamond TF3D Config, per cambiare l’ordine delle tab in Manila (TouchFlo…)

Ho preparato una bella cartella della flash da 4Gb incorporata con tutti SW da installare dopo un hardreset/flash della rom:

image

Il bello di avere la flash da 4Gb incorporata è che ci posso installare sopra TUTTI i programmi senza paura di “dimenticarmela” da qualche parte… smile_regular

Technorati Tags:
06/07/2008 17.50.30 Lorenzo Barbieri Lorenzo Barbieri @ UGIblogs!

La storia dell'informatica

 

Mi annoto questa sintesi dal post The Engines of Logic di Matteo Vaccari

 

  • Leibniz, perché è stato il primo a concepire l’idea di meccanizzare il ragionamento
  • Boole, perché ha inventato quella che oggi chiamiamo logica proposizionale o Booleana
  • Frege, perché ha esteso la logica proposizionale con la quantificazione (per ogni… esiste…)
  • Cantor, perché ha inventato il metodo di dimostrazione “diagonale”, che è stato poi messo a frutto da Goedel e da Turing
  • Hilbert, perché ha dato nuova linfa al progetto di Leibniz di ottenere un metodo per ottenere la risposta a qualsiasi domanda tramite il calcolo
  • Goedel, perché ha dimostrato che il progetto di Hilbert è irrealizzabile
  • Turing, perché ha definito con precisione il concetto di “problema computabile” (favolosi quegli anni… più o meno nello stesso periodo Hamming definiva con precisione il concetto di “informazione”. Bello che si possa dare una definizione precisa a concetti apparentemente sfuggenti.) Non solo: Turing ha anche concepito l’idea dell’algoritmo universale, ovvero di una singola macchina che è in grado di risolvere qualsiasi problema computabile. Da quest’idea nasce l’elaboratore di uso generale che conosciamo oggi: con il mio computer posso risolvere problemi di analisi matematica, archiviare indirizzi, editare immagini… non c’è limite.
  • Von Neumann, perché ha progettato l’architettura generale degli elaboratori che usiamo ancora oggi, e continueremo ad usare per un bel pezzo, visto che non ci sono all’orizzonte alternative plausibili.


Nella "disputa" tra matematici e ingegneri questo libro di Davis segna un +1 per i matematici ;-)

 

A questo elenco aggiungo Blaise Pascal e Charles Babbage che ritrovo nelle annotazioni di questo post.

06/07/2008 17.16.41 Luca Minudel (luKa)

Passione per l'informatica


Sfogliando vecchi post ho ritrovato alcuni personaggi che mi hanno incuriosito per come hanno vissuto e interpretato il loro interesse per l'informatica

 

06/07/2008 17.03.20 Luca Minudel (luKa)

Stampa clandestina?

06/07/2008 16.32.25 Lorenzo Barbieri Lorenzo Barbieri @ UGIblogs!

[WPF] FrameworkElement default language

Se in un applicazionew Windows Forms scrivo una cosa del genere:

public partial class Form1 : Form
 {
   public Form1()
   {
     InitializeComponent();
     DateTime dt = new DateTime(2008, 07, 06);
     label1.DataBindings.Add(new Binding("Text", dt, null));
   }
 }

ottengo come risultato una label che contenente: “06/07/2008 00:00:00”
Proviamo ora l’equivalente WPF ovvero:

<Window x:Class="WpfApplication4.Window1"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:sys="clr-namespace:System;assembly=mscorlib"
    Title="Window1" Height="300" Width="300">
  <Grid>
    <TextBlock Text="{Binding}" >
      <TextBlock.DataContext>
        <sys:DateTime>2008/07/06</sys:DateTime>
      </TextBlock.DataContext>
      </TextBlock>
  </Grid>
</Window>

In questo caso il Texblock contiene: “7/6/2008 12:00:00 AM”, ovvero malgrado i regional settings siano impostati su Italia, WPF sembra ignorarne le impostazioni.
Forzando la cultura del Textblock a “it-IT” in questo modo:

<TextBlock Language="it-IT" Text="{Binding}" >

il tutto viene rispettato e il TextBlock riporta “06/07/2008 0.0.00”.

A quanto pare, in assenza di un impostazione implicita i FrameworkElements usano la cultura di default che “guarda caso” è “en-US”.
Il modo più elegante, per allineare la cultura è sicuramente quello di modificare il valore predefinito della proprietà Language da “en-US” a quella del sistema operativo modificando i metadati della proprietà LanguageProperty allo startup usando questo codice:

public partial class App : Application
{
  public App()
  {
    FrameworkElement.LanguageProperty.OverrideMetadata(
      typeof(FrameworkElement),
      new FrameworkPropertyMetadata(XmlLanguage.GetLanguage(CultureInfo.CurrentCulture.IetfLanguageTag)));
  }
}

Questo è necessario anche se avete installato il SP1.

Technorati Tags: ,
06/07/2008 14.54.38 Corrado Cavalli Corrado's BLogs

Ferie #1: l'arrivo e il primo giorno

Ieri nel primo pomeriggio siamo arrivati qui a Marina di Camerota, dopo una lunga deviazione per evitare la Salerno-Riggio Calabria intasata all'inverosimile.

Sia ieri che stamattina ero quasi emozionato nel tornare in luoghi che non frequento da ben 25 anni. Fino all'età di 14 anni infatti ho passato le mie vacanze qui vicino al paese nqtaqle di mio nonno. Ora approfitto di una pausa all'ombra dopo pranzo per postare una foto della spiaggia in cui mi trovo che è la stessa in cui anni fa ho trascorso i piu bei momenti della mia infanzia

IMAGE_068.jpg

Non credo la qualità della foto sia eccelsa ma dimostra che tutto sommato gli qnni non hqnno rovinato questo lembo di spiaggia isolatata che ancora non è vittima della calca. Dall'altra parte è solamente sorto un "lido" che però è limitato alla parte più accessibile della spiaggia e quindi fuori della portata del mio sguardo e delle mie orecchie.

Da domani si esplora il resto del luogo e speriamo che non mi riservi amare delusioni...

06/07/2008 11.07.56 Andrea Boschin Radicalmente

Ferie... pronti... via!

E finalmente è arrivato il giorno. A partire da domani sarò in ferie. Mi trasferisco a dove passerò 15 giorni in panciolle (o quasi). Magari se mi capita di avere qualcosa da dire lo potrete leggere nel blog... l'importante è che non si lavora!

Buone ferie a tutti quelli che condividono lo stesso periodo, e buon lavoro agli altri... prima o poi tocca anche a voi!

P.S. Se ci fosse la remota possibilità che qualcuno da quelle parti mastichi di ASP.NET, C# e avesse dediderio di fare quattro chiacchiere basta scrivere e vediamo di organizzarci una serata...

Technorati Tags:
04/07/2008 15.34.32 Andrea Boschin Radicalmente

DeepZoomObama

Ecco una foto da 1 gigapixel realizzata componendo le foto dei “supporter” di Obama che mostra le potenzialità di DeepZoom e di Silverlight.

image

04/07/2008 7.33.57 Lorenzo Barbieri Lorenzo Barbieri @ UGIblogs!

bastardi

ribadisco: bastardi

Technorati Tag: ,
03/07/2008 14.24.17 Andrea Saltarello StrangeLog - Il blog di Andrea Saltarello

Un bel post sul “CIO che non vorremmo”, applicabile anche a molti “middle-manager&

Purtroppo conosco persone che hanno quasi tutti questi difetti… e non sono neanche CIO.

"My CIO is clueless." These are words you don't want to hear if you want to earn the respect of your application development professionals. So how do you avoid being a clueless CIO? Steer clear of these behaviors:

1. The CIO is a control nut.

2. The CIO is aloof.

3. The CIO gulps vendor Kool-Aid.

4. The CIO is a technical dinosaur.

5. The CIO is ubergeeky.

6. The CIO thinks changes can happen overnight.

7. The CIO doesn't know the difference between resources and talent.

8. The CIO collaborates to death.

9. The CIO spends all of his time trying to get promoted to CEO.

Leggete tutto il post con le spiegazioni alla fonte: 9 Reasons Why Application Developers Think Their CIO Is Clueless

03/07/2008 8.18.06 Lorenzo Barbieri Lorenzo Barbieri @ UGIblogs!

Indecisione…

Cosa si fa quando si è indecisi? Si provano entrambe le alternative

Certo… una è in Italiano e una in Inglese, ma non è un problema… avendo già provato la TLR 1.0 per qualche giorno devo dire che ha fatto un gran lavoro, però… vediamo… tra qualche giorno il responso…

02/07/2008 20.01.53 Lorenzo Barbieri Lorenzo Barbieri @ UGIblogs!

Community Days: da Query Object a O/RM

Ok, sembra che il corso di settimana scorsa sia piaciuto e che, per l'ennesima volta, il tempo non sia stato sufficiente, giacchè Alessio avrebbe gradito un approfondimento sul tema "Query Object". Provo a "rimediare" :-)

In realtà la richiesta di Alessio sottointende 3 distinte tematiche:

  1. "Query Object": chi era costui?
  2. Implementazione "hand made" di un DAL capace di gestire in maniera sensata la persistenza di un DM
  3. Produzione "al volo" del codice SQL

Andiamo in ordine: il design pattern query object è una specializzazione di Interpreter che si pone l'obbiettivo di definire un object model in grado di rappresentare una query SQL. Ciò significa, in pratica, permettere ad un sistema di produrre a runtime un grafo che definisca una query che il DAL si preoccuperà di eseguire restituendone il risultato. "Sbarazzandosi" da un punto di vista logico di SQL, il nostro sistema guadagna potenzialmente l'indipendenza da uno specifico RDBMS o, volendo estremizzare, da una specifica tecnologia/architettura di persistenza. Esempi di query object sono la Criteria API di (N)Hibernate o, se volete un esempio più semplice, il query model di NSK che è stato espressamente pensato per risultare "digeribile", pur rununciando all'obbiettivo di poter rappresentare il 100% delle query. Infine, LINQ è *il* query model idiomatico offerto dai compilatori "2008" di C# e VB (ricordiamo che un "idioma" è un omologo "technology specific" di un design pattern)

Disporre di un query model è però solo l'inizio, poichè occorre "qualcuno" in grado di eseguirlo: questo "qualcuno" è il DAL. E qui le strade sono fondamentalmente 2: a valle del parsing del grafo ottenuto istanziando il "query object", il codice SQL lo scriviamo noi o cerchiamo di produrlo "al volo".

Nel primo caso, indipendentemene dal fatto che SQL sia "embedded" nella applicazione o "confinato" nelle stored procedure, ci si accorge presto che, usando un DM, il DAL dovrebbe offrire servizi quali: gestione della concorrenza, lazy load...

La soluzione è "semplice" e consiste nel creare dei proxy per le classi del DM: Markino ha bloggato già in passato (oddio, sono già passati oltre due anni... sto invecchiando!!!!) la strategia che usiamo in Managed Designs per produrre i proxy, e che è possibile osservare maggiormente in dettaglio analizzando il sorgente del DAL "SQL Server" di NSK: in sintesi, si tratta di definire i proxy come classi internal al DAL effettuando l'override degli opportuni membri del DM e/o estendendo opportunamente quest'ultimo (per esempio, per la gestione del lock ove si usino gli "original value" e non un timestamp/numero di versione della riga).

Infine... Arriviamo al "punto 3": produrre codice SQL "al volo". Nell'ultimo anno ho dovuto implementare un O/RM "custom" a causa di un requisito non funzionale (ergo, il cliente chiedeva che l'applicazione usasse *esclusivamente* il FX 2.0 e quindi "nisba NHibernate o librerie esterne"): oltretutto, mi occorrevano feature che ad oggi nemmeno NH offre, quali il mapping di entità "frammentate" (presente in NH 2 ma non in 1.2, ossia l'ultima release GA) o la possibilità di mappare il DM su database differenti (nel senso che pezzi distinti dello stesso grafo provengono da db differenti), con tutte le immaginabili conseguenze a livello di distribuzione delle transazioni in fase di persistenza.

Non ho dubbi nell'affermare che sia stata una delle sfide maggiormente probanti della mia "carriera professionale" e che mi ha permesso di comprendere molto più profondamente il mondo degli O/RM rispetto a quando ero "solo" un "utente" di NH e Genome. Ad aver tempo da "perdere", è un esperienza che consiglierei a tutti <g>

Ecco, il punto 3 è un po' troppo complesso per pensare di trattarlo in un post "mattone" come questo: è il motivo per il quale ho aggiunto la sessione "O/RM Inside Out" nella agenda dei Community Days 2008. Sarà una sessione praticamente "slide free" e nella quale approcceremo il mondo degli O/RM da un punto di vista differente da quello tipicamente adottato nelle sessioni dedicate a questo argomento: vi assicuro che, anche come "utenti", "dopo" non saremo più gli stessi :-)

02/07/2008 9.24.42 Andrea Saltarello StrangeLog - Il blog di Andrea Saltarello

Most Valuable Professional - Year #2

Forse può sembrare scontato, ma sono davvero emozionato come un anno fa. Mi è appena arrivata la conferma che sono stato nominato per il secondo anno consecutivo . Davvero un onore senza paragoni per me.

Un grazie infinito ad Alead e a tutto il team Microsoft che sta dietro al titolo di MVP per l'opportunità che anche quest'anno hanno voluto regalarmi e per l'impagabile lavoro che fanno ogni giorno per tutti noi. Ora non mi resta che comunicarlo alla mia famiglia e festeggiare con loro un anno che è stato davvero carico di lavoro, iniziative e impegni ma perchè no anche di sano divertimento.

E colgo l'occasione anche per fare i complimenti ai nuovi MVP, che potete trovare in questo post:

Link: http://blogs.technet.com/alead_msft/archive/2008/07/01/mvp-award-program-july-08.aspx

01/07/2008 15.38.44 Andrea Boschin Radicalmente

Silverlight 2.0: Visual State Manager

Ecco un utile post dove vine spiegato il funzionamento del "miracoloso" Visual State Manager, introdotto con la Beta 2.

Silverlight: VisualState Manager, Storyboards and why designers should care about them both.

01/07/2008 7.17.09 Andrea Boschin Radicalmente

Silverligth 2.0: Deep Zoom Obama...

Date uno sguardo a cosa si riesce ad ottenere con lo deep zoom di Silverlight 2.0. L'immagine di Obama è composta da più di 12000 piccole foto dei supporters di Barack Obama.

http://www.deepzoomobama.com/

e qui trovate qualche chiarimento:

http://blog.donavon.com/2008/06/deep-zoom-obama.html

Ecco cosa dice l'autore:

Deep Zoom McCain was tried, but there were problems finding enough photos of McCain supporters. We did manage to find a few and if you really squint really hard, you can make out the image of John McCain’s face in the 20 image mosaic below.

Se volete un consiglio, provate a zoomare nelle pupille...

Technorati Tag: ,
01/07/2008 0.08.04 Andrea Boschin Radicalmente

Ineta: una nuova sfida per fare community

Qualche giorno fa mi è stato confermato che sostituirò l'amico Lorenzo Barbieri in Ineta come Country Lead per l'Italia. Una nuova sfida per aiutare le community a crescere e per proseguire la via tracciata da chi mi ha preceduto. Quindi non mi resta che rimboccarmi le maniche per apportare un utile contributo all'ecosistema degli User Group italiani cercando di dare continuità al lavoro che Lorenzo ha magnificamente svolto in questi anni. Nei prossimi giorni mi aspettano i primi impegni ufficiali per organizzare e pianificare le attività dei prossimi mesi. Bene ora sapete chi contattare se state pensando di avviare uno User Group che ruoti intorno alla tecnologia .NET, se già ne gestite uno o se avete qualsiasi curiosità su cosa sia Ineta.

Technorati Tags: ,
30/06/2008 8.18.11 davide Blog di Davide Vernole

Vodafone Station: Seconde impressioni

Ora che sto aspettando lo switch dal Telecom Italia, sono in una sorta di limbo. Ho ancora Alice attiva e, per ora non mi sogno di smantellare il tutto. La Vodafone station attiva, con la internet key attaccata sulla Station posso navigare e telefonare da un telefono normale. Però: Per connettermi ad internet devo collegarmi ad una [...]
29/06/2008 7.00.18 admin .mark.net - Marco Trova

Creatività & profitto

Ok, storie di artisti vissuti in povertà non mancano e forse nemmeno di grandi inventori "sfortunati".
Per stare nel nostro campo (l'informatica)  Sir Clive Sinclair  la dice lunga :D    -    Altrettante le storie di artisti popolari e dalle opere determinanti quanto gli inventori di successo.




I successi raggiunti con la creatività quali caratteristiche hanno in comune   ???
Mi vengono in mente successi nella architettura, nell'arredamento, nella moda, nella pubblicità, nelle auto sportive e di lusso    (( ( l'Italia ha una forte tradizione in questi settori ) ))    in cui creatività si traduce in prodotto

 

 

La frase più in tema che ho in mente  "il compito del design è di stare in equilibrio tra la vita e la rivoluzione e aiutare le persone ad affrontare il cambiamento"

 

Tags :   |  |

27/06/2008 20.15.13 Luca Minudel (luKa)

Passionate Teams, cooperative customers

 

Riporto queste slide di Claudio Perrone sulla agilità, la comunicazione efficace e l'approccio creativo.

Interesanti !  Non sarebbe stato male andare in svezia e assistere all'intera presentazione ;-)

 

 

Tags :   |  |  |  |  |  |
27/06/2008 12.58.13 Luca Minudel (luKa)

Vodafone Station: prime impressioni

Ho appena finito di scartare la Vodafone Station che mi è appena arrivata. Non funziona la internet key, sono alla ricerca dell’errore "Carta SIM lo status Errore! Si prega di Check it! ": ma diciamo che sono io.. Ha un Controllo Genitori, DMZ, Rubrica Composizione, firewall, port forwarding, Dynamic DNS, Wifi WEP/WPA e, attraverso [...]
26/06/2008 20.11.27 admin .mark.net - Marco Trova

Anche l'informatica ha un cuore

 

Mi annoto 2 frasi di Michael Atiyah dall'articolo di ieri sul corriere La matematica ha anche un cuore

L'informatica nasce come branca della matematica dalle ricerche sui fondamenti della matematica e dagli studi sulla calcolabilità di funzioni (es. numeriche finite, infiniti e infinitesimali e logiche) e quindi ce la metto dentro ;-)

 

 « Il matematico persegue la propria indagine per ragioni non troppo diverse da quelle per cui il pittore dipinge o il musicista compone »

 « In matematica, come nell' arte, non c' è alternativa allo scambio intellettuale tramite cui si tramandano le tecniche, la conoscenza di base e lo spirito di ricerca »

 

 


Tags :   |  |

26/06/2008 19.11.00 Luca Minudel (luKa)

Expression Blend Unleashed!

View Larger Cover Image

 

Sarà che Brennon, come me è un membro della setta dei WPF Disciples
Sarà che Brennon, oltre che un amico è la persona più competente su Expression Blend che conosco…
Sarà che effettivamente mancava un libro su Expression Blend 2.0 scritto da qualcuno che lo usa veramente…
Sarà che ho avuto il piacere di partecipare alla review e quindi sono orgogliosamente tra gli acknowledgements…
Sarà che ovviamente ho avuto una copia in omaggio… smile_regular 


Sarà quello che vi pare ma se siete degli sviluppatori WPF/Silverlight che stanno cercando di “domare” Expression Blend, e sapete benissimo che, magrado sviluppatori non possiete fare a meno di Blend, oppure puri designers che stanno cercando di capire come far convivere Blend con Visual Studio e le basi per interagire con l’arcano mondo degli sviluppatori, questo è decisamente il libro che fa per voi.

Bravo Brennon! you have no idea of how I’ve learned from you and your book!

Technorati Tags:
22/06/2008 15.23.38 Corrado Cavalli Corrado's BLogs

Architettura e performance

Sono daccordo con il recente post di Mauro e quindi con l'affermazione di Tommaso: "Se non è semplice c'è qualcosa che non va". Questa è stata la mia impressione in diversi lavori che ho visto, ma qui prepotentemente si insinua un altro problema: le performance.

Si, abbiamo macchine da 4GHz, ma certe scelte costano care anche su macchine superveloci.

Si, entro 5 anni arriveremo a 80 core, dice Intel (poi quando parlavo dei 16 core mi davano del visionario), ma sfruttarli per bene non è affatto semplice e gli strumenti sono ancora pochi (tra l'altro questi saranno proprio gli argomenti di una delle mie sessioni ai Community Days).

Ma ...

Ma recentemente ho toccato con mano che alcune scelte architetturali costano in performance e sono di tangibile fastidio all'utente che usa l'applicazione.

Factory, Proxy, MVC, MVP, Adapters, ... sono fantastiche soluzioni by design ... se si chiamano pattern significa proprio che sono stati usati con successo da migliaia di developer e quindi su questo non si discute. Il problema è chi li usa smile_regular.

  • La prima considerazione è che il disegno dell'applicazione è e rimarrà un passo fondamentale per la creazione di una applicazione, e che quegli strumenti sono validissimi.
  • La seconda considerazione è che lo sviluppatore e l'architetto devono dialogare per capire fin dalla stesura dell'architettura per capire quali possano essere i colli di bottiglia e non finire col piangere davanti ad un profiler.
  • La terza considerazione è che le performance vanno misurate perché è troppo facile dare la colpa al mancato uso di StringBuilder o all'architetto eccentrico, ma devo ribadire che se alla performance non ci si pensa fin dall'inizio, alla fine si fa prima a riscrivere, il che è quanto di peggio possa accadere.
  • La quarta considerazione è che i problemi di performance dovuti all'architettura ci sono a prescindere dall'ambiente di sviluppo e possono accadere anche con la programmazione nativa in C++. Solo che chi programma in C++ non ha strumenti insiti nel linguaggio per componentizzare (i componenti ci sono se si usa COM, Corba, Framework, ...) e quindi tipicamente l'architettura è più spartana.
  • Infine quello che ritengo sarà la soluzione ottimale e il miglior compromesso: la generazione di codice. Alcune scelte architetturali sono legate all'uso di tecnologie come Reflection, potenti ma anche arma a doppio taglio.

Concludendo, non sempre fare i "perfettini" con l'architettura paga, anzi tutt'altro.

Quindi tornando al post di Mauro aggiungo che l'architettura non deve essere solo semplice ma anche un compromesso con le tecnologie e i linguaggi che si stanno utilizzando. Non credo alla pura architettura riusabile meno che mai in modo trasversale sul Framework, su Java, su COM, etc. L'architettura si deve 'sporcare', quando è necessario, perché il nostro è il regno della tecnocrazia.

Paragone con un algoritmo di calcolo: lo scrivo in C++ e lo traduco in C# (o viceversa).
Funziona? Si. È efficicente? No, nella gran maggioranza dei casi perché lo strumento ha delle differenze notevoli da cui non possiamo prescindere.

20/06/2008 7.43.21 Raffaele Rialdi Web Log di Raffaele Rialdi

Microsoft SQL 2005: quando un certificato può fare la differenza

Qualche volta la soluzione ad un nostro problema è quella che scartiamo perché la meno probabile. E' quello che è capitato oggi ad un collega che improvvisamente non riusciva più a connettersi al suo SQL Server 2005. Dopo qualche verifica e un pò di tempo perso, Luca ha risolto il suo problema proprio seguendo la strada che aveva inizialmente scartato. Ecco il link al post dove descrive il problema ed indica come risolverlo: SQL Server HowTo: Quando è impossibile connettersi al proprio SQL Server 2005....

19/06/2008 0.01.12 davide Blog di Davide Vernole

[OT] Il docente deve sempre essere preparato a tutto ...

Chi fa il docente di corsi sa bene che possono capitare le cose più strane, ma questa ci ha fatto ribaltare tutti dalle risate.

Dite che fa parte del LAB?

IMG_3199

Ovviamente come prima cosa ho ruotato fisicamente il monitor, poi ho optato per una soluzione più high-tech smile_tongue

Grazie alla simpaticissima Veruska per le risate smile_teeth

BTW l'utility della scheda grafica Intel lascia di default gli shortcut di rotazione monitor attivi.

18/06/2008 8.53.17 Raffaele Rialdi Web Log di Raffaele Rialdi

Windows Live Platform: percorso formativo

Gil impegni delle ultime settimane non mi hanno permesso di dare risalto al percorso formativo sulla piattaforma dei servizi Windows Live che io e Pietro Brambati abbiamo preparato per aiutare chi vuole iniziare a lavorare con i servizi e i controlli di questa piattaforma. Se l'argomento è di vostro interesse trovate qui il link ai diversi webcast che compongono questa offerta formativa: Percorso formativo per Windows Live.

17/06/2008 5.33.29 davide Blog di Davide Vernole

Pex: Automated Exploratory Testing for .NET

Qualche giorno fa un amico mi ha segnalato questo tool per la generazione parametrizzata di test con un'elevato code coverage. Le principali funzionalità sono:

  • Unit Tests: metodi senza parametri per il test di una singola unità di codice
  • Parameterized Unit Tests: come il precedente ma con parametri
  • Automated Exploratory Testing: un tool in grado di supportare il processo di esecuzione, apprendimento e test allo stesso tempo
  • Dynamic Symbolic Execution: una combinazione di analisi statiche e monitoraggio a runtime per valutare test inputs

Lo schema seguente da un'idea di quanto indicato in precedenza:

parameterzedtestsschema

 

Se la cosa vi stuzzica, ecco i link al sito di Microsoft Research dove potete trovare maggiori informazioni: Pex: Automated Exploratory Testing for .NET.

13/06/2008 21.34.46 davide Blog di Davide Vernole

E poi si dice che la sicurezza non è divertente ...

13/06/2008 16.15.31 Raffaele Rialdi Web Log di Raffaele Rialdi

User Group Television (UGTV): nuova iniziativa rivolta al mondo community

clip_image002

Le iniziative per il mondo community non si fermano mai. Ora è il momento del lancio di ugtv, uno show per dare voce alle community e pensato appositamente per questo. Ora tocca a voi. Se volete essere coinvolti proponendo contenuti o pubblicizando questa iniziativa, ecco cosa potete fare:

Video interviste: contattate ugtv per dettagli e linee guida.
How To: demo tecniche per sviluppatori che volete raggiungano le community: inviatele a ugtvidea.
Divulgare: bloggate gli episodi correnti in modo che le vostre community possano trovarli rapidamente.
Incoraggiare: suggerite ai membri della vostra community la possibilità di fare dei video interviste o date evidenza di come facciano attività pro-community.

Partecipate numerosi, occasioni come queste non si possono far scappare !

Technorati Tags: ,,
11/06/2008 6.05.09 davide Blog di Davide Vernole

Questione di par condicio

In bottega stiamo esportando un db molto grosso da una istanza di SQL Server ad una di Oracle, entrambe collocate sulla stessa VM. Risultato? SQL Server si è "fregato" tutta la RAM e Oracle, per non essere da meno, sta monopolizzando la CPU. Roberto e Markino dicono che tra poco Windows per dispetto se ne andrà urlando: "E allora mi tengo il pallone e me ne vado, gnè gnè gnè" <g>

09/06/2008 11.05.23 Andrea Saltarello StrangeLog - Il blog di Andrea Saltarello

Utenti finali e il sistema sicurezza: la settimana della sicurezza in rete

Nella sicurezza informatica i due attori sotto i riflettori sono l'attacker e il defender. Il dato più evidente è che l'attacker è sempre costantemente in vantaggio perché può inventare sistemi e modalità di attacco che non sono ancora noti al defender.

Il sistema sicurezza evolve in una sorta di spirale; man mano che un sistema informatico diventa più sicuro, gli attacchi mutano, evolvono per qualità e inventiva, e le contromisure per contrastarli sono dei veri contanti che gli utenti incassano come sicurezza di qualità ancora superiore. E naturalmente il ciclo continua all'infinito.

Questa continua elevazione della sicurezza non raggiunge un livello soddisfacente a causa di un grosso e grave difetto: sto parlando dell'utente.

L'utente è un fattore primario nella sicurezza ed ha un peso importante tanto quanto le scelte tecnologiche e architetturali. Gli attacchi di social engineering lo dimostrano rendendo spesso vane le barriere tecnologiche più sofisticate.

Poco dopo l'invenzione dell'automobile, sulle strade si verificarono i primi tragici incidenti e si decise che era indispensabile l'introduzione di una patente prima di poter scorazzare per le strade armati di motore a scoppio. L'utente inesperto è dannoso per gli altri? La risposta è si e la piaga dello spam si allarga proprio per questo motivo.

Nel 1630 gli untori dell'epidemia di peste venivano linciati o, nella migliore delle ipotesi, processati.
Ogni utente che lascia esposto ad internet il PC non aggiornato, con servizi aperti, senza firewall, e apre gli attachment delle email facendosi impestare di virus è un untore di nuova generazione. Si perché al contrario di quanto si crede comunemente i virus si contrastano meglio con l'intelligenza e la conoscenza del PC rispetto all'uso dello stupido, e talvolta persino inutile, antivirus.

Perciò quando vedo un'iniziativa come quella di www.SicurezzainRete7x24.org non posso che essere contento.

120x90_SicurezzaRete_051608 

Rendiamo l'utente consapevole di come usa il suo PC e non riduciamo gli utenti a degli automi che affidano la sicurezza solo allo strumento che hanno davanti ai loro occhi.

La settimana della sicurezza in rete è appena iniziata e l'iniziativa è rivolta agli utenti finali. Ovviamente non finirà il 14 Giugno ma questa settimana è una buona occasione per i professionisti del settore per promuovere l'iniziativa verso i propri familiari, amici e clienti.

Tra le video interviste ci sono quelle di Vincenzo di Russo, il guru di Internet Explorer, ed il sottoscritto.

 

Infine un paradosso: è curioso che i cosiddetti meno esperti, proprio perché fanno numero, sono la principale causa scatenante di quell'evoluzione tecnologica (hardware più potente e meno costoso, banda internet più ampia, applicativi più sofisticati, games più realistici, etc.) che al tempo stesso temono e vorrebbero che fosse meno rapida. Nel contempo i "geek" vorrebbero godersi più novità tecnologiche possibili ma senza quegli utenti che invece l'hanno resa possibile.

08/06/2008 0.03.23 Raffaele Rialdi Web Log di Raffaele Rialdi

SA1200: UsingDirectivesMustBePlacedWithinNamespace

Se avete installato il Microsoft Source Analysis e l'avete provato su un qualsiasi progetto, presumo che nella serie interminabile di errori vi sarà sicuramente capitato quello con codice SA1200: UsingDirectivesMustBePlacedWithinNamespace e vi sarete domandati il perchè di questa segnalazione.
A prima vista il problema sembra non esistere, anche in considerazione del fatto che la posizione dei vari using è generata automaticamente da Visual Studio.
In realtà posizionare gli using all'interno del namespace comporta una minore possibilità di collisione dei namespaces e sopratutto cambia la modalità di caricamento delle assemblies che contengono i tipi presenti nel namespaces da immediata a "lazy loading" con ovvi benefici.
Esempi e dettagli li trovate in questo post.

Nota positiva: Se spostate gli using all'interno del namespace,  la funzionalità di auto-importazione dei namespace di Visual Studio aggiunge in posizione corretta i nuovi stament using.

30/05/2008 19.48.29 Corrado Cavalli Corrado's BLogs

Passaggio a BlogEngine. Addio WordPress

Era da tempo che avevo iniziato la cosa, ma per un motivo o per un’altro avevo sempre posticipato. Ecco che ora il mio blog gira su BlogEngine e non più su WordPress. Perchè questo? Semplice perchè BlogEngine è sviluppato in .NET e questo mi permette di personalizzarlo e aggiungergli funzionalità a mio piacimento, senza dipendere [...]
30/05/2008 9.25.10 Andrea Dottor Andrea Dottor - il silenzio di un urlo

PDC 2008, prime informazioni

Sono stati annunciati i primi dettagli riguardo alla Professional Developer Conference 2008, che si terrà a Los Angeles dal 26 al 30 Ottobre 2008.

Su http://www.microsoftpdc.com si può già vedere una lista preliminare delle sessioni previste per l'edizione 2008 della più importante conferenza per sviluppatori in ambiente Microsoft.

Gli argomenti sono invitanti, si parlerà di Windows 7 e dei servizi Live.
Però il mio crescente scetticismo (a mia discolpa faccio notare che sono tra chi si è appassionato a WinFS, ObjectSpaces, MBF, tutte vittime da PDC) mi porta a valutarne i contenuti soppesando la (remota) possibilità che si tratti di una PDC riparatrice per la rocambolesca cancellazione dell'edizione 2007 oppure che sia pensata con un intento più politico che un intrinseco contenuto tecnico. Aspetto di sentire qualche parere informato da parte degli MVP italiani.

Sarà anche la prima PDC di Microsoft 2.0 senza Bill Gates.

28/05/2008 12.34.00 noreply@blogger.com (Davide Bedin) dude vs. IT

Community Days 2008: le track

Anche se l'agenda è ben lontana dall'essere completa, l'impianto dei Community Days 2008 è ormai delineato: 5 track e, in generale, un "taglio" un po' differente da quello degli eventi precedenti. Spesso, in passato, ci siamo scientemente concentrati sulla presentazione o sull'approfondimento di tool/tecnologie/metodologie, cercando di essere (tra) i primi ad affrontare le novità a qualunque livello di approfondimento: dalla "mia" sessione dedicata ad OOD a marzo 2003 fino alla presentazione di ASP.NET MVC svolta lo scorso dicembre, passando per l'Agile workshop di settembre 2003 o il "double Whidbey" del 2004, questo è spesso stato il nostro modus operandi.

Questa volta è diverso. FX 3.5 è in RTM dallo scorso novembre e tutti noi, chi più e chi meno, ha già "smanettato". L'unica vera novità all'orizzonte si chiama SP1 (che infatti richiede un discorso -e una track- a parte), ma a me e Daniele è sembrato fosse giunto il momento di orientarsi verso il fare più che verso l'introdurre e approfondire. Ecco la novità: ad eccezione delle track SP1 e Underground, i prossimi Community Days rappresentano un "mega HOW TO" che cercherà di concentrarsi sulla risoluzione di problemi *reali* e *specifici*, rendendo la tecnologia uno "strumento" e non un "fine".

Da Castle alla Enterprise Library, da NH ai gusti di Linq, non ci saranno "primi cittadini": il focus sarà sullo scenario e sulla soluzione, il resto è fuffa. Tutto ciò premesso, ecco un breve "abstract" delle track:

  • Infrastructure: è la track dedicata agli scenari nei quali il pilastro della soluzione è una tecnologia od un prodotto. A puro titolo di esempio, una soluzione di orchestration basata su BizTalk vedrebbe una naturale collocazione in questa track
  • Application Development: è la track destinata a contenere le sessioni il cui focus è costituito dalla realizzazione di applicazioni destinate ad un utente finale
  • Undergroud: è la track per i visionari, interessati a scoprire soluzioni innovative a problemi complessi
  • Tutorial: è la track destinata a presentare "micro" scenari e la soluzione al "problema nel problema"
  • SP1: in questa track mostreremo le novità più importanti introdotte dal service pack 1 del framework 3.5

More to come: nel frattempo, per le discussioni c'è il forum :-)

28/05/2008 11.15.20 Andrea Saltarello StrangeLog - Il blog di Andrea Saltarello

Newsreader Windows Mail addio

Outlook Express non mi dispiaceva affatto. Tutto sommato ho postato per anni migliaia di messaggi su diverse gerarchie senza avere troppi problemi.

Da quando ho aggiornato il mio PC a Windows 2008 e più recentemente anche sul nuovo portatile (ebbene si, ho ceduto all'offerta Dell, un XPS 1530) mi sono trovato forzatamente ad usare Windows Mail su cui funziona ancora il caro vecchio OE-Quotefix.

Anche se all'apparenza sembra identico al vecchio Outlook Express, sono riusciti a fare il disastro. Quando apro un gruppo seleziona automaticamente il primo messaggio non letto, marcandolo come letto. All'apertura di un gruppo "corposo" flickera la lista dei messaggi per diversi secondi. Nessuna nuova feature per gestire decentemente i messaggi.

Risultato: bruciato Windows Mail e migrazione immediata e definitiva al già testato MesNews. Tutti i problemi risolti e opzioni comodissime a bizzeffe (sync più veloce, quoting, fonts, opzioni dei server, ...). Sono bastati solo pochi post per rendermi conto di essere molto più produttivo e in grado di postare di più in meno tempo.

L'impressione personale è che come accadde per IE6 (cioè messo in cantina per troppo tempo dormendo sugli allori) anche per Outlook Express sia accaduto lo stesso, con la grossa differenza che a MS non stanno simpatici i newsgroup (vedi tempi di latenza sul post e tante altre cose che vado ripetendo al limite dello scontro fisico ad ogni incontro con i team di MSDN Forums).

Peccato veramente perché NNTP è un pilastro di Internet. Vedremo che succede, ma se non ci pensa MS stiamo sicuri che ci penseranno altri.

26/05/2008 21.10.04 Raffaele Rialdi Web Log di Raffaele Rialdi

Microsoft Source Analysis for C#

Finalmente un tool interno Microsoft conosciuto come StyleCop è stato rilasciato pubblicamente. L'utility serve per controllare e uniformare lo stile utilizzato nello scrivere, mantenere e documentare il codice C#, infatti questo tool, alternativo a FxCop, analizza direttamente il codice sorgente.
Una volta installato si integra direttamente in Visual Studio

image

e produce un report dettagliato su cosa non va nel vostro codice, in dettaglio il tool analizza:

  • Layout of elements, statements, expressions, and query clauses
  • Placement of curly brackets, parenthesis, square brackets, etc
  • Spacing around keywords and operator symbols
  • Line spacing
  • Placement of method parameters within method declarations or method calls
  • Standard ordering of elements within a class
  • Formatting of documentation within element headers and file headers
  • Naming of elements, fields and variables
  • Use of the built-in types
  • Use of access modifiers
  • Allowed contents of files
  • Debugging text


image

Download here
More infos here

Trick: Se volete modificare/disabilitare alcune regole utilizzate il menu "Source Analysis Settings" disponibile facendo right-click sul progetto in Solution Explorer.

Technorati Tags:
23/05/2008 22.29.42 Corrado Cavalli Corrado's BLogs

ASP.NET Dynamic Data - Custom Page

Come abbiamo vsito nel precedente post (Dynamic Data - Per iniziare), le pagine renderizzate sono basate su dei template che sono contenuti all’interno della cartella /DynamicData/PageTemplate/.I template che abbiamo a disposizione sono: Details.aspx Edit.aspx Insert.aspx List.aspx ListDetails.aspx queste pagine utilizzano i classici controlli di ASP.NET (e ulterioli controlli contenuti nei Dynamic Data) che [...]
22/05/2008 12.33.28 Andrea Dottor Andrea Dottor - il silenzio di un urlo

RockScroll - scrollbar sostitutiva per Visual Studio

Vi avevo promesso che lo avrei postato, ed eccomi qui.  All’ultimo meeting alcuni mi voi mi hanno chiesto cosa fosse la scrollbar che utilizzavo in Visual Studio. Altro non è che un tool che va a rimpiazzare la normare scroolbar e al suo posto ci mette una miniatura del testo presente nel file, evidenziando la [...]
20/05/2008 10.39.51 Andrea Dottor Andrea Dottor - il silenzio di un urlo

ASP.NET Dynamic Data - Per iniziare

Il miglior modo per capire cosa siano i Dynamic Data è quello di provare a realizzare una semplice applicazione che ne faccia uso. 1- Creazione Dynamic Data WebSite Creiamo da Visual Studio 2008 un nuovo WebSite, e tra i template disponibili selezioniamo Dynamic Data WebSite. Ricordo che questo template è disponibile solo installando il SP1 del [...]
19/05/2008 12.57.54 Andrea Dottor Andrea Dottor - il silenzio di un urlo

Narciso, parole di burro...

Ossignore, sono in onda! Uhhh, che caldo!!! Va bene il trucco? Come stanno i capelli? <g>

Technorati Tag:
19/05/2008 8.42.34 Andrea Saltarello StrangeLog - Il blog di Andrea Saltarello

ASP.NET Dynamic Data… cosa sono?

Lo devo proprio ammettere, questi Dynamic Data sono proprio stupendi!In questo periodo ho avuto modo di approfondirli per bene, e rilascio dopo rilascio si può dire che Microsoft stà facendo proprio un bel lavoro, e i progressi si vedono. Cosa sono i Dynamic Data?I Dynamic Data permettono di creare una Web Application per l’accesso e la [...]
17/05/2008 12.35.40 Andrea Dottor Andrea Dottor - il silenzio di un urlo

[VS 2008 SP1] Background compiler in C#

Strano ma vero, col SP1 anche C# eredita una peculiarità unica di VB: il background compiler, ovvero l'indicazione immediata di eventuali errori sintattici "as-you type", quindi senza compilare.

Col nuovo SP1 questo snippet C#:


image

mostra immediatamente che qualcosa non va senza lanciare il Build del progetto.
Ovviamente l'opzione è disabilitabile via: Tools->Options->Text Editor->C#->Advanced->Show live semantic errors

image 

12/05/2008 21.10.55 Corrado Cavalli Corrado's BLogs

Usare Windows 2008 come workstation

Ricordo che nel 2003 non riuscivo più a sviluppare con il portatile che avevo a disposizione, un PIII 800Mhz e 512Mb di RAM. Dovevo fare anche in fretta, la scadenza del progetto si avvicinava.. Ma perchè non usare Windows 2003 server invece di Xp? Nuova vita al portatile! Che scoperta. Avevo un pc più veloce, [...]
26/04/2008 8.42.26 admin .mark.net - Marco Trova

Hosted Exchange E-Mail and Services

Questo episodio mi ha fatto riconsiderare il costo di gestione del mio server Exchange che serve meno di 10 utenti. Come Partner ne abbiamo la licenza come privilegio annuale ma consideriamo questi elementi:

Migrazione.
La migrazione all'ultima versione 2007 di Exchange è inesorabilmente all'orizzonte. Disponibile solo a 64bit e con discreti requisiti di memoria, obbliga a cambiare server nonostante l'impegno rimanga lo stesso.

Manutenzione.
L'applicazione di Service Pack ed hotfix richiede più o meno lo stesso tempo per un server che supporta una realtà piccola o grande. Lo stesso vale per il Windows Server su cui è operativo Exchange.

Impegno server.
Gestione di un server praticamente dedicato ad Exchange per minimizzare i side effect di hotfix e service pack che si possono verificare in presenza di altro software.

Spam e virus.
Il costo in termini di traffico di rete, occupazione CPU e canoni annuali di sfotware antispam ed antivirus per il server (noi usiamo GFI). Considerando che circa il 98% del traffico di posta è costituito da SPAM questi sistemi sono necessari.

La soluzione a questi problemi potrebbe essere Exchange Hosted E-Mail e Exchange Hosted Services.
Alcuni Partner Microsoft sono in grado di offrire Exchange come servizio, per il quale si paga un canone proporzionale al numero di utenti ed al volume di posta gestita. 
Microsoft offre direttamente una serie di servizi agguntivi  tra cui il filtraggio (antispam, antivirus, filtro per contenuti), archiviazione e continuità del servizio, servizi utilizzabili con qualsiasi server di posta, sia in modalità hosted o gestito direttamente.

Credo che anche nel mio caso, in cui non ci sono i costi di licenza di Exchange da considerare, un servizio hosted potrebbe essere economicamente conveniente.

18/04/2008 13.50.00 noreply@blogger.com (Davide Bedin) dude vs. IT

Notifiche da Sharepoint 2007 via Exchange 2003

Dopo avere vissuto diversi problemi nella migrazione da una installazione basilare di Sharepoint Portal 2003 a Sharepoint 2007, ho lasciato passare alcuni mesi ed ho ritentato la migrazione graduale (volendo cambiare server e database), che questa volta ha avuto successo ed è andata come previsto, più o meno.

Con l'uso di Sharepoint 2007 mi sono accorto che non sono in grado di aprire in Outlook 2007 i messaggi di notifica del server.

In un primo momento ho pensato si trattasse di un problema locale, infatti altri utenti non hanno riscontrato lo stesso problema. La prima ricerca su Google trova alcuni articoli che affrontano il problema.

KB 930807: You cannot open a SharePoint Server 2007 notification message in Outlook 2007 when your mailbox is on an Exchange 2003 server

Si tratta di una incompatibilità tra Sharepoint 2007 ed Exchange 2003 che ne rende illeggibili i messaggi quando il client Outlook 2007 opera in modalità cached, salvando in locale i messaggi. La soluzione è applicare una hotfix ad Exchange 2003, dopo avere aggiornato il server a SP2.

Chi usa un portatile tende ad utilizzare la modalità cached, oltre ad essere l'impostazione di default nell'installazione di Outlook 2007, e quindi non sembra uno scenario così raro da non essere contemplato.

Che dire, Sharepoint 2007 continua ad essere fonte di inaspettate sorprese ;-)

18/04/2008 13.24.00 noreply@blogger.com (Davide Bedin) dude vs. IT

Vincitori premio STAGE.IT di Confindustria Padova

Ieri, 13 Marzo 2008, la BEDIN Shop Systems srl e lo studente Eric Miotto sono stati premiati dall'ICT Lab di Confindustria Padova per lo stage a maggiore contenuto di innovazione realizzato nell'anno 2007, nel corso della 3a edizione del premio regionale STAGE.IT.

Ecco il link al comunicato stampa riportato sul sito di Confindustria Padova e su PadovaNews.

Il progetto di stage sviluppato da Eric Miotto in BEDIN Shop Systems srl ha riguardato l'integrazione del web service Amazon.com Simple Queue Service (SQS) in uno smart client basato su piattaforma Microsoft .Net, mediante l'utilizzo di Microsoft .Net Windows Communcation Foundation (WCF).
Oltre ad offrire una soluzione pratica per l'invio di dati in asincrono tramite web services ha avuto anche il pregio di dimostrare il valore aggiunto portato dall'aggregazione di diversi servizi web, basati su piattaforme eterogenee, accomunati dalla condivisione dei meccanismi di interoperazione.

Al completamento del corso di studi di specializzazione Eric Miotto entrerà a fare parte del team di sviluppo della BEDIN Shop Systems.

14/03/2008 9.27.00 noreply@blogger.com (Davide Bedin) dude vs. IT

FreeTrain

Quante ore ho giocato con A-Train, un gioco di simulazione di treni e business del trasporto, sul finire degli anni novanta . Amarcord.. Era videogame credo di produzione giapponese, distribuito dalla Mindscape, comprato [pensate] in originale, tale era la passione. Ho ultimamente trovato un progetto opensource, FreeTrain, scritto in C# sempre da un giapponese Kohsuke Kawaguchi. FreeTrain [...]
22/02/2008 8.48.53 admin .mark.net - Marco Trova

Transaction Isolation

Riporto alcuni link ad articoli che spiegano in dettaglio i livelli di isolamento delle transazioni in SQL Server 2005 e li mettono a confronto:

Altri link utili su System.Transactions e l'interazione con il livello di isolamento:

13/02/2008 10.47.00 noreply@blogger.com (Davide Bedin) dude vs. IT

Italia.it è stato chiuso per problemi di sponsorship

Nell’articolo “Io Accuso i killer di Italia.it” del settimanale Economy di questa settimana, c’è un’intervista a Lucio Stanca , ex Ministro del governo Berlusconi, primo “sponsor” del progetto Italia.it . Nell’articolo vengono evidenziati i tipici problemi di progetti di content management, quelli che incontro spesso, specie nelle grandi (e articolate) organizzazioni. Stanca invita a distinguere il piano [...]
06/02/2008 10.32.32 Marco Trova .mark.net - Marco Trova