Translate

quinta-feira, 5 de dezembro de 2024

Project eMule 3.0 : Quando um Programador Descobre que a Biblioteca Perdida da Internet Nunca Morreu... Ela Apenas Esperava a Tecnologia Certa para Renascer

Bellacosa Mainframe e o projeto emule 3.0



☕ Um Café no Bellacosa Mainframe

eMule 3.0 sem Mistérios para Programadores COBOL

Quando um Programador Descobre que a Biblioteca Perdida da Internet Nunca Morreu... Ela Apenas Esperava a Tecnologia Certa para Renascer

"Fortuna et Gloria, kid... fortuna e glória."
— Indiana Jones


Introdução — A Biblioteca Enterrada Sob as Areias da Internet

Imagine Indiana Jones entrando em uma cidade perdida.

Durante séculos, exploradores acreditaram que ela havia desaparecido.

As portas estavam cobertas de areia.

As paredes rachadas.

As estantes vazias.

Mas bastou remover alguns metros de poeira para descobrir algo extraordinário:

A biblioteca nunca havia desaparecido.

Ela apenas estava esperando alguém capaz de compreendê-la.

O eMule é exatamente assim.

Para milhões de pessoas ele morreu.

Para engenheiros de sistemas distribuídos...

Ele apenas entrou em hibernação.

Enquanto o mundo discutia streaming, cloud computing e inteligência artificial, quase ninguém percebeu que um software criado em 2002 já possuía conceitos que hoje aparecem em Kubernetes, Git, Docker, IPFS, Cassandra, Ceph, Hadoop e até em arquiteturas Zero Trust.

Talvez o erro nunca tenha sido o eMule.

Talvez tenha sido nossa incapacidade de continuar evoluindo uma das arquiteturas distribuídas mais inteligentes já construídas para computadores domésticos.

Hoje vamos imaginar como seria seu sucessor.

Bem-vindo ao eMule 3.0.


Capítulo I — O Burro Nunca Foi Lento

O nome "eMule" sempre gerou piadas.

"Mula."

"Lento."

"Fila."

"Espera."

Mas toda mula conhece um segredo.

Ela atravessa montanhas onde cavalos morrem.

Enquanto o BitTorrent foi projetado para velocidade...

O eMule foi projetado para sobrevivência.

E sobrevivência continua sendo um dos maiores desafios da humanidade digital.


Capítulo II — O Mundo Mudou

Em 2003...

A Internet era assim:

  • ADSL

  • Windows XP

  • IPv4

  • NAT doméstico

  • Monitores CRT

  • Arquivos ZIP

  • CDs graváveis

Hoje temos:

  • IPv6

  • 5G

  • Fibra óptica

  • SSD NVMe

  • IA generativa

  • Computação em nuvem

  • Smartphones

  • Edge Computing

A arquitetura precisa acompanhar essa transformação.

https://eljefemidnightlunch.blogspot.com/2015/04/quando-os-arquivos-eram-tesouros-pre.html


Capítulo III — Adeus MD4

O primeiro artefato arqueológico a ser aposentado seria o MD4.

Em 2002 ele era rápido.

Hoje sabemos que possui fragilidades conhecidas.

No eMule 3.0 cada arquivo possuiria:

  • SHA-256

  • BLAKE3

  • Assinatura digital opcional

O hash deixaria de ser apenas um identificador.

Passaria a representar identidade, autenticidade e integridade.

Como um CPF criptográfico do conhecimento.


Capítulo IV — A Biblioteca Inteligente

No eMule antigo...

Você pesquisava:

COBOL

No eMule 3.0...

Você conversaria.

"Encontre todos os manuais IBM COBOL publicados entre 1982 e 1991 que expliquem VSAM e CICS."

A IA responderia:

"Foram encontrados 87 documentos.

Os três mais relevantes são..."

A pesquisa deixaria de procurar palavras.

Passaria a compreender significado.


Capítulo V — OCR Universal

Milhões de documentos históricos existem apenas como imagens escaneadas.

Hoje isso é desperdício.

O eMule 3.0 indexaria automaticamente:

  • PDFs

  • TIFF

  • JPG

  • PNG

Aplicaria OCR.

Extrairia texto.

Geraria embeddings.

Criaria conhecimento pesquisável.

Um manual IBM de 1978 deixaria de ser uma fotografia.

Voltaria a ser informação.


Capítulo VI — O DNA do Conhecimento

Cada documento receberia uma identidade muito mais rica.

Não apenas um hash.

Mas um verdadeiro DNA digital.

Exemplo:

  • idioma

  • autor

  • editora

  • assunto

  • década

  • tecnologia

  • qualidade do OCR

  • número de páginas

  • referências cruzadas

A busca seria quase arqueológica.


Capítulo VII — Redes Unidas

O maior erro da Internet moderna foi criar ilhas.

O eMule 3.0 faria exatamente o contrário.

Pesquisaria simultaneamente:

  • eD2k

  • Kad

  • BitTorrent

  • IPFS

  • Arquivos públicos

  • Bibliotecas digitais autorizadas

O usuário faria apenas uma pergunta.

A plataforma descobriria onde o conhecimento está.


Capítulo VIII — IA como Bibliotecária

Imagine perguntar:

"Estou aprendendo IMS DB."

A IA responderia:

"Recomendo começar por estes cinco livros.

Depois estes vídeos.

Depois estes artigos.

Existe ainda um manual IBM de 1986 extremamente importante."

O eMule deixaria de ser um downloader.

Viraria um professor.


Capítulo IX — Reputação 2.0

Os antigos créditos eram excelentes.

Mas hoje poderiam evoluir.

Cada usuário teria uma reputação baseada em:

  • tempo de disponibilidade

  • integridade dos arquivos

  • contribuição para preservação

  • participação na catalogação

  • revisão de metadados

Quem ajuda a biblioteca.

Ajuda toda a humanidade.


Capítulo X — Deduplicação Mundial

Imagine dez milhões de PDFs.

Quantos blocos são repetidos?

Milhões.

O eMule 3.0 faria deduplicação global.

Cada bloco existiria apenas uma vez.

Economizando armazenamento em escala planetária.

Algo muito próximo do que storages corporativos fazem hoje.


Capítulo XI — Cliente Web

Nada de instalar vinte programas.

Bastaria abrir:

https://emule3.org

Pesquisar.

Compartilhar.

Organizar.

Tudo funcionando diretamente no navegador.


Capítulo XII — Cliente Mobile

O celular deixaria de ser apenas consumidor.

Passaria a preservar.

Fotos históricas.

Livros em domínio público.

Documentação técnica.

Tudo poderia contribuir para a biblioteca distribuída.


Capítulo XIII — Preservação Digital

Aqui está a verdadeira missão.

Não compartilhar filmes.

Não compartilhar músicas.

Mas impedir que conhecimento desapareça.

Imagine preservar:

  • manuais IBM dos anos 60

  • documentação Burroughs

  • compiladores COBOL históricos

  • revistas BYTE

  • revistas Micro Sistemas

  • livros de programação esgotados publicados legalmente em domínio público

  • documentação técnica aberta

Cada computador armazenaria apenas alguns megabytes.

Mas juntos...

Preservariam séculos de conhecimento.


Capítulo XIV — Segurança Moderna

O eMule 3.0 seria construído sobre princípios modernos:

  • TLS 1.3 para comunicações protegidas quando apropriado

  • BLAKE3 e SHA-256 para integridade

  • Assinaturas digitais para clientes oficiais

  • Atualizações autenticadas

  • Sandboxing para indexação de arquivos

  • Proteção contra clientes maliciosos

  • Reputação distribuída

  • Verificação de múltiplas fontes antes da catalogação

O objetivo não seria anonimato absoluto, e sim integridade, autenticidade e resiliência.


Capítulo XV — A Biblioteca de Alexandria Nunca Queimou

Talvez esta seja a maior mudança filosófica.

O eMule antigo compartilhava arquivos.

O eMule 3.0 preservaria civilizações.

Imagine uma falha catastrófica em um grande provedor.

Data centers desligados.

Serviços encerrados.

Empresas fechadas.

Mesmo assim...

A biblioteca continuaria viva.

Porque não pertence a uma empresa.

Pertence à comunidade.


Easter Eggs para Programadores COBOL

🏛 Easter Egg 1

O hash é o equivalente moderno da chave primária de um Db2.


🏛 Easter Egg 2

Os blocos distribuídos lembram páginas VSAM espalhadas por múltiplos volumes.


🏛 Easter Egg 3

A reputação dos nós funciona como um RACF social: confiança é construída ao longo do tempo.


🏛 Easter Egg 4

A deduplicação mundial lembra o DFSMS eliminando redundâncias em grandes ambientes de armazenamento.


🏛 Easter Egg 5

A IA bibliotecária faz o papel de um analista experiente que conhece décadas de documentação e sabe exatamente qual manual indicar para resolver um problema.


Curiosidades

  • O Git utiliza armazenamento orientado a conteúdo, conceito que conversa diretamente com a filosofia de identificação por hash usada no eD2k.

  • O IPFS também identifica objetos por seu conteúdo, não pelo local onde estão armazenados.

  • Grandes storages corporativos da IBM, Dell, Pure Storage e NetApp utilizam deduplicação e compressão para reduzir drasticamente o espaço ocupado.

  • Muitos pesquisadores consideram as redes P2P um dos pilares que influenciaram arquiteturas distribuídas modernas.


Conclusão — O Cálice Não Era de Ouro

No final de Indiana Jones e a Última Cruzada, o verdadeiro Santo Graal não era o cálice mais bonito.

Era o mais simples.

O eMule sempre foi esse cálice.

Jamais teve a interface mais elegante.

Jamais foi o software mais rápido.

Jamais teve campanhas de marketing milionárias.

Mas carregava uma ideia extraordinária:

Conhecimento importante nunca deveria desaparecer apenas porque um servidor foi desligado.

Talvez tenha chegado a hora de revisitar essa ideia.

Não para reviver nostalgicamente um software dos anos 2000.

Mas para construir uma infraestrutura mundial de preservação digital, onde cada computador contribua com um pequeno fragmento da memória coletiva da humanidade.

Se isso acontecer, o eMule deixará definitivamente de ser lembrado como um programa de downloads.

Será reconhecido como aquilo que sempre tentou ser desde o primeiro dia:

A Biblioteca de Alexandria da Era Digital, distribuída entre milhões de computadores, protegida não por muralhas de pedra, mas pela cooperação silenciosa de pessoas que acreditam que conhecimento deve sobreviver às empresas, aos governos, às modas tecnológicas e ao próprio tempo.

E quando esse dia chegar, todo programador COBOL Padawan compreenderá uma verdade que os arquitetos de mainframe conhecem há décadas:

Sistemas realmente grandiosos não são construídos para a próxima versão. São construídos para sobreviver às próximas gerações.

CSI Mainframe: Os 10 Desafios de Modernizar Sistemas Legados sem Destruir a Cena do Crime Quando um Programador COBOL Descobre que o Sistema Antigo Não é o Suspeito

 

Bellacosa Mainframe e os 10 desafios para modernizar sistemas legados

☕ Um Café no Bellacosa Mainframe

CSI Mainframe: Os 10 Desafios de Modernizar Sistemas Legados sem Destruir a Cena do Crime

Quando um Programador COBOL Descobre que o Sistema Antigo Não é o Suspeito — É a Principal Testemunha do Caso

Era pouco depois das três da manhã quando o telefone tocou.

No Data Center, as luzes permaneciam frias, constantes, quase indiferentes ao drama humano. No console, uma sequência de mensagens indicava que alguma coisa havia parado. Não era ainda um desastre completo, mas havia sinais suficientes para mobilizar a equipe.

Uma aplicação recém-modernizada havia entrado em produção poucas horas antes. O projeto prometia velocidade, flexibilidade, economia e uma experiência de usuário moderna. A apresentação para a diretoria havia usado palavras como transformação digital, inovação, nuvem, agilidade e arquitetura de próxima geração.

Agora, porém, ninguém queria falar sobre os slides.

Um processo de conciliação financeira não havia sido executado.

O sistema novo afirmava que tudo estava correto.

O sistema antigo, que deveria ter sido aposentado, havia deixado um arquivo vazio em uma biblioteca temporária.

Um programador iniciante olhou para a tela e fez a pergunta mais perigosa de toda a investigação:

— Mas esse programa não tinha sido desativado?

O analista mais experiente tomou um gole de café, observou o job no SDSF e respondeu:

— Oficialmente, sim.

Naquele instante, o jovem programador descobriu uma verdade fundamental do ambiente corporativo:

um sistema legado nunca desaparece apenas porque alguém escreveu “desativado” em uma planilha.

Ele desaparece quando todas as dependências foram identificadas, todos os usuários foram preparados, todas as regras foram compreendidas, todos os dados foram preservados, todos os testes foram executados e todos os caminhos de retorno foram planejados.

Até lá, o sistema continua presente.

Às vezes como aplicação.

Às vezes como arquivo.

Às vezes como interface.

Às vezes como hábito.

E, em muitos casos, como fantasma.

Bem-vindo ao laboratório forense do Bellacosa Mainframe.

Hoje, o caso investigado é complexo:

Quais são os verdadeiros desafios envolvidos na atualização de sistemas legados?

Coloque as luvas.

Ligue a luz ultravioleta.

Abra o código COBOL.

A cena do crime está esperando.


1. Antes da investigação: o que é realmente um sistema legado?

Um erro comum entre profissionais iniciantes é imaginar que sistema legado significa necessariamente um sistema velho, ultrapassado ou inútil.

Essa associação é sedutora, porém perigosa.

Um programa escrito há quarenta anos pode ser tecnicamente antigo, mas ainda cumprir sua função com precisão, desempenho e disponibilidade extraordinários.

Ao mesmo tempo, uma aplicação criada há oito meses pode já ser considerada legado se:

  • ninguém compreende sua arquitetura;

  • não existe documentação;

  • o fornecedor encerrou o suporte;

  • o código depende de uma biblioteca abandonada;

  • a aplicação não pode ser modificada sem provocar falhas;

  • ela se tornou indispensável ao negócio.

No ambiente mainframe, o termo “legado” frequentemente descreve sistemas que concentram décadas de conhecimento de negócio.

Eles processam:

  • contas bancárias;

  • seguros;

  • folhas de pagamento;

  • arrecadação de impostos;

  • cartões de crédito;

  • reservas aéreas;

  • benefícios previdenciários;

  • faturamento;

  • logística;

  • operações governamentais.

Portanto, o sistema legado não é apenas um conjunto de programas.

Ele representa uma combinação de:

  • código;

  • dados;

  • regras;

  • contratos;

  • procedimentos;

  • conhecimento humano;

  • integrações;

  • exceções;

  • decisões históricas.

Um sistema assim se parece menos com um software isolado e mais com uma cidade construída ao longo de décadas.

Existem ruas principais, túneis, atalhos, passagens subterrâneas e construções que ninguém lembra por que foram erguidas.

Modernizar essa cidade não significa simplesmente demolir tudo e construir novamente.

Significa descobrir quem vive nela, por onde passam os recursos, quais pontes ainda são usadas e quais estruturas não podem cair.


2. Primeira evidência: a aceitação do usuário

Na investigação de uma modernização, o primeiro suspeito costuma ser a resistência dos usuários.

A equipe técnica apresenta a nova solução e fica surpresa quando os operadores demonstram desconfiança.

O novo sistema tem:

  • gráficos;

  • menus;

  • ícones;

  • dashboards;

  • botões coloridos;

  • pesquisa inteligente;

  • interface responsiva.

Mesmo assim, o usuário prefere a antiga tela 3270.

O programador iniciante pensa:

— Como alguém pode preferir uma tela preta com letras verdes?

A resposta é simples:

porque aquela tela não é apenas uma interface. Ela é uma extensão da memória operacional do usuário.

Um operador experiente pode saber exatamente quantas vezes pressionar TAB para chegar a um campo. Ele conhece as teclas de função. Sabe interpretar mensagens abreviadas. Reconhece situações anormais antes mesmo que apareça uma mensagem de erro.

Ele não lê a tela como um iniciante.

Ele opera por memória muscular.

É semelhante a um pianista experiente. O músico não precisa procurar cada tecla. Seus dedos reconhecem o caminho.

Quando uma interface é substituída, todo esse conhecimento pode ser perdido.

Exemplo prático

Imagine uma tela CICS utilizada por uma equipe de atendimento:

TRAN: C001

CLIENTE: ___________
CONTA:   ___________
OPÇÃO:   _

O operador sabe que:

  • F5 consulta;

  • F8 avança;

  • F3 retorna;

  • determinada mensagem exige nova autenticação;

  • um código específico indica bloqueio judicial;

  • outro código representa apenas atraso de atualização.

A nova interface web traduz todas essas mensagens, altera a navegação e exige cliques.

Tecnicamente, ela pode parecer superior.

Operacionalmente, pode ser mais lenta.

Lição forense

A resistência do usuário nem sempre é medo irracional.

Às vezes é evidência de que a equipe de modernização não compreendeu o processo real.

Por isso, os usuários devem participar desde o início:

  1. Observe como trabalham.

  2. Registre atalhos e hábitos.

  3. Pergunte onde perdem tempo.

  4. Identifique controles paralelos.

  5. Crie protótipos.

  6. Valide com usuários experientes.

  7. Meça produtividade antes e depois.

Easter egg CSI

Em CSI, uma pequena marca em um objeto pode revelar toda a história de um crime.

Em sistemas corporativos, um simples atalho de teclado pode revelar vinte anos de adaptação operacional.

Não ignore as pequenas marcas.


3. Segunda evidência: os fluxos de trabalho ocultos

Um sistema raramente trabalha sozinho.

Quando uma aplicação é analisada superficialmente, ela parece executar uma função direta.

Por exemplo:

“Este programa calcula a parcela.”

Mas a função real pode ser muito maior.

O programa pode:

  • ler dados de um VSAM;

  • consultar informações em Db2;

  • receber parâmetros de uma transação CICS;

  • gravar uma TSQ;

  • enviar mensagem para MQ;

  • gerar arquivo para processamento batch;

  • alimentar relatórios;

  • atualizar um sistema regulatório;

  • acionar uma rotina de auditoria.

A aplicação não é um ponto.

Ela é um nó em uma rede.

A cadeia invisível

Considere o fluxo:

Aplicativo Mobile
      ↓
API
      ↓
z/OS Connect
      ↓
Programa COBOL
      ↓
Db2
      ↓
Fila MQ
      ↓
Batch noturno
      ↓
Arquivo regulatório
      ↓
Auditoria

Trocar o programa COBOL pode alterar a API.

Alterar a API pode afetar o aplicativo.

Modificar a estrutura do banco pode quebrar relatórios.

Mudar o formato do arquivo pode interromper o processo regulatório.

Esse é o motivo pelo qual modernizações aparentemente simples se tornam projetos enormes.

Dica para o programador iniciante

Antes de alterar uma aplicação, desenhe o fluxo completo.

Pergunte:

  • Quem chama este programa?

  • O que ele chama?

  • Quais arquivos lê?

  • Quais arquivos grava?

  • Quais tabelas acessa?

  • Quais filas utiliza?

  • Em quais jobs aparece?

  • Quais relatórios dependem dele?

  • Que sistemas externos recebem seus dados?

Essa investigação é conhecida como análise de impacto.

No mundo CSI, ninguém move uma evidência antes de fotografar a cena.

No mainframe, ninguém deveria alterar um programa antes de mapear suas dependências.


4. Terceira evidência: dependências desconhecidas

Aqui encontramos um dos maiores perigos de toda modernização.

As dependências conhecidas são trabalhosas.

As desconhecidas são perigosas.

Um programa pode parecer sem uso porque:

  • não aparece em uma documentação recente;

  • não foi alterado em anos;

  • não possui um responsável definido;

  • não é executado diariamente;

  • nenhum usuário admite conhecê-lo.

Isso não significa que esteja inutilizado.

Talvez ele execute:

  • apenas no último dia do mês;

  • somente no fechamento anual;

  • em anos bissextos;

  • quando ocorre uma falha específica;

  • durante recuperação de desastre;

  • para um produto antigo ainda ativo;

  • em um processo judicial raro.

O programa que acordava uma vez por ano

Imagine um módulo chamado PGMIRP99.

Seu nome não ajuda.

A documentação não existe.

O histórico mostra que ninguém o alterou desde 2003.

A equipe decide removê-lo.

Onze meses depois, no fechamento do exercício fiscal, um job tenta executá-lo.

Resultado:

CSV003I REQUESTED MODULE PGMIRP99 NOT FOUND

O sistema falha.

A investigação começa.

Descobre-se que o programa calculava uma regra específica usada apenas no último fechamento anual.

O código parecia morto.

Na verdade, estava hibernando.

Como investigar dependências

Uma análise séria pode envolver:

  • busca em bibliotecas JCL;

  • análise de PROCs;

  • pesquisa em schedulers;

  • consulta a históricos SMF;

  • análise de chamadas estáticas e dinâmicas;

  • rastreamento de transações CICS;

  • inspeção de filas MQ;

  • análise de logs;

  • entrevistas com usuários;

  • análise de catálogos;

  • pesquisa em repositórios de código;

  • consulta a sistemas de gerenciamento de mudanças.

Atenção ao CALL dinâmico

Em COBOL, uma chamada pode ser direta:

CALL 'PGMCALC' USING WS-DADOS

Mas também pode ser dinâmica:

MOVE WS-NOME-PROGRAMA TO WS-PGM
CALL WS-PGM USING WS-DADOS

No segundo caso, procurar apenas pelo nome do programa pode não revelar a dependência.

O módulo é definido em tempo de execução.

É como procurar um suspeito cujo nome nunca aparece nos documentos.


5. Quarta evidência: não planejar a substituição

Muitas organizações constroem sistemas como se eles fossem eternos.

O código nasce fortemente acoplado:

  • ao banco;

  • ao fornecedor;

  • ao sistema operacional;

  • ao formato dos arquivos;

  • às interfaces;

  • aos processos;

  • aos nomes de bibliotecas.

Quando chega o momento de substituir uma parte, tudo está conectado.

Esse problema não pertence apenas aos sistemas antigos.

Aplicações modernas também podem ser criadas dessa forma.

Um sistema em nuvem pode se tornar prisioneiro de serviços proprietários e ser mais difícil de migrar do que uma aplicação COBOL bem estruturada.

Planejar a saída desde a entrada

Uma boa arquitetura deve considerar:

  • substituição futura;

  • portabilidade;

  • versionamento;

  • interfaces bem definidas;

  • abstração;

  • desacoplamento;

  • observabilidade;

  • documentação;

  • testes.

No mainframe, uma estratégia eficiente é proteger o núcleo do negócio por meio de camadas.

Exemplo:

Canal Mobile
     ↓
API REST
     ↓
Camada de Integração
     ↓
COBOL/CICS
     ↓
Db2

O programa COBOL continua executando a regra crítica.

A camada de integração permite novos canais.

Dessa maneira, modernizar não significa necessariamente reescrever.

Pode significar expor, organizar, automatizar e integrar.


6. Quinta evidência: reescrever quando necessário

Existem situações em que uma reescrita é justificável.

Por exemplo:

  • tecnologia sem suporte;

  • hardware impossível de manter;

  • código irrecuperável;

  • risco de segurança;

  • incapacidade de escalar;

  • custo operacional insustentável;

  • ausência total de profissionais;

  • necessidade de mudança radical do negócio.

Mas a decisão não pode ser ideológica.

A frase “vamos reescrever tudo” costuma parecer corajosa em uma reunião.

Na prática, pode iniciar uma operação de altíssimo risco.

O código como documento histórico

Considere este trecho:

IF WS-TIPO-CONTRATO = 'A'
   AND WS-DATA-ADESAO < 20030101
   AND WS-REGIAO = '03'
      COMPUTE WS-TAXA = WS-TAXA * 0.875
END-IF

O programador iniciante pode considerar essa lógica estranha.

Talvez ela represente:

  • uma legislação antiga;

  • uma decisão judicial;

  • uma condição contratual;

  • um acordo comercial;

  • uma exceção regulatória.

Sem investigação, alguém pode “simplificar” o código.

A simplificação pode criar prejuízos, multas ou ações judiciais.

Reescrever não é traduzir

Converter COBOL para Java linha por linha não moderniza necessariamente o sistema.

É possível criar um programa Java com arquitetura de 1975.

Da mesma forma, é possível manter COBOL dentro de uma arquitetura moderna com:

  • APIs;

  • CI/CD;

  • testes automatizados;

  • Git;

  • observabilidade;

  • integração com cloud;

  • containers em componentes complementares.

Linguagem não define sozinha a modernidade.

Arquitetura, governança, automação e capacidade de evolução importam muito mais.


7. Sexta evidência: o investimento acumulado

Quando uma empresa analisa um sistema legado, costuma enxergar custos:

  • licenças;

  • hardware;

  • suporte;

  • profissionais;

  • manutenção.

Mas existe um investimento invisível.

O sistema contém milhares de decisões tomadas ao longo de décadas.

Cada correção representa uma lição.

Cada exceção representa um caso real.

Cada validação representa uma falha que alguém decidiu impedir.

Portanto, o código acumulou conhecimento.

Uma conta que não aparece no balanço

Imagine um sistema com dez milhões de linhas, construído durante trinta anos.

Não seria correto calcular seu valor apenas pelo custo atual de manutenção.

Seria necessário considerar:

  • horas de desenvolvimento;

  • análise de negócio;

  • testes;

  • auditorias;

  • adaptações legais;

  • integração com parceiros;

  • correções de incidentes;

  • conhecimento dos especialistas.

Esse patrimônio pode valer muito mais do que o próprio hardware.

É como um laboratório forense com décadas de evidências organizadas.

Você pode substituir os computadores.

Não pode reconstruir facilmente o conhecimento perdido.


8. Sétima evidência: evitar tempo de inatividade

Em sistemas críticos, parar não é uma opção simples.

Uma indisponibilidade pode impedir:

  • pagamentos;

  • transferências;

  • compras;

  • embarques;

  • atendimentos;

  • autorizações;

  • emissão de documentos;

  • processamento de salários.

Por isso, a migração deve prever continuidade.

Estratégias de transição

Execução paralela

O sistema antigo e o novo processam os mesmos dados.

Depois, os resultados são comparados.

Entrada
  ├── Sistema Antigo → Resultado A
  └── Sistema Novo   → Resultado B

Comparação: A = B?

Shadow processing

O novo sistema recebe cópias das transações, mas ainda não responde oficialmente.

Ele trabalha nas sombras, como um laboratório analisando evidências sem interferir na operação.

Blue-Green Deployment

Dois ambientes são mantidos:

  • Blue: versão atual;

  • Green: nova versão.

Quando o novo ambiente está validado, o tráfego é redirecionado.

Canary Release

A nova versão atende uma pequena parcela dos usuários.

Se os indicadores forem bons, a liberação aumenta gradualmente.

Rollback

Toda implantação deve possuir um plano de retorno.

Perguntas fundamentais:

  • Como voltar?

  • Em quanto tempo?

  • Os dados continuam compatíveis?

  • Existe backup?

  • As transações podem ser reprocessadas?

  • O retorno já foi testado?

Um rollback não testado é apenas esperança documentada.


9. Oitava evidência: retorno sobre investimento

Muitas modernizações são aprovadas com base em uma promessa:

“A nova tecnologia reduzirá custos.”

Mas o cálculo do ROI costuma ser incompleto.

É necessário comparar:

  • custo de manutenção;

  • custo de migração;

  • custo de treinamento;

  • custo de indisponibilidade;

  • custo de erros;

  • custo de coexistência;

  • custo de licenças;

  • custo de segurança;

  • custo de auditoria;

  • custo de oportunidade.

ROI invisível

Nem todo retorno aparece como aumento direto de receita.

Modernizar pode trazer:

  • menor risco;

  • maior velocidade de entrega;

  • melhor rastreabilidade;

  • facilidade de integração;

  • redução de incidentes;

  • automação de testes;

  • recuperação mais rápida;

  • maior segurança.

Imagine um projeto que custa R$ 5 milhões e evita uma falha potencial de R$ 50 milhões.

O retorno não está apenas no que a empresa ganhou.

Está também no que deixou de perder.

Armadilha da economia imaginária

Um projeto pode prometer economia ao retirar o mainframe.

Porém, depois surgem custos com:

  • dezenas de servidores;

  • bancos distribuídos;

  • redes;

  • especialistas;

  • observabilidade;

  • redundância;

  • segurança;

  • licenças;

  • tráfego de dados;

  • indisponibilidades.

O custo precisa ser comparado de ponta a ponta.

Não basta comparar o preço de uma plataforma com o preço de outra.

É necessário comparar a capacidade entregue, a disponibilidade, o desempenho, a segurança e o risco operacional.


10. Nona evidência: comunicação aberta

A modernização não ocorre apenas dentro dos computadores.

Ela acontece na cabeça das pessoas.

Quando uma empresa anuncia uma grande transformação, surgem medos:

  • “Meu conhecimento ficará inútil?”

  • “Perderei meu emprego?”

  • “O sistema novo vai substituir minha função?”

  • “Serei responsabilizado se falhar?”

  • “Vou conseguir aprender?”

Ignorar esses medos cria resistência.

E resistência silenciosa pode ser mais perigosa do que oposição explícita.

O especialista tratado como obstáculo

Um erro frequente é tratar profissionais antigos como inimigos da inovação.

Eles podem parecer conservadores porque conhecem falhas que os recém-chegados nunca viram.

O especialista lembra:

  • do processamento que falhou em 1999;

  • da regra criada após uma auditoria;

  • do arquivo que não pode ser ordenado;

  • da transação que exige commit em determinado momento;

  • da rotina usada durante contingência.

Esse profissional não deve ser descartado.

Ele deve ser incorporado à investigação.

Comunicação eficiente

Uma estratégia saudável explica:

  1. Por que a mudança é necessária.

  2. O que será preservado.

  3. O que será substituído.

  4. Como os profissionais participarão.

  5. Quais competências serão valorizadas.

  6. Como ocorrerá o treinamento.

  7. Quais riscos estão sendo controlados.

  8. Como o sucesso será medido.

Modernização sem comunicação cria boatos.

Boatos criam medo.

Medo cria sabotagem involuntária, omissão de conhecimento e baixa adesão.


11. Décima evidência: escolher entre opções demais

O mercado oferece inúmeras alternativas:

  • nuvem pública;

  • nuvem privada;

  • nuvem híbrida;

  • containers;

  • SaaS;

  • PaaS;

  • bancos distribuídos;

  • eventos;

  • APIs;

  • plataformas low-code;

  • inteligência artificial;

  • microsserviços.

O problema não é a falta de opções.

É o excesso.

A organização pode escolher uma tecnologia porque:

  • está na moda;

  • aparece em eventos;

  • foi recomendada por consultorias;

  • o concorrente utiliza;

  • o fornecedor oferece desconto;

  • a diretoria assistiu a uma apresentação convincente.

Nenhuma dessas razões é suficiente.

A tecnologia deve seguir o caso

A escolha precisa considerar:

  • volume de transações;

  • latência;

  • disponibilidade;

  • consistência;

  • segurança;

  • regulação;

  • custo;

  • competências internas;

  • integração;

  • prazo;

  • recuperação de desastre;

  • soberania de dados;

  • dependência de fornecedor.

Em alguns casos, cloud é excelente.

Em outros, manter o processamento central no mainframe e integrar com cloud é melhor.

O futuro corporativo tende a ser híbrido.

Não existe obrigação de mover tudo para um único lugar.

O objetivo é posicionar cada carga onde ela funciona melhor.


12. Evidência adicional: documentação inexistente

O artigo original apresenta dez desafios importantes, mas deixa uma cadeira vazia na sala de interrogatório.

A documentação.

Em muitos ambientes, o único documento confiável é o código-fonte.

Você encontra:

IF WS-FLAG-X = 'S'
   PERFORM 9000-AJUSTE-ESPECIAL
END-IF

Pergunta:

— O que significa WS-FLAG-X?

Resposta:

— Não sabemos.

Pergunta:

— Por que chama 9000-AJUSTE-ESPECIAL?

Resposta:

— Foi criado antes de eu entrar.

Pergunta:

— Podemos remover?

Silêncio.

Esse é o momento em que o programador COBOL se transforma em investigador.

Ele precisa:

  • rastrear origem do campo;

  • localizar onde recebe valor;

  • analisar arquivos;

  • examinar copybooks;

  • encontrar chamadas;

  • comparar versões;

  • buscar documentação antiga;

  • consultar especialistas;

  • testar cenários.

Regra de ouro

Nunca presuma que código estranho é código inútil.

Código estranho pode ser uma pista.


13. Evidência adicional: conhecimento humano

Parte do sistema não está gravada em disco.

Está na memória das pessoas.

O operador sabe que determinado arquivo chega atrasado em feriados.

O DBA sabe que uma tabela não pode receber determinado índice.

O analista conhece uma exceção contratual.

O programador lembra que um job precisa executar após outro, embora o scheduler não indique dependência formal.

Quando essas pessoas saem, o sistema perde contexto.

Como preservar conhecimento

  • entrevistas estruturadas;

  • sessões gravadas;

  • documentação de incidentes;

  • mapas de fluxo;

  • catálogos de regras;

  • revisão de código;

  • programação em dupla;

  • comunidades internas;

  • mentoria;

  • laboratórios práticos;

  • registro de decisões arquiteturais.

O conhecimento precisa sair da cabeça e entrar no processo.


14. Evidência adicional: testes insuficientes

O novo sistema pode funcionar em demonstração.

Isso não significa que esteja pronto para produção.

O ambiente real contém:

  • dados incompletos;

  • contratos antigos;

  • clientes especiais;

  • caracteres inesperados;

  • datas inválidas;

  • arquivos atrasados;

  • duplicidades;

  • volumes extremos;

  • falhas de rede;

  • concorrência;

  • reprocessamentos.

Testar o caminho feliz não basta

Considere um cálculo de juros.

O teste comum verifica:

  • valor normal;

  • prazo normal;

  • taxa normal.

Mas o sistema real pode precisar tratar:

  • contrato suspenso;

  • pagamento parcial;

  • cliente falecido;

  • decisão judicial;

  • feriado regional;

  • moeda histórica;

  • migração de produto;

  • arredondamento especial;

  • renegociação.

Esses casos vivem nos cantos escuros do sistema.

É exatamente onde a luz ultravioleta deve ser aplicada.

Tipos de teste necessários

  • teste unitário;

  • teste de integração;

  • teste de regressão;

  • teste de volume;

  • teste de desempenho;

  • teste de recuperação;

  • teste de segurança;

  • teste de coexistência;

  • teste de reconciliação;

  • teste de rollback;

  • teste de desastre.

Modernizar sem regressão automatizada é caminhar pela cena do crime com os olhos fechados.


15. Evidência adicional: auditoria e conformidade

Em ambientes regulados, funcionar não basta.

O sistema precisa provar que funcionou corretamente.

Isso exige:

  • trilhas de auditoria;

  • logs confiáveis;

  • segregação de funções;

  • rastreabilidade;

  • controle de acesso;

  • retenção de dados;

  • versionamento;

  • evidências de aprovação;

  • conformidade legal.

Uma nova aplicação pode ser tecnicamente excelente e ainda assim ser rejeitada porque não consegue responder:

  • Quem alterou?

  • Quando alterou?

  • Qual era o valor anterior?

  • Quem aprovou?

  • Qual versão estava em produção?

  • Qual regra foi aplicada?

No mainframe, tecnologias como RACF, SMF, logs de CICS e mecanismos de auditoria fornecem um histórico extremamente rico.

Ao modernizar, essa capacidade não pode desaparecer.


16. O roteiro CSI para modernizar com segurança

Agora chegamos ao procedimento de investigação.

Passo 1 — Isolar a cena

Defina claramente:

  • sistema;

  • escopo;

  • módulos;

  • interfaces;

  • dados;

  • usuários;

  • objetivos.

Sem limite, o projeto se transforma em uma investigação infinita.

Passo 2 — Fotografar o ambiente atual

Documente:

  • arquitetura;

  • fluxos;

  • bibliotecas;

  • jobs;

  • tabelas;

  • transações;

  • arquivos;

  • integrações;

  • horários;

  • volumes.

Antes de mudar, registre.

Passo 3 — Coletar depoimentos

Converse com:

  • usuários;

  • operadores;

  • programadores;

  • analistas;

  • DBAs;

  • segurança;

  • auditoria;

  • suporte;

  • fornecedores.

Cada grupo conhece uma parte da história.

Passo 4 — Mapear dependências

Use ferramentas e análise manual para localizar:

  • chamadas;

  • arquivos;

  • filas;

  • tabelas;

  • APIs;

  • schedulers;

  • relatórios;

  • sistemas consumidores.

Passo 5 — Identificar regras críticas

Separe:

  • regra de negócio;

  • regra técnica;

  • exceção;

  • contorno;

  • código morto;

  • comportamento desconhecido.

Não elimine nada antes de compreender.

Passo 6 — Criar uma linha de base

Registre:

  • tempos;

  • resultados;

  • volumes;

  • consumo;

  • erros;

  • disponibilidade.

A modernização deve ser comparada com algo concreto.

Passo 7 — Construir testes

Transforme o comportamento atual em evidência reproduzível.

Crie massas de teste e resultados esperados.

Passo 8 — Modernizar em pequenas partes

Evite o chamado Big Bang.

Prefira:

  • APIs;

  • desacoplamento;

  • extração gradual;

  • componentes substituíveis;

  • coexistência.

Passo 9 — Executar em paralelo

Compare antigo e novo.

Não confie apenas em demonstrações.

Use dados reais controlados.

Passo 10 — Preparar retorno

Todo avanço precisa de uma rota de fuga.

Teste rollback antes da produção.

Passo 11 — Medir resultados

Avalie:

  • desempenho;

  • estabilidade;

  • custo;

  • produtividade;

  • adesão;

  • erros;

  • segurança.

Passo 12 — Desativar com evidência

Somente aposente o sistema antigo quando puder provar que:

  • não existem consumidores;

  • dados foram preservados;

  • requisitos legais foram atendidos;

  • rollback não é mais necessário;

  • usuários estão preparados;

  • suporte está estruturado.

Desativar não é apagar uma biblioteca.

É encerrar um ciclo com segurança.


Curiosidades do laboratório Bellacosa

Curiosidade 1 — COBOL pode ser antigo e moderno ao mesmo tempo

O COBOL surgiu em 1959, mas continua sendo atualizado.

Compiladores modernos oferecem:

  • otimizações;

  • integração com JSON;

  • XML;

  • APIs;

  • Java;

  • Db2;

  • CICS;

  • ferramentas DevOps.

A idade da linguagem não determina a idade da arquitetura.

Curiosidade 2 — Tela verde pode ser mais eficiente que mouse

Interfaces 3270 foram projetadas para alta produtividade transacional.

Em determinadas operações, teclado e teclas de função são mais rápidos do que interfaces gráficas.

Curiosidade 3 — Sistemas modernos também viram legado

Código Java, Python, JavaScript ou Kubernetes pode se tornar legado rapidamente.

Basta que ninguém consiga mantê-lo.

Curiosidade 4 — O maior risco pode estar na exceção

A rotina principal costuma ser compreendida.

As falhas aparecem em:

  • fim de mês;

  • feriados;

  • datas especiais;

  • produtos antigos;

  • contingências;

  • reprocessamentos.

Curiosidade 5 — O programa “inútil” pode ser o mais importante

Alguns módulos são executados raramente porque foram criados para situações críticas.

Eles parecem mortos até o dia em que salvam a operação.


Easter eggs para os investigadores de plantão

O laboratório CSI possuía luzes, microscópios e análises químicas.

O laboratório mainframe possui:

  • dumps;

  • Abend-AID;

  • Fault Analyzer;

  • SDSF;

  • SMF;

  • logs;

  • traces;

  • listings;

  • sysouts;

  • históricos de scheduler.

Um cabelo encontrado em uma cena pode identificar um suspeito.

Um byte encontrado em um dump pode identificar a instrução que causou um S0C7.

Uma impressão digital pode revelar quem tocou em uma arma.

Um registro SMF pode revelar quem acessou um recurso.

Uma mancha de sangue pode indicar a sequência do crime.

Um log pode revelar a sequência da transação.

No universo CSI, toda evidência conta.

No mainframe, também.


As três perguntas que todo Padawan COBOL deve fazer

Antes de alterar qualquer sistema crítico, pergunte:

1. Quem depende disso?

Não apenas usuários diretos.

Inclua programas, arquivos, relatórios, APIs, filas, jobs e auditorias.

2. O que acontece se estiver errado?

Calcule impacto financeiro, operacional, legal e reputacional.

3. Como provar que continua correto?

A resposta deve envolver testes, comparação, logs e métricas.

Se ninguém consegue responder essas três perguntas, a investigação ainda não terminou.


Conclusão: o legado não é o cadáver

Ao final desta investigação, o programador COBOL iniciante retorna à tela do SDSF.

Agora ele enxerga o sistema de outra forma.

Antes, via programas antigos.

Agora, vê relações.

Antes, via código estranho.

Agora, vê decisões históricas.

Antes, via resistência dos usuários.

Agora, vê conhecimento operacional.

Antes, via custo.

Agora, vê patrimônio.

Antes, via um sistema que deveria ser substituído.

Agora, vê uma testemunha que precisa ser ouvida.

Esse é o segredo da modernização responsável:

o objetivo não é apagar o passado. É entender o passado o suficiente para construir o futuro sem repetir seus erros e sem destruir seus acertos.

Sistemas legados precisam evoluir.

Mas evolução não significa desprezo.

Ela exige investigação.

Exige respeito pelas evidências.

Exige compreensão das dependências.

Exige testes.

Exige comunicação.

Exige planejamento.

Exige humildade.

Um sistema crítico não pode ser tratado como um velho computador esquecido em um depósito.

Ele é o resultado de milhares de incidentes resolvidos, regras incorporadas, exceções descobertas e decisões acumuladas.

Talvez sua interface seja antiga.

Talvez seu código tenha sido escrito antes do nascimento de muitos profissionais da equipe.

Mas, enquanto processa corretamente milhões de transações, ele não é apenas passado.

Ele é infraestrutura viva.

Por isso, quando alguém entrar em uma reunião e disser:

— Precisamos acabar com o legado.

Respire.

Tome um gole de café.

Ligue a luz ultravioleta.

E pergunte:

— Quais evidências provam que compreendemos tudo o que ele faz?

Se a sala ficar em silêncio, o caso ainda está aberto.

E, em algum lugar do Data Center, um programa COBOL que ninguém lembra continua executando às 03h17, protegendo uma regra que todos esqueceram, mas que o negócio ainda precisa.

Caso encerrado?

Ainda não.

Em sistemas legados, nenhum caso termina até que o último job retorne RC=0000.

quarta-feira, 4 de dezembro de 2024

🎲 O Guia Bellacosa dos Dados de Dungeons & Dragons

 

Bellacosa Mainframe e o guia bellacosa para dados dungeons e dragons

🎲 O Guia Bellacosa dos Dados de Dungeons & Dragons

“Porque até o destino precisa de um dado de vinte lados.”


🌍 Introdução — O Som Que Define o Destino

Todo jogador de Dungeons & Dragons conhece aquele som inconfundível:

clac-clac-clac… tum!

É o som do destino rolando sobre a mesa.
Os dados em D&D não são simples instrumentos — são o coração do jogo, a ponte entre a imaginação e o acaso.
Eles decidem se um guerreiro corta o dragão ou escorrega no próprio sangue.
Eles são o caos, a sorte e a justiça dos deuses do RPG.


⚙️ O Que São os Dados de Dungeons & Dragons?

Em D&D, os dados poliédricos são usados para determinar resultados incertos — ataques, magias, testes, armadilhas, e até o humor de um goblin embriagado.
Cada tipo de dado tem um número diferente de faces e um propósito distinto.

O conjunto clássico do aventureiro contém sete dados:
d4, d6, d8, d10, d12, d20 e d100.

SímboloNomeFunção PrincipalAparência
🎲 d4Dado de 4 ladosUsado em magias fracas e armas leves (adagas, magias menores)Forma de pirâmide
🎲 d6Dado de 6 ladosO mais comum; usado em armas médias e efeitos variadosCubo clássico
🎲 d8Dado de 8 ladosDano de armas como lanças e espadas longasOctaedro
🎲 d10Dado de 10 ladosRolagens de porcentagem e dano de armas poderosasDecaedro
🎲 d12Dado de 12 ladosUsado para dano bruto de armas pesadas (machados de guerra)Dodecaedro
🎲 d20O Dado SupremoTestes de ataque, resistência, perícia e destinoIcosaedro
🎲 d100Dois d10 combinadosPara resultados aleatórios de 1 a 100

🧙‍♂️ O Sistema d20 — A Lei Universal do RPG

A maioria das jogadas em D&D é resolvida com o d20, base do sistema.
Sempre que um jogador tenta algo incerto — atacar, convencer, saltar, resistir — o Mestre pede:

“Role um d20!”

O jogador então soma modificadores (como bônus de habilidade ou proficiência) e compara o resultado com uma classe de dificuldade (CD).

Exemplo:

  • Se a CD é 15 e você tirou 17 → sucesso!

  • Se tirou 10 → falhou, e talvez o dragão te note.


⚔️ Tipos de Rolagens Importantes

🎯 Ataques

Você rola 1d20 + bônus de ataque.
Se o resultado for igual ou superior à Classe de Armadura (CA) do inimigo, o golpe acerta.

💀 Dano

Depois de acertar, você rola o dado indicado pela arma.
Exemplo: uma espada longa causa 1d8 de dano; um machado de batalha, 1d12.

🧠 Testes de Habilidade

Testes de Força, Destreza, Inteligência, Sabedoria e Carisma também usam o d20.
O resultado define se o personagem teve êxito ou não na tarefa.


💥 Sucesso e Desastre — Os Casos Especiais

  • 20 Natural: sucesso crítico. O melhor resultado possível. Golpes devastadores e feitos lendários!

  • 1 Natural: falha crítica. Aquele momento em que o mago tropeça na própria capa ou acerta o aliado.

  • Vantagem: role dois d20 e escolha o melhor resultado.

  • Desvantagem: role dois d20 e escolha o pior.

💡 Dica Bellacosa: Um 20 natural muda o rumo da história. Um 1 natural cria histórias que ninguém esquece.


🧩 O Dado de 100 Lados — A Roda do Destino

O d100 é usado para gerar resultados percentuais — de 1 a 100.
Ele é formado por dois d10: um representa as dezenas (00–90) e o outro as unidades (0–9).

Exemplo: um resultado de 70 e 4 significa 74%.
Em tabelas de tesouro, encontros aleatórios ou mutações mágicas, ele é o mestre do caos.


🔮 Curiosidades Épicas

  • Os primeiros dados de D&D vinham de kits matemáticos egípcios, vendidos em papelarias nos anos 70.

  • Jogadores veteranos acreditam que cada dado tem alma própria — alguns trazem sorte, outros são amaldiçoados.

  • Existem dados de metal, madeira, pedra, vidro e até os “dados digitais” usados em apps oficiais.

  • Alguns mestres têm “torres de dados”, onde eles descem por rampas como se fosse um mini-templo da sorte.

🧙‍♂️ Superstição Clássica: Nunca toque nos dados de outro jogador sem permissão.
Isso traz má sorte eterna (ou até TPK — Total Party Kill).


🛡️ Dicas de Mestre Bellacosa

  1. Tenha seu próprio conjunto de dados. É um ritual pessoal, quase sagrado.

  2. Guarde bem seus dados. Sacos de pano, caixas de madeira ou bolsas de couro são ideais.

  3. Escolha um dado “favorito”. Seu d20 de confiança pode salvar vidas.

  4. Aceite o caos. D&D é uma história escrita com sorte e imaginação.

  5. E lembre-se: um 1 pode ser mais divertido que um 20.


✨ Conclusão — O Destino Rola Para Todos

Os dados de Dungeons & Dragons não são simples números.
Eles representam o destino, a sorte e a imprevisibilidade da vida de um herói.
Cada jogada é uma escolha entre o triunfo e o desastre.
E é nesse equilíbrio caótico que D&D se torna tão mágico.

🎲 “O Mestre narra, o jogador decide, e o dado sentencia.”
Compêndio Bellacosa dos Aventureiros do D20


terça-feira, 3 de dezembro de 2024

☕ O Padawan COBOL e o Holocron da Modernização: Como Ir Mais Longe na Era da IA Generativa e do IBM Z

 

Bellacosa Mainframe e a modernização do cobol 

☕ O Padawan COBOL e o Holocron da Modernização: Como Ir Mais Longe na Era da IA Generativa e do IBM Z

"O Mainframe nunca foi uma caixa preta. Apenas faltava um Jedi suficientemente paciente para abrir seus antigos holocrons."

Introdução – O fim da Era dos Guardiões do Conhecimento

Durante décadas, trabalhar em Mainframe significava conviver com uma estranha forma de magia corporativa.

Existiam sistemas que processavam bilhões de reais por dia.

Aplicações escritas em COBOL desde os anos 80.

Jobs executados religiosamente às 02h17 da manhã.

Mapsets BMS que ninguém ousava modificar.

Programas chamados por outros programas chamados por outros programas, formando árvores de dependências dignas da genealogia dos Skywalker.

E quase sempre existia uma figura lendária.

O Analista Sênior.

O último guardião.

Aquele profissional capaz de responder perguntas como:

"Quem atualiza a tabela CLIENTE_MASTER?"

"Onde está implementada a regra do IOF?"

"O que acontece se removermos esse copybook?"

Era comum ouvir:

— Pergunta para o João.

— O João aposentou.

— Então pergunta para o Carlos.

— O Carlos foi para Portugal.

— E agora?

Silêncio.

Era o medo ancestral do Mainframe.

A crença de que o IBM Z era uma espécie de monólito indecifrável.

Uma caixa preta.

Mas isso nunca foi verdade.


O Mainframe Nunca Foi uma Caixa Preta

Na realidade, poucas plataformas possuem tanta capacidade de introspecção quanto um ambiente z/OS.

Ele produz informações em praticamente todos os níveis:

SMF

RMF

JES2

SDSF

RACF

Catalogs

DB2 Catalog

CICS Statistics

MQ Accounting

Endevor Metadata

SMP/E CSI

DFSMS

Workload Manager

OMEGAMON

Fault Analyzer

Abend-AID

IBM ADDI

A informação sempre esteve disponível.

O problema era outro.

O problema era cognitivo.

Imagine um ambiente com:

7.000 programas COBOL

3.000 copybooks

2.000 jobs

1.000 BMS

400 tabelas DB2

600 transações CICS

40 anos de evolução contínua

Nenhum ser humano consegue manter isso completamente em memória.

Nem mesmo o Sysprog Jedi mais experiente.


A IA Não Substitui Especialistas

Ela Amplifica Especialistas

Talvez a frase mais importante de toda essa discussão seja:

AI didn't replace my Mainframe expertise — it amplified it.

Concordo integralmente.

Uma IA não sabe o que é importante.

Ela não conhece a história da empresa.

Não participou do go-live de 1998.

Não sabe que determinado programa falha sempre no fechamento anual.

Não conhece as gambiarras feitas durante a fusão de bancos.

Mas ela consegue fazer algo extraordinário.

Ela consegue ler.

Muito.

Muito rápido.

E muito consistentemente.


O Novo Poder do Padawan COBOL

Antigamente um profissional iniciante precisava de anos para compreender um ambiente corporativo.

Hoje ele pode construir um verdadeiro Holocron Digital.

Utilizando Python.

IA.

Grafos.

Vetorização.

LLMs.

Neo4J.

RAG.

OpenSearch.

Elastic.

SQLite.

HTML.

Excel.

PowerBI.

VS Code.

Zowe.

GitHub.

Jupyter.

Claude.

ChatGPT.

Copilot.

Gemini.


Primeira Missão do Padawan

Mapear o universo.

Escanear diretórios Endevor.

Analisar fontes.

Identificar relacionamentos.

Exemplo:

glob("**/*.cbl")
glob("**/*.cpy")
glob("**/*.bms")
glob("**/*.jcl")

A primeira descoberta será surpreendente.

O sistema não é um monstro.

Ele possui estrutura.


Construindo um Grafo de Conhecimento Mainframe

Imagine um programa.

COB001

Utiliza:

COPY CLIENTE

Executa:

CALL PGM002

Atualiza:

TB_CLIENTE

Executado por:

JOBD001

Exposto em:

TXN001

Visualmente:

COB001

├──COPY CLIENTE

├──CALL PGM002

├──TB_CLIENTE

├──JOBD001

└──TXN001

Agora multiplique isso por oito mil programas.

Você terá um mapa navegável da aplicação.

Algo que nem sempre existiu em muitas empresas.


O Que a IA Faz Melhor

A IA possui uma capacidade extremamente interessante.

Ela consegue enriquecer metadados.

Exemplo:

Código:

EXEC SQL

SELECT SALDO

FROM CONTA

END-EXEC

Descrição gerada:

"Programa responsável pela consulta de saldo de conta corrente."


Outro exemplo:

PERFORM CALCULAR-IOF

Descrição:

"Módulo fiscal associado ao cálculo de imposto financeiro."


Isso parece simples.

Mas representa uma mudança gigantesca.

Porque documentação técnica sempre foi um dos maiores problemas do Mainframe.


O Próximo Passo: RAG para IBM Z

Imagine indexar:

COBOL

JCL

BMS

Copybooks

SQL

SMF

MQ

CICS

SDSF

JESMSGLG

Procs

Control-M

CA7

IZWS

Tudo em um banco vetorial.

Agora pergunte:

"Quem calcula IOF?"

Resposta:

PGMIOF01

COPY FISCAL

TBIMPOSTO

JOBFECH

TXNIOF

Tempo:

3 segundos.


Agentes Especializados

A próxima geração provavelmente terá agentes dedicados.

COBOL Agent

Explica código.


DB2 Agent

Analisa SQL.


CICS Agent

Entende transações.


Batch Agent

Mapeia dependências.


RACF Agent

Audita segurança.


MQ Agent

Encontra integrações.


IMS Agent

Talvez o mais difícil de todos.


O Que o Padawan Deve Aprender

Muitos iniciantes acreditam que modernização significa reescrever COBOL em Java.

Esse talvez seja um dos maiores equívocos da indústria.

Modernização significa compreender.

Documentar.

Inventariar.

Reduzir riscos.

Automatizar.

Expor APIs.

Criar observabilidade.

Produzir conhecimento.

O código COBOL pode permanecer.

E muitas vezes deve permanecer.

O que precisa mudar é a forma como interagimos com ele.


O Kit de Ferramentas do Padawan Moderno

Aprenda:

Python

Pandas

OpenPyXL

NetworkX

Neo4J

Graphviz

FAISS

LangChain

RAG

Prompt Engineering

VS Code

Zowe CLI

Git

GitHub Actions

Ansible for z/OS

OpenTelemetry

REST APIs

JSON

YAML

Docker

MCP

Agentes de IA

DB2 Catalog

SMF

RMF

CICS Statistics


Conselhos de um Mestre Bellacosa para um Padawan COBOL

Nunca tenha vergonha de usar IA.

Tenha vergonha apenas de aceitar respostas sem questionar.

A IA erra.

Mas ela erra rápido.

E permite aprender rápido.

Aprenda a fazer perguntas melhores.

Aprenda a decompor problemas.

Aprenda a pensar como arquiteto.

Não seja apenas um codificador COBOL.

Seja um arqueólogo digital.

Um cartógrafo do legado.

Um construtor de grafos.

Um guardião das regras de negócio.

O mercado não precisa de mais pessoas capazes apenas de escrever um PERFORM UNTIL EOF.

O mercado precisa de profissionais capazes de conversar com cinquenta anos de história computacional e transformá-los em conhecimento acessível para a próxima geração.

E talvez essa seja a maior revolução silenciosa da IA no Mainframe.

Ela não está aposentando os mestres.

Está permitindo que novos Padawans encontrem, estudem e compreendam os antigos holocrons corporativos antes que eles desapareçam para sempre.

Porque, no fim das contas, modernizar Mainframe nunca foi destruir o legado.

Sempre foi aprender a enxergá-lo com novos olhos.


segunda-feira, 2 de dezembro de 2024

🌴 O Quintal de Itatiba – onde o tempo repousa 🕰️



🌴 O Quintal de Itatiba – onde o tempo repousa 🕰️
por Bellacosa Mainframe

Há um lugar onde o sol se despede devagarinho, tingindo o céu de cobre e saudade. Fica em Itatiba, e é ali que meu quintal respira.
Um quintal que não é apenas chão — é memória viva.

Logo na entrada, o coqueiro guerreiro se ergue altivo, desafiando mandrovas atrevidas que tentam roubar-lhe o espaço. Ele resiste, firme, e em troca abriga maritacas tagarelas que fazem do entardecer uma orquestra tropical.
Mais adiante, uma goiabeira antiga se enche de frutos doces e brancos, daqueles que perfumam o ar e fazem lembrar infância — e talvez um tempo em que tudo era mais simples.

As mamoeiras, estas são especiais. Vieram do Quiririm, lá da casa de meu pai. Plantadas com o mesmo carinho com que se transmite uma história. Aqui, em Itatiba, se adaptaram bem — gostam do solo, do vento, e da conversa das abelhas.
Entre elas, crescem laranjeiras, jabuticabeiras, limoeiros, pitangueiras e mexeriqueiras — umas já oferecem o doce presente, outras ainda aprendem o ofício de frutificar.

Há também flores, folhagens e pequenas batalhas diárias contra as sauvas, que teimam em lembrar que até o paraíso precisa de vigilância.
Mas o quintal segue, sereno, pulsando vida, tempo e lembranças.

Quando o sol se põe por trás das colinas, as sombras se alongam e o vento carrega o cheiro cítrico das frutas. É nesse instante que o coração entende:
não é apenas um quintal — é o arquivo natural da alma, onde cada planta guarda uma história e cada raiz é uma lembrança que insiste em florescer. 🌿











domingo, 1 de dezembro de 2024

🧱🎥 Yobikake vs Quebra da Quarta Parede: Qual a Diferença?

 

Bellacosa Mainframe e a quebra da quarta parede yobikake

🧱🎥 “Yobikake vs Quebra da Quarta Parede: Qual a Diferença?”

Porque sim, há vida além de ‘olhar pra câmera’

Se você é padawan da cultura otaku, já se deparou com personagens que “te chamam” ou “olham pra câmera” e pensou:

“Mas isso é apenas uma quebra da quarta parede ou algo mais?”

Bom, vamos resolver esse mistério e separar os termos com clareza — sem spoiler, com risadas e bastante café.


🧐 1) Terminologia em campo: o que são?

A) Quarta Parede (Fourth Wall)

  • Em teatro/cinema: uma “parede invisível” entre o mundo da história e o público. StudioBinder+2Wikipedia+2

  • Quando a parede é “quebrada”, o personagem reconhece que está sendo assistido ou existe uma comunicação com quem está vendo. TV Tropes+1

  • No anime: pode ser algo como personagem virando pra “câmera”, comentando que está em um anime, reconhecendo fãs ou roteiro.

B) Yobikake (呼びかけ)

  • Palavra japonesa que significa “chamada”, “apelo”, “convocar/dirigir-se a alguém”. lingq.com+2Tanoshii Japanese+2

  • Em contexto animê/mangá, pode ser usada para designar o momento em que o personagem se dirige diretamente ao espectador ou a uma pessoa ausente/implícita. Tanoshii Japanese

  • Menos usado em estudos ocidentais de animação, mas útil para distinguir nuances de comunicação dentro da narrativa.


🔍 2) Qual a diferença, padawan?

FunçãoQuebra da Quarta ParedeYobikake
Alvo da comunicaçãoO público/espectador reconhecido explicitamenteUm “outro” que pode ser o público, uma entidade ausente ou figura implícita
Reconhecimento da ficçãoSim — o personagem reconhece que está em obra ficcional ou que existe audiênciaPode ou não haver reconhecimento total da ficção; mais “chamado” que “exposição da ficção”
Exemplos típicosOlhar direto para câmera, comentário “Eu sei que você está a픓Você aí”, “Ei, escuta!”, apelo ou convocação que atravessa a narrativa
Uso em animeMeta-humor, sátira, autorreferênciaPode ser mais sutil, funciona como “comunicação adicional”, humor leve ou interação implícita

Resumo rápido: Toda quebra de quarta parede envolve uma “yobikake” potencial (um chamado). Mas nem toda yobikake é uma quebra total da parede — às vezes é só um personagem chamando alguém ou o público, sem comentar que “estamos em um anime”.


🎬 3) Exemplos para diferenciar

  • Em um anime quando o personagem vira pra “câmera” e diz:

    “Você realmente achou que esse episódio terminaria assim?”
    Isso é claramente quebra da quarta parede.

  • Em outro momento, o personagem grita ou chama:

    “Você! Me ajuda aqui!”
    Mas sem comentar que há um público assistindo ou que “isso é um anime”.
    Aí está trabalhando com yobikake — um chamado dentro da narrativa.

  • No mundo dos animes:

    • Gintama é campeão em quebra da quarta parede (personagens comentam que são personagens de anime, zoam roteiro).

    • Já uma cena de “chamado” indireto ou “e se o espectador estivesse aqui?” seria mais próximo de yobikake, mesmo que não explicitamente rotulado como tal.


🧠 4) Por que isso importa?

  • Entender a diferença ajuda a apreciar o humor meta: saber quando o anime está brincando contigo, espectador.

  • Permite perceber o nível de participação: se você está “passivo”, ou se o anime está “falando com você”.

  • Para quem cria conteúdo (fandom, memes, análise), identificar se é quebra da quarta parede ou apenas yobikake muda o tom da piada.


💡 5) Dicas para reconhecer no seu anime

  • Preste atenção se há direcionamento para você, espectador — olhares, falas, assinatura “vocês ai”.

  • Pergunte: “Este personagem sabe que está em um anime ou que há audiência assistindo?” Se sim → quarta parede.

  • Caso seja apenas um chamado ou apelo, sem comentário de ficção → yobikake.

  • Observe a reação dos outros personagens — se eles ignoram o chamado ou a quebra, isso também revela.

  • Use essas distinções para analisar cenas de comédia ou meta-humor com mais profundidade.


🗣️ 6) Comentários finais do narrador

Então, padawan:

  • Se o personagem te sorri, aponta pra você e te faz cúmplice da piada…
    → É quebra da quarta parede.

  • Se o personagem te chama, te convoca ou “fala contigo”, mas não reconhece que “você está assistindo” explicitamente…
    → É yobikake.

Ambos são formas poderosas de humor e envolvimento no anime — a escolha está na intenção e no nível de consciência da obra.

Fica esperto: no próximo episódio que você assistir e aquele personagem te olhar ou te “chamar”, pergunte-se:

“Isso é só uma festa de falas ou querem realmente que eu participe?”
😂🎬

🎲 O Que São os Dados de Dungeons & Dragons?

 


🎲 O Que São os Dados de Dungeons & Dragons?

No universo de Dungeons & Dragons (D&D), os dados são instrumentos fundamentais para determinar o sucesso ou fracasso de ações, ataques, magias e testes de sorte.
Eles representam o elemento do acaso — o destino caprichoso dos deuses do RPG.

Ao contrário dos jogos comuns (que usam apenas o dado de 6 lados, o “d6”), o D&D usa um conjunto completo de dados poliédricos, cada um com uma função diferente.


⚙️ O Conjunto Padrão de Dados de RPG

O conjunto básico de D&D contém 7 tipos de dados, conhecidos pelas siglas d4, d6, d8, d10, d12 e d20, além do d100 (ou rolagem de porcentagem).

Nome do DadoForma GeométricaFunção Principal
d4 (4 lados)TetraedroDano de pequenas armas (adagas, magias fracas)
d6 (6 lados)CuboDano de armas médias, jogadas simples
d8 (8 lados)OctaedroDano de armas maiores (lanças, espadas longas)
d10 (10 lados)DecaedroRolagens de dano ou porcentagem (em pares)
d12 (12 lados)DodecaedroDano de armas pesadas (machados, golpes críticos)
d20 (20 lados)IcosaedroTestes de ataque, habilidade, resistência e decisões-chave
d100 (2 dados de 10)Usado para gerar números de 1 a 100, útil em tabelas de sorte

💡 Dica Bellacosa: o d20 é o “rei dos dados”. Ele decide se um golpe acerta, se uma magia falha, ou se você tropeça heroicamente no próprio manto.


🧙‍♂️ Como os Dados São Usados

Tudo em D&D gira em torno do sistema d20.
Isso significa que a maioria das jogadas começa com o dado de 20 lados:

  • O jogador declara sua ação: “Ataco o orc com minha espada!”

  • O Mestre pede: “Role um d20 e adicione seu bônus de ataque.”

  • O resultado é comparado com a Classe de Armadura (CA) do inimigo.

👉 Se o resultado for igual ou maior, o ataque acerta!
👉 Se for menor, o golpe erra, e o destino ri da sua cara.

O mesmo vale para testes de habilidade (Força, Destreza, Inteligência, etc.) e salvamentos (resistir a venenos, magias, medo...).


🧩 Rolagens Especiais

  • Crítico (20 natural): sucesso absoluto — o golpe é devastador ou o feito é lendário.

  • Falha Crítica (1 natural): desastre total — sua espada pode até cair na lama.

  • Vantagem/Desvantagem: você rola dois d20 e fica com o melhor ou pior resultado, dependendo da situação.


🔮 Curiosidades dos Dados

  • Os primeiros dados de RPG vinham de kits de matemática egípcia, usados em escolas nos anos 70.

  • Existem dados metálicos, de cristal, de madeira e até digitais.

  • Jogadores veteranos acreditam que dados têm “personalidade” — alguns trazem sorte, outros devem ser “castigados”.

  • Existem bolsas e torres específicas para “benzer” os dados antes da sessão!

🎭 Diz a lenda: se um jogador chamar seu d20 de “meu precioso”, o Mestre automaticamente ganha +2 em sarcasmo.


⚔️ Dica para Padawans

  1. Sempre traga seus próprios dados — compartilhar é nobre, mas superstição é lei.

  2. Não sopre seus dados após um 1 natural — é azar dobrado.

  3. Tenha um conjunto reserva (porque o goblin dos dados sempre leva um).

  4. Quando o Mestre disser:

    “Role iniciativa.”
    Respire fundo. A batalha começou.


🪄 Conclusão

Os dados são a voz do destino em D&D.
Eles transformam simples números em histórias épicas de coragem, fracasso e glória.
Cada rolagem é um capítulo escrito em tempo real na crônica dos aventureiros.

🎲 Em Dungeons & Dragons, o dado não decide apenas o que acontece — ele decide como será lembrado.


Vagner Renato Bellacosa, IBM Champion e especialista em IBM Mainframe
IBM Z17 SYSTEM ONLINE
Sobre o autor

Vagner Renato Bellacosa

IBM Champion 2026 • Especialista em IBM Mainframe

Vagner Renato Bellacosa trabalha com IBM Mainframe desde 1988 , é IBM Champion e especialista em COBOL, CICS, Db2, z/OS e IBM Z. Compartilha experiências profissionais, conhecimento técnico, história da computação e práticas do universo mainframe para aproximar novas gerações das tecnologias que sustentam empresas, bancos e governos ao redor do mundo.

IBM Champion IBM Z COBOL CICS Db2 z/OS Mainframe desde 1988
GitHub LinkedIn
Inicializando conteúdo...