29 de ago. de 2009

Pequena dica pro CMW!

Logo que peguei meu Nokia 5800, uma das primeiras coisas que fiz nele foi ativar o Come With Music e baixar algumas músicas pelo celular. Durante esse começo, percebi que algumas músicas ficavam presas na fila de download, marcadas como "Download concluído", mas não iam pra minha coleção de músicas nem saiam da fila! Mesmo pedidno pro player atualizar a biblioteca a danada não dava as caras por lá!

Foi aí que aprendi um pequeno macete pros meus downloads não engatarem mais na fila observando o comportamento do próprio aparelho:


Sempre que por alguma música pra baixar no celular, a opção "Voltar" que fica no canto inferior direito muda pra "Cancelar", tudo o que eu tive que fazer foi esperar esta opção retornar ao seu estado original, que é o "Voltar" antes de por outra música pra baixar! Bem simples e fácil, agora os downloads não ficam mais travados na fila do celular.


É isso aí! Bastou um pouquinho de paciência!

28 de ago. de 2009

Laptop Battery Express funga com 10 mil laptops, menos no meu!

Quando você, ou algum conhecido for comprar um novo notebook com bateria fixa estará levando também um possível problema: ele te deixará na mão na hora em que mais precisar dele, é o que diz a lei de Murphy.

Felizmente, um número cada vez maior de fabricantes está fornecendo baterias externas, como a Universal External Laptop Battery, da Laptop Battery Express, que é fornecida com vários conectores intercambiáveis e garante até 4 horas a mais de bateria pro seu querido laptop (pelo menos é o que diz a fabricante), tem até uma porta usb pra você plugar o seu celular na hora do aperto.

Infelizmente pelo visto os notebooks da Apple não são suportados, o que me deixa de fora da bricadeira. Bom, eu nem queria mesmo, o meu aguenta até seis horas longe da tomada...


Universal battery

24 de ago. de 2009

Primeira foto oficial do N900?


Acabou de aparecer no engadget o que seria a primeira foto oficial do N900, tá muito bonitinha pra ser fake. Espero que o N900 não tarde e muito menos falhe, o mercado de smartphones está precisando de gás novo.
Pros mais céticos, eis ele em chips e Maemo embarcado

22 de ago. de 2009

Flash estará em quase todos os Smartphones

Adobe garante que Flash Player 10 estará disponível para todas as plataformas móveis –exceto o iPhone.Em visita ao Brasil, Lee Brimelow, evangelista mundial da plataforma Flash, conversou com exclusividade com a INFO. O especialista disse que a principal meta da Adobe neste ano é garantir que a versão mais recente do Flash Player fique disponível para todas as plataformas possíveis.

Instalado em 99% dos computadores conectados à internet, de acordo com números da própria empresa, o Flash deverá ganhar versões atualizadas para Android, Windows Mobile, e até para o WebOS, sistema operacional do smartphone Palm Pre.

“Garantimos que o Flash Player 10 estará em todas essas plataformas, rodando com todas as suas funções oferecidas pelo ActionScript 3, da versão para PCs. O conteúdo rodará nas versões móveis dos browsers de maneira transparente para o usuário, como já acontece no micro”, afirmou Brimelow.

De acordo com o especialista, as fabricantes de celular já têm uma versão pronta do software e o trabalho está na reta final de adaptação.

A única barreira para os planos da Adobe para a dominação dos celulares esbarra justamente no mais importante dos smartphones, o iPhone. A empresa negocia com a Apple, mas não tem garantias de que a fabricante aprove o uso do Flash Player no iPhone.

"O Flash Player é tecnicamente possível no iPhone, mas precisamos de mais ajuda da Apple, pois são eles quem dão a última palavra sobre a aprovação dos software para a plataforma deles.”, disse Brimelow.

Entre os motivos da falta de boa vontade da Apple está a preferência pelo formato MOV, já usado pela dupla iTunes e QuickTime, também desenvolvidos pela empresa. O aplicativo do YouTube para iPhone, por exemplo, só existe porque o Google converteu parte da videoteca do site, que usa Flash, para os padrões de codecs preferidos pela Apple.


Com ou sem iPhone, Brimelow adiantou que o próximo Flash Player terá uma API aberta para que os desenvolvedores criem aplicativos com funções multitoque. Outra promessa é a de que os aplicativos poderão se integrar melhor com dados de localização obtidos via GPS.


Fonte: Info

Hmm, e pra onde foi o Symbian nessa história? Seria um indício de que o Maemo realmente irá tomar o seu lugar?

20 de ago. de 2009

Nimbuzz ainda não é o que eu preciso...

Estou há algum tempo à procura de um cliente multi-protocolo de IM pra usar no meu SmartPhone. Já experimentei vários, até andei flertando com o Jabber.

Hoje, esbarrei com um tal de nimbuzz, que prometia resolver o meu problema: tenho várias contas de IM atualmente, sendo duas pra uso pessoal e mais duas pra uso profissional, isso sem contar o Skype...

Como conseguir juntar todas num único programa no SmartPhone? Fiz a minha inscrição no nimbuz todo contente pensando que ele seria a solução. Bom, ele se conecta a várias redes simultâneamente, mas pelo que vi, ele permite apenas uma conta em cada rede. Então nimbuzz, lamento mas você ainda não é o que preciso...

19 de mai. de 2009

Calculo de idade via MySql

Hoje me deparei com um pequeno problema: no sistema que estou desenvolvendo precisava realizar uma busca no banco de dados e retornar os cadastros cuja idade fossem maior ou igual a 60 anos. O problema é que não poderia inventar um campo pra inserir a idade, afinal de contas todos nós envelhecemos e no ano seguinte sempre temos um ano a mais, então o campo idade estava descartado, pois ele retornaria dados incorretos ano que vem.

A solução encontrada foi calcular a idade direto no MySql, como? Simples (aliás, nem tão simples assim!):

Primeiro, selecionei a chave primária do registro, data de nascimento e endereço:

SELECT id_cad, nome, nascimento, endereco,

Agora devo calcular a idade do sujeito:


(YEAR(CURDATE()) - RIGHT(nascimento, 4)) - (DATE_FORMAT(CURDATE(), '%e/%m')<LEFT(nascimento, 5)) AS idade

Onde YEAR(CURDATE() pega o ano atual, RIGHT(nascimento, 4) pega os 4 últimos dígitos da data salva no banco, porque? Porque estou usando o formato dd/mm/yyyy pra salvar as datas de nascimento! Fica mais simples exibir estas datas lá no PHP, preferi ter o trabalho pesado aqui no Mysql!

DATE_FORMAT(CURDATE(), '%e/%m') formata o dia e mês atuais para dd/mm, LEFT(nascimento, 5) pega do banco o dia e mês no formato dd/mm.

Analizando a linha toda: estou pegando o ano atual, subtraindo o ano de nascimento do cadastro, a comparação (DATE_FORMAT(CURDATE(), '%e/%m')<LEFT(nascimento, 5) me retorna 1 ou 0 e ajusta a diferença da idade um ano abaixo, caso o cidadão ainda não tenha feito aniversário!



Aqui eu seleciono o banco:
FROM cadhab_dpessoais

E aqui eu filtro os registros conforme a idade, e tudo isso sem ter que usar um campo "idade" na tabela, o que seria meio difícil de atualizar, afinal todo ano nossa idade muda!

WHERE (YEAR(CURDATE()) - RIGHT(nascimento, 4)) >= 20

Agora tudo junto:


SELECT id_cad, nome, nascimento, endereco, (YEAR(CURDATE()) - RIGHT(nascimento, 4)) - (DATE_FORMAT(CURDATE(), '%e/%m')<LEFT(nascimento, 5)) AS idade

FROM cadhab_dpessoais

WHERE (YEAR(CURDATE()) - RIGHT(nascimento, 4)) >= 60

Legal né? Até a próxima!

6 de abr. de 2009

Cross-server data access ou proxy-php ou gambi mesmo!

Tá legal, sei que to há algum tempo sem postar nada aqui. Meu parceiro de blog me abandonou e to até o pescoço com trabalhos por finalizar. Se alguma alma caridosa tiver interesse em postar alguma coisa só avisar, o blog está aceitando novos blogers!

Bom, estou aqui hoje porque semana passada me deparei com um problema interessante: tinha que por o widget do Clima Tempo no topo em Flash de um site que estou desenvolvendo.

Normalmente, é só pegar o código gerado automaticamente no site do clima tempo e por no site, mas... as coisas não eram tão simples assim, vejamos:

O topo do site é em flash e o clima tempo tinha que ficar lá, numa faixa de menos de 50px de altura! Olha o bixo aí:

topo site pmu

O widget do clima tempo é beem maior que o espaço que eu tinha disponível. Esse problema eu resolvi fazendo o meu próprio widget do Clima Tempo, devidamente adaptado pro espaço que eu tinha disponível. Depois de pronto, ele funciobava incrivelmente bem na minha máquina.

Ao por o dito-cujo no ar descobri que ele simplesmente se recusava a se comunicar com o site do clima tempo. Descobri que o Flash tem umas características de segurança que o impedem de fazer tal coisa.

Busquei no tio Google uma suposta solução que habilitariam o flash a fazer o seu trabalho:

System.security.loadPolicyFile("http://selos.climatempo.com.br/crossdomain.xml");
System.security.allowDomain("*");
System.security.allowInsecureDomain("*");
System.security.allowDomain("http://selos.climatempo.com.br/");
System.security.allowInsecureDomain("http://selos.climatempo.com.br/");

Porém a tal medida não surtiu efeito, o flash se negava a conversar com o ClimaTempo a partir do servidor.

Foi então que resolvi apelar pra ignorância, usei um proxy-php, funçãozinha simples que faz o trabalho pro preguiçoso do Flash:

$dataURL = "http://www.seusite/arquivo.xml";
//este esquema não segue redirecionamentos. O xml pode dar lugar pra um php também
readfile($dataURL);

O que o código php aí em cima faz é ler a urll informada como se fosse um arquivo, isso graças ao comando readfile, a partir daí é só usar este arquivo como fonte xml do teu flash como se fosse um xml qualquer.

Desculpem, mas o código que envolve a criação do widget ClimaTempo não me pertence e não tenho permissão de divulga-lo aqui, então por enquanto não poderei dizer como eu fiz meu widget ClimaTempo personalizado.