Category Archives: Reviews

Netflix: Usei e gostei, mas precisa melhorar

A Netflix finalmente chegou ao Brasil com seu serviço de vídeo via streaming. Como eu já estava interessado no serviço há muito tempo, assim que recebi o e-mail informando que estava disponível, já me inscrevi para o teste de um mês gratuito.

Inicialmente testei no notebook e me decepcionei, pois a qualidade de video era bem baixa. Desanimei.

Um dia depois resolvi testar no PS3, onde é possível baixar o aplicativo da Netflix e logar com a mesma conta do site. A experiência foi bem melhor. No PS3, após alguns segundos de vídeo ruim, a imagem vai melhorando até chegar em HD, e com a minha conexão de 10 mega da Net, ficou totalmente estável em HD. Assisti um filme inteiro de 2 horas e só percebi a qualidade da imagem reduzir uma única vez por poucos segundos. Achei excelente.

Fiz mais testes com o PC e percebi que se tiver um pouco mais de paciência, a imagem também pode ficar muito boa, porém a estabilidade é bem menor da que consegui no PS3. Talvez seja porque o notebook é conectado via wifi. Já o PS3 está conectado via cabo.

Ainda disso, existem outros problemas menores, como por exemplo vários filmes tem apenas versão dublada em português, ou em alguns casos, apenas espanhol. Também percebi problemas em visualizar alguns caracteres acentuados em legendas no notebook. No PS3 não percebi esse problema.

O acervo decepcionou. Não existem lançamentos. O conteúdo mais novo que encontrei foi de 2008, e mesmo assim é bem raro. A maioria é bem mais velha que isso. E apesar de ter muita coisa boa, falta muita coisa também.

Um detalhe engraçado são algumas traduções dos gêneros de filmes como “filmes sobre carniceiros e assassinos em série”, ou coisas do tipo “filmes para crianças com animais que falam”, ou ainda “filmes tórridos”.

Mas no final das contas a experiência que tive no PS3 valeu muito a pena. Consigo controlar o aplicativo todo usando meu controle remoto e ficou muito simples para navegar pelo acervo e começar assistir qualquer coisa instantaneamente.

Em breve vai estar disponível também no Xbox 360, iPhone, iPad e outros. E por enquanto, eles conseguiram garantir os meus R$14,99 por mês.

 

 

 

 

 

Review Controle Universal Logitech Harmony One

Hoje em dia todo mundo tem muitos controles na sala de TV, e é um inferno ficar encontrando o controle certo para cada operação. O controler do decoder da TV a cabo muda o canal, o do home theater controla o volume, o da TV controla a entrada correta dependendo do aparelho que deseja usar e por aí vai. No meu caso a TV e o HT são da mesma marca e os controles praticamente idênticos mas com funções diferentes, tornando a confusão ainda maior.

Eu nunca acreditei em controles remotos universais. Mas depois que eu vi este post do Scott Hanselman, decidi que precisava de um Logitech Harmony One.

Ele não é simplesmente um controle que consegue se comunicar com todos os equipamentos. Ele é um controle programável de acordo com as suas atividades. Por exemplo, quando eu quero assistir TV a cabo, eu seleciono essa atividade no controle e ele liga todos os equipamentos envolvidos, ou seja, TV, Home Theater e decoder da NET. Além disso, ele já configura a TV na entrada HDMI correta onde o decoder está plugado e também seleciona a entrada de áudio correta no HT. Ele deixa tudo ligado e configurado com um único toque.

Outro exemplo. Minha TV tem 3 entradas HDMI, mas eu tenho 5 equipamentos, então comprei um HDMI switcher para conseguir conectar todos os dispositivos na TV. Minha Apple TV e meu PS3 estão ligados nesse switcher. Quando eu digo para o controle que eu quero usar um desses equipamentos, ele já configura a TV para a entrada do switcher e também comanda o switcher para mostrar o dispositivo correto. Não importa a quantidade de equipamentos envolvidos, tudo é ligado e configurado com um único toque.

Mais um detalhe muito importante: ele manda os comandos automaticamente para os dispositivos corretos. Se eu estou assistindo TV a cabo e aciono as teclas de mudança de canal, ele envia os comandos corretamente para o decoder da NET. Se eu aciono as teclas de volume, ele envia os comandos para o Home Theater. Tudo muito prático.

Se estou assistindo TV e decido jogar Xbox 360, aciono o controle e ele sabe que não vai precisar do decoder da NET para essa atividade, então ele desliga automaticamente todos os dispositivos que estavam em uso na tarefa anterior e que não serão necessários na próxima. Em um toque.

Lógico que ele não faz nada disso por mágica. O processo inicial de configuração é demorado, pois você precisa cadastrar todos os seus equipamentos e atividades. Especificar as entradas, quais equipamentos são usados em cada atividade, etc. Mas depois disso é só alegria.

O banco de dados deles é impressionante. Todos meus equipamentos estavam lá. E mesmo que você tenha um dispositivo qualquer que não se encontra cadastrado, o controle tem a capacidade de aprender qualquer comando infravermelho. Você coloca seu controle atual em frente ao Harmony One e ele “lê” e salva o comando.

Toda a configuração é feita no PC (ou Mac no meu caso), através de um aplicativo bem ruinzinho, mas que felizmente você vai usar muito pouco. Quando tudo configurado, pluga o controle via USB e atualiza.

E os recursos não param por aí. O controle tem bateria recarregável e vem com um elegante dock para ficar carregando quando não esta em uso. Além disso tem sensor de movimento. Pegou ele na mão já acende as teclas e a tela, que é sensível ao toque.

Enfim, é um equipamento que superou muito minhas expectativas e está certamente entre os mais úteis que tenho na minha casa hoje. Não é barato. Acho que paguei US$180 lá nos EUA, mas valeu cada centavo e recomendo pra todo mundo. Substituiu todos os meus outros controles com muito sucesso.

PS: Este foi meu primeiro post utilizando Blogsy no iPad. Qualquer coisa estranha, me avisem. :)

Livro Clean Code

Clean Code: A Handbook of Agile Software Craftsmanship, por Robert C. Martin (@unclebobmartin), também conhecido como “Uncle Bob”.

Como o próprio nome já diz, é um livro sobre escrever código limpo, código de fácil leitura e manutenção. E apesar de abordar muitos pontos iguais a outros livros desse tipo, como Code Complete (Steve McConnell), Refactoring (Martin Fowler), The Pragmatic Programmer (Andrew Hunt, David Thomas), é um assunto sempre interessante, pois escrever código limpo é difícil e de certa forma até subjetivo, o que torna ainda mais importante conhecer diversos pontos de vista, técnicas, etc.

Todo o código de exemplo do livro é em Java, mas isso não deve ser problema para a maioria dos programadores, pois conhecer um pouco da sintaxe Java é praticamente obrigatório devido a tanto conteúdo que existe nessa linguagem. Em alguns raros momentos, o livro fica um pouco específico demais em Java, mas não chega a ser um problema.

Um dos princípios interessantes que o tio Bob prega no livro é a regra de escoteiro: “você deve sempre deixar o lugar mais limpo do que encontrou”, ou seja, sempre “comitar” o código um pouco melhor do que estava. Dessa forma você evita que ele se deteriore com o tempo. Mesmo que sejam pequenas melhorias, uma variável renomeada, um método extraído. Por menor que sejam, sempre valem a pena.

O livro aborda tópicos importantes para o dia-a-dia de qualquer programador. Nomeação de variáveis, métodos, funções, classes. Boas práticas para utilização de comentários, que quase nunca devem ser usados. Código para tratamento de erros, testes, etc.

Por mais que muitas coisas você já saiba, já tenha lido em outros lugares ou até pratique muitas delas no dia-a-dia, sempre temos algo para melhorar. Muitas coisas você começa a praticar quando vê os conceitos mas vai relaxando com o tempo. Por isso acho sempre bom ler esse tipo de livro para manter as idéias frescas na cabeça. Recomendo.

Livro Refactoring Databases

Capa Livro Refactoring DatabasesAlguns dias atrás eu terminei de ler Refactoring Databases – Evolutionary Database Design (Amazon). Um dos autores do livro é o Scott Ambler, muito conhecido por aqueles que se interessam mais por OO. O livro também é parte da série Signature do Martin Fowler.

Esse livro me foi indicado quando eu procurava definir um design para sistemas dinâmicos, ou seja, um sistema que fosse construído conectando módulos reutilizáveis de outros sistemas. Infelizmente o livro não me ajudou nada nisso. :)

A concepção do livro é praticamente idêntica ao famoso livro de Refactoring do Martin Fowler, porém é direcionado a refatorar a estrutura de bancos de dados.

Existem dezenas de refactorings catalogados e separados em diferentes tipos como structural refactorings, data quality refactorings, referencial integrity refactorings, etc.

Para cada refactoring ele descreve a motivação, os problemas que você pode enfrentar durantes o processo, quais as tarefas para modificação da estrutura e migração dos dados.

Para servir de exemplo, vamos pegar o primeiro structural refactoring: Drop Column.

  • Motivação: A principal motivação para este refactoring é quando uma coluna não é mais usada.
  • Problemas: A coluna sendo removida pode conter dados importantes e você pode precisar preservar os dados.
  • Modificação da estrutura (schema): Remover coluna, constraints e foreign keys (se existirem).
  • Migração dos dados: Caso seja necessário manter os dados (para referência futura ou compatibilidade com outros aplicativos), a sugestão é criar uma tabela auxiliar com a chave primária da tabela e a coluna removida.

Grande parte do livro trata de manter compatibilidade e disponibilidade do banco. Por exemplo, se você tem vários aplicativos acessando o banco, sendo que estes aplicativos não são seus e você não pode alterá-los, a cada modificação na estrutura você deve manter um período de transição e compatibilidade, e o livro detalha várias técnicas para fazer isso.

Como meus bancos são sempre acessados apenas por meus aplicativos, todo esse conteúdo, apesar de interessante, não me foi de grande utilidade. E fora essa parte, o resto é tudo meio óbvio. Por isso não encontrei muita coisa que me ajudasse no livro.

Recomendo o livro especialmente para quem mantem grandes bancos de dados, acessado por muitos aplicativos. Se você mantem um banco de dados acessado apenas pelo seu aplicativo, acredito que não vai encontrar muita coisa útil no livro.

SourceGear DiffMerge

Há algum tempo me aborreci com a ferramenta de diff (comparação de arquivos) embutida no TortoiseSVN por ela não suportar alteração do arquivo na própria tela de diff e decidi que precisava de uma ferramenta melhor.

Depois de pesquisar e testar algumas ferramentas (inclusive algumas comerciais), escolhi o DiffMerge da SourceGear. É uma ferramenta gratuita e que atende perfeitamente minha necessidade. No próprio help você encontra as instruções de como configurar ela no TortoiseSVN e funciona que é uma beleza.

Um dos diferenciais do DiffMerge é que ele suporta merge de 3 arquivos, ou seja, quando mais de um desenvolvedor altera um arquivo. Dessa forma ele tem que considerar o arquivo base e as duas versões alteradas e te ajudar a resolver os conflitos. Poucas ferramentas (inclusive comerciais) suportam isso.

Além disso ele também faz comparação de diretórios e se integra ao menu de contexto do Windows Explorer.

Outro detalhe que pode ser útil para alguns,  é o suporte multi-plataforma. Windows, Mac OS X e Unix.

Review Delphi 2007 Handbook

Delphi 2007 HandbookAcabei de ler o Delphi 2007 Handbook do Marco Cantu e minha conclusão é: vale a pena o investimento para quem está usando o Delphi 2007.

O livro é voltado para desenvolvedores já com experiência na ferramenta e aborda apenas as melhorias do Delphi 7 ao Delphi 2007, então não perde tempo explicando conceitos básicos que todos os desenvolvedores já sabem. Isso é um ponto bem positivo na minha opinião, pois é duro ficar relendo coisas que você já faz há mais de 10 anos. Outro detalhe que vale ser destacado é que ele é focado para o Delphi 2007 para Win32, e não RAD Studio, então ele não fala nada de .NET.

O conteúdo é bem abrangente, tratando desde as melhorias na IDE, como Live Templates e Refactorings, passando pelas mudanças na RTL, novos componentes e mudanças na VCL, compatibilidade com o Windows Vista e o novo DBX4. Apesar disso, trata poucos assuntos de forma mais profunda. Mas isso não diminui sua importância, pois é o básico que todo desenvolvedor Delphi 2007 deveria saber.

Na minha opinião, é um livro que não deveria faltar na coleção Delphi de um desenvolvedor/empresa. Como nem todos tem hábito de ficar acompanhando os blogs e newsgroups sobre Delphi, o livro é um ótimo meio para nivelar a equipe na nova versão do Delphi.

Minha Primeira Compra no Lulu.com

O site Lulu.com é uma livraria “on-demand”, ou seja, autores colocam seus livros a disposição e a cada compra, uma cópia do livro é impressa exclusivamente para o comprador e então despachada. Na minha opinião é uma idéia extremamente interessante.

Minha primeira, e por enquanto única, experiência com o Lulu.com aconteceu com a compra do Delphi 2007 Handbook do Marco Cantu.

Comprei o livro no dia 12/11. Paguei com cartão internacional, US$36,50 pelo livro, mais US$4,41 de frete padrão (standard), totalizando US$40,91. Um preço bem acessível.

No dia 15/11 recebi a notificação de que o livro tinha sido impresso e enviado. Como não tinha pressa e optei pelo frete standard, já sabia que iria demorar um pouco. O livro foi despachado dos EUA.

Recebi o pacote no dia 05/12, muito bem embalado. O livro se parece como um livro normal de editora, a impressão é de boa qualidade, preto e branco, aparentemente laser. Veja aqui e aqui.

Ainda não li o livro, então não tenho uma opinião sobre o conteúdo, mas pretendo postar aqui assim que o ler.

Em resumo, a experiência com o Lulu.com foi ótima, sem nenhum tipo de problema, a “qualidade visual” do produto atendeu as expectativas e recomendo.

Delphi 2007 Handbook

Livro .NET for Delphi Programmers

Algum tempo atrás comecei a ler esse livro mas acabei deixando de lado porque na ocasião não estava tendo tempo de usar C#. Agora estou retomando e recomendo pra quem está indo do Delphi para .NET.
.NET for Delphi Programmer aborda .NET 2.0 para desenvolvedores Delphi que desejam usar C#. Ele é muito interessante porque compara classes da RTL/VCL do Delphi com as classes do .NET. Ele mostra funções que estamos acostumados no Delphi e quais são suas equivalentes em .NET. Mostra as diferenças entre forms da VCL e WinForms, etc.

O autor Jon Shemitz, que também já escreveu um livro sobre Kylix, tem uma linguagem objetiva e fácil de entender. O revisor técnico é o fera Hallvard Vassbotn, amplamente conhecido pela comunidade Delphi e escritor de vários artigos.

Enfim, é um livro que, na minha opinião, todo desenvolvedor Delphi indo para .NET deveria ler.

Rodando Vista

Já estou oficialmente migrado para o Vista. Instalei o Vista Ultimate hoje em meu notebook e até agora estou muito satisfeito. Já estou usando a versão em português do Brasil e tive pouquíssimas dificuldades com ele até agora.

BDS 2006 instalado e compilando todos os meus projetos. Achei engraçado que o Vista não vem com .NET 1.1 instalado e o setup do BDS precisou instalar. A única pequena dificuldade na instalação foi o Update 2, mas em instantes achei a solução na Internet, onde descobri ser necessário desativar o Controle de Conta de Usuário, que é um dos novos sistemas de segurança do Vista. Depois de instalado, reativei o recurso e está tudo correndo bem. Se você precisar desativar, entre em “Contas de Usuário” e use o link na parte de baixo da janela.

Uma das mudanças que me chamou atenção, além de todo visual novo, é que a estrutura física de diretórios é em inglês, mesmo na minha versão em português, porém, existe um sistema de apelidos, de modo que quando eu navego pelo explorer, o “Program Files” do disco aparece como “Arquivos de Programas”. Parece meio confuso de início.

O desempenho dele até agora está surpreendente. Tudo muito rápido. A nova interface Aero parece muito leve e com ótimo tempo de resposta aos comandos.

Outro detalhe que me impressionou é que o Vista simplesmente reconheceu TODO o meu hardware. Não precisei procurar driver para NADA! Tudo funcionando perfeito logo no primeiro boot! Lembro que no XP nada funcionava de cara, tinha que instalar os drivers de cada dispositivo.

Ainda não tive tempo de testar muito meus aplicativos Delphi, mas não percebi nenhum problema até agora nos poucos testes que fiz.

Agora estou baixando o Office 2007 da MSDN e instalo amanhã. Tudo novo por aqui, só falta o Delphi 2007. :)

Meu Review do RemObjects Chrome

Há alguns meses escrevi um review do Chrome, que pretendia publicar na MSDN Magazine, mas ele acabou não sendo aprovado devido as comparações diretas que fiz com C#, mostrando que o Chrome tem muitos recursos que devem demorar ainda para aparecer no C#.

Entendo a posição da revista, então procurei outro local mais neutro para publicar, e ele acaba de ser disponibilizado no site Linha de Código.

Review Acer Aspire 5672WLMi

Acabo de fazer um upgrade na minha máquina principal. Agora estou usando um Acer Aspire 5672WLMi, com a seguinte configuração:

  • Intel Core Duo T2300 (1,66 GHz, 667 MHz FSB, 2MB L2 cache)
  • 15.4″ WXGA CrystalBrite LCD
  • ATI Mobility Radeon X1400 512MB HyperMemory
  • HD 120GB SATA 5400rpm
  • Double Layer DVD+RW
  • 2GB DDR2 RAM
  • 802.11a/b/g wireless LAN
  • Bluetooth 2.0
  • Leitor 5 em 1 para todos os cartões de memória
  • Webcam integrada

É uma máquina definitivamente poderosa. E não tem como ser diferente. Nós, desenvolvedores, precisamos de máquinas poderosas. Eu sempre tenho muitos aplicativos abertos ao mesmo tempo, a IDE do Delphi (e as vezes a do Visual Studio juntas), Outlook, leitor de news, leitor RSS, Messenger, Skype, Google Talk, Babylon, Hotsync Manager (sincronismo com um dos meus smartphones), ActiveSync (com outro smartphone), Firebird Server, IBExpert, etc. Isso sem levar em conta quando tenho alguma máquina virtual do VMWare rodando. Então não tem como, para que possamos ter produtividade, precisamos de máquinas que aguentem o tranco.

É o segundo Acer que eu tenho. Já tive um vários anos atrás e ele nunca me deixou na mão. Me parece que a Acer agora está ganhando mais mercado, pois está com preços muito competitivos. Essa máquina saiu por R$5200 em uma loja aqui da minha cidade, com NF, tudo certinho, mas tenho certeza que pode ser encontrada por menos que isso em outros lugares.

Há muito tempo não uso mais computadores desktop como minha máquina principal e provavelmente nunca mais usarei. A praticidade de ter tudo sempre a mão é imbatível. E a performance dos notebooks não deixa praticamente nada a desejar.

Processador

Eu estava ansioso por usar uma máquina dual core, e esta é a minha primeira experiência. Estou gostando muito, sinto que a máquina tem uma ótima performance. Espero que o Windows saiba gerenciar bem este recurso e tirar proveito máximo da máquina. Quando acesso o gerenciador de tarefas, consigo visualizar dois processadores, portanto sei que o Windows está ciente que não é um processador simples, porém ainda não tive tempo de pesquisar como isso realmente funciona.

Tela

Widescreen, resolução 1280×800, LCD brilhante. Eu já tinha visto vários computadores com essa nova tecnologia de LCD brilhante, mas nunca tinha realmente usado um. Ela é muito legal na maioria dos momentos, as cores parecem ser mais vivas e tudo fica mais bonito mesmo. Porém, se você estiver em um local muito iluminado, principalmente com iluminação atrás de você, a visualização fica bem comprometida. Há poucos dias precisei usar a máquina na mesa de um café de um shopping, e a iluminação atrapalhou muito. Provavelmente meu próximo modelo será com a tela convencional mesmo, fosca.

Webcam Integrada

A webcam integrada é muito prática. Tem boa resolução de 1,3 megapixel e funciona com todos os aplicativos que testei: Windows Messenger, Skype, etc. Eu não uso muito, mas é um recurso legal de ter. Ela fica muito bem acoplada na parte superior da tela, não ocupando praticamente nenhum espaço adicional.

Microfone Embutido

Um detalhe aparentemente simples mas que gostei porque até então minhas máquinas anteriores não tinham é o microfone integrado, permitindo o uso do Skype sem microfone ou fones de ouvido externos. Na empresa gosto de usar aqueles fones com microfones maiores de maior qualidade, e levá-lo na bolsa do notebook é um saco. Por isso esse recurso veio a calhar.

Leitor de Cartão 5 em 1

Minha máquina anterior já tinha leitor embutido SD, mas esta tem leitor 5 em 1, ou seja, posso usá-lo para ler praticamente qualquer cartão de memória. Acho que ele só não lê cartões CF (Compact Flash), que é um tipo de cartão praticamente obsoleto já.

O Que Não Gostei

A máquina não acompanha nenhum CD ou DVD com o sistema para restauração. Quando você liga pela primeira vez, ela solicita que você insira um DVD em branco para que ela grave a imagem do sistema para uma eventual restauração em caso de perda. Até aí tudo bem, mas o que realmente me aborreceu é que não vem nenhum disco separado com os drivers. E como eu costumo formatar a máquina e instalar um Windows limpo, tive que baixar todos os drivers do site da Acer, que é um lixo. E os drivers são imensos, mais de 300MB em vários arquivos separados com conexões que caiam com frequência. Levei quase um dia para baixar e instalar tudo.

Outra coisa que ainda não me acostumei e não gostei é o posicionamento das teclas Home, Insert, Del, Pg Up, Pg Dn e End. Elas estão posicionadas verticalmente no teclado, bem diferente do que estava acostumado com minhas máquinas anteriores.

Mas são detalhes com pouca importância e que no final das contas não desmerecem a máquina.

Conclusão

Estou muito satisfeito com a máquina. Acho que pelo preço e pelos recursos, é uma ótima opção para desenvolvedores ou mesmo para aqueles que querem uma máquina poderosa para uso geral. Recomendo.