Encurtando a URL e criando o seu QRCode.

Com o encurtador de URL goo.gl podemos também obter o respectivo QRCode com apenas dois cliques. Bastar acessar o serviço, digitar a URL e após o processamento entre na opção Details e pronto. Entre diversas informações, teremos o QRCode do link curto. Agora se preferir apenas criar apenas o QRCode, use url abaixo com a string desejada:

http://chart.apis.google.com/chart?cht=qr&chs=200x200&choe=UTF-8&chld=H|0&chl=SUASTRING

RTL8192SE no openSUSE 11.4

Abaixo a minha receita de bolo, para instalar a placa de rede Realtek 8192se no openSUSE 11.4. Acredito que servirá para outras distos.

Em primeiro lugar, faça o download dos fontes do driver em http://tinyurl.com/rtl8192se-linux. Vale a pena lembrar que todos os pacotes referente ao desenvolvimento do kernel deve estar devidamente instalado e configurado.

Logo em seguida, descompacte o pacote,  entre na pasta recém criada, efetue o comando make e make install

# tar -zxvf rtl8192se_linux_2.6.0019.1207.2010.tar.gz
# cd rtl8192se_linux_2.6.0019.1207.2010/
# make
# make install

NagiosVision: Tem humanos no seu servidor (publicado)

Desenvolvi o plugin NagiosVision com o objetivo de criar alertas baseado em comportamentos processados direto do vídeo ao vivo (utilizando a biblioteca openCV junto ao nagios no que ele faz de melhor). Sendo assim, o Nagios pode reportar a detecção de padrão de objetos e faces presentes diante a webcam instalada no seu servidor.

Com este recurso, torna-se possível a contagem de pessoas, análise de fluxo, prevenção a assaltos, análise de trânsito podem serem monitorados em tempo real com um simples dispositivo de captura junto ao poder do Nagios.

O download pode ser efetuado no Source Forge : [sourceforge.net/…] ou na página oficial dos plugins do Nagios: [exchange.nagios.org/…]

Para iniciar, deixo uma receita de bolo sobre o projeto no Viva o Linux. Favor críticas e sugestões enviar para cabelo@opensuse.org” [referência: vivaolinux.com.br]. Abaixo o logo do projeto…

Dicas para o modo console.

Deixo neste post 3 dicas que quase diariamente me perguntam por e-mail ou outros meios… Abaixo comandos que  demonstra como aumentar o volume de um vídeo, trocar o label HD externo com formatação ext2, ext3 e também ntfs.

Aumentando o audio do vídeo.

# ffmpeg -i mariana.avi -vol 2048 -vcodec copy teste.avi

Modificando o label do HD externo.

# e2label /dev/sdc1 NOME-DO-LABEL
# ntfslabel /dev/sdb1 NOME-DO-LABEL

openSUSE na ETEC de Bebedouro.

A ETEC de Bebedouro, inteligentemente vem desbravando a conscientização junto aos seus alunos  sobre software livre. Em nome da comunidade openSUSE, agradeço ao coordenador de área Sr. Wagner Vieira,  Professor Augusto Aguiar e Rodrigo Campos.

Pois com esta atitude a ETEC esta formando profissionais que exergarão além do seu horizonte e aprenderão que a vida é um constante aprendizado. A busca interminável pelo conhecimento somente é possível apoiando-se em ombros de gigantes., pois somente os gigantes tem maturidade suficiente para compartilhar informação e continuar crescendo paralelamente.  O software livre proporciona um conceito de aprendizado baseado na inteligência coletiva, onde o seu conhecimento não esta limitado apenas na sua capacidade cognitiva, e sim derivada de toda uma rede de relacionamento, ondem podemos ser adquirir os caminhos das pedras para uma determinada jornada.

Abaixo algumas fotos demonstrando o respectivo  comprometimento.

 

SVN na família SUSE/openSUSE

Depois de sofrer com pequenos detalhes na instalação do SVN, decidi postar todas as minhas anotações efetuada durante a instalação e configuração. Sendo assim, abaixo o meu mini-howto.

Requisitos de software (RPMs):

  • apache2
  • apache2-doc
  • apache2-prefork
  • libapr1
  • libapr-util1
  • neon
  • subversion
  • subversion-server
  • subversion-tools
  • subversion-python
  • python-pygments
  • python-setuptools
  • viewvc

Após a instalação dos pacote acima, altere o path no arquivo /etc/sysconfig/svnserve.

 SVNSERVE_OPTIONS="-d -R -r /srv/svn/repos"

Adicione o usuario e grupo SVN:

 useradd -d /srv/svn -s /bin/false svn ; groupadd svn

Na pasta principal do repositório SVN crie as pasta como no exemplo abaixo:

# mkdir -p /srv/svn/repos
# mkdir -p /srv/svn/user_access
# mkdir -p /srv/svn/html

Levante o serviço SVN:

# rcsvnserve restart
Shutting down svnserve                    done
Starting svnserve                         done

Configurando o APACHE

Insira os modulos DAV e DAV_SVN:

# a2enmod dav
# a2enmod dav_svn

Edite o arquivo apache2 em sysconfig:

# vi /etc/sysconfig/apache2

Insira o conteudo abaixo:

APACHE_SERVER_FLAGS="SVN_VIEWCVS"

E também verifique a presenças dos módulos dav e dav_svn:

APACHE_MODULES="... dav dav_svn"

Gerenciando usuários

Crie um arquivo de senha e de grupo de usuarios:

# touch /srv/svn/user_access/svn_passwdfile
# touch /srv/svn/user_access/svn_groupfile
# chown wwwrun:root /srv/svn/user_access/*
# chmod 640 /srv/svn/user_access/*

Adicione o usuario e a senha:

# htpasswd2 /srv/svn/user_access/svn_passwdfile cabelo
New password:
Re-type new password:

Defina o grupo do usuário no arquivo svn_groupfile

neti_committers: cabelo
neti_readers: cabelo pedrinho guilherme

Criando um repositório:

A seguir, os comando para criar um repositório:

# cd /srv/svn/repos
# svnadmin create project1
# chown -R wwwrun:root project1/{dav,db,locks}

Edite o arquivo /etc/apache2/conf.d/subversion.conf como no exemplo abaixo:

<IfModule mod_alias.c>
Alias /repos    /rede1/svn/html
</IfModule>
<Directory /rede1/svn/html>
Options         +Indexes +Multiviews -FollowSymLinks
IndexOptions    FancyIndexing \
ScanHTMLTitles \
NameWidth=* \
DescriptionWidth=* \
SuppressLastModified \
SuppressSize
order allow,deny
allow from all
</Directory>
<Location /repos/project1>
DAV svn
SVNPath /srv/svn/repos/project1
# Limit write access to certain people
AuthType Basic
AuthName "Authorization for project1 required"
AuthUserFile /srv/svn/user_access/project1_passwdfile
AuthGroupFile /srv/svn/user_access/project1_groupfile
<LimitExcept GET PROPFIND OPTIONS REPORT>
Require group project1_committers
</LimitExcept>
# Limit read access to certain people
<Limit GET PROPFIND OPTIONS REPORT>
Require group project1_committers
Require group project1_readers
</Limit>
</Location>

Configurando o ViewVC

No arquivo /srv/viewcvs/vewcvs.conf, insira os projetos:

# vi /srv/viewcvs/vewcvs.conf

Insira as linhas abaixo:

svn_roots:
project1 : /srv/svn/repos/project1 ,
project2 : /srv/svn/repos/project2

Reinicie o Apache:

# rcapache2 restart

Algumas Dicas:

Verificando as informações de um repositório

# svnlook info /srv/svn/repos/project1/
cabelo
2010-05-12 18:20:18 -0300 (Qua, 12 Mai 2010)
20
- Versao de entrega.

Criando um diretorio:

$ svn mkdir http://10.0.0.250/repos/project1/NOME-DIRETORIO

Importando um projeto para SVN

# svn import /tmp/myproject http://10.0.0.250/repos/project1 -m "initial import"
Fazendo um CheckOut:
$ svn co http://10.0.0.250/repos/project1
$ svn co http://10.0.0.250/repos/project1 -r 20
Comando commit  e update
# svn commit button.c
# svn commit --message "Corrected number of cheese slices."
# svn update
# svn commit --message "Add a few more things"
Backup e restore:
# svnadmin dump /srv/svn/repos/project1  > /tmp/backup.dump
# svnadmin load /srv/svn/repos/project1 < /tmp/backup.dump

Editando a string de log:

$ svnadmin setlog /path/to/repository  -r 10662 --bypass-hooks message_file.txt

Copiando, movendo, adicionando e excluindo arquivos.

#  svn add arquivo.ext
#  svn delete arquivo.ext
#  svn copy arquivo1.ext arquivo2.ext
#  svn move arquivo1.ext arquivo2.ext

Para modificar as propriedades no código fonte, basta inserir as tag abaixo e executar o comando conforme o exemplo:

/* $URL$
$Rev$
$Author$
$Date$
$Id$
*/
# svn propset svn:keywords "URL Rev Author Date Id"  was

Bom… por hoje é só…

Android NDK: Desmistificando o acesso a códigos nativos em C

Conforme prometido na palestra sobre Android na Campus Party 2011, publico no Viva O Linux um documento prático cujo foco foi a elaboaração de um programa helloworld prova de conceito utilizando código nativo e java (JNI). O objetivo é desmistificar a utilização de código C na plataforma Android. Espero que esta contribuição ajude na compreenção das pessoas que não sabem por onde começar esta jornada.

Leia AQUI o artigo na íntegra.

Nagios Vision: Tem humanos perto do seu servidor.

Acabo de testar a primeira versão alfa de um plugin do nágios, que detecta faces humanas utilizando os módulos de visão computacional da biblioteca OpenCV. Após a detecção utilizando o NSCA Cliente do nágios o servidor é notificado com alertas.

Os níveis de alertas são parametrizados de acordo com a distância da face. Após enviar a notificação ao Nágios, o plugin também envia um e-mail com a foto recém processada. Em breve um artigo no Viva O Linux explicando passo-a-passo todo o procedimento. Por enquanto deixo as ilustrações.