MSDN in low bandwidth

by andrea 20 April 2009 01:10

Leggo oggi dal post di Scott Hanselman 
(Low Bandwidth View and other Hidden (and Future) Features of MSDN) e scopro una funzionalità di MSDN davvero stupenda, e cioè la possibilità di visualizzare e navigare MSDN in formato "low bandwidth" (ed altre modalità).

La cosa che trovo stupeda è l'estrema velocità di caricamento che hanno le pagine, il che vuol velocizza anche il reperimento e la lettura. Ammentto che attendevo una funzionalità come questa da molto tempo, e sono convinto che molti di voi la penseranno allo stesso modo.

Per vedere a attivare questa visualizzazione, se la pagina che stiamo leggendo è
http://msdn.microsoft.com/en-us/library/system.xml.xmlnode.aspx
inserendo "(loband)" nell'url
http://msdn.microsoft.com/en-us/library/system.xml.xmlnode(loband).aspx
verrà visualizzata la pagina nel nuovo formato.

MSDN MSDN_loband

MSDN_loband_2Per abilitare in modo permanente la funzionalità, all'interno della pagina in low bandwidth è possibile cliccare nel link "Persist low bandwidth", e successivamente, qualsiasi pagina/link aprirete verrà visualizzata in questa modalità.

Nel post sono elencate anche altre funzionalità introdotte in MSDN, tra le quali il miglioramento delle prestazioni ed altre nuove modalità di visualizzazione.

Complimenti davvero al team che ci stà lavorando, ed ora Persist low bandwidth attivato!!

Technorati Tags: ,

Tags: ,

.NET | Microsoft

Extension per BlogEngine - Meta Description

by andrea 15 April 2009 02:39

E' da parecchio tempo che seguo il progetto BlogEngine.NET e che ne faccio uso per questo blog. Con le prime versione, mi sono dovuto scrivere un bel pò di codice per adattarlo alle mie esigenze, e sopratutto per ottimizzarlo per l'indicizzazione nei motori di ricerca.
(SEO - Ottimizzazione per i motori di ricerca)
Ad ogni aggiornamento di BlogEngine.NET, mi accorgevo che il codice (scritto da me) che stavo riportando da una versione all'altra, si riduceva notevolmente. Fino a pochi giorni fa, che sono riuscito a inserire tutto il mio codice all'interno di una Extension, permettendomi d'ora in poi di agevolarmi nella procedura di aggiornamento (che ora si è ridotta ad un bel copia e incolla).

L'extension che ho creato permette di settare il tag meta-description della pagina con i primi 200 caratteri del post. Questo tag permette di specificare una descrizione per il contenuto della pagina migliorandone l'indicizzazione.

Creare l'Extension

Per fare questo, mi sono agganciato all'evento Serving del Post, ed al suo interno ho eliminato i tag html contenuti nel Body, e copiato i primi 200 caratteri all'interno della proprietà Description (che di default viene inserita nel tag meta description della pagina).

   1: /// <summary>
   2: /// Initializes the <see cref="MetaDescription"/> class.
   3: /// </summary>
   4: static MetaDescription()
   5: {
   6:     Post.Serving += new EventHandler<ServingEventArgs>(Post_Serving);
   7: }
   8:  
   9: /// <summary>
  10: /// Handles the Serving event of the Post control.
  11: /// </summary>
  12: /// <param name="sender">The source of the event.</param>
  13: /// <param name="e">The <see cref="BlogEngine.Core.ServingEventArgs"/> instance containing the event data.</param>
  14: static void Post_Serving(object sender, ServingEventArgs e)
  15: {
  16:     if (!string.IsNullOrEmpty(e.Body)
  17:         && string.IsNullOrEmpty(((Post)sender).Description)
  18:         && e.Location == ServingLocation.SinglePost)
  19:     {
  20:         // Remove the HTML tags
  21:         string content = ClearHTMLTags(HttpUtility.HtmlDecode(e.Body));            
  22:         
  23:         // Remove the encoded char. es: &#236; 
  24:         //content = ClearEncodedChar(HttpUtility.HtmlEncode(content));
  25:  
  26:         // Reduce the Length of text for meta description
  27:         if (content.Length > 200)
  28:             content = content.Substring(0, 200);
  29:  
  30:         // Set the description of post
  31:         ((Post)sender).Description = content;
  32:     }
  33: }

Rimuovere i tag HTML

Per elinare i tag HTML contenuti nel post ho utilizzato le Regular Expression, in quanto sono veramente performanti, e permettono agevolmente di eseguire ricerche e modifiche all'interno di testi scrivendo pochissime righe di codice:

   1: /// <summary>
   2: /// Clears the HTML tags.
   3: /// </summary>
   4: /// <param name="strHTML">The string with the tags to remove.</param>
   5: /// <returns></returns>
   6: private static string ClearHTMLTags(string strHTML)
   7: {
   8:     Regex regEx = null;
   9:     string strTagLess = string.Empty;
  10:     try
  11:     {
  12:         //this pattern mathces any html tag
  13:         regEx = new Regex("<[^>]*>", RegexOptions.IgnoreCase);
  14:         strTagLess = regEx.Replace(strHTML, "");
  15:         //matches a single <
  16:         regEx = new Regex("[<]", RegexOptions.IgnoreCase);
  17:         strTagLess = regEx.Replace(strTagLess, "&lt;");
  18:         //matches a single >
  19:         regEx = new Regex("[>]", RegexOptions.IgnoreCase);
  20:         strTagLess = regEx.Replace(strTagLess, "&gt;");
  21:  
  22:         return strTagLess;
  23:     }
  24:     catch
  25:     {
  26:         return strHTML;
  27:     }
  28: }

Rimuovere caratteri speciali

All'interno del codice del metodo Post_Serving, è presente una riga di codice commentata che punta a una funzione che permette (sempre tramita Regular Expression) di rimuovere i caratteri speciali/simboli presenti all'interno del post. Questo perchè vengono visualizzati con l'encoding e quindi il carattere "é" apparirebbe "&amp;#233;" (in quanto viene fatto un (doppio) encoding da BlogEnigne.NET). Questa informazione viene comunque interpretata correttamente dai motori di ricerca, e quindi ho preferito non rimuovere questi caratteri, ma per chi invece fosse interessato, è sufficiente che scommenti la linea.
Ecco qui la funzione che verrebbe eseguita:

   1: /// <summary>
   2: /// Clears the encoded char.
   3: /// </summary>
   4: /// <param name="strHTML">The string with encoded char to remove</param>
   5: /// <returns></returns>
   6: private static string ClearEncodedChar(string strHTML)
   7: {
   8:     Regex regEx = null;
   9:     string strEncodedCharLess = string.Empty;
  10:     try
  11:     {
  12:         regEx = new Regex(@"&(?ni:\#((x([\dA-F]){1,5})|(104857[0-5]|10485[0-6]\d|1048[0-4]\d\d|104[0-7]\d{3}|10[0-3]\d{4}|0?\d{1,6}))|([A-Za-z\d.]{2,31}));", RegexOptions.IgnoreCase);
  13:         strEncodedCharLess = regEx.Replace(strHTML, "");
  14:  
  15:         return strEncodedCharLess;
  16:     }
  17:     catch
  18:     {
  19:         return strHTML;
  20:     }
  21: }

Come utilizzare l'extension

Per utilizzare l'extension, non si deve fare altro che eseguire il download, e copiare il file contenuto all'interno della cartella \App_Code\Extensions del proprio blog.

Download file: http://files.dott.../BlogEngine-MetaDescription-01.zip

Tags: , ,

ASP .NET | .NET | Microsoft

Guida BlogEngine.NET

by andrea 14 April 2009 00:25

guida_BlogEngine Segnalo che sono usciti i primi articoli della "Guida BlogEngine.NET" che ho scritto per HTML.it.

BlogEngine.NET è una piattaforma di blogging, la stessa che utilizzo io per questo blog (blog.dottor.net), e viste le numerose domande che ho ricevuto a riguardo dell'installazione, customizzazione ed integrazione/espansione, ho colto al volo la possibilità di scrivere questa guida, che spero possa essere utili a molti di voi. (e pensare che all'inizio si trattava di un unico articolo...)

BlogEngine_logo Ho fatto il possibile per rendere la guida il più semplice possibile, in modo da poter aiutare chi è alle prime armi con .NET, ma non solo. Nella guida, infatti, sono trattati anche argomenti sul come customizzare BlogEngine.NET con la propria grafica e sul cosa si deve fare per espandere l'applicazione aggiungendo delle proprie funzionalità (extensios), che secondo me, sono le grandi potenzialità di questa piattaforma. (che usciranno prossimamente)

Il link alla guida è il seguente "Guida BlogEngine.NET", e per qualunque domanda/critica potete contattarmi senza problemi.

Technorati Tags:

Tags: ,

ASP .NET | .NET | Microsoft

Community is?

by Andrea 22 March 2009 17:19

Community is

E’ proprio vero...coltivare una community è un pò come coltivare una pianta:

  • le si deve prestare attenzione
  • ci si deve ricordare di alimentarla in modo da farla crescere, ma al tempo stesso, in modo che non appassisca
  • ognuno la deve sentire sua, e collaborare alla sua crescita

e se si applica (anche solo) un minimo di questi punti, sicuramente la pianta (la community) ricambierà dando mille soddisdazioni, che cresceranno di giorno in giorno.

 

Da dove nasce il tutto?
Quello che vedete in foto è un gadget che ho preso allo stand degli MVP al Tech-Ed di Barcellona, e che poco tempo fa mi è ricapitato in mano, e ho deciso di vedere cosa fosse una community.

Ho seminato, le ho dato regolarmente da bere, ed ecco che dopo pochi giorni ho avuto la risposta. La Community è Attenzione, Impegno, Amicizia, e tanta voglia di condividere.

Technorati Tags: ,

Tags: ,

XeDotNet | Tempo libero | Microsoft | Generale | Sfoghi

Il vero programmatore …affronta tutte le sfide

by Andrea 16 February 2009 03:17

SilverlightGame"Il vero programmatore …affronta tutte le sfide" è questo il titolo di un post su HTML.it che presenta un gioco (architettato da Microsoft e HTML.it) e interamente sviluppato in Silverlight dove si ha la possibilità di vincere uno sconto del 40% su Visual Studio 2008 Professional con MSDN Premium.

Per giocare il link è il seguente: Defy All Challanges

Il gioco vi permette di muovervi in questo ambiente alla ricerca di oggetti che vi permettarrno di avvicinarvi alla vicinta, ma per guadagnarveli dovrete rispondere a domande riguardanti Visual Studio e non solo.

Questo, oltre ad essere un gioco e un'oppurtunità per ricevere uno splendido premio, è un'ulteriore dimostrazioni delle possibilità che Silverlight offre.

Technorati Tags: ,,,

Tags: ,

Internet | Microsoft

Le mie prime impressioni sul Tech-Ed

by Andrea 12 November 2008 15:45

Questo è il primo Tech-Ed a cui partecipo, ed è anche la prima volta che mi trovo a Barcellona…peccato solo non aver il tempo di fare un pò il turista. :D

In questi 3 giorni sono riuscito a seguire parecchie sessioni, alcune delle quali mi hanno parecchio deluso o per come è stato trattato un argomento o per l’esposizione dello speaker (cosa che non credevo capitasse ad un evento di questo tipo), ma altre invece sono state particolarmente interessanti…
Tra le mie preferite spiccano Hight Performance ASP.NET e “Ruynning on the Metal” with the .NET Micro Framework sono al momento le sessioni che più mi hanno interessato e soddisfatto.

La sessione Hight Performance ASP.NET era dedicata al cosa fare per ottimizzare le nostre applicazioni, e ai piccoli accorgimenti da compiere per ottenere maggiori performance. Accorgimenti che vanno dall’uso della cache (sia lato client che server), di come organizzare JavaScript e CSS, e l’utilizzo di AJAX. Comunque andrò in maggior dettaglio in un prossimo post in quanto ritengo siano argomenti a volte sottovalutati.

La sessione sul .NET Micro Framework l’ho seguita per una mia curiosità. Io sono diplomato in elettronica, la programmazione di microcontrollori mi ha sempre interessato, e in questa sessione devo ammettere di aver trovato un nuovo stimolo per riavvicinarmi. Al momento stò valutando l’acquisto di una scheda che mi permetta di giocare un pò con questa tecnologia, perchè credo sia il modo migliore per capirne bene le potenzialità, e chissà che non escano cose interessanti.

Technorati Tags: ,

Tags:

.NET | Microsoft

"Choose toolbox items" vi chiude Visual Studio 2008 SP1

by Andrea 20 October 2008 02:45

In Visual Studio 2008 SP1 stavo cercando di aggiungere dei nuovi Items nella toolbox e mi accingo a fare il solito iter:

apro la toolbox –> click sul tasto destro del mouse –> click su “Choose Items…”

e Visual Studio mi si chiude senza darmi nessun messaggio di avviso. Avvio nuovamente VS e ci riprovo, e mi si ripresenta nuovamente il problema. Allora decido di vedere se fosse già capitato a qualcun’altro.

Cercando su connect ho trovato che l’unica soluzione (workaround) è quella di avviare Visual Studio in safe mode ().
Per farlo dovete aprire il Command Prompt e digitare

devenv.exe /safemode

Se dovesse capitare anche a voi, vi consiglio di segnalarlo direttamente qui:
https://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=365943

Tags:

.NET | Microsoft

Italian MVP Open Days 2008

by Andrea 16 October 2008 00:52

MVPBanner_3

Quest’anno avrò la fortuna di partecipare agli MVP Open Days. Due gionate (17 e 18 Ottobre 2008) dedicate agli MVP, in cui si potrà respirare a pieno lo spirito di Comunity, e dove la condivisione (tecnologia, scambio di opinioni, confronti e non dimentichiamoci il divertimento) saranno alla base di tutto.

Credo che questo post MVP Open Days 2008descriva a pieno cosa ci aspetterà.

Vi consiglio di seguire il blog degli MVP presenti, e ovviamente quello di alead… potrebbero scappare post interessanti. :-D

Technorati Tags: ,

Tags:

Microsoft

Un nuovo MVP

by Andrea 01 October 2008 09:45

MVP_FullColor_ForScreen E' con un'emozione unica che vi voglio rendere partecipi...oggi mi è stato conferito il premio di MVP (Most Valuable Professionals) nella categoria ASP/ASP.NET.

Oltre alla mail arrivata, ecco un post di Alessandro Teglia che ne da la conferma: MVP Award Program – October 2008

Mi sento di dover ringraziare Andrea Boschin e Davide Vernole perchè è per merito loro che sono potuto crescere professionalmente fino a questi livelli…e sono semper loro che hanno saputo trasmettere in me cosa significa fare community ed essere community.
Un grazie va a Microsoft (ad Alessandro Teglia) per credere nelle mie capacità, e un enorme grazie a tutte le persone che hanno partecipato agli eventi XeDotNet e Microsoft, o che mi hanno scritto in questo blog, per avermi motivato e stimolato ogni giorno a continuare in ciò che credevo, e a dare sempre di più.
Grazie davvero.

Ho sempre pensato che il premio di MVP fosse per me un punto di arrivo, un sogno (quasi irraggiungibile)....ed invece ora è diventato uno stimolo maggiore per crescere, e per diffondere lo spirito di community. GRAZIE

 

Technorati Tags: ,,

Tags:

.NET | +1 | ASP .NET | Microsoft

Microsoft Office Outlook Connector

by Andrea 30 July 2008 02:35

Leggo giusto ora dal blog di Alead questo post Microsoft Office Outlook Connectorche mi rende davvero felice (in quanto lo stavo aspettando da davvero tanto tempo).

Finalmente è disponibile in versione FREE il connector per sincronizzare Outlook 2003 e Outlook 2007 con Windows Live Hotmail o Microsoft Office Live Mail accounts, includendo e-mail messaggi, contatti e il calendario.

Il download è disponibile a questa pagina Microsoft Office Outlook Connector 12.1

Vi riporto qui la overview riportata nel sito:

Overview
With Microsoft Office Outlook Connector, you can use Microsoft Office Outlook 2003 or Microsoft Office Outlook 2007 to access and manage your Microsoft Windows Live Hotmail or Microsoft Office Live Mail accounts, including e-mail messages, contacts and calendars for free!

Outlook Connector enables you to use your Live Hotmail accounts within Outlook:

  • Read and send your Office Live Mail/Windows Live Hotmail e-mail messages.
  • Manage your contacts in Windows Live Hotmail.
  • Use advanced options for blocking junk e-mail messages.
  • Manage multiple e-mail accounts in one place.
  • Manage, and synchronize multiple calendars, including shared calendars to Windows Live Calendar from Outlook.

Pronti e via, scaricato e già installato!
Stavo proprio aspettando questa news da parecchio tempo.

Tags:

Microsoft