segunda-feira, 20 de abril de 2009

Debian Lenny com inteface gráfica em menos de 30MB de RAM

Recentemente tomei contato com o Tinycore linux, uma distro pequena cuja imagem .iso cabe em 10MB. A distro tem softwares atualizados e um visual invocado com JWM e o dock wbar. Após o boot, consome 30MB de RAM. E eu penando para limpar o consumo de memória no notebook da minha irmã, que tem 256 MB de RAM e roda o Debian Lenny. Usando o KDE 3.5, basta abrir um navegador e o kopete que a coisa parece que começa a andar para trás. Ora, como uma das vantagens do Linux é imensa possibilidade de configuração (flexibidade), pensei comigo. Tenho duas opções: colocar esse tinycore no notebook da minha irmã ou... personalizar o Debian para consumir menos do que está consumido agora. Escolhi a segunda opção. E abaixo segue o passo-a-passo, vulgo howto.

1 - Instalação enxuta (básica) do Debian Lenny. Instale apenas o modo texto.
2 - Instale os seguintes pacotes (aptitude install): xbase-clients, xfonts-base, xserver-common, xfstt, icewm (ambiente gráfico/gerenciador de janelas), pcmanfm (gerenciador de arquivos leve).
3 - Não instale o Xorg. Vamos utilizar o Xvesa, driver vesa do Kdrive, que é um servidor X otimizado para um pequeno consumo de memória. Aqui você pode fazer o download do pacote .deb. O pacotre xvesa deve ser instalado por último.

Depois de tudo instalado é hora de configurar.

No diretório home do(s) usuário(s) crie o arquivo .xserverrc com o conteúdo abaixo:

exec /usr/bin/X11/Xvesa -mouse /dev/input/mice,5 -screen 1024x760x32 -shadow -nolisten TCP -I &>/dev/null

Após criar o arquivo, dê um chmod +x .xserverrc par torná-lo executável. Caso queira pode modificar a resolução da tela manipulando os valores de screen. Antes de configurar você porde executar o comando Xvesa -listmodes para listar os modos suportados e escolher o mais aprorioado para você.

Ainda no diretório home do(s) usuário(s) crie o arquivo .xinitrc contendo chamdas para os aplicativos que serão iniciados após o X.
Por exemplo:

#! /bin/bash
icewmbg & #para ao papel de parede
wbar & # dock leve
icewm

Observe que tudos os aplicativos que vem antes do gerenciador de janelas devem ser iniciados com o & ao final do comando. Apenas o gerenciador de janelas não deve ter o & ao final do comando.

Para facilitar a sua vida instale o mingetty (aptitude install mingetty) e configure o /etc/inittab para usar o mingetty no tty 1 (terminal virtual 1) com o parâmetro de autologin . Aproveite e comente as linhas de 3 a 6, deixando apenas mais um terminal virtual caso seja necessário.
A seção de configuração dos terminais virtuais do inittab vai ficar assim:

1:2345:respawn:/sbin/mingetty --autologin nome-do-usuario tty1
2:2345:off:/sbin/mingetty tty2
#3:2345:off:/sbin/mingetty tty3
#4:2345:off:/sbin/mingetty tty4
#5:2345:off:/sbin/mingetty tty5
#6:2345:off:/sbin/mingetty tty6

Edite também seu .bashrc e adicione a linha startx nele.
Depois de tudo configurado reinicie o sistema e aproveite para baixar algum tema do IceWM que lhe seja agradável.

Divirta-se

Aproveitando os comentários, resolvi editar o post colocando algumas informações a mais.

Rodrigo Borges: vou olhar na máquina virtual quanto consumiu de espaço no HD. Na minha máquian de uso não posso usar o Xvesa porque preciso da aceleração gráfica da minha Nvidia p jogar Urban terror. Mas te adianto que o HD virtual tem 3GB de tamnaho.

Rafael Gimenes: Opção de navegador leve: use o epiphany, instale via aptitude install epiphany-browser. Consome menos memória que o Firefox ou o Opera.

Zendrael: 1 - a idéia é justamente economizar RAM, por isso não usei nenhum gerenciador de login. Caso você realmente queira utilizar um gerenciador de login gráfico infelizmente não sei como fazer... Vou testar na máquina virtual e ver no que dá...
2 - Sem maiores detalhes sobre a mensagem de erro na inicialização do Xvesa só posso especular. Veja se o drive está instalado em no lugar correto (/usr/bin/Xvesa).
3 - A resolução é dada pelo arquivo .xserverrc. Lá você especifica como quer a resolução usando o parâmetro screen. Antes disso, execute Xvesa -listmode. Para maiores informações olhe aqui (http://www.xfree86.org/current/Xvesa.1.html)

Corrigindo: certifiquem-se de que o xinit está instalado caso contrário o script startx não funcionará.

07/05/2008: Link para outra abordagem possível
http://gamlingen.blogspot.com/2009/03/personal-how-to-for-tiny-debian-lenny.html

segunda-feira, 23 de março de 2009

Brasil. O país do futuro...

Realmente. Seguindo a lógica do ditado popular "fiado só amanhã", o Brasil segue firme e forte ao futuro. Graças a gente "inteligente" como nossos governantes. http://www1.folha.uol.com.br/folha/ciencia/ult306u538367.shtml. Esse tipo de política paternalista e completamente equivocada apenas leva o país a afundar ainda mais em educação. Explico: ao invés de investir em educação básica da forma como deveria, criam-se monstros lógicos como cotas, universidade nova e agora, investe-se o dinheiro de C&T, essencial se não quisermos depender para sempre da tecnologia produzida no primeiro mundo. Que tristeza ler esse tipo de notícia.

quinta-feira, 5 de fevereiro de 2009

Belíndia

Belíndia é um termo muito usado até os anos 90 pelos nossos "analistas" sócio-político-econômicos para descrever o Brasil, um país que ora se mostra país de primeiro mundo como a Bélgica, ora se mostra se comporta como país de terceiro mundo como Índia. Acho que vão ter que mudar esse termo nos próximos anos. A Índia tem feito investimento fortes em educação. Os resultados já começaram a aparecer faz tempo. As grandes indústrias de TI terceirizam seus serviços usando a Índia como fonte de outsorcing. Preferem fazer isso lá porque encontram mão-de-obra qualificada e em quantidade suficiente. Agora, o governo da Índia avança em algo (vejam o link) que o Brasil falou muito... e não fez nada. Nesse ritmo a face terceiro-mundista do Brasil será ultrapassada em muito pela Índia. Ao invés de Belíndia precisarem mudar para Belaquistão, mistura de Bélgica com Paquistão... Mais uma obra dos nossos governantes.

Deus criou o Homem....

e lhe deu um cérebro racional. Mas a pergunta é: o que existe de racional em não preservar o ambiente em que vive? As alternativas começam a aparecer, sempre visando o uso racional dos recursos naturais. Por exemplo, construir uma usina hidrelétrica é atividade altamente perturbadora do ambiente. Custo de construção alto, financeiramente falando. Usinas nucleares dispensam análises. O risco é alto demais. E ainda não sabemos como neutralizar o lixo resultante. Por outro lado, se não podemos ampliar indefinidamente a oferta de energia elétrica, podemos usar a tecnologia para reduzir a demanda. Já falei sobre o uso de monitores LCD. Agora vem a opção de lâmpadas LEDs. O link mostra o resultado de pesquisas no desenvolvimento de LED para utilização em iluminação doméstica. E aqui você poderá ver apreentações feitas pelo pesquisador sobre o assunto. Parece que a necessidade realmente é a mãe da invenção.
Mas ainda me questiono porque um país como o nosso não torna obrigatório o uso de painéis solares, pelo menos para aquecimento de água, em todas as áreas urbanas. A redução do consumo de energia elétrica gerada por hidrelétricas evitaria a necessidade da construção de novas hidrelétricas e a ativação de termelétricas, processos que além de danosos ao ambiente são bastante caros. Se bem que, pensando na grana da licitação e nos famosos 20%, começo a entender melhor a nossa (falta de) política séria e racional sobre recursos energéticos...
Dizem que a frase abaixo não é de autoria do Charles de Gaulle. Bem, eu não sei com certeza quem é o autor, mas a frase é verdadeira.
"O Brasil é um país que não deve ser levado à sério."

sábado, 1 de dezembro de 2007

Script em python para benchmark em sistemas de arquivos

O script abaixo foi idealizado como ferramenta de benchmark para testar a criação de arquivos de tamanhos de 1KB, 1MB ou 1GB em diferentes sistemas de arquivos.

# -*- coding: iso-8859-1 -*-
#Autor: George Kihoma de Britto Lopes
#mail:kyowa_at_bol.com.br
#imponderavel.blogspot.com

import time
import sys
import os


def limpa_tela():
if sys.platform != "win32":
os.system("clear")
else:
os.system("cls")

def criar_arquivo(arquivo,tamanho):
if tamanho == 'KB':
tam=1024
elif tamanho == 'MB':
tam=1024*1024
elif tamanho == 'GB':
tam=1024*1024*1024
i=0
tempo1=time.time()
arq=open(arquivo,"w")
while i < tam:
arq.write("0")
i=i+1
arq.close()
tempo2=time.time()
tempox=tempo2-tempo1
arq_log=open("touch.log","w")
arq_log.write("\t\t-=-=-=-RESULTS-=-=-=-\n"+"\t\tFile created = "+arquivo+"\n"+"\t\tSize of "+str(tam/1024)+" KB\n"+"\t\tTime spent = "+str(tempox)+" seconds\n"+"\t\t-=-=-=-=-=-=-=-=-=-=-=-\n\n")
arq_log.write("\t\t-=-=-=-RESULTADOS-=-=-=-\n"+"\t\tArquivo criado = "+arquivo+"\n"+"\t\tTamanho de "+str(tam/1024)+" KB\n"+"\t\tTempo gasto "+str(tempox)+ " segundos\n"+"\t\t-=-=-=-=-=-=-=-=-=-=-=-\n\n")
arq_log.close()
print "\n\n"
print "\t\t-=-=-=-RESULTS-=-=-=-\n"+"\t\tFile created = "+arquivo+"\n"+"\t\tSize of "+str(tam/1024)+" KB\n"+"\t\tTime spent = "+str(tempox)+" seconds\n"+"\t\t-=-=-=-=-=-=-=-=-=-=-=-\n\n"
print "\t\t-=-=-=-RESULTADOS-=-=-=-\n"+"\t\tArquivo criado = "+arquivo+"\n"+"\t\tTamanho de "+str(tam/1024)+" KB\n"+"\t\tTempo gasto "+str(tempox)+ " segundos\n"+"\t\t-=-=-=-=-=-=-=-=-=-=-=-\n\n"

def ajuda():
limpa_tela()
print "\n*********************************** HELP *************************************"
print "This program requires 2 parameters, the name of the file to be created and the\nsize of it (1 KB or 1MB or 1GB). At the end the program will create an output\nlog file named touch.log which contains the time taken in seconds to create\nthe test file. Each of these parameters must be separeted by a single space. \n\nEx: python touch-plus.py file.txt MB log.txt\n\nFor author info type python touch_plus.py about"
print "\n*********************************** AJUDA ************************************"
print "Este programa necessita de 2 parametros para seu correto funcionamento, o\nnome do arquivo a ser criado e o tamanho do arquivo a ser criado (1 KB ou 1MB\nou 1GB). Ao fnal do programa sera criado um arquivo de saida chamado touch.log,\no qual contem o tempo gasto em segundos para criar o arquivo de teste.Cada\nparametro deve ser separado por um espaco simples.\n\nEx: python touch-plus.py file.txt 4 MB log.txt\n\nPara info sobre o autor digite python touch_plus.py sobre"

def info():
limpa_tela()
print "\n*******************************************************************************"
print "* Autor: George Kihoma de Britto Lopes *"
print "* Mail:kyowa_at_bol.com.br *"
print "* Program Version 1.0 *"
print "*******************************************************************************"

try:
if ((sys.argv[1]=="help") or (sys.argv[1]=="--help") or (sys.argv[1]=="-h") or (sys.argv[1]=="h")):
ajuda();
elif ((sys.argv[1]=="sobre") or (sys.argv[1]=="about")):
info()
else:
criar_arquivo(sys.argv[1],sys.argv[2])
except:
ajuda()


sexta-feira, 26 de outubro de 2007

Falácias, mentiras e descaramento

Que a grana faz o mundo girar, todo mundo sabe. Ou como dizem na língua de Shakespeare, money makes the world go around. Dentro desse pensamento, faz todo o sentido que uma companhia procure falar mal dos concorrentes. Lógica de mercado. Se a marca A é ruim, a marca B é boa. E B terá mais clientes que A.
No mundo da informática, em específico no mercado de software, isso também existe. Mas esse mercado é algo sui generis, na medida em que software é uma abstração da realidade, ou seja, uma modelagem em linguagem de computador de um método, ação, etc. A rigor, uma idéia sobre algo. Da mesma forma que um método matemático, por exemplo. Por isso as leis de patente da Europa não contemplam o software algo algo patenteável. A tradição cultural européia (lembre-se do ilumisnismo, René Descartes, Galileo, Da Vinci, Mendell, etc, a lista é interminável e remonta à Grécia antiga) enxerga o software exatamente como ele é. Uma abstração. E define como item patenteável não a idéia em si, mas o produto FÍSICO dela. Ou seja, um engenho, uma peça, algo de propriedade física palpável. Dentro dessa perspectiva histórica percebe-se os avanços tecnológicos da humanidade, na medida em que as idéias e a capacidade de tê-las não são exclusivas do homem A ou B. Ou da empresa A ou B.
Refletindo sobre isso, é de se estranhar, do ponto de vista do respeito à capacidade criativa da Humanidade, que os EUA aceitem a patente de software. Ou pior, a patente de idéias. Como é o caso do duplo clique do mouse.
Mas aí é preciso considerar também a natureza sócio-político-econômica da psiquê dos estadunidenses, em especial dos que querem patentear suas idéias e daqueles que consideram tais patentes como algo plausível. A lógica deles, estadunidenses, é manter o estilo de vida deles a qualquer preço.
E isso se aplica no mercado de software também. As armas usadas vão desde o falar mal abertamente, ao cooptar pessoas por meio financeiro (pagar) para que difundam nos seus países de origem as idéias que são benéficas a eles lá nos states. Por isso se vê tanta gente "defendendo" o indefensável. E usando os mesmos argumentos da matriz.
Confesso que o que mais me chateia nesses casos, é o insulto à minha inteligência quando vejo argumentos tecnicamente furados ou coisas do tipo " a empresa X faz melhor que o tal software livre". Diz que faz melhor, mas não diz o que exatamente.
Parece até um tal de Steve Ballmer, dizendo que o software livre infringe patentes da MS. Só não diz quais. E nem processa por isso, o que seria um direito dela, MS, caso ocorresse de fato a tal infração. E tem gente que acredita...

quarta-feira, 24 de outubro de 2007

Planejamento de longo prazo

De uns tempos para cá venho me preocupando com minha conta de energia elétrica. Não que ela seja alta. Mas tenho refletido que, se posso economizar, por que não fazê-lo?
Com esse pensamento procurei alternativas de equipamento que consomem menos. O primeiro passo foi a aquisição de um monitor LCD de 17'. Comprei um usado pelo mercado livre. A aquisição me custou, com frete por sedex, uns R$ 550,00.
Mas fiz essa compra apenas depois de um cálculo muito simples: meu antigo monitor de 15' CRT consumia em torno de 70W. O LCD consome em torno de 35W. Apenas nesse equipamento eu reduzi em 35W/h meu consumo de energia.
Daí, comecei a pensar: o nosso Estado, e isso já faz alguns anos, implementa o horário de verão em várias unidades da federação com o intuito de economizar energia. Além disso, passsamos por um apagão elétrico no último governo do FHC. E como desgraça pouca é bobagem, os analistas econômicos de plantão sustentam a tese de que a capacidade de geração de energia elétrica do país esta próxima de um dead-end. E o governo, como parece não saber pensar em medidas de redução, planeja a construção de mais hidrelétricas.
Fica a minha sugestão singela aos nossos administradores. Ao invés de propor mais gastos governamentais (leia-se dinheiro dos nossos impostos) com a construção de usinas, busquem alternativas de redução da demanda. Mesmo porque o gasto financeira da construção de uma usina é calculável. O "gasto" ambiental em época de aquecimento global, esse não é possível calcular.
Sem mais demoras, vamos aos cálculos:

Vamos supor o órgão X. Pode ser um ministério, por exemplo. Pode até ser o ministério das Minas e Energia, que é para o assunto ficar em casa.
Supondo que o referido órgão possua um parque computacional de 1.000 computadores, todos eles com monitor CRT de 15' e consumo médio de 70W/h. Em cada jornada diária, o consumo seria de 8 horas X 70W = 560W/h para cada monitor. Multiplicando por 1.000, teríamos o consumo diário de 560.000 W/h. Ou 560 KW. Por dia.

Em 01 (hum) mês de funcionamento (22 dias úteis), teríamos então 560.000W X 22dias. Isso equivale à 12320000 W/mês. EM 01 ano, 12320000W X 12 = 147840000W. Ou, na unidade de MW, teríamos o consumo anual de 147,84 MW.
A simples substituição dos monitores CRT por LCD geraria a economia de 50% (considerando o consumo do CRT em apenas 70W e do LCD em 35 W) no gasto de energia por apenas um aparelho. Isso, em números, daria uma economia no consumo anual de 147,84MW (monitor CRT)/2=73,92MW.

O cálculo acima foi realizado para um parque computacional de 1.000 unidades. Fico pensando qual o número total de computadores que ficam ligados 08 horas por dia na administração pública federal e nas undidades da federação. E quanta economia de energia poderia ser realizada apenas com essa substituição. Mas parece que nossos administradores julgam ser mais fácil construir uma hidrelétrica e linhas de transmissão.

E para aprofundar a medida acima, ou seja, a substituição dos monitores CRT por LCD, o governo federal e os estaduais poderiam isentar durante 01 ano os monitores de LCD de qualquer imposto. E se fosse o caso, subsidiar a aquisição dos mesmos, de modo que toda a indústria e os cidadãos civis pudessem realizar a troca. No longo prazo, penso que o esforço é plenamente justificável.

Um cálculo sugerido ao Ministério de Planejamento de Longo Prazo: calcula aí Mangabeira, qual o impacto dessa substituição na nossa capacidade de geração e transmissão de energia elétrica?

Para quem quiser refazer meus cálculos, aconselho procurar as páginas de internet dos fabricantes de monitores. Nelas vocês encontrarão o consumo dos equipamentos.