<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>NeoMatrix Tech</title>
	
	<link>http://leonelfraga.com/neomatrixtech</link>
	<description>C#, ASP.NET, Programação em Geral, Análises, Hardware, Software, Opinião, Gadgets e muito mais.</description>
	<lastBuildDate>Sat, 13 Mar 2010 04:12:04 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/neomatrixtech" /><feedburner:info uri="neomatrixtech" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><feedburner:emailServiceId>neomatrixtech</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><item>
		<title>Conversor Atom para RSS</title>
		<link>http://feedproxy.google.com/~r/neomatrixtech/~3/uMiRVOFX2uw/</link>
		<comments>http://leonelfraga.com/neomatrixtech/?p=680#comments</comments>
		<pubDate>Sat, 13 Mar 2010 04:12:04 +0000</pubDate>
		<dc:creator>Leonel Fraga de Oliveira</dc:creator>
				<category><![CDATA[C#]]></category>
		<category><![CDATA[Programação]]></category>
		<category><![CDATA[Atom]]></category>
		<category><![CDATA[conversor]]></category>
		<category><![CDATA[RSS]]></category>

		<guid isPermaLink="false">http://leonelfraga.com/neomatrixtech/?p=680</guid>
		<description><![CDATA[No post passado contei sobre o drama da migração do NeoMatrix Tech do Blogger para o Wordpress, onde consegui importar os posts (sem os comentários) depois de várias tentativas.
Uma dessas alternativas foi utilizar o Blogger Backup para que ele gravasse post a post no meu disco rígido, no formato Atom. Como o Wordpress aceita a [...]]]></description>
			<content:encoded><![CDATA[<p>No post passado contei sobre o drama da migração do NeoMatrix Tech do Blogger para o Wordpress, onde consegui importar os posts (sem os comentários) depois de várias tentativas.</p>
<p>Uma dessas alternativas foi utilizar o <strong>Blogger Backup</strong> para que ele gravasse post a post no meu disco rígido, no formato <strong>Atom</strong>. Como o Wordpress aceita a importação de posts no formato <strong>RSS</strong> ao invés do Atom, tive que pesquisar uma ferramenta para converter entre estes dois formatos.</p>
<p>E eis que procurando achei o seguinte <strong>código em C#,</strong> no blog do <a href="http://blog.isaias.com.mx/2008/11/28/atom-to-rss-20-converter-the-c-way/" target="_blank">Isaias Gonzalez</a> (em inglês), e fiz duas pequenas adaptações:</p>
<pre class="brush:csharp">using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ServiceModel.Syndication;
using System.IO;
using System.Xml;

namespace Atom2RSS
{
    public class AtomToRss2Converter
    {
        public void AtomToRss20(string atomFileName, string rssFileName)
        {
            try
            {
                ConvertToRss20(ReadFeed(atomFileName), rssFileName);
            }
            catch (Exception ex)
            {
                throw new Exception(&quot;PAU no arquivo -&gt; &quot; + atomFileName);
            }
        }

        private static void ConvertToRss20(SyndicationFeed feed, string rssFileName)
        {
            Rss20FeedFormatter rss2 = new Rss20FeedFormatter(feed);
            XmlWriter writer = XmlWriter.Create(rssFileName);
            rss2.WriteTo(writer);
            writer.Close();
        }

        private static SyndicationFeed ReadFeed(string fileName)
        {
            StreamReader stream = new StreamReader(fileName);
            XmlReader reader = XmlReader.Create(stream);
            SyndicationFeed feed = SyndicationFeed.Load(reader);
            stream.Close();
            return feed;
        }
    }
}</pre>
<p>Quando executei o código original, vi que o feed de saída não estava completo, faltando alguns itens no final. E isto acontecia em feeds de diversos tamanhos. Daí, reparando no código do cara, notei que no método <em>ConvertToRss20()</em> o <em>XmlWriter</em> não estava sendo fechado, assim como o <em>StreamReader</em> do método <em>ReadFeed()</em>.</p>
<p>Acrescentei a chamada ao método <em>Close()</em> dos objetos supracitados e o programa funcionou.</p>
<p>Como você pode ver, o código é muito simples, ele utiliza as próprias classes nativas do .NET Framework, no namespace <strong>System.ServiceModel.Syndication</strong> para fazer a leitura e a gravação dos feeds. Para utilizar este <em>namespace</em>, adicione uma referência ao <em>assembly</em> <strong>System.ServiceModel.Web</strong>.</p>
<p>Fiz uma pequena aplicação <em>Windows Forms</em> que realiza a conversão em um lote de arquivos. A interface está bem <del>tosca</del> simples, mas plenamente funcional: Clique em Selecionar Arquivos, selecione os arquivos que quer converter, digite (ou procure) um diretório de saída, e clique em Converter.</p>
<p><a href="http://leonelfraga.com/neomatrixtech/wp-content/uploads/2010/03/image1.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="image" border="0" alt="image" src="http://leonelfraga.com/neomatrixtech/wp-content/uploads/2010/03/image_thumb1.png" width="400" height="175" /></a> </p>
<p><img alt="Download" src="http://lh3.ggpht.com/_Kzg5fUTKXVY/SyOnDGWvxDI/AAAAAAAAIEg/x5d6cmS1hGU/download1%5B1%5D%5B3%5D.png?imgmax=800" /> <a href="http://leonelfraga.com/downloads/Atom2RSS.rar" target="_blank">Baixe agora: Conversor Atom para RSS em lote</a> (41 kB)</p>
<p>Um abraço!</p>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fleonelfraga.com%2Fneomatrixtech%2F%3Fp%3D680&amp;linkname=Conversor%20Atom%20para%20RSS"><img src="http://leonelfraga.com/neomatrixtech/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a>]]></content:encoded>
			<wfw:commentRss>http://leonelfraga.com/neomatrixtech/?feed=rss2&amp;p=680</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://leonelfraga.com/neomatrixtech/?p=680</feedburner:origLink></item>
		<item>
		<title>Migrando do Blogger para o Wordpress: A epopéia da migração do NM Tech</title>
		<link>http://feedproxy.google.com/~r/neomatrixtech/~3/K2F9knDwN64/</link>
		<comments>http://leonelfraga.com/neomatrixtech/?p=677#comments</comments>
		<pubDate>Fri, 12 Mar 2010 01:53:03 +0000</pubDate>
		<dc:creator>Leonel Fraga de Oliveira</dc:creator>
				<category><![CDATA[Diversos]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Pessoal]]></category>
		<category><![CDATA[blogger]]></category>
		<category><![CDATA[migração]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://leonelfraga.com/neomatrixtech/?p=677</guid>
		<description><![CDATA[ Como você pode ver, tanto o NeoMatrix Light quanto o NeoMatrix Tech estão de cara e casa novas.
A cara, obviamente é o novo template, uma mudança radical de cores, disposição dos itens nas sidebars e no novo cabeçalho: tirei a referência ao filme Matrix e coloquei “zeros” e “uns”, representando uma matriz de números [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://leonelfraga.com/neomatrixtech/wp-content/uploads/2010/03/image.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; margin-left: 0px; border-top: 0px; margin-right: 0px; border-right: 0px" title="image" border="0" alt="image" align="left" src="http://leonelfraga.com/neomatrixtech/wp-content/uploads/2010/03/image_thumb.png" width="240" height="222" /></a> Como você pode ver, tanto o <a href="http://www.leonelfraga.com/neomatrixlight" target="_blank">NeoMatrix Light</a> quanto o NeoMatrix Tech estão de cara e casa novas.</p>
<p>A cara, obviamente é o novo template, uma mudança radical de cores, disposição dos itens nas <em>sidebars</em> e no novo cabeçalho: tirei a referência ao filme <em>Matrix</em> e coloquei “zeros” e “uns”, representando uma matriz de números binários <img src='http://leonelfraga.com/neomatrixtech/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>A casa é tanto a mudança de domínio quanto de plataforma. Antes, os blogs estavam hospedados no serviço <strong>Blogger</strong>, do Google com um domínio personalizado. Agora, está em hospedagem própria (Locaweb) e rodando na plataforma <strong>Wordpress</strong>.</p>
<p><em>Mas por que mudar de plataforma?</em></p>
<p>O <strong>Blogger</strong> é uma boa plataforma para quem está começando a blogar, com vários recursos tais como templates, <em>widgets</em> prontos, editor visual, entre outros que atendem aos usuários mais leigos, e também conta com a sua linguagem XML de construção de templates que faz com que os usuários avançados criem os mais incríveis templates, agregando muitas funcionalidades ao blog.</p>
<p>Quando já atingimos um certo nível, queremos profissionalizar nossos blogs com coisas mais avançadas. O <strong>Wordpress</strong> conta com um poderoso painel de controle, onde podemos moderar comentários, editar posts em massa (trocando a categoria de múltiplos posts, por exemplo), é extensível através de <em>plugins</em>, possui temas bem interessantes… Porém esta plataforma já requer um certo avanço, principalmente quando é utilizada com hospedagem própria.</p>
<p>Resolvi que é hora de galgar mais um degrau e colocar os meus blogs em uma plataforma mais profissional, em que eu tenha um total controle sobre ela. Tá certo que não manjo muito de PHP, e nem sei mexer com a API do <strong>Wordpress</strong>, mas vou aprendendo aos poucos, conforme à necessidade de explorar coisas bem mais avançadas do que a administração dos blogs em si <img src='http://leonelfraga.com/neomatrixtech/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Depois de uma breve introdução do motivo da mudança de plataforma, vou relatar a você a epopéia que foi migrar os blogs, principalmente o NeoMatrix Tech. Vamos lá! <img src='http://leonelfraga.com/neomatrixtech/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>A primeira coisa que fiz foi fazer duas instalações de Wordpress na minha hospedagem. Fiz isso pelo painel de controle e algum tempo depois já estava tudo no ar. Após isso, atualizei as instalações do Wordpress para a versão mais recente (2.9.2) e achar um tema legal. Apliquei o tema <a href="http://themehybrid.com/themes/hybrid" target="_blank">Hybrid</a> com seu “filho” <a href="http://themehybrid.com/themes/hybrid-news" target="_blank">Hybrid News</a>, e depois instalar alguns plugins.</p>
<p>Em seguida, fiz a customização do tema. Essa foi a parte que eu tive que desbravar o código PHP do tema, alterando alguns itens na folha de estilo e uma parte do layout, além de configurar os widgets necessários.</p>
<p>Configuração do Wordpress feita, e agora é hora de migrar. Comecei pelo NeoMatrix Light.</p>
<p>Entrei nas opções de importação do Wordpress e mandei importar o NeoMatrix Light que estava no Blogger. Em pouco tempo, todos os posts e comentários já estavam no novo servidor.</p>
<p>Depois disso, foi configurar mais alguns widgets, mudar o link do feed original no FeedBurner, de maneira que quem acompanhasse via feed, já entrava no site novo de forma transparente, gerar sitemap, e algumas coisas mais, e depois eu tive a infeliz idéia de excluir TODOS os posts do site antigo.</p>
<p>Sim, essa foi a minha burrice, logo mais eu conto o porquê isso foi uma EPIC FAIL!</p>
<p>Agora é a vez do NeoMatrix Tech!</p>
<p>Eu todo <strike>feliz e saltitante (soou bem gay, admito hehe)</strike> contente pela migração com sucesso do NM Light, faço login no painel do NeoMatrix Tech novo, vou nas opções de importação, executo o bicho e vem a fatídica mensagem: apenas 25 posts importados, de um total de 105.</p>
<p>PQP, importou apenas 25 posts. Por mais vezes que eu executava esse procedimento, não importava tudo.</p>
<p>Consultando o Oráculo, vi a idéia de criar um blog temporário no Wordpress.com, importar de lá, depois exportar o XML e importar na hospedagem própria. Também nada (como eles devem usar a mesma base de código…).</p>
<p>Mais uma idéia que eu tive: Usar o exportador do Blogger. Também nada, somente gerou o XML com os 25 posts mais recentes.</p>
<p>Eu ao invés de feliz já estava P* da vida, pois o NeoMatrix Light que tem mais posts foi legal, o Tech está sendo punk! Acho que o motivo disso é que o NeoMatrix Tech tem postagens com enorme carga de código HTML, gerado pelo plugin <em>Code Snippet</em> do <em>Windows Live Writer</em> que eu utilizava (agora uso o <em>Syntax Highliter</em>, que é instalado no próprio template do blog), além de algumas gambiarras para resumir posts.</p>
<p>Já estava pensando em uma solução radical: baixar os posts um a um pelo Windows Live Writer e repostar no NeoMatrix Tech novo. Aí me lembrei do utilitário <a title="Tem no Baixaki, mas baixar pelo site oficial é melhor ;)" href="http://www.codeplex.com/bloggerbackup" target="_blank">Blogger Backup</a>. Instalei o programinha e baixei o NeoMatrix Tech para a minha máquina, nessa primeira vez, o fiz com a opção de baixar todo o conteúdo em apenas um arquivo XML.</p>
<p>Só que tem um pequenininho problema: o Blogger Backup salva em formato <strong>Atom</strong>, enquanto o Wordpress importa <strong>RSS</strong>. E lá vai o capivara aqui consultando o <a href="http://www.google.com" target="_blank">Oráculo</a> para saber como converter de Atom para RSS.</p>
<p>Eis que descubro um código em C# (sim!!! C#!!!) que faz isso (no próximo post eu explico #<em>comofas</em>, tá?) e implementei o código, corrigindo alguns bugs (o cara que fez ele originalmente só esqueceu de fechar alguns <em>Streams</em>, de forma que o arquivo ficasse “preso” e por isso ficavam faltando alguns itens no XML de saída) e convertendo o feed resultado do meu backup.</p>
<p>Agora é hora de subir o feed. Também só importou alguns posts.<em> Caralh* com asa fumegante e voador</em>, e agora?</p>
<p>E agora tive a idéia de salvar cada post em um arquivo e adaptei o meu programinha para fazer a <strong>conversão Atom –&gt; RSS</strong> em lote. Assim o fiz e comecei a subir esses arquivos um por um, separados de 20 em 20 em cada diretório na minha máquina.</p>
<p>Sobe primeiro, sobe o segundo, sobe o terceiro e dá pau. Putz, o que será que está causando os problemas?</p>
<p>Resolvi tirar o conteúdo HTML do post, deixando a tag que contém o conteúdo apenas com uma mensagem de teste e subo o feed. Agora foi! O conteúdo? Simplesmente abri o respectivo post no painel do Blogger, copiei o conteúdo HTML, abri-o no editor do Wordpress e colo o conteúdo e salvo. Procedimento realizado com sucesso!</p>
<p>Fiz isso para cada um dos posts. Demorou cerca de três horas, mas consegui importar os posts. Infelizmente não consegui importar os comentários, pois não consegui restaurá-los através do Blogger Backup, que ficava travado quando a opção de exportar comentários está ativa.</p>
<p>Hora de fazer um teste, e algumas posts estavam quebrando o layout da página. Corrigi-os e agora tudo azul!</p>
<p>Depois dessa parte bem tortuosa, fiz as configurações no FeedBurner, no Google Webmaster Tools, no Analytics, no template…</p>
<p>E dessa vez não fiz a <strong>cagada</strong> de apagar os posts no Blogger. Procurei uma maneira de redirecionar quem vinha através da URL antiga para a nova, inclusive diretamente para o post no site novo. Fiz isso “mesclando” e adaptando dicas de três tutoriais (links <a href="http://procrastiblog.com/2008/07/12/redirecting-blogger-posts-to-wordpress/" target="_blank">aqui</a>, <a href="http://www.libertyinteractivemarketing.com/blog/successfully-forwarding-blogger-to-wordpress/" target="_blank">aqui</a> e <a href="http://www.techcounter.com/wordpress/301-permanent-redirect-from-blogger-beta-to-wordpress/" target="_blank">aqui</a>, mas depois eu explico a minha implementação em um post aqui no NeoMatrix Tech, com mais detalhes e em português <img src='http://leonelfraga.com/neomatrixtech/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> ) e finalmente cumpri a missão!</p>
<p>Se eu tivesse descoberto como fazer isso ANTES de apagar os posts do NeoMatrix Light antigo…</p>
<p>Nos dois próximos posts, vou detalhar como implementei o conversor Atom –&gt; RSS e como redirecionar do Blogger para o Wordpress através do título do post (se você notar bem, os permalinks dos NeoMatrixes estão como default, a versão “SEO Friendly” não funcionou em algumas páginas e acho que o servidor não tem URL Rewrite).</p>
<p>Sejam bem-vindos à nova casa do NeoMatrix Tech <img src='http://leonelfraga.com/neomatrixtech/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fleonelfraga.com%2Fneomatrixtech%2F%3Fp%3D677&amp;linkname=Migrando%20do%20Blogger%20para%20o%20Wordpress%3A%20A%20epop%26eacute%3Bia%20da%20migra%26ccedil%3B%26atilde%3Bo%20do%20NM%20Tech"><img src="http://leonelfraga.com/neomatrixtech/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a>]]></content:encoded>
			<wfw:commentRss>http://leonelfraga.com/neomatrixtech/?feed=rss2&amp;p=677</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://leonelfraga.com/neomatrixtech/?p=677</feedburner:origLink></item>
		<item>
		<title>De onde você baixa seus programas?</title>
		<link>http://feedproxy.google.com/~r/neomatrixtech/~3/rdDPAtzYqEE/</link>
		<comments>http://leonelfraga.com/neomatrixtech/?p=498#comments</comments>
		<pubDate>Mon, 15 Feb 2010 21:35:00 +0000</pubDate>
		<dc:creator>Leonel Fraga de Oliveira</dc:creator>
				<category><![CDATA[Internet]]></category>

		<guid isPermaLink="false">tag:blogger.com,1999:blog-6431510018691746273.post-2811631442168048396</guid>
		<description><![CDATA[ 
Quando você quer baixar um programa da Internet e você sabe exatamente qual programa baixar, em qual lugar você o procura primeiro?
Não vale dizer que é do Google, hein!
Tá, pode dizer que é pelo Google (ou outro buscador, para não ser monopolista   ), mas o X desta questão é: você baixa o [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://lh6.ggpht.com/_Kzg5fUTKXVY/S3m-FQ7bB6I/AAAAAAAAIfY/1w5v4Ix8QZI/s1600-h/image%5B5%5D.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; margin-left: 0px; border-top: 0px; margin-right: 0px; border-right: 0px" title="image" border="0" alt="image" align="left" src="http://lh6.ggpht.com/_Kzg5fUTKXVY/S3m-KgKmEmI/AAAAAAAAIfc/RhsJl9FcL5s/image_thumb%5B3%5D.png?imgmax=800" width="240" height="240" /></a> </p>
<p>Quando você quer <strong>baixar um programa da Internet</strong> e você sabe exatamente qual programa baixar, em qual lugar você o procura primeiro?</p>
<p>Não vale dizer que é do Google, hein!</p>
<p>Tá, pode dizer que é pelo Google (ou outro buscador, para não ser monopolista <img src='http://leonelfraga.com/neomatrixtech/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  ), mas o X desta questão é: você baixa o programa a partir de <strong>seu site oficial</strong> ou de um <strong>site de downloads</strong>?</p>
<p>Desde antes da Web, os <em>BBSs</em> eram a nossa fonte de <strike>loucupletação</strike> onde baixávamos nossos programas (eu não peguei essa época); daí com a profusão da Web surgiram alguns sites de download, sendo os mais famosos o Tucows e o <a title="Um dos maiores sites de download do mundo!" href="http://www.download.com" rel="nofollow" target="_blank">Download.com</a> da CNET.</p>
<p>Aqui em <em>Terra Brasilis</em> não é muito diferente. Os dois maiores exemplos de “agregadores de downloads” são o <a href="http://www.baixaki.com.br" rel="nofollow" target="_blank">Baixaki</a>, hoje pertencente ao portal Terra, e o <a href="http://www.superdownloads.com" rel="nofollow" target="_blank">Superdownloads</a>, do iG.</p>
<p>Os sites contam com uma grande variedade de programas para serem baixados, acompanhados de descrição, resenha, informações sobre a licença, comentários dos usuários, entre outros serviços.</p>
<p>Estes sites, na minha opinião, são feitos mais para atender ao <strong>público leigo em informática</strong>. Não que isso seja ruim, muito pelo contrário, pois são uma fonte segura de onde estes usuários poderão baixar os programas com um risco menor de contrair pragas virtuais.</p>
<p>Eu mesmo baixo, conforme a necessidade, programas por essas vias, de sites como o <em>Softpedia</em>, e até mesmo dos supracitados <strong>Baixaki</strong> e <strong>Superdownloads</strong>, mas, em primeiro lugar, como um usuário avançado, prefiro primeiro procurar o site oficial do programa, na minha opinião, a melhor fonte de download de um determinado programa.</p>
<p>Baixar a partir do site oficial conta com a vantagem de se obter a versão mais atualizada do programa em questão, e além disso, ver a planilha de recursos, quais foram as modificações realizadas em relação às versões anteriores, ver questões de licenciamento, entre outras coisas.</p>
<p>Só que dependendo do programa, um impecilho para os usuários mais leigos baixarem a partir do site oficial é o idioma.</p>
<p>O “Mundo Linux” conta com os <strong>repositórios</strong>, onde com alguns cliques, sem acessar um navegador de Internet, temos à disposição milhares de programas para serem baixados e automaticamente instalados. Mas, isso vai depender muito de qual distribuição você estará utilizando, os pacotes e repositórios podem diferir muito entre elas. Mas eles também são uma fonte confiável.</p>
<p>E você, a partir de quais fontes costuma baixar seus programas?</p>
<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6431510018691746273-2811631442168048396?l=neomatrixtech.leonelfraga.com' alt='' /></div>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fleonelfraga.com%2Fneomatrixtech%2F%3Fp%3D498&amp;linkname=De%20onde%20voc%C3%AA%20baixa%20seus%20programas%3F"><img src="http://leonelfraga.com/neomatrixtech/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a>]]></content:encoded>
			<wfw:commentRss>http://leonelfraga.com/neomatrixtech/?feed=rss2&amp;p=498</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://leonelfraga.com/neomatrixtech/?p=498</feedburner:origLink></item>
		<item>
		<title>Assinando arquivos com certificados do tipo A3 (smartcard / token)</title>
		<link>http://feedproxy.google.com/~r/neomatrixtech/~3/1lK05w9e8n0/</link>
		<comments>http://leonelfraga.com/neomatrixtech/?p=496#comments</comments>
		<pubDate>Sat, 06 Feb 2010 01:59:00 +0000</pubDate>
		<dc:creator>Leonel Fraga de Oliveira</dc:creator>
				<category><![CDATA[.NET Geral]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[Programação]]></category>

		<guid isPermaLink="false">tag:blogger.com,1999:blog-6431510018691746273.post-2661809821821325009</guid>
		<description><![CDATA[Já aprendermos como assinar arquivos digitalmente, no formato PKCS #7 a partir de certificados X.509 instalados através de arquivos .pfx, ou seja, certificados do tipo A1.
 
Os certificados do tipo A3 são armazenados em hardware, tais como smartcards (cartões inteligentes) e tokens (parecido com um pendrive). Para utilizá-los, primeiramente é necessário instalar os drivers necessários: [...]]]></description>
			<content:encoded><![CDATA[<p>Já aprendermos como assinar arquivos digitalmente, no formato <strong>PKCS #7</strong> a partir de certificados <strong>X.509</strong> instalados através de arquivos .pfx, ou seja, certificados do tipo A1.</p>
<p><a href="http://lh5.ggpht.com/_Kzg5fUTKXVY/S2zRw1-1ERI/AAAAAAAAIec/tB-uNAg3AAc/s1600-h/image%5B12%5D.png"><img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="Programa SafeSign com um e-CNPJ A3 plugado" border="0" alt="Programa SafeSign com um e-CNPJ A3 plugado" src="http://lh5.ggpht.com/_Kzg5fUTKXVY/S2zRx_B1WMI/AAAAAAAAIeg/n-K1987aNvA/image_thumb%5B8%5D.png?imgmax=800" width="300" height="187" /></a> </p>
<p>Os <strong>certificados do tipo A3</strong> são armazenados em <em>hardware</em>, tais como <em>smartcards</em> (cartões inteligentes) e <em>tokens</em> (parecido com um pendrive). Para utilizá-los, primeiramente é necessário instalar os drivers necessários: driver do cartão / <em>token</em> e driver da leitora.</p>
<p>Após a instalação destes pré-requisitos, ao espetar o <em>token</em> na USB ou colocar o cartão na leitora, os certificados armazenados nestes dispositivos são exibidos pelo <strong>Gerenciador de Certificados do Windows</strong>, como mostra a imagem abaixo:</p>
<p><a href="http://lh5.ggpht.com/_Kzg5fUTKXVY/S2zM88C9NKI/AAAAAAAAIek/XbBWlEMiImg/s1600-h/image%5B5%5D.png"><img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="Gerenciador de Certificados do Windows" border="0" alt="Gerenciador de Certificados do Windows" src="http://lh3.ggpht.com/_Kzg5fUTKXVY/S2zM-ESSngI/AAAAAAAAIeo/uJvTQ1-lQTo/image_thumb%5B3%5D.png?imgmax=800" width="400" height="262" /></a> </p>
<p>Veja só onde ele aparece: No armazenamento “Pessoal” do usuário que está logado na máquina! E ele pode ser acessado através da classe <em>X509Store</em> <img src='http://leonelfraga.com/neomatrixtech/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> .</p>
<p>Se você já teve a curiosidade e testou os códigos presentes na classe <em>SignWrappers</em> que foi postada anteriormente, ao passar um certificado do tipo A3 para o método <em>SignFile</em> você pode ter ficado decepcionado, pois dá uma mensagem de erro com alguma coisa remetendo a um modo silencioso (não me lembro da mensagem exata hehe).</p>
<p>E se você notou, cada vez que você utiliza o certificado A3 em um programa para assinar arquivos, como a suite Microsoft Office, ele <strong>sempre pede a senha PIN do certificado</strong>, coisa que não ocorre na nossa classe de assinatura digital.</p>
<p>Meus queridos, estes problemas podem ser resolvidos com uma minúscula alteração no método <em>SignFile</em> da nossa classe <em>SignWrappers</em>! Veja o código:</p>
<pre class="brush:csharp">public static byte[] SignFile(X509Certificate2Collection certs, byte[] data)
{
	try
	{
		ContentInfo content = new ContentInfo(data);
		SignedCms signedCms = new SignedCms(content, false);
		if (VerifySign(data))
		{
			signedCms.Decode(data);
		}
		foreach (X509Certificate2 cert in certs)
		{
			CmsSigner signer = new CmsSigner(cert);
			signer.IncludeOption = X509IncludeOption.WholeChain;
			signedCms.ComputeSignature(signer, false);
		}
		return signedCms.Encode();
	}
	catch(Exception ex)
	{
		throw new Exception("Erro ao assinar arquivo. A mensagem retornada foi: " + ex.Message);
	}
}</pre>
<p><a title="Assinando arquivos digitalmente com C# (.NET)" href="http://neomatrixtech.leonelfraga.com/2009/12/assinatura-digital-com-c-net.html" target="_blank">Neste post</a> tem o funcionamento completo da classe. A adição que fizemos foi passar o parâmetro “<em><strong>Silent</strong></em>”, do tipo booleano, no método <strong><em>ComputeSignature</em></strong> do objeto <em>SignedCms</em>. E o que ele faz?</p>
<p>Caso passemos <em>true</em>, a assinatura será calculada sem intervenção do usuário, ou seja, a senha para acessar a chave privada do(s) certificado(s) deverá(ão) ser informada(s) junto com o certificado. Isso é válido para os certificados A1, vide sobrecargas do método <em>SignFile</em> que possui passagem de senha.</p>
<p>Um certificado A3 geralmente pede a <strong>senha PIN</strong> (utilizada para acesso aos objetos privados do <em>token</em> / <em>smartcard</em>) através de uma caixa de diálogo do driver do dispositivo, e caso o método <em>ComputeSignature</em> esteja em modo silencioso, esta caixa não será exibida e disparará uma exceção com a mensagem de erro informando a respeito.</p>
<p>Para que a caixa de diálogo do PIN apareça quando o método <em>ComputeSignature</em> for chamado, devemos<strong> passar false como valor do parâmetro <em>Silent</em> do <em>ComputeSignature</em></strong>.</p>
<p>E então é isso! Um grande abraço <img src='http://leonelfraga.com/neomatrixtech/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Ah, e na próxima vamos fazer um programinha que assina arquivos? <img src='http://leonelfraga.com/neomatrixtech/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6431510018691746273-2661809821821325009?l=neomatrixtech.leonelfraga.com' alt='' /></div>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fleonelfraga.com%2Fneomatrixtech%2F%3Fp%3D496&amp;linkname=Assinando%20arquivos%20com%20certificados%20do%20tipo%20A3%20%28smartcard%20%2F%20token%29"><img src="http://leonelfraga.com/neomatrixtech/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a>]]></content:encoded>
			<wfw:commentRss>http://leonelfraga.com/neomatrixtech/?feed=rss2&amp;p=496</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://leonelfraga.com/neomatrixtech/?p=496</feedburner:origLink></item>
		<item>
		<title>Verificando uma assinatura digital PKCS #7 com C#</title>
		<link>http://feedproxy.google.com/~r/neomatrixtech/~3/0fZhIu78FRw/</link>
		<comments>http://leonelfraga.com/neomatrixtech/?p=494#comments</comments>
		<pubDate>Sun, 31 Jan 2010 12:34:00 +0000</pubDate>
		<dc:creator>Leonel Fraga de Oliveira</dc:creator>
				<category><![CDATA[.NET Geral]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[Programação]]></category>

		<guid isPermaLink="false">tag:blogger.com,1999:blog-6431510018691746273.post-4832062004881276600</guid>
		<description><![CDATA[Há algum tempinho atrás, postei uma classe com métodos estáticos cuja finalidade é empacotar arquivos com assinatura digital em uma mensagem PKCS #7, utilizando certificados padrão X.509.
Em um dos comentários daquele post, fui questionado sobre como fazer a verificação da validade dessa assinatura digital.
Opa, mas na classe tem um método chamado VerifySign, que verifica se [...]]]></description>
			<content:encoded><![CDATA[<p>Há algum tempinho atrás, <a title="Aqui está a classe de assinatura digital, sem modificações :)" href="http://neomatrixtech.leonelfraga.com/2009/12/assinatura-digital-com-c-net.html" target="_blank">postei uma classe</a> com métodos estáticos cuja finalidade é <strong>empacotar arquivos com assinatura digital em uma mensagem PKCS #7</strong>, utilizando certificados padrão<strong> X.509</strong>.</p>
<p>Em um dos comentários daquele post, fui questionado sobre como fazer a <strong>verificação da validade dessa assinatura digital</strong>.</p>
<p>Opa, mas na classe tem um método chamado <em>VerifySign</em>, que verifica se existe a assinatura em um arquivo que é passado como parâmetro. Sim, você leu direito: ele verifica apenas a existência da assinatura, não a sua validade.</p>
<p>Dando uma pesquisada, achei o método <em><strong>CheckSignature</strong></em> do objeto <em><strong>SignedCms</strong></em>, que faz exatamente o que o nosso leitor quer:<strong> verificar a validade da assinatura digital</strong>. Vamos ao código:</p>
<pre class="brush:csharp">public static bool VerifySign2(byte[] data)
{
	try
	{
		SignedCms signed = new SignedCms();
		signed.Decode(data);
		signed.CheckSignature(true);
	}
	catch
	{
		return false;
	}
	return true;
}</pre>
<p>Chamei-o de <em>VerifySign2</em>, para não “quebrar” o propósito do outro método.</p>
<p>A única adição que é necessária fazer ao método <em>VerifySign</em> existente no outro post é a chamada do método <em><strong>CheckSignature</strong></em> do objeto da classe <em><strong>SignedCms</strong></em>, que verifica a validade da assinatura digital, e recebe como parâmetro um booleano que indica se será verificada apenas a validade da assinatura (true) ou se além da validade da assinatura também serão verificados os dados dos certificados empregados, tais como a validade, revogação, propósito da chave privada, entre outros.</p>
<p>Vamos dar uma recapitulada no funcionamento do método <em>VerifySign</em>, já incluindo esta pequena adição.</p>
<p>O método recebe como parâmetro um arquivo qualquer, assinado ou não, e cria uma instância da classe <em>SignedCms</em> na variável <em>signed</em>, que manipula mensagens PKCS #7.</p>
<p>Em seguida, chamamos o método <em>Decode()</em> passando como parâmetro este arquivo. Ele serve para decodificar a mensagem PKCS #7, de maneira que possamos acessar os certificados utilizados para acessar o arquivo e o arquivo em si, para poder “<em>detachá-lo</em>” da mensagem PKCS #7.</p>
<p>Se o arquivo não contiver uma assinatura digital, será disparada uma exceção do tipo <em>CryptographicException</em>, que será interceptada pelo “<em>catch</em>” e fará o nosso método retornar <em>false</em>. Neste caso o retorno é <em>false</em> causado pela não existência de assinatura digital.</p>
<p>Se o arquivo estiver assinado, chamaremos o método <em>CheckSignature</em> do objeto “<em>signed</em>”, informando que apenas queremos verificar a validade da assinatura digital, sem verificar os detalhes dos certificados (se passarmos <em>false</em>, o processo de verificação dos certificados requer uma conexão com a Internet – o que nem sempre é possível -, para verificação de lista de certificados revogados – geralmente no servidor da entidade que emitiu o certificado &#8211; entre outras coisas).</p>
<p>Interessante é que este método retorna <em>void</em>! Caso a assinatura seja inválida, por exemplo, o arquivo foi alterado depois de assinar, também será disparada uma exceção do tipo <em>CryptographicException</em>, que será interceptada pelo “<em>catch</em>” e fará com que o nosso método <em>VerifySign</em> retorne <em>false</em>.</p>
<p>Caso o método não dispare nenhuma exceção, ele retornará <em>true</em>, informando que a <strong>assinatura digital é válida</strong>.</p>
<p>Simples, não é?</p>
<p>Abraços!</p>
<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6431510018691746273-4832062004881276600?l=neomatrixtech.leonelfraga.com' alt='' /></div>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fleonelfraga.com%2Fneomatrixtech%2F%3Fp%3D494&amp;linkname=Verificando%20uma%20assinatura%20digital%20PKCS%20%237%20com%20C%23"><img src="http://leonelfraga.com/neomatrixtech/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a>]]></content:encoded>
			<wfw:commentRss>http://leonelfraga.com/neomatrixtech/?feed=rss2&amp;p=494</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://leonelfraga.com/neomatrixtech/?p=494</feedburner:origLink></item>
		<item>
		<title>Um MVP no mundo do Software Livre? Sim, o Miguel de Icaza é o cara!</title>
		<link>http://feedproxy.google.com/~r/neomatrixtech/~3/o1f7bkvJ8Xs/</link>
		<comments>http://leonelfraga.com/neomatrixtech/?p=492#comments</comments>
		<pubDate>Fri, 15 Jan 2010 00:58:00 +0000</pubDate>
		<dc:creator>Leonel Fraga de Oliveira</dc:creator>
				<category><![CDATA[FOSS em Geral]]></category>
		<category><![CDATA[Opinião]]></category>

		<guid isPermaLink="false">tag:blogger.com,1999:blog-6431510018691746273.post-2912092200247428467</guid>
		<description><![CDATA[ Se os evangelistas mais radicais da filosofia do Software Livre (a.k.a. freetards) já andavam com um pé atrás com fato de Miguel de Icaza, o co-fundador GNOME (um dos ambientes gráficos mais utilizados na plataforma Linux), desenvolvedor da plataforma de desenvolvimento MONO, vice-presidente da Novell (sim, aquela mesma que é – ou era – [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://lh4.ggpht.com/_Kzg5fUTKXVY/S0-9qmOWg7I/AAAAAAAAIPU/ynnpOnuoVNg/s1600-h/image%5B4%5D.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; margin-left: 0px; border-top: 0px; margin-right: 0px; border-right: 0px" title="MVP" border="0" alt="MVP" align="left" src="http://lh5.ggpht.com/_Kzg5fUTKXVY/S0-9sKlVqMI/AAAAAAAAIPY/AfU2DS3V1wY/image_thumb%5B2%5D.png?imgmax=800" width="153" height="240" /></a> Se os evangelistas mais radicais da filosofia do Software Livre (a.k.a. <em>freetards</em>) já andavam com um pé atrás com fato de <strong>Miguel de Icaza</strong>, o co-fundador GNOME (um dos ambientes gráficos mais utilizados na plataforma Linux), desenvolvedor da plataforma de desenvolvimento <strong>MONO</strong>, vice-presidente da <strong>Novell</strong> (sim, aquela mesma que é – ou era – a top nas redes corporativas), querer trazer para o mundo Linux coisas do mundo <strong>Microsoft</strong>, agora eles tem motivo para ficar com os dois pés atrás.</p>
<p>Ele foi nomeado com o título de <abbr title="Most Valuable Professional">MVP</abbr>, que é concedido pela <strong>Microsoft</strong> à pessoas que são consideradas (por processo de indicações, avaliações, etc) como sendo líderes de comunidades que se destacam por voluntariamente disponibilizar seu conhecimento àqueles que apoiam produtos e tecnologias da Microsoft.</p>
<p><strong>Icaza</strong> foi o cara que<strong> implementou a idéia de portar a plataforma .NET para o Linux</strong> através do Mono, que a esta altura do campeonato está maduro o suficiente para que várias aplicações sejam criadas, e postas em produção, em cima dele.</p>
<p>Só este fato faz brotar nos <em>freetards</em> um sentimento de ódio, nutrido pelo simples fato de que algo feito pela Microsoft seja incorporado ao mundo do <strong>Software Livre</strong>.</p>
<p>Várias “teorias da conspiração” (a.k.a <em>mimimi</em>) já foram ditas, como por exemplo, “planos malígnos da Microsoft para processar quem usa software livre a torto e direito”, rotulado Icaza como “traidor do movimento”, entre outros.</p>
<p>Certa vez, Icaza disse, em uma entrevista para a <strong>Info Exame</strong> (trecho da edição de Julho de 2003):</p>
<blockquote><p>“No mundo do código aberto, as pessoas partem do princípio de que tudo que a Microsoft faz é ruim, que tudo que eles tocam é ruim. Isso é ridículo. Você não deve olhar as coisas simplesmente sob a perspectiva de onde elas vem. Acho que não devemos dar adjetivos como bom ou ruim para as coisas por causa de política ou de valores errados”.</p>
</blockquote>
<p>Já faz quase sete anos, isso mesmo, <strong>QUASE SETE ANOS</strong> que ele fez essa citação e as coisas continuam iguais!</p>
<p>Tá certo, que no passado, a <strong>Microsoft</strong> tenha feito práticas comerciais nada adequadas, que dilaceraram a concorrência e tal, mas hoje, a coisa está um tanto diferente, em uma época onde o povo tem um maior acesso às informações e pode queimar uma empresa rapidamente.</p>
<p>Até a <strong>Microsoft</strong>, está bem mais amigável com o mundo do Software Livre, tendo como exemplos o portal <a href="http://www.codeplex.com/" rel="nofollow" target="_blank">CodePlex</a>, o auxílio ao pessoal do <a href="http://www.samba.org/" rel="nofollow" target="_blank">Samba</a>, doações à Fundação <a href="http://www.apache.org/" rel="nofollow" target="_blank">Apache</a>, entre outras iniciativas.</p>
<p>Esse <strong>título de MVP dado ao Icaza</strong>, na minha opinião, é uma prova de reconhecimento ao seu trabalho por “intermediar” esses dois mundos tão distintos, o do SL e a MS.</p>
<p>Tem que ter coragem para fazer o que esse cara fez, indo contra a grande maioria dos pregadores da filosofia do Software Livre.</p>
<p>Se o .NET é uma coisa boa (sim, EU acho), a especificação é aberta, está padronizada na ISO, por que não criar N implementações?</p>
<p>Então, para terminar, #CHUPA Feetards! <img src='http://leonelfraga.com/neomatrixtech/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> </p>
<p>Um abraço!</p>
<p>Fonte: <a href="http://br-linux.org/2010/miguel-de-icaza-agora-e-mvp-da-microsoft/" target="_blank">BR-Linux</a></p>
<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6431510018691746273-2912092200247428467?l=neomatrixtech.leonelfraga.com' alt='' /></div>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fleonelfraga.com%2Fneomatrixtech%2F%3Fp%3D492&amp;linkname=Um%20MVP%20no%20mundo%20do%20Software%20Livre%3F%20Sim%2C%20o%20Miguel%20de%20Icaza%20%C3%A9%20o%20cara%21"><img src="http://leonelfraga.com/neomatrixtech/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a>]]></content:encoded>
			<wfw:commentRss>http://leonelfraga.com/neomatrixtech/?feed=rss2&amp;p=492</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://leonelfraga.com/neomatrixtech/?p=492</feedburner:origLink></item>
		<item>
		<title>Nokia: Disconnecting People</title>
		<link>http://feedproxy.google.com/~r/neomatrixtech/~3/C4USem_sQtg/</link>
		<comments>http://leonelfraga.com/neomatrixtech/?p=490#comments</comments>
		<pubDate>Wed, 13 Jan 2010 01:07:00 +0000</pubDate>
		<dc:creator>Leonel Fraga de Oliveira</dc:creator>
				<category><![CDATA[Internet]]></category>
		<category><![CDATA[Opinião]]></category>

		<guid isPermaLink="false">tag:blogger.com,1999:blog-6431510018691746273.post-1661506947260212023</guid>
		<description><![CDATA[ 
Este começo de 2010 está sendo um tanto quente para a blogosfera brasileira
Primeiro, um kibador (um FDP de marca maior) fez com que a autora de um dos metablogs que é referência para quem usa a plataforma Blogger (NeoMatrixes inclusos), o Dicas Blogger, perdesse o “tesão” de continuar a postar o conteúdo que ajuda [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://lh6.ggpht.com/_Kzg5fUTKXVY/S00cymG24gI/AAAAAAAAIPM/AImZL4AvXtM/s1600-h/image%5B5%5D.png"><img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/_Kzg5fUTKXVY/S00czg0QdkI/AAAAAAAAIPQ/Fw0gKAeqlOQ/image_thumb%5B3%5D.png?imgmax=800" width="299" height="100" /></a> </p>
<p>Este começo de 2010 está sendo um tanto quente para a blogosfera brasileira</p>
<p>Primeiro, um <abbr title="Filhos da Puta que copiam conteúdo, não citam a fonte, e falam que são deles: plagiadores"><em>kibador</em></abbr> (um FDP de marca maior) fez com que a autora de um dos <em><abbr title="blogs que falam sobre... blogs!"><em>metablogs</em></abbr></em> que é referência para quem usa a plataforma <strong>Blogger</strong> (NeoMatrixes inclusos), o <a href="http://www.dicasblogger.com.br/" target="_blank">Dicas Blogger</a>, perdesse o “tesão” de continuar a postar o conteúdo que ajuda a muita gente.</p>
<p>De tanto ser plagiada, e ainda mais com o capivara contando vantagens, chegou uma hora que cansou. Não é para menos.</p>
<p>Outro caso que está quente no momento é o <strong>fechamento do blog NokiaBR</strong> através de uma ação extrajudicial enviada pela <strong>Nokia</strong> da Finlândia, através de adEvogados brasileiros, que obrigou o dono do mesmo a retirar o blog do ar e cancelar o domínio.</p>
<p>O motivo alegado é o uso indevido da marca <strong>Nokia</strong>, o que pode confundir os consumidores, e blá blá blá.</p>
<p>E olha que a <strong>Nokia do Brasil</strong> reconhecia o blog, enviava aparelhos para análise, o dono fazia um trabalho melhor do que o suporte da Nokia no que diz respeito a indicar soluções para os vários problemas dos usuários…</p>
<p>Eles até <a href="http://www.blognokia.com.br/blognokia/2010/01/12/comunicado/" rel="nofollow" target="_blank">escreveram um comunicado</a>, pedindo desculpas, querendo uma solução amigável, mas agora a cagada já está feita. Os heavy-users são os mais antenados no mundo dos blogs, e inúmeras postagens negativas (inclusive esta) já estão na Internet para todo o mundo ver.</p>
<p>Merda no ventilador se espalha mais rápido do que penas, ou seja, uma propaganda negativa tem um peso muito maior do que uma positiva, na minha opinião. Principalmente se a propaganda negativa foi gerada por um motivo, digamos assim, tosco.</p>
<p>Defender a marca contra uso INDEVIDO, pirataria, ok. Era o caso de chamar o cara para conversar ANTES dos advogados entrarem com a ação.</p>
<p>Foi um tiro no pé. Eu tenho o meu N95 de primeira geração e estou satisfeito com ele, porém confesso que já estou querendo trocar de celular, e até penso seriamente em pegar um iPhone, embora eu seja bem reticente às restrições que a Apple coloca nos seus produtos (ou recursos/funções que existem em celulares mais “toscos” e que não são implementados nos produtos da Apple).</p>
<p>É… a Nokia está desconectando as pessoas…</p>
<p>Fontes: <a href="http://www.meiobit.com/mobile/especial/nokiabr-epic-fail-como-nunca-ovi-antes-na-hist-ria-deste-pa-" target="_blank">MeioBit</a>, <a href="http://br-linux.org/2010/blog-nokiabr-fecha-as-portas-apos-notificacao-extra-judicial-da-detentora-da-marca/" target="_blank">BR-Linux</a>, <a href="http://www.contraditorium.com/2010/01/11/sobre-o-dicasblogger-%cf%8e-%ce%ad/" target="_blank">Contraditorium</a></p>
<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6431510018691746273-1661506947260212023?l=neomatrixtech.leonelfraga.com' alt='' /></div>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fleonelfraga.com%2Fneomatrixtech%2F%3Fp%3D490&amp;linkname=Nokia%3A%20Disconnecting%20People"><img src="http://leonelfraga.com/neomatrixtech/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a>]]></content:encoded>
			<wfw:commentRss>http://leonelfraga.com/neomatrixtech/?feed=rss2&amp;p=490</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://leonelfraga.com/neomatrixtech/?p=490</feedburner:origLink></item>
		<item>
		<title>Feliz Ano Novo!!!</title>
		<link>http://feedproxy.google.com/~r/neomatrixtech/~3/M3_4Fi2Ul0Y/</link>
		<comments>http://leonelfraga.com/neomatrixtech/?p=488#comments</comments>
		<pubDate>Wed, 30 Dec 2009 23:43:00 +0000</pubDate>
		<dc:creator>Leonel Fraga de Oliveira</dc:creator>
				<category><![CDATA[Diversos]]></category>

		<guid isPermaLink="false">tag:blogger.com,1999:blog-6431510018691746273.post-4010960533812835371</guid>
		<description><![CDATA[É, meu amigo! O ano de 2009 está acabando, e tivemos até que muita coisa na tecnologia, né?
Novos processadores como a Família Core i7 e outros da Intel, novos netbooks, Windows novo, muito mimimi do Dr. Stallman, a Oracle comprando a Sun e tornando um mistério o futuro do MySQL, do OpenOffice.org e cia limitada, [...]]]></description>
			<content:encoded><![CDATA[<p>É, meu amigo! O ano de 2009 está acabando, e tivemos até que muita coisa na tecnologia, né?</p>
<p>Novos processadores como a Família Core i7 e outros da Intel, novos netbooks, Windows novo, muito mimimi do Dr. Stallman, a Oracle comprando a Sun e tornando um mistério o futuro do MySQL, do OpenOffice.org e cia limitada, o Google entrando em novas áreas, e já querendo deslanchar o “Google Phone” para o comecinho do ano que vem…</p>
<p>Desejo a você, leitor, que tenha uma excelente virada de ano!</p>
<p>Segue uma mensagem ao mais estilo “nerd” possível:</p>
<pre class="brush:csharp">public void FelizAnoNovo()
{
	foreach(NeoMatrixReader voce in NeoMatrixReaders)
	{
		this.SendMessage(voce,"Que você tenha um Feliz Ano Novo, com muitas realizações, grana no bolso, saúde e amor!");
	}
}</pre>
<p>Um grande abraço!</p>
<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6431510018691746273-4010960533812835371?l=neomatrixtech.leonelfraga.com' alt='' /></div>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fleonelfraga.com%2Fneomatrixtech%2F%3Fp%3D488&amp;linkname=Feliz%20Ano%20Novo%21%21%21"><img src="http://leonelfraga.com/neomatrixtech/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a>]]></content:encoded>
			<wfw:commentRss>http://leonelfraga.com/neomatrixtech/?feed=rss2&amp;p=488</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://leonelfraga.com/neomatrixtech/?p=488</feedburner:origLink></item>
	</channel>
</rss>
