Economia de Energia – 1

15 10 2008

Pois que, com essa semana, serão três semanas pensando sobre os artigos de economia de energia. Cada vez tenho menos vontade de escreve-los. Veja. São artigos que se forem investidos 5 minutos no google, são encontrados diversos similares e de excelente qualidade.

(10 minutos depois) Bem… Como o objetivo deste blog é ajudar e informar, nós lusófonos, abordando assuntos sobre linux, computação e tecnologias em geral, tomo fôlego… e vamos adiante.

Antes de qualquer tópico específico é conveniente pensar em alguma maneira de automatizar as mudanças de estados. Assim ao desconectar o cabo de energia não é preciso rodar trocentas linhas de comando pra aumentar a autonomia desejada. Da mesma forma quando estamos conectados na energia não é necessário economizar migalhas. Para os politicamente corretos, é possível adaptar os scripts nos posts referentes ao assunto para que o seu notebook sempre economize energia mesmo comprometendo o desempenho.

Portanto, para economizar energia até dos dedos, existem os eventos acpi. Esses eventos tem um grupo e uma ação. Eles são disparados quando o usuário modifica ( voluntaria ou involutariamente ) alguma coisa no acpi. Alguns são disparados, por exemplo, quando botões são pressionados, cabos de energia são conectados ou bateria chega a carga completa. Caso tenha curiosidade, basta dar uma olhada /var/log/messages

Oct 15 20:26:58 Amitt logger: ACPI group battery / action BAT0 is not defined
Oct 15 20:27:03 Amitt logger: ACPI group battery / action BAT0 is not defined
Oct 15 20:36:08 Amitt logger: ACPI group battery / action BAT0 is not defined
Oct 15 20:36:13 Amitt logger: ACPI group battery / action BAT0 is not defined
Oct 15 20:47:35 Amitt logger: ACPI group battery / action BAT0 is not defined

Esse log foi gerado quando desconectei e conectei o conector de energia. Algumas vezes = P.

Poderia abordar o problema por duas ópticas, a da bateria e a do conector de energia. Escolhi a segunda. O próximo passo é saber da existência do arquivo /etc/acpi/acpi_handler.sh , que, adivinhe só, administra os eventos disparados pelo ACPI.

Alterando algumas poucas linhas, meu script /etc/acpi/acpi_handler.sh ficou assim:

#!/bin/sh
# Default acpi script that takes an entry for all actions

IFS=${IFS}/
set $@

case "$1" in
  button)
    case "$2" in
      power) /sbin/init 0
         ;;
      *) logger "ACPI action $2 is not defined"
         ;;
    esac
    ;;
  ac_adapter)
    case $2 in
      ADP1) /etc/acpi/plug
      ;;
      *) logger "ACPI action $2 is not defined"
      ;;
    esac
    ;;
  *)
    logger "ACPI group $1 / action $2 is not defined"
    ;;
esac

Que nada mais faz do que chamar o script /etc/acpi/plug quando algum evento relacionado ao ac_adapter for disparado. Veja. Esse será chamado tanto quando o cabo de energia for conectado quanto desconectado. E como saberemos qual dos dois é o caso ?

O arquivo /proc/acpi/ac_adapter/ADP1/state tem essa informação. Então o beta do script preguiçoso seria:

#!/bin/bash
_plugged(){
        logger "Cabo conectado"
}

_unplugged(){
        logger "Cabo desconectado"
}

STATE=`cat /proc/acpi/ac_adapter/ADP1/state | awk '{print $2}'`
if [ $STATE == "on-line" ]; then
        _plugged
else
        _unplugged
fi

Nosso Beta do Script preguiçoso já escreve no /var/log/messages as mensagens “Cabo conectado” e “Cabo desconectado” quando conectamos ou desconectamos o cabo de energia :)

E digo mais, o apelido do script me inspirou. Vou parar por aqui. Já que é bem fácil imaginar o que vem adiante. Acompanhe os próximos posts sobre o assunto! Vamos transformar o preguiçoso em não tão preguiçoso assim.

Economia de Energia – 0





Dica Rápida: Incrementando em Shell

23 09 2008

Procuram e caíram por aqui:
“incrementar + 1 em shell script sem bc”

Sem bc:

expr $var+1
var=`expr $var+1`

Com bc:

echo “$var+1″ | bc
var=`echo “$var+1″ | bc`

Bem mais rápido que qualquer widget ou calculadora gréfica.
Ainda estou em divida com os artigos de economia de energia. Eu sei, eu sei. Não esqueci.





Primeiro dicionário da lingua portuguesa

28 04 2008

Após quatro meses sem escrever, sem idéias para novos tópicos. Cá estou. Com emprego e notebook novos e com uma palestra no FISL no currículo ; )

Feita a introdução, vamos ao que interessa:

A USP, mais especificamente o IEB (Instituto de Estudos Brasileiros) em conjunto ($$$) com a FAPESP digitalizaram o primeiro dicionário da língua portuguesa, datado de 1712 – 1728. Interessante não ? Mas o que diabos isso tem a ver com o meu blog ?? Bom, a principio nada, mas se você visitar o site vai ver que eles recomendam o uso do IE. Como não tenho IE por aqui, tentei outra solução: Fazer o download de todas as imagens.

Como agora estou trabalhando bastante com shell, foi com um script que resolvi o problema. Fiz um pequeno script que corre o número de páginas seqüencialmente incrementando as letras do alfabeto. Isso pra poder seguir a lógica de endereço das imagens

#!/bin/bash
#Uso: getit.sh <numero da pagina para iniciar o download
vetor=( A B C D E F G H I J K L M N O P Q R S T U V X Y Z )
j=0
i=$1
#Valor máximo de página é 7011
while [ "$i" !=  "8000" ]
  #for i in `seq $1 8000`
  do

  wget -c -t 999 -T 20 http://143.107.31.150/dicionario/bluteau/tabBluteau${vetor[$j]}/$i.jpg -O    ${vetor[$j]}_$i.jpg
  exit_val=$?
  if [ $exit_val != 0 ]
    then
      #Remove arquivo com erro, incrementa letra e decremente o numero da pagina
      rm ${vetor[$j]}_$i.jpg
      j=`echo "$j + 1" | bc`
      i=`echo "$i - 1" | bc`
  fi
  i=`echo "$i + 1" | bc`
  sleep 5
  #Tenta todas as letras novamente
  if [ "$j" == "26" ]
    then j=0
  fi
done

ps. Desculpem pela falta de endentação, mas o wordpress não reconheceu esse código como código fonte

Mas enfim, basta rodar esse script em sua maquina linux que depois de algum tempo (3.XXGb depois) você vai ter todas as imagens do primeiro dicionário da língua portuguesa na sua máquina. É bom ter guardado em algum canto, nem que seja por curiosidade ; )

Edit: Obrigado Gaucho pela dica do <pre></pre>





Melhores Links da Semana #1

17 06 2007

Já que faltam idéias e assuntos, resolvi montar uma seção para movimentar o blog, ao menos, uma vez por semana. A idéia é simples, serve tanto para o blog quanto para me fazer ler mais atentamente as centenas (será que já são centenas? :]) de feeds que leio diariamente. Pretendo selecionar as 10 melhores notícias da semana e fazer um pequeno comentário sobre cada uma delas.

Então lá vamos nós:

10. Grande Prêmio de F1 do Canadá[rlslog.net]: Para o s fãs de F1. Acho que vai ser difícil em 2007 algum grande prêmio superar o que foi a corrida do Canadá, as ultrapassagens o acidente do Kubica, desqualificação do Massa, tudo para quem quiser guardar e rever mais uma vez, e o melhor, sem a narração do Galvão Bueno! Olha que só pelo último item a corrida já fica umas três vezes mais interessante!

9. Entrevista com Alan Cox[abclinuxu.cz]: Colocar essa notícia em nono lugar, faz desse blog quase uma “Revista Tititi” do mundo opensource. Mesmo que o site faça perguntas técnicas, o que pude perceber foi que o Alan se esquivou da maioria das perguntas. Partes interessantes, acredito que quando ele cita a mudaça de comportamento da AMD após a compra da ATI e sobre passar o tempo com a família.

8 e 7. Gnash 0.8[lwn.net] e Novo Beta do FlashPlayer9[penguimSWF]: Duas novidades dos tocadores (players) de flash esse semana, saiu o Gnash0.8 que segundo notícia do release está tocando a maioria dos vídeos do youtube e similares, não confirmo, não consegui compilar o gnash ainda. Sobre o novo beta do FlashPlayer da Adobe, a notícia basicamente diz que a nova versão é compatível com o FullScreen, testei… nada feito. Aliás, se o fullscreen funciona eu não sei, sei que simplesmente nenhum botão em flash podia ser clicado, logo, não consegui clicar no botão de fullscreen ¬¬.

6. Banda Larga no Brasil[Jornal da Ciência]: Algumas informações sobre a utilização de banda larga no Brasil e no mundo, é interessante observer que enquanto nos Estados Unidos 20% da população tem acesso a banda larga a América do Sul, incluindo o Brasil não passam de 4%. Isso sim que é inclusão digital.

5. WWDC: São várias coberturas de vários sites sobre o evento onde a Apple anunciou as novidades do ano. Entre elas, o Safari para windows. Não que isso mude minha vida mas o site LifeHacker fez um apanhado de Extensions (Complementos) que permitem o Firefox ter as melhores características do Safari em qualquer ambiente. Algumas são realmente úteis. Esse video[youtube] representa muito bem o BrowserWar.

4. Mobilis na Polishop: Não tão recente assim e sem nenhuma referência, correm boatos de que dia primeiro de julho a Polishop (aquela do “E não é só isso, na compra de uma trituradora de alimentos Tabajara 2000 você ainda ganha esses sacos de batatas, mas ligue agora!”) vai começar a vender o Mobilis. Entre as características do brinquedo estão: Wi-fi, tela com touch, Linux (MontaVista). Tudo isso por apenas R$340,00 e não é só isso, você ainda ganha… isso vou deixar pra Polishop decidir. Eu quero o meu!

3. EnCFS[RedHat Magazine]: Não, esse não é o Sistema de Arquivo da EnC04, iuhaiuahiua. Brincadeiras a parte, esse artigo da Red Hat Magazine ensina ter um sistema de arquivo encriptado não só no HD mas também no memorykey. Desde instalação até uso.

2. Roda Viva + Fapesp[Fapesp]: A Fapesp($$) e a Tv Cultura(com os programas) em conjunto com a Unicamp(escragiários) estarão disponibilizando a transcrição de todos os programas Roda Viva por meio de um site, segundo a notícia, existe um piloto, mas o Google não consegue encontrá-lo, não achei nenhuma referência no site do programa, então deve ser alguma coisa interna. Coloco esta notícia em segundo lugar porque acredito que o conteúdo deste site deve ser extremamente rico e útil.
update: Fiquei de achar o link do piloto, achei: http://www2.fapesp.br/rodaviva. Pelo que pude ver as transcrições não são completas, mas vale para deixar guardado o link e visitar de vez em quando, acompanhando as atualizações.

1. Privacidade Vs. Gigantes da Internet [PrivacyInternational]: O PDF fornecido pela notícia mostra quem passou em quem tomou pau segundo a metodologia adotada pela Privacy International, entre as que passaram: Last.fm, BBC, EBay, LiveJournal. Entre as que tomaram pau: Google e Apple. Não sei porque a notícia acabou passando meio desapercebida, ou foi só impressão ? Aliás, no site da Privacy International pode-se ver um pouco da discução entre google e a organização





Fotos FISL8.0

19 04 2007

Rapidamente. A universidade e o estágio estão consumindo todo o tempo possível e imaginável que tenho. Trabalhos, provas, implementações.

Segue abaixo o link para o álbum no Flickr

 

Album de Fotos Flickr FISL8.0
Álbum de Fotos do FISL8.0

 

Até mais, e obrigado pelos peixes!





FISL8.0 – Dia 1

13 04 2007

Fim do Primeiro dia! Foi “um bom começo de dia”.

FISL EntradaO dia começou bem, porque não conhecíamos a linha do ônibus, fomos bem mais cedo do que deviamos para o FIERGS lugar onde o FISL8.0 está sendo sediado. Chegamos as nove horas da manhã, não eramos os únicos, mas nem as inscrições estavam sendo feitas, esperamos até nove e meia e finalmente pegamos nossos crachás, mochila, papéis (muitos papéis). Mas os portões estavam fechados, ficamos até as 10:00 para podermos enfim entrar no evento. Enquanto tomávamos um chá de cadeira, a fila para o crachá (e tudo mais) ia crescendo, chegou até a ficar pra fora do prédio.

FISL MaddogEntramos! As dez estávamos dando nossos primeiros passos no evento desse ano. Primeira parada, WSL – Trilha Nacional onde o Gaúcho (Luiz Irber) fez a apresentação do software que ele desenvolve na EMBRAPA, infelizmente, acho que isso aconteceu em todas as palestras, atrasou trinta minutos ou mais. Enquanto isso os grupos de usuários foram se acomodando. As 11:00 fomos ver o Maddog na palestra VoIP: Telephony and a lot more. Sinceramente ? Não gostei, prefiro quando o Jon fala de liberdade, software livre como nos anos passados.

Quando voltamos do almoço, as 13 horas na palestra do Han-Wen Nienhuys atual funcionário do Google de Belo Horizonte em Grand Unified Builds, Total Regression Testing and Beauty Contests – A look inside LilyPond software engineering , falando basicamente sobre o LyliPond, software para gerar partituras desenvolvido e mantido por ele próprio ( e outros obviamente). O interessante foi o método que ele usou pra classificar uma partitura como “bonita”ou “feia” usando uma certa métrica de pontuação definida por ele mesmo, como por exemplo, se duas notas se cruzam a partitura recebe acréscimo em uma pontuação, a partitura que tiver menos pontuação no final da análise é a mais “Bonita”, enfim, valeu os quarenta e cinco minutos dedicados. Ao fim desta corremos para a palestra Projeto GIMP: Um Passeio pelo Código. Com João Calligaris, JC certo? Que por problemas no notebook que não exibia nada no projetor teve que ficar uns quinze ou vinte minutos “enrrolando” até que o projetor funcionasse corretamente, deu uma descrição bem legal sobre a história do desenvolvimento do GIMP e alguns dos projeto menores que começaram no colo dos desenvolvedores do GIMP, ao final, ficamos mesmo sem ver nenhum código, mas valeu a pena também, o JC conseguiu fazer de uma palestra totalmente furada, 45 minutos interessantíssimos para mim!FISL Packard

Depois dessas só assisti mais duas palestras, a primeira com o Mauro Carvalho atual mantenedor do módulo (se assim pode-se dizer) v4l, o palestrante sabia muito do assunto, mas infelizmente não consegui aproveitar muito, sei dizer que o v4l está passando por uma reformulação que segundo o próprio vai facilitar o desenvolvimento para novos drivers criando algumas camadas mais genéricas, assim, fica mais fácil de desenvolver o específico. Ao final desta, fomos assistir a pelastra mais uma palestra dos funcionários do Google, mas a sala estava tão cheia que resolvemos ir para a Xorg: Projects and People que definitivamente foi, pessoalmente, a melhor palestra do dia, o Keith Packard definitivamente cativou todo o público mostrando alguns dos membros da equipe de desenvolvimento do Xorg e suas respectivas “cervejas preferidas”. Mostrou o que foi, o que é e o que pretende ser o Xorg, dando uma pincelada geral.

Acho que foi um dia produtivo, infelizmente não deu pra mandar essas notícias porque o wireless (não sei se era problema do meu notebook, acredito que não) estava péssimo, fui conseguir acessar alguma coisa as quatro da tarde, vamos ver amanhã, quem sabe não ganho uns pontinhos para a promoção do BRLinux.

Por hoje é só!

“Tonight we CODE in Helll”

ps: Essa foi a mochila deste ano:
FISL Mochila

Visite também: Dia 2, Dia 3





FISL, ai vamos nós!

2 04 2007

Fórum Internacional do Software Livre 8.0, ai vamos nós!!

Passagens compradas!
Inscrição paga!
Notebook preparado!

Tudo pronto pra um dos maiores, se não o maior evento de software livre no Brasil. Do dia 11 ao dia 15 estarei lá em Porto Alegre acompanhando o máximo de palestras, reuniões, exposições possíveis e relatando tudo aqui no blog como muitos outros vão estar fazendo!

Pra todo mundo por ir aquecendo os motores, preparei uma imagenzinha. Quem quiser colocar no BLOG, msn, seja lá onde for. Assim vamos sondando quem vai estar por lá e preparando os contatos!

FISL 8.0 - Eu vou

Além deste, fiz em mais 2 tamanhos
Formato:PNG

FISL 8.0 – Eu vou (peq) (50×53)
FISL 8.0 – Eu vou (185×195)
FISL 8.0 – Eu vou (grande) (500×526)

Quem quiser editar:
(Formato: SVG)

FISL 8.0 – Eu vou (SVG)

Vejo todo mundo em POA!

update: Código para caso alguém queira copiar e colar

<p align=”center”><img src=”http://fabiocpn.files.wordpress.com/2007/04/fisl80_peq.png”></p>





Adendo ao Genbuntu

19 03 2007

Boas leitores!

Depois de muito tempo sem atualizar, por não ter nenhuma novidade e nenhuma idéia é hora de fazer o adendo mensal (porque é bom atualizar o blog ao menos uma vez por mês)

No final de artigo sobre o Genbuntu ou  “Hibrd Linux Distribution Without Emulation” eu disse que infelizmente os softwares teriam de ser rodados com o root, porém, derrepende não mais que derrepente eu tive uma luz. Como se está usando root, pode-se facilmente trocar de usuário via su ou sudo!

sudo -u <usuário> -s

No meu caso, parar exemplificar, ficar ficaria “sudo -u fcpn -s” o que me dá um console logado no usuário fcpn. Para melhorar ainda mais a história, recentemente eu troquei de HD, e escolhi deixar uma partição para o /home. Montando o home, eu posso compartilhar as configurações entre os sistemas híbridos.

O ideal agora seria criar um script para inicialização, que simplesmente montaria todos os diretórios do script do primeiro artigo, e criar scripts para executar o chroot, trocar de usuário e rodar o software desejado, copiando esses scripts para o /usr/local/bin por exemplo o sistema híbrido fica praticamente transparente ao usuário.

Sem mais, vejo-os no próximo adendo ;  ]





Hybrid Linux Distribution Without Emulation

2 02 2007

Introduction

At the end of the year that had just passed, I completed seven years of, good and bad, experiences with linux. The first contact occurred with Conectiva Linux, a national (Brazilian) distribution, which was one of their first versions, 3.0, if I´m not mistaken. Fascinated with this new world, new interfaces and new software, I started to use Slackware, and used it for about 6 years, but because of the lack of time and Patrick´s taste, i´ve decided, after building a good knowledge with Slack, to change the distribution that I use at home.

Discovering new worlds
(no flames!)

Like all problems that we face, I started lookking for a new solution. In this case, I began to try some other distributions, looking for something… more easier to keep. First I tried Debian, I couldn´t make it… I kind of felt a bit bothered using Debian system. I Couldn´t use it for long time, but the way that apt works was really impressive to me, it´s simply, easy and fast. Second try, Ubuntu, but… ubuntu is ubuntu, all that stuff of “general as possible” really bugs me, the “every day” softwares were… slow… it really piss me off. Finally following lot of indications I tried Gentoo, after a long time compiling everything, the reward: wowww what a great performance! Everything is fast on gentoo (you get used to it really fast), but, besides that, the maintenance of the system is virtually impossible, all compilations gives you lot of performance, but just to test a new software, not that I will really use it, sometimes it takes 30 minutes or more, to compile all libraries, and dependencies. If you wanna fell it, try to compile all Haskell stuff!.

The more I tried to keep my system up-to date, the more it looks impossible to do. Every day there are new updates, and some of then lock the “world upgrade” of my system. Part of it is my fault, I didn´t expand much time to find solutions for broken updates. So finally, I tried to find another solution, I was looking for the speed of gentoo (If you use it one time you will never find other distribution that is faster) and, why not, the speed of aptitude, meaning the agility of installing software.

And from there comes the idea of Genbuntu! That is a base system, compiled, generated by gentoo and emerge, while the software that are less used, or do not need a good speed of execution are executed in ubuntu inside gentoo. For sure there are many other ways of doing this, but I chose using this way: Using what I learnt in gentoo installation, I installed Ubuntu and used chroot to bring to Gentoo the Ubuntu softwares.

Hand´s On

In the first try, I simply called:

chroot /mnt/ubuntu /bin/bash

The intention was to get a bash logged on my Ubuntu partition. It worked. It was exactly that what I needed, but lot of things weren´t working right. After some research (I mean google) I “wrote” a small bash script that gives me a functional console of ubuntu inside the Gentoo system. Done that I could run any console program from Ubuntu on Gentoo.

mount -t proc none /mnt/ubuntu/proc
mount -o bind /dev /mnt/ubuntu/dev
mount -o bind /sys /mnt/ubuntu/sys
mount -o bind /tmp /mnt/ubuntu/tmp
chroot /mnt/ubuntu /bin/bash

Fine, With the base system (/dev /proc /sys and /tmp) replicated on both root mount points ( “/” and “/mnt/ubuntu”) I could run any Ubuntu console software into Gentoo, but what about showing the graphical softwares that uses xorg? Every time I tried to run one of these softwares, I got a

** CRITICAL **: Unable to open display

So using xhost and mounting /dev/pts I allowed that local Ubuntu softwares were exhibited in my own Gentoo xorg server, so finally I could run a console mostly functional from Ubuntu on Gentto and run, from it, synaptic, gimp, <choose your software here>.

#!/bin/bash
mount -t proc none /mnt/ubuntu/proc
mount -o bind /dev /mnt/ubuntu/dev
mount -o bind /sys /mnt/ubuntu/sys
mount -o bind /tmp /mnt/ubuntu/tmp
mount -o bind /dev/pts /mnt/ubuntu/dev/pts
cp /home/fcpn/.Xauthority /mnt/ubuntu/root/
cp /home/fcpn/.Xauthority /mnt/ubuntu/home/fcpn/
xhost +local:root
chroot /mnt/ubuntu /bin/bash
xhost -local:root

The only inconvenient is that I needed to execute everything on ubuntu as root. But for now on, it is limited only by creativity. With chroot, it is possible to run directly any software, for example chroot /mnt/ubuntu xmms. Besides that you can use any other distribution for the non essential softwares as a way that can lead to, maybe, a create a Gentora (Gentoo + Fedora), or Genware (Gentoo + Slackware), or you can just spend your time creating funny names for hybrid distributions = P

Below are some screenshots of using my hybrid system:

emerge + aptitudeSynaptic





Clássico dos Jogos

14 01 2007

Esta semana, meu irmão me procurou dizendo “Me diz algum jogo, não tenho mais nada pra jogar aqui.”, umas das exigências era que o jogo fosse leve. Fiquei um tempo pensando em qual jogo recomendar, não podia ser nenhum jogo atual, pois estes consomem muitos recursos, a idéia era recomendar alguns jogos clássicos, para mostrar que não só os jogos atuais que são bons.

Uma das opções foi o Scummvm (Script Creation Utility for Maniac Mansion Virtual Machine), que é um software desenvolvido para rodar os jogos feitos com o scumm, entre eles os grandes Actions da Lucas Arts. Sejamos siceros, é impossível não se sentir emocionado e empolgado quando se roda, depois de muitos anos, um clássico antigo. No meu caso mais especificamente, o Full Throttle.

Recomendei a ele então dois jogos, Day of the Tentacle e Full Throttle. Curioso, resolvi além de recomendar joga-los também, mais para tirar aquela pontinha de dúvida -”Será que é tão bom quanto eu achava quando era menor ?”. A conclusão que cheguei é que não tem como não se apaixonar por esses jogos, mesmo o gráfico sendo muito inferior aos jogos atuais, eles proporcionam muita diversão. Resultado: Perdi algumas horas de minhas madrugadas jogando-os. O único detalhe é que, quando mais novo, devo ter demorado um mês para acabar Full Throttle, essa semana, devo ter demorado no máximo umas quatro horas, mas foram quatro horas de muitas boas lembranças.

Final de Full Throttle

Última cena de FullThrottle, depois de vários minutos de créditos!

Pois bem, meu irmão gostou do jogo, achou muito divertido, mas perdeu um pouco da empolgação quando me viu jogando, aceito recomendações de jogos! = ]