Jogos: Puzzle Pirates, FreeCiv
Book Review: Ruby, for teams...
Agosto / Set 07 :: Número 4
Linux no Geral
• Tudo o que queria saber sobre criptografia...
• Um dia sem X
• Escolhendo uma distribuição Linux
• A Internet Assimétrica
• Open Source na prática
• Paravirtualização
• Concentrando-nos no Utilizador Final
CS em Linux
Controle o seu desktop com o seu
telemóvel através de bluetooth.
Entrevista com Vasco Costa
O programador português do jogo
FreeCiv fala-nos da sua experiência em programação de jogos
open source.
Jogue um
dos melhores
FPS no seu
sistema operativo favorito.
Revista Linux
Editorial
C
omo todos os leitores devem ter reparado, não
houve edição de Junho/Julho. Tal deveu-se à falta
de disponibilidade da equipa
que compõe o núcleo de colaboradores permanentes. Todos se
encontravam a trabalhar ou a
gozar umas merecidas férias.
Esclarecida a nossa ausência,
estamos agora de volta com a
edição Agosto/Setembro, que
não tem um tema principal, mas
cuja qualidade não consideramos de todo inferior às edições
anteriores.
É notória também uma grande
colaboração de colegas brasileiros nesta edição – como nunca
tivemos antes. Tal só prova a
universalidade da revista em território lusófono que contribui para uma melhor comunicação entre as diferentes comunidades.
Temos recebido alguns emails
com pedidos de divulgação de
tecnologia (programas, projectos, etc.) mas só devemos fazêlo por meio de artigos. Assim,
se alguém quiser divulgar um
projecto, pode escrever um artigo sobre ele, seguindo as regras no site oficial, e enviar-nos.
Convém também explicar nesta
altura o porquê da restrição da
publicidade da lista de empresas a empresas portuguesas: O
Linux e demais software open
source não têm ainda tanta divulgação/uso em Portugal como
noutros países (esta foi uma
das razões pela qual a Revista
Linux foi criada). Por outras palavras, Portugal ainda está muito dependente das tecnologias
de uma empresa grande, normalmente associada a cifrões
brilhantes. Ao haver um espaço
na revista com as escassas em-
presas portuguesas dedicadas
ao software livre, estamos a indicar a eventuais clientes que tais
empresas existem e podem assegurar um melhor serviço com
as melhores tecnologias. Se colocássemos a lista ao dispor,
por exemplo, das empresas brasileiras, certamente metade das
páginas da revista seriam para
publicitar essas empresas.
Quem nos dera a nós não haver sequer a lista de empresas
portuguesas por essa razão –
só indicaria que chegámos a um
nível bom de divulgação do
software livre.
dadeira Revista Portuguesa de
Linux.
Com os melhores cumprimentos,
Joaquim Rocha
Com o apoio do Núcleo de Estudantes de Engenharia Informática da Universidade de Évora
Pedindo mais uma vez a compreensão dos leitores pela nossa ausência, espero que gostem de mais uma edição da Ver-
A Equipa
Coordenador de Projecto/Editor
Joaquim Rocha
Colaboradores Permanentes
Duarte Loreto, Joaquim Rocha, Luís Rodrigues, Pedro
Gouveia, Ruben Silva, Valério Valério
Colaboradores
Avi Alkalay, Gustavo Homem, Mayko Nestor, Pedro
Gaspar
Revisores
Helena Grosso
Website
Luís Rodrigues, Joaquim Rocha, Pedro Gouveia
Design
Joaquim Rocha, Ruben Silva
Contacto: editor@revista-linux.com
Linux é uma marca registada de Linus Torvalds.
A mascote Tux foi criada por Larry Ewing.
3
Número 4 :: www.revista-linux.com
Revista Linux
Número 4
Tudo o que que- Um dia sem X
para quando,
ria saber sobre Aporsolução
alguma razão, não tecriptografia...
mos acesso ao ambiente
Uma descrição da criptografia para clarificar o seu conceito.
pág. 8
Blogosfera
gráfico?
pág. 11
Escolhendo uma
distribuição Linux
Conceitos a saber sobre o tipo
de distribuição a adoptar.
pág. 14
Uma reflexão sobre
o "jornalismo" pessoal em forma de
página web. pág. 17
A Internet
Open Source Assimétrica
O estado da internet
n
a
p
r
á
t
i
c
a
portuguesa actual.
Como jogar
oppinião sobre o
pág. 19
CS no Linux Uma
software open source acFinalmente poderá
aprender como jogar
este fantástico FPS
em Linux. pág. 22
tual.
pág. 24
Paravirtualização
Conceitos base sobre virtualização.
pág. 26
Concentrando-nos
no Utilizador Final
Uma visão diferente com
para onde orientar o Linux.
pág. 28
BluePad
Agora pode controlar o seu Linux
com um telemóvel através desta
aplicação inovadora.
pág. 33
pág. 36
Número 4 :: www.revista-linux.com
4
Novidades do Kernel
5
Book Review
37
Jogos:
FreeCiv
Puzzle Pirates
38
42
Entrevista:
Pedro Costa
30
Kernel Pan!c
45
Soluções Open Source
47
Agenda de Eventos
48
Novidades do
Kernel
parte 4: Entradas e saídas
por Luís Rodrigues
ste é o quarto artigo na
série sobre o desenvolvimento de controladores
de vídeo para Linux. Este artigo
descreve como uma aplicação
pode determinar quais as entradas e saídas que estão disponíveis num dado dispositivo e seleccionar quais as que pretende
utilizar.
E
Em muitos casos, o adaptador
de vídeo não tem muitas opções de Entrada e Saída. O controlador de uma câmara, por exemplo, fornecerá a câmara e nada mais. Noutros casos, a situação é mais complicada. Uma
placa de TV pode ter entradas
múltiplas correspondentes aos
vários conectores na placa, pode ainda ter múltiplos sintonizadores capazes de funcionar independentemente. Algumas vezes estas entradas têm características diferentes, umas podem
ser capazes de sintonizar um leque mais variado de standards
de vídeo que outras. O mesmo
se pode afirmar para as saídas.
Claramente, para uma aplicação ser capaz de utilizar a totalidade de um dispositivo, terá de
ser capaz de encontrar as entradas e saídas disponíveis e ser
capaz de seleccionar quais as
que deseja operar. Para esse
efeito, a API vídeo4Linux2 fornece três chamadas ioctl() para
tratar as entradas e três equivalentes para as saídas. Os controladores devem implementar
as três (para cada funcionalidade que corresponde ao hardware). Os controladores devem
também ser capazes de fornecer valores por omissão razoáveis. O que um controlador não
deve fazer é limpar a informação das entradas e saídas quando a aplicação termina, tal como
os outros parâmetros de vídeo,
em que essas configurações devem permanecer inalteradas.
Standards de vídeo
Antes de entrarmos nos detalhes sobre entradas e saídas, temos de ver os standards de vídeo. Estes standards descrevem como o sinal de vídeo é formatado para a transmissão, resolução, frame rate, etc. São geralmente definidos por entidades reguladoras nos várioas paí-
5
ses. Existem três tipos principais de standartds de vídeo:
NTSC (usado principalmente na
América do Norte), PAL (na maioria da Europa, África e Ásia) e
SECAM (França, Rússia e partes de África). Existem ainda variações nos standards entre os
vários países que usam o mesmo, alguns dispositivos podem
ser mais ou menos flexíveis no
suporte destas pequenas variações.
A camada V4L2 representa os
standards de vídeo com o tipo
v4l2_std_id (que é uma máscara de 64bits). Cada um dos standards é um bit na máscara. Assim, o “standard” japonês NTSC
é V4L2_STD_NTSC_M com o
valor 0x1000, a sua variante
V4L2_STD_NTSC_M_JP tem o
valor 0x2000. Se um dispositivo
consegue processar todas as
variantes do NTSC, pode simplesmente colocar o tipo a
V4L2_STD_NTSC que tem todos os bits relevantes activados. Conjuntos equivalentes de
bits existem para as variantes
PAL e SECAM. Mais informação online (1).
Número 4 :: www.revista-linux.com
Imagem original da autoria de De'Nick'nise
Revista Linux :: Kernel
Revista Linux :: Kernel
Para o User Space, a V4L2 fornece um comando ioctl() VIDIOC_ENUMSTD que permite à
aplicação inquirir que standards
são implementados pelo dispositivo. O controlador não necessita de responder às questões directamente, simplesmente necessita de actualizar o campo tvnorm da estrutura video_device
com todos os standards que suporta.
O
comando
VIDIOC_G_STD usado para inquirir
que standard está activo num
dado momento é também tratado pela camada V4L2 através
do retorno do valor no campo
current_norm na estrutura video_device. O controlador deve,
aquando da inicialização, actualizar o campo current_norm para reflectir a realidade. Algumas
aplicações podem ficar “confusas” se não estiver activo nenhum standard.
Quando uma aplicação deseja
activar um dado standard utiliza
a chamada
VIDIOC_S_STD,
que é passada ao controlador
com:
int (*vidioc_s_std)
(struct file *file,
void *private_data,
v4l2_std_id std);
O controlador deve programar o
hardware para utilizar um dado
standard e retornar zero (ou um
código de erro negativo). A camada V4L2 tratará da actualização do current_norm para o novo valor.
A aplicação pode necessitar de
saber qual o tipo do sinal de vídeo de entrada. A resposta é fornecida
pelo
VIDIOC_QUERYSTD, que chega ao controlador com:
int (*vidioc_querystd)
(struct file *file,
void *private_data,v4l2_std_id *std);
O controlador deve preencher
este campo com o maior detalhe possível. Se o hardware não
fornece essa informação, o campo std deve indicar quais os
standards que podem estar presentes.
Todos os dispositivos de vídeo
devem suportar (ou pelo menos
afirmar que suportam) no mínimo um standard. Os standards
de vídeo fazem pouco sentido
para as câmaras que não estão
ligadas a um regime regulatório
específico. Dado que não existe
nenhum standard para “Eu sou
uma câmara e posso fazer tudo
o que quiser” alguns dos controladores de câmara afirmam retornar dados PAL ou NTSC.
Entradas
A aquisição de vídeo iniciar-seá ao enumerar as entradas disponíveis com o comando VIDIOC_ENUMINPUT. Na camada
V4L2 transformar-se-á numa
chamada ao controlador com:
int (*vidioc_enum_input)
(struct file *file, void
*private_data, struct
v4l2_input *input);
Nesta chamada, o campo file
corresponde ao dispositivo de vídeo aberto e o private_data é
um campo privado actualizado
pelo controlador. A estrutura input é onde a informação real é
passada e tem alguns campos
de interesse:
• __u32 index: é o número da
entrada à qual a aplicação pretende aceder; este é o único
campo a ser definido pelo user
space. Os controladores devem
atribuir números às entradas começando com zero e seguindo
a partir daí. Uma aplicação que
pretenda saber toda a informação acerca das entradas variáveis deverá chamar VIDIOC_ENUMINPUT começando com ze-
Número 4 :: www.revista-linux.com
6
ro e seguindo a partir daí; assim
que o controlador devolve EINVAL, a aplicação sabe que chegou ao final da lista. O índice zero deverá existir para todos os
dispositivos com entradas.
• __u8 name[32]: o nome da entrada definido pelo controlador.
Em casos simples pode ser “câmara” ou algo igualmente simples. Se um dispositivo tem múltiplas entradas o nome deverá
corresponder ao que está impresso no conector.
• __u32 type: o tipo da entrada.
Neste momento existem dois:
V4L2_INPUT_TYPE_TUNER e
V4L2_INPUT_TYPE_CAMERA.
• __u32 audioset: descreve que
entradas de áudio podem ser associadas com entradas de vídeo. As entradas de áudio são
enumeradas pelo índice tal como as entradas de vídeo, mas
nem todas a combinações de
áudio e vídeo podem ser seleccionadas. Este campo é uma máscara de bits com o bit activado
para cada entrada de áudio que
funciona com a entrada de vídeo que está a ser listada. Se
nenhuma entrada de áudio é suportada, ou se apenas uma entrada pode ser seleccionada, o
controlador pode colocar este
campo a zero.
• __u32 tuner: se esta entrada é
um sintonizador (o tipo é
V4L2_INPUT_TYPE_TUNER)
este campo irá conter o número
do índice corrrespondente ao
dispositivo sintonizador. A listagem e controle dos sintonizadores serão apresentados numa
próxima oportunidade.
• v4l2_std_id std: descreve que
standars de vídeo são suportados pelo dispositivo.
• __u32 status: dá o estado da
entrada. O conjunto de opções
pode ser encontrada na docu-
Revista Linux :: Kernel
mentação do V4L2 (2). Cada bit
activado no status descreve um
problema, pode incluir falta de
energia, ausência de sinal, entre outros.
• __u32 reserved[4]: campo reservado. Deve ter o valor zero.
Normalmente, o controlador deverá colocar os valores dos campos acima e retornar zero. Se o
índice está fora do intervalo de
entradas suportadas deve ser
devolvido -EINVAL.
Quando uma aplicação quer alterar a entrada, o controlador deverá receber a chamada a vidioc_s_input():
int (*vidioc_s_input)
(struct file *file,
void *private_data,
unsigned int index);
O significado do index tem o
mesmo significado que antes
(identifica a entrada desejada).
O controlador deve programar o
hardware para utilizar a entrada
escolhida e retornar zero. Outros valores de retorno possível
são -EINVAL (para índice inválido) ou -EIO (para problemas de
hardware). Os controladores devem implementar esta chamada
mesmo que apenas suportem
uma entrada.
Existe também uma chamada
para descobrir qual a entrada
que está activa:
int (*vidioc_g_input)
(struct file *file,
void *private_data,
unsigned int *index);
Aqui o controlador coloca o *index com o número o índice da
entrada activa.
Saídas
O processo de enumerar e seleccionar as saídas é muito simi-
lar ao das entradas, assim a
descrição será mais breve. A
chamada que suporta a enumeração é:
int (*vidioc_enumoutput)
(struct file *file, void
*private_data struct
v4l2_output *output);
Os
campos
da
v4l2_output são:
estrutura
• __u32 index: o valor do índice
corespondente à saída. Este índice funciona da mesma maneira que o índice de entrada: começa em zero e continua a incrementar.
• __u8 name[32]: o nome da saída.
• __u32 type: o tipo da saída.
Os tipos de saídas suportadas
são V4L2_OUTPUT_TYPE_MODULATOR para um modulador
de TV analógico, V4L2_OUTPUT
_TYPE_ANALOG para uma saída de vídeo analógica e,
V4L2_OUTPUT_TYPE_ANA
LOGVGAOVERLAY para dispositivos analógicos de VGA.
int (*vidioc_g_output)
(struct file *file,
void *private_data,
unsigned int *index);
int (*vidioc_s_output)
(struct file *file,
void *private_data,
unsigned int index);
Qualquer dispositivo que
te saída de vídeo deve
três chamadas de saída
das mesmo que só seja
vel uma saída.
suporter as
definipossí-
Com estes métodos criados,
uma aplicação V4L2 pode determinar quais as entradas e saídas disponíveis num dado dispositivo e escolher entre eles. A tarefa de determinar qual o tipo
de dados de vídeo que passa
entre estas entradas e saídas é
algo mais complicado. No próximo artigo serão apresentados
os diferentes formatos de dados
de vídeo e como negociar com
o user space.
Ver na Web
• __u32 audioset: conjunto de
saídas de áudio que funcionam
com esta saída de vídeo.
(1) http://v4l2spec.bytesex.org/
spec/r7410.htm#V4L2-STD-ID
(2) http://v4l2spec.bytesex.org/
spec/r7058.htm#INPUT-STATUS
• __u32 modulator: o índice do
modulador associado a este dispositivo (para dispositivos com
o typo V4L2_OUTPUT_TYPE_
MODULATOR).
Sobre esta secção
• v4l2_std_id std: os standards
de vídeo suportados por esta
saída.
• __u32 reserved[4]: campos reservados, devem ter o valor zero.
Os artigos apresentados
nesta secção são traduções autorizadas de artigos relacionados com o
kernel do Linux do jornal
online Linux Weekly News
- http://www.lwn.net .
Estas são as chamadas para obter e definir a saída corrente, espelham as chamadas de entradas:
7
Número 4 :: www.revista-linux.com
Tudo o que queria saber
sobre criptografia...
e tinha medo de perguntar
por Avi Alkalay
riptografia vem do grego
e significa “escrita escondida”. Bem, ainda não temos a tecnologia dos filmes de
fantasia onde um pergaminho
aparentemente em branco revela um mapa do tesouro quando
exposto ao luar, mas a criptografia simula isso transformando a
informação em algo ilegível ou
aparentemente sem valor. Muito
fácil: se eu rabiscar bem um
cheque de 100.000 € ele também perde o seu valor por ficar
ilegível.
C
O difícil é o inverso: tornar legível o ilegível, e é aí que está a
magia da criptografia.
O primeiro lugar onde alguém
pensaria em usar criptografia seria na guerra, para comunicar
estratégias de movimentação a
tropas distantes, espionagem,
etc. Se o inimigo intercepta essa comunicação, principalmente
sem o primeiro saber, ganha a
guerra. Por isso, quem primeiro
estudou técnicas de criptografia
foram os militares, governos e
instituições de pesquisa secretas. Os seus principais interesses focavam-se em duas coisas: como criptografar melhor e
como descriptografar as mensagens do inimigo (criptoanálise).
Na Era da Informação e Internet, a criptografia tem um papel
central porque viabiliza uma comunicação segura. Mais até:
não teríamos uma Era da Informação se a criptografia não fosse de uso dominado por qualquer cidadão, simplesmente porque o mundo comercial não entraria nessa onda de trocar informação (e fazer negócios) por redes abertas se não houvesse
um meio de garantir confidencialidade.
Trata-se de um tema muito vasto, fascinante, com muitos desdobramentos tecnológicos. Então vamos somente preocuparmo-nos em entender aqui o vocabulário desse mundo.
Criptografia de ChaveSimétrica
A criptografia digital já era usada secretamente desde 1949
por militares e governos. Em
meados da década de 1970 a
IBM inventou o padrão DES (Data Encription Standard) de criptografia, que passou a ser largamente utilizado até aos dias de
hoje. A partir daí tudo mudou.
Como exemplo do seu funcionamento: se a Paula quer enviar
uma mensagem secreta para a
Tatiana, ela deve fazer isto:
Número 4 :: www.revista-linux.com
8
Artigo adaptado para
Português-Europeu
Mensagem + ChaveSimétrica =
MensagemCriptografada
Então, a MensagemCriptografada é enviada para a Tatiana por
uma rede aberta que, para a ler
terá que fazer o seguinte:
MensagemCriptografada + ChaveSimétrica = Mensagem
Uma analogia a estas equações
seria como se ambas trocassem
caixas que abrem e fecham
com uma chave (a chave simétrica) que contém cartas secretas. Para a Tatiana abrir a caixa
da Paula, terá que usar uma cópia da chave que a última usou
para fechá-la.
O que representamos pela soma (+) é na verdade o algoritmo
de cifragem (ou o mecanismo
da fechadura) que criptografa e
descriptografa a mensagem. Hoje em dia, esses algoritmos tem
geralmente o seu código fonte
aberto, e isso ajudou-os a tornarem-se mais seguros ainda,
pois foram limpos e revistos ao
longo dos anos por muitas pessoas de várias partes do mundo.
A Chave Simétrica é uma
sequência de bits e é ela que
define o nível de segurança da
Imagem original da autoria de bebop717
Revista Linux :: Teoria
Revista Linux :: Teoria
comunicação. Ela deve ser sempre secreta. Chama-se simétrica porque todos os interessados em comunicar-se devem ter
uma cópia da mesma chave.
Mensagem + ChavePública(Tatiana) = MensagemCriptografada
O DES com chave de 56 bits pode ser quebrado (a MensagemCriptografada pode ser lida sem
se conhecer a chave), e outros
cifradores de chave simétrica
(symmetric-key, ou private-key)
mais modernos surgiram, como
3DES, AES, IDEA, etc.
MensagemCriptografada + ChavePrivada(Tatiana) = Mensagem
O maior problema da criptografia de chave simétrica é que o
remetente envia a chave secreta ao destinatário através de
uma rede aberta (e teoricamente insegura). Se um intruso a
descobrir, poderá ler todas as
mensagens trocadas. Mais ainda, comprometerá a comunicação entre todo o conjunto de
pessoas que confiavam nessa
chave.
Criptografia de Chave Pública
Estes problemas foram eliminados em 1976 quando Whitfield
Diffie e Martin Hellman trouxeram à tona os conceitos da criptografia de chave pública também conhecida por criptografia
por par de chaves ou de chave
assimétrica. Trata-se de uma revolução no campo das comunicações, tão radical quanto é o
motor a combustão para o campo de transportes. Eles descobriram fórmulas matemáticas que
permitem que cada usuário tenha um par de chaves de criptografia matematicamente relacionadas, uma privada e outra pública, sendo a última, como o
próprio nome diz, publicamente
disponível para qualquer pessoa. Estas fórmulas tem a impressionante característica de o
que for criptografado com uma
chave só pode ser descriptografado com o seu par. Então, no
nosso exemplo, Paula agora enviaria uma mensagem para Tatiana da seguinte maneira:
E Tatiana leria a mensagem assim:
E Tatiana responderia para Paula da mesma forma:
Resposta + ChavePública(Paula) = RespostaCriptografada
Ou seja, uma mensagem criptografada com a chave pública de
uma, só pode ser descriptografada com a chave privada da mesma, então a primeira pode ser livremente disponibilizada na Internet. E se a chave privada da
Paula for roubada, somente as
mensagens para a Paula estariam comprometidas.
O cifrador de chave pública tido
como mais confiável é o RSA
(iniciais de Rivest, Shamir e
Adleman, seus criadores).
A criptografia assimétrica permitiu ainda outras inovações revolucionárias: se a Tatiana quer
publicar um documento e garantir a sua autenticidade, pode fazer:
Documento + ChavePrivada(Tatiana) = DocumentoCriptografado
Se um leitor conseguir descriptografar este documento com a
chave pública da Tatiana significa que ele foi criptografado com
a chave privada da Tatiana, que
somente ela tem a posse, o que
significa que somente a Tatiana
poderia tê-lo publicado. Nasce
assim a assinatura digital.
Infraestrutura para Chaves Públicas
O PGP (Pretty Good Privacy) foi
o primeiro sistema de segurança que ofereceu criptografia de
chave pública e assinatura digi-
9
tal de qualidade para as massas. Ficou tão popular que se
tornou o padrão OpenPGP e
posteriormente recebeu várias
implementações livres. É largamente usado até hoje, principalmente em troca de e-mails. A
sua popularização exigiu que
houvesse uma forma para as
pessoas encontrarem as chaves
públicas de outras pessoas, que
muitas vezes nem eram conhecidas pelas primeiras. No começo
dos tempos do PGP, havia sites
onde as pessoas publicavam as
suas chaves públicas para as
outras as encontrarem. Talvez
esta fosse a forma mais rudimentar de PKI ou Public Key Infrastructure. PKI é um conjunto
de ferramentas que uma comunidade usa justamente para a
classificação, busca e integridade das suas chaves públicas. É
um conjunto de ideias e não um
padrão nem um produto. Conceitos de PKI estão hoje totalmente integrados em produtos de colaboração como o Lotus Notes
da IBM, e seu uso é transparente ao usuário.
Certificados Digitais
Como pode a Tatiana ter certeza que a chave pública da Paula que ela tem em mãos e que
está prestes a usar para enviar
uma mensagem segura, é realmente da Paula? Outra pessoa,
agindo de má fé, pode ter criado
uma chave aleatória e tê-la publicado como sendo da Paula.
Podemos colocar isso de outra
forma: como posso ter certeza
que estou acedendo realmente
ao site do meu banco e não a
um site impostor que quer roubar a minha senha e o meu dinheiro? Não gostaria de confiar
nos meus olhos só porque o site
realmente se parece com o de
meu banco. Haveria alguma forma mais confiável para garantir
isso?
Em 1996, a Netscape, fabrican-
Número 4 :: www.revista-linux.com
Revista Linux :: Teoria
te do famoso browser, atacou
este problema juntando o que
havia de melhor em criptografia
de chave pública, PKI (através
do padrão X.509), mais parcerias com entidades confiáveis, e
inventou o protocolo SSL (Secure Socket Layer ou TLS, seu sucessor). Foi graças a este passo que a Internet tomou um rumo de plataforma comercialmente viável para negócios e mudou
o mundo.
Para eu mandar a minha senha
com segurança ao site do banco e poder movimentar a minha
conta, o site precisa primeiro de
me enviar a sua chave pública,
que vem assinada digitalmente
por uma outra instituição de
grande credibilidade. Em linhas
gerais, os fabricantes de browsers (Mozilla, Microsoft, etc) instalam nos seus produtos, na fábrica, os certificados digitais
dessas entidades, que são usadas para verificar a autenticidade da chave pública e identidade do site do banco. Este, por
sua vez, teve que passar por
um processo burocrático junto a
essa entidade certificadora, provando ser quem diz ser, para obter o certificado.
que o fabricante do browser instalou, acedendo às suas configurações de segurança. O leitor
vai encontrar lá entidades como
VeriSign, Thawte, Equifax, GeoTrust, Visa, entre outros.
Segurança Real da
Criptografia
Quanto maior for a chave de
criptografia (número de bits)
mais difícil é atacar um sistema
criptográfico. Outros factores influenciam na segurança, como
a cultura em torno de manter
bem guardadas as chaves privadas, qualidade dos algoritmos
do cifrador, etc. Este último aspecto é muito importante e tem
de ser estabilizado num bom nível alto, porque esses algoritmos têm sido produzidos num
modelo de software livre, o que
permite várias boas mentes auditá-los e corrigir falhas ou métodos matemáticos fracos.
A segurança real de qualquer
esquema de criptografia não foi
comprovada. Significa que, teori-
O SSL descomplicou esta malha de credibilidade, reduzindo o
número de instituições em
quem podemos confiar, distribuindo essa confiança por todos
os sites que adquirirem um certificado SSL.
Na prática funciona assim:
1 :: Acedo pela primeira vez ao
site de uma empresa que parece ser idônea.
2 :: Ele pede o número do meu
cartão de crédito.
3 :: Se o meu browser não reclamou a segurança desse site,
posso confiar nele porque...
4 :: ...o site usa um certificado
emitido por uma entidade na
qual eu confio.
Pode-se verificar os certificados
camente, qualquer um que tiver
muito recurso computacional disponível pode usá-lo para quebrar uma mensagem criptografada. Teoricamente. Porque estaríamos a falar de centenas de
computadores interconectados
trabalhando para esse fim. Na
prática, hoje isso é intangível, e
basta usar bons produtos de
criptografia (de preferência os
baseados em software livre),
com boas práticas de administração, e teremos criptografia realmente segura à nossa disposição.
Sobre o Autor
Avi Alkalay foi, por alguns anos, responsável
pela segurança corporativa da IBM Brasil, e já
trabalhou praticamente com todas as tecnologias
da web. Hoje é arquiteto de soluções e consultor
de Linux, Padrões Abertos e Software Livre na
IBM.
Número 4 :: www.revista-linux.com
10
Um dia sem X
por Luís Rodrigues
J
á alguma vez pensou ser
possível sobreviver sem o
seu ambiente gráfico?
Imagine que na actualização da
sua distribuição de Linux preferida o pacote do Xserver está corrompido e não consegue aceder
ao X. O Linux tem um grande
conjunto de aplicações de linha
de comandos, umas utilizam a
biblioteca curses e/ou o framebuffer para as suas interfaces.
Assim poderá ouvir música, navegar na Internet, etc enquanto
espera calmamente por uma nova versão da actualização com
o X a funcionar.
Segue uma lista de aplicações
organizada pelas secções que
consideramos mais importantes
para um utilizador de computador da actualidade. Esta lista
não é, nem pretende ser, uma
lista exaustiva de todas as aplicações por cada secção, visto
que isso seria impossível de
concretizar.
Navegar na Internet
Quando o X não funciona, em
geral, a primeira preocupação é
navegar na Internet. Assim, esta
é a primeira secção que iremos
apresentar. Muitas das páginas
da actualidade fazem uso do
AJAX e CSS, essas não funcionarão convenientemente mas todas as outras (em princípio) estarão navegáveis.
Existem vários browsers em mo-
do de texto: Lynx (1) , Links (2) ,
w3m (3) e elinks (4).
O Lynx e o w3m são bastante
simplistas não suportando frames nem tabelas. O Links suporta praticamente todo o standard
HTML4.0 excepto CSS, mas
não é activamente desenvolvido. O elinks é um fork do links
activamente desenvolvido que
suporta frames, tabelas, algumas das funcionalidades do
CSS e ECMAScript. A minha sugestão para navegação é assim
o elinks.
Email
Para além da poder utilizar a interface web (utilizando o elinks),
pode ainda utilizar o cliente
POP3 ou IMAP. Para tal, existem duas opções: O Pine (5) ou
o Mutt (6).
O Pine foi desenvolvido pela
Universidade de Washington, é
freeware e suporta practicamente tudo o que se espera de um
moderno cliente de email. O
Mutt está sob a licença GPL e,
tal como o Pine, suporta a maioria das funcionalidades que se
espera de um cliente de e-mail.
Tem a vantagem de poder integrar um filtro de SPAM.
A escolha entre estas duas aplicações é mais complicada, sendo um pouco uma questão de
gosto. Eu prefiro o mutt, logo, é
esse que aconselho.
11
Chat
Após a navegação e o email a
preocupação que se segue é o
chat. Existem vários clientes para os vários protocolos disponíveis. Para Jabber/GTalk existe
o freetalk (7), para AIM temos o
Naim (8) e para IRC o IRSSI
(9). Ter uma aplicação a correr
por cada conta que o utilizador
tem pode tornar-se chato além
de desperdiçar muita memória,
tal como o Pidgin (10), que junta
ao nível gráfico diversos protocolos, temos o Finch para a consola. Então, o melhor cliente a
utilizar é o Finch dado que suporta praticamente todos os protocolos existentes.
Ler RSS
Para todos os leitores que subscrevem muitas RSS têm à sua
disposição um excelente cliente
de consola: o Raggle (11). Este
tem uma interface limpa e intuitiva, é muito rápido e quase não
ocupa memória. Pode ainda importar o seu ficheiro OPML utilizando uma opção da linha de
comandos ficando com todas as
suas feeds à disposição.
Gestão de Ficheiros
Se não está a navegar, conversar ou a ler/escrever e-mail provavelmente estará a navegar pela sua drive. O Midnight Com-
Número 4 :: www.revista-linux.com
Imagem original da autoria de Rafi Abramov
Revista Linux :: Prático
Revista Linux :: Teoria
mander (12) é a ferramenta ideal para esta tarefa. Tem uma interface similar ao Norton Commander e é muito fácil de utilizar.
Imagens
Até agora, tem sido fácil suportar um dia sem X. O que acontece se alguém enviar uma imagem espectacular das suas férias em África que o leitor tem
mesmo de ver? A solução é utilizar uma aplicação de framebuffer que utiliza a SVGAlib que dá
pelo nome ZGV (13).
Vídeo
Para vídeo pode utilizar o
MPlayer (14) que tem várias opções de saída de vídeo. Desde
o típico framebuffer até a utilizar
caracteres em modo texto para
codificar a imagem (aalib).
Música
Não ter X não que dizer que o
leitor não possa ouvir as suas
músicas preferidas. O Cplay
(15) é um leitor extremamente
leve excelente para o ajudar a
sobreviver no seu dia-a-dia sem
X. Para controlar o volume do
áudio pode sempre utilizar o alsamixer (se tem o ALSA instalado – o que é bastante provável
– o alsamixer estará também
instalado).
Edição de Texto
Para a edição de texto existem
duas grandes opções: vim (16)
e emacs (17). Geralmente, toda
a gente já os conhecem e, normalemnte, têm uma opinião muito forte. Para não fomentar essa
discórdia, não irei sugerir nenhum deles deixando ao leitor
essa escolha.
P2P
Na sociedade da informação em
que nos inserimos, uma das acções mais importantes é a partilha de informação. Para partilhar informação nada melhor
que um protocolo P2P, como é
o caso do Bittorrent. Um dos melhores clientes é o Rtorrent (18).
É uma aplicação baseada na libcurses com uma utilização de
memória quase desprezável. O
Rtorrent é capaz de competir facilmente com o uTorrent ao nível da utilização de memória e
velocidade. O único problema
(para algumas pessoas) é o facto deste utilizar um esquema de
atalhos de teclado parecido ao
emacs, o que torna a curva de
aprendizagem algo elevada.
Gravação de CDS
Existe ainda uma outra aplicação que é o screen (21) que
também permite a gestão de diversas janelas numas única tty,
na minha opinião o twin, visto
que é mais “gráfico” do que o
screen.
Será mesmo possível sobreviver um dia sem X? Quando comecei a utilizar Linux o X não
era o que é hoje e muitas vezes
servia apenas para ter um conjunto de terminais (xterm) abertos a correr várias aplicações.
Actualmente é mais complicado
dado que a maioria dos utilizadores estão habituados às suas
aplicações terem cores brilhantes e à fácil integração no ambiente de trabalho.
Deixo, no entanto, o desafio ao
leitor mais intrépido: tente pelo
menos um dia recordar os “bons
velhos tempos” em que o Linux
não tinha o GNOME e o KDE!
Agora que o leitor já se está a
habituar a não usar o X, por que
não gravar cds com o bashburn
(19)? O bashburn é uma aplicação de consola que faz a interface entre as aplicações
Ver na Web
que
realmente
gerem/gravam cds, nomeadamente cdrtools e (1) http://lynx.browser.org/
dvd+rw-tools, entre ou- (2) http://links.sourceforge.net/
tras.
(3) http://w3m.sourceforge.net/
Gestão de Janelas (4) http://elinks.or.cz/
(5) http://www.washington.edu/pine/
Suponho que o leitor se (6) http://www.mutt.org/
está a questionar como (7) http://www.gnu.org/software/freetalk/
é possível a gestão de (8) http://naim.n.ml.org
janelas sem X. Não ter
o X a funcionar não que (9) http://www.irssi.org/
dizer que não possa ser (10) http://pidgin.im/
possível ter à sua dispo- (11) http://www.raggle.org/
sição janelas para me- (12) http://www.ibiblio.org/mc/
lhor trabalhar com as
suas aplicações de con- (13) http://www.svgalib.org/rus/zgv/
sola. O Twin (20) é uma (14) http://www.mplayerhq.hu/
aplicação que usa a lib- (15) http://mask.tf.hut.fi/~flu/cplay/
curses
que
permite (16) http://www.vim.org/
abrir subterminais dentro de um ambiente cur- (17) http://www.gnu.org/software/emacs/
ses. O Twin permite ter (18) http://libtorrent.rakshasa.no/
o elinks, mutt, raggle ou (19) http://bashburn.sourceforge.net/
qualquer outra aplica- (20) http://linuz.sns.it/~max/twin/
ção de consola aberta
(21) http://www.gnu.org/software/screen/
na mesma tty.
Número 4 :: www.revista-linux.com
12
Escolhendo uma
distribuição Linux
por Avi Alkalay
Artigo adaptado para Português-Europeu
É
importante começar por
dizer que todas as distribuições Linux, incluíndo
as comerciais — Red Hat Enterprise Linux, SUSE Linux, Xandros, etc — e não-comerciais —
Debian, Slackware, Gentoo, etc
— atendem a maioria das necessidades reais. Escolher uma
melhor entre elas é mais uma
questão de gosto pessoal do
técnico que já a conhece do que
pelas suas funcionalidades.
Mas uma empresa precisa pesar mais aspectos — além do
gosto — para garantir uma escolha estratégica de benefícios de
longo prazo.
mente as chamadas distribuições enterprise incluem suporte
junto ao seu produto.
Para um usuário, suporte significa:
1 :: Um parceiro disponível a
curto e a longo prazo, para
transferir riscos operacionais
Este é o ponto mais importante.
As empresas não querem correr
riscos — especialmente os riscos inerentes ao Open Source.
Suporte e Certificação
2 :: Acesso rápido a actualizações de qualidade
No geral, as empresas têm recursos limitados para compilar,
testar e integrar atualizações de
software Open Source.
Todas as distribuições Linux empacotam, de uma forma ou de
outra, mais ou menos os mesmos softwares Open Source (o
Kernel, Apache, Samba, bibliotecas, Gnome, KDE, etc), mas so-
3 :: Acesso a um grande número de fabricantes independentes de hardware (IHV) e de
software (ISV) certificados e
disponibilidade de soluções
complexas pré-testadas
Número 4 :: www.revista-linux.com
14
Uma parte crítica de qualquer
projecto de TI consiste em correlacionar a certificação entre os
seus componentes (hardware,
storage, middleware, SO, etc).
A característica mais importante
e valorizada que uma distribuição pode prover, mais do que
as tecnologias embutidas no
SO, é a sua capacidade de criar
ecossistemas de hardware e
software homologado.
Modelo de Subscrição
versus Preço por Licença
Empresas que vendem software
comercial (como a Microsoft,
IBM, Oracle, etc) vão permitir o
uso dos seus produtos somente
após a compra de um direito de
uso. Esses “direitos compráveis” são hoje em dia chamados
de licença comercial.
O software contido em qualquer
distribuição Linux é sem custo.
Os
programadores
desses
Imagem original da autoria de Gregory Barton
Revista Linux :: Teoria
Revista Linux :: Teoria
softwares licenciaram o seu trabalho sob a GPL, BSD, Mozilla
Public, IBM Public ou alguma
outra licença Open Source, que
garante a qualquer um o direito
de usar e redistribuir o software
sem ter que pagar por isso.
É errado dizer que se “compra”
uma distribuição Linux (ou uma
licença de seu uso). Não se pode comprá-la. Na prática ela já
é sua. É como dizer que um
usuário irá comprar o conteúdo
de um site. Não há nada material para adquirir. Por outro lado,
o que se pode dizer é que está
a assinar-se um serviço que provê assistência técnica, acesso a
actualizações e ingresso num
ecossistema de produtos que inter-operam de uma forma prétestada e certificada — os pontos de suporte referidos anteriormente.
Então, empresas que fazem distribuições enterprise (como Red
Hat, Novell, Xandros) vendem
esse serviço e não o software,
porque o último é gratuito.
Escolhendo a Melhor Distribuição
Há duas formas responsáveis e
maduras de usar distribuição Linux nas operações de TI de
uma empresa:
1 :: Adquirir a subscrição de
uma distribuição enterprise
global como as vendidas pela
Red Hat e Novell
A subscrição junta o software
Open Source a um suporte de
escala global, criando um ambiente estável e favorável para o
florescimento de um ecossistema de ISVs e IHVs certificados.
2 :: Usar distribuições gratuitas como Debian ou Slackware e adquirir serviços de suporte de uma companhia local
independente
Isto pode trazer mais risco por
causa da operação de suporte
não-global e pela falta de inte-
gração entre o empacotamento
do software e o seu suporte, o
que leva a um ecossistema fraco ou inexistente de ISVs e
IHVs.
Em termos de flexibilidade técnica e escolha de fornecedor —
pontos que coincidem nos custos —, as duas opções são
iguais. Todos os benefícios da
segunda opção estão presentes
na primeira, enquanto que na
segunda há uma ausência dos
aspectos de ecossistema de
ISVs e IHVs da primeira.
Para uma empresa que precisa
de tomar decisões pragmáticas,
parece fazer mais sentido adquirir directamente um produto como o RHEL e SLES, que junta
suporte ao software na fonte, do
que manualmente integrá-los
em níveis regionais. A segunda
opção, com Debian etc, também
tem sido escolhida com sucesso
por empresas principalmente do
sector público, e trazem benefícios sociais e económicos gerais por manterem o dinheiro a
circular dentro do país.
As empresas devem prestar
atenção aos seguintes pontos,
mais ou menos por esta ordem,
quando estão a escolher uma
distribuição Linux para correr as
suas aplicações de negócio:
1 :: Com qual fabricante de
distribuição eu tenho melhores relacionamentos comerciais ?
2 :: Qual o fabricante que tem o
melhor preço de subscrição pelo valor oferecido ?
3 :: Qual a distribuição que os
meus técnicos conhecem melhor ?
4 :: Qual a distribuição que é suportada e certificada por quem
me fornece produtos de hardware e software ?
5 :: A não ser que se saiba muito bem o que se está a fazer, as
empresas devem ser responsáveis e usar distribuições enterpri-
15
se.
Para empresas que precisam
de escolher rapidamente uma
distribuição, há duas opções enterprise que tem um forte ecossistema e implementação no
mercado: Red Hat Enterprise Linux e Novell SUSE Linux Enterprise. Algumas diferenças entre
elas têm-se tornado cada vez
maiores ao longo do tempo, enquanto que a maioria tem convergido ou desaparecido. Veja
uma comparação na tabela.
Outras Distribuições Enterprise
Há alguns provedores de distribuições Linux com um modelo
de negócio similar ao adoptado
pela Red Hat e pela Novell. As
mais famosas são Ubuntu (tecnicamente baseado no Debian),
Mandriva (fusão da Conectiva,
Mandrake e outras), Xandros
(também baseado no Debian),
para citar algumas. Estas estão
focadas em prover um produto
global de tal forma que o suporte e os serviços possam ser disponibilizados automaticamente
ou num modo de self-service.
Há uma lei intrínseca do mercado que busca o equilíbrio disponibilizando duas opções de escolha. Uma opção pode ser boa
(na verdade não há opção quando só um caminho existe), duas
opções maduras é melhor, enquanto que três ou mais opções
já é muita coisa para o mercado
digerir. E parece que o mercado
já definiu suas duas escolhas
maduras com a Novell e Red
Hat.
Mesmo que estas e outras distribuições para empresas tenham
produtos melhores, elas terão
que investir uma quantidade
considerável de energia para
construir um ecossistema de
ISVs e IHVs. Mais do que isso,
ISVs e IHVs terão que fazer
uma pausa nas suas operações
Número 4 :: www.revista-linux.com
Revista Linux :: Teoria
para ouvir o que estas novas
distribuições têm a oferecer.
Ecossistema é tudo o que importa. Um produto com um bom
ecossistema pode facilmente tornar-se melhor que um excelente
produto sem ecossistema. Provavelmente este é o aspecto
mais importante a considerar
quando uma companhia esco-
lhe uma distribuição.
Não se pode dizer que certa distribuição é melhor que todas as
outras. Devem sempre colocarse na balança aspectos pragmáticos visando uma boa aderência à sua empresa ou a um certo projecto.
Ver nota biográfica sobre o autor na
página 10
Número 4 :: www.revista-linux.com
16
Revista Linux :: Teoria
Blogosfera
por Avi Alkalay
U
m blog é um website qualquer cujo conteúdo é organizado como um diário (log, em inglês), ou seja, por datas e em ordem crono-
artigo adaptado para
Português-Europeu
bridades –, só porque agora eles tem acesso a
uma plataforma de publicação independente e directa: a Internet.
Os bloggers (pessoas que possuem e escrevem
em seus blogs) visitam e lêem outros blogs, fazem
comentários, criam links e referenciam-se uns aos
outros, criando uma espécie de
conversa distribuída.
lógica.
O nome apareceu quando “web log” virou “weblog”
que, numa brincadeira, se transformou em “we
blog”, para por fim se popularizar em “blog”.
A cultura dos blogs tem um dicionário próprio:
Post: um artigo, uma publicação que pode conter
texto, imagens, links, multimédia, etc. Um post tem
um título, data e hora e é categorizado sob um ou
mais assuntos como “tecnologia”, “vinhos”, “viagens”, “poesia”, etc., definidos pelo dono do blog.
Este usa geralmente uma linguagem mais directa e
descontraída, e pode ser tão longo quanto um extenso artigo, ou ter só três palavras. Um blog é
uma sequência de posts.
Comentário: Visitantes do blog podem opinar sobre
os posts e este é um lado muito importante da interactividade dos blogs.
Permalink: um link permanente, o endereço directo
de um post específico.
Trackback e Pingback: um post que faz referência
a outro post, talvez noutro blog.
Feed: Há ferramentas que permitem ler vários
blogs de forma centralizada, sem ter que visitá-los
separadamente. O feed é uma versão mais pura
do blog, contendo somente os últimos posts em formato XML (RSS ou ATOM) e serve para alimentar
essas ferramentas. Podcasts nada mais são do
que feeds contendo média, ao invés de só texto.
Blog é um nome mais actual para o que se costumava chamar de “home page”. A diferença é que
antes da era dos blogs, uma pessoa que quisesse
ter um website pessoal, tinha um enorme trabalho
para publicar conteúdo de páginas, que geralmente eram estáticas, não interativas, e francamente,
sem graça. Era um processo manual que exigia algum conhecimento técnico e por isso eram geralmente técnicos que publicavam o conteúdo na web.
A
consolidação
da cultura dos blogs fez surgir
alguns
serviços como Technorati, Truth Laid Bear, Ping-omatic, Digg, que tem a habilidade de seguir a conversa. Mais ainda, eles conseguem medir a popularidade de um blog ou de um assunto e calcular a
sua vitalidade na web. Usando extensamente idiomas XML como XHTML, RDF, RSS e ATOM, eles
conseguem “avisar” um post de que foi referenciado noutro blog, ajudando o primeiro a publicar automaticamente um pingback ou trackback, mostrando quem o referenciou e como.
A Blogosfera é o fenómeno sócio-cultural materializado nessa malha de interações dinâmicas e semânticas entre os blogs e seus autores.
Como diz Doc Searls no seu Mundo de Pontas, a
Internet é uma grande esfera oca com a superfície
formada por pontas interconectadas. Bem, nós somos as pontas e ela é oca porque não há nada no
meio que limite a nossa interacção. Esta metáfora
explica como os bloggers ganharam voz activa na
sociedade livre da Internet, onde falam bem de
quem gostam e denunciam quem ou o que não
gostam. Sendo público e interativo, qualquer assunto verídico e bem conduzido tem potencial de virar
uma bola de neve ao ponto de iniciar um escândalo político, obrigar uma empresa a admitir que deve
fazer um recall de produtos defeituosos, ou dar informações muito precisas sobre o míssil que caiu
no bairro durante uma guerra (warblog).
Com a padronização do conteúdo por ordem cronológica em posts, surgiram uma série de ferramentas e serviços de blogging, sendo os mais conhecidos o Blogger, WordPress, LiveJournal e MovableType.
Eles facilitaram a publicação de textos, links, multimédia de forma organizada e apelativa e a web ficou muito mais interessante. Se antigamente um
escritor precisava de ter contacto com editoras para publicar trabalhos, hoje qualquer pessoa é um
escritor em potencial. E, sim, os blogs revelaram
inúmeros ótimos escritores – alguns viraram cele-
Várias empresas têm usado blogs como forma de
se aproximarem dos seus clientes. A sua linguagem descontraída, não-institucional e principalmente interactiva derruba barreiras e potencializa comunidades. Bons blogs corporativos passaram a ser a
peça chave do ciclo de desenvolvimento de produtos, como plataforma de divulgação das próximas
novidades e ponto de recepção directa de opiniões
de usuários.
Do que está à espera para ingressar na Blogosfera?
Ver nota biográfica sobre o autor na
página 10
17
Número 4 :: www.revista-linux.com
Revista Linux :: Teoria
A Internet
Assimétrica
por Gustavo Homem
N
uma época em que se fala diariamente sobre "banda larga", a situação de
assimetria a esta associada não
é totalmente clara para a maioria dos utilizadores. É fácil encontrar hoje em dia serviços de
acesso à Internet com elevado
débito unidireccional, ou seja no
sentido ISP -> cliente. De facto,
é habitual contratar débitos
downstream de 8,16,20 ou mesmo 24 Mbps. No entanto, quando se fala de débitos upstream,
ou seja no sentido cliente ->
ISP, o cenário parece ser mais
nebuloso. Por um lado, as campanhas de divulgação raramente fazem referência ao valor de
upstream - assume-se que o cliente final não é sensível a este
factor. Por outro, não é fácil,
saindo dos serviços standard cujos débitos são limitados, ter
uma noção imediata dos custos
envolvidos, visto que as tabelas
de preços não são em geral públicas. Apesar disto, a necessidade de débitos upstream supe-
riores aos actuais é um facto,
consequência natural da evolução tecnológica das PME e do
acesso generalizado a software
servidor de grande qualidade
disponível em domínio público
(1,2). A capacidade de disponibilizar informação de forma independente liberta as empresas
das demoradas “interacções”
com o suporte técnico dos ISP e
deve fazer parte do roteiro para
a inclusão das PME portuguesas. Nesse sentido, respondamos às três questões mais frequentemente colocadas quando
se discute o presente assunto.
1) Porque é que os débitos de
upstream são tão baixos nos
serviços ADSL e Cabo em Portugal?
As razões são várias:
a) As tecnologias são assimétricas por natureza (3,4) ... o que
no entanto não parece justificar
19
as classes de tráfego tal como
estão definidas em Portugal. As
normas ADSL, mesmo as iniciais, suportam até 1Mbit de upstream e é conhecido que pelo
menos parte dos DSLAMs existentes em Portugal o permitem.
Nas soluções de Internet por Cabo a mesma coisa se passa
(4,5).
b) O limite no upstream é o “travão” do tráfego P2P nacional.
Ao aumentar este limite o tráfego P2P vai aumentar imediatamente e os ISP poderão não estar particularmente interessados
nisto (questões legais, tráfego
trocado no GigaPix (12), ...).
c) Os circuitos com upstreams
superiores a 1024Kbps, que em
Portugal são vendidos invariavelmente como circuitos dedicados, são extremamente dispendiosos (um circuito G.SHDSL
2Mbit simétrico pode custar entre 300 e 700 EUR mensais de-
Número 4 :: www.revista-linux.com
Revista Linux :: Teoria
pendendo da capacidade negocial da empresa e da quantidade de serviços contratados). Por
esta razão, os ISP acreditam
que estão a proteger este mercado ao limitarem os débitos
upstream do ADSL (11).
d) Os ISP possuem serviços de
datacenter/alojamento e ao limitarem os débitos de upstream
estão a proteger este negócio,
impedindo os clientes de se tornarem mais autónomos a nível
de disponibilização de serviços
e conteúdos.
2) É expectável que a situação vá mudar de futuro?
A situação só poderá mudar
quando os ISP se aperceberem
de que:
a) Os clientes pretendem maior
flexibilidade na utilização que fazem do serviço de Internet que
contratam, incluindo alojamento
local de serviços e acesso remoto a informação interna.
b) Ao tentarem proteger certos
segmentos de negócio (ver acima) os ISP estão a eliminar outros segmentos. Por exemplo,
há muitos clientes potencialmente interessados em pagar um
serviço um pouco mais caro,
com um melhor upstream mas
que nunca estarão interessados
nos serviços dedicados cujo patamar de custo lhes é inacessível. Dada a diferença de custos,
este tipo de cliente (tipicamente
PME) acaba por se manter no
serviço mais básico, o que conduz a perda de negócio para o
ISP. Repare-se que, mesmo a
ser disponibilizado com upstreams melhorados, um serviço
ADSL/Cabo nunca terá o mesmo "nível de serviço" que um circuito dedicado (débito garantido, contenção, taxa de disponibilidade, prazos de reparação,
etc), pelo que a diferença de
custos continuará a fazer sentido1.
c) Não se pode aumentar indefinidamente o débito downstream
sem aumentar o upstream, visto
que todo o tráfego TCP está sujeito ao respectivo tráfego de
ACK (acknowledge (7)) que flui
no sentido inverso. Isto pode
ser rigorosamente calculado em
função dos tamanhos dos pacotes enviados. No entanto um
simples teste com ferramentas
universalmente
acessíveis
(wget, iptraf) permite obter que:
%tcp upstream rate ~ 1,84 %
de onde se obtém as relações:
2 Mbps => 36.80 kbps
4 Mbps => 73.61 kbps
8 Mbps => 147.22 kbps
16 Mbps => 294.45 kpbs
20 Mbps => 368,06 kbps
24 Mbps => 441,67 kbps
Os valores acima referem-se a
débitos efectivos a nível IP (ou
seja, os débitos calculados pelas aplicações) medidos sobre
um serviço ADSL.
Para se poderem comparar com
os débitos anunciados pelos
ISP com os débitos efectivos é
necessário descontar os overheads dos protocolos subjacentes:
Ethernet para serviço de Cabo e
PPP+Ethernet+ATM para servi-
ços ADSL (6,12).
No entanto, a existência de
overheads não afecta a relação
entre os valores, pois afecta ambos os lados da "equação" acima.
Daqui se conclui que, por exemplo, o serviço 24/400 vendido
até há pouco tempo por um ISP
nacional (9) era matematicamente impossível, porque a taxa máxima atingível em download está limitada pelo débito de upstream disponível que ficará saturado antes de se atingir o valor
máximo downstream. A situação foi entretanto corrigida por
aumento de taxa de upload disponível. Conclui-se ainda que
mesmo com um serviço 20/400
o utilizador só poderá usufruir
de 20Mbps em download, se
não estiver a efectuar nenhuma
espécie de upload, pois a linha
será totalmente tomada pelos
pacotes de ACK. Caso contrário, a performance downstream
cairá para valores muito inferiores.
A Netcabo foi o primeiro ISP a
tomar a iniciativa de aumentar
as taxas de upstream disponibilizando o serviço Netcabo Pro
com débitos 8Mb/1Mb (8). Seguiram-se muito recentemente a
Vodafone e a Clix (ADSL).
3) Que alternativas economicamente viáveis existem para
aumentar a taxa de upstream?
Enquanto a situação de mercado não se altera, uma alternativa a contratar um serviço dedicado é contratar N vezes o servi-
1 De facto, é importante referir que os parâmetros de largura de banda anunciados para os serviços ADSL/Cabo
representam valores máximos teóricos apenas possíveis em situações de baixo congestionamento. No caso dos
serviços ADSL a largura de banda anunciada é garantida apenas entre o CPE e o DSLAM, estando a partir daí
sujeita à taxa de contenção, que é o quociente entre o débito disponível DSLAM <-> ISP e a soma dos débitos CPE
<-> DSLAM. No caso da Internet por cabo, não há sequer qualquer garantia de débito, visto que a largura de banda é
partilhada continuamente por todos os CPE ligados ao mesmo canal.
2 Este tipo de configuração designa-se habitualmente por multi homing.
Número 4 :: www.revista-linux.com
20
Revista Linux :: Teoria
ço de melhor upload disponível,
à custa de algum investimento
em tempo de configuração2.
Por exemplo, um serviço com 2
Mbits pode “conseguir-se” com
dois serviços Netcabo Pro
8Mb/1Mb tendo em conta que:
- é necessário ter um servidor
ou router com 2 interfaces de rede
- é necessário configurar DNS
round robin (10) – vários Ips para o mesmo hostname
- só se conseguem obter 2Mbits
no somatório do tráfego; cada ligação individual está limitada a
1Mb mas estatisticamente conseguem-se os 2Mbits
Ver na Web
(1) http://www.linux.com
(2) http://www.apache.org
(3) http://en.wikipedia.org/wiki/ADSL
(4) http://en.wikipedia.org/wiki/Cable_internet
(5) http://en.wikipedia.org/wiki/DOCSIS
(6) http://tldp.org/HOWTO/ADSL-Bandwidth-Management-HOWTO
(7) http://en.wikipedia.org/wiki/Transmi...ntrol_Protocol
(8) http://www.tvcabo.pt/Internet/SpeedProMais.aspx
(9) http://acesso.clix.pt/
(10) http://en.wikipedia.org/wiki/Round_robin_DNS
(11) http://www.isp-planet.com/news/2005/cerf_f2c.html
(12) http://www.oplnk.net/files/WhitePaper_EncapsOverheads.pdf
(13) http://www.fccn.pt/index.php?module=pagemaster&
PAGE_user_op=view_page&PAGE_id=8
Abreviaturas:
CPE Customer Premises Equipment. Equipamento instalado no
cliente: modem/router de acesso à Internet.
DSLAM Digital subscriber line
access multiplexer. Agrega as ligações de múltiplos clientes
DSL num único link.
ISP Internet Service Provider.
Fornecedor de serviços Internet
P2P Peer to peer. Tráfego Internet “ponto-a-ponto” ou seja directo entre diferentes utilizadores sem depender de um servidor central.
Sobre o autor
Gustavo Homem é o director técnico da Angulo
Sólido, uma empresa especializada em serviços profissionais open source. Mais informações em http://www.angulosolido.pt
21
Número 4 :: www.revista-linux.com
Como jogar CS
em Linux
por Pedro Gaspar com o apoio de hdd.com.pt
C
ounter-Strike é o FPS Online mais jogado
em todo o mundo.
Counter-Strike, mais conhecido por CS, foi
jogado pela primeira vez em 1999 pouco depois de
Half-Life entrar no mercado. Desde essa data até
aos dias de hoje, CS tem sido um dos jogos mais
jogados em todo o mundo, responsável pela popularização das Lan-Houses em todo o mundo. Sendo considerado um “desporto” para muita gente,
este jogo movimenta muito dinheiro, havendo vários patrocínios de marcas conhecidas (como a NVIDIA e a Intel), e mesmo jogadores a receber um ordenado fixo para jogar.
$ sudo wget http://wine.budgetdedicated.com/
apt/sources.list.d/feisty.list -O
/etc/apt/sources.list.d/winehq.list
Ao longo do tempo, as versões do CS foram evoluindo: desde a primeira versão até às versões de
hoje houve muitas mudanças. CS é um mod para
o popular jogo Half-Life. Como foi referido anteriormente, pouco tempo depois do lançamento do HalfLife, Minh "gooseman" Le e Jess Cliffe criaram a
primeira versão do CS. Desde então, têm vindo a
evoluir progressivamente até à versão 1.6, sendo
que a partir desta o jogo passou a ser apenas jogado no Steam (ver caixa sobre o Steam). Recentemente, em Novembro de 2004, saiu o novo Half-Life 2 e com ele uma nova versão do CS (chamado
Counter-Strike: Source). Contudo, são muitos os jogadores que ainda jogam CS 1.6 pois, apesar do
CS: Source ter um grafismo muito melhor, o GamePlay do CS 1.6 é significativamente mais interessante.
$ apt-get install cvs build-essential
bison flex-old libasound2-dev
x-window-system-dev libpng12-dev libjpeg62-dev libfreetype6-dev libxrenderdev libttf2 libttf-dev msttcorefonts
libfontconfig1-dev
Debian Etch (4.0)
$ sudo wget http://wine.budgetdedicated.com/ apt/sources.list.d/etch.list
-O /etc/apt/sources.list.d/winehq.list
$ sudo apt-get update
$ sudo apt-get install wine
2 – Instalar o WineCVS em Ubuntu e Debian
Outras distribuições
$ wget http://winecvs.linux-gamers.net/
WineCVS.sh
$ sh WineCVS.sh
3 – Instalar os tipos de letra da Microsoft
Os tipos de letra da Microsoft são necessários porque o steam requer o tahoma.ttf
Estes tipos de letra (2) devem ser descompactados e colocados dentro da directoria ~/.wine/drive_c/windows/fonts
Nota: Caso esta directoria não exista, o leitor deve
executar qualquer aplicação com o WINE para que
ela seja criada, ou simplesmente executar winecfg
Como jogar CS, HL e outros
1 – Instalar o WINE (1) em Ubuntu Feisty (7.04)
Número 4 :: www.revista-linux.com
22
Imagem original da autoria de ladyphoenix1999
Revista Linux :: Prático
Revista Linux :: Prático
- Steam bloqueia caso o kernel seja inferior ao
2.6.15
Solução: Executar uname -r na consola e, caso o
kernel seja inferior ao 2.6.15, actualizar para um
mais recente.
- O jogo paralisa ao início
Possível solução: executar o winecfg e no separador áudio escolher as drivers OSS
- O jogo desaparece da barra de tarefas quando
se faz Alt+Tab
Possível Problema: Isso normalmente acontece
quando se está a jogar e se muda de aplicação para o Steam
Solução: killar o processo, para evitar que esta situação ocorra novamente. Aconselhamos que, ao
executar o jogo, se feche o steam para o trayicon.
Figura 1
(comando para configurar o WINE)
4 – Instalar o Steam
Antes de mais, o leitor deve fazer download do steam a partir de (3).
Agora, através da consola, execute o seguinte comando dentro da directoria para onde fez o download do Steam: wine SteamInstall.exe
Nota: Muitas das distribuições existentes já suportam a abertura dos ficheiros .exe pelo duplo clique
do rato. Caso a sua distribuição ainda não os suporte, a forma de o fazer explicada anteriormente
é a única possível
Agora deverá aparecer no ecrã uma janela igual à
da Figura 1. Os passos da instalação são intuitivos, pelo que não consideramos que seja necessário entrar em detalhes.
- Ao iniciar um jogo ocorre um erro deste género :
“The registry was in use by another process”
Possível razão: Isto normalmente acontece quando o jogo é mal fechado, killado ou simplesmente
acontece sem razão aparente.
Solução: No steam no separador “Os meus jogos”
clique com o botão direito no jogo em questão e cliquem nas propriedades do mesmo. Depois, no separador “Local Files”, terá um botão chamado “Verify integrity o game cache” em que deverá carregar. Este processo irá demorar alguns minutos,
mas depois de concluído o jogo deve correr na perfeição.
No fim da instalação, o Steam deve executar-se
automaticamente fazendo de imediato updates.
Depois desta etapa, deve aparecer uma nova janela perguntando se pretende criar uma nova conta,
ou fazer login com uma já existente.
Depois de fazer o login, aparecerá a primeira janela do steam com uma página em branco. Isso deve-se a um bug que ainda não foi corrigido e tanto
a primeira página do steam como os “motd” aparecerão assim ao entrar nos servidores.
Agora o leitor deve dirigir-se ao separador “Os
meus jogos” e aí aparecem todos os jogos a que a
sua conta tem direito.
Jogos que funcionam usando o WINE *:
• Half-Life
• Half-Life 2
• Counter-Strike: 1.6
• Counter-Strike: Source
• Day of Defeat: Source
Sobre o Steam
Steam é uma aplicação de gestão de direitos digitais criada pela Valve que tende a combater a
pirataria e a fornecer actualizações automáticas
aos jogos por ele geridos. Esta aplicação permite também comprar jogos sem precisar de aceder a nenhuma página, ou receber correio com
os Cds, pois no fim de pagar o jogo (via cartão
de crédito ou outros) é feito o download do jogo
para o PC.
Ver na Web
(1) http://www.winehq.org/site/download
(2) http://corefonts.sourceforge.net/
(3) http://www.hdd.com.pt/902733
Erros conhecidos:
* Estes são os únicos jogos que confirmamos que joguem, no entanto, certamente que haverá muitos
outros que também funcionam.
23
Número 4 :: www.revista-linux.com
Revista Linux :: Teoria
Open Source
na prática
Artigo adaptado para
Português-Europeu
por Avi Alkalay
O
O primeiro a propor a
ideia de Open Source
Software (OSS) foi Richard Stallman na década de
70, que a formalizou com a ajuda de alguns advogados na famosa licença GPL. Ninguém se
interessou ou sequer ouviu falar
disso, até que em meados da
década de 90 tudo mudou com
a vertiginosa popularizacção do
Linux, sistema operacional OSS.
O termo popular “Software Livre” não é a melhor tradução de
Open Source Software, cuja designação correcta é Software de
Código Fonte Aberto. É importante notar isto porque muitas
vezes o termo é erradamente
associado à ideia de não-proprietário, ou não-comercial. A verdade é que um software pode
ter o seu código fonte aberto
mas ser comercial e/ou proprietário e vice-versa, portanto são
conceitos que não devem ser
confundidos.
A ideia é simples: eu escrevo
um programa e o leitor pode copiá-lo à vontade sem nem sequer me notificar. Pode inclusive modificá-lo e redistribuí-lo,
contanto que também mantenha
as suas modificações abertas e
informe qual a origem e os auto-
res anteriores do software.
Isso não quer dizer que teremos
diversas versões desconexas
do mesmo software, num dado
momento. Cada modificação
passa por um processo muito
bem organizado de aceitação
ou rejeição, onde boas melhorias retornam à base e são incorporadas à nova versão do
software. Na verdade, actualmente, a maioria dessas contribuições não é mais feita por indivíduos, mas por empresas de
tecnologia.
É comum – e errado – pensar
que OSS significa a morte de todo o software de código fechado. Isso não acontece porque a
tendência é para que as grandes inovações continuem a ser
exploradas pelo modelo fechado. Imagine um mundo hipotético que ainda não conhece editores de folhas de cálculo. É natural que, ao lançar esse produto,
o seu inventor opte pelo modelo
de código fonte fechado, para
maximizar os seus lucros através do total controlo da sua invenção. Contudo, conforme essa invenção se populariza, desenvolve um mercado e adquire
concorrentes. O OSS surge como uma das formas – a mais
inovadora – para repensá-la. O
OSS inova ao reimplementar o
Número 4 :: www.revista-linux.com
24
que outros inventaram e exploraram anteriormente. Recentemente, porém, a indústria começou a usar OSS directamente
para lançar certas inovações,
justamente pelo seu poder de
agregar comunidades e criar
ecossistemas.
Também é comum – e errado –
acreditar que se o software em
si é gratuito, elimina-se por completo os gastos. Mas haverá
sempre a necessidade deum suporte confiável. O OSS altera o
eixo do valor agregado do
software, movendo-o do software em si (que não custa nada),
para o serviço de suporte.
No seu processo de amadurecimento, a única diferença prática
entre um software OSS e outro
de código fonte fechado é a ordem pela qual as coisas acontecem. Um fabricante comercial terá que criar estrutura e suporte
regional antes de vender o produto. Já no OSS, ofertas de suporte só surgem (espontaneamente) depois deste gozar de
uma boa gama de usuários.
Mas seja qual for a ordem, a única coisa que garante maturidade a qualquer software ou produto é um ciclo de desenvolvimento–uso–suporte, que estimula mais desenvolvimento. So-
Revista Linux :: Teoria
mente essa maturidade garante
a aceitação do produto em empresas responsáveis. E hoje os
OSSs como o Linux, o Apache,
o OpenOffice.org, o Samba e
outros já gozam desse ecossistema cíclico de uma forma vasta, global e vigorosa.
Hoje, o OSS tem aplicações
mais maduras em infraestrutura
e alguns nichos de middleware.
Por sua vez, os softwares de código fonte fechado apresentam
maior desenvoltura de mercado
nas funcionalidades de maior valor agregado ao negócio (ERPs,
CRMs ou processos empresariais). Isto porque estas funcionalidades têm uma amplitude menor de usuários, o que inviabili-
za o surgimento de suporte espontâneo – factor vital para a
maturidade do OSS.
A indústria tem procurado um
balanço saudável para misturar
componentes fechados com
OSS, a fim de maximizar o seu
benefício sem abrir mão da maturidade de ponta a ponta. Prova disso é que tem sido cada
vez mais comum a implantação
de ERPs maduros – geralmente
de código fechado – sobre plataformas abertas maduras – como
distribuições Linux com suporte.
chado, o uso de padrões amplia
as escolhas e a liberdade da
empresa que compra TI para
compor a melhor mistura do momento, com opções OSS e/ou
de código fechado.
Ver nota biográfica sobre o
autor na página 10
A receita para o melhor balanço
é insistir no uso de Padrões
Abertos. Por garantirem uma interoperabilidade fácil entre camadas abertas e de código fe-
25
Número 4 :: www.revista-linux.com
Revista Linux :: Teoria
Artigo adaptado para
Português-Europeu
Paravirtualização
por Avi Alkalai
E
m TI, a virtualização é
usada para simplificar, esconder ou mascarar detalhes de funcionamento infra-estruturais de um hardware ou
software. Faz com que um componente se comporte ou emule
outro tipo de equipamento. Então, o que se executa sobre a
plataforma virtualizada passa a
dar mais foco à sua super-estrutura ou lógica de negócio.
Isto torna-se de mais fácil compreensão quando classificamos
alguns tipos interessantes de virtualização:
• Driver de Dispositivo. Esconde
detalhes de um dispositivo específico criando uma representação virtual de um dispositivo genérico. É uma das formas mais
populares de virtualização.
• Virtualização de Hardware. Geralmente um software que simula todos os aspectos de um computador, incluindo firmware e
dispositivos.
• Virtualização de Sistema Operacional. Ou simplesmente SO.
Provê APIs genéricas que podem ser usadas por uma ou várias aplicações simultaneamente.
É uma das virtualizações mais
completas, mais usadas e menos associadas à ideia de virtualização.
• Virtualização de Servidor de
Aplicações. Idêntica em todos
os aspectos à do SO, mas provê APIs e serviços de ordem
mais abstracta. Os SOs modernos como o Linux e o Windows
já incluem esta camada como
parte das funcionalidades que
provêem. Como exemplo, temos J2EE e várias outras APIs
no universo Linux e .NET no
mundo Windows.
• Grid. Pode ser visto como um
novo SO cujas APIs simplificam,
escondem e automaticamente
geram uma malha de recursos
computacionais heterogéneos e
distribuídos.
Há outros tipos de virtualização,
mas o importante agora é entender que os principais objectivos
do uso de virtualização são a independência e a separação lógica entre camadas de funcionalidades diferentes, uma melhor
gestão de políticas de segurança e um melhor aproveitamento
de recursos computacionais.
Este último ganhou uma maior
expressão nos últimos anos,
abrindo mão exaustivamente da
Virtualização de Hardware e
muitas vezes negligenciando outros tipos de virtualização – especialmente a do SO – que pode trazer os mesmos benefícios
de forma mais simples e barata.
A Virtualização de Hardware é
especialmente prática porque
permite manejar o que antes
era metal e silício físico, como
se fosse agora um software, gravável numa mídia, transportável
pela rede, etc. Mas a separação
lógica entre hóspede e hospedeiro não lhes permite cooperar
de forma mais eficiente. Por exemplo, o hospedeiro não consegue ter a mínima idéia de como
seu hóspede está usando a memória física. Assim, pode haver
um re-trabalho em coisas comuns como gerência de memória virtual, etc.
A princípio, a Paravirtualização
parece uma Virtualização de
Número 4 :: www.revista-linux.com
26
Hardware, mas propõe que o
SO hóspede “saiba” que está a
viver sobre uma camada virtual
e possa interagir com ela. Isto
implica alterações no SO hóspede, mas garante uma cooperação sem precedentes entre as
duas camadas.
O datacenter do futuro – vislumbrado com tecnologias de paravirtualização do presente – será
todo virtual. O que hoje está
num servidor físico dedicado, estará num servidor virtual dedicado, sobre um servidor físico dedicado. Simplesmente porque a
perda de performance da paravirtualização tende a zero e porque se ganha muita flexibilidade
na gerência.
A máquina paravirtual passa a
ser um líquido que se adapta a
qualquer recipiente, pode ser migrada a quente com milissegundos de indisponibilidade real, armazenada em backup ou fazer
parte de um esquema de alta
disponibilidade de máquinas virtuais. Agora só a imaginação é
o limite.
O primeiro SO moderno que implementou estas modificações
foi o Linux, com o projeto Xen.
A ideia espalhou-se, o mercado
de virtualização gostou e fabricantes como VMWare e Microsoft aderiram a ponto de mudar
as suas estratégias nesse sector, sendo que, actualmente, há
um diálogo bem sucedido na indústria sobre padronização das
interfaces hóspede-hospedeiro.
Ver nota biográfica sobre o
autor na página 10
Concentrando-nos
no Utilizador Final
por Mayko Nestor
artigo adaptado para
Português-Europeu
N
ão podíamos iniciar este
artigo sem antes definir
o conceito de utilizador fi-
nal:
O “utilizador Final” é simplesmente aquele utilizador que
quer que as coisas funcionem
automaticamente, sem intervenção de linhas de comando e de
uma forma prática para seu uso
no dia-a-dia.
Utilizador, do latim usuariu, é
aquele que possui ou desfruta
alguma coisa pelo direito de uso.
Do ponto de vista do programador um “utilizador Final” é a pessoa que utiliza o sistema no seu
dia-a-dia. O programador cria o
sistema mas o utilizador é sempre o outro, aquele que utiliza.
Migração
Devemos também ter em conta
que este utilizador já tem um conhecimento prévio de um sistema operacional proprietário e
que existe um tempo de aprendizagem, em que se aprendeu
por necessidade, por não haver
uma alternativa ao sistema operacional a ser utilizado como
existe hoje em dia.
Por isso mesmo, podemos utilizar este tempo de aprendizagem para fazer com que este utilizador utilize o sistema operati-
vo GNU/Linux (1)?
Distribuições como o Famelix
GNU/Linux (2) desenvolvido por
uma Faculdade (3) no sul do
Brasil fez isso.
Transformou com base em diversas distribuições (Debian (4)
Kurumin (5), e Knoppix (6)), um
sistema operativo GNU/Linux
num ambiente similar ao do Windows XP (7).
Existem também outras distribuições como o Freedows (8) e o
Blanes (9) que são interfaces
gráficas que podem ser instaladas em qualquer distribuição
GNU/Linux.
Como é referido num dos principais objectivos do projecto Famelix/GNU/Linux: “Desenvolver
uma distribuição de modo a que
o utilizador final esteja habituado a trabalhar até ao momento
em que o mesmo já esteja apto
a escolher a sua própria distribuição, de acordo com as suas
necessidades.”
Porém, esta situação origina
uma grande discussão entre os
programadores GNU/Linux, pois
alguns acreditam que o GNU/Linux deve ter a sua própria identidade, com as suas característi-
Número 4 :: www.revista-linux.com
28
cas intocáveis, e outros crêem
que se o GNU/Linux for parecido com o Sistema operativo
Windows facilita a migração do
utilizador deste para um sistema
operativo GNU/Linux.
Acreditando que o utilizador final esteja já cansado de aprender devido ao seu investimento
de tempo e dinheiro para aprender o que já sabe, é viável considerar a alternativa de criar um
GNU/Linux de acordo com o conhecimento que o utilizador possui.
Não cabe a nós, programadores, criticarmos e decidirmos isto, cabe ao próprio utilizador decidir qual o tipo de GNU/Linux
utilizar.
Além de esquecer que todos
nós diariamente vivemos o papel de utilizador, o programador
esquece também que este utilizador – indeciso, amedrontado,
receoso de nos fornecer e conseguir informações, hostilizado
por algumas equipas por ser
considerado alguém com pouco
conhecimento de informática –
é a pessoa para o qual o sistema se destina. Sem ele, o trabalho de um programador não teria o mesmo valor, aliás, talvez
nem existisse trabalho.
Imagem original da autoria de Stefan Koopmanschap
Revista Linux :: Teoria
Revista Linux :: Teoria
Utilizadores como os descritos
acima tentam todos os dias obter respostas pela Internet em
Fóruns, ou até mesmo por email para programadores, solicitando alguma ajuda ou propondo alguma solução. E muitos
destes programadores, por terem criado algum projecto, sentem-se prepotentes e respondem (quando respondem) aos
utilizadors com dúvida:
Ex:
- Você tentou procurar no Google?
- Não tenho tempo para responder, estou com muito trabalho
no projecto...
- RFM. (Read the ******* Manual. - Leia a ***** do Manual.)...
- Descarregue o manual no link:
x... (Esse é raro)
Existem utilizadores sem muito
conhecimento que tentam fazer
algumas perguntas sobre o funcionamento de algum sistema e
fazem esta pergunta de uma
maneira banal, (para os olhos
do programador) que este responde de forma grosseira e definitiva, para que o utilizador não
responda ou não peça mais ajuda.
Ex:
- O meu computador não acende a luzinha do “Scrool Lock”
quando eu o pressiono, ele está
com algum problema no sistema operativo?
É uma pergunta muito simples
de ser respondida (como: o seu
teclado deve estar com algum
problema, ou algo assim), contudo um programador, quando recebe uma mensagem como esta, responde duma tal maneira
que rebaixa o utilizador, fazendo com que este nunca mais utilize esse sistema.
Devemos pensar, quando pensamos em difundir o Sistema
Operacional GNU/Linux, que de-
vemos atender o nosso público,
os utilizadores e, se estes não
têm o tratamento adequado nas
respostas às suas dúvidas, como iremos alcançá-los nos seus
computadores?
Não podemos julgar os nossos
utilizadores. Na verdade, não
devemos julgar ninguém pelas
suas atitudes. Além do mais, como julgaríamos alguém que tivesse a atitude de tentar aprender perguntando ao próximo?
Infelizmente, os programadores
GNU/Linux têm muito que aprender quando se trata de tratamento ao utilizador, não há um tratamento adequado para com o
consumidor de seu sistema, este deve baixá-lo, instalá-lo sem
questionamentos. Se houver, de
forma alguma deve perguntar
ao programador.
Mas não são todos os programadores que agem desta maneira,
um exemplo são os programadores do Ubuntu GNU/Linux (10),
pois estes tem um sistema de
respostas aos utilizadores que
entende as necessidades dos
mesmos e tratam cada utilizador do seu sistema como se fosse único.
Não poderia ser este o motivo
desta distribuição ter sido difundida tão rapidamente entre os
utilizadores de computador?
Este artigo não pretende atingir
nenhum programador, nem distribuição. Foi escrito somente
para ajudar aos programadores
a entender o que um utilizador
passa antes de aprender o que
ele espera utilizando uma distribuição GNU/Linux, e visa apenas melhorar a aceitação deste
sistema operativo que todos estão interessados em ter nos
seus computadores, ou pelo menos tentam.
Ver na Web
(1) http://www.linux.org
(2) http://www.famelix.com.br
(3) http://www.fameg.edu.br
(4) http://www.debian.org
(5) http://www.guidohardware.com.br
(6) http://www.knopper.de
(7) http://www.microsoft.com
(8) http://www.freedows.com.br
(9) http://www.blanes.com.br
(10) http://www.ubuntu.org
Sobre o Autor
Mayko Nestor Meier, possui graduação em
Administração - Sistemas de Informações
Gerenciais pela FAMEG - Faculdade Metropolitana de Guaramirim (2005). Atualmente
é técnico em desenvolvimento de sistemas
nesta Faculdade. Tem experiência na área
de Ciência da Informação, com ênfase em Desenvolvimento
de Sistemas Operacionais. Participa Ativamente do Projeto
Famelix, Sistema Operacional Famelix GNU/Linux é uma distribuição criada com a finalidade de oferecer um ambiente similar ao Windows XP ("Linux com cara de XP"), de tal maneira que facilite a migração de usuários do sistema operacional
proprietário a um sistema livre, e que se possa aproveitar os
conhecimentos já adquiridos pelos usuários.
(www.famelix.com.br)
29
Número 4 :: www.revista-linux.com
Revista Linux :: Entrevista
Entrevista com
Vasco Costa
entrevista conduzida por
Duarte Loreto
O
nosso convidado desta
edição para a secção de
entrevista é Vasco Costa. Constando deste número o
artigo sobre o jogo Freeciv, afigura-se esta como sendo a melhor altura para entrevistarmos
um dos seus actuais administradores, que é português!
Revista Linux: Como tomou conhecimento do projecto Freeciv?
Vasco Costa: Foi quando eu estava a estudar na universidade.
Era Verão, eu tinha imenso tempo livre, já tinha jogado todos os
meus jogos de computador. Peguei no disco de uma distribuição de Linux e percorri a lista
de jogos de A a Z. Tinha jogado
o Civilization da Microprose no
secundário e achei interessante
voltar a pegar num jogo assim.
Desta vez ia poder jogar através
da Internet com outras pessoas
no Linux.
RL: Desde quando está envolvido na equipa de desenvolvimento do Freeciv?
VC: O Freeciv começou a ser
desenvolvido em 1995. Eu comecei a programar para o projecto em 1998. Faço parte da
equipa de administração desde
2001.
A nossa equipa de desenvolvimento é internacional. Temos
pessoas da Europa, Américas,
Oceania e Ásia. Dezenas de
pessoas, sem acesso de escrita
ao repositório público de dados,
contribuem para o projecto. Temos trinta e oito membros com
acesso de escrita ao repositório.
Destes trinta e oito, sete são a
equipa de administração.
RL: Que papel assume dentro
da equipa e qual a área do jogo
em que mais está envolvido?
VC: Já fiz um pouco de tudo.
Programei o cliente gráfico
GTK+, resolvi problemas no código de rede, mexi no código do
motor do jogo para tornar as regras mais flexíveis e configuráveis, dei início à tradução do interface para Português e coloquei a nossa nação e bandeira
no jogo. Ajudei as pessoas, que
estavam a tentar fazer o jogo
funcionar melhor em Windows e
Mac OS X, a resolver problemas. Ajudei na manutenção do
website e dos serviços de rede.
Nos últimos anos, as minhas tarefas têm sido principalmente
administrativas e de suporte ao
projecto: mudança dos conteúdos web para a plataforma CMS
MediaWiki, arranque dos fóruns
para utilizadores, mudança de
CVS para SVN. A nossa carga
de serviços era claramente excessiva e a nossa gente estava
sobrecarregada. Incentivei o outsourcing de serviços não nucleares ao projecto para fornecedo-
Número 4 :: www.revista-linux.com
30
res
como
SourceForge.net,
Gna.org e Wikia.com de modo a
não bloquear o desenvolvimento. Conseguimos fazer outsourcing dos serviços críticos como
o repositório de dados e os conteúdos web. Contudo, o nosso
serviço de servidores públicos
de jogo sofreu um colapso por
falha de hardware.
RL: Há algum momento durante
o seu envolvimento no Freeciv
em que se tenha sentido especialmente contente, designadamente com a conclusão de algum sub-projecto ou implementação de alguma funcionalidade?
VC: Vários, por exemplo:
- A primeira vez que consegui jogar um jogo completo, com o cliente gráfico que tinha feito.
- Quando me deram acesso de
escrita ao repositório.
- Quando vi o interface traduzido para Português, após o esforço de várias pessoas.
- Quando vi o nosso fórum de
utilizadores ultrapassar os 100
utilizadores registados. Agora temos mais de 2000.
Fora das tarefas do projecto:
- Quando dois dos nossos jogadores, que se conheceram através do nosso jogo, decidiram
dar o nó e tiveram crianças.
RL: Consegue conciliar facil-
Revista Linux :: Entrevista
mente a vida pessoal e profissional com o seu envolvimento no
Freeciv?
VC: Nos últimos anos eu, bem
como todos os administradores,
temos tido mais responsabilidades na nossa vida profissional.
No meu caso, isso levou a que
tivesse de deixar de lado as tarefas mais intensivas que eu
gosto, como a programação em
C neste projecto, para outras
pessoas. Tento ajudar naquelas
tarefas que os outros programadores de C normalmente não
gostam de fazer, mas que eles
ou os nossos jogadores precisam e que têm tendência a ficar
para o fim ou a nunca ser feitas.
Tento contribuir nos meus tempos livres e férias, que são cada
vez mais reduzidos, à medida
que assumo mais responsabilidades na minha vida pessoal e
profissional. Dado que isto tem
sido problema para os administradores em geral, tivemos uma
quebra de ritmo no desenvolvimento do projecto.
Conseguimos
recentemente
atrair uma nova geração de programadores. Por isso, tenho
confiança no futuro deste projecto. Estamos sempre abertos a
mais gente e ideias novas.
RL: O seu envolvimento no Freeciv contribuiu ou trouxe de alguma forma benefícios durante
a sua licenciatura ou, posteriormente, para a sua vida profissional, nomeadamente pela experiência de áreas de desenvolvimento, gestão de equipas ou de
trabalho em equipa com equipas remotas?
VC: A experiência que obtive
em desenho de interfaces, programação e administração de redes, bem como auto-gestão tem
sido de grande ajuda. Na empresa em que trabalhei anteriormente, é política usar software livre ou aberto sempre que possível. Os sócios não só eram
bons líderes de pessoas e comunicativos, como possuidores
de saber técnico, abertos a novos e melhores modos de fazer
trabalho. O facto de eu já ter experiência na comunidade ajudou-me a conseguir a entrevista. Quem conhece a comunidade sabe que nós somos pessoas motivadas para o trabalho,
que não precisam de muito esforço de gestão para obter resultados. Como diz o ditado: quem
corre por gosto não cansa.
Tenho recorrido cada vez mais
ao trabalho remoto com outras
pessoas. Certos gestores demonstram algum grau de abertura a esta forma de trabalho. Infelizmente, penso que muitos gestores ainda têm a mentalidade
enraizada numa era pré-Internet, em que as pessoas têm horários fixos para trabalho em locais fixos. Apoiam-se em métodos subjectivos e qualitativos de
avaliação. Querem ver a cara
das pessoas, vê-los de corpo
presente para ficarem descansados que se está a trabalhar de
facto.
Nos projectos de software livre
nós reconhecemos trabalho produzido, usamos métricas quantitativas como linhas de código,
índices de actividade, funcionalidades implementadas, bugs corrigidos. Sabe-se que para atingir resultados de qualidade em
software, é necessário dar tempo para este amadurecer. Que
às vezes é preciso sair de frente
do PC, mudar de ambiente, para as ideias surgirem. Penso
que existiu mais disciplina de desenvolvimento e engenharia de
software pura e dura nos projectos de software livre, que nos
projectos de software tradicional
em que participei. Para não falar que, devido à dimensão do
nosso mercado, as equipas de
desenvolvimento são tradicionalmente mais pequenas cá que
nos projectos de software livre.
RL: Costuma também jogar Freeciv com frequência ou limita o
tempo de jogo ao necessário pa-
31
ra testar e detectar bugs?
VC: Não jogo mais. É demasiado viciante. Se jogasse não tinha tempo para fazer mais nada! [Risos]
RL: A decisão de integração do
Freeciv com o "GGZ Gaming Zone" deveu-se apenas à expectativa de atrair mais jogadores/divulgar o projecto ou teve outros
motivos?
VC: Os nossos jogadores adoram servidores públicos em que
podem jogar contra outras pessoas. Os nossos servidores públicos entraram em colapso por
falha de hardware, temos de arranjar um substituto menos centralizado, mais resistente a falhas.
RL: Quais são algumas das futuras funcionalidades que poderão vir a ser implementadas no
Freeciv?
VC: - Serviço de jogos descentralizado.
- Gráficos melhorados.
- Editor de jogo integrado.
- Cliente SDL completo.
- Cliente para Mac OS X que
não necessite de X-server instalado.
- Mais campanhas e cenários
de jogo.
- Suporte IPv6.
- Suporte para zoom do mapa.
- Música e som melhorados.
RL: Têm algum tipo de estatísticas ou valores aproximados que
vos permitam saber qual a percentagem de utilizadores em cada uma das diferentes plataformas suportadas (ou, pelo menos, entre Linux/UNIX, Windows
e Mac)? Se sim, esses valores
estão de acordo com as vossas
expectativas?
VC: Sim. Temos estatísticas
das pessoas, que se tentam ligar a servidores de jogo através
da Internet. Ficamos surpreendidos por a maioria dos nossos
utilizadores, ao contrário de há
dois anos atrás em que havia
Número 4 :: www.revista-linux.com
Revista Linux :: Entrevista
mais gente com Linux, utilizar a
plataforma Windows. Porquê
mais gente com Windows? O jogo está mais fácil de instalar e
lançar. Também penso que as
pessoas estão fartas de comprar PCs novos com placas gráficas 3D topo de gama para jogar um jogo de estratégia. Penso que não temos mais utilizadores de Mac OS X devido a não
termos um cliente gráfico nativo,
fácil de instalar, que não necessite de X-server instalado. O cliente gráfico mais utilizado ainda
é o GTK+ que eu desenvolvi originalmente e depois converti para GTK+ 2.x.
Disponibilizo umas estatísticas
baseadas no sistema operativo
de jogadores que se tentaram ligar aos servidores públicos no
primeiro semestre dos últimos
três anos.
RL: Pessoalmente, acha que há
mercado económico para jogos
comerciais que tenham uma versão Linux? Por que acha que a
maioria das produtoras ignora
esta plataforma?
VC: Sim, penso que existe mercado para jogos comerciais para Linux.
No desenvolvimento de software os custos estão na concepção e produção, sendo os custos de replicação quase nulos.
Compreendo as razões das produtoras. Se eu fosse uma produtora tentaria alcançar a maior
audiência possível, com os menores custos de desenvolvimento de software. Algumas pensam que conseguem isto utilizando DirectX. Assim já podem
vender para Windows e Xbox.
Pensam que o esforço de fazer
versões para outras plataformas
é inusitado. E é inusitado se forem usados os canais tradicionais de distribuição, como vender jogos em caixas na FNAC,
para depois ficarem na prateleira.
RL: Qual considera ser a maior
limitação técnica ao desenvolvimento de mais jogos para Linux, quer comerciais, quer
Open Source? Ou acha que é
tudo uma questão de política e
economia?
VC: Não é apenas política e
economia. As APIs de multimédia no Linux são fracas. Precisamos de mais APIs de
software livre e aberto
multi plataforma, fáceis de
usar, que também funcionem em Windows, Mac
OS X e nas consolas. Precisamos de melhores drivers para 3D.
RL: Acha que os jogos online de mundos persistentes (MMORPG's) são o futuro dos jogos, em que os
actuais jogos offline estão
condenados a desaparecer, ou há espaço para ambos
os tipos?
VC: Penso que os jogos offline
continuarão a existir, mas o
meio de aquisição por excelência será a Internet. O modelo
Número 4 :: www.revista-linux.com
das caixas na prateleira não faz
sentido. A ideia que um jogo é
algo que se faz uma vez para
ter poucos patches só faz sentido para jogos simples. Jogos
complexos, com elevados custos de desenvolvimento, que os
jogadores jogam de forma intensiva, adaptam-se melhor a um
modelo de subscrição mensal.
RL: Pessoalmente, que jogos
costuma jogar, sem ser o Freeciv? Algumas recomendações
(jogos que corram em Linux nativos ou através de Wine/Cedega/Crossover Office)?
VC: De estratégia: “Europa Universalis III” e “Galactic Civilizations II : Dread Lords” na plataforma Windows. “Wesnoth” na plataforma Linux.
Cada vez tenho menos tempo
para estes jogos intensivos de
estratégia. Adoro os velhos clássicos das máquinas de jogos.
Jogo um bocado, divirto-me, e
desligo. Esses posso jogar em
qualquer plataforma, graças ao
MAME.
RL: Por último, para ficar como
indicação para os nossos leitores, há algum conselho que
ache adequado transmitir a estudantes (ou outros) que estejam
tentados a iniciar contribuições
para o mundo Open-Source?
VC: Encontra algo que queiras
mudar ou adicionar ao teu
software favorito. Trabalha, submete o teu trabalho a quem de
direito. Aceita críticas construtivas. Não esperes glória ou reconhecimento imediato.
Sobre o entrevistado
Vasco Costa, 29 Anos. Estudante de Doutoramento em Computação Gráfica no Instituto Superior Técnico.
32
Revista Linux :: Prático
BluePad
por Joaquim Rocha e Valério Valério
N
a cadeira de Computação Ubíqua da Licenciatura em Engenharia Informática na Univerdade de Évora
o projecto final da cadeira teria
que ser proposto pelos alunos.
Assim, e após várias ideias descartadas por nós (Joaquim Rocha e Valério Valério), numa explanada de um jardim de Évora
surgiu a ideia de desenvolver
um software para dispositivos remotos, nomeadamente telemóveis, que permitisse o controlo
remoto de um computador.
A ideia por detrás deste software é a de o utilizador poder configurar que teclas quer pressionar
no telemóvel e que teclas do PC
são simuladas. A utilização do
comando estaria, obviamente
orientada a controlar apresentações, filmes e música mas quisemos estender o uso do
software e permitir também controlar jogos. Ou seja, qualquer
pessoa poderia usar o seu telemóvel como comando de jogos
e não precisar do teclado ou de
carregar consigo um “game
pad”.
Para a comunicação escolhemos usar o bluetooth, assim, escolhemos o nome BluePad para
o nosso sofware.
O BluePad, após a sua avaliação na cadeira, foi lançado sob
a licença GNU GPL e está agora disponível a todos na sua página oficial (1).
No PC
O BluePad é dividido no programa para computador e no programa para telemóvel.
O programa para computador
foi escrito em Python usando o
módulo PyGTK para produzir
um interface GTK.
A simulação das teclas é conseguida através do envio de identificadores das teclas para módulo “uinput” do kernel. Este módulo é usado por exemplo por joysticks e simula teclas interagindo
com a janela que está em foco.
A comunicação por bluetooth é
manipulada no PC usando o módulo PyBluez.
No telemóvel
O programa para telemóvel foi
escrito em J2ME o que permite,
juntamente com os outras técnicas de programação, a sua utilização em várias plataformas.
A manipulação da comunicação
por bluetooth foi conseguida
através da API JSR 82.
É no telemóvel que o utilizador
escolhe tanto as teclas do telemóvel que deseja atribuir a uma
funcionalidade, como as teclas
do computador.
Então, quando o utilizador pressiona uma tecla configurada, é
enviada ao computador a informação com o código da tecla
que o este deve simular.
BluePad no PC
33
Número 4 :: www.revista-linux.com
Revista Linux :: Prático
Ao clicar com o botão direito do
rato em cima deste para ver o
menu onde deverá escolher a
opção “Preferences”.
Ecrã de menus no telemóvel
Instalação
Para a instalação no telemóvel
pode fazer download (2) dos ficheiros .jar e .jad que permitem
a fácil instalação e cuja explicação deverá vir no manual do telemóvel a instalar.
No caso do computador, para
sistemas baseados em Debian
(Ubuntu, Alinex, etc.) pode fazer
download do pacote “deb” (3) e
facilmente instalá-lo.
Para outras distribuições não é
mais difícil, basta fazer download do código-fonte (4) e correr o
script “bluepad”.
Uso
Após inicializar o BluePad (por
execução do script ou através
do menu do GNOME) e quer o
seu ambiente gráfico seja o
GNOME ou KDE, deverá aparecer uma janela a pedir a password de root. Tal permissão é
necessária devido à simulação
das teclas do PC ser conseguida através do módulo “uinput”
do kernel. Neste momento deverá aparecer o “splash” do programa e a seguir o ícone do BluePad aparece no tray do seu gestor de janelas.
Uma janela muito simples surgirá então e deverá clicar no botão “Find” para depois seleccionar o seu telemóvel do menu
“drop-down” – será de lembrar
que deverá ter o bluetooth do
seu telemóvel previamente activo – e clicar em “Connect”.
Se a ligação correu bem, aparecerá um balão com o nome do
dispositivo ao qual o seu PC se
encontra ligado e o ícone do
tray deverá ficar azul (significando que está conectado a um dispositivo remoto).
No telemóvel, após escolher a
língua e aceder ao menu principal, deverá escolher a última opção: “Selec. Dispositivo”.
Após a busca lhe devolver a lista de dispositivos no alcance do
telemóvel, escolha o correspondente ao seu PC e escolha a opção “Ligar ao disp.”.
A máquina vistual do Java do
seu telemóvel dever-lhe-á pedir
permissão para a conexão e,
após dar a permissão, deverá
estar ligado ao seu PC.
A magia
forma, se fosse controlar um filme após ter controlado uma
apresentação teria que configurar de novo as teclas para o filme...
Em cada categoria, os ícones
(que são originários do conjunto
de ícones Tango para GNOME)
descrevem as acções e as teclas do telemóvel que a desempenham estão escritas à frente
destes.
Caso pretenda configurar as teclas do PC ou do telemóvel,
pressione a tecla correspondente ao “Menu” (o nome “menu”
pode variar conforme o modelo
e marca do telemóvel) e escolha que teclas quer configurar –
PC ou Telemóvel. Então ser-lheá apresentado um interface tipo
“roda-da-sorte” onde pode escolher as teclas configuráveis.
Problemas
Como projecto novo que é, não
poderiam deixar de existir alguns problemas. Temos alguns
problemas de multi-thread devido à natureza do GTK+.
Como o projecto foi desenvolvido primariamente sobre e para
o ambiente GNOME, também
existem alguns problemas de integração com o KDE, que espe-
Voltando ao menu principal,
existem três categorias principais para controlo do seu PC:
Apresentações;
Filmes;
Jogos.
Dentro de cada uma destas,
pressionando as teclas configuradas do telemóvel, as teclas
correspondentes do PC serão simuladas neste último, controlando a janela que está no focus.
Mas, desta forma, para que existem categorias distintas? A lógica de existência de categorias
são, basicamente, o poder ter
três configurações de acções/teclas em simultâneo. De outra
Número 4 :: www.revista-linux.com
34
Perfil de filmes/música
Revista Linux :: Prático
ramos serem resolvidos brevemente.
Alguns jogos mais elaborados
também parecem ignorar os inputs dados através do BluePad,
problema que desconhecemos
a razão e que será por isto mesmo, desafiante.
Conclusão
O BluePad encontra-se na sua
fase “jovem” onde alguns aspectos necessitam ser melhorados
mas apresenta-se já como algo
útil e pronto a ser usado, ainda
que com algumas limitações.
O número de downloads logo
nos primeiros dias deixou-nos
contentes e recompensados pelo nosso trabalho, esperamos
que aumentem.
Será de extrema importância a
colaboração que quem estiver
interessado com testes em telemóveis que não constem na lista que se apresenta no site oficial do projecto.
Outro tipo de colaboração serão
traduções para outras línguas
ou o simples feedback a anunciar o seu uso (por exemplo em
palestras), que sempre nos encoraja a continuar o desenvolvimento.
A configurar as teclas
A escolher um tecla
Ver na Web
(1) http://bluepad.sourceforge.net
(2) http://downloads.sourceforge.net/bluepad/bluepad_0.1_mobile.tar.gz?
use_mirror=dfn&filesize=101397
(3) http://downloads.sourceforge.net/bluepad/bluepad_01-Debian_i386.deb?
use_mirror=dfn&filesize=78752
(4) http://downloads.sourceforge.net/bluepad/bluepad_0.1_computer.
tar.gz?use_mirror=dfn&filesize=70244
35
Número 4 :: www.revista-linux.com
Revista Linux :: Eventos
por Valério Valério
P
ela primeira vez em Portugal vão ser distinguidos
os programadores de
Software Livre nacionais, no
Concurso Nacional Software Livre (CNSL). Vão ser avaliados e
premiados os projectos de
Software livre desenvolvidos por
portugueses.
Este concurso é organizado pelo Núcleo de Estudantes de Engenharia Informática da Universidade de Évora(1), em colaboração com várias personalidades e empresas do mundo do
Software Livre, sendo este parte
integrante do evento Open Delta aLANtejo 2007(2). Com o
CNSL pretende-se não só divulgar o Software Livre em Portugal, mas também promover o
seu desenvolvimento e distinguir os seus produtores. Incentivar a partilha de conhecimento
entre os participantes visando incutir espírito de entreajuda é outra das metas.
Podem participar no CNSL todos os programadores de
software livre que tenham nacionalidade portuguesa, é possível
concorrer com projectos pessoais, com projectos em equipas
até 3 elementos, ou com uma
contribuição para um projecto
de larga escala. Por exemplo,
um programador que tenha feito
um novo módulo, uma nova funcionalidade, plugin, etc, para o
Firefox pode concorrer no
CNSL. Existem no site do concurso regras (3) bem definidas
para a participação no mesmo.
Em caso de dúvida é possível
consultar uma FAQ (4) ou contactar a organização do concurso através do fórum (5) do evento Open Delta aLANtejo.
Como a credibilidade é um dos
factores chave, foi designado
um júri composto por diversas
personalidades
internacionais
de renome no meio para avaliar
os projectos a concurso (ver caixa júri).
Todos os projectos a concurso
serão divulgados no site do
evento e na Revista Linux, mas,
acima de tudo, os candidatos terão a oportunidade de mostrar
as suas criações aos gurus do
Software Livre. Os que receberem melhor cotação serão apresentados no evento Open Delta
aLANtejo, para além de ganharem bons prémios (ver caixa prémios CNSL).
A pré-inscrição (6) no concurso
é obrigatória e deverá ser feita
até ao dia 18 de Setembro de
2007. A entrega dos projectos
deverá ser feita até dia 23 do
mesmo mês.
Ver na Web
(1) www.neei.uevora.pt
(2) www.alantejo.uevora.pt
(3) Regras do CNSL
(4) FAQ do CNSL
(5) www.alantejo.uevora.pt/2007/forum
(6) Pre-inscrição CNSL
Júris
Alex Beregszászi - Programador do Mplayer e FFmpeg.
Damien Sandras - Criador do software de VoIP Ekiga.
Dario Rapisardi - Programador do GNU/Linex. (http://rapisardi.org/)
Gael Duval - Criador da famosa distribuição Mandrake e da nova
distribuição Ulteo.
Isaac Clerencia - Programador do jogo Battle for Wesnoth.
(http://people.warp.es/~isaac/blog/)
Jon 'maddog' Hall - Presidente da Linux Internacional.
Jono Bacon - Responsável pela comunidade mundial do Ubuntu e
criador do software de gravação e edição de áudio - Jokosher.
Marcelo Tosatti - Red Hat e responsável pela versão 2.4 do kernel
do Linux.
Mirco Müller - Participa nos projectos OpenGL, Cairo, GTK+,
gstreamer entre outros. (http://macslow.thepimp.net/)
Número 4 :: www.revista-linux.com
36
Revista Linux :: Book Review
Book Review
Everyday Scripting with Ruby
for Teams, Testers and You
por Joaquim Rocha
Ficha Técnica:
Autor: Brian Marick
Editora: Pragmatic Bookshelf
ISBN: 0-9776166-1-4
Idioma: Inglês
Nº Páginas: 310
Edição: 1º Edição (Janeiro 2007)
assaram-se 12 anos desde que Yukihiro Matsumoto lançou a primeira
versão do Ruby. Agora que o
Ruby conseguiu a popularidade
em massa, cada vez mais gente
está a aprender esta nova, e talvez estranha, linguagem. Entre
outras funcionalidades, o Ruby
é muito adequado para desenvolver scripts ultra-rápidos e
aprender como escrever estes é
o principal objectivo deste livro.
P
O livro foi escrito à volta de quatro interessantes projectos que
lhe ensinam desde o básico do
Ruby até alguns aspectos úteis
desta linguagem. Estes projectos são um verificador de desinstalação, um sistema de controlo
de versão, um seleccionador de
informação de páginas web e
um monitor de sistema para vigiar programas que estão a correr
no sistema e enviar informações
através de e-mail ou mensagens instantâneas.
Ainda que o gráfico na contracapa do livro diga que este está
destinado a utilizadores entre o
nível de principiante e de experiente, consideramo-lo especial-
mente bom para principiantes.
Arriscaríamos mesmo dizer que
o livro é até adequado para os
principiantes mais inexperientes
devido ao facto de Brian Marick
explicar como instalar a linguagem, usar uma consola do sistema bem como a programação
orientada a objectos, etc...
O autor consegue tudo isto sem
recorrer a outras linguagens. Isto, ainda que seja muito bom para principiantes, pode por vezes
aborrecer um pouco os programadores mais experientes mas
não será nada com que estes
não consigam lidar.
Brian Marick guia-nos através
do livro usando uma linguagem
simples e directa, por vezes
com um ligeiro sentido de humor para acalmar as coisas. Ele
não só ensina como usar a linguagem mas também encoraja
os leitores a usá-la referindo-se
a eventuais “bugs” e outras coisas que possam parecer estranhas a principiantes.
Outra boa característica é a organização dos capítulos “Ruby
Facts”: estes são como resumos que introduzem brevemente alguns conceitos como no ca-
37
pítulo 10 - “Ruby Facts: Regular
Expressions”..
O livro pretende que o leitor vá
praticando ao longo deste como
livro prático que é. Não se ensinam aqui conceitos profundos e
extensos, nem sequer há uma
introdução relembrando a história do Ruby. Assim, este é um livro prático, directo e “pronto a
usar” sendo o seu alvo principal
os “testers” que poderão querer
automatizar algum do seu trabalho.
Concluindo, apesar do facto do
nome do livro acabar com “for
Teams, Testers and You”, todo
ele parece ter sido escrito a pensar nos “testers”. Recomendamos este livro especialmente para principiantes que queiram
aprender o Ruby como sua primeira linguagem de programação e para pessoas que não conhecem o Ruby e queiram
aprender de modo rápido como
escrever scripts. Assim, atribuímos a este livro uma classificação geral de 4/5.
Número 4 :: www.revista-linux.com
Imagem da autoria de Alessandro
Revista Linux :: Jogos
Freeciv
por Duarte Loreto
er o líder de uma civilização. Gerir a sua expansão desde os primórdios
do desenvolvimento tecnológico
até à conquista do espaço. Lutar contra outras civilizações ou
formar alianças e pactos de nãoagressão. Explorar, conquistar,
descobrir... Para quem conhece
e gosta do Civilization, jogar Freeciv será um prazer, o voltar às
origens. Mesmo para quem não
jogou esses jogos que marcaram uma época, mas é fã de jogos de estratégia, encontrará
aqui horas de divertimento.
S
A História do Freeciv
O jogo Civilization original começou por ser um jogo de tabuleiro
(1), lançado no mercado no início da década de 80. Este jogo
de estratégia em tabuleiro teve
posteriormente algumas expansões, com óptima aceitação dentro do seu mercado.
Em 1991 foi lançado o Civilization (2), jogo de computador, para o DOS, Mac, Amiga e Atari
ST. Em 1994 saiu uma versão
melhorada para Windows e versões para SNES e Sega Genesis.
Tanto pela disponibilização em
várias plataformas, como pela
qualidade do jogo em si, do conhecido Sid Meyer, este tornouse num sucesso, que teve várias expansões e novas versões.
Em 1995, três estudantes de informática dinamarqueses queriam poder jogar este mesmo jogo em Linux mas não existia nenhuma versão para este sistema operativo. Descobriram na
Internet um projecto de implementação em Open Source do
jogo, chamado OpenCiv, e que
estava a ser desenvolvido em
Python. No entanto, este projecto estava pouco evoluído e os
três amigos decidiram iniciar a
sua própria implementação, em
código C.
Assim nasceu o Freeciv (3),
“Porque a Civilização deveria
ser Livre” (no original “Because
Civilization should be Free”).
Em 1996, poucos meses depois
de iniciado o desenvolvimento,
foi tornada pública a primeira
versão. O jogo foi evoluindo e
criada uma comunidade em torno do mesmo. Os programadores iniciais acabaram por se
afastar do projecto mas este
continuou, cheio de vida, até
aos dias de hoje.
Número 4 :: www.revista-linux.com
38
As Funcionalidades do
Freeciv
Neste momento, a versão estável do Freeciv é a 2.0.9, estando em fase avançada de teste o
que vai ser a nova versão, a
2.1.0. Iremos sempre falar da
versão 2.1.0, visto esta incorporar novos desenvolvimentos interessantes e também porque a
actual versão beta4 se encontra
estável ao ponto de ser a mais
utilizada.
O jogo encontra-se disponível
em várias plataformas, nomeadamente Linux, várias versões
de UNIX, Amiga, Windows e MacOSX. Adicionalmente, encontra-se traduzido em dezoito idiomas, entre eles o Português.
O Freeciv tem um conjunto de
regras compatíveis com as do
Civilization II e do III, dispondo
de mais de 50 unidades diferentes e mais de 100 nações sob
cuja bandeira jogar. Outra funcionalidade relevante é o sistema
de nevoeiro de jogo, em que cada jogador apenas consegue visualizar o terreno que controla,
tornando invisíveis as movimentações das civilizações adversárias.
Revista Linux :: Jogos
O conjunto de gráficos (tilesets)
pode ser alterado, para quem
deseja que o seu jogo tenha um
aspecto diferente. A aplicação
dos gráficos apenas afecta a
versão local, mesmo em jogos
em rede, visto que apenas a
aparência do jogo muda, permanecendo inalteradas todas as regras. Existem vários conjuntos
de gráficos disponíveis no site
(4).
Estão ainda disponíveis na página do Freeciv, na secção Extras
(5), mapas diversos e Modpacks. Estes últimos são conjuntos de alterações que além de
terem gráficos diferentes, têm
também conjuntos de regras
que diferem das do Civ II ou III.
Esta página tem ainda pacotes
com ficheiros de som, instaláveis à parte, e outros utilitários
diversos.
O Freeciv permite que joguem
até 30 jogadores simultaneamente, numa mistura de humanos e inteligência artificial. Para
equilibrar o jogo, permite também definir o tamanho do mapa
de jogo, podendo este ser uma
réplica da terra ou um mapa gerado aleatoriamente. Além de
combater abertamente os adversários, é também possível utilizar a diplomacia para forjar alianças, trocar segredos tecnológicos, subornar ou roubar.
No caso de se optar pelo multijogador, este pode ser alcançado quer numa rede interna
(LAN), quer jogando através da
Internet, num servidor de jogos.
Iremos falar mais sobre esta
possibilidade na secção seguinte.
Jogar Freeciv
Dependendo da forma como se
quiser jogar, existem alguns procedimentos iniciais que diferem.
Depois, a forma de jogar é sempre a mesma, existindo quatro
formas de o fazer: sozinho con-
tra vários adversários controlados pelo computador; contra outras pessoas em rede local; contra outras pessoas num servidor
público do Freeciv; contra outras pessoas na Internet através
do GGZ Gaming Zone.
Ao iniciar-se o Freeciv, o primeiro ecrã que surge apresenta as
várias opções disponíveis. Iniciar um novo jogo, iniciar um cenário, ler um jogo gravado, ligarse a um jogo em rede ou ligarse à GGZ Gaming Zone.
A escolha de um novo jogo ou
de um cenário abre um ecrã onde é possível ajustar várias variáveis (a maioria acessível através de um botão para “mais opções”), entre elas o número total
de adversários. Aceitando os parâmetros, é aberta a janela para
que o jogador seleccione a nação que vai representar e qual o
seu nome.
Se o jogador seleccionar imediatamente a sua nação e avançar,
irá jogar sozinho contra adversários controlados pelo computador. No entanto, se desejar jogar contra outras pessoas na
sua rede local, basta aguardar
que estes iniciem o Freeciv nos
seus computadores e seleccionem jogar em rede local. O joga39
dor inicial irá surgir automaticamente como servidor local e os
restantes podem juntar-se ao jogo. Tudo isto tem de ser feito antes de se seleccionar a nação
que se vai utilizar.
Para jogos em rede, há duas opções: uma é jogar na rede local,
em que se existir algum servidor
na rede local este é apresentado automaticamente na janela.
Seleccionando esse servidor,
passa-se para a fase de seleccionar a nação. Para jogar na Internet, é possível juntar-se a um
jogo que esteja prestes a começar, num servidor público. Estes
jogos são anunciados na página
de Metaserver do Freeciv (6), e
é onde este vai automaticamente buscar os servidores existentes para mostrar ao jogador. Recentemente, os servidores públicos deixaram de estar disponíveis devido a uma falha crítica
de hardware na máquina que suportava estes servidores de jogo.
Por último, é ainda possível,
apenas a partir da versão 2.1.0,
jogar pela Internet utilizando o
sistema de jogos online disponibilizado pelo GGZ – Gaming Zone (7). Num cliente compilado
com suporte para o GGZ, no
ecrã inicial está disponível um
Número 4 :: www.revista-linux.com
Revista Linux :: Jogos
edifícios construir em cada cidade, etc., há ainda um determinado nível de micro-decisões sobre as quais o jogador pode, opcionalmente, debruçar também
a sua atenção, tais como definir
rotas privilegiadas de trocas comerciais e níveis de impostos,
com as suas naturais consequências, também influenciadas pelo estilo de regime político adoptado pela sua nação.
botão que permite “Ligar à Gaming Zone”. Depois basta seguir as instruções. Esta é a alternativa ao jogo pela Internet com
base no Metaserver do Freeciv.
Independentemente dos adversários serem reais ou inteligência artificial, todo o resto do jogo
se desenrola da mesma forma.
Cabe ao jogador seleccionar a
nação que vai representar e o
seu nome, enquanto líder dessa
civilização.
O jogo propriamente dito começa com apenas uma parte do cenário visível. O jogador dispõe
de cinco unidades, dois colonos, dois trabalhadores e um explorador. Os colonos podem ser
utilizados para fundar cidades
ou realizar trabalhos de alteração do terreno, construção de
estradas, etc. Os trabalhadores
podem realizar todas as tarefas
dos colonos excepto fundar cidades. O explorador consegue percorrer terreno mais rapidamente
para descobrir o que está “escondido” pelo nevoeiro.
A primeira decisão do jogador
será então onde fundar as suas
cidades. A partir daí, definir
quais as prioridades produtivas
e na pesquisa tecnológica irão
influenciar o desenvolvimento
da civilização. Certas unidades
ou edifícios apenas podem ser
construídos se a nação tiver já
conhecimento sobre determinadas tecnologias.
A forma como se realiza a expansão no terreno terá também
influência. No momento em que
se tomar conhecimento com outras civilizações, torna-se possível fazer guerra ou iniciar contactos diplomáticos (caso já se
tenha tecnologia para construir
unidades de diplomatas) com
vista à criação de alianças.
Com os avanços tecnológicos,
além de maior escolha de edifícios e unidades para construir, decorre também a possibilidade
de construir uma “Maravilha do
Mundo”. Todas as civilizações
que cumprirem os pré-requisitos
tecnológicos poderão iniciar a
construção de uma Maravilha.
Apenas a primeira civilização a
terminá-la ficará com ela. Cada
Maravilha dá um bónus para a
civilização que a detiver, ainda
que algumas destas se venham
a tornar obsoletas com posteriores avanços tecnológicos.
Além de uma gestão mais macro de onde fundar cidades, que
Número 4 :: www.revista-linux.com
40
Existem três finais possíveis para o jogo nos conjuntos de regras base. Se, após guerras,
apenas sobreviver uma civilização, esta é declarada vencedora. Outra possibilidade de vitória
é ser o primeiro a colocar no espaço uma nave que chegue
com sucesso ao sistema solar
Alfa Centauri, sendo necessário
realizar a pesquisa da tecnologia para a construção dos componentes e a construção dos
mesmos. O último final possível
é o de, chegando-se ao ano
2000 DC sem que nenhuma das
condições anteriores se tenha
verificado, se atribuir uma pontuação a cada civilização, baseada no seu desenvolvimento, expansão e poder, e dar a vitória à
civilização com mais pontos.
O Freeciv é razoavelmente complexo, mas sem se tornar uma
dor de cabeça. Permite obter
muitas horas de prazer, principalmente quando jogado online
contra outros jogadores. Preparem-se, no entanto, para sofrer
grandes derrotas nos primeiros
tempos.
Para facilitar a compreensão do
jogo e dar melhores possibilidades aos iniciados, o projecto
possui um Manual Introdutório
(8) e um Manual de Jogo (9).
Adicionalmente, quer na página
Web quer no próprio cliente de
jogo, existe bastante documentação sobre os vários tipos de
terreno, unidades, edifícios, Maravilhas, tecnologias e demais
questões, bem como dicas de
estratégia.
Revista Linux :: Jogos
Para quem gosta de jogos baseados em turnos, de estratégia, e
procura desafios com diferentes
pessoas, terá no Freeciv horas
de divertimento. A sua comunidade de jogadores e programadores garantirá um suporte e desenvolvimento continuado, com
novas funcionalidades, por muito tempo. Poderá contactar ou
conviver com alguns elementos
dessa comunidade no IRC (servidor irc.freenode.org, canal
#freeciv) ou nos fórums (10).
Ver na Web
(1) http://en.wikipedia.org/wiki/Civilization_(board_game)
(2) http://en.wikipedia.org/wiki/Civilization_(computer_game)
(3) http://www.freeciv.org
(4) http://freeciv.wikia.com/wiki/Tilesets
(5) http://freeciv.wikia.com/wiki/Extras
(6) http://meta.freeciv.org/metaserver.phtml
(7) http://www.ggzgamingzone.org
(8) http://freeciv.wikia.com/wiki/Introduction_to_Freeciv
(9) http://freeciv.wikia.com/wiki/Game_Manual
(10) http://forum.freeciv.org/
e
a-s o
c
i
d ad
de
e osofi o no
c
r
il
u
d
So a f guin eme s
n
s
m
e
o
pe iga ns vo
e
r
s O ue s e, co litati orqu verti
o
i
g
a
P
q
d
d
Jo s
qu is.
da
de jogo liber ível rcia bem
a
n me
sa
e
tar
lun
co esen erto r um s co se
A pr ab nte rta ém
a a igo ma e ofe tamb
d
có tanto ao d res iro!
en nte s liv inhe
d
lha guin star
n
a
i
g
p
m
se
41
Número 4 :: www.revista-linux.com
Revista Linux :: Jogos
Puzzle
Pirates
por Duarte Loreto
oda a acção decorre num
ambiente que se assemelha ao descrito em histórias sobre os tempos de pirataria
nos mares das Caraíbas. Mas
este jogo está longe de ter violência. É sim um jogo que mistura os puzzles e paciências com
jogos e actividades de cariz social. Vamos embarcar neste divertido mundo da pirataria! Ahrrr!
T
Obter o Puzzle Pirates
Na página oficial (1) existem
links para se obter o jogo ou jogar imediatamente. A segunda
opção realiza primeiro a instalação caso o jogo não esteja ainda instalado. A página de download detecta automaticamente o
sistema operativo do utilizador e
oferece a opção adequada.
O Puzzle Pirates foi desenvolvido em Java e funciona na generalidade dos sistemas, desde
que estes tenham o Java 1.4.2
ou superior. Como é um jogo
que não recorre a grandes efeitos gráficos, os requisitos mínimos de equipamento são um
Pentium II a 500Mhz com
256Mb de RAM. Adicionalmente, o tamanho total do download
são cerca de 50Mb.
Uma vez o jogo instalado, ao iniciar-se uma sessão é necessário indicar o utilizador e senha
para a nossa conta. Caso não
tenhamos uma, podemos criá-la
no momento, gratuitamente.
Existem vários servidores de jogo, denominados “oceanos”.
Uma nova conta é alocada a um
oceano de forma aleatória. Caso o jogador esteja a criar uma
conta com o objectivo de jogar
com outras pessoas que conhece, deverá certificar-se de que
altera o oceano pré-definido para aquele que lhe interessa.
Existe ainda um tipo de oceano
em que para evoluir o pirata para uma conta paga existem algumas diferenças. Caso pondere
a hipótese de vir a pagar para jogar, será aconselhável ler a secção sobre subscrições e dubblons, na página do jogo (2).
O passo seguinte é criar um pirata. Cada conta pode ter até
três piratas. A personalização
da aparência do pirata é algo limitada, dado o estilo gráfico do
jogo. Além da sua aparência física, é nesta fase que definimos o
nome do pirata, que outras pessoas irão ver. Terminada a criação do pirata (ou, em vezes seguintes, selecção de um já exis-
Número 4 :: www.revista-linux.com
42
tente), entramos no jogo propriamente dito.
Jogar Puzzle Pirates
Com franqueza, o grafismo deste jogo não é nada de maravilhoso. Todo ele é feito com gráficos em 2D com uma perspectiva isométrica, sem qualquer tentativa de foto-realismo. Na verdade, todos os gráficos acabam
por ter uma aparência de banda
desenhada, num misto de cómico com “fofinho”. Claramente
um formato que apela a um grupo muito distinto de jogadores,
quando comparado com a maioria dos jogos online tradicionais
ocidentais.
Posta esta questão de lado, poderemos observar que toda a iniciação do jogador neste novo
mundo é extremamente acompanhada. São sugeridos vários
tutoriais para nos apresentar as
funcionalidades e regras do jogo, além de nos introduzirem a
alguns dos puzzles mais comuns. Cada tutorial dura normalmente cerca de 5 a 15 minutos
a completar. Adicionalmente,
existe um bom manual de jogo
na página (3), além de existir
uma “Enciclopédia do Pirata”,
Revista Linux :: Jogos
linha”.
Para além destes três puzzles,
existem outros. Na verdade, são
cerca de quinze e esporadicamente são adicionados novos.
Mas é aqui que entra uma das limitações de se ter uma conta
gratuita. Alguns dos outros puzzles apenas podem ser jogados
em dias específicos da semana,
ao passo que quem tem uma
conta paga os pode jogar todos
os dias.
A bordo de um navio
chamada YPPedia (4).
Seguindo os tutoriais, chegamos ao cerne do que é este jogo. Temos a parte de jogo propriamente dito, nos puzzles, e a
parte social, nas roupas, esquadras (uma transposição do conceito de guildas) e jogos sociais.
Cada actividade de pirataria consiste num puzzle diferente.
Quanto melhor for a execução
de um pirata num determinado
puzzle, mais este contribui para
a capacidade de navegação ou
combate do navio em que está.
Os três puzzles mais comuns
consistem em bombear água para fora do navio (bildge), concertar buracos (carpentry) e manejar as velas (sailing). Um pirata
iniciado irá por norma executar
uma ou várias destas funções
num navio de outro pirata, obtendo em contrapartida uma parte do resultado da pilhagem conseguida. Com a prática vai-se
ganhando um nível de “fama”
em cada puzzle, nível este que
pode ser visto pelos outros jogadores, existindo inclusivamente
uma lista dinâmica com os melhores a cada momento.
E como são estes puzzles? “Sailing” é uma espécie de tetris,
em que caiem peças num poço
e o jogador deverá dispô-las por
forma a eliminar blocos específicos, de acordo com cores. “Carpentry” consiste na colocação
de peças de diversas formas
em “buracos”, sendo a pontuação tanto maior quanto melhor
aproveitadas forem as peças
(evitar sobreposições, etc.).
“Bildge” é um puzzle em que temos uma secção do ecrã cheia
de esferas de várias cores e as
podemos apenas trocar de posição com as vizinhas para eliminar conjuntos num estilo “4 em
Na vertente social existem duas
áreas. Uma prende-se com a
personalização do pirata, especificamente no que toca à roupa
que este tem vestida e a espada que utiliza nos seus combates. A maioria da roupa, especialmente a mais bonita, está reservada apenas a quem tem
contas pagas. Aos piratas com
conta gratuita, são reservadas
as roupas mais simples.
A outra vertente social é a dos
jogos sociais, nas tascas das várias ilhas. Aqui o pirata pode degladiar-se com outros piratas
em jogos de Espadinha, Copas,
Poker, “Drinking” e “Treasure
Hunt” (estes dois últimos não
são jogos de cartas). Estes torneios podem ser jogados “a dinheiro” e são um bom destino
para os dobrões de ouro ganhos nas pilhagens ou a traba-
Sobre a ThreeRings (5)
Esta empresa nasceu em 2001, nos E.U.A. O seu primeiro projecto
foi o desenvolvimento do Puzzle Pirates. Iniciaram-no também em
2001 e no final de 2003 o jogo entrou em produção. Posteriormente, a empresa lançou um segundo jogo, denominado “Bang Howdy”
e está a desenvolver um terceiro, “Whirled”, além de ter um kit para
que qualquer pessoa possa criar mini-jogos que ficam albergados
nos servidores da empresa (Game Gardens).
A ThreeRings é adepta do Open Source (6). Além de disponibilizar
algumas das APIs e projectos internos em Open Source, contribui
para vários projectos já existentes. Os jogos são desenvolvidos em
máquinas Debian e os servidores de produção são FreeBSD, utilizando mySQL como base de dados. A maioria dos seus desenvolvimentos são na linguagem de programação Java.
43
Número 4 :: www.revista-linux.com
Revista Linux :: Jogos
lhar para a Marinha. Durante os torneios, existe uma área de conversação exclusiva entre os adversários. Alguns destes jogos também não se encontram
sempre disponíveis aos piratas com conta gratuita, existindo dias específicos para quem tem contas gratuitas.
E que tipo de vida pode um pirata levar
neste mundo? Pode-se perder pelas tascas, a jogar às cartas e na conversa...
Pode decidir tornar-se num pirata que
navega e pilha, ganhando assim dinheiro para si ou para a sua esquadrilha. Ou
pode tornar-se num mercador, quer
transportando bens entre ilhas vivendo
do lucro, quer abrindo lojas nas ilhas, comercializando aí os bens que produziu
(existem puzzles para produzir bens).
Puzzle de carpintaria
Mais uma vez, os piratas com conta gratuita estão limitados nas suas carreiras.
Para se comprar um navio e deste se
ser capitão, é necessário ter uma conta
paga. O mesmo se passa para se alugar uma loja.
(1) http://www.puzzlepirates.com
Em Jeito de Conclusão
(2) http://www.puzzlepirates.com/Pricing.xhtml
O Puzzle Pirates é um jogo bastante divertido. Os seus puzzles são simples de
compreender, difíceis de dominar. Uma
grande vantagem é que se pode jogar
por apenas 30 minutos e depois desligar.
(3) http://www.puzzlepirates.com/DocumentationIndex.xhtml
As limitações impostas sobre as contas
gratuitas não são muito pesadas. Não
retiram de todo o prazer da experiência
nem mesmo de recorrentemente se jogar. Ainda assim, para quem realmente
se empenhe e deseje ir mais além no jogo, uma mensalidade de 10€ não é cara, comparando com as mensalidades
da maioria dos restantes jogos online.
(6) http://www.threerings.net/code/
A maior parte da sua comunidade apresenta um agradável grau de maturidade
e isto reflecte-se principalmente nos jogos de cartas, possivelmente uma razão
boa o suficiente para de vez em quando
se jogar Puzzle Pirates. Ahrrrr!
Número 4 :: www.revista-linux.com
Ver na Web
(4) http://yppedia.puzzlepirates.com/Main_Page
(5) http://www.threerings.net/
se a
edica- do
d
is
mercia
osofia
os Co sigam a fil ma forg
o
J
u
o
)
na de
ue de
ue nã
ulação
A colu tar jogos q ade, mas q
m
e
(
a
d
n
r
r
s
t
e
e
e
u
s
o
lib
te apre
erto e
ou de Normalmen do,
b
)
a
s
o
o
códig ários nativ
inux.
merca iin
s em L relevo no
rém
ma (b ser jogado
o
r de p do
vad
e
le
u
e
m
q
a
,
e
s
s
poss
gos d
adore
cluído
rão jo
de jog ão estão ex
e
m
tes se
m volu
uins n
quer e ue os ping l!
rq
cia
os. Po ento comer
im
t
r
e
div
44
Revista Linux :: Kernel Pan!c
Kernel
Pan!c
secção administrada por
Valério Valério
Se os restaurantes funcionassem como a Microsoft:
Cliente: Empregado!
Empregado: Olá, o nome é Bill
e vou ser o seu empregado. Há
algum problema?
Cliente: Há uma mosca na minha sopa!
Empregado: Experimente a comer outra vez, talvez a sopa
não esteja aí desta vez.
Cliente: Sentei-me e pedi a Sopa do dia!
Cliente: Não, continua aqui.
Empregado: Já considerou fazer upgrade para a última Sopa
do Dia?
Empregado: Talvez seja da forma com que você está a usar a
sopa. Tente comê-la com um
garfo desta vez.
Cliente: Mesmo usando um garfo, a mosca continua aqui.
Empregado: Talvez a sopa seja
imcompatível com a tijela; que tipo de tijela é essa?
Cliente: É uma tijela de SOPA!
Empregado: Hmmm, assim devia funcionar. Talvez seja um
problema de configuração; como é que a sopa foi aí colocada?
Cliente: Vocês têm mais do que
uma Sopa do Dia cada dia?
Empregado: Sim, a Sopa do Dia
muda a cada hora.
Cliente: Bem, qual é a Sopa do
Dia agora?
Empregado: A Sopa do Dia actual é sopa de legumes.
Cliente: Ok. Traga-me uma sopa de legumes e a conta. Já estou a ficar atrasado.
O empregado sai e volta com
uma tijela de sopa e a conta.
Cliente: Você trouxe-me a sopa
numa tijela grande e depois colocou-a aqui... mas o que é que
isso tem a ver com estar uma
mosca na sopa!?
Empregado: Aqui está. A sopa e
a sua conta.
Empregado: Consegue-se lembrar de tudo o que fez antes de
ter dado conta da presença da
mosca na sopa?
Empregado: Sim, a sopa de legumes ainda não estava pronta.
Um cafutador
45
Cliente: Mas isto é sopa de tomate!
Cliente: Bem, eu estou tão esfomeado que como qualquer coi-
Número 4 :: www.revista-linux.com
Revista Linux :: Kernel Pan!c
"Concedido!", diz o génio.
O empregado vai-se embora.
O gestor de projectos coça o
queixo e diz: "Hmmm, eu quero
aqueles dois nos escritórios assim que a hora de almoço acabar!"
Cliente: Está um mosquito na
minha sopa!
A conta:
Sopa do Dia ..................... $5.00
Actualização para uma nova Sopa do Dia ......................... $2.50
Apoio ao cliente pelo empregado ..................................... $2.00
Um engenheiro de hardware,
um programador e um gestor de
projectos estão a passear na hora de almoço no jardim da empresa e vêm uma lâmpada mágica. Um esfrega a lâmpada e
aparece um génio.
O génio diz: "Como me libertaram da lâmpada, vou-vos conceder três desejos, um a cada um!"
Engenheiro de Hardware: Eu
quero estar agora no pacífico a
comandar um iate onde toda a
tripulação é constituida por raparigas bem roliças.
O génio levanta a mão e puf! O
engenheiro desaparece!
Programador: Eu gostaria de estar agora no Havai a ser massajado por duas raparigas da qualidade da tripulação do iate!
Dez sinais que indicam que a
sua mulher está a ter um "affair"
online:
10. A altas horas da noite ela
senta-se nua;
9. Depois de desligar a sessão,
fuma sempre um cigarro;
8. Tem um "disco rígido" de borracha que ela guarda secretamente numa gaveta;
7. De manhã, o ecrã do computador está todo embaciado;
6. Adquiriu uma grande técnica
em escrever só com uma mão;
5. Faz comentários sarcásticos
sobre o seu pequeno "software";
4. Batom no rato;
3. Quando fazem amor, ela diz:
"Aspas, barra, enter, insert!";
2. Você não se lembra de lhe
ter tirado aquelas fotos que estão na pasta "web_cam";
1. O problema da impressora
era uma peça de langerie encravada.
Se a Microsoft fabricasse carros:
- O livro para o dono do carro teria 1300 páginas e pesaria 3 quilos;
- Nos test-drives, algumas "features" do carro não estariam dis-
Número 4 :: www.revista-linux.com
46
poníveis: exceder os 20 Km/H,
fazer marcha-a-trás, ar-condicionado, piscas...
- A garantia diria a letras pequenas que o carro não tinha sido
feito para viajar;
- Quando se abrisse a porta do
carro pela primeira vez, apareceriam os termos da garantia;
- Haveria um indicador luminoso
de "Falha geral no veículo";
- A viatura só poderia andar em
5% das estradas e 10% do tempo sem falhar;
- O volante teria que ser reinstalado a cada 6 meses.
Kernel Pan!c é a secção mais bemdisposta da RL, contamos com o leitor
para a tornar ainda melhor. Para isso
envie piadas ou imagens engraçadas
para vdv100@gmail.com .
sa.
Revista Linux :: Empresas
Soluções Open Source
Esta secção quer-se como uma listagem de empresas portuguesas que oferecem soluções em software
open source sobre Linux.
Se quiser adicionar a sua empresa a esta lista, envie um email para correio@revista-linux.com com o
assunto "Lista de Empresas". Deverá incluir o nome da empresa, contacto, logotipo, página web, local da
sede e os serviços oferecidos através de palavras-chave.
Empresa
Contacto
geral@angulosolido.pt
Sede
Serviços
Lisboa
migração, redes,
servidores, ...
www.angulosolido.pt
info@dri.pt
e-commerce, formação,
migração,soluções web,
...
Lisboa
www.dri.pt
geral@caixamagica.pt
Lisboa
www.caixamagica.pt
log@log.pt
Lisboa
www.log.pt
formação e certificação,
soluções empresariais,
consultoria, migração,
outsourcing, ...
consultoria, desenvolvimento
(Perl e PHP), integração de
sistemas (CRM e CMS), migração; outsourcing, ...
Gondomar
www.linuxkafe.com
cibercafé, redes, migração,
servidores, formação, desenvolvimento de software,
soluções opensource, ...
Lisboa
www.microskills.eu
consultoria,
administração
de sistemas, comunicações,
internet, software, hardware, formação
mail@linuxkafe.com
geral@microskills.eu
47
Número 4 :: www.revista-linux.com
Revista Linux :: Agenda de Eventos
info@ecomsis.com
Almancil - Loulé
www.ecomsis.com
vmn@vmn.pt
Matosinhos
www.vmn.pt
soluções opensource, migração, consultoria, integração
de sistemas(CRM e CMS),
web development, e-commerce, redes, hardware, ...
Consultoria, implementação
de soluções Desktop e Servidor em Linux, VoIP,
Software à Medida, Hardware e Software
Eventos
Open Source
Esta é uma listagem de eventos relacionados com Linux e Open Source na Europa e em países de língua
portuguesa.
Para divulgar um evento envie um email para correio@revista-linux.com com o assunto "Lista de
Eventos". Deverá incluir o nome, a data do início e do fim, local e página web do evento.
OSiM 07
http://osimconference.com
I Fórum Software Livre
http://www.softwarelivre.com.pt
Open aLANtejo | 07
http://alantejo.uevora.pt
Número 4 :: www.revista-linux.com
18-19 Setembro 07
12-13 Outubro 07
19-21 Outubro 07
48
Madrid, Espanha
Lisboa, Portugal
Évora, Portugal