Aggregator

Compleanni... Virtuali

Alessandro ricorda che ieri VMWare ha compiuto il decimo anno di età, e non posso che accodarmi agli auguri: considerando i miei ultimi 10 anni di "carriera professionale", "architettura" e "virtualizzazione" sono state le "folgorazioni" che più mi hanno segnato. So che ciò che sto per scrivere mi collocherà una volta di più nella casellina degli "uber geek", ma i feticci professionali cui sono più legato sono probabilmente proprio le fatture d'acquisto di VMWare 1.0 (datata 7 febbraio 2000) e Rational Rose (datata 18 maggio 2000).

Ricordo quanto tormentata fu la scelta di effettuare investimenti così onerosi (Rose lo pagai 3.830.000 lire +IVA, VMWare fortunatamente un bel po' meno e le versioni successive le ebbi gratis in qualità di MCT) per un freelance, ma a tutt'oggi sono soddisfatto della mia scelta e mi diverto un sacco a gestire il cluster ESX che ho installato in bottega, tampinando proprio l'amico Ale quando ho un problema che nessuno può risolvere (e non riesco a trovare l'A-team <g>).

E poi si sa: l'hypervisor fa parte delle invenzioni più determinanti nella Storia dell'Uomo, al pari di: ruota, fuoco e... Sedile reclinabile <g>

16/05/2008 10.28.51 Andrea Saltarello StrangeLog - Il blog di Andrea Saltarello

Incapacità di riconoscere le proprie carenze

Ecco un post che mi ha colpito e mi ha fatto riflettere: Unskilled and unable to realize it...

16/05/2008 8.16.37 Lorenzo Barbieri Lorenzo Barbieri @ UGIblogs!

Remainder per i ritardatari - ASP.NET 3.5 Community Meeting

Siamo al 16 Maggio 2008 ed è giunta la giornata in cui terrò il Community Meeting su ASP.NET 3.5 al NOVOTEL a Mestre. Cosa vi spetterà questa sera?Le novità introdotte in Visual Studio 2008 per gli sviluppatori Web, i nuovi Data Control (ListView, LinqDataSource, DataPager), ASP.NET AJAX e per quanto riguarderà il futuro, vedrete all’opera i [...]
16/05/2008 7.59.32 Andrea Dottor Andrea Dottor - il silenzio di un urlo

Progettazione di applicazioni multi-threading - pattern comuni

 

    Comincio col repertorio di possibili opzioni per la progettazione di applicazioni multi-threading, da quelle comuni a entrambi i  modelli a competizione e a sincronizzazione.

   Active Objects  pattern  

Lo scopo è riconoscere quanti thread ci sono in una applicazione, distinguere i compiti di un thread da quelli di un altro e identificare come quando e chi crea nuovi thread.

L'esecuzione di un nuovo thread ha inizio in active object.  Le istanze di active object sono in relazione 1 a 1 con i thread.

A un thread con un compito (per esempio quello restare in ascolto delle richieste di connessone di un client) cnrrisponde una classe di active object, a un thread con un compito differente (per esempio quello che esegue i comandi inviati dal client) corrisponde una classe differente. 

Quando ci sono più thread con lo stesso compito ci saranno più istanze dalla stessa classe di active object. La cosa può essere evidenziata con una classe Factory piuttosto che con una Singleton.

Ho trovato l'idea degli Active Object sia nei documenti del Object Management Group sul UML (in fondo a questa pagina c'è l'estratto sugli active object http://www-inf.int-evry.fr/COURS/UML/notation/notation8a.html ) sia nel Portland Pattern Repository (qui http://c2.com/cgi/wiki?ActiveObject)

Ad esempio ...

     una interfaccia IActiveObject con i metodi Run(), Cancel(), GetStatus() può identificare gli oggetti attivi di una applicazione

     il nome della classe può richiamare il compito del thread e può avere il prefisso active object e/o la dicitura singleton per marcare che di quel tipo nella applicazione cen'è uno solo

    la presenza di una classe omonima a un active object con il suffisso Factory può invece inidicare che thread con quel compito ce ne possono essere molti

tipo   ListenerSingletonActiveObject   e   ClientCommandsReceiverActiveObject   in coppia con   ClientCommandsReceiversFactory  

piuttosto che    Listener: ISingleActiveObject   e   ClientCommandsReceiver: IActiveObjects   in coppia con   ClientCommandsReceiversFactory : IActiveObjectsFactory  

Tags :  Progettazione Software |  

15/05/2008 23.40.06 Luca Minudel (luKa)

Elite Agency is alive...

Credo che molti si siano accorti che i namespace dei miei progetti di solito iniziano con "Elite" e in effetti sono stati molti che mi hanno chiesto cosa fosse esattamente Elite dopo aver visto il mio sito web http://www.boschin.it.

Elite è una cosa che mi porto dietro da ormai svariati anni, più o meno da un periodo critico della mia vita professionale dal quale poi è iniziata anche la mia passione per l'attività di community. Elite era una possibile strada da percorrere che poi è stata "sospesa" in attesa di tempi migliori.

Beh, è notizia di questa settimana che Elite ha finalmente visto la luce, diventando ufficialmente il logo della mia attività di Consulenza che ho deciso di avviare - spinto da alcuni amici - e che per il momento condurrò in parallelo al lavoro dipendente che rimarrà ancora per parecchio la mia preminente fonte di sostentamento. Poi con il tempo vedremo se quello che per ora è semplicemente uno sbocco per una serie di occasioni che si sono presentate diventerà una attività vera e propria che mi impegni a tempo pieno... tutto dipende da come andrà il lavoro e soprattutto se il sistema Italia arriverà ad una tassazione equilibrata e una burocrazia semplificata...

MAH...

Technorati Tag: ,
15/05/2008 22.31.22 Andrea Boschin Radicalmente

Installazione di Virtual PC 2007 SP1

Prima di installare la SP1 sono andato a controllare i numeri di versione di VPC e delle Additions:

imageimage 

Poi ho lanciato l'installazione, senza rimuovere VPC2007 e già dal setup su vede quale sarà la nuova versione (6.0.192.0):

image

Il Setup mi avvisa subito di SPEGNERE le VM e di non lasciarle semplicemente sospese, pena incompatibilità e malfunzionamenti vari:

image

Il Setup trova dei file bloccati, gli dico di ignorarli:

image

Al termine dell'installazione non mi chiede neanche di riavviare, meglio!

Il risultato è il seguente:

image

Faccio ripartire le VM, vanno tutte tranquillamente, a questo punto in ognuna vado sul menu Action, seleziono "Install or Update Virtual Machine Additions", parte il setup, non è nemmeno necessario rimuovere la versione precedente (si risparmia un LUUUUUNGOOOOOO reboot) e dopo un solo reboot veloce la VM è pronta con le nuove Additions installate:

image

Come si vede la versione è 13.820.0.0, che è la stessa dell'aggiornamento di Virtual Server 2005 R2 SP1.

Technorati Tags:
15/05/2008 20.00.44 Lorenzo Barbieri Lorenzo Barbieri @ UGIblogs!

Disponibili Virtual PC 2007 SP1 e un aggiornamento per Virtual Server 2005 R2 SP1

Virtual PC 2007 SP1 introduce il supporto per:

  • Windows Vista® with Service Pack 1 (SP1) Business, Ultimate, and Enterprise operating systems as a host and guest operating system
  • Windows Server® 2008 Standard as a guest operating system
  • Windows XP with SP3 as both a guest and host operating system

L'aggiornamento per Virtual Server 2005 R2 SP1 introduce il supporto per:

  • Windows Server® 2008 (all) as a guest operating system
  • Windows Vista® with Service Pack 1 (SP1) Business, Ultimate, and Enterprise operating systems as guest operating system (host for non-production use only)
  • Windows XP with SP3 as guest operating system (host for non-production use only)
15/05/2008 19.02.52 Lorenzo Barbieri Lorenzo Barbieri @ UGIblogs!

E' uscito Moonlight 1.0 per Linux

Ovvero la possibilità di usare Silverlight 1.0 anche su Linux con Firefox.

Al solito, come per molte cose che riguardano il pinguino, non è tutto rose e fiori... ovvero... se volete il pacchetto "completo" dovete compilarvelo... smile_confused

In lavorazione anche Moonlight 2.0, ovvero la versione compatibile con Silverlight 2.0 (ancora in Beta).

Fonte: http://tirania.org/blog/archive/2008/May-13-1.html

15/05/2008 15.49.56 Lorenzo Barbieri Lorenzo Barbieri @ UGIblogs!

iTunes Music Library Hacking


       After hard-disk crashed I tried to restore iTunes play lists to the brand new hard-disk importing the music library xml file (menu File, Import...) exported days before (menu File, Expert Library...) for backup.


       Unfortunately iTunes Import command was not able to correctly import all the playlists: some track was silently discarged by the Import command (because some mp3 file now is on a different folder and because iTunes saved some mp3 file location with the wrong format).


       So I wrote this small command line utility  LibraryXmlVerify.exe  that check an exported iTunesMusicLibrary.xml music library, verifies the file format and the location of the music files. LibraryXmlVerify.exe reported every error of the iTunesMusicLibrary.xml so after a quick edit all the playlists now are imported without errors.

 

Download (719 KB): LibraryXmlVerify v1.0 (beta) 

More infos on the iTunes music library file here Hacking the iTunes Music Library


Scaricalo e lancia il .bat dei test e se hai iTunes verifica lo stato di salute della tua libreria ... e segnalami eventuali bug ;-)

14/05/2008 23.43.56 Luca Minudel (luKa)

Microsoft Touchwall/Plex

Ovvero... la versione "economica" di Surface: http://www.techcrunch.com/2008/05/14/microsoft-touchwall-can-inexpensively-turn-any-flat-surface-into-a-multi-touch-display/

Immagino poi ad abbinarlo a strumenti come la RoundTable...

14/05/2008 19.47.46 Lorenzo Barbieri Lorenzo Barbieri @ UGIblogs!

Live Messenger, updates e sicurezza

Per qualche strano motivo Microsoft non concepisce il fatto che qualcuno come il sottoscritto preferisca lavorare su versioni server del sistema operativo.

In passato ho usato Windows 2000 server, poi 2003 e attualmente 2008 che ho sia sul portatile che sul desktop e i vantaggi per uno sviluppatore sono tanti: dhcp e dns per le macchine virtuali, IIS versione server, terminal services per sviluppare in roaming per l'ufficio o da una vpn, etc.. Usando Win2008 come workstation ho abilitato i temi di Vista, aero, e tutte le altre comodità.

Purtroppo però non è abilitabile il bluetooth sul portatile ma mni basta che il power management funzioni a meraviglia.

Come software tutto ok tranne la serie "Live" dei software che proprio di installarsi su Windows Server non ne vuole sapere. Niente Live Messenger e qualche trick per Live Writer.

Questo mi solleva un montagna di dubbi a livello di sicurezza: Il mio Windows Live Messenger mi segnala di essere obsoleto ma il setup di Live Messenger non può essere eseguito.
Che devo fare? Disinstallare MSN perché è a rischio? Sappiamo bene che MSN è una applicazione fortemente a rischio ad attacchi e mantenere installata una versioine obsoleta è senza dubbio un chiaro ed evidente rischio di sicurezza.

Io credo fermamente che Microsoft dovrebbe rivedere il "profilo" degli utenti tipici di Windows prevedendo che un utente avanzato possa prediligere Windows 2008 a Vista senza per questo negargli nessun tipo di funzionalità, e perché no, anche i games.

14/05/2008 9.09.10 Raffaele Rialdi Web Log di Raffaele Rialdi

Milan l'è (minga) un gran Milan

Avevamo un Sindaco che, autorizzando il progetto Milano Santa Giulia, avrebbe fatto ottenere *gratis* a Milano il Centro Congressi del quale abbiamo "bisogno" se vogliamo sperare di vedere eventi "Tech-Ed like" in Italia. Gratis poichè la costruzione del centro senza spese per il comune (62 milioni di euro dichiarati) sarebbe avvenuta a spese del costruttore della cittadella. E invece no, il centro congressi si farà in una zona differente anche se a pagare (40 milioni di euro, AFAIK) dovrà essere il Comune. Ma non c'è problema, dicono, perchè i fondi arriveranno per Expo 2015. Ma non si faceva prima a utilizzare il progetto originale e usare i 40 milioni di euro aggiuntivi per altre opere?

Avevamo un Sindaco sotto la cui gestione il Comune, tramite AEM e la partecipata Metroweb, era proprietario di una tra le MAN in fibra ottica più estese del pianeta Terra. Nel 2006 Metroweb è stata (s)venduta perchè la fibra ottica "oggi non è più conveniente" (sciagurata semi-cit.). Ecco quindi che il progetto "free wifi" erogato grazie alla più estesa rete di hot spot al mondo (15.000 punti di accesso) connessi alla suddetta MAN viene ridimensionato ad una sperimentazione basata su 70 hot spot che potranno diventare al massimo 2000. Come mai? Proprio perchè... Cucù, la MAN non c'è più.

Capisco che un centro congressi (oltretutto gratis), una MAN in fibra ottica e wifi pervasivo non siano esigenze fondamentali. Capisco che questi "passi indietro" mi sono insopportabili perchè io sono un geek e quindi mi focalizzo su argomenti di secondaria importanza. Ciò nonostante... Mi è permesso dire che mi girano le o_O? E aggiungere: "che schifo!"? Posso?

Technorati Tag: ,,
13/05/2008 10.39.45 Andrea Saltarello StrangeLog - Il blog di Andrea Saltarello

XeDotNet: Prossimi appuntamenti

Le due settimane che sono iniziare ieri sono dense di appuntamenti per il nostro gruppo e ci aspettano ben due eventi GRATUITI che si terranno il 16 e il 29 Maggio.

Un appuntamento da non perdere per tenersi aggiornati sulla piattaforma Microsoft per lo sviluppo su web. Andrea Dottor infatti oltre a mostrare alcune delle feature di ASP.NET 3.5 mostrerà anche una preview di alcuni dei controlli rilasciti nella recente beta della Service Pack 1. Inizio ore 19:00 - leggi >>

Organizzato in collaborazione con 1NN0va, si tratta di un evento ad ampio spettro dedicato agli sviluppatori web. Oltre ad ASP.NET 3.5 vedremo anche Silverlight 2.0 e Windows Communication Foundation 3.5. Gli argomenti saranno esposti da me (Silverlight 2.0). Andrea Dottor (ASP.NET 3.5) e Davide Bedin (WCF). Inizio ore 18:00 - leggi >>

Vi consiglio di prenotare il vostro posto in prima fila al più presto perchè ormai siamo agli sgoccioli.

13/05/2008 7.56.03 Andrea Boschin Radicalmente

Disponibile la Beta 1 del Framework 3.5 SP1

Ieri nel tardo pomeriggio è stata annunciata la prima beta pubblica della Service Pack 1 del Framework 3.5. Ci era stata annunciata durante il Global Summit, e puntualmente ne da notizia sul suo weblog, assieme ad altri blogger Microsoft.

La Service Pack in questione in realtà a prima vista da l'impressione di essere una nuova release del Framework stesso tante sono le cose nuove che include:

  • ASP.NET Dynamic Data
  • System.Web.Routing
  • Vari miglioramenti all'intellisense
  • Vari miglioramenti sullo sviluppo client
  • Windows Forms Controls
  • Notevoli miglioramenti per WPF
  • ADO.NET Entity Framework and LINQ to Entities
  • ADO.NET Data Services

Ormai il confine tra Service Pack e nuova release è talmente sottile da risultare invisibile. Tanto valeva dare una versione 3.6 e rilasciare un nuovo Framework!

Beh, pazienza...

Link: http://weblogs.asp.net/scottgu/archive/2008/05/12/visual-studio-2008-and-net-framework-3-5-service-pack-1-beta.aspx

13/05/2008 7.35.19 Andrea Boschin Radicalmente

[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

Visual Studio 2008 e .NET Framework SP1: Overview per lo sviluppatore WPF

Il recente rilascio del service pack 1 di Visual Studio 2008 e del .NET Framework 3.5 introduce parecchie novità per lo sviluppatore WPF, ecco le principali partendo da quelle più evidenti, ovvero quelle inerenti il WPF designer integrato in VS 2008 (a.k.a Cider).

Gestione degli eventi
image

Le novità più evidenti sono visibili nella finestra delle proprietà (fig.1) dove finalmente è stata introdotta la possibilità di gestire gli eventi dei controlli secondo la stessa modalità delle applicazioni Winform (fig.2)

La vecchia modalità che fa uso di "Navigate to event Handler" è comunque ancora attiva.
Oltre alla migliore gestione degli eventi in fig.1 potete notare la presenza dei pulsanti di ordinamento per categoria e alfabetico.
Purtroppo Cider SP1 continua ad utilizzare la brutta abitudine di associare automaticamente un nome al controllo anche quando non siamo interessati ad interagirci e lo fa utilizzando Name anziche x:Name ignorando completamente l' uniformità con il "cugino" Expression Blend. 

 

 

 

 fig.1

image

  

 

  

fig.2


In compenso è stato aggiunto il supporto del designer agli stili:

image fig.2a


Refactoring!
imageFinalmente è possibile rinominare i controlli e i gestori evento mantenendo sincronizzato codice e XAML cosi comè è possibile usare l'opzione "Go to definition" su una variabile legata a un controllo  per navigare direttamente alla parte di XAML che lo descrive.


Attualmente la preview del comando Rename chiede la conferma del field automaticamente generato nel file .g.cs (fig.3) ma presumo che nella versione finale questo verrà automaticamente escluso.

 

 
fig.3


Drag dei controlli nella XAML view
Se usate Silverlight questa feature la conoscete già: si tratta della possibilità di draggare i controlli dalla toolbox direttamente nella XAML View, in Silverlight questa possibilità è comoda perchè vengono automaticamente importati i namespaces necessari mentre in WPF, non solo tutt'ora eventuali UserControls interni o definiti in assembies esterne non vengono aggiunti automaticamente alla toolbox, ma trascinando nello XAML un nuovo usercontrol Cider SP1 non aggiunge in namespaces: Peccato smile_sad

Segnalazione del punto di errore direttamente nello XAML!
Quante volte a causa di un banale errore di battitura vi siete ritrovati con una bella XAMLParseException e il debugger fermo su InitializeComponent? (fig.4)

image fig.4

finalmente le cose sono cambiate e scoprire il problema diventa decisamente più facile. (fig.5) smile_teeth

image fig.5

Snaplines associate ai margini dei controlli

image Personalmente continuo a preferire quelle di Expression Blend e il designer dei Windows Forms... (fig.6)

 

 

 

fig.6

TabControl e Expander
imageCome già accade da sempre in Blend, anche in Cider SP1 il controllo TabControl mostra il contenuto di ogni singola Tab cliccando la relativa Tab a design time, prima del SP1 solo la Tab principale era visibile (fig.7).
In compenso selezionare l'intero controllo non è un operazione così banale... smile_regular

fig.7

 

imageAnche il controllo Expander è diventato più design-time friendly, in Fig.8 ecco come appare un Expander che ha la  proprietà IsExpanded=False, mentre in Fig.9 l'equivalente pre-SP1.

 

 

fig.8 
 image

fig.9

Client-only Framework subset
Questa non è una feature legata esclusivamente a WPF ma vale la pena citarla comunque: nelle proprietà del progetto alla voce Application appare una nuova voce Client-only Framework subset. (fig.10)

image

Tecnicamente la selezione modifica il file .config dell'applicazione aggiungendo un informazione relativa al tipo di pacchettizzazione del framework necessario al funzionamento.

<?xml version="1.0"?>
<configuration>
<startup><supportedRuntime version="v2.0.50727" sku="Client"/></startup></configuration>

fig.10
Il concetto di base è: Visto che il framework 3.5 ha ormai delle dimensioni notevoli smile_teeth perchè installare tutta la parte legata al mondo ASP.NET se la mia applicazione non ne farà uso? ecco quindi la nascita di un pacchetto ridotto che conterrà la sola parte client.
Le novità legate a questa particolare versione sono parecchie:

  • Possibilità di brandizzare l'installazione
  • Banners durante il setup
  • Dimensione circa 27 MB
  • Installazione dell'applicazione al termine dell'installazione del Client Framework

Le novità di WPF 3.5 SP1
Ci sono ulteriori novità anche per quanto riguarda direttamente  la parte WPF, partiamo da VirtualizingStackPanel.VirtualizationMode:
La listbox per ottimizzare le risorse associate utilizza utilizza come ItemsPanel un VirtualizingStackPanel il quale "crea" solo gli items effettivamente visibili, in era pre-sp1 gli items generati e non più visibili vengono disposti e ricreati quando necessario mentre ora, attraverso un attached property VirtualizingStackPanel.VirtualizationMode, è possibile "riciclare" gli items creati in precedenza ottimizzando ulteriormente le risorse utilizzate.
Il tutto si ottiene attivando come nello snippet che segue:

<Grid>
 <ListBox VirtualizingStackPanel.VirtualizationMode="Recycling" 
          ItemsSource="{Binding}" Margin="26,28,54,71" Name="listBox1">            
 </ListBox>
</Grid>

sebbene l'esempio faccia riferimento alla listbox va detto che VirtualizingStackPanel si applica in generale a tutti gli ItemsControls che hanno un VirtualizingStackPanel associato come ad esempio il controllo Treeview.

<Grid>
 <TreeView VirtualizingStackPanel.IsVirtualizing="True" 
           ScrollViewer.IsDeferredScrollingEnabled="True"                  
           Height="96" Margin="26,0,60,23" Name="treeView1" VerticalAlignment="Bottom" />
</Grid>

ScrollViewer.IsDeferredScrollingEnabled
Lo snippet precedente fa uso di un altra novità legata agli ItemsControl: La possibilità mediante ScrollViewer.IsDeferredScrollingEnabled di evitare lo scrolling continuo degli items ma di posizionarsi alla posizione corrente al rilascio degli items, utile quando si ha a che fare con liste che contengono notevoli quantità di elementi.

Nuovo parametro StringFormat applicabile alla markup extension Binding
Permette di evitare la creazione di un custom formatter per formattare l'output di dati provenienti via Databinding
Esempio:

<Grid>        
  <TextBlock Text="{Binding ElementName=slider1, Path=Value, StringFormat='Amount: {0:0.000}'}" 
             Height="21" Margin="44,37,65,0" VerticalAlignment="Top" />
  <Slider Value="58" Margin="53,77,50,0" Name="slider1" Height="24" VerticalAlignment="Top" Maximum="100" />
</Grid>

Risultato
image fig.11

Datagrid?
Non ancora, attendere prego...

Non non ho citato la lunga serie di piccole ottimizzazioni, ma a quanto pare questa release dovrebbe velocizzare in maniera apprezzabile tutte le applicazioni WPF semplicemente installando il service pack sulla macchina.

Questa è solo una overview, avremo modo di approfondire i dettagli in seguito...

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

Outlook 2007... Architect Edition?

Credevo di aver installato "Office 2007 Ultimate", ma probabilmente ha ragione Roby: MS mi ha fornito una build custom. Il motivo? Beh, stavo scrivendo a una mail e il correttore ortografico di Outlook ha appena "corretto" *domani mattina* in *domain mattina* <g>

12/05/2008 8.17.32 Andrea Saltarello StrangeLog - Il blog di Andrea Saltarello

Windows Live ID: Proteggete le vostre credenziali e occhio ai falsi

Qualche giorno fa vi ho indicato come poter tornare in possesso del vostro Windows Live ID che sbadatamente avete condiviso con siti non attendibili. Ora, grazie alla segnalazione di un amico, posso mostrarvi un esempio di un sito (http://desiant.pr0file.1mages.info/) dove NON DOVETE MAI INSERIRE LE VOSTRE CREDENZIALI DI WINDOWS LIVE ID.

image

Siti come questi vengono usati per rubare le vostre credenziale ed usare il vostro account per fare spamming. Quindi non incolpiamo Microsoft se non abbiamo l'intelligenza di proteggere i nostri dati. Dareste le vostre chiavi di casa ad uno sconosciuto? Non penso. Bene, non fornite neanché le credenziali del vostro Windows Live ID a siti che non implementano correttamente l'autenticazione basata su Windows Live ID.

Come riconoscere un sito che implementa l'autenticazione basata su Windows Live ID in modo corretto? Ecco alcune accortezze che dovete tenere presenti:

URL della pagina di autenticazione corretto deve essere di questo tipo:
https://login.live.com/login.srf?wa=wsignin1.0&rpsnv=.....&lc=.....&id=.....&wp=.....&wreply=.....

Certificato usato dal sito di Windows Live ID

image

Formato dell'URL in IE7

image

Esempio della pagina corretta se si ha installato il Windows Live Sign-In Assistant

image

oppure, senza l'uso di Windows Live Sign-in Assistant

image

E' possibile trovare anche altre personalizzazioni della pagina di login. Comunque, tutte, hanno sempre l'URL del tipo indicato in precedenza. In tutti gli altri casi il mio consiglio è di non inserire le vostre credenziali.

Diffidate dalle imitazioni!

10/05/2008 6.44.35 davide Blog di Davide Vernole

Unico 2008: non ti dimenticare di firmare per il 5x1000

Trasforma la compilazione della tua dichiarazione dei redditi in un momento di solidarietà con un semplice gesto, una firma per il "Sostegno delle organizzazioni non lucrative di utilità sociale, delle associazioni di promozione sociale...". Qui sotto vi propongo quelle che sostengo io ma ovviamente ce ne sono tante altre. L'importante è non dimenticarsene.

 

quanto-fa5x1000

Technorati Tags: ,,
10/05/2008 1.57.58 davide Blog di Davide Vernole

Groupthink

 

         Un indicatore importante in un team è che quando funziona ci si diverte - all'impegno che si mette segue la soddisfazione per le difficoltà superate

A volte si può essere team, coesi, e ... Si chiama Groupthink e consiste nella perdita delle capacità critiche del team (leggi anche reparto o azienda) a causa della lealtà verso il team stesso. 

 

8 indicatori :

  1. Illusions of invulnerability creating excessive optimism and encouraging risk taking.
  2. Rationalising warnings that might challenge the group's assumptions.
  3. Unquestioned belief in the morality of the group, causing members to ignore the consequences of their actions.
  4. Stereotyping those who are opposed to the group as weak, evil, disfigured, impotent, or stupid.
  5. Direct pressure to conform placed on any member who questions the group, couched in terms of "disloyalty".
  6. Self censorship of ideas that deviate from the apparent group consensus.
  7. Illusions of unanimity among group members, silence is viewed as agreement.
  8. Mindguards — self-appointed members who shield the group from dissenting information.

 

Quando capita ecco dei suggerimenti :

  1. Leaders should assign each member the role of “critical evaluator”. This allows each member to freely air objections and doubts.
  2. Higher-ups should not express an opinion when assigning a task to a group.
  3. The organization should set up several independent groups, working on the same problem.
  4. All effective alternatives should be examined.
  5. Each member should discuss the group's ideas with trusted people outside of the group.
  6. The group should invite outside experts into meetings. Group members should be allowed to discuss with and question the outside experts.
  7. At least one group member should be assigned the role of Devil's advocate. This should be a different person for each meeting.

Fonte: http://en.wikipedia.org/wiki/Groupthink

 

 

Tags :   |  |  |  |  |

09/05/2008 21.48.32 Luca Minudel (luKa)

Progettazione di applicazioni multi-threading 4°

 

Esiste una terza         metafora in base alla quale impostare il modello di programmazione        per la gestione della concorrenza:


  • Il modello a monitor

    lo scopo di questo modello è sollevare il programmatore delle complessità legate alla gestione della concorrenza che invece viene lasciata al compilatore e al sistema che eseguirà il codice.
    2 esempi noti sono il Single Thread Apartment del Visual Basic 6 e le Activity dei componenti COM+.
    Ma anche il Syncronize del Java e il MethodImplOptions.Synchronized di .NET.

 

Il modello a monitor       è adatto ad applicazioni in cui ...       è naturale modellare l'elaborazione con architettura client/server  in cui lo stato condiviso tra i client è raramente mantenuto in in istanze di oggetti condivisi, più spesso è altrove tipo nel database.
Tipicamente c'è un thread per client e le istanze attraversate da più thread distinti sono molto poche.



Compito del programmatore è che l'esecuzione ogni metodo lasci ogni oggetto in uno stato coerente.
Il peso di questa semplificazione è un locking a grana grossa e quindi sono sufficienti poche istanze condivise per avere pochi thread in esecuzione e molti in attesa.

 

 

Tags :  Progettazione Software 



09/05/2008 21.32.38 Luca Minudel (luKa)

I do develop and design... so I'm a diviner!

Il video è un po' vecchio dato che è uscito su channel 10 a fine marzo ma a quanto vedo non ha avuto molta eco in Italia. E poi è davvero divertente perciò ho deciso di proporlo lo stesso...

Non fosse altro che per la frase più bella di tutto il video con la quale ho dato il titolo al questo post.

"I do develop and design... so I'm a diviner!" (diviner==mago indovino) :)

Davvero folli...

Link: http://on10.net/blogs/tina/Silverlight-Rehab/

Technorati Tag: ,
09/05/2008 20.42.09 Andrea Boschin Radicalmente

[WCF] This collection already contains an address with scheme http...

Se avete pubblicato un servizio WCF vi sarete sicuramente imbattuti nel errore "This collection already contains an address with scheme http..." e cercando in rete avrete sicuramente trovato la soluzione andando ad aggiungere una custom service host factory come citato da più parti (es: qui)
Finalmente col framework 3.5 è disponibile un alternativa decisamente più pratica: filtrare gli schemi associati da IIS ad un determinato binding direttamente via file .config.
Se ad esempio pubblicate il servizio sul vostro sito web basta aggiungere:

<system.serviceModel>
    <serviceHostingEnvironment>
        <baseAddressPrefixFilters>
            <add prefix="http://www.mysite.com" />
        </baseAddressPrefixFilters>
    </serviceHostingEnvironment>
    ...
</system.serviceModel>

... ed ecco il servizio nello splendore del suo WSDL. smile_regular

Technorati Tags: ,
09/05/2008 16.38.21 Corrado Cavalli Corrado's BLogs

Live search: Fa uno strano effetto ma...

Statistiche al 8/5/2008 Da quando tengo sotto controllo i referrals al mio weblog le ricerche provenienti da Google l'hanno sempre fatta da padrone. E' da qualche giorno però che questa monotonia no è più tale. Finalmente ho notato che un buon 30/40% dei contatti da motore di ricerca vengono da Live Search...

Che sia giunto il momento di dare a Live Search la chances che Steve ci ha chiesto duante la keynote del summit?

Un'altra cosa che si evince è che il fallito acquisto di Yahoo non sarebbe certo stato un bell'affare per Microsoft :)

Beh, diamogli ancora qualche tempo e poi...

08/05/2008 7.11.07 Andrea Boschin Radicalmente

How to: Account Windows Live ID rubato

Oggi ho ricevuto la seconda mail di un amico di un amico che mi chiedeva aiuto perché gli hanno "rubato" le credenziali di Windows Live ID. Sorvolo su come questo sia accaduto anche se potete immaginarlo e vi consiglio due post di Feliciano Intini, Chief Security Advisor di Microsoft Italia, che trattano di questo argomento e, cosa molto importante, forniscono le strade per risolvere il problema.

Ecco i link:

Repetita juvant: come reagire al furto della password Windows Live
Come riappropriarsi del proprio account Windows Live ID rubato

Technorati Tags:
08/05/2008 3.12.56 davide Blog di Davide Vernole

Il primo computer fu meccanico, la prima programmatrice ... fu una donna!


Mi ha un po sorpreso ricordare che il primo computer fu meccanico e non elettrico.

Blaise Pascal a 19 anni inventò e costruì una macchina meccanica che calcolava somme e sottrazioni. Era il 1642.
In suo onore fu dato il suo nome al linguaggio di programmazione.

Qualche anno più tardi W.B. Leibniz inventò e costruì una macchina meccanica che faceva anche moltiplicazioni e divisioni . Oltre a inventare il calcolo binario e preparae basi utili alla realizzazione della macchina di Touring.

Solo 150 anni più tardi Charles Babbage costrui un macchina in grado di risolvere equazioni polinomiali e progettò una macchina meccanica programmabile dotata di memoria e lettore di schede perforate. Nel 1991 il suo progetto è stato totalmente realizzato a conferma della sua intuizione.  Tra le altre cose è stato il padre della ricerca operativa e prefigurò il concetto di intelligenza artificiale.

Notizie dei primi calcolatori meccanici si ritrovano anche ne L'accadeimia dei sogni di Wiliam Gibson , il Curta , calcolatore meccanico usato nei Rally sino agli anni '80.

La prima programmatrice fu una donna ed era il 1833 - ce ne fossero di più oggi le sw-house sarebbero luoghi più allegri :D - Ada Augusta Lovelace programmò la analytical engine di Baddage . Anche in suo onore il suo nome fu dato al linguaggio di programmazione.   E Rosalba Fiore questo lo sa bene :)

 

 

08/05/2008 0.22.15 Luca Minudel (luKa)

Silverlight Spy

Se vi interessa conoscere tutti i dettagli di pagine contenenti codice Silverlight allora scaricatevi Silverlight Spy grazie al quale potrete analizzarne il logical tree, le risorse, lo XAML e modificare le proprietà dei vari visuals.
Esempio: Partendo da questo XAML:

<UserControl x:Class="SilverlightApplication5.Page"
    xmlns="http://schemas.microsoft.com/client/2007" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
    Width="400" Height="300">
    <Grid x:Name="LayoutRoot" Background="White">
        <Button Content="Ok" Margin="40" />
    </Grid>
</UserControl>

Silverlight Spy ricostruisce:

image
Logical tree



image 

Per certi versi l'applicazione è ancora immatura (Non riesce a gestire applicazioni medio/grandi) ma è comunque un buon inizio.

07/05/2008 21.04.59 Corrado Cavalli Corrado's BLogs

Cercasi Sus... Developers disperatamente

Attenzione: questo post contiene offerte di lavoro. Leggere attentamente le avvertenze <g>

Se:

  • non siete ancora stufi di dover continuare ad utilizzare le "solite, trite e ritrite" tecnologie quali: ASP.NET/AJAX, Castle Project, Linq 2 Whatever, NHibernate, Silverlight, WCF, WPF, ...
  • chissenefrega di "MbUnit vs. MSTest vs. NUnit vs. xUnit" perchè l'unica cosa importante è che "se non è testato... è rotto!"
  • la vostra sede di lavoro può essere a Bergamo (e dintorni) o Milano (e dintorni) o Torino (e dintorni)
  • non vedete l'ora che esca il SP1 del framework 3.5 non tanto perchè significa avere ASP.NET MVC e Entity Framework, quanto perchè vuol dire che il FX 4.0 si avvicina e così avrete nuove nottate da trascorrere studiando <g>
  • pensate di poter sopportare, all'occorrenza: Corrado, Dino, Markino, Mauro, Roberto ed anche il sottoscritto

Allora questo annuncio di Managed Designs potrebbe interessarvi.

Se invece siete tra quelli che pensano che il framework è per "utenti", allora sappiate che l'amico Massi mi ha comunicato che Novell cerca *urgentemente* 3 dev per il team di Mono, con possibilità di "telelavorare" e guardare tutti... Dal basso in alto <g>

P.S. "aperto" per Massi: ricordati che il mio Mac con G4 funziona benissimo ed è ben lungi dall'essere sostituito, quindi se ti aiuto a trovare i dev tu promettimi che non abbandonate PPC per Intel <g>

Technorati Tag: ,,,
06/05/2008 13.52.14 Andrea Saltarello StrangeLog - Il blog di Andrea Saltarello

DRM, cui prodest?

La domanda è retorica, ma la cazzata il comportamento di Microsoft in questa vicenda è veramente disdicevole.

Technorati Tag: ,
28/04/2008 7.49.04 Andrea Saltarello StrangeLog - Il blog di Andrea Saltarello

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

.NET 3.5 Enhancements Training Kit: disponibile per il download

Qualche giorno fa Jonathan Carter (aka JC), nel suo blog ha annunciato la disponibilità del .NET 3.5 Enhancements Training Kit. Il download contiene sei labs relativi alle seguenti tecnologie:

  • ADO.NET Data Services
  • ADO.NET Entity Framework
  • ASP.NET AJAX History
  • ASP.NET Dynamic Data
  • ASP.NET MVC
  • ASP.NET Silverlight controls

Per chi volesse scaricarlo senza passare per il blog di JC, ecco il link: .NET 3.5 Enhancements Training Kit.

Technorati Tags: ,,,
25/04/2008 19.14.54 davide Blog di Davide Vernole

Frittelle di semolino: il mio dolce preferito

Ci sono ricordi che si portano con se fin dall'infanzia. Alcuni di questi sono così dolci da non sbiadirsi nel tempo e da tornare in modo riccorente alla mente nei momenti più impensati. Qualche giorno fa, mi sono svegliato con una voglia di frittelle di semolino, tipico dolce della tradizione romagnola che la mia bisnonna, la mia nonna e poi la mia mamma nel tempo mi hanno preparato con l'amore che si accompagna ad una ricetta così dolce.

Ho quindi chiamato la mamma per avere la ricetta e poterla preparare approffittando della festività del 25 aprile. Per chi volesse provarla ecco la ricetta oralmente tramandata tra le generazioni della parte romagnola della mia famiglia.

Ingredienti per l'impasto (dosi per 10 frittelle)
  • 100 grammi di semolino
  • 1/2 litro di latte
  • 1 pizzico di sale
  • 50 grammi di zucchero
  • 1 rosso d'uovo
  • 1 noce di burro
Ingredienti per l'impanatura
  • 2 uova o più
  • Pangrattato
Ingredienti per la cottura
  • Strutto o olio di semi (il primo è preferibile per gustarle al meglio)
Preparazione

In una pentola con bordo alto, versare il latte ed aggiungere la noce di burro. Accendere il fuoco e portare il latte ad ebolizione. Aggiungere quindi il semolino precedentemente mescolato con lo zucchero e il sale. Proseguire con la cottura mescolando continuamente fino ad addensamento del semolino. Quanto denso? Abbastanza da poterlo manipolare con le mani. Spegnere il fuoco ed aggiungere il rosso d'uovo amalgamandolo velocemente per evitare che si cucini.
Stendere l'impasto preparato su un tagliere appiatendolo con le mani fino a raggiungere uno spessore di circa 1 centimetro. Lasciate raffreddare l'impasto.
Non appena l'impasto si è raffreddato, tagliarlo in quadrati di circa 5 centimetri di lato (ovviamente potete scegliere la forma che preferite anche se il quadrato o il rettangolo vi aiutano a massimizzare l'uso dell'impasto). Ora avete tutto quello che serve per passare alla preparazione finale.

Passate ogni frittella nelle uova precedentemente sbattute e copritele con il pangrattato (la classica impanatura che fareste per una cotoletta). Dopo aver impanato tutte le frittelle, passate alla fase di cottura. Utilizzate una padella abbastanza profonda in cui metterete lo strutto o l'olio di semi in quantità sufficiente a permettere alle frittelle di galleggiare durante la cottura. Accendete il fuoco e raggiungete una corretta temperatura per una frittura. Quindi mettete le frittelle impanate in padella fino e fatele friggere fino a che l'impanatura prende un bel colore d'orato. Scolatele in un letto di carta assorbente e quindi spolveratele con abbondante zucchero. Servitele tiepide e buon appettito.

25/04/2008 18.33.13 davide Blog di Davide Vernole

Un riassunto del MVP Summit 2008

Ancora una volta un Summit magnifico. A prescindere dall'aspetto tecnologico, un po' tutti abbiamo apprezzato la qualità della vita (in termine di vita quotidiana, cortesia e vivibilità) di Seattle e dintorni. Questo è qualcosa che non si può descrivere con parole, ma va vissuto in prima persona ed è l'aspetto che lascia dei ricordi molto piacevoli.

IMG_2766IMG_2565IMG_2591

 

Ma l'aspetto tecnologico non è stato da meno. Ho passato il mio tempo al Campus a parlare di tre argomenti principali:

  • Developer Security. Novità dal gruppo SDL, evoluzione nel threat modeling, futuro. CLR e Silverlight security.
  • VC++ vNext. Grosse novità in vista, enormi quantità di feedback a 360 gradi su tutto il prodotto. Altrettanto grande considerazione e apprezzamento da parte del team sul feedback ricevuto. Stay tuned ...
  • MSDN Forums vs NNTP. Ancora mezz'ora prima di andare in areoporto ero in un meeting con il team che si occupa di questi temi. I punti su cui ho ripetutamente insistito (quasi in modo molesto :) ) sono stati:
    a) NNTP è "solo"un protocollo al pari diHTTP e che NNTP non preclude di veicolare un rich content
    b) NNTP può essere esteso al pari di NNTP
    c) le caratteristiche che oggi offre NNTP sono ottimali per chi partecipa in modo attivo alle discussioni tecniche
    d) UGIdotNET e Aspitalia sono perfetti case studies di erogazione dello stesso contenuto con protocolli differenti.
    Posso solo garantire che questi messaggi sono arrivati a chi di dovere. Stay tuned ...

 

Visual Studio box, Visual C++ Art e Ale Contenti nel suo ufficio a sorvegliare le Safe CRT :-). Ale you promised ... open your own blog! ;-)

IMG_2742 IMG_2783 IMG_2784

 

Ecco i Developer Security MVP deliziati da una fantastica sessione di Shawn Farkas (terzo da sinistra) sulla sicurezza in Silverlight.

IMG_2769

 

In piedi Herb Sutter partecipa alla discussione su Visual C++ e al feedback degli MVP.

IMG_2778

22/04/2008 20.19.47 Raffaele Rialdi Web Log di Raffaele Rialdi

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

MVP Global Summit 2008 partito

Dopo il primo giorno di splendido sole (26 gradi!) a base di amici e barbeque in quel di Kirkland (grazie Max!!!) ...

IMG_2575 IMG_2585 IMG_2588

... oggi è partito il Summit 2008 che vede il cambio del vertice MVP dal grandissimo Sean O'Driscoll a Toby Richards

IMG_2711 IMG_2718 IMG_2734

Sean si dedicherà d'ora in poi ad un mestiere che probabilmente in Italia verrà compreso tra parecchi anni, consulenza sul social media e communities. Un argomento che non tocca solo le community che orbitano nell'industria IT ma di qualsiasi azienda che abbia a che fare con gli end-user. Il mondo del web sta rivoluzionando il rapporto tra gli utenti (vedi facebook.com) e tra gli utenti e le aziende e lui certamente in questi anni ha potuto sviscerare come pochi altri questo argomento.

La giornata è servita soprattutto a incontrare di persona le tante persone che sentiamo durante l'anno ma che si ha ovviamente poche occasioni per incontrarle se non in conferenze o qui a Seattle.

Io ho dedicato il resto della giornata a difendere a spada tratta le community per far si che i protocolli NNTP (ms newgroups) e HTTP (msdn forums) attingano ad uno storage comune separando invece le UI (browser e newsreader, ma non solo) per soddisfare le esigenze di chi fa domande, di chi da risposte e delle comunity che vogliano aggregare (mashup) questi contenuti. I "miei" case studies sono stati UGIdotNET e Aspitalia.... che gli MVP portino consiglio smile_wink.

Domani giornata piena... io sarò tra i dev-security e il team di VC++.

15/04/2008 7.04.03 Raffaele Rialdi Web Log di Raffaele Rialdi

Arrivo a Seattle

Il viaggio in aereo (a destra la groenlandia):

IMG_2531 IMG_2512

IMG_2494 IMG_2495

IMG_2493 IMG_2527

IMG_2497 IMG_2499

IMG_2498 IMG_2501

 

Il tradizionale viaggio in Limo a downtown ...

IMG_2536  IMG_2534

check-in in albergo e subito a Cheescake factory insieme al grande Ale Contenti (Lead PM librerie di VC++)

IMG_2541 IMG_2545

Questi si che sono hamburger:

IMG_2542 IMG_2543 IMG_2544