segunda-feira, novembro 24, 2008

Google Code Jam 2008 - Temos um Vencedor

A final da competição foi no dia 14 de Novembro, na sede da Google, com apresença dos 97 melhores colocados (devia ser 100, acho que tiveram 3 W.O.s, incluíndo aí os dois "brazucas").

O vencedor foi Tiancheng Lou da China, que competiu com a alcunha ACRush. A relação dos vencedores está em http://code.google.com/codejam/results.html.

domingo, novembro 23, 2008

Porta Puzzle Grow

Um problema para os fãs de quebra cabeça é como proteger o trabalho incacabado. Já me aconteceu de chegar em casa e descobrir que um quebra cabeça que eu vinha montando a dias tinha sido "carinhosamente" desmontado e guardado na caixa (me colocando de volta à estaca zero). A Grow comercializa um Porta Puzzle, que se propõe a ser o fim deste problema.


O Porta Puzzle é oferecido em dois tamanhos, um para quebra cabeças de até 1500 peças e outro para quebra cabeças de até 3000 peças. O preço está na faixa de R$50 a R$70. Como sou exagerado, comprei o maior (o que deu um pouco de trabalho, pois a maioria das lojas que eu consultei só tinha o menor).

Preparação

O porta puzzle vem dobrado na caixa. Uma consequência é que ficam vincos que atrapalham a montagem do quebra cabeça (estes vincos devem sumir como o uso).

O primeiro passo é inflar o tubo, o que deu bastante trabalho. A válvula é daquele tipo que tem que ser pressionado de um certo jeito para deixar passar o ar (as instruções não mencionam isto). Além disto, a tampa impede colocar diretamente uma bomba de bicicleta, o que me obrigou a exercitar os pulmões.

O modelo grande é realmente grande, com uma área de montagem de 87 x 135 cm. Embora seja de plástico, a superfície de montagem imita feltro (o que tem o efeito colaterar de grudar o pó de papelão que acompanha os quebra cabeças novos).

Teste de Uso

A foto na caixa é muito bonita, mas não é bem assim que costumo montar um quebra cabeça.


A foto abaixo é uma situação mais real de um quebra cabeça no início de montagem. No caso o quebra cabeça é de 1000 peças, que parece pequeno na área de montagem. As instruções recomendam não deixar peças soltas. Um aperfeiçoamento seria o Porta Puzzle tem um ou mais bolsos para as peças, na falta deles usei saquinhos Ziploc.


A foto abaixo é o resultado após fechar o Porta Puzzle (enrolando da direção do tubo inflado para a borda), transportá-lo um pouco (sempre na horizontal) e depois abrí-lo novamente.

Embora não tenha sido perfeito, foi bem satisfatório. Resultados melhores devem ser obtidos com o quebra cabeça mais avançado e fechando e abrindo com mais cuidado.

Conclusão

O Porta Puzzle funciona adequadamente e certamente será apreciado por quem costuma montar quebra cabeças. É uma boa sugestão para presente de Natal (possivelmente acompanhado de um quebra cabeça).

sábado, novembro 22, 2008

Jogo do Mês(e Grátis) - Mad Race

Mad Race é um jogo de corrida, destes que você vê imagem de longe e o seu carro parece de brinquedo.


O jogo é muito viciante. Os gráficos são muito bons (a imagem acima está reduzida, clique na abaixo para ver uma imagem mais realista) e a música dá a tensão certa, sem ser cansativa.


Tem várias pistas e alguns modelos de carros. Os carros podem ser equipados com uma arma frontal e uma arma traseira (porque as concessionárias não oferecem estes acessórios?):


Para mudar carro ou acrescentar armas você precisa de pontos, que são ganhos vencendo corrida, pegando powerup ou destruindo os carros dos oponentes (você perde pontos quando o seu carro é destruído).

Existem dois modos de jogo: single race e tournament. No segundo modo você só avança para a pista seguinte após vencer a corrida na atual. No início sofri muito; foi preciso paciência para ir juntando pontos e melhorando o carro até a primeira vitória. A partir daí foi uma sequência grande de vitórias.

O único ponto negativo é que só dá para dirigir pelo teclado e as teclas são fixas. Depois de algum tempo os dedos ficam doendo!

O melhor de tudo é que é gratis, basta baixar de http://www.gametop.com/category/downloadable.html. Tem outros jogos grátis no mesmo site, mas ainda não experimentei.

terça-feira, novembro 18, 2008

DVD: O Enigma de Andromeda

Inspirado pelo meu post sobre a morte de Michael Crichton, comprei o DVD O Enigma de Andromeda.

É uma história de ficção científica: um satélite cai em uma cidadezinha e todos os habitantes morrem, menos um velho e uma criança. Um grupo de cientistas precisa decifrar o mistério e deter a ameaça.

Ao contrário de outras adaptações dos livros de Crichton, esta não tem nenhum ator famoso. O único nome conhecido nos créditos é o diretor, Robert Wise, que se notabilizou por dirigir filmes dos mais diversos gêneros (ganhou um Oscar pela Noviça Rebelde, dirigiu O Dia Que a Terra Parou e o primeiro filme de Star Trek).

O filme mistura a naração com alguns trechos em flashback e em alguns momentos a tela é dividida em partes. A edição "nervosa" e a trilha sonora criam um ambiente intrigante e cheio de suspense.


Existe uma preocupação em dar um tom de veracidade à história e a tecnologia apresentada é compatível com a época de realização do filme (1971). Não se assustem, portanto, em ver teletipos e gráficos do nível do Apple ][ (que, é claro, não existia ainda na época do filme).


Algumas pessoas talvez não gostem do jeito meio seco como as informações são passadas, que podem fazer com que se chegue ao final sem entender o que se passou.

Concluindo, é um filme muito interessante para se ver. Encontrei para venda em várias lojas, por preços entre R$28 e R$40.

domingo, novembro 16, 2008

Gabinete para HD Exteno Leadership

Na minha aventura de trocar o HD do meu micro (aqui e aqui), acabou sobrando um HD SATA de 250GBytes. Minha idéia era aproveitar este HD em um gabinete externo conectado por USB, o que finalmente estou fazendo. Sem pesquisar muito, comprei um gabinete da Leadership:



Dentro da simpática caixinha tem um monte de coisas. Além do gabine e da fonte, são fornecidos:
  • um cabo USB
  • um suporte para manter a caixa de pé na mesa
  • um adaptador SATA / ESATA e um cabo ESATA, para ligar o HD externo ao micro via SATA ao invés de USB (o que deve fornecer maior velocidade)
  • um manualzinho
  • um mini-CD com o driver para Windows 98
  • parafusos para fixar o HD
  • uma chave de parafuso



Abrindo o gabinete, descobre-se que o interior é bastante simples:



A montagem não exige prática nem habilidade. É preciso conectar ao HD os cabos de alimentação e SATA; os conectores são daqueles que não permitem conectar errado. Em seguida o HD deve ser aparafusado à placa. Um problema com o meu HD é que o posicionamento dos conectores atrapalha colocar o HD na posição correta.


Na traseira do gabinete temos os conectores USB, ESATA e alimentação, bem como a chave liga e desliga. Na frente tem um LED azul para indicar que está ligado. A coisa só não foi mais simples porque a fonte veio com defeito. Precisei voltar na loja para eles trocarem.


O manual, além de sucinto, tem um texto no mínimo estranho. Embora em alguns trechos a tradução esteja boa, em outras está em "protuguès". Abaixo uma pequena "pérola" do FAQ:

Vamos ver agora como se comporta no dia a dia.

sábado, novembro 15, 2008

Livro do Mês: The Sign of Four / O Signo dos Quatro

Como comentei recentemente, baixei um audibook grátis do livro The Sign of Four (também conhecido como The Sign of The Four, veja na wikipedia). A qualidade da história e da leitura me cativou de tal forma que eu passei a ouví-la toda vez que estava andando de carro.

Embora quase todos saibam que é Sherlock Holmes, a maioria nunca leu um dos livros. A relação oficial é composta por quatro livros longos e cinco coletâneas de histórias curtas. The Sign of Four é a segunda história com Sherlock Holmes escrita por Conan Doyle. O livro tem alguns elementos clássicos, como as deduções com relação ao Dr Watson logo no capítulo inicial, o uso dos "irregulares da rua Baker") e alguns personagens mais para o lado do fantástico. A história começa com Holmes e Watson acompanhando a cliente a um encontro onde são prometidas informações sobre o pai dela desaparecido há 10 anos. Não demora muito para se depararem com um homicídio. Holmes resolve o mistério antes da metade do livro, o que se segue é a procura do crimonoso (que culmina com uma perseguição de barcos a alta velocidade no Tâmisa) e a inevitável narrativa do criminoso (que neste caso é bem mais curta que em Um Estudo em Vermelho e Vale do Terror).

De quebra, o livro traz o famoso uso de drogas por Holmes para se estimular na falta de um mistério para investigar. E também um interesse romântico para Watson (que parece ser desconhecido pelos que enxergam algo mais na amizade entre os dois).

O texto em inglês pode ser baixado gratuitamente do Projeto Gutenberg, em http://www.gutenberg.org/etext/2097. Lá também pode ser encontrado o audio book, em http://www.gutenberg.org/dirs/etext05/shsof163-index.htm.

Quem preferir ler em inglês não vai precisar gastar muito. Como o texto já está no domínio público, as publicações nacionais não são caras. Tenho em casa uma versão da Melhoramentos, que custa atualmente na Livraria Cultura menos de R$25.

A Melhoramentos tem também um edição de bolso, ainda mais barata (abaixo de R$15). Em uma folheada rápida a tradução me pareceu boa. Uma curiosidade é que no início do livro Sherlock em sua depressão toca o violino ao invés de usar drogas. Provavelmente um pequena censura para o livro ser apropriado para crianças.

O Signo dos Quatro não é um livro muito longo. O texo da edição em português mostrada acima ocupa cerca de 90 páginas (tamanho meio A4).

Resumindo, The Sign of Four é uma boa pedida para quem quer começar a ler Sherlock Holmes.

sexta-feira, novembro 14, 2008

segunda-feira, novembro 10, 2008

Organizando Cabos para Guardar

Espero que este post não seja óbvio demais, mas vamos lá. Como muitos, eu me irrito na hora de organizar cabos antes de guardá-los. Se a gente os deixa soltos, eles se enrroscam como se fossem minhocas e resistem tenazmente às tentativas de retirar.


As alternativas mais comuns (ilustradas acima) não são plenamente satisfatórias:
  • Amarrar o cabo com ele mesmo aumenta o risco de danificá-lo.
  • Usar um arame (como costumam vir do fabricante) não é prático se o cabo for manipulado com muita frequência.
  • Os elásticos quebram se são mexidos com muita frequência e se decompõem em uma terrível "meleca" se forem esquecidos muito tempo.
A solução que considero melhor é usar uma tira de velcro. Por uma destas coisas que só os "contadores de feijão" podem explicar, a fonte do meu celular vagabundo vem com uma mas a do meu notebook (que custou umas quinze vezes mais) não.


Felizmente, não é muito difícil de achar tiras de velcro à venda. Para não perdê-las (afinal, não são assim tão baratas), o melhor é prender uma das pontas de forma "definitiva" no cabo, o que pode ser facilmente ser feita com uma cola, de preferência uma cola de contato (como as duas acima).

Para quem não conhece, deve-se aplicar as colas de contato sobre as superfícies que serão coladas (devidamente limpas, secas, etc), aguardar a cola secar e depois juntar as duas partes (com cuidado pois a colagem é "instantânea"). Maiores detalhes devem estar presentes na embalagem da cola ; )

O resultado final é a fita de velcro presa "definitivamente" ao cabo, ficando sempre disponível para amará-lo na hora de guardar:

domingo, novembro 09, 2008

Seminario C&C++ para Sistemas Embarcados

Tive o prazer de apresentar ontem uma palestra no seminário "C&C++ para Sistemas Embarcados", promovido pela Tempo Real Eventos a partir das idéias do Grupo C&C++ Brasil e do Portal Embarcados.

O primeiro ponto a destacar é o tamanho do encontro. Foram 370 inscritos, um salto imenso em relação à dúzia de entusiastas de C&C++ que se reuniram em uma mesa do Outback do Shopping Eldoradohá menos de três anos. Isto mostra como as coisas são possíveis quando se vai à luta, algo que Alberto Fabiano, Pedro Lamarão e Diego Sueiro mostraram ser mais que capazes.

Outro destaque foi a presença de palestrantes de outros estados, lembrando que existem vários polos de tecnologia fora do eixo Rio-São Paulo.

Apesar de certamente não ser isento, me arrisco a fazer alguns comentários sobre as palestras apresentadas.

Técnicas de Programação em C para Sistemas Embarcados

Esta foi a minha palestra. Como estava muito preocupado em não estourar o tempo (o que já ocorreu em minhas apresentações anteriores), acabei errando para o outro lado. Em retrospecto eu deveria ter aprofundado mais em alguns pontos, aproveitando melhor o tempo disponível. Felizmente fui salvo pelas perguntas da platéia, que ocuparam uma boa parte do tempo que sobrou.

Utilização de C++ em Microcontroladores

Palestra de Luiz Barros, de Pernambuco. Uma análise muito boa dos mitos e verdades em torno do uso de C++ no desenvolvimento embarcado, exemplificada com código real do Luiz.

Explorando os 16 bits da Microchip

Esta palestra foi apresentada por Daniel Rodrigues, que atua na área de treinamentos e suporte da LabTools. Como o título sugere, foi uma palestra mais voltada para hardware e focada em uma família específica. Em alguns momentos, roçou perigosamente com a propaganda explícita da Microchip. As demostrações no final da palestra mostraram o imenso potencial dos microcontroladores em aplicações envolvendo display gráfico sensível ao toque e comunicação via ethernet. Foi uma palestra interessante, mas ficou aquele desejo que ela tivesse centrado mais nos aspectos de programação.

Otimização de Código C para Sistemas Embarcados

Palestra apresentada por Fábio Pereira da ScTec de Santa Catarina, e para mim o ponto alto do seminário. Tenho um livro do Fábio (Microcontroladores PIC - Programando em C) que havia me surpreendido com a ambundância de informações importantes. A base da palestra foi a constatação de que, no mundo limitado dos microcontroladores, diferenças pequenas no código C podem trazer diferenças significativas no código gerado e estas diferenças nem sempre são intuitivas. A partir disto o Fábio apresentou uma boa quantidade de exemplos, todos meticulosamente testados. Mais importante que os exemplos específicos, ele mostrou o caminho das pedras: como identificar os pontos críticos e analisá-los.

Desenvolvimento Embedded no Mundo da eLua

Dado Sutter, da PUC-RJ apresentou o projeto do port da linguagem Lua para sistemas embarcados. A linguagem Lua é um belo caso de sucesso do desenvolvimento "brazuca": criada na PUC-RJ chamou a atenção da comunidade internacional e hoje aparece em vários produtos comerciais (como o World of Warcraft e o Photoshop Lightroom da Adobe). A eLua parece destinada a seguir estes passos. O objetivo da eLua é não apenas colocar a linguagem Lua rodando em sistema embarcados, mas também definir e implementar um conjunto de módulos complementares que permitam que o desenvolvimento para sistemas embarcados possa ser feito em um nível mais alto de abstração, facilitando a migração de aplicações entre hardwares diferentes. Infelizmente, por limitação de tempo, acabou sendo cortada a demonstração prática.

Concluindo...

Ontem foi um dia bastante divertido e excitante. Os interessados no assunto, que tiveram ou não a oportunidade de assistir ao seminário, ficam novamente convidados a visitar os sites abaixo onde em breve devem estar links para as palestras (acredito que inclusive com vídeo).

http://www.ccppbrasil.org
http://groups.google.com/group/ccppbrasil
http://www.embarcados.com.br/

quinta-feira, novembro 06, 2008

Michael Crichton (1942-2008)

O falecimento de Michael Crichton ontem me pegou de surpresa. Mestre do "tecno-thriller", Crichton é o autor de uma série de livros que eu gostei muito, embora os mais recentes (como State of Fear) não tenham me entusiasmado tanto como os mais antigos.

Uma lista de filmes para assistir em memória dele:
  • O Enigma de Andrômeda
  • Congo (médio)
  • Coma (nunca vi este)
  • Parque dos Dinossauros (este todos conhecem, assim como as continuações)
  • Esfera (não é grande coisa, mas os atores são famosos)
  • Sol Nascente (excelente)
  • Assedio Sexual (li o livro mas não vi o filme)
Ou simplesmente veja um capítulo de ER.

Uma curiosidade: somente hoje, olhando a entrada na Wikipedia, descobri que ele escreveu (sob pseudônimo) um livro que eu li na adolescencia: Binary. Infelizmente este livro está disponível somente usado.

quarta-feira, novembro 05, 2008

A Urna Eletrônica Brasileira é Segura?

Com as recentes eleições no Brasil e nos EUA, é natural que os brasileiros estejam batendo no peito de orgulho das nossas urnas eletrônicas, principalmente quando comparadas com as formas de registro de voto nos EUA.

Embora eu esteja plenamente satisfeito e confiante com o nosso sistema, é preciso registrar algumas preocupações manifestadas tanto no Brasil como no exterior.

As Limitações da Urna Brasileira

As críticas à urna brasileira costumam se focar em duas limitações do sistema:
  • Inexistência de registro físico dos votos para conferência. Os votos são registrados apenas eletronicamente, impedindo uma recontagem. Já foram feitos testes em eleições passadas com urnas que possuiam uma impressora para registrar o voto. O voto impresso era apresentado ao eleitor para conferência antes de ser guardado. Este processo foi considerado muito caro, complicado e sujeito a falhas mecânicas.
  • Identificação do eleitor pelo mesmo equipamento que registra o voto. O terminal onde o mesário digita o número do título está ligado diretamente a urna, tornando possível (na teoria) a amarração do voto ao eleitor.
Mas o Fonte do Software Não É Aberto?

Uma das vantagens da urna eletrônica brasileira é que o projeto está aberto para consulta e verificação pelos partidos. Entretanto isto não é suficiente.

Uma primeira precaução é o controle rígido das versões, para garantir que o software nas urnas corresponde ao fonte "aprovado". Nos EUA, onde em alguns locais as eleições são agressivamente tercerizadas, já ocorreu de uma empresa reconhecer que foram usadas máquinas com um software diferente do que tinha sido homologado. Não conheço os detalhes, mas até onde sei a Justiça Eleitoral é extremamente cuidadosa neste ponto.

Mas isto não basta. Existe uma famosa apresentação de Ken Thompson ("pai" do Unix), onde ele mostra como um programa pode ser "pervertido" sem deixar traços nos fontes:
  • Suponhamos que desejamos perverter o programa A. Se fizermos a alteração nos seus fontes, quem tiver acesso aos fontes poderá detectar a perversão.
  • Entretanto, o programa A é compilado por um compilador C. Se tivermos acesso aos fontes de C, podemos gera um compilador C' que detecta quando A é compilado e altera o código gerado para executar A' contendo a "malvadeza".
  • A alteração pode ainda ser detectada olhando o fonte de C'. Entetanto, o compilador é compilado por ele mesmo. Geramos então um compilador C" que detecta não somente quando A é compilado, mas tambem quando C é compilado (alterando o código de forma a gerar o equivalente a C"). Uma vez gerado o executável de C", o seu código fonte pode ser destruído.
  • A partir daí a compilação de C gera o compilador C" e a compilação de A gera A', sem nenhum indício nos fontes de C ou A.
No caso da urna eletrônica, a alteração pode ser introduzida tanto no programa de votação como no sistema operacional.

Outras Formas de Fraude

Em um dos vários escândalos sobre urnas eletrônicas nos EUA, descobriu-se que uma urna utilizava uma destas fechaduras vagabundas de móveis de escritório para proteger o acesso ao cartão de memória Flash onde são registrados os votos (e onde poderia ser colocado um software para ser executado no momento de boot).

A empresa se defendeu, afirmando que além da fechadura existia um lacre. Alguém sugeriu então uma forma diferente de afetar o resultado da eleição:
  • Suponha que uma determinada seção tenha (segundo as pesquisas) predileção pelo candidato A que não queremos que ganhe.
  • Recrutamos então um eleitor desta sessão e o instruímos para ir votar no horário final e, no isolamento da cabine de votação, quebrar o lacre.
  • Na hora da contagem será detectado o lacre quebrado e o conteúdo da urna terá que ser ignorado (apesar de não ter sido alterado!).
Ou, como neste diálogo clássico entre Dilbert e Dogbert:
  • Dilbert: você me enganou ontem. Você me convenceu a não ir votar pois você ia votar no outro canditado e se nós dois não fossemos o resultado seria o mesmo.
  • Dogbert: e...
  • DIlbert: cachorros não votam!
  • Dogbert: não diretamente.
Concluindo

Após as eleições brasileiras vou dormir sabendo o resultado e sossegado. Entretanto, as preocupações acima não deixam de ser válidas (e altamente improváveis). Quem sabe alguém não desenvolve uma forma simples, barata e confiável de acrescentar um registro físico dos votos que permita recontagem...

segunda-feira, novembro 03, 2008

14o Concurso Anual de Ficção Interativa

Está meio em cima da hora, mas até o dia 15 de novembro ainda dá para votar no 14o Concurso Anual de Ficção Interativa. Mesmo que não pretenda votar, se você gosta de aventuras de texto vale a pena baixar os jogos inscritos (lembrando que são jogos curtos, feitos para serem avaliados após 2 horas de jogo).