Um pouco sobre a Web Semântica, agentes e linguagens utilizadas

Computadores não entendem o que querem dizer os documentos dispostos na Web, ou seja, não conseguem entender o significado, a semântica, desses documentos. Podem até entender a sintaxe, mas a semântica é perdida. Alguns pensariam que a evolução dos processadores de linguagem natural poderia ajudar nesse aspecto, mas será que eles conseguiriam distingüir a semântica entre as frases “Eu tenho 15 anos” e “Muitos dizem que eu tenho 15 anos”, possivelmente presentes em uma página Web? Ou ainda, ao fazer uma busca pela palavra “Barcelona”, como seria possível retornar somente páginas relacionadas com o clube de futebol Barcelona, e não resultados referentes à cidade espanhola Barcelona?

A Web Semântica ajuda os sistemas inteligentes que percorrem páginas Web a capturarem o sentido da página e o seu conteúdo. A Web, hoje em dia, lida com documentos, enquanto que a Web Semântica busca lidar com coisas, como pessoas, eventos, lugares, filmes, organizações ou qualquer outro conceito desejável, não somente indicando para os computadores essas coisas, mas também mostrando como elas se relacionam entre si, como elas estão conectadas umas com as outras.

Com a Web Semântica, um sistema poderia entender, por exemplo, como uma pessoa, um evento e um lugar se relacionam, facilitando a interação com esses dados. Se uma festa de aniversário é marcada como um evento, com uma data e um local, o computador conseguiria salvar esse compromisso na agenda de uma pessoa. Ferramentas de busca também se beneficiariam com o aumento de precisão das buscas. Uma pessoa poderia informar se o que está sendo buscado é uma pessoa, um lugar, uma música ou um clube de futebol. Assim, a busca não ficaria restrita somente a palavras-chave, mas o resultado também dependeria da semântica das páginas.

Um conceito considerado muito importante para a Web Semântica é o conceito de agentes, que são softwares que percorrem as páginas da Internet em busca de dados anotados semanticamente. Uma pessoa teria um agente pessoal, que conheceria diversas informações a respeito do agenciado. Ao pedir para um agente pessoal encontrar um hotel, devido a uma viagem para um congresso em Manaus, o agente seria capaz de navegar pelas páginas de hotéis de Manaus — e até pela página do congresso, retornando com uma sugestão de hotel próximo ao evento, que não fosse o mais barato, mas cuja rede hoteleira que o administra tenha sido avaliada positivamente pelo agenciado em uma viagem anterior.

Precisa-se, então, de algo que permita embutir semântica em documentos HTML, ou, em outras palavras, anotar os dados de uma página Web semanticamente. Algumas tecnologias já fazem isso, como Microformats e RDFa, permitindo que os conteúdos das páginas façam sentido para humanos e máquinas.

Contudo, o poder de expressividade dessas linguagens não é grande. É possível criar uma página utilizando tecnologias mais expressivas, como OWL e RDF, mais intencionadas para o entendimento dos dados pelos computadores, e não somente por humanos.

Descobrindo o driver de video no Ubuntu Hardy

O Ubuntu Hardy adotou a nova versao 7.3 do xorg, que simplifica muito o arquivo de configuracao /etc/X11/xorg.conf. Simplifica ao ponto de nao informar qual o driver que esta sendo utilizado pelo servidor de video.

Para descobrir qual driver que esta sendo utilizado, existe o xdebconfigurator. Alem do driver, esse programa mostra tambem as configuracoes do mouse e do monitor, entre outras.

Instale-o com o comando:

# sudo aptitude install xdebconfigurator

Executando-o em meu notebook, com placa de video Intel 945GM, obtem-se a saida abaixo. O driver que esta sendo utilizado eh informado na linha que comeca com “VIDEO DRIVER”.

[~]: xdebconfigurator
Detected Xorg server
/usr/sbin/ddcprobe NOT found!
/usr/sbin/kudzu NOT found!
/usr/sbin/detect NOT found!
VIDEO CARD: Xdebconfigurator Card
VIDEO CARD DEVICE:
VIDEO CARD VENDOR:
VIDEO DRIVER: i810
VIDEO DRIVER SRC: discover
VIDEO MEMORY:
POSSIBLE XSERVER: xorg
XSERVER 3:
XSERVER 4: xfree86
DEBIAN PACKAGE: xserver-xorg
MOUSE DEVICE SRC: hwinfo
MOUSE DEVICE: /dev/input/mice
MOUSE PROTOCOL: ImPS/2
MOUSE WHEEL: 0
KEYBOARD RULES: xorg
MONITOR: Xdebconfigurator Monitor
MONITOR ID:
SUGGESTED METHOD: Simple
MONITOR SIZE: 15 inches (380 mm)
MONITOR HOR SYNC: 28-50
MONITOR VER REFR: 43-75
MONITOR MODES: 1024×768, 800×600, 640×480
MONITOR MODE: 1024×768 @ 70Hz
MONITOR MODE SRC: default
MONITOR DEFAULT DEPTH: 16
debconf: DbDriver “passwords” warning: could not open /var/cache/debconf/passwords.dat: Permissão negada
debconf: DbDriver “config”: could not write /var/cache/debconf/config.dat-new: Permissão negada

PS: Post sem acento e cedilha… isso que da ficar futucando o xorg.conf. =oP

Leitor de digital no Ubuntu Hardy

Agora eu me realizei com o Ubuntu 8.04! Primeiro, a saída de vídeo (para monitor, projetor etc) voltou a funcionar, depois o leitor de cartão de memória também, daí foi a vez do meu celular virar um controle remoto pro meu notebook, e agora… o leitor de impressão digital (fingerprint reader) do notebook também está funcionando!

Para isso, utilizei o ThinkFinger. Como está em seu site, o ThinkReader é um driver para leitores de digital do fabricante SGS Thomson Microelectronics. Ele funcionou no meu Toshiba M115, e há relatos de funcionar em outros modelos.

Então, mãos à obra… Vamos instalar as dependências. Digite o seguinte comando em um terminal (Aplicações -> Acessórios -> Terminal/Consola):

$ sudo aptitude install build-essential libtool pkg-config libthinkfinger0 libusb-dev libpam0g-dev

Ou instale os pacotes citados (depois da palavra “install”) usando o Synaptic.

Agora, vamos subir um módulo necessário. Novamente, em um terminal, digite:

$ sudo modprobe uinput

Para que esse módulo sempre suba ao dar boot, edite o arquivo /etc/modules:

$ sudo gedit /etc/modules

E insira o módulo uinput. O arquivo /etc/modules ficará assim:

# /etc/modules: kernel modules to load at boot time.
#
# This file contains the names of kernel modules that should be loaded
# at boot time, one per line. Lines beginning with “#” are ignored.

fuse
lp
sbp2
uinput

Vamos agora baixar o ThinkFinger. Existe o pacote thinkfinger-tools nos repositórios do Ubuntu, mas ele não foi compilado para ter suporte ao PAM. Portanto, teremos que compilá-lo (coisa simples!). Talvez instalar o pacote thinkfinger-tools e o libpam-thinkfinger baste. Caso alguém teste dessa maneira, avise aqui se funcionou ou não!

Baixe o pacote e digite no terminal (estando no mesmo direitório que o arquivo tar.gz foi baixado):

$ tar xvfz thinkfinger-0.3.tar.gz
$ cd thinkfinger-0.3
thinkfinger-0.3 $ ./configure –with-securedir=/lib/security –with-birdir=/etc/pam_thinkfinger
thinkfinger-0.3 $ make
thinkfinger-0.3 $ sudo make install

Para verificar se a instalação foi realizada corretamente, verifique se existe o arquivo /lib/security/pam_thinkfinger.so.

$ ls /lib/security/pam_thinkfinger.so
/lib/security/pam_thinkfinger.so

Para testar se o driver está funcionando, digite os dois seguintes comandos, deslize o dedo sobre o leitor de digital e observe se as saídas são semelhantes:

$ sudo tf-tool –acquire
ThinkFinger 0.3 (http://thinkfinger.sourceforge.net/)
Copyright (C) 2006, 2007 Timo Hoenig <thoenig@suse.de>

Initializing… done.
Please swipe your finger (successful swipes 3/3, failed swipes: 0)… done.
Storing data (/tmp/test.bir)… done.

$ sudo tf-tool –verify
ThinkFinger 0.3 (http://thinkfinger.sourceforge.net/)
Copyright (C) 2006, 2007 Timo Hoenig <thoenig@suse.de>

Initializing… done.
Please swipe your finger (successful swipes 1/1, failed swipes: 0)… done.
Result: Fingerprint does match.

Para que não seja mais necessário digitar senhas para logar com seu usuário, vamos configurar o PAM para trabalhar junto com o ThinkFinger. Edite o arquivo /etc/pam.d/common-auth deixando-o da sequinte maneira:

#
# /etc/pam.d/common-auth - authentication settings common to all services
#
# This file is included from other service-specific PAM config files,
# and should contain a list of the authentication modules that define
# the central authentication scheme for use on the system
# (e.g., /etc/shadow, LDAP, Kerberos, etc.).  The default is to use the
# traditional Unix authentication mechanisms.
#
auth    optional   pam_smbpass.so migrate
auth    sufficient  pam_thinkfinger.so
auth    required   pam_unix.so nullok_secure try_first_pass

Caso a instalação do ThinkFinger não tenha criado o diretório /etc/pam_thinkfinger, crie-o:

$ sudo mkdir /etc/pam_thinkfinger

Finalmente, adicione uma digital para um ou mais usuários do sistema (substitua USERNAME por um usuário do sistema):

$ sudo tf-tool - -add-user USERNAME

(O correto é digitar, antes do “add-user”, os dois sinais de menos (-) juntos. Mas o WordPress não permite que seja publicado assim. Faça isso ao digitar o comando acima.)

Essa etapa irá falhar se o ThinkFinger instalado não foi compilado com suporte ao PAM.

Para testar, abra um novo terminal e digite algum comando iniciando-o com “sudo”. Por exemplo:

$ sudo aptitude update

Aparecerá a mensagem “Password or swipe finger:”. Basta deslizar o dedo para que sua digital seja reconhecida.

Agora você já pode logar no gdm (tela onde se digita o usuário e a senha) e utilizar as ferramentas de administração sem precisar digitar mais sua senha!

Caso funcione para você, por favor, deixe no comentário a versão do Ubuntu (também funciona com versões anteriores ao Hardy) e o modelo do seu computador ou do leitor de digital externo!

Fonte: Linux on Laptops

Aplicativos do Linux para o seu dia-a-dia

Nesse sábado passado (26), aconteceu em diversas cidades da América Latina o Flisol (Festival Latinoamericano de Instalação de Software Livre).

Participei do evento na minha cidade (Vitória) apresentando uma palestra em que mostrei alguns programas do Linux que utilizo comumente. Programas de áudio, vídeo, gráfico, internet, entre outros, que a galera costuma usar em atividades corriqueiras do dia-a-dia.

Disponibilizo aqui a palestra para a galera que queira anotar os aplicativos sugeridos.

A quem participou (ou não) do evento, não se esqueça de inscreve-se na lista do Linux-ES, para tirar dúvidas, pedir alguma ajuda sobre a instalação do Linux e elogiar ou criticar o evento.

Obrigado pela participação dos que foram! E quem perdeu, fiquem atentos aos próximos eventos!

Encontrei o primeiro bug no Ubuntu Hardy Heron

Com já é de tradição no Ubuntu, a versão 8.04 do Ubuntu (codinome Hardy Heron) tem esse nome por ter sido lançada no ano 2008 e no mês 4 (abril).

Mas parece que esse “bug” passou despercebido:

No programa “Canais de Software”, que gerencia os repositórios de software, a versão do Hardy Heron saiu como sendo 5.04!

Creio que esse problema não afetará a segurança do sistema. ;)

Limpando a fila de impressão do CUPS

O CUPS é um sistema de impressão muito usado no Linux, e é o que o Ubuntu utiliza para gerenciar as impressões feitas no sistema. É possível utilizá-lo para adicionar e remover impressoras, além de gerenciar a fila de impressão.

Às vezes acontece de, ao tentar imprimir algo, a impressão falhar e o trabalho ficar preso na fila de impressão. Quando outro usuário tentar imprimir, não conseguirá pois tem um trabalho travando a fila, e também não conseguirá cancelar a impressão pois foi outra pessoa que a iniciou. Mostrarei aqui como fazer para limpar de uma vez toda a fila de impressão através da interface web de gerenciamento do CUPS.

No Ubuntu 7.10, a configuração do CUPS é feita pelo system-config-printer (acessível via Sistema -> Administração -> Impressão). Entretanto, é possível configurá-lo diretamente pela sua página de configuração digitando em um navegador o endereço http://localhost:631/.

CUPS - interface de configuração

Para que um usuário possa fazer modificacões nas configuracões do CUPS (utilizando essa interface ou até mesmo o system-config-printer), é preciso que ele tenha permissão para isso, e uma maneira de lhe dar permissão é adicioná-lo no grupo lpadmin.

Para isso, acesse Sistema -> Administracão -> Usuários e Grupos. Se estiver utilizando o Ubuntu 8.04 (Hardy), clique em “Unlock” e digite a senha do seu usuário. Clique em “Gerenciar grupos”, selecione o grupo lpadmin e clique em “Propriedades”. Agora, é só selecionar o(s) usuário(s) que terá(ão) o privilégio de gerenciar o sistema de impressão.

Para limpar a fila de impressão, basta acessar o link http://localhost:631, clicar em “Printers” e, nas opcões da impressora, clique em “Cancel All Jobs”. Digite então um usuário que está no grupo lpadmin e a sua respectiva senha, apertando “OK” em seguida.

Um atalho para esse caminho é digitar de vez no navegador o endereco http://localhost:631/admin/?op=purge-jobs&printer_name=PDF.

Impressora HP 1020: fazendo-a voltar a funcionar

Tenho uma impressora HP Laserjet 1020 rodando no Ubuntu 7.10 (Gutsy) que de vez em quando empaca e pára de imprimir. Não adianta limpar a fila de impressão, reiniciar a impressora ou o computador. Às vezes ela volta a funcionar depois de um tempo, mas não consegui entender o motivo.

Eu solucionava isso removendo e adicionando novamente a impressora via Sistema -> Administração -> Impressão (Configuração da impressora, ou system-config-printer). Mas não estava satisfeito com essa solução (teria que ensinar esse procedimento para os meus pais).

Uma coisa que eu reparava quando ela emperrava era que seu estado, visto no system-config-printer, estava sempre como Stopped (parado), e não como Idle (ociosa), que seria o estado normal quando está aguardando uma impressão.

Futucando um pouco, percebi que, na aba “Políticas”, a opção “Habilitada” estava desmarcada. Foi só marcá-la e clicar em “Aplicar” para que o estado da impressora voltasse para Idle.

Habilitar impressora

Agora, toda vez que a impressora volta a emperrar (isso não soluciona totalmente o problema), eu realizo esse procedimento, não sendo mais necessário reinstalá-la.

Vou reportar esse bug no Launchpad e colo o link do report aqui.

PS: Lembrando que para instalar a HP 1020, aconselha-se utilizar o driver mais recente que está disponível em http://foo2zjs.rkkda.com. Siga esse procedimento para instalá-la.

Criando imagens ISO personalizadas

Caso você deseje criar um arquivo ISO personalizado no Ubuntu, ou queira modificar uma imagem ISO já existente, a solução é o KIso. Para instalá-lo, digite em um terminal:

sudo aptitude install kiso

Para criar um arquivo ISO, abra o KIso (ALT + F2 e digite “kiso” sem as aspas), clique no botão “Nova imagem” e aperte em “Não” para começar um arquivo vazio. Agora, basta ir adicionando os arquivos desejados.

KIso com arquivos pessoais

Ao terminar, clique em “Salvar imagem” e escolha o nome do arquivo e o local onde irá salvá-lo.

Caso queira, você pode modificar um arquivo ISO, como o de uma distribuição Linux, ou de um DVD. Para isso, abra o KIso, clique em “Abrir imagem” e escolha uma imagem para modificá-la. Então, adicione ou remova os arquivos desejados.

Outra característica interessante do KIso é que ele trabalha também com arquivos NRG, do Nero. Portanto, caso esbarre com uma imagem NRG algum dia, o KIso pode ser usado para convertê-la para ISO.

Habilitando a USB no VMWare

USB aparevendo no VMPlayer 2 (Resolucao menor)

O Ubuntu Gutsy (7.10) vem com um pequeno “feature” que não permite o uso da USB pelas máquinas virtualizadas no VMWare (vmplayer também), bem como por outros virtualizadores, como o VirtualBox.

Por algum motivo, as linhas que habilitam o suporte da porta USB para as máquinas virtuais estão comentadas. Para resolver esse problema, abra o arquivo “/etc/init.d/mountdevsubfs.sh” digitando o seguinte comando em um terminal:

sudo vim /etc/init.d/mountdevsubfs.sh

e procure pelo seguinte bloco de texto:

    #
    # Magic to make /proc/bus/usb work
    #
    #mkdir -p /dev/bus/usb/.usbfs
    #domount usbfs "" /dev/bus/usb/.usbfs -obusmode=0700,devmode=0600,listmode=0644
    #ln -s .usbfs/devices /dev/bus/usb/devices
    #mount --rbind /dev/bus/usb /proc/bus/usb

Basta agora descomentar (remover o caracter “#”) as últimas quatro linhas, resultando no seguinte texto:

    #
    # Magic to make /proc/bus/usb work
    #
    mkdir -p /dev/bus/usb/.usbfs
    domount usbfs "" /dev/bus/usb/.usbfs -obusmode=0700,devmode=0600,listmode=0644
    ln -s .usbfs/devices /dev/bus/usb/devices
    mount --rbind /dev/bus/usb /proc/bus/usb

Salve o arquivo e reinicie o script com o seguinte comando:

sudo /etc/init.d/mountdevsubfs.sh start

Agora, basta mudar a permissão de acesso à USB. Abra o seguinte arquivo:

sudo vim /etc/udev/rules.d/40-permissions.rules

e procure pelo seguinte trecho:

# USB devices (usbfs replacement)
SUBSYSTEM=="usb_device",        MODE="0664"

Modifique a opção MODE da seguinte maneira:

# USB devices (usbfs replacement SUBSYSTEM=="usb_device",        MODE="0666"

Salve o arquivo.

Agora é só abrir a sua máquina virtual e espetar um pendrive.

Fontes: Hamacker’s Palace e André Gondim.

Como me curei da LER

LER DORT

Existe uma doença que atinge muitas pessoas que trabalham utilizando computadores. Muitos a conhecem pela sigla LER (Lesão por Esforço Repetitivo), outros por DORT (Distúrbio Osteomuscular Relacionado ao Trabalho). Seja qual for o nome, o incômodo é o mesmo: uma dor em uma articulação do corpo que é utilizada exaustivamente durante o exercício da profissão.

O problema

No meu caso, e no da maioria das pessoas cuja profissão obriga a viver em frente ao computador, a articulação em questão é o punho. Foram anos, desde a infância, utilizando computador, além de outras atividades paralelas, como minha tentativa de iniciar no violão e na percussão — que fui impedido de continuar devido a LER, intensas redações devido ao pré-vestibular e atuações como goleiro. Com todas essas atividades forçando o punho, não deu outra: LER. A cada início de dor crônica, era uma ou duas semanas de molho, sem poder ter nenhum esforço nessa região. Até eu voltar a fazer tudo novamente, voltando também a dor.

Adotei então como meu companheiro durante essas atividades um tensor — aquela munhequeira que funciona como uma tala para manter a articulação na posição correta. Era só pintar a dor que eu o utilizava, seja para escrever, seja para utilizar o computador. Até que o tensor ajudava a disfarçar a dor, e por isso fiquei utilizando-o por alguns anos — mais precisamente, durante uns quatro anos. Mas a situação ficou insustentável com o decorrer da faculdade de computação que eu fazia.

O tratamento

Procurei então um ortopedista especializado em mão — na verdade, sempre ia a médicos, mas parecia que eles não se interessavam muito no meu caso. Com esse último médico, finalmente descobri o meu problema: sinovite no escafóide (bonito isso, não?), ou seja, uma inflamação no líqüido sinovial em um osso da mão. Ótimo! Já tinha o diagnóstico, agora é só tratar! E lá se foram sessões de fisioterapia. Novos exames, e outro diagnóstico: um cisto na mesma região. Mais fisioterapia, mas o problema persistia: após algum esforço, o cisto voltava a incomodar. Tentei então acupuntura, mais fisioterapia e até infiltração de corticóide. Nada.

A cura

O médico já olhava para mim com cara de pena, não sabendo mais o que fazer. Até que ele deu a última cartada: na sala ao lado, uma médica realizava sessões de terapia de mão — não me pergunte por que ele não havia indicado isso antes. Lá fui eu, desacreditado, para mais uma tentativa. Cada sessão durava trinta minutos, e era dividida em duas etapas: na primeira, realizava-se dez minutos de alongamento em ambas as mãos. Na segunda, realizava-se pequenos exercícios para fortalecer a região, como ficar beliscando massinha de modelar (vocês têm idéia do quanto isso cansa?), movimentos de trancar uma porta e levantamento de pequenos pesos. Na prática, esses exercícios simulavam atividades corriqueiras do nosso dia a dia.

Fiz por um mês essas sessões de terapia de mão, e eu não pude acreditar o quanto esse período foi importante. Em duas palavras: estava curado! O responsável? Acredito que foi o alongamento. Após parar de ir às sessões, continuei alongando o punho como havia aprendido, e aos poucos fui tomando coragem de parar de usar o tensor. Não sentia mais dor, e parecia que eu poderia finalmente escrever e utilizar o computador normalmente. Contudo, havia um porém.

A prevenção

Após acabar com um problema, parece que o ser humano esquece de voltar atrás e refletir sobre o porquê do problema ter aparecido. No meu caso, a LER não surgiu simplesmente pelo esforço repetitivo de um movimento, mas também devido ao esforço repetitivo não respeitando os limites do corpo, seja pelo tempo constante que fiquei realizando o movimento, seja pelo posicionamento do meu corpo durante sua realização.

A palavra-chave era ergometria. Utilizava o mouse e o teclado sem deixar as mãos na posição correta — com a parte de cima da mão alinhada com o antebraço. Para solucionar esse problema, troquei o tensor por dois outros companheiros: um apoio de braço para usar o teclado e outro para usar o mouse. O primeiro é uma barra em gel que fica em frente ao teclado, e o segundo muitas vezes é vendido junto com o mouse pad. Vocês podem encontrá-los facilmente em uma loja de informática.

Apoio tecladoApoio mouse

Não se esqueçam de dar um descanso para as mãos após algumas horas de uso do computador e de outra parte do corpo que também sofre muito: o pescoço. Posicione o monitor de forma que o pescoço fique praticamente alinhado com a coluna e não o force a ficar olhando para baixo — estou sofrendo com isso agora.

Conclusão

Para fazer com que a dor sentida devido à LER parasse, adotei duas medidas simples: alongamento e ergometria. Todo dia pela manhã, paro por alguns minutos para alongar os punhos, e tenho em casa e no trabalho os apoios para braços necessários para uma boa postura durante o uso do computador.

Não falei como realizar o alongamento pois acredito que isso deva ser ensinado por uma pessoa mais especializada. Já vi muita gente alongando de forma errada — principalmente quando fica puxando os dedos pra trás. Busque um fisioterapeuta, ou um professor de educação física, pois estes são pessoas mais indicadas para lhe dar tal instrução.

Todas essas dicas dadas foram baseadas em experiência própria, mas o principal conselho é: busque um profissional.

Próxima Página »


Feed RSS completo

Arquivos