Revista Linux Magazine Community Edition 61

Page 1

12/2009

MICROSOFT VIOLA A GPL p.24

SERVIÇOS EM SL p.26

Empresa de Steve Ballmer admite e corrige o erro

MONETIZAÇÃO p.28

Software Livre e proprietário não são diferentes quando se trata de ganhar dinheiro

Cezar Taurion explica modelos de negócio Open Source

# 61 Dezembro 2009 Linux Magazine # 61

A REVISTA DO PROFISSIONAL DE TI

LINUX PARK 2008 p.28 Iniciada em Porto Alegre a temporada de seminários Linux Park de 2008

CEZAR TAURION p.34 O Código Aberto como incentivo à inovação

#44 07/08

00044

R$ 13,90 € 7,50

A REVISTA DO PROFISSIONAL DE TI

9 771806 942009

CERTIFICAÇÃO PROFISSIONAL

CERTIFICAÇÃO PROFISSIONAL CASE ALFRESCO p.26 A Construcap agilizou seus projetos com o Alfresco

PMI

GOVERNANÇA COM

RHCE

SEJA UM BOM GESTOR E UTILIZE AS MELHORES PRÁTICAS ADOTADAS E RECOMENDADAS PELOS PROFISSIONAIS MAIS EXPERIENTES NESSA ÁREA p.36

» O que dizem os profissionais certificados p.24 » Cobit, CMMI, ITIL. Quais as melhores práticas? p.36 » ITIL na prática p.39

» Novidades do ITIL v3. p.44

LPI

SEGURANÇA: DNSSEC p.69

VEJA TAMBÉM NESTA EDIÇÃO:

Com o DNSSEC, a resolução de nomes fica protegida de ataques. Mas seu preço vale a pena?

» Relatórios do Squid com o SARG p.60

REDES: IPV6 p.64

» Becape de bancos de dados com a Libferris p.46

Conheça as vantagens da nova versão do Internet Protocol, e veja por que é difícil adotá-la

» Java, Ruby e Rails: conheça o JRuby on Rails p.74 » Benchmarks do GCC 4.3? p.58

» LPI nível 2: Servidores NIS e DHCP p.52

ITIL

WWW.LINUXMAGAZINE.COM.BR

EMPREGO MELHOR E SALÁRIO MAIOR. QUEM NÃO QUER? p.30

COBIT CISSP

» PMI, gerenciamento de projetos p.34 » RHCE, LPI, certificações em Linux p.37 » ITIL e CobiT, governança p.40 » CISSP, segurança p.44

NGINX FREERADIUS

REDES: NGINX p.56

Esse servidor rapidíssimo tem tudo para acelerar qualquer website – inclusive o seu!

SSI OPENSOLARIS

SEGURANÇA: FREERADIUS p.62

Autenticação IEEE 802.1X não é só para redes wireless. Com o FreeRADIUS, você impede qualquer acesso não autorizado à rede.

PARROT VISÃO COMPUTACIONAL

VEJA TAMBÉM NESTA EDIÇÃO:

» OpenSolaris, parte 8: LVM e RAID p.48 » Visão Computacional e as máquinas que enxergam p.52 » Programação web sem repetição com SSI p.68 » Parrot, o interpretador multilinguagem p.72

WWW.LINUXMAGAZINE.COM.BR

GRÁTIS


Marcas e sucesso

Expediente editorial Diretor Geral Rafael Peregrino da Silva rperegrino@linuxmagazine.com.br Editor Pablo Hess phess@linuxmagazine.com.br

Prezados leitores,

EDITORIAL

Revisora Aileen Otomi Nakamura anakamura@linuxmagazine.com.br Editora de Arte Paola Viveiros pviveiros@linuxmagazine.com.br Coordenador de Comunicação Igor Daurício idauricio@linuxmagazine.com.br Tradutores Diana Ricci Aranha e Pablo Hess Colaboradores Alessandro de Oliveira Faria, Alexandre Borges, Anderson Ramos, Bruno Gomes Pessanha, Bruno Guerreiro Diniz , Carlos Bokor, Flávia Jobstraibizer, Gustavo Thum Direito e Marco Aurélio Filippetti. Centros de Competência Centro de Competência em Software: Oliver Frommel: ofrommel@linuxnewmedia.de Kristian Kißling: kkissling@linuxnewmedia.de Peter Kreussel: pkreussel@linuxnewmedia.de Marcel Hilzinger: hilzinger@linuxnewmedia.de Centro de Competência em Redes e Segurança: Jens-Christoph B.: jbrendel@linuxnewmedia.de Hans-Georg Eßer: hgesser@linuxnewmedia.de Thomas Leichtenstern: tleichtenstern@linuxnewmedia.de Markus Feilner: mfeilner@linuxnewmedia.de Nils Magnus: nmagnus@linuxnewmedia.de Anúncios: Rafael Peregrino da Silva (Brasil) anuncios@linuxmagazine.com.br Tel.: +55 (0)11 4082 1300 Fax: +55 (0)11 4082 1302 Petra Jaser (Alemanha, Áustria e Suíça) anzeigen@linuxnewmedia.de Penny Wilby (Reino Unido e Irlanda) pwilby@linux-magazine.com Amy Phalen (Estados Unidos) aphalen@linux-magazine.com Hubert Wiest (Outros países) hwiest@linuxnewmedia.de Gerente de Circulação Claudio Bazzoli cbazzoli@linuxmagazine.com.br Na Internet: www.linuxmagazine.com.br – Brasil www.linux-magazin.de – Alemanha www.linux-magazine.com – Portal Mundial www.linuxmagazine.com.au – Austrália www.linux-magazine.ca – Canadá www.linux-magazine.es – Espanha www.linux-magazine.pl – Polônia www.linux-magazine.co.uk – Reino Unido Apesar de todos os cuidados possíveis terem sido tomados durante a produção desta revista, a editora não é responsável por eventuais imprecisões nela contidas ou por consequências que advenham de seu uso. A utilização de qualquer material da revista ocorre por conta e risco do leitor. Nenhum material pode ser reproduzido em qualquer meio, em parte ou no todo, sem permissão expressa da editora. Assume-se que qualquer correspondência recebida, tal como cartas, emails, faxes, fotografias, artigos e desenhos, sejam fornecidos para publicação ou licenciamento a terceiros de forma mundial não-exclusiva pela Linux New Media do Brasil, a menos que explicitamente indicado. Linux é uma marca registrada de Linus Torvalds. Linux Magazine é publicada mensalmente por: Linux New Media do Brasil Editora Ltda. Av. Fagundes Filho, 134 Conj. 53 – Saúde 04304-000 – São Paulo – SP – Brasil Tel.: +55 (0)11 4082 1300 – Fax: +55 (0)11 4082 1302

Estamos vivendo em uma época de marcas. Aos olhos dos consumidores, certos rótulos e logos têm maior valor que diversos outros aspectos dos produtos. Quando fazemos compras no mercado, muitas vezes já sabemos o que esperar de vários produtos, pois conhecemos suas marcas e, independentemente da imagem apresentada na embalagem ou do preço do produto, atribuímos a eles um determinado grau de qualidade. Isso ocorre com os mais diversos produtos, desde refrigerantes até softwares, passando por eletrodomésticos, automóveis e ração para animais de estimação. Na realidade, atualmente esse “julgamento” pela marca vai além: um diploma universitário de instituições de renome internacional dos EUA e Europa, por exemplo, confere a seu portador maior prestígio – e exigência, por conseguinte – do que um equivalente nacional. Da mesma forma, ex-alunos de universidades públicas ainda são vistos pelos empregadores, ocasionalmente, com outros olhos em comparação aos de faculdades privadas. No campo de TI, onde constantemente surgem novas áreas de atuação profissional, é impossível esperar que um diploma universitário comprove conhecimento e competência prática em determinadas áreas. É aí que entram as certificações profissionais. Para atestar sua competência em áreas importantes à sua atuação profissional, seu currículo pode ser incrivelmente claro. Porém, com certificações profissionais, existe uma marca, seja de um fabricante ou de uma instituição com esse único fim, que comprova seus conhecimentos, sua experiência e seu grau de excelência em diversos aspectos da sua atuação profissional. É evidente que um profissional sem certificação pode ser tão bom quanto alguém certificado, ou até melhor – da mesma forma como um sorvete de uma marca desconhecida, distribuída a somente um supermercado, pode ser melhor que as marcas já estabelecidas. Porém, é preciso grande esforço para convencer o consumidor de que o sorvete – ou o seu currículo, no caso – de fato tem essa qualidade. A boa notícia é que, diferentemente de um produto, você pode se associar a várias “marcas” – LPI, RHCE, ITIL, CobiT, PMP, CISSP – de forma a atrair os olhos dos “consumidores” de todas elas e, com isso, o sucesso. Muito sucesso! n

Direitos Autorais e Marcas Registradas © 2004 - 2009: Linux New Media do Brasil Editora Ltda. Impressão e Acabamento: RR Donnelley Distribuída em todo o país pela Dinap S.A., Distribuidora Nacional de Publicações, São Paulo. Atendimento Assinante www.linuxnewmedia.com.br/atendimento São Paulo: +55 (0)11 3512 9460 Rio de Janeiro: +55 (0)21 3512 0888 Belo Horizonte: +55 (0)31 3516 1280 ISSN 1806-9428

Impresso no Brasil

.

4

Pablo Hess Editor

http://www.linuxmagazine.com.br



ÍNDICE

CAPA Profissional certificado

30

Por que e como se certificar.

Gerenciamento de projetos

34

A carreira de gerente de projetos em TI está em crescimento. Aproveite!

Linux certificado

37

Certificações atestam o conhecimento do profissional. Como provar que você sabe o que faz com o Linux?

Governança certificada

40

Todos os profissionais de TI precisam conhecer as boas práticas e as orientações internacionais. É isso que oferecem as certificações CobiT e ITIL.

Certificação e segurança

44

O que você deve esperar de uma certificação, especialmente em segurança da informação?

6

http://www.linuxmagazine.com.br


Linux Magazine 61 | ÍNDICE

COLUNAS

REDES 10

Web mais rápida

Charly Kühnast

12

Zack Brown

14

O rápido e prático servidor web Nginx é fácil de configurar e estender.

Alexandre Borges

16

Kurt Seifried

18

Klaus Knopper

56

NOTÍCIAS Geral ➧ Temporada de novas versões de distribuições

22

➧ Licenciamento do JDK 7 criticado

CORPORATE Notícias ➧ MIcrosoft infringe GPL, admite e corrige

SEGURANÇA 24

Porteiro competente

62

V ocê achava que o padrão IEEE 802.1X era apenas para redes sem fio? Veja como configurar um sistema de controle de acesso de rede com ele e um servidor FreeRADIUS.

➧ Celulares: Windows perde, mas Linux não ganha ➧ Petrobras adquire supercomputador Bull movido a GPU Coluna: Jon “maddog” Hall

26

Coluna: Cezar Taurion

28

TUTORIAL OpenSolaris, parte 8

48

C onheça o Solaris Volume Manager e veja como usá-lo para criar e gerenciar volumes RAID 0 e 1 com múltiplos volumes.

PROGRAMAÇÃO Ajuda inclusiva

68

O s Server Side Includes (SSI) poupam tempo e facilitam a manutenção do seu website. Louro quer programar

72

O Parrot é uma ferramenta para desenvolvimento e execução de novas linguagens de programação, que já conta com Perl 6 e muito provavelmente com a sua linguagem preferida.

Máquinas que enxergam

52

U se a visão computacional com suas diversas técnicas para melhorar a acessibilidade dos sistemas.

SERVIÇOS

Linux Magazine #61 | Dezembro de 2009

Editorial

04

Emails

08

Linux.local

78

Eventos

80

Preview

82

7


u c.h ww .s x –w ro nja

gje

ne

Emails para o editor

CARTAS

sa

Permissão de Escrita Squid e Iptables

Gostaria de tirar uma dúvida relacionada à configuração de FTP passivo nas regras do Iptables. Como faço para configurá-lo e como devo configurar a opção de compartilhamento no Iptables: Prerouter ou Pos? Outra dúvida é como faço para configurar a opção de fazer upload de arquivos para os webmails? Toda vez que vou anexar um arquivo acima de 1 MB, aproximadamente, o arquivo não anexa e apresenta erros na tentativa de anexar. Caso eu pare o Squid e deixe apenas as opções de Firewall do Iptables, ele consegue anexar normalmente os arquivos no webmail. n Fábio T. de Oliveira

RADIUS

Pessoal, gostaria de sugerir uma matéria sobre configuração do FreeRADIUS e ferramentas complementares como Daloradius e as possibilidades de uso (Captive Portal/HotSpot). Encontrei bastante informação sobre o assunto, mas nada como as matérias da Linux Magazine que abordam sempre todos os lados do uso das ferramentas. Rodrigo Buch Garcia

Resposta

Rodrigo, espero que você aprecie o artigo sobre autenticação por IEEE802.1X com FreeRADIUS, publicado nesta edição. Com relação aos demais usos do FreeRADIUS, aproveitamos para convidá-lo (e também à nossa grande comunidade de leitores) para estender o conteúdo deste artigo. Obrigado pela sugestão! n

Bacula

Ao implementar uma solução de backup utilizando o Bacula, deparei-me com uma informação divergente com o artigo da última edição da Linux Magazine. Na seção “Primeiro backup”, está escrito que para ler as mensagens devemos executar o comando auto-display on, porém, na versão que estou utilizando (3.0.3), o comando é autodisplay on. João Oliveira

Resposta

Caro João, o termo “autodisplay” encontra-se numa quebra de linha no artigo. Embora tentemos evitar ao máximo quebrar termos técnicos, como comandos e nomes de variáveis, eventualmente não conseguimos fazê-lo. Ao quebrar a linha, temos por regra inserir um hífen indicador de separação, como no texto comum. Usamos o hífen para diferenciar quebras de linha de termos separados (“auto display”, por exemplo). n

8

Escreva para nós!

Sempre queremos sua opinião sobre a Linux Magazine e nossos artigos. Envie seus emails para cartas@linuxmagazine.com.br e compartilhe suas dúvidas, opiniões, sugestões e críticas. Infelizmente, devido ao volume de emails, não podemos garantir que seu email seja publicado, mas é certo que ele será lido e analisado.



Coluna do Klaus

COLUNA

Pergunte ao Klaus! O professor Klaus responde as mais diversas dúvidas dos leitores.

Instalar SO em um netbook

Comprei um netbook Eee PC 1000H há algumas semanas e decidi instalar nele o OpenSUSE 11, de preferência em dual boot com o Windows XP que veio instalado. O disco de 160 GB tem uma segunda partição formatada em NTFS com aproximadamente 60 GB. Tentei instalar o OpenSUSE 11.1 por um pen drive após configurar a BIOS para isso. O pen drive tem uma imagem ISO dentro, que é mostrado na BIOS, mas o computador continua iniciando direto no Windows. Também já tentei usar um leitor de DVD externo, novamente pedindo à BIOS para iniciar pelo DVD. Porém, embora a BIOS pareça detectar o leitor, a máquina ainda inicia pelo XP. Também copiei a imagem ISO para a partição livre, mas é claro que isso não funcionou. Tenho que admitir que as informações que encontrei em vários blogs estão bem além da minha compreensão. Obrigado por qualquer ajuda!

Resposta

Felizmente, eu também tenho um Eee PC (um modelo mais antigo que o seu) e posso responder sua pergunta. Apesar de ser possível definir prioridades de inicialização na BIOS (o que não funcionou no seu caso), a forma mais fácil de iniciar o computador a partir de diferentes mídias é pressionar a tecla [Esc] durante a inicialização da BIOS (ou seja, assim que o logo do Eee PC aparecer). Em outros notebooks, normalmente a tecla equivalente é [F8] ou [F12], que exibe o menu de seleção de inicialização, então o [Esc] pode parecer um pouco estranho. De qualquer forma, se o dispositivo aparece na configuração da BIOS, também deve poder ser selecionado nesse menu inicial. O Eee PC inicia corretamente a partir do DVD, assim como por discos Flash USB, contanto que o dispositivo de inicialização realmente seja inicializável (isto é, possua assinaturas de inicialização válidas) e 10

não retorne o computador à sequência de inicialização padrão. Alguns discos Flash USB mais antigos (anteriores a 2009) simplesmente não iniciam no Eee PC, segundo verifiquei, mas já consegui testar vários leitores DVD USB, assim como pen drives recentes de 4 e 8 GB. Você disse que a imagem ISO está no pen drive como um arquivo, mas infelizmente isso não funciona, pois a BIOS do seu computador não tem ideia do que fazer com um arquivo ISO. Para criar um pen drive inicializável a partir de um DVD, siga as seguintes etapas (neste exemplo, o DVD está montado em /media/dvd e o pen drive em /media/ sdc1/). Se o DVD utilizar o Isolinux como carregador de inicialização, ele poderá ser facilmente substituído pelo Syslinux. Com o pen drive montado, comece copiando todo o conteúdo do DVD para /media/sdc1/. No caso de você ter somente um arquivo ISO do DVD, monte-o com: sudo mount -o loop arquivo.iso /media/dvd

Em seguida, renomeie o diretório boot/isolinux do pen drive para boot/syslinux. O terceiro passo é renomear o arquivo boot/syslinux/ isolinux.cfg do pen drive para boot/syslinux/syslinux.cfg. Depois, desmonte o pen drive e torne-o inicializável. Lembre-se de que o pen drive inteiro se chama /dev/sdc e de que /dev/sdc1 é o nome da primeira partição dele: sfdisk -A1 /dev/sdc syslinux /dev/sdc1 ms-sys -s /dev/sdc

Esses comandos criam uma MBR e um registro de inicialização Syslinux na partição, além de marcar a primeira partição como inicializável. Feito isso, já deve ser possível iniciar pelo pen drive como se ele fosse um CD-ROM.  n

http://www.linuxmagazine.com.br


Coluna do Zack

COLUNA

Crônicas do kernel Contos e histórias do desenvolvimento do Linux.

VMware descarta paravirtualização

A VMware decidiu interromper o suporte à VMI, sua técnica de paravirtualização, pois os recursos de virtualização por hardware já estão vindo por padrão em todos os novos sistemas. O anúncio feito por Alok Kataria, da VMware, mostrou resultados de benchmarks que mostravam que a virtualização por hardware é melhor que sua implementação da VMI. O motivo para o anúncio foi pedir conselhos sobre a melhor maneira de retirar o código VMI, que já havia sido aceito pelo kernel. Chris Wright explicou que, normalmente, há uma fase pré-remoção (deprecation phase foi o termo usado) na qual o recurso é listado no arquivo Documentation/feature-removal-schedule.txt, gerando alertas para informar ao usuário que o recurso será descartado. Porém, Jeremy Fitzhardinge mostrou que o VMI não era exatamente um recurso, mas uma otimização, e que, além da pequena diferença na velocidade, o usuário sequer sentiria sua falta. Chris concordou e não achou essencial seguir os procedimentos normais de defasagem do código. No entanto, assim que Alok postou o patch com a alteração, Ingo Molnár disse que a remoção do código deveria levar mais tempo. Ele mostrou que a maioria dos usuários do VMware ainda não estavam se beneficiando das melhorias do hardware que tornavam o VMI obsoleto. Alok concordou e postou patches de acordo com o procedimento normal de defasagem. Porém, logo em seguida, H. Peter Anvin disse que era cedo demais para se considerar isso. O patch de Alok era para a versão 2.6.32, mas Peter achou que seria melhor esperar até o fim de 2010 ou (segundo suas estimativas) aguardar o kernel 2.6.37. Aos poucos, desenvolveu-se um plano de defasagem com uma abordagem gradual que manteria o VMI no kernel até os usuários migrarem seu hardware para sistemas com recursos de virtualização. 14

A VMware agiu corretamente nesse processo de defasagem de código do kernel. Normalmente, o desenvolvimento de código aberto é definido pela concordância de seus vários participantes sobre o que deve ser feito.

CPUs ociosas economizam

Arun B. Bharadwaj está desenvolvendo o CPUidle, projeto cujo objetivo é garantir que CPUs ociosas em sistemas PowerPC tenham o melhor aproveitamento de energia de modo simples e eficiente. Por exemplo, não é sempre óbvio que uma CPU ociosa permanecerá assim por tempo suficiente para termos certeza de que ela pode entrar num modo de baixo consumo de energia – do qual leva-se mais tempo para sair quando necessário. O CPUidle utiliza várias heurísticas para tomar essa decisão. No momento, o programa só é capaz de escolher entre dois estados de espera – soneca ou cochilo completo. Não é brincadeira, os nomes usados no programa são snooze (soneca, em inglês) e nap (cochilo). O CPUidle é o tipo de projeto que começa relativamente simples e, então, gradativamente, introduz estados de espera adicionais para acomodar processadores mais novos, com heurísticas mais complexas para escolher entre eles. Normalmente espera-se que uma situação dessas se torne mais sofisticada e esotérica com o tempo, até aparecer um maluco como Alan Cox para alterar o software, simplificá-lo e melhorá-lo. Ou, então, vários malucos poderiam competir por melhorias no projeto, o que levaria a desacordos e discussões, até que Linus Torvalds fizesse tudo do seu jeito e a disputa sossegasse novamente. O projeto CPUidle me parece ser deste tipo.  n A lista de discussão Linux-kernel é o núcleo das atividades de desenvolvimento do kernel. Zack Brown consegue se perder nesse oceano de mensagens e extrair significado! Sua newsletter Kernel Traffic esteve em atividade de 1999 a 2005.

http://www.linuxmagazine.com.br


Coluna do Kurt

COLUNA

Wireshark Use ferramentas de captura e análise do tráfego de tráfego para montar uma verdadeira caixa-preta da rede.

O

Wireshark [1], sniffer (capturador de pacotes) antes conhecido como Ethereal, é indispensável para o administrador de sistemas. Se alguma vez você já teve que solucionar problemas em uma rede ou monitorar uma transação com o servidor, esta é sua ferramenta. Como a maioria dos programas de captura de dados de rede para Linux, o Wireshark se utiliza da Libpcap, que oferece uma interface independente para capturar pacotes; portanto, não há necessidade de escrever rotinas customizadas para cada sniffer (tcpdump, Snort, Wireshark etc.). Se seu sistema operacional (Linux, *BSD, HP-UX, Solaris, Windows etc.) e seu software suportam a Libpcap, você poderá monitorar pacotes à vontade.

Instalação

A Libpcap está disponível em quase todos os sistemas operacionais, e o Wireshark, na maioria das vezes, também está incluído (pelo menos no Linux e nos *BSD). O programa, às vezes, vem em dois pacotes separados: um com os utilitários de back-end, como o tshark e o mergecap, e outro com a interface gráfica. No Fedora e na maioria dos sistemas, basta usar o gerenciador de pacotes: yum install Libpcap yum install wireshark‑gnome

No Debian também é fácil: apt‑get install libpcap0 apt‑get install wireshark

Um problema de usar a versão do Wireshark fornecida pela distribuição é que a maioria dos distribuidores fornece versões muito velhas (o Fedora 11, por exemplo, vem com a versão 1.1.3). Porém, a série 1.2 (e a 1.3.0, que já deve ter sido lançada quando você ler esta coluna) possui vários recursos novos, como suporte a protocolos, 18

erros corrigidos e integração com o GeoIP (mais sobre isso em breve). Para instalar o Wireshark, primeiro escolha a versão que você prefere baixar: a última estável ou, caso você tenha mais coragem (e paciência), um dos builds automatizados do SVN. Depois de descompactar, a instalação é bem simples: ./configure make sudo make install

Para compilar o Wireshark, será preciso fazer referência a algumas dependências. No mínimo, você precisará da Libpcap; sugiro também instalar os pacotes GnuTLS, PCRE e GeoIP se quiser usar recursos avançados.

Execução do Wireshark

Infelizmente, para executar o Wireshark e capturar dados, é preciso executá-lo como usuário root. O Wireshark já teve problemas de segurança no passado (falarei sobre isso mais adiante), permitindo que ataques externos executassem códigos enviando dados que eram processados pelo programa. Há duas maneiras simples de evitar que o Wireshark seja executado como root. A primeira é usar um pacote de captura de programas, como o dumpcap ou o tcpdump e, depois, examinar os arquivos de captura com o Wireshark executado por um usuário comum. O segundo método é executar o Wireshark como root, mas em um ambiente controlado. Quando eu executei o Wireshark em uma máquina virtual VMware, supus que ele veria apenas os dados de rede dessa máquina específica. Não sei bem por que pensei isso (esperança, acho). Talvez porque a Libpcap acessa o kernel e a placa de rede em um nível baixo, o programa verá todo o tráfego de rede que passa pela interface física. Por isso, o Wireshark pode rodar em uma máquina virtual e

http://www.linuxmagazine.com.br


Insegurança | COLUNA

mesmo assim monitorar todo o tráfego de rede. O lado ruim disso é que qualquer usuário mal intencionado com acesso de root à máquina virtual (ao menos no servidor VMware) poderá enxergar todo o tráfego da rede da máquina física ou virtual usando essa interface.

Filtros de captura

Capturar tráfego de rede é bem parecido com beber água diretamente de um hidrante. A boa notícia é que quase todos os programas que usam a Libpcap também aceitam os comandos de filtragem da Libpcap (e, às vezes, como no Wireshark, também têm seus próprios filtros). A má notícia é que a configuração do filtro da Libpcap é relativamente limitada, contendo basicamente endereços de rede e portas (por ser baseada em protocolo). Pelo menos você pode usá-lo para minimizar a quantidade de dados que serão escritos no seu disco rígido ou forçar o Wireshark a processá-los. Por exemplo, para capturar o tráfego da Web com a Libpcap, é possível usar a seguinte sintaxe:

“Dissecadores” de protocolo

O que difere o Wireshark do resto dos programas é seu grande número de “dissecadores” de protocolo, mais conhecidos como dissectors. De fato, o Wireshark pode entender profundamente os principais protocolos de rede (SSH, Telnet, NTP etc.) e não apenas exibir informações em formato amigável, mas também fornecer várias opções para que você filtre estas informações. O Wireshark pode filtrar o tráfego da web, tcp.dstport == 80 or tcp.dstport == 443

e também componentes específicos de uma conexão HTTP, como, por exemplo, um código de resposta (mostrar apenas erros 404): http.response.code == 404

Ou ainda, você pode procurar cookies que contenham a string sessionid:

dst port 80 or 443

http.cookie contains “sessionid”

A página de manual do tcpdump cobre a sintaxe dos filtros da Libpcap em profundidade.

O HTTP não é o único protocolo que o Wireshark compreende: na última contagem, o Wireshark possuía

Complete

a sua coleção

O objetivo da coleção é trazer conhecimento confiável e de alto nível sempre com enfoque prático e voltado para a utilização do sistema Linux e de outras tecnologias livres.

Mais informações Site: Linux Magazine #61 | Dezembro de 2009 www.linuxmagazine.com.br Tel: 11 4082-1300

19


COLUNA | Insegurança

em torno de 1.000 dissecadores de protocolos – mas nem todos são tão completos quanto o do HTTP. Infelizmente, esses dissecadores podem causar problemas, com cerca de 85 vulnerabilidades [2] que vão desde uma simples negação de serviço até um estouro de buffer com execução de código. O Wireshark agora também suporta o GeoIP, que consiste em um grupo de bibliotecas que podem ser usadas para realizar buscas no MaxMind Geographic IP database (basicamente, uma lista de IPs e redes e os países onde estes residem). É possível acessar gratuitamente os dados de um país, o que significa que se pode criar filtros para mostrar o tráfego de um país específico. Neste exemplo, a China:

sobrescrevendo os mais antigos ao atingir o número máximo (criando, assim, um buffer circular). Note que não é necessário capturar todo o tráfego da rede para criar um log útil para rastrear problemas; apenas a gravação do tráfego DNS (porta 53 TCP e UDP) já ajudará a resolver muitos problemas de segurança, como downloads involuntários (chamados de drive-by), que geram consultas DNS para domínios estranhos. Por outro lado, você também pode simplesmente fazer um log do tráfego de saída da porta 80, o que oferece um registro de todas as requisições (sem as respostas, que aumentariam significativamente o log). Da mesma forma que uma câmera, isso não evitaria problemas de segurança, mas daria uma boa ideia do que aconteceu e, com sorte, você ficaria sabendo quantos sistemas foram afetados pelo ataque.

ip an ip.geoip.country == “China”

[Atualizado] “Upgrade 2.0”

GeoIP

Gravador de rede

A menos que o Wireshark rode 24 horas por dia, você terá que recriar os problemas ocorridos enquanto examina o tráfego da rede. Ou não? A boa notícia é que os discos rígidos estão muito baratos (um terabyte custa R$ 200) e cada disco de 1 terabyte significa que é possível armazenar 30 GB por dia durante 30 dias (ou até mais se sua rede for pouco movimentada nos fins de semana). O programa tshark ainda facilita o armazenamento de um buffer circular com uma determinada quantidade de dados (100 GB de tráfego, 2TB etc.). A opção ‑b: tshark ‑i eth0 ‑b filesize:10240 ‑b files:1000 ‑w if‑eth0

monitora a interface eth0 e cria até 1.000 arquivos com 10 MB cada (num total de 1 GB) cujos nomes são a data e o horário em que foram gerados (AAAMMDDHHMMSS):

20

Agradeço a Jan Andrejkovic por ter me alertado sobre uma ferramenta que esqueci de mencionar na minha coluna “Upgrade 2.0” [3]. O Fedora vem com um programa chamado Presto [4] que usa DeltaRPMs para fornecer pequenas atualizações. No meu primeiro teste, uma atualização exigiria um download de 972MB, mas, com o Presto, foram meros 224MB (grande economia). O Fedora 11 inclui o pacote yum-presto (não confundir com o pacote presto), um plugin para o programa yum. A instalação é simples: yum install yum‑presto

Primeiro, atualize manualmente seu arquivo /etc/ yum.repos.d/fedora‑updates.repo para incluir uma baseurl ou uma mirrorurl apontando para um site que contenha RPMs presto (eles estão assinados com a chave GnuPG de Jonathan Dieter). Outra maneira seria montar seu próprio repositório e criar RPMs com as presto-utils. Se você tiver mais de um sistema, esta é a melhor opção. n

Mais informações

if‑eth0_00001_20090920041232 if‑eth0_00002_20090920041252 if‑eth0_00003_20090920041258

[1] Wireshark: http://www.wireshark.org/

Em seguida, esses arquivos podem ser unidos usandose o mergecap, caso o tráfego interessante esteja dividido em vários arquivos de captura. Outra forma de capturar dados da rede para posterior análise é usando o tcpdump. As versões mais recentes normalmente suportam a opção ‑C, que inicia um novo arquivo de captura após um número específico de bytes, e a opção ‑W, que limita o número de arquivos criados

[3] Kurt Seifried, “Upgrade 2.0”: http://lnm.com.br/article/3035

[2] Vulnerabilidades do Wireshark: http://www.wireshark.org/security/

[4] Presto: https://fedorahosted.org/presto/ Kurt Seifried é consultor de segurança da informação especializado em redes e Linux desde 1996. Ele frequentemente se pergunta como a tecnologia funciona em grande escala mas costuma falhar em pequena escala.

http://www.linuxmagazine.com.br


NOTÍCIAS

➧ Temporada de novas versões de distribuições Os meses de outubro e novembro marcaram a temporada de lançamento de novas versões das principais distribuições GNU/Linux voltadas a usuários de desktops. Ubuntu, Fedora, OpenSUSE e Mandriva anunciaram na Internet suas novas versões para download. O Ubuntu, na versão 9.10 (Karmic Koala), prepara-se para a próxima versão LTS, 10.04, e apresenta novidades interessantes. O tema gráfico, que agora usa applets monocromáticos no painel – semelhantes ao Mac OS X –, é acompanhado do novo serviço Ubuntu One, projetado para o compartilhamento e armazenamento de arquivos na Internet, com uso de armazenamento na nuvem. A troca de componentes básicos do sistema também marcou a nova versão, como o Empathy, que substitui o mensageiro Pidgin, o uso do GRUB 2 em substituição ao GRUB e a adoção do Ubuntu Software Center no lugar do Update Manager e do Synaptic. O Fedora 12 (codinome Constantine) foi liberado pela Red Hat com diversos avanços em relação à versão 11, como o gerenciador de pacotes Yum Presto com suporte a deltaRPMs e um gerenciador de redes com suporte a 3G. Além das versões com os desktops Gnome, KDE e LXDE, o Fedora oferece uma alternativa gráfica com o Moblin, especialmente indicado para netbooks. O instalador Anaconda passou também a suportar iSCSI e Fibre Channel sobre Ethernet (FCoE), embora limitado a Ethernet de 10 Gbps. Na área da segurança, novidades no SE Linux e na ferramenta de relatório ABRT, além do uso da biblioteca Libcap-ng. Uma falha de segurança no sistema, contudo, foi apontada pouco após o lançamento: usuários tinham privilégios para instalar softwares a partir dos repositórios sem fornecer a senha de root. A falha foi apontada por diversos usuários, que depois descobriram tratar-se de uma alteração não divulgada – portanto, não um bug –

com o objetivo de facilitar o uso do sistema por usuários não técnicos. A mudança evidentemente provocou diversas reclamações, que levaram à publicação da alteração do sistema e também do procedimento para retorná-lo ao método padrão de exigir a senha de root para qualquer instalação de software. Após um tempo excepcionalmente longo desde a versão 11.1 (quase um ano), a equipe do OpenSUSE lançou com sucesso a versão 11.2. A principal alteração com relação à versão anterior do sistema é o retorno do ambiente desktop KDE (na versão 4) como padrão, além das alterações do kernel para beneficiar o uso em desktops e o uso do sistema de arquivos Ext4 por padrão. O Mandriva, em sua versão 2010.0, também foi lançado neste fim de 2009. Após um atraso de um mês, a nova versão da distribuição francesa chegou aos servidores, trazendo mudanças como o Plymouth para bootsplash e uma inicialização significativamente mais rápida do que a versão anterior, além da completa integração ao ambiente Moblin. O Mandriva 2010.0 também inclui o Sugar, desktop criado pelo projeto OLPC, assim como a nova arquitetura UXA, acompanhada da infraestrutura DRI2 no Xorg 7.4. A distribuição também é a única a incluir o centro multimídia Elisa, renomeado para Moovida e com uma nova interface gráfica. n

➧ Licenciamento do JDK 7 criticado

O milestone 5 da próxima versão do Java Development Kit, o JDK 7, inclui apenas algumas pequenas alterações. Porém, o JDK 7 causou bastante alvoroço. O motivo das turbulências em torno das alterações é o fato de que a Sun não escolheu uma licença de código aberto. O desenvolvedor do Classpath Mark Wielaard chamou essa atitude de “antissocial”, referindo-se à grande porção do software que faz parte do OpenJDK. Wielaard pediu à Sun para retirar essa restrição legal, por ser injusta com todos aqueles que contribuíram com código para a versão livre. Ele não vê qualquer motivo para esse comportamento e faz um apelo à Sun em seu blog. A versão final do JDK 7 é esperada para o início de 2010. Para notícias sempre atualizadas e com a opinião de quem vive o mercado do Linux e do Software Livre, acesse nosso site: www.linuxmagazine.com.br

22

http://www.linuxmagazine.com.br


➧ Microsoft infringe GPL, CORPORATE

admite e corrige

Nem a Microsoft resiste a novas tecnologias. Com o objetivo de se manter em sintonia com os novos tempos, a empresa disponibilizou uma interessante ferramenta para criar uma versão do sistema em dispositivos de armazenamento USB. Infelizmente, a gigante dos sistemas operacionais não percebeu que a licença do software usado para isso – ImageMaster, liberado sob a GPLv2 – exige a disponibilização de qualquer alteração feita ao código fonte original. A primeira menção à violação da GPL foi feita pelo site withinwindows.com, que afirmou que o WUDT, como foi batizado o software, continha código externo à MS e coberto pela GPL.

Após essas informações começarem a circular, a empresa retirou o WUDT de seu website e anunciou que iria averiguar o problema. O gerente de comunidade do site Port25 da Microsoft, Peter Galli, confirmou posteriormente a infração da GPL: “Após verificar o código em questão, agora podemos confirmar que era esse o caso, embora não tenha sido intencional de nossa parte. Apesar de termos terceirizado a criação da ferramenta, compartilhamos a responsabilidade por não ter detectado a infração em nosso processo de revisão do código. Além disso, conduzimos uma revisão de outros códigos fornecidos pela loja da Microsoft, e esse foi o único incidente desse tipo que encontramos”. Na semana seguinte, a empresa chefiada por Steve Ballmer voltou a liberar a ferramenta, desta vez com o código fonte disponível sob a GPLv2.. n

➧ Celulares: Windows perde, mas Linux não ganha Segundo um estudo do Gartner, o Windows Mobile perdeu 28% do mercado de telefones celulares ao longo do último ano. O Linux, no entanto, não é o principal beneficiado. Os maiores vencedores nessa arena são Apple e Blackberry, embora estime-se que os sistemas livres venham a ganhar mais mercado a longo prazo. Segundo a ZDNet, o Windows Mobile perdeu quase um terço de seu mercado entre o terceiro trimestre de 2008 e o mesmo trimestre de 2009, ficando em último colocado entre os principais players, com apenas 8%. Um motivo das perdas foi o atraso no lançamento da versão 6.5 do sistema da Microsoft, além de não entregar o que a maioria dos usuários esperava, como telas sensíveis ao toque. De acordo com a analista do Gartnet Roberta Cozza, a versão 6.5 “não é um grande avanço” sobre as anteriores. O Symbian, recentemente transformado em sistema operacional livre, também diminuiu sua fatia de mercado em 10% nos dos dois últimos trimestres, caindo de 50% para 45%. Os ambientes fechados Blackberry e iPhone, por outro lado, ganharam grande impulso. Do ponto de vista do Software Livre, no entanto, 2009 foi um divisor de águas no mercado de telefonia móvel. Os telefones celulares equipados com o sistema Android do Google (baseado em Linux) ganharam 4% do mercado, apesar de na época da realização do estudo existirem apenas dois modelos com o sistema. Até o WebOS, da Palm, passou da marca de 1%. Os analistas do Gartnet já haviam previsto o fim do Windows Mobile no início de 2009: previram que em 2015 haveria apenas quatro players no campo: Android, Symbian, Mac OS e Blackberry. n

➧ Petrobras adquire supercomputador Bull movido a GPU A máquina bullx, da francesa Bull, vencedora do edital da Petrobras, com poder de processamento de 250 Teraflops – suficientes para caracterizá-la como o 16º maior supercomputador do planeta –, vai equipar o CENPES (Centro de Pesquisas e Desenvolvimento) da Petrobras, no Rio de Janeiro. O objetivo é auxiliar em simulações geofísicas com o intuito de “aprimorar a visualização das camadas geológicas do subsolo para suportar a exploração e produção de petróleo”, segundo o anúncio da Bull à imprensa. O supercomputador faz uso da tecnologia GPGPU (General-purpose computing on GPU – processamento auxiliado por chips gráficos, como aqueles encontrados nas placas de vídeo) para aumentar sua capacidade de processamento, e será instalado no novo datacenter da Petrobras na Cidade Universitária da UFRJ. n

Para notícias sempre atualizadas e com a opinião de quem vive o mercado do Linux e do Software Livre, acesse nosso site: www.linuxmagazine.com.br

24

http://www.linuxmagazine.com.br


Coluna do Taurion

CORPORATE

Monetização do Open Source Para as empresas se aproximarem do Open Source, elas precisam compreender as formas de monetizá-lo.

E

stive recentemente no Latinoware 2009, respirando Open Source 24 horas. Aqui e ali algumas conversas interessantes e uma constatação: Open Source é um modelo de desenvolvimento, entrega e suporte de software e, por incrível que pareça, ainda não é plenamente compreendido por muitos empresários e empresas de software no Brasil. Bem, não é para menos, pois não existe uma definição legal de Open Source. Nenhuma organização tem o direito desta “marca” e muito menos governa o conceito. Existe, na verdade, uma entidade chamada Open Source Initiative (OSI), que criou uma lista de atributos do que vem a ser Open Source, que por sua vez geraram uma definição que vem sendo adotada por consenso. Sempre converso com alguns empresários brasileiros da indústria de software e sinto certo receio deles em se aproximar do Open Source. Pensam logo nos riscos de usá-lo e que também perderão dinheiro, pois sua receita, hoje, vem da venda de licenças. Lembrem-se de que um software Open Source não pertence a nenhuma empresa. Neste modelo, nenhuma entidade mantém controle sobre as propriedades intelectuais que fazem o software. O empresário de software também pode pensar em usar Open Source embutido em seu produto. Neste caso, usaria seu software de código fechado ao lado de alguns componentes Open Source. Claro que, para isso, ele deve escolher projetos maduros, que apresentem uma base de código estável e já provada em campo. Buscar um código novo, com comunidade pequena e incerta, traz embutido o risco do empresário ter que assumir a responsabilidade pela manutenção e evolução do código. Pode ser um ônus insuportável. Esta opção parece ser interessante, e algumas estimativas, como a do Gartner, apontam que por volta de 2013 cerca de 80% dos produtos de software fechados embutirão elementos Open Source. Como benefício, evita-se escrever 28

código que já está escrito (e bem escrito), podendo-se concentrar esforços e investimentos nos códigos que vão gerar valor para seus clientes. Uma outra alternativa é transformar o seu código em Open Source. Entretanto, neste caso, existe a questão de como monetizar o software. Como gerar dinheiro com os downloads gratuitos? De maneira geral, existe uma diferença de uma ordem de magnitude entre downloads (o usuário está simplesmente investigando o software), uso operacional e pagamento de algum valor por, digamos, atualizações. Existe uma regra prática que diz que, para cada 1 milhão de downloads, temos 100.000 usuários, e que, destes, apenas 1.000 pagarão pelo software. Como obter dinheiro em uma relação de 1.000 x 1? Existe uma alternativa à reunião de uma imensa base de usuários, que é a criação do modelo de duplo licenciamento. Nela, cria-se uma versão aberta e outra fechada, com algum atrativo que gere valor para o cliente. Este, por sua vez, concorda em pagar pelo valor agregado. Um exemplo comum é a criação de uma versão premium ou enterprise com mais recursos, que demandam pagamento para seu uso. E existe, é claro, a opção de gerar retorno financeiro com venda de serviços e treinamento. Enfim, existem diversas maneiras para uma empresa de software se aproximar do modelo Open Source, além de usar Linux nos seus servidores e Eclipse no desenvolvimento de seu código. Não é uma aposta de tudo ou nada, mas deve-se ter uma estratégia bem definida e uma escolha de modelos de aproximação que agreguem valor para seu negócio. Neste caso, Open Source será um bom negócio. n Cezar Taurion (ctaurion@br.ibm.com) é diretor de novas tecnologias aplicadas da IBM Brasil e editor do primeiro blog da América Latina do Portal de Tecnologia da IBM developerWorks, em https://www.ibm.com/ developerworks/mydeveloperworks/blogs/ctaurion/.

http://www.linuxmagazine.com.br



Torne-se um

CAPA

Profissional certificado Por que e como se certificar. por Marco Aurélio Filippetti

U

ma das premissas básicas de gestão rege que, para se avaliar algo, este algo deve ser, de alguma forma, mensurável. Portanto, para se determinar o nível de conhecimento de um profissional, é necessário que esse conhecimento seja medido e balizado, para

30

então poder ser comparado e verificado. As certificações profissionais de TI têm exatamente essa função: servir como uma métrica padronizada que permita mensurar a quantidade e a qualidade de conhecimentos e habilidades específicas que um determinado profissional possui e, com base nessas métricas, atestar para o mundo se o profissional em questão é ou não versado em uma determinada tecnologia. Existe hoje uma infinidade de certificações específicas para TI à disposição dos profissionais que queiram comprovar suas habilidades para o mercado. A questão aqui é saber separar “o joio do trigo”. O profissional precisa ser extremamente criterioso na escolha da certificação, levando em conta fatores como aceitação e respeitabilidade pelo mercado, custo e tempo para obtenção, além do retorno do investimento, entre outros. De uma forma geral, o mais importante é verificar o que determinada certificação trará de bene-

fícios verificáveis para o profissional que a obtiver.

Principais certificações Como já foi mencionado, existem centenas de certificações no mercado, porém nem todas gozam do mesmo nível de reconhecimento. Uma regra que não falha é atentar para as tecnologias em voga – ou seja, com demanda pelo mercado – e buscar certificações reconhecidas nessas áreas. Exemplos atuais seriam: segurança, comunicações unificadas, wireless, virtualização, programação (Java e outras), sistemas ERP (SAP e Microsiga, por exemplo), sistemas operacionais (Linux, Windows), bancos de dados (Oracle, por exemplo) e governança em TI. Para cada uma destas áreas, existem certificações específicas, algumas bastante reconhecidas pelo mercado e outras nem tanto. Outro ponto que deve ser levado em consideração é o tipo de certificação: orientada ao fabricante ou independente. Vários fabricantes desenvolveram suas linhas de formação profissional baseados nos equi-

http://www.linuxmagazine.com.br


CAPA  | Certificações

pamentos e tecnologias que vendem ao mercado. Esse é o caso de Cisco, Avaya, Red Hat, 3Com, Juniper, Check Point, Microsoft, Sun, Oracle e tantas outras. O problema aqui é que algumas destas certificações podem “amarrar” muito o profissional à tecnologia específica do fabricante. Se amanhã esse profissional precisar comprovar seus conhecimentos em algo mais genérico ou de outro fabricante, poderá ter problemas. Portanto, o mercado reconhece algumas certificações desse tipo como sendo mais interessantes exatamente pelo fato de não limitar o profissional. Um bom exemplo seriam as certificações da Cisco – amplamente reconhecidas até por outros fabricantes, como Juniper e Huawei –, pois cobrem em seus cursos e exames uma grande gama de conceitos e tecnologias que podem ser aplicados em qualquer tipo de rede. Em termos de certificações independentes, temos entidades que oferecem certificações “neutras”, ou seja, sem qualquer relação com um fabricante específico. Estas são interessantes pelo fato de atestarem que o profissional conhece a fundo conceitos e tecnologias que podem – em tese – ser implementados em qualquer tipo de ambiente. Exemplos seriam as certificações da CompTIA (Security+, Network+, A+, entre outras), do PMI (PMP), ISC2 (CISSP), ISACA (CISA), LPI e ITSM (ITIL). Os quadros 1 a 5 listam algumas das certificações em TI mais relevantes para o mercado brasileiro, separadas por área de atuação. A ordem foi baseada na empregabilidade, na popularidade e na relevância de cada certificação para o mercado brasileiro.

32

vultosos, como muitos pensam. Na prática, a certificação serve como um diferencial, ou seja, fará com que o currículo do profissional vá para uma pilha menor, com maiores chances de ser selecionado. Em alguns casos, a certificação sequer é um diferencial; é um pré-requisito para a vaga. Nessas situações, a empresa quer ter certeza de que o profissional procurado domina determinada tecnologia ou possui conhecimentos específicos em alguma área do

saber. Uma analogia útil empregada em [1]: “Imagine que seu currículo é visto como uma refeição pelo RH das empresas: as certificações são o molho, a experiência profissional é a carne e o diploma universitário é o prato. Qualquer combinação que você tente fazer não será atrativa sem o prato, pois ninguém apreciará uma refeição servida diretamente em cima da mesa. Da mesma forma, um prato servido apenas com o molho não será atrativo, pois a experiência

Quadro 1: Infraestrutura (redes e sistemas operacionais) Cisco (CCNA, CCNP e CCIE): as certificações da Cisco seguem no topo do ranking por um motivo muito simples: a demanda por profissionais de rede segue em alta e as certificações da Cisco preparam o profissional para encarar qualquer desafio neste mercado. São certificações tradicionais e muito reconhecidas pelo mercado. Das novas certificações lançadas pela Cisco, as especializações CCNA Voice, CCNA Security e CCNA Wireless certamente terão seu valor apreciado cada vez mais pelo mercado. Microsoft (MCSA, MCSE e MCSD): a razão de as certificações Microsoft estarem em segundo lugar também é simples de ser justificada. A empresa detém mais de 80% do mercado de sistemas operacionais, valor que pode mudar com o lançamento do Windows 7. Faltarão profissionais capacitados no mercado. Linux (LPI, RHCE etc.): com a explosão do Linux – especialmente em datacenters e empresas –, estas certificações vêm ganhando muita importância. Existe uma carência clara no mercado de profissionais nesta área.

Quadro 2: Governança e gestão PMP (Project Management Professional): focada em gerência de projetos. ITIL (Information Technology Infrastructure Library): focada na governança de TI, é cada vez mais reconhecida e procurada pelas grandes empresas. COBIT (Control Objectives for Information and related Technology): também focada nas melhores práticas de governança de TI.

Quadro 3: Segurança e controles CISSP (Certified Information Systems Security Professional): uma das certificações mais quentes e reconhecidas na área de segurança.

Reconhecimento do mercado

CISA (Certified Information Systems Auditor): com a crise econômica apertando, nunca os auditores foram tão valorizados. Vale conhecer melhor esta certificação, em alta no momento.

O que é preciso deixar claro é que a certificação, por si só, não é garantia de um bom emprego ou de salários

CCSE (Check Point Certified Security Expert): certificação de segurança de alto nível. É uma das certificações mais valorizadas na área.

http://www.linuxmagazine.com.br


Certificações | CAPA

Quadro 4: Programação SCJP (Sun Certified Java Programmer): foco em Java e, portanto, em alta.

Quadro 5: Arquitetura Arquitetura de soluções é uma área que vem tendo mais visibilidade, especialmente nos grandes provedores de serviço. O perfil do profissional da área mescla conhecimento de mercado com habilidades e conhecimentos técnicos. As certificações apresentadas a seguir são relativamente novas, mas já gozam de reconhecimento pelo mercado e entre os profissionais que atuam nesta área:

Custos

MCA (Microsoft Certified Architect) CCA (Cisco Certified Architect)

profissional não pode ser substituída por uma certificação”. Ou seja, sem uma boa formação, apenas uma boa certificação pode não lhe abrir muitas portas.

Idioma

Outro ponto a ser considerado aqui é o domínio de um idioma estrangeiro – notadamente, o inglês. Quando o assunto é tecnologia, o que é considerado estado da arte hoje pode não mais sê-lo amanhã. Isso significa que se o profissional de TI não estiver em constante atualização, fica para trás. A maior parte da literatura disponível hoje para as tecnologias mais recentes é lançada primeiro em inglês. Então, se você não domina esse idioma, será ultrapassado por outro profissional que possui esse conhecimento. O domínio do inglês é necessário, portanto, não necessariamente para conversação, mas para atestar que você terá condições de se atualizar rapidamente quando necessário. É comum empresas preferirem profissionais que dominem o inglês, mesmo que estes não possuam qualquer certificação de TI. O motivo é simples: é mais barato e mais rápido certificar um profissional do que investir anos para que ele aprenda um novo idioma.

Linux Magazine #61 | Dezembro de 2009

chance do profissional ficar desempregado, por exemplo. A questão que você deve se fazer, portanto, é: em qual lado da pirâmide você quer estar? Na ponta, onde a demanda é enorme e os profissionais são poucos – e, por consequência, os salários são maiores –, ou na base, onde mesmo com uma demanda forte pelo mercado existe uma oferta igualmente grande de profissionais?

Salário

É comum ouvir questionamentos sobre o salário de um profissional certificado Cisco CCNA ou mesmo CCIE. O que é certo é que quanto mais se envereda no caminho das certificações, ou seja, quanto maior o nível de dificuldade e abrangência das certificações que o profissional possui, reduz-se drasticamente a

Por fim, quanto custa certificar-se? Isso depende. A grande maioria das certificações existentes não exige a participação em um curso ou algo do gênero. Basta comprar alguns livros e dedicar-se para conseguir a tão sonhada certificação. Sem considerar gastos com cursos, é possível verificar os custos (em dólares) de quase todas as provas de certificações mencionadas neste artigo acessando o site da Vue [2], empresa que ministra os exames para a maioria das empresas e entidades aqui mencionadas. n

Mais informações [1] Marco Aurélio Filippetti, “CCNA 4.1”: http://www.visualbooks. com.br/shop/mostralivro.asp?escolha=9788575022382 [2] Vue: http://www.vue.com

Sobre o autor Marco Aurélio Filippetti é especialista em Sistemas Computacionais e Engenharia de Telecom pela Universidade da Califórnia (Berkeley), possui os títulos Cisco CQS Security Specialist, CCIP e CCDP, ITIL Foundations e é Mestre em Engenharia da Computação pelo Instituto de Pesquisas Tecnológicas de São Paulo (IPT). Profissionalmente, passou pela KPMG, T-Systems do Brasil, AT&T, Vivax e British Telecom. Atualmente, atua como Consultor de Tecnologia e Operações para a Embratel, em Campinas, além de manter, desde 2007, um movimentado blog com foco nas certificações Cisco, em http://blog.ccna.com.br.

Gostou do artigo? Queremos ouvir sua opinião. Fale conosco em cartas@linuxmagazine.com.br Este artigo no nosso site: http://lnm.com.br/article/3167

33


Visão computacional

TUTORIAL

Máquinas que enxergam Use a visão computacional com suas diversas técnicas para melhorar a acessibilidade dos sistemas. por Alessandro de Oliveira Faria (Cabelo)

S

egundo a Wikipédia, “Visão computacional é a ciência e tecnologia das máquinas que enxergam. Ela desenvolve teoria e tecnologia para a construção de sistemas artificiais que obtêm in-

A

formação de imagens ou quaisquer dados multidimensionais. Exemplos de aplicações incluem o controle de processos (como robôs industriais ou veículos autônomos), detecção de eventos, organização de informação,

modelagem de objetos ou ambientes e interação (atrelado à interação homem-computador).” Projetos de biometria, realidade aumentada e robótica utilizam reconhecimento de padrões

B

Figura 1 Esta imagem (A) pode ser tratada com o reconhecimento de arestas de forma a gerar a imagem B.

52

http://www.linuxmagazine.com.br


Visão Computacional | TUTORIAL

Figura 2 A técnica de detecção de cantos permite encontrar diferenças entre duas imagens.

e processamento de imagens em tempo real. Como consequência, as câmeras ultimamente vêm ganhando inteligência em função dos algoritmos de visão computacional. Essa tarefa demanda conhecimentos matemáticos, fundamentos relacionados a imagens e conhecimentos sobre manipulação de vídeo ao vivo, como também, para maior eficiência, otimização no uso da arquitetura de hardware e utilização de processadores com múltiplos núcleos. Aplicar processos de visão computacional em fluxos de vídeo ao vivo é uma tarefa morosa devido ao grande consumo de processamento matemático. Entretanto, atualmente existem diversas bibliotecas projetadas para facilitar o aprendizado e o desenvolvimento de tarefas como essa, proporcionando assim diversas funções para o segmento do processamento de vídeo digitais. As bibliotecas Mimas [1] e OpenCV [2], por exemplo, permitem o processamento de imagens estáticas ou ao vivo. Podem ser aplicadas em reconhecimento de face, expressão, gestos, objetos, rastreamento e detecção de movimentos e também análise de movimentos, entre outras infinitas aplicações. As bibliotecas de visão computacional apresentam recursos de manipulação de imagem, en-

Linux Magazine #61 | Dezembro de 2009

trada e saída de vídeo, cálculo de matriz, álgebra linear, morfologia matemática, análise estrutural, reconhecimento de objetos e gráficos primitivos. Geralmente, o processamento de imagens tem como principal objetivo obter uma nova figura ou quadro, nos quais o resultado apresenta um determinado resultado comparado à imagem inicial ou anterior. Diversas técnicas para manipulação de imagens são utilizadas geralmente para um posterior processamento. A técnica de suavização é utilizada para borrar ou embaçar a imagem, geralmente com o objetivo de eliminar ruídos ou detalhes da figura. Os processos mais utilizados são a suavização com o somatório dos pixels vizinhos, ou mediana de uma vizinhança, entre outros tipos.

Arestas

Um método de manipulação de imagens bem conhecido é a detecção de arestas, relativamente simples quando comparada a outros recursos no segmento de visão computacional. Ele consiste basicamente em processar uma imagem de entrada e localizar e exibir a descontinuidade das intensidades rastreadas (figura 1).

Segmentação

Podemos entender como uma forma de segmentação a submissão de imagens para processamento com fins de localização de figuras ou modelos específicos. Um exemplo de uso disso é a separação entre objetos específicos do fundo e da imagem (figura 3). Portanto, essa é uma técnica muito utilizada em projetos de realidade aumentada.

Tudo junto

A junção de processos também é uma técnica muito comum. Por exemplo, é possível utilizar o realce matemático junto ao processo de separação de modelos, tendo como

Figura 3 Ao separar o fundo do restante da imagem, é possível inserir uma figura externa à imagem original.

Cantos

O método de detecção de cantos, por sua vez, pode ser utilizado para rastrear objetos. Essa técnica consiste basicamente na extração da característica a partir de uma determinada imagem para posteriormente submetê-la a comparações de desigualdade. Nesse caso, características do quadro atual são comparadas à imagem base para ser processadas, obtendo assim as diferenças entre os dois e, por conseqüência, localizando os pontos com na figura 2.

Figura 4 A rotulação de imagem binária permite usos interessantes em Realidade Aumentada, como a detecção de figuras pré-definidas em uma imagem apresentada à câmera.

53


TUTORIAL | Visão Computacional

Figura 5 Com a biblioteca Bazar, é possível inserir uma figura como base...

mera por meio do fluxo de cada pixel, ou com base na semelhança e na combinação de amostras.

que o simples uso de fotografias subverta o processo de verificação [4]. O projeto ehci [5] é um bom começo para prova de conceito.

Bazar

Reconhecimento de objetos

A biblioteca Bazar [3] utiliza técnicas de rastreamento e análise de pixels para produzir uma aplicação de realidade aumentada. A instalação dessa biblioteca é simples: bastam os comandos padrão ./configure && make && sudo make install após baixar e des-

compactar o código-fonte. Além disso, ela é bem fácil de utilizar. Ao executá-la, é possível apresentar um objeto à câmera (figura 5) e em seguida usá-lo de forma interativa com uma figura inserida na imagem pelo computador (figura 6).

Figura 6 ...para usá-la como apoio para um objeto virtual.

resultado final o que se denomina detecção de linhas. Em projetos de realidade aumentada, a imagem é realçada usando os processos de detecção de arestas e separação de modelos, seguidos da tarefa de traçado de contornos. A rotulação de imagem binária também é um processo importante dentro do campo da realidade aumentada, pois significa determinar um valor único de cor para cada pixel pertencente a uma determinada região (figura 4).

Fluxo óptico

A técnica de fluxo óptico se baseia no rastreamento dos pixels. Ela permite estimar o deslocamento dos pixels em até três dimensões. Uma das aplicações desse recurso é o reconhecimento facial na autenticação (figura 7), de forma a impedir

Utilizando classificadores, é possível identificar objetos presentes num vídeo ao vivo ou em quadros estáticos. O treinamento é efetuado com a seleção de diversas imagens positivas (objeto presente na imagem), com o objeto presente em diversos ângulos e condições de iluminação. Outro grupo de imagens são agrupadas sem a presença do objeto (imagens negativas). Esse grupo de imagens é utilizado no treinamento com cascata de classificadores para posterior detecção. Exemplos de aplicação para o reconhecimento de padrões treinados são os processos para contagem de pessoas em tempo real. Neles, um processo analisa em paralelo o fluxo de vídeo ao vivo, reconhecendo assim padrões de corpos humanos e rastreando seu movimento durante sua passagem pelo campo de visão da câmera (figura 8). Outro exemplo de aplicação da visão computacional é o projeto kmando [6], um sistema de projetor

Rastreamento

No segmento de visão computacional, o rastreio de objetos (object tracking) é um recurso muito interessante. Com ele, é possível acompanhar o percurso de um objeto em tempo real, isto é, rastrear um objeto em movimento em frente a uma câ54

Figura 8 Usando o reconhecimento de face em três dimensões, não basta apresentar uma fotografia sua para alguém fazer login com o seu usuário.

http://www.linuxmagazine.com.br


Visão Computacional | TUTORIAL

do site do projeto [2], descompacte-o e execute os tradicionais comandos: ./configure make sudo make install

Conclusão

Figura 8 Após o devido treinamento, é possível contar quantas pessoas estão presentes numa imagem e até rastrear seu movimento num vídeo.

interativo baseado em processamento em tempo real. Após o treinamento da câmera junto ao sistema, é possível mover o cursor do mouse por meio de uma caneta hidrocor ou objeto semelhante. O eViacam [7] é um projeto que explora bem os recursos mencionados neste artigo. Voltado à acessibilidade, ele fornece uma interface para interpretar os movimentos da face e convertê-los em movimentos e ações para o cursor do mouse, como mostra o vídeo em [8]. A acessibilidade computacional significa prover a pessoas portadoras de necessidades especiais a capacidade de operar computadores de forma transparente. Para atingir tal objetivo, nada mais lógico e sensato que o aproveitamento da evolução do hardware e software para o desenvolvimento de mecanismos e interfaces, como faz o eViacam [9].

OpenCV

A biblioteca livre OpenCV (Open Source Computer Vision) reúne vários algoritmos de visão computacional para integração a qualquer aplicativo. Para instalá-la a partir do código-fonte, baixe o pacote compactado a partir

Linux Magazine #61 | Dezembro de 2009

A área de visão computacional é tão ampla que talvez seria necessário um livro para explanar todos os tópicos. Este artigo demonstra o potencial dos algoritmos de visão computacional agregados a qualquer dispositivo de videocaptura, pois esses conceitos matemáticos estarão presentes em todos os dispositivos (webcams, celulares, câmeras digitais, filmadoras e outros equipamentos) em curtíssimo prazo. n

Sobre o autor Alessandro Faria é sócio-proprietário da NETi Tecnologia, fundada em junho de 1996 e especializada em desenvolvimento de software e soluções biométricas. Ele é consultor biométrico na tecnologia de reconhecimento facial, atuando na área de tecnologia desde 1986. Leva o Linux a sério desde 1998, desenvolve soluções de código aberto, é membro colaborador da comunidade Viva O Linux, mantenedor da biblioteca de código aberto de vídeo captura, entre outros projetos dos quais faz parte.

Gostou do artigo? Queremos ouvir sua opinião. Fale conosco em cartas@linuxmagazine.com.br Este artigo no nosso site: http://lnm.com.br/article/3169

Mais informações [1] Mimas: http://vision.eng.shu.ac.uk/mediawiki/index.php/Mimas [2] OpenCV: http://sourceforge.net/projects/opencvlibrary/ [3] Biblioteca Bazar: http://cvlab.epfl.ch/software/bazar/index.php [4] Biometria facial na autenticação do usuário root: http://tinyurl.com/y9jrbk9 [5] Projeto ehci: http://code.google.com/p/ehci/ [6] Projeto kmando: http://vision.eng.shu.ac.uk/mmvlwiki/ index.php/Interactive_Camera-Projector_System [7] eViacam: http://eviacam.sourceforge.net/ [8] Movimentos do mouse com a face: http://tinyurl.com/o5pjb4 [9] Uso do eViacam para acessibilidade: http://www.vivaolinux.com.br/ artigo/Acessibilidade-Movimentos-do-mouse-com-a-face-(eViacam) [10] Jogo Levelhead (Realidade Aumentada): http://tinyurl.com/cwhqrc [11] Zebra Barcode Reader: http://tinyurl.com/ybwwnef [12] ARToolKit: Criação de aplicativos de Realidade Aumentada: http://tinyurl.com/y8hmh4r [13] Acessibilidade para tetraplégicos em Li NETi: http://www.youtube.com/watch?v=kuNlXznWRZ4

55


PrePare-se!

sUN TeCH DaYs 2009-2010 Um evento mundial criado para a comunidade global de desenvolvedores e administradores de sistema. Em sua oitava edição, o Sun Tech Days contará com a presença de um convidado especial: James Gosling, conhecido como o ‘Pai do Java’, além dos principais experts da Sun Microsystems. Venha aprender, compartilhar informações, interagir, criar oportunidades, conhecer outros desenvolvedores e, principalmente, participar. Principais temas:

Java • Scripting • MySQL OpenSolaris • NetBeans • RIA’s

Sun Tech Days 8 e 9 de dezembro de 2009 Amcham Business Center | Rua da Paz, 1431 Chácara Santo Antônio - São Paulo - SP Para mais informações, acesse www.suntechdays.com.br, ligue para 11 2532 8926 ou envie um email para techdays@sun.com.

SUN TECH DAYS 2009-2010

A Worldwide Developer Conference


Introdução ao Parrot

PROGRAMAÇÃO

Louro quer programar O Parrot é uma ferramenta para desenvolvimento e execução de novas linguagens de programação, que já conta com Perl 6 e muito provavelmente com a sua linguagem preferida. por Martin Streicher

C

ansado de trabalhar com o mesmo código dia após dia? Sua linguagem de programação é ultrapassada? Você precisa de mais entusiasmo para entrar na infovia? Não sofra mais. O Reino dos Programadores tem de tudo para você. Venha para cá! Temos PHP 5: ótimo para a web, com uma bela aceleração de bytecode. Ou Ruby 1.9: essa belezura recém-lançada, ainda quentinha da fábrica, acaba com seus problemas de nuvem. Quer economizar um dinheirinho? Tente as linguagens certificadas. O preço do Perl 5.8 vai mudar. Reino dos Programadores: onde todo programador é rei. O Reino dos Programadores pode não existir, mas escolher uma linguagem é muito parecido com comprar um carro. Assim como o carro, cada linguagem de programação é feita com um propósito, quer seja utilidade, velocidade ou tamanho. Da mesma maneira, ela pode oferecer 72

recursos de ponta e exóticos. A escolha de uma linguagem também é um investimento significativo, com consequências possivelmente prejudiciais e desastrosas se realizada sem as devidas considerações. Além disso, cada linguagem inclui partes obrigatórias – literais, variáveis, subrotinas e controle de fluxo no lugar de pneus, direção e para-brisas. De fato, a maior parte do trabalho no desenvolvimento de uma nova linguagem é (desculpe o trocadilho) reinventar a roda. O código da linguagem precisa ser decomposto por um parser, organizado em pequenos elementos, aglomerado em declarações, abstraído em árvores sintáticas e, finalmente, interpretado ou convertido em algo executável, tal como bytecodes ou binários. Além do mais, após seu desenvolvimento, a nova linguagem de programação é limitada, a menos que contenha capacidades suplementares, tais como expressões regulares e

interfaces para chamadas de sistema. É possível evitar certo gasto com a utilização de bibliotecas C, como a biblioteca de expressões regulares compatíveis com Perl (PCRE), mas isso também demanda certo esforço. Ironicamente, várias linguagens seguem esse caminho, pois não há muita escolha. No entanto, há exceções: a duradoura iniciativa .NET da Microsoft permite que várias linguagens – C#, Visual Basic, C++ e algumas de código aberto portadas para a plataforma – compartilhem código, pois todas são compiladas para uma linguagem comum de baixo nível, chamada CIL (Common Intermediate Language) [1]. Mas JRuby é uma exceção: essa linguagem executa código Ruby na máquina virtual Java (JVM). Ainda assim, a grande maioria das linguagens de programação permanece isolada. É como tentar colocar um carro dentro de outro.

http://www.linuxmagazine.com.br


Parrot | PROGRAMAÇÃO

Abordagem unificada

Para acelerar o desenvolvimento de novas linguagens, facilitar o compartilhamento de código entre elas e acelerar a execução de linguagens dinâmicas como Perl, Ruby e Python, o grupo de desenvolvimento do Parrot construiu uma máquina virtual e um conjunto de ferramentas para compilar e executar qualquer linguagem. O Parrot [2] foi inicialmente concebido como “motor” do Perl 6, mas foi expandido pois se adaptava a uma vasta classe de códigos. Como consta no site do Parrot, “Teoricamente, é possível escrever uma classe em Perl, transformá-la numa subclasse Python e depois instanciar e utilizar essa subclasse em um programa Tcl”. Como o Parrot é quase uma fábrica de compiladores, ele fornece todas as ferramentas necessárias para converter o código-fonte em um programa funcional: O Parser Grammar Engine (PGE) define a sintaxe de uma linguagem de programação com regras. Uma regra pode definir a sintaxe de uma declaração de atribuição, enquanto outra pode definir a estrutura de uma sub-rotina. O PGE examina a entrada, produz um bloco e tenta combinar o fluxo de blocos com as regras. Uma combinação indica uma frase válida na linguagem; Cada regra, por sua vez, pode chamar uma ou mais ações. Se você está escrevendo uma nova linguagem de programação, sua semântica é expressa em ações. Cada ação transforma uma combinação em uma estrutura de dados independente da linguagem, chamada Parrot Abstract Syntax Tree (PAST). A PAST representa uma declaração como uma árvore, geralmente com operandos como folhas e

Linux Magazine #61 | Dezembro de 2009

Regras if_statement

if

expressão

else

bloco

then

expressão bloco

(

)

end

bloco

print

a<b

else (bloco)

“A less... B

print

“B greater...

Figura 1 Código de uma declaração em C.

operadores – incluindo estruturas de controle – como ramos. De forma cumulativa, o programa como um todo é representado por uma árvore PAST com o nó especial TOP na raiz; A Parrot Intermediate Representation (PIR) pode ser facilmente escrita à mão e é a saída comum

de um compilador Parrot. Ela abstrai alguns detalhes de baixo nível para reduzir o trabalho dos programadores e também dos escritores de compiladores; A Parrot Assembly (PASM) é mais mecânica que a PIR. Pode ser escrita manualmente ou gerada por um compilador, mas

Listagem 1: Regra que define sintaxe 01 rule if_statement { 02 ‘if’ <expression> ‘then’ <block> [‘else’ <else=block>]? ‘end’ 03 {*} 04 }

Blocos

Figura 2 Código agregado em blocos.

73


PROGRAMAÇÃO | Parrot

Fonte

Figura 3 Blocos da figura 2 encaixando-se nas regras.

cada detalhe, como alocação de registros, precisa ser checado; A representação de baixo nível é o Parrot Byte Code (PBC). Embora seja possível vê-lo como código de máquina, ele não é executado no hardware. Em vez disso, o PBC é executado pelo Parrot.

O Parrot pode executar arquivos PBC, PASM, PIR e PAST. A PAST não é adequada à programação manual, mas é ideal para integração entre ferramentas. Normalmente, um compilador tradicional como o onipresente GCC gera uma árvore de sintaxe abstrata que funciona como uma forma intermediária de produzir e aplicar otimizações. Adaptar essa árvore à PAST é simples e, como a PAST é lida pelo Parrot, é fácil conectar um outro compilador ao Parrot. Além desses componentes, o Parrot também fornece alguns nós PAST (pense no nó como um modelo ou objeto) para representar recursos fun-

Listagem 2: Ação associada a uma regra 01 method if_statement($/) { 02 my $cond := $<expression>.ast; 03 my $then := $<block>.ast; 04 my $past := PAST::Op.new( $cond, $then, :pasttype(‘if’), :node($/) ); 05 06 ## se houver uma diretiva else, inclua-a no nó PAST. 07 if $<else> { 08 $past.push( $<else>[0].ast ); 09 } 10 make $past; 11 }

Blocos if_statement

expressão

bloco

else (bloco)

Figura 4 Uma ação prepara os dados associados a uma regra para ser transformados em PAST. Nesta imagem, o if_statement está junto.

74

damentais encontrados em qualquer linguagem de programação. Por exemplo, conceitualmente, o Parrot inclui um nó para if-then-else, uma estrutura presente em todas as linguagens. Para incluir um nó desses na árvore do seu programa, você precisa determinar uma condição, um bloco de código que será executado caso a condição seja verdadeira e, opcionalmente, outro bloco de código que será executado caso a condição seja falsa. O nó if capta a semântica do nó independentemente da sintaxe original usada para declará-lo. Outros nós PAST dedicam-se a outros recursos: uma variável, incluindo escopo e tipo; um loop; e operadores, incluindo aritméticos e chamadas de sub-rotinas. Aí está a verdadeira força do Parrot. Os aspectos da linguagem não precisam ser reinventados, pois ele abstrai cada um, independentemente da sintaxe. No entanto, se uma linguagem possui algum recurso realmente novo, é possível implementar um nó PAST que corresponda à sua semântica. As figuras 1 a 5 ilustram o processo de conversão de uma estrutura if semelhante a C em um nó PAST. A figura 1 mostra o código-fonte; nesta forma, ela é uma sequência de caracteres que pode ou não aderir à sintaxe. A figura 2 mostra o código decomposto em blocos de acordo com as regras do parser. Neste ponto, caracteres individuais não são mais importantes; em vez disso, é o grupo que importa agora. A figura 3 ilustra as regras. Cada uma delas dita uma parte da gramática correta. Quando um grupo de blocos se encaixa numa regra, ele é coletado e formatado em uma regra, outro tipo de amálgama. Cada passo da aglomeração no processo de compilação move o código da sintaxe em direção à semântica. A figura 4 mostra a ação

http://www.linuxmagazine.com.br


Parrot | PROGRAMAÇÃO

da declaração if. Cada amálgama da figura 3 já foi reduzido por sua (sub)ação separada e agora está unido para processamento subsequente. Neste ponto, cada unidade tem seu propósito, mas a lógica da condicional ainda não foi percebida. Na figura 5 vemos a montagem final após a ação da declaração if. O nó PAST captura a intenção e a operação da declaração de uma estrutura de dados. O último passo, que não é mostrado, atravessa o PAST (de cima para baixo e da esquerda para a direita) e gera o código correto. O código carregaria a primeira variável, depois a segunda, e faria a comparação. Esta comparação pode tanto continuar a execução na sequência (com o próximo código, que implementa uma comparação verdadeira, escrevendo “A menor que B”) quanto quebrar a execução com a comparação falsa (escrevendo “B é menor ou igual a A”).

Programação em Parrot A listagem 1 mostra um exemplo concreto do que foi discutido agora. Esse exemplo demonstra a gramática do Squaak, uma linguagem de programação de exemplo incluída no código-fonte do Parrot. A listagem 1 é uma regra que define a sintaxe da declaração if-then-else do Squaak. Uma declaração válida precisa: iniciar com a literal if; de uma expressão, definida em sua própria regra (não mostrada); da palavra-chave then; de um bloco de declarações, também definido em sua própria regra; e da palavra-chave end.

Listagem 3: Programa em PIR 01 .sub main 02 # Define o número de quadrados a somar. 03 .local int maxnum 04 maxnum = 10 05 06 # Vamos usar registradores com nomes. Note que podemos declarar vários 07 # registradores do mesmo tipo em uma linha. 08 .local int i, total, temp 09 total = 0 10 11 # Loop da soma. 12 i = 1 13 loop: 14 temp = i * i 15 total += temp 16 inc i 17 if i <= maxnum goto loop 18 19 # Escreve o resultado. 20 print “A soma dos primeiros “ 21 print maxnum 22 print “ quadrados eh “ 23 print total 24 print “.\n” 25 .end

interrogação, que significa “uma ou zero” ocorrência. Se essa frase aparecer, ela precisa conter a palavrachave else seguida por outro bloco. A notação <else=block> simplesmente atribui um apelido chamado else ao segundo bloco para diferenciá-lo do primeiro. Se essa regra coincidir com o texto, é chamada uma ação no fim, que

PAST node if_statement

$cond

<

a

Esses são os componentes obrigatórios. A frase [‘else’ <else=block>]? é opcional, como mostra o ponto de

Linux Magazine #61 | Dezembro de 2009

é o propósito do estranho marcador {*} no fim da regra. Uma ação é simplesmente uma sub-rotina. Por padrão, o Parrot chama a ação pelo mesmo nome de sua respectiva regra. Além disso, a ação é chamada com argumentos, um argumento por sub-regra. A listagem 2 mostra a ação associada à regra if_statement. Mesmo

b

$then

$else[0]

print

print

“A less...”

“B...”

Figura 5 A declaração if gera um PAST pronto para a otimização e geração de código.

75


PROGRAMAÇÃO | Parrot

sem uma descrição elaborada, seu funcionamento é bem óbvio. Dada uma condição e um bloco para executá-la caso seja verdadeira, o código constrói um PAST para a declaração. Se for fornecido mais

um bloco, ele será unido ao PAST. A declaração final make faz o trabalho duro por você. Tendo em mente a listagem 2, o código a seguir é a ação para uma declaração como x = 10:

method assignment($/) { my $rhs := $<expression>.ast; my $lhs := $<primary>.ast; $lhs.lvalue(1); make PAST::Op.new( $lhs, $rhs, :pasttype(‘bind’), :node($/) );

Quadro 1: Compilação do Parrot Compilar o Parrot é surpreendentemente fácil, supondo que você possua as ferramentas comuns para desenvolvimento de software no seu sistema Linux. Se você tem Perl 5, GCC e Subversion (ou Xcode instalado no seu Mac OS X), o processo todo leva apenas alguns minutos. O primeiro passo é obter código-fonte mais recente com o Subversion: $ svn co \ https://svn.parrot.org/parrot/trunk \ parrot $ cd parrot Em seguida, configure a compilação com o script especial Configure.pl do Parrot. Normalmente, os padrões propostos pelo script funcionam bem. No entanto, se você quiser personalizar, digite perl Configure.pl --help para examinar a lista de opções. A maioria delas são opções gerais, como a --prefix, de instalação, mas muitas afetam recursos do Parrot, como qual estratégia de coleta de lixo usar. $ perl Configure.pl Parrot Version 1.2.0 Configure 2.0 Copyright (C) 2001-2009, Parrot Foundation. Hello, I’m Configure. My job is to poke and prod your system to figure out how to build Parrot. The process is completely automated, unless you passed in the --ask flag on the command line, in which case I’ll prompt you for a few pieces of info. Since you’re running this program, you obviously have Perl 5--I’ll be pulling some defaults from its configuration. ... Now you can use make to build your Parrot. After that, you can use make test to run the test suite. Para prosseguir, compile o software e faça sua verificação para garantir a estabilidade: $ make $ make test Supondo que o teste tenha sucesso, instale as ferramentas do Parrot no sistema: $ sudo make install Por padrão, o Parrot será instalado em /usr/local/. Para instalá-lo no seu diretório home, use perl Configure.pl --prefix=$HOME/parrot na configuração. A instalação adiciona oito utilitários ao sistema. O mais importante é o parrot, a máquina virtual do Parrot. Para testá-lo, use as listagens 3 e 4 e os comandos discutidos anteriormente. Com o código-fonte do Parrot já baixado, mantenha-o atualizado com svn update. Mas atenção: use make realclean antes de qualquer atualização. $ make realclean $ svn update Sem usar o realclean, o Parrot pode não funcionar ou exibir falhas estranhas e irreproduzíveis.

76

http://www.linuxmagazine.com.br


Parrot | PROGRAMAÇÃO

A listagem 3 mostra um exemplo de programa PIR retirado do site do Parrot. O aplicativo soma o quadrado dos números de 1 a 10. Nesse código, a identação é usada para facilitar a leitura, não pela semântica (em outras palavras, o espaço em branco não é ativo). A listagem 3 lembra a linguagem assembly, com algumas exceções que são conveniências do PIR. Especificamente, temp = i * i equivale a mul temp, i, i. O código .local int i, total, temp utiliza nomes mais amigáveis no lugar de registradores fixos para as três variáveis, e usa .local para especificar um escopo. O operador de atribuição (=) é um apelido para set, e goto também é uma conveniência. É equivalente a le i, maxnum, loop. Para executar o código da listagem 3, é possível tanto interpretar o código PIR quanto compilar o PIR para PBC e executar o código resultante (confira o quadro 1). $ parrot sum.pir A soma dos primeiros 10 quadrados eh 385. $ parrot -o sum.pbc sum.pir $ parrot sum.pbc A soma dos primeiros 10 quadrados eh 385.

Listagem 4: Fonte PASM 01 main: 02 set I0, 10 03 set I1, 0 04 set I3, 1 05 loop: 06 mul I2, I3, I3 07 add I1, I2 08 inc I3 09 le I3, I0, loop 10 print “A soma dos primeiros “ 11 print I0 12 print “ quadrados eh “ 13 print I1 14 print “.\n” 15 returncc

Ave tagarela

O Parrot ganhou esse nome por causa de sua habilidade de falar várias línguas [3]. O Rakudo Perl 6 [4] é uma implementação de Perl 6 no Parrot. O Cardinal [5] é uma versão de Ruby 1.0, e o Pipp [6] é uma versão de PHP. Outros projetos estão levando Java, Lua e Smalltalk para o Parrot e há mais 40 projetos listados no seu índice.

A última versão do Parrot é a 1.2.0. O programa é estável e pode ser usado tanto como linguagem de programação quanto para pesquisa e desenvolvimento de máquinas virtuais. Se você precisa de uma linguagem de domínio específico ou deseja estender uma linguagem já existente, experimente o Perl 6 por enquanto. Tire o Parrot de seu poleiro e leveo para sua máquina. n

Mais informações [1] Common Intermediate Language (CIL) na Wikipédia (em inglês): http://en.wikipedia.org/wiki/Common_Intermediate_Language [2] Parrot: http://www.parrot.org/

O Parrot pode produzir fonte PASM, caso você tenha curiosidade de saber como o PIR traduz. Para gerar o PASM, substitua -o arquivo. pbc por -o arquivo.pasm:

[4] Rakudo Perl 6 no Parrot: http://www.rakudo.org/

$ parrot -o sum.pasm sum.pir

[5] Cardinal, Ruby para Parrot: http://github.com/cardinal/cardinal/tree/master

[3] Implementações de Linguagens baseadas no Parrot: http://www.parrot.org/languages/

[6] Pipp, PHP para Parrot: http://wiki.github.com/bschmalhofer/pipp/

A listagem 4 mostra o equivalente PASM da listagem 3. O Parrot também pode executar o PASM diretamente:

Gostou do artigo?

$ parrot sum.pasm

Queremos ouvir sua opinião. Fale conosco em cartas@linuxmagazine.com.br

A soma dos primeiros 10 quadrados é 385.

Linux Magazine #61 | Dezembro de 2009

Este artigo no nosso site: http://lnm.com.br/article/3158

77


e n i z a g a M x u n i L a r e t Quer

? a s a c a u s m e s e s e m s o dos

to

09/2009

AMADOR p.30 DE HACKER A PROGR qualidade Maddog explica a de software

p.26 CRESCEU NA CRISE enfrentou Red Hat relata como e venceu a crise

ARE p.22 PATENTES DE SOFTW ente Temporariam EUA suspensas nos

2009 # 58 Setembro

OR p.30

PATENTES

.BR

DE TI

Taurion mais com Para rão aprende

p.28 LINUX PARK 2008 Alegre a temporada Iniciada em Porto Park de 2008 de seminários Linux

de invasão

R$ 13,90 € 7,50

PROFISSIONAL

DE TI

GOVERNANÇA COM

p.47

p.18 ADE 2.0 A: UPGR ar o sistema de atualiz Mas o SEGURANÇ certo fazem. O jeito todos ando. como não é está melhor cenário

p.64

Linux p.70 O: AIR no o Brisa A EDIÇÃ » Adobe é fácil com » UPnP ÉM NESTso p.53 de proces p.58 VEJA TAMB adores artigo

p.67

APACHE! Apache ET NO ASP.N ono, seu ente. l mod_m.NET nativam REDEoS: versáti do

» Escalon laris, sexto » OpenSo

A REVISTA DO

PROFISSIONAL

DE TI

Com conteú servir pode

OM.BR

ZINE.C

MAGA

E UTILIZE AS SEJA UM BOM GESTOR ADOTADAS E MELHORES PRÁTICAS PROFISSIONAIS PELOS RECOMENDADAS NESSA ÁREA p.36 MAIS EXPERIENTES

LINUX

WWW.

» ITIL na prática v3. p.44 » Novidades do ITIL p.39

p.69

VEJA TAMBÉM NESTA

EDIÇÃO:

com o SARG p.60 » Relatórios do Squid on Rails p.74 conheça o JRuby » Java, Ruby e Rails:

preço vale a pena?

REDES: IPV6 p.64

da Conheça as vantagens nova versão do Internet que Protocol, e veja por é difícil adotá-la

GCC 4.3? p.58 » Benchmarks do p.46 de dados com a Libferris » Becape de bancos NIS e DHCP p.52 » LPI nível 2: Servidores

WWW.LINUXMAGAZINE.COM.BR

BASH

p.34

STRACE

OPENSOLARIS

PELICANHPC

10/08/09 17:36

NESTA EDIÇÃO:p.16 VEJA TAMBÉM caçõe s do mercado

» Conheça as certifi nunca é seguro p.18 » Kurt Seifried: Wi-fi p.51 tação de partições » OpenSolaris: forma as mudanças? p.72 » Python 3.0: quais

AZINE.COM.BR

WWW.LINUXMAG

ADOBE AIR

e ganhe + 1 ano grátis Você recebe mais 12 exemplares, totalizando 3 anos de assinatura.

OPENSOLARIS

Assine 2 anos de Linux Magazine

UPNP

6x de R$ 29,80 no cartão

ESCALONADORES

e ganhe + 6 meses grátis Você recebe em sua casa 18 exemplares: 12 edições normais + 6 edições da promoção.

. APRENDA É UM BOM ATAQUE A MELHOR DEFESA COMO S PARA ENTENDER A INVADIR SISTEMA ES. p.33 SISTEMAS E RED DEFENDER SEUS

UPGRADE

Assine 1 ano de Linux Magazine

MOD_MONO

a Distribua o Samb ibilidade e obtenha alta dispon . e melhor desempenho

LIDS

RIBUÍDO p.58 REDES: SAMBAporDIST várias máquinas

20:47

SÃO

DOTGNU

ICAÇÕES      PYTHON 3    CERTIF

STRACE

Sua tranquilo. garantem seu sono de medidas que

INVA VISUALIZAÇÃO DE

EB      APLICAÇÕES W

OPEN SOLARIS

CHROME OS

CRIPTOGRAFIA

AULA DE INVASÃO

FREEIPA

com o App Engine

» Programe no Google » SEO na fonte p.41

00059

resolução Com o DNSSEC, a de nomes fica protegida seu de ataques. Mas

9 9 771806 94200

SEGURANÇA: DNSSEC

INVASÃO

JAIL SSH

OPENSOLARIS

profissionais » O que dizem os certificados p.24 Quais as » Cobit, CMMI, ITIL. p.36 melhores práticas?

DES p.61 » Seu Apache aguenta? p.46 REDES: IDENTIDA ades de colaborativo p.51 gerenciar identid

WWW.LINUX

p.41

invasão

#59 10/09

A REVISTA DO

A PODEM AJUDÁ-LO MENTAS DE SEO TÉCNICAS E FERRA NA INTERNET. p.33 SONHADO LUCRO CONSEGUIR O TÃO

ira da era digital. você a nova fronte m.br/cloud. a locaweb traz para o Cloud Computing em locaweb.co sobre assista ao vídeo MAGAZINE.COM.BR

p.34

de uma » Aula com LIDS gráfico » Mapa prova de invasão à » Linux

#44 07/08

CMS Use o FreeIPA para . » e muito mais prática forma centralizada ARE E BARATO. O SOFTW GE BOM, BONITO E STORAPROPORCIONA O MELHOR RESULTADO memóriaRANÇA: PEN DRIV LIVRE processamento, SEGU com , POR ISSO. p.31 Linux p.66 or SEM COBRAR NADA CRIPTOGRAFADO administrar seu servid Mantenha para perder. total de omia fáceis . auton Pen drives são r$ 59,00/mês RAID p.32 ÃO: Cloud mini: tenha o máxima. tindo ções. A partir de s que aceleram o seus dados sob proteçã TAMBÉM NESTA EDIÇ para suas aplica quando quiser, garan » Truques simple BD p.40VEJA e disco exclusivos Linux ou Windows 0/mês. r p.58 salvaç p.64ão para , aRIS s de seu servidor SOLA partir de r$ 149,0 » Bash 4: ainda melho OPENached p.74 ! p.68 » Memc o sob demanda. A ajuste as capacidade o Bacula p.45 da com o Strace com veja da série, DO EXCH artigoional OTAMB NESTA EDIÇ»ÃO: p profiss Cloud server: de ponta e cresciment » Depuração profun ÉMANGE No quinto Backu a sua p.32 SUBS adaTITUT dedic VEJA REDE te S: are, desempenho de Cezar Taurion Sun trata os amen todos da hardw p.46 a visão enta de inteir na Agedu sistem ade OS : o e implem como » Chrom disponibilid are Zarafa arquivos velhos a em uma nuvem groupwíficas . » Adeus nge p.48 e lógicos. e pode fácil com o PelicanHPC esO espec sos em larga escal dispositivos físicos s para necessidad os recursos do MS»Excha conte com recur Cluster HPC muito k. no OpenSolaris p.54 e conheça os plano private Cloud: Outloo com s rcial ções cliente come e s aplica » Pacote servir suas eaté nossa equip hospedar seu site bugs p.68 empresa. Consulte dos para m fi ra o , strutu Strace » 04/09/09 melhor infrae R C# p.72 OM.B em ZINE.C aberto ng loCaweb: a » Padrão CAÇÕES WEB p.66 WWW.LINUXMAGA Cloud Computi . lista SEGURANÇA: APLI e tecnologia de ponta segura? Confira uma alta performance aplicação web é

LM59_capa.indd

DA

E. APREN ATAQU COMO BOM DER É UM ENTEN R DEFESA AS PARA REDES. p.33 A MELHO R SISTEM AS E A INVADI SEUS SISTEM DER DEFEN

CEZAR TAURION p.34 O Código Aberto como incentivo à inovação

00044

p.26 CASE ALFRESCO seus A Construcap agilizou projetos com o Alfresco

SL

as

SL para s e empres usuário

# 59

ZARAFA

SMACK

RAID SAMBA BACKUP

SL mostra p.30 isso 40 ANOS como as explica empres Maddog de das a fragilida

UNIX p.26 I 2009 s, CONSEG governo

e

LIFERAY

VIRTUALIZAÇÃO

DISPONÍVEL, MAS A ESTAR SEMPRE DEFENDA-SE SEU SERVIÇO PRECIS AMEAÇA CONSTANTE. ISSO SIGNIFICA UMA p.33 MAIS ADEQUADAS COM AS TÉCNICAS

IBUÍDO   SAMBA DISTR     MEMCACHED     BACKUP  BACULA RAID    SAMBA

APACHE

AMEAÇA NA NUVEM

NUVEM

PROFISSIONAL

2009 # 59 Outubro

ADE p.32tes de TI NA FACULD, estudan

R$ 14,90 € 7,50

idade

ZINE.COM

UXMAGA

WWW.LIN

A REVISTA DO

Wi-fi o de partições » Conheça ? p.72 Seifried: formataçã » Kurt is: as mudanças » OpenSolar 3.0: quais » Python

UÍDO p.58 DISTRIB SAMBApor várias máquinas

Distribua alta disponibil ho. e obtenha desempen e melhor

, SL para governos resas usuários e emp

TI estudantes de Para Taurion, com SL aprenderão mais

R$ 14,90 € 7,50

: EDIÇÃO NESTAdo mercado p.16 es p.18 é seguro p.51 VEJA TAMBÉM as certificaçõ nunca

Sua aplicação que garantem de medidas

REDES: o Samba

AMEAÇA NA ou vulnerável? p.34 » Virtualização: segura p.40 do kernel: Smack » Proteção dentro com o Jailkit p.44 » Usuários em jaulas

ÕES WEB uma lista Confira NÇA: APLICAÇ segura? sono tranquilo. seu SEGURA web é

09 9 771806 9420

E.COM.BR XMAGAZIN WWW.LINU

p.66

DE TI

# 60

PROFISSIONAL APP ENGINE

# 57

A REVISTA DO

mostra ica como isso Maddog expl das empresas a fragilidade

#60 11/09

E

O SOFTWAR O E BARATO. BONITO MELHOR RESULTAD BOM, O p.31 IONA STORAGE POR ISSO. PROPORC NADA LIVRE p.32 o RAID SEM COBRAR p.45 que aceleram simples l com o Bacula p.40 » Truques profissiona para BD » Backup d, a salvação » Memcache

EDIÇÃO:

NESTA p.46 p.48 Agedu TAMBÉM velhos: o PelicanHPC arquivos fácil com » Adeus HPC muito p.54 » Cluster no OpenSolarisp.68 bugs » Pacotes o fim dos C# p.72 » Strace, aberto em » Padrão

VEJA

R$ 14,90 € 7,50

Pen drives sob proteção dados seus

SL NA FACULDAD

UNIX 40 ANOS p.30

CONSEGI 2009 p.26

Linux Magazin

PEN DRIVE NÇA: p.66 SEGURA RAFADOde perder. Mantenha CRIPTOGsão fáceis máxima.

#57 08/09

Use o centralizada forma

RAID A SAMB UP BACK

00057

p.61

ADESidentidades de IDENTID prática. para gerenciarmais REDES: e mutio FreeIPA

live

Londrina elogios A Unimed tem e só Linux

GOOGLE

Smack o: segura do kernel: Jailkit p.44 » Virtualizaçã dentro com o » Proteção em jaulas » Usuários

SEO

ne

, MAS E DISPONÍVEL . DEFENDA-S SEMPRE ESTAR PRECISAAMEAÇA CONSTANTE S p.33 ADEQUADA SEU SERVIÇO UMA MAIS SIGNIFICA p.34 ISSO TÉCNICAS ou vulnerável?p.40 COM AS

PROF

adotou

00060

A REVISTA DO

p.26

9 771806 942009

Linux Magazi

Com loud ComputingEAÇA NA AM e flexibilidade utonomia total NUVEM ção do servidor. na administra

E p.32

TI ISSIONAL DE NA UNIMED

9 771806 942009

» Bash profunda de Cezar Taurion visão » Depuração OS na » Chrome

IO P.28

O DESPERDÍC por que mostra pagos ser Maddog devem CDs

CONTRA

LINUX

10/2009

No quintosistema da lógicos. e o como s físicos dispositivo

des SOURCE OPEN oportunidamento Novas o amadureci com

R$ 14,90 € 7,50

veja LARIS os OPENSOartigo do curso, Sun trata

INE.COM.

UXMAGAZ

WWW.LIN

2009 # 60 Novembro

p.30 MADUROque vêm

#58 09/09

p.64

GE! p.68 DO EXCHAN

UTO a todos SUBSTIT implemente pode Zarafa Exchange O groupware do MS Outlook. os recursosclientes BR até servir

REDES:

nidade Novas oportu recimento com o amadu

por que live Maddog mostra pagos CDs devem ser

00058

EDIÇÃO: NESTA p.58 p.74 melhor Strace VEJA TAMBÉM p.32 com o 4: ainda

kwarup. com

com no Google fonte p.41

» Programe » SEO na aguenta? p.46 Apache » Seu

RO p.30 OPEN SOURCE MADU s que vêm

RDÍCIO P.28

CONTRA O DESPE

p.26

na adotou A Unimed Londri elogios Linux e só tem 2009 # 57 Agosto

Linux Magazine

p.32 abre E O SL CRISE econômica o SL A criseespaço para mais

LINUX NA UNIMED

9 771806 942009

A AJUDÁ-LO p.33 SEO PODEM TAS DE NA INTERNET. LUCRO E FERRAMEN SONHADO TÉCNICAS O TÃO p.34 Engine CONSEGUIR o App

# 58

p.30

CRISE E O SL p.32 abre A crise econômica o SL mais espaço para

11/2009

Linux Magazine

08/2009

O DE CÓDIGO por que REUTILIZAÇÃ explicaa roda Maddog não reinventar

A PROGRAMAD a qualidade DE HACKER explica Maddog de software

p.26 NA CRISE enfrentou CRESCEUrelata como Red Hat a crise e venceu

p.22

ente EUA

CÓDIGO p.30 REUTILIZAÇÃO DE que Maddog explica por não reinventar a roda

SL E ESCOLHAS p.26 liberdade de “Liberdade não é Stallman escolha”, afirma de p.26 liberdade não é Stallman SL E ESCOLHAS “Liberdadeafirma escolha”,

DE SOFTWARE

nos Temporariam suspensas

» Aula de invasão p.34 invasão p.41 » Mapa gráfico de uma são com LIDS p.47 » Linux à prova de inva

RADE 2.0 p.18 SEGURANÇA: UPG lizar o sistema O jeito certo de atua s fazem. Mas o não é como todo horando. cenário está mel

T NO APACHE! p.67 REDES: ASP.NE_mo no, seu Apache Com o versátil mod . .NET nativamente pode servir conteúdo R

AGAZINE.COM.B

WWW.LINUXM

1

6x de R$ 59,60 no cartão

Acesse agora o site: www.linuxmagazine.com.br

NESTA EDIÇÃO: » Adobe AIR no Linux p.64 VEJA TAMBÉM o Brisa p.70 de processo p.53 » Escalonadores o artigo p.58 » OpenSolaris, sext

» UPnP é fácil com

24/09/09 15:23


Linux.local

SERVIÇOS

O maior diretório de empresas que oferecem produtos, soluções e serviços em Linux e Software Livre, organizado por Estado. Sentiu falta do nome de sua empresa aqui? Entre em contato com a gente: 11 4082-1300 ou anuncios@linuxmagazine.com.br

Fornecedor de Hardware = 1 Redes e Telefonia / PBX = 2 Integrador de Soluções = 3 Literatura / Editora = 4 Fornecedor de Software = 5 Consultoria / Treinamento = 6

Empresa

Cidade

Endereço

Telefone

Web

1 2 3 4 5 6

71 4062-8688

www.imtech.com.br

4 4

4 4

www.f13.com.br

4 4

4 4

Bahia IMTECH

Salvador

Av. Antonio Carlos Magalhaes, 846 – Edifício MaxCenter – Sala 337 – CEP 41825-000

F13 Tecnologia

Fortaleza

Rua Padre Valdevino, 526 – Centro

Nettion Tecnologia e Segurança da Informação

Fortaleza

Av. Oliveira Paiva, 941, Cidade dos Funcionários – CEP 60822-130 85 3878-1900

Linux Shopp

Vila Velha

Rua São Simão (Correspondência), 18 – CEP: 29113-120

27 3082-0932

www.linuxshopp.com.br

Megawork Consultoria e Sistemas

Vitória

Rua Chapot Presvot, 389 – Praia do Canto – CEP: 29055-410 sl 201, 202

27 3315-2370

www.megawork.com.br

4

4 4

Spirit Linux

Vitória

Rua Marins Alvarino, 150 – CEP: 29047-660

27 3227-5543

www.spiritlinux.com.br

4

4 4

62 3232-9333

www.3way.com.br

4 4 4

4 4

Ceará 85 3252-3836

www.nettion.com.br

4 4

4

Espírito Santo 4 4

4 4

Goiás 3WAY Networks

Goiânia

Av. Quarta Radial,1952. Setor Pedro Ludovico – CEP.: 74830-130

Minas Gerais Instituto Online

Belo Horizonte

Av. Bias Fortes, 932, Sala 204 – CEP: 30170-011

31 3224-7920

www.institutoonline.com.br

Linux Place

Belo Horizonte

Rua do Ouro, 136, Sala 301 – Serra – CEP: 30220-000

31 3284-0575

corporate.linuxplace.com.br

4 4 4

4 4 4

Microhard

Belo Horizonte

Rua República da Argentina, 520 – Sion – CEP: 30315-490

31 3281-5522

www.microhard.com.br

4 4 4

4 4

TurboSite

Belo Horizonte

Rua Paraíba, 966, Sala 303 – Savassi – CEP: 30130-141

0800 702-9004

www.turbosite.com.br

4

4 4

iSolve

Curitiba

Av. Cândido de Abreu, 526, Cj. 1206B – CEP: 80530-000

41 252-2977

www.isolve.com.br

Mandriva Conectiva

Curitiba

Rua Tocantins, 89 – Cristo Rei – CEP: 80050-430

41 3360-2600

www.mandriva.com.br

Telway Tecnologia

Curitiba

Rua Francisco Rocha 1830/71

41 3203-0375

www.telway.com.br

81 3223-8348

www.fuctura.com.br

Paraná 4 4

4

4 4 4 4 4 4

Pernambuco Fuctura Tecnologia

Recife

Rua Nicarágua, 159 – Espinheiro – CEP: 52020-190

4

4

Rio de Janeiro Múltipla Tecnologia da Informação Rio de Janeiro

Av. Rio Branco, 37, 14° andar – CEP: 20090-003

21 2203-2622

www.multipla-ti.com.br

NSI Training

Rio de Janeiro

Rua Araújo Porto Alegre, 71, 4º andar Centro – CEP: 20030-012

21 2220-7055

www.nsi.com.br

4

4

Open IT

Rio de Janeiro

Rua do Mercado, 34, Sl, 402 – Centro – CEP: 20010-120

21 2508-9103

www.openit.com.br

4

4

Unipi Tecnologias

Campos dos Goytacazes

Av. Alberto Torres, 303, 1ºandar – Centro – CEP: 28035-581

22 2725-1041

www.unipi.com.br

4up Soluções Corporativas

Novo Hamburgo

Pso. Calçadão Osvaldo Cruz, 54 sl. 301 CEP: 93510-015

51 3581-4383

www.4up.com.br

Definitiva Informática

Novo Hamburgo

Rua General Osório, 402 - Hamburgo Velho

51 3594 3140

www.definitiva.com.br

Solis

Lajeado

Av. 7 de Setembro, 184, sala 401 – Bairro Moinhos CEP: 95900-000

51 3714-6653

www.solis.coop.br

4

4

4 4

4 4 4 4

Rio Grande do Sul 4 4

4 4

4

4 4

4

4 4 4 4 4

DualCon

Novo Hamburgo

Rua Joaquim Pedro Soares, 1099, Sl. 305 – Centro

51 3593-5437

www.dualcon.com.br

4

4

Datarecover

Porto Alegre

Av. Carlos Gomes, 403, Sala 908, Centro Comercial Atrium Center – Bela Vista – CEP: 90480-003

51 3018-1200

www.datarecover.com.br

4

4

LM2 Consulting

Porto Alegre

Rua Germano Petersen Junior, 101-Sl 202 – Higienópolis – CEP: 90540-140

51 3018-1007

www.lm2.com.br

4 4

4

4 4

Lnx-IT Informação e Tecnologia Porto Alegre

Av. Venâncio Aires, 1137 – Rio Branco – CEP: 90.040.193

51 3331-1446

www.lnx-it.inf.br

4

4

4 4

Plugin

Av. Júlio de Castilhos, 132, 11º andar Centro – CEP: 90030-130

51 4003-1001

www.plugin.com.br

4

4

4

Porto Alegre

TeHospedo

Porto Alegre

Rua dos Andradas, 1234/610 – Centro – CEP: 90020-008

51 3286-3799

www.tehospedo.com.br

4 4

Propus Informática

Porto Alegre

Rua Santa Rita, 282 – CEP: 90220-220

51 3024-3568

www.propus.com.br

4 4 4

4 4

São Paulo Ws Host

Arthur Nogueira

Rua Jerere, 36 – Vista Alegre – CEP: 13280-000

19 3846-1137

www.wshost.com.br

4

DigiVoice

Barueri

Al. Juruá, 159, Térreo – Alphaville – CEP: 06455-010

11 4195-2557

www.digivoice.com.br

4 4 4

Dextra Sistemas

Campinas

Insigne Free Software do Brasil Campinas

4 4 4

Rua Antônio Paioli, 320 – Pq. das Universidades – CEP: 13086-045 19 3256-6722

www.dextra.com.br

4

4 4

Av. Andrades Neves, 1579 – Castelo – CEP: 13070-001

www.insignesoftware.com

4

4 4

19 3213-2100

Microcamp

Campinas

Av. Thomaz Alves, 20 – Centro – CEP: 13010-160

19 3236-1915

www.microcamp.com.br

PC2 Consultoria em Software Livre

Carapicuiba

Rua Edeia, 500 - CEP: 06350-080

11 3213-6388

www.pc2consultoria.com

14 3413-1137

Epopéia Informática

Marília

Rua Goiás, 392 – Bairro Cascata – CEP: 17509-140

Redentor

Osasco

Rua Costante Piovan, 150 – Jd. Três Montanhas – CEP: 06263-270 11 2106-9392

www.redentor.ind.br

Go-Global

Santana de Parnaíba

Av. Yojiro Takaoca, 4384, Ed. Shopping Service, Cj. 1013 – CEP: 06541-038

11 2173-4211

www.go-global.com.br

AW2NET

Santo André

Rua Edson Soares, 59 – CEP: 09760-350

11 4990-0065

www.aw2net.com.br

78

4

4 4

4 4

www.epopeia.com.br

4 4 4 4

4 4 4 4

http://www.linuxmagazine.com.br


Linux.local | SERVIÇOS

Empresa

Cidade

Endereço

Telefone

Web

1 2 3 4 5 6

São Paulo (continuação) Async Open Source

São Carlos

Rua Orlando Damiano, 2212 – CEP 13560-450

16 3376-0125

www.async.com.br

4

Delix Internet

São José do Rio Preto

Rua Voluntário de São Paulo, 3066 9º – Centro – CEP: 15015-909

11 4062-9889

www.delixhosting.com.br

4

2MI Tecnologia e Informação

São Paulo

Rua Franco Alfano, 262 – CEP: 5730-010

11 4203-3937

www.2mi.com.br

4Linux

São Paulo

Rua Teixeira da Silva, 660, 6º andar – CEP: 04002-031

11 2125-4747

www.4linux.com.br

4 4 4

4

4 4

4 4 4 4

A Casa do Linux

São Paulo

Al. Jaú, 490 – Jd. Paulista – CEP: 01420-000

11 3549-5151

www.acasadolinux.com.br

4

4 4

Accenture do Brasil Ltda.

São Paulo

Rua Alexandre Dumas, 2051 – Chácara Santo Antônio – CEP: 04717-004

11 5188-3000

www.accenture.com.br

4

4 4

ACR Informática

São Paulo

Rua Lincoln de Albuquerque, 65 – Perdizes – CEP: 05004-010

11 3873-1515

www.acrinformatica.com.br

4

4

Agit Informática

São Paulo

Rua Major Quedinho, 111, 5º andar, Cj. 508 – Centro – CEP: 01050-030

11 3255-4945

www.agit.com.br

4 4

4

Altbit - Informática Comércio e Serviços LTDA.

São Paulo

Av. Francisco Matarazzo, 229, Cj. 57 – Água Branca – CEP 05001-000

11 3879-9390

www.altbit.com.br

4

4

4 4

AS2M -WPC Consultoria

São Paulo

Rua Três Rios, 131, Cj. 61A – Bom Retiro – CEP: 01123-001

11 3228-3709

www.wpc.com.br

Big Host

São Paulo

Rua Dr. Miguel Couto, 58 – Centro – CEP: 01008-010

11 3033-4000

www.bighost.com.br

4

4 4

Blanes

São Paulo

Rua André Ampére, 153 – 9º andar – Conj. 91 CEP: 04562-907 (próx. Av. L. C. Berrini)

11 5506-9677

www.blanes.com.br

4 4 4

4 4

4

4 4

Bull Ltda

São Paulo

Av. Angélica, 903 – CEP: 01227-901

11 3824-4700

www.bull.com

4

4

4 4

Commlogik do Brasil Ltda.

São Paulo

Av. das Nações Unidas, 13.797, Bloco II, 6º andar – Morumbi – CEP: 04794-000

11 5503-1011

www.commlogik.com.br

4 4 4

4 4

Computer Consulting Projeto e Consultoria Ltda.

São Paulo

Rua Caramuru, 417, Cj. 23 – Saúde – CEP: 04138-001

11 5071-7988

www.computerconsulting.com.br

4

4 4

Consist Consultoria, Sistemas e Representações Ltda.

São Paulo

Av. das Nações Unidas, 20.727 – CEP: 04795-100

11 5693-7210

www.consist.com.br

Domínio Tecnologia

São Paulo

Rua das Carnaubeiras, 98 – Metrô Conceição – CEP: 04343-080

11 5017-0040

www.dominiotecnologia.com.br

EDS do Brasil

São Paulo

Av. Pres. Juscelino Kubistcheck, 1830 Torre 4 - 5º andar

11 3707-4100

www.eds.com

Ética Tecnologia

São Paulo

Rua Nova York, 945 – Brooklin – CEP:04560-002

11 5093-3025

www.etica.net

Getronics ICT Solutions and Services

São Paulo

Rua Verbo Divino, 1207 – CEP: 04719-002

11 5187-2700

www.getronics.com/br

4

4 4 4 4 4

4 4 4

4

4

4

4 4

4

4 4

Hewlett-Packard Brasil Ltda.

São Paulo

Av. das Nações Unidas, 12.901, 25º andar – CEP: 04578-000

11 5502-5000

www.hp.com.br

4

4 4 4 4

IBM Brasil Ltda.

São Paulo

Rua Tutóia, 1157 – CEP: 04007-900

0800-7074 837

www.br.ibm.com

4

4

4 4

iFractal

São Paulo

Rua Fiação da Saúde, 145, Conj. 66 – Saúde – CEP: 04144-020

11 5078-6618

www.ifractal.com.br

4

4 4

Integral

São Paulo

Rua Dr. Gentil Leite Martins, 295, 2º andar Jd. Prudência – CEP: 04648-001

11 5545-2600

www.integral.com.br

4 4 4 4

Itautec S.A.

São Paulo

Av. Paulista, 2028 – CEP: 01310-200

11 3543-5543

www.itautec.com.br

Kenos Consultoria

São Paulo

Av: Fagundes Filho, 134, Conj 53 – CEP: 04304-000

11 40821305

www.kenos.com.br

Konsultex Informatica

São Paulo

Av. Dr. Guilherme Dumont Villares, 1410 6 andar, CEP: 05640-003

11 3773-9009

www.konsultex.com.br

São Paulo

Av. Dr. Lino de Moraes Leme, 185 – CEP: 04360-001

11 5034-4191

www.komputer.com.br

4 4

Linux Mall

São Paulo

Rua Machado Bittencourt, 190, Cj. 2087 – CEP: 04044-001

11 5087-9441

www.linuxmall.com.br

São Paulo

Al. Santos, 1202 – Cerqueira César – CEP: 01418-100

11 3266-2988

www.temporeal.com.br

Locasite Internet Service

São Paulo

Av. Brigadeiro Luiz Antonio, 2482, 3º andar – Centro – CEP: 01402-000

11 2121-4555

www.locasite.com.br

Microsiga

São Paulo

Av. Braz Leme, 1631 – CEP: 02511-000

11 3981-7200

www.microsiga.com.br

Locaweb

São Paulo

Av. Pres. Juscelino Kubitschek, 1.830 – Torre 4 Vila Nova Conceição – CEP: 04543-900

11 3544-0500

www.locaweb.com.br

Novatec Editora Ltda.

São Paulo

Rua Luis Antonio dos Santos, 110 – Santana – CEP: 02460-000

11 6979-0071

www.novateceditora.com.br

Novell América Latina

São Paulo

Rua Funchal, 418 – Vila Olímpia

11 3345-3900

www.novell.com/brasil

Oracle do Brasil Sistemas Ltda. São Paulo

Av. Alfredo Egídio de Souza Aranha, 100 – Bloco B – 5º andar – CEP: 04726-170

11 5189-3000

www.oracle.com.br

Proelbra Tecnologia Eletrônica Ltda.

São Paulo

Av. Rouxinol, 1.041, Cj. 204, 2º andar Moema – CEP: 04516-001

11 5052- 8044

www.proelbra.com.br

Provider

São Paulo

Av. Cardoso de Melo, 1450, 6º andar – Vila Olímpia – CEP: 04548-005

11 2165-6500

Red Hat Brasil

São Paulo

Av. Brigadeiro Faria Lima, 3900, Cj 81 8º andar Itaim Bibi – CEP: 04538-132

11 3529-6000

4 4 4 4

Linux Komputer Informática Livraria Tempo Real

4

4

4 4

4

4 4 4 4 4 4 4

4

4 4 4

4 4

4 4 4 4 4

4 4 4 4

4

4

4

www.e-provider.com.br

4

4 4

www.redhat.com.br

4

4 4

Samurai Projetos Especiais

São Paulo

Rua Barão do Triunfo, 550, 6º andar – CEP: 04602-002

11 5097-3014

www.samurai.com.br

4

4 4

SAP Brasil

São Paulo

Av. das Nações Unidas, 11.541, 16º andar – CEP: 04578-000

11 5503-2400

www.sap.com.br

4

4 4

Savant Tecnologia

São Paulo

Av. Brig. Luis Antonio, 2344 cj 13 – Jd. Paulista – CEP:01402-000

11 2925-8724

www.savant.com.br

Simples Consultoria

São Paulo

Rua Mourato Coelho, 299, Cj. 02 Pinheiros – CEP: 05417-010

11 3898-2121

www.simplesconsultoria.com.br

Smart Solutions

São Paulo

Av. Jabaquara, 2940 cj 56 e 57

11 5052-5958

www.smart-tec.com.br

Snap IT

São Paulo

Rua João Gomes Junior, 131 – Jd. Bonfiglioli – CEP: 05299-000

11 3731-8008

www.snapit.com.br

Stefanini IT Solutions

São Paulo

Av. Brig. Faria Lima, 1355, 19º – Pinheiros – CEP: 01452-919

11 3039-2000

www.stefanini.com.br

Sun Microsystems

São Paulo

Rua Alexandre Dumas, 2016 – CEP: 04717-004

11 5187-2100

www.sun.com.br

Sybase Brasil

São Paulo

Av. Juscelino Kubitschek, 510, 9º andar Itaim Bibi – CEP: 04543-000 11 3046-7388

www.sybase.com.br

The Source

São Paulo

Rua Marquês de Abrantes, 203 – Chácara Tatuapé – CEP: 03060-020

11 6698-5090

www.thesource.com.br

Unisys Brasil Ltda.

São Paulo

R. Alexandre Dumas 1658 – 6º, 7º e 8º andares – Chácara Santo Antônio – CEP: 04717-004

11 3305-7000

www.unisys.com.br

4 4 4

4 4

4

4 4

4 4

4 4

4

4 4

4

4

4 4

4

4 4

4

4 4

4

4 4

4 4

4

Utah

São Paulo

Av. Paulista, 925, 13º andar – Cerqueira César – CEP: 01311-916

11 3145-5888

www.utah.com.br

4

4 4

Visuelles

São Paulo

Rua Eng. Domicio Diele Pacheco e Silva, 585 – Interlagos – CEP: 04455-310

11 5614-1010

www.visuelles.com.br

4

4 4

Webnow

São Paulo

Av. Nações Unidas, 12.995, 10º andar, Ed. Plaza Centenário – Chácara Itaim – CEP: 04578-000

11 5503-6510

www.webnow.com.br

4

4

4

4

WRL Informática Ltda.

São Paulo

Rua Santa Ifigênia, 211/213, Box 02– Centro – CEP: 01207-001

11 3362-1334

www.wrl.com.br

4

Systech

Taquaritinga

Rua São José, 1126 – Centro – Caixa Postal 71 – CEP: 15.900-000

16 3252-7308

www.systech-ltd.com.br

4 4

Linux Magazine #61 | Dezembro de 2009

4 4

79


Calendário de eventos

Índice de anunciantes

Evento

Data

Local

Informações

Conisli 2009

4 e 5 de dezembro

São Paulo, SP

www.conisli.org.br

Empresa

Pág.

SERVIÇOS

Senac

Java Enterprise Day

II Encontro Nacional das Comunidades Interlegis

Sun Tech Days 2009

GOPHP Conference 2009

5 de dezembro

7 a 9 de dezembro

8 a 9 de dezembro

12 de dezembro

Goiânia, GO

Brasília, DF

São Paulo, SP

Goiânia, GO

www.javaeeday.com.br

http://colab.interlegis.gov.br/ wiki/IIEncontroGitec

www.developers.sun.com/ events/techdays

www.gophp.com.br/conf

2, 3 5

ISC2 Microsoft

9

Itautec

11

Plus server

13

Rede Host

15

UOL Host

17

Rittal

21

Watchguard

23

LPI

27

Plaza Hotéis

33

Vectory

43

Clube do Hacker

71

Bull

83

Locaweb

84

Nerdson – Os quadrinhos mensais da Linux Magazine

80

http://www.linuxmagazine.com.br


PREVIEW

Na Linux Magazine #62 DESTAQUE

REDES

Windows 7: o que muda para o Linux?

Servidor web leve e seguro

O Windows 7 está aí, e você, na sua rede mista, já está começando a se preparar para enfrentar todas as mudanças e dores de cabeça que certamente virão. A Linux Magazine 62 vai apresentar as mudanças trazidas pela nova versão do sistema da Microsoft nas áreas mais importantes da interoperabilidade: autenticação, diretórios, virtualização, VPNs e Samba. De posse dessas informações, bastarão algumas alterações nos arquivos e procedimentos já usados em todas as redes para adequar as estações e servidores à chegada do novo Windows. n

Continuando nossa demonstração de servidores web alternativos, apresentaremos na Linux Magazine 62 o Hiawatha, um servidor que ocupa apenas 600 KB e tem foco em segurança e velocidade. Com configuração simplificada – realizada inteiramente em um único arquivo de configuração –, o Hiawatha prefere conexões SSL e é repleto de recursos. Será a hora de aposentar o Apache? n

Na EasyLinux #17 Novo Ubuntu

O Ubuntu 9.10 promete trazer importantes novidades no campo da computação em nuvem. A própria escolha do codinome desta versão, Karmic Koala, faz alusão às nuvens, segundo Mark Shuttleworth: “o coala vive com a cabeça nas nuvens”. Será que a próxima versão da distribuição GNU/Linux mais amigável do planeta vai conseguir levar os benefícios da computação em nuvem para todos os seus usuários? Mas as novidades certamente não param por aí. Desde o sistema de arquivos até o gerenciador de inicialização, passando pelo ambiente Gnome e até seu programa de mensagens instantâneas, o Ubuntu está trazendo importantes mudanças e novidades para tornar a experiência de seus usuários cada vez mais prática e agradável em frente a esse sistema livre. A próxima edição da Easy Linux vai trazer uma extensa análise do Ubuntu 9.10, mostrando em detalhes os novos recursos do sistema e como eles podem facilitar a sua vida. n

82

Duelo dos navegadores As ofertas aos navegantes jamais foram tão numerosas e diversas. O GNU/ Linux atualmente dispõe de mais de uma dezena de navegadores web, todos com um bom número de usuários. A Easy Linux 17 vai fazer um comparativo entre os principais navegadores disponíveis no Ubuntu, de forma que você possa escolher o mais veloz, mais competente e, evidentemente, mais elegante para compor a sua área de trabalho. n

http://www.linuxmagazine.com.br


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.