FISL9.0 A tecnologia que liberta

Instalando novas extensões antigas no Firefox 3 beta

Postado em 6 de maio de 2008 em browser, dica | 1 Comentário »

Se você está usando o novo Ubuntu 8.04 já viu que a versão do Mozilla Firefox que vem instalada por padrão é a 3 beta 5, e por se tratar de uma nova versão, algumas de suas extensões não funcionarão corretamente. No meu caso, 2 extensões fundamentais para o meu trabalho foram desativadas por serem compatíveis com a versão do browser da raposa.

Consegui resolver duas dessas extensões: a Firebug e a do Del.icio.us.

Firebug foi a questão mais simples, embora não esteja funcionando 100%, consegui baixar a versão 1.1beta que está em desenvolvimento, mas já é compatível com a versão 3 do navegador. Até agora  têm funcionado muito bem e está de certa forma estável.

A extensão do Del.icio.us que utilizo é aquela que foi criada pela equipe do Yahoo! e acredito também que seja a mais famosa entre todas que utilizam essa ferramenta de bookmark. Você pode baixar e voltar a utilizar a extensão sem problema algum.


FISL - A viagem Parte 1

Postado em 16 de abril de 2008 em fisl9.0, geral | Sem comentários »

A partir de hoje, em uma série de post estarei falando um pouquinho da minha viagem para o FISL 9.0. Quero contar coisas legais ou curiosas ou diferentes ou qualquer-coisa que vi e valeu a pena postar. Hoje começo pelo começo :), falando um pouco da viagem à Porto Alegre, casa do evento.

No dia 15 de Abril começou minha aventura por terras gaúchas. Parti da gélida Teresina para Porto Alegre ontem pela tarde. Depois de 5 horas de aeroporto-avião-molho no aeroporto-avião-aeroporto, cheguei e fui recepcionado com um friozinho tímido de 9º. Nada mal pra quem há 5 horas estava em Teresina a 35º.

Hoje vou andar e conhecer um pouco da cidade. Depois eu posto as primeiras impressões.


CSS Naked Day 2008

Postado em 9 de abril de 2008 em design, geral | Sem comentários »

Esse ano este blog está participando do CSS Naked Day, que é uma campanha para que os webdesigners tirem todo o CSS de suas páginas.

Se você está lendo este post pelo RSS, convido você a ir ao site e ver como ficou a formatação dele sem nada, necas, niente, coisa nenhuma de CSS, apenas o puro, bom e velho xhtml.

Você tem um blog, site, flog, orkut ou usa a internet de alguma maneira? Participe! Você pode desligar o CSS através de seu navegador e ver como os sites que você visita são por debaixo dos panos, literalmente falando. :)

Só não faça isso com o site da empresa em que você trabalha. Pode ser que aconteçam imprevistos como o fato de seu chefe não estar participando da campanha.


E vem aí, a FISL 9.0!

Postado em 7 de abril de 2008 em geral, linux | Sem comentários »

Imagem de Nerdson não vai à escola

Prepare as malas mochilas e vamos para a FISL 9.0. O evento nerd mais famoso do Brasil que é realizado todo ano em Porto Alegre no Rio Grande do Sul. Esse vai ser o meu primeiro e lógico, muito ansioso pelas palestras, comunidades reunidas, conhecer a galera da net e por aí vai!

Então, nos vemos no Centro de Eventos da PUC-RS nos dias 17, 18 e 19 de Abril. Vai ser tri-legal tchê!


Papo entre desenvolvedores

Postado em 6 de abril de 2008 em geral, programacao | 2 Comentários »

Imagine um papo em que um Aprendiz de webdesigner pede conselhos a um programador experiente sobre ferramentas, linguagens e etc e mais um webdesigner que já tem os seus seis meses de mercado.

Aprendiz (A):

- Poxa cara, quero aprender a fazer sites. Por onde começo?

Programador experiente (E):

- Cara, lê bastante sobre XHTML, CSS e padrões web. Outra coisa, acompanhe boas listas de discussão para você abrir mais a mente. Você vai aprender muito com os pensamentos dos caras.

A:

- Eu tô começando agora, alguns amigos me recomendaram o Dreamweaver, o Flash e o Fireworks e também a usar alguns modelos prontos da net.

E:

- Bom, o conselho que lhe dou é de que você não deve se prender a ferramentas. Aprenda realmente como funcionam as linguagens e você será muito mais produtivo.

Terceiro Webdesigner:

- Cara, eu faço diferente e é muito rápido. Eu desenho tudo no Fireworks, depois crio os slices e recorto tudo direitinho. Exporto isso como html e lá no Dreamweaver ele recebe tudo pronto. Funciona que é uma beleza. Depois é só puxar e esticar algumas células das tabelas que funciona redondo. Eu testei no IE6 e no Firefox. Funcionou nos dois.

Quer coisa pior? Essa conversa existiu e eu estava perto pra ouvir.

Se alguém tem algo a dizer sobre a profissão de fazedor de sites, por favor, diga!


Como fazer o Ubuntu reconhecer a bateria do seu Acer 3050

Postado em 4 de abril de 2008 em dica, linux | 5 Comentários »

Essa é a dica que faltava pra fazer meu laptop funcionar 100% com Linux. Agora a bateria também pode ser monitorada pelo sistema e assim garantir um melhor aproveitamento da energia.

Vamos direto ao assunto. São poucos comandos até que tudo funcione bem, porém antes de tudo você precisa baixar o arquivo .aml que já está compilado e pronto para ser usado no seu computador e que você irá saber a utilidade dele em nosso processo.

  1. Se você já baixou o arquivo que citei, ótimo, porque este arquivo contém todas as instruções ACPI para ler a bateria e serve somente para o Acer 3050. Coloquei o arquivo já compilado pois assim pulamos o passo de ter que compilar tudo e ainda posso fazer meu arquivo pessoal :)
  2. Após saber pra quê serve o arquivo, vamos copiá-lo para o diretório de acpi do seu ubuntu:
    sudo cp dsdt.aml /etc/initramfs-tools/dsdt.aml
  3. Agora iremos atualizar a imagem do kernel do sistema, agregando as informações ACPI da sua bateria
    sudo update-initramfs -c -k all
  4. Reinicie seu computador, e quando você voltar o Ubuntu irá mostrar o estado da bateria.

Se Murphy der sinal de vida, você pode desfazer tudo e tentar novamente apenas apagando o arquivo .aml que você copiou e em seguida utilizando o comando do passo 3.


África, pênis e 1 milhão de dólares…

Postado em 27 de fevereiro de 2008 em off-topic | 1 Comentário »

Enquanto sua caixa de spam está lotada de emails implorando que você compre aqueles remedinhos milagrosos que aumentam pênis e diga-se de passagem, é um negócio que vende feito água, alguns países, digamos, um pouco mais bem dotados, estão fazendo diferente.

Ná página de 1 milhão de dólares do Zimbábue, você pode morrer de inveja entender do que eu tô falando. Veja só a imagem:

One Million Dollar Zimbabue

Essa mesma empresa tentou abrir filial no Japão, mas infelizmente teve que se mudar pois não havia vendido o esperado :).


Instalando o DB Designer4 no Ubuntu

Postado em 23 de fevereiro de 2008 em dica, linux | 3 Comentários »

Olá, Neste post vou ensinar uma forma rápida de instalar o programa mais utilizado para modelar bancos de dados no Ubuntu. O DBDesigner4 para Linux é disponível apenas nos formatos rpm e tar.gz, mas não no formato nativo do Ubuntu, o .deb. Então precisamos adaptar algumas coisa para ele funcionar bem. Para começarmos, precisamos do próprio DBDesigner4 que pode ser baixado aqui. É necessário também o pacote alien que iremos baixar por apt-get e também precisamos da biblioteca kylix que faz o DBDesigner funcionar. Então vamos aos comandos:

1
2
3
# apt-get install alien
$ wget http://downloads.mysql.com/DBDesigner4/DBDesigner4-0.5.4-0.i586.rpm
$ wget  http://prdownloads.sourceforge.net/kylixlibs/kylixlibs3-borqt-3.0-2.tar.gz?download

Já instalamos o alien, agora seguimos para instalar o DBDesigner e utilizaremos o alien para converter o .rpm para .deb e já instalar em seguida.

1
# alien -i DBDesigner4-0.5.4-0.i586.rpm

Depois de instalarmos o DBDesigner, do jeito que está ele não abre, pois falta uma biblioteca que não estão nos repositórios do Ubuntu, que é exatamente aquela que baixamos. Assim podemos copiá-la para o diretório de libraries do Ubuntu. Seguimos:

1
2
$ tar zxf kylixlibs3-borqt-3.0-2.tar.gz
# cp kylixlibs3-borqt/libborqt-6.9.0-qt2.3.so /lib/libborqt-6.9-qt2.3.so

Pronto, o DBDesigner já está instalado e ele está no diretório /opt/DBDesigner4 e pode rodar utilizando o comando:

1
/opt/DBDesigner4/DBDesigner4

Porém talvez você queira que seu DBDesigner converse com seu banco de dados MySQL. E essa é uma configuração que você mesmo tem que fazer. Mas é tudo muito simples e rápido veja só:

  • Baixe uma biblioteca alternativa para conectar ao banco de dados;
  • Copie para o seu diretório de libraries;
1
2
3
$ wget  http://crlab.com/dbx/dbxmda.tar.gz
$ tar zxf dbxmda.tar.gz
# cp DbxMda/libsqlmda.so.4.20 /usr/lib
  • Abra o DBDesigner clique em Database > Connect to database.
  • Clique em New Database Connection, selecione Advance e modifique os seguintes parâmetros:
    • LibraryName: libsqlmda.so.4.20 (ou outra versão caso seja a sua)
    • VendorLi: libmysqlclient.so.10.0.0
    • GetDriverFunc: getSQLDriverMySQL (pode variar também para getSQLDriverMYSQL)
  • Preencha os dados em General (a outra aba ao lado de Advance) baseado nas suas configurações e;
  • Seja feliz :-)

O controle de dependências no Linux - Parte 2

Postado em 22 de fevereiro de 2008 em linux | Sem comentários »

Voltemos ao nosso estudo de controle de dependências do Linux. E dessa vez iremos falar dos sistemas de gerenciamento de pacotes que possuem esse controle e os mais famosos são o dpkg/apt e o rpm/yum. Nós vamos nos concentrar nestes dois, que são os mais populares hoje em dia.

Por que hoje as distribuições estão utilizando muito mais desse tipo de controle? O foco dessas distribuições é trazer o usuário para o sistema do pingüim e uma das grandes reclamações é a instalação de programas. Certo, mas como é tratada essa facilidade e como é que se faz?

Estes sistemas tentam levar o usuário a uma experiência tranqüila com a instalação de pacotes, com sistemas one-click e sem fazer com que ele precise ir atrás de bibliotecas e mais bibliotecas para conseguir fazer seu tocador de músicas favorito rodar sem problemas, por exemplo. Isso é ótimo porque ninguém mais se preocuparia em baixar libraries.

A famíla Debian, que utiliza o sistema apt (Advanced Package Tool) para gerenciar dependências dos pacotes dpkg, que é o que realmente faz o serviço de instalação dos pacotes Debian. O dpkg é construído em C e é usado para conversar com o sistema Linux em baixo nível e só pode ser gerenciável por nós usuários através de um programa produzido em linguagem de alto nível, que possa fazer conexões remotas para baixar os arquivos e também fazer os relacionamentos das dependências dos pacotes criando os ponteiros necessários do controle de dependência de cada pacote. É aí que entra o apt ou apt-get. O apt é a ferramenta que cria os laços de dependências dos pacotes e busca esses pacotes para que eles sejam instalados. Assim, o apt é uma aplicação intermediária que gerencia os pacotes que serão instalados pelo dpkg.

Provavelmente você conhece o apt através de outros programas como Adept (Qt) ou Synaptic (GTK), que fazem o serviço do apt pra você utilizando cliques :-).
O sistema apt tem sido muito elogiado por sua facilidade de uso e a quantidade de pacotes que tem aumentado de forma impressionante, mas como software nenhum é perfeito, ele também tem muitos defeitos como por exemplo seu próprio controle super-rígido de pacotes. Quer saber como?

Imagine que você tem um sistema Debian rodando Gnome redondinho e de repente você resolve instalar um software feito em Qt do KDE, usando seu apt. Instala todas as bibliotecas que você precisa mais o programa e ele começa a rodar. Mas por algum motivo você não quer mais ele e resolve remover. Por conta do controle muito rígido do sistema, é possível que dependendo das dependências (legal essa!), ele resolve eliminar não só seu programinha, como todas as bibliotecas instaladas pra ele e mais a interface gráfica do KDE inteirinha, tornando outros programas Qt impossíveis de rodar no seu sistema. E aí? Onde foi parar a facilidade de uso?

O trabalho pelo melhor gerenciamento de pacotes dpkg tem sido intenso, porém muito modificado, principalmente pela turma do Ubuntu que é extermista na questão de facilidade de uso, porém criando vários problemas principalmente na desinstalação de programas.

Já a família RedHat, utiliza um sistema um pouco diferente chamado yum. O yum é o mesmo apt para distros RedHat. Utiliza para de fato gerenciar o sistema, o rpm que talvez seja o mais famoso entre os sistemas gerenciadores de pacotes do Linux, tudo isso porque ele foi o primeiro a nascer e oferecer essas facilidades para o usuário. Aliás o rpm é o formato base de controle de pacotes da Linux Standart Base, ou seja, ele é o padrão.

Assim como o dpkg, o rpm remove, supervisiona e possui uma estrutura interessante de controlar as versões e as dependências dos pacotes. O sistema se utiliza de uma estrutura de dados chamada lista duplamente ordenada para entender todo o emaranhado do sistema e se em algum momento a lista se quebra, o rpm vai lá e recria tudo de novo. Isso é bom porque é muito difícil ele perder o fio da meada.

O rpm tem grandes vantagens sobre o apt na sua simplicidade de funcionar. Por exemplo, se você quer instalar um pacote .rpm, ele instala, se você quiser sem as dependências (ah, isso o apt também faz), mas o barato é a desinstalação, que você pode ou não remover as dependências daquele pacote e ainda saber quais delas são utilizadas por outros pacotes e se tornar o sistema mais íntegro para não perder uma enooorme fila de pacotes que seriam desinstalados sem ter nada a ver com o programinha que você instalou e não gostou muito. Não estou defendendo o rpm, mas, por estas facilidades e mais outras, como a verificação criptografada de cada pacote antes de instalar, a inclusão do código-fonte dentro do pacote para facilitar a portabilidade, o rpm é muito elogiado, porém pelo fato da péssima documentação dos pacotes, a dificuldade de consistência do próprio rpm de uma versão para outra (o que torna muito pacote incompatível de uma versão do rpm para outra, gerando erros do tipo “han??? que é isso?”), compromete a popularidade desse gerenciador de pacotes.

É, talvez o que conta realmente para se escolher se é melhor um sistema com controle de dependências ou não é a utilidade do sistema para você, se você quer um sistema Linux para uso básico, onde você não quer ter problemas com instalações e bibliotecas para baixar, realmente vale mais a pena se você instalar uma distro que utilize o controle. Caso você prefira mexer realmente no sistema, é muito mais legal e instigante mexer a fundo nos pacotes ou mesmo nos códigos-fonte que não possuam controles de dependência fazendo como eu já falei, utilizar um caderninho com a fila de libraries que eram necessárias para tal pacote. É pura questão de necessidade.


O controle de dependências no Linux - Parte 1

Postado em 4 de fevereiro de 2008 em linux | 1 Comentário »

O controle de dependências de pacotes no Linux é um assunto que de certa forma, deixa as pessoas em dúvida: Será que isso é bom ou é ruim? Será que para minha distro é melhor usar ou não usar? Meu gerenciador de pacotes tem controle de dependências ou não?

Mas afinal, o que é o controle de dependências de pacotes?

O controle de dependências nada mais é do que um sistema que sempre que você instala um pacote (aplicativo) no seu Linux, pergunta (ou mesmo instala sem nem perguntar nada) todas as dependências do qual aquele pacote precisa sem que você bata cabeça em ter que baixar um monte de biblioteca. UAU! Isso é o máximo! Mas até que ponto isso realmente é o máximo? E quando você quer desinstalar aquele pacote? O mesmo gerenciador pode desinstalar até mesmo o ambiente gráfico do seu sistema Linux, se aquele pacote for uma dependência do ambiente.

Algumas distros preferem deixar as coisas como eram antigamente e abrir mão da dependência de pacotes, assim mantém o sistema mais limpo de sujeira e o usuário sempre sabe o que está instalando, o que pode ser interessantíssimo para os mais experientes para manter tudo sob seu controle. Mas também pode ser uma grande chateação porque baixar cada dependência, leva muito mais tempo para que um aplicativo funcione sem problemas.

Algumas distros funcionam com tudo instalado a partir do código-fonte. São distros mais esotéricas, que são criadas do zero que não utilizam nenhum tipo de pacote, normalmente eles vêm no formato de código-fonte compactado como o tar.gz ou tar.bz2.

1
2
3
4
5
./configure
 
make
 
make install

O primeiro comando verifica as dependências básicas, como o compilador para instalar aquela aplicação, caminhos e algumas bibliotecas do próprio sistema para a instalação.

O segundo apenas compila o código-fonte

O terceiro, após ter os caminhos e dependências verificados parte, de fato para a instalação do pacote.

Ué, e isso não é um controle de dependências? Sim é, aliás esse é o pai do controle de dlependências de hoje em dia como o apt-get (debian-like) e o yum (red-hat-like). A diferença aí está na forma com que ele lida com as dependências. Ao utilizar o ./configure, ele apenas verifica dependências de bibliotecas e apenas para a instalação do pacote. Caso venhamos a desinstalar o programa, a biblioteca continua lá sem ser removida.

Outro formato de instalação de pacote sem controle de dependências, aliás o mais antigo formato de pacote, já que ele vem do próprio UNIX é o .tgz utilizado pelo Slackware, que é a distro que mais se orgulha de ser filha de UNIX.

O tgz não possui nenhum controle de dependências, pois é instalado apenas quando você for rodar a aplicação quando ele notar a falta de alguma biblioteca, aí sim, o usuário deve correr atrás desse pacote e ir instalando até que sejam satisfeitas todas as condições.

Eu, já usei o Slackware e sei o quanto isso dá trabalho, inclusive eu utilizava um caderninho com todas as dependências dos programas que eu instalava, o que facilitava quando eu fosse formatar a máquina. Construía uma árvore de dependências e a seguia para instalar os pacotes.

Lá apenas um comando é necessário

1
installpkg

Ao desinstalar um pacote, APENAS o pacote selecionado é removido e as bibliotecas utilizadas continuam todas lá a não ser que o usuário resolva removê-las também.