quarta-feira, 21 de abril de 2010

A arte da Informática


Artigo de opinião publicado no diário ‘As Beiras’
em 19 de Abril de 2010


Não será necessário ser um grande mestre – tal como o foi na arte da guerra o Mestre Sun Tzu ou na arte da estratégia Alexandre Magno – para reconhecer que existem duas aproximações fundamentais para resolver um problema complexo: dividi-lo em sub-problemas mais simples e/ou trabalhá-lo com uma equipa suficientemente forte ao invés de o tentar resolver sozinho. Também na área da Informática estas aproximações são válidas, embora encontremos a cada passo exemplos que nos parecem indicar o contrário.

Um erro comum, muitas vezes confundido com a estratégia de divisão de um problema complexo – os sistemas de informação – em sub-problemas tratáveis, é o da replicação de soluções, normalmente entendida como a repetição de uma mesma ‘receita’ em situações e organizações similares.

Curiosamente, esta abordagem - muito incentivada em programas de financiamento, que favorecem o desenvolvimento e instalação de soluções replicáveis - pode complicar fortemente o problema global. Por um lado, facilita-se uma primeira abordagem para um problema parcelar mas, por outro, as soluções replicadas raramente se integram naturalmente com outras soluções parcelares existentes, até porque não resultam de uma visão abrangente e global dos sistemas de informação nas organizações.

A replicação informática tem, ainda, um outro aspecto extremamente negativo, que é o desperdício de meios materiais (hardware e software) e de meios humanos (gestores de sistemas e redes), que decorre de não se tirar efectivo partido de eficiências colectivas e de economias de escala facilmente conseguidas com as actuais tecnologias da informação e comunicação (TIC).

Um exemplo muito frequente desta situação é o dos serviços de Internet mais comuns, como sejam o correio electrónico ou os serviços Web. Com efeito, muitos são os serviços da administração pública que têm os seus próprios servidores de correio electrónico e de páginas Web – com os consequentes gastos em termos de investimento, funcionamento e manutenção – quando, actualmente, é perfeitamente possível ter servidores que suportem múltiplas entidades, centenas de milhares de contas de correio e largas centenas ou milhares de sítios Web.

No fundo, replicar é pulverizar, em vez de agregar. E é na agregação e integração de soluções - ou seja, na junção de forças e equipas para resolver problemas grandes e complexos - que reside a chave do sucesso das TIC. Os serviços e as soluções devem ser, tanto quanto possível, integrados, agregados e concentrados. A sua utilização, por outro lado, deve ser distribuída, por forma a partilhar soluções, diluir custos e rentabilizar meios.

Em conclusão, a concepção, concretização e exploração de sistemas informáticos é uma actividade que obedece, como muitas outras, a critérios simples de objectividade, razoabilidade e racionalidade. Há que compreender os problemas, analisar requisitos, especificar sistemas, conhecer ferramentas, escolher soluções, colocá-las no terreno e avaliá-las. Deve-se subdividir problemas, partilhar soluções e agregar meios se e quando tal for vantajoso, não perdendo nunca de vista a perspectiva global, indispensável à eficácia dos sistemas de informação. Como diria Mestre Sun, se fosse vivo e se se dedicasse às ‘guerras’ das TIC, é esta a arte da Informática.

terça-feira, 6 de abril de 2010

Bits, bytes, mega e giga


Artigo de opinião publicado no diário ‘As Beiras’
em 5 de Abril de 2010


Em Português corrente utilizam-se, cada vez mais, alguns termos relacionados com as tecnologias da informação e comunicação. Tal é perfeitamente natural, dado que estas tecnologias entram constantemente pelas nossas vidas, quer queiramos quer não. Apesar disso, muitos termos são utilizados sem que o seu significado exacto seja conhecido pela maioria das pessoas que os utilizam. Aqui fica uma tentativa – mais uma, diria – de clarificar o significado de alguns.

Um ‘bit’ (contracção de binary digit) é a mais elementar unidade de informação processável por equipamentos digitais binários, podendo assumir apenas dois valores lógicos: 0 ou 1. Esta característica facilita enormemente quer o armazenamento, quer o processamento quer, ainda, a transmissão de informação, estando na base do funcionamento de todos os dispositivos digitais.

Normalmente, a informação não é processada com base em bits individuais, mas sim em grupos de 8 bits, designados ‘bytes’. De facto, em muitos casos, processam-se grupos de bytes (2, 4 ou mesmo 8) de cada vez, e não bytes isolados. Naturalmente que, dadas as actuais capacidades de processamento, armazenamento e comunicação dos computadores, os volumes de informação não se podem medir em bits ou bytes mas sim em múltiplos destas entidades básicas.

Quando se fala em velocidades de transmissão – mais correctamente, em débito binário – está a falar-se da quantidade de bits que são transmitidos por unidade de tempo. Neste caso, os prefixos utilizados, como sejam, quilo, mega, giga, tera, etc., têm o mesmo significado que no sistema internacional de unidades. Assim, um quilobit por segundo (1 Kbps) corresponde ao envio/recepção de 1000 bits num segundo, 1 megabit por segundo (1 Mbps) corresponde ao envio/recepção de 1.000.000 de bits num segundo, 1 gigabit por segundo (1 Gbps) a mil milhões de bits num segundo, e 1 terabit por segundo (1Tbps) corresponde a um milhão de milhões, ou seja, um bilião (1.000.000.000.000) de bits por segundo.

Já quando se fala em capacidade de memória, seja ela central ou secundária (isto é, disco, CD, DVD, ou outro), a base é o byte – e não o bit – pois essa é a unidade mínima de leitura ou escrita na memória. Existe, ainda, outra diferença em relação ao caso da transmissão: no caso do armazenamento em memória, os prefixos quilo, mega, giga, tera, etc., não correspondem a 10**3, 10**6, 10**9, 10**12, etc., mas sim à potência de 2 mais próxima dessa quantidade. Assim, 1 Kbyte (abreviado 1 KB) não são 1000 bytes mas sim 1024 bytes, isto é, 2**10 bytes; 1 Mbyte (1 MB) são 1024×1024 bytes, ou seja, 2**20 bytes ou, ainda, 1.048.576 bytes; 1 Gbyte (1 GB) são 1024×1024×1024 bytes, ou seja, 2**30 bytes ou, ainda, 1.073.741.824 bytes; e, por fim, 1 Tbyte (1 TB) são 1024×1024×1024×1024 bytes, ou seja, 2**40 bytes ou, ainda, um bilião, noventa e nove mil e quinhentos e onze milhões, seiscentos e vinte e sete mil e setecentos e setenta e seis bytes.

Com tantos e tão grandes números, dá mesmo vontade de esquecer estes detalhes técnicos, abrir o computador e navegar um pouco na Internet para descontrair. Mas cuidado, pois nem tudo o que se encontra lá está correcto, a começar por certas definições de bits, bytes, mega, giga e outros termos técnicos.