dez 28, 2006

Posted by Laudeci Oliveira | 3 comments

O segredo do sucesso. Se é que é segredo.

“O sucesso é construído à noite! Durante o dia você faz o que todos fazem.”

Não conheço ninguém que conseguiu realizar seu sonho, sem sacrificar feriados e domingos pelo menos uma centena de vezes.
Da mesma forma, se você quiser construir uma relação amiga com seus filhos, terá que se dedicar a isso, superar o cansaço, arrumar tempo para ficar com eles, deixar de lado o orgulho e o comodismo.
Se quiser um casamento gratificante, terá que investir tempo, energia e sentimentos nesse objetivo, pois ao contrário, acabará perdendo seu grande amor.
O sucesso é construído à noite! Durante o dia você faz o que todos fazem.
Mas, para obter um resultado diferente da maioria, você tem que ser especial.
Se fizer igual a todo mundo, obterá os mesmos resultados.
Não se compare à maioria, pois infelizmente ela não é modelo de sucesso.
Se você quiser atingir uma meta especial, terá que estudar no horário em que os outros estão tomando chope com batatas fritas.
Terá de planejar, enquanto os outros permanecem à frente da televisão.
Terá de trabalhar enquanto os outros tomam sol à beira da piscina.
A realização de um sonho depende de dedicação.
Há muita gente que espera que o sonho se realize por mágica.
Mas toda mágica é ilusão. A ilusão não tira ninguém de onde está.
Ilusão é combustível de perdedores.

“Quem quer fazer alguma coisa, encontra um Meio.
Quem não quer fazer nada, encontra uma desculpa.”

Recebi um email de um amigo e resolvi postar aqui no meu blog.
Para mim ele ilustra a forma como as pessoas se portam em relação a ajudar a comunidade, sempre encontramos a desculpa de falta de tempo ou falta de conhecimento ou N outras desculpas….

Agora podemos repensar como podemos/devemos ajudar :)

Abraço a todos e Feliz Ano Novo

Read More
dez 20, 2006

Posted by Laudeci Oliveira | 3 comments

Descobrindo o UUID de uma partição

Ontem eu estava no canal #ubuntu-br quando um usuário fez a seguinte pergunta:

Como eu descubro o UUID de uma partição FAT32????

Taí uma duvida que nunca me passou pela cabeça!

A pergunta ficou martelando na minha cabeça, e eu tinha que encontrar uma solução para ela…
Comecei a fazer a busca pelo amigo Google até que encontrei uma aplicação chamada diskutils, só que ela era usada em Mac OSX, não, deve existir algo no Ubuntu.

Comecei a pensar e a palavra VOLUME veio a minha cabeça…..
Fui no terminal, digitei vol e pressionei tab, duas opções de comando:

$ vol
vol_id volname

Agora foi a vez de usar o man:

VOL_ID(8) vol_id VOL_ID(8)

NAME
vol_id - probe filesystem type and read label and uuid

SYNOPSIS
vol_id [--export] [-t] [-l] [-u] [device]

DESCRIPTION
vol_id is usually called from a udev rule, to provide udev with the filesystem type, the label and the uuid of a volume. vol_id supports all
common filesystem formats and detects various raid setups to prevent the recognition of raid members as a volume with a filesystem.

voi là!!!!

Agora foi só usar o comando:

$ sudo vol_id -u /dev/hdd5
8EF04F1FF04F0D41

Note a diferença do UUID de uma partição com ext3 e NTFS :)

Read More
dez 17, 2006

Posted by Laudeci Oliveira | 2 comments

Comunidade, o que é?

Sempre ouvi falar da “Comunidade Linux” antes de utilizar alguns dos sistemas operacionais que utilizam o kernel desenvolvido por Linus Torvalds .
Atualmente utilizo o Ubuntu, e este foi o sistema operacional que me fez sentir o mais próximo deste espírito de “Comunidade”.

Comunidade vem do latim communitas, de cum mais unitas, quando muitos formam uma unidade.

Desde que decidi utilizar o Ubuntu como o único sistema operacional existente no meu computador e conhecer as pessoas do canal #ubuntu-br, desde então a necessidade de contribuir de alguma forma para a comunidade que havia me ajudado desde o primeiro contato a instalar/configurar e desenvolver algumas tarefas no Ubuntu, diga-se Linux, que muitas vezes parece coisa de outro mundo para quem vem migrando de um sistema operacional proprietário.

Escolhi uma das maneiras de contribuir com a “Comunidade”, passei a traduzir as aplicações distribuídas gratuitamente no Linux e logo após, a ideia de contribuir com a comunidade foi tomada desejo de ser nomeado Membro Oficial da Equipe de Tradutores do Ubuntu.

No momento em que fui recusado como membro, o meu sentimento inicial foi de revolta e rejeição, logo após, comecei a analizar com mais calma a situação e cheguei a conclusão de que o “título” de membro havia se tornado mais importante do que a “obra” e novamente a vontade de contribuir, agora com uma visão mais clara do significado do termo “Comunidade”, surgiu com muito mais força do que antes.

Hoje, além de contribuir com minhas traduções, participo de um projeto idealizado pelo Rafael Proença (CypherBIOS) a convite do meu amigo OgMaciel (tenho o prazer de poder usar o termo AMIGO pelo caráter que tem demonstrado ter, apesar de não conhece-lo pessoalmente.) chamado APTonCD.

Desde então a satisfação de realizar algo em prol da Comunidade é maior do que o desejo de ter o título de “Membro Oficial”.
Na verdade, todos que contribuem de alguma forma, são “Membros Oficiais”.

A idéia e bastante simples: Para ter uma cidade limpa a comunidade precisa de alguem que faça a limpeza, e o responsável pela limpeza é sempre anônima, outros tem títulos, aparecem na mídia, recebem os créditos. Mas, quando o gari vê a cidade limpa, enche o peito e diz: “Isto é resultado do meu trabalho!”

Para finalizar eu deixo a seguinte mensagem, que para mim, ilustra muito bem o que a “Comunidade” representa:

“O Sol nasce todos os dias, gratuitamente, e a maioria não repara isto.
Todos os dias ele dá um grande espetáculo ao nascer, mas a maioria da platéia está dormindo e não pode lhe aplaudir.
Todos os dias ele se levanta para nos dar a luz, o calor e a vida, e a maioria nem nota tudo isto. “

Read More
dez 14, 2006

Posted by Laudeci Oliveira | 7 comments

Python-Nautilus (Extending Nautilus using Python)

Ubuntu
Por muito tempo tentei encontrar uma forma de interagir com o Nautilus utilzando Python ou qualquer outra linguagem de programação.
Depois de muitas tentativas descobri uma biblioteca que possibilita essa integração com o Nautilus utilizando python….

Aparentemente meus problemas estavam resolvidos, triste engano!!!
Junto com a descoberta da biblioteca veio uma nova duvida:
Como colocar tudo para funcionar????

A documentação não é clara, nem tampouco os exemplos contidos nas pastas

/usr/share/doc/python-nautilus/examples e /usr/share/doc/python-nautilus/

ajudam a decifrar o grande enigma da linha “import nautilus” não funcionar corretamente e deixar o usuário imaginando que o python não consegue encontrar a biblioteca.

Bom, depois de muito tentar, descobri que:

O script só funciona se for colocado em uma das seguintes pastas:

/usr/lib/nautilus/extensions-1.0/python ou
~/.nautilus/python-extensions

Bom… utilizando um script criado pelo meu amigo Yguaratã em seu blog, fiz algumas modificações e criei este script que pode ser acessado através de um menu customizado sem ter q acessar o menu de scripts do Nautilus.
screenshot
Create Files application
O código completo pode ser obtido clicando aqui.

Bom, depois de esclarecer o problema da biblioteca, podemos explicar como a parte de integração com o Nautilus funciona.

Primeiramente devemos fazer o import das seguintes bibliotecas:


#bibliotecas utilizadas para gerenciar
#a forma padrão de como o Nautilus envia
#os caminhos dos arquivos selecionados
import urllib
import urlparse

#biblioteca utilizada na interação
#com o Nautilus.
#esse import só funciona quando os arquivos
#estão armazenados nas pastas mencionadas acima
import nautilus

Para que uma classe possa fazer parte de um menu do Nautilus (geralmente o menu Editar) ela deve implementar a classe nautilus.MenuProvider conforme mostrado abaixo:

class CreateFilesExtension(nautilus.MenuProvider):

Essa classe fará com que um menu seja adicionado a interface principal do Nautilus.
O método get_file_items é exectuado pelo Nautilus sempre que um objeto é selecionado na janela do Nautilus, é nesse momento que devemos validar os objetos que serão manipulados pelo nosso scrip, e, adicionar a entrada do nosso menu customizado.


def get_file_items(self, window, files):

    for file in files:
        if not file.get_mime_type() in SUPPORTED_FORMATS:
            return

    #create our menu if selected item is a folder or a collection of folders
    item = nautilus.MenuItem('Nautilus::Create_Files_Extension',
                                'Create files in folders',
                                'Create files in selected folders')
    item.connect('activate', self.menu_activate_cb, files)
    return item,

Um outro método deve ser criado para executar o código que será disparado quando o menu da sua classe for criado.


def menu_activate_cb(self, menu, files):
    # Strip leading file://
    for file in files:
        self.foldersName.append(urllib.unquote(file.get_uri()[7:]))
    c = CreateNewFile(self.foldersName)
    a = c.run()

Após adicionar or arquivo com o script em uma das pastas que o Nautilus utiliza como container de extensões, a extensão criada só irá surtir efeito quando Nautilus for reiniciado.
Isso pode ser feito usando dois comandos básicos no terminal:

$ nautilus -q
ou
$ killall nautilus

Para instalar a biblioteca no Ubuntu digite a seguinte linha no terminal:

$ sudo apt-get install python-nautilus

Espero que esse post possa ajudar várias pessoas que, como eu, gostaria de adicionar novas funcionalidades ao Nautilus para executar tarefas diárias sem a necessidade de ter as horriveis entradas para o menu de scripts do Nautilus.

[]’s

Read More

Get Adobe Flash playerPlugin by wpburn.com wordpress themes