<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-1768442686966466417</id><updated>2026-10-08T14:46:24.136-07:00</updated><category term="linux"/><category term="php"/><category term="centos"/><category term="instalar php no linux"/><category term="fedora"/><category term="snmp"/><category term="gerência de redes"/><category term="DIY"/><category term="Eletrônica"/><category term="ad"/><category term="apache"/><category term="blender"/><category term="programação"/><category term="selinux"/><category term="tcl/tk"/><category term="Conserto"/><category term="Dicas Úteis"/><category term="Faça Você Mesmo"/><category term="Manutenção"/><category term="W32.Downadup"/><category term="active directory"/><category term="animações"/><category term="apache2"/><category term="backup de banco de dados"/><category term="bat"/><category term="boot no linux"/><category term="cacti"/><category term="certificado"/><category term="chave privada"/><category term="compilador snes"/><category term="dns"/><category term="dnscmd"/><category term="dspace"/><category term="glassfish"/><category term="habilitar módulo php no linux"/><category term="httpd"/><category term="https"/><category term="iptables"/><category term="ldap"/><category term="lego"/><category term="mysql"/><category term="net join"/><category term="net-snmp"/><category term="openssl"/><category term="pandora fms"/><category term="postgres"/><category term="remote desktop"/><category term="samba"/><category term="snes"/><category term="snesc"/><category term="snmpd"/><category term="the gift of the magi"/><category term="tomcat6"/><category term="xen"/><category term="yum"/><category term="Animação"/><category term="Animação 3D"/><category term="Anos 90"/><category term="Arduino"/><category term="Arduino Nano"/><category term="Automação"/><category term="Back Track 2"/><category term="Bastidores"/><category term="Bit#1"/><category term="Blender 3D"/><category term="Botoeira Arcade"/><category term="Cabo de Telefone"/><category term="Como Funciona"/><category term="Contador de Voltas"/><category term="Curiosidades"/><category term="Dicas Rápidas"/><category term="Economia"/><category term="Eletrodomésticos"/><category term="Gambiarra"/><category term="Game of Thrones"/><category term="História da Tecnologia"/><category term="Imprensa"/><category term="Informática"/><category term="Infraestrutura"/><category term="Instalando Cacti no Debian"/><category term="Instalando LAMP no Debian"/><category term="Internet Discada"/><category term="It appears as though you do not have permission to view information for any of the hosts you requested"/><category term="Micro-ondas"/><category term="Modems"/><category term="Modificação"/><category term="Oficina"/><category term="Painel de Membrana"/><category term="Panasonic Piccolo"/><category term="Projetos Pessoais"/><category term="Projetos com Arduino"/><category term="Reciclagem"/><category term="Redes de Computadores"/><category term="Reparo"/><category term="Reparo em Casa"/><category term="Secador de Cabelo"/><category term="Sensor Hall"/><category term="SevSeg"/><category term="Shutdown Event Tracker"/><category term="ShutdownReasonOn"/><category term="Solda"/><category term="Solução de Problemas"/><category term="Tacômetro"/><category term="Tecnologia"/><category term="Telefonia"/><category term="Teste de Cabo"/><category term="Torno Mecânico"/><category term="Tutoriais"/><category term="UFES"/><category term="Usinagem"/><category term="adicionar host nagios"/><category term="alterar mac de placa ethernet"/><category term="alterar senha com batch"/><category term="amavis"/><category term="ano bissexto"/><category term="antispam"/><category term="aspell-devel"/><category term="asterisk"/><category term="atualização errada"/><category term="autenticação no nagios"/><category term="auto iniciar scripts"/><category term="backup de arquivos"/><category term="backup de diretórios"/><category term="backup via scp"/><category term="bzip2-devel"/><category term="chain in blender"/><category term="chain physics"/><category term="chpasswd"/><category term="cliente ISCSI"/><category term="clonar vm"/><category term="cloth chain"/><category term="copiar vm"/><category term="cp mantendo permissões"/><category term="cpan"/><category term="createlang"/><category term="criando hd virtual"/><category term="curl-devel"/><category term="date"/><category term="debian"/><category term="defasagem do ano bissexto"/><category term="device ISCSI"/><category term="devops"/><category term="diff"/><category term="dot1q"/><category term="english post"/><category term="erro em gpo"/><category term="erros de servidor"/><category term="esxi"/><category term="evp.h"/><category term="fail2ban"/><category term="freetype-devel"/><category term="gbu"/><category term="gd"/><category term="gmp-devel"/><category term="gpedit.msc"/><category term="has modification time in the future"/><category term="host virtual"/><category term="interface gráfica"/><category term="iptables l7"/><category term="iscsi"/><category term="javascript"/><category term="lamp"/><category term="layer 7"/><category term="libjpeg"/><category term="libjpeg-devel"/><category term="libpng"/><category term="libpng-devel"/><category term="linux no hd"/><category term="make"/><category term="moodle"/><category term="mstsc"/><category term="mysql-server"/><category term="mysqldump"/><category term="nagios"/><category term="netlogon"/><category term="ntrights"/><category term="open-iscsi"/><category term="openldap"/><category term="openldap-devel"/><category term="openssl-dev"/><category term="oscurart chain"/><category term="pcre-devel"/><category term="pcre.h"/><category term="pear"/><category term="permissões no linux"/><category term="pg_connect"/><category term="pg_dump"/><category term="php5"/><category term="php5-cli"/><category term="php5-mysql"/><category term="php5.2"/><category term="phpmotion"/><category term="pltcl"/><category term="python"/><category term="rdesktop"/><category term="recuperar backup de banco de dados"/><category term="remote desktop access denied"/><category term="resolucao de problemas"/><category term="rktools.exe"/><category term="se não existisse ano bissexto"/><category term="segurança digital"/><category term="servidor web"/><category term="sincronizar hora"/><category term="squid"/><category term="ssh"/><category term="sshd_config"/><category term="ssl"/><category term="sudo"/><category term="sudoers"/><category term="suporte tecnico"/><category term="sysadmin"/><category term="tela de logoff do windows"/><category term="tipos de variáveis"/><category term="trunk"/><category term="trunking no linux"/><category term="typeof"/><category term="tzconfig"/><category term="ubuntu"/><category term="ubuntu server"/><category term="unblock"/><category term="vconfig"/><category term="virtualhost"/><category term="visudo"/><category term="vlan"/><category term="vlan no linux"/><category term="vmware"/><category term="warning"/><category term="web"/><category term="wiki"/><category term="wikimedia"/><category term="windows server 2003"/><category term="wish"/><title type='text'>AOB Produções® - Análise de TI</title><subtitle type='html'>Analisando problemas de TI e outros em geral</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://andreob.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1768442686966466417/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://andreob.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/1768442686966466417/posts/default?start-index=26&amp;max-results=25&amp;redirect=false'/><author><name>Andre O. B.</name><uri>http://www.blogger.com/profile/00084879302958105119</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhgr5ROCsBHTP8bzeJZtwpbtGYlCN-TJ_oXAiovX8SvPKu3GA-WDYmvwCJo2YBis0RUr8TMs95XQOkQpIj4CSxrFuM2EJPnbI9n0WoVc07WVzssgPbROuCmCNRGMIrFCJc/s220/qrcode.png'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>91</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-1768442686966466417.post-6466757816932410397</id><published>2026-10-08T14:19:33.338-07:00</published><updated>2026-10-08T14:46:24.136-07:00</updated><title type='text'>Reconhecimento Facial do Gov.br Não Carrega a Moldura e Fica Só Filmando (erro em 2026)</title><content type='html'>&lt;div class=&quot;separator&quot; style=&quot;clear: both;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgdM6EEDWWEvOdac13ar96uWgg2AMBPbnV2YGAJd1MZWY3xJV96BmJtKsIESokLLLWg-JdzG0so07nZdV6eDxIOqSDmwmfO3l9vDbAQXJgyJ6gyd7C4piLEyMGvJColWgl6y-ZFu-xu3KqpURcqWoreEj2IXgUC5NL8GYPjVUViRgFPAaActbrm2yxOUck/s590/Untitled.png&quot; style=&quot;display: block; padding: 1em 0; text-align: center; &quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; height=&quot;320&quot; data-original-height=&quot;590&quot; data-original-width=&quot;335&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgdM6EEDWWEvOdac13ar96uWgg2AMBPbnV2YGAJd1MZWY3xJV96BmJtKsIESokLLLWg-JdzG0so07nZdV6eDxIOqSDmwmfO3l9vDbAQXJgyJ6gyd7C4piLEyMGvJColWgl6y-ZFu-xu3KqpURcqWoreEj2IXgUC5NL8GYPjVUViRgFPAaActbrm2yxOUck/s320/Untitled.png&quot;/&gt;&lt;/a&gt;&lt;/div&gt;

&lt;article&gt;
  &lt;h4&gt;Reconhecimento Facial do Gov.br Não Carrega a Moldura e Fica Só Filmando? Descubra o Real Motivo!&lt;/h4&gt;

  &lt;p&gt;Se você tentou fazer o reconhecimento facial no aplicativo do &lt;strong&gt;Gov.br&lt;/strong&gt; e se deparou com uma tela onde a câmera abre filmando o seu rosto, mas &lt;strong&gt;a moldura circular/elipse para centralizar seu rosto não carrega, não aparece a contagem regressiva e não pede para aproximar ou afastar o rosto&lt;/strong&gt; —, você não está sozinho.&lt;/p&gt;

  &lt;p&gt;Passei exatamente por essa situação recentemente com o meu pai e com a minha mãe. Ambos precisaram formatar seus celulares e, ao tentar reconfigurar o acesso ao Gov.br, o aplicativo simplesmente se comportou desse jeito.&lt;/p&gt;

  &lt;p&gt;Absurdamente:&lt;/p&gt;
  &lt;ol&gt;
    &lt;li&gt;&lt;strong&gt;Nenhum tutorial da internet explica esse problema, nem IAs, nem mesmo no site oficial do GovBr!&lt;/strong&gt;&lt;/li&gt;
    &lt;li&gt;&lt;strong&gt;O atendimento presencial da Casa do Cidadão também não serviu para coisa alguma&lt;/strong&gt;, sugerindo procedimentos inúteis, como um reset desnecessário de senha.&lt;/li&gt;
  &lt;/ol&gt;

  &lt;p&gt;&lt;strong&gt;E já adianto que nada disso funciou também:&lt;/strong&gt; &lt;em&gt;&quot;limpar o cache do aplicativo&quot;&lt;/em&gt;, &lt;em&gt;&quot;reiniciar o celular&quot;&lt;/em&gt; ou &lt;em&gt;&quot;atualizar o App na Play Store&quot;&lt;/em&gt;. &lt;/p&gt;

  &lt;hr /&gt;

  &lt;h4&gt;O Verdadeiro Motivo&lt;/h4&gt;

  &lt;p&gt;A causa raiz desse problema é uma &lt;strong&gt;incompatibilidade do GovBr com celulares mais antigos&lt;/strong&gt;:&lt;/p&gt;

  &lt;p&gt;O problema é que o GovBr utiliza para o reconhecimento facial, algum módulo que não funciona em celulares/android antes de 2023 (meus pais tem de 2021). O que deveria ser explicitamente informado no aplicativo, mas não é. Como meus pais só fizeram o reconhecimento facil quando instalaram o GovBr (provalmente no inicio de 2023) ele funcionou normalmente, mas agora em 2026 apresentou o problema.&lt;/p&gt;
  
  &lt;p&gt;O grande erro do Governo e minha principal frustração é &lt;strong&gt;não existir aviso dessa limitação claramente no aplicativo&lt;/strong&gt;. Ao invés de exibir uma mensagem como &lt;em&gt;&quot;Dispositivo incompatível&quot;&lt;/em&gt;, a câmera simplesmente fica aberta infinitamente sem carregar a moldura!&lt;/p&gt;

  &lt;hr /&gt;

  &lt;h4&gt;Qual é a Solução?&lt;/h4&gt;

  &lt;p&gt;Saiba que você será obrigado a adquirir um celular mais novo para usar o GovBr! Meus pais compraram o &lt;strong&gt;Samsung Galaxy A06&lt;/strong&gt; e o reconhecimento facial funcionou.&lt;/p&gt;

  &lt;p&gt;Espero que este relato economize o seu tempo e evite que você perca horas tentando soluções inúteis na internet ou enfrentando filas em postos de atendimento!&lt;/p&gt;

  &lt;p&gt;&lt;em&gt;Se este artigo foi útil para você ou se você passou pela mesma situação, deixe seu comentário abaixo para ajudar mais pessoas!&lt;/em&gt;&lt;/p&gt;
&lt;/article&gt;</content><link rel='replies' type='application/atom+xml' href='http://andreob.blogspot.com/feeds/6466757816932410397/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/1768442686966466417/6466757816932410397' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1768442686966466417/posts/default/6466757816932410397'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1768442686966466417/posts/default/6466757816932410397'/><link rel='alternate' type='text/html' href='http://andreob.blogspot.com/2026/10/reconhecimento-facial-do-govbr-nao.html' title='Reconhecimento Facial do Gov.br Não Carrega a Moldura e Fica Só Filmando (erro em 2026)'/><author><name>Andre O. B.</name><uri>http://www.blogger.com/profile/00084879302958105119</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhgr5ROCsBHTP8bzeJZtwpbtGYlCN-TJ_oXAiovX8SvPKu3GA-WDYmvwCJo2YBis0RUr8TMs95XQOkQpIj4CSxrFuM2EJPnbI9n0WoVc07WVzssgPbROuCmCNRGMIrFCJc/s220/qrcode.png'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgdM6EEDWWEvOdac13ar96uWgg2AMBPbnV2YGAJd1MZWY3xJV96BmJtKsIESokLLLWg-JdzG0so07nZdV6eDxIOqSDmwmfO3l9vDbAQXJgyJ6gyd7C4piLEyMGvJColWgl6y-ZFu-xu3KqpURcqWoreEj2IXgUC5NL8GYPjVUViRgFPAaActbrm2yxOUck/s72-c/Untitled.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1768442686966466417.post-1178346821230221821</id><published>2026-07-03T20:05:00.000-07:00</published><updated>2026-08-16T20:06:08.990-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="devops"/><category scheme="http://www.blogger.com/atom/ns#" term="erros de servidor"/><category scheme="http://www.blogger.com/atom/ns#" term="fail2ban"/><category scheme="http://www.blogger.com/atom/ns#" term="iptables"/><category scheme="http://www.blogger.com/atom/ns#" term="linux"/><category scheme="http://www.blogger.com/atom/ns#" term="python"/><category scheme="http://www.blogger.com/atom/ns#" term="resolucao de problemas"/><category scheme="http://www.blogger.com/atom/ns#" term="segurança digital"/><category scheme="http://www.blogger.com/atom/ns#" term="servidor web"/><category scheme="http://www.blogger.com/atom/ns#" term="suporte tecnico"/><category scheme="http://www.blogger.com/atom/ns#" term="sysadmin"/><category scheme="http://www.blogger.com/atom/ns#" term="ubuntu server"/><title type='text'>Solucao de Falha Critica no Fail2ban: Corrigindo o Erro NameError poll2 e Estouro de File Descriptors no Python</title><content type='html'>&lt;p&gt;Este artigo documenta a analise tecnica e o passo a passo para a resolucao de uma falha critica no Fail2ban em ambientes Linux. Se o seu serviço de protecao parou de responder, falhou ao iniciar ou entrou em loop infinito de erros de socket, acompanhe a sequencia exata dos eventos e como aplicar a mitigacao definitiva.&lt;/p&gt;

&lt;br /&gt;

&lt;h4&gt;1. Cronologia da Falha e Diagnostico dos Sintomas&lt;/h4&gt;

&lt;p&gt;O problema nao ocorre de forma isolada; ele se manifesta em uma cadeia progressiva de erros que culminam na queda total do sistema de mitigacao de ataques.&lt;/p&gt;

&lt;p&gt;&lt;b&gt;Fase 1: O Sintoma Inicial — Too many open files (Errno 24)&lt;/b&gt;&lt;br /&gt;
Sob alto volume de acessos ou durante um escaneamento massivo de bots, o Fail2ban comeca a registrar falhas de conexao no arquivo de log. O primeiro sinal de alerta e o esgotamento dos descritores de arquivo do processo:&lt;/p&gt;

&lt;p&gt;&lt;i&gt;[Errno 24] Too many open files&lt;/i&gt;&lt;/p&gt;

&lt;p&gt;O serviço tenta continuar rodando, mas a contagem de erros de escuta (&lt;b&gt;err_count[&#39;listen&#39;]&lt;/b&gt;) comeca a subir rapidamente.&lt;/p&gt;

&lt;br /&gt;

&lt;p&gt;&lt;b&gt;Fase 2: O Serviço para de Iniciar e Responder&lt;/b&gt;&lt;br /&gt;
Apos o estouro de descritores, o daemon do Fail2ban trava. Ao tentar reiniciar o serviço ou checar a comunicacao com o comando &lt;b&gt;fail2ban-client ping&lt;/b&gt;, o cliente para de receber resposta do servidor (sem o retorno esperado de &lt;i&gt;Server replied: pong&lt;/i&gt;). O socket IPC em &lt;b&gt;/var/run/fail2ban/fail2ban.sock&lt;/b&gt; deixa de responder ou e corrompido.&lt;/p&gt;

&lt;br /&gt;

&lt;p&gt;&lt;b&gt;Fase 3: A Causa Raiz no Backend — filedescriptor out of range in select()&lt;/b&gt;&lt;br /&gt;
Ao depurar o arquivo do servidor assincrono do Fail2ban (&lt;b&gt;/usr/lib/python3/dist-packages/fail2ban/server/asyncserver.py&lt;/b&gt;), identifica-se que o motor interno do sistema esta utilizando a chamada legada &lt;b&gt;select.select()&lt;/b&gt; do Python.&lt;/p&gt;

&lt;p&gt;No sistema operacional Linux, a syscall &lt;b&gt;select()&lt;/b&gt; possui um limite rigoroso e hardcoded de 1024 arquivos abertos (FD_SETSIZE). Quando o servidor web abre o descritor de arquivo de numero 1025 ou superior, o Python dispara a seguinte excecao fatal:&lt;/p&gt;

&lt;p&gt;&lt;i&gt;ValueError: filedescriptor out of range in select()&lt;/i&gt;&lt;/p&gt;

&lt;p&gt;Isso faz com que o loop de eventos do Fail2ban quebre imediatamente.&lt;/p&gt;

&lt;br /&gt;

&lt;p&gt;&lt;b&gt;Fase 4: A Falha na Re-definicao — NameError: name &#39;poll2&#39; is not defined&lt;/b&gt;&lt;br /&gt;
Para contornar a limitação de 1024 arquivos do &lt;b&gt;select()&lt;/b&gt;, a solucao teorica e alterar o motor de eventos para usar a syscall &lt;b&gt;poll()&lt;/b&gt; do kernel (que suporta dezenas de milhares de descritores). Porem, ao tentar ajustar o codigo para utilizar a funcao &lt;b&gt;poll2()&lt;/b&gt; do modulo &lt;b&gt;asyncore&lt;/b&gt;, o interpretador Python dispara um novo erro:&lt;/p&gt;

&lt;p&gt;&lt;b&gt;File &quot;/usr/lib/python3/dist-packages/fail2ban/server/asyncserver.py&quot;, line 165, in loop&lt;br /&gt;
poll2(timeout)&lt;br /&gt;
NameError: name &#39;poll2&#39; is not defined. Did you mean: &#39;poll&#39;?&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;Esse erro ocorre porque a funcao &lt;b&gt;poll2&lt;/b&gt; nao esta presente ou nao foi exportada no namespace padrao da biblioteca &lt;b&gt;asyncore&lt;/b&gt; na versao do Python em execucao no sistema.&lt;/p&gt;

&lt;br /&gt;

&lt;p&gt;&lt;b&gt;Hipotese de Adulteracao / Vetor de Ataque:&lt;/b&gt; Existe uma forte suspeita de que essa sequencia de alteracoes ou a inoperancia da funcao &lt;b&gt;poll2&lt;/b&gt; possa ter sido induzida ou explorada deliberadamente por atacantes. Ao forcar o Fail2ban a retroceder para o algoritmo &lt;b&gt;select()&lt;/b&gt; (limitado a 1024 FDs), um atacante consegue derrubar o serviço gerando um volume controlado de conexoes concorrentes. Com o Fail2ban inativo e sem conseguir reiniciar, o servidor fica vulneravel para ataques de forca bruta e scanners automatizados sem qualquer bloqueio no firewall.&lt;/p&gt;

&lt;br /&gt;

&lt;h4&gt;2. Solucao Passo a Passo e Mitigacao Definitiva&lt;/h4&gt;

&lt;p&gt;Para corrigir a cadeia de erros, reestabelecer o serviço e migrar a filtragem para a syscall &lt;b&gt;poll()&lt;/b&gt; nativa, siga as etapas abaixo.&lt;/p&gt;

&lt;p&gt;&lt;b&gt;Passo 1: Corrigir o arquivo asyncserver.py&lt;/b&gt;&lt;br /&gt;
Abra o arquivo de codigo do Fail2ban:&lt;/p&gt;

&lt;p&gt;&lt;b&gt;sudo nano /usr/lib/python3/dist-packages/fail2ban/server/asyncserver.py&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;Localize o bloco da funcao &lt;b&gt;loop&lt;/b&gt; por volta da linha 160. Substitua a chamada com falha para garantir a importacao da funcao &lt;b&gt;poll2&lt;/b&gt; diretamente do &lt;b&gt;asyncore&lt;/b&gt; antes do laço principal:&lt;/p&gt;

&lt;p&gt;&lt;b&gt;# Codigo corrigido no asyncserver.py:&lt;br /&gt;
  &lt;pre&gt;&lt;code&gt;from asyncore import poll2
while active():
    try:
        poll2(timeout)
        if err_count[&#39;listen&#39;]:
            err_count[&#39;listen&#39;] -= 1
    except Exception as e:
        if not active():
            break
        err_count[&#39;listen&#39;] += 1&lt;/code&gt;&lt;/pre&gt;
&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;&lt;i&gt;Nota tecnica: Caso o seu ambiente Python nao exporte o simbolo poll2 dentro de asyncore, utilize a chamada nativa do motor assincrono especificando o parametro poll: &lt;b&gt;asyncore.loop(timeout=timeout, use_poll=True, count=1)&lt;/b&gt;.&lt;/i&gt;&lt;/p&gt;

&lt;br /&gt;

&lt;p&gt;&lt;b&gt;Passo 2: Definir a acao do Firewall para IPTables&lt;/b&gt;&lt;br /&gt;
Se o seu ambiente utiliza o IPTables tradicional e voce precisa garantir a criacao das cadeias &lt;b&gt;f2b-&lt;/b&gt; sem conflitos com o nftables, edite o arquivo &lt;b&gt;/etc/fail2ban/jail.local&lt;/b&gt;:&lt;/p&gt;

&lt;p&gt;&lt;b&gt;[DEFAULT]&lt;br /&gt;
banaction = iptables-multiport&lt;br /&gt;
banaction_allports = iptables-allports&lt;br /&gt;
backend = auto&lt;/b&gt;&lt;/p&gt;

&lt;br /&gt;

&lt;p&gt;&lt;b&gt;Passo 3: Limpeza de Sockets Presos e Reinicializacao&lt;/b&gt;&lt;br /&gt;
Como o Fail2ban falhou ao iniciar anteriormente, limpe os arquivos de socket residuais em memoria antes de subir o daemon:&lt;/p&gt;

&lt;p&gt;&lt;b&gt;sudo systemctl stop fail2ban&lt;br /&gt;
sudo rm -rf /var/run/fail2ban/*&lt;br /&gt;
sudo systemctl start fail2ban&lt;/b&gt;&lt;/p&gt;

&lt;br /&gt;

&lt;h4&gt;3. Procedimento de Validacao&lt;/h4&gt;

&lt;p&gt;Apos aplicar a correcao, execute o protocolo de verificacao para atestar a estabilidade do serviço:&lt;/p&gt;

&lt;p&gt;&lt;b&gt;1. Teste de resposta do Daemon:&lt;/b&gt;&lt;br /&gt;
Execute &lt;b&gt;sudo fail2ban-client ping&lt;/b&gt;. O resultado deve ser estritamente &lt;b&gt;Server replied: pong&lt;/b&gt;.&lt;/p&gt;

&lt;p&gt;&lt;b&gt;2. Verificacao das cadeias no IPTables:&lt;/b&gt;&lt;br /&gt;
Execute &lt;b&gt;sudo iptables -L -n -v&lt;/b&gt; e confirme que as tabelas de bloqueio (ex: f2b-sshd, f2b-apache-400) foram criadas e estao prontas para receber regras de banimento.&lt;/p&gt;

&lt;p&gt;&lt;b&gt;3. Inspeçao do arquivo de Log:&lt;/b&gt;&lt;br /&gt;
Acompanhe os logs com &lt;b&gt;tail -f /var/log/fail2ban.log&lt;/b&gt;. O serviço devera registrar o processamento normal dos arquivos de log sem apresentar excecoes de descritores de arquivos ou erros no loop do Python.&lt;/p&gt;

&lt;br /&gt;

&lt;p&gt;&lt;b&gt;Conclusao:&lt;/b&gt; A substituicao do algoritmo de selecao de sockets do select() para o poll() no motor assincrono do Python elimina o limite de 1024 arquivos abertos, estabilizando o Fail2ban e neutralizando o vetor de ataque por esgotamento de descritores.&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://andreob.blogspot.com/feeds/1178346821230221821/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/1768442686966466417/1178346821230221821' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1768442686966466417/posts/default/1178346821230221821'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1768442686966466417/posts/default/1178346821230221821'/><link rel='alternate' type='text/html' href='http://andreob.blogspot.com/2026/08/solucao-de-falha-critica-no-fail2ban.html' title='Solucao de Falha Critica no Fail2ban: Corrigindo o Erro NameError poll2 e Estouro de File Descriptors no Python'/><author><name>Andre O. B.</name><uri>http://www.blogger.com/profile/00084879302958105119</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhgr5ROCsBHTP8bzeJZtwpbtGYlCN-TJ_oXAiovX8SvPKu3GA-WDYmvwCJo2YBis0RUr8TMs95XQOkQpIj4CSxrFuM2EJPnbI9n0WoVc07WVzssgPbROuCmCNRGMIrFCJc/s220/qrcode.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1768442686966466417.post-2245807647507306051</id><published>2024-09-29T19:34:00.000-07:00</published><updated>2026-08-16T19:42:33.008-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Arduino"/><category scheme="http://www.blogger.com/atom/ns#" term="Arduino Nano"/><category scheme="http://www.blogger.com/atom/ns#" term="Automação"/><category scheme="http://www.blogger.com/atom/ns#" term="Contador de Voltas"/><category scheme="http://www.blogger.com/atom/ns#" term="DIY"/><category scheme="http://www.blogger.com/atom/ns#" term="Eletrônica"/><category scheme="http://www.blogger.com/atom/ns#" term="Oficina"/><category scheme="http://www.blogger.com/atom/ns#" term="programação"/><category scheme="http://www.blogger.com/atom/ns#" term="Projetos com Arduino"/><category scheme="http://www.blogger.com/atom/ns#" term="Sensor Hall"/><category scheme="http://www.blogger.com/atom/ns#" term="SevSeg"/><category scheme="http://www.blogger.com/atom/ns#" term="Tacômetro"/><category scheme="http://www.blogger.com/atom/ns#" term="Torno Mecânico"/><category scheme="http://www.blogger.com/atom/ns#" term="Usinagem"/><title type='text'>Como transformar um torno em tacômetro e contador de voltas com Arduino e Sensor Hall</title><content type='html'>&lt;p&gt;Quem trabalha com máquinas operatrizes ou oficinas em geral sabe como é útil ter uma leitura precisa da velocidade de rotação do equipamento. Recentemente, desenvolvi um projeto para instalar um sensor Hall e um display de 7 segmentos no meu torno mecânico usando um Arduino Nano.&lt;/p&gt;

&lt;div class=&quot;separator&quot; style=&quot;clear: both;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhOTIt3k4YBwQNwbSTmAgDZY-WPKC35jD6iK-cmBZ2fw4JYFo0_GCO2KCtybhu9rganEZhlpbNdMNdkDpy_GvXWuaKGGawqymEQZRGXmOQacC_ZrWL5Eu2VrHKLGpFW5KWFpJH8AC_0tIYvmDsLGUi-0EbtmXedzaN7J7t0_B9LTym-XBRa1v1ZqDwqIxA/s1024/Sem%20t%C3%ADtulo.jpeg&quot; style=&quot;display: block; padding: 1em 0; text-align: center; &quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; width=&quot;320&quot; data-original-height=&quot;559&quot; data-original-width=&quot;1024&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhOTIt3k4YBwQNwbSTmAgDZY-WPKC35jD6iK-cmBZ2fw4JYFo0_GCO2KCtybhu9rganEZhlpbNdMNdkDpy_GvXWuaKGGawqymEQZRGXmOQacC_ZrWL5Eu2VrHKLGpFW5KWFpJH8AC_0tIYvmDsLGUi-0EbtmXedzaN7J7t0_B9LTym-XBRa1v1ZqDwqIxA/s320/Sem%20t%C3%ADtulo.jpeg&quot;/&gt;&lt;/a&gt;&lt;/div&gt;

&lt;p&gt;A grande vantagem dessa implementação é que o circuito ganhou dupla função:&lt;br /&gt;
1. &lt;b&gt;Modo F001 (Tacômetro / RPM):&lt;/b&gt; Mede as rotações por minuto em tempo real.&lt;br /&gt;
2. &lt;b&gt;Modo F002 (Contador de Voltas):&lt;/b&gt; Conta o número total de voltas acumuladas, ideal para tarefas de precisão como enrolamento de fios, bobinas e transformadores.&lt;/p&gt;

&lt;p&gt;&lt;b&gt;Como Funciona o Circuito&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;O sensor Hall fica posicionado no eito/árvore do torno para detectar a passagem de um pequeno ímã. Cada passagem aciona uma interrupção digital no pino D2 do Arduino Nano, garantindo que nenhum pulso seja perdido, mesmo em altas velocidades.&lt;/p&gt;

&lt;p&gt;O painel conta com um display de 7 segmentos de 4 dígitos (gerenciado pela biblioteca &lt;b&gt;SevSeg&lt;/b&gt;) e dois botões de controle:&lt;br /&gt;
- &lt;b&gt;Botão SET (pino A4):&lt;/b&gt; Alterna entre as funções F001 (RPM) e F002 (Contador de Voltas), exibindo a indicação da função escolhida no display por 2 segundos.&lt;br /&gt;
- &lt;b&gt;Botão RESET (pino A5):&lt;/b&gt; Zera a contagem de voltas quando o sistema está no modo F002.&lt;/p&gt;

&lt;p&gt;&lt;b&gt;Aplicações Práticas&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;- &lt;b&gt;Uso em Usinagem:&lt;/b&gt; Acompanhar a rotação exata ajuda a selecionar a velocidade de corte adequada para diferentes materiais e ferramentas.&lt;br /&gt;
- &lt;b&gt;Uso como Rebobinadora:&lt;/b&gt; O modo contador facilita imensamente o enrolamento de bobinas, pequenos transformadores e motores de forma precisa sem precisar contar manualmente.&lt;/p&gt;

&lt;p&gt;&lt;b&gt;Código Completo para Arduino Nano&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;(NOVO) Código disponível para download em:&lt;a href=&quot;https://github.com/aobatroz/rpmcounter-4digit-display&quot; target=&quot;_blank&quot;&gt; https://github.com/aobatroz/rpmcounter-4digit-display&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;Abaixo está o código-fonte desenvolvido. Para compilá-lo, certifique-se de ter a biblioteca &lt;b&gt;SevSeg&lt;/b&gt; instalada na sua IDE do Arduino:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;#include &amp;lt;SevSeg.h&amp;gt;
SevSeg sevseg;

#define MAX_WAIT_FREQ 2000

const byte ledPin = 13;
const byte interruptPin = 2; // contador de pulso (Sensor Hall)
const byte setButtonPin = A4; // botao set
const byte resetButtonPin = A5; // botao reset
const byte digitPins[] = {A0, 3, 4, 5}; // pinos dos digitos do display
const byte segmentPins[] = {6, 7, 8, 9, 10, 11, 12, 13}; // pinos dos segmentos

unsigned long interruptCount = 0; // Contador de interrupcoes
unsigned long rpmCount = 0;
double rps = 0;
unsigned long lastPulse = millis();
unsigned long interval = 0;
unsigned long refreshTime = millis();
unsigned int mode = 0;
unsigned int functionMode = 1; // 1 para F001 (RPM), 2 para F002 (Contador)
bool forceDisplayValue = false;

void interruptFunction()
{
    interval = millis() - lastPulse;
    lastPulse = millis();
    interruptCount++; // Incrementa o contador de interrupcoes
}

void displayFunctionMode()
{
    char buffer[5];
    snprintf(buffer, sizeof(buffer), &quot;F00%d&quot;, functionMode); // Formata a string F00X
    sevseg.setChars(buffer); // Exibe no display
    for (unsigned long start = millis(); millis() - start &amp;lt; 2000;) { // Exibe por 2 segundos
        sevseg.refreshDisplay();
    }
    sevseg.blank(); // Apaga o display
    sevseg.refreshDisplay();
}

void setup()
{
    Serial.begin(9600);

    const byte numDigits = 4;
    bool resistorsOnSegments = 0;

    pinMode(interruptPin, INPUT_PULLUP);
    pinMode(setButtonPin, INPUT_PULLUP);
    pinMode(resetButtonPin, INPUT_PULLUP);
    attachInterrupt(digitalPinToInterrupt(interruptPin), interruptFunction, RISING);

    sevseg.begin(COMMON_CATHODE, numDigits, digitPins, segmentPins, resistorsOnSegments);
    sevseg.setBrightness(10);

    displayFunctionMode();
}

void F001()
{
    // Calculando rps (rotacoes por segundo)
    rps = 0;
    if (interval &amp;gt; 0 &amp;amp;&amp;amp; (millis() - lastPulse) &amp;lt; MAX_WAIT_FREQ) // ignora leituras muito lentas
    {
        rps = 1000.0 / interval;
    }

    if ((millis() &amp;gt; refreshTime))
    {
        Serial.println(rps);
        sevseg.setNumber(rps * 60); // Converte RPS para RPM
        refreshTime = millis() + 200;
    }
}

void F002()
{
    static unsigned long lastInterruptCount = -1;

    if (digitalRead(resetButtonPin) == LOW)
    {
        interruptCount = 0; // Reseta o contador
    }

    if ((lastInterruptCount != interruptCount) || forceDisplayValue)
    {
        lastInterruptCount = interruptCount;
        Serial.println(interruptCount);
        sevseg.setNumber(interruptCount);        
        forceDisplayValue = false;
    }
}

void loop()
{
    // Alterna o modo ao pressionar o botao SET
    if (digitalRead(setButtonPin) == LOW)
    {
        functionMode = (functionMode % 2) + 1; // Alterna entre 1 e 2
        displayFunctionMode(); // Exibe o modo por 2 segundos
        forceDisplayValue = true;
        delay(200); // Debounce
    }

    if (functionMode == 1)
    {
        F001();
    }
    else if (functionMode == 2)
    {
        F002();
    }

    sevseg.refreshDisplay();
}
&lt;/code&gt;&lt;/pre&gt;


&lt;p&gt;Se você gostou da ideia, pretende aplicar em alguma máquina aí da sua oficina ou tem sugestões de melhorias no código, deixe seu comentário!&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://andreob.blogspot.com/feeds/2245807647507306051/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/1768442686966466417/2245807647507306051' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1768442686966466417/posts/default/2245807647507306051'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1768442686966466417/posts/default/2245807647507306051'/><link rel='alternate' type='text/html' href='http://andreob.blogspot.com/2024/09/como-transformar-um-torno-em-tacometro.html' title='Como transformar um torno em tacômetro e contador de voltas com Arduino e Sensor Hall'/><author><name>Andre O. B.</name><uri>http://www.blogger.com/profile/00084879302958105119</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhgr5ROCsBHTP8bzeJZtwpbtGYlCN-TJ_oXAiovX8SvPKu3GA-WDYmvwCJo2YBis0RUr8TMs95XQOkQpIj4CSxrFuM2EJPnbI9n0WoVc07WVzssgPbROuCmCNRGMIrFCJc/s220/qrcode.png'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhOTIt3k4YBwQNwbSTmAgDZY-WPKC35jD6iK-cmBZ2fw4JYFo0_GCO2KCtybhu9rganEZhlpbNdMNdkDpy_GvXWuaKGGawqymEQZRGXmOQacC_ZrWL5Eu2VrHKLGpFW5KWFpJH8AC_0tIYvmDsLGUi-0EbtmXedzaN7J7t0_B9LTym-XBRa1v1ZqDwqIxA/s72-c/Sem%20t%C3%ADtulo.jpeg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1768442686966466417.post-8127691994802976015</id><published>2021-12-27T10:30:00.000-08:00</published><updated>2026-08-16T19:25:57.739-07:00</updated><title type='text'>Como consertar painel LED usando fita LED e SEM NECESSIDADE DE FONTE!</title><content type='html'>&lt;p&gt;Quem trocou todas as lâmpadas e luminárias de casa por painéis LED em busca de economia e sustentabilidade provavelmente já passou pela raiva de ver um painel parar de funcionar do nada. Na grande maioria das vezes, o problema não está nos LEDs, mas sim no módulo da fonte (driver) de baixa qualidade que vem junto com o produto.&lt;/p&gt;

&lt;p&gt;Depois que o meu painel queimou a fonte pela segunda vez — e o valor de uma fonte nova já equivalia ao preço de um painel inteiro —, decidi dar uma solução definitiva: consertar o painel LED usando fita LED e ligando tudo DIRETO na energia (120V), eliminando a fonte para sempre!&lt;/p&gt;

&lt;p&gt;Confira o tutorial completo e o teste de iluminação no link abaixo:&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;iframe class=&quot;BLOG_video_class&quot; allowfullscreen=&quot;&quot; youtube-src-id=&quot;cScdlhcjrGw&quot; width=&quot;320&quot; height=&quot;266&quot; src=&quot;https://www.youtube.com/embed/cScdlhcjrGw&quot;&gt;&lt;/iframe&gt;&lt;/div&gt;

&lt;p&gt;&lt;b&gt;Entendendo o Conceito: Ligação em Série sem Fonte&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;A fita LED comercial (sugiro a de 24V) é dividida em blocos em paralelo. Se cortarmos 5 pedaços contendo esses blocos e os ligarmos em série (unindo o positivo de um ao negativo do outro), o resultado é um conjunto que opera na tensão combinada próxima a 120V da rede elétrica residencial.&lt;/p&gt;

&lt;p&gt;Porém, ao ligar a corrente alternada (AC) direto nessa fita, os LEDs piscam 60 vezes por segundo e parecem apagados aos nossos olhos. É aí que entra o segredo do projeto!&lt;/p&gt;

&lt;p&gt;&lt;b&gt;A Ponte Retificadora (Full Bridge Rectifier)&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;Para resolver o oscilar da corrente e manter os LEDs acesos de forma contínua, utilizamos uma ponte retificadora de onda completa. Apesar do nome técnico, é um dos circuitos mais simples e baratos da eletrônica:&lt;br /&gt;
1. Você precisa apenas de 4 diodos (que custam centavos ou podem ser retirados de qualquer sucata eletrônica).&lt;br /&gt;
2. Solda-se os 4 diodos em formato de losango, prestando atenção no sentido das faixas indicadoras.&lt;br /&gt;
3. A corrente alternada entra de um lado e sai transformada em corrente contínua do outro, suficiente para alimentar os LEDs perfeitamente.&lt;/p&gt;

&lt;p&gt;&lt;b&gt;Passo a Passo da Montagem&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;1. &lt;b&gt;Medição e Corte:&lt;/b&gt; Meça o perímetro interno da moldura do painel (no meu caso, um painel quadrado de 25 cm precisou de 1 metro total de fita).&lt;br /&gt;
2. &lt;b&gt;Divisão dos Pedaços:&lt;/b&gt; Divida esse comprimento em 5 pedaços iguais (20 cm cada) para fazer a ligação em série.&lt;br /&gt;
3. &lt;b&gt;Isolamento e Fixação:&lt;/b&gt; Remova as pontas de cobre desnecessárias de cada lado para evitar curtos, cole as fitas na moldura original e faça a soldagem dos pedaços em série usando fio esmaltado fino.&lt;br /&gt;
4. &lt;b&gt;Conexão Final:&lt;/b&gt; Solde a ponte retificadora compacta na entrada dos LEDs e conecte ao plugue da tomada.&lt;/p&gt;

&lt;p&gt;&lt;b&gt;Resultado Final&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;O painel ficou extremamente forte, iluminando muito mais do que com a fita original e, o melhor de tudo: sem nunca mais precisar gastar dinheiro trocando fontes queimadas!&lt;/p&gt;

&lt;p&gt;Se você gostou da ideia e quer economizar recuperando suas luminárias encostadas, deixe seu comentário no blog ou no canal!&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://andreob.blogspot.com/feeds/8127691994802976015/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/1768442686966466417/8127691994802976015' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1768442686966466417/posts/default/8127691994802976015'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1768442686966466417/posts/default/8127691994802976015'/><link rel='alternate' type='text/html' href='http://andreob.blogspot.com/2021/12/como-consertar-painel-led-usando-fita.html' title='Como consertar painel LED usando fita LED e SEM NECESSIDADE DE FONTE!'/><author><name>Andre O. B.</name><uri>http://www.blogger.com/profile/00084879302958105119</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhgr5ROCsBHTP8bzeJZtwpbtGYlCN-TJ_oXAiovX8SvPKu3GA-WDYmvwCJo2YBis0RUr8TMs95XQOkQpIj4CSxrFuM2EJPnbI9n0WoVc07WVzssgPbROuCmCNRGMIrFCJc/s220/qrcode.png'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://img.youtube.com/vi/cScdlhcjrGw/default.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1768442686966466417.post-7195613034248375191</id><published>2018-09-16T19:20:00.000-07:00</published><updated>2026-08-16T19:20:51.004-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Botoeira Arcade"/><category scheme="http://www.blogger.com/atom/ns#" term="Conserto"/><category scheme="http://www.blogger.com/atom/ns#" term="Dicas Úteis"/><category scheme="http://www.blogger.com/atom/ns#" term="DIY"/><category scheme="http://www.blogger.com/atom/ns#" term="Economia"/><category scheme="http://www.blogger.com/atom/ns#" term="Eletrônica"/><category scheme="http://www.blogger.com/atom/ns#" term="Faça Você Mesmo"/><category scheme="http://www.blogger.com/atom/ns#" term="Gambiarra"/><category scheme="http://www.blogger.com/atom/ns#" term="Manutenção"/><category scheme="http://www.blogger.com/atom/ns#" term="Micro-ondas"/><category scheme="http://www.blogger.com/atom/ns#" term="Modificação"/><category scheme="http://www.blogger.com/atom/ns#" term="Painel de Membrana"/><category scheme="http://www.blogger.com/atom/ns#" term="Panasonic Piccolo"/><category scheme="http://www.blogger.com/atom/ns#" term="Reparo"/><title type='text'>Como consertar o botão Ligar do micro-ondas gastando quase nada</title><content type='html'>&lt;p&gt;Quem nunca passou pelo perrengue de ter um eletrodoméstico parado por causa de um detalhe bobo? O micro-ondas Panasonic Piccolo aqui de casa parou de funcionar porque o botão &quot;Ligar&quot; não dava mais contato de jeito nenhum.&lt;/p&gt;

&lt;p&gt;Por ser a tecla mais usada da membrana (o contato bolha do painel), ela acabou desgastando com o tempo. Ao pesquisar a peça de reposição na internet, o valor do painel com o frete passava de R$ 70,00, e nas lojas locais não havia o modelo em estoque. A solução? Criar uma modificação prática e estilosa para resolver o problema: bypass do botão ligar no circuito de teclado! Sim, a análise de TI também serve para salvar o seu almoço!&lt;/p&gt;

&lt;p&gt;Confira o vídeo com o passo a passo da modificação no link abaixo:&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;iframe class=&quot;BLOG_video_class&quot; allowfullscreen=&quot;&quot; youtube-src-id=&quot;9czCxWzYQ_A&quot; width=&quot;320&quot; height=&quot;266&quot; src=&quot;https://www.youtube.com/embed/9czCxWzYQ_A&quot;&gt;&lt;/iframe&gt;&lt;/div&gt;

&lt;p&gt;&lt;b&gt;Aviso Importante de Segurança&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;&lt;b&gt;Atenção:&lt;/b&gt; Aparelhos de micro-ondas trabalham com altíssima voltagem e capacitores que armazenam cargas perigosas mesmo desligados da tomada. Nos testes do vídeo, o relé do magnetron foi desligado para garantir total segurança contra radiação e choques. Se você não tem experiência com eletrônica, tome extremo cuidado ou consulte um profissional.&lt;/p&gt;

&lt;p&gt;&lt;b&gt;O Diagnóstico e a Solução&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;Ao remover a membrana do painel, temos acesso à placa de circuito com as trilhas de contato. Mapeando o circuito, identifiquei quais pinos do flat eram responsáveis por fechar o contato do botão &quot;Ligar&quot;.&lt;/p&gt;

&lt;p&gt;Para substituir a tecla defeituosa:&lt;br /&gt;
1. Soldei dois fios diretamente nos pontos de contato da placa correspondentes à função &quot;Ligar&quot;.&lt;br /&gt;
2. Adaptei um botão físico do tipo botoeira na outra extremidade dos fios.&lt;br /&gt;
3. Para dar um acabamento personalizado e divertido, utilizei uma botoeira verde de fliperama (arcade) que eu tinha sobrando e fiz o encaixe no plástico do painel.&lt;/p&gt;

&lt;p&gt;&lt;b&gt;Isolando o Botão Defeituoso&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;Um detalhe crucial nesse tipo de reparo: quando o botão do painel bolha estraga, ele costuma ficar em curto (como se estivesse permanentemente pressionado), travando as outras teclas do micro-ondas.&lt;/p&gt;

&lt;p&gt;Para resolver isso, abri a camada da membrana e usei uma gilete para interromper as trilhas do botão defeituoso. Isso isolou o contato em curto e permitiu que a nova botoeira de fliperama assumisse o comando perfeitamente.&lt;/p&gt;

&lt;p&gt;&lt;b&gt;Resultado Final&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;Embora o isolamento das trilhas tenha desativado duas teclas secundárias do teclado numérico (os números 7 e 0), a usabilidade não foi afetada no dia a dia. Basta utilizar a função &quot;Mais 1 Minuto&quot; ou os outros números e acionar o grande botão de fliperama para iniciar o aquecimento!&lt;/p&gt;

&lt;p&gt;Se você tem um micro-ondas encostado pelo mesmo motivo ou curte projetos de reparo e modificação em casa, deixe seu comentário no blog ou no vídeo!&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://andreob.blogspot.com/feeds/7195613034248375191/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/1768442686966466417/7195613034248375191' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1768442686966466417/posts/default/7195613034248375191'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1768442686966466417/posts/default/7195613034248375191'/><link rel='alternate' type='text/html' href='http://andreob.blogspot.com/2018/09/como-consertar-o-botao-ligar-do-micro.html' title='Como consertar o botão Ligar do micro-ondas gastando quase nada'/><author><name>Andre O. B.</name><uri>http://www.blogger.com/profile/00084879302958105119</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhgr5ROCsBHTP8bzeJZtwpbtGYlCN-TJ_oXAiovX8SvPKu3GA-WDYmvwCJo2YBis0RUr8TMs95XQOkQpIj4CSxrFuM2EJPnbI9n0WoVc07WVzssgPbROuCmCNRGMIrFCJc/s220/qrcode.png'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://img.youtube.com/vi/9czCxWzYQ_A/default.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1768442686966466417.post-419109640482018293</id><published>2018-08-26T19:09:00.000-07:00</published><updated>2026-08-16T19:16:11.704-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Conserto"/><category scheme="http://www.blogger.com/atom/ns#" term="Dicas Rápidas"/><category scheme="http://www.blogger.com/atom/ns#" term="Dicas Úteis"/><category scheme="http://www.blogger.com/atom/ns#" term="DIY"/><category scheme="http://www.blogger.com/atom/ns#" term="Eletrodomésticos"/><category scheme="http://www.blogger.com/atom/ns#" term="Eletrônica"/><category scheme="http://www.blogger.com/atom/ns#" term="Faça Você Mesmo"/><category scheme="http://www.blogger.com/atom/ns#" term="Manutenção"/><category scheme="http://www.blogger.com/atom/ns#" term="Reciclagem"/><category scheme="http://www.blogger.com/atom/ns#" term="Reparo em Casa"/><category scheme="http://www.blogger.com/atom/ns#" term="Secador de Cabelo"/><category scheme="http://www.blogger.com/atom/ns#" term="Solda"/><category scheme="http://www.blogger.com/atom/ns#" term="Solução de Problemas"/><category scheme="http://www.blogger.com/atom/ns#" term="Teste de Cabo"/><title type='text'>Dica simples para consertar secador de cabelo e eletrodomésticos em geral</title><content type='html'>&lt;p&gt;Sabiam que problemas elétricos também afetam a TI? Então nada melhor do que saber consertar algo que possa servir para uma gama enorme de nichos diferentes! Sabe aquele eletrodoméstico que para de funcionar do nada e fica esquecido no armário por meses? Foi exatamente o que aconteceu por aqui com este secador de cabelo. Ele ficou parado por mais de um ano e meio porque, ao colocar na tomada e ligar os botões, não dava nenhum sinal de vida.&lt;/p&gt;

&lt;p&gt;A gente já estava quase jogando o aparelho fora, mas resolvi abrir para dar uma olhada e tentar consertar. A surpresa? O problema era muito mais simples do que parecia!&lt;/p&gt;

&lt;p&gt;Confira o vídeo com o passo a passo completo do conserto no link abaixo:&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;iframe class=&quot;BLOG_video_class&quot; allowfullscreen=&quot;&quot; youtube-src-id=&quot;y6yxOv0lhvI&quot; width=&quot;320&quot; height=&quot;266&quot; src=&quot;https://www.youtube.com/embed/y6yxOv0lhvI&quot;&gt;&lt;/iframe&gt;&lt;/div&gt;

&lt;p&gt;&lt;b&gt;O diagnóstico do problema&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;Ao desmontar o secador, verifiquei que o motor e as escovas estavam em perfeito estado. Testei a continuidade dos interruptores e botões, e todos estavam funcionando normalmente.&lt;/p&gt;

&lt;p&gt;Aí veio uma dica de ouro do meu pai para qualquer manutenção elétrica ou eletrônica:&lt;br /&gt;
&lt;b&gt;Antes de mexer em componentes complexos, verifique sempre o cabo de energia primeiro!&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;Muitas vezes a gente quebra a cabeça achando que o motor queimou ou que a placa estragou, quando na verdade o defeito está no próprio fio elétrico.&lt;/p&gt;

&lt;p&gt;&lt;b&gt;Como foi feito o teste (Bypass)&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;Para testar se o problema era realmente o cabo sem precisar dessoldar tudo de início, fiz um teste em paralelo (bypass):&lt;/p&gt;

&lt;p&gt;1. Peguei um cabo auxiliar de energia que eu sabia que estava funcionando.&lt;br /&gt;
2. Liguei esse cabo nos pontos de entrada do circuito do secador.&lt;br /&gt;
3. Com o circuito isolado e os botões ligados, conectei o cabo de teste na tomada.&lt;br /&gt;
4. O motor funcionou perfeitamente e na hora!&lt;/p&gt;

&lt;p&gt;&lt;b&gt;A causa: Apenas 8 centímetros de fio partido!&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;Procurando onde estava a interrupção, descobri que o fio estava quebrado por dentro logo nos primeiros centímetros perto do plugue — a região que mais sofre dobras e torções no uso diário.&lt;/p&gt;

&lt;p&gt;O secador ficou guardado e inútil por mais de um ano por causa de apenas 8 centímetros de cabo quebrado! Bastou cortar o pedaço danificado, reaproveitar o plugue original, fazer uma nova solda reforçada e remontar a carcaça.&lt;/p&gt;

&lt;p&gt;&lt;b&gt;A lição para seus próximos consertos&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;Sempre comece o diagnóstico do mais simples para o mais complexo. Verifique cabo de força, fusíveis, conectores e tomadas antes de condenar o motor ou a eletrônica do seu equipamento. Na maioria das vezes, o reparo é rápido, barato e evita o descarte desnecessário.&lt;/p&gt;

&lt;p&gt;Se você gostou da dica ou conseguiu salvar algum eletrodoméstico aí na sua casa ou mesmo seu computador ou servidor da sua empres, deixe seu comentário no blog ou no vídeo!&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://andreob.blogspot.com/feeds/419109640482018293/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/1768442686966466417/419109640482018293' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1768442686966466417/posts/default/419109640482018293'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1768442686966466417/posts/default/419109640482018293'/><link rel='alternate' type='text/html' href='http://andreob.blogspot.com/2018/08/dica-simples-para-consertar-secador-de.html' title='Dica simples para consertar secador de cabelo e eletrodomésticos em geral'/><author><name>Andre O. B.</name><uri>http://www.blogger.com/profile/00084879302958105119</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhgr5ROCsBHTP8bzeJZtwpbtGYlCN-TJ_oXAiovX8SvPKu3GA-WDYmvwCJo2YBis0RUr8TMs95XQOkQpIj4CSxrFuM2EJPnbI9n0WoVc07WVzssgPbROuCmCNRGMIrFCJc/s220/qrcode.png'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://img.youtube.com/vi/y6yxOv0lhvI/default.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1768442686966466417.post-3019624072952059923</id><published>2017-12-23T17:03:00.000-08:00</published><updated>2026-08-16T19:15:46.115-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Anos 90"/><category scheme="http://www.blogger.com/atom/ns#" term="Bit#1"/><category scheme="http://www.blogger.com/atom/ns#" term="Cabo de Telefone"/><category scheme="http://www.blogger.com/atom/ns#" term="Como Funciona"/><category scheme="http://www.blogger.com/atom/ns#" term="Curiosidades"/><category scheme="http://www.blogger.com/atom/ns#" term="História da Tecnologia"/><category scheme="http://www.blogger.com/atom/ns#" term="Informática"/><category scheme="http://www.blogger.com/atom/ns#" term="Infraestrutura"/><category scheme="http://www.blogger.com/atom/ns#" term="Internet Discada"/><category scheme="http://www.blogger.com/atom/ns#" term="Modems"/><category scheme="http://www.blogger.com/atom/ns#" term="Redes de Computadores"/><category scheme="http://www.blogger.com/atom/ns#" term="Tecnologia"/><category scheme="http://www.blogger.com/atom/ns#" term="Telefonia"/><category scheme="http://www.blogger.com/atom/ns#" term="Tutoriais"/><title type='text'>Por que a Internet discada usava o telefone?</title><content type='html'>&lt;p&gt;Por que quando falamos de Internet temos uma conexão muito forte com os telefones? Na Internet discada, por exemplo, só era possível acessar a grande rede mundial discando para um número de telefone da operadora!&lt;/p&gt;

&lt;p&gt;Para responder a essa e outras dúvidas de forma simples e objetiva, estou inaugurando uma nova série no canal chamada &lt;b&gt;Bit Amarelo&lt;/b&gt;. A proposta é desmistificar conceitos de informática e entender o passado da tecnologia para compreender melhor como chegamos até aqui.&lt;/p&gt;

&lt;p&gt;Se você não viveu essa época ou quer relembrar aquele barulho clássico da conexão discada, assista ao vídeo completo no link abaixo:&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;iframe class=&quot;BLOG_video_class&quot; allowfullscreen=&quot;&quot; youtube-src-id=&quot;mZ9EbXRdmUY&quot; width=&quot;320&quot; height=&quot;266&quot; src=&quot;https://www.youtube.com/embed/mZ9EbXRdmUY&quot;&gt;&lt;/iframe&gt;&lt;/div&gt;

&lt;p&gt;&lt;b&gt;O grande desafio dos anos 90&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;Imagine que estamos no início da década de 1990. A Internet no Brasil ainda não existia para o grande público, e a sua missão fosse conectar todos os computadores do país entre si e com o restante do mundo. Como fazer isso do zero?&lt;/p&gt;

&lt;p&gt;Passar cabos por todas as cidades, estados e oceanos exigiria um investimento astronômico. Naquela época, a Internet ainda era uma grande incógnita e nenhuma empresa tinha certeza se o investimento traria retorno.&lt;/p&gt;

&lt;p&gt;&lt;b&gt;A solução que já estava pronta: As Linhas Telefônicas&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;Para resolver esse problema sem gastar fortunas do zero, os criadores da rede utilizaram uma infraestrutura que já cruzava o planeta desde o século XIX: a rede telefônica.&lt;/p&gt;

&lt;p&gt;Como as linhas de telefone já chegavam às casas e escritórios em quase todo o mundo, bastou utilizar essa malha existente para transportar os dados entre os computadores. O cabo do telefone era conectado ao modem e, através de um ruído audível de frequências sonoras, a comunicação se estabelecia.&lt;/p&gt;

&lt;p&gt;&lt;b&gt;E hoje em dia?&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;Atualmente temos conexões de fibra ótica, cabos dedicados e redes sem fio de alta velocidade. Isso acontece porque a demanda por Internet cresceu a ponto de justificar investimentos bilionários em infraestrutura própria.&lt;/p&gt;

&lt;p&gt;No entanto, sem a infraestrutura prévia dos telefones no início de tudo, a popularização da rede mundial de computadores teria demorado muito mais anos para acontecer.&lt;/p&gt;

&lt;p&gt;&lt;b&gt;Participe e Deixe sua Dúvida!&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;O que você achou dessa explicação? Ficou com alguma dúvida sobre seu computador, celular ou história da tecnologia?&lt;br /&gt;
Deixe sua pergunta nos comentários do blog ou no vídeo do YouTube!&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://andreob.blogspot.com/feeds/3019624072952059923/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/1768442686966466417/3019624072952059923' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1768442686966466417/posts/default/3019624072952059923'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1768442686966466417/posts/default/3019624072952059923'/><link rel='alternate' type='text/html' href='http://andreob.blogspot.com/2017/12/por-que-internet-discada-usava-o.html' title='Por que a Internet discada usava o telefone?'/><author><name>Andre O. B.</name><uri>http://www.blogger.com/profile/00084879302958105119</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhgr5ROCsBHTP8bzeJZtwpbtGYlCN-TJ_oXAiovX8SvPKu3GA-WDYmvwCJo2YBis0RUr8TMs95XQOkQpIj4CSxrFuM2EJPnbI9n0WoVc07WVzssgPbROuCmCNRGMIrFCJc/s220/qrcode.png'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://img.youtube.com/vi/mZ9EbXRdmUY/default.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1768442686966466417.post-5967785812328727620</id><published>2016-11-02T06:55:00.002-07:00</published><updated>2026-08-17T10:48:52.510-07:00</updated><title type='text'>Campainha inteligente com Arduino Nano e módulo DFPlayer Mini / MP3-TF-16</title><content type='html'>&lt;article style=&quot;font-family: Arial, sans-serif; line-height: 1.6; color: #333; max-width: 800px; margin: 0 auto; padding: 10px;&quot;&gt;


  &lt;section style=&quot;margin-bottom: 25px;&quot;&gt;
    &lt;p style=&quot;font-size: 16px;&quot;&gt;
      Esse projeto visa criar uma campainha que dá play em sons de forma sequencial e também de forma individual, dependendo do número de cliques no botão da campainha.
    &lt;/p&gt;

    
    &lt;div class=&quot;separator&quot; style=&quot;clear: both;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjO9sAgaXdxEvTTzyOVqe8dcQbmKwh1uRc3KijUuanxfYDVA6bvt2d2F68fjLTt5MgCFhaoSnDUKyUmLOVR_iewN2U5m1U-KxLEuxx336xduEAPhBSkF6kma3XVUzEoOZVpdcK1CFR1g5SD-olXaz2UQBJa31SyrIuDwQ9_Kcl8-O09q1mUqv5Kuy7ah1c/s1470/esquema.png&quot; style=&quot;display: block; padding: 1em 0; text-align: center; &quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; width=&quot;320&quot; data-original-height=&quot;1470&quot; data-original-width=&quot;1470&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjO9sAgaXdxEvTTzyOVqe8dcQbmKwh1uRc3KijUuanxfYDVA6bvt2d2F68fjLTt5MgCFhaoSnDUKyUmLOVR_iewN2U5m1U-KxLEuxx336xduEAPhBSkF6kma3XVUzEoOZVpdcK1CFR1g5SD-olXaz2UQBJa31SyrIuDwQ9_Kcl8-O09q1mUqv5Kuy7ah1c/s320/esquema.png&quot;/&gt;&lt;/a&gt;&lt;/div&gt;
    
          &lt;h4&gt;Lógica de Funcionamento:&lt;/h4&gt;
      &lt;ul style=&quot;margin-bottom: 0; padding-left: 20px;&quot;&gt;
        &lt;li&gt;&lt;strong&gt;1 clique curto&lt;/strong&gt; (tempo menor que &lt;code&gt;LONG_PRESS_WINDOW_MS&lt;/code&gt;): toca o próximo som;&lt;/li&gt;
        &lt;li&gt;&lt;strong&gt;2 cliques curtos&lt;/strong&gt;: toca o primeiro som da lista;&lt;/li&gt;
        &lt;li&gt;&lt;strong&gt;3 cliques curtos&lt;/strong&gt;: toca o segundo som da lista;&lt;/li&gt;
        &lt;li&gt;&lt;strong&gt;N cliques curtos&lt;/strong&gt;: toca o (N-1)º som da lista;&lt;/li&gt;
        &lt;li&gt;&lt;strong&gt;1 clique longo&lt;/strong&gt; (tempo maior que &lt;code&gt;LONG_PRESS_WINDOW_MS&lt;/code&gt;): equivale a 5 cliques curtos.&lt;/li&gt;
      &lt;/ul&gt;
    
  &lt;/section&gt;

  &lt;section style=&quot;margin-bottom: 25px;&quot;&gt;
    &lt;h4&gt;PINOUT (Arduino Nano → MP3-TF-16P)&lt;/h4&gt;
    
    &lt;pre&gt;
BUTTON_PIN   = 2;   // Botão da campainha (PULL_UP)
MP3_NEXT_PIN = 5;   // Conectado ao IO2 do MP3-TF-16P
MP3_BUSY_PIN = 10;  // Conectado ao pino BUSY do MP3-TF-16P
MP3_RX_PIN   = A1;  // Conectado ao pino RX do MP3-TF-16P
MP3_TX_PIN   = A0;  // Conectado ao pino TX do MP3-TF-16P&lt;/pre&gt;
  &lt;/section&gt;

  &lt;section style=&quot;margin-bottom: 25px;&quot;&gt;
    &lt;div&gt;
      &lt;strong&gt;Dica de Montagem:&lt;/strong&gt; Se você utilizar a pinagem acima, um Arduino Nano e o módulo MP3-TF-16P, é possível soldar o MP3 diretamente acima do Arduino Nano, sem precisar de fios nem protoboard (talvez precise cortar alguns pinos não usados do MP3 para que não deem contato com o Arduino).
    &lt;/div&gt;
  &lt;/section&gt;

  (NOVO) Código disponível para download em: &lt;b&gt;&lt;a href=&quot;https://github.com/aobatroz/campainha-arduino-mp3&quot; target=&quot;_blank&quot;&gt;https://github.com/aobatroz/campainha-arduino-mp3&lt;/a&gt;&lt;/b&gt;
  
&lt;/article&gt;</content><link rel='replies' type='application/atom+xml' href='http://andreob.blogspot.com/feeds/5967785812328727620/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/1768442686966466417/5967785812328727620' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1768442686966466417/posts/default/5967785812328727620'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1768442686966466417/posts/default/5967785812328727620'/><link rel='alternate' type='text/html' href='http://andreob.blogspot.com/2016/11/esse-blog-foi-movido-para.html' title='Campainha inteligente com Arduino Nano e módulo DFPlayer Mini / MP3-TF-16'/><author><name>Andre O. B.</name><uri>http://www.blogger.com/profile/00084879302958105119</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhgr5ROCsBHTP8bzeJZtwpbtGYlCN-TJ_oXAiovX8SvPKu3GA-WDYmvwCJo2YBis0RUr8TMs95XQOkQpIj4CSxrFuM2EJPnbI9n0WoVc07WVzssgPbROuCmCNRGMIrFCJc/s220/qrcode.png'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjO9sAgaXdxEvTTzyOVqe8dcQbmKwh1uRc3KijUuanxfYDVA6bvt2d2F68fjLTt5MgCFhaoSnDUKyUmLOVR_iewN2U5m1U-KxLEuxx336xduEAPhBSkF6kma3XVUzEoOZVpdcK1CFR1g5SD-olXaz2UQBJa31SyrIuDwQ9_Kcl8-O09q1mUqv5Kuy7ah1c/s72-c/esquema.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1768442686966466417.post-551354278741940720</id><published>2016-04-30T18:19:00.000-07:00</published><updated>2026-08-16T18:36:57.951-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Animação"/><category scheme="http://www.blogger.com/atom/ns#" term="Animação 3D"/><category scheme="http://www.blogger.com/atom/ns#" term="Bastidores"/><category scheme="http://www.blogger.com/atom/ns#" term="Blender 3D"/><category scheme="http://www.blogger.com/atom/ns#" term="Game of Thrones"/><category scheme="http://www.blogger.com/atom/ns#" term="Imprensa"/><category scheme="http://www.blogger.com/atom/ns#" term="Projetos Pessoais"/><category scheme="http://www.blogger.com/atom/ns#" term="UFES"/><title type='text'>Map of Ufes: E se Game of Thrones se passasse no Campus Goiabeiras da UFES? A história por trás da animação dos 60 anos da universidade!</title><content type='html'>&lt;p&gt;
Quem nunca olhou para a maquete mecânica e os mapas complexos da abertura de
Game of Thrones e pensou: &quot;Caramba, e se isso fosse feito na minha cidade ou na
minha faculdade?&quot; Como frequentador há anos do Campus de Goiabeiras, e após
começar a assistir o seriado Game of Thrones essa ideia não saía da minha
cabeça. Em comemoração aos 60 anos da UFES, decidi transformar essa inspiração
em realidade: recriar a icônica abertura da série da HBO utilizando o mapa 3D do
Campus Goiabeiras! Se você ainda não viu o vídeo (ou quer rever), dá um play
abaixo:
&lt;br /&gt;
&lt;br /&gt;
&lt;iframe
  class=&quot;BLOG_video_class&quot;
  allowfullscreen=&quot;&quot;
  youtube-src-id=&quot;Rm816uLnc0c&quot;
  width=&quot;320&quot;
  height=&quot;266&quot;
  src=&quot;https://www.youtube.com/embed/Rm816uLnc0c&quot;
&gt;&lt;/iframe&gt;
&lt;br /&gt;
&lt;br /&gt;
  &lt;/p&gt;
&lt;p&gt;
&lt;p&gt;&lt;b&gt;Como Tudo Começou: A Origem do Projeto&lt;/b&gt;
&lt;br /&gt;
Desde criança sempre fui fascinado por cinema. Quando minha mãe me contou que os
filmes eram feitos por pessoas reais — alguém escrevia, atuava e dirigia —,
aquilo despertou uma fagulha enorme em mim. Na época, minha única ferramenta era
papel e caneta, mas como eu sempre fui péssimo para desenho tradicional, ficava
frustrado! Anos mais tarde, com a informática, descobri o mundo da animação 3D.
A grande mágica da computação gráfica para mim foi simples: uma vez que você
constrói o modelo 3D, ele está pronto! Não precisa redesenhar frame por frame.
Assistindo a Game of Thrones, comecei a analisar a vinheta de abertura com um
olhar mais técnico: &quot;Poxa, esse efeito de engrenagens e prédios subindo parece
ser algo viável de reproduzir no 3D... Só preciso de um tema bacana!&quot; E qual
tema seria melhor do que a UFES, um lugar onde vivenciei tantas histórias e onde
convivo todos os dias?
&lt;/p&gt;
&lt;p&gt;
&lt;b&gt;Os Bastidores e os Desafios do Blender (2014 - 2016)&lt;/b&gt;
&lt;br /&gt;
A obra não teve fins comerciais ou acadêmicos diretos — foi um verdadeiro
projeto de coração e hobby, feito nas minhas horas vagas, noites e finais de
semana. Por conta disso, o processo levou dois anos (entre 2014 e 2016).
Utilizei o Blender, um software livre e gratuito de modelagem e animação 3D.
Quando comecei o projeto, eu não dominava a ferramenta! Fui aprendendo o
software na prática, assistindo a dezenas de tutoriais no YouTube.
&lt;/p&gt;
&lt;p&gt;
&lt;b&gt;Os Prédios Mais Difíceis e os Favoritos&lt;/b&gt;
&lt;br /&gt;
A Biblioteca Central: É a queridinha da maioria das pessoas! A combinação da
música subindo no clímax com o efeito surpresa da mecânica (que se expande de
uma forma totalmente inesperada) trouxe uma carga emocional muito forte. Além
disso, fiz questão de incluir detalhes marcantes, como as correntes externas que
escorrem a água da chuva! O CCHN (Centro de Ciências Humanas e Naturais):
Disparado o mais trabalhoso e cansativo! O complexo tem dezenas de blocos de
prédios. Eu levava cerca de 3 dias de modelagem para cada prédio... e na
animação final isso rendia menos de 1 segundo na tela! Mapeamento e Texturas:
Para ser o mais fiel possível, usei o Google Maps (com regra de três para
calcular as proporções de escala) e o Google Street View. Para os locais onde a
câmera do Google não entrava, aproveitava meu horário de almoço na universidade
para bater fotos de referência das fachadas e texturas.
&lt;/p&gt;
&lt;p&gt;
&lt;b&gt;Ficha Técnica e Recursos de Renderização&lt;/b&gt;
&lt;br /&gt;
Para quem curte a parte técnica de computação gráfica e computação de alta
performance, aqui estão os detalhes da produção do projeto: 
  &lt;pre&gt;
Criado por: Andre Oshiro Barcelos 
Inspirado por: Game of Thrones Opening (HBO) 
Trilha Sonora: Ramin Djawadi 
Ano de produção: 2014 – 2016
Software de Animação: Blender (versões 2.65 a 2.72)
Processador de Render: Intel(R) Core(TM) i7-2600 CPU @3.40GHz (8 cores)
Placa de Vídeo para Render: NVIDIA GeForce GTX 760
Tempo Total de Renderização: ~ 200 horas de máquina trabalhando!
&lt;/pre&gt;
&lt;/&gt;
&lt;p&gt;
&lt;b&gt;Na Mídia e Repercussão&lt;/b&gt;
&lt;br /&gt;
A recepção do público capixaba e da comunidade acadêmica ultrapassou todas as
minhas expectativas! Ver ex-alunos e alunos atuais emocionados com a lembrança
dos blocos, praças e vivências da UFES foi a maior recompensa por essas 200
horas de render. Tive a honra de conceder algumas entrevistas super legais para
falar sobre o projeto, o uso do Blender e o processo criativo: TV UFES: Assista
à matéria especial produzida pela própria TV da Universidade
http://youtu.be/5xTvml_8MGQ. Ponto Cult: Entrevista falando sobre o carinho pelo
cinema, bastidores da animação e a reação do público
https://www.youtube.com/watch?v=kFMDNHP_aCI. Assunto da Vez (Episódio 03):
Bate-papo super descontraído com o Rodrigo Yare detalhando o processo de
modelagem, os perrengues do CCHN e o medo do vídeo ficar tosco
https://www.youtube.com/watch?v=K7U9q8V1FHA. Imagem TV: Participação no programa
falando mais sobre a repercussão regional
https://www.youtube.com/watch?v=E_K4r4-12vE&amp;t=15m56s.
&lt;/p&gt;
&lt;p&gt;
&lt;b&gt;E você, o que achou?&lt;/b&gt;
&lt;br /&gt;
Gostou do vídeo? Reconheceu o seu centro ou o prédio onde assistia às aulas? Se
você também estuda Blender, tem dúvidas sobre como fiz algum efeito técnico
específico na animação ou quer dicas de computação gráfica, deixe seu comentário
aqui no blog ou no canal do YouTube! Pretendo gravar tutoriais respondendo às
dúvidas de vocês! Não se esqueça de compartilhar este post com os amigos da UFES
e os fãs de Game of Thrones!
&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://andreob.blogspot.com/feeds/551354278741940720/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/1768442686966466417/551354278741940720' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1768442686966466417/posts/default/551354278741940720'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1768442686966466417/posts/default/551354278741940720'/><link rel='alternate' type='text/html' href='http://andreob.blogspot.com/2016/04/map-of-ufes-e-se-game-of-thrones-se.html' title='Map of Ufes: E se Game of Thrones se passasse no Campus Goiabeiras da UFES? A história por trás da animação dos 60 anos da universidade!'/><author><name>Andre O. B.</name><uri>http://www.blogger.com/profile/00084879302958105119</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhgr5ROCsBHTP8bzeJZtwpbtGYlCN-TJ_oXAiovX8SvPKu3GA-WDYmvwCJo2YBis0RUr8TMs95XQOkQpIj4CSxrFuM2EJPnbI9n0WoVc07WVzssgPbROuCmCNRGMIrFCJc/s220/qrcode.png'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://img.youtube.com/vi/Rm816uLnc0c/default.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1768442686966466417.post-310758201011837654</id><published>2014-09-13T14:31:00.002-07:00</published><updated>2014-09-19T21:24:42.650-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="blender"/><category scheme="http://www.blogger.com/atom/ns#" term="chain in blender"/><category scheme="http://www.blogger.com/atom/ns#" term="chain physics"/><category scheme="http://www.blogger.com/atom/ns#" term="cloth chain"/><category scheme="http://www.blogger.com/atom/ns#" term="oscurart chain"/><title type='text'>Oscurart Chain 2</title><content type='html'>&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;http://i.ytimg.com/vi/xpVxIg-5UPM/maxresdefault.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://i.ytimg.com/vi/xpVxIg-5UPM/maxresdefault.jpg&quot; height=&quot;180&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
I&#39;ve fixed some bugs (and added others :) ) and improved the functionality of the Blender AddOn Oscurart Chain (http://blenderartists.org/forum/showthread.php?226385-Addon-Oscurart-Chain-Maker)&lt;br /&gt;
&lt;br /&gt;
Changes:&lt;br /&gt;
- Now, it has two modes of rig: rig by curve (made by Oscurart) and rig by clothphy (made by Aobatroz)&lt;br /&gt;
&lt;br /&gt;
- The chain links now have shared mesh, it reduce the file size and is easier to modify the link shape.&lt;br /&gt;
&lt;br /&gt;
- The clothphy creates a cloth along the chain (the chain links are constrained to the cloth). When you start the animation, the cloth moves and then moves the chain. I&#39;ve choosen this way because is faster to render using one cloth physics than many rigid body physics (in each chain link).&lt;br /&gt;
&lt;br /&gt;
I hope you enjoy.&lt;br /&gt;
&lt;br /&gt;
Download:&amp;nbsp; &lt;a href=&quot;http://aob.producoes.org/blenderaddons/oscurart_chain_maker2.py&quot;&gt;aob.producoes.org/blenderaddons/oscurart_chain_maker2.py&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Video how to:&amp;nbsp; &lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;iframe allowfullscreen=&#39;allowfullscreen&#39; webkitallowfullscreen=&#39;webkitallowfullscreen&#39; mozallowfullscreen=&#39;mozallowfullscreen&#39; width=&#39;320&#39; height=&#39;266&#39; src=&#39;https://www.youtube.com/embed/R5dRCN1q1lk?feature=player_embedded&#39; frameborder=&#39;0&#39;&gt;&lt;/iframe&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://andreob.blogspot.com/feeds/310758201011837654/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/1768442686966466417/310758201011837654' title='2 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1768442686966466417/posts/default/310758201011837654'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1768442686966466417/posts/default/310758201011837654'/><link rel='alternate' type='text/html' href='http://andreob.blogspot.com/2014/09/oscurart-chain-2.html' title='Oscurart Chain 2'/><author><name>Andre O. B.</name><uri>http://www.blogger.com/profile/00084879302958105119</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhgr5ROCsBHTP8bzeJZtwpbtGYlCN-TJ_oXAiovX8SvPKu3GA-WDYmvwCJo2YBis0RUr8TMs95XQOkQpIj4CSxrFuM2EJPnbI9n0WoVc07WVzssgPbROuCmCNRGMIrFCJc/s220/qrcode.png'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1768442686966466417.post-3525757350327395114</id><published>2013-10-18T12:44:00.002-07:00</published><updated>2013-10-18T12:45:54.491-07:00</updated><title type='text'>Servidor lento mas cpu memoria disco e swap estão sem problemas</title><content type='html'>&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgvQglAe8LoZ861R0hZwm-klBL5h1B5i4gbu2JEBX_HunJyFf53sxyrBlXzv-oX7ceeU_1LH8-vs2kVxWyePO0U9MfhKtC8x3009O8Zij0b50mO5WZ-SJ4_0hlyYv45U7f6cISyEzeRx3U/s1600/internet-lento.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;251&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgvQglAe8LoZ861R0hZwm-klBL5h1B5i4gbu2JEBX_HunJyFf53sxyrBlXzv-oX7ceeU_1LH8-vs2kVxWyePO0U9MfhKtC8x3009O8Zij0b50mO5WZ-SJ4_0hlyYv45U7f6cISyEzeRx3U/s320/internet-lento.jpg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
*Esse post se refere ao sistema operacional Centos. Porém, sua ideia pode ser aplicado a todo SO que faz esse mesmo tipo de limitação.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;==Sintomas==&amp;nbsp;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
- Você possui um servidor rodando um serviço muito importante para sua empresa (ex.: página web da empresa).&lt;br /&gt;
- Você percebe que o servidor está lento, tanto para abrir as páginas, quanto para conectar remotamente via ssh entre outras tarefas. E essa lentidão aparece e some com alguma frequência.&lt;br /&gt;
- Você verifica o uso de CPU, memória RAM e disco disponível, uso de SWAP, quantidade de processos web rodando, etc... e percebe que está tudo funcionando na mais perfeita ordem.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;==Causa==&amp;nbsp;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Muito provavelmente seu servidor está precisando de um incremento no limite de arquivos abertos por usuário/processo (como a maioria dos processos executam com usuário expecífico podemos dizer por processo).&lt;br /&gt;
O Centos limita a quantidade de arquivos que um usuário pode abrir por questões de segurança, pois, um script malicioso pode abrir arquivos indefinidamente.&lt;br /&gt;
Por padrão é pertido a abertura de 1024 arquivos.
Caso esse limite tenha sido atingido e um processo necessite abrir um arquivo novo, essa ação ficará em espera até que seja liberada uma &quot;vaga&quot; de abertura de arquivos.&lt;br /&gt;
Essa espera é o que resulta na lentidão &quot;sem explicação&quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;==Solução==&amp;nbsp;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Aumente o limite de arquivos abertos por usuário:&lt;br /&gt;
- Utilize o comando abaixo para ver a situação atual de seu servidor (veja o campo &quot;open files&quot;).&lt;br /&gt;
&lt;b&gt;&amp;nbsp;ulimit -a&amp;nbsp;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
- Edite o arquivo &quot;/etc/security/limits.conf&quot; e altere as seguintes linhas:&lt;br /&gt;
&amp;nbsp;.&lt;br /&gt;
&amp;nbsp;.&lt;br /&gt;
&amp;nbsp;.&lt;br /&gt;
&amp;nbsp;#*               soft    core            0&lt;br /&gt;
&amp;nbsp;#*               hard    rss             10000&lt;br /&gt;
&amp;nbsp;.&lt;br /&gt;
&amp;nbsp;.&lt;br /&gt;
&amp;nbsp;.&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;- Altere para:&lt;br /&gt;
&amp;nbsp;.&lt;br /&gt;
&amp;nbsp;.&lt;br /&gt;
&amp;nbsp;.&lt;br /&gt;
&amp;nbsp;*               soft    nofile           16384&lt;br /&gt;
&amp;nbsp;*               hard    nofile           16384&lt;br /&gt;
&amp;nbsp;.&lt;br /&gt;
&amp;nbsp;.&lt;br /&gt;
&amp;nbsp;.&lt;br /&gt;
Onde 16384 será o novo limite de arquivos aberto por usuário. Escolha o número de acordo com sua necessidade e recursos de seu servidor. Quanto maior o número, mais memória será consumida.&lt;br /&gt;
&lt;br /&gt;
- As alterações serão efetivadas a medida que os serviços forem reiniciados, sugiro reiniciar a máquina inteira pois achar os serviços que estão em espera não será muito fácil.&lt;br /&gt;
&lt;b&gt;&amp;nbsp;reboot&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
- Execute novamente o comando &quot;ulimit -a&quot; e veja as novas configurações.</content><link rel='replies' type='application/atom+xml' href='http://andreob.blogspot.com/feeds/3525757350327395114/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/1768442686966466417/3525757350327395114' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1768442686966466417/posts/default/3525757350327395114'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1768442686966466417/posts/default/3525757350327395114'/><link rel='alternate' type='text/html' href='http://andreob.blogspot.com/2013/10/servidor-lento-mas-cpu-memoria-disco-e.html' title='Servidor lento mas cpu memoria disco e swap estão sem problemas'/><author><name>Andre O. B.</name><uri>http://www.blogger.com/profile/00084879302958105119</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhgr5ROCsBHTP8bzeJZtwpbtGYlCN-TJ_oXAiovX8SvPKu3GA-WDYmvwCJo2YBis0RUr8TMs95XQOkQpIj4CSxrFuM2EJPnbI9n0WoVc07WVzssgPbROuCmCNRGMIrFCJc/s220/qrcode.png'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgvQglAe8LoZ861R0hZwm-klBL5h1B5i4gbu2JEBX_HunJyFf53sxyrBlXzv-oX7ceeU_1LH8-vs2kVxWyePO0U9MfhKtC8x3009O8Zij0b50mO5WZ-SJ4_0hlyYv45U7f6cISyEzeRx3U/s72-c/internet-lento.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1768442686966466417.post-5409548005391990890</id><published>2012-12-08T10:36:00.004-08:00</published><updated>2012-12-08T10:41:19.263-08:00</updated><title type='text'>Mágica do carro giratório</title><content type='html'>Uma tentativa de mágica feito por um cara muito amigo meu ainda muito inexperiente. Ele está evoluindo, daqui uns dias talvez ele consiga um carro de verdade.&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://youtu.be/iVJjjQksF_M&quot;&gt;http://youtu.be/iVJjjQksF_M&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;
&lt;iframe allowfullscreen=&quot;allowfullscreen&quot; frameborder=&quot;0&quot; height=&quot;315&quot; src=&quot;http://www.youtube.com/embed/iVJjjQksF_M&quot; width=&quot;420&quot;&gt;&lt;/iframe&gt;</content><link rel='replies' type='application/atom+xml' href='http://andreob.blogspot.com/feeds/5409548005391990890/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/1768442686966466417/5409548005391990890' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1768442686966466417/posts/default/5409548005391990890'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1768442686966466417/posts/default/5409548005391990890'/><link rel='alternate' type='text/html' href='http://andreob.blogspot.com/2012/12/magica-do-carro-giratorio.html' title='Mágica do carro giratório'/><author><name>Andre O. B.</name><uri>http://www.blogger.com/profile/00084879302958105119</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhgr5ROCsBHTP8bzeJZtwpbtGYlCN-TJ_oXAiovX8SvPKu3GA-WDYmvwCJo2YBis0RUr8TMs95XQOkQpIj4CSxrFuM2EJPnbI9n0WoVc07WVzssgPbROuCmCNRGMIrFCJc/s220/qrcode.png'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://img.youtube.com/vi/iVJjjQksF_M/default.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1768442686966466417.post-990543459856144088</id><published>2012-12-04T16:49:00.002-08:00</published><updated>2012-12-04T16:49:41.442-08:00</updated><title type='text'>The Unlucky Theatre (O Teatro Azarado)</title><content type='html'>&lt;div style=&quot;text-align: right;&quot;&gt;
&lt;a href=&quot;http://andreob.blogspot.com.br/2012/12/the-unlucky-theatre-english.html&quot;&gt;click here to english post&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;img border=&quot;0&quot; height=&quot;225&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg7D_sA-6_Cd0GaenQ2sPY573Dc7IcvnWM5fuTXAziLhEDRlWhPIvw1LM85kfgYL4zqYDca9_B2IffXVo8Py6o1ViuE-j3e66L0hU-8uKPIWH_nZ_1ESSi7QVQDL-FqlXonxTBYVMDnouM/s400/title_the_unlucky_theatre.jpg&quot; width=&quot;400&quot; /&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
Essa animação é resultado de um trabalho de inglês. O objetivo era apresentar uma estória retirada do livro Penguin Readers &quot;Stories of Detection and Mystery&quot;. A estória escolhida foi &quot;The Unlucky Theatre&quot; de Elliot O&#39;Donnel.&lt;br /&gt;
&lt;br /&gt;
Era para ser uma animação, mas por causa do tempo nós não conseguimos. Nós tinhamos 3 semanas para fazer o trabalho, mas efetivamente somente 2 para fazer a animação. Período de 14 de novembro a 4 de dezembro de 2012.&lt;br /&gt;
&lt;br /&gt;
Gostaria de agradecer Ana Paula Spalenza pela proporcionar a oportunidade de fazer o trabalho.&lt;br /&gt;
E também agradecer a VMComix que forneceu o &quot;Cartoon Character Pack 1&quot; em &quot;blendswap.com&quot;, os personagens foram baseados em cima desse pack.
&lt;br /&gt;
&lt;br /&gt;
Portuguese subtitles: &lt;a href=&quot;http://youtu.be/zmyP-pMuo9Y&quot;&gt;http://youtu.be/zmyP-pMuo9Y&lt;/a&gt;&lt;br /&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;iframe allowfullscreen=&quot;allowfullscreen&quot; frameborder=&quot;0&quot; height=&quot;280&quot; src=&quot;http://www.youtube.com/embed/zmyP-pMuo9Y&quot; width=&quot;320&quot;&gt;&lt;/iframe&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
English subtitles: &lt;a href=&quot;http://youtu.be/wL4iZwqWRso&quot;&gt;http://youtu.be/wL4iZwqWRso&lt;/a&gt;&lt;br /&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;iframe allowfullscreen=&quot;allowfullscreen&quot; frameborder=&quot;0&quot; height=&quot;280&quot; src=&quot;http://www.youtube.com/embed/wL4iZwqWRso&quot; width=&quot;320&quot;&gt;&lt;/iframe&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://andreob.blogspot.com/feeds/990543459856144088/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/1768442686966466417/990543459856144088' title='1 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1768442686966466417/posts/default/990543459856144088'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1768442686966466417/posts/default/990543459856144088'/><link rel='alternate' type='text/html' href='http://andreob.blogspot.com/2012/12/the-unlucky-theatre-o-teatro-azarado.html' title='The Unlucky Theatre (O Teatro Azarado)'/><author><name>Andre O. B.</name><uri>http://www.blogger.com/profile/00084879302958105119</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhgr5ROCsBHTP8bzeJZtwpbtGYlCN-TJ_oXAiovX8SvPKu3GA-WDYmvwCJo2YBis0RUr8TMs95XQOkQpIj4CSxrFuM2EJPnbI9n0WoVc07WVzssgPbROuCmCNRGMIrFCJc/s220/qrcode.png'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg7D_sA-6_Cd0GaenQ2sPY573Dc7IcvnWM5fuTXAziLhEDRlWhPIvw1LM85kfgYL4zqYDca9_B2IffXVo8Py6o1ViuE-j3e66L0hU-8uKPIWH_nZ_1ESSi7QVQDL-FqlXonxTBYVMDnouM/s72-c/title_the_unlucky_theatre.jpg" height="72" width="72"/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1768442686966466417.post-8679292152560846253</id><published>2012-12-04T16:30:00.000-08:00</published><updated>2012-12-04T16:56:31.452-08:00</updated><title type='text'>The Unlucky Theatre - English</title><content type='html'>&lt;div style=&quot;text-align: right;&quot;&gt;
&lt;a href=&quot;http://andreob.blogspot.com/&quot;&gt;clique aqui para post em português&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;img border=&quot;0&quot; height=&quot;225&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg7D_sA-6_Cd0GaenQ2sPY573Dc7IcvnWM5fuTXAziLhEDRlWhPIvw1LM85kfgYL4zqYDca9_B2IffXVo8Py6o1ViuE-j3e66L0hU-8uKPIWH_nZ_1ESSi7QVQDL-FqlXonxTBYVMDnouM/s400/title_the_unlucky_theatre.jpg&quot; width=&quot;400&quot; /&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
This animation is a result from an english work. Its objective was to present a story from the book Penguin Readers &quot;Stories of Detection and Mystery&quot;. The choosen story was &quot;The Unlucky Theatre&quot; by Elliot O&#39;Donnel.&lt;br /&gt;
&lt;br /&gt;
It should be an animation, but because the time we couldn&#39;t do. We had about 3 weeks to do the work, but actually only 2 to make the animation.&lt;br /&gt;
&lt;br /&gt;
I would like to thanks Ana Paula Spalenza for the opportunity to do the work.&lt;br /&gt;
And thanks to VMComix for provide the &quot;Cartoon Character Pack 1&quot; in &quot;blendswap.com&quot;, the characters were based on this pack.&lt;br /&gt;
&lt;br /&gt;
Sorry our english, we are learning yet!&lt;br /&gt;
&lt;br /&gt;
English subtitles: &lt;a href=&quot;http://youtu.be/wL4iZwqWRso&quot;&gt;http://youtu.be/wL4iZwqWRso&lt;/a&gt;&lt;br /&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;iframe allowfullscreen=&quot;allowfullscreen&quot; frameborder=&quot;0&quot; height=&quot;280&quot; src=&quot;http://www.youtube.com/embed/wL4iZwqWRso&quot; width=&quot;320&quot;&gt;&lt;/iframe&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
Portuguese subtitles: &lt;a href=&quot;http://youtu.be/zmyP-pMuo9Y&quot;&gt;http://youtu.be/zmyP-pMuo9Y&lt;/a&gt;&lt;br /&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;iframe allowfullscreen=&quot;allowfullscreen&quot; frameborder=&quot;0&quot; height=&quot;280&quot; src=&quot;http://www.youtube.com/embed/zmyP-pMuo9Y&quot; width=&quot;320&quot;&gt;&lt;/iframe&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://andreob.blogspot.com/feeds/8679292152560846253/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/1768442686966466417/8679292152560846253' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1768442686966466417/posts/default/8679292152560846253'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1768442686966466417/posts/default/8679292152560846253'/><link rel='alternate' type='text/html' href='http://andreob.blogspot.com/2012/12/the-unlucky-theatre-english.html' title='The Unlucky Theatre - English'/><author><name>Andre O. B.</name><uri>http://www.blogger.com/profile/00084879302958105119</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhgr5ROCsBHTP8bzeJZtwpbtGYlCN-TJ_oXAiovX8SvPKu3GA-WDYmvwCJo2YBis0RUr8TMs95XQOkQpIj4CSxrFuM2EJPnbI9n0WoVc07WVzssgPbROuCmCNRGMIrFCJc/s220/qrcode.png'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg7D_sA-6_Cd0GaenQ2sPY573Dc7IcvnWM5fuTXAziLhEDRlWhPIvw1LM85kfgYL4zqYDca9_B2IffXVo8Py6o1ViuE-j3e66L0hU-8uKPIWH_nZ_1ESSi7QVQDL-FqlXonxTBYVMDnouM/s72-c/title_the_unlucky_theatre.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1768442686966466417.post-5437715441629151717</id><published>2012-11-05T18:56:00.001-08:00</published><updated>2012-11-05T19:00:45.688-08:00</updated><title type='text'>Super Mario World: Moon Edition</title><content type='html'>&lt;img border=&quot;0&quot; height=&quot;269&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgiEDwIdBYeidiMXM5o5_VInQy0wodRL9mNQc94Nv6T2MW8K0LxdOOTNTl7Gj19dOxsBrDBv5eTO7VkCfa1A2i090BV5s94b2c8fO5N2PmMZoASSwgwZ4aGilGW4cCakXVYTBasQezLvxQ/s400/super+mario+world+moon+edition.png&quot; width=&quot;400&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
Para os fans de Super Mario World e outros jogos de super nintendo, existe um pessoal que está criando patches para alterar os roms do snes. Essas alterações adicionam novos elementos ao jogo e alteram a estrutura das fases já existentes.&lt;br /&gt;
&amp;nbsp; &lt;br /&gt;
Em outras palavras, quando você abria as 95 fases do SMW, ficava procurando algum outro lugar para uma nova fase (tipo a ilha em cima da Donut Plains) com um gostinho de quero mais! O Super Mario World Moon Edition é esse &quot;a mais&quot; que procurava.&lt;br /&gt;
&lt;br /&gt;
==Para jogar, proceda da seguinte maneira: ==&lt;br /&gt;
&lt;br /&gt;
- Tenha em seu computador o rom do Super Mario World:
disponível em &lt;a href=&quot;http://www.freeroms.com/roms/snes/super_mario_world.htm&quot;&gt;http://www.freeroms.com/roms/snes/super_mario_world.htm&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
- Tenha em seu computador o emulador zsnes. Esse emulador aplica o patch automaticamente, basta deixar o rom (arquivo smc) com o mesmo nome do patch (arquivo ips) no mesmo diretório. Caso esteja usando Ubuntu, instale com &quot;apt-get install zsnes&quot;. Para windows baixe em &lt;a href=&quot;http://www.zsnes.com/&quot;&gt;http://www.zsnes.com/&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;- Baixe o patch em &lt;a href=&quot;http://www.mediafire.com/?arvpho7cqoim6et&quot;&gt;http://www.mediafire.com/?arvpho7cqoim6et&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
- Lembre-se de deixar o arquivo de patch (ips) no mesmo diretório do rom (arquivo smc) e ambos com o mesmo nome.&lt;br /&gt;
&lt;br /&gt;
- Inicie o zsnes e jogue normalmente.&lt;br /&gt;
&lt;br /&gt;
SUPER MARIO WORLD MOON EDITION v0.51&lt;br /&gt;
Agradecimentos a DanJB (danbryce1@gmail.com)&lt;br /&gt;
&lt;a href=&quot;http://www.youtube.com/playlist?list=PL47FAE79E30B15F40&quot; target=&quot;_blank&quot;&gt;http://www.youtube.com/playlist?list=PL47FAE79E30B15F40&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://andreob.blogspot.com/feeds/5437715441629151717/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/1768442686966466417/5437715441629151717' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1768442686966466417/posts/default/5437715441629151717'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1768442686966466417/posts/default/5437715441629151717'/><link rel='alternate' type='text/html' href='http://andreob.blogspot.com/2012/11/super-mario-world-moon-edition.html' title='Super Mario World: Moon Edition'/><author><name>Andre O. B.</name><uri>http://www.blogger.com/profile/00084879302958105119</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhgr5ROCsBHTP8bzeJZtwpbtGYlCN-TJ_oXAiovX8SvPKu3GA-WDYmvwCJo2YBis0RUr8TMs95XQOkQpIj4CSxrFuM2EJPnbI9n0WoVc07WVzssgPbROuCmCNRGMIrFCJc/s220/qrcode.png'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgiEDwIdBYeidiMXM5o5_VInQy0wodRL9mNQc94Nv6T2MW8K0LxdOOTNTl7Gj19dOxsBrDBv5eTO7VkCfa1A2i090BV5s94b2c8fO5N2PmMZoASSwgwZ4aGilGW4cCakXVYTBasQezLvxQ/s72-c/super+mario+world+moon+edition.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1768442686966466417.post-2661959370494997049</id><published>2011-07-29T08:41:00.000-07:00</published><updated>2011-07-29T08:47:18.156-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="certificado"/><category scheme="http://www.blogger.com/atom/ns#" term="chave privada"/><category scheme="http://www.blogger.com/atom/ns#" term="https"/><category scheme="http://www.blogger.com/atom/ns#" term="tomcat6"/><title type='text'>How to enable https / ssl on tomcat certificate and private key already existing</title><content type='html'>&lt;div style=&quot;text-align: right;&quot;&gt;&lt;a href=&quot;http://andreob.blogspot.com/2011/07/como-habilitar-https-ssl-no-tomcat-com.html&quot;&gt;clique aqui para post em português&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;width: 320px; height: 102px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi3Ni9zH8z17JW0CeD9GoJrMmPVg35FQTk_g8glbHjVFjHNWJTT3l0hId-_O-RK2Pbt1TO4dK8Vaq7TzsI8ms6NxKob-kp8l7qmPUUN2YAMGodXfD57fZxyJNVEmD4w5FNkVsNg3TyGIIA/s320/https%252Btomcat.png&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5634794407324244866&quot; /&gt;&lt;br /&gt;&lt;br /&gt;I have the following scenary:&lt;br /&gt;&lt;br /&gt;I bought 1 certificate + 1 private key of ICP Brasil. I need to add them to tomcat to my sites inside it work with ssl (https). How to do?&lt;br /&gt;&lt;br /&gt;== Creating keystore ==&lt;br /&gt;To enable ssl in tomcat, before, must be created the &quot;keystore&quot;, that is a encrypted file where tomcat stores all the certificates and keys in a secure way. To create it and manipulate it, use the command &quot;keytool&quot;. When you import a certificate in a first time, the keystore is created.&lt;br /&gt;&lt;br /&gt; #importing the ICPBrasil root certificates&lt;br /&gt; # that certificates were downloaded from http://acraiz.icpbrasil.gov.br/ICP-Brasil.crt&lt;br /&gt; keytool -import -trustcacerts -alias icpbrasil1 -file /etc/tomcat6/certificados/icpbrasil1.pem -keystore /usr/share/tomcat6/.keystore&lt;br /&gt; &lt;br /&gt; keytool -import -trustcacerts -alias icpbrasil2 -file /etc/tomcat6/certificados/icpbrasil2.pem -keystore /usr/share/tomcat6/.keystore&lt;br /&gt; &lt;br /&gt; keytool -import -trustcacerts -alias icpbrasil3 -file /etc/tomcat6/certificados/icpbrasil3.pem -keystore /usr/share/tomcat6/.keystore&lt;br /&gt;&lt;br /&gt;== Converting certificate + private key to DER format ==&lt;br /&gt;To add the certificate + private key that I bought, it&#39;s necessary to convert them to DER format.&lt;br /&gt; openssl pkcs8 -topk8 -nocrypt -in key.pem -inform PEM -out key.der -outform DER&lt;br /&gt; openssl pkcs8 -topk8 -nocrypt -in cert.pem -inform PEM -out cert.der -outform DER&lt;br /&gt;&lt;br /&gt;== Adding the pair certificate + private key to keystore ==&lt;br /&gt;Unfortunately tomcat has a &quot;kludge&quot; to add the private key to keystore: it&#39;s necessary to use a class called ImportKey to import the pair to tomcat. To download, compile and use the class, follow the following commands:&lt;br /&gt;&lt;br /&gt; wget http://www.startux.de/images/phocadownload/importkey.java&lt;br /&gt; mv importkey.java ImportKey.java #the file name must be equal the class name&lt;br /&gt; javac ImportKey.java&lt;br /&gt; java ImportKey key.der cert.der ANY_ALIAS /usr/share/tomcat6/.keystore KEYSTORE_PASSWORD #java ImportKey keyfile certfile [alias] [keystore] [keystore_passphrase]&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;== Configuring server.xml ==&lt;br /&gt;In &quot;/etc/tomcat6/server.xml&quot; add the following lines to enable the usage of the keystore and https:&lt;br /&gt; &lt;Connector port=&quot;8443&quot; protocol=&quot;HTTP/1.1&quot; SSLEnabled=&quot;true&quot;&lt;br /&gt;                maxThreads=&quot;1024&quot; scheme=&quot;https&quot; secure=&quot;true&quot;&lt;br /&gt;                clientAuth=&quot;false&quot; sslProtocol=&quot;TLS&quot;&lt;br /&gt;                keystorePass=&quot;KEYSTORE_PASSWORD&quot; /&gt;&lt;br /&gt;&lt;br /&gt;Restart tomcat&lt;br /&gt; /etc/init.d/tomcat6 restart&lt;br /&gt;&lt;br /&gt;SORRY MY ENGLISH, I&#39;M LEARNING YET!</content><link rel='replies' type='application/atom+xml' href='http://andreob.blogspot.com/feeds/2661959370494997049/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/1768442686966466417/2661959370494997049' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1768442686966466417/posts/default/2661959370494997049'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1768442686966466417/posts/default/2661959370494997049'/><link rel='alternate' type='text/html' href='http://andreob.blogspot.com/2011/07/how-to-enable-https-ssl-on-tomcat.html' title='How to enable https / ssl on tomcat certificate and private key already existing'/><author><name>Andre O. B.</name><uri>http://www.blogger.com/profile/00084879302958105119</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhgr5ROCsBHTP8bzeJZtwpbtGYlCN-TJ_oXAiovX8SvPKu3GA-WDYmvwCJo2YBis0RUr8TMs95XQOkQpIj4CSxrFuM2EJPnbI9n0WoVc07WVzssgPbROuCmCNRGMIrFCJc/s220/qrcode.png'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi3Ni9zH8z17JW0CeD9GoJrMmPVg35FQTk_g8glbHjVFjHNWJTT3l0hId-_O-RK2Pbt1TO4dK8Vaq7TzsI8ms6NxKob-kp8l7qmPUUN2YAMGodXfD57fZxyJNVEmD4w5FNkVsNg3TyGIIA/s72-c/https%252Btomcat.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1768442686966466417.post-1093119354874634250</id><published>2011-07-29T08:18:00.000-07:00</published><updated>2011-08-01T08:02:57.096-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="certificado"/><category scheme="http://www.blogger.com/atom/ns#" term="chave privada"/><category scheme="http://www.blogger.com/atom/ns#" term="https"/><category scheme="http://www.blogger.com/atom/ns#" term="tomcat6"/><title type='text'>Como habilitar https ssl no tomcat com certificado e chave privada já existentes</title><content type='html'>&lt;div style=&quot;text-align: right;&quot;&gt;&lt;a href=&quot;http://andreob.blogspot.com/2011/07/how-to-enable-https-ssl-on-tomcat.html&quot;&gt;click here to english post&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;width: 320px; height: 102px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi3Ni9zH8z17JW0CeD9GoJrMmPVg35FQTk_g8glbHjVFjHNWJTT3l0hId-_O-RK2Pbt1TO4dK8Vaq7TzsI8ms6NxKob-kp8l7qmPUUN2YAMGodXfD57fZxyJNVEmD4w5FNkVsNg3TyGIIA/s320/https%252Btomcat.png&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5634794407324244866&quot; /&gt;&lt;br /&gt;&lt;br /&gt;Possuo o seguinte cenário:&lt;br /&gt;&lt;br /&gt;Comprei 1 certificado + 1 chave privada da ICP Brasil. Preciso adiciona-los ao tomcat para que meus sites contidos nele trabalhem com ssl (https). Como fazer?&lt;br /&gt;&lt;br /&gt;== Criando keystore ==&lt;br /&gt;Para ativar o ssl no tomcat, antes deve ser criado o chamado &quot;keystore&quot;, que é um arquivo criptografado onde o tomcat guarda todos os certificados de forma segura. Para cria-lo e manipula-lo o comando &quot;keytool&quot; deve ser usado. Ao importar um certificado pela primeira vez, o keystore é criado.&lt;br /&gt;&lt;br /&gt; #importando certificados raiz da ICPBrasil&lt;br /&gt; # esses certificados foram baixados de http://acraiz.icpbrasil.gov.br/ICP-Brasil.crt&lt;br /&gt; keytool -import -trustcacerts -alias icpbrasil1 -file /etc/tomcat6/certificados/icpbrasil1.pem -keystore /usr/share/tomcat6/.keystore #quando executado pela primeira vez, cria o keystore&lt;br /&gt; &lt;br /&gt; keytool -import -trustcacerts -alias icpbrasil2 -file /etc/tomcat6/certificados/icpbrasil2.pem -keystore /usr/share/tomcat6/.keystore #adicionando certificado em keystore ja existente&lt;br /&gt; &lt;br /&gt; keytool -import -trustcacerts -alias icpbrasil3 -file /etc/tomcat6/certificados/icpbrasil3.pem -keystore /usr/share/tomcat6/.keystore #adicionando certificado em keystore ja existente&lt;br /&gt;&lt;br /&gt;== Convertendo certificado + chave privada para formato DER ==&lt;br /&gt;Para adicionar o certificado + chave privada que comprei, é necessário converte-los para o formato DER.&lt;br /&gt; #convertendo certificado e chave do formato pem para der&lt;br /&gt; openssl pkcs8 -topk8 -nocrypt -in chave.pem -inform PEM -out chave.der -outform DER #convertendo chave pem para der&lt;br /&gt; openssl pkcs8 -topk8 -nocrypt -in certificado.pem -inform PEM -out certificado.der -outform DER # convertendo certificado pem para der&lt;br /&gt;&lt;br /&gt;== Adicionando a dupla certificado + chave privada ao keystore ==&lt;br /&gt;Infelizmente o tomcat possui uma &quot;gambiarra&quot; para adicionar a chave privada ao keystore: é necessário utilizar uma classe chamada ImportKey para importar a dupla para o tomcat. Para baixar, compilar e usar a classe, siga os comandos abaixo:&lt;br /&gt;&lt;br /&gt; wget http://www.startux.de/images/phocadownload/importkey.java&lt;br /&gt;&lt;br /&gt; mv importkey.java ImportKey.java #o nome do arquivo tem que ser igual ao nome da classe&lt;br /&gt;&lt;br /&gt; javac ImportKey.java #compilando&lt;br /&gt;&lt;br /&gt; java ImportKey chave.der certificado.der ALIAS_QUALQUER /usr/share/tomcat6/.keystore SENHA_DO_KEYSTORE #java ImportKey keyfile certfile [alias] [keystore] [keystore_passphrase]&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;== Configurando server.xml ==&lt;br /&gt;Em &quot;/etc/tomcat6/server.xml&quot; adicione as seguintes linhas para habilitar o uso do keystore e do HTTPs:&lt;br /&gt; &lt;Connector port=&quot;8443&quot; protocol=&quot;HTTP/1.1&quot; SSLEnabled=&quot;true&quot;&lt;br /&gt;                maxThreads=&quot;1024&quot; scheme=&quot;https&quot; secure=&quot;true&quot;&lt;br /&gt;                clientAuth=&quot;false&quot; sslProtocol=&quot;TLS&quot;&lt;br /&gt;                keystorePass=&quot;SENHA_DO_KEYSTORE&quot; /&gt;&lt;br /&gt;&lt;br /&gt;Reinicie o tomcat&lt;br /&gt; /etc/init.d/tomcat6 restart</content><link rel='replies' type='application/atom+xml' href='http://andreob.blogspot.com/feeds/1093119354874634250/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/1768442686966466417/1093119354874634250' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1768442686966466417/posts/default/1093119354874634250'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1768442686966466417/posts/default/1093119354874634250'/><link rel='alternate' type='text/html' href='http://andreob.blogspot.com/2011/07/como-habilitar-https-ssl-no-tomcat-com.html' title='Como habilitar https ssl no tomcat com certificado e chave privada já existentes'/><author><name>Andre O. B.</name><uri>http://www.blogger.com/profile/00084879302958105119</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhgr5ROCsBHTP8bzeJZtwpbtGYlCN-TJ_oXAiovX8SvPKu3GA-WDYmvwCJo2YBis0RUr8TMs95XQOkQpIj4CSxrFuM2EJPnbI9n0WoVc07WVzssgPbROuCmCNRGMIrFCJc/s220/qrcode.png'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi3Ni9zH8z17JW0CeD9GoJrMmPVg35FQTk_g8glbHjVFjHNWJTT3l0hId-_O-RK2Pbt1TO4dK8Vaq7TzsI8ms6NxKob-kp8l7qmPUUN2YAMGodXfD57fZxyJNVEmD4w5FNkVsNg3TyGIIA/s72-c/https%252Btomcat.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1768442686966466417.post-8138438883498023592</id><published>2011-05-30T07:49:00.000-07:00</published><updated>2011-07-11T13:18:54.626-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="centos"/><category scheme="http://www.blogger.com/atom/ns#" term="glassfish"/><category scheme="http://www.blogger.com/atom/ns#" term="yum"/><title type='text'>glassfish + como instalar no centos com yum</title><content type='html'>&lt;div style=&quot;text-align: right;&quot;&gt;&lt;a href=&quot;http://andreob.blogspot.com/2011/05/glassfish-how-to-install-in-centos-with.html&quot;&gt;click here to english post&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center; width: 225px; height: 188px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgU_kaQftTn1SlWzhIiKe-uypQtV1ctw4bZ6WCyYNk7yeKSmtdHBjDW3jel_62AXbFu6OUNQZSQV-cUohg-tfww9O47QInEnSQ0ey0UNvNhaWdRAHhxMws6t_VIhS6tzRxtbYH7x-WEoXY/s320/glassfish.jpeg&quot; border=&quot;0&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5612521111423962962&quot;&gt;&lt;br /&gt;&lt;br /&gt;O glassfish é um software semelhante ao tomcat. Porém, a grande vantagem do glassfish é que todas as aplicações que rodam no tomcat, também rodam no glassfish. O contrário não é verdadeiro.&lt;br /&gt;&lt;br /&gt;Para realizar a instalação no centos5, realize os passos abaixo:&lt;br /&gt;&lt;br /&gt;==Pré-requisitos==&lt;br /&gt;- Sistema Operacional centos5&lt;br /&gt;- Java5&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;==Crie o repositório:==&lt;br /&gt;Na sua máquina crie o arquivo/repositório &quot;/etc/yum.repos.d/gfa-puma.repo&quot; com o seguinte conteúdo:&lt;br /&gt; [gfa-puma]&lt;br /&gt; name=GFA PUMA&lt;br /&gt; baseurl=http://linux.web.psi.ch/dist/scientific/51/gfa/puma/&lt;br /&gt; enabled=1&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;==Atualize o yum:==&lt;br /&gt; yum update --skip-broken&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;==Instale o glassfish:==&lt;br /&gt; yum install glassfish-v3 --nogpgcheck&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;==Configure o glassfish para iniciar automaticamente:==&lt;br /&gt; chkconfig glassfish-v3 on&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;==Inicie o serviço:==&lt;br /&gt; /etc/init.d/glassfish-v3 start&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;==Acesse a área administrativa:==&lt;br /&gt;Acesse em um browser&lt;br /&gt; http://nome_do_servidor_glassfish:4848</content><link rel='replies' type='application/atom+xml' href='http://andreob.blogspot.com/feeds/8138438883498023592/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/1768442686966466417/8138438883498023592' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1768442686966466417/posts/default/8138438883498023592'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1768442686966466417/posts/default/8138438883498023592'/><link rel='alternate' type='text/html' href='http://andreob.blogspot.com/2011/05/glassfish-como-instalar-no-centos-com.html' title='glassfish + como instalar no centos com yum'/><author><name>Andre O. B.</name><uri>http://www.blogger.com/profile/00084879302958105119</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhgr5ROCsBHTP8bzeJZtwpbtGYlCN-TJ_oXAiovX8SvPKu3GA-WDYmvwCJo2YBis0RUr8TMs95XQOkQpIj4CSxrFuM2EJPnbI9n0WoVc07WVzssgPbROuCmCNRGMIrFCJc/s220/qrcode.png'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgU_kaQftTn1SlWzhIiKe-uypQtV1ctw4bZ6WCyYNk7yeKSmtdHBjDW3jel_62AXbFu6OUNQZSQV-cUohg-tfww9O47QInEnSQ0ey0UNvNhaWdRAHhxMws6t_VIhS6tzRxtbYH7x-WEoXY/s72-c/glassfish.jpeg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1768442686966466417.post-8279258460131493602</id><published>2011-05-30T07:47:00.000-07:00</published><updated>2011-06-01T11:00:39.507-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="centos"/><category scheme="http://www.blogger.com/atom/ns#" term="glassfish"/><category scheme="http://www.blogger.com/atom/ns#" term="yum"/><title type='text'>glassfish + how to install in centos with yum</title><content type='html'>&lt;div style=&quot;text-align: right;&quot;&gt;&lt;a href=&quot;http://andreob.blogspot.com/2011/05/glassfish-como-instalar-no-centos-com.html&quot;&gt;clique aqui para post em português&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center; width: 225px; height: 188px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgU_kaQftTn1SlWzhIiKe-uypQtV1ctw4bZ6WCyYNk7yeKSmtdHBjDW3jel_62AXbFu6OUNQZSQV-cUohg-tfww9O47QInEnSQ0ey0UNvNhaWdRAHhxMws6t_VIhS6tzRxtbYH7x-WEoXY/s320/glassfish.jpeg&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5612521111423962962&quot; /&gt;&lt;br /&gt;&lt;br /&gt;Glassfish is a similar software to tomcat. However, the biggest advantage of glassfish is the all applications that run in tomcat also run in glassfish. The opposite is not true.&lt;br /&gt;&lt;br /&gt;To do the instalation in centos5, do the following steps:&lt;br /&gt;&lt;br /&gt;==Prerequisites==&lt;br /&gt;- centos5 OS&lt;br /&gt;- Java5&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;==Create the repository:==&lt;br /&gt;In your machine create the file/repository &quot;/etc/yum.repos.d/gfa-puma.repo&quot; with the following content:&lt;br /&gt; [gfa-puma]&lt;br /&gt; name=GFA PUMA&lt;br /&gt; baseurl=http://linux.web.psi.ch/dist/scientific/51/gfa/puma/&lt;br /&gt; enabled=1&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;==Update the yum:==&lt;br /&gt; yum update --skip-broken&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;==Install the glassfish:==&lt;br /&gt; yum install glassfish-v3 --nogpgcheck&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;==Configure the glassfish to auto start:==&lt;br /&gt; chkconfig glassfish-v3 on&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;==Start the service:==&lt;br /&gt; /etc/init.d/glassfish-v3 start&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;==Access the administrative area:==&lt;br /&gt;Access by a browser&lt;br /&gt; http://address_of_glassfish_server:4848&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;SORRY MY ENGLISH, I&#39;M LEARNING YET!</content><link rel='replies' type='application/atom+xml' href='http://andreob.blogspot.com/feeds/8279258460131493602/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/1768442686966466417/8279258460131493602' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1768442686966466417/posts/default/8279258460131493602'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1768442686966466417/posts/default/8279258460131493602'/><link rel='alternate' type='text/html' href='http://andreob.blogspot.com/2011/05/glassfish-how-to-install-in-centos-with.html' title='glassfish + how to install in centos with yum'/><author><name>Andre O. B.</name><uri>http://www.blogger.com/profile/00084879302958105119</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhgr5ROCsBHTP8bzeJZtwpbtGYlCN-TJ_oXAiovX8SvPKu3GA-WDYmvwCJo2YBis0RUr8TMs95XQOkQpIj4CSxrFuM2EJPnbI9n0WoVc07WVzssgPbROuCmCNRGMIrFCJc/s220/qrcode.png'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgU_kaQftTn1SlWzhIiKe-uypQtV1ctw4bZ6WCyYNk7yeKSmtdHBjDW3jel_62AXbFu6OUNQZSQV-cUohg-tfww9O47QInEnSQ0ey0UNvNhaWdRAHhxMws6t_VIhS6tzRxtbYH7x-WEoXY/s72-c/glassfish.jpeg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1768442686966466417.post-2275059438756525811</id><published>2011-03-28T11:16:00.000-07:00</published><updated>2011-03-28T11:24:46.658-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="centos"/><category scheme="http://www.blogger.com/atom/ns#" term="net-snmp"/><category scheme="http://www.blogger.com/atom/ns#" term="snmp"/><category scheme="http://www.blogger.com/atom/ns#" term="snmpd"/><title type='text'>How to disable centos net-snmp log</title><content type='html'>&lt;div style=&quot;text-align: right;&quot;&gt;&lt;a href=&quot;http://andreob.blogspot.com/2011/03/destivar-log-do-net-snmp-do-centos.html&quot;&gt;clique aqui para post em português&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;img style=&quot;display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 221px; height: 100px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiMnbEcISyBbc090Q35nJyHHde_Fc5I0FHDkP5IARgODAhMPLJRaINr7Uc8QbeXrLQSXImHB-_9PdNckizy8RLoSGn-aox_fw9b7gguoEK5mQ1WxinKp-vJhmXKABMDlAmEoDXrT0-vQt8/s320/WebNMS_SNMP_API_.NET-screenshot.gif&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5589195503228626450&quot; border=&quot;0&quot; /&gt;&lt;br /&gt;&lt;br /&gt;The centos snmp client logs all the snmp requisitions that the system receives.&lt;br /&gt;Many times this is incovenient because that dirty the /var/log/messages with these kind of logs:&lt;br /&gt; Mar 28 12:44:57 server1 snmpd[16808]: Connection from UDP: [172.25.3.53]:47306 &lt;br /&gt; Mar 28 12:44:57 server1 snmpd[16808]: Received SNMP packet(s) from UDP: [172.25.3.53]:47306 &lt;br /&gt; Mar 28 12:44:57 server1 snmpd[16808]: Connection from UDP: [172.25.3.53]:47306 &lt;br /&gt;&lt;br /&gt;To disable it, edit the &quot;/etc/sysconfig/snmpd.options&quot; file and add the following line:&lt;br /&gt; .&lt;br /&gt; .&lt;br /&gt; .&lt;br /&gt; OPTIONS=&quot;-Lf /dev/null -p /var/run/snmpd.pid -a&quot;&lt;br /&gt; .&lt;br /&gt; .&lt;br /&gt; .&lt;br /&gt;&lt;br /&gt;Note: this file can already have the line &#39;OPTIONS=&quot;-Lsd -Lf /dev/null -p /var/run/snmpd.pid -a&quot;&#39;, note that the -Lsd option must be removed because it is what enables the log.&lt;br /&gt;&lt;br /&gt;Restart the snmpd service:&lt;br /&gt; /etc/init.d/snmpd restart&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;SORRY MY ENGLISH, I&#39;M LEARNING YET!</content><link rel='replies' type='application/atom+xml' href='http://andreob.blogspot.com/feeds/2275059438756525811/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/1768442686966466417/2275059438756525811' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1768442686966466417/posts/default/2275059438756525811'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1768442686966466417/posts/default/2275059438756525811'/><link rel='alternate' type='text/html' href='http://andreob.blogspot.com/2011/03/destivar-log-do-net-snmp-do-centos_28.html' title='How to disable centos net-snmp log'/><author><name>Andre O. B.</name><uri>http://www.blogger.com/profile/00084879302958105119</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhgr5ROCsBHTP8bzeJZtwpbtGYlCN-TJ_oXAiovX8SvPKu3GA-WDYmvwCJo2YBis0RUr8TMs95XQOkQpIj4CSxrFuM2EJPnbI9n0WoVc07WVzssgPbROuCmCNRGMIrFCJc/s220/qrcode.png'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiMnbEcISyBbc090Q35nJyHHde_Fc5I0FHDkP5IARgODAhMPLJRaINr7Uc8QbeXrLQSXImHB-_9PdNckizy8RLoSGn-aox_fw9b7gguoEK5mQ1WxinKp-vJhmXKABMDlAmEoDXrT0-vQt8/s72-c/WebNMS_SNMP_API_.NET-screenshot.gif" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1768442686966466417.post-1183023615716846464</id><published>2011-03-28T11:11:00.000-07:00</published><updated>2011-03-28T11:23:36.870-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="centos"/><category scheme="http://www.blogger.com/atom/ns#" term="net-snmp"/><category scheme="http://www.blogger.com/atom/ns#" term="snmp"/><category scheme="http://www.blogger.com/atom/ns#" term="snmpd"/><title type='text'>Destivar log do net-snmp do centos</title><content type='html'>&lt;div style=&quot;text-align: right;&quot;&gt;&lt;a href=&quot;http://andreob.blogspot.com/2011/03/destivar-log-do-net-snmp-do-centos_28.html&quot;&gt;click here to english post&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;img style=&quot;display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 221px; height: 100px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiMnbEcISyBbc090Q35nJyHHde_Fc5I0FHDkP5IARgODAhMPLJRaINr7Uc8QbeXrLQSXImHB-_9PdNckizy8RLoSGn-aox_fw9b7gguoEK5mQ1WxinKp-vJhmXKABMDlAmEoDXrT0-vQt8/s320/WebNMS_SNMP_API_.NET-screenshot.gif&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5589195503228626450&quot; border=&quot;0&quot; /&gt;&lt;br /&gt;&lt;br /&gt;O cliente snmp do centos loga todas as requisições de snmp que recebe.&lt;br /&gt;Muitas vezes isso é incoveniente pois suja o /var/log/messages com logs do seguinte tipo:&lt;br /&gt;&lt;br /&gt;Mar 28 12:44:57 server1 snmpd[16808]: Connection from UDP: [172.25.3.53]:47306&lt;br /&gt;Mar 28 12:44:57 server1 snmpd[16808]: Received SNMP packet(s) from UDP: [172.25.3.53]:47306&lt;br /&gt;Mar 28 12:44:57 server1 snmpd[16808]: Connection from UDP: [172.25.3.53]:47306&lt;br /&gt;&lt;br /&gt;Para desativa-lo, edite o arquivo &quot;/etc/sysconfig/snmpd.options&quot; e adicione a linha abaixo:&lt;br /&gt;.&lt;br /&gt;.&lt;br /&gt;.&lt;br /&gt;OPTIONS=&quot;-Lf /dev/null -p /var/run/snmpd.pid -a&quot;&lt;br /&gt;.&lt;br /&gt;.&lt;br /&gt;.&lt;br /&gt;&lt;br /&gt;Nota: nesse aquivo pode já existir a linha &#39;OPTIONS=&quot;-Lsd -Lf /dev/null -p /var/run/snmpd.pid -a&quot;&#39;, note que a opção -Lsd deve ser retirada, pois é ela que habilita o log.&lt;br /&gt;&lt;br /&gt;Reinicie o serviço snmpd:&lt;br /&gt;/etc/init.d/snmpd restart</content><link rel='replies' type='application/atom+xml' href='http://andreob.blogspot.com/feeds/1183023615716846464/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/1768442686966466417/1183023615716846464' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1768442686966466417/posts/default/1183023615716846464'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1768442686966466417/posts/default/1183023615716846464'/><link rel='alternate' type='text/html' href='http://andreob.blogspot.com/2011/03/destivar-log-do-net-snmp-do-centos.html' title='Destivar log do net-snmp do centos'/><author><name>Andre O. B.</name><uri>http://www.blogger.com/profile/00084879302958105119</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhgr5ROCsBHTP8bzeJZtwpbtGYlCN-TJ_oXAiovX8SvPKu3GA-WDYmvwCJo2YBis0RUr8TMs95XQOkQpIj4CSxrFuM2EJPnbI9n0WoVc07WVzssgPbROuCmCNRGMIrFCJc/s220/qrcode.png'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiMnbEcISyBbc090Q35nJyHHde_Fc5I0FHDkP5IARgODAhMPLJRaINr7Uc8QbeXrLQSXImHB-_9PdNckizy8RLoSGn-aox_fw9b7gguoEK5mQ1WxinKp-vJhmXKABMDlAmEoDXrT0-vQt8/s72-c/WebNMS_SNMP_API_.NET-screenshot.gif" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1768442686966466417.post-5565533718331662907</id><published>2010-12-08T09:43:00.000-08:00</published><updated>2011-01-26T04:04:32.430-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="compilador snes"/><category scheme="http://www.blogger.com/atom/ns#" term="snes"/><category scheme="http://www.blogger.com/atom/ns#" term="snesc"/><title type='text'>SNES C compiler - Download (C + SNES)</title><content type='html'>&lt;div style=&quot;text-align: right;&quot;&gt;&lt;a href=&quot;http://andreob.blogspot.com/2010/12/compilador-c-para-snes-download.html&quot;&gt;clique aqui para post em português&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;center&gt;&lt;img src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEin0PBO5JSOdCLg7tA1rl6yYKe5DXG7iJ9aR0wdPqxZs-mxRChMXiU1nOpnSX_ZAWQuuJ1jkAy3g-f9F61QwoLEY5BfPFTHUPmuqpS2GgT3zvfevw41h4asRjqipHl4oUUGZQuVBb6Yj4k/s320/c%252Bsnes.png&quot; height=&quot;121&quot; width=&quot;320&quot; border=&quot;0&quot; /&gt;&lt;/center&gt;&lt;br /&gt;One day, surfing the Internet, I found a wonderful thing: someone develop for Windows a C compiler to SNES architecture! In other words, you can to write your games/programs in C language and compile them, the result of this compilation will be a SMC file that you can to play in your Super Nintendo emulator! Or else, if you have a SNES tape recorder (I think few will) you can to record the SMC file in the tape and to play your own game in your Super Nintendo!&lt;br /&gt;&lt;br /&gt;I don&#39;t know the person or people name that created this compiler, the only reference I have is the site where I downloaded the compiler: http://obsolete.se.&lt;br /&gt;&lt;br /&gt;Bear in mind: the compiler is an Windows executable, you can even to write the code in any operacional system, but when you to compile, you have to use a Windows computer (or to emulate Windows) to run the compiler.&lt;br /&gt;&lt;br /&gt;Who is interested can to download the compiler in the site that I said or else to download from my google page: &lt;a href=&quot;https://sites.google.com/site/andreob/snesc.zip?attredirects=0&amp;amp;d=1&quot;&gt;snesc download&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;In other post I will teach how to use the compiler to do SNES games.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;SORRY MY ENGLISH, I&#39;M LEARNING YET!</content><link rel='replies' type='application/atom+xml' href='http://andreob.blogspot.com/feeds/5565533718331662907/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/1768442686966466417/5565533718331662907' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1768442686966466417/posts/default/5565533718331662907'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1768442686966466417/posts/default/5565533718331662907'/><link rel='alternate' type='text/html' href='http://andreob.blogspot.com/2010/12/snes-c-compiler-download.html' title='SNES C compiler - Download (C + SNES)'/><author><name>Andre O. B.</name><uri>http://www.blogger.com/profile/00084879302958105119</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhgr5ROCsBHTP8bzeJZtwpbtGYlCN-TJ_oXAiovX8SvPKu3GA-WDYmvwCJo2YBis0RUr8TMs95XQOkQpIj4CSxrFuM2EJPnbI9n0WoVc07WVzssgPbROuCmCNRGMIrFCJc/s220/qrcode.png'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEin0PBO5JSOdCLg7tA1rl6yYKe5DXG7iJ9aR0wdPqxZs-mxRChMXiU1nOpnSX_ZAWQuuJ1jkAy3g-f9F61QwoLEY5BfPFTHUPmuqpS2GgT3zvfevw41h4asRjqipHl4oUUGZQuVBb6Yj4k/s72-c/c%252Bsnes.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1768442686966466417.post-267581158717227780</id><published>2010-12-08T09:03:00.000-08:00</published><updated>2011-01-26T04:04:44.297-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="compilador snes"/><category scheme="http://www.blogger.com/atom/ns#" term="snes"/><category scheme="http://www.blogger.com/atom/ns#" term="snesc"/><title type='text'>Compilador C para SNES - Download  (C + SNES</title><content type='html'>&lt;div style=&quot;text-align: right;&quot;&gt;&lt;a href=&quot;http://andreob.blogspot.com/2010/12/snes-c-compiler-download.html&quot;&gt;click here to english post&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;center&gt;&lt;img src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEin0PBO5JSOdCLg7tA1rl6yYKe5DXG7iJ9aR0wdPqxZs-mxRChMXiU1nOpnSX_ZAWQuuJ1jkAy3g-f9F61QwoLEY5BfPFTHUPmuqpS2GgT3zvfevw41h4asRjqipHl4oUUGZQuVBb6Yj4k/s320/c%252Bsnes.png&quot; height=&quot;121&quot; width=&quot;320&quot; border=&quot;0&quot; /&gt;&lt;/center&gt;&lt;br /&gt;Um dia, navegando pela Internet, descobri algo maravilhoso: alguém desenvolveu para Windows um compilador C para a arquitetura SNES! Ou seja, você pode escrever seus jogos/programas na linguagem C e compila-los, o resultado dessa compilação será um arquivo SMC que você pode rodar no seu emulador de Super Nintendo! Ou então se tiver o gravador de fitas de SNES (acho que poucos terão) você pode gravar o SMC na fita e jogar no seu Super Nintendo o seu próprio jogo!&lt;br /&gt;&lt;br /&gt;Não sei o nome dessa pessoa ou pessoas que criaram esse compilador, a única referência que tenho é o site que baixei o compilador: http://obsolete.se.&lt;br /&gt;&lt;br /&gt;Lembre-se: é um executável para Windows, você até pode escrever o código em qualquer sistema operacional, mas quando for compilar, terá que utilizar um computador Windows (ou emular um) para executar o compilador.&lt;br /&gt;&lt;br /&gt;Quem estiver interessado pode baixar o compilador na página que citei que baixei ou então direto da minha página google: &lt;a href=&quot;https://sites.google.com/site/andreob/snesc.zip?attredirects=0&amp;amp;d=1&quot;&gt;snesc download&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Em outro post ensinarei como utilizar esse compilador para fazer jogos.</content><link rel='replies' type='application/atom+xml' href='http://andreob.blogspot.com/feeds/267581158717227780/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/1768442686966466417/267581158717227780' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1768442686966466417/posts/default/267581158717227780'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1768442686966466417/posts/default/267581158717227780'/><link rel='alternate' type='text/html' href='http://andreob.blogspot.com/2010/12/compilador-c-para-snes-download.html' title='Compilador C para SNES - Download  (C + SNES'/><author><name>Andre O. B.</name><uri>http://www.blogger.com/profile/00084879302958105119</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhgr5ROCsBHTP8bzeJZtwpbtGYlCN-TJ_oXAiovX8SvPKu3GA-WDYmvwCJo2YBis0RUr8TMs95XQOkQpIj4CSxrFuM2EJPnbI9n0WoVc07WVzssgPbROuCmCNRGMIrFCJc/s220/qrcode.png'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEin0PBO5JSOdCLg7tA1rl6yYKe5DXG7iJ9aR0wdPqxZs-mxRChMXiU1nOpnSX_ZAWQuuJ1jkAy3g-f9F61QwoLEY5BfPFTHUPmuqpS2GgT3zvfevw41h4asRjqipHl4oUUGZQuVBb6Yj4k/s72-c/c%252Bsnes.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1768442686966466417.post-2358016312003488872</id><published>2010-12-07T10:13:00.000-08:00</published><updated>2010-12-07T10:18:56.476-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="bat"/><category scheme="http://www.blogger.com/atom/ns#" term="dns"/><category scheme="http://www.blogger.com/atom/ns#" term="dnscmd"/><title type='text'>dnscmd - script to insert and remove DNS records from your windows 2003 DNS server</title><content type='html'>&lt;div style=&quot;text-align: right;&quot;&gt;&lt;a href=&quot;http://andreob.blogspot.com/2010/12/dnscmd-script-para-inserir-e-remover.html&quot;&gt;clique aqui para post em português&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;== The problem ==&lt;br /&gt;&lt;br /&gt;I needed to insert and remove MX records from the DNS server of my job. They are about 40 subdomains that contains MX, it&#39;s not an easy task to insert and remove these records manualy. With my friend&#39;s help, we made de script listed in this post.&lt;br /&gt;&lt;br /&gt;== The solution ==&lt;br /&gt;&lt;br /&gt;To use the script, set the variable &quot;BASE&quot; with the path to the base directory where the script is; configure the variable &quot;DOMINIO&quot; with the name of your domain; create a file called &quot;subdominios.txt&quot; in the same directory where the script is. Inside this file, list all the subdomains that you like to change, don&#39;t put &quot;.aob.com&quot;, only the name of the subdomain. The file have to be like that:&lt;br /&gt;&lt;br /&gt;dominio1&lt;br /&gt;dominio2&lt;br /&gt;dominio3&lt;br /&gt;&lt;br /&gt;To execute the script, pass the following parameters:&lt;br /&gt;parameter1 = add, to add records to the subdomains listed in subdominios.txt;&lt;br /&gt;             delete, to delete.&lt;br /&gt;parameter2 = the name of the destination server of the added MXs.&lt;br /&gt;Ex.1:&lt;br /&gt;script.bat add email.aob.com&lt;br /&gt;This example will add MX records to all subdomains in subdominios.txt with destination to email.aob.com.&lt;br /&gt;&lt;br /&gt;Ex.2:&lt;br /&gt;script.bat delete email.aob.com&lt;br /&gt;This example will delete all MX records from the subdomains in subdominios.txt with destination to email.aob.com.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;== The script code is listed bellow: ==&lt;br /&gt;&lt;br /&gt;@echo off&lt;br /&gt;set BASE=C:\scripts\atualizamx\&lt;br /&gt;set DOMINIO=aob.com&lt;br /&gt;&lt;br /&gt;rem add, delete&lt;br /&gt;set comando=%1&lt;br /&gt;&lt;br /&gt;rem antispam1,antispam2,...&lt;br /&gt;set servidor=%2&lt;br /&gt;&lt;br /&gt;cd %sBase%&lt;br /&gt;&lt;br /&gt;if &quot;%1&quot;==&quot;delete&quot; goto delete&lt;br /&gt;if &quot;%1&quot;==&quot;add&quot; goto add&lt;br /&gt;goto fim&lt;br /&gt;&lt;br /&gt;:add&lt;br /&gt;FOR /F %%s IN (subdominios.txt) DO (&lt;br /&gt; dnscmd /recordadd %DOMINIO% %%s MX 10 %servidor%&lt;br /&gt;)&lt;br /&gt;goto fim&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;:delete&lt;br /&gt;FOR /F %%s IN (subdominios.txt) DO (&lt;br /&gt; dnscmd /recorddelete %DOMINIO% %%s MX 10 %servidor% /f&lt;br /&gt;)&lt;br /&gt;&lt;br /&gt;:fim&lt;br /&gt;&lt;br /&gt;@echo on&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Sorry my english, I&#39;m learning yet!</content><link rel='replies' type='application/atom+xml' href='http://andreob.blogspot.com/feeds/2358016312003488872/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/1768442686966466417/2358016312003488872' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1768442686966466417/posts/default/2358016312003488872'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1768442686966466417/posts/default/2358016312003488872'/><link rel='alternate' type='text/html' href='http://andreob.blogspot.com/2010/12/dnscmd-script-to-insert-and-remove-dns.html' title='dnscmd - script to insert and remove DNS records from your windows 2003 DNS server'/><author><name>Andre O. B.</name><uri>http://www.blogger.com/profile/00084879302958105119</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhgr5ROCsBHTP8bzeJZtwpbtGYlCN-TJ_oXAiovX8SvPKu3GA-WDYmvwCJo2YBis0RUr8TMs95XQOkQpIj4CSxrFuM2EJPnbI9n0WoVc07WVzssgPbROuCmCNRGMIrFCJc/s220/qrcode.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1768442686966466417.post-8445066439996879011</id><published>2010-12-07T10:12:00.000-08:00</published><updated>2010-12-07T10:17:28.871-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="bat"/><category scheme="http://www.blogger.com/atom/ns#" term="dns"/><category scheme="http://www.blogger.com/atom/ns#" term="dnscmd"/><title type='text'>dnscmd - script para inserir e remover registros DNS no seu servidor de dns windows 2003</title><content type='html'>&lt;div style=&quot;text-align: right;&quot;&gt;&lt;a href=&quot;http://andreob.blogspot.com/2010/12/dnscmd-script-to-insert-and-remove-dns.html&quot;&gt;click here to english post&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;== O problema ==&lt;br /&gt;&lt;br /&gt;Esses dias precisei inserir e remover registros MX no DNS do servidor do meu trabalho. São cerca de 40 subdomínios que contém MX, não é uma tarefa fácil inserir e remover esses registros manualmente. Com a ajuda de um colega, fizemos o script listado nesse post.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;== A solução ==&lt;br /&gt;&lt;br /&gt;Para utilizar o script, configure a variável &quot;BASE&quot; com o caminho da pasta base onde se encontra o script; configure a variável &quot;DOMINIO&quot; com o nome do seu domínio; crie um arquivo chamado subdominios.txt na mesma pasta onde se encontra o script, dentro desse arquivo liste todos os subdomínios que deseja alterar, não coloque &quot;.aob.com&quot;, ou seja, o complemento do dominio, o arquivo deve ser da seguinte forma:&lt;br /&gt;&lt;br /&gt;dominio1&lt;br /&gt;dominio2&lt;br /&gt;dominio3&lt;br /&gt;&lt;br /&gt;Para rodar o script, passe os seguintes parametros:&lt;br /&gt;parametro1 = add, para adicionar registros aos subdominios listados em subdominios.txt; &lt;br /&gt;             delete para fazer a remoção.&lt;br /&gt;parametro2 = nome do servidor destino dos MX adicionados.&lt;br /&gt;Ex.1:&lt;br /&gt;script.bat add email.aob.com&lt;br /&gt;Esse exemplo adicionará registros MX a todos subdomínios do arquivo subdominios.txt com destino em email.aob.com&lt;br /&gt;&lt;br /&gt;Ex.2:&lt;br /&gt;script.bat delete email.aob.com&lt;br /&gt;Esse exemplo deletará todos os registros MX de todos subdomínios do arquivo subdominios.txt com destino em email.aob.com.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;== O código do script segue abaixo: ==&lt;br /&gt;&lt;br /&gt;@echo off&lt;br /&gt;set BASE=C:\scripts\atualizamx\&lt;br /&gt;set DOMINIO=aob.com&lt;br /&gt;&lt;br /&gt;rem add, delete&lt;br /&gt;set comando=%1&lt;br /&gt;&lt;br /&gt;rem antispam1,antispam2,...&lt;br /&gt;set servidor=%2&lt;br /&gt;&lt;br /&gt;cd %sBase%&lt;br /&gt;&lt;br /&gt;if &quot;%1&quot;==&quot;delete&quot; goto delete&lt;br /&gt;if &quot;%1&quot;==&quot;add&quot; goto add&lt;br /&gt;goto fim&lt;br /&gt;&lt;br /&gt;:add&lt;br /&gt;FOR /F %%s IN (subdominios.txt) DO (&lt;br /&gt; dnscmd /recordadd %DOMINIO% %%s MX 10 %servidor%&lt;br /&gt;)&lt;br /&gt;goto fim&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;:delete&lt;br /&gt;FOR /F %%s IN (subdominios.txt) DO (&lt;br /&gt; dnscmd /recorddelete %DOMINIO% %%s MX 10 %servidor% /f&lt;br /&gt;)&lt;br /&gt;&lt;br /&gt;:fim&lt;br /&gt;&lt;br /&gt;@echo on</content><link rel='replies' type='application/atom+xml' href='http://andreob.blogspot.com/feeds/8445066439996879011/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/1768442686966466417/8445066439996879011' title='2 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1768442686966466417/posts/default/8445066439996879011'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1768442686966466417/posts/default/8445066439996879011'/><link rel='alternate' type='text/html' href='http://andreob.blogspot.com/2010/12/dnscmd-script-para-inserir-e-remover.html' title='dnscmd - script para inserir e remover registros DNS no seu servidor de dns windows 2003'/><author><name>Andre O. B.</name><uri>http://www.blogger.com/profile/00084879302958105119</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhgr5ROCsBHTP8bzeJZtwpbtGYlCN-TJ_oXAiovX8SvPKu3GA-WDYmvwCJo2YBis0RUr8TMs95XQOkQpIj4CSxrFuM2EJPnbI9n0WoVc07WVzssgPbROuCmCNRGMIrFCJc/s220/qrcode.png'/></author><thr:total>2</thr:total></entry></feed>