Tem havido um crescimento de redes sociais e a adicção de características de redes sociais a outros sites.
Hoje em dia existe um vasto universo de redes sociais:
Existem, também, algumas redes profissionais com as mesmas características das redes sociais mas dirigidas à vida profissional dos seus membros/utilizadores:
Algumas pretendem captar os dois públicos, como o Plaxo.
O meu problema é que tenho amigos e contactos profissionais em todas estas redes e começa a tornar-se impossível gerir tudo isto.
Mesmo com o OpenSocial, a maioria das redes está mais preocupada em capturar utilizadores do que prvidenciar informação sobre os seus utilizadores que possa ser consumida e agregada por outras redes.
E, quem quiser, ainda pode criar a sua própria rede no Ning.
Eu gostaria que estas redees disponibilizassem informação normalizada que pudesse ser consumida pelas meus amigos e contactos profissionais na rede da sua preferÊncia (desde que aceite por mim, claro).
Mas, tal como acontece com o OpenID, todos querem ser um provedor. Aceitar qualquer OpenID como identificadores de utilizador já não é tão apetecível.
Este iniovador uso do Deep Zoom usa imagens de sítios que usam as solucões de software ViaTecla’s para formar uma imagem do Pai Natal.
Não sei o que se passa com o meu sistema XP (Alem do facto de ainda o estar a usar) mas não consegui instalar a paltaforma .NET 3.5 sem remover a 2.0 e agora não consegui aplicar o SP1 sem remover a 3.5.
Felizmente, fui salvo pela .NET Framework cleanup Tool do Aaron Stebner – ambas as vezes.
Kudos Aaron!

Os Callbacks foram introduzidos no ASP.NET 2.0 e são um mecanismo simples de chamar funcionalidade de uma page ou controlo se ter de gerar a página e sem que o utilizador se aperceba.
Para que uma página possa receber callbacks, tudo o que é necessário é implementar a interface ICallbackEventHandler.
Quando o cliente chama funcionalidade de uma página ou controlo no servidor, o estado inicial dos controlos é enviado para o servidor junto com o controlo cuja funcionalidade está a ser chamada no campo __CALLBACKID e o parâmetro da chamada no campo __CALLBACKPARAM.
É um procedimento bastante simples.
Mas, e se for necessário fazer a mesma chamada do lado do servidor?
Para que um pedido seja identificado como um callback (IsCallback), o pedido tem de ser um postback (IsPostback) e os campos acima mencionados têm de fazer parte dos dados do pedido (post data). Por outro lado, para que um pedido seja considerado um postback, o nível de chamadas do lado do servidor (Transfer ou Execute) tem de ser 0 (o que quer dizer que não foi feita nenhuma chamada a Transfer ou Execute) ou o tipo da página é o mesmo do Handler do pedido corrente e o método HTTP é POST.
Modificar o método HTTP (tnato quanto sei) é impossível. Portanto, se o pedido não for já um POST, não há qualquer forma de efectuar um callback.
Inicializar os dados do pedido é mais fácil. É apenas necessário reimplementar o método DeterminePostBackMode da página (ou de um page adapter) e retornar os dados previamente guardados no contexto. Algo assim:
protected override NameValueCollection DeterminePostBackMode()
{
NameValueCollection postBackMode = Context.Items["callbackPostData"] as NameValueCollection;
return (postBackMode != null) ? postBackMode : base.DeterminePostBackMode();
}
E fazer uma chamada será algo assim:
IHttpHandler handler = this.Context.Handler;
try
{
NameValueCollection postData = new NameValueCollection();
postData.Add("__CALLBACKID", sender);
postData.Add("__CALLBACKPARAM", this.argument.Text);
Context.Items["callbackPostData"] = postData;
Page calledPage = (Page)PageParser.GetCompiledPageInstance("~/Callback1.aspx", this.Server.MapPath("~/Callback1.aspx"), this.Context);
this.Context.Handler = calledPage;
StringWriter writer = new StringWriter();
Server.Execute(calledPage, writer, false);
this.response.Text = writer.ToString();
}
finally
{
this.Context.Handler = handler;
}
Aqui está uma implementação deste conceito.
Lendo o blogue The Typemock Insider, deparei-me com esta entrada do Gil Zilberfeld.
Eu tendo muito a caír na prática do Gil’s ("binary search" debugging), mas não acho que o Kent Beck tenha encontrado a solução.
A sugestão do Gil para usar o Isolator é tentadora (eu não perco uma oportunidade de o usar), mas não é a minha favorita.
Eu prefiro usar debug assertions (asserções de depuração). As asserções de depuração podem ser usadas quando se corre uma versão de depuração da aplicação para que nos seja mostrada uma janela com as mensagens de asserção ou, quando se correm testes unitários, para os fazer falhar.
Para se poderem usar asserções de depuração em testes unitários é necessário um trace listener “especial” que faça o teste falhar quando o seu método Fail é chamado.
public class UnitTestTraceListener : global::System.Diagnostics.DefaultTraceListener
{
public UnitTestTraceListener() : base()
{
this.Name = "UnitTest";
this.AssertUiEnabled = false;
}
public override void Fail(string message, string detailMessage)
{
Microsoft.VisualStudio.TestTools.UnitTesting.Assert.Fail("Debug.Assert Failed: " + message + " " + detailMessage);
}
}
Agora basta registá-lo.
O registo do trace listener ser feito em código:
System.Diagnostics.Trace.Listeners.Remove("Default");
System.Diagnostics.Trace.Listeners.Add(new UnitTestTraceListener());
ou por configuração:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<system.diagnostics>
<assert assertuienabled="false"/>
<trace>
<listeners>
<clear/>
<add name="UnitTest" type="UnitTestTraceListener"/>
</listeners>
</trace>
</system.diagnostics>
</configuration>
E, se estiver a ser usado o Isolator, há que ter em conta os acesso feitos nas chamadas ao método Assert. Mais diversão para mim.
Se puderam assistir a esta sessão no PDC ou Tech-Ed EMEA Developers, foram presenteados com uma brilhante apresentação sobre o futuro do C#, apresentada, respectivamente por Anders Hejlsberg e Mads Torgersen.
No futuro próximo (.NET 4.0), o C# terá:
-
Objectos dynamicamente tipados
-
Parâmetros opcionais e com nome
-
Interoperabilidade melhorada com COM
-
Co- e Contra-variância
Foi apresentada uma antevisão do compilador como um serviço, mas não será para o Visual Studio 2010 / .NET 4.0. Muito provavelmente, nem para a próxima.
A partir da .NET 4.0, o C# e Visual Basic convergirão em termos de funcionalidades e, de futuro, seguirão um caminho de co-evolução.
Não! Isso não quer diser que o C# terá XML Literals num futuro previsível. Isso quer dizer que a lista acima também se aplica ao Visual Basic.
Falando da evolução do Visual Basic, o caracter de continuação de linha (_) foi reformado. Se alguém tem alguma utilidade para o caracter underscore, é favor dirigir-se a http://www.unemployedunderscores.com/.
Recursos:
(Pode parecer um pouco tarde para isto, mas, ultimamente, tenho tido muito em que pensar. Portanto, aqui vai.)
Este foi o meu primeiro PDC. E foi tal e qual como me tinham dito.
Para quem não sabe, o PDC é todo acerca do futuro. O futuro próximo (.NET 4.0 e Windows 7) e o futuro distante (Windows Azure, “Oslo”, “Dublin”, “Geneva”).
O PDC do próximo ano (Sim! Aparentemente, vai haver um no próximo ano) terá lugar em Los Angeles de 17 a 20 de Novembro, e (suspeito) vai ser o lançamento comercial da Azure Services Platform e uma história mais bem contada acerca do “Oslo”.
O Tech-ED EMEA Developers, por outro lado, é mais acerca do presente e do futuro próximo. Mas, este ano, os participantes puderam espreitar o que tinha sido mostrado no PDC.
O Tech-ED EMEA Developers do próximo ano terá lugar em Berlim de 2 a 6 de Novembro. Provavelmente, tal como aconteceu em 2006, será o lançamento da .NET 4.0 e do Visual Studio 2010.
E eu pretendo assistir a ambos.

Acabei de encon trar isto: www.MyRampUp
Ramp Up é um programa comunitário grátis, que pode ajudar utilizadores a pouparem tempo para aprender tecnologias Microsoft.
O conteúdo de fácil acesso (providenciado por gurus na matéria) é especialmente desenhado para o programa Ramp Up, e oferecido numa variedade de formatos (whitepaper, v-lab, codecast e slidecast).

Os percursos actualmente disponíveis são:

Actualmente, não há qualquer avaliação no programa, por isso é mais rápido que nunca formar-se e receber a recompensa (25% de desconto em certificaçãoes e 50% de desconto em e-Learning - apenas para quem se formar no Ramp Up).
O relatório está disponível em: www.microsoft.com/sir
- Este volume 5 do Microsoft Security Intelligence Report tem aproximadamente 145 páginas (em formato XPS e PDF) incluindo dados e análise:
- NOVO – O ecossistema de ameaças, secção narrativa
- Revelação de vulnerabilidades de segurança, específicas da Microsoft e da generalidade da indústria
- Abuso de vulnerabilidades específicas da Microsoft
- NOVO – Abusos baseados em browser, Microsoft e terceiros
- Relatórios de quebras de segurança e privacidade
- Tendências e software malicioso e potencialmente indesejado
- Foco em malware e código assinado
- NOVO – Dados específicos de malware e software potencialmente indesejado para 15 localizações em todo o mundo (Estados Unidos, Canadá, Reino Unido, Austrália, Brasil, França, Alemanha, China, Hungria, Itália, Japão, Noruega, Rússia, África do Sul e Gulf Cooperation Council)
- Sumário e principais conclusões do SIR (aproximadamente 15 páginas em formato XPS e PDF), publicado em Inglês, Chinês (Simplificado e Tradicional), Francês, Alemão, Italiano, Japonês, Coreano, Português (Brasileiro), Russo e Espanhol
- Sumário executivo (aproximadamente 5 páginas em formato XPS e PDF), apenas em Inglês
- Vídeo introdutório ao relatório do “Bret and Vinny Show”

Estou a ter muita dificuldade em fazer a minha agenda para o PDC.
Estou principalmente interessado nas seguintes areas:
- Cloud
- Parallel
- Identity
- Oslo
e todas têm sessões que se sobrepõem.
Acho que vou ter de “cozinhar” as agendas do PDC e do Tech-Ed EMEA 2008 Developers em conjunto para cobrir o máximo de assuntos.
O PDC é, principalmente, acerca da cloud (núvem).
Todos falam acerca da cloud: cloud services, cloud computing, etc. mas não tenho a certeza de que todos tenham o mesmo entendimento do que é a cloud. Digamos que ainda é um conceito um tanto nebuloso.
Mas afinal o que é esta coisa da cloud?
Tomemos o Windows Home Server (WHS) como exemplo. A Microsoft providencia um conjunto de serviços através de homeserver.com que me permitem controlar o servidor aceder a outros PCs da minha rede doméstica. Acho que posso considerar homeserver.com uma cloud platform que me permite colocar a minha casa na cloud.
Por outro lado, uma vez que o WHS assenta no Windows Server 2003, isso permite-me tirar partido do seu web server (IIS) para expor serviço através de homeserver.com. Serviços estes que tanto poem ser para meu uso pessoal com para providenciar a terceiros colocando, assim, a minha na cloud.
Numa escala maior, é assim que eu vejo a cloud e a sua utilização. Um universo indistinto de provedores de serviços consumidores de serviços em que alguns são apenas provedores, outros apenas consumidores e outros ambos (agregadores de serviços, agentes de valor acrescentado, etc.)
Acho que a visão da Microsoft no que diz respeito à cloud e ao WHS está alinhada com minha, daí estas duas sessões no PDC:
-
Tue 10/28 | 5:15 PM-6:30 PM | 409A
Presenter(s): CJ Saretto, Fabian Uhse
Aprenda a construir aplicações e serviços instalados no Windows Home Server que tiram partido de PCs e dispositivos ligados à rede doméstica. Assista a um exemplo de domótica e gestão de energia, e assista à criação de um serviço local que expõe o controlo de ar condicionado, persianas das janelas e iluminação na rede doméstica. Assista a como criar o serviço num add-in para o Windows Home Server, rapidamente criar uma UI de configuração, instalar uma aplicação num PC para controlar o serviço, e demonstrar o controlo de outros dispositivos como TVs e telefones celulares.
-
Wed 10/29 | 10:30 AM-11:45 AM | 409A
Presenter(s): Brendan Grant, CJ Saretto
Aprenda a tirar partido da plataforma de Remote Access do Windows Home Server para expor serviços locais na Internet. Assista a como expor um serviço de domótica a correr no Windows Home Server na Internet, e assista a uma demonstração de como expor serviços que podem ser hospedados noutros dispositivos na rede doméstica usando o Windows Home Server como gateway. Finalmente, tenha uma visão do Home Server e o Live Mesh a trabalhar em conjunto para aumentar a experiência remota de uma casa conectada.
Windows Home Server Resources
E, de repente, uma nuvem no nosso futuro não é uma coisa má, antes pelo contrário.
O PDC deste ano é todo acerca da cloud (núvem – ou nebulosa, como eu lhe chamo) e a .NET Framework 4.0.
Ninguém da Microsoft me disse que os Windows Forms tinham os dias contados (antes pelo contrário) mas, olhando para lista de sessões do PDC deste ano, só vejo WPF.
Portanto, a questão mantem-se: Será o fim dos Windows Forms?
Esta versão adiciona o suporte para métodos estáticos e metódos não públicos à API AAA. Vejam as notas de lançamento.
Não me agrada muito a aproximação reflectiva ao teste de membros privados.
Com as novas adicões à API AAA, testar esta classe:
public class MyClass
{
public string Public()
{
return this.Private();
}
private string Private()
{
throw new