sexta-feira, 11 de fevereiro de 2011

Phantom of the Floppera

A propósito de máquinas velhas... :-)

Vejam o que se pode fazer com 4 drives de diskettes e muito tempo entre mãos.


quarta-feira, 9 de fevereiro de 2011

[Off-topic] Nunca tive um ZX Spectrum

A primeira vez que vi um computador caseiro foi por volta de 1980 em casa de um amigo que era rico. Ele tinha uma televisão a cores, quando as emissões ainda eram a preto e branco. Tinha um gravador de vídeo onde via cassetes importadas. E tinha um pequeno computador programável em BASIC, com uma impressora. Era um luxo. Mas o que eu invejava mesmo era a Casal Boss que ele tinha para dar umas voltas no pátio da casa quando nenhum de nós tinha idade para ter carta.

Os meus primeiros contactos com programação foram no 10º ou 11º ano. Se a memória não me falha, o meu colega Arnaldo, jogador de andebol e futuro dirigente do Salgueiros, tinha uma invejável calculadora TI-51, que acho que era programável em notação polaca inversa ou qualquer coisa assim. Achei piada à coisa e ainda fiz uma experiência ou duas, mas fiquei-me por ali em termos de programação. Na altura, a minha "vocação" era a electrónica analógica.


Quando entrei para a universidade no final de 83, para um dos dois únicos cursos de electrónica que havia na altura em Portugal, a minha irmã ofereceu-me uma bela peça de electrónica japonesa que ostentava orgulhosamente a designação de Pocket Computer: era a Casio PB-100, que podia ser programada em BASIC e tinha uns fenomenais 544 bytes de RAM disponíveis para guardar até 10 programas. Essa pequena quantidade de RAM rapidamente se esgotou e escusado será dizer que aprendi o essencial sobre optimização de código naquele primeiro contacto com programação a sério.



A PB-100 tinha um display de cristais líquidos com 12 caracteres alfanuméricos, o que permitia programá-la para "falar" connosco em vez de apresentar apenas números.

A minha irmã trabalhava na Sperry Univac e, vendo o meu entusiasmo, trouxe-me dos States uma máquina revolucionária: a Casio PB-700. Era espectacular, com 4KB de RAM e um display gráfico com 160x32 pixels. Ainda guardo a minha, apesar de já não funcionar. Os meus principais feitos de programação nessa máquina foram a construção de um programa de redução de matrizes complexas e outro que mostrava uma imagem de um olho no écran, com base em ciclos FOR que desenhavam rectas. Os 4KB, depois expandidos para 8, não chegaram para tudo, evidentemente. E como não tinham maneira de fazer backups, tinha que apagar programas velhos para ter espaço para os novos. Às vezes copiava-os à mão para papel.



Tenho também que agradecer à minha irmã as primeiras experiências num computador compatível com IBM PC. Era o Sperry PC, que me fez baldar a algumas aulas para experimentar a programação gráfica, também em BASIC. Só arranjei esta imagem de um já bastante batido.


No ISEL, tive o primeiro contacto com duas máquinas icónicas. A primeira foi o TRS-80, um computador pessoal com sistema operativo CP/M e programável em Pascal, com um floppy-disk daqueles que eram mesmo floppy. Para além de ser uma excelente máquina, era bonita. Não arranjei uma foto do modelo que lá havia. Fica esta, que é de um modelo mais feio.



A segunda era um misterioso computador Intel, que tinha um avançado CPU 8086, permitia ligar 8 terminais, e corria um excelente sistema operativo da Microsoft: o MS-Xenix. O Xenix, sim, um flavor de Unix feito pela Microsoft, e que depois foi vendido à SCO, tendo passado a chamar-se SCO Unix... Quem se lembra ainda da aventura da Microsoft no Unix?

Enfim. Tudo isto para dizer que eu nunca tive um ZX Spectrum, o computador caseiro que saiu em Portugal por volta de 1985 e que foi o grande boom da informática doméstica por todo o mundo. Muitos adolescentes passaram horas a brincar com PEEKs e POKEs, principalmente para dar a volta a certos jogos.



Tenho dois sobrinhos pouco mais novos que eu, e que tiveram direito a um, claro. Mas por essa altura eu já andava a estudar C no Intel, uma linguagem que a minha irmã dizia que devia ser algum projecto académico sem utilidade, aconselhando-me antes a estudar COBOL. Ainda bem que não segui esse teu conselho em particular, maninha. Ganhava muito mais dinheiro mas divertia-me muito menos. :-)


sexta-feira, 4 de fevereiro de 2011

Informix, grátis, legal

Apesar de estar longe dos tempos áureos em que era o motor de base de dados mais vendido logo atrás do "Grande O", o Informix está longe de ter desaparecido.

Recentemente, em resposta aos motores de base de dados gratuitos também lançados pela Oracle e pela Microsoft, a IBM (actual proprietária da linha de produtos Informix) lançou uma versão gratuita que pode ser usada em exploração comercial.

Esta versão, designada IBM Informix Innovator-C Edition, tem as seguintes características:

Mais informação, e um link para download, pode ser encontrada no site da IBM.

Não tem que ser assim

Anda por aí esta anedota:
"A namorada pede ao namorado, que é programador:
- Morzinho, vais à loja comprar pão? Se houver ovos trazes seis, OK?
O namorado vai à loja e passados uns 15 minutos volta com 6 pães.
- 6 pães? Porquê? - pergunta ela.
- Havia ovos. - responde ele."
Mas não tem que ser assim. Esta imagem absurda de um programador desligado da realidade é causada por muitas situações reais que continuam a acontecer ainda hoje, em muitas organizações.

Cabe aos profissionais das TI romperem com este estereótipo, mostrando-se empenhados em resolver problemas reais e em ter um impacto positivo na vida dos outros.

terça-feira, 1 de fevereiro de 2011

Normas Abertas, fantasmas e a fórmula MIDI

Pela sua importância, e por não estar disponível online ao público, reproduz-se aqui um importante artigo de Gustavo Homem, presidente da ESOP, sobre a confusão (deliberada?) que tem havido entre Normas Abertas e Software Livre.

Este artigo foi publicado no jornal Público de ontem (31 de Janeiro de 2011).

"Normas Abertas, fantasmas e a fórmula MIDI
Por Gustavo Homem

Os dois projectos de lei são perfeitamente agnósticos em relação ao modelo de licenciamento do software

Como é do conhecimento público, a adopção de Normas Abertas em Portugal foi aprovada na generalidade e aguarda neste momento discussão na especialidade. Esta aprovação contou com um apoio alargado a nível dos partidos, de personalidades e instituições académicas e associações como a ESOP e a ANSOL.

A abrangência do apoio às iniciativas legislativas tem uma razão: a adopção de Normas Abertas beneficiará o Estado, as empresas e os cidadãos e acabará por resolver um conjunto de problemas de incompatibilidade que prejudicam o bom funcionamento do mercado. Como é lógico, e decorre de escassos minutos de reflexão de qualquer pessoa familiarizada com tecnologia, só será prejudicado pela adopção de Normas Abertas quem viver artificialmente à custa das tais incompatibilidades. As Normas Abertas foram já adoptadas em muitos outros países, que por consenso reconheceram as suas vantagens.

Neste contexto, foi com alguma perplexidade que tomámos conhecimento de três artigos cujos autores - Luís Amaral (Universidade do Minho), Henrique O'Neill (ISCTE) e Paulo Fernandes (Microsoft) -, não obstante pertencerem a instituições merecedoras do maior respeito, parecem recorrer à fórmula MIDI para lançar a confusão na opinião pública. A fórmula MIDI (Medo, Incerteza, Dúvida, Insegurança) não é nova. Quando se quer impedir algo positivo na sua essência e aparência, aoposição frontal não fica bem. É muito mais eficaz apoiar o conceito enquanto se alerta vivamente para as previsíveis complicações da sua execução. Consegue-se assim, mostrando simultaneamente afinidades, desencorajar os menos corajosos e aniquilar de todo os mais medrosos. Nos três artigos publicados a receita é, por coincidência, a mesma. Os autores mostram-se preocupados com a confusão entre Normas Abertas e Software Open Source (vulgo Software Livre) embora não expliquem de onde vem a confusão e em que circunstâncias a presenciaram.

Estranha-se o timing, a semelhança e o engano. Na realidade, os dois projectos de lei aprovados na generalidade não só não confundem os conceitos como são perfeitamente agnósticos em relação ao modelo de licenciamento do software.

Estranha-se também que estes três autores, embora tendo publicado os artigos sob títulos relacionados com "Normas Abertas", ocupem a maior parte dos seus textos a alertar para os perigos de adopção de Software Open Source. Dir-se-ia que aquilo que preocupa os autores (a tal confusão...) é algo para que os próprios estão a contribuir.

Estranha-se ainda, no caso de Henrique O'Neill, que enquanto qualifica as ideias subjacentes como "legítimas e meritórias" (sic) se mostre tão fervorosamente céptico sobre a sua implementação: "Algumas das ideias que incorpora são legítimas e meritórias, mas são de aplicação muito difícil, promovendo rupturas de consequências imprevisíveis, nomeadamente quando se impõe prazos apertados de implementação. Na prática, a sua implementação iria trazer muito mais problemas do que os que tenta resolver [...] há um risco real de bloquear o funcionamento da administração pública".

Tudo indica que Henrique O'Neill se esqueceu de investigar a adopção das ideias "legítimas e meritórias" em países como a Holanda, a Bélgica, a Espanha ou a Dinamarca. Estará em condições de afirmar que as respectivas administrações públicas bloquearam após a mudança? Se sim, era bom que partilhasse os factos. Caso contrário não passa de MIDI.

É curioso imaginar que, feito o respectivo distanciamento, uma citação análoga à anterior podia bem ser originária do líder de algum governo totalitário, a respeito das "consequências imprevisíveis" da adopção da Democracia. O "template" encaixa na perfeição. Porquê? Porque todas as mudanças, especialmente as boas, têm desafios.

A adopção de Normas Abertas terá os seus. Mas as coisas são sempre mais assustadoras quando alguém espalha fantasmas na mansão. Neste caso, se tivermos o cuidado de acender um castiçal sobre o assunto e procurarmos cuidadosamente os factos, não vislumbraremos nada de mais fantasmagórico do que Luís Amaral, Henrique O'Neill e Paulo Fernandes a sussurrar debaixo de um lençol."