Roberto Colistete Jr.

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

Archive for the ‘Python’ Category

Linguagem de programação Python

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.

Anúncios

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

Computação simbólica CAS (Computer Algebra System) em smartphones e tablets

Posted by robertocolistete em 27/12/2012

CAS (Computer Algebra System) são softwares que permitem computação simbólica, i.e., com símbolos literais que não tem valores atribuídos. Essa é a forma comum de se calcular boa parte dos problemas da área de exatas no ensino superior. Um CAS pode ser usado para se calcular quase tudo o que é pedido nas disciplinas de “Cálculo” (limite, derivadas, integrais, etc), por exemplo. Porém usualmente o CAS não fornece os passos intermediários do cálculo, só o resultado final do cálculo. CAS normalmente também têm recursos de computação numéricas e gráfica.

Devido à grande evolução de hardware e sistema operacional dos celulares, smartphones (celulares inteligentes) e tablets, hoje temos diversos CAS disponíveis. Esse artigo visa então listar a maioria dos CAS para celulares, smartphones e tablets, e assim motivar o uso de tais equipamentos no ensino superior e pesquisa.

Softwares de cálculos somente numéricos e gráficos foram excluídos, bem como calculadoras científicas, gráficas, tabelas de fórmulas matemáticas, etc. Embora esses softwares sejam maioria nas “lojas” de softwares para smartphones e tablets, eles não são CAS.

CAS online (via Internet e navegador web)

Temos CAS completos ou com alguns recursos disponíveis via Internet, funcionando dependendo do navegador web do celular/tablet. Ou seja, um celular de R$100 que tenha um navegador web bom (com JavaScript habilitado, etc) pode acessar alguns dos sites abaixo !

CAS completos, permitindo comandos em sequência, uso de variáveis, etc :

  • SymPy Live : escrito totalmente em Python, SymPy é um CAS que tem se desenvolvido muito via uma comunidade bem ativa, e SymPy Live tem uma interface com vários tipos de saída, documentação acessível, exemplos, ‘Tab’ completa comandos, histórico de comandos, etc. Tem versão SymPy Live Mobile para telas pequenas de celulares. Foi citado em artigo anterior do blog;
  • Mathics : é um CAS recente e muito completo, com interface de notebook online, documentação acessível, exemplos, gráficos 2D e 3D (que giram se WebGL funcionar no navegador web), notebooks que podem ser salvos e lidos (precisa criar uma conta/login gratuito), etc. Mathics é um CAS baseado em SymPy e Sage, porém com sintaxe do Mathematica da Wolfram Research. Não funciona em qualquer navegador web pois precisa de suporte a MathJax, sendo recomendado Firefox (para Android, Maemo, MeeGo), Chrome (Android, iOS) e Safari (iOS), sendo que o navegador web do Android também funciona. Em meus testes, a melhor experiência é usando Firefox (no MeeGo Harmattan e Android).

Mais comum é encontrar funções específicas de CAS acessíveis via Internet :

  • Wolfram Alpha : é uma mistura de Google com CAS (comercial Mathematica da Wolfram Research), permitindo fazer pesquisas com texto em inglês bem como cálculos usando sintaxe “solta”. Tem ampla documentação, saída em vários formatos, etc.
  • Wolfram Mathematica Online Integrator : calcula integrais indefinidas de uma variável (x) usando o CAS comercial Mathematica da Wolfram Research, um dos mais completos e melhores CAS;
  • SymPy Gamma : faz cálculos diversos, bem simples de usar, com vários exemplos, usa o SymPy (CAS em Python). Foi citado em artigo anterior do blog;
  • Integral Calculator : calcula integrais indefinidas ou definidas de uma variável, com entrada com sintaxe “solta” e saída em MathJax (clique com o botão direito do mouse sobre o resultado e veja a expressão em TeX ou MathML, podendo copiar), exemplos, opção de simplificar o resultado, etc. Usa o CAS gratuito e de código-fonte aberto Maxima, que é um dos mais completos dentre os gratuitos;
  • Derivative Calculator : calcula derivadas de 1a até 3a ordem de uma variável, com entrada com sintaxe “solta”, saída em MathJax (clique com o botão direito do mouse sobre o resultado e veja a expressão em TeX ou MathML, podendo copiar), exemplos, opção de simplificar o resultado, opção de mostrar os passos intermediários do cálculo, etc. Usa o CAS gratuito e de código-fonte aberto Maxima, que é um dos mais completos dentre os gratuitos.

CAS instalados localmente

Para celulares não-smartphones que rodam Java (J2ME) :

  • JaSymCA 2 (gratuito e de código-fonte aberto) : é um CAS leve e com recursos razoáveis, tendo documentação, programação (com variáveis, funções, if/else, while/for, etc), cálculos númericos (à la Octave/MatLab/SciLab, de vetores e matrizes, resolução de equações, etc), cálculos simbólicos à la Maxima (derivada ordinária, integral indefinida/definida em relação a uma variável, série de Taylor de uma variável, EDO (equação diferencial ordinária) simples, etc), gráficos 2D (de uma variável, paramétricos, coloridos, logarítmicos, etc). Vide mais detalhes em artigo “Usando softwares científicos em celulares (quase) smartphones”.

Listando agora os sistemas operacionais móveis (de tablets e smartphones) :

Para Android há várias opções de CAS, inclusive algumas que apareceram em 2012 :

  • Maxima on Android (gratuito e de código-fonte aberto) : lançado em 10/2012 para Android, o CAS gratuito e de código-fonte aberto Maxima é um dos mais completos dentre os gratuitos. A versão para Android tem saída tipografada, documentação completa, gráficos 2D/3D, salvar/restaurar sessão, etc. Vide site do projeto “Maxima on Android” para maiores detalhes;
  • MathScript Scientific Calc Trial (gratuito) : usa o CAS SymPy para os cálculos, com interface de fácil uso, saída tipografada, gráficos 2D, documentação, exemplos, salvar/abrir sessão (em arquivo), etc. Versão de final de 2012 corrigiu problemas anteriores de saída tipografada. Na versão gratuita aos poucos vai aparecendo mensagens de espera importunando;
  • MathScript Scientific Calc (US$5) : idem acima, porém sem mensagens de espera;
  • MathStudio (US$9,99) : é um CAS leve com cálculos numéricos, simbólicos (integrais em relação a uma variável, etc), saída tipografada, gráficos 2D e 3D com animações, documentação, salvar/abrir sessão (em arquivo), etc. Vide site do software para documentação, exemplos de sessões, galeria de gráficos, etc. Tem versão para iOS;
  • JaSymCa 3 para Android (gratuito) : semelhante ao JaSymCA 2 citado acima para celulares nã0-smartphones, porém com interface melhorada na versão para Android;
  • Python SL4A + SymPy (gratuito e de código-fonte aberto) : no Android a instalação é manual, não tem saída tipografada nem gráficos, com uso via execução de arquivos .py. SymPy é um CAS escrito totalmente em Python;
  • Sage Math beta (gratuito e de código-fonte aberto) : versão lançada em 2012, é cliente do Sage com cálculo remoto em servidor web (logo precisa de conexão Internet), tem saída tipografada, gráficos, notebooks, etc. É versão beta com parte dos recursos do Sage para PC desktop implementados. Sage é um CAS baseado em Python / SymPy com muitos recursos avançados;
  • MathSys Calculator Shell alpha (gratuito) : lançada no 2o semestre de 2012, é uma nova interface continuando o trabalho da equipe do MathScript Scientific Calc citado acima. Tem interface touch fácil de usar, saída tipografada, gráficos 2D e 3D. Está em testes ainda (versão alfa), só funcionando em alguns tablets e smartphones Android com bom desempenho e tela de alta resolução. Internamente usa Python e os módulos SymPy, NumPy e MatPlotLib, infelizmente NumPy e MatPlotLib não são acessíveis de fora do MathSys, p.e., no Python SL4A;
  • wxMaxima e Maxima (gratuitos e de código-fonte aberto) : (wx)Maxima é a melhor interface gráfica para o CAS Maxima, ambos podem ser instalados em Linux dentro do Android (desde que se possa “rootear”), vide artigo de blog “Usando Linux dentro do Android no Asus Transformer“, onde vemos que o wxMaxima gasta 1-4 s para abrir em um tablet típico de 2 núcleos Cortex A9. Para instalar no Ubuntu (dentro do Android) é simples, via comando “$ sudo apt-get install –no-install-recommends maxima wxmaxima maxima-share”;
  • SymPy & IPython Notebook (gratuitos e de código-fonte aberto) : a maior parte do ambiente Python científico de PC funciona no Linux dentro do Android (instalável se for possível “rootear” o Android) : IPython 0.12 com interface Notebook, NumPy & MatPlotLib, SymPy, etc. Mas PyGlet e gráficos via Plot no SymPy dificilmente funcionam. Para instalar no Ubuntu (dentro do Android) basta o comando “$ sudo apt-get install –no-install-recommends python-mpmath python-sympy python-numpy python-matplotlib ipython ipython-notebook”.

Para iOS, em 2012 tivemos basicamente atualizações dos softwares já existentes de CAS :

  • MathStudio (US$9,99) : é um CAS leve com cálculos numéricos, simbólicos (integrais em relação a uma variável, etc), saída tipografada, gráficos 2D e 3D com animações, documentação, etc. Vide site do MathStudio para documentação, exemplos de sessões, galeria de gráficos, etc. Tem versão para Android;
  • iCAS (US$14,99) : versão iOS do REDUCE (CAS que começou na década de 60), bem complexo, tem saída tipografada, gráficos 2D e 3D, arquivos com comandos, etc. Vide site do iCAS para mais exemplos, documentação, etc;
  • PocketCAS Pro (US$4,99): outro CAS leve com cálculos numéricos, simbólicos, saída tipografada, gráficos 2D e 3D, teclado matemático, editor de arquivos de comandos, documentação, etc. Vide site do PocketCAS for iOS para maiores detalhes, documentação, etc.
  • PocketCAS lite (gratuito): vide PocketCAS Pro acima, porém com algumas funções desabilitadas;
  • Python Math (gratuito) : basicamente Python que inclui o CAS SymPy, não tem saída tipografada nem gráficos, tem editor de arquivos de comandos (US$0,99), teclado optimizado para Python (US$0,99), documentação, etc. Vide site do software para maiores detalhes, assim como o artigo “SymPy for smartphones & tablets” com análise detalhada desse software;
  • Python for iOS (US$2,99) : basicamente Python que inclui o CAS SymPy, não tem saída tipografada nem gráficos, tem editor de arquivos de comandos, documentação, etc. Vide site do software para maiores detalhes, bem como o artigo “SymPy for smartphones & tablets” com análise detalhada desse software;
  • Calcul (US$1,99) : CAS bem simples para computação simbólica, com saída tipografada.

Para Maemo 5 (Nokia N900, um smartphone lançado em no final de 2009 e vendidas 1-2 milhões de unidades mundo afora), há algumas opções, todas gratuitas :

  • SymPy Interactive Shell (gratuito e de código-fonte aberto) : CAS SymPy de fácil instalação e completo, incluindo IPython 0.10.2, SymPy 0.7.1/0.7.2, ícone, saída bidimensional, gráficos 2D e 3D interativos (via instalação de PyGlet), uso interativo completo do IPython 0.10.2, etc. SymPy para Maemo 5 é o mais completo dentre todos smartphones e tablets, vide análise comparativa no artigo “SymPy for smartphones & tablets”. Para mais recursos em cálculos numéricos e gráficos, temos NumPy 1.4.0 e MatPlotLib 1.0.0 também facilmente instaláveis no Maemo 5, via “$apt-get install python-numpy python-matplotlib” com repositório extras-devel habilitado. O artigo “Python científico em computadores, tablets e smartphones” mostra que o Maemo 5 é um dos dois melhores sistemas operacionais móvel para uso de Python. “SymPy Interactive Shell” foi empacotado pelo autor desse blog, desde 10/2011 até hoje (28/12/2012) tem mais de 66 mil downloads (uns 40 mil downloads únicos excluindo atualizações) para Nokia N900;
  • Integral (gratuito e de código-fonte aberto) : interface de fácil uso para calcular integrais com muitos recursos : definidas ou definidas ou numéricas (precisão arbitrária), em relação a 1 a 3 variáveis, resultados em vários formatos (simples, bidimensional, LaTeX, MathML, C, Fortran), opções de simplificação do resultado, com recurso de histórico e completar linhas de entrada, etc. Usa Python e o CAS SymPy v0.7.1/0.7.2. Vide também o tópico sobre “Integral” no fórum Talk Maemo.org. Foi criado pelo autor desse blog, desde 08/2011 até hoje (28/12/2012) tem mais de 82 mil downloads (uns 65 mil downloads únicos excluindo atualizações) para Nokia N900;
  • Derivative (gratuito e de código-fonte aberto) : interface de fácil uso para calcular derivadas ordinárias ou parciais (até 3 variavéis), gradiente, divergente, rotacional e laplaciano em 3 dimensões (coordenadas cartesianas, cilíndricas e esféricas), solução numérica com precisão arbitrária, resultados em vários formatos (simples, bidimensional, LaTeX, MathML, C, Fortran), opções de simplificação do resultado, com recurso de histórico e completar linhas de entrada, etc. Usa Python e o CAS SymPy v0.7.1/0.7.2. Vide também o tópico sobre “Derivative” no fórum Talk Maemo.org. Foi criado pelo autor desse blog, desde 10/2011 até hoje (28/12/2012) tem mais de 64 mil downloads únicos para Nokia N900;
  • Limit (gratuito e de código-fonte aberto) : interface de fácil uso para calcular limites simbólicos ou numéricos (com precisão arbitrária), resultados em vários formatos (simples, bidimensional, LaTeX, MathML, C, Fortran), opções de simplificação do resultado, com recurso de histórico e completar linhas de entrada, etc. Usa Python e o CAS SymPy v0.7.1/0.7.2. Vide também o tópico sobre “Limit” no fórum Talk Maemo.org. Foi criado pelo autor desse blog, desde 11/2011 até hoje (28/12/2012) tem mais de 57 mil downloads únicos para Nokia N900;
  • wxMaxima e Maxima (gratuitos e de código-fonte aberto) : (wx)Maxima é um dos CAS mais completos e maduros, disponível no Maemo 5 via Easy Debian. É muito fácil instalar o Easy Debian dentro do Maemo 5, i.e., um Debian ARM via chroot, permitindo instalar quase 30 mil pacotes ARM. Dentro do Easy Debian, basta habilitar o repositório sid e instalar via “$ apt-get install –no-install-recommends maxima wxmaxima maxima-share”.

SymPy rodando dentro do IPython Notebook no Nokia N9


SymPy 0.7.2 rodando dentro do IPython Notebook 0.13.1 no Nokia N9

Para MeeGo Harmattan (Nokia N9, vendidas algumas poucas milhões de unidades desde meados de 2011), além de somente um software (SymPy) CAS nativo do MeeGo Harmattan, temos softwares CAS do Debian (via chroot de imagem) que funcionam muito bem no Nokia N9, vide artigo “Easy Debian Harmattan para Nokia N9 com teclado virtual transparente“. As imagens científicas do Debian acumularam quase 7 mil downloads entre Agosto e Dezembro de 2012, atestando a popularidade e facilidade de uso do Easy Debian Harmattan (do qual o autor desse blog é mantenedor).

Para Symbian, há poucos soluções CAS :

  • JaSymCA 2 (gratuito e de código-fonte aberto) : tal como citado acima para celulares não-smartphones, funciona também no Symbian;
  • Python + SymPy (gratuito e de código-fonte aberto) : no Symbian a instalação é manual, não tem saída tipografada nem gráficos, com uso interativo bem limitado ou via execução de arquivos de comandos Python. SymPy é um CAS escrito totalmente em Python.

Os sistemas operacionais BlackBerry OS e Windows Phone não têm CAS disponíveis atualmente.

Conclusões

Sobre considerações entre vantagens x desvantagens entre computadores, tablets e smartphones, bem como opções de compras de smartphones e tablets, vide final do artigo “Python científico em computadores, tablets e smartphones”.

Enfim, minha opinião :

  • mesmo celulares não-smartphones podem rodar CAS, instalado localmente ou acessando CAS online via navegador web;
  • há várias opções de CAS online completos ou só com funções específicas, acessíveis via navegador web;
  • a maioria dos sistemas operacionais móveis (de smartphones e tablets) pode rodar CAS instalado localmente;
  • SymPy (CAS totalmente escrito em Python) está em todos os sistemas operacionais móveis que rodam CAS e em alguns CAS online, atestando a portabilidade da linguagem Python;
  • os melhores CAS gratuitos, Maxima e SymPy, ambos rodam em Android, Maemo 5 e MeeGo Harmattan, tendo bom desempenho e boa funcionalidade;
  • o Nokia N9 com MeeGo Harmattan é o melhor smartphone atual para rodar CAS, pois tem versões de 2012 dos melhores CAS gratuitos : SymPy 0.7.2 + IPython Notebook 0.13.1 com gráficos embutidos e wxMaxima/Maxima (via Easy Debian Harmattan);
  • Android atualmente é o sistema operacional móvel que tem a maior variedade de hardware (i.e, smartphones, tablets e Mini-PC’s de diversos tamanhos, formatos, preços e fabricantes) combinada com um bom leque de softwares CAS.

(Atualização em 12/02/2013) : adicionada citações a SymPy 0.7.2 para Maemo 5/MeeGo Harmattan (07/01/2013), IPython 0.13.1 terminal, Notebook e Qt console para MeeGo Harmattan (22/01/2013), 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) : adicionadas screenshots do SymPy 0.7.2 rodando no IPython Notebook 0.13.1 no Nokia N9.

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

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 »

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 »

Configurando e testando um Mini-PC com Android 4.0.4

Posted by robertocolistete em 15/09/2012

O Mini-PC modelo MiniX H24 TV Box vem com Android 4.0.4 (ao invés do anunciado Android 2.3 no momento da compra) e surpreendeu em termos de desempenho e possibilidades de uso. O que antes eu acompanhava teoricamente (vide meu artigo “Mini PC’s + TV = Smart TV’s abertas (com Android ou Linux) !“) agora eu pude testar detalhadamente na prática.

Meus testes e opiniões sobre o MiniX H24, que é representativo de vários Mini-PC’s com processador Allwinner A10 (AK/MK802, etc) :

  • já vem com Android 4.0.4, rooteado, kernel Linux 3.0.8 instalado em 06/2012;
  • fácil demais de usar, só ligar o cabo HDMI na TV, a fonte, aí dá boot no Android 4.0.4 em uns 100 s, podendo controlá-lo via controle remoto IR, mas é bem melhor um mouse e opcionalmente teclado (USB ou sem fio proprietário, i.e., não suporta Bluetooth);
  • tem idioma português e vários outros para escolher;
  • o processador Allwinner A10 com Cortex A8 @ 60-1008 MHz tem desempenho suficiente para o Android 4.0.4 se esse for usado “sem pressa” e evitando usar mais de um software “pesado”. Os 512MB de RAM (na verdade 306MB livres) dão conta do recado. Dos 4GB de memória flash interna, sobram 1,4GB disponíveis para o usuário. Mas ele suporta cartão MicroSD extra de até 32GB;
  • funciona melhor em resolução HD (1280 x 720), pois em Full HD (1920 x 1080) o desempenho cai;
  • já vem com Email, Navigator, Flash Player, GMail, Android Market (depois fez upgrade para Google Play Store), File Manager, etc;
  • a CPU Cortex A8 tem benchmark Antutu de 711/165 (CPU integer/float point), pior que os 2 Cortex A9 do Tegra 2 (@ 1 GHz no Asus Transformer), com 1323/1074. Ou seja, o Tegra 2 tem 2 a 6 vezes a velocidade do Allwinner A10 em termos de CPU;
  • a GPU Mali-400 do Allwinner A10 tem desempenho pouco pior (204/809 para gráficos 2D/3D) versus 297/821 da GPU ULP GeForce do Tegra 2 do Asus Transformer TF101, o que se mostra na interface gráfica fluida no MiniX;
  • alguns teclados USB simplesmente não funcionam, alguns mouses funcionam só na USB host e não na USG OTG, pendrives (16GB, etc) funcionaram na USB host;
  • via hub USB (com alimentação externa) conectado na porta USB host, funcionou HD de 500GB;
  • esquenta bem, mas não atrapalha o uso normal.

Dicas de softwares (todos gratuitos) :

  • NetFlix não está disponível no Google Play Store, mas basta fazer download do arquivo .apk de versão anterior e instalar que funciona, p.e., NetFlix v1.7, clicando via File Manager no Android (antes marque a opção Configurações->Aplicativos->Fontes desconhecidas);
  • DroidWall, um firewall gratuito para Android rooteado. Muito útil para travar acesso Internet do Google Play Store enquanto assiste NetFlix, roda um jogo, etc. Isso pois durante instalação automática de programas, o Android 4.0.4 no MiniX fica muito lento, logo eu sugiro habilitar o acesso Internet do Google Play Store só em certos momentos;
  • Quick Boot : software de reboot/shutdown, evitando ter que puxar o cabo de alimentação do MiniX para reinicializá-lo ou desligá-lo;
  • SystemPanel Lite : gerenciador de tarefas e visualizador de sistema, é útil para deixar o MiniX mais rápido fechando softwares pesados (Google Play Store, NetFlix, etc) quando não necessários, pois na verdade o Android não fecha programas quando queremos;
  • Hacker’s Keyboard : o melhor teclado de tela para Androiod, na minha opinião.

Instalei também vários outros softwares de Internet (Opera Mobile, Firefox, SSHDroid, Remote Web Desktop, AirDroid, etc), vídeo (MX Video Player
iMedia-Share Lite, VLC), jogos (Angry Birds, Angry Birds Space), programação (Terminal IDE, C4droid pago, Python SL4A com SymPy, etc), computação científica (MathScript, Sage, Anoc Octave Editor, Octave), quase todos via Google Play Store. Todos funcionam bem.

Links interessantes sobre MiniX H24 e outros Mini-PC’s com processador Allwinner A10 :

Enfim, o Mini-PC MiniX H24 mostra que o processador Allwinner A10 é suficiente para rodar Android mesmo que ICS (v4.0) no dia-a-dia, basta saber optimizar o uso do Android.

E fica ainda melhor rodando Linux via boot no cartão microSD, vide artigo “Rodando Linux em um Mini-PC via múltiplo boot“.

E para quem quiser comprar um Mini-PC, hoje modelos com 1GB de RAM e processador com Cortex A8 estão custando entre US$55-70. Os com Cortex A9 (1 ou 2 núcleos) já chegaram, custando na faixa de US$60-80.

(21/01/2013) : Vide final do artigo “Rodando Linux em um Mini-PC via múltiplo boot” sobre novos Mini-PC’s com 2 a 4 núcleos Cortex A9, custando a partir de aprox. US$50.

Posted in Android, CAS, Mini-PC, Python | 128 Comments »

Samsung Galaxy Tab 2 7″ com Android 4 a R$699 & programas científicos no Android

Posted by robertocolistete em 14/09/2012

Ótima promoção do Samsung Galaxy Tab 2 P3310 7″ WiFi 16GB com Android 4.0 a R$699 em 12x. Vide site da Samsung e matérias para maiores detalhes técnicos : processador TI OMAP 4430 (dua core Cortex A9 @ 1,0 GHz, GPU PowerVR SGX540, usado em vários tablets e smartphones topo-de-linha em 2011, sendo considerado melhor que o NVidia Tegra 2), 1 GB de RAM, tela de 7″ 1024×600 pixels (o ponto fraco), câmera traseira de 3 MPixel e frontal VGA, WiFi b/g/n, Bluetooth 3.0, leitor de cartão MicroSD, USB host 2.0, sensores acelerômetro e magnetômetro, 345 g, etc.

Esse tablet é bom hoje mas corre o risco de ficar ultrapassado se e quando sair o Google Nexus 7 no Brasil, com processador Tegra 3 quad core, tela 7″ HD (1280×800), Android 4.1 Jelly Bean, etc. É fabricado pela Asus, custa US$199/249 nos EUA as versões com 8/16GB internos e talvez custe uns R$600-900 no Brasil.

Atualizando a matéria sobre o Samsung Galaxy Tab 7 citando softwares científicos, temos mais softwares matemáticos e científicos para Android, tornando cada vez mais interessante o uso de Android em tablets para fins educacionais. Seguem minhas sugestões de softwares que incluem CAS (Computer Algebra System, i.e., computação simbólica resolvendo equações, derivadas, integrais, etc) e computação numérica, em ordem crescente de preço :

Aos poucos o Android está amadurecendo quanto a softwares educacionais/científicos de nível de PC desktop.

Posted in Android, CAS, Python, SymPy, Tablets | 2 Comments »

Easy Debian Harmattan para Nokia N9 com teclado virtual transparente

Posted by robertocolistete em 20/08/2012

O Easy Debian para MeeGo Harmattan do Nokia N9 agora está bem fácil de instalar (via pacotes .deb) e usar : com vários ícones e teclado virtual transparente dentro do ambiente gráfico LXDE ! Vide tópico “Easy Debian for MeeGo Harmattan : now with translucent VKB on PR1.3 !” no Talk Maemo.org para maiores detalhes.

OpenOffice 3.2 do Easy Debian no Nokia N9, que abre em uns 10 s.

OpenOffice 3.2 do Easy Debian no Nokia N9, que abre em uns 10 s.

O teclado virtual transparente só aparece dentro do ambiente LXDE, aqui foi usado o teclado English Arrows (via software MesInput disponível na Nokia Store) :

Digitando com o teclado virtual transparente no LXDE.

Digitando com o teclado virtual transparente no LXDE.

A instalação tem a dependência Inception (também usado para overclocking e outras modificações de sistema no MeeGo Harmattan) que precisa ser instalada manualmente. Depois, usando MeeCatalog, instale o Easy Debian que vai instalar automaticamente os pacotes Easy Chroot e xmimd. Após a instalação aparecem 20 novos ícones :

Ícones do Easy Debian no Nokia N9

Também deve ser escolhida uma imagem Debian, há várias imagens disponíveis desde Debian 5.0 lenny (02/2009)até Debian 7.0 wheezy (de 2012, em desenvolvimento). Feito o download e descompactação da imagem, é preciso compatibilizar a imagem para ser usada pelo Easy Debian Harmattan tocando o ícone “FixDebImg”, só uma vez para cada imagem.

A imagem Debian recomendada 1.a (mistura de Debian lenny & squeeze) tem os seguintes softwares :

  • OpenOffice, Abiword, Gnumeric, editores de texto/programação Geany, gedit e Leafpad, TeXMaker / TeXLive;
  • Iceweasel/Firefox (com Java e Flash), Icedove/Thunderbird, gFTP e SSVNC;
  • GIMP, Evince (lê PDF, PS e DVI), PC Man file manager e Synaptic package manager;
  • som com softwares Aqualung, GNOME Alsa Mixer, Music Player e PulseAudio;
  • wxMaxima/Maxima e Yacas CAS (Computer Algebra System);
  • Python com IPython, NumPy, MatPlotLib, SciPy, SymPy, PyGlet, Cython, etc;
  • gcc/g++, make, dpkg-dev, Open Java (JRE) e Perl, etc.

Pronto, agora basta tocar no ícone “Debian LXDE” para abrir o LXDE do Easy Debian. Pode-se também abrir o X Terminal do Debian via ícone “Debian Chroot”. E rodar aplicativos gráficos fora do LXDE, usando tela cheia porém sem teclado virtual (ou usa para visualizar ou digita-se com teclado Bluetooth externo no Nokia N9).

(Adicionado em 24/08/2012) Comparação de desempenho de alguns softwares rodando no Ubuntu 12.04 64 bits x Easy Debian Harmattan com imagem 1b (Debian wheezy experimental), no formato “tempo de abertura na 1a vez em segundos / tempo na 2a vez em segundos” :

Software XPS 15 A1215B N9
LibreOffice Writer 3.5.4 6s / 1s 7s / 2s 13s / 6s
Abiword 2.9.2 5s / 1s 7s / 3s  16s / 11s
Gnumeric 1.10.17 3s / 1s 3s / 1s 5s / 3s
Firefox 14.0.1 / Iceweasel 10.0.6 4s / 1s 4s / 2s 7s / 4s
TeXMaker 3.2 5s / 1s 5s / 1s 4s / 1s
wxMaxima 11.08/12.04 2s / 1s 2s / 1s 2s / 1s

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. N9 : Nokia N9 com MeeGo 1.2 Harmattan PR1.3, TI OMAP 3630 ARM Cortex A8 @ 1,0 GHz, 1GB RAM mobile DDR.

Vemos que o Nokia N9 é muito rápido para se usar softwares de PC desktop via Easy Debian, sendo 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 Nokia N9.

Há aproximadamente 29 mil pacotes Debian, a maioria funciona na arquitetura ARM e no Nokia N9/N950. Pode-se adicionar softwares via Synaptic ou “apt-get” como de praxe no mundo Linux, p.e. : Octave, SciLab, R, Pascal, Fortran, Lua, Ruby, etc.

Comparando os sistemas operacionais de smartphones/tablets :

  • só o Nokia N9 roda Debian com bom desempenho (só uns 10s para abrir OpenOffice) pois tem 1GB de RAM e X Windows nativo. E agora com teclado virtual transparente no LXDE ficou bem prático o uso;
  • Android roda Linux chroot porém via VNC servidor/cliente, ficando bem lenta a interface gráfica;
  • iOS e Symbian não rodam Linux via chroot;
  • Maemo 4 e 5 (Nokia N8x0 e Nokia N900, não mais à venda novos) tem Linux chroot (Easy Debian, etc) completos, porém mais lentos (aprox. 1 min. para abrir OpenOffice, possivelmente por causa de pouca RAM, 128MB no N810 e 256 MB no N900).

Vide artigos anterioes “Nokia N9 com Easy Debian : OpenOffice, TeX, Maxima, etc” e “Teclado MeeGo no Easy Debian do Nokia N9 !” para mais exemplos de aplicação, etc.

(31/12/2012) : As imagens científicas do Debian para Nokia N9 acumularam quase 7 mil downloads entre Agosto e Dezembro de 2012, atestando a popularidade e facilidade de uso do Easy Debian Harmattan (do qual o autor desse blog é mantenedor). Vide artigos mais recentes “Python científico em computadores, tablets e smartphones” e “Computação simbólica CAS (Computer Algebra System) em smartphones e tablets” sobre como o Easy Debian Harmattan transforma o Nokia N9 em um quase PC em termos de softwares.

Posted in CAS, Linux, MeeGo, Nokia N9, Python, Smartphones, SymPy | 24 Comments »

Programando e empacotando direto no Nokia N9 (MeeGo Harmattan OS)

Posted by robertocolistete em 18/08/2012

Isso mesmo, dá para editar, compilar e empacotar softwares profissionais diretamente no Nokia N9 ! Sem precisar de um computador PC com vários softwares de instalação pesada. Por que isso é possível ? Por que o MeeGo Harmattan OS do Nokia N9 é uma distribuição Linux, herdando assim uma grande riqueza de linguagens e ferramentas de programação que podem ser usadas no próprio smartphone, sem depender de um computador PC.

Veja o tópico “Compiling & packaging on MeeGo Harmattan device” do fórum Talk Maemo.org mostrando diferentes formas para ter disponíveis as linguagens de programação C/C++, Fortran, etc, no próprio smartphone.

Lembrando que MeeGo Harmattan já tem Perl nativo e principalmente Python 2.6.6 (bem como 2.5, 3.0 e 3.1 opcionais) nativo com uns 200 pacotes disponíveis, além de suporte a criação de interfaces gráficas em Qt/QML.  Se já não estiver instalado por outros programas, use o X Terminal como root e rode “apt-get install python-pyside pyside-tools ipython”. Vide mais pacotes (NumPy, MatPlotLib, SymPy, PyGame, etc) em Python Harmattan Wiki.

O criação de arquivos de instalação (i.e., pacotes) de softwares, no caso formato .deb do MeeGo Harmattan (seguindo o Debian Linux) também é bem fácil, prática e rápida de ser feita no próprio N9 usando :

  1. chroot de imagem do Harmattan SDK para programas em C/C++/Qt/QML/Python/PySide;
  2. o PyPackager para programas em Python/PySide/Qt/QML.

Veja o tempo gasto (em segundos) via Harmattan SDK para empacotar certos softwares em 2 notebooks x Nokia N9 :

Software XPS 15 A1215B N9
python-sympy 0.7.1 (pacote em Python puro) 42s 180s 94s
easy-chroot 0.2.0 (pacote com scripts) 14s 44s 60s
blas 1.2 (pacote com compilação em C & Fortran) 1127s 1971s 1118s

Onde :

  1. XPS 15 : Dell XPS 15 L502X, 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 : Asus 1215B, 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. N9 : Nokia N9, TI OMAP 3630 ARM Cortex A8 @ 1,0 GHz, 1GB RAM mobile DDR.

Conclusão : para empacotar o Nokia N9 está entre não muito mais lento até mais rápido que netbooks, notebooks baratos e mesmo notebooks topo-de-linha !

Vide também artigo sobre editores de texto/programação para MeeGo Harmattan.

Agora você não tem mais desculpa de não ter o que fazer em filas : tire seu N9 do bolso para programar & empacotar ! 😎

Posted in Linux, MeeGo, Nokia N9, Python, Smartphones | Leave a Comment »

Ubuntu 12.04 (Precise Pangolin) LTS : versão estável lançada !

Posted by robertocolistete em 01/05/2012

O tão esperado Ubuntu 12.04 (Precise Pangolin) LTS (Long Term Support) foi lançado há poucos dias, em 26/04. A grande vantagem dessa versão é a estabilidade, suporte por 5 anos (durante os quais haverá garantia de atualizações e sem obrigação de mudar para nova versão), pequenas melhorias na interface Unity e obviamente novas versões de vários softwares.

Como  eu já relatei em artigo anterior (Ubuntu 12.04 (Precise Pangolin) LTS beta 2 = Python mais fácil), só o fato de vários softwares Python científicos terem versões bem mais novas já é ótimo motivo para usar o Ubuntu 12.04 ou variantes.

Uma grande polêmica entre usuários Ubuntu é a questão dos ambientes gráficos, com migração do Gnome 2.x do Ubuntu 10.04 LTS (último LTS antes do 12.04) para Unity (que não tem menu de aplicativos visível). Parte desse problema de descontinuidade pode ser resolvido escolhendo quais variantes de Ubuntu se quer em termos de ambiente gráfico, por exemplo :

  • Ubuntu, usa Unity (3D ou 2D), tem 5 anos de suporte. Inclui Firefox, Thunderbird, LibreOffice, etc;
  • KUbuntu, com KDE Plasma e também com 5 anos de suporte. Além do LibreOffice tem o novo Calligra Suite no lugar do KOffice, Firefox, Kontact (para email, etc), etc;
  • XUbuntu, que usa Xfce bem leve e tem semelhanças com o Gnome 2.x. Tem 3 anos de suporte. Inclui Synaptic, Firefox, Thunderbird, Adobe Flash, GIMP, Abiword, Gnumeric, etc, mas se pode instalar o LibreOffice.

Minha escolha foi instalar inicialmente o XUbuntu 12.04 a partir de CD (na verdade imagem em pendrive) e depois adicionar softwares (LibreOffice, etc), pois a lista de softwares default do XUbuntu 12.04 e o Xfce me pareceram mais interessantes.

Porém nada impede que se adicione Unity, Gnome, KDE Plasma, etc, ao XUbuntu (por exemplo), aparecendo como opção na tela de login qual ambiente gráfico usar. Por exemplo para adicionar :

  • Ubuntu e Ubuntu 2D e softwares extras, instale os pacotes ubuntu-desktop e ubuntu-restricted-extras;
  • Gnome Classic (imitando Gnome 2.x), instale gnome-panel após ter instalado Ubuntu;
  • KDE Plasma com vários softwares extras, instale kubuntu-desktop kubuntu-restricted-extras;
  • Gnome 3.x, instale gnome-tweak-tool.

Logo se pode ter várias opções de ambiente gráfico e softwares default, dando grande liberdade para nós usuários.

Atualmente eu estou usando e experimentando Xubuntu (Xfce), Gnome Classic (à la Gnome 2.x) ou Ubuntu (Unity) em diferentes computadores.

Posted in Linux, Python | Leave a Comment »

 
%d blogueiros gostam disto: