<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>PontoNetPT WebLogs</title><link>http://weblogs.pontonetpt.com/</link><description>Weblogs sobre .NET em portugues</description><generator>Dottext 0.94</generator><item><title>Chamadas assíncronas à Serviço via modelo de eventos</title><link>http://weblogs.pontonetpt.com/israelaece/posts/28200.aspx</link><pubDate>Fri, 05 Sep 2008 19:15:00 GMT</pubDate><guid isPermaLink="true">http://weblogs.pontonetpt.com/israelaece/posts/28200.aspx</guid><wfw:comment>http://weblogs.pontonetpt.com/israelaece/comments/28200.aspx</wfw:comment><wfw:commentRss>http://weblogs.pontonetpt.com/israelaece/comments/commentRss/28200.aspx</wfw:commentRss><comments>http://weblogs.pontonetpt.com/israelaece/posts/28200.aspx#comment</comments><trackback:ping>http://weblogs.pontonetpt.com/israelaece/trackback.aspx?ID=28200</trackback:ping><source url="http://weblogs.pontonetpt.com/israelaece/rss.aspx">Israel Aéce</source><description>&lt;p align="justify"&gt;O WCF fornece, não por padrão, a possibilidade de invocar as operações de um serviço de &lt;a href="http://www.projetando.net/Sections/ViewArticle.aspx?ArticleID=82"&gt;forma assíncrona&lt;/a&gt;. Quando efetuamos a referencia para um serviço via IDE do Visual Studio 2008 ou através do utilitário &lt;a href="http://msdn.microsoft.com/en-us/library/aa347733.aspx"&gt;svcutil.exe&lt;/a&gt; (com a opção &lt;em&gt;/async&lt;/em&gt;) automaticamente, além da versão síncrona do método, dois métodos chamados &lt;em&gt;BeginXXX/EndXXX&lt;/em&gt; (onde &lt;em&gt;XXX&lt;/em&gt; é o nome do método síncrono) são adicionados, permitindo que voce invoque assincronamente uma determinada operação.&lt;br /&gt;&lt;br /&gt;Além do tradicional modelo de chamadas assíncronas (APM), temos a possibilidade da chamada assíncrona &lt;a href="http://msdn.microsoft.com/en-us/library/wewwczdw.aspx"&gt;baseada em eventos&lt;/a&gt;. A idéia aqui é, antes de invocar a operação, voce poderá assinar à um evento que será disparado somente quando o processo assíncrono finalizar. Isso evitará de ter um trabalho manual para analisar se o processo finalizou ou não (&lt;em&gt;poll&lt;/em&gt;, &lt;em&gt;waiting&lt;/em&gt;, etc.). Internamente durante a geração do &lt;em&gt;proxy&lt;/em&gt;, o código que é auto-gerado já inclui a implementação necessária para o modelo baseado em eventos.&lt;br /&gt;&lt;br /&gt;Basicamente é criado mais uma versão do método, agora com o sufixo &lt;em&gt;XXXAsync&lt;/em&gt; que, internamente, faz a chamada para os métodos &lt;em&gt;BeginXXX/EndXXX &lt;/em&gt;que, como já sabemos, dispararam a operação de forma assíncrona. Além disso, um &lt;em&gt;delegate&lt;/em&gt; do tipo &lt;a href="http://msdn.microsoft.com/en-us/library/db0etb8x.aspx"&gt;EventHandler&amp;lt;T&amp;gt;&lt;/a&gt; também será criado para representar o &lt;em&gt;callback&lt;/em&gt; que, quando disparado, invocará o evento do lado de quem está consumindo o serviço. Abaixo um exemplo de como efetuar a chamada assíncrona baseada em eventos:&lt;br /&gt;&lt;br /&gt;&lt;font color="#0000ff"&gt;using&lt;/font&gt; (ClienteClient p = &lt;font color="#0000ff"&gt;new&lt;/font&gt; ClienteClient())&lt;br /&gt;{&lt;br /&gt;    p.CalcularComissaoCompleted += &lt;br /&gt;        &lt;font color="#0000ff"&gt;new&lt;/font&gt; EventHandler&amp;lt;CalcularComissaoCompletedEventArgs&amp;gt;(p_CalcularComissaoCompleted);&lt;br /&gt;&lt;br /&gt;    p.CalcularComissaoAsync("2");&lt;br /&gt;    Console.ReadLine();&lt;br /&gt;}&lt;/p&gt;
&lt;p align="justify"&gt;&lt;font color="#0000ff"&gt;static void&lt;/font&gt; p_CalcularComissaoCompleted(&lt;font color="#0000ff"&gt;object&lt;/font&gt; sender, &lt;br /&gt;    CalcularComissaoCompletedEventArgs e)&lt;br /&gt;{&lt;br /&gt;    Console.WriteLine("Fim.");&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;Se notarmos a implementação interna do &lt;em&gt;proxy&lt;/em&gt;, veremos que o método &lt;em&gt;XXXAsync&lt;/em&gt; faz o uso do método &lt;a href="http://msdn.microsoft.com/en-us/library/bb763968(VS.95).aspx"&gt;InvokeAsync&lt;/a&gt;, da classe &lt;a href="http://msdn.microsoft.com/en-us/library/ms576141(VS.95).aspx"&gt;ClientBase&amp;lt;T&amp;gt;&lt;/a&gt;. Este método está disponível somente a partir do .NET Framework 3.5. Sendo assim, alguns detalhes durante a geração do &lt;em&gt;proxy&lt;/em&gt; precisam ser analisados:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div align="justify"&gt;Via &lt;em&gt;&lt;strong&gt;"Add Service Reference"&lt;/strong&gt;&lt;/em&gt;: se voce estiver fazendo a referencia em um projeto que esteja utilizando o .NET Framework 3.5 e voce opta pela geração dos métodos que dão suporte ao processamento assíncrono, ele também criará os tipos necessários para suportar o modelo de eventos.&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div align="justify"&gt;Via &lt;strong&gt;svcutil.exe&lt;/strong&gt;: neste caso voce precisará especificar através do parametro &lt;em&gt;/async&lt;/em&gt; e, além disso, especificar a versão do .NET Framework através do parametro &lt;em&gt;/targetClientVersion&lt;/em&gt;, apontando para &lt;em&gt;Version30&lt;/em&gt; ou, se quiser utilizar o modelo baseado em eventos, utilizar a opção &lt;em&gt;Version35&lt;/em&gt;.&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;</description><dc:creator>Israel Aéce</dc:creator></item><item><title>Desenvolvimento de Aplicativo para TV Digital - Parte 2</title><link>http://weblogs.pontonetpt.com/mauriciojunior/posts/28199.aspx</link><pubDate>Fri, 05 Sep 2008 18:26:00 GMT</pubDate><guid isPermaLink="true">http://weblogs.pontonetpt.com/mauriciojunior/posts/28199.aspx</guid><wfw:comment>http://weblogs.pontonetpt.com/mauriciojunior/comments/28199.aspx</wfw:comment><wfw:commentRss>http://weblogs.pontonetpt.com/mauriciojunior/comments/commentRss/28199.aspx</wfw:commentRss><comments>http://weblogs.pontonetpt.com/mauriciojunior/posts/28199.aspx#comment</comments><trackback:ping>http://weblogs.pontonetpt.com/mauriciojunior/trackback.aspx?ID=28199</trackback:ping><source url="http://weblogs.pontonetpt.com/mauriciojunior/rss.aspx">Mauricio Junior - MCP Microsoft (WEB &amp; Windows Application)</source><description>Olá pessoal, seguindo a idéia do primeiro artigo gerado por mim; darei umacontinuação com exemplos práticos de como começar a desenvolver um aplicativopara TV Digital. Está muito na moda esse nome “TV Digital”; mas de fato,existem poucas pessoas que viram e sabem como fazer software para a mesma. &lt;br /&gt;&lt;br /&gt;

         Meu objetivo maior é mostrar passo apasso como começar a desenvolver software para um dispositivo “Televisão”, tão amplo e comum na vida de todo mundo.&lt;br /&gt;&lt;br /&gt;

         Tive alguns problemas para começar adesenvolver esse tipo de software para essa tecnologia citada anteriormente, emrelação a máquina, software, editor, jvm e muito mais. Relacionarei todos osesses problemas no desenrolar desse artigo.  &lt;a href="http://www.aspneti.com/Desenvolvimento+de+Aplicativos+Para+TV+Digital+Parte2+566,0.aspx"&gt;Leia mais...&lt;/a&gt;</description><dc:creator>Mauricio Junior</dc:creator></item><item><title>#error</title><link>http://weblogs.pontonetpt.com/israelaece/posts/28197.aspx</link><pubDate>Fri, 05 Sep 2008 13:02:00 GMT</pubDate><guid isPermaLink="true">http://weblogs.pontonetpt.com/israelaece/posts/28197.aspx</guid><wfw:comment>http://weblogs.pontonetpt.com/israelaece/comments/28197.aspx</wfw:comment><wfw:commentRss>http://weblogs.pontonetpt.com/israelaece/comments/commentRss/28197.aspx</wfw:commentRss><comments>http://weblogs.pontonetpt.com/israelaece/posts/28197.aspx#comment</comments><trackback:ping>http://weblogs.pontonetpt.com/israelaece/trackback.aspx?ID=28197</trackback:ping><source url="http://weblogs.pontonetpt.com/israelaece/rss.aspx">Israel Aéce</source><description>&lt;p align="justify"&gt;Em alguns momentos durante a escrita de um projeto para servir de exemplo para um artigo, eu gostaria de colocar uma diretiva no código para forçar o leitor a antes de executar o mesmo, configurar algo que seja necessário para que o projeto funcione como o esperado. Depois de algumas pesquisa no &lt;a href="http://msdn.microsoft.com/en-us/library/default.aspx"&gt;MSDN Library&lt;/a&gt;, a solução que encontrei foi a diretiva &lt;a href="http://msdn.microsoft.com/en-us/library/x5hedts0(VS.80).aspx"&gt;#error&lt;/a&gt;, que podemos aplicar ao código da seguinte forma:&lt;br /&gt;&lt;br /&gt;#error Altere o valor da connectionstring apontando para uma base válida&lt;br /&gt;&lt;font color="#0000ff"&gt;private const string&lt;/font&gt; SQL_CONN_STRING = "Data Source=.;Initial Catalog=DBTest;Integrated Security=SSPI;";&lt;br /&gt;&lt;br /&gt;Isso impedirá o usuário de compilar a aplicação sem antes alterar essa informação ou, ao menos, comentá-la. :P&lt;/p&gt;</description><dc:creator>Israel Aéce</dc:creator></item><item><title>Chrome - não reconhecimento</title><link>http://weblogs.pontonetpt.com/mauriciojunior/posts/28196.aspx</link><pubDate>Thu, 04 Sep 2008 21:40:00 GMT</pubDate><guid isPermaLink="true">http://weblogs.pontonetpt.com/mauriciojunior/posts/28196.aspx</guid><wfw:comment>http://weblogs.pontonetpt.com/mauriciojunior/comments/28196.aspx</wfw:comment><wfw:commentRss>http://weblogs.pontonetpt.com/mauriciojunior/comments/commentRss/28196.aspx</wfw:commentRss><comments>http://weblogs.pontonetpt.com/mauriciojunior/posts/28196.aspx#comment</comments><trackback:ping>http://weblogs.pontonetpt.com/mauriciojunior/trackback.aspx?ID=28196</trackback:ping><source url="http://weblogs.pontonetpt.com/mauriciojunior/rss.aspx">Mauricio Junior - MCP Microsoft (WEB &amp; Windows Application)</source><description>O engraçado pessoal é que, nem no próprio site do google o seu browser (novo browser) é reconhecido como um. &lt;br /&gt;
Por usar um mesmo plugin do Safari, o Chrome está sendo reconhecido como Safari ou como não browser apto para acesso. 
&lt;br /&gt;&lt;br /&gt;
&lt;a href="http://blog.mauriciojunior.org/post/chrome-nao-reconhecimento.aspx#continue"&gt;&lt;b&gt;[Leia mais...]&lt;/b&gt;&lt;/a&gt;</description><dc:creator>Mauricio Junior</dc:creator></item><item><title>Prism 2.0 &amp;ndash; O que poderemos esperar? / Prism 2.0 &amp;ndash; What can we expect? (PT/EN)</title><link>http://weblogs.pontonetpt.com/mutley/posts/28195.aspx</link><pubDate>Thu, 04 Sep 2008 16:16:00 GMT</pubDate><guid isPermaLink="true">http://weblogs.pontonetpt.com/mutley/posts/28195.aspx</guid><wfw:comment>http://weblogs.pontonetpt.com/mutley/comments/28195.aspx</wfw:comment><wfw:commentRss>http://weblogs.pontonetpt.com/mutley/comments/commentRss/28195.aspx</wfw:commentRss><comments>http://weblogs.pontonetpt.com/mutley/posts/28195.aspx#comment</comments><trackback:ping>http://weblogs.pontonetpt.com/mutley/trackback.aspx?ID=28195</trackback:ping><source url="http://weblogs.pontonetpt.com/mutley/rss.aspx">Nuno Filipe Godinho</source><description>&lt;p&gt;&lt;/p&gt; &lt;p&gt;(PT)&lt;/p&gt; &lt;p&gt;   O tão falado projecto Prism está a fazer bastantes alterações no espectro das aplicações WPF, com a primeira versão do mesmo a ser renomeada para “Composite Application Guidance for WPF”, e agora está a preparar-se para fazer a sua entrada no espectro do Silverlight.&lt;/p&gt; &lt;p&gt;  A importância deste tipo de Guia para Silverlight é bastante elevada pois irá ajudar os programadores a ficarem orientados a questões de negócio, pois neste momento muito trabalho tem de ser desenvolvido que não diz respeito ao negócio como é normal acontecer numa fase inicial de uma tecnologia, mas isto será resolvido com o Prism 2.0.&lt;/p&gt; &lt;p&gt;   E por isso mesmo aqui ficam algumas das funcionalidades que poderemos experar para a próxima versão do Prism:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Capacidade de funcionar para WPF e Silverlight &lt;/li&gt;&lt;li&gt;Reutilização de Componentes &lt;/li&gt;&lt;li&gt;Guia para desenvolvimento de Aplicações Silverlight &lt;/li&gt;&lt;li&gt;Guia para o desenvolvimento de soluções de negócio com Silverlight &lt;/li&gt;&lt;li&gt;Desenvolvimento modular em aplicações Silverlight&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;   Estas são algumas das funcionalidades, mas poderão ver a lista completa e o âmbito desta nova versão no Blog do &lt;a href="http://blogs.msdn.com/blaine/" target="_blank"&gt;Blaine Wastell&lt;/a&gt; nest &lt;a href="http://blogs.msdn.com/blaine/archive/2008/09/02/scope-for-prism-2-0.aspx" target="_blank"&gt;post&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;(EN)&lt;/p&gt; &lt;p&gt;   So known Prism project is making some changes on the spectrum of WPF Applications, with the first version being named  “Composite Application Guidance for WPF”, and now is preparing to make is entrance on the Silverlight Applications spectrum. &lt;/p&gt; &lt;p&gt;   The importance of having this kind of Guidance for Silverlight is very high because this will help developers take care of some more Business oriented issues that presently, because now much as to be made that is not Business oriented because of the early days of this technology, but this will be solved by Prism 2.0.&lt;/p&gt; &lt;p&gt;   And so here are some of the features we can expect in the next version of Prism:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Multi-targeting for WPF and Silverlight Applications  &lt;/li&gt;&lt;li&gt;Component Reusability  &lt;/li&gt;&lt;li&gt;Guidance for Silverlight Applications  &lt;/li&gt;&lt;li&gt;Guidance for building Silverlight LOB applications  &lt;/li&gt;&lt;li&gt;Modular development in Silverlight Applications &lt;/li&gt;&lt;/ul&gt; &lt;p&gt;   These are some of those features, but you can check the complete scope of this version in this &lt;a href="http://blogs.msdn.com/blaine/" target="_blank"&gt;Blaine Wastell&lt;/a&gt; blog &lt;a href="http://blogs.msdn.com/blaine/archive/2008/09/02/scope-for-prism-2-0.aspx" target="_blank"&gt;post&lt;/a&gt;.&lt;/p&gt;</description><dc:creator>Nuno Filipe Godinho</dc:creator></item><item><title>PDC2008: Encontramo-nos Em Los Angeles</title><link>http://weblogs.pontonetpt.com/pjmorgado/posts/28192.aspx</link><pubDate>Wed, 03 Sep 2008 16:53:00 GMT</pubDate><guid isPermaLink="true">http://weblogs.pontonetpt.com/pjmorgado/posts/28192.aspx</guid><wfw:comment>http://weblogs.pontonetpt.com/pjmorgado/comments/28192.aspx</wfw:comment><wfw:commentRss>http://weblogs.pontonetpt.com/pjmorgado/comments/commentRss/28192.aspx</wfw:commentRss><comments>http://weblogs.pontonetpt.com/pjmorgado/posts/28192.aspx#comment</comments><trackback:ping>http://weblogs.pontonetpt.com/pjmorgado/trackback.aspx?ID=28192</trackback:ping><source url="http://weblogs.pontonetpt.com/pjmorgado/rss.aspx">Paulo Morgado</source><description>&lt;a href="http://PauloMorgado.NET/"&gt;&lt;/a&gt;  &lt;p align="center"&gt;&lt;a title="Microsoft PDC" href="http://microsoftpdc.com/" target="_blank"&gt;&lt;img src="http://microsoftpdc.com/Images/Wallpapers/frenetic_multi_thumb.jpg" /&gt;&lt;/a&gt; &lt;/p&gt; &lt;a href="http://PauloMorgado.NET/"&gt;&lt;/a&gt;  &lt;p align="justify"&gt;Não é a primeira vez que tento mas, por uma razão ou outra, esta é a primeira vez que vou ao &lt;a title="Microsoft PDC" href="http://microsoftpdc.com/" target="_blank"&gt;PDC&lt;/a&gt; (&lt;a title="Microsoft Corporation" href="http://www.microsoft.com/" target="_blank"&gt;Microsoft&lt;/a&gt;’s Professional Developers Conference).&lt;/p&gt; &lt;a href="http://PauloMorgado.NET/"&gt;&lt;/a&gt;  &lt;p align="justify"&gt;De acordo com o sítio do evento, “O PDC é projectado para arquitectos de software e programadores avançados. Se estão interessados no futuro da plataforma Microsoft, se são responsáveis pela estratégia tecnológica a vossa organização ou se são profissionais altamente qualificados que gostam de mergulhar o coração da plataforma, então o PDC é para vós!”. Se se revêm nesta descrição, não percam tempo e registem-se. O desconto Early Bird foi extendido até 8 de Setembro.&lt;/p&gt; &lt;a href="http://PauloMorgado.NET/"&gt;&lt;/a&gt;  &lt;p align="justify"&gt;O que gosto mais destes eventos é a convivência com as pessoas da Microsoft e com os outros participantes. Portanto, se se quiserem encontrar comigo, terei muito gosto em encontrar-me convosco.&lt;/p&gt;
&lt;p&gt;[Cross-Posted de &lt;a href="http://www.arquitecturadesoftware.org/blogs/paulomorgado/"&gt;http://www.arquitecturadesoftware.org/blogs/paulomorgado/&lt;/a&gt;]&lt;/p&gt;</description><dc:creator>Paulo Morgado</dc:creator></item><item><title>Novo browser Chrome da Google já saiu...</title><link>http://weblogs.pontonetpt.com/jf_rocha/posts/28190.aspx</link><pubDate>Tue, 02 Sep 2008 19:31:00 GMT</pubDate><guid isPermaLink="true">http://weblogs.pontonetpt.com/jf_rocha/posts/28190.aspx</guid><wfw:comment>http://weblogs.pontonetpt.com/jf_rocha/comments/28190.aspx</wfw:comment><wfw:commentRss>http://weblogs.pontonetpt.com/jf_rocha/comments/commentRss/28190.aspx</wfw:commentRss><comments>http://weblogs.pontonetpt.com/jf_rocha/posts/28190.aspx#comment</comments><trackback:ping>http://weblogs.pontonetpt.com/jf_rocha/trackback.aspx?ID=28190</trackback:ping><source url="http://weblogs.pontonetpt.com/jf_rocha/rss.aspx">João Filipe Rocha</source><description> 
&lt;div id="rfwn" style="PADDING-RIGHT: 0pt; PADDING-LEFT: 0pt; PADDING-BOTTOM: 1em; PADDING-TOP: 1em; TEXT-ALIGN: left"&gt;&lt;img id="ju_r" height="168" src="http://docs.google.com/File?id=dvdkm5n_111dzb2h3dd_b" width="168" /&gt;&lt;/div&gt;O novo browser da Google o Chrome ja saiu. Pode fazer o download &lt;a id="r0gv" title="aqui" href="http://www.google.com/chrome"&gt;aqui&lt;/a&gt;.&lt;br id="an6z" /&gt;&lt;br id="an6z0" /&gt;&lt;a id="wvt2" title="Aqui" href="http://www.google.com/chrome/intl/en/features.html"&gt;Aqui&lt;/a&gt; estão as suas funcionalidades.&lt;br id="an6z1" /&gt;&lt;br id="o.3j" /&gt;&lt;br id="p-fb" /&gt;&lt;br id="p-fb0" /&gt;</description><dc:creator>João Filipe Rocha</dc:creator></item><item><title>Func vs. Expression</title><link>http://weblogs.pontonetpt.com/israelaece/posts/28188.aspx</link><pubDate>Tue, 02 Sep 2008 15:21:00 GMT</pubDate><guid isPermaLink="true">http://weblogs.pontonetpt.com/israelaece/posts/28188.aspx</guid><wfw:comment>http://weblogs.pontonetpt.com/israelaece/comments/28188.aspx</wfw:comment><wfw:commentRss>http://weblogs.pontonetpt.com/israelaece/comments/commentRss/28188.aspx</wfw:commentRss><comments>http://weblogs.pontonetpt.com/israelaece/posts/28188.aspx#comment</comments><trackback:ping>http://weblogs.pontonetpt.com/israelaece/trackback.aspx?ID=28188</trackback:ping><source url="http://weblogs.pontonetpt.com/israelaece/rss.aspx">Israel Aéce</source><description>&lt;p align="justify"&gt;Há algum tempo eu comentei sobre a &lt;a href="http://weblogs.pontonetpt.com/israelaece/posts/14132.aspx"&gt;evolução dos delegates&lt;/a&gt;, passando pelas versões 1.0, 2.0 e 3.0 do C#. Sabemos que a partir da versão 3.0 temos uma nova forma de expressar os &lt;em&gt;delegates&lt;/em&gt;: &lt;a href="http://www.projetando.net/Sections/ViewArticle.aspx?ArticleID=70&amp;amp;File=Background#12"&gt;expressões lambda&lt;/a&gt;. Neste modelo, não há mais necessidade de criar um método adicional ou um método anonimo para executar uma determinada tarefa.&lt;br /&gt;&lt;br /&gt;Com a vinda do LINQ, novos &lt;em&gt;delegates&lt;/em&gt; também foram introduzidos dentro do &lt;em&gt;namespace&lt;/em&gt; &lt;em&gt;System&lt;/em&gt;, através do &lt;em&gt;Assembly System.Core.dll&lt;/em&gt;:&lt;br /&gt;&lt;br /&gt;&lt;font color="#0000ff"&gt;public delegate &lt;/font&gt;TR Func&amp;lt;TR&amp;gt;();&lt;br /&gt;&lt;font color="#0000ff"&gt;public delegate &lt;/font&gt;TR Func&amp;lt;T0, TR&amp;gt;(T0 a0);&lt;br /&gt;&lt;font color="#0000ff"&gt;public delegate &lt;/font&gt;TR Func&amp;lt;T0, T1, TR&amp;gt;(T0 a0, T1 a1);&lt;br /&gt;&lt;font color="#0000ff"&gt;public delegate &lt;/font&gt;TR Func&amp;lt;T0, T1, T2, TR&amp;gt;(T0 a0, T1 a1, T2 a2);&lt;br /&gt;&lt;font color="#0000ff"&gt;public delegate &lt;/font&gt;TR Func&amp;lt;T0, T1, T2, T3, TR&amp;gt;(T0 a0, T1 a1, T2 a2, T3 a3);&lt;br /&gt;&lt;br /&gt;Esta família de &lt;em&gt;delegates&lt;/em&gt; genéricos servem para construir &lt;em&gt;delegates "on-the-fly"&lt;/em&gt;, eliminando a necessidade de criá-los explicitamente. TR representa o resultado do &lt;em&gt;delegate&lt;/em&gt; (nunca podendo ser &lt;em&gt;void&lt;/em&gt;); depois temos outras versões do mesmo podendo, no máximo, termos quatro parametros de entrada. Em uma operação de soma, poderíamos utilizar o terceiro &lt;em&gt;delegate&lt;/em&gt;, como por exemplo:&lt;br /&gt;&lt;br /&gt;Func&amp;lt;&lt;font color="#0000ff"&gt;int&lt;/font&gt;, &lt;font color="#0000ff"&gt;int&lt;/font&gt;, &lt;font color="#0000ff"&gt;int&lt;/font&gt;&amp;gt; exemplo = (v1, v2) =&amp;gt; v1 + v2;&lt;br /&gt;&lt;font color="#0000ff"&gt;int &lt;/font&gt;resultado = exemplo(2, 3);&lt;br /&gt;&lt;br /&gt;Ao compilar este código, o compilador do C# criará: um método que retorna um número inteiro e, no corpo do mesmo, terá o cálculo a ser realizado (v1 + v2) e um &lt;em&gt;delegate&lt;/em&gt; que apontará para esse método recém criado; além disso, ele converterá a expressão &lt;em&gt;lambda&lt;/em&gt; em um método anonimo, fazendo o uso do &lt;em&gt;delegate&lt;/em&gt; criado anteriormente que, neste momento, apontará para o método que fará a soma dos números. O código acima é compilado para:&lt;br /&gt;&lt;br /&gt;&lt;font color="#0000ff"&gt;private static void&lt;/font&gt; Main(&lt;font color="#0000ff"&gt;string&lt;/font&gt;[] args)&lt;br /&gt;{&lt;br /&gt;    Func&amp;lt;&lt;font color="#0000ff"&gt;int&lt;/font&gt;, &lt;font color="#0000ff"&gt;int&lt;/font&gt;, &lt;font color="#0000ff"&gt;int&lt;/font&gt;&amp;gt; exemplo1 = &lt;font color="#0000ff"&gt;delegate&lt;/font&gt; (&lt;font color="#0000ff"&gt;int&lt;/font&gt; v1, &lt;font color="#0000ff"&gt;int&lt;/font&gt; v2) {&lt;br /&gt;        &lt;font color="#0000ff"&gt;return&lt;/font&gt; v1 + v2;&lt;br /&gt;    };&lt;br /&gt;    &lt;font color="#0000ff"&gt;int &lt;/font&gt;resultado = exemplo1(2, 3);&lt;br /&gt;}&lt;/p&gt;
&lt;p align="justify"&gt;[CompilerGenerated]&lt;br /&gt;&lt;font color="#0000ff"&gt;private static&lt;/font&gt; Func&amp;lt;&lt;font color="#0000ff"&gt;int&lt;/font&gt;, &lt;font color="#0000ff"&gt;int&lt;/font&gt;, &lt;font color="#0000ff"&gt;int&lt;/font&gt;&amp;gt; CS$&amp;lt;&amp;gt;9__CachedAnonymousMethodDelegate1;&lt;br /&gt; &lt;br /&gt;[CompilerGenerated]&lt;br /&gt;&lt;font color="#0000ff"&gt;private static&lt;/font&gt; &lt;font color="#0000ff"&gt;int &lt;/font&gt;&amp;lt;Main&amp;gt;b__0(&lt;font color="#0000ff"&gt;int &lt;/font&gt;v1, &lt;font color="#0000ff"&gt;int &lt;/font&gt;v2)&lt;br /&gt;{&lt;br /&gt;    &lt;font color="#0000ff"&gt;return&lt;/font&gt; (v1 + v2);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;Uma outra alternativa é a utilização da classe &lt;a href="http://msdn.microsoft.com/en-us/library/bb345362.aspx"&gt;Expression&amp;lt;TDelegate&amp;gt;&lt;/a&gt;, contida dentro do &lt;em&gt;namespace System.Linq.Expressions&lt;/em&gt;. Essa classe deve ser tipificada com o mesmo &lt;em&gt;delegate&lt;/em&gt; que utilizamos acima e, ao invés de converter a expressão &lt;em&gt;lambda&lt;/em&gt; em um código IL que avalia a expressão, irá transformá-la em uma árvore de objetos IL, representando a expressão. Se utilizarmos o mesmo exemplo, veremos que o código mudará:&lt;br /&gt;&lt;br /&gt;Expression&amp;lt;Func&amp;lt;int, int, int&amp;gt;&amp;gt; exemplo1 = (v1, v2) =&amp;gt; v1 + v2;&lt;br /&gt;&lt;font color="#0000ff"&gt;int&lt;/font&gt; resultado = exemplo1.Compile()(2, 3);&lt;br /&gt;&lt;br /&gt;Neste caso, não podemos invocar diretamente o &lt;em&gt;delegate&lt;/em&gt; por ele não é um &lt;em&gt;delegate&lt;/em&gt;. Essa classe fornece um método chamado &lt;a href="http://msdn.microsoft.com/en-us/library/bb345362.aspx"&gt;Compile&lt;/a&gt; que, ao invocá-lo, retorna o &lt;em&gt;delegate&lt;/em&gt; especificado na sua criação (&lt;em&gt;Func&amp;lt;&lt;font color="#0000ff"&gt;int&lt;/font&gt;, &lt;font color="#0000ff"&gt;int&lt;/font&gt;, &lt;font color="#0000ff"&gt;int&lt;/font&gt;&amp;gt;&lt;/em&gt;) e, a partir daí, podemos utilizá-lo da forma tradicional. Como o compilador lida de forma diferente quando utilizamos a classe &lt;em&gt;Expression&amp;lt;TDelegate&amp;gt;&lt;/em&gt;, o código IL gerado para ele corresponde à:&lt;br /&gt;&lt;br /&gt;&lt;font color="#0000ff"&gt;private static void &lt;/font&gt;Main(&lt;font color="#0000ff"&gt;string&lt;/font&gt;[] args)&lt;br /&gt;{&lt;br /&gt;    ParameterExpression CS$0$0000;&lt;br /&gt;    ParameterExpression CS$0$0001;&lt;br /&gt;&lt;br /&gt;    &lt;font color="#0000ff"&gt;int&lt;/font&gt; resultado = &lt;br /&gt;        Expression.Lambda&amp;lt;Func&amp;lt;&lt;font color="#0000ff"&gt;int&lt;/font&gt;, &lt;font color="#0000ff"&gt;int&lt;/font&gt;, &lt;font color="#0000ff"&gt;int&lt;/font&gt;&amp;gt;&amp;gt;(&lt;br /&gt;            Expression.Add(&lt;br /&gt;                CS$0$0000 = Expression.Parameter(&lt;font color="#0000ff"&gt;typeof&lt;/font&gt;(&lt;font color="#0000ff"&gt;int&lt;/font&gt;), "v1")&lt;br /&gt;                , CS$0$0001 = Expression.Parameter(&lt;font color="#0000ff"&gt;typeof&lt;/font&gt;(&lt;font color="#0000ff"&gt;int&lt;/font&gt;), "v2")&lt;br /&gt;            )&lt;br /&gt;        , &lt;font color="#0000ff"&gt;new&lt;/font&gt; ParameterExpression[] { CS$0$0000, CS$0$0001 })&lt;br /&gt;        .Compile()(2, 3);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;Como podemos ver, as expressões &lt;em&gt;lambdas&lt;/em&gt; podem ser representadas como código (&lt;em&gt;delegates&lt;/em&gt;) ou como dados (árvore de expressões). É importante lembrar que uma expressão é um tipo de &lt;a href="http://en.wikipedia.org/wiki/Abstract_syntax_tree"&gt;Abstract Syntax Tree&lt;/a&gt; (AST), que é uma estrutura de dados que representa um código já analisado. Essa técnica nos dá a habilidade de converter/traduzir um determinado código em outro, como é o caso do LINQ to SQL, que transforma essas árvores de expressão em linguagem T-SQL.&lt;/p&gt;</description><dc:creator>Israel Aéce</dc:creator></item><item><title>Google Chrome, o browser do Google</title><link>http://weblogs.pontonetpt.com/paulo_iap/posts/28187.aspx</link><pubDate>Tue, 02 Sep 2008 09:58:00 GMT</pubDate><guid isPermaLink="true">http://weblogs.pontonetpt.com/paulo_iap/posts/28187.aspx</guid><wfw:comment>http://weblogs.pontonetpt.com/paulo_iap/comments/28187.aspx</wfw:comment><wfw:commentRss>http://weblogs.pontonetpt.com/paulo_iap/comments/commentRss/28187.aspx</wfw:commentRss><comments>http://weblogs.pontonetpt.com/paulo_iap/posts/28187.aspx#comment</comments><trackback:ping>http://weblogs.pontonetpt.com/paulo_iap/trackback.aspx?ID=28187</trackback:ping><source url="http://weblogs.pontonetpt.com/paulo_iap/rss.aspx">.NET from outside</source><description>&lt;p&gt;&lt;font size="2" face="Verdana"&gt;&lt;img src="/images/weblogs_pontonetpt_com/paulo_iap/1555/r_logo_sm_thumb.jpg" /&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="2" face="Verdana"&gt;O Google lançou ontem (dia 1 de Setembro), um "&lt;em&gt;&lt;a href="http://www.google.com/googlebooks/chrome/"&gt;comic book&lt;/a&gt;&lt;/em&gt;" que apesentava o Chrome, um browser open-source desenvolvido pelo Google. A versão beta desse browser será lançado hoje durante o dia (às 10:00 ainda não tinha sido lançado).&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="2" face="Verdana"&gt;&lt;img src="/images/weblogs_pontonetpt_com/paulo_iap/1555/r_google-chrome-screenshot.jpg" /&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="2" face="Verdana"&gt;Quais as caracteristicas que este browser:&lt;/font&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;font face="Verdana"&gt;&lt;font size="2"&gt;&lt;strong&gt;Project open-source do Google&lt;/strong&gt;&lt;br /&gt;Existiam alguns &lt;/font&gt;&lt;/font&gt;&lt;a href="http://thetruthaboutmozilla.wordpress.com/2008/02/25/the-google-browser/"&gt;&lt;font size="2" face="Verdana"&gt;rumores&lt;/font&gt;&lt;/a&gt;&lt;font size="2" face="Verdana"&gt; na altura com o nome de "Google Browser". É basead no engine &lt;/font&gt;&lt;a href="http://webkit.org/"&gt;&lt;font size="2" face="Verdana"&gt;Webkit &lt;/font&gt;&lt;/a&gt;&lt;font size="2" face="Verdana"&gt;(o mesmo do Safari) e já inclui o Google &lt;/font&gt;&lt;a href="http://gears.google.com/"&gt;&lt;font size="2" face="Verdana"&gt;Gears&lt;/font&gt;&lt;/a&gt;&lt;font size="2" face="Verdana"&gt;;&lt;/font&gt; 
&lt;/li&gt;&lt;li&gt;&lt;font face="Verdana"&gt;&lt;font size="2"&gt;&lt;strong&gt;Virtual Machine de Javascript, V8&lt;/strong&gt;&lt;br /&gt;Desenvolvido por uma equipa na Dinamarca, e também open-source para que outros browser também possam incluir. Um dos objectivos do V8 é aumentar a performance do Javascript, devido à importância do papel desempenhado pelo Javascript nas aplicações web de hoje (webapps). Segundo o Google, eles estão a usar um "multi-process design", ou seja, apesar de consumir um pouco mais de memória no ínicio, tmbém irá possuir um menor desperdicio de memória por parte do browser. Quando uma página ou plug-in usar muita memória, vai ser possivél identificar quem é o "comilão" através do Task Manager do Chrome.&lt;/font&gt;&lt;/font&gt; 
&lt;/li&gt;&lt;li&gt;&lt;font face="Verdana"&gt;&lt;font size="2"&gt;&lt;strong&gt;Novas tabs&lt;/strong&gt;&lt;br /&gt;&lt;img src="/images/weblogs_pontonetpt_com/paulo_iap/1555/r_google-chrome-tabs.png" /&gt;&lt;br /&gt;O Chrome coloca os butões das tabs por cima da barra com o endereço da página, não abaixo como no Firefox;&lt;/font&gt;&lt;/font&gt; 
&lt;/li&gt;&lt;li&gt;&lt;font face="Verdana"&gt;&lt;font size="2"&gt;&lt;strong&gt;Barra de endereços com "&lt;em&gt;auto-complete&lt;/em&gt;"&lt;/strong&gt;&lt;br /&gt;Chamada de "&lt;em&gt;omnibox&lt;/em&gt;", vai oferecer sugestões de pesquisa, as páginas mais visitadas pelo utilizador, páginas que não foram visitadas pelo utilizador, mas que são populares, entre outras coisas. A "&lt;em&gt;omnibox&lt;/em&gt;" ("omni" é um prefixo de omnisciente) também permite que se escreva o nome de um site na barra de endereços, como "amazon", e depois carregar em TAB e escrever um texto a pesquisar, automaticamente o browser irá realizar a pesquisa dentro do site da amazon;&lt;/font&gt;&lt;/font&gt; 
&lt;/li&gt;&lt;li&gt;&lt;font face="Verdana"&gt;&lt;font size="2"&gt;&lt;strong&gt;Página inicial semelhante ao "speed dial" do Opera&lt;br /&gt;&lt;/strong&gt;Nesta página, iremos ver os "&lt;em&gt;screenshots&lt;/em&gt;" das 9 páginas que costumamos visitar com maior frequência. Ao lado também serão visiveis as pesquisas mais recentes, páginas guardadas nos Favoritos, e tabs fechadas recentemente;&lt;/font&gt;&lt;/font&gt; 
&lt;/li&gt;&lt;li&gt;&lt;font face="Verdana"&gt;&lt;font size="2"&gt;&lt;strong&gt;Modo "&lt;em&gt;incognito&lt;/em&gt;"&lt;br /&gt;&lt;/strong&gt;O Chrome, possui um modo de navegação privada, em que nada que ocorra nessa janela, é registado no computador. A última versão do Internet Explorer (versão 8, Beta 2) chama a esta feature "InPrivate". O caso de uso do "incognito" do Google é manter a supresa quando se compra um presente;&lt;/font&gt;&lt;/font&gt; 
&lt;/li&gt;&lt;li&gt;&lt;font face="Verdana"&gt;&lt;font size="2"&gt;&lt;strong&gt;Execução de Web Apps&lt;/strong&gt;&lt;br /&gt;A Mozilla, possui um projecto chamado &lt;em&gt;Prism &lt;/em&gt;que pretende fazer algo semelhante. Basicamente permite a execução de Web Apps (aplicações web) numa janela própria, sem barra de endereço nem &lt;em&gt;toolbar&lt;/em&gt;. Apesar deste comportamento, induzir utilizadores mais distraidos a aceitarem janelas sem barras de endereços, e desta forma facilicar ataques de phising.&lt;/font&gt;&lt;/font&gt; 
&lt;/li&gt;&lt;li&gt;&lt;font face="Verdana"&gt;&lt;font size="2"&gt;&lt;strong&gt;Prevençao de malware e phising&lt;/strong&gt;&lt;br /&gt;Para protecção do utilizador, o Chrome vai estar constantemente a actualizar uma lista de sites menos seguros. O Google também promete que tudo o que funcionar numa tab, está isolado, logo não afecta mais nada que exista no computador. Apesar do Google admitir que plugins que tenham sido instalados pelo utilizador, possam fugir a este controle;&lt;br /&gt;&lt;/font&gt;&lt;/font&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&lt;font size="2" face="Verdana"&gt;Apesar de competição ser sempre benéfica para o utilizador, neste caso não se até que ponto isso será verdade. Para tornar as coisas claras, o Google possui este browser como projecto opn-source, talvez para se defender de acusações de monópolio, mas mesmo assim, o Google já possui muito controle sobre os nossos hábitos na Internet, será que esta ferramenta não estará a adicionar ainda mais poder a uma só companhia?&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="2" face="Verdana"&gt;Para já, sem uma versão testável deste browser, não se pode dizer muito sobre a velocidade, estabilidade e facilidade de utilização. Esperemos que ainda hoje essa versão seja lançada.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="2" face="Verdana"&gt;&lt;strong&gt;UPDATE: &lt;/strong&gt;Parece que o lançameno do novo Browser, vai decorrer hoje entre as 14 e 18 horas....&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="2" face="Verdana"&gt;UPDATE2: Afinal o lançamento, devido aos fusos horários será às 04:00 hora de Portugal. O link para download irá aparecer nesta &lt;a href="http://www.freechromethemes.com/DownloadGoogleChrome.php"&gt;página&lt;/a&gt;.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="2" face="Verdana"&gt;Abs&lt;br /&gt;Paulo Coreia&lt;/font&gt;&lt;/p&gt;</description><dc:creator>Paulo Correia</dc:creator></item><item><title>Aplica&amp;ccedil;&amp;otilde;es Offline utilizando Silverlight / Silverlight Applications Offline (PT/EN)</title><link>http://weblogs.pontonetpt.com/mutley/posts/28185.aspx</link><pubDate>Mon, 01 Sep 2008 19:12:00 GMT</pubDate><guid isPermaLink="true">http://weblogs.pontonetpt.com/mutley/posts/28185.aspx</guid><wfw:comment>http://weblogs.pontonetpt.com/mutley/comments/28185.aspx</wfw:comment><wfw:commentRss>http://weblogs.pontonetpt.com/mutley/comments/commentRss/28185.aspx</wfw:commentRss><comments>http://weblogs.pontonetpt.com/mutley/posts/28185.aspx#comment</comments><trackback:ping>http://weblogs.pontonetpt.com/mutley/trackback.aspx?ID=28185</trackback:ping><source url="http://weblogs.pontonetpt.com/mutley/rss.aspx">Nuno Filipe Godinho</source><description>&lt;p&gt;(PT)&lt;/p&gt; &lt;p&gt;  Este tem sido sempre um tópico importante quando falados de Silvelight e muito tem sido dito sobre o mesmo e por isso mesmo vamos então avaliar as nossas opções.&lt;/p&gt; &lt;p&gt;   Em primeiro lugar necessitamos de pensar que o Silverlight não foi construído para ser uma tecnologia para suportar soluções “Ocasionalmente Conectadas”, mas sim para suportar aplicações RIA &lt;em&gt;(Rich Internet Applications),&lt;/em&gt; e por isso mesmo foi desenvolvida para funcionar Conectada e não Desconectada. &lt;strong&gt;Será isto um problema?&lt;/strong&gt; &lt;/p&gt; &lt;p&gt;  Em segundo lugar, o Silverlight é uma subparte do Windows Presentation Foundation (WPF),&lt;em&gt; &lt;/em&gt;e por isso mesmo a minha questão é a seguinte: &lt;strong&gt;Será que necessitamos mesmo que o Silverlight suporte o cenário Ocasinalmente Conectado ou necessitamos que tudo o que fazemos em Silverlight também funcione em WPF?&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;  Tendo isto em conta os meus pensamentos sobre as minhas próprias questões são os seguintes: &lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;     Não há qualquer problema com o facto de o Silverlight não ter sido pensado em termos de necessitar de suportar o cenário de Ocasionalmente Conectado pois esse é o propósito do WPF, mas deverá ser melhorado com algo como um cenário de Ocasinalmente Disconectado, pois por vezes a nossa ligação á Internet falha, e por diversos motivos, e não queremos que todo o trabalho que foi efectuado na Aplicação Silverlight seja perdido. Ainda para mais se pensarmos que o Silverlight 2.0 foi construído de forma a trazer não apenas as ilhas de riqueza, que nos foi fornecido pela versão 1.0, mas também de forma a fornecer uma plataforma para o desenvolvimento de Soluções de Negócio, então esta situação ganha ainda mais importância.&lt;/p&gt; &lt;p&gt;     Ainda sobre o Silverlight necessitar de um cenário Ocasionalmente Conectado apenas direi que não penso que isso seja realmente necessário pois isso é na realidade uma decisão da Arquitectura da solução que será tomada no momento do planeamento do produto, pois se necessitarmos de um cenário Ocasinalmente Conectado então iremos escolher o WPF, e caso contrário iremos escolher o Silverlight.&lt;/p&gt;&lt;/blockquote&gt; &lt;blockquote&gt; &lt;p&gt;     OK isto é muito interessante mas existe aqui um aspecto que nos estamos a esquecer, que é o facto de que os produtos evoluem durante o seu ciclo de vida e que de repente poderemos passar a necessitar de um cenário Ocasionalmente Conectado e então, &lt;strong&gt;o que faremos? Será que necessitamos de construir toda a solução novamente?&lt;/strong&gt; Claro que não, aqui é onde a interação entre o WPF e o Silverlight necessita de aparecer, pois é necessário que todas as funcionalidades e até controlos que funcionam no Silverlight funcionem bem em WPF, pois isto é como as verdadeiras subpartes das frameworks funcionam. &lt;strong&gt;E será que isso é verdade neste momento com o Silverlight e WPF? &lt;/strong&gt;A resposta é que nem tudo funciona, mas está a ser trabalhado.&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;  Por isso, bastante ainda necessita de ser efectuado nestas duas excelentes tecnologias que trazem uma fantástica Experiência de Utilização ás aplicações, mas necessitamos de pensar também que elas são relativamente recentes pois o WPF com a disponibilização do Service Pack 1 da .NET Framework sofreu a sua &lt;strong&gt;Terceira Versão Principal&lt;/strong&gt;, e o Silvelight vai agora para a &lt;strong&gt;Segunda&lt;/strong&gt;. Com isto dito, ainda muito pode ser esperado em ambas estas áreas.&lt;/p&gt; &lt;p&gt;  Em termos de quais as opções actuais para tornar aplicações Silverlight em aplicações para o Desktop / Ocasionalmente Conectadas, elas são as seguintes:&lt;/p&gt; &lt;ol&gt; &lt;ol&gt; &lt;li&gt;Coloque tudo com uma versão light de um Web Server Pack, como por exemplo o Cassini Web Server  &lt;/li&gt;&lt;li&gt;Coloque tudo com um Serviço de Windows customizado que irá ser o responsável por servir os pedidos Http necessários pelas aplicações Silverlight. Isto parece-me bastante complexo pois muito tem de ser feito.  &lt;/li&gt;&lt;li&gt;Transformar-la numa solução WPF. Para isso teste a &lt;a href="http://blendables.com/labs/Desklighter/Default.aspx" target="_blank"&gt;ferramenta Desklighter&lt;/a&gt; que irá fazer essa conversão, não na totalidade mas fará com que a aplicação de Silverlight passe a ser possível de utilizar como uma solução de Desktopt. &lt;/li&gt;&lt;/ol&gt;&lt;/ol&gt; &lt;p&gt;  &lt;strong&gt; Este é um tópico bastante interessante e sobre o qual gostaria de ter o vosso feedback sobre este assunto, por isso mesmo sintam-se á vontade para dar a vossa opinião.&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;(EN)&lt;/p&gt; &lt;p&gt;  This has always been an issue when we talk about Silverlight and so much as been said about it, and so let’s look at the options.&lt;/p&gt; &lt;p&gt;   First of all we need to think that Silverlight was not built to be a technology to deliver Occasionally Online applications, it was built to deliver RIA, and so it was made to use Online and not Offline. &lt;strong&gt;Is this a problem?&lt;/strong&gt; &lt;/p&gt; &lt;p&gt;  Secondly, Silverlight is a subset of Windows Presentation Foundation (WPF),&lt;em&gt; &lt;/em&gt;and so my question is: &lt;strong&gt;Do we really need the Occasionally Online approach in Silverlight or do we need to be able to run everything we do in Silverlight in WPF also?&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;  And so my thoughts about my own questions are: &lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;     There’s no problem with Silverlight not having been thought in terms of needing the Occasionally Online approach because this is the purpose of WPF, but it must be enhanced with something like the Occasionally Offline approach, because sometimes our Internet connections go down, for several different reasons, and we don’t want to lose all our work done in the Silverlight apps. And if we think that Silverlight 2.0 was built to bring the ability not only for the islands of richness, that was brought by the version 1.0, but also to provide a platform to build Line-Of-Business Applications this will take a lot more importance. &lt;/p&gt; &lt;p&gt;     Still about Silverlight having the need to support the Occasionally Online approach I would say that this isn’t really a must have because this is really an Architectural choice to be made during the product planing, and so if we need a Occasionally Online approach we use WPF, and if we need an Online approach we’ll use Silverlight.&lt;/p&gt;&lt;/blockquote&gt; &lt;blockquote&gt; &lt;p&gt;     OK this is nice but there’s one important aspect that we are forgetting and that is that a product will evolve and suddenly it can turn to need an Occasionally Online approach and so, &lt;strong&gt;what will we do?&lt;/strong&gt; &lt;strong&gt;Will we need to build the application again?&lt;/strong&gt; Of course not, this is where the interaction between WPF and Silverlight needs to appear, because it’s needed that all the features and even controls that work in Silverlight work well in WPF, because this is how real subset frameworks work, and is this now true in Silvelight and WPF? The answer is not everything works, but it’s being worked on.&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;  So a lot still needs to be done in this two awesome technologies that bring great User Experience for applications, but we need to think also that they are relatively new because WPF with the release of .NET 3.5 SP1 just had it’s &lt;strong&gt;Third Major Release&lt;/strong&gt;, and Silvelight is only going for it’s &lt;strong&gt;Second&lt;/strong&gt;. This being said a lot should be expected in both this areas.&lt;/p&gt; &lt;p&gt;    In terms of what choices do we have today for making Silvelight a Desktop application / Occasionally Online Applications, they are the following:&lt;/p&gt; &lt;ol&gt; &lt;ol&gt; &lt;li&gt;Pack it with a lightweight Web Server like Cassini Web Server  &lt;/li&gt;&lt;li&gt;Pack it with a custom build Windows Service that will serve the Http Requests needed by the Silverlight App. This seams to me a lot harder because to much as to be done.  &lt;/li&gt;&lt;li&gt;Transform it to a WPF like Application. Use this &lt;a href="http://blendables.com/labs/Desklighter/Default.aspx" target="_blank"&gt;Desklighter tool&lt;/a&gt; that will convert your Silverlight App into a Desktop App. &lt;/li&gt;&lt;/ol&gt;&lt;/ol&gt; &lt;p&gt;   &lt;strong&gt;This is a very interesting topic and I would like to ear your thoughts about this subject, so feel free to comment.&lt;/strong&gt;&lt;/p&gt;</description><dc:creator>Nuno Filipe Godinho</dc:creator></item><item><title>Procuras um novo desafio?</title><link>http://weblogs.pontonetpt.com/creativeminds/posts/28183.aspx</link><pubDate>Mon, 01 Sep 2008 14:57:00 GMT</pubDate><guid isPermaLink="true">http://weblogs.pontonetpt.com/creativeminds/posts/28183.aspx</guid><wfw:comment>http://weblogs.pontonetpt.com/creativeminds/comments/28183.aspx</wfw:comment><wfw:commentRss>http://weblogs.pontonetpt.com/creativeminds/comments/commentRss/28183.aspx</wfw:commentRss><comments>http://weblogs.pontonetpt.com/creativeminds/posts/28183.aspx#comment</comments><trackback:ping>http://weblogs.pontonetpt.com/creativeminds/trackback.aspx?ID=28183</trackback:ping><source url="http://weblogs.pontonetpt.com/creativeminds/rss.aspx">Creative|Minds</source><description>O post é um tanto ou quanto off-topic, mas a empresa onde trabalho anda a procura de novos colaboradores para as áreas de .Net e OutSystems, em especial esta última. 
Se estiveres interessado(a), ou conheceres alguém que esteja interessado(a), podes saber mais info &lt;a href="http://www.brunofigueiredo.com/post/2008/09/01/PT-Procuras-um-novo-desafio-profissional.aspx"&gt;aqui&lt;/a&gt;.</description><dc:creator>Bruno Figueiredo</dc:creator></item><item><title>10 Utilitários indispensáveis para Programadores</title><link>http://weblogs.pontonetpt.com/jf_rocha/posts/28182.aspx</link><pubDate>Mon, 01 Sep 2008 14:45:00 GMT</pubDate><guid isPermaLink="true">http://weblogs.pontonetpt.com/jf_rocha/posts/28182.aspx</guid><wfw:comment>http://weblogs.pontonetpt.com/jf_rocha/comments/28182.aspx</wfw:comment><wfw:commentRss>http://weblogs.pontonetpt.com/jf_rocha/comments/commentRss/28182.aspx</wfw:commentRss><comments>http://weblogs.pontonetpt.com/jf_rocha/posts/28182.aspx#comment</comments><trackback:ping>http://weblogs.pontonetpt.com/jf_rocha/trackback.aspx?ID=28182</trackback:ping><source url="http://weblogs.pontonetpt.com/jf_rocha/rss.aspx">João Filipe Rocha</source><description>&lt;div id="uuso" style="PADDING-RIGHT: 0pt; PADDING-LEFT: 0pt; PADDING-BOTTOM: 1em; PADDING-TOP: 1em; TEXT-ALIGN: left"&gt;&lt;img style="WIDTH: 350px; HEIGHT: 215px" height="180" src="http://docs.google.com/File?id=dvdkm5n_109rtk7nfc3_b" width="329" /&gt;&lt;/div&gt;&lt;br id="k4bc" /&gt;&lt;br id="k4bc0" /&gt;Para um programador por vezes o seu ambiente integrado de desenvolvimento (&lt;i id="rtbs"&gt;integrated development environment&lt;/i&gt;(IDE)) é insuficiente para dar resposta às suas necessidades de programação, aqui ficam algumas sugestões para tornar o desenvolvimento mais eficaz.&lt;br id="onvr" /&gt;&lt;br id="onvr0" /&gt;10. &lt;a id="g2yb" title="Reflector" href="http://www.red-gate.com/products/reflector/"&gt;Reflector&lt;/a&gt; &lt;br id="gymi" /&gt;Para quem desenvolve aplicações sobre a arquitectura .net, necessita de saber como ela é por dentro. Esta aplicação consegue reverter do common language runtime (CLR) para as linguagens suportadas pela arquitectura .net (c#, vb.net, etc), o que possibilita visualizar como os métodos e propriedades da arquitectura foram desenvolvidas.&lt;br id="pc-e" /&gt;&lt;br id="pc-e0" /&gt;9. &lt;a id="v40v" title="Sysinternals" href="http://technet.microsoft.com/en-gb/sysinternals/default.aspx"&gt;Sysinternals&lt;/a&gt; &lt;br id="gymi0" /&gt;São um conjunto de utilitários que tem a finalidade de ajudar a gerir, manter e diagnosticar o sistema Windows e as aplicações. Dos vários utilitários destaco o &lt;a id="ctl00_mainContentContainer_ctl09" href="http://technet.microsoft.com/en-gb/sysinternals/bb896653.aspx"&gt;Process Explorer&lt;/a&gt; e o &lt;a id="ctl00_mainContentContainer_ctl17" href="http://technet.microsoft.com/en-gb/sysinternals/bb896649.aspx"&gt;PsTools&lt;/a&gt;.&lt;br id="ieol" /&gt;&lt;br id="ieol0" /&gt;8. &lt;a id="zx6u" title="ReSharper" href="http://www.jetbrains.com/resharper/index.html"&gt;ReSharper&lt;/a&gt;&lt;br id="br1l" /&gt;Add-in para o Visual Studio que permite corrigir erros de código, gerar código, remover código redundante à medida que escrevemos o próprio código, esta ferramenta possui um motor de analise de código que permite também efectuar pesquisas dinâmicas em forma de cobertura de código (&lt;i id="tlkx"&gt;code coverage&lt;/i&gt;).&lt;br id="tlkx0" /&gt;&lt;br id="tlkx1" /&gt;7. &lt;a id="uup:" title="CodeRush" href="http://www.devexpress.com/Products/Visual_Studio_Add-in/Coding_Assistance/"&gt;CodeRush&lt;/a&gt; &lt;br id="g0ak" /&gt;O refactoring é uma técnica utilizada por alguns IDE que permite se sejam renomeadas variáveis, em todas as suas ocorrências e que sejam gerados métodos de uma forma dinâmica. O CodeRush permite que seja feito o refactoring de uma forma simples e visualmente intuitiva.&lt;br id="z5ym" /&gt;&lt;br id="z5ym0" /&gt;6. &lt;a id="grgu" title="CodeSmith" href="http://www.codesmithtools.com/"&gt;CodeSmith&lt;/a&gt; &lt;br id="hjbi" /&gt;Um programador ao criar varias vezes o mesmo código para contextos aplicacionais diferentes é uma coisa banal e enfadonha. O CodeSmith permite criar templates de código e gerar código de uma forma rápida. Existem ja alguns templates conhecidos, tais como o &lt;a id="a:5w" href="http://www.codesmithtools.com/features/frameworks.aspx#nettiers"&gt;.netTiers&lt;/a&gt;, &lt;a id="a:5w0" href="http://www.codesmithtools.com/features/frameworks.aspx#csla"&gt;CSLA&lt;/a&gt;, &lt;a id="a:5w1" href="http://www.codesmithtools.com/features/frameworks.aspx#nhibernate"&gt;NHibernate&lt;/a&gt;, &lt;a id="a:5w2" href="http://www.codesmithtools.com/features/frameworks.aspx#plinqo"&gt;PLINQO&lt;/a&gt;, &lt;a id="a:5w3" href="http://www.codesmithtools.com/features/frameworks.aspx#wilsonormapper"&gt;Wilson's ORMapper&lt;/a&gt;, &lt;a id="a:5w4" href="http://www.codesmithtools.com/features/frameworks.aspx#aposa"&gt;APOSA&lt;/a&gt; que dão a possibilidade de desenvolver aplicações de uma forma ágil e que obedece a vários padrões de desenvolvimento.&lt;br id="g0ak0" /&gt;&lt;br id="ypw8" /&gt;5. &lt;a id="og23" title="Firebug" href="http://getfirebug.com/"&gt;Firebug&lt;/a&gt; (FireFox) e &lt;a id="abld" title="IE Developer Toolbar" href="http://www.microsoft.com/downloads/details.aspx?familyid=e59c3964-672d-4511-bb3e-2d5e1db91038&amp;amp;displaylang=en"&gt;IE Developer Toolbar&lt;/a&gt; (Internet Explorer)&lt;br id="zy.t" /&gt;Em Aplicações web estas ferramentas são fundamentais no desenvolvimento nesse tipo de aplicações, pois permitem visualizar ao pormenor das tags de HTML quais os estilos que lhe são afectados, os tempos de download de uma pagina e no caso do Firebug é possível fazer debug ao javascript da pagina.&lt;br id="ieol1" /&gt;&lt;br id="ieol2" /&gt;4. &lt;a id="yhkf" title="Fiddler" href="http://www.fiddlertool.com/fiddler/"&gt;Fiddler&lt;/a&gt; &lt;br id="ink2" /&gt;Nas comunicações entre um cliente e o servidor, é importante diagnosticar o que passa no "fio" para poder averiguar os problemas existentes, na ligação entre o servidor e o cliente. Este software faz a descrição por cada pedido efectuado ao servidor, onde inclui os cabeçalhos do protocolo, dados transferidos e tempos de comunicação.&lt;br id="nmpv" /&gt;&lt;br id="nmpv0" /&gt;3. &lt;a id="wcx2" title="Koders" href="http://www.koders.com/"&gt;Koders&lt;/a&gt;  &lt;br id="dq43" /&gt;Código, código e muito, muito código.&lt;br id="bsk_" /&gt;&lt;br id="bsk_0" /&gt;2. &lt;a id="ovyh" title="ProgrammersHeaven" href="http://www.programmersheaven.com/"&gt;ProgrammersHeaven&lt;/a&gt; &lt;br id="bsk_1" /&gt;Não, não é um site de pronografia, é uma fonte gigantesca de utilitários, código, foruns e de recursos para todos os programadores.&lt;br id="o12e" /&gt;&lt;br id="o12e0" /&gt;1. &lt;a id="c6v3" title="Google" href="http://www.google.com/"&gt;Google&lt;/a&gt; &lt;br id="pqm:" /&gt;O amigo #1 de qualquer programador, para alem de levar o nosso escritório para todo lado, com a suite Google (GMail, Calendar, Documents, etc), o Google permite dar resposta aos nosso problemas aplicacionais, basta procurar.</description><dc:creator>João Filipe Rocha</dc:creator></item><item><title>Criptografia com RSA e Base64</title><link>http://weblogs.pontonetpt.com/paseixas/posts/28181.aspx</link><pubDate>Mon, 01 Sep 2008 13:32:00 GMT</pubDate><guid isPermaLink="true">http://weblogs.pontonetpt.com/paseixas/posts/28181.aspx</guid><wfw:comment>http://weblogs.pontonetpt.com/paseixas/comments/28181.aspx</wfw:comment><wfw:commentRss>http://weblogs.pontonetpt.com/paseixas/comments/commentRss/28181.aspx</wfw:commentRss><comments>http://weblogs.pontonetpt.com/paseixas/posts/28181.aspx#comment</comments><trackback:ping>http://weblogs.pontonetpt.com/paseixas/trackback.aspx?ID=28181</trackback:ping><source url="http://weblogs.pontonetpt.com/paseixas/rss.aspx">Pedro Antonio Seixas Subutzki</source><description>&lt;div class="code"&gt;&lt;font face="Courier New"&gt;&lt;font size="2"&gt;&lt;font color="blue"&gt;&lt;font face="Tahoma" color="#000000"&gt;Um exemplo simples de criptografia. &lt;br /&gt;Atente-se apenas ao padrão das chaves que serão usadas. Mais infos em: &lt;/font&gt;&lt;a href="http://msdn.microsoft.com/pt-br/library/system.security.cryptography.xml.rsakeyvalue.rsakeyvalue.aspx"&gt;&lt;font face="Tahoma" color="#0000ff"&gt;http://msdn.microsoft.com/pt-br/library/system.security.cryptography.xml.rsakeyvalue.rsakeyvalue.aspx&lt;/font&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;using &lt;/font&gt;&lt;font color="black"&gt;System.Security.Cryptography&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font face="Courier New" color="blue" size="2"&gt;;&lt;br /&gt;&lt;br /&gt;public class &lt;/font&gt;&lt;font face="Courier New"&gt;&lt;font size="2"&gt;&lt;font color="black"&gt;CryptographyRSA()&lt;br /&gt;{&lt;br /&gt;    &lt;/font&gt;&lt;font color="blue"&gt;private string &lt;/font&gt;&lt;font color="black"&gt;PrivateKey &lt;/font&gt;&lt;font color="blue"&gt;= &lt;/font&gt;&lt;font color="#808080"&gt;"&amp;lt;RSAKeyValue&amp;gt;YOUR_RSA_KEY&amp;lt;/RSAKeyValue&amp;gt;"&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font face="Courier New"&gt;&lt;font size="2"&gt;&lt;font color="blue"&gt;;&lt;br /&gt;    private string &lt;/font&gt;&lt;font color="black"&gt;PublicKey &lt;/font&gt;&lt;font color="blue"&gt;= &lt;/font&gt;&lt;font color="#808080"&gt;"&amp;lt;RSAKeyValue&amp;gt;YOUR_RSA_KEY&amp;lt;/RSAKeyValue&amp;gt;"&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font face="Courier New" color="blue" size="2"&gt;;&lt;br /&gt;&lt;br /&gt;    public &lt;/font&gt;&lt;font face="Courier New"&gt;&lt;font size="2"&gt;&lt;font color="black"&gt;CryptographyRSA(){}&lt;br /&gt;&lt;br /&gt;    &lt;/font&gt;&lt;font color="blue"&gt;public string &lt;/font&gt;&lt;font color="black"&gt;EncryptText(&lt;/font&gt;&lt;font color="blue"&gt;string &lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font face="Courier New"&gt;&lt;font size="2"&gt;&lt;font color="black"&gt;strToEncript)&lt;br /&gt;    {&lt;br /&gt;        &lt;/font&gt;&lt;font color="blue"&gt;byte&lt;/font&gt;&lt;font color="black"&gt;[] bytes &lt;/font&gt;&lt;font color="blue"&gt;= new &lt;/font&gt;&lt;font color="black"&gt;UnicodeEncoding().GetBytes(strToEncript))&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font face="Courier New"&gt;&lt;font size="2"&gt;&lt;font color="blue"&gt;;&lt;br /&gt;&lt;br /&gt;        &lt;/font&gt;&lt;font color="black"&gt;RSACryptoServiceProvider provider &lt;/font&gt;&lt;font color="blue"&gt;= new &lt;/font&gt;&lt;font color="black"&gt;RSACryptoServiceProvider()&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font face="Courier New"&gt;&lt;font size="2"&gt;&lt;font color="blue"&gt;;&lt;br /&gt;        &lt;/font&gt;&lt;font color="black"&gt;provider.FromXmlString(PublicKey)&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font face="Courier New"&gt;&lt;font size="2"&gt;&lt;font color="blue"&gt;;&lt;br /&gt;&lt;br /&gt;        byte&lt;/font&gt;&lt;font color="black"&gt;[] inArray &lt;/font&gt;&lt;font color="blue"&gt;= &lt;/font&gt;&lt;font color="black"&gt;provider.Encrypt(bytes, &lt;/font&gt;&lt;font color="blue"&gt;false&lt;/font&gt;&lt;font color="black"&gt;)&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font face="Courier New"&gt;&lt;font size="2"&gt;&lt;font color="blue"&gt;;&lt;br /&gt;        &lt;br /&gt;        &lt;/font&gt;&lt;font color="black"&gt;provider &lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font face="Courier New"&gt;&lt;font size="2"&gt;&lt;font color="blue"&gt;= null;&lt;br /&gt;        &lt;br /&gt;        return &lt;/font&gt;&lt;font color="black"&gt;Convert.ToBase64String(inArray)&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font face="Courier New" color="blue" size="2"&gt;;&lt;br /&gt;    &lt;/font&gt;&lt;font face="Courier New"&gt;&lt;font size="2"&gt;&lt;font color="black"&gt;}&lt;br /&gt;&lt;br /&gt;    &lt;/font&gt;&lt;font color="blue"&gt;public string &lt;/font&gt;&lt;font color="black"&gt;DecryptText(&lt;/font&gt;&lt;font color="blue"&gt;string &lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font face="Courier New"&gt;&lt;font size="2"&gt;&lt;font color="black"&gt;strToDecript)&lt;br /&gt;    {&lt;br /&gt;        UnicodeEncoding encoding &lt;/font&gt;&lt;font color="blue"&gt;= new &lt;/font&gt;&lt;font color="black"&gt;UnicodeEncoding()&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font face="Courier New"&gt;&lt;font size="2"&gt;&lt;font color="blue"&gt;;&lt;br /&gt;&lt;br /&gt;        &lt;/font&gt;&lt;font color="black"&gt;RSACryptoServiceProvider provider &lt;/font&gt;&lt;font color="blue"&gt;= new &lt;/font&gt;&lt;font color="black"&gt;RSACryptoServiceProvider()&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font face="Courier New"&gt;&lt;font size="2"&gt;&lt;font color="blue"&gt;;&lt;br /&gt;        &lt;/font&gt;&lt;font color="black"&gt;RSACryptoServiceProvider.UseMachineKeyStore &lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font face="Courier New"&gt;&lt;font size="2"&gt;&lt;font color="blue"&gt;= false;&lt;br /&gt;&lt;br /&gt;        &lt;/font&gt;&lt;font color="black"&gt;provider.FromXmlString(PrivateKey)&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font face="Courier New"&gt;&lt;font size="2"&gt;&lt;font color="blue"&gt;;&lt;br /&gt;&lt;br /&gt;        byte&lt;/font&gt;&lt;font color="black"&gt;[] rgb &lt;/font&gt;&lt;font color="blue"&gt;= &lt;/font&gt;&lt;font color="black"&gt;Convert.FromBase64String(strToDecript)&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font face="Courier New"&gt;&lt;font size="2"&gt;&lt;font color="blue"&gt;;&lt;br /&gt;        byte&lt;/font&gt;&lt;font color="black"&gt;[] bytes &lt;/font&gt;&lt;font color="blue"&gt;= &lt;/font&gt;&lt;font color="black"&gt;provider.Decrypt(rgb, &lt;/font&gt;&lt;font color="blue"&gt;false&lt;/font&gt;&lt;font color="black"&gt;)&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font face="Courier New"&gt;&lt;font size="2"&gt;&lt;font color="blue"&gt;;&lt;br /&gt;&lt;br /&gt;        &lt;/font&gt;&lt;font color="black"&gt;provider &lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font face="Courier New"&gt;&lt;font size="2"&gt;&lt;font color="blue"&gt;= null;&lt;br /&gt;&lt;br /&gt;        return &lt;/font&gt;&lt;font color="black"&gt;encoding.GetString(bytes)&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font face="Courier New" color="blue" size="2"&gt;;&lt;br /&gt;    &lt;/font&gt;&lt;font face="Courier New"&gt;&lt;font size="2"&gt;&lt;font color="black"&gt;}&lt;br /&gt;    &lt;br /&gt;}&lt;/font&gt; &lt;/font&gt;&lt;/font&gt;&lt;/div&gt;</description><dc:creator>Pedro Antonio Seixas Subutzki</dc:creator></item><item><title>Desenvolvimento de Aplicativos para TV Digital</title><link>http://weblogs.pontonetpt.com/mauriciojunior/posts/28167.aspx</link><pubDate>Sat, 30 Aug 2008 04:01:00 GMT</pubDate><guid isPermaLink="true">http://weblogs.pontonetpt.com/mauriciojunior/posts/28167.aspx</guid><wfw:comment>http://weblogs.pontonetpt.com/mauriciojunior/comments/28167.aspx</wfw:comment><wfw:commentRss>http://weblogs.pontonetpt.com/mauriciojunior/comments/commentRss/28167.aspx</wfw:commentRss><comments>http://weblogs.pontonetpt.com/mauriciojunior/posts/28167.aspx#comment</comments><trackback:ping>http://weblogs.pontonetpt.com/mauriciojunior/trackback.aspx?ID=28167</trackback:ping><source url="http://weblogs.pontonetpt.com/mauriciojunior/rss.aspx">Mauricio Junior - MCP Microsoft (WEB &amp; Windows Application)</source><description>Desenvolvimento de Aplicativos para TV Digital
&lt;br /&gt;&lt;br /&gt;
&lt;img src="http://blog.mauriciojunior.org/image.axd?picture=tv-digital-no-brasil.jpg" /&gt;&lt;br /&gt;&lt;br /&gt;
 
	Nos dias de hoje, tenho ouvido muito falar de TV Digital, acredito que você também tem ouvido falar muito desse assunto. Confesso a todos que, é muito interessante, porém ter o poder acessar da sua TV a Internet e fazer qualquer coisa, como se estivesse no computador é facinante. Para quem gosta de tecnologia, isso pode estar mais próximo que imagina. &lt;b&gt;&lt;a href="http://blog.mauriciojunior.org/post/Desenvolvimento-de-aplicativos-tv-digital.aspx" target="_blank"&gt;Leia mais...&lt;/a&gt;&lt;/b&gt;</description><dc:creator>Mauricio Junior</dc:creator></item><item><title>Hug a Develoer...</title><link>http://weblogs.pontonetpt.com/paulo_iap/posts/28165.aspx</link><pubDate>Fri, 29 Aug 2008 13:17:00 GMT</pubDate><guid isPermaLink="true">http://weblogs.pontonetpt.com/paulo_iap/posts/28165.aspx</guid><wfw:comment>http://weblogs.pontonetpt.com/paulo_iap/comments/28165.aspx</wfw:comment><wfw:commentRss>http://weblogs.pontonetpt.com/paulo_iap/comments/commentRss/28165.aspx</wfw:commentRss><comments>http://weblogs.pontonetpt.com/paulo_iap/posts/28165.aspx#comment</comments><trackback:ping>http://weblogs.pontonetpt.com/paulo_iap/trackback.aspx?ID=28165</trackback:ping><source url="http://weblogs.pontonetpt.com/paulo_iap/rss.aspx">.NET from outside</source><description>&lt;p&gt;&lt;font face="Verdana"&gt;Quem nunca passou por algo semelhante???&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;embed height="390" type="application/x-shockwave-flash" width="640" src="http://blip.tv/play/gYwjwZJqjdEh" allowfullscreen="true" allowscriptaccess="always"&gt;&lt;/embed&gt; &lt;/p&gt;</description><dc:creator>Paulo Correia</dc:creator></item><item><title>Pakua FeedCenter: Novo Agregador De Conte&amp;#250;dos T&amp;#233;cnicos Da Comunidade Microsoft</title><link>http://weblogs.pontonetpt.com/pjmorgado/posts/28164.aspx</link><pubDate>Thu, 28 Aug 2008 15:24:00 GMT</pubDate><guid isPermaLink="true">http://weblogs.pontonetpt.com/pjmorgado/posts/28164.aspx</guid><wfw:comment>http://weblogs.pontonetpt.com/pjmorgado/comments/28164.aspx</wfw:comment><wfw:commentRss>http://weblogs.pontonetpt.com/pjmorgado/comments/commentRss/28164.aspx</wfw:commentRss><comments>http://weblogs.pontonetpt.com/pjmorgado/posts/28164.aspx#comment</comments><trackback:ping>http://weblogs.pontonetpt.com/pjmorgado/trackback.aspx?ID=28164</trackback:ping><source url="http://weblogs.pontonetpt.com/pjmorgado/rss.aspx">Paulo Morgado</source><description>&lt;a href="http://PauloMorgado.NET/"&gt;&lt;/a&gt;  &lt;p align="center"&gt;&lt;a title="Pakua FeedCenter" href="http://feedcenter.pakua-it.com/" target="_blank"&gt;&lt;img src="http://feedcenter.pakua-it.com/images/header00.png" /&gt;&lt;/a&gt; &lt;/p&gt; &lt;a href="http://PauloMorgado.NET/"&gt;&lt;/a&gt;  &lt;p align="justify"&gt;Se proucuram conteúdos técnicos em Português sobre tecnologias &lt;a title="Microsoft Corporation" href="http://www.microsoft.com/" target="_blank"&gt;Microsoft&lt;/a&gt;, visitem o &lt;a title="Pakua FeedCenter" href="http://feedcenter.pakua-it.com/About.aspx" target="_blank"&gt;Pakua FeedCenter&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;[Cross-Posted de &lt;a href="http://www.arquitecturadesoftware.org/blogs/paulomorgado/"&gt;http://www.arquitecturadesoftware.org/blogs/paulomorgado/&lt;/a&gt;]&lt;/p&gt;</description><dc:creator>Paulo Morgado</dc:creator></item><item><title>Clone Detective Para Visual Studio</title><link>http://weblogs.pontonetpt.com/pjmorgado/posts/28163.aspx</link><pubDate>Thu, 28 Aug 2008 14:46:00 GMT</pubDate><guid isPermaLink="true">http://weblogs.pontonetpt.com/pjmorgado/posts/28163.aspx</guid><wfw:comment>http://weblogs.pontonetpt.com/pjmorgado/comments/28163.aspx</wfw:comment><wfw:commentRss>http://weblogs.pontonetpt.com/pjmorgado/comments/commentRss/28163.aspx</wfw:commentRss><comments>http://weblogs.pontonetpt.com/pjmorgado/posts/28163.aspx#comment</comments><trackback:ping>http://weblogs.pontonetpt.com/pjmorgado/trackback.aspx?ID=28163</trackback:ping><source url="http://weblogs.pontonetpt.com/pjmorgado/rss.aspx">Paulo Morgado</source><description>&lt;a href="http://PauloMorgado.NET/"&gt;&lt;/a&gt;  &lt;p align="center"&gt;&lt;a title="Clone Detective for Visual Studio" href="http://www.codeplex.com/CloneDetectiveVS" target="_blank"&gt;&lt;img title="Clone Detective for Visual Studio" alt="Clone Detective for Visual Studio" src="http://www.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=CloneDetectiveVS&amp;amp;DownloadId=41494" /&gt;&lt;/a&gt; &lt;/p&gt; &lt;a href="http://PauloMorgado.NET/"&gt;&lt;/a&gt;  &lt;p align="justify"&gt;O &lt;a title="Clone Detective for Visual Studio" href="http://www.codeplex.com/CloneDetectiveVS" target="_blank"&gt;Clone Detective&lt;/a&gt; é uma ferramenta que integra com o &lt;a title="Microsoft Visual Studio" href="http://msdn.microsoft.com/vstudio/" target="_blank"&gt;Visual Studio&lt;/a&gt; e usa o &lt;a title="ConQAT (Continuous Quality Assessment Toolkit)" href="http://conqat.cs.tum.edu/" target="_blank"&gt;ConQAT&lt;/a&gt; (&lt;strong&gt;Con&lt;/strong&gt;tinuous &lt;strong&gt;Q&lt;/strong&gt;uality &lt;strong&gt;A&lt;/strong&gt;ssessment &lt;strong&gt;T&lt;/strong&gt;oolkit) para analizar projectos &lt;a title="Visual C#" href="http://msdn.microsoft.com/vcsharp/" target="_blank"&gt;C#&lt;/a&gt; e procurar código fonte duplicado.&lt;/p&gt; &lt;a href="http://PauloMorgado.NET/"&gt;&lt;/a&gt;  &lt;p align="justify"&gt;Vejam os &lt;a title="Clone Detective Videos" href="http://www.codeplex.com/CloneDetectiveVS/Wiki/View.aspx?title=Videos" target="_blank"&gt;vídeos&lt;/a&gt; e vejam se esta é a ferramenta que procuravam.&lt;/p&gt;
&lt;p&gt;[Cross-Posted de &lt;a href="http://www.arquitecturadesoftware.org/blogs/paulomorgado/"&gt;http://www.arquitecturadesoftware.org/blogs/paulomorgado/&lt;/a&gt;]&lt;/p&gt;</description><dc:creator>Paulo Morgado</dc:creator></item><item><title>WcfTestClient</title><link>http://weblogs.pontonetpt.com/israelaece/posts/28161.aspx</link><pubDate>Thu, 28 Aug 2008 14:18:00 GMT</pubDate><guid isPermaLink="true">http://weblogs.pontonetpt.com/israelaece/posts/28161.aspx</guid><wfw:comment>http://weblogs.pontonetpt.com/israelaece/comments/28161.aspx</wfw:comment><wfw:commentRss>http://weblogs.pontonetpt.com/israelaece/comments/commentRss/28161.aspx</wfw:commentRss><comments>http://weblogs.pontonetpt.com/israelaece/posts/28161.aspx#comment</comments><trackback:ping>http://weblogs.pontonetpt.com/israelaece/trackback.aspx?ID=28161</trackback:ping><source url="http://weblogs.pontonetpt.com/israelaece/rss.aspx">Israel Aéce</source><description>&lt;p align="justify"&gt;O utilitário &lt;a href="http://msdn.microsoft.com/en-us/library/bb552364.aspx"&gt;WcfTestClient.exe&lt;/a&gt; que está integrado ao Visual Studio .NET não precisa ser necessariamente incializado a partir de um projeto do tipo &lt;em&gt;WCF Service Library&lt;/em&gt; que, por sua vez, tem a finalidade de gerar uma DLL contendo o contrato e implementação do serviço e, o utilitário é utilizado para testá-los, sem a necessidade de criar um &lt;em&gt;host&lt;/em&gt;, pois ele já faz isso.&lt;br /&gt;&lt;br /&gt;É importante dizer que podemos iniciá-lo a partir do &lt;u&gt;&lt;em&gt;prompt&lt;/em&gt; de comando do Visual Studio&lt;/u&gt;, passando como parametro uma Url já existente para que possamos testá-lo, sem a necessidade de criar um projeto &lt;em&gt;dummy&lt;/em&gt; para isso. Abaixo está o exemplo:&lt;br /&gt;&lt;br /&gt;C:\&amp;gt;WcfTestClient &lt;a href="http://IADevServer/ServicoDePublicacaoDeArquivos/"&gt;http://IADevServer/ServicoDePublicacaoDeArquivos/&lt;/a&gt;&lt;/p&gt;</description><dc:creator>Israel Aéce</dc:creator></item><item><title>Internet Explorer 8</title><link>http://weblogs.pontonetpt.com/mauriciojunior/posts/28160.aspx</link><pubDate>Thu, 28 Aug 2008 13:18:00 GMT</pubDate><guid isPermaLink="true">http://weblogs.pontonetpt.com/mauriciojunior/posts/28160.aspx</guid><wfw:comment>http://weblogs.pontonetpt.com/mauriciojunior/comments/28160.aspx</wfw:comment><wfw:commentRss>http://weblogs.pontonetpt.com/mauriciojunior/comments/commentRss/28160.aspx</wfw:commentRss><comments>http://weblogs.pontonetpt.com/mauriciojunior/posts/28160.aspx#comment</comments><trackback:ping>http://weblogs.pontonetpt.com/mauriciojunior/trackback.aspx?ID=28160</trackback:ping><source url="http://weblogs.pontonetpt.com/mauriciojunior/rss.aspx">Mauricio Junior - MCP Microsoft (WEB &amp; Windows Application)</source><description>&lt;p&gt;&lt;font face="Tahoma" size="2"&gt;Internet Explorer 8 (beta)&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src="http://www.microsoft.com/library/media/1033/windows/images/internet-explorer/beta/default/ie8_hero_2.jpg" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Tahoma" size="2"&gt;Mais segurança,&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Tahoma" size="2"&gt;Mais Suporte,&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Tahoma" size="2"&gt;Mais confiabilidade,&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Tahoma" size="2"&gt;Mais ferramentas de aceleração,&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Tahoma" size="2"&gt;Mais rápido e &lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Tahoma" size="2"&gt;Mais interativa... Veja o vídeo:&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.microsoft.com/windows/internet-explorer/beta/videos.aspx"&gt;&lt;font face="Tahoma" size="2"&gt;http://www.microsoft.com/windows/internet-explorer/beta/videos.aspx&lt;/font&gt;&lt;/a&gt;&lt;/p&gt;</description><dc:creator>Mauricio Junior</dc:creator></item><item><title>Obter o texto de uma caixa de mensagem</title><link>http://weblogs.pontonetpt.com/jf_rocha/posts/28159.aspx</link><pubDate>Thu, 28 Aug 2008 11:36:00 GMT</pubDate><guid isPermaLink="true">http://weblogs.pontonetpt.com/jf_rocha/posts/28159.aspx</guid><wfw:comment>http://weblogs.pontonetpt.com/jf_rocha/comments/28159.aspx</wfw:comment><wfw:commentRss>http://weblogs.pontonetpt.com/jf_rocha/comments/commentRss/28159.aspx</wfw:commentRss><comments>http://weblogs.pontonetpt.com/jf_rocha/posts/28159.aspx#comment</comments><trackback:ping>http://weblogs.pontonetpt.com/jf_rocha/trackback.aspx?ID=28159</trackback:ping><source url="http://weblogs.pontonetpt.com/jf_rocha/rss.aspx">João Filipe Rocha</source><description>&lt;div id="ela-"&gt;Por vezes quando surge uma message box dá jeito obter o seu texto, por exemplo quando surge uma message box com um erro que queremos procurar alguma informação sobre este na internet, para fazer isso basta:&lt;/div&gt;
&lt;div id="yb0e"&gt; &lt;/div&gt;
&lt;div id="yb0e0"&gt;
&lt;div id="ozyo" style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 1em; PADDING-TOP: 1em; TEXT-ALIGN: left"&gt;&lt;img id="k:dh" src="http://docs.google.com/File?id=dvdkm5n_106g57vvvdz_b" /&gt;&lt;/div&gt;quando surge a caixa de texto faz-se CTRL+C e em seguida no editor notepad, faz-se CTRL-V e o resultado é o seguinte.&lt;/div&gt;
&lt;div id="s6el"&gt; &lt;/div&gt;
&lt;div id="s6el0"&gt;
&lt;div id="vny3" style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 1em; PADDING-TOP: 1em; TEXT-ALIGN: left"&gt;&lt;img id="jzj1" src="http://docs.google.com/File?id=dvdkm5n_1077hwnmtg8_b" /&gt;&lt;/div&gt;e desta forma podemos aceder ao texto da message box.&lt;/div&gt;&lt;br id="x7yy" /&gt;</description><dc:creator>João Filipe Rocha</dc:creator></item><item><title>Altera&amp;ccedil;&amp;otilde;es presentes no SP1 para a .NET Framework 3.5 / .NET Framework 3.5 SP1 Changes (PT/EN)</title><link>http://weblogs.pontonetpt.com/mutley/posts/28158.aspx</link><pubDate>Wed, 27 Aug 2008 23:50:00 GMT</pubDate><guid isPermaLink="true">http://weblogs.pontonetpt.com/mutley/posts/28158.aspx</guid><wfw:comment>http://weblogs.pontonetpt.com/mutley/comments/28158.aspx</wfw:comment><wfw:commentRss>http://weblogs.pontonetpt.com/mutley/comments/commentRss/28158.aspx</wfw:commentRss><comments>http://weblogs.pontonetpt.com/mutley/posts/28158.aspx#comment</comments><trackback:ping>http://weblogs.pontonetpt.com/mutley/trackback.aspx?ID=28158</trackback:ping><source url="http://weblogs.pontonetpt.com/mutley/rss.aspx">Nuno Filipe Godinho</source><description>&lt;p&gt;&lt;/p&gt; &lt;p&gt;(PT)&lt;/p&gt; &lt;p&gt;   Com a disponibilização do novo Service Pack 1 para a .NET Framework 3.5 bastantes alterações foram efectuadas em diversos níveis da framework, e anteriormente falei nas alterações que entravam no âmbito do WPF, mas muito mais foi efectuado e por exemplo o &lt;a href="http://blogs.msdn.com/clrcodegeneration/archive/2008/08/15/what-s-in-netfx-3-5-sp1.aspx" target="_blank"&gt;CLR&lt;/a&gt; também sofreu alterações como escreveu &lt;a href="http://blogs.msdn.com/clrcodegeneration" target="_blank"&gt;Kevin Frie no blog sobre CLRCodeGeneration&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;   Outras pessoas como o &lt;a href="http://codebetter.com/blogs/patricksmacchia/" target="_blank"&gt;MVP de C# Patrick Smacchia&lt;/a&gt; olharam mais aprofundadamente e neste caso ele explicou gráficamente onde é que as alterações foram efectuadas e efectuou um and &lt;a href="http://codebetter.com/blogs/patricksmacchia/archive/2008/08/13/net-3-5-sp1-changes-overview.aspx" target="_blank"&gt;post no seu blog&lt;/a&gt;, e os resultados são bastante interessantes de analisar.&lt;/p&gt; &lt;p&gt;   Outra alteração é o facto de agora com o Service Pack 1 a .Net Framework 3.5 permitir que código &lt;em&gt;Managed&lt;/em&gt; sejam lançado através de uma partilha de rede, e isto será uma grande alteração para todos aqueles que estão habituados a desenvolver aplicações nas quais os executáveis são colocados num servidor e posteriormente os clientes irão correr esses mesmos executaveis. &lt;a href="http://blogs.msdn.com/vancem/" target="_blank"&gt;Vance Morison&lt;/a&gt; tem a &lt;a href="http://blogs.msdn.com/vancem/archive/2008/08/13/net-framework-3-5-sp1-allows-managed-code-to-be-launched-from-a-network-share.aspx" target="_blank"&gt;história completa relativamente a este assunto neste post efectuado no seu blog&lt;/a&gt;. Ou seja, isto não era possível e agora é e isso é &lt;strong&gt;Excelente. &lt;/strong&gt;A minha questão é a seguinte, “Mas para que necessitamos disto no mundo e arquitecturas actuais?” mas &lt;a href="http://blogs.msdn.com/brada/archive/2007/10/26/adhoc-poll-allowing-net-exes-to-run-off-a-network-share.aspx" target="_blank"&gt;porque foi um enorme pedido&lt;/a&gt;, a Microsoft ouviu e resolveu. &lt;strong&gt;É excelente ser-se ouvido.&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;   &lt;/strong&gt;E por isso mesmo sabemos que grandes alterações foram efectuados nesta versão mas muito importante é o facto de as mesmas teram por base o feedback fornecido por aqueles que realmente utilizam as tecnologias. Por isso &lt;strong&gt;Excelente.&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;(EN)&lt;/p&gt; &lt;p&gt;   With the release of the new Service Pack 1 for the .NET Framework 3.5 several changes were made on several levels of the framework, and previously I talked about the changes that were made on the WPF scope, but much more as been done, and things like the &lt;a href="http://blogs.msdn.com/clrcodegeneration/archive/2008/08/15/what-s-in-netfx-3-5-sp1.aspx" target="_blank"&gt;CLR&lt;/a&gt; were changed as &lt;a href="http://blogs.msdn.com/clrcodegeneration" target="_blank"&gt;Kevin Frie wrote on the CLRCodeGeneration blog&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;   Other person like the &lt;a href="http://codebetter.com/blogs/patricksmacchia/" target="_blank"&gt;C# MVP Patrick Smacchia&lt;/a&gt; made a much deeper look and explained graphically where the changes were made and &lt;a href="http://codebetter.com/blogs/patricksmacchia/archive/2008/08/13/net-3-5-sp1-changes-overview.aspx" target="_blank"&gt;posted it on his blog&lt;/a&gt;, and this was a very interesting result to see.&lt;/p&gt; &lt;p&gt;   Another change was that now the .Net Framework 3.5 with the Service Pack 1 allows managed code to be launched from a network share, and this will be a big change for all of those that were used to have a executable on a server and then all the client machines were to run that executable. &lt;a href="http://blogs.msdn.com/vancem/" target="_blank"&gt;Vance Morison&lt;/a&gt; as the &lt;a href="http://blogs.msdn.com/vancem/archive/2008/08/13/net-framework-3-5-sp1-allows-managed-code-to-be-launched-from-a-network-share.aspx" target="_blank"&gt;full story about this on this post&lt;/a&gt;. This didn’t work but now it does. &lt;strong&gt;Great&lt;/strong&gt;. My question is, “Why is this needed in the current world and Architectures?” but &lt;a href="http://blogs.msdn.com/brada/archive/2007/10/26/adhoc-poll-allowing-net-exes-to-run-off-a-network-share.aspx" target="_blank"&gt;because it was a huge request&lt;/a&gt;, Microsoft eared it and fixed it. &lt;strong&gt;It’s Great to be eared .&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;   &lt;/strong&gt;And so we know great changes are being made and very importantly changes that came from feedback provided from those who use the technology. &lt;strong&gt;Excellent.&lt;/strong&gt;&lt;/p&gt;</description><dc:creator>Nuno Filipe Godinho</dc:creator></item><item><title>Forma&amp;ccedil;&amp;atilde;o relativa &amp;aacute; utiliza&amp;ccedil;&amp;atilde;o do controlo de Virtual Earth para ASP.NET / Training for ASP.NET Virtual Earth Control</title><link>http://weblogs.pontonetpt.com/mutley/posts/28157.aspx</link><pubDate>Wed, 27 Aug 2008 23:23:00 GMT</pubDate><guid isPermaLink="true">http://weblogs.pontonetpt.com/mutley/posts/28157.aspx</guid><wfw:comment>http://weblogs.pontonetpt.com/mutley/comments/28157.aspx</wfw:comment><wfw:commentRss>http://weblogs.pontonetpt.com/mutley/comments/commentRss/28157.aspx</wfw:commentRss><comments>http://weblogs.pontonetpt.com/mutley/posts/28157.aspx#comment</comments><trackback:ping>http://weblogs.pontonetpt.com/mutley/trackback.aspx?ID=28157</trackback:ping><source url="http://weblogs.pontonetpt.com/mutley/rss.aspx">Nuno Filipe Godinho</source><description>&lt;p&gt;(PT)&lt;/p&gt; &lt;p&gt;    Para todos aqueles que desenvolvem ou gostariam de desenvolver soluções de ASP.NET com integração com o Virtual Earth utilizando o novo controlo para ASP.NET &lt;a href="http://www.liveside.net/developer/archive/2008/08/04/deep-dive-introduction-into-the-virtual-earth-asp-net-control.aspx" target="_blank"&gt;aqui fica um link&lt;/a&gt; interessante em que são disponibilizados uma série de videos e exemplos sobre a utilização do controlo de Virtual Earth para o ASP.NET.&lt;/p&gt; &lt;p&gt;    Não percam esta excelente oportunidade de saberem mais sobre este controlo que tanta facilidade fornece ao desenvolvimento de soluções ASP.NET com integração com o Virtual Earth.&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;(EN)&lt;/p&gt; &lt;p&gt;    For all of those that develop or would like to develop ASP.NET solutions with integration of Virtual Earth using the new ASP.NET control &lt;a href="http://www.liveside.net/developer/archive/2008/08/04/deep-dive-introduction-into-the-virtual-earth-asp-net-control.aspx" target="_blank"&gt;here is the link&lt;/a&gt; for a very interesting series of videos and samples about how to use the ASP.NET Virtual Earth control.&lt;/p&gt; &lt;p&gt;    Don’t miss this fabulous opportunity to know more about this control that brings a easy way to develop ASP.NET solutions with integration of Virtual Earth.&lt;/p&gt;</description><dc:creator>Nuno Filipe Godinho</dc:creator></item><item><title>Windows Presentation Foundation sofre a terceira release principal / Windows Presentation Foundation Major Release 3 (PT/EN)</title><link>http://weblogs.pontonetpt.com/mutley/posts/28156.aspx</link><pubDate>Wed, 27 Aug 2008 23:02:00 GMT</pubDate><guid isPermaLink="true">http://weblogs.pontonetpt.com/mutley/posts/28156.aspx</guid><wfw:comment>http://weblogs.pontonetpt.com/mutley/comments/28156.aspx</wfw:comment><wfw:commentRss>http://weblogs.pontonetpt.com/mutley/comments/commentRss/28156.aspx</wfw:commentRss><comments>http://weblogs.pontonetpt.com/mutley/posts/28156.aspx#comment</comments><trackback:ping>http://weblogs.pontonetpt.com/mutley/trackback.aspx?ID=28156</trackback:ping><source url="http://weblogs.pontonetpt.com/mutley/rss.aspx">Nuno Filipe Godinho</source><description>&lt;p&gt;(PT)&lt;/p&gt; &lt;p&gt;   Com a disponibilização do &lt;em&gt;Service Pack 1&lt;/em&gt; da.NET Framework 3.5 o WPF sofreu a terceira grande release da sua até agora curta história.&lt;/p&gt; &lt;p&gt;   As principais áreas afectadas foram:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Disponibilização / Instalação&lt;/li&gt;&lt;/ul&gt; &lt;blockquote&gt; &lt;p&gt;     Agora ao invés de necessitarmos de fazer a instalação completa da framework foi desenvolvida uma versão light de forma a correr todos os elementos necessários para esta tecnologia, e esta versão foi chamada de &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=8CEA6CD1-15BC-4664-B27D-8CEBA808B28B&amp;amp;displaylang=en" target="_blank"&gt;Client Profile&lt;/a&gt; e é consome cerca de 25 MB e incluí o seguinte:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;CLR (bases da .NET Framework)  &lt;/li&gt;&lt;li&gt;Click Once (Utilizada no processo de instalação de aplicações WPF)  &lt;/li&gt;&lt;li&gt;Windows Forms (Runtime utilizada para correr soluções Windows Forms que podem também ser colocadas dentro de aplicações WPF através da utilização da classe WindowsFormsHost)  &lt;/li&gt;&lt;li&gt;Windows Presentation Foundation (Runtime utilizada para correr soluções WPF que podem também ser colocadas dentro de aplicações Windows Forms através da utilização da classe ElementHost)  &lt;/li&gt;&lt;li&gt;Windows Communication Foundation (Runtime utilizada para correr e consumir serviços de WCF que normalmente são utilizados pelas soluções Windows Forms e WPF) &lt;/li&gt;&lt;/ul&gt;&lt;/blockquote&gt; &lt;ul&gt; &lt;li&gt;Gráficos &lt;/li&gt;&lt;/ul&gt; &lt;blockquote&gt; &lt;p&gt;     Esta versão inclui melhorias poderosas no que respeita á parte gráfica do WPF e maioritáriamente no âmbito do 3D em controlos como o UIElement3D e o Viewport2DVisual3D (que é responsável por tornar objectos 2D visiveis em ambiente 3D).&lt;/p&gt; &lt;p&gt;     Fornece também os &lt;a href="http://msdn.microsoft.com/en-us/library/bb944006%28VS.85%29.aspx#Pixel_Shader_Basics" target="_blank"&gt;HLSL shaders&lt;/a&gt; através da classe ShaderEffect, sendo estes inteiramente implementados ao nível do GPU, o que os torna bastante mais rápidos, no caso de possuirmos um hardware com suporte a Pixel Shader 2.0).&lt;/p&gt; &lt;p&gt;    Outra classe que também sofreu melhorias foi a WritableBitmap que agora permite uma manipulação mais eficiente das imagens, pois fornece a possibilidade de disponibilizar imagens que se encontram mapeadas na memória do sistema que irá permitir-nos alterações em runtime á mesma fazendo com que os efeitos sejam imediatamente visiveis no ecrã.&lt;/p&gt;&lt;/blockquote&gt; &lt;ul&gt; &lt;li&gt;Performance &lt;/li&gt;&lt;/ul&gt; &lt;blockquote&gt; &lt;p&gt;    Alterações ao cold start (a primeira vez que é efectuado o arranque da solução) das aplicações que foi melhorado em cerca de 45% dependendo do tamanho da aplicação.&lt;/p&gt; &lt;p&gt;    Foram efectuadas também optimizações no que respeita á virtualização de controls em elementos como o TreeView, colunas que agora podem ser virtualizadas e que permitirão por isso mesmo um melhor e mais fácil  desenvolvimento de um controlo género DataGrid.&lt;/p&gt;&lt;/blockquote&gt; &lt;ul&gt; &lt;li&gt;Novos Controlos &lt;/li&gt;&lt;/ul&gt; &lt;blockquote&gt; &lt;p&gt;     O mais pedido foi sem dúvida o DataGrid que agora faz parte dos controlos disponibilizados pelo WPF, mas que no entanto não se encontra nesta release mas será disponbiilizado posteriormente á release da .net framework 3.5 SP1.&lt;/p&gt; &lt;p&gt;     O controlo Office Ribbon faz também agora parte dos controlos de WPF mas que da mesma maneira que no caso da DataGrid será disponibilizado numa release posterior .&lt;/p&gt; &lt;p&gt;      Um controlo com funcionalidade ricas de Browser como é o caso do WebBrowser, que nas versões anteriores funcionava via Frame, sendo que agora permitirá o uso de javacript e outras funcionalidade que existem habitualmente nos browsers, trazendo também a possibilidade de disponibilizar conteúdos Silverlight dentro de aplicações WPF.&lt;/p&gt;&lt;/blockquote&gt; &lt;ul&gt; &lt;li&gt;Outras Melhorias&lt;/li&gt;&lt;/ul&gt; &lt;blockquote&gt; &lt;p&gt;     Suporte para a formatação de Strings no momento do databind de texto sem que para isso tenhamos de implementar o interface IValueConverter.&lt;/p&gt; &lt;p&gt;     O Suporte XBAP para o Firefox foi extendido fornecendo também suporte nativo para o ClickOnce.&lt;/p&gt; &lt;p&gt;     Melhorias ao nível do designer de WPF presente no Visual Studio 2008 resolvendo assim problemas que aconteciam em casos de render de elementos maioritáriamente quando os mesmos era baseados em controlos customizados.&lt;/p&gt; &lt;p&gt;     Existe também uma alteração que é necessária efectuar ao Blend 2.5 Preview de forma a resolver os mesmos problemas e que podem efectuar o &lt;a href="http://www.microsoft.com/expression/try-it/default.aspx?filter=prerelease" target="_blank"&gt;seu download aqui&lt;/a&gt;.&lt;/p&gt;&lt;/blockquote&gt; &lt;ul&gt; &lt;li&gt;Integração&lt;/li&gt;&lt;/ul&gt; &lt;blockquote&gt; &lt;p&gt;     Melhorada a integração com o DirectX através da disponibilização da classe D3DImage que permite aos developers efectuar a subreposição de conteúdos de Direct3D e de conteúdos WPF.&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;   Em conclusão, tudo grandes notícias para aqueles que se encontra a fazer desenvolvimentos com esta poderosa tecnologia da Microsoft denomidada de WPF que também mudou a sua comunidade principal para o site &lt;a href="http://windowsclient.net/wpf" target="_blank"&gt;WindowsClient.net/WPF&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;   Para mais informações consultem os seguintes links:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Blog de &lt;a href="http://blogs.msdn.com/jaimer" target="_blank"&gt;Jaime Rodriguez&lt;/a&gt; com o post sobre &lt;a href="http://blogs.msdn.com/jaimer/archive/2008/08/15/cheat-sheet-to-some-of-the-wpf-3-5-sp1-features.aspx" target="_blank"&gt;WPF 3.5 SP1 features&lt;/a&gt;.  &lt;/li&gt;&lt;li&gt;Blog de &lt;a href="http://blogs.msdn.com/jgoldb" target="_blank"&gt;WPF perfomance&lt;/a&gt; com o post sobre &lt;a href="http://blogs.msdn.com/jgoldb/archive/2008/05/15/what-s-new-for-performance-in-wpf-in-net-3-5-sp1.aspx" target="_blank"&gt;What’s New for Performance in WPF in .Net 3.5 SP1&lt;/a&gt;.  &lt;/li&gt;&lt;li&gt;Blog de &lt;a href="http://blogs.msdn.com/tims" target="_blank"&gt;Tim Sneath&lt;/a&gt; com o post sobre &lt;a href="http://blogs.msdn.com/tims/archive/2008/05/12/introducing-the-third-major-release-of-windows-presentation-foundation.aspx" target="_blank"&gt;Introducing the Third Major Release of Windows Presentation Foundation&lt;/a&gt;. &lt;/li&gt;&lt;/ul&gt; &lt;p&gt;(EN)&lt;/p&gt; &lt;p&gt;   With the release of the .NET Framework 3.5 SP1 the WPF suffered the third major release of it’s short history.&lt;/p&gt; &lt;p&gt;   This major areas that were affected were:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Deployment &lt;/li&gt;&lt;/ul&gt; &lt;blockquote&gt; &lt;p&gt;     Now instead of needing the full framework installation it was made a lightweight version in order to run only this technology, and  this is called the &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=8CEA6CD1-15BC-4664-B27D-8CEBA808B28B&amp;amp;displaylang=en" target="_blank"&gt;Client Profile&lt;/a&gt;. This lightweight version that consumes 25 MB includes the following:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;CLR (bases of the .NET Framework)  &lt;/li&gt;&lt;li&gt;Click Once (Used in the installation of the WPF applications)  &lt;/li&gt;&lt;li&gt;Windows Forms (Runtime used to run the Windows Forms solutions that can be held also inside WPF applications using WindowsFormsHost class)  &lt;/li&gt;&lt;li&gt;Windows Presentation Foundation (Runtime used to run the WPF solutions that can also be held inside Windows Forms Applications using the ElementHost class)  &lt;/li&gt;&lt;li&gt;Windows Communication Foundation (Runtime used to run and consume WCF services that are normally used by Windows and WPF applications) &lt;/li&gt;&lt;/ul&gt;&lt;/blockquote&gt; &lt;ul&gt; &lt;li&gt;Graphics &lt;/li&gt;&lt;/ul&gt; &lt;blockquote&gt; &lt;p&gt;     This versions includes powerful enhancements on the WPF graphics primarily on the 3D scope in controls like UIElement3D and Viewport2DVisual3D (that is responsible for making 2D object viewable in 3D).&lt;/p&gt; &lt;p&gt;     Also brings the &lt;a href="http://msdn.microsoft.com/en-us/library/bb944006%28VS.85%29.aspx#Pixel_Shader_Basics" target="_blank"&gt;HLSL shaders&lt;/a&gt; with the ShaderEffect class, that are entirely implemented on the GPU level, which makes it a lot faster, in case you have the Pixel Shader 2.0 support on your hardware).&lt;/p&gt; &lt;p&gt;    Another class that was also enhanced was the WritableBitmap class that now enables a very efficient image manipulation, by giving the ability to provide bitmap images mapped in the system memory that will give us the ability to change it on runtime and have the effects immediately on the screen.  &lt;/p&gt;&lt;/blockquote&gt; &lt;ul&gt; &lt;li&gt;Performance &lt;/li&gt;&lt;/ul&gt; &lt;blockquote&gt; &lt;p&gt;    Changes to the cold start on the application that are now improved in 45% depending on the application size.&lt;/p&gt; &lt;p&gt;    Virtualization optimizations such as in TreeView, columns that can now be virtualized and that will enable a better and easier creation of DataGrid controls.&lt;/p&gt;&lt;/blockquote&gt; &lt;ul&gt; &lt;li&gt;New Controls &lt;/li&gt;&lt;/ul&gt; &lt;blockquote&gt; &lt;p&gt;     The much asked Datagrid control is now part of the WPF controls that are made available, but that will be released after the .net 3.5 SP1 release.&lt;/p&gt; &lt;p&gt;     The Office Ribbon control is also part of the new WPF controls and will also be released after the .net 3.5 SP1 release as the DataGrid Control.&lt;/p&gt; &lt;p&gt;      A Rich functionality WebBrowser Control, that in the previous versions worked via a Frame Element, and now will permit javacript and other funcionalities that exist on the normal browsers, and also will provide the ability for WPF applications to host Silverlight contents.&lt;/p&gt;&lt;/blockquote&gt; &lt;ul&gt; &lt;li&gt;Other Enhancements &lt;/li&gt;&lt;/ul&gt; &lt;blockquote&gt; &lt;p&gt;     Support for String formatting on the databinding of text without having to implement the IValueConverter interface.&lt;/p&gt; &lt;p&gt;     Extended support for the XBAP for the Firefox by providing the ClickOnce native support inside it.&lt;/p&gt; &lt;p&gt;     Improvements in the WPF Designer of the Visual Studio 2008 solving some problems that existed with the rendering of elements majorly when they were based on other custom controls.&lt;/p&gt; &lt;p&gt;     There’s a change that needs to be made on the Blend 2.5 Preview in order to solve some of this problems and that can be &lt;a href="http://www.microsoft.com/expression/try-it/default.aspx?filter=prerelease" target="_blank"&gt;downloaded here&lt;/a&gt;.&lt;/p&gt;&lt;/blockquote&gt; &lt;ul&gt; &lt;li&gt;Integration &lt;/li&gt;&lt;/ul&gt; &lt;blockquote&gt; &lt;p&gt;     Improved DirectX integration by having the D3DImage class that enabled the developer to overlay or blend the Direct3D contents with the WPF contents.&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;   In conclusion, all great stuff for those who develop using this powerful Microsoft Technology called WPF that changed the main community site to the &lt;a href="http://windowsclient.net/wpf" target="_blank"&gt;WindowsClient.net/WPF&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;   For more information’s check the following links:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;&lt;a href="http://blogs.msdn.com/jaimer" target="_blank"&gt;Jaime Rodriguez&lt;/a&gt; blog post on &lt;a href="http://blogs.msdn.com/jaimer/archive/2008/08/15/cheat-sheet-to-some-of-the-wpf-3-5-sp1-features.aspx" target="_blank"&gt;WPF 3.5 SP1 features&lt;/a&gt;.  &lt;/li&gt;&lt;li&gt;&lt;a href="http://blogs.msdn.com/jgoldb" target="_blank"&gt;WPF perfomance&lt;/a&gt; blog post on &lt;a href="http://blogs.msdn.com/jgoldb/archive/2008/05/15/what-s-new-for-performance-in-wpf-in-net-3-5-sp1.aspx" target="_blank"&gt;What’s New for Performance in WPF in .Net 3.5 SP1&lt;/a&gt;.  &lt;/li&gt;&lt;li&gt;&lt;a href="http://blogs.msdn.com/tims" target="_blank"&gt;Tim Sneath&lt;/a&gt; blog post on &lt;a href="http://blogs.msdn.com/tims/archive/2008/05/12/introducing-the-third-major-release-of-windows-presentation-foundation.aspx" target="_blank"&gt;Introducing the Third Major Release of Windows Presentation Foundation&lt;/a&gt;. &lt;/li&gt;&lt;/ul&gt;</description><dc:creator>Nuno Filipe Godinho</dc:creator></item><item><title>Integrando Windows Live ID ao ASP.NET</title><link>http://weblogs.pontonetpt.com/israelaece/posts/28155.aspx</link><pubDate>Wed, 27 Aug 2008 01:07:00 GMT</pubDate><guid isPermaLink="true">http://weblogs.pontonetpt.com/israelaece/posts/28155.aspx</guid><wfw:comment>http://weblogs.pontonetpt.com/israelaece/comments/28155.aspx</wfw:comment><wfw:commentRss>http://weblogs.pontonetpt.com/israelaece/comments/commentRss/28155.aspx</wfw:commentRss><comments>http://weblogs.pontonetpt.com/israelaece/posts/28155.aspx#comment</comments><trackback:ping>http://weblogs.pontonetpt.com/israelaece/trackback.aspx?ID=28155</trackback:ping><source url="http://weblogs.pontonetpt.com/israelaece/rss.aspx">Israel Aéce</source><description>&lt;p align="justify"&gt;Como todos sabem, o &lt;a href="http://get.live.com/getlive/overview"&gt;Windows Live ID&lt;/a&gt; é a evolução do &lt;em&gt;Passport&lt;/em&gt;. Antigamente, para integrar uma aplicação ASP.NET ao sistema de autenticação do &lt;em&gt;Passport&lt;/em&gt;, além de uma SDK que voce precisa entender e customizar, havia custos envolvidos, o que fez com que a terceira forma de autenticação suportada pelo ASP.NET não vingasse.&lt;br /&gt;&lt;br /&gt;Atualmente, o &lt;em&gt;Windows Live ID&lt;/em&gt; torna-se muito menos complexo e mais simples de acoplar à aplicações ASP.NET e, além disso, não é mais necessário pagar para utilizá-lo. Tudo o que precisa ser feito é um cadastro prévio, que consiste nas informações a respeito da aplicação que fará o uso do &lt;em&gt;Windows Live ID&lt;/em&gt;. Para um passo à passo de como configurá-lo, podemos seguir o um artigo que &lt;a href="http://msdn.microsoft.com/en-us/library/bb676626.aspx"&gt;neste endereço&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Além disso, ainda temos (ainda em CTP) o &lt;a href="https://connect.microsoft.com/content/content.aspx?ContentID=6803&amp;amp;SiteID=505"&gt;Windows Live Tools&lt;/a&gt;, que adiciona alguns controles na barra de ferramentas do Visual Studio .NET. Este CTP contempla, entre vários controles, os controles &lt;em&gt;IDLoginView&lt;/em&gt;, &lt;em&gt;IDLoginStatus&lt;/em&gt; e a classe &lt;em&gt;LiveMembershipProvider&lt;/em&gt;. Esta última, herda diretamente da classe &lt;a href="http://msdn.microsoft.com/en-us/library/system.web.security.sqlmembershipprovider.aspx"&gt;SqlMembershipProvider&lt;/a&gt; e traz a possibilidade de integrar uma credencial &lt;em&gt;Live&lt;/em&gt; a um usuário dentro da &lt;a href="http://www.projetando.net/Sections/ViewArticle.aspx?ArticleID=62"&gt;estrutura de segurança do ASP.NET&lt;/a&gt;.&lt;/p&gt;</description><dc:creator>Israel Aéce</dc:creator></item><item><title>&amp;quot;The E-Myth Revisited&amp;quot; and The World After Summer</title><link>http://weblogs.pontonetpt.com/createtek/posts/28154.aspx</link><pubDate>Tue, 26 Aug 2008 07:57:00 GMT</pubDate><guid isPermaLink="true">http://weblogs.pontonetpt.com/createtek/posts/28154.aspx</guid><wfw:comment>http://weblogs.pontonetpt.com/createtek/comments/28154.aspx</wfw:comment><wfw:commentRss>http://weblogs.pontonetpt.com/createtek/comments/commentRss/28154.aspx</wfw:commentRss><comments>http://weblogs.pontonetpt.com/createtek/posts/28154.aspx#comment</comments><trackback:ping>http://weblogs.pontonetpt.com/createtek/trackback.aspx?ID=28154</trackback:ping><source url="http://weblogs.pontonetpt.com/createtek/rss.aspx">|create|tek|</source><description>&lt;p&gt;I've been reading "&lt;em&gt;The E Myth Revisited&lt;/em&gt;", by Michael Gerber. The book is all about entrepreneurs and small companies, and why they usually fail. The following quote is right at its start:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;"Businesses start and fail in the United States at an increasingly staggering rate. Every year, over a million people in this country start a business of some sort. Statistics tell us that &lt;strong&gt;by the end of the first year at least 40 percent of them will be out of business&lt;/strong&gt;. &lt;strong&gt;Within five years, more than 80 percent of them will have failed&lt;/strong&gt;.  [...] And &lt;strong&gt;more than 80 percent of the small businesses that survive the the first five years fail in the second five&lt;/strong&gt;."&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&lt;a href="http://www.create.pt"&gt;Create It&lt;/a&gt; is now over 7 years old, and 16 people strong.  It makes me proud to be in the small percentage of companies that do make it (although we are still 3 years away from the danger zone). :-)&lt;/p&gt;  &lt;p&gt;Meanwhile, on the technical side, I've been trying out the new &lt;strong&gt;BizTalk Services R12&lt;/strong&gt; release, which includes (hosted) &lt;a href="http://biztalk.net/Workflow.aspx"&gt;Workflow support&lt;/a&gt;. It's limited in the sense that there are not many activities included, and there's not yet rich and integrated tooling, but it's an interesting start nonetheless. Well worth exploring. And on another track, I've been looking into &lt;a href="https://connect.microsoft.com/Downloads/Downloads.aspx?SiteID=65"&gt;BizTalk Server R3&lt;/a&gt;. The new features do look interesting, although clearly in the "evolution" side of things.&lt;/p&gt;  &lt;p&gt; Finally, I've been getting ready for the &lt;a href="http://www.microsoftpdc.com"&gt;PDC2008&lt;/a&gt;, in October, where it's interesting to note that the topic "Cloud Services" is the one with most &lt;a href="https://sessions.microsoftpdc.com/public/sessions.aspx"&gt;sessions&lt;/a&gt;. If you want to learn more about this topic, I recommend you subscribe to the &lt;a href="http://groups.google.com/group/cloud-computing"&gt;Cloud Computing group&lt;/a&gt; hosted at Google Groups (but not specifically Google-related or sponsored). Interesting discussions there.&lt;/p&gt;
[Cross-Posted de http://www.arquitecturadesoftware.org/blogs/joaomartins e http://blogit.create.pt/blogs/joaomartins]</description><dc:creator>|create|tek|</dc:creator></item><item><title>MSDN Virtual Labs</title><link>http://weblogs.pontonetpt.com/chaves/posts/28153.aspx</link><pubDate>Tue, 26 Aug 2008 13:22:00 GMT</pubDate><guid isPermaLink="true">http://weblogs.pontonetpt.com/chaves/posts/28153.aspx</guid><wfw:comment>http://weblogs.pontonetpt.com/chaves/comments/28153.aspx</wfw:comment><wfw:commentRss>http://weblogs.pontonetpt.com/chaves/comments/commentRss/28153.aspx</wfw:commentRss><comments>http://weblogs.pontonetpt.com/chaves/posts/28153.aspx#comment</comments><trackback:ping>http://weblogs.pontonetpt.com/chaves/trackback.aspx?ID=28153</trackback:ping><source url="http://weblogs.pontonetpt.com/chaves/rss.aspx">Chaves</source><description>Looking a different way to learn some cool technology? Try the MSDN Virtual Labs, see &lt;a href="http://msdn.microsoft.com/en-us/virtuallabs/default.aspx"&gt;http://msdn.microsoft.com/en-us/virtuallabs/default.aspx&lt;/a&gt; </description><dc:creator>Chaves</dc:creator></item><item><title>blog blogs</title><link>http://weblogs.pontonetpt.com/felipecvo/posts/28151.aspx</link><pubDate>Mon, 25 Aug 2008 17:17:00 GMT</pubDate><guid isPermaLink="true">http://weblogs.pontonetpt.com/felipecvo/posts/28151.aspx</guid><wfw:comment>http://weblogs.pontonetpt.com/felipecvo/comments/28151.aspx</wfw:comment><wfw:commentRss>http://weblogs.pontonetpt.com/felipecvo/comments/commentRss/28151.aspx</wfw:commentRss><comments>http://weblogs.pontonetpt.com/felipecvo/posts/28151.aspx#comment</comments><trackback:ping>http://weblogs.pontonetpt.com/felipecvo/trackback.aspx?ID=28151</trackback:ping><source url="http://weblogs.pontonetpt.com/felipecvo/rss.aspx">Felipe Cavalcante Vilella de Oliveira</source><description>&lt;a href="http://blogblogs.com.br/api/claim/-805024752/186809/97092" rel="me"&gt; BlogBlogs.Com.Br &lt;/a&gt;</description><dc:creator>Felipe Cavalcante Vilella de Oliveira</dc:creator></item><item><title>Parecia que nem tudo no Mono funciona...</title><link>http://weblogs.pontonetpt.com/esqueleto/posts/28150.aspx</link><pubDate>Mon, 25 Aug 2008 06:39:00 GMT</pubDate><guid isPermaLink="true">http://weblogs.pontonetpt.com/esqueleto/posts/28150.aspx</guid><wfw:comment>http://weblogs.pontonetpt.com/esqueleto/comments/28150.aspx</wfw:comment><wfw:commentRss>http://weblogs.pontonetpt.com/esqueleto/comments/commentRss/28150.aspx</wfw:commentRss><comments>http://weblogs.pontonetpt.com/esqueleto/posts/28150.aspx#comment</comments><trackback:ping>http://weblogs.pontonetpt.com/esqueleto/trackback.aspx?ID=28150</trackback:ping><source url="http://weblogs.pontonetpt.com/esqueleto/rss.aspx">Paulo Aboim Pinto</source><description>Parecia que nem tudo no Mono funciona igual ao .NET&lt;br id="n_-." /&gt;&lt;br id="n_-.0" /&gt;É verdade, passei o fim de semana todo embrenhado a tentar entender porque é que no Mono uma funcionalidade dava erro e no .NET não. Essa funcionalidade era a base do Expression Evaluation que tenho estado a trabalhar que se baseia na geração de um método dinâmico e na sua execução. &lt;br id="jj:a" /&gt;&lt;br id="jj:a0" /&gt;Eu sabia que no Mono funcionava, mesmo sem que tenha experimentado alguma vez, mas, o azar aparece sempre que não o desejamos e eis que obtinha o erro:&lt;br id="mz-t" /&gt;&lt;br id="mz-t0" /&gt;Unhandled Exception: System.ArgumentException: Expression cannot be evaluated, please use a valid C# expression: 0+1 (  at System.Reflection.Emit.&lt;div id="mz-t1" dir="ltr"&gt;&lt;wbr id="mz-t2"&gt;AssemblyBuilder.&lt;wbr id="mz-t3"&gt;DefineDynamicModule (System.String name, System.String fileName, Boolean emitSymbolInfo, Boolean transient) [0x00000] )&lt;br id="mz-t4" /&gt;   at RefletionExample.Program.&lt;wbr id="mz-t5"&gt;EvaluateExpression (System.String statement) [0x00000]&lt;br id="mz-t6" /&gt;  at RefletionExample.Program.Main (System.String[] args) [0x00000]&lt;br id="mz-t7" /&gt;&lt;br id="mz-t8" /&gt;sempre que executava o método &lt;i id="o32v"&gt;CompileAssemblyFromSource&lt;/i&gt; que cria um método &lt;i id="o32v0"&gt;on-the-fly&lt;/i&gt;.&lt;br id="o32v1" /&gt;&lt;br id="o32v2" /&gt;Depois de muito bater com a cabeça, pesquisar muito em foruns e colocar posts no Bugzilla do Mono, alguém conseguiu identificar o meu problema. Num dos parametros de criação da assembly tinha, cp.OutputAssembly = "Module"; e segundo a especificação do CLR este comando devia receber também a extensão, ou .dll ou .exe. &lt;br id="ssp_" /&gt;No windows se não indicamos a extenção, a assembly é criada em memória (expecialmente porque tinha a linha: cp.GenerateInMemory = true;), mas, em Mono, como ela é criada em disco necessitava da extensão e bastou colocar a estensão e tudo ficou a funcionar como se de um windows se tratasse.&lt;br id="nhns" /&gt;&lt;br id="nhns0" /&gt;&lt;br id="nhns1" /&gt;ufffaaa, parecia ser um problema, mas, a solução não podia ser mais simples.&lt;br id="nhns2" /&gt;&lt;br id="nhns3" /&gt;&lt;br id="nhns4" /&gt;Abraços&lt;br id="nhns5" /&gt;Paulo Aboim Pinto&lt;br id="nhns6" /&gt;Odivelas - Portugal&lt;br id="um26" /&gt;&lt;/wbr&gt;&lt;/wbr&gt;&lt;/wbr&gt;&lt;/div&gt;&lt;br id="tig:" /&gt;</description><dc:creator>Paulo Aboim Pinto</dc:creator></item><item><title>Vem ai no Brasil , Tech-Ed 2008 - 14 a 16 Outubro 2008</title><link>http://weblogs.pontonetpt.com/daniloce/posts/28140.aspx</link><pubDate>Fri, 22 Aug 2008 11:57:00 GMT</pubDate><guid isPermaLink="true">http://weblogs.pontonetpt.com/daniloce/posts/28140.aspx</guid><wfw:comment>http://weblogs.pontonetpt.com/daniloce/comments/28140.aspx</wfw:comment><wfw:commentRss>http://weblogs.pontonetpt.com/daniloce/comments/commentRss/28140.aspx</wfw:commentRss><comments>http://weblogs.pontonetpt.com/daniloce/posts/28140.aspx#comment</comments><trackback:ping>http://weblogs.pontonetpt.com/daniloce/trackback.aspx?ID=28140</trackback:ping><source url="http://weblogs.pontonetpt.com/daniloce/rss.aspx">Danilo Cecilia - Learning .NET -</source><description>&lt;p&gt;&lt;a href="http://www.teched.com.br/Sobre.aspx"&gt;&lt;img src="http://cyberox.sites.uol.com.br/mteched2008.JPG" border="0" /&gt;&lt;/a&gt; &lt;br /&gt;&lt;font face="Tahoma" color="#808080"&gt;É isso ai pessoal, para os amantes e conhecedores das ferramentas microsoft, esta chegando ao Brasil mais um evento da microsoft Tech-Ed 2008. &lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Tahoma" color="#808080"&gt;Eu gostaria muito de ir, mas não sei se poderei, a data será perto da apresentação de TCC da faculdade. Mas para quem gostaria de participar e acha que vai ter problema com o chefe, acesse a página , no canto inferior do lado direiro tem um link "AVISE SEU CHEFE" , talvez assim com bons motivos ele acabe cedendo sua ausencia na empresa e você acabe participando do evento =D&lt;/font&gt; &lt;/p&gt;
&lt;p&gt;&lt;font face="Tahoma" color="#808080"&gt;Boa Sorte e Bom Evento!&lt;/font&gt;&lt;/p&gt;</description><dc:creator>Danilo Cecilia</dc:creator></item><item><title>Criando Alias no Pacote</title><link>http://weblogs.pontonetpt.com/mauriciojunior/posts/28139.aspx</link><pubDate>Fri, 22 Aug 2008 02:57:00 GMT</pubDate><guid isPermaLink="true">http://weblogs.pontonetpt.com/mauriciojunior/posts/28139.aspx</guid><wfw:comment>http://weblogs.pontonetpt.com/mauriciojunior/comments/28139.aspx</wfw:comment><wfw:commentRss>http://weblogs.pontonetpt.com/mauriciojunior/comments/commentRss/28139.aspx</wfw:commentRss><comments>http://weblogs.pontonetpt.com/mauriciojunior/posts/28139.aspx#comment</comments><trackback:ping>http://weblogs.pontonetpt.com/mauriciojunior/trackback.aspx?ID=28139</trackback:ping><source url="http://weblogs.pontonetpt.com/mauriciojunior/rss.aspx">Mauricio Junior - MCP Microsoft (WEB &amp; Windows Application)</source><description>Olá pessoal,
&lt;br /&gt;&lt;br /&gt;
É muito interessante a questão de dar "alias" ao pacote que está utilizando. Além de ser interessante, pode ajudar muita gente por identificar o pacote que está sendo usado em determinado momento.
&lt;br /&gt;&lt;br /&gt;
Esse "alias" vira praticamente uma variável que pode ser usada no decorrer da classe criada. Muito simples e fácil o conceito. Veja o exemplo do código abaixo:
&lt;br /&gt;&lt;br /&gt;
Acesse e veja mais detalhes: &lt;a href="http://www.aspneti.com/Criando+alias+no+pacote+557,0.aspx"&gt;&lt;b&gt;http://www.aspneti.com/Criando+alias+no+pacote+557,0.aspx&lt;/b&gt;&lt;/a&gt;</description><dc:creator>Mauricio Junior</dc:creator></item><item><title>Oferta De Desconto Para A Comunidade Na Subscri&amp;#231;&amp;#227;o Da E-Reference Library</title><link>http://weblogs.pontonetpt.com/pjmorgado/posts/28138.aspx</link><pubDate>Thu, 21 Aug 2008 14:46:00 GMT</pubDate><guid isPermaLink="true">http://weblogs.pontonetpt.com/pjmorgado/posts/28138.aspx</guid><wfw:comment>http://weblogs.pontonetpt.com/pjmorgado/comments/28138.aspx</wfw:comment><wfw:commentRss>http://weblogs.pontonetpt.com/pjmorgado/comments/commentRss/28138.aspx</wfw:commentRss><comments>http://weblogs.pontonetpt.com/pjmorgado/posts/28138.aspx#comment</comments><trackback:ping>http://weblogs.pontonetpt.com/pjmorgado/trackback.aspx?ID=28138</trackback:ping><source url="http://weblogs.pontonetpt.com/pjmorgado/rss.aspx">Paulo Morgado</source><description>&lt;a href="http://PauloMorgado.NET/"&gt;&lt;/a&gt;  &lt;p&gt;A &lt;a title="Microsoft Press Books" href="http://www.microsoft.com/press/" target="_blank"&gt;Microsoft Press&lt;/a&gt; criou  um URL exclusivo para um desconto na subscrição da E-Reference Library para os &lt;a title="Microsoft Most Valuable Professional" href="http://mvp.support.microsoft.com" target="_blank"&gt;MVP&lt;/a&gt;s passarem à comunidade, sem quaisquer limitações ou restrições.&lt;/p&gt; &lt;a href="http://PauloMorgado.NET/"&gt;&lt;/a&gt;  &lt;p&gt;Para criar uma subscrição experimental, deve ser usado o URL Experimental (&lt;a href="http://microsofteref2.books24x7.com/promo.asp?ref=mvptry"&gt;http://microsofteref2.books24x7.com/promo.asp?ref=mvptry&lt;/a&gt;).&lt;/p&gt; &lt;a href="http://PauloMorgado.NET/"&gt;&lt;/a&gt;  &lt;p&gt;Qualquer membro da comunidade que subscreva a E-Reference Libraries através do URL de Subscrição (&lt;a href="http://microsofteref2.books24x7.com/promo.asp?ref=mvpbuy"&gt;http://microsofteref2.books24x7.com/promo.asp?ref=mvpbuy&lt;/a&gt;) terá direito a um &lt;strong&gt;desconto de 40%&lt;/strong&gt; numa subscrição de um ano.&lt;/p&gt; &lt;a href="http://PauloMorgado.NET/"&gt;&lt;/a&gt;  &lt;p&gt;Esta oferta termina a 30 de Setembro de 2008.&lt;/p&gt;
&lt;p&gt;[Cross-Posted de &lt;a href="http://www.arquitecturadesoftware.org/blogs/paulomorgado/"&gt;http://www.arquitecturadesoftware.org/blogs/paulomorgado/&lt;/a&gt;]&lt;/p&gt;</description><dc:creator>Paulo Morgado</dc:creator></item><item><title>Padrão de Codificação</title><link>http://weblogs.pontonetpt.com/mauriciojunior/posts/28137.aspx</link><pubDate>Thu, 21 Aug 2008 15:19:00 GMT</pubDate><guid isPermaLink="true">http://weblogs.pontonetpt.com/mauriciojunior/posts/28137.aspx</guid><wfw:comment>http://weblogs.pontonetpt.com/mauriciojunior/comments/28137.aspx</wfw:comment><wfw:commentRss>http://weblogs.pontonetpt.com/mauriciojunior/comments/commentRss/28137.aspx</wfw:commentRss><comments>http://weblogs.pontonetpt.com/mauriciojunior/posts/28137.aspx#comment</comments><trackback:ping>http://weblogs.pontonetpt.com/mauriciojunior/trackback.aspx?ID=28137</trackback:ping><source url="http://weblogs.pontonetpt.com/mauriciojunior/rss.aspx">Mauricio Junior - MCP Microsoft (WEB &amp; Windows Application)</source><description>&lt;p&gt;&lt;font face="Tahoma" size="2"&gt;Pessoal,&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Tahoma" size="2"&gt;Nos dias de hoje, existem vários padrões de codificação em uma linguagem ou plataforma. &lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Tahoma" size="2"&gt;Coloquei algumas dicas e explicações no link abaixo, espero ajudar.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.aspneti.com/Padrao+de+codificacao+556,0.aspx"&gt;&lt;font face="Tahoma" size="2"&gt;http://www.aspneti.com/Padrao+de+codificacao+556,0.aspx&lt;/font&gt;&lt;/a&gt;&lt;/p&gt;</description><dc:creator>Mauricio Junior</dc:creator></item><item><title>Saiu O StyleCop 4.3</title><link>http://weblogs.pontonetpt.com/pjmorgado/posts/28136.aspx</link><pubDate>Wed, 20 Aug 2008 15:42:00 GMT</pubDate><guid isPermaLink="true">http://weblogs.pontonetpt.com/pjmorgado/posts/28136.aspx</guid><wfw:comment>http://weblogs.pontonetpt.com/pjmorgado/comments/28136.aspx</wfw:comment><wfw:commentRss>http://weblogs.pontonetpt.com/pjmorgado/comments/commentRss/28136.aspx</wfw:commentRss><comments>http://weblogs.pontonetpt.com/pjmorgado/posts/28136.aspx#comment</comments><trackback:ping>http://weblogs.pontonetpt.com/pjmorgado/trackback.aspx?ID=28136</trackback:ping><source url="http://weblogs.pontonetpt.com/pjmorgado/rss.aspx">Paulo Morgado</source><description>&lt;a href="http;//PauloMorgado.NET/"&gt;&lt;/a&gt;  &lt;p&gt;A &lt;a title="Microsoft StyleCop" href="http://blogs.msdn.com/sourceanalysis/" target="_blank"&gt;equiopa do StyleCop&lt;/a&gt; &lt;a title="StyleCop 4.3 Is Released" href="http://blogs.msdn.com/sourceanalysis/archive/2008/08/19/stylecop-4-3-is-released.aspx" target="_blank"&gt;anunciou&lt;/a&gt; a saída da versão 4.3 da &lt;a title="Microsoft StyleCop" href="http://code.msdn.microsoft.com/sourceanalysis" target="_blank"&gt;ferramenta StyleCop&lt;/a&gt;. Podem obtê-la &lt;a title="StyleCop 4.3" href="http://code.msdn.microsoft.com/Release/ProjectReleases.aspx?ProjectName=sourceanalysis&amp;amp;ReleaseId=1425" target="_blank"&gt;aqui&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;Esta versão contem algumas correcções de erros, novas regras e documentação.&lt;/p&gt; &lt;a href="http;//PauloMorgado.NET/"&gt;&lt;/a&gt;  &lt;p&gt;Também nesta versão, a lista de erros e avisos vai para a janela &lt;strong&gt;Errors List&lt;/strong&gt; como acontece com os compiladores. Gostava que os erros e avisos também fossem para a janela &lt;strong&gt;Output&lt;/strong&gt;.&lt;/p&gt; &lt;a href="http;//PauloMorgado.NET/"&gt;&lt;/a&gt;  &lt;p&gt;A documentação do SDK para o desenvolvimento de regras próprias e integração com outros sistemas de &lt;em&gt;build&lt;/em&gt; é esperada para breve.&lt;/p&gt;
&lt;p&gt;[Cross-Posted de &lt;a href="http://www.arquitecturadesoftware.org/blogs/paulomorgado/"&gt;http://www.arquitecturadesoftware.org/blogs/paulomorgado/&lt;/a&gt;]&lt;/p&gt;</description><dc:creator>Paulo Morgado</dc:creator></item><item><title>O Lutz Roeder’s .NET Reflector &amp;#201; Agora O Red Gate’s .NET Reflector</title><link>http://weblogs.pontonetpt.com/pjmorgado/posts/28135.aspx</link><pubDate>Wed, 20 Aug 2008 14:54:00 GMT</pubDate><guid isPermaLink="true">http://weblogs.pontonetpt.com/pjmorgado/posts/28135.aspx</guid><wfw:comment>http://weblogs.pontonetpt.com/pjmorgado/comments/28135.aspx</wfw:comment><wfw:commentRss>http://weblogs.pontonetpt.com/pjmorgado/comments/commentRss/28135.aspx</wfw:commentRss><comments>http://weblogs.pontonetpt.com/pjmorgado/posts/28135.aspx#comment</comments><trackback:ping>http://weblogs.pontonetpt.com/pjmorgado/trackback.aspx?ID=28135</trackback:ping><source url="http://weblogs.pontonetpt.com/pjmorgado/rss.aspx">Paulo Morgado</source><description>&lt;a href="http;//PauloMorgado.NET/"&gt;&lt;/a&gt;
&lt;p&gt;Convenhamos, quem não conhece o &lt;a title=".NET Framework Developer Center" href="http://msdn.microsoft.com/netframework/" target="_blank"&gt;.NET&lt;/a&gt; Reflector não pode afirmar que desenvolve em .NET.&lt;/p&gt;&lt;a href="http;//PauloMorgado.NET/"&gt;&lt;/a&gt;
&lt;p&gt;Hoje, a &lt;a title="redgate - ingeniously simple tools" href="http://www.red-gate.com/" target="_blank"&gt;Red Gate&lt;/a&gt; anunciou a aquisição do Lutz Roeder’s .NET Reflector.&lt;/p&gt;&lt;a href="http;//PauloMorgado.NET/"&gt;&lt;/a&gt;
&lt;p&gt;Na nova página do &lt;a title=".NET Reflector" href="http://reflector.red-gate.com/" target="_blank"&gt;.NET Reflector&lt;/a&gt;, a Red Gate afirma que “continuará a &lt;strong&gt;manter uma versão gratuita para o benefício da comunidade&lt;/strong&gt;”.&lt;/p&gt;&lt;a href="http;//PauloMorgado.NET/"&gt;&lt;/a&gt;
&lt;p&gt;Podem ler a &lt;a title="The Future of Reflector" href="http://www.simple-talk.com/opinion/opinion-pieces/the-future-of-reflector-/" target="_blank"&gt;entrevista&lt;/a&gt; com Lutz Roeder e James Moore (director geral de ferramentas de desenvolvimento .NET da Red Gate) na &lt;a title="simple-talk - SQL Server and .NET put simply" href="http://www.simple-talk.com/" target="_blank"&gt;simple-talk&lt;/a&gt;.&lt;/p&gt;&lt;a href="http;//PauloMorgado.NET/"&gt;&lt;/a&gt;
&lt;p&gt;O James ainda não sabe como melhorar o &lt;a title="Reflector for .NET" href="http://www.aisto.com/roeder/dotnet/" target="_blank"&gt;Reflector&lt;/a&gt;, mas eu sei. O Reflector necessita de importantes melhoramentos ao nível da usabilidade da interface com o utilizador. Vejamos se consigo arranjar uma lista:&lt;/p&gt;&lt;a href="http;//PauloMorgado.NET/"&gt;&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;Para mim, a pesquisa enquanto se digita não é uma boa ideia tal como está no Reflector. 
&lt;/li&gt;&lt;li&gt;Ainda no tema da pesquisa, pesquisa enquanto se digita já seria uma boa ideia para a janela de código. 
&lt;/li&gt;&lt;li&gt;Não consigo perceber porque mudar alguma opção dispara um refrescamento total da aplicação perdendo-se a janela de código. 
&lt;/li&gt;&lt;li&gt;Definições como a formatação de código, documentação ou números deveria ser possível apenas com o simples premir de um botão numa barra de botões. &lt;/li&gt;&lt;/ul&gt;&lt;a href="http;//PauloMorgado.NET/"&gt;&lt;/a&gt;
&lt;p&gt;Tenho a certeza que a Red Gate é mais do que capaz de tomar bem conta do .NET Reflector.&lt;/p&gt;
&lt;p&gt;[Cross-Posted de &lt;a href="http://www.arquitecturadesoftware.org/blogs/paulomorgado/"&gt;http://www.arquitecturadesoftware.org/blogs/paulomorgado/&lt;/a&gt;]&lt;/p&gt;</description><dc:creator>Paulo Morgado</dc:creator></item><item><title>Saiu A Alfa Do Typemock Racer</title><link>http://weblogs.pontonetpt.com/pjmorgado/posts/28134.aspx</link><pubDate>Wed, 20 Aug 2008 14:45:00 GMT</pubDate><guid isPermaLink="true">http://weblogs.pontonetpt.com/pjmorgado/posts/28134.aspx</guid><wfw:comment>http://weblogs.pontonetpt.com/pjmorgado/comments/28134.aspx</wfw:comment><wfw:commentRss>http://weblogs.pontonetpt.com/pjmorgado/comments/commentRss/28134.aspx</wfw:commentRss><comments>http://weblogs.pontonetpt.com/pjmorgado/posts/28134.aspx#comment</comments><trackback:ping>http://weblogs.pontonetpt.com/pjmorgado/trackback.aspx?ID=28134</trackback:ping><source url="http://weblogs.pontonetpt.com/pjmorgado/rss.aspx">Paulo Morgado</source><description>&lt;a href="http;//PauloMorgado.NET/"&gt;&lt;/a&gt;  &lt;p&gt;A &lt;a title="Typemock - Simplify Unit Testing!" href="http://www.typemock.com/" target="_blank"&gt;Typemock&lt;/a&gt; lançou uma versão alfa do seu mais recente produto: &lt;a title="Quick Start Guide – Typemock Racer" href="http://www.typemock.com/community/viewtopic.php?topic=908&amp;amp;forum=18" target="_blank"&gt;Typemock Racer&lt;/a&gt;.&lt;/p&gt; &lt;a href="http;//PauloMorgado.NET/"&gt;&lt;/a&gt;  &lt;p&gt;O &lt;strong&gt;Typemock Racer&lt;/strong&gt; é a ferramenta que usa análise dinâmica e estática para encontrar bloqueios em código .NET que tinha sido &lt;a title="A sneak Preview of Typemock Racer : Thread Deadlock Finder" href="http://weblogs.asp.net/rosherove/archive/2008/07/08/a-sneak-preview-of-typemock-racer.aspx" target="_blank"&gt;anuncianda&lt;/a&gt; pelo &lt;a title="ISerializable - Roy Osherove's Blog" href="http://weblogs.asp.net/rosherove/" target="_blank"&gt;Roy Osherove&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;[Cross-Posted de &lt;a href="http://www.arquitecturadesoftware.org/blogs/paulomorgado/"&gt;http://www.arquitecturadesoftware.org/blogs/paulomorgado/&lt;/a&gt;]&lt;/p&gt;</description><dc:creator>Paulo Morgado</dc:creator></item></channel></rss>