quinta-feira, 12 de novembro de 2009

Herança, Overload e Override com Ruby

Utilização de herança, sobrecarga (overload), sobrescrita (override), super e self com a linguagem Ruby.

quinta-feira, 5 de novembro de 2009

O Visual Studio estraga a nossa mente

O Visual Studio pode estragar a sua mente deixando-o um desenvolvedor medíocre e preguiçoso. Não que tenhas que usar o vi mas o TextMate é uma boa escolha.
Leia na íntegra.

terça-feira, 27 de outubro de 2009

Ruby Gem Postgres no Mac OS X Snow Leopard

Segue os procedimentos para instalar o gem postgres no Snow Leopard.

  1. Fazer o download e instalar o PostgreSQL 8.4.1 do site www.postgresqlformac.com

  2. Instalar o gem postgres para a arquitetura 64 bits.



sudo env ARCHFLAGS="-arch x86_64" gem install --verbose postgres -- --with-pgsql-include=/Library/PostgreSQL8/versions/8.4.1/include --with-pgsql-lib=/Library/PostgreSQL8/versions/8.4.1/lib

segunda-feira, 26 de outubro de 2009

Ruby Gem MySQL no Mac OS X Snow Leopard

É fato que o MAC OS X já vem com o ambiente pré-configurado para a programação Ruby. O Snow Leopard já tem instalado o interpretador Ruby 1.8.7 e os gems mais utilizados (ex: rails, ferret, mongrel ...) dentre outros.

Porém, para trabalharmos com o banco de dados MySQL torna-se necessária a instalação do gem mysql versão 2.8.1.

Primeiro instale o MySQL através do site www.mysql.com fazendo o download do pacote .dmg (não utilize o macports)

Após a instalação do MySQL basta instalar o gem para o mysql:


sudo env ARCHFLAGS="-arch x86_64" gem install --verbose mysql -- --with-mysql-include=/usr/local/mysql/include --with-mysql-lib=/usr/local/mysql/lib

Utilizei o parâmetro ARCHFLAGS para arquitetura 64 bits, pois no Snow Leopard os pacotes estão compilados para utilizar a arquitetura 64 bits.

Após a instalação do gem verifique se o mesmo foi corretamente instalado:


irb
require 'mysql'
Mysql.get_client_info
"5.1.38"

segunda-feira, 19 de outubro de 2009

Segundo motivo que me levou a comprar um MacBook Pro

Primeiro motivo que me levou a comprar um MacBook Pro

Bem pessoal, o Rails Summit 2009 foi excelente e com palestras de alto nível.

Nas palestras do Matt Aimonetti e Richard Kilmer, pude observar o apoio que a Apple tem fornecido para a tecnologia Ruby através do projeto MacRuby. Eles falaram que a linguagem Ruby tem tudo para substituir o AppleScript como linguagem script e o Objective C como plataforma de desenvolvimento de aplicações para MAC (eu concordo plenamente).

(MAC + RUBY) = (MacRuby) = (Produtividade + Simplicidade - Burocracia - Sopa de Letrinhas)

Logo compre um MAC e aprenda Ruby.

Bem segue algumas fotos do evento.

auditorio

Auditório cheio. Isso é para quem fala que Rails não escala :)

amigos

Eu (meio) e dois amigos do MEC.

palestrantes rails summit 2009

Palestrantes do Rails Summit 2009.

na entrada do rails summit

Primeiro a chegar no Rails Summit 2009 :)

gregg pollack e eu

Foto com Gregg Pollack da Rails Envy

domingo, 11 de outubro de 2009

Trabalho pós-graduação em segurança da informação

Elaborar uma apresentação sobre o EJBCA abordando os principais estados no ciclo de vida de um certificado.

Instalar o EJBCA e demonstrar o seu funcionamento. Grupo de 4 pessoas.

Será atribuído ponto extra ao grupo que abordar o protocolo OCSP e demonstrar o seu funcionamento no EJBCA.

Apresentação dia 17/10/2009.

sexta-feira, 25 de setembro de 2009

Certificação Digital e Nota Fiscal Eletrônica

Caros alunos da Pós Graduação em Segurança da Informação, neste sábado teremos as seguintes palestras:

  • 8:00 - 11:30
    Palestra: Nota Fiscal Eletrônica e Aplicações.
    Palestrante: Antônio Godoy responsável pelo projeto da Nota Fiscal Eletrônica na SEFAZ-GO.
    Website: http://nfe.sefaz.go.gov.br/



  • 14:00 - 17:30
    Palestra: Aplicabilidade da Certificação Digital em cartórios, ged's e notas fiscais
    Palestrante: Vitor Diretor de TI da Diginotas Autenticidade Digital.
    Website: http://www.diginotas.com.br/

sábado, 19 de setembro de 2009

Falha na compilação do OpenSSL para as distribuições Debian e derivados

Pessoal, conforme havia comentado em sala de aula, no dia 13 de maio de 2008 a comunidade Debian levou um duro golpe devido ao deslize (e que deslize!) dos responsáveis pela compilação do pacote OpenSSL para Debian.

Para quem programa na linguagem C/C++ é muito comum e recomendado o uso do Valgrind uma ferramenta capaz de analisar um binário e detectar possíveis fontes de bugs como: variáveis não inicializadas, alocação indevida de memória, thread's com deadlock etc. Até aí tudo bem, porém o responsável por gerar o release do OpenSSL utilizou o Valgrind para detectar possíveis erros e alguns avisos (warnings) foram exibidos.

Como nós sabemos, avisos (warnings) não são erros, logo o responsável pela geração do release retirou do código do OpenSSL trechos  que são usados como uma semente (seed) que somados com o PID de processos do Linux, são responsáveis pelo fator de aleatoriedade necessário em qualquer técnica de criptografia. Com isso, o fator de aleatoriedade ficou sendo determinado apenas pelo PID de processos do Linux, onde um processo pode possuir um PID máximo de 32.768 (um tipo int).

Para variar, tinha que ser um argentino chamado Luciano Bello o descobridor desta vulnerabilidade. E por força bruta fornecendo como semente o número 32.768 que é relativamente pequeno, quebrou chaves de certificados de diversos serviços como: VPN's, AC's, DNSSec e etc.

Todas as distribuições Debian e derivados como Ubuntu, Kubuntu etc. lançadas entre setembro de 2006 e 13 de maio de 2008 tiveram que revogar todos os certificados emitidos. Ainda bem que uso a versão 9.04 :)

terça-feira, 25 de agosto de 2009

Metroquadradonaweb.com

Pessoal, gostaria de contar o apoio de todos para divulgarem o meu projeto www.metroquadradonaweb.com

Participem e divulguem lugares interessantes (Bares, Shopping, Apartamentos à venda etc.) em Goiânia ou em outras cidades ou países.

É fácil e rápido:

1 - No site www.metroquadradonaweb.com clique em <participar deste site> e forneça um email válido;

2 - Clique em <novo espaço>, e preencha as informações do espaço que deseja divulgar com a sua localização no mapa;

3 - Clique em <enviar para revisão>;

Pronto, após aprovação seu local estará disponível.

Ubuntu One

Seguindo a tendência da computação em nuvens (cloud computing), a nova versão do Ubuntu 9.10 prevista para outubro de 2009 já terá por padrão suporte ao serviço Ubuntu One, que permite o armazenamento de arquivos nas nuvens. Semelhante ao serviço oferecido no getDropBox.

Enquanto isso, mais uma vez a Microsoft corre atrás do tempo perdido, isso porque sua iniciativa para computação em nuvens está prevista somente para o final do ano.

sábado, 22 de agosto de 2009

Comparison Software Hardware Virtualization Techniques

Comparação interessante sobre suporte a virtualização em hardware e software.

quarta-feira, 19 de agosto de 2009

Google Search Appliance 6.0

Uma solução empresarial para quem busca uma maior qualidade na indexação de informações.
Se bem que o Apache/Lucene resolve o problema :)

  • Arquitetura




  • Infra-Estrutura




  • Overview




  • Novos Recursos


segunda-feira, 17 de agosto de 2009

GED - Gestão Eletrônica de Documentos

Material do CENADEM (Centro Nacional de Desenvolvimento do Gerenciamento da Informação) sobre GED.

Aos alunos de Modelagem Hipermídia, bons estudos. Trabalharemos este material em sala de aula.

download - PDF

quinta-feira, 30 de julho de 2009

Problemas no teclado durante o boot no Ubuntu 9.04

Ao iniciar o Ubuntu 9.04 caso o seu teclado não funcione basta adicionar as seguintes instruções no arquivo "/boot/grub/menu.lst"

i8042.reset i8042.nomux i8042.nopnp i8042.noloop

As instruções devem ser inseridas após a opção splash do kernel que desejar.


nano /boot/grub/menu.lst


Para finalizar, salve as modificações e execute o comando:


update-grub

quarta-feira, 22 de julho de 2009

Vergonha Nacional no Congresso Nacional

Deveríamos ficar confortados com todos estes escândalos pelo fato do Sr. José Sarney ter cadeira cativa na academia brasileira de letras?
- Com certeza não.
Imaginem só, um político exemplar :lol: , escritor do nível de Machado de Assis :lol: , pessoa culta :oops: , enquanto muitos políticos não sabem se expressar e escrever.
Seria o melhor político no nosso ético :lol: congresso nacional?
- Tenho dúvidas.

Moral da história:
Não há nada tão ruim que não possa piorar :cry:

sexta-feira, 10 de julho de 2009

Manifesto 2.0

Uma reflexão sobre tecnologia da informação. Com o advento da crise financeira, esta é a tendência mundial e um caminho sem volta. Ufa! que assim seja. É lógico "beba com moderação" ops! leia com moderação e senso crítico.

http://blog.seatecnologia.com.br/2009/01/12/manifesto-2-0

quarta-feira, 27 de maio de 2009

Atualização do script - Ubuntu 9.04 + Ruby 1.9.1 + Rails 2.3.2 + RubyGems 1.3.3

Estava eu tentando instalar o Ruby 1.9.1 versão release de 30 de janeiro de 2009 com a última versão do framework Rails 2.3.2 no Ubuntu 9.04, como os repositórios (APT-GET) não estão atualizados para instalar essas versões e por falta de documentos elucidativos e funcionais na Web. Segue um script bash para automatizar a tarefa de instalação do ambiente contendo a última versão do interpretador Ruby 1.9.1, RubyGems 1.3.3 e a última versão do framework Rails 2.3.2.

Com este script você também tem a possibilidade de instalar o Netbeans, Mysql, Apache etc...

Caso queira instalar alguns gems que utilizo, basta responder as perguntas que são solicitadas durante a instalação.

OBS: Execute como super-usuário. Podem ficar tranquilos que não tem comandos tipo rm -rf / :)


#!/bin/bash
# Leandro Rezende Carneiro de Mendonça
# email: leandrorcm.professor@gmail.com
# site: http://www.mediahome.com.br
#====== CONFIGURACAO DO SCRIPT ============
RUBY="ruby-1.9.1-p129"
RUBY_FORMATO=".zip"
RUBY_VERSAO="1.9.1"
RUBY_GEMS_VERSAO="1.3.3"
RAILS_VERSAO="2.3.2"
#==========================================
echo "Iniciando..."
cd /root
#=== BIBLIOTECAS E SOFTWARES ESSENCIAIS ===
echo "Instalando as bibliotecas e softwares essenciais ..."
apt-get update
apt-get -y install build-essential zlib1g zlib1g-dev libxml2 libxml2-dev libxslt-dev sqlite3 libsqlite3-dev locate git-core subversion libssl-dev libreadline5 libreadline5-dev autoconf curl unzip wget
echo "Instalando o ImageMagick..."
apt-get -y install imagemagick libmagick++-dev
#=========================================
#================ RUBY ===================
echo "Instalando Ruby $RUBY_VERSAO ..."
wget ftp://ftp.ruby-lang.org/pub/ruby/$RUBY$RUBY_FORMATO
unzip $RUBY$RUBY_FORMATO
cd $RUBY
autoconf
./configure --prefix=/usr/local --program-suffix=$RUBY_VERSAO --enable-pthread
make
make install
ln -s /usr/local/bin/ruby$RUBY_VERSAO /usr/local/bin/ruby
ln -s /usr/local/bin/rdoc$RUBY_VERSAO /usr/local/bin/rdoc
ln -s /usr/local/bin/irb$RUBY_VERSAO /usr/local/bin/irb
ln -s /usr/local/bin/ri$RUBY_VERSAO /usr/local/bin/ri
#=========================================
#============== RUBYGEMS =================
echo "Instalando RubyGems $RUBY_GEMS_VERSAO a partir do Source Code ..."
curl http://de.mirror.rubyforge.org/rubygems/rubygems-$RUBY_GEMS_VERSAO.tgz | tar -xzv
cd rubygems-$RUBY_GEMS_VERSAO
ruby setup.rb install
cd ..
rm -rf rubygems-$RUBY_GEMS_VERSAO/
ln -s /usr/local/bin/gem$RUBY_VERSAO /usr/local/bin/gem
gem sources -a http://gems.github.com
#=========================================
#=============== GEMS ====================
echo "Instalando Gems basicas ..."
gem install rake nokogiri hpricot builder cheat daemons json uuid rmagick sqlite3-ruby fastthread rack
echo "Instalar GEMS utilizadas pelo Leandro? (y/n)"
read gemsleandro
if [ $gemsleandro = "y" ];
then
apt-get -y install libfox-1.6-0 libfox-1.6-0-dev
gem install geokit brstring brtraducao dr_nic_magic_models eassl ezcrypto ferret gettext googlebase mysql phprpc postgres-pr radiant recaptcha rghost rmagick ruby-net-ldap ruby-openid will_paginate fxruby
fi
#=========================================
#============== RAILS ====================
echo "Instalando Rails $RAILS_VERSAO ..."
gem install rails --source http://gems.rubyonrails.org
export PATH=$PATH:/var/lib/gems/1.9.0/bin
#=========================================
#========= APACHE + PHUSION PASSENGER ====
echo "Instalar Apache + Phusion Passenger? (y/n)"
read apache
if [ $apache = "y" ];
then
echo "deb http://apt.brightbox.net hardy main" > /etc/apt/sources.list.d/brightbox.list
wget -q -O - http://apt.brightbox.net/release.asc | apt-key add -
apt-get update
apt-get -y install libapache2-mod-passenger
fi
#=========================================
#================== PHP ==================
echo "Instalar Suporte a PHP 5? (y/n)"
read php
if [ $php = "y" ];
then
apt-get -y install php5 libapache2-mod-php5 php5-mysql
/etc/init.d/apache2 restart
fi
#=========================================
#================= MYSQL =================
echo "Instalar Mysql 5? (y/n)"
read mysql
if [ $mysql = "y" ];
then
apt-get install mysql-server-5.0 phpmyadmin
fi
#=========================================
#============== FIREWALL =================
echo "Instalar um Firewall bastante basico (wfu)? (y/n)"
read firewall
if [ $firewall = "y" ];
then
apt-get -y install ufw
ufw allow to 0.0.0.0/0 port 80
echo "Habilitar porta 22 (acesso a SSH)?"
read ssh
if [ $ssh = "y" ];
then
ufw allow to 0.0.0.0/0 port 22
fi
echo "Habilitar porta 25 (acesso a Email)?"
read ssh
if [ $ssh = "y" ];
then
ufw allow to 0.0.0.0/0 port 25
fi
ufw enable
fi
#=========================================
#============== NETBEANS 6.5 =============
echo "Instalar o Netbeans 6.5? (y/n)"
read netbeans
if [ $netbeans = "y" ];
then
apt-get -y install netbeans
fi
#=========================================
echo "Finalizando instalacao..."
echo "Versão do Ruby: "
ruby -v
echo "Versão do RubyGems: "
gem -v
echo "Versão do Rails: "
rails -v
echo "Finalizado!"

quinta-feira, 23 de abril de 2009

FLISOL - 2009

Festival Latino Americano de Instalação de Software Livre - 2009

Dia 25 de Abril no SENAI-FATESG

Participem!

sexta-feira, 10 de abril de 2009

domingo, 29 de março de 2009

CIOs devem adotar políticas para retenção de talentos na área de TI

Para especialista em recrutamento de executivos, os líderes de TI precisam cuidar para que, além das políticas de capacitação, suas equipes tenham acesso a benefícios financeiros e desafios profissionais específicos para cada profissional.

Exercícios

Resolvam os exercícios para reforçar o conteúdo estudado.

http://wps.prenhall.com/br_laudon_sisinfoger_7/71/18191/4656937.cw/index.html

domingo, 15 de março de 2009

Anéis de Proteção (Protection Rings) na arquitetura x86 e Intel VT

A arquitetura x86 não foi concebida para suportar ambientes virtualizados. A solução foi utilizar os anéis de proteção da arquitetura x86 (Protection Rings) que foram brilhantemente utilizados pelo hypervisor do Xen. Iniciativas da Intel e AMD, com as instruções INTEL-VT e AMD-v, proporcionam aos seus processadores um suporte nativo à ambientes virtualizados.
Já postei anteriormente um artigo muito rico em detalhes sobre a "Arte de Virtualização com o Xen".
Aqui está um vídeo do engenheiro da Intel explicando os anéis de proteção e as instruções VT (Virtualization Technology) da Intel.
Para os alunos que não assimilaram o conteúdo na aula passada, recomendo fortemente a visualização deste vídeo.

sábado, 14 de março de 2009

Meu computador possui suporte nativo à virtualização?

Atendendo aos pedidos de diversos alunos, vejam como identificar se o seu processador possui suporte nativo à virtualização.

Processadores Intel:

# cat /proc/cpuinfo | grep vmx


Processadores AMD:

# cat /proc/cpuinfo | grep svm

Caso o seu processador tenha suporte, será exibido no console:

vmx ou svm

quinta-feira, 12 de março de 2009

Conficker viva o Linux!

Está cada vez mais próximo o uso de linux para Desktop em órgãos públicos e privados.

O que pode causar a falta de uma política de segurança e o uso do querido Windows.

Conficker leiam na íntegra...

quarta-feira, 4 de março de 2009

Xen e a arte de Virtualização

Entendam porque o Xen, é uma solução robusta, escalável e eficiente de virtualização.

Leiam e entreguem um resumo manuscrito deste artigo para a próxima aula do dia 11/03/2009.

http://www.cl.cam.ac.uk/research/srg/netos/papers/2003-xensosp.pdf

terça-feira, 3 de março de 2009

"Conectividade nula ou limitada" no Windows XP

Como todas as mensagens esclarecedoras do nosso querido Windows, me deparei com a seguinte mensagem em um laptop de um amigo e em um PC:

"Conectividade nula ou limitada".

Pelo menos a linda tela azul não acompanhava a mensagem. Após ficar alguns minutos sem acesso a rede, aqui está a solução.

http://support.microsoft.com/kb/892896/pt-br

Leandro

segunda-feira, 2 de março de 2009

O hypervisor no VMware ESXi

O hypervisor no VMware ESXi

Virtualização a função do hypervisor

Virtualização - Hypervisor

Desenvolvimento para a Internet - Aula04

Desenvolvimento para a Internet - Aula03

Desenvolvimento para a Internet - Aula02

Desenvolvimento para a Internet - Aula03

Desenvolvimento para a Internet - Aula01

Algoritmos C/C++ - Aula01

Sistemas de Informação na era digital - Aula01

Sistemas de Informações Gerenciais - Aula 01

sábado, 28 de fevereiro de 2009

Citrix torna o XenServer Gratuito

Em 15 de agosto de 2007, a XenSource foi adquirida pela Citrix Systems Inc. pelo valor de US$ 500 milhões. Até agora, a versão corporativa do Xen Server custava aproximadamente US$ 900, valor que deverá ser reduzido a zero com o anúncio de hoje. A estratégia visa reduzir a vantagem da concorrência — da VMware — no mercado de soluções de virtualização.

Matéria completa