Crónica Histórica — O Génio com Duas Cassetes

Em 1978, com um ICL 1501 e apenas dois drives de cassete, nasceram programas de recolha inteligente de dados, ordenação, validação e relatórios de produtividade com gráficos em impressora de agulhas. Quando a memória era escassa, a imaginação era infinita.

ICL 1501 (1978): Quando Duas Cassetes Bastavam Para Criar um Mundo

Por Francisco Gonçalves — Fragmentos do Caos

📜 Box de Factos
Ano: 1978
Máquina: ICL 1501 (série ICL 1500 – terminal/sistema de recolha e processamento)
Meios: 2 drives de cassete (≈ 900 registos × 128 bytes por cassete → ~115 200 bytes)
Linguagem/Ferramenta: CDE (ambiente/procedimentos de manipulação de ficheiros), rotinas em baixo nível
Funções: Ordenação, validação/correcção, logs por operador, estatísticas, gráficos de barras em impressora de matriz de agulhas
Integração: Conversão para banda magnética de mainframe com remoção de headers de trabalho

O ofício do silêncio magnético

Quem trabalhou com cassetes conhece o som: o chiado metálico, a cabeça magnética a riscar tempo no óxido. Era aí que o rigor nascia. Cada cassete guardava 900 registos de 128 bytes; cada byte tinha um destino e um propósito. Entre o Drive A e o Drive B, montava-se um estúdio de engenharia de dados em miniatura.

Do bruto ao depurado: pipeline em duas cassetes

O fluxo era coreografado com precisão:

  • Drive A: entrada de ficheiros brutos por operador (registo a registo).
  • CDE: rotinas de validação, correcção (quando possível) e ordenação por chaves do cliente.
  • Drive B: saída consolidada e pronta a converter para banda magnética de mainframe.

Em paralelo, a aplicação escrevia metadados operacionais: quem registou, quantos erros, que correcções, tempos de execução por bloco — uma verdadeira telemetria do trabalho humano.

Headers fora, conhecimento dentro

Na fase de conversão para mainframe, os headers de trabalho eram removidos e os dados embalados no formato exacto do host. Antes disso, extraíam-se indicadores que mudavam decisões:

  • Erros por operador e taxa de re-trabalho;
  • Registos/hora e tempo médio por registo;
  • Produtividade comparada entre operadores e equipas.

Relatórios que falavam: barras na matriz de agulhas

Da impressora saíam mapas e gráficos de barras construídos com padrões de pontos/caracteres, legíveis e accionáveis. Numa única folha, a gestão via quem excedia metas, onde havia fricção e o que optimizar no ciclo seguinte. Analytics antes da palavra existir.

Esboço operativo (pseudo-código)

para cada registo em Drive_A:
    validar(campos)
    se erro:
        log_operador(id, tipo_erro, timestamp)
        se correcao_possivel: aplicar_correcao(); inc(contador_correcao)
    inserir_em_buffer_ordenacao(registo)

ordenar(buffer_ordenacao, chave_cliente, data)
gravar_em_Drive_B(formato_mainframe, remover_headers=True)

# métricas e relatório
para cada operador:
    total = contar(registos_por_operador)
    erros = somar(erros_por_operador)
    tempo = somar(tempos_por_operador)
    produtividade = total / max(tempo,1)
imprimir_relatorio_tabular()
imprimir_grafico_barras_matriz()
  

Lição de engenharia com poucos recursos

O ICL 1501 ensinou a ética do byte: elegância em vez de desperdício, processo em vez de improviso, conhecimento a partir de registos modestos. Com duas cassetes e uma impressora de agulhas, ergueu-se um ciclo completo de qualidade, auditoria e decisão.


"Antes dos gigabytes, houve engenheiros que pesavam cada byte."
— F. Gonçalves

🌌 Fragmentos do Caos: Blogue Ebooks Carrossel
👁️ Esta página foi visitada ... vezes.