Roberto Colistete Jr.

Blog sobre computação científica e móvel : Mathematica, Python, CUDA, smartphone & tablets, Linux, etc

Archive for the ‘Linux’ Category

Sistema operacional Linux

Novidades do Sailfish OS e smartphone Jolla

Posted by robertocolistete em 07/10/2013

Novos detalhes de especificações do smartphone Jolla foram anunciados oficialmente no site da Jolla no final de Setembro :

Especificações do smartphone Jolla

Especificações do smartphone Jolla

A CPU é um processador Qualcomm Snapdragon com dois núcleos @ 1,4 GHz com suporte a 4G/LTE, ainda não determinado pois há alguns modelos diferentes que se encaixam nessa configuração. Comparado ao Nokia N9/N950 onde foi testado o Sailfish desde 2012 com boa velocidade, tal processador do smartphone Jolla eu estimo como 3x a 6x a velocidade do Cortex A8 com 1 núcleo @ 1.0 GHz.

A memória RAM é de 1GB, sendo um ponto de críticas de parte da comunidade, principalmente usuários Android acostumados com smartphones topo-de-linha com 2 ou mesmo 3 GB de RAM. Deve-se lembrar que o Nokia N9 tem os mesmos 1 GB de RAM e tem ótima multitarefa (inclusive com miniaturas animadas) e mesmo o iPhone 5S recentemente lançado tem 1 GB de RAM, e iPhone 4/4S têm somente 512 MB de RAM. Sendo o Sailfish OS um sistema operacional móvel optimizado então não precisa de tanta RAM quanto o Android que é pesado com a máquina virtual Java/Dalvik, porém a Jolla cita que aplicativos Android rodarão dentro do Sailfish OS, então a questão é se a multitarefa de aplicativos Sailfish + softwares Android funcionará bem com 1 GB de RAM, mas a Jolla afirma que sim.

Em termos de memória para arquivos, são 16 GB internos mais expansão via cartão MicroSD (possivelmente até 32 ou 64 GB), algo louvável pois muitos smartphones atuais não tem capacidade de expansão.

A tela de 4,5″ LCD IPS com resolução qHD (quarter HD) de 960 x 540 pixels é também alvo de algumas críticas da comunidade, muitos queriam resolução HD (1280 x 720). Tal resolução qHD em 4,5″ implica em 245 PPI (pontos por polegada), pouco abaixo do Nokia N9 (251 PPI, 854×480 pixels em 3,9″) e do Motorola Razr / Samsung Galaxy S4 Mini (256 PPI, mesmos 960 x 540 só que em 4,3″), melhor que o Samsung Galaxy S2 (217 PPI, 800×480 pixels em 4,3″) e igual a algumas dezenas de smartphones com tela idêntica (HTC Desire, etc). Outro aspecto é que a tela de 3,9″ do Nokia N9 é AMOLED (que aparenta menor resolução devido a sub-pixels maiores) e a do Jolla smartphone não é. É bom valorizar que a jolla ousou mais que a Apple que têm todos os iPhone com telas de 3,5″-4,0″. Esse tamanho de 4,5″ se encaixa na faixa mais popular de tamanhos de tela (4,3″-4,7″).

1a foto vazada de um usuário do smartphone Jolla

1a foto vazada de um usuário do smartphone Jolla (mercado negro ?), mostrando a tela “About” com 1,5GB usados dentre 14,2GB de memória flash, identidade Bluetooth, WiFi, IMEI e versão 0.98 do Sailfish OS.

Sailfish OS com Qt 5 e Wayland

Quanto ao Sailfish OS, em 01/08/2013 foi anunciada uma grande mudança principalmente no ponto de vista de programação : uso de servidor gráfico Wayland no lugar de X11 e Qt5 & Qt Quick 2 no lugar de Qt 4 & Qt Quick 1.

Anúncios

Posted in Linux, Mer Nemo Sailfish, Smartphones | Leave a Comment »

Ubuntu Touch 13.10 : instalando e usando

Posted by robertocolistete em 06/10/2013

(19/10/13) Ubuntu Touch 13.10 estável foi lançado em 17/10/13 como esperado. Estamos a 11 dias do lançamento da versão Ubuntu Touch 13.10 estável, Com quase tudo já funcionando (WiFi, 3G, chamadas, etc), até lá nos últimos dias teve muitas correções de bugs e adição de alguns recursos (servidor gráfico Mir entrando no lugar de SurfaceFlinger em 7 ou 8 de Outubro, por exemplo). Veja nas notas de lançamento do Ubuntu 13.10 que certos recursos não estão disponíveis ou ainda temos bugs : sem vibração em chamadas e SMS, eventos no “Calendar” não podem ser editados, “Camera” não faz vídeos, “Clock” não tem alarmes totalmente funcionais, teclado virtual não funciona em modo horizontal no lado esquerdo, etc.

Como o artigo anterior “Ubuntu Touch no Nexus 4 : instalando e testando” ficou muito grande e com algumas informações desatualizadas devido à evolução do Ubuntu Touch, então vejamos o que mudou na instalação do Ubuntu Touch.

Instalação do Ubuntu Touch no Nexus 4

Os ítens (1) e (2) de “Instalação do Ubuntu Touch no Nexus 4” são mantidos. Mas a instalação do Ubuntu Touch mudou pois o comando “phablet-flash” agora tem mais opções, onde a flipped image agora se chama CDimage flipped image, logo para instalar devemos usar (PC com Ubuntu conectado ao Nexus 4 via cabo USB) :

$ sudo phablet-flash cdimage-touch -b

O “-b” é só na 1a vez para instalar o bootstrap no Nexus 4,, depois para atualizar o Ubuntu Touch usa-se o mesmo comando sem o “-b”. Tem um novo padrão de imagem Ubuntu Touch chamado Ubuntu System image, que torna mais fácil atualizar (via o próprio Ubuntu Touch), porém o sistema de arquivos para tanto fica só no modo leitura, impedindo de instalar programas via “apt-get”, “dpkg -i”, etc. Logo, se você quer experimentar bastante o Ubuntu Touch, eu recomendo a instalação de imagem “cdimage-touch”.

Usando o Ubuntu Touch no Nexus 4

Além de acesso ao terminal via conexão USB :

$ sudo adb root
$ sudo adb shell

em Setembro o ssh (openssh-server) passou a ser já instalado, porém desabilitado. Para habilitar a conexão via ssh, basta :

$ sudo rm /etc/init/ssh.override

Por enquanto, o ajuste de tempo para entrada no modo de economia de energia (com tela em branco e pausando até comandos via ssh !) está desabilitado em “System Settings -> Battery” e temos que digitar manualmente o comando :

$ sudo powerd-cli display on &

Ao final temos Ubuntu Touch 13.10 (quase final), as Core Apps já instaladas, 3G para dados funcionado, instalação de programas extras (formato click), etc.

Reinstalação do Android no Nexus 4

Siga os passos : fazer download da imagem do Android do Nexus 4, usar um PC com Ubuntu para extrair a imagem em um diretório, pressionar os 3 botões do Nexus 4 para entrar no modo bootloader e então digitar no PC com Ubuntu (dentro do diretório descompactado) :

$ sudo run adb reboot-bootloader
$ sudo ./flash-all.sh

Isso gasta uns 80-90s. Atenção que tudo é apagado no Ubuntu Touch.

Posted in Linux, Smartphones, Tablets | 5 Comments »

Ubuntu Touch no Nexus 4 : instalando e testando

Posted by robertocolistete em 26/05/2013

Vamos ver nessa matéria o Ubuntu Touch 13.04 na prática, com instalação, testes e usos no smartphone Google (LG) Nexus 4. Focando em mostrar o que não é visto em outras matérias.

(06/10/2013) Para instalação do Ubuntu Touch 13.10 recente,  vide novo artigo.

Ubuntu Touch roda no smartphone Nexus 4 com suporte oficial da Canonical, que chegou no mercado brasileiro no final de Março por R$1.699, mas em Maio tem tido uma ou outra promoção por aprox. R$1,3 mil. Segundo algumas matérias, o Nexus 4 é o melhor smartphone para rodar Ubuntu Touch, inclusive supera o Nexus 7 que tem problemas de desempenho e instabilidade.

No início de 2013 foi anunciado o Ubuntu for Phone / Ubuntu Touch para smartphones e tablets, vide matéria anterior Ubuntu Phone OS : ponto de vista de usuário e programador.

Instalação do Ubuntu Touch no Nexus 4

É muito simples instalar o Ubuntu Touch no Nexus 4, basicamente se segue o guia “Ubuntu Touch – Install” da Canonical. Vide também essa matéria “How To Install The Ubuntu Touch Preview On Your Nexus Android Device” com fotos dos passos abaixo.  Há 3 etapas :

1) Instalar o software “Touch Developer Preview Tools” em um computador com Ubuntu 12.04/12.10/13.04 via comandos (no X Terminal, em conta de usuário com permissão administrativa) :

$ sudo add-apt-repository ppa:phablet-team/tools
$ sudo apt-get update
$ sudo apt-get install phablet-tools android-tools-adb android-tools-fastboot

2) Desbloquear o bootloader do Nexus 4. Isso apaga todo o conteúdo prévio do Nexus 4, zerando o Android 4.2.2 que vem nele, logo faça backup. Ligue o Nexus 4 com os 3 botões físicos pressionados ao mesmo tempo, aí entra na tela de bootloader (com um robozinho verde deitado). Conecte o cabo microUSB-USB entre o computador e o Nexus 4, digite no computador :

$ sudo fastboot oem unlock

e confirme no Nexus 4 que quer desbloquear (unlock). Então aperte o botão direito de desligar. Habilite então no Android do Nexus 4 o modo de depuração USB (USB debugging) via “Settings (Configurações) > About (Sobre)”, tocando 7 vezes no número da versão de build number (último ítem, abaixo da versão do kernel) tal que aparece um aviso de que entrou no modo “developer” (desenvolvedor). Vá em “Settings (Configurações) > Developer options (Opções do  desenvolvedor)” e habilite a opção “USB debugging / Depuração USB”. Por fim, digite no computador :

$ sudo adb kill-server
$ sudo adb start-server

Após tal comando, conecte novamente o cabo USB entre o computador e o Nexus 4, e confirme no Nexus 4 que aceita a chave de segurança (host key).

3) (06/10/13, ultrapassado, vide novo artigo) Instalar o Ubuntu Touch no Nexus 4. Digite no computador, com o cabo USB conectado entre com o Nexus 4 :

$ sudo phablet-flash -b

Android 4.2.2 do Nexus 4 se despedindo enquanto que o Ubuntu Touch está sendo gravado


Android 4.2.2 do Nexus 4 se despedindo enquanto que o Ubuntu Touch está sendo gravado

Tela de entrada (boas-vindas) do Ubuntu Touch no Nexus 4


Tela de entrada (boas-vindas) do Ubuntu Touch no Nexus 4

Essa fase é mais demorada, com downloads de alguns arquivos (de aprox. uns 500 MB), descompactação em “~/Downloads/phablet-flash/” no computador, cópia para o Nexus 4 e por fim instalação no Nexus 4. Comigo gastou uns 20 minutos.

Pronto, agora o Nexus reinicializará e mostrará em uns 30s a tela de entrada do Ubuntu Touch.

Usando o Ubuntu Touch no Nexus 4

Deslize da direita para esquerda para destravar a tela de entrada, embora o círculo mostrando eventos sugira fazer um movimento circular, etc. Não vou abordar aqui como usar a GUI (Graphical User Interface) do Ubuntu Touch, várias matérias falam sobre isso, por exemplo essa da ArsTechnica.

Até agora (26/05/2013), a GUI está bem limitada, com poucos softwares funcionando, várias partes da GUI ainda estão sem interação, etc. Tal que na prática atualmente é necessário acessar a interface de comando-de-linha (CLI – Command Line Interface) para por exemplo  instalar mais programas, via acesso (USB ou rede WiFi) a partir de um computador ou Terminal instalado no Ubuntu Touch.

Os softwares abertos no Ubuntu Touch são mostrados em miniaturas, porém sem animação


Os softwares abertos no Ubuntu Touch são mostrados em miniaturas, porém sem animação.

Um toque demorado sobre uma miniatura mostra o X para fechar os softwares abertos


Um toque demorado sobre uma miniatura mostra o X para fechar os softwares abertos.

Conectando o Ubuntu Touch do Nexus 4 a um computador

O 1o passo é conectar o computador ao Nexus 4 via USB e fazer a comunicação via adb (Android Debug Bridge). No computador digite :

$ sudo adb root
$ sudo adb shell

(13/07/2013) Para ‘flipped images’, agora “adb shell” cai diretamente no Ubuntu, não sendo mais necessário rodar chroot. Se quiser usar “legacy” images, com Android e chroot, então o último comando mostra o prompt dentro do Android do Nexus 4, “root@android:/ #”. Para entrar no Ubuntu Touch (que é um chroot em cima de um Android simplificado, sem Dalvik, etc), digite então no Nexus 4 :

$ ubuntu_chroot shell

Pronto, agora você tem o prompt de root no Ubuntu Touch : “root@ubuntu-phablet:/#” ! Caso queira mudar para o usuário default “phablet”, digite “su – phablet”, a senha também é “phablet”.

(06/10/13, ssh já vem instalado, vide novo artigo) Agora sim podemos instalar o servidor ssh no Nexus 4 para termos acesso via WiFi (sem precisar de conexão USB). Em “Networks” (deslize de cima para baixo no símbolo de sinal de antena), escolha a rede WiFi a que você tem acesso. Digite como usuário ‘root’ ou ‘phablet’ no Nexus 4 :

$ sudo apt-get install openssh-server

Eu recomendo configurar o roteador WiFi para atribuir um IP fixo ao Nexus 4, facilitando colocar atalhos nas conexões ssh/sftp no computador para o Nexus 4. Mas caso não tenha IP fixo, obtenha o IP do Nexus 4 via comando “$ ip addr show wlan0”. Então no computador, basta digitar o  comando “ssh phablet@<número IP>” para conectar via WiFi com o número IP obtido antes.

Testando o Ubuntu Touch

Para tirar a dúvida se é Ubuntu 12.10 ou 13.04 após o instalar o Ubuntu Touch em 25/05/2013, nada melhor que o comando ‘lsb_release’ :

phablet@ubuntu-phablet:~$ lsb_release -a
No LSB modules are available.
Distributor ID:    Ubuntu
Description:    Ubuntu 13.04
Release:    13.04
Codename:    raring

Ou seja, já é a versão 13.04 Raring Ringtail em versão ARM (armhf) com kernel Linux v3.4.0 :

phablet@ubuntu-phablet:~$ uname -a
Linux ubuntu-phablet 3.4.0-1-mako #7-Ubuntu SMP PREEMPT Wed May 15 19:53:54 UTC 2013 armv7l armv7l armv7l GNU/Linux

Ubuntu Touch versão 13.04 armhf (ARM hard-float)


Ubuntu Touch versão 13.04 armhf (ARM hard-float).


Python 2.7.4 já vem instalado e IPython 0.13.2 é disponível no Ubuntu Touch 13.04.

O Ubuntu Touch não usa servidor gráfico X11, mas sim SurfaceFlinger do Android (e futuramente Mir). E toda a GUI tem que ser feita em Qt5 ou HTML5. Por isso há poucos softwares com GUI até agora. Alguns que comporão o conjunto básico de softwares do Ubuntu Touch estão sendo desenvolvidos, são as Core Apps, com previsão para versão estável em Outubro de 2013 (Ubuntu Touch 13.10).

(06/10/13, Core Apps já vem instaladas, vide novo artigo) Para instalar Core Apps que ainda não estão inclusas no Ubuntu Touch atual :

$ sudo apt-get install ubuntu-terminal-app ubuntu-filemanager-app ubuntu-docviewer-app
$ sudo apt-get install ubuntu-clock-app ubuntu-emailclient-app ubuntu-rssreader-app
$ sudo apt-get install ubuntu-youtube-app ubuntu-facebook-app ubuntu-music-app

Use o “Search” (topo esquerdo superior da tela) para encontrá-las e rodá-las. Recomendo o Terminal e File Manager, tal que se possa usar sozinho o Nexus 4 com Ubuntu Touch, quando necessário.

Porém é nos softwares que não precisam de GUI que o Ubuntu é hoje muito forte, com dezenas de milhares de pacotes de instalação disponíveis, muitos são softwares de PC desktop e que usualmente não estão disponíveis (completos) para sistema operacionais móveis (Android, BlackBerry OS, iOS, Symbian, etc). Por exemplo linguagens de programação e softwares científicos : gcc/g++/gfortran (4.7.3), compilador TeX/LaTeX, CAS Maxima (5.29.1), módulos e ferramentas Python como IPython (0.13.2), MPMath, NumPy (1.7.1), MatPlotLib (1.2.1), SciPy (0.11.0), SymPy (0.7.2), etc. Basta instalar via “sudo apt-get install <nome-do-pacote>”.

IPython Notebook 0.13.2 rodando SymPy 0.7.2


IPython Notebook 0.13.2 rodando SymPy 0.7.2 com renderização MathJax/TeX das expressões matemáticas.

IPython Notebook 0.13.2 rodando os novos gráficos do SymPy 0.7.2


IPython Notebook 0.13.2 mostrando os novos gráficos do SymPy 0.7.2, embutidos no Notebook.

O IPython 0.13.2 roda inclusive com a interface de Notebook, vide fotos acima. No modo servidor e parcialmente no modo cliente. Parcialmente devido ao estágio de desenvolvimento atual do navegador web do Ubuntu Touch. IPython Notebook cliente funciona com DashBoard, abertura de IPython Notebooks já existentes, renderização MathJax e gráficos PyLab embutidos, cálculos, etc. Mas IPython Notebook não permite criar “New Notebook” (acho que falta poder criar aba ou nova janela no navegador web atual), longos Notebooks não são exibidos totalmente (o rolamento pára) e alguns botões não têm o toque preciso.

Atualização de 01/06/2013 do Ubuntu Touch

Em 1o de Junho foi lançada uma atualização relevante para o Ubuntu Touch, com novos recursos facilitando o uso do smartphone (Google Nexus e Nexus 4) para voz, SMS, 3G com dados, mais estabilidade, etc. O 3G para dados por enquanto tem configuração manual, mas para Junho está prometido que isso será feito via uma interface gráfica.

Para atualizar para essa nova versão do Ubuntu Touch é muito simples, via cabo USB ligando o PC com Ubuntu ao Nexus 4, digite no terminal do PC com Ubuntu :

$ sudo phablet-flash

Veja que é o mesmo comando para instalar o Ubuntu Touch na 1a vez, porém sem o “-b”. Depois o Nexus 4 reinicializa e pronto, temos o Ubuntu Touch atualizado. O diretório home (“/home/phablet/”) é preservado, mas todo o Ubuntu Touch é reinstalado, logo se você tinha instalado programas extras, então tem que reinstalar, vide exemplos mais acima.

Ainda usando a versão de 01/06/2013, testei fazer e receber chamadas de voz e enviar SMS, tudo funcionou 100%, sem ressalvas.

Flipped Ubuntu Touch images (03/07/2013)

Em 03/07/2013 foi anunciado que o Ubuntu Touch usaria a partir de então imagens ‘flipped’ (vide matérias de  ILoveUbuntu e Liliputing) como padrão, i.e., em que o Android está dentro do Ubuntu (via LXC container), ao contrário de antes em que o Ubuntu estava dentro do Android (via chroot). Logo, para abrir um terminal dentro do Ubuntu Touch via cabo USB de um PC,  só é necessário “sudo adb root” e depois “sudo adb shell”.

A atualização para tal Flipped Ubuntu Touch images é como antes (vide acima), via “sudo phablet-flash”. Caso queira usar a versão com chroot, então atualize via “sudo phablet-flash –legacy” (com 2 ‘-‘), mas não vi razões práticas para manter a versão legacy.

Principais novidades encontradas na versão de 06/07/2013 (versão diária que eu instalei) em relação a versão de Junho de 2013 : Ubuntu Touch 13.10 (ao invés de 13.04), Linux kernel 3.4.0-3 (no lugar de 3.4.0-1), vários softwares já vem incluídos (File Manager, Terminal, System Settings, etc), softwares em versões mais completas e com menos bugs (Terminal, File Manager, System Settings, Music, etc), screenshot disponível (vide abaixo), Python 2.7.5 (versus 2.7.4), gcc/g++ 4.8.1 (ao invés de 4.7.3), etc.

No Ubuntu Touch de Julho de 2013 há mais softwares pré-instalados


No Ubuntu Touch de Julho de 2013 há mais softwares pré-instalados, incluindo File Manager, System Settins e Terminal.

System Settings é uma novidade do Ubuntu Touch de Julho de 2013


System Settings é uma novidade do Ubuntu Touch de Julho de 2013.

Para fazer screenshot agora tem uma forma oficial, vide “Getting a screenshot” em “Ubuntu Touch Dogfooding”, aqui criando uma imagem ‘screenshot.png’ no diretório ‘/tmp/’ e copiando para o PC via cabo USB :

$ sudo adb root
$ sudo adb shell /system/bin/screencap -p /tmp/screenshot.png
$ sudo adb pull /tmp/screenshot.png ./screenshot.png

A forma mais completa para atualizar o Ubuntu Touch é  via “sudo phablet-flash” em um PC (com Ubuntu) com USB conectado ao Nexus 4. Atualizações via “sudo apt-get upgrade” (no Nexus 4) não atualizam todos os softwares do Ubuntu Software, p.e., System Settings, etc.

Opinião sobre Ubuntu Touch no Nexus 4

Pontos positivos atuais, na minha opinião :

  • instalação muito fácil no Nexus 4;
  • a interface do Ubuntu Touch roda suavemente no Nexus 4, tendo controles swipe (deslizar do dedo) para tudo, sem precisar de botões, à la MeeGo Harmattan 1.2 do Nokia N9;
  • Ubuntu Touch tem multi-tarefa de verdade, em que o usuário controla realmente se e quando o software é mantido aberto ou fechado, ao contrário de Android, iOS, Windows Phone, etc. As miniaturas não são animadas que nem no Maemo 5 (Nokia N900), MeeGo Harmattan 1.2 (Nokia N9) e BlackBerry OS, sendo semelhantes às do Symbian;
  • toda herança de milhares de pacotes Linux de desktop desenvolvidos nas últimas décadas à disposição de smartphones e tablets, desde que não tenham GUI. Assim temos servidores Internet, ferramentas diversas, dezenas de linguagens de programação, softwares científicos avançados, etc. Vários desses softwares não tem equivalentes em sistemas operacionais móveis (exceto Maemo, MeeGo e Mer/Nemo/Sailfish que são Linux móveis) ou somente têm versões simplificadas;
  • via testes de desempenho que eu fiz com alguns programas de cálculos (assunto de futura matéria) que mostram que o Ubuntu Touch é bem mais eficiente em uso de CPU que o Android no mesmo hardware (Nexus 4, etc) em termos de cálculos em C/C++ e Python, inclusive permitindo o uso fácil de múltiplos núcleos nos cálculos (OpenMP, etc).

Pontos negativos e/ou que precisam ser resolvidos :

  • a interface do Ubuntu Touch ainda está preliminar, com algumas funcionalidades sendo por enquanto decorativas, sem funcionar realmente. Mas até Outubro de 2013 o Ubuntu Touch deverá estar completo e estável, segundo a Canonical;
  • ícones grandes na interface desperdiçam a tela HD do Nexus, com poucos ícones visíveis por vez, o ideal seria o tamanho dos ícones, espaçamento, etc, serem configuráveis;
  • o teclado virtual não tem tecla “Ctrl”, isso poderia ser resolvido com diferentes opções de teclado virtual;
  • (12/06/2013, 13/07/2013 : como fazer screenshot sem X11 no Ubuntu ? Como aumentar o tempo de economia de energia que apaga a tela ? RESOLVIDO, via Ubuntu Touch Manager para Ubuntu de PC, porém meio instável, ou via ‘adb shell /system/bin/screencap’ disponível na atualização de 07/2013 (vide abaixo);
  • (12/06/2013 : a estabilidade melhorou com a versão de 01/06/2013) em algumas horas de uso, experimentei o editor de notas fechando sozinho e forçando fechamento de outros 3 softwares que estavam abertos, bem como o navegador web ficar instável, fechando outros softwares e provocando reboot no Nexus 4;
  • (12/06/2013, 13/07/2013) Terminal não suporta rolamento via toque, modo paisagem (landscape) não funciona bem (gestos continuam em modo vertical, portrait), não consigo abrir 2 terminais, alguns botões dos painel tem texto abreviado (…) tamanho default do texto não mostra os caracteres direito enquanto digita logo é preciso aumentar;
  • navegador web não pode ser aberto mais de uma vez e não permite abas. Não tem por enquanto opções de configuração, bookmaks, etc;
  • a falta de interface gráfica X11 impede milhares de softwares Linux de funcionarem no Ubuntu Touch. O novo Qt5 (de 12/2012) é um pouco diferente do Qt4, logo há poucos softwares em Qt5 disponíveis atualmente, isso mudará somente a médio e longo prazos;
  • centenas de programas em Python com GUI precisam de PyQt e/ou PySide (feitos para Maemo 5, MeeGo, Mer/Nemo/Sailfish), mas ambos ainda não estão compatíveis para Qt5 (somente para Qt4). PyQt5 “development snapshots” foram lançados em início de Maio de 2013, logo em poucos meses PyQt5 deve estar disponível estável nos repositórios Ubuntu. Mas o projeto PySide ainda está atrasado em Qt5 por falta de colaboradores.

O que o Ubuntu Touch promete até lançamento oficial da v13.10 ? Bem : 3G de dados via interface gráfica, uso de Click como formato simplificado de arquivos de instalação (no lugar dos .deb, sem suporte a dependências, etc, vide artigos do site ILoveUbuntu, 1 e 2), servidor gráfico Mir (no lugar do SurfaceFlinger do Android), vários softwares funcionais ou com mais recursos (navegador web, etc), etc. Enfim, eu aposto no Ubuntu Touch e Sailfish OS em final de 2013 em diante, podendo mudar o panorama de sistemas operacionais móveis para algo bem diferente das limitações de Android, iOS, etc.

Futuras matérias abordarão benchmarks no Nexus 4, etc.

Posted in Linux, Python, Smartphones, SymPy, Tablets | 26 Comments »

Smartphone Jolla lançado : sua outra metade

Posted by robertocolistete em 20/05/2013

Hoje (20/05/2013) foi o “Jolla Love Day” com o tão esperado lançamento do smartphone da Jolla rodando o Sailfish OS. A Jolla já tinha lançado o Sailfish OS em 11/2012, depois teve o Sailfish SDK em Fevereiro (para Linux) e Abril (para Mac OS e Windows) desse ano, então só faltava o hardware próprio (ao invés de Nokia N9/N950 para testes do Sailfish OS) para tudo ficar completo e a comunidade Sailfish ficar confiante.

Jolla smartphone mostrando as duas metades com cores diferentes.

Encomende o smartphone Jolla, agora !

Antes dos detalhes, o que mais interessa e é importante : você já pode encomendar o smartphone Jolla, vá no site Join.Jolla.com e escolha uma das 3 opções de pré-compra/encomenda que você quer, direto da Finlândia. A 1a opção com camisa e bônus de EUR 100 é por enquanto limitada a 8 países europeus, mas a 2a de EUR 40 e a 3a sem pré-pagamento são abertas para uns 100 países. O interesse nessa pré-encomenda será um dos critérios usados pela Jolla para determinar quais mercados/países serão atendidos com disponibilidade (local ?) do smartphone Jolla. Sobre dúvidas de encomenda/compra do smartphone Jolla, vide as FAQ’s.

Quanto ao smartphone Jolla ele tem parte do seu hardware anunciado, mas sem todos os detalhes : CPU dual-core, tela de 4,5″ aprox. HD, 4G em alguns países, 16GB internos + micro-SD (não vi a entrada), câmera de 8 MPixels com alto-foco, bateria removível, Sailfish OS, bem como o Myriad Alien Dalvik para rodar softwares Android. Custará EUR 399 e estará sendo entregue no mercado no 4o trimestre de 2013 (em certos países), com distribuição local em alguns países e para outros com venda e envio internacional via a loja online da Jolla.

Há vários detalhes do smartphone que serão definidos e respondidos pela Jolla até final de 2013 : CPU & GPU usada, tipo e resolução da tela, detalhes da câmera, capacidade da bateria, suporte a USB On-The-Go e/ou host, NFC, se a saída de áudio de 3,5mm é também de vídeo (analógico), como funciona física a conexão do “Other Half” (vide abaixo), disponibilidade em vários países, como publicar softwares na Jolla Store, etc.

Other Half –  expansão de hardware em smartphone !

Um aspecto mal entendido por boa parte da mídia e usuários no 1o dia de lançamento é o revolucionário conceito “Other Half” do smartphone Jolla. Mesmo dias após a Jolla ter lançado esse vídeo-provocativo (“teaser video”) sobre o termo “Other Half” como destaque, logo que o smartphone Jolla é lançado quase toda a mídia entendeu errado ou menosprezou esse conceito de hardware e software. Basicamente a parte de trás do smarpthone Jolla pode ser trocada, que não tem somente a “capa”, mas também hardware inteligente que se comunica com a parte da frente e principal do smartphone. Na demonstração da Jolla, mostraram capas coloridas inteligentes que avisam (via NFC ?) o Sailfish OS sobre a cor e o tema do Sailfish é alterado de acordo. Mas há várias possibilidades para a parte “Other Half” (Outra Metade) do smartphone Jolla : brindes artísticos (de grupos musicais, etc, que adicionariam links e outros conteúdos), módulo com flash de câmera melhor, módulo com bateria extendida, módulo com teclado físico, etc. Isso está citado em duas matérias/entrevistas :

Entrevista da PocketNow com Marc Dillon da Jolla : “… if you’re going to a club you might want to snap on a back that has a big flash and maybe a big camera button or something. You might also want additional battery capacity, and you may also use a cover with at thin battery to bring that functionality.”

“P: I’m sure you’re aware that one of the biggest other-half possibilities we’ve heard, on Twitter and in comments, is one that supports a physical QWERTY keyboard. Is that a possibility?

MD: I have a big smile on my face! The sky is the limit, and the imagination is the limit for what can be done with the other-half.”

Entrevista da TechCrunch com o mesmo Marc Dillon da Jolla : “Jolla’s Other Half isn’t just decoration but links to the software on the handset — using an unconfirmed bridging technology that sounds to my ear like NFC — allowing content on the phone to be tied to the addition of a new shell, or even for new physical features to be incorporated and supported.”

(21/05/2013) Matéria da PocketNow – Jolla’s ‘Other Half’ is the Type of Innovation the Stale Smartphone Market Needs : a metade final dessa matéria aborda o conceito “Other Half” e suas possibilidades.

(22/05/2013) Matéria do Jolla Users –  My Lost Other Half : discute o conceito “Other Half”.

(23/05/2013) Matéria da Jolla Tides – Share Your Ideas: Your Dream Other Half : várias sugestões the “Other Half” por parte da comunidade.

Jolla smartphone tem multi-tarefa real com miniaturas vivas dos softwares rodando.

Minha opinião sobre o primeiro smartphone Jolla :

  • o processador dual core pode ser desde ARM Cortex A9 (de 1a a 3a geração) até Cortex A15, ou outras famílias, variando de 1,2 a 3,0 GHz. Eu acho improvável ter processador Intel. Comparado ao processador com 1 núcleo Cortex A8 @ 1 GHz do Nokia N9, é de se esperar um desempenho de CPU entre 4x a 12x. Isso e as demonstrações em vídeo mostram que o Sailfish OS roda bem fluido no smartphone Jolla;
  • a tela de 4,5″ foi possivelmente escolhida pois é um tamanho popular em 2012/2013 (entre 4″ e 5″). É impossível agradar a todos, uns queriam o mesmo tamanho de 3,9″ do Nokia N9, outros queriam 5,0″ (um “phablet”). Uma crítica após o anúncio é a borda superior e inferior à tela, o que aumenta o tamanho do smartphone, na verdade essa área não é tão grande mas em outros smartphones o formato é mais arredondado o que diminui tal impressão. (24/05/2013) A Jolla já esclareceu que o smartphone Jolla terá bordas menores que a do protótipo exibido em 20/05;
  • ter cartão Micro-SD e bateria removível são pedidos comuns de usuários avançados Maemo e MeeGo, que a Jolla satisfez (p.e., o Nokia N9 não tem esses recursos);
  • o grande destaque do hardware será a medida que forem lançadas opções “Other Half”, algo inédito no mundo de smartphones, permitindo algo análogo à personalização de PC’s desktops. Milhares de usuários estão esperando por um teclado físico (HKB – Hardware KeyBoard) como “Other Half” e há várias sugestões interessantes de usuários (módulo com carregador solar, etc);
  • no sistema operacional, o destaque para usuários não-iniciantes é a multi-tarefa real com miniaturas animadas dos softwares, que é algo raro, só vista no Maemo, MeeGo Harmattan e BlackBerry OS. Android, iOS e Windows Phone não tem nada semelhante, Symbian e Ubuntu Touch tem miniaturas porém sem animação;
  • o recurso de rodar softwares Android via Myriad Alien Dalvik será um grande trunfo da Jolla, algo semelhante ao que a BlackBerry fez para já começar com dezenas de milhares de softwares disponíveis nos primeiros dias. Resta saber como ocorrerá a instalação dos softwares Android no Sailfish OS, i.e., se usará Google Play Store ou loja da Jolla, se poderá instalar .apk diretamente em arquivos, etc;
  • para usuários de Linux, ainda mais Linux mobile prévios (Maemo e/ou MeeGo Harmattan), a Jolla com seu smartphone rodando Sailfish OS é o caminho natural de continuidade, adicionando novos recursos (citados acima) ao que o Maemo e MeeGo já faziam. O principal é que o Sailfish OS é baseado no Mer / Nemo, sendo quase uma distribuição Linux de PC desktop, com kernel Linux, X11, glibc normal, terminal, gcc, Python, Qt, etc. Tal conjunto de ítens está ausente não só no Android (usa bionic no lugar de glibc, não tem X11, etc) mas também no Ubuntu Touch (não tem X11 e o Linux roda via chroot dentro de um Android simplificado).

Nesse primeiro dia eu pré-encomendei o smartphone Jolla por EUR 40 (obviamente depois serão cobrados os EUR399 quando for entregue), opção válida para o Brasil, com direito a camisa Jolla. Tem chance de nunca chegar no Brasil, mas se a comunidade brasileira demonstrar interesse encomendando então  a Jolla verá que o mercado brasileiro vale à pena (fazer certificação na Anatel, etc) e o smartphone Jolla será lançado no Brasil. Até final de 2013 eu pretendo lançar uns softwares para o Sailfish OS com interface gráfica (herdados do Maemo & MeeGo, em Python e Qt), bem como manter (empacotar, etc) vários outros softwares (módulos Python SymPy, IPython, etc).

Matérias sobre o smartphone Jolla :
TechCrunch – Jolla’s Software Chief Says Co-Creation Is What Makes The MeeGo Startup’s Phone Hardware So Special : boa matéria sobre o conceito “Other Half”.
PocketNow – “We are offering something brand new.” An interview with Jolla co-founder Marc Dillon e (21/05/2013) PcketNow – Jolla’s ‘Other Half’ is the Type of Innovation the Stale Smartphone Market Needs : boas matérias sobre o conceito “Other Half”.
TechCrunch – Finnish MeeGo Startup Jolla Reveals First Phone: 4.5″ Display, Customisable Shells, $513 Price-Tag, Shipping At Year’s End
Engadget – The first Jolla phone: 4.5-inch display, Android app compliant, 399 euros.
Engadget – A tour of the Jolla phone with company co-founder Marc Dillon (video) : bom vídeo de 2min18s mostra bem as miniaturas animadas da multi-tarefa dos softwares rodando.
Liliputing – Jolla’s first Sailfish smartphone coming this year for about $500.
The Verge – Jolla prices first Sailfish OS smartphone at €399 for a 2013 launch  The spiritual successor to the Nokia N9?
TheNextWeb – Jolla unveils its first Sailfish OS smartphone, launching in Europe before end of 2013 for €399.99.
BBC New Technology – Ex-Nokia team makes rival smartphone Jolla.
NBC News Technology – Ex-Nokia team creates two-part ‘Jolla’ mobile phone.
(21/05/2013) sfietkonstantin blog – Announcement of Jolla phone, joy and sadness : muito boa análise da superficialidade de parte da mídia e usuários sobre o lançamento do smartphone Jolla.
(22/05/2013) sfietkonstantin blog – Announcement of Jolla phone, between professionalism and failure.
(22/05/2013) Nokia Gadgets – Chinese investor sees Jolla’s possibilities in China.
(22/05/2013) Smart Gadgets Central – Interview with Head of Software Development Marc Dillon
(22/05/2013) Jolla Users –  My Lost Other Half.
(23/05/2013) Jolla Tides – Chief Designer: Confirms Final Bezel Will Be Smaller.
(22/05/2013) Jolla Users – Nokia N9 and Jolla Phone with Other Half: Comparison, Similarities, Advantages over Nokia N9 and Vice Versa. : boa comparação entre o Nokia N9 e o smartphone Jolla.
(23/05/2013) Trusted Reviews – Jolla Sailfish OS smartphone : review do smartphone Jolla e do Sailfish OS.
(12/06/2013) IBTimes – Jolla Smartphone Attracts Interest From Around the Globe : a pré-venda do smartphone da Jolla atraiu pessoas de 118 países, um 2o smartphone já está sendo projetado pela Jolla, e a produção do 1o smartphone deve começar no final de Junho.

Vídeos :
Jolla revelead : oficial, 48s.
Participate. Contribute. Join the Tribe! : oficial, 39s.
Jolla Love Day : apresentação oficial (mas com direito a cervejas !), 10min27s.
Hands-on preview Jolla phone : da KickNetwork, 6min43s, muito bom. Entre 30s-39s compara o tamanho com Nokia N9 e iPhone 4. Entre 3min30s e 4min15s mostra a multi-tarefa real atualizando a miniatura do software de vídeo.
Jolla Launch Interview, “We Have No Direct Competitors, This Is a Different Ball Game…” : da KickNetwork, 3min48s, com Antti Saarnio, CEO da Jolla.
(15/08/2013) Jolla Sailfish OS UI Hands-On Demo Review : da CrystalTechHD, 2min22s.

Posted in Linux, Maemo, MeeGo, Mer Nemo Sailfish, Nokia N9, Smartphones | 2 Comments »

Ubuntu Phone OS : ponto de vista de usuário e programador

Posted by robertocolistete em 07/01/2013

Para começar bem 2013, tivemos em 2 de Janeiro o anúncio pela Canonical do Ubuntu for Phones, ou Ubuntu Phone OS ! Que acabou surpreendendo muita gente, pois era esperado algo mais concreto sobre Ubuntu em smartphones lá perto de 2014. Vou analisar o Ubuntu Phone OS do ponto de vista de usuário e depois de programador.

Ubuntu Phone OS para usuários :

  • é um Linux móvel de verdade, tal como Maemo 5 OS (do Nokia N900) e MeeGo Harmattan OS (do Nokia N9);
  • interface sem botão frontal, usando swipe (deslizar de dedo) tal como WebOS, BlackBerry 10, MeeGo Harmattan e Sailfish OS, porém ainda mais : nos 4 cantos da tela com diferentes funções, no meio da tela, etc. Swipe leve do canto esquerdo abre barra vertical de programas favoritos, swipe completo do canto esquerdo mostra ‘Apps’ (com ‘Running apps’, ‘Frequently used’, etc), swipe completo do canto direito mostra último programa aberto, swipe do canto superior mostra “Search” ou dados dos indicadores, swipe leve do canto inferior mostra menu do programa, swipe na ‘home screen’ para esquerda ou direita mostra os conteúdos mais usados;
  • multi-tarefa real, podendo ter N programas abertos e rodando, sem ter o sistema operacional (p.e. Android, iOS e Windows Phone) congelando ou fechando programas no lugar do usuário;
  • (atualizado em 16/02/2013) previsão de smartphones já com Ubuntu Phone OS instalados para final de 2013 (vide texto da FAQ oficial), mas foi anunciado oficialmente que em 21/02/2013 terá imagens do Ubuntu para download para instalar no Galaxy Nexus (lançado em final de 2011, no Brasil se chama Samsung Galaxy X) e Google Nexus 4 (ainda a ser lançado no Brasil), para quem quiser ir experimentado;
  • com o smartphone conectado via monitor/TV e teclado/mouse (via Bluetooth ou dock), a promessa é que o Ubuntu Phone OS permitirá uma experiência de Ubuntu PC. Vide texto da FAQ oficial : “That full desktop is included in every high-end Ubuntu phone, and the phone can be managed just like an Ubuntu desktop or server, using standard Ubuntu management tools”;
  • (atualizado em 08/01/2013) : a versão Ubuntu 14.04 terá uma só imagem (x86, ARM) para rodar em desktop, tablet e smartphone.

Ubuntu Phone OS mostrando ‘Apps / Running apps’, i.e., um gerenciador de tarefas com miniaturas dos softwares abertos e rodando.

Ubuntu Phone OS para programadores :

  • é um Linux móvel de verdade, com várias linguagens e ferramentas de programação do Ubuntu desktop disponíveis para programar para Ubuntu Phone OS;
  • usa o framework Qt 5 (lançado em 19/12/2012) para programas nativos (em C/C++), com UI (User Interface) em QML / Qt Quick 2.0;
  • programas em HTML5 têm quase o status de programas nativos, com ícone, tela inteira (sem precisar de rodar dentro de navegador web) e notificações. E navegadores Chromium e Firefox estarão disponível para rodar web apps, etc;
  • kernel Linux e drivers comuns com Android em smartphones;
  • acesso a CPU e GPU de múltiplos núcleos por parte dos programas;
  • além de OpenGL ES, OpenGL completa é acessível aos programas;
  • usará arquitetura x86 e armhf (ARM com Hard Float Point), que tem melhor desempenho em CPU’s ARM mais recentes (com FPU – Float Point Unit), vide os pacotes do PPA UI-Toolkit;
  • configuração mínima de hardware para smartphone de entrada : CPU dual core, 512MB de RAM, 4-8 GB eMMC e tela de 800 x 480. Configuração recomendada para ‘super-phone’ : CPU quad core, 1 GB de RAM, 32GB eMMC, tela com 720 linhas, com ‘desktop convergence’. Vide foto do site Engadget;
  • (atualizado em 16/02/2013) a imagem para instalar no Samsung Galaxy Nexus e Google Nexus 7, bem como o código-fonte, estarão disponíveis em 21l de Fevereiro de 2013;
  • usando Ubuntu 12.04/12.10 para desktop você já pode começar a programar nativamente para Ubuntu Phone OS, pois desde o anúncio está disponível Qt 5 e Ubuntu QML Toolkit, vide “Ubuntu Go Mobile – Ubuntu App Developer“. O PPA para Qt5 é para Ubuntu 12.04/12.10/13.04, bem como o PPA “UI-Toolkit”;
  • eu instalei Qt 5 e Ubuntu QML Toolkit no meu Ubuntu 12.04 64 bits desktop, testei as demonstrações clicando nos ícones “Qt Components for Ubuntu – Component Showcase”, “Qt Components for Ubuntu – Phone Component Showcase” e “Notepad application for Ubuntu”. Para visualizar os exemplos “converter.qml” e “jokes.qml” em “/usr/lib/qt-components-ubuntu/examples/”, use no X Terminal “$ qmlscene converter.qml”, por exemplo;
  • depois será lançado o Ubuntu Phone SDK completo, com tudo já configurado para programar em C/C++, Qt e Qt Quick para Ubuntu Phone OS;
  • “Qt Components for Ubuntu” permite criar UI com alta produtividade via uso de elementos de interface em QML já prontos. Interessante o recurso “Resolution Independence” 😉 Há também versões semelhantes para outros mobile OS : BlackBerry 10 (Cascades), KDE Plasma, Mer/Sailfish, MeeGo Harmattan, Symbian, vide artigo “Components Growing”. Com isso dá para portar UI de um mobile OS para outro com facilidade.

Minhas dúvidas sobre o Ubuntu Phone OS :

  • (20/07/2013) A tela “Apps / Running apps” mostra miniaturas ‘vivas’ dos programas rodando, tal como no Maemo 5 e MeeGo Harmattan ? Resposta : não, tem imagens congeladas.
  • (20/07/2013) o modo Ubuntu desktop quando conectado a monitor/TV seria o quê ? Unity desktop armhf rodando ao invés da UI do Ubuntu Phone OS, ou a UI do Ubuntu Phone OS se adapta ao modo desktop com maior resolução de tela ? Será que a resposta é a imagem unificada do Ubuntu 14.04 para desktops, tablets e smartphones ? Só alguns smartphones com Ubuntu Phone OS teriam essa capacidade, tal como sugere a configuração ‘super-phone’ ? Resposta : ao que parece XMir rodará no Ubuntu 14.04, que permitirá rodar programas de Ubuntu desktop, usando GTK, Qt 4, X11, etc.
  • (24/01/2013) : confirmado o Terminal, ele é um dos 12 “core apps” que estão sendo desenvolvidos O X Terminal, cadê o X Terminal ? Eu quero, eu quero ! Fica a dúvida, terá X Terminal disponível no Ubuntu Phone OS ? No Maemo e MeeGo temos, no Sailfish OS também dizem que tem;
  • (20/07/2013) qualquer linguagem e ferramenta de programação poderá rodar no smartphone com Ubuntu Phone OS ?  Por exemplo gcc/g++, make, dpkg-*, Python e seus milhares de módulos ? No Maemo e MeeGo temos várias dessas ferramentas que rodam nos smartphones Nokia N900 e N9.  Resposta : C/C++/Qt 5/Qt Quick 2/HTML5 são suportados oficialmente. Python não tem como gerar GUI por enquanto pois PySide e PyQt ainda não suportam Qt 5/Qt Quick 2;
  • (20/07/2013. Atualizado em 16/02/2013) para instalar no Galaxy Nexus e Google Nexus 4, é necessário o quê ? Ter o mesmo rooteado ? Substitui o Android 4 ou é via duplo boot ? Resposta : vide “Ubuntu Touch no Nexus 4 : instalando e testando“, primeiro o Nexus 4 precisa ter o bootloader desbloqueado, aí o Ubuntu Touch substitui o Android usando as ferramentas da Canonical. Via comunidade Android é possível ter Android e Ubuntu Touch via boot duplo.

Minha opinião sobre o Ubuntu Phone OS :

  • finalmente um mobile OS novo que (aparentemente) não é “dumbed-down”, mas sim ambicioso, visando também funcionar como desktop OS;
  • gostei da ênfase de ser mobile OS com programas nativos sem camadas em Java e HTML5, ao contrário de Android, Firefox OS e Tizen;
  • (atualizado em 16/02/2013) ótimo ter um futuro em que Qt / Qt Quick sejam peça-chave do mobile OS : Sailfish OS e Ubuntu Phone OS com Linux, Blackberry 10 com QNX;
  • é um Linux móvel de verdade para disputar em 2013 com o Sailfish OS. Vejo o Sailfish OS com as seguintes vantagens : mais semelhante ao MeeGo Harmattan do Nokia N9 (que foi elogiado mundo afora), melhor desempenho em hardware mais simples (Cortex A8 do N9, p.e.), já tem alianças feitas desde 2o semestre de 2012 com operadoras e fabricantes, previsão de primeiro smartphone à venda antes de meados de 2013;
  • aposto em 2014 para o Ubuntu Phone OS deslanchar;
  • aposto que está usando X11, pois acho que Wayland ainda está muito recente e em desenvolvimento;
  • como Ubuntu desktop usa muito Python, aposto que Python e PySide estarão disponíveis para criar programas nativos usando Qt/Qt Quick, a questão é se tal solução será aceita no Ubuntu Software Center;
  • se não houver contratempos, eu pretendo portar meus softwares feitos em Python/Qt/Qt Quick Components de MeeGo Harmattan para Sailfish OS e Ubuntu Phone OS ao longo de 2013, pois esses 3 mobile OS tem grande portabilidade entre si.

Material oficial e matérias sobre o Ubuntu Phones OS :

Veremos mais novidades na MWC 2013 (25-28/02/2013) em Barcelona.

Posted in Linux, Smartphones | 1 Comment »

Python científico em computadores, tablets e smartphones

Posted by robertocolistete em 26/12/2012

Python é hoje uma das melhores linguagens para computação científica, não só pelas qualidades dela mesma, mas por causa das várias ferramentas e módulos (há mais de 26 mil hoje !) para uso de/em Python. As ferramentas e módulos Python científicos mais populares são : IPython (Python interativo, principalmente a interface Notebook lançada em 12/2012), NumPy (cálculos numéricos), MatPlotLib (gráficos 2D e 3D), SymPy (CAS – Computer Algebra System, com cálculos simbólicos como derivadas, integrais, etc). O impacto de Python e esses módulos científicos está sendo tão grande mundo afora que vários cursos de universidades de referência mundial (Harvard, MIT,  etc) estão adotando ou adotaram no lugar de softwares comerciais.

Gráfico paramétrico 3D calculado em 51s usando SymPy no Nokia N900

Gráfico paramétrico 3D calculado em 51s / 9s (1a vez / repetição) usando SymPy no Nokia N900

Gráfico de superfície 3D calculado em 36s usando SymPy no Nokia N900

Gráfico de superfície 3D, com 100×100 pontos, calculado em 36s / 30s (1a vez / repetição) usando SymPy no Nokia N900

Gráfico de densidade de f(x,y) com 150x150 pontos, usando NumPy e MatPlotLib após 10,3s no Nokia N9

Gráfico de densidade de f(x,y), com 150×150 pontos, calculado usando NumPy e MatPlotLib após 10,3s no Nokia N9

SymPy rodando dentro do IPython Notebook no Nokia N9


SymPy 0.7.2 rodando dentro do IPython Notebook 0.13.1 no Nokia N9

E uma vantagem adicional de Python é a sua portabilidade, estando disponível em grande número de sistemas operacionais, tanto de computadores pessoais (PC’s) como de tablets e smartphones. Mas e Python científico, com as citadas ferramentas e módulos ? A tabela abaixo analisa em quais sistema operacionais tais ferramentas e módulos estão disponíveis, com que facilidade de instalação e uso, etc. Foram excluídos o BlackBerry OS (para smartphones e tablets) e Windows Phone (para smartphones), pois ambos não rodam Python acessível diretamente no tablet/smartphone pelo usuário.

Características \ Sistema Operacional Linux / MacOS / Windows Android iOS Maemo 5 MeeGo Harmattan  Symbian
Equipamentos PC’s de mesa, net/notebooks, tablets (Windows 8), Linux em poucos Mini-PC’s.
Tablets, smartphones e Mini-PC’s. Vários fabricantes Tablets (iPad e iPod Touch) e smartphones (iPhone). Só da Apple Smartphone, só Nokia N900 Smartphone, só Nokia N9 Smartphones (principalmente Nokia)
Equipamento de teste Linux 64 bits no notebook Asus 1215B, AMD C-50 @ 1.0 GHz Tablet Asus Transformer, NVidia Tegra 2 Cortex A9 @ 1.0 GHz Tablet iPad 2, Apple A5 Cortex A9 @ 1.0 GHz Nokia N900, TI OMAP 3430 Cortex A8 @ 600 MHz Nokia N9, TI OMAP 3630 Cortex A8 @ 1.0 GHz Nokia E71, Freescale MXC300 ARM 11 @ 369 MHz
Facilidade de instalação do Python Simples, via repositório ou um arquivo de instalação.
Python 2.x/3.x
Complexa, com vários passos para instalar SL4A da comunidade, depois Python.
Python 2.x/3.x
Simples, instalando ‘Python Math’ (gratuito) ou ‘Python for iOS’ (US$2.99) via App Store.
Python 2.x-3.x
Simples, usando repositório.
Python 2.5.4.
Simples, usando repositório.
Python 2.6.6 (e 2.5-3.1)
Complexa, com vários passos para instalar PyS60 2.0. Python 2.5.4
Facilidade de uso de Python interativo : completa comandos, histórico, ajuda contextual, etc. Sim Shell muito limitado Shell limitado, com histórico de comandos, informação de objetos (no “Python for iOS”) Sim Sim Shell muito limitado
Facilidade de edição de código Python : editores com sintaxe colorida, completa comandos, ajuda contextual, etc. Sim Poucos editores com alguns recursos Poucos editores com alguns recursos Poucos editores com alguns recursos Poucos editores com alguns recursos Editor ”PED’ (somente no PyS60 1.4.5)
IPython IPython 0.13.1 (com Qt Console e Notebook) Não disponível Não disponível IPython 0.10.2. I.e., sem Qt Console, sem Notebook IPython 0.13.1 (com Qt Console e Notebook) Não disponível
NumPy NumPy 1.6-1.7 Não disponível Não disponível NumPy 1.4.0 NumPy 1.4.1/1.7.0 Não disponível
MatPlotLib MatPlotLib 1.1-1.2 Não disponível Não disponível MatPlotLib 1.0.0 MatPlotLib 1.2.0
Não disponível
SymPy SymPy 0.7.1-0.7.2 SymPy 0.7.x com instalação manual SymPy 0.6.7 (‘Python Math’) ou 0.7.1 (‘Python for iOS’, US$2.99) via App Store SymPy 0.7.1-0.7.2
SymPy 0.7.1-0.7.2
SymPy 0.7.x com instalação manual
SymPy com gráficos (PyGlet/MatPlotLib) Sim/Sim Não/Não Não/Não Sim/Sim Não/Sim Não/Não
Carregar SymPy 0.7.1 / calcular “integrate (x**5 / (alpha*x**2+beta)**2,x)” 0.58 / 1.83 s 2.22 s / 2.79 s 6.33 s / 3.16 s 2.3s / 10 s0.7.2 : 3.5s / 6.6s 1.7s / 5.6s0.7.2 : 2.0s / 3.1s
52.6 s / 22.8 s

Tabela 1 sobre Python científico versus sistemas operacionais, onde as cores representam : azul (bom), verde (razoável), vermelho (ruim). Ou seja, quanto mais azul melhor, quando mais vermelho pior.

No artigo “SymPy for smartphones & tablets” tem outra análise mais detalhada de Python/SymPy para smartphones e tablets, onde há inclusive instruções de como instalar Python e SymPy em todos os sistemas operacionais móveis citados acima.

Minha análise da tabela 1 quanto ao uso de Python científico :

  • os sistemas operacionais Linux, MacOS e Windows são os mais completos, com grande diversidade de hardware, quer seja PC de mesa, notebook e netbook;
  • excetuando tablets com Windows 8 que estão chegando no mercado brasileiro em 2013, os tablets com Android e iOS são limitados em termos de Python científico : instalação e disponibilidade, interatividade, sem nenhum tipo de gráficoPequena vantagem para os tablets iPad por causa de instalação e uso mais fácil de Python científico;
  • entre smartphones, os mais completos são o Nokia N900 com Maemo 5 OS (Linux móvel), que inclusive tem teclado qwerty completo, e o Nokia N9 com MeeGo Harmattan (Linux móvel) com versões bem recentes dos módulos científicos. Depois o iPhone com iOS e smartphones Android. Em último, smartphones Symbian.

Considerações entre vantagens x desvantagens entre computadores, tablets e smartphones :

  • smartphones, tablets e net/notebooks são para usos diferentes, não substituindo o outro;
  • a vantagem de um smartphone é estar sempre com o usuário, desvantagem que não é confortável digitar nele durante vários minutos por causa do tamanho da tela e teclado (físico ou virtual);
  • tablets são optimizados para ler (consumir conteúdo) e tipicamente têm bateria com autonomia entre 6-10h, mais que um notebook/netbook típico;
  • para digitação de expressões matemáticas é bem mais fácil digitar com teclado físico. Tem smartphones com teclado qwerty (mini ou completo). E há alguns tablets com opções de dock/teclado (R$100-400).

Opções de compra para se usar Python científico, em ordem de preço (parcelado) dentro de cada categoria, sendo que não vi promoções excepcionais antes e depois do Natal de 2012 :

  1. PC’s de mesa, notebooks e netbooks custam aprox. R$700 em diante, com tamanho mínimo de tela de 10″;
  2. tablets com Android são os mais baratos, sendo que recomendo que tenha Android 4 e tela capacitiva. Modelos de 7″ de tela, processador de 1 núcleo, por R$349 em diante : Smart DL HD 7 e Microboard Ellite 7. Modelos de tela de 7″ ou mais, com processadores de 2 núcleos, a partir de R$699 : Samsung Galaxy Tab 2 8GB (R$699), Motorola Xoom2 Media Edition 32GB (R$799) com tela de 8,2″, etc;
  3. tablets iPad custam a partir de R$1.349 (iPad 2) na loja da Apple;
  4. basicamente um iPhone sem função de celular, i.e., um tablet multimídia, o iPod Touch custa a partir de R$799 (4a geração);
  5. smartphones mais baratos são os com Android e Symbian, a partir de R$300-400. Recomendo Android 2.2 e Symbian Belle em diante. Alguns : Samsung Galaxy Y Pro (R$349) e LG Optimus Pro C660 (R$349) com Android 2.3 e teclado qwerty, Samsung Galaxy Ch@t B5330 (R$399) com Android 4.0 e teclado qwerty, Nokia E5 (R$399) com Symbian S60v3 e teclado qwerty, Motorola Milestone 3 (R$799) com Android 2.3, tela de 4″, processador com 2 núcleos, teclado qwerty completo;
  6. Nokia N900 parou de vender novo em meados de 2011 no Brasil (hoje só disponível usado custando perto de R$500);
  7. Nokia N9 estava vendendo novo no final de Novembro de 2012 a R$999 em promoção, porém depois ficou raro de encontrar sem ser usado (entre R$700-1000);
  8. smartphones iPhone custam de R$1.499 (iPhone 4) em diante.

Há ainda mais alternativas, porém caso a caso :

No mais, vide outros artigos desse blog sobre : Nokia N9, Nokia N900 e Maemo 5, tablets, smartphones, Python.

(Atualização em 06/01/2013) : adicionada na tabela 1 citação a IPython 0.13.1 para MeeGo Harmattan.

(Atualização em 01/02/2013) : adicionada na tabela 1 e textos citação a IPython 0.13.1 com IPython Qt console e Notebook para MeeGo Harmattan (22/01/2013)  e SymPy 0.7.2 para Maemo 5 e MeeGo Harmattan (07/01/2013).

(Atualização em 11/02/2013) : adicionada citação a MatPlotLib 1.2.0 para MeeGo Harmattan (09/02/2013) e NumPy 1.7.0 para MeeGo Harmattan (11/02/2013).

(Atualização em 13/02/2013) : atualizadas duas screenshots do Nokia N9, mostrando SymPy 0.7.2 rodando no IPython Notebook 0.13.1.

Posted in Android, CAS, iOS, Linux, Maemo, Maemo 5 Fremantle, MeeGo, Mini-PC, Nokia N9, Python, Smartphones, Symbian, SymPy | 2 Comments »

Jolla Sailfish OS : para smartphones, tablets, etc

Posted by robertocolistete em 23/11/2012

Ontem e hoje a Jolla apresentou oficialmente seu novo sistema operacional Sailfish (peixe-espada em inglês), destinado não só para smartphones como tablets, TV’s inteligentes, computadores automotivos, etc.

O que é fato até agora sobre a empresa Jolla e o Sailfish OS, com informações oficiais ? Vejamos :

  • Sailfish OS é um Linux móvel ! Mer + Qt + UI (User Interface) da Jolla;
  • Mer é continuação 100% código-livre do MeeGo do Nokia N9, que por sua vez é um Linux móvel completo : kernel Linux, glibc 100% compatível (ao contrário da Bionic do Android), X Windows, multi-tarefa real, dependências e pacotes, etc;
  • Qt é uma biblioteca gigantesca de programação multi-plataforma (Linux, Mac OS, Windows, Maemo, MeeGo, etc) para criar aplicativos e interfaces gráficas (UI), que permite programação em C/C++, QML, Python, etc. Qt também é um projeto gratuito e de código-livre (Free and Open Source Software – FOSS);
  • Jolla firmou parceria com a ST-Ericsson para a família de processadores NovaThor, que no mínimo têm 2 núcleos Cortex A9, GPU, etc;
  • foi divulgado que o primeiro smartphone da Jolla começará a vender antes de meados de 2013, possivelmente com processador ST-Ericsson NovaThor;
  • a UI do Sailfish OS ressalta controles com “swipe” (deslizar do dedo, i.e., sem botões, semelhante ao Nokia N9) na tela e a multi-tarefa (com vários programas rodando e controláveis mesmo que em miniatura), vide vídeos da matéria do “The Verge” e esse outro rodando em um Nokia N950.
  • terá compatibilidade com vários softwares Android via emulação fornecida pelo software Myriad Alien Dalvik, sendo a empresa Myriad parceira da Jolla;
  • nos vídeos aparece ícone do X Terminal no Sailfish OS, e no twitter a Jolla diz “The terminal is beautiful, the most beutiful terminal app in the world :)”;
  • no vídeo mostrando a equipe Jolla, aparecem vários aparelhos em que rodam Sailfish, alguns foram identificados : Nokia N9, Nokia N950, Raspiberry Pi, HP Touchpad, etc. São para uso interno da Jolla a fim de testar o Sailfish OS, mesmo que não sejam para o público usuário, mostram a versatilidade do Sailfish OS;
  • vídeo de 23/11/2012 explicita que : para fechar um software basta pressionar longamente e depois “X” de fechar, até 9 softwares abertos visíveis na UI, o swipe para voltar para a home screen pode ser feito de qualquer um dos 4 cantos da tela, por enquanto não há modo horizontal (landscape) mas isso será abordado pela Jolla.
  • mais um vídeo novo, de 23/11/2012, longo, só que em finlandês : mostra aos 4min20s como se fecha um software, bem como outros detalhes.
  • em 27/11/2012 : no Facebook oficial a Jolla afirma que não fornecerá imagens oficiais do Sailfish OS para Nokia N9/N950, mas que a comunidade poderá compilar código do Sailfish OS para esses e outros smartphones e tablets (vide final dessa matéria e resposta via twitter);
  • (19/01/2013) : interessante compilação de respostas da Jolla, “FAQ about Jolla & Sailfish OS”, confirmando Python/PySide com Qt 4.8, nada de sistema de segurança atrapalhando usuário e programador (tal como o Aegis no MeeGo Harmattan), suporte nativo a chroot (à la Maemo 5, permitindo Easy Debian, etc);
  • (17/02/2013) entrevista da PocketNow com a Jolla, bem interessante, indicando que o primeiro smartphone da Jolla deve ser exibido em breve (aposto até Março);
  • (26/02/2013) na MWC 2013 (25-27/02) em Barcelona, a Jolla apresentou o Sailfish SDK alpha, mas ainda não será mostrado o 1o smartphone Jolla mas que não deve demorar;
  • (26/02/2013) Site SailfishOS.org relançado em 25/02/2013 com tudo que você precisa para programar, incluindo Sailfish OS SDK Alpha fácil de instalar e usar.

O que eu acho interessante na Jolla e no SailFish OS ?

  • Linux de verdade, só que móvel, sendo descendente do Maemo e MeeGo Harmattan;
  • multi-tarefa de verdade, tal como no Maemo e MeeGo Harmattan, onde o usuário se quiser pode deixar dezenas de softwares rodando durante dias, tendo total controle sobre que softwares deixa rodando, fecha, etc, bem diferente de Android, iOS e Windows Phone;
  • X Terminal já nativo, com ferramentas padrão Linux (shell, ssh, etc);
  • softwares feitos em Qt para MeeGo (incluindo Nokia N9) serão facilmente adaptáveis para o Sailfish OS (muda de pacote .deb para .rpm e eventual uso de poucas API’s diferentes no código-fonte);
  • (17/02/2013) Mer + Nemo Mobile está disponível para Nokia N900 e N9/N950 há mais de ano, e seus softwares vão rodar no Sailfish OS. Por exemplo, vide o tópico “Python (modules) on Mer/Nemo” com lista de softwares Python disponíveis, alguns com interface gráfica (KhtSimpleText, ModRana, etc);
  • (19/01/2013) confirmada a linguagem de programação Python inclusive com PySide (suporte a Qt 4.8), tal como no MeeeGo Harmattan (que usa Qt 4.7);
  • expectativa de smartphones, tablets, etc, rodando o SailFish OS, a partir de 2013;
  • grande chance de (parte do) Sailfish OS ser mais uma opção de sistema operacional no Nokia N9 via múltiplo boot (além do Android 4 e Mer/Nemo), segundo a Jolla via twitter/Facebook, basta alguém da comunidade ter a iniciativa.

Como e onde eu pretendo colaborar no Sailfish OS ? Continuando a programar em Python e Qt/Qt Quick (sou autor ou mantenedor de alguns softwares) para MeeGo 1.2 Harmattan do Nokia N9, pois tudo ou quase tudo poderá ser portado facilmente para Sailfish OS. Tentando instalar o Nokia N9 para testar o Sailfish OS, se e quando ficar disponível para o mesmo. Colaborando com eventual “Easy Debian” para Sailfish OS. E outros projetos que só a cultura FOSS permite criar.

No mais, algumas matérias recomendadas sobre Jolla e Sailfish OS :

Posted in Linux, MeeGo, Nokia N9, Smartphones, Tablets | 4 Comments »

Mini-PC Mk802 1GB : bom para rodar Android e Linux

Posted by robertocolistete em 20/10/2012

O Mini-PC Mk802 (era US$55,90 em 10/2012, agora no final de 12/2012 está por US$45,60 na DealExtreme) é hoje um dos melhores MiniPC’s com processador AllWinner A10, que permite rodar Android 4 (vide artigo “Configurando e testando um Mini-PC com Android 4.0.4“) e Linux (vide artigo “Rodando Linux em um Mini-PC via múltiplo boot“).

Nesses 2 artigos anteriores foi utilizado um Mini-PC MiniX H24 emprestado. Comparando agora um Mini-PC Mk802 novo recém-chegado com o MiniX H24, temos as seguintes diferenças :

  • mesmo Android 4.0.4, rooteado, com kernel Linux 3.0.8 compilado mais recentemente em 15 de Agosto de 2012;
  • dá boot no Android mais rápido, em uns 80s (ao invés de 100s);
  • Cortex A8 roda entre 60-912 MHz (menos que os 1008 MHz do MiniX H24);
  • Android 4.0.4 roda mais fluido devido a maior memória RAM, com 1GB de RAM com 814 MB livres, ao invés de 306 MB;
  • memória interna flash com 1,55 GB livres, ao invés de 1,4 GB;
  • Android já veio instalado com interface padrão e mais softwares : Google Play Store, Angry Birds Space, Skype, etc;
  • a CPU Cortex A8 tem benchmark Antutu de 639/144 (CPU integer/float point), pouco menor devido ao clock de 912 MHz;
  • a GPU Mali-400 do Allwinner A10 tem desempenho 292/795 para gráficos 2D/3D, i.e., melhor em 2D e pouco pior em 3D;
  • todos mouses e teclados USB por enquanto funcionaram nas duas portas USB, bem como pendrive USB de 32GB na porta USB host;
  • esquenta bem menos, possivelmente por causa do clock menor e diferente arranjo físico.

A tentação hoje é grande com Mini-PC’s novos com processadores Cortex A9 mais rápidos com 1 núcleo (US$55,99), 2 núcleos (p.e., MK808 custava US$66,70 em 10/2012, caiu para US$53,40, tendo 1GB RAM, 8GB flash, Android 4.1.1, etc) e até 4 núcleos (GK-802 em 12/2012 por US$100) para rodar Android 4. Porém todos eles não rodam e talvez nunca venham a poder rodar Linux pois o fabricante do processador precisa liberar informações e código-fonte para a comunidade Linux.

Posted in Android, Linux, Mini-PC | 5 Comments »

Rodando Linux em um Mini-PC via múltiplo boot

Posted by robertocolistete em 23/09/2012

É possível um Mini-PC de US$40-70 rodar Linux desktop com velocidade semelhante a PC’s de US$500-1000 ? A resposta é… sim !

O segredo é comprar um Mini-PC com processador Allwinner A10 e entrada para cartão microSD, escolher uma imagem Linux adequada, gravar tal imagem no cartão microSD e… ligar o Mini-PC com o microSD inserido, é só ! Vamos então por partes.

1) Escolher um Mini-PC’s (AK/MK802, MiniX, MiniX Plus, etc) com processador Allwinner A10 (1 núcleo Cortex A8 @ 60-1008 MHz, GPU Mali-400). Isso pois eles rodam Linux desktop via boot no cartão microSD devido ao fato que o Allwinner A10 permitir múltiplo boot (via memória interna, microSD, USB, etc) e ter as especificações abertas para a comunidade Linux. Evite outros processadores, p.e., os mais rápidos Amlogic M3 (1 núcleo Cortex A9) ou RockChip RK3066 (2 núcleos Cortex A9) não têm Linux para eles e talvez nunca cheguem a ter (16/01/2013 : vide final desse artigo, agora alguns Mini-PC’s com RK3066 tem Ubuntu funcional e fácil de instalar). Sugestões com Allwinner A10 : MK802 formato pen-drive por (US$55,90 em 09/2012, agora em 2013 custa) US$45,60, MiniX com vários conectores por (US$67,80 em 09/2012, agora em 2013 custa) US$59,99, ambos com 1GB de RAM, 4GB de memória interna, Android 4.0 pré-instalado, etc.

2) Escolher uma imagem Linux no tópico “Install Ubuntu Linux 12.04” do fórum MiniAnd e fazer download. Eu recomendo :

  • LUbuntu 12.04 com resolução 720p (HD) para melhor desempenho, use imagem versão 4 1GB se o Mini-PC tiver 1GB de RAM, use imagem versão 3 512MB se o Mini-PC tiver 512MB de RAM (a versão 4 tem bug, na verdade é para 1GB de RAM). LUbuntu usa LXDE que é um ambiente gráfico muito leve e essa imagem está bem configurada;
  • XUbuntu 12.04 v1, feita para resolução 720p (HD). XUbuntu usa XFCE que é um ambiente gráfico leve e essa imagem está quase 100% bem configurada.

3) Seguir no tal tópico as instruções de instalação da imagem em um cartão microSD. Recomendo cartão microSD de 8GB ou mais classe 10 de boa marca para ser ter boa velocidade.

4) colocar o microSD no Mini-PC e dar boot conectado a um monitor/TV HDMI, teclado e mouse USB (se necessário via hub USB). A senha de login é “miniand” para o usuário “miniand” (que é administrador). Voilà, temos um L/XUbuntu 12.04 desktop completo pronto para uso !

XUbuntu 12.04 rodando LibreOffice 3.5.4, Firefox 15.0, terminal, etc, no Mini-PC MiniX H24 com teclado & mouse USB, hub USB, monitor de 21,5″ (via conversor HDMI-VGA) com resolução HD (1280 x 720).

Minhas experiências usando o Mini-PC modelo MiniX H24 TV Box (512MB de RAM) e um cartão microSD Kingmax 8GB classe 10 :

a) LUbuntu 12.04 v3 720p 512MB :

  • vem com kernel 3.0.36, 306MB de RAM livres (ou mais de 800MB se usar Mini-PC e imagem de 1GB), 511MB de swap. Originalmente 3,4GB em “/” com 1,9GB ocupados;
  • softwares pré-instalados : editor de textos Abiword 2.9.2, planilha Gnumeric 1.10.17, navegador web Chromium  18.0.1025.151 (sem Java e sem Flash), Adobe Reader 3.4.0, editor Leafpad, Galculator, mtPaint, cliente de email Sylpheed, PCManFM file manager, gerenciador de instalações Synaptic, Python 2.7.3, etc;
  • problema de ficar tentando conectar “Wired network”, a solução é apagar tal conexão ou desabilitar sua conexão automática;
  • problema de LUbuntu Software Centre não funciona;
  • instalei o Onboard (teclado virtual) via “sudo apt-get install xvkbd onboard python-gi-cairo”, é prático quando não se quer usar teclado físico;
  • eu recomendo instalar softwares via terminal, com comando “sudo apt-get install –no-install-recommends <nome-do-pacote>”, pois evita instalação de pacotes recomendados, aproveitando o espaço limitado. Sugestões de pacotes : htop, nano, gnome-system-monitor, firefox, browser-plugin-gnash (Flash plug-in 10.1 da comunidade), openjdk-6-jre / icedtea6-plugin (Java 1.6.0 plug-in da comunidade), thunderbird (cliente de email), vino (servidor VNC), libreoffice (suite Office completa), evince (visualizador de PDF, PS, etc), vlc e smplayer (para ver vídeos), gimp / gimp-data-extras /gimp-plugin-registry (editor gráfico GIMP), texlive-latex-recommended / abntex / texlive-lang-portuguese / prosper / latex-beamer / texmaker (TeX/LaTeX/TeXMaker), gedit / gedit-plugins / gedit-latex-plugin (editor de textos/programação), maxima / wxmaxima / maxima-share (wxMaxima Computer Algebra System), dpkg-dev e build-essential (programação C/C++ via gcc/g++/make/etc), ipython, python-numpy, python-scipy python-matplotlib, python-mpmath, python-pyglet, python-sympy, mayavi2 (Python científico);
  • é trabalhoso mudar idioma para português no sistema e teclado;

b) XUbuntu 12.04 v1 :

  • vem com kernel 3.0.8 Android, 306MB de RAM livres, 511MB de swap. Originalmente 3,4GB em “/” com 2,3GB ocupados;
  • softwares pré-instalados : editor de textos Abiword 2.9.2, planilha Gnumeric 1.10.17, navegador web Firefox 11.0 (sem Java e sem Flash), cliente de email Thunderbird 11.01, GIMP, Adobe Reader 3.4.0, editor Leafpad, Thunar file manager, gerenciador de instalações Synaptic, teclado virtual Onboard, Python 2.7.3, gcc 4.6.3, etc;
  • problema da rede Internet não funcionar, a solução é adicionar os grupos inet e inetadmin ao usuário miniand : “sudo groupadd -g 3003 inet; sudo groupadd -g 3005 inetadmin; sudo usermod -aG inet; sudo usermod -aG inetadmin”;
  • eu recomendo instalar softwares via terminal, com comando “sudo apt-get install –no-install-recommends <nome-do-pacote>”, pois evita instalação de pacotes recomendados, aproveitando o espaço limitado. Sugestões de pacotes : htop, nano, gnome-system-monitor, indicator-multiload, browser-plugin-gnash (Flash plug-in 10.1 da comunidade), openjdk-6-jre / icedtea6-plugin (Java 1.6.0 plug-in da comunidade), vino (servidor VNC), libreoffice (suite Office completa), evince (visualizador de PDF, PS, etc), vlc e smplayer (para ver vídeos), gimp-data-extras /gimp-plugin-registry (editor gráfico GIMP), texlive-latex-recommended / abntex / texlive-lang-portuguese / prosper / latex-beamer / texmaker (TeX/LaTeX/TeXMaker), gedit / gedit-plugins / gedit-latex-plugin (editor de textos/programação), maxima / wxmaxima / maxima-share (wxMaxima Computer Algebra System), dpkg-dev e build-essential (programação C/C++ via gcc/g++/make/etc), ipython, python-numpy, python-scipy python-matplotlib, python-mpmath, python-pyglet, python-sympy, mayavi2 (Python científico);
  • é fácil mudar idioma (para pt_BR, por exemplo), tal como se faz no XUbuntu, i.e., basta ir em “Configurations -> Language Support”, adicionar idioma, selecionar português, depois arrastar “Português (Brasil)” para o topo da lista de idiomas. O idioma do teclado é depois alterado via “Configurações -> Gerenciador de Configurações -> Teclado -> Disposição”, adicionado “Português (Brasil)”.

Em ambas as imagens :

  • coloquei login sem senha para o usuário “miniand” (basta clicar com o mouse na tela de login);
  • para aumentar o espaço, use em Linux PC o software “gparted” com cartão maior que 4GB e aumente a partição de 3,4GB para algo maior;
  • adicionei repositórios via as seguintes linhas no arquivo “/etc/apt/sources.list” : “deb http://ports.ubuntu.com/ubuntu-ports precise-updates main universe multiverse”, “deb http://ports.ubuntu.com/ubuntu-ports precise-backports main universe multiverse”, “deb http://ports.ubuntu.com/ubuntu-ports precise-security main universe multiverse”. Depois mandei “sudo apt-get update; sudo apt-get upgrade”;
  • mesmo com 306MB de RAM livre o LUbuntu/XUbuntu roda tranquilamente, com pouco uso de CPU e RAM;
  • via porta USB host (ou hub USB conectado nela) é possível conectar pendrive (16GB, etc) e até HD externo (testei de 500GB) se o hub USB tiver alimentação externa.

Comparado com o Android 4.0 no MiniX, o boot do Android é mais lento (1 minuto e 40s), a multitarefa do Linux é melhor, p.e., durante instalação de programas via “apt-get install” é viável usar o Mini-PC enquanto que no Android 4 é inviável fazer qualquer coisa durante instalação de programas. Mas o Android no Mini-PC é melhor para tocar vídeo e gráficos 3D pois a GPU Mali-400 tem suporte a aceleração de vídeo no Android mas (ainda) não no Linux.

Tabela de desempenho de alguns softwares rodando em notebooks (com XUbuntu 12.04 e Windows 7) e no Mini-PC MiniX H24 com cartão microSD de 8GB classe 10. Formato : tempo em segundos para abrir pela 1a vez / na 2a vez (versão do software), exceto para o sistema operacional (1o tempo é de boot até tela de login, 2o tempo é após login até ficar disponível ao usuário).

Software XPS15-U12.04 A1215B-XU12.04 A1215B-Win7 MiniX-LU12.04 MiniX-XU12.04
Sistema operacional 32s / 29s 40s / 33s 33s / 17s 34s / 14s 34s / 28s
LibreOffice Writer 6s / 1s (LO 3.5.4) 7s / 2s (LO 3.5.4) 26s / 10s (LO 3.5.6) 9s / 5s (LO 3.5.4) 9s / 5s (LO 3.5.4)
Abiword 5s / 1s (2.9.2) 7s / 3s (2.9.2) 6s / 2s (2.9.2) 9s / 8s (2.9.2) 9s / 8s (2.9.2)
Gnumeric 3s / 1s (1.10.17) 3s / 1s (1.10.17) 7s / 2s (1.10.16) 4s / 3s (1.10.17) 3s / 2s (1.10.17)
Firefox 4s / 1s (14.0.1) 4s / 2s (14.0.1) 5s / 3s (14.0.1) 6s / 5s (15.0) 8s / 4s (15.0)
TeXMaker 5s / 1s (3.2) 5s / 1s (3.2) 6s / 2s (3.5) 3s / 2s (3.2) 3s / 2s (3.2)
wxMaxima 2s / 1s (11.08) 2s / 1s (11.08) 2s / 1s (11.08) 2s / 2s (11.08) 2s / 2s (11.08)

Em azul temos os melhores tempos, em vermelhos os piores. Onde :

  1. XPS15-U12.04 : notebook Dell XPS 15 L502X com Ubuntu 12.04 64 bits, Core i7 2670QM 4 núcleos @ 2,2-3,1 GHz, 1+6 MB cache L2/L3, 8GB RAM DDR3 1.333 MHz, 1TB 5.400 RPM SATA hard drive;
  2. A1215B-XU12.04 : notebook Asus 1215B com XUbuntu 12.04 64 bits, AMD C-50 2 núcleos @ 1,0GHz, 1 MB cache L2, 2GB RAM DDR3 1.066 MHz, 320 GB 5.400 RPM SATA hard drive;
  3. A1215B-Win7Pro : notebook Asus 1215B com Windows 7 Starter 32 bits, AMD C-50 2 núcleos @ 1,0GHz, 1 MB cache L2, 2GB RAM DDR3 1.066 MHz, 320 GB 5.400 RPM SATA hard drive;
  4. MiniX-LU12.04: Mini-PC MiniX H24 com LUbuntu 12.04 ARM 32 bits, Allwinner A10 (1 Cortex A8 @ 1008 MHz), 1 GB RAM DDR3 a 800 MHz, 512 KB cache L2, GPU Mali-400MP a 300 MHz, microSD 8GB classe 10
  5. MiniX-XU12.04: Mini-PC MiniX H24 com XUbuntu 12.04 ARM 32 bits, idem.

Analisando a tabela acima vemos que :

  • Mini-PC com Linux realmente é viável para trabalhar substituindo um PC desktop, ao contrário com Android, digo isso baseado em horas de uso real;
  • no Mini-PC, LUbuntu é em geral um pouco mais rápido que XUbuntu;
  • LUbuntu/XUbuntu no Mini-PC é bem competitivo com Windows 7 Starter 32 bits em um notebook barato, chegando a ser mais rápido em 4 dos 7 ítens;
  • LUbuntu/XUbuntu no Mini-PC é competitivo com Ubuntu/XUbuntu 12.04 64 bits em notebooks baratos e mesmo notebooks topo-de-linha, sendo o Mini-PC pouco mais lento, igual ou mesmo mais rápido;
  • se os notebooks tivessem memória SSD (flash), os tempos seriam no máximo 1-2 s e mais rápidos que os do Mini-PC.

Minha opinião sobre Linux em Mini-PC : as imagens estão quase prontas em termos de maturidade para uso por usuário iniciante; o desempenho do Linux usando o Allwinner A10 já é bom comparativamente; se a comunidade conseguir aceleração da GPU Mali 400 no Linux, o desempenho ficará ainda melhor.

Com esse poder de processamento (2-4 núcleos Cortex A9), então poderemos ver Linux em Mini-PC’s ultrapassando alguns computadores PC !

Alguns links interessantes de Linux em Mini-PC’s :

Obviamente que o Mini-PC, sem o cartão microSD inserido, inicializa o Android (tipicamente 4.0) pré-instalado, vide artigo anterior “Configurando e testando um Mini-PC com Android 4.0.4“.

Sobre Mini-PC’s com 2-4 núcleos Cortex A9 (Atualizado em 10 e 16/01/2013)

 Quanto a nova geração de processadores com 1/2/4 núcleos Cortex A9, alguns Mini-PC’s já tem suporte inicial a Linux :

Esse suporte a Linux nesses Mini-PC’s com 2 a 4 núcleos Cortex A9 apareceu de Novembro de 2012 para cá, talvez daqui 1-2 meses esteja mais maduro com maior funcionalidade (WiFi, Bluetooth, etc) e facilidade de instalação para vários modelos de Mini-PC’s. (17/01/2013) Por enquanto os modelos acima com Cortex A9 não vem com root, logo precisa rootear ou gravar novo firmware/imagem com Android, antes de instalar Linux com duplo boot.

(16-17/01/2013) Até 10/01/2013, se quisesse rodar Linux em Mini-PC, a recomendação era um Mini-PC do tipo MK802 (ou semelhante) com processador AllWinner 10 (1 núcleo Cortex A8), pela funcionalidade (WiFi funcionando, etc) e facilidade de instalação, pois já vem rooteado. Mas entre 11 e 15/01/2013, os Mini-PC’s UG802, MK802 e GK802 ganharam versões iniciais de Ubuntu bastante funcionais (com WiFi, etc) e quase tão fáceis de instalar.

Posted in CAS, Linux, Mini-PC, Python, SymPy | 35 Comments »

Usando Linux dentro do Android no Asus Transformer

Posted by robertocolistete em 17/09/2012

Muita gente não sabe que é sim possível instalar e usar distribuições Linux completas dentro do Android, usando chroot de imagens Linux. Para tanto o Android precisa estar rooteado (ter feito “root”, i.e., ter destravado um pouco o Android), vide artigo anterior meu para o Asus Transformer.

Quais vantagens de rodar Linux dentro do Android ? A principal é ter acesso aos mesmos softwares Linux encontrados em PC desktops/notebooks, como OpenOffice/LibreOffice, FireFox, Thunderbird, GIMP, TeXMaker/TeX/LaTeX, compiladores C/C++ (gcc/g++), Python completo (com centenas de módulos diversos), etc. Enfim, dezenas de milhares de softwares Linux (p.e., uns 29 mil na distribuição Debian) rodam em processadores com arquitetura ARM.

Anteriormente rodar Linux via chroot no Android era um procedimento bem longo e manual, mas nos últimos meses temos softwares que automatizaram a instalação e uso de Linux no Android.

Vou mostrar um caminho simples e testado para se ter Linux rodando no Asus Transformer, que tem atualmente Android 4.0.3 ICS. As instruções abaixo são para uso da distribuição Ubuntu 10.10 Maverick :

  1. instale os softwares gratuitos “Complete Linux Installer“, “Android Terminal Emulator” e “AndroidVNC Viewer“, todos no Google Play Store;
  2. vá no site do projeto LinuxOnAndroid (dos autores do software “Complete Linux Installer”), seção de downloads e escolha uma imagem. Porém, eu acho melhor o Ubuntu 10.10, um pouco mais antigo (Outubro de 2010) porém com a maioria dos softwares funcionando no Asus Transformer, ao contrário do Ubuntu 12.04. Por isso eu recomento o download da imagem UbuntuV5-image.zip (com 1,7 GB compactados) e o script ubuntuV6-1-scrip.zip, ambos para Ubuntu 10.10 Maverick;
  3. descompacte a imagem (com 3,5 GB) e o script em um computador PC. Copie então para o Asus Transformer (recomendo via cabo USB ou via cartão microSD por ser mais rápido e confiável), colocando tais arquivos (“ubuntu.img” e “ubuntu.sh”) em um novo diretório “ubuntu” dentro do “/sdcard” (“Armazenamento interno” do “Gerenciador de Arquivos”);
  4. clique no “Complete Linux Installer” no seu Android, depois em “Launch”, selecione “Ubuntu”, depois clique em “Start Linux”.
  5. um terminal será aberto com letrinhas pequenas em fundo azul (mude isso em “Preferências” do “Android Terminal Emulator”, eu coloquei fonte em 14pt e texto verde em preto). Vai pedir a resolução da tela da interface gráfica, digite “1280×752” (reservando 48 pixels para a barra inferior do Android ICS). Depois escolha “1 – LXDE” ou “2 – Gnome”, aí é sua preferência, LXDE é um pouco mais rápido. Após alguns segundos você terá o prompt de terminal Linux após “root@localhost:/#” esperando por algum comando seu, por exemplo “df -h /” (para ver espaço ocupado e livre na imagem), “ls -l”, etc. Se gosta de CLI (Command-Line-Interface), bem, então aproveite;
  6. clique no “androidVNC” e use uma nova conexão, com nickname “Ubuntu 10.10” (ou outro nome), password “ubuntu”, address “localhost”, port “5900”, color format “24-bit color”. Clique em “Connect” e… voilá, você agora vê o LXDE ou Gnome do Ubuntu 10.10 ! No “androidVNC” as melhores opções de “Input Mode” são a 1a (“Touch Mouse Pan and Zoom”) e a antepenúltima (“Mouse Pointer Control Mode”), dependendo do uso e gosto. Para aparecer o teclado virtual, use a 1a opção, dê um toque prolongado na tela, clique na grade na parte inferior (entre duas lupas). Para uso da Asus Eee Dock, eu prefiro a outra opção;
  7. para fechar o Linux, escolha “Disconnect” no “androidVNC”, depois no terminal digite “exit” (ou pressione Ctrl+d) para sair do chroot e desmontar a imagem.

Ubuntu 10.10 Maverick com LXDE rodando no Asus Transformer via chroot

Bem, cada vez que quiser usar, repita os passos 4 a 7. Dicas e informações diversas :

  • como o Android não tem X Windows, é preciso abrir um cliente VNC para ver a interface gráfica do Linux, por isso a necessidade de abrir o “androidVNC”. No Linux chroot roda um servidor VNC automaticamente. Essa camada extra de VNC servidor/cliente torna a interface gráfica do Linux mais lenta, às vezes dá para ver partes da tela sendo repintadas. Isso não é culpa do Linux, e sim do Android por não ter X Windows implementado;
  • para ficar mais fácil de usar toque na tela, aumente o tamanho das letras configurando em “System->Appearance” ou equivalente;
  • essa imagem Ubuntu 10.10 é bem completa, já tendo instalado OpenOffice 3.2.1, Firefox  3.6.13 (com Flash da comunidade), Thunderbird  3.1.17, GIMP, TeXMaker/TeXLive, Python 2.6.6, gcc/g++ 4.4.4, Leafpad, gedit, GNU Emacs 23, Evince, gv, Calculator, Xarchiver, PCManFM e Nautilus file managers, Gnome Terminal, LXTerminal, ImageMagic, Trasmission, Music Player, Synaptic, etc;
  • não atualize o Firefox e nem todos os softwares (via “apt-get upgrade”) da image, senão o Firefox pára de funcionar;
  • eu recomendo instalar softwares via terminal, com comando “sudo apt-get install –no-install-recommends <nome-do-pacote>”, pois evita instalação de pacotes recomendados, aproveitando o espaço limitado da imagem. Sugestões de pacotes : htop, abiword, gnumeric, icedtea6-plugin (Java 1.6.0 para o Firefox), maxima/wxmaxima/maxima-share, ipython, python-numpy, python-scipy python-matplotlib, python-mpmath, python-pyglet, python-sympy;
  • os diretórios “/external_sd” e “/sdcard” e apontam para o microSD externa e a memória flash interna, respectivamente, permitindo transferir arquivos entre Android e Linux chroot;
  • se fizer alterações na imagem (adicionando softwares, guardando arquivos pessoais, etc), então, com a imagem desmontada, faça cópias de segurança da imagem, pois elas não são robustas e se corrompem com facilidade (ao desligar o Android com a imagem montada, etc).

Em “LinuxOnAndroid downloads“, “Ubuntu 12.04 full” tem interface gráfica Unity que não funciona no Asus Transformer (devido ao processador Tegra 2), “Debian V4” não permite instalar novos programas e usa um XFCE bem feioso, “Backtrack” eu não testei. “Ubuntu 12.04 small” funciona, usando LXDE, mas vários softwares não funcionam (direito) : Chromium, Firefox, Thunderbird, Synaptic, etc. Recomendo instalar nesse “Ubuntu 12.04 small” : abiword, gnumeric, libreoffice, midori (navegador web leve), browser-plugin-gnash (Flash da comunidade), openjdk-6-jre e icedtea6-plugin (Java da comunidade).

Parte das instruções acima a priori funcionam para qualquer Android rooteado e smartphone/tablet. Basta mudar, por exemplo, no ítem 5 a resolução da janela VNC, tirando 42 pixels da dimensão vertical da resolução da tela do seu smartphone/tablet.

O Asus Transformer é um tablet bom para usar Linux via chroot, pois tem ótima tela com resolução de 1280×800 pixels, Tegra 2 rápido e bastante memória flash interna (mais de 10GB livres no “/sdcard”). Melhor ainda com a Asus Dock, adicionando ótimo teclado, bom touchpad e possibilidade de conectar mouse via USB.

Tabela de desempenho de alguns softwares rodando em Ubuntu em notebooks e no Asus Transformer. Formato : tempo em segundos para abrir pela 1a vez / na 2a vez (versão do software).

Software XPS 15 A1215B TF101-U10.10 TF101-U12.04
Open/LibreOffice Writer 6s / 1s (LO 3.5.4) 7s / 2s (LO 3.5.4) 21s / 5s (OO 3.2.1) 15s / 5s (LO 3.5.4)
Abiword 5s / 1s (2.9.2) 7s / 3s (2.9.2) 9s / 2s (2.8.6) 10s / 3s (2.9.2)
Gnumeric 3s / 1s (1.10.17) 3s / 1s (1.10.17) 5s / 2s (1.10.8) 4s / 2s (1.10.17)
Firefox 4s / 1s (14.0.1) 4s / 2s (14.0.1) 11s / 4s (3.6.13) Não abre (11.0)
TeXMaker 5s / 1s (3.2) 5s / 1s (3.2) 9s / 2s (2.0) GUI com erros
wxMaxima 2s / 1s (11.08) 2s / 1s (11.08) 3s / 1s (0.8.5) 4s / 1s (11.08)

Em azul temos os melhores tempos, em vermelhos os piores. Onde :

  1. XPS 15 : notebook Dell XPS 15 L502X com Ubuntu 12.04 64 bits, Core i7 2670QM 4 núcleos @ 2,2-3,1 GHz, 1+6 MB cache L2/L3, 8GB RAM DDR3 1.333 MHz, 1TB 5.400 RPM SATA hard drive;
  2. A1215B : notebook Asus 1215B com Ubuntu 12.04 64 bits, AMD C-50 2 núcleos @ 1,0GHz, 1 MB cache L2, 2GB RAM DDR3 1.066 MHz, 320 GB 5.400 RPM SATA hard drive;
  3. TF101-U10.10 : Asus Transformer TF-101 com Ubuntu 10.10, Tegra 2 (2 Cortex A9 @ 1000 MHz), 1 GB RAM LPDDR2 a 600 MHz, 1MB cache L2, ULP GeForce com 8 núcleos @ 333 MHz.
  4. TF101-U12.04 : Asus Transformer TF-101 com Ubuntu 12.04, idem.

Observações. No Ubuntu 12.04 rodando no Asus Transformer : o FireFox não abre, mas tem o navegador web Midori 0.4.3 que abre em 8s/3s, funcionando com Flash e Java; a alternativa ao TeXMaker é o Winefish; wxMaxima dá erro em cálculo, aí a alternativa é por exemplo o xMaxima.

Vemos que o Ubuntu no Asus Transformer é não muito mais lento ou mesmo igual em termos de velocidade que netbooks, notebooks baratos e mesmo notebooks topo-de-linha. Mas se os notebooks tivessem memória SSD (flash), os tempos seriam no máximo 1-2 s e mais rápidos que os do Asus Transformer.

Posted in Android, CAS, Linux, Python, SymPy, Tablets | 28 Comments »

 
%d blogueiros gostam disto: