Existem algumas atitudes que eu simplesmente não entendo.

Em geral acontece assim: um determinado cliente quer vender o produto de um banco e para isso é necessário troca de arquivos com o sistema do banco. Como o cliente usa nosso sistema, entramos em contato com o banco para obter a documentação de integração. Aí começa o parto.
Por diversas vezes só conseguimos essa documentação após passar a ficha completa do nosso cliente que está querendo fazer a integração. O banco que deveria ser uma das partes mais interessadas, se posiciona como se estivesse fazendo um grande favor em nos fornecer as informações de como vender seus produtos! É o fim do mundo.
No meu caso sempre vi isso acontecer com bancos, e o pior, já aconteceu até quando eu queria documentação de padrões abertos como CNAB. Será que existe um mandamento básico que todo banco deve seguir?
Maltratarás todas as empresas de software que queiram ajudar a vender nossos produtos.
Não é problema fornecer os dados do cliente, mas o que eu não entendo é porque eles querem nos obrigar a isso. Essa documentação deveria estar publicada no site de todos os bancos para qualquer um baixar.
Que mal eu posso fazer em ter a documentação e/ou tirar dúvidas sobre ela sem fornecer informações do meu cliente? Na pior das hipóteses vou ter um produto integrado com eles mas sem clientes para usar e o prejudicado serei eu mesmo. Duvido que estão preocupados comigo. Vai entender.
Fui convidado para palestrar sobre controle de versão com Subversion e TortoiseSVN no Firebird Developers Day. Apesar de ser uma palestra de nível introdutório, é um assunto interessante pois a quantidade de desenvolvedores que ainda não usa nenhum controle de versão é assustadora.
Alguns tópicos que pretendo abordar:
- Como usar o Subversion através do TortoiseSVN.
- Como organizar o repositório.
- Um repositório para tudo ou repositórios separados?
- Como compartilhar código entre projetos.
- Como manter código de terceiros no repositório.
- Branching e Merging, quando e como usar.
- Instalando um servidor SVN na sua rede local em poucos cliques.
- Diferenças entre controle de versão centralizado como Subversion e distribuido como Mercurial e Git.
Gostaria de ver algo diferente abordado? Me avise.
Se você ainda não usa controle de versão, ou está tentando convencer aquele desenvolvedor que trabalha com você a usar, agora tem mais um bom motivo para não perder o FDD.
Se você já conhece Subversion e TortoiseSVN talvez a palestra não traga muitas novidades, mas fique a vontade para aparecer se quiser trocar idéias sobre como está usando, dificuldades, etc.
Você acha que o projeto que está correndo no governo sobre a regulamentação da profissão de Analista de Sistemas e correlatas é uma boa?
Eu, mesmo sendo formado na área, acho algo totalmente desnecessário e concordo com tudo que o Roberto Teixeira escreveu em seu blog.
Principalmente na nossa área, acho que o diploma significa muito pouco. Quando estou procurando um profissional é o fator que menos pesa na minha decisão, pois eu sei que as principais características e habilidades para um bom profissional de desenvolvimento não são ensinadas em nenhuma faculdade.
Este mês pretendo participar de dois eventos apenas por curiosidade, pois não utilizo nenhuma das tecnologias no dia-a-dia.
O primeiro é o Encontro noSQL, que eu não tenho idéia do que seja e espero que o evento possa me apresentar a tecnologia. Mas o que eu mais gostei mesmo foi da criatividade na criação do site, acho que foi isso que me convenceu.
O segundo é Ruby + Rails no Mundo Real, que não tem um site tão legal, mas o assunto já me interessa bem mais e eu ainda ganhei a inscrição participando da promoção no blog do Diego Garcia.
Se alguém mais for participar de algum destes, nos encontramos lá para bater papo.
Ok, isso é o que eu chamo de cruzeiro para nerd. SQLCruise é um evento sobre SQL Server realizado dentro de um navio durante um cruzeiro de Miami ao Caribe.
A idéia parece interessante, pois as palestras são mais avançadas, com 2-3 horas de duração e bastante tempo livre para perguntas e respostas, diferente dos eventos onde a desculpa do palestrante é sempre a mesma: “nosso tempo é curto, então não vamos poder entrar em detalhes sobre esse assunto”.
O preço? US$295 pelas palestras e a partir de US$399 pelo cruzeiro de 4 dias. Não é muito diferente do que se gasta em um evento normal em um lugar muito menos interessante.
E ai, quando será que teremos um desses por aqui? Eu gostei da idéia.
Na última sexta-feira, Bill Gates anunciou que vai doar US$ 10 bilhões para pesquisa, desenvolvimento e distribuição de vacinas para os países mais pobres nos próximos 10 anos.
Já pararam para pensar nesse montante? Cerca de R$ 18 bilhões. Em 10 anos, seria algo em torno de R$ 150 milhões por mês ou R$ 5 milhões por dia.
Esse dinheiro vem da Fudanção Bill e Melinda Gates, que conta não só com a fortuna de Bill Gates, mas também de outras doações, como do bilionário Warren Buffett.
Muita gente pode não gostar de Bill Gates, mas não tem como não admirar o que ele vem fazendo com sua fundação. Eu admiro demais.
Chad “Kudzu” Hower, um dos desenvolvedores por traz do Indy e do IntraWeb foi preso na Bulgaria e está pedindo ajuda.
Ele publicou detalhes do caso e como ajudar em seu site.
Acabei de habilitar o Google Friend Connect aqui no meu blog. Se você está lendo isso através de um leitor RSS ou outro meio, precisará acessar o site para ver a barra no topo o quadro na lateral do site.
A proposta do Google Friend Connect é aproximar as pessoas que visitam o blog, além de permitir usar suas contas de outros grandes sites como Google, Yahoo, AIM ou OpenID para interagir com o blog, postar comentários, recomendar a amigos, etc.
Ainda não pesquisei muito a respeito para ativar todos esses recursos. Por enquanto você pode se “inscrever” no site ai em cima. No próximo passo pretendo vincular a parte de comentários, mas isso vai depender da boa receptividade do recurso. Então se você acha uma boa idéia, inscreva-se aí.
No Windows Vista, quando o usuário tem o UAC ativado e vai instalar um aplicativo, uma confirmação é solicitada. Se seu aplicativo não possuir uma assinatura digital, uma tela bem ameaçadora de aviso é mostrada ao usuário dizendo que um programa não identificado precisa da sua autorização para ser executado. Avisos parecidos também aparecem em diversos outros momentos, como quando se tenta executar um programa por uma caminho de rede.
Uma forma de amenizar esses alertas ao usuário é assinar digitalmente seus aplicativos. A assinatura digital teoricamente garante ao usuário que o arquivo veio realmente da empresa desenvolvedora, e mostra telas bem mais amigáveis, mostrando o nome da sua empresa como origem do aplicativo.
Isso mostra que toda empresa de software deveria assinar seus aplicativos. E foi isso que nós implementamos aqui nos últimos dias e vou dar algumas dicas de como fazer.
- Você precisa comprar um certificado digital de uma entidade certificadora de confiança da Microsoft. Eu comprei da Comodo através da K Software. Segui os procedimentos descritos na própria página e foi tranquilo. Utilizei o Internet Explorer durante todo o processo, pois no Chrome não foi legal.
- Após compra você vai receber um e-mail solicitando os documentos da empresa para comprovar que ela existe e que você é o responsável. Eu mandei o cartão CNPJ da empresa impresso em PDF pelo site da Receita Federal.
- Eles também pedem um telefone pois dizem que vão te ligar, mas não me ligaram.
- Depois de um ou dois dias recebi o e-mail dizendo que o certificado estava pronto, com o link para baixar. Utilizei o Internet Explorer 8 e seguindo as instruções, o certificado foi instalado na minha máquina.
- Como eu iria fazer a assinatura durante nosso processo de build, precisava copiar o certificado para nossa máquina de build. Então exportei o certificado, entrando em Opções de Internet, Conteúdo, Certificados. Dessa forma foi gerado um arquivo .pfx, que é exatamente o que o FinalBuilder precisa na sua action Authenticode para aplicar assinaturas.
- Também é necessária uma URL da entidade certificadora para aplicar timestamp nos arquivos. Isso geralmente está nas páginas de FAQ da entidade. Como aqui no caso da Comodo.
- Copiei o arquivo .pfx para minha máquina de build, apontei o FinalBuilder para ele, configurei a URL de timestamp e pronto, meus arquivos (*.exe) estão todos assinados!
- Que eu saiba não existe limite e você pode assinar quantos arquivos quiser durante a validade do seu certificado.
- Nós assinamos todos executáveis (*.exe), incluindo instaladores.
- Também é possível assinar outros tipos de arquivos, mas como eu não fiz, não tenho dicas a respeito.
- Para quem não usa FinalBuilder, precisa pesquisar como fazer sem ele, pois eu não fui atrás disso. Na página da K Software existe propaganda de uma ferramenta para assinar, mas tenho certeza que ou existem aplicativos no próprio Windows para isso, ou gratuítos em algum lugar para baixar.
Espero que isso ajude um pouco.
Nas últimas semanas adquiri alguns novos brinquedos e pretendo em breve falar um pouco deles aqui:
Se quiserem saber algo específico sobre estes equipamentos, fiquem a vontade para postar nos comentários e eu responderei nos futuros posts.
Seguindo esta dica consegui fazer o Chrome funcionar perfeitamente no Windows 7.
Bastou adicionar o parâmetro “-in-process-plugins” no atalho do executável conforme screenshot abaixo:

Nem percebi que no mês passado meu blog fez 5 anos. Um número redondo desse merece uma lembrança.
Já foram 691 posts desde o “Bem-vindo ao meu blog!“, publicado em 13 de novembro de 2003.
Quando migrei meus projetos para o Subversion, tive aquela dúvida natural se deveria usar apenas um repositório para todos os projetos ou um repositório para cada projeto. Essa dúvida normalmente aparece devido ao número de revisão do repositório ser global e ser incrementado a cada commit.
Acabei optando por usar apenas um repositório para tudo, o que se mostrou uma ótima decisão pois algum tempo atrás passamos a usar o número da revisão do repositório como o número do build dos nossos projetos. Então quando vejo por exemplo uma versão 8.0.1.10423 sei que ela foi compilada com a revisão 10423 do nosso repositório.
Isso é muito útil pois com esse número de revisão eu consigo ver exatamente a versão de cada um dos arquivos que foram utilizados nesse build, incluindo todas as bibliotecas compartilhadas, components, etc.
Fica aí a dica para quem está com a dúvida de um ou mais repositórios.
A AutomatedQA acaba de anunciar um novo produto, o AQtrace. Ele tem a função de coletar relatórios de erro dos seus aplicativos rodando nos clientes.
Fiquei sabendo do lançamento através deste post do blog da própria AutomatedQA. Inclusive reparei que os usuários do TestComplete e do AQTime, outros produtos da mesma empresa, poderiam obter o AQtrace gratuitamente. Como tenho a licença do TestComplete, resolvi baixar o novo produto para testar.
Fiz login na minha área de cliente e não encontrei nada além do TestComplete. Enviei mensagem para eles questionando onde encontrar o AQtrace para download. A resposta que eu recebi de alguém do departamento de vendas foi cômica:
Olá Erick, nós não temos um produto chamado AQtrace. Será que você não está confundindo com o AQtime? O único produto que você tem é o TestComplete, se quiser comprar o AQtime, acesse a URL…
Respondi de forma bem humorada apresentando pra ele o novo produto da própria empresa.
Alias, já devo ter comentado aqui que usamos o madExcept para esse fim há muitos anos. Considero um recurso indispensável.
Sempre achei esse Twitter inútil. Mas depois que um amigo respeitável me enviou um convite para entrar, achei que merecia uma atenção.
O legal do serviço é que é muito simples para escrever. Você pode passar dicas rápidas, links interessantes, comentários variados, ou simplesmente contar algo que esta fazendo, tudo com muita facilidade. E quando eu digo muita facilidade, é muita facilidade mesmo! Você pode postar via celular, via IM (MSN, Gtalk), pelo próprio site, ou por qualquer um dos aplicativos de terceiros que suportam a API.
Coloquei na barra ao lado do meu blog meus posts do Twitter. Ou se preferir, pode me “seguir” direto na minha página do Twitter.
É inútil? Talvez. Vou levar isso pra frente? Não sei. Mas um pouco de inutilidade não faz mal. Ah! Eu também tenho uma conta no Facebook. Totalmente inútil, mas divertido.
Basta baixar o Firefox 3 durante o download day, data que ainda não foi revelada.

Hoje conectei meu PlayStation 3 no Folding@home, um projeto de computação distribuída da Universidade de Stanford para pesquisas médicas que podem levar a curas de doenças.
Se você tem um PS3, certamente deixa ele parado por um bom tempo. Custa pouco ajudar com o projeto. Apenas a energia que seu PS3 gasta durante o processamento. Segundo o FAQ, meu PS3, que é dos modelos mais novos, gasta 115 Watts enquanto faz o processamento. Eu fiz um cálculo de acordo com a fórmula que achei aqui, e cheguei ao consumo de aproximadamente 80 kWh se você deixar seu PS3 ligado 24×7 o mês inteiro, ou seja, 720 horas. Multiplicado pelo custo na minha conta de energia, isso daria algo em torno de R$35.
Para instalar, basta acessar o item Folding@home no menu Network do PS3.

Para ver as estatísticas do meu PS3 no projeto, esse é o link.

No dia 27 de junho será realizado em São Paulo (no WTC, mesmo complexo onde fica a Microsoft Brasil) o Google Developer Day 2008 Brazil.
Eu estarei por lá.
Amanhã embarco para mais uma participação no NAB Show, o maior evento de mídia digital do mundo, que acontece em Las Vegas.
A Cadena participa desse evento devido a nossa atuação na área de software para rádio e TV. Apesar de ser um evento nos EUA, é um evento importante para o Brasil. Para esse ano, são cerca de 1.400 brasileiros inscritos.
E visitar Las Vegas é sempre um grande prazer.
Acaba de ser lançados o FinalBuilder 6. Veja aqui o que há de novo.
Já instalei a minha cópia aqui e pretendo explorar o quanto antes.