<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2portuguesefull.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>Yuri Malheiros</title>
	
	<link>http://yurimalheiros.com</link>
	<description>Professor e pesquisador do DCE - UFPB - Campus IV</description>
	<lastBuildDate>Thu, 25 Apr 2013 22:46:32 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/ylog" /><feedburner:info uri="ylog" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><feedburner:emailServiceId>ylog</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><feedburner:feedFlare href="http://add.my.yahoo.com/rss?url=http%3A%2F%2Ffeeds.feedburner.com%2Fylog" src="http://us.i1.yimg.com/us.yimg.com/i/us/my/addtomyyahoo4.gif">Subscribe with My Yahoo!</feedburner:feedFlare><feedburner:feedFlare href="http://www.newsgator.com/ngs/subscriber/subext.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2Fylog" src="http://www.newsgator.com/images/ngsub1.gif">Subscribe with NewsGator</feedburner:feedFlare><feedburner:feedFlare href="http://feeds.my.aol.com/add.jsp?url=http%3A%2F%2Ffeeds.feedburner.com%2Fylog" src="http://o.aolcdn.com/favorites.my.aol.com/webmaster/ffclient/webroot/locale/en-US/images/myAOLButtonSmall.gif">Subscribe with My AOL</feedburner:feedFlare><feedburner:feedFlare href="http://www.bloglines.com/sub/http://feeds.feedburner.com/ylog" src="http://www.bloglines.com/images/sub_modern11.gif">Subscribe with Bloglines</feedburner:feedFlare><feedburner:feedFlare href="http://www.netvibes.com/subscribe.php?url=http%3A%2F%2Ffeeds.feedburner.com%2Fylog" src="http://www.netvibes.com/img/add2netvibes.gif">Subscribe with Netvibes</feedburner:feedFlare><feedburner:feedFlare href="http://fusion.google.com/add?feedurl=http%3A%2F%2Ffeeds.feedburner.com%2Fylog" src="http://buttons.googlesyndication.com/fusion/add.gif">Subscribe with Google</feedburner:feedFlare><feedburner:feedFlare href="http://www.pageflakes.com/subscribe.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2Fylog" src="http://www.pageflakes.com/ImageFile.ashx?instanceId=Static_4&amp;fileName=ATP_blu_91x17.gif">Subscribe with Pageflakes</feedburner:feedFlare><item>
		<title>A máquina que sente e as eleições</title>
		<link>http://feedproxy.google.com/~r/ylog/~3/DsClo4aCnEQ/</link>
		<comments>http://yurimalheiros.com/2012/10/a-maquina-que-sente-e-as-eleicoes/#comments</comments>
		<pubDate>Thu, 04 Oct 2012 12:41:56 +0000</pubDate>
		<dc:creator>Yuri</dc:creator>
				<category><![CDATA[tecnologia]]></category>

		<guid isPermaLink="false">http://yurimalheiros.com/?p=363</guid>
		<description><![CDATA[Máquinas em geral são frias. Elas são ótimas em fazer tarefas repetitivas e exatas, atividades que os seres humanos não são tão bons em fazer. Por outro lado os seres humanos têm uma característica que passa longe das máquinas, a capacidade de ter e perceber sentimentos. Será mesmo? Antes de continuar falando em sentimentos preciso [...]]]></description>
				<content:encoded><![CDATA[<p>Máquinas em geral são frias. Elas são ótimas em fazer tarefas repetitivas e exatas, atividades que os seres humanos não são tão bons em fazer. Por outro lado os seres humanos têm uma característica que passa longe das máquinas, a capacidade de ter e perceber sentimentos.</p>
<p>Será mesmo?</p>
<p>Antes de continuar falando em sentimentos preciso introduzir um outro assunto. As eleições.</p>
<p>Várias vezes as pesquisas de intenção de voto aqui na Paraíba foram questionadas. Quando alguém cita uma pesquisa desse tipo numa conversa sempre refutam &#8220;e quem acredita nessas pesquisas?&#8221;.</p>
<p>Outro tipo de comentário que inspirou o que será apresentado a seguir era que algumas pessoas me falavam que as pesquisas não refletiam o que elas ouviam das pessoas nem o que elas viam em redes sociais. &#8220;Candidato X recebe tanto apoio nas redes sociais, mas está muito mal nas pesquisas.&#8221;</p>
<p>Será que isso era realmente verdade? O que eu posso fazer para saber se as pessoas estão falando bem ou mal dos candidatos? Ou melhor, tem como medir o grau de positividade ou negatividade dos comentários?</p>
<p>Essas questões ficaram martelando na minha cabeça, até eu colocar as mãos e a mente para trabalhar.</p>
<p>Eu poderia usar diversas técnicas para saber o que estão falando de cada candidato. A mais simples seria pegar mensagens e classificar manualmente em bom ou ruim, técnica que é utilizada até hoje nas campanhas. Mas eu não iria fazer isso, primeiro eu não teria tempo, segundo seria muito chato e terceiro eu queria fazer o computador extrapolar suas tarefas frias e exatas e passar a entender sentimentos.</p>
<p>Isso pode parecer algo mágico ou longe da realidade para quem não conhece muito bem, mas a área de <a href="http://en.wikipedia.org/wiki/Sentiment_analysis" target="_blank">análise de sentimentos</a> já mostrou ser possível identificar sentimentos através de operações exatas.</p>
<p>Com isso, eu analisei alguns trabalhos e resolvi utilizar o <a href="http://sentic.net/" target="_blank">Senticnet</a>. Que resumidamente é um <a href="http://en.wikipedia.org/wiki/Resource_Description_Framework" target="_blank">RDF</a> com uma grande quantidade de palavras e expressões classificadas de acordo com uma polaridade que varia de 1 a -1. Onde, 1 é o mais positivo possível e -1 o mais negativo possível. Por exemplo, a expressão &#8220;friday night&#8221;, algo bom, possui polaridade +0.728, já a palavra &#8220;monday&#8221;, dia odiado por muita gente, tem valor -0.847.</p>
<p>Com o Senticnet eu tinha a possibilidade de classificar mensagens textuais de redes sociais em positivas e negativas e ainda saber se uma mensagem é mais positiva que a outra ou mais negativa. Eu fiz um experimento inicial para saber que tipo de resultado eu teria. Existem inúmeros pontos que podem ser melhorados no experimento e ele está longe de ser perfeito, mas mesmo assim compartilharei com vocês o que eu fiz e quais foram os resultados.</p>
<p>Ainda é muito fácil pegar texto de tweets através de uma query. A avalanche de dados do microblog é um prato cheio para pesquisadores, então eu aproveitei e usei os tweets como minha fonte de informação para saber o que as pessoas estava falando sobre os candidatos na eleição.</p>
<p>Eu coletei aproximadamente 300 tweets para cada candidato por dia durante 14 dias. A coleta era feita em 3 horários diferentes do dia, 100 tweets de cada vez. Vocês perceberão no gráfico mais abaixo que existe um salto do dia 13/09 para o dia 19/09. Isso aconteceu por alguns problemas técnicos que me impediram de coletar tweets. O número de 300 tweets por candidato não é exato, pois eu estava rodando a coleta manualmente e aconteceu de alguns dias eu conseguir rodar apenas 2 coletas.</p>
<p>Ao pegar um tweet, o texto era dividido de três em três palavras e para cada conjunto de três palavras era feita uma tentativa de classificação usando o Senticnet. Se a expressão fosse encontrada, o valor da polaridade era atribuído a ela e as três palavras eram removidas do texto. O mesmo processo era feito para conjuntos de duas e uma palavra. Para finalizar a classificação do tweet era tirada a média das polaridades encontradas.</p>
<p>O Senticnet traz expressões em inglês e eu estava coletando mensagens em português. Para resolver esse problema eu traduzi cada tweet do português para inglês usando a API do Bing. Eu fiquei preocupado com esse passo, mas a tradução de mensagens pequenas como tweets se mostrou boa.</p>
<p>O gráfico abaixo mostra o resultado das classificações. Os valores no eixo y são as médias das classificações de todos os tweets de um candidato num certo dia. E os valores no eixo x são os dias.</p>
<p style="text-align: center;"><a href="http://yurimalheiros.com/wp-content/uploads/2012/10/Captura-de-Tela-2012-10-03-às-21.21.47.png"><img class="aligncenter " style="border: 0px;" title="Eleições de João Pessoa - Gráfico de polaridades" src="http://yurimalheiros.com/wp-content/uploads/2012/10/Captura-de-Tela-2012-10-03-às-21.21.47.png" alt="" width="559" height="275" /></a></p>
<p>O interessante desse gráfico é que ele não reflete muito bem as pesquisas eleitorais. Isso significa que alguém está errado? Não necessariamente. O que podemos afirmar é que a opinião do público das redes sociais, mais especificamente o Twitter, está refletida no gráfico e que talvez as redes sociais não tenham um impacto tão significativo nas eleições da Paraíba.</p>
<p>Entretanto, existem dados no gráfico que confirmam pesquisas e outras métricas das redes sociais. Podemos perceber, por exemplo, a candidata Estela com uma polaridade média maior em quase todos os dias. Se formos analisar as páginas dos candidatos no Facebook a métrica &#8220;Pessoas falando sobre isto&#8221; de Estela é bem maior que a dos outros, ou seja, os eleitores dela são mais participativos nas redes sociais.</p>
<p>Outros pontos de destaque é o pico de mensagens positivas do candidato Cícero no dia 25/09, mesmo ele tendo os menores valores em vários dias. E a subida do candidato Luciano Cartaxo nos últimos dias, o que se mostrou uma tendência nas pesquisas eleitorais também.</p>
<p>Espero que tenham gostado do experimento e ficaria muito feliz com o feedback de vocês seja através de dúvidas, sugestões, etc.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/ylog?a=DsClo4aCnEQ:KsVDaePdR90:I9og5sOYxJI"><img src="http://feeds.feedburner.com/~ff/ylog?d=I9og5sOYxJI" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ylog?a=DsClo4aCnEQ:KsVDaePdR90:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/ylog?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ylog?a=DsClo4aCnEQ:KsVDaePdR90:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/ylog?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ylog?a=DsClo4aCnEQ:KsVDaePdR90:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/ylog?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ylog?a=DsClo4aCnEQ:KsVDaePdR90:pWulJD7va_g"><img src="http://feeds.feedburner.com/~ff/ylog?d=pWulJD7va_g" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/ylog/~4/DsClo4aCnEQ" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://yurimalheiros.com/2012/10/a-maquina-que-sente-e-as-eleicoes/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		<feedburner:origLink>http://yurimalheiros.com/2012/10/a-maquina-que-sente-e-as-eleicoes/</feedburner:origLink></item>
		<item>
		<title>Seelo, um novo projeto</title>
		<link>http://feedproxy.google.com/~r/ylog/~3/k5Ymm-4zb18/</link>
		<comments>http://yurimalheiros.com/2012/09/seelo-um-novo-projeto/#comments</comments>
		<pubDate>Mon, 24 Sep 2012 18:33:29 +0000</pubDate>
		<dc:creator>Yuri</dc:creator>
				<category><![CDATA[internet]]></category>

		<guid isPermaLink="false">http://yurimalheiros.com/?p=361</guid>
		<description><![CDATA[Eu realmente gosto de coçar minha própria coceira, de resolver meus problemas que ainda não foram resolvidos de forma adequada, que eu goste. A motivação e o cuidado que se tem ao trabalhar em algo que você se importa e que vai ter um impacto positivo claro são muito maiores que em qualquer outro caso. [...]]]></description>
				<content:encoded><![CDATA[<p>Eu realmente gosto de coçar minha própria coceira, de resolver meus problemas que ainda não foram resolvidos de forma adequada, que eu goste. A motivação e o cuidado que se tem ao trabalhar em algo que você se importa e que vai ter um impacto positivo claro são muito maiores que em qualquer outro caso.</p>
<p>Desde que eu comecei a dar aulas eu nunca me senti satisfeito com as ferramentas que eu tinha para gerenciar coisas relacionadas as minhas disciplinas. Eu procurei e testei muitas opções, mas a frustração só aumentava, tudo parecia meio tosco e não resolvia o que eu queria. Cada experiência ruim alimentava minha vontade de eu mesmo resolver o meu problema, de criar algo que iria facilitar o meu dia a dia como professor.</p>
<p>Discutindo a ideia com amigos, eu recebi um bom feedback e descobri que talvez outras pessoas pudessem usufruir do que eu queria construir. Até que <a href="http://twitter.com/andredieb" target="_blank">um deles</a> gostou tanto da ideia que resolveu botar a mão na massa comigo para transformar o que estávamos pensando em realidade.</p>
<p>Após várias semanas, hoje temos um produto funcionando. O <a href="http://seelo.com.br" target="_blank">Seelo</a> será o sistema que eu usarei para criar as páginas das disciplinas que ministrarei a partir de agora. Nele eu consigo fazer tudo o que é mais comum na comunicação entre professor e alunos via Internet, ou seja, postar informações sobre as disciplinas, enviar avisos, fazer upload de materiais e sanar dúvidas dos alunos.</p>
<p>Eu estou gostando bastante do formato do sistema de perguntas e respostas. Ele trará uma nova forma de interação entre os alunos. Hoje em dia eu costumo receber emails, responder e fim. Eu ajudo os alunos, mas eles não se ajudam.</p>
<p>Com o <a href="http://seelo.com.br" target="_blank">Seelo</a> nós temos um ambiente que possibilita uma maior colaboração para que os alunos aprendam em conjunto e para que consigam se ajudar. Juntos todos estarão construindo um banco de conhecimento muito interessante sobre os assuntos das disciplinas.</p>
<p>Hoje estamos disponibilizando uma <a href="http://seelo.com.br" target="_blank">landing page</a> com informações sobre o sistema e um formulário para quem tiver interesse no Seelo, seja você aluno ou professor. No próximo semestre (que começa em outubro para mim por causa das paralizações das universidades) usarei o Seelo para minhas disciplinas e também abriremos o sistema em breve para alguns early users testarem.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/ylog?a=k5Ymm-4zb18:7NCudZp1EyE:I9og5sOYxJI"><img src="http://feeds.feedburner.com/~ff/ylog?d=I9og5sOYxJI" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ylog?a=k5Ymm-4zb18:7NCudZp1EyE:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/ylog?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ylog?a=k5Ymm-4zb18:7NCudZp1EyE:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/ylog?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ylog?a=k5Ymm-4zb18:7NCudZp1EyE:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/ylog?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ylog?a=k5Ymm-4zb18:7NCudZp1EyE:pWulJD7va_g"><img src="http://feeds.feedburner.com/~ff/ylog?d=pWulJD7va_g" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/ylog/~4/k5Ymm-4zb18" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://yurimalheiros.com/2012/09/seelo-um-novo-projeto/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://yurimalheiros.com/2012/09/seelo-um-novo-projeto/</feedburner:origLink></item>
		<item>
		<title>Swipe left/right usando o tracking.js</title>
		<link>http://feedproxy.google.com/~r/ylog/~3/xq5PgDRdnso/</link>
		<comments>http://yurimalheiros.com/2012/09/swipe-leftright-usando-o-tracking-js/#comments</comments>
		<pubDate>Tue, 04 Sep 2012 11:30:22 +0000</pubDate>
		<dc:creator>Yuri</dc:creator>
				<category><![CDATA[programação]]></category>

		<guid isPermaLink="false">http://yurimalheiros.com/?p=358</guid>
		<description><![CDATA[Semana passada aconteceu o Brazil.js, a maior conferência de JavaScript do universo. É, eles usam esse slogan mesmo :) Eu não fui. Na verdade eu estava bem longe, são uns 4000 kms de João Pessoa até Porto Alegre. Mas graças a Internet e a transmissão fornecida pelo site do evento, eu consegui assistir uma palestra. [...]]]></description>
				<content:encoded><![CDATA[<p>Semana passada aconteceu o <a href="http://braziljs.com.br/" target="_blank">Brazil.js</a>, a maior conferência de JavaScript do universo. É, eles usam esse slogan mesmo :)</p>
<p>Eu não fui. Na verdade eu estava bem longe, são uns 4000 kms de João Pessoa até Porto Alegre. Mas graças a Internet e a transmissão fornecida pelo site do evento, eu consegui assistir <strong>uma</strong> palestra.</p>
<p>O evento foi durante a semana, eu estava fazendo um bocado de coisas e não tive muito tempo para parar e assistir várias palestras. Entretanto a única palestra que eu vi valeu muito a pena.</p>
<p>Eu assisti o pernambucano <a href="http://eduardolundgren.com/" target="_blank">Eduardo Lundgren</a> falando sobre um projeto chamado <a href="http://trackingjs.com/" target="_blank">tracking.js</a>, uma biblioteca que traz para o browser a capacidade de rastreamento de elementos em uma cena capturada pela câmera do seu computador.</p>
<p>Parece complicado, não é? Não. Além de ser sensacional fazer tracking de elementos numa cena com marcadores de uma certa cor ou de faces ou de mãos, a biblioteca é muito fácil de usar.</p>
<p>Ser interessante e fácil de usar são elementos chaves para inspirar hacks, pois em pouco tempo você consegue gerar resultados surpreendentes.</p>
<p>Claro, eu fiz meu hack também. A minha ideia era conseguir usar gestures com o tracking da câmera. Um gesture simples que pode ser feito com apenas um ponto é o swipe, aquele que você faz no celular tocando o dedo na tela e movimentando rapidamente para um dos lados.</p>
<p>Eu usei o tracking de cor no experimento que eu fiz, por preguiça eu pintei a tela do meu celular que estava por perto de magenta para servir de marcador. Movimentando o celular rapidamente para um lado ou para o outro eu fiz imagens passarem no browser. O resultado ficou bastante interessante.</p>
<p>E para não matar vocês de curiosidade apresentando apenas texto sobre um experimento bastante visual, eu gravei um vídeo rápido mostrando o resultado.</p>
<p><iframe width="420" height="315" src="http://www.youtube.com/embed/YsAHlamS9_s?rel=0" frameborder="0" allowfullscreen></iframe></p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/ylog?a=xq5PgDRdnso:bp_FnTVHTTw:I9og5sOYxJI"><img src="http://feeds.feedburner.com/~ff/ylog?d=I9og5sOYxJI" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ylog?a=xq5PgDRdnso:bp_FnTVHTTw:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/ylog?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ylog?a=xq5PgDRdnso:bp_FnTVHTTw:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/ylog?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ylog?a=xq5PgDRdnso:bp_FnTVHTTw:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/ylog?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ylog?a=xq5PgDRdnso:bp_FnTVHTTw:pWulJD7va_g"><img src="http://feeds.feedburner.com/~ff/ylog?d=pWulJD7va_g" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/ylog/~4/xq5PgDRdnso" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://yurimalheiros.com/2012/09/swipe-leftright-usando-o-tracking-js/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://yurimalheiros.com/2012/09/swipe-leftright-usando-o-tracking-js/</feedburner:origLink></item>
		<item>
		<title>Classificação por compressão</title>
		<link>http://feedproxy.google.com/~r/ylog/~3/1EGwn6mA5vQ/</link>
		<comments>http://yurimalheiros.com/2012/08/classificacao-por-compressao/#comments</comments>
		<pubDate>Mon, 27 Aug 2012 12:00:06 +0000</pubDate>
		<dc:creator>Yuri</dc:creator>
				<category><![CDATA[inteligência artificial]]></category>

		<guid isPermaLink="false">http://yurimalheiros.com/?p=355</guid>
		<description><![CDATA[Apesar de não parecer existir relação alguma ente comprimir e classificar dados, essa técnica na verdade é conhecida e bastante estudada, e faz muito sentido se a gente lembrar que compressão tem a ver com teoria da informação. Eu mesmo já usei desse conhecimento para conseguir classificar texto. O que eu nunca tinha feito era [...]]]></description>
				<content:encoded><![CDATA[<p>Apesar de não parecer existir relação alguma ente comprimir e classificar dados, essa técnica na verdade é conhecida e bastante estudada, e faz muito sentido se a gente lembrar que compressão tem a ver com <a href="http://pt.wikipedia.org/wiki/Teoria_da_informa%C3%A7%C3%A3o" target="_blank">teoria da informação</a>. Eu mesmo já usei desse conhecimento para conseguir classificar texto.</p>
<p>O que eu nunca tinha feito era procurar uma forma que fosse simples para mostrar a técnica funcionando e que qualquer pessoa pudesse testar rapidamente. Até que recentemente assistindo vídeos da <a href="http://ai-class.org" target="_blank">ai-class.org</a> eu vi o <a href="http://norvig.com/bio.html" target="_blank">Norvig</a> fazendo um experimento de classificação com o gzip. A seguir eu vou mostrar um exemplo parecido, mas levemente modificado.</p>
<p>Nesse exemplo nós vamos tentar descobrir em que idioma um texto foi escrito usando o gzip direto na linha de comando. Para isso precisamos de duas coisas: textos para ensinar o computador idiomas e os textos que queremos classificar, ou seja, que queremos saber em que idioma foi escrito.</p>
<p>Vamos usar três idiomas: português, inglês e alemão. Para os textos de treinamento que vão ensinar o computador eu copiei parágrafos de notícias do G1 (português), New York Times (inglês) e DW (alemão), e colei em arquivos separados para cada idioma. Já para a classificação eu usarei parágrafos da biografia de Isaac Asimov tirados da Wikipédia.</p>
<p>Notem que não foi feita nenhuma escolha complicada dos textos, eu simplesmente peguei exemplos em cada um dos idiomas e vou usá-los para treinar e classificar. A única ressalva é quanto o tamanho dos arquivos de texto, para não influenciar no resultado da compressão eu limitei todos a aproximadamente 1000 caracteres.</p>
<p>Os arquivos de treinamento se chamam PT, EN e DE, respectivamente para os idiomas português, inglês e alemão. E os que serão classificados são ex-PT, ex-EN e ex-DE. Os arquivos que eu usei podem ser encontrados aqui: https://gist.github.com/3478618.</p>
<p>Depois disso só precisamos de algumas linhas de bash script para fazer o classificador funcionar.</p>
<p><code>echo classificando texto em ingles:<br />
(echo `cat EN ex-EN | gzip | wc -c` EN; \<br />
echo `cat DE ex-EN | gzip | wc -c` DE; \<br />
echo `cat PT ex-EN | gzip | wc -c` PT) \<br />
| sort -n</p>
<p>echo<br />
echo classificando texto em alemao:<br />
(echo `cat EN ex-DE | gzip | wc -c` EN; \<br />
echo `cat DE ex-DE | gzip | wc -c` DE; \<br />
echo `cat PT ex-DE | gzip | wc -c` PT) \<br />
| sort -n</p>
<p>echo<br />
echo classificando texto em portugues:<br />
(echo `cat EN ex-PT | gzip | wc -c` EN; \<br />
echo `cat DE ex-PT | gzip | wc -c` DE; \<br />
echo `cat PT ex-PT | gzip | wc -c` PT) \<br />
| sort -n<br />
</code></p>
<p>A saída exibe a classificação para cada um dos idiomas. A lista apresentada mostra em cada linha o número de caracteres do arquivo comprimido e o idioma usado para aquela compressão. Isso significa que o primeiro da lista, ou seja, o que tiver menos caracteres como resultado da compressão é o idioma mais parecido com o texto que está sendo classificado.</p>
<p>A ideia por trás desse classificador é a seguinte. Quanto maior for a compressão da concatenação entre o arquivo de treinamento e o classificado, então mais parecido eles são. Dado que textos escritos num idioma em comum são mais parecidos entre si que textos de idiomas diferentes, então é possível classificá-los usando essa abordagem.</p>
<p>E por que a compressão entre textos mais parecidos é maior? Bom, os compressores costumam procurar padrões nos arquivos que se repetem para poder comprimir mais. Então se no texto a ser classificado existem muitos padrões que se repetem no texto de treinamento, o compressor vai conseguir comprimir mais. De fato é fácil perceber que existem muito mais padrões em comum entre textos de idiomas iguais que de idiomas diferentes. Um exemplo simples de padrão que se repete são as palavras, pois existem palavras exclusivas, ou que são mais frequentes, em cada idioma.</p>
<p>Façam alguns testes com diferentes textos, é interessante ver como os arquivos de treinamento podem influenciar. Também testem classificações diferentes, não precisa ser apenas classificação de idiomas, é possível, por exemplo, pegar notícias de esporte, política e sobre celebridades e tentar classificar em que categoria um texto se encaixa. Vale alertar que nem sempre o classificador acertará tudo, principalmente um classificador simples como esse apresentado.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/ylog?a=1EGwn6mA5vQ:ROsGi3rzbDw:I9og5sOYxJI"><img src="http://feeds.feedburner.com/~ff/ylog?d=I9og5sOYxJI" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ylog?a=1EGwn6mA5vQ:ROsGi3rzbDw:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/ylog?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ylog?a=1EGwn6mA5vQ:ROsGi3rzbDw:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/ylog?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ylog?a=1EGwn6mA5vQ:ROsGi3rzbDw:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/ylog?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ylog?a=1EGwn6mA5vQ:ROsGi3rzbDw:pWulJD7va_g"><img src="http://feeds.feedburner.com/~ff/ylog?d=pWulJD7va_g" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/ylog/~4/1EGwn6mA5vQ" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://yurimalheiros.com/2012/08/classificacao-por-compressao/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://yurimalheiros.com/2012/08/classificacao-por-compressao/</feedburner:origLink></item>
		<item>
		<title>Xingar muito no Twitter é coisa séria</title>
		<link>http://feedproxy.google.com/~r/ylog/~3/1l-1KWWdh0g/</link>
		<comments>http://yurimalheiros.com/2012/06/xingar-muito-no-twitter-e-coisa-seria/#comments</comments>
		<pubDate>Tue, 26 Jun 2012 11:30:13 +0000</pubDate>
		<dc:creator>Yuri</dc:creator>
				<category><![CDATA[internet]]></category>

		<guid isPermaLink="false">http://yurimalheiros.com/?p=352</guid>
		<description><![CDATA[A gente adora reclamar nas redes sociais, certo? Tem gente que passa dos limites, mas de vez em quando qualquer um de nós gosta de soltar uma mensagem dizendo que o clima está ruim, que o atendimento de um certo restaurante é péssimo, ou que um software tem um bug pertubador. Além de aliviar a [...]]]></description>
				<content:encoded><![CDATA[<p>A gente adora reclamar nas redes sociais, certo? Tem gente que passa dos limites, mas de vez em quando qualquer um de nós gosta de soltar uma mensagem dizendo que o clima está ruim, que o atendimento de um certo restaurante é péssimo, ou que um software tem um bug pertubador.</p>
<p>Além de aliviar a raiva essas mensagens também funcionam como um alerta para nossos amigos e seguidores servindo como uma recomendação ao contrário, ou seja, se eu estou reclamando é por que não presta, ou simplesmente não prestou para mim.</p>
<p>Nas redes sociais existem os que reclamam e existem os que reclamam dos que reclamam. O segundo grupo afirma que reclamar em redes sociais não adianta, que é melhor levantar da cadeira e fazer um protesto de verdade. Isso em muitos casos pode ser verdade, mas dizer que não adianta é um equívoco.</p>
<p>Vocês conhecem o Netflix. O serviço de stream de vídeo que usa mais de 30% da banda da Internet dos Estados Unidos, possui uns 26 milhões de usuários e em 2011 já tinha ganhado 1,5 bilhão de dólares. Coisa séria.</p>
<p>O Netflix tem um monte de tecnologia bacana para conseguir fazer algo tão intenso funcionar, entre elas um sistema interessantíssimo para descobrir problemas nos seus serviços. O que não deve ser uma tarefa simples, dada a quantidade de gente usando e vendo vídeos em tempo real nas mais diferentes plataformas.</p>
<p>O SPOONS é uma parte do sistema de detecção de falhas do Netflix. Ele utiliza apenas informações disponíveis publicamente para detectar erros nos serviços do Netflix, mais especificamente, ele monitora o Twitter para saber se as pessoas estão xingando muito o Netflix por lá.</p>
<p>O sistema do Netflix analisa os tweets e classifica cada mensagem em classes como: estão reclamando do serviço, estão dizendo que o serviço está fora do ar, estão felizes com o Netflix, etc. Então se você escreve um #netflixfail saiba que você está dando um importante feedback para que o serviço possa melhorar.</p>
<p>Se você acha que ninguém está vendo, você está muito errado. E se pensarmos bem faz todo o sentido as empresas monitarem redes sociais para saber o que os seus clientes pensam dos seus serviços em tempo real. Tudo possível graças a Rede.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/ylog?a=1l-1KWWdh0g:pDBmhMwrirA:I9og5sOYxJI"><img src="http://feeds.feedburner.com/~ff/ylog?d=I9og5sOYxJI" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ylog?a=1l-1KWWdh0g:pDBmhMwrirA:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/ylog?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ylog?a=1l-1KWWdh0g:pDBmhMwrirA:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/ylog?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ylog?a=1l-1KWWdh0g:pDBmhMwrirA:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/ylog?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ylog?a=1l-1KWWdh0g:pDBmhMwrirA:pWulJD7va_g"><img src="http://feeds.feedburner.com/~ff/ylog?d=pWulJD7va_g" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/ylog/~4/1l-1KWWdh0g" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://yurimalheiros.com/2012/06/xingar-muito-no-twitter-e-coisa-seria/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://yurimalheiros.com/2012/06/xingar-muito-no-twitter-e-coisa-seria/</feedburner:origLink></item>
		<item>
		<title>Dojo em sala de aula 2</title>
		<link>http://feedproxy.google.com/~r/ylog/~3/LVWimcb98D4/</link>
		<comments>http://yurimalheiros.com/2012/06/dojo-em-sala-de-aula-2/#comments</comments>
		<pubDate>Tue, 12 Jun 2012 14:44:28 +0000</pubDate>
		<dc:creator>Yuri</dc:creator>
				<category><![CDATA[programação]]></category>

		<guid isPermaLink="false">http://yurimalheiros.com/?p=342</guid>
		<description><![CDATA[Uma outra coisa bacana que aconteceu no 1o semestre do ano foi que eu mudei de emprego! Saí do IFPB para UFPB. Foi só uma letra que mudou, mas na verdade tem um bocado de coisa diferente. Foi meio corrido, eu cheguei com o semestre já iniciado e comecei a ministrar aulas no lugar de [...]]]></description>
				<content:encoded><![CDATA[<p>Uma outra coisa bacana que aconteceu no 1o semestre do ano foi que eu mudei de emprego! Saí do IFPB para UFPB. Foi só uma letra que mudou, mas na verdade tem um bocado de coisa diferente.</p>
<p>Foi meio corrido, eu cheguei com o semestre já iniciado e comecei a ministrar aulas no lugar de outros professores. Em uma das turmas que eu herdei os alunos precisavam fazer vários exercícios de programação para fixar melhor o assunto, afinal aprender programação só com teoria não funciona. Da forma mais rápida possível eu preparei alguns problemas e pedi para os alunos resolverem nas aulas no laboratório.</p>
<p>A primeira aula de exercício não foi boa, a apatia era geral. A segunda foi ainda pior. Eu percebia que alguns alunos simplesmente estavam perdidos e não sabiam para onde ir, mesmo após tirar muitas dúvidas comigo, mas por outro lado alguns terminavam o exercício em cerca de 30 minutos.</p>
<p>É bastante complicado lidar com alunos com níveis muito distintos, pois se você vai muito rápido alguns não acompanham, mas se você vai muito devagar os melhores alunos ficam entediados. Entretanto eu não podia deixar o andamento das aulas continuar como estava, não dava para aceitar o que estava acontecendo como normal. Eu não sabia se eu conseguiria resolver, mas eu no mínimo precisava tentar melhorar.</p>
<p>Após pensar um pouco eu lembrei que minha experiência de levar coding dojos para sala da aula tinha sido ótima. Essa é uma excelente forma de aprender programação em conjunto sem deixar ninguém para trás nem entediado.</p>
<p>Na aula seguinte eu expliquei que faria um experimento com a turma, eu iria mudar totalmente o andamento da aula de exercícios. Se funcionasse eu manteria o formato, se não eu teria que pensar mais como melhorar. A partir daí eu expliquei o formato do dojo para os alunos. Quando eu terminei a primeira pergunta foi: &#8220;isso funciona?&#8221; A desconfiança pairava no ar.</p>
<p>Expliquei o problema a ser resolvido e logo começamos a programar. Aos poucos eu fui percebendo que a turma era melhor do que aparentava, os alunos sabiam o que estavam fazendo, mas algumas vezes esbarravam em obstáculos que sozinhos eram difíceis de passar. Agora a situação era outra, existia um co-piloto para ajudar quem estivesse programando diretamente e também as outras pessoas na sala.</p>
<p>A aula fluiu. Os alunos já conheciam testes unitários o que facilitou bastante a introdução do TDD. E aos poucos fomos resolvendo o problema em conjunto.</p>
<p>A aula foi suficiente para acabar com a desconfiança do método. A partir desse dia ninguém quis mais voltar para o modelo antigo.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/ylog?a=LVWimcb98D4:cjbFYW4TXzQ:I9og5sOYxJI"><img src="http://feeds.feedburner.com/~ff/ylog?d=I9og5sOYxJI" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ylog?a=LVWimcb98D4:cjbFYW4TXzQ:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/ylog?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ylog?a=LVWimcb98D4:cjbFYW4TXzQ:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/ylog?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ylog?a=LVWimcb98D4:cjbFYW4TXzQ:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/ylog?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ylog?a=LVWimcb98D4:cjbFYW4TXzQ:pWulJD7va_g"><img src="http://feeds.feedburner.com/~ff/ylog?d=pWulJD7va_g" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/ylog/~4/LVWimcb98D4" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://yurimalheiros.com/2012/06/dojo-em-sala-de-aula-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://yurimalheiros.com/2012/06/dojo-em-sala-de-aula-2/</feedburner:origLink></item>
		<item>
		<title>Viagens, tempo perdido e podcasts</title>
		<link>http://feedproxy.google.com/~r/ylog/~3/wv20RgpHQ_c/</link>
		<comments>http://yurimalheiros.com/2012/05/viagens-tempo-perdido-e-podcasts/#comments</comments>
		<pubDate>Fri, 04 May 2012 11:30:14 +0000</pubDate>
		<dc:creator>Yuri</dc:creator>
				<category><![CDATA[lifestyle]]></category>

		<guid isPermaLink="false">http://yurimalheiros.com/?p=339</guid>
		<description><![CDATA[Esse semestre eu voltei a assistir aulas em Recife, não no mesmo ritmo que eu assistia no mestrado, pois não se tem muito tempo quando é necessário conciliar as aulas com o trabalho. Uma vez por semana eu saio de João Pessoa em direção a UFPE. A viagem dura mais ou menos uma hora e [...]]]></description>
				<content:encoded><![CDATA[<p>Esse semestre eu voltei a assistir aulas em Recife, não no mesmo ritmo que eu assistia no mestrado, pois não se tem muito tempo quando é necessário conciliar as aulas com o trabalho.</p>
<p>Uma vez por semana eu saio de João Pessoa em direção a UFPE. A viagem dura mais ou menos uma hora e trinta minutos, não é longe, mas a rotina acaba tornando esse período muito entediante. Cadê o teletransporte que ainda não inventaram? Eu ficaria muito feliz :)</p>
<p>As coisas melhoram com música. Em uma hora e meia eu consigo escutar mais de álbum completo. Diversão garantida para quem gosta de música e gosta de escutar coisas novas como eu.</p>
<p>Venci o tédio, mas aí outra coisa começou a martelar na minha cabeça. Eu estava passando mais de 3 horas (1h30m + 1h30m + imprevistos) dentro do carro sem fazer nada. Dirigir é uma perda de tempo. Tem gente meio maluca que considera tudo que não é trabalho perda tempo, isso é ser radical e estúpido, mas para mim, trabalho repetitivo e mecânico (sim, dirigir se encaixa nessa classificação) deve ser evitado. Como um bom cientista da computação eu penso: é chato e é automatizável, então faça a máquina trabalhar por você.</p>
<p>O Driverless car, diferente do teletransporte, é algo mais concreto, mas ele também ainda não é acessível. Dessa forma, eu tinha que preencher meu tempo com alguma coisa.</p>
<p>Eu baixei alguns episódios de podcasts. Eu sempre achei o formato interessante, mas nunca parava para escutar. Eu não consigo ouvir um podcast e trabalhar ao mesmo tempo, então quando eu queria consumir informação eu lia que era mais proveitoso.</p>
<p>Meu fiel companheiro de viagens é o excelente <a href="http://www.castalio.info/" target="_blank">Castálio Podcast</a> do também excelente <a href="http://twitter.com/ogmaciel" target="_blank">Og Maciel</a>. O Og entrevista um monte de gente bacana, bonita e descolada no podcast, inclusive quem está escrevendo aqui <a href="http://www.castalio.info/yuri-malheiros-engenharia-de-software-e-inteligencia-artificial/" target="_blank">já participou de um episódio lá</a>. Eu posso dizer que o podcast só vem melhorando a cada episódio e acho que todo mundo deveria ouvir.</p>
<p>Um outro podcast nacional bem legal é o <a href="http://grokpodcast.com" target="_blank">Grok Podcast</a>. Ele tem um formato de episódios curtos que me agrada bastante.</p>
<p>Podcast gringo eu já tentei ouvir vários, uns eu gostei e eles pararam de atualizar, outros eu não gostei e nem sei se tão atualizando, pois eu apaguei tudo já. Entretanto eu ainda estou ouvindo alguns podcasts internacionais.</p>
<p>Eu gosto do <a href="http://www.70decibels.com/enough/" target="_blank">Enough podcast</a>, do Patrick do site <a href="http://minimalmac.com/" target="_blank">Minimal Mac</a>. O podcast tem mais de 100 episódios e eles fazem upload de novos episódios num ritmo incrível. Toda semana tem pelo menos umas duas coisas novas para ouvir. </p>
<p>Essa semana eu descobri o <a href="http://www.nerdist.com/category/podcast/" target="_blank">podcast do The Nerdist</a>. Eu ri muito com o episódio com o Tim Ferris e também ouvi um com o Mike Shinoda do Linkin Park. O legal desse podcast é que eles tem convidados bem famosos. Eu já baixei episódios que eles entrevistam o Chris Anderson, o Neil Patrick Harris e o JJ Abrams. Pretendo ouvir todos em breve.</p>
<p>Para finalizar, eu queria pedir um favor a vocês. Alguma recomendação de podcast? Eu sou meio novo na área e queria saber o que vocês gostam.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/ylog?a=wv20RgpHQ_c:1pxDDV_1_Sc:I9og5sOYxJI"><img src="http://feeds.feedburner.com/~ff/ylog?d=I9og5sOYxJI" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ylog?a=wv20RgpHQ_c:1pxDDV_1_Sc:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/ylog?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ylog?a=wv20RgpHQ_c:1pxDDV_1_Sc:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/ylog?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ylog?a=wv20RgpHQ_c:1pxDDV_1_Sc:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/ylog?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ylog?a=wv20RgpHQ_c:1pxDDV_1_Sc:pWulJD7va_g"><img src="http://feeds.feedburner.com/~ff/ylog?d=pWulJD7va_g" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/ylog/~4/wv20RgpHQ_c" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://yurimalheiros.com/2012/05/viagens-tempo-perdido-e-podcasts/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://yurimalheiros.com/2012/05/viagens-tempo-perdido-e-podcasts/</feedburner:origLink></item>
		<item>
		<title>Como eu comecei a programar</title>
		<link>http://feedproxy.google.com/~r/ylog/~3/fIMLMlRk-4I/</link>
		<comments>http://yurimalheiros.com/2012/04/como-eu-comecei-a-programar/#comments</comments>
		<pubDate>Thu, 26 Apr 2012 18:45:16 +0000</pubDate>
		<dc:creator>Yuri</dc:creator>
				<category><![CDATA[programação]]></category>

		<guid isPermaLink="false">http://yurimalheiros.com/?p=338</guid>
		<description><![CDATA[Eu já ouvi várias histórias de como muitas pessoas começaram a programar. Muita gente na nossa área tem uma curiosidade fora do normal e começa no mundo do desenvolvimento antes mesmo de entrar num curso técnico ou na faculdade. Tem gente que ganhou um computador do pai e aprendeu a programá-lo, outros começaram seguindo tutoriais [...]]]></description>
				<content:encoded><![CDATA[<p>Eu já ouvi várias histórias de como muitas pessoas começaram a programar. Muita gente na nossa área tem uma curiosidade fora do normal e começa no mundo do desenvolvimento antes mesmo de entrar num curso técnico ou na faculdade. Tem gente que ganhou um computador do pai e aprendeu a programá-lo, outros começaram seguindo tutoriais na Internet e alguns começaram realmente em escolas/instituições especializadas.</p>
<p>Eu também comecei muito antes de pensar em fazer computação. E conheço várias outras pessoas de idade parecida com a minha (vinte e poucos anos), que tiveram o seu primeiro contato com a programação da mesma forma que eu.</p>
<p>Há muito tempo atrás o mIRC era febre entre os brasileiros. Todos usavam o programa de chat para se comunicar com amigos, com futuros amigos e com desconhecidos que nunca encontraríamos. Até hoje eu acho o formato do IRC muito interessante, pena que ele hoje pareça ser restrito apenas para os geeks.</p>
<p>O mIRC tinha uma coisa muito legal que nem todo mundo sabia mexer, apenas os <del datetime="2012-04-26T18:33:50+00:00">nerds</del>hackers iam fundo o bastante no programa para saber que era possível modificar o mIRC completamente. A coisa era tão poderosa que as versões modificadas do mIRC (os scripts) eram mais populares que o programa original.</p>
<p>Outra coisa muito legal no mIRC era que o código dos scripts estavam acessíveis. Eles eram opensource por natureza. Então, além de poder usar e criar, eu poderia modificar os scripts existentes. Infelizmente era comum os programadores criarem código ilegível para que as pessoas não copiassem, mas mesmo assim estava lá, era só quebrar um pouco mais a cabeça que o código começava a fazer sentido.</p>
<p>E foi modificando scripts que eu comecei a tomar gosto pela programação. Se eu não gostava de algo eu ia no código e modificava. Se eu queria algo novo eu adicionava ou se eu queria tirar algo também era possível remover. Eu tinha os poderes de modificar a ferramenta que eu usava nas minhas mãos, isso era sensacional!</p>
<p>Naturalmente o próximo passo depois de aprender a mexer no código dos outros é criar o seu próprio. É interessante notar hoje que já naquele tempo eu gostava de uma interface mais limpa, os scripts que eu usava e criava não tinham muito a ver com os mais populares e espalhafatosos que as pessoas usavam. Alguns eram perturbadoramente poluídos.</p>
<p>Eu aprendi um bocado fazendo scripts. Aprendi a usar condicionais, loops, variáveis, a mexer com eventos, entre outras coisas. Eu até hoje lembro quando introduziram o comando while, antes os loops eram feitos no melhor estilo gambiarra com goto, aquele avançado comando while não entrava na minha cabeça. Parece simples o que tínhamos quando comparado com o que eu mexo hoje, mas era realmente empolgante aprender para resolver um problema que eu tinha. Eu não estava aprendendo por que alguém mandava, eu estava aprendendo para que eu conseguisse detectar se uma pessoa falou um palavrão e kická-la do canal.</p>
<p>Nós deveríamos incentivar mais o espírito hacker nas pessoas. Criar tecnologias para que elas criem suas próprias soluções. Ok, tem gente que quer apenas apertar um botão e resolver todos os problemas, mas sempre teremos pessoas com uma curiosidade fora do normal que desejam saber o que tem por trás do botão que faz tudo sozinho e essas pessoas deveriam ser incentivadas e deveriam ter meios para mudar o que existe por trás do botão.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/ylog?a=fIMLMlRk-4I:tOGfBBSQdk8:I9og5sOYxJI"><img src="http://feeds.feedburner.com/~ff/ylog?d=I9og5sOYxJI" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ylog?a=fIMLMlRk-4I:tOGfBBSQdk8:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/ylog?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ylog?a=fIMLMlRk-4I:tOGfBBSQdk8:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/ylog?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ylog?a=fIMLMlRk-4I:tOGfBBSQdk8:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/ylog?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ylog?a=fIMLMlRk-4I:tOGfBBSQdk8:pWulJD7va_g"><img src="http://feeds.feedburner.com/~ff/ylog?d=pWulJD7va_g" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/ylog/~4/fIMLMlRk-4I" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://yurimalheiros.com/2012/04/como-eu-comecei-a-programar/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://yurimalheiros.com/2012/04/como-eu-comecei-a-programar/</feedburner:origLink></item>
		<item>
		<title>Esquecimento na Rede</title>
		<link>http://feedproxy.google.com/~r/ylog/~3/p8likM0PLXA/</link>
		<comments>http://yurimalheiros.com/2012/04/esquecimento-na-rede/#comments</comments>
		<pubDate>Wed, 11 Apr 2012 13:56:15 +0000</pubDate>
		<dc:creator>Yuri</dc:creator>
				<category><![CDATA[internet]]></category>

		<guid isPermaLink="false">http://yurimalheiros.com/?p=336</guid>
		<description><![CDATA[&#8220;The Internet&#8217;s not written in pencil, Mark, it&#8217;s written in ink&#8221; (The Social Network) A fala da (fictícia?) namorada do Mark Zuckerberg no filme The Social Network é extremamente inteligente e nos faz refletir sobre o funcionamento da Rede. A Internet nunca esquece? O povo tem memória curta. Acho que todo mundo já ouviu essa [...]]]></description>
				<content:encoded><![CDATA[<p>&#8220;The Internet&#8217;s not written in pencil, Mark, it&#8217;s written in ink&#8221; (The Social Network)</p>
<p>A fala da (fictícia?) namorada do Mark Zuckerberg no filme The Social Network é extremamente inteligente e nos faz refletir sobre o funcionamento da Rede. A Internet nunca esquece?</p>
<p>O povo tem memória curta. Acho que todo mundo já ouviu essa frase na vida. Eu mesmo sei que minha memória não é das melhores e esse é um dos motivos por eu achar ótimo o fato do computador ser uma excelente máquina de armazenamento de informação. Podemos deixar uma atividade que falhamos com frequência nas mãos da tecnologia que faz isso bem melhor que a gente.</p>
<p>Entretanto esquecer as vezes é bom. Lembrar todos os pequenos detalhes a todo momento talvez nos levasse a um estado não muito são.</p>
<p>É difícil fazer a Rede esquecer. Mesmo quando se tenta apagar todos os rastros alguém já fez uma cópia e publicou em outro lugar. É impressionante o poder de replicação da Internet. Tirou uma página do ar? O gigante das buscas tem uma cópia prontinha para todo mundo acessar através do seu cache. A informação se multiplica tão rapidamente que é quase impossível apagá-la.</p>
<p>Algumas tentativas de desaparecer da Rede ficaram conhecidas como infosuicídio. Isso acontece quando alguém tenta apagar todos os seus rastros na Rede. Um caso bastante conhecido é o do <a href="http://en.wikipedia.org/wiki/Why_the_lucky_stiff" target="_blank">&#8220;_why&#8221;</a>, um desenvolvedor com diversas contribuições para comunidade Ruby, além de ser cartunista, músico e escritor. Ele sumiu do mundo digital, assim como o seu trabalho.</p>
<p>O sumiço foi completo? Claro que não. Existem diversos sites espalhados na Rede com cópias do legado deixado pelo _why. Ninguém morre na Rede.</p>
<p>Um caso mais recente no mundo da tecnologia aconteceu com o <a href="http://en.wikipedia.org/wiki/Mark_Pilgrim_(software_developer)" target="_blank">Mark Pilgrim</a>. Ele também sumiu junto com suas contribuições, mas a Rede novamente não o deixou morrer por completo.</p>
<p>A Internet é escrita dia a dia com tinta, não tem como apagar totalmente.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/ylog?a=p8likM0PLXA:9PmmIJcTMR0:I9og5sOYxJI"><img src="http://feeds.feedburner.com/~ff/ylog?d=I9og5sOYxJI" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ylog?a=p8likM0PLXA:9PmmIJcTMR0:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/ylog?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ylog?a=p8likM0PLXA:9PmmIJcTMR0:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/ylog?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ylog?a=p8likM0PLXA:9PmmIJcTMR0:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/ylog?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ylog?a=p8likM0PLXA:9PmmIJcTMR0:pWulJD7va_g"><img src="http://feeds.feedburner.com/~ff/ylog?d=pWulJD7va_g" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/ylog/~4/p8likM0PLXA" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://yurimalheiros.com/2012/04/esquecimento-na-rede/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://yurimalheiros.com/2012/04/esquecimento-na-rede/</feedburner:origLink></item>
		<item>
		<title>Blogs e livros</title>
		<link>http://feedproxy.google.com/~r/ylog/~3/p9tsTySbKxA/</link>
		<comments>http://yurimalheiros.com/2012/03/blogs-e-livros/#comments</comments>
		<pubDate>Mon, 12 Mar 2012 11:30:43 +0000</pubDate>
		<dc:creator>Yuri</dc:creator>
				<category><![CDATA[lifestyle]]></category>

		<guid isPermaLink="false">http://yurimalheiros.com/?p=334</guid>
		<description><![CDATA[Eu gosto de ler artigos na Internet. Já gostei mais, confesso, mas ainda consigo achar coisas interessantes compartilhadas por pessoas interessantes. Eu adorava abrir o Google Reader e carregar meu cérebro com informações novas e sacadas geniais de uma série de pessoas que publicavam suas ideias na rede, entretanto de uns tempos para cá eu [...]]]></description>
				<content:encoded><![CDATA[<p>Eu gosto de ler artigos na Internet. Já gostei mais, confesso, mas ainda consigo achar coisas interessantes compartilhadas por pessoas interessantes. Eu adorava abrir o Google Reader e carregar meu cérebro com informações novas e sacadas geniais de uma série de pessoas que publicavam suas ideias na rede, entretanto de uns tempos para cá eu tenho perdido um pouco o interesse.</p>
<p>O que acontece é que alguns blogs muito bons depois de um certo tempo se tornam repetitivos e seus novos posts nada acrescentam. Uma hora o assunto se esgota.</p>
<p>Eu também sempre gostei de livros. E sempre achei que lia muito menos do que eu gostaria de ler. Por mais que eu me controlasse a pilha de livros crescia mais do que diminuía. Aposto que grande parte das pessoas que acabaram de ler isso se identificaram com minha situação.</p>
<p>Para falar a verdade eu cansei também de alguns posts rasteiros que acabavam apenas tomando o meu tempo e dizendo muito pouco. Nesse caso os livros são uma alternativa interessante.</p>
<p>Um blog que eu ainda gosto, mas que mesmo assim as vezes cruza uma linha tênue e faz uns posts meio bobos com cheiro de auto ajuda, é o blog do <a href="http://inoveryourhead.net/" target="_blank">Julien Smith</a>. O cara escreve bem e tem ideias inteligentes. Seu último post me surpreendeu bastante. O Julien fez um resumo em 140 caracteres para cada um dos 200 (DUZENTOS!) livros que ele leu nos últimos 5 anos. Isso é quase 1 livro por semana durante 5 anos. Além de eu acabar me interessando por alguns livros resumidos, a disciplina fora do comum do Julien Smith me chamou muita atenção. Um livro a cada semana durante cinco anos.</p>
<p>Os livros são muito mais interessantes que o Google Reader. Sempre foram, mas me faltava um impulso para dar prioridade a eles. Depois do meu abuso em relação ao Reader em pouco mais de 2 meses eu já consegui ler 5 livros (pff, o Julien me humilha).</p>
<p>Morte aos blogs? Não mesmo. O que acontece é que tem blog que parece um livro infinito com novos posts batendo numa mesma tecla a cada semana. No começo é interessante, mas depois você enche o saco. Então se o blog nunca acaba, cabe a você dar um fim quando achar que aquela leitura não acrescenta mais nada. É só clicar em &#8220;unsubscribe&#8221;.</p>
<p>Muitas vezes eu me perguntei se o estilo meio caótico das postagens do yLog era ruim. As vezes eu falo de coisas bem desconexas num período de tempo curto. Mas agora eu não vejo isso como algo ruim, pois eu não fico repetindo um mesmo assunto infinitamente e eu sempre tento escrever sobre alguma coisa nova que esteja na minha cabeça. Se isso é interessante ou não vai depender de quem estiver lendo. Pode ser que essa estratégia fira guias de como fazer um blog de sucesso, só que eu não me importo muito.</p>
<p>Uma das coisas mais legais de escrever publicamente é quando alguém que você admira conversa com você e diz que gostou do blog todo ou de uma postagem específica. Felizmente isso já aconteceu comigo.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/ylog?a=p9tsTySbKxA:KaLUxHfsWNA:I9og5sOYxJI"><img src="http://feeds.feedburner.com/~ff/ylog?d=I9og5sOYxJI" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ylog?a=p9tsTySbKxA:KaLUxHfsWNA:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/ylog?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ylog?a=p9tsTySbKxA:KaLUxHfsWNA:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/ylog?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ylog?a=p9tsTySbKxA:KaLUxHfsWNA:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/ylog?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ylog?a=p9tsTySbKxA:KaLUxHfsWNA:pWulJD7va_g"><img src="http://feeds.feedburner.com/~ff/ylog?d=pWulJD7va_g" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/ylog/~4/p9tsTySbKxA" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://yurimalheiros.com/2012/03/blogs-e-livros/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://yurimalheiros.com/2012/03/blogs-e-livros/</feedburner:origLink></item>
	</channel>
</rss>
