Tuesday, April 28, 2009

Microsoft presenta Vine

. Tuesday, April 28, 2009
2 commenti


Presentato oggi un nuovo ambiente: Vine (in beta) che si pone l'obiettivo di tenere in contatto amici/familiari, collocate su un preciso territorio, durante le emergenze (uragani ecc...ma non solo).
Raccoglie informazioni locali e nazionali (USA) da circa 20000 fonti oltre ad annunci diramati da parte del United States National Ocenaic and Atmospheric Administration (NOAA).
Per maggiori informazioni e screenshot vi rimando ai seguenti due articoli:
Microsoft Vine To Connect Family, Friends When Crisis Hits
Microsoft Vine: connessioni di emergenza. Ma non solo.

Read More »»

Sunday, April 26, 2009

Link .Net #20

. Sunday, April 26, 2009
2 commenti

Siamo giunti al  ventesimo appuntamento con la rubrica Link.Net:

Guida BlogEngine.NET

Un’ottima guida sul sito Html.it di Andrea Dottor, su BlogEngine.NET; piattaforma open source di blogging sviluppata in Asp.Net 2.0.
Per chi fosse interessato ad altre applicazioni open source del mondo .Net consiglio:
Link .Net#17
Progetti Asp.Net Open Source
it

Where Am I?
Curioso articolo di S. Senthil Kumar. Attraverso la registrazione ad intervalli di informazioni sulle celle del vostro cellulare/palmare, non dotato di GPS è in grado di dirvi dove siete e di inviare anche un SMS con la vostra posizione. en

Drag and Drop with Persistence using JQuery
Come poter integrare una feature di drang and drop persistendo sul db le informazioni con l’uso di jQuery o Asp.Net Ajax. en

Deep Zoom Composer: disponibile una nuova versione del tool che abilità la pubblicazione sul nuovo servizio DeepZoomPix
Nuovi aggiornamenti sulla versione di Deep Zoom Composer, che presenta l’evoluzione di PhotoZoom in DeepZoomPix. it

Read More »»

Tuesday, April 21, 2009

Macro vs Visual Source Safe

. Tuesday, April 21, 2009
0 commenti

Recentemente ho avuto la “necessità” di creare una macro in Visual Studio che eseguisse delle operazioni di Replace in diversi file del progetto.
Come in genere accade in questi casi è sufficiente registrare la macro tramite:
Tools > Macros > Record TemporaryMacro
ed il gioco è fatto.

Anche se può sembrare assurdo, lanciando la macro non ottenevo il risultato sperato, bensì la seguente eccezione:
"The server threw an exception. (Exception from HRESULT: 0X80010105 (RPS_E_SERVERFAULT))"

ErrorMacro

A dir la verità ho subito pensato ad un bug nella macro - tale eventualità non è stata esclusa immediatamente anche se in realtà non avevo scritto neanche una riga di codice - o addirittura nell'IDE.
Il problema è causato, come mi è stato fatto notare da un mio collega, dalla mancata gestione in automatico del check out (il progetto è gestito tramite Visual SourceSafe) del file da modificare.
Sostanzialmente se i file sono preventivamente messi in check out allora la macro fa il suo lavoro - giustamente -.
A questo punto, è diventata una questione di principio, riuscire a risolvere il problema, nonostante la scarsa utilità della macro.
Nello caso specifico ho convertito, per semplicità, il tutto in tre macro distinte:

  1. eseguire una ricerca nei file del progetto tramite regular expression;
  2. eseguire il check out dei file in base ai risultati mostrati nella finestra Find Results 1, prodotti dal punto 1;
  3. eseguire la funzione di Replace per ogni file in check out.

Forse la cosa più interessante da mostrare è il codice che ho scritto per svolgere il secondo punto:

   1: DTE.Windows.Item(Constants.vsWindowKindFindResults1).Activate()
   2: Dim resultsWin As Window = DTE.Windows.Item(Constants.vsWindowKindFindResults1)
   3: Dim sel As TextSelection = resultsWin.Selection
   4: If Not sel Is Nothing Then
   5:   sel.EndOfDocument(True)
   6:   Dim countLine = sel.CurrentLine
   7:   sel.StartOfDocument()
   8:   Dim lineStr As String
   9:   While (sel.CurrentLine < countLine)
  10:    sel.StartOfLine(False)
  11:    sel.EndOfLine(True)
  12:    lineStr = sel.Text
  13:    Dim reg As Regex = New Regex("c:.*(?=\(\d)", RegexOptions.IgnoreCase)
  14:    Dim line As String = reg.Match(lineStr).Value
  15:    If line.Length > 0 And DTE.SourceControl.IsItemCheckedOut(line) = False Then
  16:      DTE.SourceControl.CheckOutItem(line)
  17:    End If
  18:    sel.LineDown(True)
  19:  End While
  20: End If
  21: Dim win As Window = DTE.Windows.Item(Constants.vsWindowKindOutput)
  22: Dim ow As OutputWindow = win.Object
  23: ow.ActivePane.Activate()
  24: ow.ActivePane.OutputString("Completo!!!")

Anche se il codice parla abbastanza da solo, alcune righe meritano di essere un minimo commentate.
In particolare le prime tre righe consentono di poter analizzare il testo presente nella finestra dei risultati: Find Results 1 frutto della ricerca precedentemente eseguita.
Dopo aver calcolato il numero di righe presenti (riga 5 e 6) eseguo un ciclo estrapolando per ognuna l'eventuale path tramite una regular expression costruita ad hoc per il mio caso(riga 13).
In caso di match eseguo il check out del file richiamando il metodo CheckOutItem (riga 16).
Per concludere nella finestra di Output mostro un messaggio di fine operazione (riga 21, 22, 23, 24).

Read More »»

Monday, April 13, 2009

Link .Net #19

. Monday, April 13, 2009
0 commenti

Nuovo appuntamento, nuovi link:

ASP.NET MVC BEST PRACTICES (PART 1)
ASP.NET MVC BEST PRACTICES (PART 2)

Una serie di best practices per Asp.Net MVC, che coprono tutta una serie di casistiche come per esempio, l’uso della cache, dell’Action Filter, l’uso di jQuery e tanto altro. en

Entity Framework ottimizzare le performance
Personalmente non ho avuto modo di fare molti esperimenti con Entity Framework, eccezione fatta per la visione di qualche screencast e webcast. Consiglio l’articolo per poter raccogliere una serie di punti interessanti su come migliorare le performance di questo nuovo modello di dati. it

Blend3 Behaviors
Corrado Cavalli ci presenta i behaviors nella nuova versione di Blend. it

Read More »»

Wednesday, April 8, 2009

Plugin Silverlight per WordPress

. Wednesday, April 8, 2009
0 commenti

WordPressSilverlight
Da qualche giorno è stato rilasciato da Tim Heuer un nuovo plugin per Wordpress che consente di inserire facilmente all’interno di post, applicazioni/contenuto Silverlight.
L’installazione sembra essere abbastanza semplice.
Attraverso una serie di parametri è possibile definire dimensione, versione, e url del file .XAP, quest’ultimo come si può intuire, unico parametro obbligatorio.
Fonte: Channel 10

Read More »»