artigo

Do Golpe de 16 ao Autoritarismo

O golpe se concretizou. Utilizando argumentos forçados (ouça o Lexcast e a fala mais recente do desembargador Tutmés Airan no Agreste à Esquerda – spinoff do Politicast – se ainda tiver dúvidas quanto a isso), defesas que fugiam do assunto tanto na Câmara (pela família, por Deus e pelos criminosos do outro golpe) quanto no Senado (contra o desemprego, pela mudança…), o golpe aconteceu.

A princípio não me parecia um golpe tão semelhante ao militar de 64, mesmo porque militares não foram utilizados. Era um golpe branco, como anunciava/denunciava ainda em 2014 o neto de João Goulart. Quase dois anos depois, terminou acontecendo. Alguns sinais de intenção autoritária já começam a preocupar.

Primeiro, a opressão de revoltosos. Ainda não aconteceu, mas será inevitável. As medidas ultraneoliberais do presidente interino e seus amigos vão levar vários setores da sociedade às ruas, é inevitável. Acontece que quem for às ruas encontrará a Lei Anti-terrorismo (aprovada pela Dilma) e o Ministério da Justiça nas mãos de Alexandre de Moraes. Para quem não lembra, era até poucos dias atrás o Secretário de Segurança Pública do Estado de São Paulo. Aquele que botou a polícia para bater nos estudantes, que protestavam contra o fechamento de suas escolas (e ainda bota). O mesmo que bota a polícia para bater em manifestantes e jornalistas que cobrem uma manifestação. O mesmo que, depois da ação truculenta da polícia sob seu comando, não se constrangeu com as críticas e disse que a população apoiava seus atos. Pois é, junte esse Alexandre com a referida lei e bingo! Você reinventou a pólvora!

E o outro aspecto marcante de autoritarismos: a censura sobre a informação. Os maiores veículos de comunicação do país, como é sabido, pertencem a poucas famílias, que são também algumas das mais ricas. Como também é sabido, esse golpe branco já nasceu com amplo apoio desses grupos midiáticos. Eram poucos os que contrariavam a narrativa deles, baseada em um só lado da história, calando o debate e cultivando o ódio. Na TV comercial, não soube de alguém que quebrasse esse discurso. Quem são as emissoras comerciais afinal? Aquelas pertencentes às tais famílias mais ricas, com programação diversificada, e aquelas várias que vendem sua programação quase inteira para publicidade e programas religiosos. Quem sobra para fazer contraponto? A TV pública! Temos dois grandes veículos neste sentido: a TV Cultura e a TV Brasil. A primeira está totalmente sob controle do Governo de São Paulo, chegando a ter até mesmo programa conduzido pela Folha, sem contar que o famoso Roda Viva hoje está nas mãos de um colunista da Veja. Resta só uma. Somente a TV Brasil (e a rede a ela afiliada) têm coberto protestos dos dois lados, tem discutido com analistas políticos todo o processo de impeachment, inclusive com falas esclarecedoras, abrindo espaço para petistas, medebistas e tucanos. Nos últimos lances, inclusive, denunciando claramente os sinais de golpe (sem discurso único, com convidados discordando deste ponto de vista, outros concordando).

A TV Brasil, para quem não sabe, é mantida pela Empresa Brasil de Comunicação, que se pretende independente de interesses comerciais, político-partidários… (a favor da Sociedade, enfim, uma TV pública) tem um presidente de mandato fixo e um conselho curador com representantes da sociedade participando ativamente das decisões. Pois bem, começaram a veicular na imprensa suposições sobre um novo nome para a presidência da EBC. Pasmem! Mal se concretizou o golpe, querem tornar a TV pública em TV governamental! E assim, acabar com esta ameaça à narrativa global sobre o impeachment. O tema foi tratado ontem à noite no programa Ver TV (será reprisado de quarta para quinta).

Dias sombrios virão. Precisamos de muita força e posicionamentos claros, muita luta, para que esse golpe não se consolide ao cabo dos 180 dias.

Imagem do post: Wikipédia.

Marionetes do Ódio

Me angustia perceber como temos um congresso conservador e que joga contra os direitos do seu povo. Que o Estatuto da Família, sob pretexto de proteger, vem para humilhar todos os arranjos familiares com os quais certo grupo religioso não concorde. Que a reforma política nascida lá pretende tirar ainda mais poder do povo e fortalecer partidos fisiológicos. Que um projeto de lei pretende exigir que todo internauta brasileiro se cadastre para poder navegar e, ao mesmo tempo, que toda corrupção de políticos seja esquecida da Internet. Me angustia ver como Senado e Câmara jogam contra o Brasil e fazem de tudo para enfraquecer cada vez mais o Planalto, para impor seus programas nefastos.

Me angustia quando a Corrupção é institucionalizada e quando eu percebo que os provavelmente mais corruptos são os que mais a usam como arma para atacar os outros, com todo apoio da imprensa para esconderem suas sujeiras. Que quem tem teto de vidro é quem mais atira pedras, pois tem o apoio das famílias mais ricas e influentes do Brasil, com a certeza da impunidade.

Me angustia essa certeza de impunidade ser personificada na tentativa de proibir acesso público a documentos relacionados a um caso de corrupção relacionado ao Metrô de São Paulo, por 25 anos. E termos um presidente da Câmara, sob acusações fortíssimas, que clara e descaradamente mentiu diante de uma CPI, sendo investigado por crimes de colarinho branco até na Suíça, mas que é blindado por partidos e projetos de oposição, tornando-se, mesmo assim, quase intocável.

E o que dizer de termos um partido que foi financiado por empresas investigadas pela Lava Jato, uma grande investigação sobre corruptos e corruptores, tentando tirar do poder outro partido por ter sido financiado pelas mesmas empresas, em escala muito parecida de investimentos? Me angustia a hipocrisia reinante.

E quando até mesmo um juiz do Supremo escancara seu partidarismo, com um discurso de ódio a um partido político? Juizes que deveriam zelar pela isenção, mas evitam, como podem cumprir bem seu importante papel em nossa sociedade? Se não eles, quem cumprirá?

E o ódio... Esse ódio também traz muita angústia. É saber que as famílias mais ricas do país ainda detém os mais influentes veículos de informação. E que, talvez por acordos com um partido de oposição mais comparsa da Elite, talvez por medo de regras que limitem sua influência (prometido pela presidenta em campanha), talvez por outro motivo, talvez mesmo por pura safadeza, eles manipulam o povo. Como não podem inventar notícias (exceto por casos como a bolinha de papel jogada contra um presidenciável em 2010, que na mão dos Marinho virou quase um tijolo), eles simplesmente omitem boas notícias (que sim, existem) e, principalmente, enviezam discursos. Nunca promovem debates (exceto os exigidos pelo TSE), mas apenas a pregação da opinião que eles querem que seja a aceita, informando o povo como um professor a dar aula na 5ª série, de uma matéria pretendida como verdade absoluta.

Me angustia saber que a campanha eleitoral da oposição ainda não acabou, mesmo após quase um ano do período eleitoral. Ao invés disso, ela se transformou em uma campanha para conquistar o poder. Conquistar no sentido mais medieval possível, à força se for preciso. E que essa campanha, junto com a postura parcial da mídia tem manipulado tanto nosso povo. Me angustia o grande número de marionetes, controladas com talento pelos fios do ódio.

Pode parecer exagero, mas esse ódio está se tornando cada vez mais perigoso para a nossa vida civilizada. Hoje todos entendem como foi horrível os nazistas matarem tantos judeus; como é horrível o Estado Islâmico aniquilar vilas e cidades; como obrigar refugiados de guerra a voltar para o seu país sem assistência alguma é condenar famílias inteiras à morte; como a força militar oprimia estudantes e condenava suspeitos sem investigar (a não ser que torturas incapacitantes possam ser consideradas como investigação). Os frutos do ódio são fáceis de perceber quando olhados com distanciamento, mas muitos não o notam olhando de perto. Quando um homem não pode visitar parente em hospital sem que eufóricos tumultuem o ambiente, ou quando uma família tem que se deparar com manifestações de ódio durante um enterro de um ente querido, ou quando alguém é agredido na rua simplesmente por ter um posicionamento político diferente, temos alguma coisa muito errada acontecendo.

E esse ódio serve a um interesse: o projeto de tomada de poder um partido que foi derrotado nas urnas. Me angustia quando até juizes estão contaminados por esse ódio. Quando pretendem "fazer justiça" em nome desse ódio ao invés de julgar.

Sabe o que mais? Estão avançando aos poucos. Talvez amanhã não tenhamos mais a presidenta atual e é triste ver que as marionetes não percebem para onde o país está sendo levado.

Imagine um congresso com presidente igualmente conservador. E com que cara iremos para a Associação dos Países Golpistas Anônimos? Ao invés de dizermos "Estamos há 30 anos em democracia" vamos ter que aceitar uma recaída. Isso pode parecer "besteira", mas não é. Você pode chamar esse movimento pelo impeachment do que quiser, mas quando poderes são manipulados para forçar a saída de um presidente eleito, quando o acusador tem todas as características de indício que ele aponta no acusado, quando o projeto de impeachment nasce 1 ano antes de a causa ser definida ("Ela tem que ser presa, depois a gente inventa pelo quê"), temos sim um golpe em andamento.

Como em qualquer grupo de recuperação de dependentes sabe, quando temos uma recaída é difícil sair, é preciso muita força de vontade. Se esse projeto de tomada do poder for bem-sucedido, teremos algumas décadas de presidentes em risco de serem botados para fora caso não atendam aos interesses dos poderosos. Você acredita que o grau de investimento do país melhora em um cenário assim?

Sabe outra coisa que me angustia também? Termos tantos motivos para criticar a presidenta e ver que esses motivos não são vistos pelas marionetes do ódio, nem pela grande mídia, nem pela oposição. Sabe por quê? Porque parte desses motivos foram impostos a ela na tentativa de "garantir governabilidade" e são apoiados por esses grandes grupos. Me angustia olhar para a frente: tenho medo de ver o abismo que foi construído para nós.

-- Cárlisson  Galdino

Os Donos do País

Era uma vez um país. Um país cujos cidadãos viviam felizes, até que um dia ocorreu uma tragédia. Uma tragédia chamada “golpe militar”.

Mas essa tragédia não aconteceu por acaso, nem foi de surpresa. Os donos do país tinham muito medo, pois viam outros países passando por transformações em nome da igualdade entre as pessoas. Os donos desse país sabiam muito bem que igualdade social significa garantir direitos a todos. E sabiam que o aumento de direitos da população significaria também diminuição de privilégios seus. Por isso o medo.

O medo fez com que atacassem o governo e, para isso, utilizaram seu principal instrumento. A pena é mais forte que a espada, então começou a acusar o governo e noticiar de maneira obstinada e enfática qualquer suspeita de corrupção, para que a as pessoas tivessem cada vez mais ódio daquele governo. Tudo isso terminou com os militares tomando o poder.

Os donos do país ficaram felizes, pois o risco havia passado. Logo depois perceberam que, na verdade, iam perder privilégios de qualquer maneira. A partir daquele dia, foram proibidos de falar sobre corrupção no novo governo. Talvez os militares tenham percebido como “corrupção” era um tema capaz de mover montanhas. E, assim como não podiam falar de corrupção, nada de falarem de censura, ditadura, nada de falar mal do poder. Nada de noticiar desaparecimentos de pessoas. Não podiam mais sequer se reunir para conversar sem serem vistos com desconfiança - ou mesmo serem acusados e levados embora – pelos militares daquele país.

Mas tudo bem, afinal seus privilégios econômicos estavam assegurados.

O tempo passou e a ditadura militar caiu, décadas depois. Foi um alívio para os donos do país, que agora teriam novamente os privilégios perdidos. Foi muito bom ter poder econômico, mas aquele poder verbal, que havia sido capaz de derrubar um governo, fazia muita falta.

O bom para eles é que nessas décadas de poder militar, por obrigação imposta, os donos do país terminaram aprendendo a escrever distorcendo as verdades, destacando pontos que interessavam, omitindo outros; construindo assim notícias que atendessem às necessidades daquele tempo em que não se podia falar o que se pensa. Com o fim da tal ditadura, os donos do país resolveram continuar agindo daquela mesma forma, só que dessa vez para atender a interesses próprios.

Na ponta da pena ou da câmera de seus funcionários, ilustres desconhecidos se tornam heróis ou vilões, gigantes massas de insatisfeitos desaparecem, punhados de outros insatisfeitos viram manchete, políticos viram sábios salvadores, enquanto outros se tornam corruptos incorrigíveis. Assim seguiram os donos do país até hoje, controlando as pessoas com seu poder verbal, em todas as formas de noticiar. Jornais cheiram muito mal, mas como o povo, que o lê há tantos anos, vai notar o cheiro? Ora, já se acostumou a ele e sequer o sente!

Assim seguem os donos do país, controlando as massas com closes e vírgulas, enquanto morrem de medo de terem seu poder limitado. Sempre houve quem diga que as pessoas têm direito de serem informadas corretamente sobre os fatos, mas os donos do país sabem muito bem que esse direito afetaria um importante privilégio que hoje eles têm: o Monopólio de Opinião.

-- Cárlisson Galdino
-- Publicado no Informativo ACALA 2015

Special: 

Qual a sua anestesia?

Hoje todos nós vivemos sob controle, escravos de um sistema terrível. Um sistema que gira em torno de lucros cada vez maiores e que nos obriga cada vez mais a participar de uma corrida desenfreada por nada. Custo de vida aumentando cada vez mais. Pessoas que sempre viveram da natureza veem suas terras sendo destruídas e se veem obrigados a trabalhar em indústrias. Leis cada vez mais rígidas para manter lucros de grandes empresas e cada vez menos eficazes para o bem estar social.

Quem governa o mundo não é o Legislativo, nem o Executivo, nem o Judiciário: é o Lucro.

Nada disso é novidade e nada disso é facilmente contornável. Nada bom. Como confrontar poderes econômicos? Que outros poderes podem ser fortes o bastante e ainda não foram corrompidos pelo poder? Séculos atrás o controle era feito pela Religião. Hoje, quando a Religião não é tão eficaz assim, o controle é feito pela fé no Lucro.

Mergulhar nesse mundo nos traz cada vez mais revelações terríveis. Que seria possível acabar a Fome no mundo se “eles” quisessem. Que 1% da população mundial detinha 40% de todos os recursos do mundo. Que 11 de setembro foi uma farsa. Que os governos não são democráticos: são executores a serviço de quem tem o “verdadeiro poder que move o mundo”.

Por isso há tantas formas de alienação:

  • Religiões alienantes têm se expandido assustadoramente nas últimas décadas, e giram em torno de Dinheiro

  • Profissões exigem cada vez mais especialização e a cada passo em uma especialização temos forte chance de perder a percepção do todo. Além disso, as exigências do mercado roubam nosso tempo e nos impedem de pensar, exigindo foco em nossas carreiras.

  • Livros são substituídos por filmes

  • A Televisão se torna o novo Livro Sagrado dessa religião monetária. Pessoas não pensam nem leem, simplesmente aceitam o que veem no quadro mágico.

  • Consumo e comércio de drogas crescem assustadoramente mundo afora e os governos não parecem muito interessados em combater isso.

  • A Indústria do Entretenimento cresce cada vez mais. Jogos eletrônicos pela Internet, nos celulares...

Quantos já falaram sobre isso? Quantas pistas? Matrix, por exemplo, foi das mais explícitas, mas as pessoas não conseguem mais enxergar nada além de efeitos especiais. Nada além de sombras. Estamos caindo em um abismo, numa viagem irreversível.

Ver os males do mundo e perceber todas essas coisas fere os nossos olhos. Qual a sua anestesia?

P. S.: Imagem do post: Xeringues, de rofi

Special: 

Programas antigos no Windows: OCX + Vista

Foi necessário instalar um software em um dos computadores daqui da instituição. O problema: o Windows Vista e as dependências OCX.

De início, a instalação funcionou corretamente, mas apenas no usuário Administrador. Ao executar como usuário sem privilégios, o programa reclamava do registro de uma biblioteca OCX. Tentei várias soluções e cheguei finalmente à resposta. Para resolver essa dependência, pelo menos o que funcionou comigo, basta:

  1. Copiar o arquivo OCX da pasta Windows\System32 para a pasta do programa que está tentando executar
  2. Desregistrar o OCX com o comando regsvr32 /u ARQUIVO.OCX
  3. Abrir o programa como administrador

Ao fazer isso, o programa continuou sem funcionar como usuário normal, mas pedia outra dependência OCX. Assim, bastou repetir esse procedimento para cada OCX que ele pediu e chegou um momento em que o programa simplesmente funcionou!

Bibliotecas são uma coisa muito boa, mas têm suas desvantagens. Por isso é tão bom viver sob um Sistema Operacional com um controle de dependências eficiente e prático como Debian e derivados. :-)

Special: 

Geany é um Editor (ou não)

Quem é usuário avançado de computadores (administradores de sistemas, analistas, programadores esporádicos) sempre precisam de um bom editor de código-fonte. Bom e simples, leve e funcional. Quem programa profissionalmente certamente preferirá IDEs, mas mesmo entre esses ainda há quem aprecie um editor menos carregado.

Por isso o CyanPack inclui um editor de textos simples, voltado para código-fonte. Já houve época em que incluiu até mais de um. Hoje o software que atende a essa função é o Geany.

Geany em ação

Segundo o site do projeto, Geany é uma IDE pequena e leve, desenvolvida para ser rápida, tendo pouca dependência de outros pacotes. Outro objetivo é ser tão independente quanto possível de um ambiente Desktop como o KDE ou GNOME, sendo feita com uso apenas das bibliotecas GTK2 padrão.

Mesmo assim, ainda consegue apresentar características muito interessantes:

  • Destaque sintático
  • Ocultar/exibir blocos de código
  • Autocompletar de palavras-chave
  • Autofechamento de tags HTML e XML
  • Suporte às linguagens: Abc, ActionScript, Ada, ASM, C, C#, C++, CAML, CMake, Conf, CSS, D, Diff, Docbook, F77, Ferite, Fortran, FreeBasic, GLSL, Genie, HTML, Haskell, Haxe, Java, Javascript, LaTeX, Lua, Make, Markdown, Matlab, NSIS, Pascal, Perl, PHP, Po, Python, R, reStructuredText, Ruby, Sh, SQL, Tcl, Txt2tags, Vala, Verilog, VHDL, XML e YAML
  • Lista de símbolos
  • Navegador de código
  • Sistema de compilação e execução do código
  • Gerenciamento simples de projeto
  • Emulador de terminal embutido
  • Plugins
  • Traduzido para vários idiomas (incluindo Português)
  • Versões para Linux, FreeBSD, NetBSD, OpenBSD, MacOS X, AIX 5.3, Solaris Express e Windows (e provavelmente qualquer plataforma que disponha de um compilador C e suporte as bibliotecas GTK)
  • Escrito em C, lançado sob a licença GNU GPL

Geany está no CyanPack tanto na forma de um instalador para Windows, como fazendo parte do Trisquel personalizado que vem no DVD (no menu Desenvolvimento). É, pelo jeito o Geany não é só um "editor simples de código-fonte", mas não deixa de ser bem útil e leve!

Special: 

Programação: Criando ovos de píton (easy_install)

Ovos de cobra

Se você não tem nada a ver com programação, nem tem interesse no assunto, simplesmente ignore este artigo.


Mike Driscoll tem um blog dedicado a Python chamado The Mouse vs. the Python e eventualmente há excelentes artigos por lá.
Esta é uma tradução livre do artigo Python 101: esay_install or how to create eggs e modifiquei sutilmente algumas coisas, incluindo os exemplos. Agradeço ao Mike pelos excelentes artigos e me desculpo pelas liberdades que tomei na tradução (incluindo a mudança no nome do artigo). Vamos lá então!


Hoje daremos uma olhada no controverso método easy_install de instalar módulos e pacotes Python. Também aprenderemos como criar nossos próprios arquivos *.egg. Você precisará do pacote Setup Tools para fazer isso tudo. Esse pacote não suporta Python 3.x, assim se você precisar dessa versão do Python, veja pip. Haverá artigos desses projetos no futuro. Por ora, começaremos com o SetupTools e o easy_install.

Por que é controverso? Não estou de todo certo, mas as pessoas não parecem felizes com a forma como se pacotes instalam pela metade quando elas não esperam o download terminar. Pra completar, o autor não parece lá muito interessado em atualizar o pacote ou permitir que alguém o faça. Veja o artigo de Ziade no fim deste post.

SetupTools é o método principal e original de baixar e instalar pacotes Python pelo PyPI e outras fontes via linha de comando, tipo um apt-get para Python. Quando você instala o SetupTools, ele instala um script ou executável chamado easy_install, que você invocará na linha de comando para instalar ou atualizar pacotes. Ele também fornece uma forma de criar ovos de Python. Vamos gastar mais um tempinho para entender melhor essa funcionalidade.

Usando easy_install para instalar Pacotes

Uma vez que você tenha SetupTools instalado, você deve tê-lo no seu caminho. Isso quer dizer que você tem que estar pronto para abrir um terminal (Linux) ou linha de comando (Windows) e simplesmente executar easy_install. Um exemplo de invocação:

easy_install sqlalchemy

Isso pedirá ao PyPI que tente baixar o SQLAlchemy mais recente do repositório dele ou de qualquer outro para o qual o pacote PyPI aponte. O easy_install o instalará. Um

Um problema comumente criticado do easy_install é que ele pode tentar instalar o pacote antes mesmo de concluir seu download, o que leva a problemas e instalações defeituosas. O legla é que se você configurar corretamente o seu setup.py, o easy_install vai baixar também todas as dependências necessárias, instalando-as também. Assim, se você instalar algo complexo, como o TurboGears, você verá o easy_install instalar um bocado de pacotes. Essa é uma razão pela qual você pode querer usar virtualenv para ter certeza de que gosta de todos esses pacotes e de que eles funcionam a contento. Se não funcionarem, você simplesmente apaga a pasta virtualenv. De outro modo, você terá que ir na sua própria pasta do Python e cavar por ali para tentar "desinstalar" (ou seja, deletar pastas) por sua conta. A outra coisa legal que o easy_install faz quando instala os ovos é que ele adiciona o ovo a um arquivo easy_install.pth em site-packages, de modo que quando você o desinstalar, precise editar esse arquivo também. Felizmente, você pode usar pip para desinstalá-lo se você não tiver criado as pastas sozinho. Há um comando -uninstall (-u), mas eu já ouvi relatos contraditórios sobre seu funcionamento.

Você pode instalar um pacote passando uma url diretamente ao easy_install. Outro recurso maneiro é que você pode dizer ao easy_install qual versão você quer e ele tentará instalá-la. Finalmente, easy_install pode instalar tanto a partir de arquivos de código-fonte quanto de ovos (arquivos .egg). Para uma lista completa dos comandos, você deve ler a documentação.

Criando um ovo

Um arquivo egg é um formato de distribuição para pacotes Python. É uma alternativa à distribuição de fontes ou executáveis do Windows, mas perceba que módulos em Python puro são multiplatafroma! Daremos uma olhada em como criar nosso próprio ovo usando o pacote que criamos no tutorial sobre criação de módulos (que ainda não traduzi :-( ). Crie uma nova pasta e coloque a pasta mymath dentro dela. Crie um arquivo setup.py no diretório pai do mymath com o seguinte conteúdo:

from setuptools import setup, find_packages
 
setup(
    name = "mymath",
    version = "0.1",
    packages = find_packages()
    )

Perceba que ao invés de usar a função setup do distutils, usamos o setup do setuptools. Também usamos a função find_packages do setuptoos, que procurará automaticamente por pacotes no diretório corrente e os adicionará ao ovo. Para criar o tal do ovo, você só precisa digitar essa linha de comando:

python setup.py bdist_egg

Isso gera um monte de saída, mas quando tudo estiver ok você vai ver três novas pastas: build, dist e mymath.egg-info. A única que nos interessa é a pasta dist, onde você achará o ovo, mymath-0.1-py2.6.egg. Note que na minha máquina, ele faz referência ao meu Python padrão, que era o 2.6, e cria o ovo para essa versão do Python. O ovo em si é basicamente um arquivo zip. Se você mudar sua extensão para "zip", poderá fuçar por dentro dele e ver que ele tem duas pastas: mymath e EGG-INFO. A partir daqui, você já pode apontar com o easy_install para o seu ovo no sistema de arquivos e assim instalar seu pacote.

Se quiser, vocêm pode usar o easy_install para enviar seu ovo ou fonte diretamente para o Python Package Index (PyPI), usando o seguinte comando (copiado da documentação):

setup.py bdist_egg upload # cria um ovo e o envia
setup.py sdist upload # cria uma distribuição de fonte e a envia
setup.py sdist bdist_egg upload # cria ambos e os envia

Conclusão

Agora você está apto a usar o easy_install ou sabe o suficiente para tentar uma das alternativas. Pessoalmente, tive alguns problemas com ele e não pretendo usá-lo. Porém, daremos uma olhada no pip e sobre distribuição em breve, em artigo futuro. Por enquanto, dê uma chance ao easy_install e veja o que conclusão você tira, ou me conte suas histórias de terror nos comentários!

Leia também (em Inglês)

P. S.: Foto usada no post: 1st Batch Corn Hatching, de Viper76

Academy of Champions (Wii)

Academy of Champions

Não gosto de jogos de futebol. Pode parecer estranho, mas não gosto de jogos de futebol nem no sentido esportivo nem no sentido eletrônico. Não quero dizer que eu não entendo das regras, só que não gosto. Não quero também fazer crítica nem ao esporte, tão popular no Brasil, nem aos jogos eletrônicos, que tem seu público fiel.

Bem, mas terminei comprando dois jogos de futebol para Wii (estavam a preço bastante convidativo). Um deles foi o Pro Evolution Soccer 2009 (que comecei o tutorial e abandonei, fazer o quê?) e o Academy of Champions. Este sim, pra mim, valeu a compra.

O jogo tem um estilo cartunesco e tem um quê de fantasia em tudo. Você é uma criança que sonha em se tornar grande no Futebol. Vai para uma academia especial, dirigida por Pelé e Mia Hamm (essa eu não conheço, mas dizem que é famosa :-P). Lá tem que cumprir etapas de treinamento, desafios, procurar jogadores para montar um bom time, comprar equipamentos... E vencer jogos importantes! A evolução dos personagens é um ponto bacana. Outro ainda mais legal são os especiais.

Eu lembro que havia um jogo de futebol para Super Nintendo onde se jogava com a turma do Megaman. Eles tinham chutes especiais, com poder. É tipo o robô de gelo ter um chute que congela em quem a bola bate. Pois bem, o Academy of Champions tem também esse lance de especial. E é bem divertido.

Os times são formados por cinco jogadores, incluindo o goleiro. Não há juiz, nem lateral ou escanteio: a bola está em campo o tempo todo. Os personagens são bem diferenciados, e há mistura de sexo. Você vai encontrar a meio-campista baixinha e gasguita, o goleiro brutamontes, o defensor magrela e altão... E há acessórios. Dá pra jogar com bandana, chapéu mexicano e até um chapéu do Rayman.

Bem, mas vamos voltar às atividades. O roteiro é dividido em trimestres. Cada trimestre é composto por quatro semanas (?), de cinco dias cada (??). Cada dia pode ter de uma a três atividades que precisam ser executadas. Boa parte das vezes podemos esconher entre duas ou três opções de atividade. A cada cinco dias nos deparamos com um jogo que não podemos perder. Se perdermos, a semana é zerada e voltamos ao seu começo. Por exemplo, se perder o desafio do 15º dia, você volta para o 11º.

Pra finalizar, achei o jogo muito criativo e divertido, apesar dos altos tempos de loading. Nem disse, mas a Ubisoft ainda preparou uma surpresa, colocando alguns personagens de jogos consagrados dela dentro desse jogo de futebol (por exemplo, o Altair, de Assassin's Creed).

Special: 

HTML Unifier

HTML Unifier

Hoje eu passarei para vocês um conhecimento proibido. Um conhecimento milenar e obscuro dos programadores web,  Uma técnica capaz de reverter o que na maioria dos casos são consideradas boas práticas no desenvolvimento web. Estou falando de Data URI.

Se você já criou alguma página web em HTML você sabe como imagens são adicionadas. Não só imagens, mas muitos arquivos são necessários para ajudar o HTML a compor a página que vemos. Folhas de estilo, javascript, videos... O Data URI Scheme foi criado para permitir embutir diretamente no código HTML um conteúdo que deveria estar separado em seu próprio arquivo.

Como assim? No normal, voocê tem uma imagem praia.jpg. Com Data URI nessa imagem, o arquivo não é mais necessário. A imagem é convertida para ASCII e incluida dentro do HTML, na tag que faz a imagem.

Andei vasculhando os editores de HTML livres e não achei nenhum que permitisse incluir uma imagem nesse modo. Nem Nvu/Kompozer/BlueGriphon, nem LibreOffice, nem os editores de código... Como disse no começo, a técnica é "proibida". Se você adiciona imagens diretamente no arquivo da página, toda aquela modularidade vai pro saco. O cache não poderá ser feito de maneira adequada, por exemplo.

Bom, então por que você quis fazer isso? Simples: precisei preparar email em HTML com imagens, de uma maneira legal, através de um serviço que não aceita anexos. E imagens hospedadas geralmente não são lidas por alguns clientes de email, que temem que haja fraudes ou sei lá o quê. Solução? Data URI.

Pesquisei e não encontrei uma solução para isso. Terminei tendo que criar uma. Assim, apresento o HTMLunifier, que escrevi em PHP CLI, usando DOM e DataURI. Claro que você sabia que o PHP pode ser usado pra fazer script que rode no shell, não é?

O que o HTMLunifier faz basicamente é abrir um arquivo HTML e substituir todas as imagens por Data URI. Por segurança, ele não substitui o arquivo, mas cria um novo com terminação -u.html.

Convertendo a imagem para Data URI

Este código eu peguei na página do criador da biblioteca DataURI para PHP, que utilizei. Claro, com algumas melhorias.

function image_to_html($imagefile) {
	if (preg_match("/.jp(e?)g$/i", $imagefile)) {
		$filetype = "image/jpg";
	} elseif (preg_match("/.png$/i", $imagefile)) {
		$filetype = "image/png";
	} else {
		return $imagefile;
	}
	$fileContents = file_get_contents($imagefile);

	if($fileContents != false) {
		$dataUri = new DataUri(
			$filetype,
			$fileContents,
			DataUri::ENCODING_BASE64
	);

	return $dataUri->toString();
}

O processo unificador

Já temos o método que converte imagem em Data URI. Agora precisamos varrer o HTML procurando pelas tags img. Isso é feito com o seguinte código:

function unify($f) {
	$fpath = dirname(realpath($f));
	$dom = new DomDocument();
	$dom->loadHTML(file_get_contents($f));
	$dom->preserveWhiteSpace = false; 
	$images = $dom->getElementsByTagName('img'); 
	foreach ($images as $img) {    
		$imgfile = $img->getAttribute('src');
		if (preg_match("/^http(s?):/i", $imgfile)) {
			$img->setAttribute('src', image_to_html($imgfile));
		} elseif (preg_match("/^file:/", $imgfile)) {
			$rimgfile = preg_replace('/^file:(\/+)/', '/', $imgfile);
			$img->setAttribute('src', image_to_html($rimgfile));
		} else {
			$rimgfile = "$fpath/$imgfile";
			$img->setAttribute('src', image_to_html($rimgfile));
		}
    } 
    $f2 = $fpath . "/" . basename($f, ".html") . "-u.html";
    $dom->save($f2);
}

Se o arquivo está com protocolor http, https ou file, o tratamento é diferente do endereçamento relativo. No fim, o novo arquivo é gerado.

O programa em si

Claro, temos as funções, agora é hora de escrever o programa que as use. Isso é simples e curto:

for ($i = 1; $i < sizeof($argv); $i++) {
	$f = $argv[$i];
	if (file_exists($f)) {
		print "I will transform $f.\n";
		unify($f);
	} else {
		print "File $f don't exists.\n";
	}
}

Corrigindo o Doctype

Isso por si já deve funcionar, mas "vai que"... Então também fiz um método-gambiarra que corrige o Doctype do arquivo novo:

function fix_doctype($f) {
	$af = file($f);
	print "fix\n";
	$sf = "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n" .
		"<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">";
	foreach ($af as $s) {
		if (preg_match("/^\<\?xml/i", $s)) {
			print "achei xml\n";
		} elseif (preg_match("/^\<\!DOCTYPE/i", $s)) {
			print "achei doctype\n";
		} else {
			$sf .= "\n$s";
		}
	}
	file_put_contents($f, $sf);
}

Concluindo

Enfim, é isso. Espero que isso seja útil para você. Estou anexando neste artigo o código. Como não posso enviar PHP, estou enviando o código em TXT. Basta salvar renomeando o arquivo para tirar o ".txt" ou selecionar, copiar e colar num editor de textos. O arquivo precisa ser marcado como executável.

E lembre-se: você precisará do php5-cli (ou talvez não), do php-xml-algumacoisa (na dúvida dei apt-get install php-xml-*) e do DataURI.php (coloquei na mesma pasta do HTMLunifier). Muita sabedoria para usá-lo e bom proveito!

Special: 

Páginas