chester's blog

technology, travel, comics, books, math, web, software and ramblings

Palestra sobre Programação para Atari 2600 no Dev in Sampa 2011

28 Aug 2011

O Dev in Sampa é um evento bacana, por conta do blend muito equilibrado entre aprendizado e networking. A edição deste ano foi, a meu ver, ainda melhor que a do ano passado – os organizadores (@tinogomes, @nuxlli e @lfcipriani) e o pessoal de apoio da Abril estão de parabéns. Gostei da decisão de reverter ao formato de trilha única de palestras, que limita a quantidade de vagas mas mantém o nível alto e ajuda a galera a se manter na mesma estação.

Clean Code (Código Limpo), por Robert “Uncle Bob” Martin

14 Aug 2011

Já observei que a maior parte dos programadores com algum tempo de estrada tende a se acomodar, acreditando que o que quer que fosse estado da arte (ou apenas popular) quando a pessoa era ultra-jovem é a verdade absoluta e inenarrável. Não sei se por preguiça, insegurança, ou cansaço, mas muita gente, depois de um tempo, se recusa a a aprender qualquer tecnologia, paradigma ou modo de trabalho novo, em muitos casos se afastando da programação porque já “aprendeu tudo”.

Scrum roles in Pulp Fiction

23 Jul 2011

Product Owner

He ensures that the Team delivers value to the business, always considering the stakeholders’ needs. Sometimes he gets screwed by people outside the project, but a good P.O. makes his name and can even turn enemies and traitors into allies.

The Team

Each one has their unique style, but they are all cross-functional, having the skills to do what needs to be done in order to deliver. The really great team members will strike down with furious anger those who would attempt to poison and destroy the quality of the work. But beware: cocky ones eventually get caught with their pants down and meet unfortunate ends.

Scrum Master

He facilitates Scrum by removing impediments. He solves problems. He knows the rules. Time and resources may look tight, but if you do what he says, when he says it, it should be plenty.

Stakeholders

People who enable the project and for whom it will produce the agreed-upon benefits. When they get too involved with members of the team, bad things happen to everyone.

My Retweeted Tweets

17 Jul 2011

My Retweeted TweetsEu nunca me animei a colocar o widget do Twitter no blog porque meus tweets variam bastante, e nem todos são interessantes para um público mais amplo. Isso mudou quando ouvi, nos dois últimos minutos do Nerdcast 264, o Rafinha Bastos confessar que:

“Eu (…) deixo no meu twitter só as (…) tweetadas¹ que foram bem retweetadas”

O comentário pode parecer inócuo, mas ajuda a explicar como ele foi considerado tão influente pelo The New York Times – essa “limpeza” garante uma excelente proporção de retweets por tweet na timeline. E o filtro popular deixa quase tudo mais bacana – como qualquer leitor do Digg sabe. Mesmo sem a multidão de seguidores do Rafinha, é possível olhar a própria página de tweets que foram retweetados e conferir a diferença com relação ao “dia-a-dia”.

Infelizmente o widget do Twitter não permite colocar apenas os tweets retweetados. A API de busca também não ajuda, porque só vai até uns poucos dias no passado. O jeito foi colocar a mão na massa e criar o meu próprio widget. Usando o Google AppEngine, a API do Twitter (via Twitter4J) e um final de tarde, saiu o My Retweeted Tweets.

Basta autorizar o aplicativo e ele gera o código que você pode usar para deixar os tweets retweetados em evidência, como eu fiz na coluna lateral do blog (e na ilustração). O código-fonte, como de costume, é livre (Apache License) e está disponível para quem quiser. O aplicativo foi feito para uso próprio, então ainda pode ser bastante melhorado, mas está lá.

¹ Sim, tweetar e seus derivados forçam a amizade, como me lembrou a Bani. Mas é o que a tradução oficial do Twitter diz, então paciência…</p>

miniTruco Android

10 Jul 2011

Clique para baixar o miniTruco AndroidA versão Android do miniTruco está pronta e disponível para download no Android Market. O software é gratuito, e, mais importante: o código-fonte é livre (GPLv3).

miniTruco Android (para leitores de QR Code)O jogo original para Java ME foi criado em 2005, e ainda hoje ultrapassa os 6000 downloads/mês. Publiquei uma versão Android bem instável no final de 2010, e nas últimas semanas dei uma polida nela. Isso só foi possível graças ao feedback através do Market, então continuem sugerindo, criticando e reportando por lá!

A única coisa do miniTruco original que ficou para o futuro foi o multiplayer. Ainda não sei qual tecnologia usar (deve ser Wi-Fi, Bluetooth só me deu dor-de-cabeça), nem o modelo comercial – será que vinga uma colaboração pela versão paga? Por ora vou dar atenção para outros projetos, mas uma hora eu retomo essa parte.

Créditos

**As imagens (logotipo, ícone, baralho, etc.) são de autoria da Bani. A contagem de tentos do truco mineiro (versão 1.1) foi implementada pelo Guilherme Caram. O jogo não seria possível sem os códigos de estratégia do Leonardo Sellani e do Sandro Gasparoto (que também criou o gTruco), além do código do Willian Gigliotti, que não veio para essa versão, mas foi a estratégia original que viabilizou todas as outras.

 

Michael Jackson: The Experience – Kinect (XBox 360)

28 Jun 2011

O Dance Central foi o motivo pelo qual eu comprei o Kinect (e o XBox 360). É um jogo divertido, mas peca em pequenos aspectos – sem dúvida por conta do pioneirismo. Esses pecadilhos ficaram evidentes no último fim-de-semana, quando comprei o Michael Jackson: The Experience. O jogo vai na mesma linha do DC, mas (claro) com músicas do MJ, e uma interface muito mais bem acabada. Diferença notável: no Dance Central, os dançarinos virtuais ocupam toda a tela, mostrando sua silhueta como um detalhe num canto. Neste jogo, você (ou: sua versão translúcida e purpurinada) é o centro das atenções.

eu no Michael Jackson: The Experience (ou o que minha câmera pegou no timer)

O jogo abre com três opções. A primeira é a MJ School, um conjunto de vídeos onde dançarinos de carne e osso ensinam a dançar um variado conjunto de passos do Michael Jackson. Não é o treinamento do jogo, e sim uma vídeo-aula de dança, totalmente à parte. É bacana, mas o mais produtivo é ir direto à opção Solo, escolher uma música (Beat It é uma boa para começar) e, ali, quebrar o gelo no Practice, recorrendo aos vídeos para os passos mais complicados.

É importante frisar: o modo praticar é muito mais bem acabado que o do Dance Central. Ele permite escolher livremente qual parte treinar, repetir quantas vezes quiser e ir passando para a próxima, pular direto para qualquer outra, enfim, fazer como bem entender. Outro lance vantajoso é ver a si próprio, no mesmo tamanho do dançarino virtual. Parece bobagem, mas isso ajuda muito na identificação dos erros. Outro diferencial: ele ensaia dois ou três passos de uma vez só, o que intimida no começo, mas é mais parecido com o aprendizado real de dança.

Para o jogo em si, você tem a opção entre simplesmente dançar a música ou fazer a “performance”, isto é, dançar e cantar alternadamente. Esta última opção permite usar o microfone do Kinect, mas o melhor resultado é com um microfone dedicado, de preferência sem fio. Novamente a atenção aos detalhes é diferencial: os LEDs coloridos do microfone da Microsoft (normalmente usados apenas para saber se ele sincronizou corretamente com o videogame) passam a fazer parte do show. No geral eu uso muito mais o modo Dance que o Performance, mas cantar de vez em quando ajuda a recuperar o fôlego.

A maior desvantagem para os dançarinos amadores (como eu) é que os passos não têm um nome mnemônico como no Dance Central (embora vários dos vídeos da MJ School dêem nome aos bois). Mas isso (e a ênfase no seu avatar) faz com que você se desprenda dos cartões e olhe mais para os dançarinos na tela, seguindo a música com mais naturalidade. O sistema de “estapear” os menus do Dance Central também faz falta, já que o jogo usa o esquema mais comum do Kinect (coloque-a-mão-e-aguarde), mas não é nada terrível.

Quando o Dance Central 2 sair, vai ter uma vantagem matadora: a possibilidade de duas pessoas dançarem ao mesmo tempo. Mas até lá, o melhor caminho para se divertir com dança no Kinect é o moonwalk com o Rei do Pop!

Sony Xperia X10 Mini Pro + Android 2.3 (Gingerbread) – Sony = ♥♥♥

23 Jun 2011

Estou vendendo meu X10 Mini Pro (com o update 2.3 instalado)
clique na lojinha e veja mais detalhes

Animação do boot do Froyo. Hit the road, Sony Ericsson!Este post falava originalmente de um upgrade para o Android 2.2 (que continua válido), mas já consegui atualizar o celular para o 2.3, daí a mudança no título. Pule para o final para obter os links para 2.3.

Demorou, mas finalmente rolou: um programador (slade87) juntou código dele com o MiniCM (baseada no CyanogenMod) e conseguiu gerar uma versão do Android 2.2 (conhecido como “Froyo”) que funciona no X10 Mini Pro. Um amigo me avisou da existência de um tutorial em português escrito pelo NightCrawler, e foi o que eu segui.

IMPORTANTE: O processo não é trivial, e, embora não seja ilegal, não é autorizado pelo fabricante. Uma falha PODE inutilizar o seu aparelho, “tijolando” ele de forma possivelmente irreversível e certamente não coberta pela garantia. Não faça se não estiver disposto a assumir o risco ou se não souber bem o que está fazendo. Nem eu, nem o slade87, nem o NightCrawler nem NINGUÉM será responsável por qualquer dano, mas apenas VOCÊ. Se estiver em dúvida ou não for a sua praia fazer essas coisas, NÃO FAÇA.

Aviso dado, estou muito feliz com o resultado. Este Android é “debranded”, isto é, não tem as customizações que a Sony Ericsson inclui com a versão que vem com o telefone – é o Android do jeito que foi pensado originalmente pelo Google, com alguns toques extras dos programadores que o customizaram. A Sony afirma que não haveria vantagem em ter o 2.2 (e diz o mesmo do 2.3), mas sinto informar que o celular ficou bem mais rápido e funcional. Se foi o upgrade para o Froyo ou a remoção do software da Sony que proporcionou a melhora, fica a critério de cada um (a minha opinião é que são as duas coisas, e que a Sony devia contratar esses hackers sem pestanejar).

O tutorial enfatiza (e eu reforço) a importância dos backups com o XRecovery, que pode ser carregado antes do sistema operacional e permite executar backups e upgrades do mesmo. O Titanium Backup é outra ferramenta que já justifica fazer root do celular, e também reitero o custo/benefício de comprar o Root Explorer, além de recomendar doações para os autores dos outros softwares.

É preciso ter uma máquina com Windows para executar o upgrade (tanto o SuperOneClick, usado para ganhar acesso root, quanto o atualizador da Sony – usado no passo de “debranding” – só rodam neste sistema operacional). Mas os updates futuros podem ser feitos direto no celular, através do XRecovery. Eu queimei umas duas ou três horinhas entre downloads, backups e atualizações.

No final tudo funcionou, com a exceção do layout do teclado (o “ç” e outras teclas diferentes do original americano) – mas isso dá pra resolver com outro software do slade87. Depois de rodar o programa no PC e reiniciar o celular, é preciso descobrir qual o método de entrada correto: entre numa caixa de texto qualquer, toque ela até vir o menu, escolha Input Method e vá testando as opções (Android Keyboard, Default Input, etc.), até achar uma que esteja acentuada (pra mim variou conforme o firmware instalado).

Dentre os “brindes” que o firmware customizado oferece estão opções como fazer reboot direto para o XRecovery/ClockworkMod, e um programa que habilita o uso do flash LED da câmera como lanterna! Mas o ponto alto é a agilidade: a lista de contatos e o envio de SMS eram incapazes de administrar a quantidade de contatos que eu tenho, e no novo sistema é tudo instantâneo e bem integrado – bem mais próximo da experiência do iOS. E é cedo pra falar, mas até a bateria parece que está segurando melhor. Aprovadíssimo!

UPDATE: O slade87 não está mais desenvolvendo esta ROM (aparentemente ele ficou cansado dos trolls nos fóruns, que esquecem que ele está doando seu tempo), mas experimentei o FroyoBread que parece funcionar bem também.

UPDATE 2 (GINGERBREAD): O FroyoBread não foi tão liso quanto eu esperava. Mas tem um build de Android 2.3 que parece estável o bastante, e instalei hoje. Dei wipe nos dados do usuário dentro do XRecovery, instalei o firmware e logo em seguida, sem reboot, o patch, arrumei o teclado e parece que funciona tudo agora. Ou seja, estou com Android 2.3 (Gingerbread) no X10 Mini Pro!!!!

UPDATE 3 (MiniCM): Pouco antes do final de 2011 saiu o MiniCM7, outro firmware para o X10 Mini Pro customizado a partir do CyanogenMod 7 (e, portanto, Android 2.3). Ele promete mais estabilidade e performance, e, como sempre, tem a receita de bolo para instalar no xda-developers. O catch: para ser instalada, ela exige a troca do kernel Linux por um customizado (o nAa), e a instalação deste, por sua vez, pede o unlock do bootloader (além do root do celular que as outras pediam). É uma operação com uma bela possibilidade de tijolar o celular – eu só fiz porque estava em um delírio de insônia. Vamos ver se melhora algo.

Quadrinhos no iPad

19 Jun 2011

FoxTrot sobre iPad e Quadrinhos (c) Bill Amend http://www.foxtrot.comResisti bastante à idéia de comprar um tablet. A inevitável comparação com o netbook mostra duas coisas que fazem falta: um teclado de verdade (indispensável para quem produz conteúdo) e a liberdade para usar os softwares que eu quiser. Mas fui seduzido pela novidade e, principalmente, pelo tempo generoso de bateria (algo muito útil em eventos de TI) e comprei um iPad 2 na minha última viagem. Claro que uma das primeiras coisas que eu quis tentar com ele foi ler quadrinhos – a tela e a resolução pareciam ideais para o formato.

WonderCon 2011

22 Apr 2011

Um item importante da minha lista de coisas a fazer antes de morrer era participar de uma grande convenção gringa de quadrinhos. Meu alvo particular era a San Diego Comic-Con International (e ainda vou lá um dia), mas uma feliz coincidência me colocou em San Francisco justamente quando ocorria ali a WonderCon, uma “irmã mais nova” da Comic-Con que atualmente é organizada pelo mesmo grupo