
domingo, agosto 08, 2010
Livro de Julho: Delivering Happiness
Em 1999, Tony Hsieh vendeu sua primeira empresa (LinkExchange) para a Microsoft, por US$265 milhões. Embarcou em seguida na Zappos, uma loja de sapatos na internet, que foi comprada ano passado pela Amazon por US$1,2 bilhões. Este livro é um pouco da sua história e suas filosofias.


segunda-feira, agosto 02, 2010
Google Code Jam 2010: Encerrado
Na semana passada ocorreu em Dublin a final do Google Code Ja, 2010. O campeão do ano é o russo Egor Kulikov. O campeão dos dois anos anteriores chegou perto mas acabou em quarto.
Nesta última rodada foram seis problemas; ninguém conseguiu resolver completamente os dois últimos.
Os problemas e a análise oficial estão em http://code.google.com/codejam/contest/dashboard?c=801485
Nesta última rodada foram seis problemas; ninguém conseguiu resolver completamente os dois últimos.
Os problemas e a análise oficial estão em http://code.google.com/codejam/contest/dashboard?c=801485
domingo, agosto 01, 2010
Resenha: Os Escrúpulos de Maigret
Continuando a minha leitura da coleção L&PM Pocket, chegou a vez de "Os Escrúpulos de Maigret".

Normalmente Maigret se envolve nos casos após um crime ser cometido, como parte de suas atribuições de comissário da Polícia Judiciária. Neste livro, entretanto, é procurado por Xavier Marton, um vendedor de brinquedos uma grande loja (especializado em trens elétricos). Marton começa por informar que procurou um médico antes de Maigret, para ter certeza que não é louco. E que está convencido que a esposa deseja matá-lo. Ele não tem provas, nem deseja fazer uma acusação formal, quer apenas informar a Maigret.

Normalmente Maigret se envolve nos casos após um crime ser cometido, como parte de suas atribuições de comissário da Polícia Judiciária. Neste livro, entretanto, é procurado por Xavier Marton, um vendedor de brinquedos uma grande loja (especializado em trens elétricos). Marton começa por informar que procurou um médico antes de Maigret, para ter certeza que não é louco. E que está convencido que a esposa deseja matá-lo. Ele não tem provas, nem deseja fazer uma acusação formal, quer apenas informar a Maigret.
sexta-feira, julho 30, 2010
Links Comentados #10 - Privacidade na Internet
Na volta desta seção ao blog: proteção para a vulnerabilidade dos atalhos, usuários do Facebook (mais) expostos e aplicação suspeita encontrada no Android Market.
Proteção Para a Vulnerabilidade dos Atalhos
Enquanto a Microsoft não publica uma correção para a vulnerabilidade em atalhos (shortcuts) que eu já mencionei por aqui, os autores de malware estão fazendo a festa.
A Sophos anunciou um utilitário grátis para detectar e bloquear ataques a esta vulnerabilidade:
http://www.sophos.com/blogs/gc/g/2010/07/26/shortcut-exploit-free-tool/
Detalhes PÚBLICOS de 100 Milhões de Usuários do Facebook Distribuídos em Torrents
Sim, as notícias falam em 100 milhões e sim, os dados estão circulando por aí. Mas não se trata de nenhuma violação de segurança, simplesmente um "pesquisador" fez um script para coletar informações públicas dos usuários do facebook. Como disse um outro especialista: "informações que você coloca na internet ficam disponíveis na internet".
É claro que não ajuda o fato do Facebook incentivar o compartilhamento de informações. Depois do "seguro por padrão" é hora do "privativo por padrão".
http://www.theregister.co.uk/2010/07/29/facebook_user_data_published/
http://www.sophos.com/blogs/gc/g/2010/07/29/details-100-million-facebook-users-exposed-internet/
Aplicativo Suspeito no Android Market
Um aplicativo de papel de parede está sendo acusado por uma firma de segurança de coletar informações do usuário e enviá-las para um site na China.
Esta acusação realça as discussões sobre as diferenças de filosofia entre as lojas de aplicativos da Google e da Apple. Pessoalmente não compartilho a opinião de que a loja da Apple seria totalmente segura. Tenho muitas dúvidas sobre a profundidade da análise da Apple (lembrar que eles não tem o código fonte para análise) e nenhuma dúvida sobre a competência de alguns em esconder o funcionamento de programas. Eu gosto da liberdade de instalar o que quiser nos meus computadores. Aliás, este é o modelo dos computadores pessoais e a existência de trojans é um preço que estou disposto a pagar.
http://www.theregister.co.uk/2010/07/29/suspicious_android_app/
http://www.sophos.com/blogs/gc/g/2010/07/29/details-100-million-facebook-users-exposed-internet/
Proteção Para a Vulnerabilidade dos Atalhos
Enquanto a Microsoft não publica uma correção para a vulnerabilidade em atalhos (shortcuts) que eu já mencionei por aqui, os autores de malware estão fazendo a festa.
A Sophos anunciou um utilitário grátis para detectar e bloquear ataques a esta vulnerabilidade:
http://www.sophos.com/blogs/gc/g/2010/07/26/shortcut-exploit-free-tool/
Detalhes PÚBLICOS de 100 Milhões de Usuários do Facebook Distribuídos em Torrents
Sim, as notícias falam em 100 milhões e sim, os dados estão circulando por aí. Mas não se trata de nenhuma violação de segurança, simplesmente um "pesquisador" fez um script para coletar informações públicas dos usuários do facebook. Como disse um outro especialista: "informações que você coloca na internet ficam disponíveis na internet".
É claro que não ajuda o fato do Facebook incentivar o compartilhamento de informações. Depois do "seguro por padrão" é hora do "privativo por padrão".
http://www.theregister.co.uk/2010/07/29/facebook_user_data_published/
http://www.sophos.com/blogs/gc/g/2010/07/29/details-100-million-facebook-users-exposed-internet/
Aplicativo Suspeito no Android Market
Um aplicativo de papel de parede está sendo acusado por uma firma de segurança de coletar informações do usuário e enviá-las para um site na China.
Esta acusação realça as discussões sobre as diferenças de filosofia entre as lojas de aplicativos da Google e da Apple. Pessoalmente não compartilho a opinião de que a loja da Apple seria totalmente segura. Tenho muitas dúvidas sobre a profundidade da análise da Apple (lembrar que eles não tem o código fonte para análise) e nenhuma dúvida sobre a competência de alguns em esconder o funcionamento de programas. Eu gosto da liberdade de instalar o que quiser nos meus computadores. Aliás, este é o modelo dos computadores pessoais e a existência de trojans é um preço que estou disposto a pagar.
http://www.theregister.co.uk/2010/07/29/suspicious_android_app/
http://www.sophos.com/blogs/gc/g/2010/07/29/details-100-million-facebook-users-exposed-internet/
terça-feira, julho 27, 2010
Um Relógio Muito Louco - Eletrônica
O hardware para este projeto não é complexo: basta um microcontrolador com 3 saídas digitais (uma para controlar o servomotor e duas para controlar os LEDs) e 2 entradas digitais (para os botões de ajuste do relógio). Como já vimos antes, o clock do microcontrolador precisa permitir um controle adequado do servomotor.
Para o desenvolvimento vou utilizar a minha placa protótipo PIC com o PIC 16F688 (que não por coincidência é o mesmo circuito que eu usei no teste do servomotor).

Os botões estão ligados diretamente aos pinos do PIC, usarei os resistores internos (weak pullups). No caso dos LEDs basta um resistor em série, o PIC é capaz de fornecer a corrente necessária.
Na montagem definitiva vou utilizar o PIC16F676, que tem a mesma pinagem que o 16F688 exceto por não ter a porta serial (ele também tem menos memória, mas não deverá ser problema). Uma segunda diferença será a alimentação: a placa protótipo usa uma bateria de 9V e um regulador para 5V, na montagem definitiva usarei três pilhas de 1,5V:
Na próxima parte vamos ver alguns testes iniciais do circuito.
Para o desenvolvimento vou utilizar a minha placa protótipo PIC com o PIC 16F688 (que não por coincidência é o mesmo circuito que eu usei no teste do servomotor).

Os botões estão ligados diretamente aos pinos do PIC, usarei os resistores internos (weak pullups). No caso dos LEDs basta um resistor em série, o PIC é capaz de fornecer a corrente necessária.
Na montagem definitiva vou utilizar o PIC16F676, que tem a mesma pinagem que o 16F688 exceto por não ter a porta serial (ele também tem menos memória, mas não deverá ser problema). Uma segunda diferença será a alimentação: a placa protótipo usa uma bateria de 9V e um regulador para 5V, na montagem definitiva usarei três pilhas de 1,5V:

domingo, julho 25, 2010
Resenha: Mister Sun (Modesty Blaise vol 2)
Como disse na resenha do volume 1, era só uma questão de tempo até comprar e ler o volume 2, Mister Sun.


quinta-feira, julho 22, 2010
Um Relogio Muito Louco - Design
O meu design"definitivo" surgiu quando eu encontrei este "Porta caneta Retrato" em uma loja da rede Pegue Faça:

A caixa será usada de ponta cabeça, com o mostrador na janela do porta retrato e o servomotor e a eletrônica na parte interna. Dois botões permitirão acertar a hora; um LED indicará "PM" e outro o modo "Ajuste".

O mostrador na foto acima foi feito com um programa de desenho e impresso em um papel fotográfico fosco que eu tinha sobrando em casa. O ponteiro é um fio rígido com capa vermelha. A montagem acima está bem tosca, fruto da minha inabilidade manual. De qualquer forma, este é o protótipo, eu comprei duas caixas já sabendo que ia fazer estragos na primeira.
Na próxima parte vamos ver a eletrônica.

A caixa será usada de ponta cabeça, com o mostrador na janela do porta retrato e o servomotor e a eletrônica na parte interna. Dois botões permitirão acertar a hora; um LED indicará "PM" e outro o modo "Ajuste".

O mostrador na foto acima foi feito com um programa de desenho e impresso em um papel fotográfico fosco que eu tinha sobrando em casa. O ponteiro é um fio rígido com capa vermelha. A montagem acima está bem tosca, fruto da minha inabilidade manual. De qualquer forma, este é o protótipo, eu comprei duas caixas já sabendo que ia fazer estragos na primeira.
Na próxima parte vamos ver a eletrônica.
quarta-feira, julho 21, 2010
Siemens Recomenda Não Trocar Senha Comprometida
Já está à solta um malware usando a vulnerabilidade nos atalhos do Windows que eu comentei outro dia. O alvo do "bichinho" são sistemas industriais baseados no SCADA da Siemens, cuja senha da base de dados circula há anos na internet.
A sugestão óbvia seria a troca da senha comprometida, porém a Siemens desaconselha isto por poder "impactar as operações". Em outras palavras, a senha está fixa (hard-coded) nas aplicações.
Por enquanto o conselho da Siemens é aguardar a correção da vulnerabilidade pela Microsoft.
Fonte: http://www.sophos.com/blogs/gc/g/2010/07/20/malware-scada-password-siemens/
Em tempo: o boletim da Microsoft contém instruções para desligar a apresentação de ícones nos atalhos, o que impede a exploração da vulnerabilidade.
A sugestão óbvia seria a troca da senha comprometida, porém a Siemens desaconselha isto por poder "impactar as operações". Em outras palavras, a senha está fixa (hard-coded) nas aplicações.
Por enquanto o conselho da Siemens é aguardar a correção da vulnerabilidade pela Microsoft.
Fonte: http://www.sophos.com/blogs/gc/g/2010/07/20/malware-scada-password-siemens/
Em tempo: o boletim da Microsoft contém instruções para desligar a apresentação de ícones nos atalhos, o que impede a exploração da vulnerabilidade.
Um Relogio Muito Louco - Introdução
Já faz um bom tempo que eu vi o artigo "A Clock for Geeks" e meu vontade de fazer algo semelhante.

O "conceito" do projeto é fazer um relógio com aparência de um voltímetro. Por trás do mostrador, entretanto, está um servomotor controlado por um microcontrolador.
No projeto original foi usado um estojo escolar para a caixa e um microcontrolador PIC programado com o Swordfish Compiler.
A minha ideia inicial era fazer algo que parecesse criado por um cientista maluco com peças sobrando no laboratório, com um mostrador como os na figura abaixo:

No próximo post vou descrever o design que acabei utilizando.

O "conceito" do projeto é fazer um relógio com aparência de um voltímetro. Por trás do mostrador, entretanto, está um servomotor controlado por um microcontrolador.
No projeto original foi usado um estojo escolar para a caixa e um microcontrolador PIC programado com o Swordfish Compiler.
A minha ideia inicial era fazer algo que parecesse criado por um cientista maluco com peças sobrando no laboratório, com um mostrador como os na figura abaixo:

No próximo post vou descrever o design que acabei utilizando.
terça-feira, julho 20, 2010
O Pequeno Mistério do System.String.Contains no .NET
Estou trabalhando atualmente em um aplicativo ASP.Net (usando Web Forms), adaptando o código de um outro aplicativo que eu fiz algum tempo atrás. Entre as várias surpresas, um pequeno mistério.
segunda-feira, julho 19, 2010
Maldito Linux Vulnerável!
Você sente inveja dos usuários Windows que recebem um sistema operacional desatualizado pré-instalado em seus micros ou em mídia imutável? O seus problemas se acabaram-se! Existe agora o Damn Vulnerable Linux, que se orgulha de ser o mais vulnerável e explorável sistema operacional.
Brincadeiras à parte, o DVL é uma distribuição que propositalmente utiliza versões antigas do Linux e aplicações, para facilitar o estudo e aprendizado de falhas de segurança.
Fonte: OSNews, artigo em geek.com
Brincadeiras à parte, o DVL é uma distribuição que propositalmente utiliza versões antigas do Linux e aplicações, para facilitar o estudo e aprendizado de falhas de segurança.
Fonte: OSNews, artigo em geek.com
Exemplo de Série Infinita: Mais Uma Vulnerabilidade Encontrada no Windows
Foi encontrada uma vulnerabilidade no Windows, que afeta, no mínimo, do XP ao Seven. Pela demonstração mencionada abaixo, parece que basta o Explorer apresentar o ícone de um shortcut "envenenado" para disparar a execução de um código arbitrário com privilégios de administrador.
A Microsoft confirmou a vulnerabilidade, porem afirma que é necessário clicar o shortcut e que o código seria executado somente com os privilégios do usuário logado (é possível que o malware no vídeo use uma vulnerabilidade separada para fazer o aumento de privilégio).
A forma mais simples de evitar o problema é desligar a apresentação de ícones no shortcut (instruções no link acima).
O vídeo está no canal da Sophos no YouTube.
Fonte: The Register.
A Microsoft confirmou a vulnerabilidade, porem afirma que é necessário clicar o shortcut e que o código seria executado somente com os privilégios do usuário logado (é possível que o malware no vídeo use uma vulnerabilidade separada para fazer o aumento de privilégio).
A forma mais simples de evitar o problema é desligar a apresentação de ícones no shortcut (instruções no link acima).
O vídeo está no canal da Sophos no YouTube.
Fonte: The Register.
sábado, julho 17, 2010
Problema da Antena do iPhone 4: Encerrado?
A esta altura a coletiva de impresa de ontem já foi bastante divulgada, coloco aqui a minha opinião somente para fechar o meu post anterior.
Do ponto de vista de ações concretas, a Apple está oferecendo uma capa gratuita para os compradores do iPhone 4 e garantindo a devoluçãointegral do dinheiro para quem não se sentir satisfeito. Steve Jobs admitiu a ocorrência da atenuação do sinal quando o iPhone 4 é segurado de determinadas formas, particularmente quando se conecta a separação das duas partes da faixa de metal.
Do ponto de vista de ações concretas, a Apple está oferecendo uma capa gratuita para os compradores do iPhone 4 e garantindo a devoluçãointegral do dinheiro para quem não se sentir satisfeito. Steve Jobs admitiu a ocorrência da atenuação do sinal quando o iPhone 4 é segurado de determinadas formas, particularmente quando se conecta a separação das duas partes da faixa de metal.
sexta-feira, julho 16, 2010
Email Falso da Amazon
Já virou costume e-mails falsos dizendo que você comprou uma alguma coisa, mas esta é a primeira vez que vejo um fingindo ser da Amazon:

Além do email ter vindo em uma conta que eu não uso nas compras na Amazon, ter apenas uma vaga semelhança com os emails verdadeiros, não conter informações como nome, endereço de entrega e lista de produtos e ter links para um site da Rússia, a aritmética é totalmente estranha. Tão estranha que talvez seja de propósito para aumentar a curiosidade e levar a vítima a clicar num dos links.

Além do email ter vindo em uma conta que eu não uso nas compras na Amazon, ter apenas uma vaga semelhança com os emails verdadeiros, não conter informações como nome, endereço de entrega e lista de produtos e ter links para um site da Rússia, a aritmética é totalmente estranha. Tão estranha que talvez seja de propósito para aumentar a curiosidade e levar a vítima a clicar num dos links.
quinta-feira, julho 15, 2010
Add-on para o Firefox Roubava Senhas
A Mozilla descobriu que um add-on "experimental" para o Firefox estava interceptando logins e enviando os dados para um site remoto. A Mozilla está estudando mudar a política de anunciar e permitir o download de add-ons não analisados, pois considera que o aviso apresentado no download é insuficiente.
Segundo as estatísticas da Mozilla, o add-on criminoso foi baixado cerca de 1800 vezes e tinha 334 usuários ativos. O "bichinho" foi removido do site e colocado na blocklist - o Firefox irá recomendar a sua remoção quando fizer o teste de novas versões.
Pela descrição, é provável que o estrago independa do sistema operacional em que o Firefox estiver sendo executado.
Fonte: http://www.sophos.com/blogs/gc/g/2010/07/15/mozilla-pulls-passwordsniffing-firefox-addon/
Segundo as estatísticas da Mozilla, o add-on criminoso foi baixado cerca de 1800 vezes e tinha 334 usuários ativos. O "bichinho" foi removido do site e colocado na blocklist - o Firefox irá recomendar a sua remoção quando fizer o teste de novas versões.
Pela descrição, é provável que o estrago independa do sistema operacional em que o Firefox estiver sendo executado.
Fonte: http://www.sophos.com/blogs/gc/g/2010/07/15/mozilla-pulls-passwordsniffing-firefox-addon/
Deve a Apple Fazer um Recall do iPhone 4?
A esta altura você provavelmente já ouviu falar no problema da antena do iPhone 4. Começou como um murmúrio nos tubos da internet e chegou às seções de economia. Se as primeiras menções a recall soavam como absurdos, esta opção passa a ser discutida seriamente por analistas.
O Problema Técnico
A melhor análise que vi até agora foi da AnandTech. Resumindo:
O resultado é que embora o iPhone 4 possa ter, nas condições apropriadas, um desempenho melhor que outros telefones, muitos usuários acabam vivenciando um desempenho muito pior.
Algumas Soluções
Uma solução é simplesmente segurar o telefone de uma forma adequada. Embora não requeira mudança de software ou hardware requer algo mais complicado: a mudança de comportamento das pessoas. Algumas naturalmente já seguram o telefone de forma adequada, outros não. Dizer que estes últimos estão segurando de forma "errada" e obrigá-los a segurar da forma "certa" não é tarefa simples.
A solução mais óbvia é isolar a faixa de metal. Isto pode ser feito de forma grosseira (com uma fita adesiva), usando uma capa protetora ou através de algum acabamento especial (chegaram a sugerir uma camada de diamante).
Uma solução mais complexa é rever totalmente o projeto, por exemplo colocando a antena internamente.
O Problema de Relações Públicas
Até o momento a reação da Apple ao problema parece estar seguindo as listas de "não fazer" dos manuais de relações públicas. O problema foi negado. Foi dito que os usuários estavam segurando o telefone errado. Disseram que era um problema de software (indicação de sinal mais forte que o real).
A partir de um certo nível de divulgação de problemas, pesa mais a forma como o consumidor se sente tratado do que questões objetivas como a gravidade do problema. A Apple tem tirado muito proveito da força da sua marca. Milhões de unidades são vendidas em pré-venda e nos primeiros dias, antes que a qualidade dos produtos possam ter sido confirmadas. Pessoas ficam acampadas esperando a data de lançamento de um iPad porque confiam que Steve Jobs fará o produto certo.
Até o momento as vendas do iPhone 4 não foram afetadas pelo problema. Entretanto, aumenta a cada dia a possibilidade de um possível comprador escutar a pergunta "mas este aparelho não é podre?".
Os advogados já sentiram o cheiro de sangue e começaram os processos. Mais que os efeitos monetários diretos, estes processos podem consumir tempo da Apple e dificultar as soluções (já que o jurídico vai querer analisar o impacto de cada solução proposta nos processos em curso).
Recall?
Soa absurdo imaginar a Apple publicando um anúncio solicitando aos compradores de iPhone 4 levarem seus aparelhos para uma troca ou reparo, para evitar uma perda de sinal quando o produto é segurado de determinadas formas. Mas se ela seguir no rumo atual corre o risco a se obrigada a fazer isto (o que é muito pior que fazer espontaneamente).
Antes dos processos e da notícia sair das páginas técnicas dava para a Apple sair por cima dando um desconto nas capas. Agora ela precisa fazer algo mais forte. E rápido.
Atualização 15/7 9:20: já tem gente literalmente apostando no recall ou não recall.
O Problema Técnico
A melhor análise que vi até agora foi da AnandTech. Resumindo:
- O iPhone 4 usa como antena uma faixa de metal na borda do aparelho. A borda está dividida em duas partes, uma para Bluetooth, WiFi e GPS e outra para GSM.
- Esta antena externa dá ao iPhone 4 um desempenho muito melhor que a geração anterior (iPhone 3GS) em condições de sinal baixo.
- Quando um telefone é empunhado há uma atenuação do sinal. Isto é mais perceptível no caso de antenas externas.
- A situação do iPhone 4 é piorada pelo fato da faixa de metal não estar isolada. Um ponto crítico é a região onde existe a divisão entre as duas partes.
O resultado é que embora o iPhone 4 possa ter, nas condições apropriadas, um desempenho melhor que outros telefones, muitos usuários acabam vivenciando um desempenho muito pior.
Algumas Soluções
Uma solução é simplesmente segurar o telefone de uma forma adequada. Embora não requeira mudança de software ou hardware requer algo mais complicado: a mudança de comportamento das pessoas. Algumas naturalmente já seguram o telefone de forma adequada, outros não. Dizer que estes últimos estão segurando de forma "errada" e obrigá-los a segurar da forma "certa" não é tarefa simples.
A solução mais óbvia é isolar a faixa de metal. Isto pode ser feito de forma grosseira (com uma fita adesiva), usando uma capa protetora ou através de algum acabamento especial (chegaram a sugerir uma camada de diamante).
Uma solução mais complexa é rever totalmente o projeto, por exemplo colocando a antena internamente.
O Problema de Relações Públicas
Até o momento a reação da Apple ao problema parece estar seguindo as listas de "não fazer" dos manuais de relações públicas. O problema foi negado. Foi dito que os usuários estavam segurando o telefone errado. Disseram que era um problema de software (indicação de sinal mais forte que o real).
A partir de um certo nível de divulgação de problemas, pesa mais a forma como o consumidor se sente tratado do que questões objetivas como a gravidade do problema. A Apple tem tirado muito proveito da força da sua marca. Milhões de unidades são vendidas em pré-venda e nos primeiros dias, antes que a qualidade dos produtos possam ter sido confirmadas. Pessoas ficam acampadas esperando a data de lançamento de um iPad porque confiam que Steve Jobs fará o produto certo.
Até o momento as vendas do iPhone 4 não foram afetadas pelo problema. Entretanto, aumenta a cada dia a possibilidade de um possível comprador escutar a pergunta "mas este aparelho não é podre?".
Os advogados já sentiram o cheiro de sangue e começaram os processos. Mais que os efeitos monetários diretos, estes processos podem consumir tempo da Apple e dificultar as soluções (já que o jurídico vai querer analisar o impacto de cada solução proposta nos processos em curso).
Recall?
Soa absurdo imaginar a Apple publicando um anúncio solicitando aos compradores de iPhone 4 levarem seus aparelhos para uma troca ou reparo, para evitar uma perda de sinal quando o produto é segurado de determinadas formas. Mas se ela seguir no rumo atual corre o risco a se obrigada a fazer isto (o que é muito pior que fazer espontaneamente).
Antes dos processos e da notícia sair das páginas técnicas dava para a Apple sair por cima dando um desconto nas capas. Agora ela precisa fazer algo mais forte. E rápido.
Atualização 15/7 9:20: já tem gente literalmente apostando no recall ou não recall.
terça-feira, julho 13, 2010
Vídeo: Rubens Barrichello no Top Gear
Para quem está acostumado a ver um Rubens Barrichello na defensiva enquanto é gozado sem dó, é reconfortante ver ele ser bem tratado neste programa britânico. Top Gear é um programa da BBC sobre automóveis. Um dos quadros deles é colocar pilotos de F1 pilotando um "carro barato e velho" em uma pista de provas e ver se conseguem bater o piloto de testes do programa, o misterioso Stig. Veja como o Rubinho se sai em relação aos tempos de pilotos como Mansell e Hamilton.
Obs: o vídeo foi postado invertido para evitar ser bloqueado. Quem for fluente em inglês (e diga-se de passagem que o Rubinho fala inglês muito bem) pode ver uma parte do vídeo não invertido aqui.
Obs: o vídeo foi postado invertido para evitar ser bloqueado. Quem for fluente em inglês (e diga-se de passagem que o Rubinho fala inglês muito bem) pode ver uma parte do vídeo não invertido aqui.
segunda-feira, julho 12, 2010
Dez Anos de .NET
No dia 22 de junho de 2000 a Microsoft anunciou a plataforma .NET; em 11 de julho do mesmo ano foi disponibilizada um versão "pré-beta" no evento PDC 2000 (press release aqui).
Eu comecei a conhecer para valer o .Net em 2001, com um documento (não Microsoft) entitulado "Understanding .NET". Passados dez anos, é interessante revê-lo.

Eu comecei a conhecer para valer o .Net em 2001, com um documento (não Microsoft) entitulado "Understanding .NET". Passados dez anos, é interessante revê-lo.

domingo, julho 11, 2010
Jogo do Mês: Freedom Force vs the 3rd Reich
Mais uma coisa para atrapalhar os novos posts no blog: o jogo Freedom Force vs the 3rd Reich (que eu vou chamar aqui de FFVT3R). Eu me interessei pelo jogo quando foi anunciado no GOG e comprei assim que ficou disponível. O estilo comic book, os gráficos bons e as avaliações positivas foram os motivos desta compra impulsiva.

Este jogo é a continuação de um outro (Freedom Force). A trama tem uma certa continuidade que provavelmente deve ser apreciada por quem jogou o jogo anterior, mas é plenamente satisfatória para quem, como eu, nunca tinha ouvido falar em nenhum dos dois,.
FFVT3R é, nas palavras da Wikipedia, um "real-time tactical role-playing game". Em termos práticos:
Nunca me destaquei muito na minha habilidade em jogos de ação. Felizmente o nível mais baixo de dificuldade se mostrou adequado para mim. Para quem tem habilidade normal ou melhor existem níveis maiores de dificuldade.
O tom do jogo é (propositalmente?) exagerado. As falas dos heróis são bem grandiloquentes e os vilões uns fanfarrões.
O jogo tem um modo multiplayer, mas não investiguei isto ainda.
Estou jogando em um notebook com Windows Vista (usando um mouse externo) e o desempenho está ótimo. O único senão é que duas vezes ocorreu do jogo encerrar de forma abrupta.
Um guia bastante completo, incluindo um walkthrough, pode ser visto aqui.
Veredito: recomendado. Mesmo que você não tenha experiência com o gênero, acho que vale a pena experimentar, já que o preço é da ordem de grandeza de uma revista (US$5.99).

Este jogo é a continuação de um outro (Freedom Force). A trama tem uma certa continuidade que provavelmente deve ser apreciada por quem jogou o jogo anterior, mas é plenamente satisfatória para quem, como eu, nunca tinha ouvido falar em nenhum dos dois,.
FFVT3R é, nas palavras da Wikipedia, um "real-time tactical role-playing game". Em termos práticos:
- Você comanda times de heróis em missões. Cada missão envolve vários objetivos, alguns primários e outros secundários, e a luta contra adversários. Esta é a parte "tática em tempo real". Durante as missões você acumula pontos.
- Entre as missões você pode usar os pontos para recrutar novos heróis e treinar os seus heróis (melhorando as habilidades e poderes que ele tem ou acrescentando outros), assim como avançar no enredo que une as missões. É o lado "role-playing".
Nunca me destaquei muito na minha habilidade em jogos de ação. Felizmente o nível mais baixo de dificuldade se mostrou adequado para mim. Para quem tem habilidade normal ou melhor existem níveis maiores de dificuldade.
O tom do jogo é (propositalmente?) exagerado. As falas dos heróis são bem grandiloquentes e os vilões uns fanfarrões.
O jogo tem um modo multiplayer, mas não investiguei isto ainda.
Estou jogando em um notebook com Windows Vista (usando um mouse externo) e o desempenho está ótimo. O único senão é que duas vezes ocorreu do jogo encerrar de forma abrupta.
Um guia bastante completo, incluindo um walkthrough, pode ser visto aqui.
Veredito: recomendado. Mesmo que você não tenha experiência com o gênero, acho que vale a pena experimentar, já que o preço é da ordem de grandeza de uma revista (US$5.99).
sábado, julho 03, 2010
Livro de Junho: ReWork
Este não é o tipo de livro que eu normalmente procuraria e a sua compra se deve a alguns "acasos". Mas o fato é que eu comprei, li e gostei de Rework, um livro com conselhos para "empreendedores" (um termo, que eu, como os autores do livro, não gosto).


sexta-feira, julho 02, 2010
Concorra a um Jogo Grátis do GOG.com
Já falei antes no GOG - Great Old Games (www.gog.com). Eles estão sorteando 10 jogos por dia até domingo (4/julho) - detalhes aqui.
Ao invés de falar sobre as vantagens do GOG, eu prefiro sugerir que vocês leiam o que os usuários dizem.
O único problema que eu tive com o GOG até agora é a minha falta de tempo para jogar o que comprei até agora!
Ao invés de falar sobre as vantagens do GOG, eu prefiro sugerir que vocês leiam o que os usuários dizem.
O único problema que eu tive com o GOG até agora é a minha falta de tempo para jogar o que comprei até agora!
quinta-feira, julho 01, 2010
quarta-feira, junho 30, 2010
PC Assembler Volume I - O eBook (grátis)

Desde aquela época existia o plano de gerar uma versão mais caprichada. É o que finalmente consegui concluir. O link abaixo aponta para uma versão PDF, com o texto devidamente formatado. Embora eu tenha revisado o texto ele continua sendo basicamente o mesmo (e portanto restrito à programação em 16 bits nos processadores 8088 e 8086).
Vamos ver se não demoro outros três anos para disponibilizar o texto dos dois livros seguintes da série (Usando o Bios e Usando o DOS).
Atualização 26/9/11: O eBook pode ser baixado do SkyDrive através do ícone no alto à direita ("Arquivos do Blog").
segunda-feira, junho 28, 2010
Quadrinho Insano

A história começa aqui.
Placa Protótipo PIC - Teste
Embora a minha placa não seja muito complicada, já tem um número de conexões suficiente para não ser improvável um erro. É, portanto, importante fazer alguns testes em uma ordem que diminua a probabilidade de queimar um dos componentes.


Categorias:
Eletrônica,
PIC,
Processadores,
Programação
sábado, junho 26, 2010
Maigret e o Mendigo & O Revolver de Maigret
Seguem as resenhas de mais dois livros de Maigret da coleção L&PM Pocket: "Maigret e o Mendigo" e "O Revolver de Maigret". Para quem não conhece Maigret, sugiro dar uma pesquisada aqui no blog.


sexta-feira, junho 25, 2010
Placa Protótipo PIC - Montagem
Este projeto certamente mereceria uma placa de circuito impresso de verdade, mas fazer placas em casa é algo que ainda está na fase de planejamento.


quarta-feira, junho 23, 2010
Três Milhões de iPads em 80 dias
Nesta segunda feira (21/6) a Apple vendeu o iPad número 3.000.000. É um indício de aceleração das vendas, já que o primeiro milhão demorou 28 dias, o segundo 29 dias e o terceiro apenas 20 dias.
É realmente um produto "mágico e revolucionário", principalmente porque os analistas não conseguem dizer o que atrai os clientes.
Fonte: http://www.theregister.co.uk/2010/06/23/ipad_sales_boost/
Press-release oficial: http://www.apple.com/pr/library/2010/06/22ipad.html
É realmente um produto "mágico e revolucionário", principalmente porque os analistas não conseguem dizer o que atrai os clientes.
Fonte: http://www.theregister.co.uk/2010/06/23/ipad_sales_boost/
Press-release oficial: http://www.apple.com/pr/library/2010/06/22ipad.html
Placa Protótipo PIC - Projeto
O projeto da minha placa protótipo é bastante trivial, baseando-se nos circuitos sugeridos nas documentações do PIC, do MAX232 (conversor TTL <-> RS232) e do gravador McFlash. Segue abaixo o circuito que eu montei (clique para ampliar):


terça-feira, junho 22, 2010
Amazon Reduz o Preço do Kindle
Não sei se é um "efeito iPad", mas o preço dos leitores de ebook está caindo. Ontem a Barnes&Noble reduziu o preço do Nook de $259 para $199, horas depois a Amazon reduziu o preço do Kindle de $259 para $189.
No mês passado eu cheguei a pensar em comprar um Kindle de presente para o meu pai (ainda bem que resisti, pois agora eu estaria triste com a queda do preço). As vantagens do Kindle são suportar a comunicação aqui no Brasil, duração razoável da bateria e uma tela do tipo "electronic ink" (projetada especificamente para leitura). As desvantagens são que ainda sai caro aqui no Brasil e livros técnicos ou mais antigos não estão disponíveis ou tem preços até maiores que as cópias físicas.
Além disso, estou convencido que estes aparelhos ainda vão melhorar muito e existe o risco de "micar" com ebooks em um formato proprietário.
De qualquer forma, está ficando cada dia mais tentador.
Fonte: The Register
No mês passado eu cheguei a pensar em comprar um Kindle de presente para o meu pai (ainda bem que resisti, pois agora eu estaria triste com a queda do preço). As vantagens do Kindle são suportar a comunicação aqui no Brasil, duração razoável da bateria e uma tela do tipo "electronic ink" (projetada especificamente para leitura). As desvantagens são que ainda sai caro aqui no Brasil e livros técnicos ou mais antigos não estão disponíveis ou tem preços até maiores que as cópias físicas.
Além disso, estou convencido que estes aparelhos ainda vão melhorar muito e existe o risco de "micar" com ebooks em um formato proprietário.
De qualquer forma, está ficando cada dia mais tentador.
Fonte: The Register
segunda-feira, junho 21, 2010
Placa Protótipo PIC - Introdução
Estou trabalhando em um novo "brinquedo" utilizando o microcontrolador PIC (que será oportunamente descrito aqui no blog). Logo no começo do projeto me peguei montando mais uma vez um mesmo circuito básico na breadboard.

Embora a breadboard seja muito prática para fazer teste, facilitando mudanças no circuito, o resultado é bastante frágil e suscetível a mau-contatos. Surgiu daí a ideia de montar de forma mais definitiva um circuito básico, para ser usado como ponto de partida para projetos futuros.

Embora a breadboard seja muito prática para fazer teste, facilitando mudanças no circuito, o resultado é bastante frágil e suscetível a mau-contatos. Surgiu daí a ideia de montar de forma mais definitiva um circuito básico, para ser usado como ponto de partida para projetos futuros.
quinta-feira, junho 17, 2010
Download de Arquivos ZIP Suspenso no Google Groups
Recebi um aviso de que o link para download do livro PC Assembler (que está neste post) não está funcionando. Investigando, descobri que todos os downloads de .zip do blog estão dando erro.
Finalmente encontrei um aviso sucinto fórum de ajuda do Google Groups (aqui):
We have received reports of suspicious .zip files being sent to users
with Google Groups. For the time being, we will be disabling .zip
downloads while we investigate this issue. I will update this forum
once we have resolved this issue.
Ou seja, estão suspensos os downloads de arquivos ZIP do Google Groups. Se a situação continuar, vou ter que procurar algum outro local para hospedar os arquivos do blog.
Por enquanto, peço paciência com as mensagens de erro.
Finalmente encontrei um aviso sucinto fórum de ajuda do Google Groups (aqui):
We have received reports of suspicious .zip files being sent to users
with Google Groups. For the time being, we will be disabling .zip
downloads while we investigate this issue. I will update this forum
once we have resolved this issue.
Ou seja, estão suspensos os downloads de arquivos ZIP do Google Groups. Se a situação continuar, vou ter que procurar algum outro local para hospedar os arquivos do blog.
Por enquanto, peço paciência com as mensagens de erro.
quarta-feira, junho 16, 2010
Vulnerabilidade do hcp:// Já Começa a Ser Explorada
Nos links comentados #9 eu mencionei o insensato que divulgou publicamente uma falha de segurança do Windows e um exemplo de código para explorá-la. Segundo o blog de Graham Cluley, já tivemos o primeiro caso de um site ter sido "contaminado" com um ataque. Quem acessava o site (que já foi limpo) corria o risco de ter um "cavalo de troia" instalado automaticamente.
Lembrando, a falha afeta o XP e o Server 2003 mas não as versões mais recentes (Vista, Seven e Server 2008).
Lembrando, a falha afeta o XP e o Server 2003 mas não as versões mais recentes (Vista, Seven e Server 2008).
Google Code Jam 2010: Making Chess Boards
Making Chess Boards (fazendo tabuleiros de xadrez) foi o terceiro e último problema da rodada !C do Google Code Jam 2010. Segundo a análise oficial, seria uma combinação de parsing, programação dinâmica e truques espertos. Embora eu tenha resolvido com sucesso o problema, minha solução envolve somente parsing e força bruta.
terça-feira, junho 15, 2010
Google Code jam 2010: Load Testing
Load Testing (teste de carga) foi o segundo problema da rodada 1C. Uma distração minha neste problema me impediu de obter a pontuação máxima na rodada.
O enunciado (que você encontra aqui) parece confuso na primeira leitura; felizmente os exemplos são mais claros. Tentando colocar de uma forma simples:
O enunciado (que você encontra aqui) parece confuso na primeira leitura; felizmente os exemplos são mais claros. Tentando colocar de uma forma simples:
- Você precisa determinar qual o número mínimo de testes de carga a serem feitos em um site.
- Os testes são concluídos quando sabemos que o site suporta, dentro de um fator C, pelo menos P participantes ou uma quantidade X < P
- Suportar X participantes dentro de um fator C significa que você sabe que o site suporta uma carga a mas não uma carga a*C com a < P < a*C
- Inicialmente você sabe que o sistema suporta uma carga L mas não uma carga P.
segunda-feira, junho 14, 2010
Fontes do Unreal IRC Server Comprometidos
Como diz o comunicado oficial, é embaraçoso. No começo de novembro de 2009, os fontes do Unreal IRC Server (um servidor bastante popular para IRC) foram substituídos por um contendo um backdoor. Quem baixou, compilou e instalou estes fontes está "comprometido" - um usuário remoto pode executar um comando qualquer com as permissões do usuário que roda o daemon (o correspondente a um serviço do Windows).
Não, não é o fim da "civilização tal qual a conhecemos". Também não é a primeira vez que fontes de software livre são comprometidos. Entretanto, demonstra alguns pontos importantes:
Informação obtida no artigo ligeiramente sensacionalista da ZDNet, graças a menção no blog do Ricardo Oneda.
Não, não é o fim da "civilização tal qual a conhecemos". Também não é a primeira vez que fontes de software livre são comprometidos. Entretanto, demonstra alguns pontos importantes:
- Existem sim indivíduos (grupos?) gerando "malvadezas" para Linux.
- Usuários Linux também podem ser vítimas de "cavalos de troia". O costume de não rodar programas como administrador certamente minimiza o estrago.
- Um malware pode circular por vários meses no mundo Linux sem ser detectado. O fato do fonte estar aberto para a inspeção não garante que ele será periodicamente inspecionado. Também não é costume dos sistemas Linux terem um esquema de verificação automatizado e diariamente atualizado, como é o caso dos anti-vírus usados por quase todos os usuários Windows.
Informação obtida no artigo ligeiramente sensacionalista da ZDNet, graças a menção no blog do Ricardo Oneda.
A Lei de Murphy Ocorrendo na Prática
Muitas pessoas enunciam a Lei de Murphy como "Se algo pode dar errado, vai dar". Pessoalmente prefiro a versão "Se algo puder ser feito errado, alguém o fará". A primeira versão não é apenas pessimista, é fatalista: vai dar errado, independente das precauções. A segunda versão trás embutido um conselho: tome o cuidado de não deixar as coisas poderem ser feitas erradas. Segundo a Wikipedia, não existe consenso sobre o que Edward Murphy disse e se esta é a origem da expressão "Lei de Murphy".
Acabo de ter um exemplo prático da segunda versão. Estou fazendo um pequeno projeto com o microcontrolador PIC (que deve aparecer aqui no blog em breve). Durante o meu desenvolvimento, estou montando o circuito em uma protoboard e regravando continuamente o PIC. Estou usando duas fontes distintas, uma para alimentar o circuito e outra para alimentar o gravador. A primeira é de 5 Volts e a segunda de 12 Voltas. E as duas usam o mesmo conector.
Em retrospecto, é incrível como demorei para fazer uma confusão entre as duas fontes. Mas a minha sorte chegou ao fim e liguei a fonte de 12 Volts ao circuito. Com isto pifei o microcontrolador e um servomotor (acho que o motor ainda está bom, mas ele não obedece mais ao controle de posicionamento).
Minha primeira providência pós-desastre: trocar o conector da fonte de 5 Volts. Pelo menos neste erro não pretendo insistir.
Acabo de ter um exemplo prático da segunda versão. Estou fazendo um pequeno projeto com o microcontrolador PIC (que deve aparecer aqui no blog em breve). Durante o meu desenvolvimento, estou montando o circuito em uma protoboard e regravando continuamente o PIC. Estou usando duas fontes distintas, uma para alimentar o circuito e outra para alimentar o gravador. A primeira é de 5 Volts e a segunda de 12 Voltas. E as duas usam o mesmo conector.
Em retrospecto, é incrível como demorei para fazer uma confusão entre as duas fontes. Mas a minha sorte chegou ao fim e liguei a fonte de 12 Volts ao circuito. Com isto pifei o microcontrolador e um servomotor (acho que o motor ainda está bom, mas ele não obedece mais ao controle de posicionamento).
Minha primeira providência pós-desastre: trocar o conector da fonte de 5 Volts. Pelo menos neste erro não pretendo insistir.
domingo, junho 13, 2010
Links Comentados #9 - Semana da (In)Segurança
A semana passada foi bastante agitada em termos de segurança e insegurança no "mundo digital", com uma surpresa nos patches da Microsoft, versões novas de Flash, Chrome e Safari, invasão em massa de sites, roubo de emails de usuários do iPad e uma divulgação incomum de uma nova falha de segurança no Windows.
Obs.: a maioria dos links é para o The Register, que agrupa muito bem este tipo de notícia.
Obs.: a maioria dos links é para o The Register, que agrupa muito bem este tipo de notícia.
sábado, junho 12, 2010
Morre Tony Peluso
Hã? Quem é Tony Peluso? O guitarrista dos Carpenters! É provável que você não tenha ouvido falar dele. Aliás, não achei muita coisa na Web fora o anúncio da morte (em quase todos os casos, o mesmo texto).
Devo explicar que o fã dos Carpenters em casa é um dos meus irmãos, eu preferia algo mais pesado. Entretanto, tinha somente um toca disco na casa e nós tínhamos poucos discos, portanto era inevitável conhecer a música deles. O que me impressionou (e continua impressionando) são os arranjos (de Richard Carpenter), sempre muito precisos (ouça por exemplo "This Masquerade"). Para quem pensa que conhece o som dos Carpenters, recomendo procurar o primeiro ("Offering", depois renomeado para "Ticket to Ride").
Devo explicar que o fã dos Carpenters em casa é um dos meus irmãos, eu preferia algo mais pesado. Entretanto, tinha somente um toca disco na casa e nós tínhamos poucos discos, portanto era inevitável conhecer a música deles. O que me impressionou (e continua impressionando) são os arranjos (de Richard Carpenter), sempre muito precisos (ouça por exemplo "This Masquerade"). Para quem pensa que conhece o som dos Carpenters, recomendo procurar o primeiro ("Offering", depois renomeado para "Ticket to Ride").
sexta-feira, junho 11, 2010
Google Code Jam 2010: Rope Internet
Rope Internet foi o primeiro problema da rodada 1C. O enunciado oficial está aqui; considere a figura abaixo que mostra uma série de segmentos de reta unindo dois prédios:

O problema consiste em, dadas as alturas A e B das extremidades das retas, determinar quantas intersecções ocorrem. Para simplificar, é garantido que nenhum par de segmentos começa ou termina na mesma altura e que nunca ocorre de mais de dois segmentos cruzarem no mesmo ponto.

O problema consiste em, dadas as alturas A e B das extremidades das retas, determinar quantas intersecções ocorrem. Para simplificar, é garantido que nenhum par de segmentos começa ou termina na mesma altura e que nunca ocorre de mais de dois segmentos cruzarem no mesmo ponto.
quinta-feira, junho 10, 2010
Google Code Jam 2010: File Fix-It
File Fix-It foi o primeiro problema da rodada 1B, e um dos mais simples da competição.
O enunciado completo está no site oficial, mas pode ser resumido da seguinte forma: o seu programa recebe duas listas de nomes de diretório (todos a partir da raiz e usando '/' como separador das partes), uma com os nomes dos diretórios que já existem e outra com os nomes dos diretórios que se deseja criar, e deve informar quantas operações de criação de diretório (mkdir) serão necessárias (considerando que cada operação cria somente a última parte do nome).
O enunciado completo está no site oficial, mas pode ser resumido da seguinte forma: o seu programa recebe duas listas de nomes de diretório (todos a partir da raiz e usando '/' como separador das partes), uma com os nomes dos diretórios que já existem e outra com os nomes dos diretórios que se deseja criar, e deve informar quantas operações de criação de diretório (mkdir) serão necessárias (considerando que cada operação cria somente a última parte do nome).
quarta-feira, junho 09, 2010
Google Code Jam 2010: Rodada 2
Neste sábado (5/junho) ocorreu a rodada 2 do Google Code Jam 2010. Estavam classificados para a rodada 3000 competidores; apenas os 500 melhores avançaram para a rodada 3. Eu não estava muito otimista quanto a passar (no que estava correto), ainda mais que nas últimas semanas o rítmo no trabalho tem sido intenso (o que explica também a redução dos posts aqui no blog).
Quando começou a rodada, meu primeiro objetivo era ver se tinha algum problema que eu tivesse uma boa chance de resolver; se não tivesse eu ia simplesmente desistir. Foram 4 problemas, com 2,5 horas para solução. Numa primeira olhada os três primeiros problemas pareciam atacáveis, o quarto envolvia uma geometria pesada. Embora os enunciados fossem razoavelmente simples, nos primeiros 20 minutos ninguém tenha resolvido nenhum problema (nem mesmo um small input). A análise oficial dos problemas pode ser vista aqui.
Eu me interessei pelo problema C (Bacteria), uma versão simplificada do clássico Life. Uma solução "força bruta" capaz de resolver o small input parecia simples. E realmente era, mas levei uma hora para implementar. O problema é que o large input era simplesmente imenso. Tive uma ideia para tentar reduzir a memória necessária e gastei uns 50 minutos implementando uma das minhas soluções complexas, cheia de alocação manual de memória. Para minha surpresa, o código funcionou praticamente de primeira... mas se mostrou muito mais lento que a força bruta! Eu cheguei a imaginar uma terceira solução, mas não tinha certeza se conseguiria implementar nos 40 minutos restantes. Dando uma olhada na classificação, percebi que mesmo que conseguisse resolver o large input não ia dar para passar para a rodada seguinte e entreguei os pontos. Pela análise da Google, esta minha solução não deveria ser suficiente.
A rodada foi realmente difícil. Ninguém conseguiu a pontuação máxima. Somente 12 competidores enviaram uma solução para o large input do último problema, e somente 2 acertaram. Somente os seis primeiros acertaram todo o resto (somente um deles tentou o large input do problema D, mas estourou o tempo). O sétimo colocado acertou os problemas A, B e D, mas não teve tempo para o problema C. O último classificado conseguiu acertar o problema B inteiro e mais o small input do C em uma hora e meia, fazendo 31 pontos (o mesmo que eu teria obtido se tivesse conseguido resolver o problema C inteiro).
Minha principal conclusão da minha participação este ano é que usando C puro não vai dar para ir em frente. Para o ano que vem preciso estar preparado para usar uma linguagem com mais recursos.
Sobra a pendência de apresentar minhas soluções para os problemas que eu resolvi na rodada 1. Vamos ver se as coisas acalmam no trabalho e consigo preparar isto.
Quando começou a rodada, meu primeiro objetivo era ver se tinha algum problema que eu tivesse uma boa chance de resolver; se não tivesse eu ia simplesmente desistir. Foram 4 problemas, com 2,5 horas para solução. Numa primeira olhada os três primeiros problemas pareciam atacáveis, o quarto envolvia uma geometria pesada. Embora os enunciados fossem razoavelmente simples, nos primeiros 20 minutos ninguém tenha resolvido nenhum problema (nem mesmo um small input). A análise oficial dos problemas pode ser vista aqui.
Eu me interessei pelo problema C (Bacteria), uma versão simplificada do clássico Life. Uma solução "força bruta" capaz de resolver o small input parecia simples. E realmente era, mas levei uma hora para implementar. O problema é que o large input era simplesmente imenso. Tive uma ideia para tentar reduzir a memória necessária e gastei uns 50 minutos implementando uma das minhas soluções complexas, cheia de alocação manual de memória. Para minha surpresa, o código funcionou praticamente de primeira... mas se mostrou muito mais lento que a força bruta! Eu cheguei a imaginar uma terceira solução, mas não tinha certeza se conseguiria implementar nos 40 minutos restantes. Dando uma olhada na classificação, percebi que mesmo que conseguisse resolver o large input não ia dar para passar para a rodada seguinte e entreguei os pontos. Pela análise da Google, esta minha solução não deveria ser suficiente.
A rodada foi realmente difícil. Ninguém conseguiu a pontuação máxima. Somente 12 competidores enviaram uma solução para o large input do último problema, e somente 2 acertaram. Somente os seis primeiros acertaram todo o resto (somente um deles tentou o large input do problema D, mas estourou o tempo). O sétimo colocado acertou os problemas A, B e D, mas não teve tempo para o problema C. O último classificado conseguiu acertar o problema B inteiro e mais o small input do C em uma hora e meia, fazendo 31 pontos (o mesmo que eu teria obtido se tivesse conseguido resolver o problema C inteiro).
Minha principal conclusão da minha participação este ano é que usando C puro não vai dar para ir em frente. Para o ano que vem preciso estar preparado para usar uma linguagem com mais recursos.
Sobra a pendência de apresentar minhas soluções para os problemas que eu resolvi na rodada 1. Vamos ver se as coisas acalmam no trabalho e consigo preparar isto.
segunda-feira, maio 31, 2010
Windows Update Não Mostra a Descrição das Atualizações
Este problema já vem me incomodando há meses e somente agora achei uma solução. De um momento para o outro, o Windows Update no meu notebook com Windows Vista parou de apresentar as descrições das atualizações disponíveis. Ficava só o aviso "n atualizaçoes importantes disponíveis" e eu tinha que decidir às cegas se as baixava e instalava.
Finalmente localizei um artigo no suporte da Microsoft com uma solução:
http://support.microsoft.com/kb/971058
Além de dar a receita passo-a-passo de como reiniciar todos os componentes do Windows Update, tem um download de instalador que faz tudo automaticamente para você. Este instalador é um "Microsoft Fix-it" algo que não conhecia mas faz muito sentido.
Executando o "Fix-it" (no modo não agressivo) resolveu o problema.
Finalmente localizei um artigo no suporte da Microsoft com uma solução:
http://support.microsoft.com/kb/971058
Além de dar a receita passo-a-passo de como reiniciar todos os componentes do Windows Update, tem um download de instalador que faz tudo automaticamente para você. Este instalador é um "Microsoft Fix-it" algo que não conhecia mas faz muito sentido.
Executando o "Fix-it" (no modo não agressivo) resolveu o problema.
domingo, maio 30, 2010
Livro do Mês: Death Times Three
Já vimos por aqui o detetive Nero Wolfe. O seu criador, Rex Stout, era extremamente prolífico, tendo publicado mais de 40 livros do detetive. "Death Times Three" é uma coletânea de três histórias curtas, publicada após a morte do autor.

É aquilo que chamaríamos de "raspa do tacho". Felizmente,não é um simples "caça-níquel"; a qualidade me lembra o sabor especial do fundo de panela de doce feito pela mãe.

É aquilo que chamaríamos de "raspa do tacho". Felizmente,não é um simples "caça-níquel"; a qualidade me lembra o sabor especial do fundo de panela de doce feito pela mãe.
sábado, maio 29, 2010
Leituras para os "Orfãos de Lost"
Seguem três sugestões de livros para quem está sofrendo de "depressão pós-series-end" e agora tem uma hora livre por semana.
quarta-feira, maio 26, 2010
Histórias do Tempo dos Disquetes - 5 1/4 no IBM PC
Quando a IBM lançou o IBM-PC, em 1981, o disquete de 5 1/4" era o padrão para os micro-computadores.


segunda-feira, maio 24, 2010
Ainda Vivo no Code Jam 2010
Bem, pelo menos estou melhor que no ano passado. A primeira rodada do Google Code Jam 2010 ocorreu neste fim de semana e consegui passar para a próxima fase.
domingo, maio 23, 2010
Audio Book Grátis de Maio: Mysterious Island
O audio book deste mês é Mysterious Island (A Ilha Misteriosa), de Júlio Verne, disponível no AudioOwl e do LibriVox. Por coincidência, este post está sendo publicado no dia em que será exibido (nos EUA) o episódio final de Lost que também trata de uma ilha com mistérios.


sexta-feira, maio 21, 2010
IBM Distribui "Pen-Drives" Infectados - Em Uma Conferência de Segurança
No começo desta semana, em uma conferência da AusCERT, a IBM distribuiu "pen drives" como brinde. Para surpresa dos participantes, e embaraço da IBM, os drives estavam infectados com vírus.
O jeito foi a IBM enviar e-mail a todos os participantes reconhecendo a trapalhada e solicitando a devolução dos brindes.
fonte: blog do Graham Cluley
O jeito foi a IBM enviar e-mail a todos os participantes reconhecendo a trapalhada e solicitando a devolução dos brindes.
fonte: blog do Graham Cluley
quinta-feira, maio 20, 2010
Esta Piada Envelheceu
Eu acompanho algumas tirinhas no www.comics.com, entre as quais Liberty Meadows. Neste caso em particular, estão reprisando tirinhas antigas (e até já deram a volta). A tirinha de hoje mostra como piadas envolvendo tecnologia podem envelhecer rapidamente (se você não entender pergunte para quem usava internet há uns dez anos atrás).

quarta-feira, maio 19, 2010
Histórias dos Tempos dos Disquetes - Disk II
Neste post vou falar um pouco sobre a unidade de disquete do Apple ][, cuja controladora é uma obra prima de Steve Wozniak.


segunda-feira, maio 17, 2010
Histórias do Tempo dos Disquetes - Oito Polegadas
No mês passado a Sony anunciou que vai parar de produzir disquetes, o que parece ser o fim de uma era. Nesta série de posts vou lembrar a história dos disquetes e algumas histórias que aconteceram comigo.


sábado, maio 15, 2010
Links Comentados #8
Nesta leva: Google deixa de vender diretamente o Nexus One, notícias alarmistas sobre o fim dos anti-vírus e recursos adicionais para os fãs de Lost.
Nexus One Não Será Mais Vendido Diretamente pela Google
Quando a Google anunciou o Nexus One (o que eu comentei aqui), o aparelho estava a venda somente na loja virtual dela (à qual ela se referia como um "canal revolucionário"). Menos de seis meses depois, e vendas modestas do Nexus One, a Google decidiu parar de vender diretamente e oferecer o Nexus One somente através dos canais tradicionais. Segundo algumas análises, isto representa uma vitória das operadoras nesta queda de braço.
A Google não deve estar muito triste com isto ou com o volume de vendas do Nexus One, já que pelo menos um levantamento indica que as vendas nos EUA, no primeiro trimestre, dos celulares Android ultrapassaram a dos iPhone.
Os links: no OSNews e no The Register
O Fim dos Ani-Vírus?
Nesta semana ganhou destaque um estudo sobre uma vulnerabilidade no Windows que permitiria aos malwares escaparem por completo dos anti-virus.
Na verdade, esta vulnerabilidade permite (no Windows XP e em condições favoráveis) que um malware que já esteja em execução se esquive de uma das técnicas utilizadas por anti-vírus.
Detalhes no blog da Sophos, aqui e aqui.
Para Quem Quer Mais Lost
A série Lost termina nos EUA no outro fim de semana (dia 23/5). Para os fãs segue uma coleção de links para aproveitar material adicional em inglês (atenção: para quem está seguindo na TV brasileira os links abaixo podem conter spoilers).
Lostpedia: a enciclopédia do Lost. Inclui resumos extremamente detalhados dos episódios.
Postcasts: os postcasts oficiais, onde os produtores da série comentam o episódio anterior, o próximo e "respondem" a perguntas dos fãs (não espere nenhuma grande revelação aqui).
Lost Untangled: resumos dos episódios bem humorados e bem produzidos.
Lost Slapdown: vídeos hilários com os produtores contracenando com alguns dos atores da série e outros personagens (como o cozinheiro dos Muppets).
Mas espere, isto não é tudo! Um fã de verdade precisa comprar o "Connect Four Million".
Nexus One Não Será Mais Vendido Diretamente pela Google
Quando a Google anunciou o Nexus One (o que eu comentei aqui), o aparelho estava a venda somente na loja virtual dela (à qual ela se referia como um "canal revolucionário"). Menos de seis meses depois, e vendas modestas do Nexus One, a Google decidiu parar de vender diretamente e oferecer o Nexus One somente através dos canais tradicionais. Segundo algumas análises, isto representa uma vitória das operadoras nesta queda de braço.
A Google não deve estar muito triste com isto ou com o volume de vendas do Nexus One, já que pelo menos um levantamento indica que as vendas nos EUA, no primeiro trimestre, dos celulares Android ultrapassaram a dos iPhone.
Os links: no OSNews e no The Register
O Fim dos Ani-Vírus?
Nesta semana ganhou destaque um estudo sobre uma vulnerabilidade no Windows que permitiria aos malwares escaparem por completo dos anti-virus.
Na verdade, esta vulnerabilidade permite (no Windows XP e em condições favoráveis) que um malware que já esteja em execução se esquive de uma das técnicas utilizadas por anti-vírus.
Detalhes no blog da Sophos, aqui e aqui.
Para Quem Quer Mais Lost
A série Lost termina nos EUA no outro fim de semana (dia 23/5). Para os fãs segue uma coleção de links para aproveitar material adicional em inglês (atenção: para quem está seguindo na TV brasileira os links abaixo podem conter spoilers).
Lostpedia: a enciclopédia do Lost. Inclui resumos extremamente detalhados dos episódios.
Postcasts: os postcasts oficiais, onde os produtores da série comentam o episódio anterior, o próximo e "respondem" a perguntas dos fãs (não espere nenhuma grande revelação aqui).
Lost Untangled: resumos dos episódios bem humorados e bem produzidos.
Lost Slapdown: vídeos hilários com os produtores contracenando com alguns dos atores da série e outros personagens (como o cozinheiro dos Muppets).
Mas espere, isto não é tudo! Um fã de verdade precisa comprar o "Connect Four Million".
sexta-feira, maio 14, 2010
Google Code Jam 2010: Theme Park
Theme Park (parque de diversões) foi o terceiro problema da Qualification Round do Code Jam 2010. O enunciado completo está no site oficial, mas o resumo é:
- "N" grupos de pessoas, cada um com gi pessoas, passam o dia andando em uma montanha russa.
- Cada viagem da montanha russa suporta um máximo de "k" pessoas.
- A cada viagem os grupos vão entrando até que não caiba um grupo inteiro. Ao final da viagem os grupos voltam para o final da fila, mantendo a ordem.
- Ao longo do dia são feitas "R" viagens; cada pessoa gera uma receita de 1 euro por viagem.
- O problema é determinar a receita total.
quarta-feira, maio 12, 2010
Google Code Jam 2010: Snapper Chain
Snapper Chain ("cadeia de estaladores") foi o primeiro problema da Qualification Round do Code Jam 2010. O enunciado completo está no site oficial, mas o resumo é:
- O "estalador" (snapper) é um interruptor que, quando alimentado, muda de estado entre ligado e desligado quando alguém estala os dedos.
- "N" estaladores são ligados em série. O primeiro é ligado na tomada e o último a uma lâmpada.
- O problema consiste em determinar se a lâmpada estará acesa ou apagada após "K" estalos.
terça-feira, maio 11, 2010
High Tech no CSI NY
Como obter o endereço IP de um blogueiro? Veja a resposta no vídeo abaixo:
Para quem não captou o inglês: "I will create a GUI interface in Visual Basic".
Fonte: http://www.dvorak.org/blog/2010/05/10/high-tech-on-csi/
Para quem não captou o inglês: "I will create a GUI interface in Visual Basic".
Fonte: http://www.dvorak.org/blog/2010/05/10/high-tech-on-csi/
segunda-feira, maio 10, 2010
Google Code Jam 2010: Qualification Round
O Qualification Round do Code Jam 2010 ocorreu de sexta às 20:00 até sábado no mesmo horário. Trata-se de uma competição de programação que já mencionei várias vezes aqui no blog. Foram três problemas, cada um com dois conjuntos de teste: um pequeno (que você pode tentar várias vezes e é corrigido na hora) e um grande (que você só pode tentar uma vez e só é corrigido no final). Para passar nesta rodada bastava acertar pelo menos um conjunto pequeno e um grande.
sexta-feira, maio 07, 2010
Lembrete: Code Jam 2010
A competição de programação Google Code Jam 2010 começa hoje (7 de maio) às 20:00. A rodada de qualificação fica aberta 24h e você pode se inscrever até o final dela.
A cobertura do Google Code Jam no blog está aqui.
A cobertura do Google Code Jam no blog está aqui.
iPad Detonando Vendas de NetBooks - Ou Talvez Não ...
Um artigo na Fortune diz que o iPad está detonando as vendas de netbooks. Entretanto, não me parece que seja exatamente isto o que os gráficos dizem.
domingo, maio 02, 2010
Livro de Abril: Zé Cabala e Outros Filósofos do Futebol
Fugindo da temática habitual das minhas leituras, o livro do mês passado foi "Zé Cabala e Outros Filósofos do Futebol" de José Roberto Torero.
Este curto volume (menos de 150 páginas) reune algumas dezenas de crônicas curtas escritas pelo Torero para o jornal Folha de São Paulo. As crônicas estão separadas em grupos, cada um com uma curta introdução do autor:
Em suma, uma fonte de cultura e inteligência em um campo abarrotado de lugarem comuns.
Recomendado.

- Zé Cabala, o místico que permite entrevistar craques pouco conhecidos do passado.
- Entre as canetas, algumas crônicas que misturam futebol com literatura
- Lelê, o sobrinho imaginário de oito anos, que viria a ganhar vida própria fora da coluna do Torero
- Machadianas, contos de Machado de Assis adaptados ao futebol
- M.En.T.I., uma coleção de descrições de times imaginários
- Eus, crônicas escritas na primeira pessoa, mostrando o futebol na visão de seus personagens secundários
- Tico e Teco, os inventores dos esdrúxulos regulamentos dos campeonatos
- Bolósofos, os técnicos imaginários que aplicam a filosofia ao pé da bola
Em suma, uma fonte de cultura e inteligência em um campo abarrotado de lugarem comuns.
Recomendado.
terça-feira, abril 27, 2010
Acontecem Coisas que Nem os Mais Loucos Poderiam Imaginar
Ou, como dizem os americanos, "you can't make this stuff up".
Um engenheiro da Apple esquece um protótipo da nova geração do iPhone em um bar. Quem achou não consegue falar com que perdeu e entrega o aparelho para o editor de um blog, em troca de US$5000. O blogueiro desmonta o aparelho e publica as fotos. Após receber uma carta do departamento jurídico da Apple, ele devolve o protótipo. A polícia anuncia que está investigando o assunto. Pouco depois derruba a porta da casa do editor do blog e leva computadores. A promotoria anuncia que os computadores ainda não foram periciados pois estão analisando argumentos legais levantados pelo editor.
É impossível prever qual será o próximo passo desta novela. Existem muitos interesses envolvidos, tanto filosóficos como monetários. Todos os lados contam com apoiadores apaixonados. A situação legal não é óbvia.
Só nos resta colocar a pipoca no micro-ondas e assistir ao show.
Alguns links (favoráveis em maior ou menor intensidade ao editor do blog, mas isto é de se esperar dos seus pares):
http://www.dvorak.org/blog/2010/04/26/cops-raid-gizmodo-editors-home-raise-questions-of-legal-search-upon-journalist/
http://www.salon.com/technology/how_the_world_works/2010/04/26/gizmodo_iphone_computers_seized/index.html
http://www.osnews.com/story/23211/Cops_Seize_Four_Computers_Two_Servers_from_Gizmodo_Editor
Um engenheiro da Apple esquece um protótipo da nova geração do iPhone em um bar. Quem achou não consegue falar com que perdeu e entrega o aparelho para o editor de um blog, em troca de US$5000. O blogueiro desmonta o aparelho e publica as fotos. Após receber uma carta do departamento jurídico da Apple, ele devolve o protótipo. A polícia anuncia que está investigando o assunto. Pouco depois derruba a porta da casa do editor do blog e leva computadores. A promotoria anuncia que os computadores ainda não foram periciados pois estão analisando argumentos legais levantados pelo editor.
É impossível prever qual será o próximo passo desta novela. Existem muitos interesses envolvidos, tanto filosóficos como monetários. Todos os lados contam com apoiadores apaixonados. A situação legal não é óbvia.
Só nos resta colocar a pipoca no micro-ondas e assistir ao show.
Alguns links (favoráveis em maior ou menor intensidade ao editor do blog, mas isto é de se esperar dos seus pares):
http://www.dvorak.org/blog/2010/04/26/cops-raid-gizmodo-editors-home-raise-questions-of-legal-search-upon-journalist/
http://www.salon.com/technology/how_the_world_works/2010/04/26/gizmodo_iphone_computers_seized/index.html
http://www.osnews.com/story/23211/Cops_Seize_Four_Computers_Two_Servers_from_Gizmodo_Editor
sexta-feira, abril 23, 2010
Links Comentados #7
Nesta edição: uma lance inexplicável da Oracle, Firefox "bloqueia Java", a Microsoft faz recall de um patch e a HP lança uma impressora 3D.
terça-feira, abril 20, 2010
Imprimindo do iPad
Parece que o College Humor estava certo: as piadas sobre o iPad praticamente se escrevem sozinhas. Alguns usuários estão reclamando das dificuldades para imprimir a partir do iPad. E alguém já achou a solução:
CI 555 - Parte 5: Gerando um Sinal PWM com um Único 555
Nos dois posts anteriores (aqui e aqui) utilizamos dois 555 para gerar um sinal PWM para controlar um servomotor. Pesquisando um pouco mais, achei aqui um circuito com apenas um 555 onde pode ser variado o tempo de sinal alto sem afetar o período. É um bom exemplo da versatilidade do 555 nas mãos de um projetista criativo.


quarta-feira, abril 14, 2010
O Problema do Troco
O problema do troco é, como a Soma de Sub-Conjuntos, um parente do problema da mochila (Knapsack). O problema em se resume em como obter um determinado valor com o menor número possível de moedas (ou notas), respeitando os valores das moedas (ou notas) disponíveis.
Uma apresentação formal pode ser encontrada na Wikipedia, mas sem uma descrição detalhada da solução.

segunda-feira, abril 12, 2010
A Divisibilidade de Números Imensos por Números Pequenos
A questão da divisibilidade é algo que conhecemos desde que aprendemos a dividir. Nos processadores modernos costuma ser rápido e simples testar a divisibilidade de um número por outro, desde que os números não ultrapassem a capacidade da unidade lógica aritmética. O que fazer, entretanto, quando queremos testar a divisibilidade por onze de um número de 1000 dígitos?
domingo, abril 11, 2010
Audio Book Grátis de Abril: The Son of Tarzan
Completando (por enquanto) o meu reencontro com as histórias de Tarzan através dos audio books grátis do AudioOwl e do LibriVox, segue uma curta resenha do The Son of Tarzan (O Filho de Tarzan).


sexta-feira, abril 09, 2010
Para Alegrar a Manhã Chuvosa: Carole King - Chains
Nesta semana chuvosa eu trouxe alguns CDs de casa para "digitalizar". Entre eles, "In Concert" de Carole King. Para quem não a conhece, ela acumula sucessos desde 1960. Entre eles, Chains que teve até uma versão dos Beatles. O aTunes sugeriu um simpático vídeo do YouTube:
http://www.youtube.com/watch?v=EvDH7Z5IISw
E para quem achar que os dois rapazes que cantam harmonia são apenas "backing vocals", segue um vídeo de outro sucesso, "I Feel The Earth Move":
http://www.youtube.com/watch?v=hoHuxpa4h48
Ah, e é claro que ela também toca piano (esta música vocês já devem ter ouvido):
http://www.youtube.com/watch?v=GPeVbEg1DHE
http://www.youtube.com/watch?v=EvDH7Z5IISw
E para quem achar que os dois rapazes que cantam harmonia são apenas "backing vocals", segue um vídeo de outro sucesso, "I Feel The Earth Move":
http://www.youtube.com/watch?v=hoHuxpa4h48
Ah, e é claro que ela também toca piano (esta música vocês já devem ter ouvido):
http://www.youtube.com/watch?v=GPeVbEg1DHE
quinta-feira, abril 08, 2010
Inscrições abertas para o Google Code Jam 2010
Se você sabe programar, quer testar sua habilidade e (quem sabe) ganhar prêmios, inscreva-se no Google CodeJam 2010: http://code.google.com/codejam.
Alguns detalhes sobre a competição você encontra aqui no meu blog.
Alguns detalhes sobre a competição você encontra aqui no meu blog.
segunda-feira, abril 05, 2010
Ed Roberts: 1941-2010
Na quinta feira passada (01/04/2010) morreu Ed Roberts, um dos pioneiros dos computadores pessoais. Ed Roberts foi o fundador e dono da MITS, a empresa que fabricou o Altair 8800. O Altair 8800 era o kit de computador que apareceu na capa da edição de Janeiro de 1975 da revista Popular Electronics. Foi esta revista que Paul Allen foi correndo mostrar para seu amigo e sócio Bill Gates. Os dois ligaram para Ed Roberts para oferecer um BASIC para o Altair 8800, surgindo assim a Micro-Soft.

As notícias publicadas trazem grandes elogios de Bill Gates e Paul Allen a Ed Roberts; aparentemente eles já deixaram para trás algumas dificuldades surgidas nos tempos de pioneirismo.

As notícias publicadas trazem grandes elogios de Bill Gates e Paul Allen a Ed Roberts; aparentemente eles já deixaram para trás algumas dificuldades surgidas nos tempos de pioneirismo.
sábado, abril 03, 2010
Dia de Limpeza
Sexta foi dia de limpeza aqui em casa. Infelizmente o espaço é limitado e resolvi jogar fora as caixas se alguns jogos e aplicativos antigos. Fica de lembrança as fotos abaixo (clique para ampliar, pare o mouse em cima para ver alguns comentários.
Maiores detalhes (exceto para o Astronomer) podem ser encontrados na Wikipedia.
![]() | ![]() | ![]() |
![]() | ![]() | ![]() |
![]() | ![]() | ![]() |
Maiores detalhes (exceto para o Astronomer) podem ser encontrados na Wikipedia.
sexta-feira, abril 02, 2010
Primeiro de Abril - 2010 Edition
Segue o meu registro anual de brincadeiras de 1o de Abril na internet.
Google People View
O The Register noticiou o "People View", uma iniciativa de da Google de digitalizar as pessoas. Mas não se preocupem, como diz o artigo várias vezes: "Google cares about privacy".
Ajude o Google a Economizar Banda
A própria Google não deixou de colocar uma piada no YouTube: a opção de ver vídeos em texto para economizar banda.
2001 Action Figure
Hoje em dia todo filme que se preze é acompanhado do lançamento de "bonequinhos", chamados pelos americanos de action figures. O ThinkGeek lançou o action figure do monolito do 2001:
O site tem outros produtos comemorativos da data.
Uma Nova Proteção Contra Virus
Enquanto Isto, no Daily WTF...
Uma nova geração de banco de dados é criada.
Google People View
O The Register noticiou o "People View", uma iniciativa de da Google de digitalizar as pessoas. Mas não se preocupem, como diz o artigo várias vezes: "Google cares about privacy".
Ajude o Google a Economizar Banda
A própria Google não deixou de colocar uma piada no YouTube: a opção de ver vídeos em texto para economizar banda.

Hoje em dia todo filme que se preze é acompanhado do lançamento de "bonequinhos", chamados pelos americanos de action figures. O ThinkGeek lançou o action figure do monolito do 2001:

Uma Nova Proteção Contra Virus
![]() | Esta é para quem pensa que as empresas de software anti-virus são todas extremamente sérias: a Sophos anunciou uma nova tecnologia anti-virus: a proteção através da distração. Encha a sua rede com histórias românticas e os hackers perderão tempo as lendo ao invés de roubar informações sigilosas. |
Enquanto Isto, no Daily WTF...
Uma nova geração de banco de dados é criada.
Assinar:
Postagens (Atom)