2008-11-24

2008-11-14

Book Meme

"The information in the CF resides in memory and a CF typically has a large
memory. A CF can be a separate system or an LPAR can be used as a CF.
Figure 2-12 illustrates a small Parallel Sysplex with two z/OS images. Again, this
whole configuration could be in three LPARs of a single system, in three separate
systems, or in a mixed combination."

in "Introduction to the New Mainframe: z/OS Basics"

1. Pega no livro mais próximo.
2. Abre na página 56.
3. Procura a quinta frase.
4. Coloca um post no teu blog com o texto e seguido destas instruções.
5. Não não escolhas o teu livro favorito, o mais cool ou o mais intelectual

2008-10-28

GLUA TechSessions

Vai decorrer já no próximo dia 8 de Novembro um evento organizado pelo GLUA - Grupo Linux da Universidade de Aveiro, denominado Glua TechSessions '08.

Passem pela página do evento para ficarem a conhecer todos os detalhes e tratarem da vossa inscrição.

Lá nos havemos de encontrar...

2008-09-25

Debian: 500 kilobugs :)

No dia 24-09-2008, ontem, foi aberto o bug número 500000 do projecto Debian. Este número refere-se a bugs abertos desde praticamente o início do projecto e representam, em muitos casos, sugestões de melhoria e indicações de novas funcionalidades dos programas que constam da distribuição oficial.

Os bugs em Debian estão assinalados com 7 níveis de importância/gravidade, desde o "critical" que indica que o bug em questão põe em causa a integridade do sistema, até ao "wishlist", as tais sugestões de funcionalidades e/ou melhorias. Neste nível estão também incluidas as traduções de pacotes Debian.

Neste artigo de Lucas Nussbaum são apresentadas algumas estatísticas interessantes:

  • Cerca de 86% dos bugs reportados estão já arquivados (já não interessam, já estão resolvidos, ou por outro qualquer motivo);
  • Dos bugs em aberto, cerca de 12% estão resolvidos (estado "done");
  • Alguns bugs são re-encaminhados para os autores dos programas, pois não dizem directamente respeito ao projecto Debian. Estes constituem cerca de 10%.
  • Sabe-se também que o bug mais antigo ainda em aberto é o número 825 (submetido em 1995, fechado em 1997 e re-aberto em 2002). Pertence a um pacote do repositório "non-free".
  • Dos bugs em aberto e não marcados como "done", temos cerca de 600 realmente importantes, com níveis "critical", "serious" e "grave".

Em conclusão, ao fim de 15 anos de desenvolvimento, a distribuição Debian tem por resolver cerca de 600 bugs antes de lançar a próxima versão, ou seja, aproximadamente 0,1% de todos os bugs submetidos relativamente aos mais de 22000 pacotes de software presentes na colecção oficial. Não está muito mal...

Alguém quer adivinhar a data do "Megabug" ?

2008-09-02

Ele há dias assim :)

Hoje recebi a notícia que 3 explicandos meus tiveram, 18, 19 e 20 valores no exame para o qual andavam a estudar (e para o qual os estava a ajudar).

Parabéns !

2008-09-01

lenny + 1 = squeeze

Foi anunciado[1], entre outros assuntos, o nome da próxima 'testing' do Debian: Squeeze

Este é mais um nome de código retirado dos filmes Toy Story e corresponde ao extraterrestre com três olhos.

O lenny continua dentro do prazo de lançamento para se tornar a versão 5.0 da distribuição Debian, sendo lançado quando estiver pronto !

[1] - http://lists.debian.org/debian-devel-announce/2008/09/msg00000.html

2008-08-18

DebianDayPT '08, t+2 dias

Foi no sábado passado, mas só agora tenhum algum (pouco) tempo para agradecer a todos os que apoiaram (UA, GLUA, Rilop), os que participaram e muito especialmente aos que vieram assistir ao primeiro encontro em Portugal relacionado com o Debian.

Muito obrigado também aos meus colegas organizadores, por todo o esforço. Penso que valeu a pena !

Na página do encontro, estão já as apresentações efectuadas e irão aparecer mais informações, incluindo a "obrigatória" galeria de fotos.

Até ao próximo encontro !

2008-08-04

Cuil vs. Google

Já muito se falou sobre o novo motor de busca, o Cuil. Para mim, o que mais importa num motor de busca é a relevância dos resultados quando se faz uma determinada pesquisa.

Para verificar que tal se porta o "rookie" neste campeonato fiz uma pesquisa nos dois motores, sobre um tema ao acaso. O termo escolhido foi "debianday" e os resultados são:

- No Google, obtêm-se 18700 resultados, sendo os 10 primeiros provenientes de 9 sites diferentes ;
- No Cuil, obtêm-se 3245 resultados, vindo os 10 primeiros de apenas 6 sites.

As imagens das pesquisas estão aqui:

















As conclusões tirem as que quiserem, eu por mim continuarei a pesquisar no Google... :)

2008-07-28

Lenny "on the rocks"

Quer o título dizer que a próxima versão da distribuição Debian GNU/Linux já atingiu o estado de freeze.

A partir de agora só serão admitidas correcções de bugs e assim...

O anúncio completo está em http://lists.debian.org/debian-devel-announce/2008/07/msg00007.html.

Ide ver, ide....

Software in the Public Interest

Hoje tornei-me membro "Non-contributing" da SPI, a entidade legal que apoia projectos como o Debian, o PostgreSQL, o OpenOffice.org, o Drupal e outros.

Para já não significa muito... mas vamos a ver :)

DebianDayPT '08, t-18 dias

Desistimos das canecas...

Mantemos o acordo de Almoço !!

Não se esqueçam de ir à página do Almoço do nosso wiki, e registem-se para beneficiar da "ementa especial".

2008-07-26

DebianDayPT '08, t-20 dias

Boas,

A vinte dias do evento, temos as seguintes novidades:

Quanto ao resto, o programa vai ficando mais arrumado, à medida que os participantes vão definindo as suas apresentações e workshops.

Mais novidades, quando as houver :)

2008-07-22

I18N: util-linux

Este é o primeiro de um novo tipo de artigos curtos (à lá twitter) neste blog, para dar conta da minha actividade como tradutor Debian para Português.

Quem também quiser fazer parte da "equipa", passe pelo site da Comunidade Portuguesa de Utilizadores Debian GNU/Linux.

Após algumas traduções de pacotes 'debconf', ou seja, que apresentam mensagens na altura de instalação e configuração do software, que ajudaram a colocar o PT na terceira posição do ranking das linguagens Debian, estou a iniciar algum trabalho na área dos pacotes propriamente ditos, isto é, mensagens que aparecem ao longo da operação do software.

Terminei já a tradução do pacote e2fsprogs-1.41.0 e vou iniciar hoje a tradução do util-linux-2.13.1.1. Se alguém já estiver a trabalhar neste, diga-me para se evitarem trabalhos em duplicado.

2008-07-17

DebianDayPT - 08

Este evento está cadda vez mais perto, o que quer dizer que a pressão do lado organizativo é cada vez maior... :)

As últimas novidades:

- O local já está definitivamente marcado, é a Sala dos Actos Académicos da Reitoria da Universidade de Aveiro. Kudos para o GLUA e a UA.

- Fazemos parte dos "eventos oficiais" Debian. Vejam a página de Eventos :)

- Já temos cerca de 50 inscritos e algumas palestras e workshops... Ainda há tempo para se increverem e prepararem alguma coisa para apresentar.

- O cartaz oficial do evento também já está pronto:



Só falta a vossa inscrição (e mais alguns pormenores menos importantes :P)

Vemo-nos em Aveiro, dia 16 !!

2008-06-30

O petaFLOP

Após a divulgação da lista do Top500, confirmou-se o que já vinha sendo anunciado há algum tempo: a IBM foi destronada do primeiro posto..... pela IBM :)

O novo RoadRunner é uma máquina com uma arquitectura de processadores híbrida, que inclui uma versão do processador Cell (da PlayStation 3) e também processadores Opteron, da AMD.

Comparando as arquitecturas deste RoadRunner com o anterior primeiro lugar, um BlueGene/L da IBM, vemos que o número de cores diminuiu quase para metade e a eficiência energética aumentou mais de 100%, de 205 MFlop/w para 437 MFlop/w...

Os Estados Unidos continuam a ser os grandes "clientes" deste tipo de máquinas, sendo que o Reino Unido, a Alemanha, a França e o Japão fecham o "top 5" de países.

2008-06-28

DebianDayPT - 08

Duas novidades na organização do encontro:

Já há o "selo oficial" de presença no evento, como podem ver na barra direita. Vão buscá-lo a http://debianpt.org/ ou copiem daqui, é como quiserem.

A outra novidade foi uma sugestão de um dos participantes: na página de "Localização" no site oficial do encontro podem incluir os vossos dados se quiserem oferecer/pedir boleias e partilhar o carro para chegarem a Aveiro.

E pronto, por agora é tudo. Encontramo-nos em Aveiro e não se esqueçam das t-shirts !!

2008-06-25

DebianDayPT 2008



Foi posto em marcha um site dedicado a este evento:

http://debiandaypt.debianpt.org/

Passem por lá e inscrevam-se com apresentações ou como simples "ouvintes" :)

2008-06-14

O estado da cultura

Aqui há tempos fui inscrever-me como leitor da biblioteca municipal cá da terra, todo contente com o facto de abrirem aos sábados de manhã (já que os horários semanais são impossíveis para um trabalhador como eu...).

Ora, hoje lá ia eu todo cheio de vontade de trazer uns volumes para casa, quando deparo com um anúncio colado à porta, fechada, do dito edifício:

"Por motivo de entrada em vigor do horário de verão, estamos encerrados hoje e reabrimos segunda-feira com o novo horário: Segunda a Sexta, das 9h30 às 13h00 e das 14h30 às 18h00"...

Em conclusão: no verão não se pode ler (pelo menos de empréstimo)...

2008-06-13

Torre de Babel

Nos últimos dias passei por duas situações que me trouxeram à memória uma frase comum, mas que se aplica perfeitamente: "Quanto melhor conheço o Windows, mais gosto do Linux"...

No primeiro caso, pediram-me ajuda para converter um Windows Vista em Português (pré-instalado num portátil, comprado cá em Portugal) para Alemão... procura daqui, googla dacolá e a conclusão foi rápida e esperada: "Só adquirindo uma nova licença em Alemão ..."

O segundo caso envolve o mecanismo de "Full-Text Search" numa Base de Dados SQL Server 2000, mas onde os dados a pesquisar estão numa língua não suportada, concretamente hebraico. A resposta da Microsoft: "Na versão 2008 já suportamos hebraico no FTS"...

Ora, como se passam as coisas no mundo livre ?

No primeiro caso, depende um pouco do sistema usado mas em Debian seria algo do género: dpkg-reconfigure locales
e, eventualmente, fazer o download e instalação de alguns pacotes de linguagens

No segundo caso, devido à natureza aberta dos sistemas em uso, muitas vezes é possível usar dicionários e definições linguísticas de um dado programa (e.g., ispell) no programa que nos interesse (e.g., postgresql). A maior parte dos sistemas abertos, tem, por outro lado, uma diversidade linguística que faz corar de vergonha qualquer sistema proprietário...

Nesta verdadeira Torre de Babel em que nos encontramos cada vez mais ligados, começa-se a perceber as verdadeiras vantagens dos sistemas abertos...

O petaFLOP

Já muitos de vós sabem do novo IBM RoadRunner, o supercomputador que o Los Alamos National Laboratory dos EUA vai usar para simulações de envelhecimento de material radioactivo e outros exercícios científicos.

Este supercomputador é interessante, não apenas por ser o primeiro a atingir a marca de 1 petaFLOP sustentado e não apenas em pico, mas também porque é o primeiro a fazer uso de tecnologia híbrida a nível de processadores. Até agora todos os supercomputadores se baseavam num processador igual para todos os nós, i.e., os nós de computação consistem em conjuntos de processadores iguais, nesta máquina, cad anó de computação é constituído por processadores com arquitectura (bastante) diferente: AMD Opteron e Processadores Cell.

Resta saber que o "bicho" corre Linux, pois claro, e custa apenas cerca de 70 milhões de euros (um pouco mais de 100 milhões de dólares). Além do mais é bastante eficiente no uso que faz dos quase 3MW (Megawatts, é mesmo isso) de energia que consome.

A preços correntes, alimentar esta máquina fica a custar cerca de 300 euros por dia... nada de mais :P

Back to normal

Resolvi deixar cair os anúncios do Google que estavam neste blog... assim fica melhor.. :)

2008-06-09

Códigos de Barras e tal....

Sempre gostei de matemática, ou melhor, da aplicação prática da matemática. Uma das áreas que gosto de "visitar" de vez em quando é a questão dos chek-digits, ou dígitos de controlo, encontrados em quase todos os códigos de produto e afins.

Aqui há tempos tive que criar uma base de dados para gerir códigos EAN, os vulgares códigos de barras que os produtos presentes nos supermercados possuem. Existem vários formatos de códigos EAN, nomeadamente o EAN-8, o EAN-13 e os EAN-13+2 e EAN-13+5.

Nos códigos EAN-13 (o que me interessava para a base de dados), existem 4 campos em que podemos subdividir o código: País, Marca, Produto, Dígito de Controlo.

Por exemplo, se tivermos o código 5601045105306, este subdivide-se em:
- Código do País : 560
- Código da Marca: 1045
- Código do Produto: 10530
- Dígito de Controlo: 6

Ora, os códigos dos diversos países são atribuídos por uma organização internacional, denominada GS1, sendo que a Portugal cabe o 560.

Dentro de cada país, existem organizações que distribuem os códigos pelas marcas, e estas organizam os códigos pelos seus produtos como muito bem entenderem....

Resta o dígito de controlo: Como é calculado ?

Começemos por escrever o código, sem o dígito de controlo:

560104510530

Numeramos as posições da direita para a esquerda :

12 11 10 9 8 7 6 5 4 3 2 1
5 6 0 1 0 4 5 1 0 5 3 0

Multiplicamos todos os algarismos nas posições ímpares (1, 3, 5...) por 3:

12 11 10 9 8 7 6 5 4 3 2 1
5 18 0 3 0 12 5 3 0 15 3 0

Somamos todas as parcelas:

5 + 18 + 0 + 3 + 0 +12 + 5 + 3 + 0 +15 + 3 + 0 = 64

E determinamos qual é o algarismo que é necessário adicionar para que o resto da divisão deste último valor por 10 seja 0 (zero):

70 - 64 = 6

Assim, obtemos o dígito de controlo e podemos agora escrever o código completo:

5601045105306

Existem outros métodos de cálculo de dígitos de controlo, normalmente usados, por exemplo o dos códigos ISBN (dos livros), dos códigos NIB, do número do BI, etc...

2008-05-14

A declaração de Haia no espaço Digital

A Declaração Universal dos Direitos do Homem, proclamada há cerca de 60 anos na Assembleia Geral da ONU, estabelece, nas sociedades modernas e democráticas, uma série de direitos, liberdades e garantias dos cidadãos, nomeadamente as liberdades de expressão, de movimento, de acesso aos serviços públicos básicos (educação, saúde e justiça). Estas liberdades e garantias fazem parte da lei fundamental de todos os países democráticos.

No mundo digital estas garantias não existem. As patentes de software, os interesses económicos e a relativa indefinição jurídica sobre assuntos ligados à sociedade digital levaram a que nos encontremos numa situação delicada relativamente a direitos que, embora iguais aos necessários no "mundo físico", nem sempre são respeitados, por exemplo, a liberdade de acesso a informação produzida pelos serviços públicos é negada quando os serviços produzem essa informação num suporte proprietário.

Para alertar os governos da necessidade de transferir para o mundo digital esta garantia de liberdade, está em fase de recolha de assinaturas a "Declaração de Haia", pela Digital Standards Organization. Passem pelo site e vejam o texto da declaração em Inglês, ou em Português se preferirem e assinem.

2008-05-10

Os supercomputadores que vieram do frio

Além da lita dos 500 maiores supercomputadores do mundo disponibilizada pela top500, existe uma lista organizada pelo Centro de Pesquisa em Computação da Universidade Estadual de Lomonosov em Moscovo e o Centro Conjunto de Supercomputadores da Academia Russa da Ciência que em Abril deste ano teve a sua 8ª edição. A lista em russo está aqui, e uma tradução do Google pode ser encontrada aqui.

Da análise desta lista, temos alguns dados curiosos:

- As primeiras 5 posições são ocupadas por sistemas baseados em "QuadCore" Intel.
- O primeiro sistema não-Intel está na posição 14 e consiste em processadores HP SuperDome. Este é também o sistema mais rápido com processadores "Single Core".
- O sistema que ocupa a primeira posição é cerca de 100 vezes mais rápido que o último sistema da lista.

A distribuição de arquitecturas de processador é a seguinte:
- 36 dos 50 sistemas (72%) são construidos com base em Intel Xeon.
- 6 Opteron (AMD)
- 4 PowerPC (IBM)
- 2 Itanium (Intel)
- 1 HP SuperDome (HP)
- 1 POWER5 (IBM)

A primeira edição da lista foi divulgada em Dezembro de 2004. Comparando as duas edições, temos também alguns dados interessantes:

- Em 2004 havia 4 sistemas SMP e os restantes 46 eram Clusters. Em 2008 todos os 50 sistemas têm uma arquitectura em Cluster.
- Em 2004 a distribuição de arquitecturas de processadores mostrava a Sun com um sistema, enquanto que a AMD tinha 18 sistemas e a Inetl apenas 24. Não havia sistemas HP.
- Enquanto que em 2004 o tipo de ligação entre os diversos nós era essencialmente Gigabit Ethernet (com 12 sistemas), Myrinet (11) e SCI (10), em 2008 a Infiniband passou para 26 sistemas, Gigabit Ethernet para 9 e Myrinet para 8.

Esperemos pela próxima edição para ver como vão evoluindo as coisas no "Leste"...

2008-05-07

Como ganhar dinheiro com o Software Livre

O meu "colega" do PlanetGeek, o Bruno Miguel, escreveu um artigo curto mas muito interessante, sob a forma de ensaio, a apresentar algumas ideias para ganhar dinheiro com o Software Livre, ou, dito de outro modo, apresentou as bases do modelo de negócio do Software Livre. Aconselho a leitura a todos, que vale bem a pena.

2008-05-04

SQL e a programação por Objectos

Existe uma grande separação entre as representações de dados baseadas na teoria relacional de Codd e Date, implementadas correntemente nas Bases de Dados Relacionais e as representações dos mesmos dados do ponto de vista da programação orientada a objectos. As modernas frameworks de programação incluem APIs de "persistência" de dados, ou seja, mecanismos que permitem converter a representação baseada nas tabelas relacionais em classes e objectos adequados à manipulação pela linguagem em causa. Esta tradução é, muitas vezes, deixada ao critério da framework usada.

Correntemente não se pode prescindir de uma ou de outra forma de representar os dados e há necessidade de recorrer a uma qualquer espécie de mapeamento ou tradução de variáveis "relacionais" (os registos das bases de dados) para variáveis "Objecto" (os elementos do código da aplicação). Esta diferença de representações e os problemas a ela associados são normalmente chamados de "Object-Raltonal Impedance Mismatch".

Num artigo muito interessante, Ted Neward fala deste problema como o Vietname da Informática, ou seja um problema cuja solução mais óbvia (o mapeamento Objecto-Relacional) está condenada ao fracasso.

2008-05-02

Químicas

A Tabela Periódica tem "aquele" formato que todos nós conhecemos desde os tempos do secundário, mas nem sempre foi assim...

Encontrei um site porreiro com representações alternativas desta útil ferramenta da Química.

Passem por http://www.meta-synthesis.com/webbook/35_pt/pt.html e vejam preciosidades como estas:

(Alexandre-Émile Béguyer de Chancourtois, 1862)

e

(Thomas Bayley, Jørgen Thomsen e Neils Bohr,

ou ainda,

( Andreas von Antropoff, 1926 )

2008-04-24

DebianDayPT 2008


Está em preparação o evento comemorativo do 15º Aniversário da distribuição Debian. Será em 16 de Agosto deste ano, em Aveiro (se tudo correr como previsto).
Passem por http://www.debianpt.org/debiandaypt e fiquem a conhecer os detalhes deste "work-in-progress"

2008-04-05

Partições de Dados - II

Já antes aqui tinha escrito da importância que pode ter uma correcta partição dos dados presentes numa base de dados de certa dimensão. Com os SGBDs modernos temos hipótese de usar diversos métodos de executar estas partições.

Os diferente métodos de particionamento de uma tabela dividem-se de acordo com a "orientação" das partições, e também de acordo com o modo como se definem os limites das partições.

Quanto à orientação, temos particionamentos "verticais" e "horizontais". O particionamento "vertical" consiste na divisão de registos com muitos campos em duas ou mais tabelas relacionadas e é, no fundo, a base da normalização.

O particionamento "horizontal" implica a divisão por duas ou mais tabelas dos registos inicialmente contidos numa só tabela. Esta divisão é feita considerando os valores de um campo de interesse. Normalmente consideram-se como interessantes para definir partições campos que tenham algum significado lógico no âmbito da aplicação usada, por exemplo, se tivermos uma tabela que guarde documentos é lógico dividi-la por datas.

Ao criar as partições de dados temos várias hipóteses de definir os intervalos a considerar: Intervalos de Valores, Listas, Funções de Hash ou combinações destas.

A particão de tabelas baseada em intervalos é talvez a mais comum e divide simplesmente a tabela original de acordo com o intervalo definido, por exemplo, se tivermos uma tabela de documentos "Doc" que armazene a data do documento no campo "DataDoc", podemos criar partições anuais (este exemplo é em PostgreSQL):

CREATE TABLE Doc_1999 (
CHECK( DataDoc >= DATE '01-01-1999' AND DataDoc <= DATE '31-12-1999') INHERITS (Doc) ; CREATE TABLE Doc_2000 ( CHECK( DataDoc >= DATE '01-01-2000' AND DataDoc <= DATE '31-12-2000' ) INHERITS (Doc) ; ... CREATE TABLE Doc_2008 ( CHECK( DataDoc >= DATE '01-01-2008' AND DataDoc <= DATE '31-12-2008' ) INHERITS (Doc) ;

Claro que teríamos que ter o cuidado necessário para criar a restante estrutura e código para validar esta divisão. Noutros SGBD, por exemplo em Oracle, podíamos fazer simplesmente:

CREATE TABLE Doc(...)
PARTITION BY RANGE (DataDoc)
(
PARTITION Doc_1999 VALUES LESS THAN (to_date('01-Jan-2000')),
PARTITION Doc_2000 VALUES LESS THAN (to_date('01-Jan-2001')),
...
)

Em vez deste tipo de divisão, podemos usar uma lista de valores, por exemplo Cidades ou Países para obter as partições. Neste caso a diferença está na definição dos limites. Por exemplo, vendo o caso de uma tabela de Clientes que tivesse uma coluna Cidade, poder-se-ia fazer alguma coisa do género:
CREATE TABLE Clientes_Lisboa (
CHECK( Cidade = 'Lisboa') INHERITS (Clientes) ;
CREATE TABLE Clientes_Porto (
CHECK( Cidade = 'Porto') INHERITS (Clientes) ;
...

Por último, a divisão por Hash, usa uma função Hash para obter um valor que vai servir de base à definição das partições.

2008-03-13

Sapo - "Velocidades mais rápidas"...

Ontem vi o anúncio do acesso à internet do Sapo. Irritei-me. Lá que queiram fazer publicidade enganosa a dizer que é à borla e o camandro, ainda vá. Todos sabemos que não é bem assim e as borlas são sempre disfarçadas. Lá que o pessoal do "marketing e publicidade" invente cenas maradas para atrair a clientela, enfim. Agora que se fale em "Velocidades mais rápidas"... isso é abuso !! Revela bem o estado de ileteracia e (in)cultura a que chegámos....

Peço a quem de direito que me explique como podemos ter "Velocidades mais rápidas"...

Pode ser que para a próxima tenhamos "Um preço mais barato" ou que na meteorologia comecem a dizer que vai estar uma "Temperatura mais quente"...

Acho que está na hora do batráquio se armar em canibal e engolir um da própria espécie....

2008-03-02

Jardim Zoológico

No seguimento dos artigos e das minhas aventuras com o Qemu, cá vai um site interessantíssimo para quem gosta de experimentar:

Free Operating Systems ZOO

Façam-lhe uma visita, que vale a pena.

Qemu - III

Como em qualquer máquina real, também num sistema "virtual" pode haver falta de espaço em disco !

Ora, se numa máquina real resolvemos o problema adicionando um outro disco (ou trocando por um maior), como se resolverá o problema de falta de espaço no disco virtual do GuestOS a correr sob qemu ?

Temos duas maneiras de resolver o problema: Ou criamos uma nova imagem vazia ou aumentamos a imagem já existente. Se optarmos pela primeira solução, o GuestOS ficará com acesso a dois discos virtuais (no caso do Linux, /dev/hda e /dev/hdb), pois teremos que indicar os dois aquando da invocação do qemu:
qemu -hda imagem_original -hdb nova_imagem [outras opções...]

No segundo caso, a extensão de imagem aparacerá ao GuestOS como uma partição adicional do disco inicial (no meu caso: /dev/hda1 e /dev/hda2).

Mas como criar este espaço adicional ?
Vamos supor que queremos adicionar 1 GiB de espaço extra ao já existente.

O primeiro passo será criar uma imagem nova com o qemu-img (ver Qemu - II) em formato raw, com o tamanho pretendido.
qemu-img create -f raw nova.img 2G

Se quisermos que este espaço represente um novo disco, basta agora fazer a invocação do qemu do seguinte modo:
qemu -L ./pc-bios -m 256 -hda lenny.img -hdb nova.img -boot c

e com as ferramentas habituais do linux gerir o novo disco (definir a partição, formatá-lo, etc...)

Se optarmos por integrar este espaço na imagem já existente, temos mais alguns passos a cumprir. Primeiro temos que garantir que a imagem original está no formato raw:
qemu-img info lenny.img

e se não estiver, converte-se com o seguinte comando:
qemu-img convert lenny.img -O raw imagem_convertida.img

Após esta conversão podemos acrescentar a nova imagem ao fim da imagem original (como o meu sistema Host é o Windows, a cópia é feita com o parâmetro /b que indica "cópia binária"):
copy /b lenny.img + nova.img grande.img

Agora podemos invocar novamente o qemu com a imagem "grande.img" e verificar que temos duas partições: /dev/hda1 e /dev/hda2.

Não esquecer de fazer os necessários backups e salvaguardas de dados, nao vá alguma coisa correr pior... :)

2008-02-14

Qemu - II

Para começar a festa, precisamos de uma imagem onde instalar o GuestOS. Ao criar esta imagem (vazia) determinamos o respectivo tamanho e formato.

O formato de imagem determina como irá ser criado o ficheiro. Se escolhermos o formato raw ficamos com um ficheiro que ocupa o espaço definido, se escolhermos um dos formatos comprimidos, qcow e qcow2 o ficheiro de imagem é comprimido e cresce à medida das necessidades (até ao limite definido, claro) e se optarmos por outros formatos podemos criar imagens compatíveis com outros emuladores, como o bochs ou o vmware.

No meu caso comecei por criar uma imagem de 2 GiB para instalar o Linux. A criação do ficheiro de imagem é feita com o comando qemu-img :
qemu-img create -f raw lenny.img 2G
Agora é preciso arrancar com a máquina virtual de modo a poder instalar o Linux. Para este efeito socorri-me de uma imagem "business-card" do Debian Lenny que actuou como CD de aranque e do ficheiro de imagem criado anteriormente, configurado como disco rígido. Decidi experimentar então a instalação do Lenny com 256 MB de RAM, pelo que a linha de comandos do Qemu fica (tudo numa linha, claro):
qemu -L ./pc-bios -m 256 -hda lenny.img -cdrom debian-testing-i386-businesscard.iso -boot d


A partir daqui segue-se o processo de instalação "normal" de um sistema Debian...

2008-02-13

Qemu - I

Devido a diversas contigências pessoais e profissionais, tenho que usar frequentemente um computador com o Windows XP, onde não me convém instalar uma cópia de Linux em dual-boot. Assim, recorri ao Qemu para testar a viabilidade de uma solução de emulação/virtualização. Esta série de artigos reflete a minha experiência com esta configuração.

O Qemu é um emulador e virtualizador que permite emular várias arquitecturas (ARM, PowerPC, Sparc, x86) e, deste modo, permite executar um Sistema Operativo como uma aplicação de um outro Sistema Operativo.

Este emulador é constituído por duas partes: o emulador propriamente dito (o Qemu) e um driver de kernel (o kqemu) também conhecido pelo nome de "Acelerador de Qemu". O KQemu não está disponível para Windows, de modo que neste sistema operativo a virtualização não está disponível, apenas a emulação (qualquer dia explico a diferença).

O Qemu pode correr em processadores x86, x86_64 e PowerPC, permitindo a emulação de sistemas operativos criados para x86, x86_64, PowerPC, ARM, Sparc, Mips e m68k.

Alguns conceitos relevantes são:

- HostOS - é o sistema operativo no qual corre o processo do qemu. No meu caso é o Windows.
- GuestOS - sistema operativo que vai correr "sob" o qemu. No meu caso é o Linux.
- Imagem - ficheiro que contém a instalação do GuestOS

O Qemu cria uma máquina virtual com algum hardware comum, nomeadamente uma placa de rede que pode ser a NE2000, a Realtek 8139 e uma PC-NET. A minha escolha recaiu na Realtek 8139 sem motivo aparente :)

Lançadas as bases, resta seguir o processo, que não é tão difícil como isso. A "receita" é:

- Criar uma imagem.
- Instalar o GuestOS nessa imagem.
- Iniciar o GuestOS.

Até ao próximo artigo :)

2008-02-01

Lista Top500 - 11/2007

Como qualquer geek que se preze, gosto de ir visitando o site www.top500.org que mantém dados sobre os maiores supercomputadores do mundo. Esta lista já existe desde 1993 e é actualizada de 6 em 6 meses. A edição mais recente data de Novembro de 2007.

Ora, aqui há dias resolvi passar por lá e fazer uma comparação rápida entre a lista actual e a lista de há 10 anos atrás. Alguns dados interessantes:

Evolução dos 5 maiores vendedores
Vendedor19972007Var %
SistemasProcs.SistemasProcs.SistemasProcs.
Cray1131798314116463-87,6%547%
SGI10451862274800-78,8%1342%
Sun852835310308-96,5%264%
IBM766849232963520205,2%13968%
HP321500166293726418,7%19482%
Total4103435343714588176,6%4146%


De notar que além destes 5 existem outros vendendores na lista dos 500 maiores. Nestes 10 anos de intervalo, apareceu um outro fabricante que é actualmente o terceiro maior, a Dell, com 24 sistemas. Dos 5 maiores de 1997, apenas a Sun se viu arredada deste grupo, substituída pela Dell. Em 1997, havia ainda mais 90 sistemas distribuídos por meia dúzia de fabricantes enquanto que em 2007 sobram 63 sistemas divididos entre 19 fabricantes.
Interessante é o facto de todos estes fabricantes terem aumentado enormemente o número de processadores incluidos nos seus sistemas.

As 5 famílias de processadores mais comuns
Processador19972007Var %
SistemasProcs.SistemasProcs.SistemasProcs.
MIPS1045186--------
Intel - EM64T
----320550682----
Sparc90459911664-98,9%-63,8%
Power76684961634894-19,7%9170%
Alpha741753218192-98,6%-53,0%
Cray4574322034-95,5%210%
Total389349093851458817-1,0%4079%

Para além da família Intel EM64T, entraram também na lista do Top5, os processadores AMD x86-64, os Intel IA64 e mesmo os Intel IA32. Em dez anos apenas a família Power se manteve no Top5... De facto, dez anos representam uma vida em termos de arquitectura de computadores. Tal como no caso dos vendedores, mesmo arquitecturas que são praticamente residuais em termos de número de sistemas, aumentaram largamente o número de processadores, como é o caso da Cray e mesmo da Alpha que apenas num sistema consegue ter quase metade do número de processadores que detinha em 1997.

Resta agora ver a situação do software:


Falta ver agora do lado do software

A evolução do sistema operativo
Sistema operativo
19972007Var %
SistemasProcs.SistemasProcs.SistemasProcs.
Unix
496
63904
30
73532
-94,0%
15%
BSD
4
12
2
5696
-50,0%
47366%
Linux
--
--
426
970790
--
--
Vários
--
--
34
580693
--
--
Windows----612112----
MacOS--
--25272----
Total500
6391650016480950,0%24785%

Destes resultados se conclui que o "ecosistema" dos supercomputadores mudou radicalmente, tanto em hardware, como em software, já que há dez anos atrás o Unix era o dominador inconstestado e agora ocupa o terceiro lugar, bem atrás do Linux (que tomou o lugar cimeiro) e de sistemas que correm vários sistemas operativos em simultâneo. Interessante é o aparecimento neste sector de sistemas operativos ligados tradicionalmente a ambientes "desktop".

Outro dado interessante é a evolução do número médio de processadores por sistema, que em dez anos subiu dos 127 para 3296 :)

2008-01-31

Imagens do Ghost

Problema:
- Como passar uma imagem criada pelo Norton Ghost (versão desconhecida) para um disco IDE de 2.5" (vulgo disco de portátil) tendo apenas uma interface USB/IDE para ligar o disco, e o Ghostpe.exe que só corre em DOS para restaurar a imagem....

O espinhoso desta questão é que o DOS não suporta dispositivos USB, e o Ghost não funciona em mais lado nenhum...

Resolução:
Como em tantas outras situações, o Linux salvou o dia, e permitiu esta habilidade. O método é rebuscado e com certeza haverá outras maneiras de conseguir este objectivo, mas dados os constrangimentos existentes, fiz o seguinte:
- criar uma partição FAT16 com o arranque do DOS, o ghostpe e a imagem a restaurar num disco IDE (PATA) de 3.5" (chamemos-lhe Disco A).
- ligar um outro disco de 3.5" ao mesmo sistema (Disco B).
- arrancar do Disco A e restaurar a imagem com o ghostpe para o Disco B.
- arrancar a partir de um LiveCD (usei o INSERT mas qualquer um serve).
- ligar o disco de 2.5" (através da interface USB) e verificar que o Linux tem acesso a todos os discos.
- usar o dd para copiar o Disco B para o disco de 2.5", via USB
dd if=/dev/hdb1 of=/dev/sda1
e esperar que o processo termine.

Se tudo tiver corrido bem, temos a imagem restaurada como queremos...

2008-01-29

Escrever caracteres Unicode com o vi

O vi é um dos mais populares e flexíveis editores de texto, disponível não só para Unix/Linux mas também para MacOS, Windows e outros sistemas operativos.

Para introduzir caracteres Unicode durante a edição do texto, basta fazer:

Ctrl+V u xxxx

onde xxxx é o código decimal do caractere a introduzir.

Como a combinação Ctrl-V é usada no Windows para "Colar" o conteúdo da área de transferência, temos que usar a combinação Ctrl-Q.

2008-01-21

As comunidades.open-source

Um post do Tux Vermelho sobre as distribuições Linux criadas em Portugal levou-me a pensar nos conceitos ligados ao Open Source e respectivas comunidades de desenvolvimento criadas à volta dos diversos projectos.

Além das distribuições propriamente ditas, já criadas ou ainda em projecto, há imensas de comunidades centradas em diversos programas e projectos, umas mais activas e conhecidas outras mais discretas. Uma volta pela Web permite-nos conhecer projectos que estão ligados às diversas distribuições linux principais:

e também a linguagens de programação populares:
Existem ainda comunidades criadas à volta de certos programas como o OpenOffice ou o LaTeX. Estas comunidades dedicam-se a apoiar os utilizadores através de fóruns ou partilha de experiências em canais IRC e sites Web.

A minha exepriência dentro destas comunidades centra-se essencialmente no esforço desenvolvido pela comunidade de utilizadores de Debian em Português, no sentido de ajudar a traduzir a distribuição Debian nas suas várias vertentes, bem como na criação de documentos de apoio aos utilizadores iniciantes desta distribuição.

As pessoas encontradas e o ambiente em que se desenvolvem tais tarefas levam-me a crer que serão cada vez mais importantes estas comunidades no panorama das Tecnologias de Informação nacionais.

2008-01-20

Mais Gordas

Já há tempo tinha aqui escrito sobre o projecto Letras Gordas. A mais recente actualização deste site, agora em http://letrasgordas.com/, permite não só dar uma vista de olhos por algumas fontes noticiosas e blogs portugueses mas também conteúdo semelhante do Brasil e de Espanha.

Do Brasil podemos rolar os olhos por jornais tais como "O Globo", "Folha de S. Paulo", "Estadão" e outras publicações conhecidas e blogs.

Da Espanha temos o "El Mundo", "El País", "ABC" e alguns blogues interessantes.

Passem por lá que vale a pena :)

2008-01-18

A qualidade

Ontem, conversava com alguém acerca da pouca qualidade dos sistemas informáticos, especialmente do software existente.

Dizia o meu interlocutor que é pena que "o mercado" tenha aceite esta fraca qualidade, especialmente a nível dos sistemas cliente, i.e., dos PC caseiros e semelhantes. O mesmo cenário não é tão comum nos servidores e sistemas de suporte a infraestruturas de rede e outros.

Eu penso que o mercado ficou refém de uma situação de "nivelamento por baixo", ou seja, para que fosse possível divulgar largamente a informática pessoal (especialmente na sua vertente lúdica, que é a que de facto representa os maiores lucros), as empresas envolvidas não quiseram lutar pelo melhor produto mas aceitaram uma lógica de usar o já existente de modo mais ou menos acrítico, "encaixando" os seus defeitos como características e não como verdadeiros defeitos. Deste modo, vulgarizou-se uma relação de acomodação com o software que hoje se pode resumir a: "Bolas, lá voltou a encravar outra vez, paciência".

Ao tolerar esta situação temos cumplicidade no seu prolongamento, pois não nos podemos esquecer que uma empresa existe essencialmente para dar dinheiro a ganhar aos seus accionistas. Ora, ao aceitar os defeitos e falhas de um produto como se fossem normalidades estamos inconscientemente a dizer à empresa que o produz: "Estão no bom caminho!" quando a mensagem que devia passar seria "Atenção! Este produto tem defeito, não presta! Exijo ser bem servido !".

É responsabilidade nossa, como consumidores, exigir aos fornecedores de produtos e serviços um determinado nível de qualidade e ter a coragem para assumir alguns eventuais transtornos e até custos de mudança, pois só assim poderemos progredir. No final, sairemos todos a ganhar.

O cenário na gama de servidores e outros equipamentos é diferente porque desde há muito que os consumidores desses produtos (na sua maioria empresas)tem como norma fazer valer os seus direitos de consumidor. Esta pressão dos consumidores sobre os fornecedores levou a que existam hoje equipamentos capazes de trabalhar meses a fio com poucos ou nenhuns problemas.

2008-01-16

Diferenças e semelhanças entre su e sudo

No Linux existe o conceito de super-utilizador que normalmente é o root, que tem permissões absolutas sobre todos os ficheiros do sistema, podendo aceder e modificar qualquer deles à descrição.

Com este "poder" vem também a responsabilidade de saber o que se está a fazer, pois executar um comando fora do sítio ou com erros de digitação pode ser fatal (para o sistema, claro).

Mandam então as boas regras de comportamento que se executem as tarefas do dia-a-dia como um utilizador "normal" ou "não-privilegiado", para que se minimize os efeitos de erros e operações mais mal sucedidas. No entanto, há por vezes a necessidade de executar um comando ou editar um ficheiro como root, especialmente tratando-se de tarefas de administração do sistema ou configurações de programas (e.g., X, servidores de mail).

Para este propósito existe o comando 'sudo'. Este comando permite a utilizador regular executar um programa como root. Os utilzadores que estão autorizados a correr o sudo estão designados no ficheiro "/etc/sudoers" onde também se encontram os programas que esses utilizadores podem correr bem como algumas opções de auditoria e registo de comandos executados.

Por exemplo, para editar o ficheiro /etc/X11/xorg.conf (configuração do X11), basta fazer :

sudo vi /etc/X11/xorg.conf

e assim podemos editar este ficheiro como se fôssemos root.

Um outro comando, muitas vezes confundido com 'sudo' é o 'su'. Ao contrário de algumas opiniões, o su não serve apenas para executar comandos como root ou para passar a ser root. De facto, este comando serve para abrir uma consola (ou shell) como outro utilizador. o nome 'su' vem de 'substitute user' e não de 'super user'. É um comando muitas vezes usado pelo root para tomar a identidade de um determinado utilizador do sistema. Se for executado sem especificar um utilizador, assume que queremos tomar a identidade de root.

Por exemplo, supondo que o root da máquina queria assumir a identidade do utilizador "postgres", bastava fazer:

su postgres

na consola.

No fundo, sudo apenas nos permite executar um comando de cada vez, enquanto que su nos fornece um completo ambiente de emulação de outro utilizador.
Ambos os comandos estão disponíveis nas distribuições Linux mais comuns.

Como de costume, mais informações podem ser obtidas através da leitura dos respectivos manuais:

man sudo

man su

Até breve !

Debianização

Saudações a todos,

Há já algum tempo que nada havia de novo neste blogue, e isto incomoda-me. Um blogue quere-se dinâmico, vivo e este estava já a cair no desânimo e a definhar lentamente. Fazer um blogue tão monotemático como este se estava a tornar estava a deixar-me "nas lonas" em termos de inspiração de escrita...

Para contornar esta situação, resolvi mudar de rumo no que respeita à linha editorial do blogue, sem, no entanto, perder a vertente geek e sem deixar de estar ligado aos computadores...

A partir de hoje irão aparecer mais artigos sobre Linux (especialmente sobre Debian) e irei abordar temas que até agora não têm aparecido...

Na mesma linha mudei a minha assinatura para o nick que uso mais frequentemente e há mais tempo: m42.

Espero que as mudanças sejam do agrado de todos, se não forem, paciência: aguentem ou vejam outros blogues que há por aí muita coisa interessante :)

2008-01-09

O planetgeek faz hoje um ano

Um curtíssimo artigo só para assinalar a efeméride. Passem por www.planetgeek.org. Ah, e também para dizer que ainda estou vivo, embora pouco produtivo em termos de escrita....


Powered by ScribeFire.