quarta-feira, 20 de julho de 2011

Mac OS Lion disponível hoje

Após Steve Jobs ter anunciado o lançamento de uma nova versão do sistema operacional da Apple (10.7), durante a Conferência Mundial de Desenvolvedores - conhecida por WWDC -- realizada em junho de 2011, o OS X Lion está disponível para download, a partir de hoje, na Apple App Store, por US$29,99, para usuários com versão 10.6.6 e posteriores.

segunda-feira, 18 de julho de 2011

Lexmark S308 no Ubuntu 11.04 (32 bit)

2011 parece ser o ano em que, para além dos servidores e dos laptops de apaixonados pelo software livre e hackers de plantão, o Linux vai vai se firmar como um sistema operacional "das massas".


Isso, claro, através do Android.


Enquanto isso, apesar dos avanços (notadamente do Ubuntu), o desktop-linux ainda é visto com muitas ressalvas pelo grande público, que o tem como difícil ou complicado.


Quando ouço esse tipo de crítica, costumo responder com exemplos práticos, notadamente o processo de instalação de impressoras, que ultimamente tem sido feito de modo automático no Ubuntu (baixando, se necessário, os drivers praticamente sem intervenção do usuário), enquanto no Window ou no Mac exigem a busca manual dos drivers (por CD ou via site do fabricante da impressora).


Mas hoje a história foi diferente.  Mas não por culpa do Linux.


O problema foi a desatenção do pessoal da Lexmark, que fez um pacote de instalação de drivers para Linux com vários erros de digitação e de programação.  E isso foi o suficiente para que o instalador não fizesse seu trabalho, mostrando em seu lugar a seguinte mensagem de erro:


Lua error detected: While parsing install.lua: config/run.lua:1374: attempt to index global ‘ownhership’ (a nil value)


A história completa de quem descobriu o erro você encontra aqui.


Ou confira abaixo os passos necessários para "consertar" o pacote da Lexmark (que mesmo advertida, ainda não corrigiu o instalador e continua disponibilizando em seu site a versão não-funcional):




1. Extraia os arquivos do instalador com o comando:


$./lexmark-inkjet-legacy-wJRE-1.0-1.i386.deb.sh --noexec --keep


(vale notar que os traços que precedem "noexec" e "keep" são duplos)




2. Uma pasta tmp será criada no diretório em uso, com os arquivos do instalador.  Entre na subpasta config com o comando cd tmp/config e, então, abra o arquivo "lua.run" para edição com o seguinte comando:


$sudo gedit lua.run


3. Por volta da linha 1484 encontre a linha onde lê-se:


if tonumber(ownhership[1]) == 0 then
e altere para:


if tonumber(ownership[1]) == 0 then


(apagando "h" supérfluo da palavra ownership) e salve o arquivo.




4. Agora no arquivo startupinstaller.sh da pasta tmp encontre a linha onde lê-se:


FRONTENDS="gtk fltk ncurs"


e altere para:


FRONTENDS="gtk.tmp gtk fltk ncurs"


5. Para finalizar, com o terminal na pasta tmp, execute o instalador com o seguinte comando:


$sudo ./startupinstaller.sh gtk


OBS: cuidado para que a pasta tmp não seja uma subpasta da "Área de Trabalho" ou outra qualquer cujo nome contenha espaços em branco, pois do contrário, ao tentar rodar o instalador receberá uma novo erro:


Unsupported patch version! chmod: cannot access `bin/linux/x86/libc.so.6/libstdc++.so.6/gtk': No such file or directory ldd: bin/linux/x86/libc.so.6/libstdc++.so.6/gtk: No such file or directory ./startupinstaller.sh: 169: /home/fabio/Área\ de\ Trabalho/Lexmark: not found Error: Couldn't find any suitable frontend for your system

terça-feira, 12 de julho de 2011

Expressões regulares (regular expressions)

Descoberta do dia: expressão regular é o tipo de coisa estranhamente útil.

Eu já tinha ouvido falar, claro; eu até fazia ideia do que era; na verdade, já tinha até usado uma ou outra coisa simples em buscas.  Talvez nem fossem expressões regulares, talvez conectores de expressões, "E" ou "AND", "OU" ou "OR", "$" e "*".


Mas hoje eu precisava de algo mais complexo: precisava encontrar, em um arquivo de texto .odt, tudo que estivesse entre parênteses e alterar o tamanho da fonte.  Dava pra mudar no braço, mas o texto era longo, os parênteses inúmeros.  

Então descobri que o LibreOffice aceita expressões regulares na função Search & Replace (Pesquisar e Substituir).  Nesta página do manual (help) do LibreOffice deu para entender o básico.  Mas foi neste bem escrito guia que eu consegui o que procurava.

Primeiro era necessário fazer o LibreOffice selecionar todos os parênteses e seu conteúdo -- números, espaços, palavras com maiúsculas e minúsculas.
Depois seria preciso substituir todo o conteúdo encontrado, sem efetuar qualquer modificação na substância, alterando apenas o tamanho da fonte.

Vou começar pelo fim e dizer que usei a seguinte expressão na caixa de busca (Search):

\([-0-9a-z ãõáéíóúâêôç/\.\,]+\)

para que o LibreOffice encontrasse (e selecionasse) todos os parênteses do texto com seu conteúdo.

Claro, várias dificuldades surgiram até chegar a esta expressão (que provavelmente não é a ideal -- tanto por poder ser simplificada ou aperfeiçoada:
- primeiro: era preciso fazer o programa entender que eu buscava algo entre parênteses.  Ocorre que os ( ) (parênteses) fazem parte das expressões regulares (caracteres especiais usados como "coringas" em buscas).  Então descobri que era necessário adicionar \ (backslash) na frente do parêntese de abertura e do de fechamento para que eles fossem entendidos literalmente, como parênteses e não como expressões regulares.
- segundo: precisava que todos os textos inseridos entre parênteses fossem reconhecidos, independente do seu tamanho ou conteúdo. Aí veio o resto daquele monstro:  vamos decorticá-lo: os [ ] (colchetes) servem para dizer "qualquer um dos caracteres" dentro dos colchetes, ou seja (no meu exemplo): "-" (hífen); "0-9" (números de 0 a 9); "a-z" (letras de "a" a "z"); " " (espaço); "ãõáéíóúâêôç" (para encontrar esses caracteres especiais); a / (barra simples) para encontrar barras; os dois caracteres \. (barra invertida seguida de ponto) para encontrar os pontos (.) -- que por ser caractere especial, exige a barra invertida antes, à semelhança dos parênteses; e, por fim, o sinal "+" (mais) para indicar que esses caracteres poderiam ser repetidos de 0 a infinitas vezes.

Faltava, então, dizer ao LibreOffice que aqueles textos encontrados (entre parênteses) ;-) deveriam ser rescritos com fonte diferente.
O primeiro passo foi o uso da expressão regular 

& (e comercial) 

na caixa de substituição (Replace), que faz com que o texto encontrado pela busca seja repetido na hora da substituição.
Depois basta indicar os detalhes da fonte a ser usada, o que é feito facilmente, na própria caixa de diálogo de Localizar e Substituir (Search and Replace), através do botão "Mais Opções" (More Options) e, em seguida, "Format".

Pronto.  Assim surgiu minha primeira expressão regular.

sexta-feira, 8 de julho de 2011

quinta-feira, 7 de julho de 2011

Mais Linux para as donas-de-casa

Depois da LG, agora é a vez da Eletrolux lançar no Brasil uma linha de eletrodomésticos inteligentes rodando GNU/Linux.  Conforme anunciado, trata-se da linha i-Kitchen, cujos produtos possuem touch-screen que possibilitam maior iteração entre pessoas e objetos.


Eu não vi nem conheço os produtos.  Acho até que devem ser caros e meio toscos, como os primeiros tudo (notebooks, celulares, etc.), e serão, necessariamente, aprimorados nas próximas versões.  Mas, o fato é que o Linux chegou aos lares, ainda que pelas portas dos fundos, mas chegou.


Mais um exemplo de como o open source possibilita inovação -- muitas vezes em área completamente diversa daquela para qual o conhecimento havia sido concebido.


Viva o fim das barreiras que enjaulam o conhecimento.
Diga sim à democratização do saber.
Go open!
Open Knowledge

segunda-feira, 4 de julho de 2011

Jetsons ainda vivem no futuro

Ainda não inventaram nada parecido com a Rosie, empregada-robótica dos Jetsons.


Mas se você tiver R$3 mil encostado num canto sem saber onde gastar, já pode comprar um aspirador de pó inteligente, movido a Linux, para te ajudar com a limpeza de casa. É o tal da Hom-Bot que a LG lançou há pouco.


E se a vontade for maior que o dinheiro, também existe a versão tabajara-chineluda de R$60,70 (frete incluso); não tem Linux, nem controle remoto; na verdade, nem aspirar aspira, mas "dizem" que ajuda na limpeza.  Mas também por 60 dinheiros não se pode esperar muita coisa...

quarta-feira, 29 de junho de 2011

Android como controle remoto (VLC)

Assistir filmes ou ouvir música do computador é quase obrigatório.

É que hoje quase todo mundo que tem um computador bom ou razoável possui, provavelmente, mais músicas e filmes nele que em qualquer outro lugar da casa. CD, DVD e seus "antigos" players? Nem faz tanto tempo faziam a festa. Hoje parecem antiquados. Burocráticos.

Mas como as telas dos notebooks geralmente são pequenas, suas caixas de som, lástimáveis, o jeito é ligá-los na TV e caixas de som para poder curtir. O problema, é o posicionamento do computador (por exemplo se você tem uma TV LCD ou LED na parede) e o acesso ao menino (levantar toda hora para mudar a música, controlar o volume, etc.). O mouse sem fio ajuda, mas com a resolução alta e a distância, nem sempre é fácil distinguir as pastas/arquivos.

E aí que entram os aplicativos para controlar seu computador através do seu telefone Android, de modo intuitivo e prático, sem precisar instalar qualquer coisa no computador além do VLC -- que se ainda não é, deveria ser seu player-padrão, pois só tem qualidades: open source, multiplataforma, multiformato, leve, interface limpa e funcional.

Só que além de todas essa qualidades, o VLC foi concebido para ser usado em redes, podendo ser controlado à distância.

Eu testei a versão gratuita de dois aplicativos do Android Market: o VLC Remote e o VLC Direct, que se propõem a controlar seu VLC, remotamente, usando sua rede WiFi. Tanto um quanto outro permitem que você, através do seu celular, dê play ou pause no VLC, controlem o volume, avancem ou ou voltem o filme, etc. Claro, as versões pagas trazem diversas outras funções, como controle DVD com todas funções.

Mas o que mais me encantou no VLC Direct é a possibilidade de fazer strem em ambos os sentidos, isto é, tocar no telefone mídias do computador e vice-versa.

Para funcionar, devem ser alteradas algumas preferências do VLC no computador, nada muito complicado. Mostro abaixo como configurar o VLC no Ubuntu.

  1. Claro, antes de mais nada, instale o VLC no seu computador.
  2. Nas preferência do VLC, ativar o botão para "show all", e no menu Interface > Main Interface ative o "HTTP remote control interface" ou correspondente na sua língua.
  3. Adicionalmente, é preciso editar o arquivo /usr/share/vlc/http/.hosts, incluindo o IP do seu Android (ou faixa de IPs) para que seja autorizado o acesso remoto do VLC via http.

Na verdade, segui as instruções do site do desenvolvedor do VLC Remote (embora funcione perfeitamente para o VLC Direct). Para Windows e Mac existe um executável que configura isso automaticamente, baixável deste mesmo site.

Pronto, agora é só sentar e aproveitar!