sexta-feira, 18 de setembro de 2009

Como fazer Basic Authentication com HttpURLConnection?

A utilidade deste post pode ser um pouco subestimada, mas só neste ano precisei de 3 vezes, entre elas: para conectar à API do Twitter no meu projeto para BlackBerry TwiThis, para conectar à cameras via IP e quando fiz um servidor que precisava de autenticação básica pedi que fosse enviado via "Basic Auth". Minha opinião é de que a Basic Auth é fraca, pois qualquer um tem acesso hoje ao Base64. Mas atualmente ainda é muito utilizado e acho que deixa de ser fraco ao utilizar um Certificado Digital para HTTPS.

Esta é uma solução bem simples, mas um pouco diferente do comum. Em algumas APIs costumamos a ver um método que simplesmente pede as Credenciais em um método que já tem como parâmetros o login e a senha. No caso do HttpURLConnection você deve executar este código antes de criar a conexão:

final String login ="...";
final String password ="...";
Authenticator.setDefault(new Authenticator() {
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication (login, password.toCharArray());
} });
Referências:
Wikipédia sobre Basic Access Authentication: Se você não sabe o que é isso. 
De onde tirei esta solução Java.

quinta-feira, 17 de setembro de 2009

Mais uma vantagem do BlackBerry sobre qualquer outro celular.

Ele funciona debaixo d'água.

terça-feira, 11 de agosto de 2009

26 Vantagens do BlackBerry sobre o iPhone.

Tirei essas vantagens do seguinte site.

  1. BlackBerry pode ser utilizado com qualquer operadora no mundo (mais de 475). Nos EUA o iPhone só está disponível para a AT&T.
  2. O BlackBerry está disponível em vários formatos: teclado pequeno (Pearl), teclado grande (Curve, Bold), sem teclado (Storm), com flip (Pearl Flip), e candy-bar (Curve, Bold, Storm).
  3. A maioria dos aparelhos BlackBerry possuí teclado físico, o que possibilita digitar rápido e sem erros. Ajuda quando está caminhando, uma mão livre. Logo o iPhone...
  4. O BlackBerry usa o padrão miniUSB que está disponível em todo o mundo. Logo o iPhone utiliza um padrão próprio que só a Apple utiliza. Sem falar que os acessórios são caros.
  5. Algumas operadoras oferecem Roaming de dados internacional ilimitado por $40, o iPhone não e isso pode te salvar vários dólares. (Essa vantagem corresponde mais aos americanos).
  6. Outra vantagem só para americanos que depois vou traduzir.
  7. O BlackBerry possui memória expansível. O iPhone possuí memórias fixas de 8, 16 ou 32Gb.
  8. O BlackBerry possui bateria expansível. O iPhone não.
  9. O BlackBerry permite que sejam abertos vários programas ao mesmo tempo, é multi-tarefa como o Windows. O iPhone não, só permite que você use um programa de cada vez.
  10. A resolução da tela dos novos aparelhos BlackBerry é de 480x360, do iPhone é 480x320.
  11. O BlackBerry permite comunicação ponto-a-ponto via identificação por PIN, em torno do sistema de e-mail. Não existe nada equivalente no iPhone.
  12. Skype no BlackBerry? Sim, de qualquer lugar para qualquer lugar. E no iPhone? Só por WI-FI.
  13. Sling para BlackBerry? Sim, e gratuito. No iPhone? São $30.
  14. Google Voice para BlackBerry? Sim, e gratuito. No iPhone? Foi bloqueado na App Store.
  15. O BlackBerry pode ser sincronizado em vários computadores, se você possuir vários.
  16. Múltiplos aparelhos BlackBerry podem receber da mesma conta de e-mail, se você possuir mais de um BlackBerry.
  17. O BlackBerry pode organizar a lista de contatos por nome da empresa, o que poupa tempo para encontrar um contato profissional. No iPhone se você possui muitos contatos, é bom ter tempo também.
  18. O BlackBerry não fica lento por ter 10 mil contatos, experimente no iPhone.
  19. Os melhores messengers estão disponíveis para iPhone.
  20. O BlackBerry possuí vários browsers de vários desenvolvedores. O iPhone possuí básicamente o Safari.
  21. O BlackBerry faz sincronização com o iTunes e vários outros programas de gerenciamento de midia.
  22. Os aparelhos com resolução de 480 possuem um serviço que funciona como DVR por apenas $8/mês, o PrimeTime2Go.
  23. O BlackBerry guarda a quantidade de e-mails que couber na memória do aparelho, a memória não é fracionada para determinados aplicativos. O iPhone é limitado a 200 e-mails. O iPhone pode sim acessar novos e-mails pela rede, mas você estará sem nada se estiver sem sinal.
  24. O custo da internet ilimitada para BlackBerry é menor, nos EUA que chega a ser 33% mais barato. Não pesquisei no Brasil.
  25. O custo dos contratos com as operadoras é muito menor para BlackBerry nos EUA.
  26. O BlackBerry tem segurança com criptografia em nível militar, utilizado pelo FBI, CIA, Casa Branca, Departamento de Defesa, grandes consultorias e bancos de investimento. Em contraste o iPhone possui vulnerabilidades de segurança. Veja este documento que aprova o BlackBerry ao uso de várias agências de segurança nacional americana. Ele faz a comparação com o iPhone e Windows Mobile.
Bem, tenho que ser sincero em dizer que a Apple vai eliminar algumas dessas vantagens logo, mas algumas vão demorar, e muito.

segunda-feira, 10 de agosto de 2009

Microsoft decide apoiar HTML 5.

Não vou ficar falando da Microsoft.... :P

O HTML na versão 5 de sua especificação está prometendo alguns recursos interessantes, e tão interessantes que qualificam essa versão como um "Flash-Killer". Decidi pesquisar um pouquinho mais a fundo e encontrei essa versão do YouTube em HTML5, todos nós sabemos que o player de vídeo é feito em flash. Porém neste site é puro HTML5, vendo o fonte podemos perceber a tag "video" que faz toda a mágica.

Acho que alguns desenvolvedores não utilizaram tão cedo, pois o atributo SRC revela o nome do arquivo. Será necessário algum recurso para não permitir que seja feito o download, se for do interesse do proprietário do vídeo.

Fica obviamente muito mais fácil adicionar um vídeo em seu site, porém tenho visto muitos recursos que não estarão embutidos no HTML5, como por exemplo comentários no meio do vídeo ou o ad-sense do Google que aparece na parte inferior do vídeo (atrapalhando muito). A criatividade dos programadores pode acabar um pouco limitada.

Será que veremos uma nova versão do JavaScript também?

sexta-feira, 31 de julho de 2009

Foto no título

Essa foto que decidi colocar no fundo do título do blog tem uma história interessante, não a foto propriamente, mas decidi colocá-la no meu desktop um tempo atrás, pois é da paisagem de um país que gostaria de conhecer, a Finlândia. Um dia meu tio que mora em Porto Alegre estava nos visitando e quando bateu o olho na foto, disse de primeira: "que foto bonita da Finlândia". Não é a toa que ele conhece já que fez intercâmbio lá quando era mais jovem.

Contatos úteis no Twitter

Estava lendo na INFOQ BR o artigo JUnit 4.7: Per-Test rules e encontrei em uma das referências o Twitter do Kent Beck e algumas figurinhas do mundo ágil e java:

quinta-feira, 30 de julho de 2009

Leading Change, John P. Kotter.

Criei este post para falar um pouco deste livro de John P. Kotter, pois nunca acordei com a vontade de ler como hoje, recomendo muito.

Conheci esse livro em uma das apresentações no site do Boris Gloger, e sem ter muita recomendação resolvi comprar uma cópia usada na Amazon.com. Logo na primeira página comecei a identificar problemas que temos aqui na empresa para adotar Scrum.

O primeiro problema foi o excesso de complacência, o que aqui costumamos chamar de Exceptions fazendo referência a uma "exceção" assim como quando ocorre um erro no Java (especialidade de todos aqui na empresa). Uma das frases que o colega Edson Yanaga sempre dizia faz referência a isso: "Temos mais exceptions do que acertos".

Com o tempo fomos sanando esse problema e determinando algumas regras para que nada fosse mudado até que fosse possível ter certeza do que seria bom mudar ou continuar da mesma maneira. Determinamos que todas as regras seguidas seriam do livrinho laranja do Boris Gloger, o checklist.

Passado algum tempo começamos a fazer algumas mudanças de acordo com o que seria útil, para a empresa, como: aumentar o timebox para que fosse descoberto mais informação sobre o sprint a ser desenvolvido. Assim como algumas reuniões de estimativa passaram a ser feitas em cima da mesa, como o Boris ensinou aqui mesmo na empresa, achamos útil esse modo de estimar pois é rápido. Porém só fazemos quando as estórias já passaram por uma outra reunião de estimativa com as cartas ou sobraram de algum sprint.

Bem, vou ler mais um pouco do Leading Change e falo mais nos próximos posts, t+.