<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://pontonetpt.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Cleydson Silva</title><link>http://pontonetpt.com/blogs/cleydson/default.aspx</link><description>&amp;lt;csa:Devaneios id=blog Runat=server /&amp;gt;</description><dc:language>pt-BR</dc:language><generator>CommunityServer 2008.5 SP2 (Build: 40407.4157)</generator><item><title>Html Encode</title><link>http://pontonetpt.com/blogs/cleydson/archive/2009/12/08/html-encode.aspx</link><pubDate>Tue, 08 Dec 2009 14:47:00 GMT</pubDate><guid isPermaLink="false">9d4b03f4-ce39-4703-ab9d-5b341a2c824e:38347</guid><dc:creator>Cleydson Silva</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://pontonetpt.com/blogs/cleydson/rsscomments.aspx?PostID=38347</wfw:commentRss><comments>http://pontonetpt.com/blogs/cleydson/archive/2009/12/08/html-encode.aspx#comments</comments><description>&lt;p&gt;Precisando exibir algum texto em formato Html na sua p&amp;aacute;gina? Segue c&amp;oacute;digo em VB.Net para isso.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;
&lt;code&gt;
&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;
&lt;pre&gt;    Public Shared Function HtmlEncode(ByVal texto As String) As String
        Dim caracteres() As Char = System.Web.HttpUtility.HtmlEncode(texto).ToCharArray
        Dim resultado As New System.Text.StringBuilder(texto.Length + CInt(texto.Length * 0.1))
        For Each c As Char In caracteres
            Dim valor As Integer = Convert.ToInt32(c)
            If valor &amp;gt; 127 Then
                resultado.AppendFormat(&amp;quot;&amp;amp;#{0};&amp;quot;, valor)
            Else
                resultado.Append(c)
            End If
        Next
        Return resultado.ToString()
    End Function
&lt;/pre&gt;
&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Abra&amp;ccedil;o!&lt;/p&gt;
&lt;p&gt;//Cleydson&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://pontonetpt.com/aggbug.aspx?PostID=38347" width="1" height="1"&gt;</description><category domain="http://pontonetpt.com/blogs/cleydson/archive/tags/Encode/default.aspx">Encode</category><category domain="http://pontonetpt.com/blogs/cleydson/archive/tags/Html/default.aspx">Html</category><category domain="http://pontonetpt.com/blogs/cleydson/archive/tags/VB.Net/default.aspx">VB.Net</category></item><item><title>Conteúdo pra cá formato pra lá!</title><link>http://pontonetpt.com/blogs/cleydson/archive/2008/06/26/P27687.aspx</link><pubDate>Thu, 26 Jun 2008 05:03:00 GMT</pubDate><guid isPermaLink="false">9d4b03f4-ce39-4703-ab9d-5b341a2c824e:4168</guid><dc:creator>Cleydson Silva</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://pontonetpt.com/blogs/cleydson/rsscomments.aspx?PostID=4168</wfw:commentRss><comments>http://pontonetpt.com/blogs/cleydson/archive/2008/06/26/P27687.aspx#comments</comments><description>&lt;p&gt;A ideia de separar o conteúdo do formato é fantástica! Fico louco quando vejo um site bem feito utilizando as boas práticas dos web standards. Exemplo mais que clássico é o &lt;a href="http://www.csszengarden.com/tr/portuguese/" target="_blank"&gt;Zen Garden&lt;/a&gt;, com um slogan não menos interessante &lt;strong&gt;&amp;quot;A Estrada para a Iluminação&amp;quot;.&lt;/strong&gt; Só pra alinhar os pensamentos..., &lt;em&gt;Grosso modo&lt;/em&gt; você cria sua página utilizando os &lt;a href="http://www.w3.org/TR/REC-html40/index/elements.html" target="_blank"&gt;elementos&lt;/a&gt; de marcação do HTML, sem formatação alguma, e depois utilizando os recursos do &lt;a href="http://reference.sitepoint.com/css" target="_blank"&gt;CSS&lt;/a&gt; coloca o formato na página, não necessariamente nessa ordem. &lt;/p&gt; &lt;p&gt;Uma coisa muito importante, tente criar &amp;quot;links&amp;quot; semanticos entre o elemento que você utilizará para marcar determinado conteúdo e o conteúdo propriamente dito. Exemplo: Se você vai criar parágrafo com texto simples, não precisa criar um &amp;lt;div&amp;gt; para isso, utilize o &amp;lt;p&amp;gt; de parágrafo. Se começar a utlizar &amp;lt;div&amp;gt; para tudo que é conteúdo vão começar a te chamar de divmaníaco, e ser um divmaniaco &lt;a href="http://video.globo.com/Videos/Player/Entretenimento/0,,GIM835332-7822-DIETA+DA+MELANCIA,00.html" target="_blank"&gt;NÃO PODE!&lt;/a&gt; Desculpe a brincadeira! Não resisti. :D &lt;/p&gt; &lt;p&gt;Utilizando essa ideia de conteúdo separado do formato, elementos semanticamente corretos, etc. você acaba chegando no coceito tableless, sem tabelas, você para de utilizar tabelas para formatar a sua página já que a formatação vai ser feita com o CSS. Aqui tem um &lt;a href="http://www.tableless.com.br/video-tutorial-9-criando-a-home-da-visie-css" target="_blank"&gt;link muito interessante&lt;/a&gt;, um vídeo feito pelo Diego Eis. É a criação de um layout utilizando isso tudo acima citado. Muito bom!&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;Abraços!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://pontonetpt.com/aggbug.aspx?PostID=4168" width="1" height="1"&gt;</description></item><item><title>Parte 1 - Thread? O que é isso? Pra que isso? </title><link>http://pontonetpt.com/blogs/cleydson/archive/2008/03/25/P26978.aspx</link><pubDate>Tue, 25 Mar 2008 05:55:00 GMT</pubDate><guid isPermaLink="false">9d4b03f4-ce39-4703-ab9d-5b341a2c824e:4167</guid><dc:creator>Cleydson Silva</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://pontonetpt.com/blogs/cleydson/rsscomments.aspx?PostID=4167</wfw:commentRss><comments>http://pontonetpt.com/blogs/cleydson/archive/2008/03/25/P26978.aspx#comments</comments><description>&lt;p&gt;Criar &lt;i&gt;threads&lt;/i&gt; e usa-las &lt;strong&gt;não é uma tarefa complicada&lt;/strong&gt;, porém o uso deste recurso introduz algumas dificuldades que não são enfrentadas pelo programador quando o mesmo utiliza a programação seqüencial.  &lt;/p&gt;&lt;p&gt;Dizer que um programa é &lt;i&gt;multithread&lt;/i&gt; é o mesmo que dizer que este programa possui vários pontos de execução, sendo um ponto para cada &lt;i&gt;thread&lt;/i&gt;. Pra facilitar a compreensão é como se existisse um processador para cada &lt;i&gt;thread&lt;/i&gt;, assim, ao criar uma &lt;i&gt;thread&lt;/i&gt; você pode imaginar-se instanciando um novo processador para fazer o trabalho que você está dando para aquela &lt;i&gt;thread&lt;/i&gt; fazer.  &lt;/p&gt;&lt;p&gt;Eu acredito muito que o leitor não possui um super computador com dezenas de processadores, sendo assim, melhor manter o exemplo acima apenas para fins de compreensão do que realmente é uma &lt;i&gt;thread&lt;/i&gt; ok?(Isso foi apenas um momento auto-ajuda, afinal de contas auto-ajuda vende muito mais que livros de informática. :D)  &lt;/p&gt;&lt;p&gt;Na verdade o Sistema Operacional com seu algoritmo de escalonamento de processos, pede ao processador para fazer uma pequena parte do trabalho de cada vez e trocando de uma &lt;i&gt;thread&lt;/i&gt; para outra e de um processo para outro tão rapidamente que temos a impressão de possuir vários processadores. Na verdade todo o processamento é feito em cima das &lt;em&gt;threads&lt;/em&gt;, todo processo tem pelo menos uma &lt;em&gt;thread&lt;/em&gt;, sendo assim,quando digo que o processador troca de um processo para outro é simplesmente para lembrar-lhe que temos &lt;em&gt;threads&lt;/em&gt; de outros processos sendo executados o tempo todo.  &lt;/p&gt;&lt;p&gt;Podemos dizer que os processos com suas respectivas &lt;i&gt;threads&lt;/i&gt; concorrem ao processador e por essa e por outras o termo concorrência é tão usado ao se falar de &lt;i&gt;threads&lt;/i&gt;.  &lt;/p&gt;&lt;p&gt;&lt;strong&gt;Mas por que usar &lt;em&gt;multithreads&lt;/em&gt;? Para que concorrência?&lt;/strong&gt;  &lt;/p&gt;&lt;p&gt;Caso você tenha um micro ou um servidor multiprocessado em mente já deve ter surgido imediatamente em sua cabeça a idéia de usar os recursos dos vários processadores que possui, afinal de contas para que tanto processador se não para aproveitar os mesmos.  &lt;/p&gt;&lt;p&gt;Outra coisa seria utilizar as &lt;em&gt;threads&lt;/em&gt; para trabalhar com dispositivos lentos (comparados ao nosso nobre processador) como impressoras, rede, discos e outros. Assim nossa &lt;i&gt;thread&lt;/i&gt; vai fazer esse serviço de esperar o retorno dos nossos dispositivos “lesmas” enquanto nosso programa principal faz coisas mais importantes.  &lt;/p&gt;&lt;p&gt;Agora, uma coisa é certa, a razão é sempre dos usuários. Mediante isso por que não pensar neles? Então por que deixar aquela tela travada para que o coitado fique abrindo o gerenciador de tarefas e matando o malvado processo que teima em travar todas as vezes que ele pede a geração de um determinado relatório ou uma consulta um pouco mais rebuscada, ou coisa do tipo? Neste caso a thread seria uma aliada. Ela iria trabalhar na consulta e a interface gráfica não seria substituída por uma tela branca travada e sem vida.  &lt;/p&gt;&lt;p&gt;Um caso um pouco mais raro para a grande maioria dos desenvolvedores seria o uso na construção de uma aplicação distribuída. Imagine-se criando o seu próprio IIS, receber as requisições do usuário e então criar uma &lt;em&gt;thread&lt;/em&gt; para cada requisição e deixa-la atende-lo. Obs.: Dei um exemplo extremamente simplista do trabalho do IIS, meramente ilustrativo.&lt;/p&gt; &lt;p&gt;Então é mais ou menos isso, sei que fui simplista, mas... pra que complicar? O objetivo foi entender o conceito. Logo virei com a segunda parte dessa conversa sobre &lt;em&gt;threads&lt;/em&gt;. Como cria-las e controla-las.&lt;/p&gt; &lt;p&gt;Comentários e críticas são muito bem vindas.&lt;/p&gt; &lt;p&gt;Abraços!&lt;/p&gt; &lt;p&gt;&lt;a title="Cleydson Silva" href="http://pontonetpt.com:1466/cleydson"&gt;//Cleydson&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:49f7ad93-907a-43de-944d-fd3f964a77fb" style="padding-right:0px;display:inline;padding-left:0px;padding-bottom:0px;margin:0px;padding-top:0px;"&gt;Technorati Marcas: &lt;a href="http://technorati.com/tags/Thread" rel="tag"&gt;Thread&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Multithread" rel="tag"&gt;Multithread&lt;/a&gt;&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://pontonetpt.com/aggbug.aspx?PostID=4167" width="1" height="1"&gt;</description><category domain="http://pontonetpt.com/blogs/cleydson/archive/tags/Artigos/default.aspx">Artigos</category></item><item><title>Virtualizando com preguiça!</title><link>http://pontonetpt.com/blogs/cleydson/archive/2008/03/25/P26977.aspx</link><pubDate>Tue, 25 Mar 2008 04:04:00 GMT</pubDate><guid isPermaLink="false">9d4b03f4-ce39-4703-ab9d-5b341a2c824e:4166</guid><dc:creator>Cleydson Silva</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://pontonetpt.com/blogs/cleydson/rsscomments.aspx?PostID=4166</wfw:commentRss><comments>http://pontonetpt.com/blogs/cleydson/archive/2008/03/25/P26977.aspx#comments</comments><description>&lt;p&gt;&lt;strong&gt;Antes de começar a ler:&lt;/strong&gt; Saiba que o que está escrito aqui é para quem está começando agora com essa história de virtualização.&lt;/p&gt;
&lt;p&gt;Tendo isso em mente vamos lá. Se você não quer instalar o Linux, ou qualquer outro &lt;a href="http://pt.wikipedia.org/wiki/Sistema_operativo" target="_blank"&gt;SO&lt;/a&gt;, em uma outra partição do seu HD, mas está querendo testar algo ou simplesmente conhecer mais sobre diversos SOs. Você pode &lt;a href="http://en.wikipedia.org/wiki/Virtualization" target="_blank"&gt;virtualizar&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Este é um termo interessante e muito útil, você não precisa criar &lt;i&gt;&lt;a href="http://pt.wikipedia.org/wiki/Dual_boot" target="_blank"&gt;Dual Boot&lt;/a&gt;&lt;/i&gt;, ou seja, não precisa instalar dois sistemas operacionais no seu micro e decidir qual vai usar na hora de iniciar o computador. Pode instalar o SO preferido ou o mais usado, e fatidicamente o que você tem mais familiaridade, depois disso baixar um software no estilo &lt;a href="http://www.vmware.com" target="_blank"&gt;VMWare&lt;/a&gt; ou &lt;a href="http://www.microsoft.com/windows/products/winfamily/virtualpc/default.mspx" target="_blank"&gt;Virtual PC&lt;/a&gt; e então instalar o SO no qual deseja fazer seus testes; com o auxílio deste software. &lt;/p&gt;
&lt;p&gt;O que estes softwares fazem é criar um computador virtual com memória RAM, processador, HD, tudo! Você consegue ver o boot sendo dado neste computador virtual, bem interessante.&lt;/p&gt;
&lt;p&gt;Mas se você não quer, ou não sabe, ou está com preguiça de instalar um Linux, baixe um &lt;a href="http://www.vmware.com/download/player/" target="_blank"&gt;VMWare player&lt;/a&gt;. Nessa versão do &lt;a href="http://www.vmware.com" target="_blank"&gt;VMWare&lt;/a&gt; você só pode abrir imagens de SOs previamente instalados e configurados, mas funciona muito bem. Então &lt;a href="http://www.vmware.com/appliances/directory/cat/45" target="_blank"&gt;baixe uma imagem&lt;/a&gt; de um linux ou FreeBSD ou qualquer outro SO que queira se aventurar. Depois disso é só descompactar e abrir a imagem com o &lt;a href="http://www.vmware.com/download/player/" target="_blank"&gt;VMWare player&lt;/a&gt;. Você tem um SO novinho em folha e configurado por caras que já conhecem melhor o dito cujo. Assim você pode estragá-lo à vontade..., o HD que você vai ver dentro desse SO será um arquivo que simula um disco e... Bom. &lt;/p&gt;
&lt;p&gt;Em suma, na pior das hipóteses você terá de descompactar a imagem novamente e abri-la pelo VM player para criar um novo Micro virtual. &lt;/p&gt;
&lt;p&gt;Um Abraço!&lt;/p&gt;
&lt;p&gt;//Cleydson&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;div&gt;Technorati Marcas: &lt;a href="http://technorati.com/tags/Virtualization" rel="tag"&gt;Virtualization&lt;/a&gt;,&lt;a href="http://technorati.com/tags/linux" rel="tag"&gt;linux&lt;/a&gt;,&lt;a href="http://technorati.com/tags/vmware" rel="tag"&gt;vmware&lt;/a&gt;&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://pontonetpt.com/aggbug.aspx?PostID=4166" width="1" height="1"&gt;</description><category domain="http://pontonetpt.com/blogs/cleydson/archive/tags/Tech/default.aspx">Tech</category><category domain="http://pontonetpt.com/blogs/cleydson/archive/tags/Infra/default.aspx">Infra</category></item><item><title>"CMMI no olho dos outros é refresco"</title><link>http://pontonetpt.com/blogs/cleydson/archive/2007/06/19/P15212.aspx</link><pubDate>Tue, 19 Jun 2007 02:01:00 GMT</pubDate><guid isPermaLink="false">9d4b03f4-ce39-4703-ab9d-5b341a2c824e:4165</guid><dc:creator>Cleydson Silva</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://pontonetpt.com/blogs/cleydson/rsscomments.aspx?PostID=4165</wfw:commentRss><comments>http://pontonetpt.com/blogs/cleydson/archive/2007/06/19/P15212.aspx#comments</comments><description>&lt;p&gt;Li um belo &lt;a title="CMMI no olho dos outros é refresco" href="http://www.dotnetraptors.com.br/start/artigos/artigos_open_space/7843.aspx" target="_blank"&gt;artigo&lt;/a&gt; referente ao CMMI e achei muito interessante a abordagem que o &lt;a href="http://www.mateus.info" target="_blank"&gt;Mateus&lt;/a&gt; tomou. Achei de muito bom gosto. Apesar de o artigo ser grande e nem sempre nos animamos a ler textos longos na web, acredito que vale a pena dar uma lida. Óbviou que muitos não concordarão, afinal não é tão simples assim chegar com um assunto polêmico desses e querer que todos batam palmas. Mas é um ponto de vista e cada caso é um caso. E fala sério? Se CMMI fosse garantia de sucesso...  &lt;/p&gt; &lt;p&gt;Abraço,&lt;/p&gt; &lt;p&gt;Cleydson &lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://pontonetpt.com/aggbug.aspx?PostID=4165" width="1" height="1"&gt;</description><category domain="http://pontonetpt.com/blogs/cleydson/archive/tags/Arquitetura/default.aspx">Arquitetura</category></item><item><title>XML limpo com XmlSerializer</title><link>http://pontonetpt.com/blogs/cleydson/archive/2007/04/26/P13923.aspx</link><pubDate>Thu, 26 Apr 2007 22:15:00 GMT</pubDate><guid isPermaLink="false">9d4b03f4-ce39-4703-ab9d-5b341a2c824e:4164</guid><dc:creator>Cleydson Silva</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://pontonetpt.com/blogs/cleydson/rsscomments.aspx?PostID=4164</wfw:commentRss><comments>http://pontonetpt.com/blogs/cleydson/archive/2007/04/26/P13923.aspx#comments</comments><description>&lt;p&gt;&lt;a href="http://en.wikipedia.org/wiki/Serialize"&gt;Serializar&lt;/a&gt; um objeto com XmlSerializer... Bom, em poucas palavras, serializar é converter um objeto para um determinado formato que facilite a transmissão ou o armazenamento do mesmo. E como o próprio nome diz, XmlSerializer converte para XML.  &lt;/p&gt; &lt;p&gt;Mas por um acaso você quer que a serialização seja sem os &amp;quot;xmlns:xsd=...&amp;quot; e sem os &amp;quot;xmlns:xsi=...&amp;quot; e sem a tradicional linha inicial &amp;quot;&amp;lt;?xml version=...&amp;quot;, ou seja, você quer um XML limpo sem namespaces, sem atributos adicionais além dos dados do objeto que você especificou como &lt;a href="http://msdn2.microsoft.com/en-us/library/system.xml.serialization.xmlattributeattribute.aspx"&gt;atributo&lt;/a&gt;.  &lt;/p&gt;&lt;p&gt;É... Bem que podia ter alguma coisa do tipo  &lt;/p&gt;&lt;p&gt;serializador.Namespaces = False  &lt;/p&gt;&lt;p&gt;ou  &lt;/p&gt;&lt;p&gt;serializador.XmlLimpo = True  &lt;/p&gt;&lt;p&gt;Sei lá! Algo fácil!  &lt;/p&gt;&lt;p&gt;Mas como não tem, para de chorar e vamos programar!  &lt;/p&gt;&lt;p&gt;Claro que não existe uma maneira apenas de fazer isso, e essa multiplicidade de soluções desse nosso mundo já está registrada no &lt;a href="http://blogs.msdn.com/ashishme/archive/2006/09/15/756182.aspx" target="_blank"&gt;ditado 25&lt;/a&gt;, talvez tenha alguém que conheça outra bem mais simples... Neste caso peço que comente este post. Mas juro; aqui registro a que considerei melhor.  &lt;/p&gt;&lt;p&gt;Herde a classe XmlTextWriter e faça o seguinte:  &lt;/p&gt;&lt;p&gt;&lt;/p&gt; &lt;div class="wlWriterSmartContent" id="F2210F5F-69EB-4d4c-AFF7-B8A050E9CC72:807b43db-271f-4684-9891-d46d8bda738e" style="padding-right:0px;display:inline;padding-left:0px;float:none;padding-bottom:0px;margin:0px;padding-top:0px;"&gt;&lt;pre style="width:100%;"&gt;&lt;div&gt;&lt;span style="color:#0000FF;"&gt;Public&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;Class&lt;/span&gt;&lt;span style="color:#000000;"&gt; XmlLimpoTextWriter
    &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;Inherits&lt;/span&gt;&lt;span style="color:#000000;"&gt; System.Xml.XmlTextWriter

    &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;Private&lt;/span&gt;&lt;span style="color:#000000;"&gt; _escreverAtributo &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;As&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;Boolean&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#000000;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;True&lt;/span&gt;&lt;span style="color:#000000;"&gt;

    &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;Public&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;Sub&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;New&lt;/span&gt;&lt;span style="color:#000000;"&gt;(&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;ByVal&lt;/span&gt;&lt;span style="color:#000000;"&gt; writer &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;As&lt;/span&gt;&lt;span style="color:#000000;"&gt; System.IO.TextWriter)
        &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;MyBase&lt;/span&gt;&lt;span style="color:#000000;"&gt;.New(writer)
    &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;End Sub&lt;/span&gt;&lt;span style="color:#000000;"&gt;

    &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;Public&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;Overloads&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;Overrides&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;Sub&lt;/span&gt;&lt;span style="color:#000000;"&gt; WriteStartElement(&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;ByVal&lt;/span&gt;&lt;span style="color:#000000;"&gt; prefix &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;As&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;String&lt;/span&gt;&lt;span style="color:#000000;"&gt;, &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;ByVal&lt;/span&gt;&lt;span style="color:#000000;"&gt; localName &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;As&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;String&lt;/span&gt;&lt;span style="color:#000000;"&gt;, &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;ByVal&lt;/span&gt;&lt;span style="color:#000000;"&gt; ns &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;As&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;String&lt;/span&gt;&lt;span style="color:#000000;"&gt;)
        &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;MyBase&lt;/span&gt;&lt;span style="color:#000000;"&gt;.WriteStartElement(&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;Nothing&lt;/span&gt;&lt;span style="color:#000000;"&gt;, localName, &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;Nothing&lt;/span&gt;&lt;span style="color:#000000;"&gt;)
    &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;End Sub&lt;/span&gt;&lt;span style="color:#000000;"&gt;

    &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;Public&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;Overloads&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;Overrides&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;Sub&lt;/span&gt;&lt;span style="color:#000000;"&gt; WriteStartAttribute(&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;ByVal&lt;/span&gt;&lt;span style="color:#000000;"&gt; prefix &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;As&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;String&lt;/span&gt;&lt;span style="color:#000000;"&gt;, &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;ByVal&lt;/span&gt;&lt;span style="color:#000000;"&gt; localName &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;As&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;String&lt;/span&gt;&lt;span style="color:#000000;"&gt;, &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;ByVal&lt;/span&gt;&lt;span style="color:#000000;"&gt; ns &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;As&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;String&lt;/span&gt;&lt;span style="color:#000000;"&gt;)
        &lt;/span&gt;&lt;span style="color:#008000;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="color:#008000;"&gt;Se o prefix ou localname forem &amp;quot;xmlns&amp;quot; não escreve...&lt;/span&gt;&lt;span style="color:#008000;"&gt;
&lt;/span&gt;&lt;span style="color:#000000;"&gt;        &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;If&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;String&lt;/span&gt;&lt;span style="color:#000000;"&gt;.Compare(prefix, &lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#800000;"&gt;xmlns&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#000000;"&gt;) &lt;/span&gt;&lt;span style="color:#000000;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#800080;"&gt;0&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;OrElse&lt;/span&gt;&lt;span style="color:#000000;"&gt; _
            &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;String&lt;/span&gt;&lt;span style="color:#000000;"&gt;.Compare(localName, &lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#800000;"&gt;xmlns&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#000000;"&gt;) &lt;/span&gt;&lt;span style="color:#000000;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#800080;"&gt;0&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;OrElse&lt;/span&gt;&lt;span style="color:#000000;"&gt; _
            &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;String&lt;/span&gt;&lt;span style="color:#000000;"&gt;.Compare(localName, &lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#800000;"&gt;nil&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#000000;"&gt;) &lt;/span&gt;&lt;span style="color:#000000;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#800080;"&gt;0&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;Then&lt;/span&gt;&lt;span style="color:#000000;"&gt;

            _escreverAtributo &lt;/span&gt;&lt;span style="color:#000000;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;False&lt;/span&gt;&lt;span style="color:#000000;"&gt;
        &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;Else&lt;/span&gt;&lt;span style="color:#000000;"&gt;
            &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;MyBase&lt;/span&gt;&lt;span style="color:#000000;"&gt;.WriteStartAttribute(&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;Nothing&lt;/span&gt;&lt;span style="color:#000000;"&gt;, localName, &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;Nothing&lt;/span&gt;&lt;span style="color:#000000;"&gt;)
        &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;End&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;If&lt;/span&gt;&lt;span style="color:#000000;"&gt;
    &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;End Sub&lt;/span&gt;&lt;span style="color:#000000;"&gt;

    &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;Public&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;Overrides&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;Sub&lt;/span&gt;&lt;span style="color:#000000;"&gt; WriteString(&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;ByVal&lt;/span&gt;&lt;span style="color:#000000;"&gt; text &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;As&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;String&lt;/span&gt;&lt;span style="color:#000000;"&gt;)
        &lt;/span&gt;&lt;span style="color:#008000;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="color:#008000;"&gt;Aqui ocorre a escrita propriamente dita.&lt;/span&gt;&lt;span style="color:#008000;"&gt;
&lt;/span&gt;&lt;span style="color:#000000;"&gt;        &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;If&lt;/span&gt;&lt;span style="color:#000000;"&gt; _escreverAtributo &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;Then&lt;/span&gt;&lt;span style="color:#000000;"&gt;
            &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;MyBase&lt;/span&gt;&lt;span style="color:#000000;"&gt;.WriteString(text)
        &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;End&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;If&lt;/span&gt;&lt;span style="color:#000000;"&gt;
    &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;End Sub&lt;/span&gt;&lt;span style="color:#000000;"&gt;

    &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;Public&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;Overrides&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;Sub&lt;/span&gt;&lt;span style="color:#000000;"&gt; WriteEndAttribute()
        &lt;/span&gt;&lt;span style="color:#008000;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="color:#008000;"&gt;Se não escreveu o início do atributo não vai escrever o fim também.&lt;/span&gt;&lt;span style="color:#008000;"&gt;
&lt;/span&gt;&lt;span style="color:#000000;"&gt;        &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;If&lt;/span&gt;&lt;span style="color:#000000;"&gt; _escreverAtributo &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;Then&lt;/span&gt;&lt;span style="color:#000000;"&gt;
            &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;MyBase&lt;/span&gt;&lt;span style="color:#000000;"&gt;.WriteEndAttribute()
        &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;End&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;If&lt;/span&gt;&lt;span style="color:#000000;"&gt;
        &lt;/span&gt;&lt;span style="color:#008000;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="color:#008000;"&gt;Prepara variável para próximo atributo.&lt;/span&gt;&lt;span style="color:#008000;"&gt;
&lt;/span&gt;&lt;span style="color:#000000;"&gt;        _escreverAtributo &lt;/span&gt;&lt;span style="color:#000000;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;True&lt;/span&gt;&lt;span style="color:#000000;"&gt;
    &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;End Sub&lt;/span&gt;&lt;span style="color:#000000;"&gt;

    &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;Public&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;Overrides&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;Sub&lt;/span&gt;&lt;span style="color:#000000;"&gt; WriteQualifiedName(&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;ByVal&lt;/span&gt;&lt;span style="color:#000000;"&gt; localName &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;As&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;String&lt;/span&gt;&lt;span style="color:#000000;"&gt;, &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;ByVal&lt;/span&gt;&lt;span style="color:#000000;"&gt; ns &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;As&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;String&lt;/span&gt;&lt;span style="color:#000000;"&gt;)
        &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;MyBase&lt;/span&gt;&lt;span style="color:#000000;"&gt;.WriteQualifiedName(localName, &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;Nothing&lt;/span&gt;&lt;span style="color:#000000;"&gt;)
    &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;End Sub&lt;/span&gt;&lt;span style="color:#000000;"&gt;

    &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;Public&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;Overloads&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;Overrides&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;Sub&lt;/span&gt;&lt;span style="color:#000000;"&gt; WriteStartDocument()
        &lt;/span&gt;&lt;span style="color:#008000;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="color:#008000;"&gt;Aqui eu tiro a primeira linha do xml não fazendo nada. &lt;/span&gt;&lt;span style="color:#008000;"&gt;
&lt;/span&gt;&lt;span style="color:#000000;"&gt;        &lt;/span&gt;&lt;span style="color:#008000;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="color:#008000;"&gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot; ?&amp;gt;&lt;/span&gt;&lt;span style="color:#008000;"&gt;
&lt;/span&gt;&lt;span style="color:#000000;"&gt;    &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;End Sub&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;End Class&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;/div&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Agora vamos fazer um teste. Crie a classe Produto (Sei que não criei as propriedades, isso aqui é só um exemplo! Não adianta brigar comigo!): 
&lt;/p&gt;&lt;p&gt;&lt;/p&gt;
&lt;div class="wlWriterSmartContent" id="F2210F5F-69EB-4d4c-AFF7-B8A050E9CC72:4d313b16-0cd9-4957-ada0-703205305de4" style="padding-right:0px;display:inline;padding-left:0px;float:none;padding-bottom:0px;margin:0px;padding-top:0px;"&gt;&lt;pre style="width:100%;"&gt;&lt;div&gt;&lt;span style="color:#0000FF;"&gt;Public&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;Class&lt;/span&gt;&lt;span style="color:#000000;"&gt; Produto
    &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;Public&lt;/span&gt;&lt;span style="color:#000000;"&gt; Codigo &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;As&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;String&lt;/span&gt;&lt;span style="color:#000000;"&gt;
    &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;Public&lt;/span&gt;&lt;span style="color:#000000;"&gt; Nome &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;As&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;String&lt;/span&gt;&lt;span style="color:#000000;"&gt;
    &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;Public&lt;/span&gt;&lt;span style="color:#000000;"&gt; Quantidade &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;As&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;Integer&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;End Class&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;/div&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Agora vamos usar isso tudo ai: 
&lt;/p&gt;&lt;p&gt;&lt;/p&gt;
&lt;div class="wlWriterSmartContent" id="F2210F5F-69EB-4d4c-AFF7-B8A050E9CC72:6c7db039-b884-4c9b-ab1f-c95e5d71df44" style="padding-right:0px;display:inline;padding-left:0px;float:none;padding-bottom:0px;margin:0px;padding-top:0px;"&gt;&lt;pre style="width:100%;"&gt;&lt;div&gt;&lt;span style="color:#000000;"&gt;   &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;Private&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;Sub&lt;/span&gt;&lt;span style="color:#000000;"&gt; SerializaObjeto()
        &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;Dim&lt;/span&gt;&lt;span style="color:#000000;"&gt; objetos(&lt;/span&gt;&lt;span style="color:#800080;"&gt;1&lt;/span&gt;&lt;span style="color:#000000;"&gt;) &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;As&lt;/span&gt;&lt;span style="color:#000000;"&gt; Produto

        &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;Dim&lt;/span&gt;&lt;span style="color:#000000;"&gt; texto &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;As&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;New&lt;/span&gt;&lt;span style="color:#000000;"&gt; System.Text.StringBuilder
        &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;Dim&lt;/span&gt;&lt;span style="color:#000000;"&gt; serializador &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;As&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;New&lt;/span&gt;&lt;span style="color:#000000;"&gt; System.Xml.Serialization.XmlSerializer(&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;GetType&lt;/span&gt;&lt;span style="color:#000000;"&gt;(Produto()), _
                        &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;New&lt;/span&gt;&lt;span style="color:#000000;"&gt; System.Xml.Serialization.XmlRootAttribute(&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#800000;"&gt;Produtos&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#000000;"&gt;))
        &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;Dim&lt;/span&gt;&lt;span style="color:#000000;"&gt; escritorTexto &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;As&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;New&lt;/span&gt;&lt;span style="color:#000000;"&gt; System.IO.StringWriter(texto)

        &lt;/span&gt;&lt;span style="color:#008000;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="color:#008000;"&gt;Descomente um e comente o outro só pra testar e ver as diferenças&lt;/span&gt;&lt;span style="color:#008000;"&gt;
&lt;/span&gt;&lt;span style="color:#000000;"&gt;        &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;Dim&lt;/span&gt;&lt;span style="color:#000000;"&gt; escritorXml &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;As&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;New&lt;/span&gt;&lt;span style="color:#000000;"&gt; XmlLimpoTextWriter(escritorTexto)
        &lt;/span&gt;&lt;span style="color:#008000;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="color:#008000;"&gt;Dim escritorXml As New System.Xml.XmlTextWriter(escritorTexto)&lt;/span&gt;&lt;span style="color:#008000;"&gt;
&lt;/span&gt;&lt;span style="color:#000000;"&gt;
        &lt;/span&gt;&lt;span style="color:#008000;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="color:#008000;"&gt;Gerar um xml bonitinho....&lt;/span&gt;&lt;span style="color:#008000;"&gt;
&lt;/span&gt;&lt;span style="color:#000000;"&gt;        escritorXml.Formatting &lt;/span&gt;&lt;span style="color:#000000;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; Xml.Formatting.Indented

        &lt;/span&gt;&lt;span style="color:#008000;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="color:#008000;"&gt;Testando....&lt;/span&gt;&lt;span style="color:#008000;"&gt;
&lt;/span&gt;&lt;span style="color:#000000;"&gt;        &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;Dim&lt;/span&gt;&lt;span style="color:#000000;"&gt; objeto1 &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;As&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;New&lt;/span&gt;&lt;span style="color:#000000;"&gt; Produto
        objeto1.Codigo &lt;/span&gt;&lt;span style="color:#000000;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#800080;"&gt;1&lt;/span&gt;&lt;span style="color:#000000;"&gt;
        objeto1.Nome &lt;/span&gt;&lt;span style="color:#000000;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#800000;"&gt;Produto&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
        objeto1.Quantidade &lt;/span&gt;&lt;span style="color:#000000;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#800080;"&gt;5&lt;/span&gt;&lt;span style="color:#000000;"&gt;

        &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;Dim&lt;/span&gt;&lt;span style="color:#000000;"&gt; objeto2 &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;As&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;New&lt;/span&gt;&lt;span style="color:#000000;"&gt; Produto
        objeto2.Codigo &lt;/span&gt;&lt;span style="color:#000000;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#800080;"&gt;2&lt;/span&gt;&lt;span style="color:#000000;"&gt;
        objeto2.Nome &lt;/span&gt;&lt;span style="color:#000000;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#800000;"&gt;Produto1&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
        objeto2.Quantidade &lt;/span&gt;&lt;span style="color:#000000;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#800080;"&gt;10&lt;/span&gt;&lt;span style="color:#000000;"&gt;

        &lt;/span&gt;&lt;span style="color:#008000;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="color:#008000;"&gt;Joga no array&lt;/span&gt;&lt;span style="color:#008000;"&gt;
&lt;/span&gt;&lt;span style="color:#000000;"&gt;        objetos(&lt;/span&gt;&lt;span style="color:#800080;"&gt;0&lt;/span&gt;&lt;span style="color:#000000;"&gt;) &lt;/span&gt;&lt;span style="color:#000000;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; objeto1
        objetos(&lt;/span&gt;&lt;span style="color:#800080;"&gt;1&lt;/span&gt;&lt;span style="color:#000000;"&gt;) &lt;/span&gt;&lt;span style="color:#000000;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; objeto2

        &lt;/span&gt;&lt;span style="color:#008000;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="color:#008000;"&gt;Serializa(Converte pra xml)&lt;/span&gt;&lt;span style="color:#008000;"&gt;
&lt;/span&gt;&lt;span style="color:#000000;"&gt;        serializador.Serialize(escritorXml, objetos)
        escritorXml.Flush()

        escritorXml.Close()
        escritorTexto.Close()

        &lt;/span&gt;&lt;span style="color:#008000;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="color:#008000;"&gt;Exibe o resultado&lt;/span&gt;&lt;span style="color:#008000;"&gt;
&lt;/span&gt;&lt;span style="color:#000000;"&gt;        MessageBox.Show(texto.ToString)
    &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;End Sub&lt;/span&gt;&lt;/div&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Olha o que saiu: 
&lt;/p&gt;&lt;p&gt;  
&lt;/p&gt;&lt;p&gt;&lt;/p&gt;
&lt;div class="wlWriterSmartContent" id="F2210F5F-69EB-4d4c-AFF7-B8A050E9CC72:ef7c126b-4851-4f2a-beee-0cffc02b0d62" style="padding-right:0px;display:inline;padding-left:0px;float:none;padding-bottom:0px;margin:0px;padding-top:0px;"&gt;&lt;pre style="width:100%;"&gt;&lt;div&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;Produtos&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
  &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;Produto&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
    &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;Codigo&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;1&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;Codigo&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
    &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;Nome&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;Produto&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;Nome&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
    &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;Quantidade&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;5&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;Quantidade&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
  &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;Produto&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
  &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;Produto&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
    &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;Codigo&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;2&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;Codigo&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
    &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;Nome&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;Produto1&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;Nome&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
    &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;Quantidade&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;10&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;Quantidade&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
  &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;Produto&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;Produtos&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;  
&lt;/p&gt;&lt;p&gt;Limpinho! 
&lt;/p&gt;&lt;p&gt;Essa tal de programação quando funciona é bom demais heim? Fala sério! 
&lt;/p&gt;&lt;p&gt;Se tiver alguma surpresa, algum outro atributo indesejado..., só colocar ele lá no método WriteStartAttribute() que o bendito não lhe incomodará novamente. 
&lt;/p&gt;&lt;p&gt;Abraço! 
&lt;/p&gt;&lt;p&gt;//Cleydson&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;div class="wlWriterSmartContent" id="0767317B-992E-4b12-91E0-4F059A8CECA8:126536ec-5b00-4f64-bd4d-d0fbfa9fce37" style="padding-right:0px;display:inline;padding-left:0px;float:none;padding-bottom:0px;margin:0px;padding-top:0px;"&gt;Technorati tags: &lt;a href="http://technorati.com/tags/Serializer" rel="tag"&gt;Serializer&lt;/a&gt;, &lt;a href="http://technorati.com/tags/xmlSerializer" rel="tag"&gt;xmlSerializer&lt;/a&gt;&lt;/div&gt;
&lt;p&gt;&lt;font color="#ffffff"&gt;Assunto: Removing xmlns, removendo xmlns, remove namespaces&lt;/font&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://pontonetpt.com/aggbug.aspx?PostID=4164" width="1" height="1"&gt;</description><category domain="http://pontonetpt.com/blogs/cleydson/archive/tags/C_F300_digos/default.aspx">Códigos</category></item><item><title>Componente Windows Forms</title><link>http://pontonetpt.com/blogs/cleydson/archive/2007/03/12/P12721.aspx</link><pubDate>Mon, 12 Mar 2007 23:27:00 GMT</pubDate><guid isPermaLink="false">9d4b03f4-ce39-4703-ab9d-5b341a2c824e:4163</guid><dc:creator>Cleydson Silva</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://pontonetpt.com/blogs/cleydson/rsscomments.aspx?PostID=4163</wfw:commentRss><comments>http://pontonetpt.com/blogs/cleydson/archive/2007/03/12/P12721.aspx#comments</comments><description>&lt;p&gt;&lt;/p&gt; &lt;p&gt;Ola! &lt;/p&gt;&lt;p&gt;Bom, tenho acompanhado os posts, mas não tenho contribuído com muita coisa ultimamente. Hoje resolvi entrar com um projeto no &lt;a href="http://www.codeplex.com/" target="_blank"&gt;CodePlex&lt;/a&gt; que andei brincando em casa. Mas tem alguns bugs e também não sei se foi feito da melhor forma. Gostaria que os amantes de Windows Forms e Componentes para o mesmo, dessem uma olhada, avaliem, critiquem, me chamem de burro, qualquer coisa! (Adoro dicas para melhorar o desempenho!).  &lt;/p&gt;&lt;p&gt;Estou começando com essa história de desenvolver componentes para Windows Forms agora, e qualquer dica é bem vinda.  &lt;/p&gt;&lt;p&gt;O projeto é o &lt;a href="http://www.codeplex.com/brinque" target="_blank"&gt;Brinque&lt;/a&gt; e o primeiro download é o &lt;a href="http://www.codeplex.com/brinque/Release/ProjectReleases.aspx?ReleaseId=2255" target="_blank"&gt;Release 0.1&lt;/a&gt;. A idéia é criar componentes nos quais ao ganhar e ao perder foco os mesmos troquem a cor da borda. Está fácil de ver! É só fazer download e executar ok? &lt;/p&gt;&lt;p&gt;Obs.: O projeto foi lançado de uma forma um pouco feia no Codeplex.  &lt;/p&gt;&lt;p&gt;Abraço &lt;/p&gt;&lt;p&gt;&lt;a title="Cleydson Silva" href="http://pontonetpt.com:1466/cleydson"&gt;//Cleydson&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://pontonetpt.com/aggbug.aspx?PostID=4163" width="1" height="1"&gt;</description><category domain="http://pontonetpt.com/blogs/cleydson/archive/tags/C_F300_digos/default.aspx">Códigos</category><category domain="http://pontonetpt.com/blogs/cleydson/archive/tags/Componentes/default.aspx">Componentes</category></item><item><title>Entrevista com os caras</title><link>http://pontonetpt.com/blogs/cleydson/archive/2007/01/31/P11696.aspx</link><pubDate>Wed, 31 Jan 2007 21:46:00 GMT</pubDate><guid isPermaLink="false">9d4b03f4-ce39-4703-ab9d-5b341a2c824e:4162</guid><dc:creator>Cleydson Silva</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://pontonetpt.com/blogs/cleydson/rsscomments.aspx?PostID=4162</wfw:commentRss><comments>http://pontonetpt.com/blogs/cleydson/archive/2007/01/31/P11696.aspx#comments</comments><description>&lt;p&gt;&lt;/p&gt; &lt;p&gt;Bom assim que eu tiver um tempinho vou ler esse livro &lt;a href="http://www.foundersatwork.com/" target="_blank"&gt;Founders At Work&lt;/a&gt;. Acho que vai ser bastante construtivo. Já dei uma olhada rápida na entrevista de um cara que pra mim é um dos mais! &lt;b&gt;&lt;a href="http://www.foundersatwork.com/joelspolsky.html" target="_blank"&gt;Joel Spolsky&lt;/a&gt;&lt;/b&gt;. Aquele do &lt;a href="http://www.joelonsoftware.com/" target="_blank"&gt;Joel On Software&lt;/a&gt; do filme &lt;a href="http://www.joelonsoftware.com/items/2005/11/07.html" target="_blank"&gt;12 Weeks With Geeks&lt;/a&gt;. Em falar nisso o filme também não vi...  &lt;/p&gt;&lt;p&gt;Realmente, ando um pouco por fora... &lt;/p&gt;&lt;p&gt;&lt;a title="Cleydson Silva" href="http://weblogs.pontonetpt.com/cleydson"&gt;//Cleydson&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://pontonetpt.com/aggbug.aspx?PostID=4162" width="1" height="1"&gt;</description></item><item><title>TOP 10 dicas sobre DOS</title><link>http://pontonetpt.com/blogs/cleydson/archive/2006/11/21/P9600.aspx</link><pubDate>Tue, 21 Nov 2006 21:34:00 GMT</pubDate><guid isPermaLink="false">9d4b03f4-ce39-4703-ab9d-5b341a2c824e:4161</guid><dc:creator>Cleydson Silva</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://pontonetpt.com/blogs/cleydson/rsscomments.aspx?PostID=4161</wfw:commentRss><comments>http://pontonetpt.com/blogs/cleydson/archive/2006/11/21/P9600.aspx#comments</comments><description>&lt;p&gt;Alguns vão até rir e achar isso ridículo. Mas vou lhe contar..., na hora do aperto uma batch do DOS faz milagres! Só que você tem que conhecer pelo menos o que pode ser feito, para poder optar por usar um ou outro recurso. Achei por um acaso essas dez dicas muito boas no &lt;a href="http://weblogs.asp.net/jgalloway/" target="_blank"&gt;blog do Jon Galloway&lt;/a&gt;. Em especial a dica número 6:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Pausar a execução da batch por alguns segundos&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Por exemplo se quero que minha batch aguarde 20 segundos em determinado momento:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;PING 1.1.1.1 -n 1 -w 20000 &amp;gt; NUL&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Simples e funciona que é uma beleza. O problema dos outros comandos, e.g TIMEOUT, é que não estão em todas as versões no Windows. &lt;/p&gt;
&lt;p&gt;Bom, aproveitem o artigo. Muito bom mesmo!&lt;/p&gt;
&lt;p&gt;&lt;a href="http://weblogs.asp.net/jgalloway/archive/2006/11/20/top-10-dos-batch-tips-yes-dos-batch.aspx?CommentPosted=true#commentmessage" target="_blank"&gt;Top 10 DOS Batch tips (Yes, DOS Batch...)&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;//Cleydson&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://pontonetpt.com/aggbug.aspx?PostID=4161" width="1" height="1"&gt;</description><category domain="http://pontonetpt.com/blogs/cleydson/archive/tags/C_F300_digos/default.aspx">Códigos</category><category domain="http://pontonetpt.com/blogs/cleydson/archive/tags/Infra/default.aspx">Infra</category></item><item><title>Multi-Processor and Multi-Core</title><link>http://pontonetpt.com/blogs/cleydson/archive/2006/11/20/P9589.aspx</link><pubDate>Mon, 20 Nov 2006 21:19:00 GMT</pubDate><guid isPermaLink="false">9d4b03f4-ce39-4703-ab9d-5b341a2c824e:4160</guid><dc:creator>Cleydson Silva</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://pontonetpt.com/blogs/cleydson/rsscomments.aspx?PostID=4160</wfw:commentRss><comments>http://pontonetpt.com/blogs/cleydson/archive/2006/11/20/P9589.aspx#comments</comments><description>&lt;p&gt;Será que se chorarmos receberemos esta funcionalidade em C# e VB? :-(&lt;/p&gt;
&lt;p&gt;Eu não devia nem ter lido! Agora estou com inveja do C++.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/irenak/archive/2006/11/20/sysk-244-writing-multi-processor-and-multi-core-aware-applications-with-pragma-directives.aspx" target="_blank"&gt;Writing Multi-Processor and Multi-Core Aware Applications with #pragma Directives&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Abraços,&lt;/p&gt;
&lt;p&gt;&lt;a title="Cleydson Silva" href="http://pontonetpt.com:1466/cleydson"&gt;//Cleydson&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://pontonetpt.com/aggbug.aspx?PostID=4160" width="1" height="1"&gt;</description><category domain="http://pontonetpt.com/blogs/cleydson/archive/tags/Devaneios/default.aspx">Devaneios</category></item><item><title>Power Toy (Slickrun)</title><link>http://pontonetpt.com/blogs/cleydson/archive/2006/11/02/P9420.aspx</link><pubDate>Thu, 02 Nov 2006 19:55:00 GMT</pubDate><guid isPermaLink="false">9d4b03f4-ce39-4703-ab9d-5b341a2c824e:4159</guid><dc:creator>Cleydson Silva</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://pontonetpt.com/blogs/cleydson/rsscomments.aspx?PostID=4159</wfw:commentRss><comments>http://pontonetpt.com/blogs/cleydson/archive/2006/11/02/P9420.aspx#comments</comments><description>&lt;p&gt;Essa é pra quem não gosta muito de usar o mouse. &lt;a title="Slick Run" href="http://www.bayden.com/slickrun/" target="_blank"&gt;Slickrun&lt;/a&gt; é um incrível Power Toy(English) ou mão na roda (Português Brasil). Você pode configurar os atalhos que quiser e depois é só pressionar Window + Q (padrão que pode ser alterado) e digitar a palavra que destinou para um determinado aplicativo e pressionar ENTER. É um tipo de &amp;quot;&lt;em&gt;Super Window + r&lt;/em&gt;&amp;quot;. Adorei essa ferramenta, é pequena rápida e tem ocupado em torno de 10 MB de memória.&lt;/p&gt; &lt;p&gt;Recomendo.&lt;/p&gt; &lt;p&gt;&lt;a title="Cleydson Silva" href="http://weblogs.pontonetpt.com/cleydson"&gt;//Cleydson&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://pontonetpt.com/aggbug.aspx?PostID=4159" width="1" height="1"&gt;</description></item><item><title>Pools de aplicativos do IIS.</title><link>http://pontonetpt.com/blogs/cleydson/archive/2006/09/07/P8961.aspx</link><pubDate>Thu, 07 Sep 2006 01:52:00 GMT</pubDate><guid isPermaLink="false">9d4b03f4-ce39-4703-ab9d-5b341a2c824e:4158</guid><dc:creator>Cleydson Silva</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://pontonetpt.com/blogs/cleydson/rsscomments.aspx?PostID=4158</wfw:commentRss><comments>http://pontonetpt.com/blogs/cleydson/archive/2006/09/07/P8961.aspx#comments</comments><description>&lt;p&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;em&gt;Como descobrir o processo responsável por determinado pool de aplicativos neste exato momento?&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Cenário:&lt;/strong&gt;&lt;br /&gt;Sistema Operacional da família Windows 2003, IIS 6, você dividiu os diretórios virtuais em Pools de aplicação diferentes. Você percebeu que um dos &amp;quot;worker processes&amp;quot; (w3wp.exe) está consumindo memória demais, ou seja, tem alguma coisa errada em um dos projetos. &lt;/p&gt; &lt;p&gt;&lt;strong&gt;Descobrindo quem é o culpado:&lt;/strong&gt;&lt;br /&gt;Qual é o pool que está crescendo tanto? Qual diretório virtual? Você só sabe o nome do processo e todos os processos têm o mesmo nome! Ok. Neste caso você vai até o IIS e olha qual é o processo pelo PID(Process ID), o qual você verificou no &amp;quot;Task Manager&amp;quot;, pedindo para exibir a coluna PID, não é verdade? Não, não é verdade, simplesmente porque não tem onde olhar isso lá dentro! Bom, pelo menos eu não achei...&lt;br /&gt;Até que apareceu o incrível script IISAPP.vbs, ele estava lá o tempo todo só me esperando e eu não o vi!!! &lt;/p&gt; &lt;p&gt;Vá ao Prompt do DOS e digite IISAPP. Ele vai retornar o ID do processo e o nome do Pool. Para descobrir as outras variações do comando digite IISAPP /?.&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/b8721f32-696b-4439-9140-7061933afa4b.mspx?mfr=true" target="_blank"&gt;Mais detalhes sobre o IISAPP&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;[]&amp;#39;s&lt;/p&gt; &lt;p&gt;&lt;a title="Cleydson Silva" href="http://weblogs.pontonetpt.com/cleydson"&gt;//Cleydson&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://pontonetpt.com/aggbug.aspx?PostID=4158" width="1" height="1"&gt;</description></item><item><title>Google</title><link>http://pontonetpt.com/blogs/cleydson/archive/2006/09/02/P8890.aspx</link><pubDate>Sat, 02 Sep 2006 03:03:00 GMT</pubDate><guid isPermaLink="false">9d4b03f4-ce39-4703-ab9d-5b341a2c824e:4157</guid><dc:creator>Cleydson Silva</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://pontonetpt.com/blogs/cleydson/rsscomments.aspx?PostID=4157</wfw:commentRss><comments>http://pontonetpt.com/blogs/cleydson/archive/2006/09/02/P8890.aspx#comments</comments><description>&lt;p&gt;Nossa! Esse tal de Google cada dia me deixa mais impressionado. Estava eu querendo fazer uma conversão para saber a velocidade de transmissão de um dado dispositivo. Fiz meus cálculos e achei em megabytes por segundo, quanto significava aquela taxa de transferência dada no manual do dispositivo em magabits por segundo. &lt;br /&gt;Megabits por segundo..., difícil de entender! Eu não sei por que não consigo visualizar muito bem, quanto converto para megabytes tudo fica mais claro, acho que é porque quando salvamos um arquivo e vamos lá olhar o tamanho do mesmo visualizamos 60 bytes e não 480 bits, ou seja, é mais usado. Acho que é até um pouco óbvio, é como se comprássemos alguma coisa que custe mais de 99 centavos e nos referíssemos ao preço da mesma em centavos, por exemplo, a televisão X custa 50 000 centavos.&lt;br /&gt;Bom, deixemos esses meus problemas pedagógicos de lado e vamos para o Google. Por algum motivo duvidei de meu cálculo, achei que a taxa de transferência do produto estava muito boa para ser verdade, então fui ao Google para verificar se eu estava calculando errado. Procurando o fator de conversão de megabit para megabyte, digitei &lt;strong&gt;megabit to megabyte&lt;/strong&gt;. A resposta foi &lt;strong&gt;1 megabit = 0.125 megabyte. &lt;/strong&gt;Isso é que eu chamo de eficiência e eficácia. Então resolvi colocar &lt;strong&gt;360 megabit to megabyte&lt;/strong&gt;, resposta: &lt;strong&gt;360 megabit = 45 megabyte&lt;/strong&gt;, ou seja, eu etava certo quanto ao meu extremamente complexo calculo, era só dividir por 8 mesmo, rssss. E mais uma vez o Google me deixou impressionado. &lt;/p&gt;
&lt;p&gt;Brincadeiras à parte, é realmente incrível o potencial deste &amp;quot;site de busca&amp;quot;. Não sei se vocês sabem, mas ele também funciona como calculadora, por exemplo, raiz quadrada de três elevado a dois, é só digitar &lt;strong&gt;sqrt(3^2). &lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Outra..., Suponhamos que você está procurando algo sobre &lt;strong&gt;C#,&lt;/strong&gt; mas quer isso em arquivos &lt;strong&gt;pdf. &lt;/strong&gt;Digite: &lt;strong&gt;C# filetype:pdf.&lt;/strong&gt; Sou fã incondicional do Google. Termino com a tradicional frase: &lt;/p&gt;
&lt;p&gt;&lt;em&gt;&amp;quot;Mais informações podem ser obtidas nos links&amp;quot;&lt;/em&gt;: &lt;a href="http://www.google.com.br/support?hl=pt_BR" target="_blank"&gt;&lt;font color="#669966"&gt;Google Brasil&lt;/font&gt;&lt;/a&gt;, &lt;a href="http://www.google.pt/support?hl=pt_BR" target="_blank"&gt;&lt;font color="#669966"&gt;Google Portugal&lt;/font&gt;&lt;/a&gt;, &lt;a href="http://www.google.com/support?hl=en" target="_blank"&gt;&lt;font color="#669966"&gt;Google in English&lt;/font&gt;&lt;/a&gt;. &lt;/p&gt;
&lt;p&gt;Abraços, &lt;/p&gt;
&lt;p&gt;&lt;a title="Cleydson Silva" href="http://pontonetpt.com:1466/cleydson"&gt;//Cleydson&lt;/a&gt;  &lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://pontonetpt.com/aggbug.aspx?PostID=4157" width="1" height="1"&gt;</description><category domain="http://pontonetpt.com/blogs/cleydson/archive/tags/Tech/default.aspx">Tech</category><category domain="http://pontonetpt.com/blogs/cleydson/archive/tags/Devaneios/default.aspx">Devaneios</category></item><item><title>XNA Framework</title><link>http://pontonetpt.com/blogs/cleydson/archive/2006/08/31/P8860.aspx</link><pubDate>Wed, 30 Aug 2006 23:44:00 GMT</pubDate><guid isPermaLink="false">9d4b03f4-ce39-4703-ab9d-5b341a2c824e:4156</guid><dc:creator>Cleydson Silva</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://pontonetpt.com/blogs/cleydson/rsscomments.aspx?PostID=4156</wfw:commentRss><comments>http://pontonetpt.com/blogs/cleydson/archive/2006/08/31/P8860.aspx#comments</comments><description>&lt;p&gt;A versão beta do Microsoft XNA Game Studio Express foi disponibilizada para &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=21e979e3-b8ae-4ea6-8e65-393ea7684d6c&amp;amp;displaylang=en" target="_blank"&gt;download&lt;/a&gt; hoje. Você vai precisar instalar o &lt;a href="http://msdn.microsoft.com/vstudio/express/visualcsharp/download/" target="_blank"&gt;Visual C# Express Edition&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;O XNA Framework é um conjunto de bibliotecas .NET, que tem o objeto de facilitar o desenvolvimento de jogos e permitir que tais jogos possam ser executados tanto em PCs com Windows, quanto nos Xbox 360. &lt;/p&gt; &lt;p&gt;A ideia é fazer com que o desenvolvedor possa esquecer problemas de interação com drives de vídeo, audio, periféricos, etc. e se preocupar com o jogo em si. &lt;/p&gt; &lt;p&gt;Achei muito interessante e assim que eu conseguir baixar isso tudo da Web vou começar a fazer alguns testes. Haja banda!!!&lt;/p&gt; &lt;p&gt;Abraço,&lt;/p&gt; &lt;p&gt;&lt;a title="Cleydson Silva" href="http://pontonetpt.com:1466/cleydson"&gt;//Cleydson&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://pontonetpt.com/aggbug.aspx?PostID=4156" width="1" height="1"&gt;</description><category domain="http://pontonetpt.com/blogs/cleydson/archive/tags/Tech/default.aspx">Tech</category><category domain="http://pontonetpt.com/blogs/cleydson/archive/tags/Devaneios/default.aspx">Devaneios</category></item><item><title>Problemas no Notepad?</title><link>http://pontonetpt.com/blogs/cleydson/archive/2006/08/22/P8788.aspx</link><pubDate>Tue, 22 Aug 2006 22:07:00 GMT</pubDate><guid isPermaLink="false">9d4b03f4-ce39-4703-ab9d-5b341a2c824e:4155</guid><dc:creator>Cleydson Silva</dc:creator><slash:comments>6</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://pontonetpt.com/blogs/cleydson/rsscomments.aspx?PostID=4155</wfw:commentRss><comments>http://pontonetpt.com/blogs/cleydson/archive/2006/08/22/P8788.aspx#comments</comments><description>&lt;p&gt;Para fazer um teste no meu Windows Live Writer, e usar a dica de configuração do mesmo, a qual foi dada por nosso colega &lt;a href="http://weblogs.pontonetpt.com/tiagosalgado/posts/8780.aspx" target="_blank"&gt;Tiago Salgado&lt;/a&gt;, eu vou escrever sobre uma coisa sem muita importância, mas de veras interessante, diria até engraçada. &lt;/p&gt; &lt;p&gt;&lt;strong&gt;Fazendo o Notepad parar...(som de fundo: óóóóóóó)&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;Abra o notepad e digite &amp;quot;this app can break&amp;quot; ...&lt;/p&gt; &lt;p&gt;&lt;img style="border-top-width:0px;border-left-width:0px;border-bottom-width:0px;border-right-width:0px;" src="http://weblogs.pontonetpt.com/images/weblogs_pontonetpt_com/cleydson/611/o_Notepad1.Png" border="0" alt="" /&gt; &lt;/p&gt; &lt;p&gt;Salve em algum lugar e depois abra novamente &lt;/p&gt; &lt;p&gt;&lt;img style="border-top-width:0px;border-left-width:0px;border-bottom-width:0px;border-right-width:0px;" src="http://weblogs.pontonetpt.com/images/weblogs_pontonetpt_com/cleydson/611/o_Notepad2.Png" border="0" alt="" /&gt;&lt;/p&gt; &lt;p&gt;Diria,..., no mínimo interessante. Tenho certeza que depois dessa, a vida de vocês nunca mais será a mesma. rsss&lt;/p&gt; &lt;p&gt;Abraço,&lt;/p&gt; &lt;p&gt;&lt;a title="Cleydson Silva" href="http://weblogs.pontonetpt.com/cleydson"&gt;//Cleydson&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://pontonetpt.com/aggbug.aspx?PostID=4155" width="1" height="1"&gt;</description><category domain="http://pontonetpt.com/blogs/cleydson/archive/tags/Devaneios/default.aspx">Devaneios</category></item></channel></rss>