Portando para o Python 3

Em 2008 foi lançada a versão 3 da linguagem Python com diversas funcionalidades novas, mas parcialmente incompatível com os programas feitos para Python 2. Nestes 5 anos, a adoção ainda não é grande exatamente por causa deste fator e porque normalmente as pessoas não querem ter que aprender os detalhes que são necessários para essa mudança.

Hoje em dia existem diversas ferramentas que permitem desenvolver software que seja compatível com as duas versões, mas para isso é preciso entender o que mudou e adaptar. Este é será um guia rápido com dicas para migrar para Python 3 e aproveitar as melhorias que essa nova versão traz.

Parte I – Quando migrar

Por causa da incompatibilidade que existe, muitos desenvolvedores não podem começar a migração pois dependem de diversas bibliotecas que ainda não fizeram sua parte. Hoje em dia, grande parte das bibliotecas mais importantes da linguagem já são compatíveis com Python 3, o que torna bem mais plausível converter seu código.

Para computação númerica NumPy, SciPy, Matplotlib, IPython e Pandas são as ferramentas mais importantes e todas já foram portadas. Em desenvolvimento web, os frameworks mais importantes – Pyramid e Django – também funcionam perfeitamente em Python 3. Para criar GUI’s, PyQT4 e Tkinter podem ser utilizados sem problemas.

– O que falta então?

Normalmente são as pequenas bibliotecas que fazem trabalhos específicos e que já não são atualizadas há anos. Inclusive, este é um bom momento para se livrar delas. Procure no PyPI por algo semelhante que resolva seu problema e que seja compatível com Python 3.

– E se eu não quiser migrar?

Aproximadamente em 2017, o suporte para Python 2 vai terminar e este já não recebe novas funcionalidades desde 2010, com o lançamento do Python 2.7. Atualmente, só atualizações de segurança e outros bugs sérios são lançadas. Além disso, em breve o Python 3 será instalado por padrão na maioria das distribuições Linux, como já o é no Arch Linux e será no Ubuntu 13.04 ou 13.10.

– Mas mexer em código antigo que já funciona há anos é difícil…

Sim, isso é um grande impedimento. O ideal é começar a aprender com código novo e, quando surgir a oportunidade (ou necessidade) modificar os códigos antigos. A dica é, comece pelas suas bibliotecas para depois partir para as aplicações.

– Por onde eu começo?

O meu texto preferido sobre o tema é Dive into Python 3 que traz todos os detalhes sobre a linguagem e mostra o caso de migração de um software real. Aqui só faço uma introdução sobre o tema.

Independente de querer migrar ou não o seu código, é interessante conhecer o Python 3 e passar suportá-lo em código novo. Mesmo que você esteja escrevendo código com bibliotecas obsoletas, existem boas práticas que deixam permitem desenvolver já pensando no futuro.

Continuar lendo Portando para o Python 3

BlackBerry Jam Sessions & Playbook

Como o Pedro Paulo disse no texto de ontem, fui à edição do Rio de Janeiro do BlackBerry Jam Sessions onde ficamos 10hs projetando e implementando um app para rodar no sistema deles (Tablet OS ou BB 10) e posso afirmar que é algo bem divertido, mas muito desgastante. Ao final, meu grupo ainda saiu vencedor do prêmio Melhor Design, e era de se esperar já que me uni a 3 excelentes alunos de Design da PUC-Rio para essa maratona.

Para o desenvolvimento, deram as seguintes opções: Web, Adobe Air, C++ (Qt & QML) e Android. Os programas deveriam rodar no emulador ou no próprio aparelho Dev Alpha que ainda não estava instalado com a versão do BlackBerry 10, mas com o sistema de tablet que acabou prejudicando um pouco a usabilidade. Espera-se que esse aparelho seja lançado em poucos meses.

Sobre o Playbook que é o tablet da BlackBerry lançado no fim do ano passado e que fui premiado com uma unidade, posso dizer que estou achei bem impressionante como a tela é responsiva (melhor que 95% dos tablets Android que usei) e o multitasking é bem interessante. O sistema usa um conceito bem parecido ao do Meego (que uso no meu Nokia N9) onde você arrasta o dedo de fora da tela para o meio para ir para a área de troca de aplicativos ou para o aplicativo seguinte, dependendo da direção do movimento.

Apesar do Tablet ter um sistema muito interessante, a App World ainda é um pouco pobre, tendo aplicativos muito mais simples que os equivalentes Android ou iOS e é esse o esse motivo de existirem os Jam Sessions.

Algo interessante é que os aplicativos Android podem ser portados para a tecnologia da BlackBerry com um simples empacotamento no formato deles. Quanto a compatibilidade, não sei dizer, mas eles dizem ser alta.

Escolhendo o canal do Wi-Fi

Algo muito comum é instalar um roteador Wi-Fi num ambiente pequeno e, ainda assim, ter problemas com a velocidade da conexão.

Pode acontecer de existirem vários outros roteadores de vizinhos usando o mesmo canal e possivelmente com um sinal mais forte (aquele povo que compra antenas enormes na Uruguaiana ou Santa Ifigênia) estarem fazendo a sua placa wireless perder muitos pacotes.

Todo roteador Wi-Fi vem com uma página de configuração que permite escolher o canal da faixa de 2.4GHz em que vai operar.
Caso não se lembre como acessar ou se não foi você quem instalou, provavelmente olhando qual o gateway da sua máquina você acha o IP do roteador (algo como 192.168.0.1).

Na hora de escolher o canal ideal para sua conexão, é preciso saber que parte da banda os roteadores mais próximos estão localizados e, para isso, existe um excelente aplicativo gratuito chamado InSSIDer que fornece informações bem detalhadas.

Em uma das abas do programa, ele mostra os canais das redes ao alcance, assim como suas intensidades. Ele também mostra a intensidade ao longo do tempo além de outras informações como fabricante, velocidade da rede, largura do canal etc.

Assim, é fácil escolher o canal do seu Wi-Fi apenas verificando qual está menos utilizado (geralmente as extremidades).

Outra coisa é, se você tem um Wi-Fi 802.11n de 300mpbs (bastante comum nos roteadores de 2011) ele pode ocupar o dobro da banda no espectro por utilizar 2 canais, o que melhora a qualidade geral da sua internet, mas causa mais interferência na dos outros :).

Esse é um programa que vale a pena ter instalado.

Crosspost: Rot-13

Nokia N8 – Manual e detalhes

Vi no blog do Rodrigo Toledo que já é possível baixar o manual do novo Nokia N8, um aparelho que ainda não havia sido comentado por aqui.

Como o link do fórum que o Rodrigo Toledo colocou pedia cadastro para fazer o download, então dei uma olhada do google e acabei baixando desse outro site.

O Manual tem apenas 23 páginas e algumas coisas me chamaram a atenção:

A primeira está na página 16, que mostra que você pode plugar dispositivos USB (pendrives) no celular com um adaptador microUSB-USB (incluído!!). Ele ainda avisa que o celular só fornece 200mA, então não vai dar para plugar HDs, a não ser que você use um Hub alimentado.

Colocar um host de USB em um celular eu só tinha visto num Palm com Windows Mobile do início do milênio e no Nokia N900. Quando meu tablet N800 ainda funcionava, esse função era matadora! Já pluguei até câmera digital nele (e olha que ele só fornecia 100mA de corrente).

Voltando ao manual, uma coisa engraçada é o fato de parecer que ele foi escrito por pessoas que ainda não conheciam o design do aparelho, já que alguns desenhos lembram o N97 ou são de um protótipo qualquer:

O aparelho permite ser carregado tanto com o cabo padrão da Nokia quanto com o cabo MicroUSB, o que algo bom, já que todo mundo tem centenas desses carregadores padrões e o aparelho será carregado quando usado como modem 3G:

Não sei se vocês perceberam, mas o aparelho não tem os botões verde e vermelho! Ainda não vi nenhum vídeo do N8 sendo usado como telefone, mas não vejo necessidade deles existirem num aparelho touchscreen. Inclusive eu praticamente só uso o vermelho do meu Nokia 5530 para fechar programas (como isso será feito no N8?).

Agora, falando mais sobre o aparelho em si, a Nokia quer tirar a má impressão que as pessoas tiveram do N97 e, para isso, corrigiu várias coisas e acrescentou outras mais:

– As demonstrações do aparelho não são mais animações, são vídeos mesmo. No N97, o modo que os menus fluiam e as animações do vídeo eram diferentes da vida real.

– A Nokia se rendeu ao multi-touch. Todo mundo sabe que isso é feito via software, mas algumas patentes da Apple pareciam influenciar nessa decisão.

– Câmera decente. Desde o N82, nenhum aparelho da Nokia veio com flash Xenon, algo que consome muita bateria, mas compensa na qualidade da foto. Outro detalhe importante é sensor de captura de imagens, o maior entre os celulares. Com isso foi possível colocar uma câmera de 12MPx. Aí, só faltou um zoom óptico para poder substituir totalmente a maioria das câmeras compactas (Veja aqui exemplos de fotos tiradas com o aparelho).

– Filmes em HD. Aproveitando o grande sensor, o aparelho filma em 1280×720 @ 25fps (Veja vídeo de exemplo).

– Acelerador de Gráficos 3D é algo que não aparecia desde o N95/N82, sem contar com o N900. Muito útil para jogos de corrida, entre outros.

– Saida HDMI. Vai ter gente que vai adorar isso, mas para mim não faz diferença… Talvez quando eu tiver uma TV HD…

Agora, algo que eu ainda não consigo entender, de maneira alguma, é o uso de um processador ARM11 em pleno 2010. Por mais que ele rode à 680MHz, que faz dele 56% mais rápido que o processador do N97, ele ainda tem um desempenho muito pior que um Cortex A8 de 600MHz, como o do iPhone e do N900.

As várias diferenças entre as arquiteturas dos processadores, como o uso de cache, pipeline, instruções e etc. não fazem parte do escopo deste post, mas a conta é simples:
ARM11 – 1,2 DMIPS/MHz = 816 DMIPS
Cortex A8 – 2,0 DMIPS/MHz = 1200 DMIPS

Sim, o N900 pode ser até 50% mais rápido que o N8 (sem levar em conta os sistemas operacionais), sendo que o processador tem um clock 13% menor.

O Nokia N8 tem 256MB de Ram, o que deve ser suficiente para rodar uns 10 ou 15 programas simultâneos sem surgir a famigerada mensagem de falta de memória para abrir aplicativo.

De resto, o aparelho vem com uma tela capacitiva de 3,5″ nHD, 3G (HSDPA – 10,2Mbps e HSUPA – 2Mbps), 16GB de memória interna + slot MicroSD, A-GPS, acelerômetro, suporte à Flash etc, etc, etc.

Sobre o sistema Symbian^3, deu para ver que consertaram vários problemas do Symbian 5th ed (a.k.a Symbian^1 ?), e com a vantagem de usar as bibliotecas Qt (lê-se cute), assim como o N900.

Só para acabar, a Nokia lançou um concurso para ideias de Apps. Se inscrever uma ideia lá e ela for escolhida, você viaja para Londres e ganha um N8.

Agora só falta o aparelho começar a ser vendido (em setembro) para podermos ver ele funcionando de verdade com os milhares de reviews que devem surgir.

Abaixo, veja um vídeo de demonstração do aparelho:

Teste de Navegação do Ovi Maps no Nokia 5530

Como essa quarta e essa sexta foram feriados no Rio de Janeiro e a quinta é ponto facultativo para muitos, lá fui eu viajar.

Na segunda feira eu havia recebido um email da Nokia para baixar a nova versão do Ovi Maps com suporte à navegação gratuita, então resolvi testar essa funcionalidade na viagem.

O Ovi Maps pode ser baixado neste link. Para carregar os mapas para seu aparelho e, assim, não precisar de plano de dados para usar o programa, instale o Map Loader (O link para ele aparece após aceitar baixar o Ovi Maps) e escolha os mapas dos países que você precisar.

Como o Nokia 5530 que uso não tem GPS, ele não aparece listado no site da Nokia, mas baixei a versão para o 5800XM e instalei sem problemas. Foi necessário o uso de um GPS Bluetooth e dos mapas carregados no cartão de memória para poder usar o programa, já que não tenho 3G nem plano de dados.
Continuar lendo Teste de Navegação do Ovi Maps no Nokia 5530

O Tão Esperado Quase-Multitasking

A grande festa do momento foi dos usuários de iPhone descobrindo que seu aparelhinho 3G S vai rodar mais de uma aplicação por vez. É bem provável que o ‘culpado’ disso seja o iPad, pois um tablet maior que um EeePC não poderia ficar rodando um App por vez.

Isso também mostra que a Apple começou a ficar com medo do Android ou que o Steve Jobs cansou de fechar o browser pra mandar um email.

De acordo com o Meiobit, o Mr. Jobs disse:
“Não fomos os primeiros a entrar nessa festa, mas seremos os melhores”

Vamos dar uma olhada (Em inglês):

Nesse vídeo postado pelo Rodrigo Toledo, você percebe duas coisas:
1) Isso não é multitasking. O aplicativo só funciona em background se o desenvolvedor usar a nova API da Apple.
2) Os iPhones ‘jailbroken’, incluindo o 2G e o 3G que não terão suporte à nova funcionalidade (pouca RAM?) fazem isso melhor que o 3G S com novo firmware.

O motivo para tal é bem simples. A Apple não quer que o iPhone tenha o mesmo problema do Symbian 5th Edition (Nokia N97, 5800, 5530) de ficar fechando aplicativos por falta de RAM ou deixar a tarefa do primeiro plano travando pois alguma outra está usando demais o processador.

Claro que parece um bom motivo, mas eu lembro de um carinha que tem o hardware igualzinho ao iPhone 3G S e consegue rodar mais de 20 aplicativos de uma vez sem engasgar.

De qualquer forma, isso é melhor que nada. E o menu de alternância de Apps ficou bem interessante.

Vamos aguardar mais testes de usuários…

Review do 5530 Xpress Music – Parte 2

Amanhã fará um mês que comprei o Nokia 5530 Xpress Music e, durante esse tempo, deu para formar uma opinião mais madura sobre o aparelho.

Como vocês devem lembrar da Parte 1 do Review, o 5530 é o Symbian com tela de toque mais barato encontrado no mercado brasileiro. Mais barato até que o E63, que é o Symbian entry-level da série executiva. Por esse motivo, acredito que é um aparelho que vale a pena pelo que oferece.

Vou falar dos pontos fortes e dos defeitos que encontrei nesse mês de uso. Só lembrando que o aparelho foi atualizado da versão 10 para a versão 20 do firmware, o qual tem poucas mudanças notáveis, como a melhora do scroll em locais de texto e melhora na estabilidade do sistema.

Vamos começar falando da parte boa do aparelho:

  • O brilho e o contraste da tela são bons. Inclusive só preciso colocar no máximo se estiver no meio do rua, com sol forte.
  • A tela responde muito bem aos toques! Ela é pequena, com 2,9″, mas só tive problema com um programa, que colocou um botão de menu minúsculo.

Quem faz um menu tão pequeno?

  • Acima da tela, existe um botão para acesso rápido ao Media Player, Galeria, Browser, Real Player e Email. Eles aparecem como uma barra de opções. Muito útil!

  • Pequeno, fino e leve. Por causa disso, ele é bem confortável de segurar na mão e colocar no bolso. Nem parece que está lá e também é bem elegante.
    

Comparação de tamanho do 5530 com o N97.

  • Alto-falantes são bons. Tem também entrada para fone de ouvido comum (excelente, já que os fones que vêm com o aparelho não me agradaram). O Player de música me agradou. Ainda bem, pois o aparelho é feito para música! 😀
  • Acelerômetro. Sei que todo aparelho novo tem isso, mas é demais. Instalei uma centena de programas que usam o acelerômetro para os mais diversos usos e gostei muito. O aparelho percebe que você tirou a foto em pé e já gira para você, por exemplo.
  • A bateria é de 1000mAh, mas dura bastante. Um dia acordei atrasado, e percebi que o marcador mostrava apenas 2/7 da bateria. Não dava tempo de carregar e já eram 8hs da manhã, então saí assim mesmo. Nesse dia precisei fazer várias ligações, ouvi umas músicas, mostrei um vídeo a um amigo, transferi coisas por bluetooth e fiquei brincando com o acelerômetro :)… Quando eu estava voltando pra casa, umas 15hs, a bateria finalmente acabou.
    Eu acredito que a bateria dure bastante porque o aparelho não tem 3G e uso o botão de travar quando vou colocar no bolso, fazendo com que a tela sempre fique apagada.
  • Botão para travar e destravar. Isso é demais! Muito prático e que faz uma diferença enorme quando você se acostuma… Nunca mais terei que apertar “Menu” e “asterisco” para isso!

Agora a parte ruim, ou menos boa, como queiram:

  • A câmera de 3.2MPx é a grande decepção. Quando o lugar está mal iluminado, ela aumenta a sensibilidade (ISO) e deixa tudo granulado. Ao testar lado-a-lado com a câmera de 2MPx do E63 meu irmão e dono desse blog, vi que ele perde feio. Os dois aparelhos têm flash de apenas um LED. Acho que eles poderiam ter melhorado o software de captura com o update de firmware.

Imagens em lugar com pouca iluminação. Clique para ver no tamanho original:
Pelos meta-dados das imagens, ISO 200, ISO 600, ISO 400 e ISO 100, respectivamente.

Pena que o Flash só funciona bem para bem perto. Aqui já vemos bastante granulação na imagem:

Com uma iluminação boa, as fotos ficam um pouco melhores:

   

Mas, somente em lugares muito iluminados, as fotos ficam boas:

         

       

       

  • Quando comprei, achei estranho a bateria balançar um pouco. Isso não é um grande problema, pois os contatos metálicos ficam para dentro da bateria, fazendo com que não solte. Mas, por causa disso, recortei um minúsculo pedaço de papel e coloquei na parte de baixo da bateria e resolvi o problema dela ficar frouxa. A construção do aparelho, em geral, é razoável.
  • A parte da frente do aparelho é um imã de impressões digitais!! O jeito é ter um paninho para limpar, mas toda hora ele fica com aquelas marcas de dedos típicas de um aparelho touchscreen.
  • Falta de rolagem cinética no menu principal! Todo o resto do aparelho conta com isso, que, por um lado é muito bom, mas logo no menu eles deixaram de colocar.
  • Falta de 3G e GPS pode ser um ponto contra para muita gente. Pelo preço dele, seria impossível incluir um GPS, mas um 3G mono-banda não seria nada mal se um dia eu quisesse ter plano de dados.

Fora isso, o 5530 Xpress Music é um grande pequeno aparelho que faz quase tudo que promete, sendo bem barato. Inclusive, vi que na loja da operadora onde comprei o meu, o aparelho já custa 80 reais a menos do preço que paguei.

Não esperem ver uma caixa cheia de acessórios, que, por esse preço, eles economizam até no cabo USB.

Então é isso, pessoal. Aproveito para desejar um Feliz Natal e ótimo Ano Novo à todos os leitores do Blog!

SlideIT beta para Symbian

Recentemente, li um post no blog do Rodrigo Toledo sobre o SlideIT, um programa para Windows Mobile, que agora recebeu uma versão para Symbian, para substituir o teclado padrão por um onde você somente precisa deslizar o dedo, ou a caneta, pelas letras e ele reconhece o que você escreveu, de acordo com um dicionário.

Para entender o que eu estou falando, veja o vídeo abaixo:

Não sei se o SlideIT é uma cópia de um outro programa quase idêntico chamado Swipe ou se é ao contrário, mas enquanto a Nokia não coloca esse outro programa nos aparelhos, resolvi testar o primeiro. De qualquer maneira, pode aguardar que “logo” todos os aparelhos com touchcreen terão algo parecido.

Para baixar o SlideIT, é preciso pedir no site do desenvolvedor Dasur por uma cópia de testes, enviando seu nome, email e IMEI do aparelho, para eles te mandarem o arquivo que só vai funcionar no seu celular.

O programa é enviado em cerca de 24hs e é uma demonstração. Só percebi uma restrição, que você não tem permissão de criar atalhos, só pode usar os predefinidos. Também aparece escrito no email que é apenas uma versão beta que não parece ter muitos bugs em relação ao programa, mas bagunça algumas coisas no resto do sistema.

Por exemplo, se você clica numa caixa de texto de entrada numérica, nenhum teclado vai aparecer pois ele não vem com um teclado só numérico. Outra coisa estranha é que o * (asterisco) do teclado de discagem não funciona enquanto o programa está ativo.

Para ligar e desligar o teclado SlideIT, abra o programa e escolha “Dasur Keyboard” ou “Nokia Keyboard”. Além disso, tem a opção de marcar um dos dois teclados como padrão, fazendo com que não seja necessário deixar o programa aberto para usar o tecladinho.

Dasur Keyboard

Para poder escrever em português, tem que baixar o pacote da nossa língua, que não é nada completo. Palavras simples como “vocês” não existem e, para poder usá-las, tem que soletrar e apertar aquele botão com um símbolo de “+” para adicionar ao dicionário. A vantagem do programa é justamente essa de não se preocupar em soletrar, colocar acentos nem colocar espaços já que ele faz tudo isso pra você, mas só quando conhece as palavras que você está digitando!

Olá pessoal, tudo bem?Teclado Numérico & Símbolos

Sobre a digitação, funciona muito bem para palavras grandes, onde você rabisca todo o teclado, mas para palavras pequenas e que fiquem na mesma fileira de teclas, ele se engana, às vezes. De qualquer maneira, aparece uma lista de palavras possíveis, onde muitas vezes está a que você quer. Você vai deslizando o dedo pelas teclas e, com isso, dá pra escrever mais rápido que apertando cada tecla de uma vez. Inclusive ele acerta várias palavras que você queria escrever, mesmo se sua pontaria não for muito boa :D. Só faltou um suporte decente ao nosso idioma!

Traduções

Ao girar o telefone, surge um teclado esticado que ocupa a tela inteira, onde é fácil digitar com o dedo (você sempre só usa um dedo pra escrever). O teclado para a tela em pé é mais fácil de ser usado com a canetinha.

Uma curiosidade é que, em inglês, os atalhos para palavras e frases existem aos montes (devem ser centenas), mas, em português, só existem 8, sendo um deles, digamos assim, estúpido:

Qu'absurdo!

Por fim, digo que a idéia é muito boa, mas o produto não está nada pronto para nós. Vamos esperar algo mais integrado, feito pela Nokia.

Código de cor de Resistores

Se você, como eu, nunca lembra das cores do resistores na hora de montar um circuito, existe uma solução mais prática que a minha antiga solução de guardar um papelzinho com o código de cores de resistor na carteira.

Esse programa eu encontrei na Ovi Store e funciona em aparelhos com tela de toque como o N97, 5530 & cia. O melhor é que ele é de graça.

Resistors Touch:

Scr000002

Bem simples como deveria ser, você arrasta o dedo por cada uma das barras para encontrar o seu resistor.

Ele é desenvolvido pela Offscreen Technologies, que faz um montão e mini-aplicativos como esse.

Aqui você encontra o Resistors Touch: Ovi Store.

Continuar lendo Código de cor de Resistores