Troque teclado e mouse por joystick nos jogos para PC

Há cerca de dois anos eu presenteei meus dois filhos com um Xbox One, console de jogos da Microsoft o qual eu acho excelente, e que conta com uma série de jogos bacanas que são capazes de nos distrair por horas e horas.

O controle do Xbox One

Quando paro pra pensar no joystick do Xbox One, percebo o quanto o controle evoluiu desde a época de seu tataravô, o Atari. Naquela época o controle que usávamos era uma caixa composta por um bastão e um botão, e nem chegava perto dos seus descendentes modernos, todos com sticks, triggers e botões, anatomicamente localizados para facilitar a vida dos jogadores, que assim podem se concentrar na tela, onde toda a ação acontece.

Aliás, por ser um produto da Microsoft, o joystick do Xbox One pode ser usado não apenas com o console da empresa, mas também com jogos que rodam no PC, na plataforma Windows. Quem circula pelas galerias de lojas de games como o Steam sabe bem que a quantidade de títulos que podem ser jogados com controle aumenta a cada dia — e, embora recomendado, não é necessário que o joystick que você usa seja o do Xbox: eu mesmo, pouco antes de comprar o Xbox One, cheguei a configurar um joystick da Multilaser para jogar no computador.

Mas nem só de jogos que nascem com suporte a joystick vivem os gamers — e eu não estou falando dos games que rodam em tablets smartphones, que, aliás, nem de joystick precisam. Estou falando daquela parcela, ainda significativa, de jogos de computador que não são compatíveis com joystick.

Os primeiros jogos da categoria FPS – First Person Shooter são bons exemplos deste tipo de jogo de computador, e, na própria Steam, é possível encontrar alguns exemplos, como os clássicos Doom II, Quake ou o pai do gênero, Wolfenstein 3D. Estes são todos jogos muito bons, mesmo para aqueles que não os jogaram quando crianças, e que não possuem suporte aos joysticks modernos — em cada um deles, assim, você precisa se virar com o bom e velho teclado e decorar todas as teclas a serem usadas, como no caso do Doom, abaixo:

As teclas para jogar Doom

Mas não são apenas os jogos mais antigos para computador que não possuem suporte à joystick. Pensemos em Minecraft, um sucesso absoluto não apenas para as crianças, como meus dois filhos, que adoram o game, mas também entre os adultos. Desconsiderando as versões posteriores do jogo, que invadiram, além de tablet e celular, os consoles Xbox One e 360, os PlayStation 3 e 4, além do Wii U, onde evidentemente ganharam suporte a joystick, o game original joga-se usando uma combinação de teclado e mouse, segundo vive me informando meu filho mais velho.

Quando se leva em conta os movimentos que um jogador de Minecraft, no computador, precisa realizar, este se vê às voltas com uma combinação de teclas e botões de mouse não menos numerosa que as de games como Doom ou Quake:

As teclas (e botões) para jogar Minecraft

Toda essa combinação de teclas e botões de mouse é muito interessante, e, muitas vezes, até fácil de se acostumar depois de algum tempo jogando. Mas, em prol de facilitar sua vida e, pensando nos games que contam com joysticks modernos como o do Xbox One, você provavelmente já deve ter desejado que houvesse pelo menos uma maneira de jogar estes jogos com joystick.

Bem… Eu, pelo menos, já.

COMO JOGAR COM JOYSTICK JOGOS NÃO COMPATÍVEIS

A primeira coisa que fiz foi — obviamente, vocês já devem ter até adivinhado — uma busca no Google. Como sempre, surgem algumas alternativas para esta questão: Softwares como o Xpadder ou o PGP – Pinnacle Game Profiler.

O que estes programas fazem é simples: Para cada tecla do teclado e  movimento ou pressionamento de botões do mouse, eles são capazes de associar e programar um botão de joystick para fazer o mesmo.

Embora, pelo que pesquisei, ambos sejam boas alternativas e cumpram bem o papel de substituir teclado e mouse por joysticks, há uma questão que quis levar em conta ao ir atrás de uma solução: o custo.

O PGP sai por cerca de US$ 9, enquanto que seu concorrente, Xpadder, sai por um pouquinho mais: US$ 10. Eu, como sou da área de informática, sei melhor do que ninguém que estes softwares precisam certamente ser cobrados, pois são o sustento de seus desenvolvedores. Ainda assim, quando você procura um pouco mais, às vezes acha softwares tão bons quanto os pagos, e que são disponibilizados gratuitamente, graças ao trabalho voluntário de uma ou outra alma caridosa, ou de equipes de desenvolvimento.

ANTIMICRO

Quando o assunto é substituir teclado e mouse pelo joystick, existe uma alternativa que se encaixa neste cenário: Trata-se de um software chamado Antimicro. Dentre os três programas que cito neste texto, nenhum deles tem o nome mais estranho. Ainda assim, é algo que merece todo o meu respeito:

antimicro is a graphical program used to map keyboard keys and mouse controls to a gamepad. This program is useful for playing PC games using a gamepad that do not have any form of built-in gamepad support. However, you can use this program to control any desktop application with a gamepad; on Linux, this means that your system has to be running an X environment in order to run this program.

Aliás, para mostrar como é simples fazer toda a configuração da ferramenta, criei o vídeo abaixo, que disponibilizei no YouTube.

MAS VAMOS ÀS INSTRUÇÕES DETALHADAS…

Primeiro, faça o download do Antimicro, disponível no site do Github.

A ferramenta não funciona apenas com Windows: Também é possível usá-la com algumas variações de Linux, como Debian e Ubuntu. Para o sistema da Microsoft, existem duas maneiras de baixar, sendo a primeira um instalador executável e a segunda, um arquivo compactado, para quem prefere algo portable. Deve-se observar, apenas, que, seja qual for sua opção, deve-se escolher entre versões para 32 ou 64 bits.

Optei por fazer o download da versão portable, pois considero-a mais prática.

Extraído o conteúdo do arquivo para qualquer local em seu computador, basta fazer duplo clique sobre o arquivo ANTIMICRO.EXE .

O conteúdo da pasta da ferramenta Antimicro

Será aberta a interface do programa, de onde podem-se então fazer todas as associações de teclas, movimentos e botões do mouse com os botões e sticks de um controle como o do Xbox One, por exemplo. É óbvio que, para que isso seja possível, você precisa antes conectar um joystick ao PC.

O programa não precisa de nenhum tipo de configuração: é quase como um toque de mágica. Brinco assim porquê, uma vez que conectei meu controle ao PC onde utilizo Windows 10, o reconhecimento foi instantâneo, como quero demonstrar abaixo:

Conecte o joystick, et voilà!

Uma vez conectado o joystick, é importante verificar se todos os botões, os sticks triggers são devidamente reconhedicos pelo Antimicro. Como demonstro na figura acima, cada movimento gera um feedback visual, em azul (ou será roxo?).

Uma vez que os testes tenham sido realizados e você perceba que o controle que você possui é 100% reconhecido pelo programa, programar o joystick para qualquer jogo que você quiser é bem simples.

Note que existem três seções no programa. A primeira se refere aos sticks, a segunda aos dpads (directional pads, ou setas de direção), e finalmente, uma seção referente aos botões (left triggerright trigger, A, B, X,Y, e assim por diante).

Sessões do Antimicro

A configuração do joystick é bastante simples e intuitiva. Para exemplificá-la, vou utilizar como exemplo o próprio Minecraft, que mencionei antes: No jogo, em que você normalmente combina teclado e mouse para jogar, as teclas W, A, S e D são usadas, respectivamente, para mover-se para a frente, para a esquerda, para trás e para a direita, enquanto que o movimento do mouse atua como câmera, direcionando o olhar do jogador para onde é preciso.

Note que existem vários botões marcados como [NO KEY].

Sessão Sticks

Considerando a seção Sticks e a região marcada como L Stick, ou stick esquerdo, deve-se clicar em cada um destes botões para configurar adequadamente as teclas que os movimentos do stick representarão.

Clicar em qualquer um destes botões deve fazer com que um teclado virtual apareça. Nele, basta clicar o mouse sobre o botão que representa a tecla que você deseja que o joystick represente. Abaixo, veja como configurar o L Stick para que se comporte como a tecla A.

O teclado virtual do Antimicro

Note, pela figura acima, que existe, na parte inferior esquerda da janela, seções reservadas à representação das teclas do teclado (keyboard) e também dos movimentos e botões do mouse.

Assim, após usar o método para configurar não apenas a tecla A, mas também as teclas W, S e D com seus respectivos movimentos, basta clicar na seção Mouse para fazer a mesma coisa com os botões e movimentos — tomando cuidado para, desta vez, configurar o R Stick, imitando a câmera do Minecraft.

Configuração do mouse

Após configurar movimentos e câmera, basta configurar as outras teclas necessárias ao jogo, repetindo os procedimentos descritos anteriormente. Ao final do processo, você deverá obter algo mais ou menos similar ao que represento abaixo — sendo que os resultados podem variar, conforme o joystick que você possuir.

Antimicro configurado para Minecraft

Você pode, é claro, configurar outras teclas, botões e movimentos do mouse, dependendo do jogo que quiser fazer funcionar com joystick. Para facilitar o uso posterior, a ferramenta permite que você salve perfis, o que também é muito simples de fazer — basta clicar nos botões Save ou Save as.

Cada perfil salvo é armazenado conforme o padrão abaixo:

nome.do.perfil.gamecontroller.amgp

Antimicro na área de notificaçãoUma coisa interessante, que também vale mencionar, é que quando minimizada a janela do Antimicro, suas opções ficam disponíveis na área de notificações, no canto inferior direito, próximo ao relógio do Windows, facilitando a troca entre os diversos perfis criados por você.

Como última dica, se você não quiser criar os perfis manualmente, há vários deles já disponíveis e prontos para baixar do site do Github, onde, como disse anteriormente, o Antimicro fica hospedado.

Espero que as explicações acima sejam úteis para você, e que assim, você logo esteja usando joystick para jogar no PC aqueles jogos que você sempre jogou usando apenas o teclado e o mouse.

Traga mais Readability para o seu blog

Meu amigo Rodrigo Ghedin conseguiu, sem querer, me deixar preocupado com a aparência: Não a minha, é verdade — já que neste caso nem as versões mais avançadas e recentes de Photoshop dariam jeito —, mas com a do meu blog. Tudo isso porquê, há alguns dias atrás, ele falou, em mais um de seus excelentes posts, sobre o conceito de readability.

Para quem não sabe o que readability significa, eu vou simplificar: Trata-se, basicamente, de tornar o processo de leitura mais fácil.

Ao encontrarem condições que lhes permitam ler mais facilmente, os seres humanos têm melhoradas suas capacidades de compreensão, retenção e velocidade de leitura. E para quem estiver se perguntando o que isso pode ter — ainda que de longe — a ver com os blogs que lemos no dia-a-adia, eu explico, mais uma vez. Só que desta vez vou usar um trecho do post onde o Ghedin menciona leituras realizadas na web:

(…) mesmo nas leituras mais rápidas, essenciais ao trabalho que desempenho e muito útil para ler muita coisa boa que aparece em blogs, sites e outros locais,  s vezes me sinto incomodado. Não pelo monitor, mas sim pelo layout. Tem gente que publica um texto com fonte branca em fundo preto! A mim, o efeito é o mesmo que ficar meia hora olhando diretamente para uma lâmpada acesa. Meus olhos sentem essa agressão.

E esse problema de contraste é apenas um dos vários que existem. Tipografia mal escolhida, espaçamento inadequado, excesso de anúncios inseridos dentro do texto. Eu costumava pregar a máxima de que não importa aonde você escreva, o que importa, mesmo, é a mensagem. Bobagem! Já deixei de ler muita coisa boa porque a apresentação não colaborava.

Notem que um site mal cuidado, com qualquer um dos deslizes mencionados acima, pode estar prejudicando a facilidade de leitura de seus visitantes. Na prática, isso pode, inclusive, acabar se traduzindo em falta de fidelização dos leitores, ou seja: Eles podem nunca mais querer voltar ao seu site, pois se lembrarão, por exemplo, que precisaram de óculos escuros para proteger os olhos na última vez em que ali estiveram.

Felizmente, visando auxiliar a leitura de informações por milhões de internautas, um pessoal muito bacana desenvolveu um projeto — também, obviamente, chamado de Readability —, onde se encontra disponível um bookmarklet configurável para tornar qualquer página mais agradável de ler. O Rodrigo, muito oportunamente, ensina como fazer a configuração, passo-a-passo.

Com a existência de plugins prontamente disponíveis para a implantação de readability no Firefox e Google Chrome, o lado dos internautas está ainda mais garantido.

Mas acontece que eu fiquei pensando em como garantir que qualquer um que me visitasse pudesse ter acesso aos recursos de readability sem necessariamente contar com bookmarklets, extensões ou plugins. Esse conceito é tão interessante que deveria ficar ao lado de botões como os de compartilhamento de links no del.icio.us, ou de retweet, que hoje são amplamente vistos nos blogs por aí. E felizmente, não é nada complicado deixar o seu blog readability-ready.

O primeiro passo para isso é dar uma olhada no código fonte do bookmarklet que o Rodrigo ensina a configurar. No Firefox, basta clicar o botão direito sobre ele e selecionar a opção Propriedades. Você logo se deparará com algo assim no campo endereço:

[javascript] javascript:(function(){readConvertLinksToFootnotes=false;readStyle=’style-novel’;readSize=’size-medium’;readMargin=’margin-medium’;_readability_script=document.createElement(‘script’);_readability_script.type=’text/javascript’;_readability_script.src=’http://lab.arc90.com/experiments/readability/js/readability.js?x=’+(Math.random());document.documentElement.appendChild(_readability_script);_readability_css=document.createElement(‘link’);_readability_css.rel=’stylesheet’;_readability_css.href=’http://lab.arc90.com/experiments/readability/css/readability.css’;_readability_css.type=’text/css’;_readability_css.media=’all’;document.documentElement.appendChild(_readability_css);_readability_print_css=document.createElement(‘link’);_readability_print_css.rel=’stylesheet’;_readability_print_css.href=’http://lab.arc90.com/experiments/readability/css/readability-print.css’;_readability_print_css.media=’print’;_readability_print_css.type=’text/css’;document.getElementsByTagName(‘head’)[0].appendChild(_readability_print_css);})();
[/javascript]

Assustador, não é mesmo?

No entanto, não é necessário se preocupar com o que o código acima faz — que, na verdade, é somente aplicar readability   página que você está lendo. O importante é saber que é este o código que você precisará para permitir que qualquer um que visite seu site aplique readability nele. Na verdade, a coisa é tão simples que você precisará apenas criar um link em qualquer lugar da página onde escreveu um texto para que a pessoa possa clicar sobre ele. Vejamos a seguir como isso funciona no WordPress.

Acessando seu editor de temas, você precisará criar um link com o código acima no arquivo single.php — uma vez que o bookmarklet original é idealizado para transformar páginas com artigos individuais, e não sites inteiros, embora isso também possa ser feito. No meu caso, isso se traduziu da seguinte maneira:

[javascript wraplines=”false”] <span class="readability">
<a title="Torne este texto mais agradável de ler!" href="javascript:(function(){readConvertLinksToFootnotes=false;readStyle=’style-novel’;readSize=’size-medium’;readMargin=’margin-medium’; _readability_script=document.createElement(‘script’);_readability_script.type=’text/javascript’;_readability_script.src=’http://lab.arc90.com/experiments/readability/js/readability.js?x=’+(Math.random());document.documentElement.appendChild(_readability_script)_readability_css=document.createElement(‘link’);_readability_css.rel=’stylesheet’; _readability_css.href=’http://lab.arc90.com/experiments/readability/css/readability.css’;_readability_css.type=’text/css’; _readability_css.media=’all’;document.documentElement.appendChild(_readability_css); _readability_print_css=document.createElement(‘link’); _readability_print_css.rel=’stylesheet’; _readability_print_css.href=’http://lab.arc90.com/experiments/readability/css/readability-print.css’; _readability_print_css.media=’print’; _readability_print_css.type=’text/css’; document.getElementsByTagName(‘head’)[0].appendChild(_readability_print_css);})();">Readability</a>
</span>
[/javascript]

O único retoque que eu fiz foi acrescentar uma classe CSS para deixar a coisa um pouco mais bonita de se ver. Não sabia exatamente qual ícone utilizar, então optei por capturar o favicon do próprio projeto Readability:

.readability{
      display:line;
      background: transparent url(images/readability_16.png) no-repeat;
      margin-left: 5px;
      padding-left:26px;
      padding-bottom:5px;
      min-width:8px;
}

O resultado já pode ser visto nas páginas individuais dos artigos aqui do blog. Espero, sinceramente, que desta maneira, eu esteja contribuindo para que as pessoas encontrem por aqui uma experiência de leitura um pouco mais agradável.

PS: Depois, com mais calma, pensarei em um jeito de tornar essa coisa um plugin para o WordPress.

Protegendo melhor o meu WordPress

Depois de ter sido recentemente atacado por uma script injection que surgiu do nada, fiquei mais cauteloso no que diz respeito ao blog, quando se trata de segurança.

No começo deste mês acabei encontrando um artigo da Smashing Magazine, com 10 dicas para reforçar a proteção de sites que, como o meu, utilizam o WordPress. Embora seja verdade que reforçar a segurança de um site por conta própria requeira um conhecimento mínimo de Apache — e não se sentir intimidado com alterações no arquivo .htaccess —, não há nada realmente muito cabeludo a se fazer.

Assim sendo, quero compartilhar com vocês duas das alterações que fiz:

Primeira coisa: Proteger o blog de injeções de script

Os ataques de injeção de scripts acontecem quando um hacker introduz algumas linhas de código malicioso em um site através de um de seus formulários — o de comentários, por exemplo — e então envia tais dados através deste formulário. Isso é feito, geralmente, para que se possa enganar os sistemas em uso nos sites, de maneira que eles pensem que se trata de conteúdo enviado por um usuário válido, e assim acabem permitindo, sem querer, que dados sejam acessados, editados excluídos, ou que scripts mal intencionados sejam acessados e instalem vírus nas máquinas dos internautas desavisados.

Uma das técnicas básicas para um script injection é que uma máquina cliente submeta informações que contem tags, como a tag <script>. Isso nos leva  s diretivas abaixo, sugerida no artigo que li:

Options +FollowSymLinks
RewriteEngine On
RewriteCond %{QUERY_STRING} (\<|%3C).*script.*(\>|%3E) [NC,OR]
RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]
RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2})
RewriteRule ^(.*)$ index.php [F,L]

Ao serem adicionadas ao arquivo .htaccess, tais diretivas fazem com que qualquer requisição de acesso   uma página no blog seja verificada. Caso ela contenha referências   uma tag <script> ou, mais ainda, tenha tentado modificar o valor das variáveis GLOBALS ou _REQUEST do PHP, a requisição será bloqueada com um erro 403 (“Forbidden“) do Apache, ou seja, quem quer que esteja tentando realizar o acesso — neste caso, provavelmente alguém muito mal intencionado — será impedido de fazê-lo. Você pode até criar um documento personalizado para recepcionar alguém que tenha recebido o erro em questão:

ErrorDocument 403 /forbidden.php

Uma última palavra sobre as diretivas acima, é que estas podem ser facilmente modificadas para que incluam também as tags  <object>, <applet> e <embed>, também utilizadas em script injections. Desta maneira, reforça-se ainda mais a segurança.

Segunda coisa: Proteger o arquivo wp-config.php

Quando li o artigo da Smashing Magazine, vi que eles recomendam a proteção do arquivo wp-config.php — onde residem todas as configurações principais do WordPress, inclusive nomes de usuário e senha do banco de dados, que permitem a qualquer um com más intenções acesse todo o conteúdo do seu blog e faça com ele o que bem entender —, o que, afinal de contas, é uma excelente ideia.

O único problema é que eles, mais uma vez, se valem de alterações no arquivo .htaccess, da seguinte maneira:

<files wp-config.php>
order allow,deny
deny from all
</files>

Acredito, no entanto, que uma solução muito mais efetiva para impedir o acesso ao conteúdo do arquivo seja movê-lo para um lugar inacessível publicamente. Na prática, normalmente, isso significa movê-lo para antes da pasta public_html — onde fica tudo o que é visível para o mundo lá fora — em sua conta de usuário. Felizmente, desde a versão 2.6 do WordPress, isso é possível. Dessa maneira, basta que você utilize um programa de FTP de sua confiança e mova o arquivo em questão um nível acima.

De qualquer maneira, a dica dada pela Smashing Magazine ainda é válida se adaptarmos um pouco as coisas: Por exemplo, podemos aproveitar para proteger não o arquivo wp-config.php, mas sim o próprio arquivo .htaccess, da seguinte maneira:

<files .htaccess>
order allow,deny
deny from all
</files>

Conclusão

É óbvio que a proteção de um site contra ataques envolve uma série de outros passos e medidas de segurança, e muito mais leitura e estudo. Ainda assim, minha decisão de dividir estas duas simples alterações se deu porquê acredito serem realmente de grande valia para alguém que está pensando em proteger melhor seu conteúdo, e espero que, desta maneira, esteja prestando um serviço a quem se encontrar em uma situação difícil.

Para maiores informações, recomendo também a leitura do excelente artigo Hardening WordPress, disponível no próprio Codex da ferramenta.

Quer um vídeo do YouTube rápido? 3outube nele!!

Ontem me lembrei de uma propaganda de chocolate estrangeira muito engraçada que eu havia assistido há muitos anos atrás, e que poderia ser útil para ilustrar um dos trechos de um treinamento que um amigo dará em breve na nossa empresa. Sabendo que seria muito fácil encontrá-la no YouTube, lá fui eu fazer a busca, que, depois de alguns minutos, resultou em sucesso. Mas havia um problema.

Quando eu preciso de um vídeo do YouTube, normalmente recorro a uma entre duas alternativas: Se estou usando o Firefox, nada melhor do que o Download Helper para me ajudar. Já se estiver usando o Chrome, o jeito é atacar com um bookmarklet que alguma alma bondosa disponibilizou. Seja qual for o caso, o resultado é ter, em mãos, um arquivo FLV ou MP4 que pode depois ser convertido a contento.

Basta trocar "http://www.y" por "http://3". Simples, não?

Acontece  que no momento em que me lembrei do tal vídeo, eu não tinha nenhuma das opções   mão: A empresa tem apenas computadores com o péssimo Internet Explorer. Assim sendo, tive que me conter, esperar chegar em casa, e só depois fazer o procedimento de download. E justamente um dia depois de ter feito isso, acabei conhecendo uma alternativa muito interessante para baixar os vídeos. Trata-se do site 3outube.

O nome, que é impronunciável, é simples de explicar: Para baixar um vídeo através do site, basta que você substitua o início da URL que contém o vídeo por http://3. Uma vez pressionando ENTER, aparecerá uma nova página, de onde estarão disponíveis os links para baixar tanto o arquivo MP4 quanto o FLV. Daí por diante, é só fazer como em qualquer outro download, e salvar o arquivo. Uma mão na roda.

Ah, e quanto   propaganda, ela está aqui embaixo, para que quem ficou curioso possa se satisfazer. Aliás, eu só conhecia o primeiro segmento, e descobrir que existem outros dois foi uma surpresa muito interessante e divertida, prova de que o YouTube pode ser uma caixinha de surpresas

Não se assuste (mais) com URL rewriting

Você já ouviu falar, algum dia, em URL rewriting?

O conceito é simples: Através do uso de um software apropriado, pode-se facilmente modificar a aparência de uma URL — ou, para ser o mais inteligível possível, pode-se fazer com que um endereço de internet digitado no navegador faça muito mais sentido para quem o está digitando do que normalmente poderia ser.

Vejamos: Qualquer site da web que seja dinâmico — este meu blog, por exemplo, utiliza uma ferramenta dinâmica de gerenciamento chamada WordPress — depende de que as URLs digitadas pelo usuário lhe digam o que deverá ser exibido. Considere por exemplo, uma das páginas de um site de loja de animais, cujo endereço é o seguinte:

http://www.pets.com/show_a_product.php?product_id=7

Há algumas coisas que se pode deduzir do endereço acima, como, por exemplo, o fato de que as informações de um determinado produto deverão ser exibidas — no caso, o produto 7. Mas o que mais podemos dizer sobre o produto? Trata-se de ração? Trata-se de um brinquedo para animais? Embora seja fácil chegar a conclusão de que é impossível afirmar qualquer coisa sobre o produto, é realmente impressionante a quantidade de pessoas que passam para seus amigos e familiares endereços neste formato, que são impossíveis de memorizar.

A função do URL rewriting é justamente transformar endereços de web como o do exemplo acima em algo deste tipo:

http://www.pets.com/parrots/norwegian-blue/

Muito mais inteligível.  Note que agora, antes de acessar o endereço, o usuário saberá que estamos falando de papagaios (“parrots”), e, mais especificamente, do papagaio norueguês azul. Além disso, adicionalmente   vantagem de ser um endereço mais fácil de memorizar e passar para quem quisermos, ao utilizarem-se de URL rewriting, os donos de sites na internet poderão ter suas páginas indexadas pelos sites de busca, como o Google, já que eles entendem os hífens como espaços, e os underscores ( _ ) do exemplo anterior são ignorados.

Há, no entanto, uma questão muito interessante sobre esta técnica: Ao mesmo tempo em que ela pode ser empregada para aumentar a usabilidade de um site na internet, a edição de um arquivo .htaccess — empregado no processo — pode também significar, de uma hora para a outra, o início de horas e horas de puro sofrimento. Assim sendo, é importante saber onde procurar exemplos e referências antes de tentar se aventurar neste mundo.

Recentemente, em meio a minhas idas e vindas entre o WordPress e o Posterous, precisei realizar algumas edições em um arquivo .htaccess. Como não é lá muito habitual de minha parte ficar mexendo com isso, recorri a uma famosa referência que existe bem   mão, para que a coisa fosse a mais indolor possível. Trata-se do Apache URL Rewriting Guide, que já me livrou de poucas e boas anteriormente.

Acontece que o guia em questão não está lá em uma linguagem das mais acessíveis, e pode assustar alguém que esteja desavisado. Ocorre que acabei encontrando, meio que sem querer, admito, uma outra referência, o URL Rewriting for Beginners, escrito já há alguns anos por uma caridosa alma, mas recheado de exemplos como os da loja de animais, que adaptei para este texto, e com dois grandes bonus: O primeiro um guia de consulta rápida sobre mod_rewrite, e o segundo, um guia sobre expressões regulares, sobre as quais é muito desejável que se tenha ao menos noções, antes de resolver se aventurar por aí.

Com as referências que encontrei — e que estou compartilhando aqui para que outras pessoas necessitadas possam encontrar um caminho — eu me sentirei muito mais tranquilo na hora em que precisar me arriscar por aí, e assim não terei que temer — tanto — os famigerados erros 500 do protocolo HTTP, que costumam aparecer quando fazemos uma curva errada no trajeto. Espero que a dica seja bastante útil.

Transformando AVI em RMVB

Descobri um programa gratuito, chamado Easy RealMedia Producer, que vem a calhar quando se deseja converter um arquivo para o formato RMVB.

Interface principal do programa

Sua utilização é tão simples que impressiona: Uma vez feito o download e instalado o software, basta selecionar um ou mais arquivos de origem a serem processados. Todos os formatos mais populares, como AVI, MPEG, MOV ou WMV, são suportados, além de uma infinidade de outros. Caso sejam selecionados múltiplos arquivos, é claro, um processamento em lote será executado.

O passo seguinte é opcional: Selecionando qualquer arquivo da lista e clicando em settings, uma série de configurações avançadas pode ser efetuada, como determinar a qualidade do áudio do arquivo a ser gerado, sua resolução, ou até mesmo se será aplicado algum tipo de filtro ao resultado. Além disso, graças a um programa adicional chamado DirectVobSub, que é instalado juntamente com o Easy RealMedia Producer, é possível, se assim desejado, acrescentar legendas definitivas aos arquivos a serem criados. Para tanto, basta que arquivos de legendas com os mesmos nomes dos arquivos de vídeo estejam localizados na pasta de origem, durante o processo de conversão.

Aliás, quando se opta por incluir tais legendas, pode-se configurar como elas deverão aparecer. Afinal de contas, o padrão — legendas brancas, escritas com fonte Arial, em tamanho 10 — pode não agradar a todo mundo. Neste caso, existe um painel de controle oculto para o DirectVobSub, que pode ser acessado uma vez que se execute o seguinte comando:

C:\WINDOWS\system32\rundll32.exe “D:\Install\Easy RealMedia Tools\common\vsfilter.dll”, DirectVobSub

Isso fará com que uma janela de propriedades seja exibida — tal como na figura a seguir — e que, a partir dela, se torne possível alterar configurações como cor, posicionamento, tamanho e tipo da fonte. Uma vez alteradas, estas configurações servirão para todas as conversões a serem realizadas.

Configurações "ocultas" do DirectVobSub

Mas uma questão pode surgir: Porquê exatamente converter arquivos para RMVB?

No meu caso, nos últimos tempos, venho acompanhando muitas de minhas séries favoritas através da chamada Torrent TV : Após baixar cada novo episódio e suas legendas, eu o assisto no formato AVI, e então surge uma necessidade: armazenamento. Isso porquê eventualmente eu acabo assistindo alguns episódios novamente, e também porquê não sou exatamente uma pessoa que gosta de jogar as coisas fora.

Neste aspecto, os arquivos RMVB tem uma vantagem: Ocupam, efetivamente, quase 50% menos espaço em disco. Apenas para efeitos ilustrativos, basta dizer que o espaço necessário para manter no HD um episódio de 42 minutos gravado em AVI é, em média, 350MB, enquanto que o mesmo episódio em formato RMVB consumirá entre 140 e 160MB. É certo que algumas discussões podem se originar desta afirmação, como, por exemplo, que a qualidade dos arquivos AVI é superior, o que, em última instância, pode até ser verdade. No entanto, vejamos as duas imagens abaixo, extraídas do season finale da quinta temporada de Lost:

Lost em AVI

Lost em RMVB

A primeira imagem foi capturada do episódio em formato AVI. A segunda, daquele que está em formato RMVB. Na minha opinião, praticamente não há diferença de qualidade.

Mas antes que alguém me condene pelo comentário, quero deixar claro que, para mim, que não faço uso de um aparelho de DVD para assistir aos últimos episódios de Lost, Heroes, e por ai afora — já que meu gosto por séries não é compartilhado por ninguém aqui em casa — a resolução de exibição de um arquivo RMVB  na tela do computador não chega a apresentar, sinceramente, diferenças que possam ser consideradas tão gritantes assim. E é por isso, que, no final das contas, armazenar os episódios desta maneira me atende plenamente.

Finalmente um TinyMCE ligeiro no meu WordPress 2.7

Desde o começo de dezembro do ano passado eu vinha enfrentando severos problemas ao tentar digitar meus artigos para publicação aqui no blog: Carregar o TinyMCE, editor WYSIWYG padrão que acompanha o WordPress, levava mais de 10 segundos na raposa de fogo, e, em seguida, digitar cada mera letra parecia uma tortura interminável, só perdendo para o tempo gasto ao ter que apagar alguma coisa usando o backspace ou formatando os textos.

Tentei, antes de qualquer coisa, usar uma versão recente do Opera para acessar o painel de edição de artigos, o que funcionou maravilhosamente bem, já que a lentidão desapareceu por completo na digitação. No entanto, não dava pra ficar usando um navegador diferente só pra criar artigos no blog e, assim sendo, cogitei a possibilidade de que pudesse se tratar de um problema qualquer com uma das inúmeras extensões que eu possuo instaladas no Firefox.

Infelizmente, após desabilitar todos os plugins e realizar um fresh setup, o problema não se resolveu: Cada caracter ainda levava uma eternidade para aparecer na tela ao digitá-lo. O próximo suspeito da minha lista foi o próprio WordPress. Pensei se tratar de algum bug da nova versão do WordPress, já que, afobado por testar novas funcionalidades, naquele momento eu vinha usando algumas versões beta.

Quando a versão 2.7 saiu oficialmente e eu reparei que o problema de lentidão ainda não dava o braço a torcer, comecei uma busca um pouco mais dedicada atrás de uma solução. Se na primeira quinzena de 2009 fiquei sem publicar uma palavra que fosse por aqui, foi por conta de estar ocupado atrás de cada pequena referência que pudesse representar uma luz no final do túnel.

No começo dessa semana encontrei essa luz, lendo um artigo do Andrew Ozz, chamado Troubleshooting TinyMCE in WordPress 2.7. Nele, Andrew lista alguns pontos que podem ser tentados por qualquer pessoa se seu editor resolve não aparecer ou funcionar corretamente. Alguns pontos eu já havia tentado, mas foi no sexto que eu parei, pois, recentemente havia encontrado diversos erros provenientes da página em que o TinyMCE é carregado no WordPress, examinando-a pelo console de errors do Firefox:

Delete both wp-admin and wp-includes directories and upload fresh copies from the WordPress installation package.

Precisei esperar até o final da semana para ter tempo de ver se a coisa funcionava, mas valeu cada segundo de espera: Eis que abri meu programa de FTP favorito e mandei bala na orientação. Após alguns minutos de upload, BINGO! O editor estava novamente lépido e veloz.

Ah, é claro, a explicação: Ao renovar sobretudo o conteúdo da pasta wp-includes, pude me certificar de que os diversos arquivos em javascript ali existentes estivessem em sua versão mais recente: Após o procedimento, não houve qualquer problema no console de erros da raposa, o que me fez pensar que alguma falha acidental deve ter ocorrido entre a migração da última versão beta do 2.7 para a oficial. Mea culpa.

Esteganografia para as massas

Lembra quando você era criança e brincava de esconder mensagens secretas em folhas de papel escritas com suco de limão e um cotonete? A diversão era, na seq¼ência, aproximar a folha de uma vela ou de uma lâmpada, que era pro calor revelar o que estava escrito, como num passe de mágica

Bons tempos, não é mesmo?

Acontece que esse tipo de coisa pode muito bem acontecer nos dias de hoje, em pleno mundo digital! Isso graças a uma técnica chamada esteganografia. Essa palavra meio esquisita vem do grego, e significa ââ?¬Å?escrita escondidaââ?¬Â.

Diferente da famosa criptografia, em que alguém mal intencionado que intercepte uma mensagem sabe bem que há algo de sigiloso escondido ali, esperando para ser descoberto após a eventual quebra de uma chave ââ?¬â?? seja ela mais forte ou mais fraca ââ?¬â?? a esteganografia é algo mais anônimo, em que praticamente não dá pra descobrir que há alguma coisa escondida no meio de uma mensagem, a menos que você seja o remetente ou o destinatário.

Justamente por causa disso, a esteganografia é causadora de boatos e lendas: Há notícias falsas e verdadeiras de seu emprego por contrabandistas, traficantes e até mesmo terroristas, que a utilizam para passar em paz ââ?¬â?? ou com um pouco mais de privacidade ââ?¬â?? suas próprias mensagens.

As mensagens, aliás, podem ser de texto puro, mas também podem ser compostas de um ou mais arquivos que se deseja manter ou transmitir em sigilo. Para transportá-las podem ser usadas fotos ou arquivos MP3. Também podem ser usadas páginas em HTML ou documentos PDF, que passam a carregar um algo a mais de maneira não declarada.

Se um bandido invade nossa casa, procura dentro de nossos guarda-roupas ou atrás de quadros, até encontrar um cofre ou algo de valor. Ele nunca pensaria, no entanto, que seu dinheiro está guardado naquela caixa de sucrilhos vazia que você deixa na última prateleira do armário da cozinha, não é? Eis aí a vantagem principal da esteganografia: Nenhum curioso, ao invadir seu computador, procuraria por suas senhas bancárias dentro daquela foto em que você e sua família estão sorrindo logo depois da ceia de Natal, percebem? Misture a foto em meio a outras centenas, e bingo: Só você — e quem mais você quiser — poderão recuperar a informação oculta.

Para fazer a mágica de embutir conteúdo em arquivos comuns existem dezenas de softwares disponíveis, sendo que muitos deles são gratuitos. Um artigo recente do site Lifehacker — que foi, aliás, o causador do meu interesse pelo tema — menciona o Hide in Picture, que, como o próprio nome diz, oculta arquivos em imagens nos formatos bitmap ou GIF.

Como exemplo, suponham que eu queira pegar um inocente arquivo com uma paisagem bem bonita e ocultar nele uma mensagem de Natal super legal para os meus amigos, embora totalmente secreta. Basta que eu acesse o Hide in Picture e selecione a opção Hide file in picture, tal como na figura abaixo.

Interface do Hide in Picture

Em seguida, só é preciso informar uma senha e, opcionalmente, o algoritmo a ser utilizado pelo programa para criptografar o arquivo que está sendo anexado   nossa imagem, e pronto: A mensagem secreta já fará parte da paisagem, e o melhor: Ninguém suspeitará disso, porquê visualmente tudo continuará como antes!

Protegendo a mensagem com uma senha

A vantagem destes programas é que na maioria das vezes eles procuram manter o tamanho original do arquivo hospedeiro, utilizando algoritmos de compressão que cumprem bem sua tarefa. É claro que fica óbvio que, nestes casos, você simplesmente não consegue esconder um arquivo maior dentro de um arquivo menor, mas essa aparente limitação não deve intimidar ninguém disposto a proteger seus dados para uma eventual transferência a partir da Internet.

Inspirado pelo princípio da esteganografia, no entanto, está um procedimento muito mais simples e direto, ideal para quem não precisa transferir conteúdos muito grandes e está interessado apenas em ocultar pequenos arquivos ââ?¬â?? talvez aqueles em que estão gravadas suas senhas de serviços da internet ou dos bancos, e até mesmo uma ou outra planilha ou foto. No pequeno screencast que acompanha este meu inspirado artigo, fiz a descrição de um método que só precisa do Windows e de um velho compactador de arquivos, sucesso e bastante conhecido entre muita gente: Trata-se do 7-Zip, que é gratuito.

[flv:cast_estego_281208.flv 560 352]

O ponto positivo é que a técnica é muito simples, e pode ser usada pra esconder arquivos não apenas em fotos, mas também em documentos PDF — como no exemplo que eu dou — e músicas.

A advertência, no entanto, fica para o tamanho do arquivo a ser gerado: Ninguém acharia normal, por exemplo, uma imagem JPEG de 30 megabytes, não é mesmo? Assim, cuidado para esconder apenas pequenos arquivos, e no mais… divirta-se!

[ratings]

Ubuntu: Firefox em pt-br

É fato que, no momento em que é instalado em seu computador, o Ubuntu já apresenta diversos aplicativos totalmente traduzidos para o português, dentre os quais, o próprio GNOME, sua interface padrão com o usuário. No entanto, também é fato que alguns aplicativos que o acompanham — como o indispensável Firefox 2.0 — são instalados em inglês.

Para tornar a experiência de navegação pela internet mais agradável, não é nada complicado fazer com que a velha raposa de fogo seja exibida totalmente em português. Para isso, abra uma janela do terminal e digite o seguinte comando:

sudo apt-get install mozilla-firefox-locale-pt-br

Aguarde a instalação do novo pacote de idiomas e, assim que estiver concluída, reinicie o Firefox e abra-o novamente logo em seguida, para que as alterações surtam o efeito desejado. Pronto!

Resuma seus feeds… ou não!

Bia Kunze, além de ser a odontologista mais linda da internet (tive que concordar com meu amigo Neto Cury), também veio mostrar o outro lado da moeda com relação   campanha de Feeds Completos iniciada pelo Rafael Arcanjo.

Ela cita — sem deixar de ter razão — um argumento irrefutável, em seu comentário em meu post:

Para quem lê feeds em dispositivos portáteis, vale lembrar que textos muito longos exigem maior tráfego de dados. E na internet móvel, se paga pelo tráfego, e não pelo tempo de conexão. Mesmo quem tem tráfego ilimitado ou usa o wi-fi, muitas vezes se depara com a pouca memória do aparelho

Às vezes há posts que não interessa você ler, e aí já é tarde, seus preciosos KB já foram consumidos.

Só posso afirmar, após conhecer o outro lado da moeda, que a blogosfera também deve ser um lugar democrático. E como eu sou uma pessoa que adora democracia, me vi logo   frente de um impasse.

Como fazer, afinal, para disponibilizar ambos os feeds, sendo um completo — para quem está com conexões de banda larga e/ou quer ler os assuntos sem precisar necessariamente visitar meu blog — e outro, resumido, para atender   leitores e leitoras especiais como a Bia, que têm nos PDA’s e similares não apenas instrumentos de lazer, mas também de trabalho?

Felizmente, para mim, a resposta veio rápido.

Faça uma “cirurgia” em seu feed RSS 2.0

Vou propôr a vocês uma “cirurgia”: E prometo que, ao final do procedimento cirúrgico, teremos tanto o feed completo quanto o resumido. Para isso, tudo o que vamos precisar é do próprio WordPress, além de um pouquinho de conhecimento — bem pouco, mesmo — de PHP.

Pra começo de conversa, escolhi o feed RSS 2.0 de meu site. Não foi por nenhuma razão em especial, já que poderia ter sido qualquer outro feed: O WordPress disponibiliza os formatos Atom, RSS 0.92 e RDF, além da minha própria escolha.

De qualquer forma, para seguirmos adiante, vamos primeiro entender um pouco sobre a forma como o WordPress trata dos feeds. Quem acompanha o BlogAjuda sabe que o Rodrigo está trabalhando em uma série de artigos para criar um tema para esta ferramenta de edição de blogs. Pois bem. Criar temas envolve mexer com templates, que nada mais são do que modelos para o conteúdo do blog.

Além dos templates para o blog, que controlam a forma como aparecem a página principal, os comentários e as páginas para artigos individuais, entre outros, o WordPress também possui modelos para os feeds. Estes modelos, embora não tão amigáveis quando os dos temas, são exatamente o ponto onde precisamos mexer. Então, vamos em frente.

No diretório de instalação do WordPress — o mesmo onde está o arquivo wp-config.php — existem quatro arquivos padrão, chamados wp-rss2.php, wp-rss.php, wp-rdf.php, wp-atom.php e wp-commentsrss2.php. Todos eles controlam a forma como o sistema irá trabalhar com os feeds RSS — o último deles, inclusive, trata do feed de comentários. Vamos dar especial atenção ao arquivo wp-rss2.php.

Para continuar, faça o download do arquivo wp-rss2.php que está no seu blog para o seu computador e abra com um bom editor de texto, de preferência com numeração de linhas Se você quer uma sugestão pessoal, tente o PSPad, ultra-poderoso e freeware..

Uma vez tendo aberto o arquivo, procure o trecho de código abaixo. No caso da versão de WordPress que eu estou usando, ele começa exatamente na linha de número 40:


		]]>

		]]>
	post_content ) > 0 ) : ?>
		]]>
	
		]]>
	


Para quem leu meu post anterior
, este é o bloco que, “nos bastidores do sistema” faz com que a escolha pessoal do usuário em disponibilizar um feed completo ou resumido ocorra. Notem, sobretudo, esta linha:


Ela contém uma tag Uma tag é a representação de qualquer função do WordPress, para se obter funcionalidades, sejam elas básicas ou avançadas que obtém das configurações de seu blog a informação sobre o seu feed. Caso rss_use_excerpt retorne um valor verdadeiro, isso significará que você está disponibilizando um feed resumido. Caso contrário, você está jogando no time das pessoas que têm feeds completos disponibilizados.

Pois bem, é hora de realizar a “intervenção cirúrgica” que mencionei anteriormente. Basicamente, deixaremos de verificar se o usuário deseja um feed completo ou não, e passaremos a forçar a geração de um feed resumido. Para isso, ainda tendo em mente o primeiro dos blocos de código acima, elimine as linhas de números 40 e de 42 a 49 do arquivo. Para facilitar a explicação, a figura abaixo destaca as linhas que iremos apagar:

highlighted_rss2php.jpg

A exclusão das linhas destacadas na figura acima fará com que este bloco, após a edição, fique com apenas uma linha, como a seguir:

]]>

Salve o arquivo com um nome diferente do original. No meu caso, usei o nome wp-rss2-sumario.php. Em seguida, faça o upload deste novo arquivo para o mesmo diretório onde estava o original. Em seguida, será hora de testarmos o novo feed resumido que acabamos de criar.

O teste será prático, simples e indolor: Consistirá em testarmos nosso novo feed com um leitor de nossa preferência. Para esta demonstração, continuarei um fiel adepto do novo Google Reader.

add_reader_sumario.jpg

Uma vez adicionado o endereço do novo arquivo do qual acabamos de fazer o upload, voilá! Um feed resumido instantâneo é produzido, tal como podemos observar pela ilustração abaixo, em que o indicador […] está ativo.

resultado_feed_resumo.jpg

Pronto! Com este resultado, basta criar uma referência ao novo feed na barra lateral de seu blog (tal como eu mesmo já fiz, depois deste tutorial) para que todas as pessoas possam usufruir de feeds completos ou resumidos a seu bel-prazer. O que posso garantir é que todos os seus leitores estarão plenamente satisfeitos depois desta.

[ratings]