☕ Um Café no Bellacosa Mainframe
Gostou do conteúdo? Ajude a manter o café quente, o COBOL compilando e o mainframe acordado. 😄
☕ Pague um café ao Bellacosa

Translate

sábado, 18 de fevereiro de 2023

☕ CSI: New York Entra no Data Center — O Caso do Pico de CPU que Não Estava na CPU

 

Bellacosa Mainframe e o IBM Capacity e suas diversas ferrmaentas

☕ Um Café no Bellacosa Mainframe

☕ CSI: New York Entra no Data Center — O Caso do Pico de CPU que Não Estava na CPU

Ou: como um programador COBOL iniciante descobre que capacity no mainframe não é comprar processador, que SMF guarda impressões digitais, que OMEGAMON vê o crime acontecendo e que um REXX lendo logs pode virar tanto um laboratório forense quanto um belo desastre em produção

Imagine a abertura de CSI: New York: sirenes refletindo nos prédios de Manhattan, uma equipe isolando a cena do crime, Mac Taylor olhando para uma evidência minúscula e dizendo algo como: “Não procurem apenas o que aconteceu. Procurem o que deixou rastros.”

Agora troque Manhattan por uma sala com um IBM Z. Troque o cadáver por um fechamento mensal lento. Troque a mancha de sangue por um pico no R4HA. E coloque, no centro da cena, um programa COBOL que alguém jurou ser “só uma alteração simples”.

Bem-vindo ao estranho e caro universo de capacity management.

Para quem começa em COBOL, capacidade parece uma conversa distante, reservada ao povo que fala em MSU, LPAR, SCRT, capping, zIIP e fatura de software como quem comenta a previsão do tempo. Mas não é distante. Um PERFORM mal desenhado, um READ repetido, um SELECT Db2 sem índice, um sort desnecessário ou um batch agendado na hora errada podem se transformar em CPU, espera, atraso de SLA e dinheiro.

E, no mainframe, dinheiro costuma deixar rastro.



A cena do crime: o que é capacity, afinal?

Capacity é a capacidade de o ambiente entregar o serviço que o negócio espera, no momento em que ele precisa, sem desperdiçar recursos nem comprar potência como quem joga dinheiro pela janela.

Não é apenas “CPU disponível”.

Se uma LPAR fica em 95% de CPU por dez minutos de madrugada, mas nenhum batch perde janela e nenhum usuário sofre, talvez seja perfeitamente aceitável. Se ela fica em 55% de CPU às 10h30, mas o CICS demora, o Db2 acumula espera, os caixas travam e o aplicativo móvel dá timeout, há um problema sério — embora o gráfico de CPU média tente inocentar o ambiente.

Essa é a primeira lição do CSI Mainframe:

CPU alta não é automaticamente culpada. CPU baixa não é automaticamente inocente.

O capacity planner, o sysprog, o DBA, a operação e o desenvolvedor precisam olhar a história inteira:

  • O serviço foi entregue dentro do SLA?

  • Qual workload sofreu?

  • Houve espera por CPU, disco, memória, lock Db2, rede ou fila?

  • O WLM priorizou corretamente o que era importante?

  • O pico foi eventual, recorrente ou previsível?

  • Houve impacto no consumo de MSU e no custo de software?

  • É preciso ajustar código, SQL, WLM, agenda batch, hardware ou contrato?

Em outras palavras: capacity é performance, disponibilidade, previsão e custo sentados na mesma mesa — quase sempre discutindo quem derrubou a produção.



O cadáver chamado “média mensal de CPU”

Um erro clássico é alguém abrir um relatório e declarar:

“A CPU média do mês foi 43%. Não precisamos nos preocupar.”

Mac Taylor levantaria uma sobrancelha.

Média é uma estatística útil, mas também é ótima para esconder picos. Imagine que um restaurante receba quatro clientes por hora durante vinte e três horas e, à noite, receba duas mil pessoas de uma vez. A média diária pode dizer que o movimento foi tranquilo; a cozinha, porém, terá uma opinião bastante diferente.

No IBM Z, o problema costuma aparecer em intervalos críticos: fechamento contábil, pagamento de folha, processamento de PIX, abertura de mercado, campanha de varejo, virada de dia, cargas de integração ou aquela execução “temporária” que alguém deixou rodando desde 2019.

É por isso que capacity olha para séries históricas, picos por intervalo, comportamento por LPAR e principalmente para a relação entre recursos e serviço entregue.

Em ambientes com cobrança baseada em capacidade, surge um personagem digno de CSI: o R4HA, ou Rolling Four-Hour Average. De maneira simplificada, ele acompanha uma média móvel de quatro horas de uso de capacidade. Não é uma conta de padaria, nem deve ser interpretado sem considerar o contrato da empresa, mas ele explica por que um pico prolongado pode deixar uma marca financeira muito maior do que uma explosão curta de CPU.

A pergunta deixa de ser “a CPU ficou alta?” e passa a ser:

“Durante quanto tempo, em qual LPAR, com qual workload, por qual causa e a que custo?”


 

O laboratório: SMF, RMF e os rastros digitais

Em CSI, um fio de cabelo pode ligar suspeito, lugar e horário. No z/OS, os rastros aparecem principalmente em SMF e RMF.

O SMF — System Management Facilities — é o grande livro de ocorrências do z/OS. Ele registra eventos e medições de muitos componentes. Há registros ligados a jobs, segurança, CICS, Db2, uso de recursos e muito mais.

O RMF — Resource Measurement Facility — é a ferramenta de medição de recursos do z/OS. Ele observa CPU, memória, I/O, WLM e outros sinais vitais. Em vez de perguntar ao sistema “você está bem?”, RMF faz exames periódicos e devolve números.

Para o iniciante, pense assim:

ElementoAnalogia CSI: NYNo z/OS
SMFLivro de evidênciasRegistros de eventos e contabilidade
RMFMonitor cardíaco e tomografiaMedição de recursos e performance
WLMCentral que decide prioridadeDefine objetivos e prioridade dos workloads
SCRTPerito financeiroGera dados associados à cobrança de software
SMF 30Ficha de atividade de jobDados de execução e accounting de batch
SMF 70–79Sensores do prédioDados RMF de CPU, memória, I/O e afins
SMF 100/101/102Laudo do Db2Informações úteis de Db2 e accounting
SMF 110Relatório da cena CICSDados de transações e performance CICS
SMF 80Registro de acessoAuditoria de segurança RACF

Não é preciso decorar todos os tipos de SMF numa tarde. Mas é essencial compreender que eles não são “logs de texto” bonitinhos. Muitos registros são binários, possuem seções variáveis, versões e campos que evoluem com o produto. Abrir um SMF bruto e tentar interpretar tudo com um EXECIO de REXX, sem conhecer o layout, é como pegar uma amostra de DNA e analisá-la com uma régua escolar.

Pode funcionar para algo muito específico? Pode. É a primeira escolha para uma plataforma corporativa? Normalmente, não.

Os suspeitos do questionário: quem faz o quê?

A pesquisa mostrava nomes como zPCA, Zetaly, IntelliMagic, MICS, TMON, BMC AMI Capacity and Cost e solução caseira. Eles convivem no mesmo bairro, mas não exercem a mesma função.

IBM Z Performance and Capacity Analytics: o arquivo central do caso

O IBM Z Performance and Capacity Analytics, frequentemente chamado de ZPCA ou, informalmente, izPCA, trabalha com histórico, relatórios, tendências e planejamento. É uma ferramenta adequada para juntar dados, analisar uso passado, comparar previsão com realizado e discutir cenários futuros.

Ela responde perguntas como:

  • Nosso crescimento de transações pede mais capacidade no próximo ano?

  • Esta LPAR está crescendo de forma normal ou mudou depois de um release?

  • O que ocorre se movermos uma carga de trabalho?

  • Quais recursos estão chegando ao limite?

  • O que foi previsto no trimestre e o que realmente aconteceu?

É a sala onde se olha o filme inteiro, não apenas o frame da queda.

Sua vantagem é estar próxima do ecossistema IBM Z e trabalhar com disciplina de capacity. A desvantagem é exigir instalação, modelagem, coleta adequada e gente que saiba interpretar resultados. Ferramenta de capacity sem processo vira uma biblioteca cheia de relatórios que ninguém abre.

IntelliMagic Vision: a parede de telas, mas com cérebro

O IBM Z IntelliMagic Vision se destaca pela análise visual, tendências, dashboards e identificação de riscos. É útil quando o time precisa transformar uma montanha de dados em perguntas navegáveis.

Em vez de entregar ao analista iniciante 900 páginas de relatórios RMF e dizer “descubra por que o online ficou lento”, a solução ajuda a explorar:

  • onde ocorreu desvio do padrão;

  • qual LPAR mudou;

  • quando um recurso começou a degradar;

  • que subsistema acompanhou a alteração;

  • quais tendências indicam risco futuro.

Seu ponto forte é acelerar a investigação. Sua limitação é a mesma de toda ferramenta inteligente: ela mostra sinais e correlações; não substitui o raciocínio de quem conhece o negócio e a arquitetura.

Se o consumo cresce toda Black Friday, isso não é necessariamente anomalia. Se cresce em uma terça-feira comum após um novo SELECT, aí já há uma impressão digital interessante.

MICS: o arquivo histórico que conhece a cidade inteira

O MICS, tradicionalmente associado ao universo CA/Broadcom, é uma solução histórica e profunda para coleta, organização e análise de dados de performance e capacidade.

Ele tem a reputação do investigador veterano: talvez não chegue usando um painel moderno cheio de animações, mas conhece o histórico da cidade, os padrões de anos e a origem de quase todo relatório.

É forte em ambientes grandes, consolidação de informações, tendência, accounting e análises corporativas. Porém exige conhecimento. Não é uma ferramenta que se domina com dois cliques e entusiasmo de estagiário.

Uma empresa que mantém MICS bem administrado possui um patrimônio técnico. O desafio não é descartá-lo porque parece antigo; é garantir que seus dados possam ser entendidos, consultados e apresentados à nova geração.

TMON: o policial na rua

O TMON se aproxima mais do monitoramento operacional e da análise de performance no momento do evento. Ele ajuda a responder: “o que está acontecendo agora?”

Isso é valioso. Quando a produção reclama, não há tempo para esperar o planejamento trimestral. É preciso olhar transações, recursos, filas, uso de CPU, esperas e sintomas.

Mas monitoramento não é igual a planejamento de capacidade.

TMON pode ajudar a capturar o incidente e entender o comportamento imediato. Para planejar hardware, custo e crescimento para os próximos meses, você precisa armazenar, consolidar, comparar e prever — normalmente com uma camada adicional de dados e processo.

BMC AMI Capacity and Cost: quando o laudo encontra a fatura

A família BMC AMI Capacity Management trabalha com reporting, previsão, consumo e custo. Ela ganha força sobretudo em lojas que já usam BMC AMI Ops ou CMF, pois há integração entre a observação operacional e a análise de capacidade.

Ela é importante quando a conversa deixa de ser apenas técnica:

“Este pico foi necessário para o negócio ou foi desperdício de software mal desenhado?”

Essa pergunta é ouro. Às vezes o consumo é inevitável: crescimento real, novo produto, aquisição de outra empresa, volume maior de transações. Outras vezes, há desperdício: SQL regressivo, trabalho batch mal distribuído, falta de offload, código repetindo I/O, WLM mal configurado ou workload colocado na LPAR errada.

Atenção: cortar custo com capping agressivo pode parecer vitória até o primeiro SLA perdido. Economia técnica que derruba pagamento, folha ou atendimento não é otimização; é um ABEND financeiro.

Zetaly: o consultor que pergunta “quanto vai custar?”

A Zetaly tem uma abordagem bastante voltada à relação entre capacidade, previsão, cenário e FinOps de mainframe. É interessante quando a organização precisa simular crescimento, mudança de hardware, redistribuição de workloads ou orçamento de MLC.

Ela é útil para perguntas de diretoria:

  • Se crescer 20%, quanto isso exige de capacidade?

  • Se consolidarmos LPARs, qual efeito técnico e financeiro?

  • Se adquirirmos uma empresa, qual será o consumo?

  • Qual cenário atende SLA com menor custo?

Mas nenhuma simulação salva hipótese ruim. Se o Business Analyst sabe que haverá uma campanha capaz de dobrar o volume e o modelo recebe “crescimento de 5%”, o resultado pode sair impecável, cheio de gráficos, aprovado em reunião — e completamente errado.

OMEGAMON, APA e Xpediter: não são capacity planners, mas são ótimos peritos

Aqui mora uma distinção importante.

O IBM OMEGAMON é um monitor operacional e de performance. Ele observa o ambiente em tempo real ou quase real: z/OS, CICS, Db2, IMS, MQ, redes, storage e outros componentes, conforme os módulos licenciados.

Pergunta que ele ajuda a responder:

“O que está ruim agora, onde e com qual sintoma?”

O IBM Application Performance Analyzer (APA) investiga uma aplicação em profundidade. Ele pode ajudar a identificar onde um programa COBOL, PL/I, Java ou Assembler está consumindo tempo de CPU, realizando I/O, chamando rotinas repetidamente ou ficando em espera.

Pergunta típica:

“Qual trecho deste programa está queimando CPU?”

Já o Xpediter/Expeditor — hoje associado ao universo BMC, dependendo do produto e nomenclatura adotados pela empresa — é mais ligado a depuração e diagnóstico de programas, especialmente COBOL, CICS, Db2 e batch.

Pergunta típica:

“Por que este programa falhou, produziu dado errado ou se comportou de modo inesperado?”

Eles não substituem ZPCA, MICS, BMC AMI Capacity ou Zetaly. São complementares.

Veja um caso:

  1. Às 10h15, usuários reclamam que o aplicativo móvel está lento.

  2. O OMEGAMON revela pressão em CICS/Db2 e filas crescendo.

  3. O APA mostra que uma rotina COBOL recém-alterada elevou fortemente o CPU por transação.

  4. O DBA encontra um acesso Db2 menos eficiente.

  5. O time corrige a lógica ou o índice.

  6. A ferramenta de capacity analisa se o evento alterou R4HA, tendência e custo mensal.

  7. A empresa evita comprar capacidade para compensar uma falha de aplicação.

OMEGAMON vê o carro batendo. APA abre o motor. Xpediter ajuda quando o carro explodiu. Capacity planning decide se a cidade precisa de uma avenida maior — ou se basta consertar o semáforo.

A solução caseira: REXX lendo SMF?

Sim. E ela pode ser muito boa — se for tratada como produto, não como gambiarra heroica.

Uma solução caseira típica poderia ser:

SMF / RMF / SCRT
        ↓
IFASMFDP seleciona registros
        ↓
JCL agenda extração e tratamento
        ↓
COBOL, SAS ou utilitário interpreta dados complexos
        ↓
REXX orquestra, valida e dispara relatórios
        ↓
Db2 guarda histórico
        ↓
Power BI, Excel, Grafana ou portal interno mostra tendências

O REXX é excelente como maestro: recebe parâmetros, monta JCL, verifica retornos, chama utilitários, organiza datasets, valida datas, produz alertas e automatiza rotinas.

Mas REXX não precisa carregar sozinho o piano de cauda.

Ler SMF binário diretamente em REXX pode ser pesado, frágil e difícil de manter. Para grandes volumes, é comum usar:

  • IFASMFDP para filtrar os registros necessários;

  • RMF Postprocessor para gerar relatórios e extratos;

  • DFSORT/ICETOOL para seleção e transformação;

  • COBOL, PL/I ou Assembler para parsing estruturado;

  • SAS, se a empresa já tiver esse ecossistema;

  • Db2 para histórico, consultas e integração;

  • REXX para controlar o fluxo;

  • ferramentas modernas de visualização para a camada final.

O erro seria tentar construir, sozinho e escondido, um “MICS de garagem” sem documentação, sem controle de versão, sem validação e sem sucessor.

Uma solução caseira madura deve ter:

  • coleta automática;

  • documentação dos campos e cálculos;

  • retenção definida;

  • validação contra RMF, SCRT e eventos conhecidos;

  • segurança RACF para dados sensíveis;

  • controle de mudanças;

  • cálculo reproduzível;

  • pelo menos duas pessoas capazes de mantê-la;

  • comparação entre previsão e realizado.

Se apenas uma pessoa sabe ajustar a planilha ou o REXX, aquilo não é uma plataforma. É um single point of failure com café.

Passo a passo para começar sem cometer um S0C7 metodológico

Para um programador COBOL iniciante, o caminho não é tentar modelar toda a capacidade do banco no primeiro dia. Comece por uma investigação pequena e útil.

Passo 1: escolha uma pergunta concreta

Não comece com “vamos analisar todos os SMFs da empresa”.

Comece com:

  • Qual job batch mais consome CPU?

  • Qual é a janela de pico de uma LPAR?

  • O uso de zIIP está adequado?

  • Qual classe WLM perde objetivo?

  • O fechamento mensal mudou após uma alteração?

  • Qual programa COBOL aumentou o tempo de execução?

Pergunta ruim gera relatório grande. Pergunta boa gera decisão.

Passo 2: descubra os dados disponíveis

Converse com performance, sysprog, operação e DBA. Pergunte quais SMF/RMF existem, qual retenção há, se há SCRT, se existem relatórios RMF e quais ferramentas já estão instaladas.

Antes de criar mais um dashboard, descubra se alguém já resolveu 80% do problema em MICS, OMEGAMON, BMC, IntelliMagic ou ZPCA.

Passo 3: encontre um evento conhecido

Escolha uma data em que houve lentidão, atraso batch ou aumento de consumo. Eventos conhecidos são perfeitos para validar sua análise. Se o relatório disser que tudo estava ótimo quando a produção claramente estava sofrendo, o relatório está olhando para a métrica errada, intervalo errado ou fonte errada.

Passo 4: relacione recurso e serviço

Não basta dizer “CPU estava alta”. Procure relacionar:

  • CPU e response time;

  • zIIP e spillback;

  • I/O e tempo de job;

  • Db2 e transações CICS;

  • WLM e objetivos de serviço;

  • batch e janela de execução;

  • pico de uso e R4HA.

É nessa ligação que o analista deixa de ser leitor de gráfico e passa a ser investigador.

Passo 5: proponha uma ação verificável

Uma análise madura termina com ação e verificação:

  • ajustar SQL ou índice;

  • reduzir I/O repetitivo em COBOL;

  • alterar prioridade WLM;

  • mover ou escalonar batch;

  • revisar utilização de zIIP;

  • ajustar capacidade;

  • rever capping;

  • atualizar forecast.

Depois, meça novamente. Em CSI, teoria sem prova não fecha o caso. Em produção, mudança sem medição vira folclore.

Easter egg: o COBOL pode estar no laudo, não no banco dos réus

Há uma brincadeira injusta segundo a qual “COBOL consome muito”. COBOL não consome capacidade por existir; ele executa a lógica que alguém pediu.

Um programa COBOL pode ser extremamente eficiente e previsível. Outro pode fazer um READ em loop inadequado, repetir acesso Db2, classificar arquivos demais, chamar módulos desnecessariamente ou manter uma tabela em memória de modo desastroso.

O culpado não é a linguagem. É o desenho.

E isso vale para Java, Python, C#, SQL, scripts shell, qualquer coisa. Um programa ruim em linguagem moderna continua ruim; apenas apresenta o desperdício em JSON.

Conclusão: não compre CPU antes de ler a cena

Capacity management em IBM Z é a disciplina de observar recursos, entender workloads, cumprir SLA, prever crescimento e controlar custo. Ele precisa de ferramentas, mas sobretudo de método.

OMEGAMON ajuda a enxergar o incidente. APA ajuda a descobrir qual programa está gastando demais. Xpediter ajuda a depurar e entender falhas. SMF e RMF guardam os rastros. ZPCA, MICS, IntelliMagic, BMC AMI e Zetaly organizam partes diferentes da investigação e do planejamento. Uma solução caseira com REXX pode ser excelente, desde que seja automatizada, documentada, validada e sobrevivente à ausência do seu criador.

O programador COBOL que aprende essa visão deixa de enxergar seu PROGRAM-ID como uma ilha. Ele entende que cada READ, cada SQL, cada sort, cada chamada CICS e cada decisão de algoritmo entra em uma cadeia maior: serviço, consumo, custo e reputação da produção.

Mac Taylor talvez resumisse assim, diante de um gráfico de CPU aparentemente inocente:

“Não foi a máquina que ficou cara. Foi alguém que deixou um rastro — e o SMF estava olhando.”

domingo, 12 de fevereiro de 2023

🇯🇵😂 Manual do Padawan do Humor Japonês

 


🇯🇵😂 Manual do Padawan do Humor Japonês

Uma jornada para entender por que o japonês ri (e por que às vezes a gente não entende 😅)

Pega um onigiri 🍙, respira fundo… e yosh! Vamos mergulhar nesse universo onde cair, gritar e exagerar faz parte da comédia — e tudo tem uma lógica!


🎭 De onde veio o humor japonês?

A comédia japonesa tem raízes lá na Era Edo, mais de 400 anos atrás.
Enquanto aqui a gente tinha teatro popular e piadas de salão, no Japão nascia:

  • Rakugo — um humorista sozinho no palco, sentado, contando histórias com vários personagens só mudando a voz 🤯

  • Kyōgen — teatrinho cômico entre peças dramáticas, com exagero, caretas e situações absurdas

Essas sementes evoluíram até chegar na TV moderna e no exagero dos animes que a gente ama ✨


⚡ Estilos (e truques) que você já viu sem perceber

Aqui vão alguns tipos de gag super comuns:

GagDescriçãoExemplo em anime
Tsukkomi & BokeDupla cômica: um fala bobagem (boke), o outro corrige bravo (tsukkomi)Zenitsu & Inosuke (Kimetsu)
Exagero físicogritos, quedas, explosões por nadaDragon Ball, One Piece
Yandere e cara de sombraCiúme → humor → terror 🤣Yuno Gasai (Mirai Nikki)
NosebleedPensou em algo pervertido → tsuuu! sangue no nariz 🩸Clássico dos ecchis
Silêncio constrangedorA piada é… o silêncio 😶Nichijou, K-On

O humor no Japão ama repetição + exagero até virar piada interna.

Se riu uma vez, vai rir de novo.
E de novo.
E mais uma. 👉😐👉😂


📺 Principais nomes e programas

Se quiser virar pro da comédia japonesa, anota esses nomes na sua notebook:

👥 Duplas (Manzai) famosas

  • Downtown — mestres do tsukkomi/boke

  • Ninety-Nine

  • Kirins

  • King of Comedy (sim, é uma dupla)

📌 Programas icônicos

  • Gaki no Tsukai — testes malucos de humor (tipo “não pode rir”)

  • Mecha-Mecha Iketeru! — gameshow/comédia histórica

  • Enta no Kami-sama — vitrine dos maiores comediantes

E para animeiros:

  • Nichijou – poesia do absurdo

  • Gintama – sátira + referência + caos puro

  • Saiki Kusuo – humor telepático sobre não querer ser herói

  • Konosuba – “e se o RPG desse errado sempre?” 🎲🔥


👀 Humor também é visual!

O Japão entende que cara engraçada = risada automática.
Por isso:

  • Olhos viram riscos ➝ 🫥 indignação

  • Boca enorme ➝ 😱 grito dramático

  • Personagem vira chibi ➝ 🧸 surto fofo

  • Fundo psicodélico ➝ 😵‍💫 pânico cômico

  • Sombra na cara ➝ 😈 pensamento maligno (mas engraçado)

É como se o anime gritasse:

“Ria AGORA, padawan!”
E você ri. Sem perceber. 😌


🧠 Curiosidades Ninjas

  • A palavra “piada” em japonês é ジョーク (jōku) — mas o que eles chamam de “ネタ (neta)” pode ser gag, cena, personagem todo!

  • Existem concursos nacionais de duplas cômicas

  • Humor japonês é tão forte que tem distrito especializado: Namba, em Osaka — a capital da comédia!


🔥 Como evoluiu até hoje?

EraEstilo dominanteOnde ver
EdoRakugo, KyōgenTeatros tradicionais
Pós-guerraDuplas manzaiTV inicial
Anos 80-90Humor slapstick e game showsGNT, TV Tokyo
2000-2020Sátira pop, memes, animes absurdosInternet, streaming
HojeHumor nichado, metalinguísticoYouTube, VTubers, TikTok

A regra é uma só:

Quanto mais maluquice, mais risada 😆


🥋 Dicas para entender humor japonês (sem estourar o nariz de tanto rir)

  • Observe quem é o boke e quem é o tsukkomi

  • Preste atenção na reação mais do que na fala

  • Aceite o absurdo: não tente aplicar lógica ocidental

  • Anote as piadas recorrentes — viram meme interno

  • Não esqueça: silêncio também é punchline

Com o tempo, você começa a rir até antes da piada acontecer 😳😂


🎉 Conclusão do Mestre Jedi Otaku

O humor japonês é uma mistura de:

  • Tradição + modernidade

  • Caretas + timing

  • Surto + fofura

  • Violência… mas de mentirinha 💥

Se você é padawan da cultura otaku, entender o humor nipônico é liberar um novo nível de apreciação dos seus animes, programas e memes favoritos.

E aí?
O que te faz rir nos animes?
Conta que eu quero rir junto 👀✨

sábado, 11 de fevereiro de 2023

Os Holocrons Esquecidos do Tratamento de Erros no IBM Z— O Padawan Aprende a Domar os Abends do Dataset - Parte II

Bellacosa Mainframe e o tratamento de erro em cobol parte II



EXCEPTION/ERROR Procedures em COBOL

Os Holocrons Esquecidos do Tratamento de Erros no IBM Z

Parte 2 — O Padawan Aprende a Domar os Abends do Dataset

VSAM, FILE STATUS 35/39/92/93, Retry, Logging e Frameworks Corporativos de Recuperação

Por Bellacosa Mainframe


"O jovem Padawan abre arquivos. O Cavaleiro verifica FILE STATUS. O Mestre Bellacosa sabe que os datasets possuem personalidade própria e adoram surpreender às duas horas da manhã durante o fechamento do mês."

Mestre Bellacosa


Introdução

Na Parte 1 descobrimos um antigo Holocron do COBOL.

As DECLARATIVES.

Aprendemos que elas são capazes de interceptar falhas de I/O e centralizar tratamentos de erro.

Mas o jovem Padawan ainda não conhece os verdadeiros monstros do universo Batch.

São eles:

  • Dataset inexistente

  • Catálogo inconsistente

  • VSAM corrompido

  • Arquivo aberto por outro job

  • Buffer inválido

  • Erros físicos

  • Timeouts

  • Recursos indisponíveis

E todos possuem um idioma próprio.

O idioma chamado:

FILE STATUS


O que é FILE STATUS?

Talvez seja o mecanismo mais utilizado em COBOL.

Exemplo:

SELECT CLIENTE
       ASSIGN TO ARQCLI
       FILE STATUS IS WS-FS.

Variável.

01 WS-FS PIC XX.

Depois.

OPEN INPUT CLIENTE.

COBOL preenche.

WS-FS

Automaticamente.


Como funciona internamente?

Runtime COBOL.

Recebe retorno.

Do Access Method.

VSAM.

QSAM.

BSAM.


Converte.

Para.

Código.

FILE STATUS.


Visualmente.

OPEN

↓

VSAM

↓

RETURN CODE

↓

Runtime COBOL

↓

FILE STATUS

↓

Programa

Muito eficiente.


Status 00

O preferido.


Significa.

Tudo certo.


Exemplo.

WS-FS = 00

Padawan feliz.


Status 10

Fim arquivo.


Muito comum.

READ CLIENTE

AT END

Status 35

O primeiro monstro.


Arquivo.

Não encontrado.


Exemplo.

Dataset.

Não catalogado.


Resultado.

35

Declarative.

Entra.

Em ação.


Exemplo

USE AFTER STANDARD ERROR PROCEDURE
ON CLIENTE.

Exibe.

ARQUIVO INEXISTENTE

Muito elegante.


Status 39

Outro clássico.


Estrutura incompatível.


Exemplo.

Programa espera.

80 bytes.

Arquivo possui.


Resultado.

39


Muito comum.

Após mudanças.

Copybooks.


Status 90

Pesadelo.


Erro genérico.

VSAM.


Exemplo.

Problema.

Catálogo.


Buffer.


Disco.


Difícil.

Investigar.


Status 92

Muito importante.

Lógica incorreta.


Exemplo.

WRITE.

Em arquivo fechado.


Resultado.


Padawan triste.


Status 93

Recurso indisponível.


Dataset.

Em uso.


Outro job.

Segurando lock.


Resultado.


Framework Bellacosa

Gosto bastante.

Estrutura.

Programa


↓

Erro


↓

Declarative


↓

Logger


↓

Retry


↓

Escalation


↓

MQ


↓

Splunk

Muito utilizada.

Em bancos.


Exemplo completo

Passo 1

Arquivo

SELECT CLIENTE

ASSIGN TO ARQCLI

FILE STATUS WS-FS.

Passo 2

Declarative

DECLARATIVES.

ARQERR SECTION.

USE AFTER STANDARD ERROR PROCEDURE

ON CLIENTE.

Passo 3

Tratamento

ARQERR-PROC.


DISPLAY WS-FS.


PERFORM LOGAR.


PERFORM RETRY.


EXIT.

Passo 4

Fim.

END DECLARATIVES.

Retry

Pouco utilizado.

Mas poderoso.


Exemplo.

Arquivo.

Lock.


Esperar.

5 segundos.


Tentar.

Novamente.


Código.

PERFORM 3 TIMES


OPEN INPUT CLIENTE


IF WS-FS = '00'

EXIT PERFORM


CALL 'CEE3DLY'


END-PERFORM

Muito elegante.


Logging

Sempre.


Registrar.

Timestamp.

Dataset.

Status.

Job.

Step.

Usuário.


Exemplo.

20260626


CLIENTE


STATUS 35


JOB12345

Auditoria.

Excelente.


VSAM

Aqui mora.

Grande parte.

Dos monstros.


KSDS.

ESDS.

RRDS.

VRRDS.


Cada um.

Possui.

Comportamentos.

Diferentes.


INVALID KEY

Muito conhecido.


Exemplo.

READ CLIENTE

INVALID KEY

Mas.

Declaratives.

Podem.

Centralizar.

Tudo.


Como funciona na memória?

Compilador.

Cria tabela.


Arquivo.

↓

Rotina.


Erro.

↓

Dispatcher.

↓

Declarative.


Pouco overhead.


Muito eficiente.


Segurança

Interessante.


Permite.

Auditar.

Tentativas.

Falhas.


LGPD.

SOX.

Compliance.


Excelente.


Curiosidades

Muitos frameworks bancários.

Possuem.

DECLARATIVES.

Centralizadas.


Poucos desenvolvedores.

Percebem.


Curiosidade 2

Algumas empresas.

Geram.

MQ.

Com erros.


Exemplo.

{
"arquivo":"CLIENTE",
"status":"35"
}

Observabilidade.

Moderna.


Curiosidade 3

Splunk.

Elastic.

Grafana.

Podem.

Receber.

Eventos.

COBOL.


Muito interessante.


Bellacosa Best Practices

Sempre.

FILE STATUS.


Sempre.

Logging.


Sempre.

Retry controlado.


Nunca.

Loop infinito.


Nunca.

Ignorar.


Nunca.

Ignorar.


Documente.

Tudo.


O Conselho do Mestre Bellacosa

Datasets possuem humor.

VSAM possui personalidade.

E FILE STATUS possui sabedoria.

O jovem Padawan aprende rapidamente a testar 00.

O Cavaleiro aprende a respeitar 35, 39, 92 e 93.

Mas o Mestre Bellacosa entende algo mais profundo.

Ele sabe que erros de I/O não são exceções.

São eventos inevitáveis.

Eles acontecerão.

Talvez durante um fechamento contábil.

Talvez em uma carga de Open Banking.

Talvez em um batch de 30 milhões de registros.

E quando isso acontecer, não será a velocidade do programa que salvará a madrugada.

Será a qualidade do tratamento de erros.

Porque um bom programa COBOL não é apenas aquele que processa milhões de registros.

É aquele que continua elegante, observável e auditável quando a galáxia dos datasets decide entrar em caos.


Continua na Parte 3

O Lado Sombrio – LE, CICS HANDLE CONDITION, ON EXCEPTION, CEEHDLR, Dumps, Fault Analyzer, IPCS e os Monstros do S0C4.

sexta-feira, 10 de fevereiro de 2023

O Cérebro por Trás do Scanner - Parte II : Como o OCR Aprendeu a Ler, Pensar e Preparou o Caminho para a Inteligência Artificial

 

Bellacosa Mainframe e a origem dos ocrs parte ii

☕📠 Um Café no Bellacosa Mainframe — Parte II

O Cérebro por Trás do Scanner

Como o OCR Aprendeu a Ler, Pensar e Preparou o Caminho para a Inteligência Artificial

"Quando olhamos para uma página escaneada, vemos um texto. Quando um computador olha para a mesma página, ele vê apenas milhões de pequenos quadrados coloridos."

Essa talvez seja a melhor maneira de entender por que o OCR foi, durante décadas, um dos maiores desafios da computação.

Na primeira parte desta história, acompanhamos a evolução do reconhecimento óptico de caracteres desde os primeiros experimentos mecânicos até os scanners domésticos dos anos 90, quando um simples "Computador" podia facilmente virar "Cornputad0r".

Agora chegou a hora de abrir a tampa do scanner, remover a carenagem e descobrir o que realmente acontece dentro daquela caixa aparentemente mágica.

Prepare seu café.

Hoje faremos engenharia reversa da visão computacional.


O Grande Mal-Entendido

Existe uma crença bastante comum.

"O scanner lê o texto."

Não.

O scanner nunca leu absolutamente nada.

Ele apenas fotografa.

Isso muda completamente nossa forma de enxergar o problema.

Imagine uma folha A4.

Para nós ela possui:

  • palavras;

  • frases;

  • parágrafos;

  • títulos;

  • tabelas;

  • imagens.

Para o scanner...

ela é apenas uma enorme fotografia.

Nada mais.


A Primeira Missão

Transformar luz em números.

Os antigos scanners CCD utilizavam uma barra de sensores semelhante às câmeras digitais.

Cada pequeno sensor media apenas uma coisa:

Quanto de luz voltou daquele ponto do papel?

Branco?

Muito reflexo.

Preto?

Pouca reflexão.

Cinza?

Um valor intermediário.

Depois de alguns segundos surgia uma gigantesca matriz.

255 255 255 255
255  12  10 255
255   9   7 255
255 255 255 255

Isso não é um texto.

É apenas uma fotografia convertida em números.


O Primeiro Milagre: Binarização

Os computadores logo perceberam um problema.

Fotografias possuem milhões de tons.

Textos normalmente precisam apenas de dois.

Branco.

Preto.

Então surgiu um algoritmo aparentemente simples.

Escolher um limite.

Maior que 128?

Branco.

Menor?

Preto.

Parece trivial.

Mas aqui começou um dos maiores desafios do OCR.

Porque documentos antigos nunca possuem iluminação uniforme.


Quando a Folha Envelhece

Pegue um livro de 1935.

O papel está amarelado.

Existem manchas.

Dobras.

Carimbos.

Marcas de café.

Fungos.

Poeira.

O algoritmo precisa decidir:

"Isto é tinta?"

ou

"Isto é sujeira?"

Esse processo é chamado de Thresholding.

Hoje utilizamos técnicas adaptativas como:

  • Otsu

  • Sauvola

  • Niblack

  • Wolf

Cada uma tentando responder exatamente a mesma pergunta.

"O que realmente pertence ao texto?"


O Segundo Milagre

Agora o OCR precisa descobrir onde existem letras.

Mas...

como encontrar letras numa fotografia?

Entra em cena uma velha conhecida da matemática.

A detecção de componentes conectados.

Imagine derramar tinta sobre uma folha.

Cada grupo conectado de pixels forma uma ilha.

Cada ilha pode ser:

  • uma letra;

  • um ponto;

  • um acento;

  • uma vírgula.

Ou apenas sujeira.


Encontrando Linhas

Curiosamente, localizar palavras é muito mais difícil do que reconhecer letras.

Primeiro é necessário descobrir:

Onde começa a primeira linha?

Onde termina?

Qual é o espaçamento?

Existe uma coluna?

Duas?

Três?

É um jornal?

Uma revista?

Uma tabela?

Esse processo chama-se:

Page Layout Analysis.

Sem ele o OCR mistura linhas completamente diferentes.

Foi exatamente isso que acontecia em muitos scanners domésticos dos anos 90.


O Terror Chamado Tabela

Você provavelmente já percebeu.

OCR odeia tabelas.

Porque tabelas possuem:

  • linhas;

  • caixas;

  • números;

  • textos;

  • alinhamentos diferentes.

Durante muitos anos elas eram praticamente impossíveis.

Hoje modelos de IA conseguem reconstruí-las com enorme precisão.


Segmentando Letras

Finalmente chegamos ao momento esperado.

Encontrar caracteres individuais.

Imagine a palavra:

COMPUTADOR

O algoritmo tenta descobrir:

C

O

M

P

U

...

Parece simples.

Até aparecer isto:

ffi

Em muitas fontes antigas essas três letras são desenhadas como um único símbolo.

Agora imagine o "ç".

Ou o "ã".

Ou um "í" com poeira em cima.

Tudo muda.


A Era das Comparações

Os primeiros OCR funcionavam exatamente como um álbum de figurinhas.

O algoritmo possuía milhares de modelos.

Será que parece um A?

92%

Um B?

15%

Um R?

18%

Escolhia o maior valor.

Era simples.

E muito limitado.

Mudou a fonte?

Fracasso.

Mudou a inclinação?

Fracasso.

Mudou o tamanho?

Fracasso novamente.


Então Vieram as Redes Neurais

Nos anos 1990 começou uma revolução silenciosa.

Em vez de comparar desenhos...

o computador passou a aprender.

Você mostrava milhares de letras.

A

A

A

A

A

Depois mostrava milhares de outras.

B

B

B

B

Após milhões de exemplos...

a máquina começava a criar um conceito abstrato de letra.

Era o nascimento do OCR moderno.


CNNs: Os Especialistas em Enxergar

As Convolutional Neural Networks mudaram completamente o jogo.

Ao invés de perguntar:

"Esta letra parece um A?"

elas perguntavam:

"Quais padrões aparecem repetidamente?"

Curvas.

Linhas.

Cantos.

Texturas.

Essas pequenas características eram combinadas em níveis cada vez mais sofisticados.

De repente o computador conseguia reconhecer letras mesmo deformadas.


O OCR Aprendeu Português

Uma das maiores revoluções não aconteceu na visão.

Aconteceu na linguagem.

Imagine duas possibilidades.

Cornputador

Computador

Visualmente são parecidas.

Mas linguisticamente apenas uma existe.

Então entraram em cena:

  • dicionários;

  • modelos estatísticos;

  • frequência de palavras;

  • análise gramatical;

  • contexto.

Foi assim que muitos erros desapareceram.


A Invenção que Todo Mundo Usou Sem Saber

Você lembra daqueles CAPTCHAs antigos?

Digite as letras abaixo.

Pouca gente sabe...

Você estava treinando OCR.

O sistema mostrava justamente palavras que os computadores não conseguiam reconhecer.

Milhões de pessoas ajudaram gratuitamente a revisar livros inteiros.

Essa genialidade ficou conhecida como reCAPTCHA.

Cada clique corrigia um pedacinho da Biblioteca de Alexandria digital do século XXI.


O Tesseract

Se existe um herói silencioso do OCR moderno...

ele atende pelo nome de Tesseract.

Criado originalmente na Hewlett-Packard entre 1985 e 1995.

Depois liberado como código aberto.

Mais tarde adotado e impulsionado pelo Google.

Hoje é um dos motores OCR mais utilizados do planeta.

Ele suporta centenas de idiomas.

Inclusive português.

E continua evoluindo.


ABBYY: O Ferrari do OCR

Enquanto o Tesseract conquistava o mundo open source...

uma empresa russa construía um verdadeiro monstro.

ABBYY FineReader.

Durante muitos anos ele foi considerado praticamente imbatível.

Reconhecia:

  • livros;

  • contratos;

  • formulários;

  • tabelas;

  • revistas;

  • jornais.

E fazia isso absurdamente bem.

Muitas empresas ainda o utilizam como padrão.


PaddleOCR

Nos últimos anos surgiu outro gigante.

PaddleOCR.

Projeto open source da Baidu.

Especializado em:

  • OCR multilíngue;

  • documentos complexos;

  • reconhecimento de tabelas;

  • layout;

  • manuscritos.

Hoje compete diretamente com soluções comerciais.


EasyOCR

Para quem trabalha com Python.

Existe um nome quase obrigatório.

EasyOCR.

Poucas linhas de código.

Dezenas de idiomas.

Excelente integração com IA.

Perfeito para automação.


TrOCR

Em 2021 a Microsoft apresentou algo extremamente interessante.

Em vez de construir um OCR tradicional...

utilizou Transformers.

Sim.

Os mesmos princípios que deram origem aos LLMs.

O resultado foi surpreendente.

O OCR deixou de reconhecer letras individualmente.

Passou a interpretar a sequência inteira.

Quase como se estivesse lendo.


OCR Multimodal

Hoje um modelo moderno faz algo completamente diferente.

Ele olha para uma página inteira.

Ao mesmo tempo entende:

  • texto;

  • fotografias;

  • diagramas;

  • gráficos;

  • assinaturas;

  • tabelas;

  • fórmulas matemáticas.

Ele já não separa visão de linguagem.

As duas coisas acontecem simultaneamente.

É exatamente esse tipo de abordagem que vemos em muitos modelos multimodais atuais.


Quando o OCR Começou a Entender Documentos

O próximo passo foi inevitável.

Não basta reconhecer:

R$ 12.345,67

É preciso saber:

Aquilo é:

  • valor da nota?

  • desconto?

  • imposto?

  • saldo?

  • total?

Nascia o Document AI.

Hoje utilizado por:

  • bancos;

  • seguradoras;

  • hospitais;

  • cartórios;

  • tribunais;

  • governos.


O Papel da IBM

Seria impossível falar de OCR sem mencionar a IBM.

Ao longo de décadas a empresa desenvolveu soluções para captura documental, leitura automática de formulários, processamento de cheques, classificação inteligente de documentos e integração com grandes ambientes corporativos.

Mais recentemente, tecnologias baseadas em IBM Watson, IBM Datacap, FileNet, Cloud Pak for Business Automation e modelos de IA ampliaram o conceito de OCR para captura inteligente, onde o sistema não apenas lê caracteres, mas interpreta contratos, identifica entidades, extrai metadados e automatiza processos completos.

No mundo mainframe, isso significou integrar documentos físicos diretamente a fluxos em CICS, Db2, IMS e sistemas bancários, reduzindo drasticamente a digitação manual.


O Novo Desafio: Livros do Mundo Inteiro

Quando Google Books começou sua missão de digitalizar milhões de livros, descobriu algo curioso.

Cada biblioteca possuía problemas diferentes.

Livros tortos.

Páginas grudadas.

Margens cortadas.

Letras góticas.

Anotações feitas por leitores há cem anos.

Carimbos.

Bibliotecas inteiras tornaram-se laboratórios de visão computacional.

Hoje, modelos treinados nesses acervos conseguem recuperar textos que seriam praticamente ilegíveis para os algoritmos de vinte anos atrás.


Easter Eggs que Quase Ninguém Conhece

📚 Muitos manuscritos medievais são hoje mais legíveis digitalmente do que a olho nu graças ao processamento de imagem multiespectral.

🔍 Alguns OCR modernos conseguem identificar automaticamente a fonte tipográfica utilizada em um documento.

🧠 Em certos sistemas corporativos, o OCR já identifica o tipo do documento antes mesmo de começar a ler o texto.

📜 Existem algoritmos capazes de reconstruir letras parcialmente queimadas ou apagadas utilizando contexto estatístico.

🤖 Alguns LLMs atuais utilizam OCR apenas como etapa intermediária. Outros enxergam a página inteira diretamente, sem separar explicitamente "leitura" e "interpretação", aproximando-se da forma como nós humanos percebemos um documento.


Um Café Antes de Fechar a Tampa do Scanner

Durante muito tempo acreditamos que ensinar um computador a jogar xadrez era uma das tarefas mais difíceis da inteligência artificial.

Estávamos errados.

Muito mais complicado era ensinar uma máquina a distinguir um "O" de um "0", um "rn" de um "m" ou um simples acento agudo perdido em uma folha amarelada pelo tempo.

O OCR nos ensinou uma lição que continua válida até hoje: inteligência não nasce pronta. Ela é construída pixel por pixel, erro por erro, página por página.

Toda vez que uma IA moderna responde a uma pergunta sobre um livro publicado há cinquenta, cem ou duzentos anos, existe uma boa chance de que, em algum momento de sua jornada, aquele conhecimento tenha passado por um scanner, por um algoritmo de OCR e por incontáveis correções humanas.

É por isso que gosto de pensar que a verdadeira biblioteca da Inteligência Artificial não começou em um data center repleto de GPUs.

Ela começou com o zumbido lento de um scanner doméstico, uma barra luminosa atravessando uma folha de papel e um velho computador tentando descobrir, pela primeira vez, se aquilo era um "Computador"... ou apenas mais um misterioso "Cornputad0r".

terça-feira, 7 de fevereiro de 2023

Máscara Tengu — O Narigudo mais Temido (e Fofoqueiro) do Japão

 



Máscara Tengu — O Narigudo mais Temido (e Fofoqueiro) do Japão

Um post Bellacosa Mainframe para o El Jefe Midnight Lunch

Prepare seu chimarrão espiritual, ajeite o obi, abra o portão torii da imaginação e venha comigo descortinar uma das figuras mais icônicas, perigosas, barulhentas e deliciosamente folclóricas do Japão:


🟥 O TENGU — o Yokai com nariz para confusão

Se a Máscara Inari é a raposinha elegante, a Máscara Tengu é o tiozão do churrasco do mundo espiritual:

  • nariz descomunal,

  • rosto vermelho,

  • postura arrogante,

  • e um currículo de tretas que começa antes de Minamoto no Yoshitsune pegar na espada.

Mas como toda entidade japonesa…
ele não é só o vilão.
É mentor, guardião, justiceiro, palhaço, troll místico, e às vezes — só às vezes — um sábio iluminado.

E claro: virou máscara de festival, amuleto, personagem de anime, boss de videogame e ícone pop.

Vamos por partes, Bellacosa Style.



🕊️ ORIGEM — Do demônio ao semideus

Os tengus aparecem nos textos do século VIII, mas ali eram tratados como demônios perigosos.
Aos poucos evoluíram para:

  • espíritos da montanha,

  • mestres de artes marciais,

  • protetores de florestas,

  • e trolls místicos que adoram provocar monges arrogantes.

A forma clássica tem nariz enorme.
Quanto maior o nariz, maior a aura de poder (sim, Freud amaria isso).

Mas antes do narigão aparecer, muitos eram retratados com bico, como pássaros — e até hoje eles mantêm asas, penas e a habilidade de voar.

Tengu = metade homem, metade ave, 100% encrenca.

O lar preferido deles?
Montanhas.
Especialmente Monte Kurama, QG espiritual onde até o jovem Yoshitsune supostamente treinou artes marciais com eles.


🎭 A MÁSCARA TENGU — símbolo de respeito e temor

A máscara é parte fundamental do teatro Noh e de rituais shinto-budistas.
É feita para causar impacto:

  • vermelho vibrante

  • sobrancelhas grossas

  • expressão furiosa

  • nariz que dá pra colocar CEP

Ela representa não só o espírito, mas o poder indomado da montanha.

Por isso aparece muito em:

  • matsuris,

  • lojas de amuletos,

  • portas de comércio (para espantar problemas),

  • cerimônias de artes marciais,

  • e até como decoração de izakaya malucas.

Se você entrar num restaurante japonês e der de cara com uma máscara de narigão vermelho, não estranhe:
é o Tengu dizendo “respeita o dono do estabelecimento, ô mortal”.


🎒 CURIOSIDADES BELLACOSA (com leve travessura espiritual)

1. Tengu odeia gente metida.

O objetivo dele é humilhar arrogantes, especialmente monges hipócritas.
É tipo o auditor fiscal do karma.

2. Tengu ama artes marciais.

Treinam guerreiros, mas só os puros de intenção.
Se for mala, ele te joga da montanha.

3. Tengu pode sequestrar humanos.

Mas sempre por “motivo pedagógico”: ensinar humildade.
Ou trollar.

4. Existem dois tipos:

  • Karasu-Tengu (pássaro, antigo e selvagem)

  • Daitengu (humanoide narigudo, versão premium)

5. Máscaras Tengu são usadas como proteção anti-inveja.

O nariz gigante funciona como “espanta olho gordo”.

6. O nariz enorme virou piada local.

No Japão rural, dizer que alguém tem “nariz de Tengu” é insinuar que a pessoa é arrogante.
Fofoquinha light, mas certeira.


🐦 FOFOQUICES DO FOLCLORE

— Tengu se apaixona facilmente… mas só por humanos inteligentes e teimosos.

Parece até que gostam de dor de cabeça.

— Muitos mestres lendários alegavam ter treinado com tengus.

É o equivalente místico a dizer:
“Aprendi hackear o z/OS com o criador do JCL.”

— Tengu às vezes protege aldeias inteiras.

Mas cobra:
respeito, cerimônias e… não subir a montanha de qualquer jeito.

— Algumas aldeias relatavam “tempestades tengu”.

Rajadas de vento súbitas que bagunçavam tudo.
Era a hora que o bicho tava com TPM espiritual.


🎌 DICAS BELLACOSA PARA HONRAR A MÁSCARA TENGU

  • Nunca toque no nariz da máscara.
    É considerado falta de respeito (e má sorte).

  • Se comprar uma, coloque voltada para a porta.
    Protege sua casa e faz inveja correr.

  • Leve uma em matsuri, mas não faça palhaçada com ela.
    Tengu adora zoar arrogantes — inclusive você.

  • Quer boa sorte nas artes marciais?
    Máscara Tengu no dojo = respeito imediato do mundo espiritual.


🥚🔍 EASTER-EGGS NA CULTURA POP

✔ Em Naruto, o clã Uchiha tem máscaras cerimoniais inspiradas em tengu.

As lendas sobre Susanoo e Amaterasu também puxam simbolismo deles.

✔ Em Nioh, existem tengus como chefões (e dói apanhar deles!).

✔ Em Tekken Tag, Kunimitsu usa máscara claramente derivada de Tengu.

✔ Em Persona e Shin Megami Tensei, vários personagens-tema são baseados nesses espíritos.

✔ O chefão “Tengu Man” de Mega Man 8 é uma homenagem direta.

✔ No festival Kurama Fire Festival, máscaras tengu dominam a noite inteira.


🔴🥋 COMENTÁRIO FINAL — O Guardião Narigudo das Montanhas

O Tengu é a prova viva (ou espiritual) de que o folclore japonês não brinca em serviço.
É irreverente, sábio, perigoso e profundamente simbólico.
Representa o poder bruto da montanha, o ego humano e o eterno lembrete:

“Se o nariz cresce, a sabedoria diminui.”

Não à toa sua máscara atravessou séculos, teatros, templos e agora reina também em animes, videogames e coleções de viajantes curiosos.

O Tengu olha de rabo de olho.
Sempre vigilante.
Sempre julgando.
Sempre pronto para cutucar quem tem o ego inflado.

E cá entre nós…
um mundo com um pouco de Tengu faz bem.
Mantém o povo humilde.

segunda-feira, 6 de fevereiro de 2023

Entendendo Mainframe Datasets (PS, PDS e PDSE)

 

Bellacosa Mainframe e os datasets ps pds e pdse no z/os

Entendendo Mainframe Datasets (PS, PDS e PDSE)

Uma análise aprofundada para desenvolvedores COBOL Jr.

A imagem resume um dos conceitos mais importantes do ecossistema z/OS: datasets. Se você está iniciando em COBOL, JCL, DB2, CICS ou suporte Mainframe, compreender datasets não é apenas importante — é obrigatório.

Muitos iniciantes vêm do mundo Windows, Linux ou Cloud e tentam enxergar o Mainframe usando a lógica de diretórios, arquivos e pastas tradicionais. Esse é um dos primeiros erros.

No Mainframe, a unidade fundamental de armazenamento não é o arquivo ("file"), mas sim o dataset.


1. O que é um Dataset?

Um dataset é uma estrutura lógica utilizada para armazenar informações dentro do z/OS.

Ele pode conter:

  • Programas COBOL

  • Fontes Assembler

  • Membros JCL

  • Procedures

  • Relatórios

  • Arquivos de entrada

  • Arquivos de saída

  • Dados transacionais

  • Bibliotecas de Load Modules

Em ambientes distribuídos você pensa:

Windows/Linux

Diretório
 ├── arquivo1.txt
 ├── arquivo2.txt
 └── arquivo3.txt

No Mainframe:

Dataset

ou

Dataset
 ├── membro1
 ├── membro2
 └── membro3

Dependendo do tipo.


2. Por que o Mainframe usa Datasets?

Quando o OS/360 foi criado nos anos 60, não existia o conceito moderno de sistemas de arquivos hierárquicos como conhecemos hoje.

O Mainframe foi projetado para:

  • Processamento em lote (Batch)

  • Alta performance

  • Baixo overhead

  • Grandes volumes de dados

Por isso surgiu o conceito de datasets.

Até hoje ele continua porque funciona extremamente bem.


3. Os Três Tipos Fundamentais

A imagem apresenta:

PS

Physical Sequential

PDS

Partitioned Dataset

PDSE

Partitioned Dataset Extended

Esses três tipos aparecem diariamente em qualquer ambiente corporativo.


4. PS – Physical Sequential Dataset

Imagine uma folha de papel.

Você escreve:

Linha 1
Linha 2
Linha 3
Linha 4

Você lê exatamente nessa sequência.

Isso é um PS.


Estrutura

Registro 1
Registro 2
Registro 3
Registro 4
Registro 5

Sem divisões internas.

Sem membros.

Sem pastas.

É um único bloco de informação.


Analogia Bellacosa

Imagine um PDF.

Você abre.

Existe apenas um documento.

Não existe:

Capítulo como arquivo separado

Tudo está dentro dele.

PS é exatamente isso.


Exemplos reais

Arquivo de clientes:

CLIENTES.DIARIO

Arquivo de vendas:

VENDAS.MENSAL

Relatório batch:

RELATORIO.FINANCEIRO

Arquivo de entrada:

INPUT.ARQ001

5. Como um programa COBOL lê um PS?

Exemplo:

SELECT CLIENTES
ASSIGN TO CLIENTES.

FD:

FD CLIENTES.

01 REG-CLIENTE.
   05 ID-CLIENTE PIC 9(5).
   05 NOME       PIC X(30).

O COBOL irá:

Read registro 1
Read registro 2
Read registro 3
...
EOF

Sequencialmente.


6. Características do PS

Vantagens

Muito rápido.

Baixo overhead.

Excelente para batch.

Menos controle interno.


Desvantagens

Não possui membros.

Difícil organizar múltiplos objetos.

Pouca flexibilidade.


7. Onde um COBOL Jr vê PS?

Todos os dias.

Arquivos:

INPUT
OUTPUT
SORTWK
EXTRACT
REPORT

Normalmente são PS.

Exemplo JCL:

//INFILE DD DSN=USER.CLIENTES,
// DISP=SHR

Esse dataset costuma ser PS.


8. PDS – Partitioned Dataset

Agora imagine um armário de arquivos.


Estrutura:

Armário
 ├── Gaveta A
 ├── Gaveta B
 ├── Gaveta C

O armário é o dataset.

As gavetas são membros.


Estrutura real

USER.COBOL.SOURCE

Contendo:

PROG001
PROG002
PROG003
PROG004

Cada membro é um programa.


Analogia Bellacosa

Imagine uma pasta Windows:

COBOL
 ├── PROG001.CBL
 ├── PROG002.CBL
 └── PROG003.CBL

No Mainframe:

USER.COBOL.SOURCE

com membros:

PROG001
PROG002
PROG003

9. O Diretório do PDS

O segredo do PDS está no diretório.

Ele mantém a lista dos membros.

Exemplo:

PROG001
PROG002
PROG003
PROG004

Toda vez que você abre:

USER.COBOL.SOURCE

o sistema consulta esse diretório.


10. O Problema Histórico do PDS

Aqui aparece uma questão clássica de entrevista.

O PDS sofre com:

Directory Full

ou

Space Fragmentation


Imagine:

PROG001
PROG002
PROG003

Você apaga:

PROG002

O espaço não é totalmente reaproveitado.

Com o tempo:

Espaço livre espalhado

começa a existir dentro do dataset.


Consequências:

  • desperdício de espaço

  • lentidão

  • necessidade de manutenção


11. Compress do PDS

Por isso surgiu o famoso:

IEBCOPY COMPRESS

ou

3.1 Compress

no ISPF.


O processo reorganiza:

Membro 1
Membro 2
Membro 3

removendo os buracos.


Analogia:

Desfragmentação de disco.


12. Onde o PDS é usado?

Muito comum para:

JCL

USER.JCL

COBOL Sources

USER.COBOL

PROC Libraries

USER.PROCLIB

Copybooks

USER.COPYLIB

13. Como acessar um membro?

Sintaxe:

USER.COBOL(PROG001)

Dataset:

USER.COBOL

Membro:

PROG001

14. JCL utilizando membro

//SYSIN DD DSN=USER.JCL(MYJOB),
 // DISP=SHR

ou

EXEC PROC=PROC001

onde:

USER.PROCLIB(PROC001)

contém a procedure.


15. PDSE – A Evolução do PDS

IBM percebeu:

"PDS gera manutenção demais."

Resultado:

PDSE.

Partitioned Dataset Extended.


O que mudou?

Praticamente tudo internamente.

Externamente parece igual.


Você continua acessando:

USER.COBOL(PROG001)

Mas internamente o gerenciamento mudou completamente.


16. PDSE é um Sistema Inteligente

PDS:

Gerenciamento manual

PDSE:

Gerenciamento automático

Analogia Bellacosa:

PDS:

Arquivo de aço dos anos 80

PDSE:

Google Drive

17. Eliminação do Compress

Maior vantagem.

PDS:

Compress obrigatório

PDSE:

Compress não existe

O próprio sistema gerencia.


18. Espaço Dinâmico

PDS:

Diretório fixo

PDSE:

Diretório expansível

Isso resolve:

Directory Full

19. Melhor Performance

PDSE utiliza estruturas modernas.

Possui cache.

Melhor gerenciamento interno.

Menor contenção.


Em ambientes grandes:

Milhares de acessos simultâneos

a diferença é perceptível.


20. PDSE para Load Libraries

Muito importante.

Bibliotecas de programas compilados:

LOADLIB
STEPLIB
LINKLIB

normalmente são PDSE.


Exemplo:

USER.LOADLIB

Membros:

PROGA
PROGB
PROGC

Cada membro é um módulo executável.


21. Geração de Objetos COBOL

Fluxo clássico:

Source
 ↓
Compile
 ↓
Object
 ↓
Link Edit
 ↓
Load Module

Onde ficam?

Source:

PDS/PDSE

Objeto:

PDS/PDSE

Load:

PDSE

22. Fluxo Completo de Desenvolvimento COBOL

Imagine:

USER.COBOL

Membro:

PGMCLI01

Compilação:

IGYCRCTL

gera:

USER.OBJLIB

Depois:

USER.LOADLIB

Finalmente:

EXEC PGM=PGMCLI01

executa o módulo armazenado na LOADLIB.


23. O que um Dev COBOL Jr precisa decorar?

PS

Pergunta:

"Possui membros?"

Resposta:

Não

PDS

Pergunta:

"Precisa compress?"

Resposta:

Sim

PDSE

Pergunta:

"Precisa compress?"

Resposta:

Não

PDS

Pergunta:

"Directory fixo?"

Resposta:

Sim

PDSE

Pergunta:

"Directory expansível?"

Resposta:

Sim

24. Perguntas Clássicas de Entrevista

Qual a diferença entre PDS e PDSE?

Resposta curta:

PDS utiliza diretório fixo e requer compressão periódica. PDSE possui gerenciamento automático de espaço, diretório dinâmico e não necessita compressão.


O que é um membro?

Resposta:

Uma subdivisão lógica dentro de um PDS ou PDSE.


Um PS possui membros?

Resposta:

Não.


Como referenciar um membro?

Resposta:

DSN(MEMBER)

Exemplo:

USER.COBOL(PROG001)

Onde ficam os fontes COBOL?

Resposta:

Normalmente:

PDS ou PDSE

25. Visão Arquitetural que Poucos Iniciantes Entendem

A maioria dos juniores pensa:

PS = ruim
PDS = melhor
PDSE = moderno

Mas isso é simplificação excessiva.

A verdade é:

Cada um resolve um problema diferente.


PS

Especialista em:

Grande volume sequencial

PDS

Especialista em:

Organização de membros

PDSE

Especialista em:

Organização moderna de membros

Portanto:

PS ≠ PDS
PDS ≠ PDSE

Eles não competem diretamente.


26. Como enxergar isso como um profissional Mainframe

Visualize uma aplicação bancária:

Fontes COBOL
     ↓
USER.COBOL (PDSE)

Copybooks
     ↓
USER.COPYLIB (PDSE)

Objetos
     ↓
USER.OBJLIB (PDSE)

Executáveis
     ↓
USER.LOADLIB (PDSE)

Arquivo de clientes
     ↓
CLIENTE.MESTRE (PS)

Arquivo de transações
     ↓
TRANSACOES.DIA (PS)

Relatório
     ↓
RELATORIO.FINAL (PS)

Perceba a lógica:

  • Código → PDS/PDSE

  • Dados → PS

Essa separação é um dos pilares da arquitetura Mainframe.


Conclusão

A imagem apresenta apenas a superfície do assunto. Para um desenvolvedor COBOL Jr., o entendimento profundo é que datasets são a espinha dorsal do z/OS. Quase tudo que você fará no Mainframe envolverá abrir, criar, catalogar, alocar, ler, gravar, copiar, compactar ou referenciar datasets.

Guarde a regra mental mais importante:

PS   = Arquivo único (Single File)

PDS  = Biblioteca com membros (Folder)

PDSE = Biblioteca inteligente (Smart Folder)

E, no dia a dia profissional:

Dados de negócio     → PS
Fontes COBOL         → PDSE
Copybooks            → PDSE
JCLs                 → PDSE
PROCs                → PDSE
Load Modules         → PDSE

Quando você dominar datasets, começará a enxergar o Mainframe da forma correta: não como um "Linux antigo", mas como um sistema operacional projetado para processar bilhões de transações com confiabilidade, organização e desempenho que continuam sendo referência mundial décadas depois de sua criação.


Os 100 Comandos Mais Importantes do CMD.EXE e da Herança MS-DOS no Windows - Parte II

 

Bellacosa Mainframe e os comandos ms-dos em windows parte II

Os 100 Comandos Mais Importantes do CMD.EXE e da Herança MS-DOS no Windows

Guia Definitivo para Administração, Diagnóstico, Automação e Recuperação de Sistemas Windows

Introdução

Desde o surgimento do IBM PC em 1981, a linha de comando tornou-se uma das ferramentas mais poderosas da computação pessoal e corporativa. O MS-DOS (Microsoft Disk Operating System) foi durante anos o principal sistema operacional da plataforma PC, estabelecendo comandos que permanecem vivos até hoje dentro do Windows moderno.

Embora o Windows atual utilize uma arquitetura baseada no Windows NT, lançada na década de 1990, o Prompt de Comando (CMD.EXE) continua sendo uma ferramenta indispensável para administradores de sistemas, profissionais de suporte técnico, especialistas em redes, analistas de segurança e usuários avançados.

O CMD oferece acesso direto a funções do sistema operacional, permitindo executar tarefas de forma mais rápida, precisa e eficiente do que muitas ferramentas gráficas. Além disso, diversos comandos clássicos herdados do MS-DOS continuam sendo amplamente utilizados para manutenção, automação e diagnóstico de computadores e servidores.

Entre suas principais aplicações estão:

  • Administração local e remota de sistemas Windows.

  • Diagnóstico de problemas de hardware e software.

  • Gerenciamento de arquivos e diretórios.

  • Configuração e monitoramento de redes.

  • Automação através de scripts Batch.

  • Recuperação de sistemas corrompidos.

  • Auditoria e segurança da informação.

  • Forense computacional e análise de incidentes.

Neste guia Bellacosa Mainframe você encontrará os 100 comandos mais importantes do CMD.EXE organizados por utilidade prática, com explicações detalhadas, origem histórica, sintaxe, exemplos de uso e aplicações reais no dia a dia profissional.


26. MD

Nome Completo

Make Directory

Origem

Introduzido nas primeiras versões do MS-DOS para permitir a criação de diretórios em sistemas de arquivos FAT.

Função

O comando MD cria novas pastas (diretórios) no sistema de arquivos. É um dos comandos mais utilizados para organizar dados, estruturar projetos e automatizar processos administrativos.

Sintaxe

md nome_da_pasta

Exemplos

Criar uma pasta simples:

md Backup

Criar múltiplas pastas:

md Fotos Documentos Videos

Criar estrutura completa:

md Empresa\Financeiro\2025

Passo a Passo

  1. Abrir o CMD.

  2. Navegar até o diretório desejado.

  3. Executar o comando MD.

  4. Confirmar a criação utilizando DIR.

Aplicações Profissionais

  • Organização de backups.

  • Implantação de sistemas.

  • Scripts de instalação.

  • Estruturação de projetos corporativos.


27. RD

Nome Completo

Remove Directory

Origem

MS-DOS.

Função

Remove diretórios vazios ou estruturas completas de diretórios.

Sintaxe

rd pasta

Exemplos

Remover pasta vazia:

rd Backup

Remover pasta com conteúdo:

rd /s Backup

Remover sem confirmação:

rd /s /q Backup

Atenção

O parâmetro /S remove todos os arquivos e subpastas. Utilize com cautela.

Aplicações

  • Limpeza automatizada.

  • Remoção de ambientes temporários.

  • Rotinas de manutenção.


28. COPY

Origem

Presente desde as primeiras versões do DOS.

Função

Copiar arquivos entre diretórios ou unidades.

Sintaxe

copy origem destino

Exemplos

Copiar um arquivo:

copy relatorio.txt D:\Backup

Criar cópia local:

copy teste.txt teste_bkp.txt

Vantagens

  • Simplicidade.

  • Velocidade.

  • Compatibilidade universal.

Aplicações

  • Backup manual.

  • Distribuição de arquivos.

  • Scripts automatizados.


29. XCOPY

Nome Completo

Extended Copy

Origem

Introduzido no MS-DOS 3.2.

Função

Versão avançada do comando COPY, permitindo copiar diretórios inteiros e estruturas complexas.

Sintaxe

xcopy origem destino

Exemplos

Copiar diretórios:

xcopy C:\Dados D:\Backup /s

Copiar diretórios vazios:

xcopy C:\Dados D:\Backup /e

Principais Parâmetros

/S = Copia subpastas.

/E = Copia inclusive pastas vazias.

/Y = Não solicita confirmação.

Aplicações

  • Migração de dados.

  • Backups locais.

  • Distribuição de software.


30. ROBOCOPY

Nome Completo

Robust File Copy

Origem

Microsoft Resource Kit.

Função

Ferramenta profissional para cópia, sincronização e replicação de arquivos.

Sintaxe

robocopy origem destino

Exemplo

robocopy C:\Dados D:\Backup /mir

Recursos Avançados

  • Multithreading.

  • Retentativas automáticas.

  • Espelhamento de diretórios.

  • Controle de permissões NTFS.

Aplicações

  • Data Centers.

  • Servidores Windows.

  • Migração corporativa.

Curiosidade

É considerado o sucessor moderno do XCOPY.


31. MOVE

Origem

MS-DOS.

Função

Move arquivos e diretórios sem necessidade de copiar e apagar manualmente.

Sintaxe

move origem destino

Exemplo

move relatorio.pdf D:\Arquivos

Aplicações

  • Organização documental.

  • Arquivamento automático.

  • Processamento de lotes.


32. DEL

Nome Completo

Delete

Origem

MS-DOS.

Função

Remove arquivos do sistema.

Sintaxe

del arquivo

Exemplos

Excluir arquivo:

del teste.txt

Excluir temporários:

del *.tmp

Cuidados

Arquivos removidos pelo DEL normalmente não vão para a Lixeira.


33. ERASE

Origem

MS-DOS.

Função

Comando equivalente ao DEL.

Sintaxe

erase arquivo

Exemplo

erase log_antigo.txt

Observação

Atualmente é mantido principalmente por compatibilidade histórica.


34. REN

Nome Completo

Rename

Função

Renomear arquivos e diretórios.

Sintaxe

ren antigo novo

Exemplo

ren vendas2024.xlsx vendas2025.xlsx

Aplicações

  • Padronização de nomes.

  • Organização de arquivos.

  • Automação documental.


35. ATTRIB

Origem

MS-DOS.

Função

Visualizar e alterar atributos de arquivos e pastas.

Sintaxe

attrib

Exemplo

Ocultar arquivo:

attrib +h segredo.txt

Remover atributo oculto:

attrib -h segredo.txt

Atributos

H = Hidden (Oculto)

R = Read Only (Somente leitura)

S = System (Sistema)

A = Archive (Arquivamento)

Aplicações

  • Segurança básica.

  • Administração de arquivos.

  • Automação.


36. TYPE

Função

Exibir rapidamente o conteúdo de arquivos texto diretamente no terminal.

Sintaxe

type arquivo.txt

Exemplo

type log.txt

Aplicações

  • Leitura de logs.

  • Configurações.

  • Arquivos batch.


37. MORE

Função

Permite visualizar textos extensos página por página.

Sintaxe

more arquivo.txt

Exemplo

type log.txt | more

Benefícios

Facilita leitura de arquivos muito grandes.


38. FIND

Função

Pesquisar palavras ou expressões específicas dentro de arquivos.

Sintaxe

find "erro" log.txt

Aplicações

  • Pesquisa em logs.

  • Diagnóstico.

  • Auditoria.


39. FINDSTR

Origem

Windows NT.

Função

Ferramenta avançada de pesquisa semelhante ao GREP do Linux.

Sintaxe

findstr texto arquivo

Exemplo

findstr /i erro *.log

Recursos

  • Expressões regulares.

  • Pesquisa múltipla.

  • Busca recursiva.

Aplicações

  • Segurança.

  • Auditoria.

  • Forense digital.


40. FC

Nome Completo

File Compare

Função

Comparar arquivos e identificar diferenças.

Sintaxe

fc arquivo1 arquivo2

Exemplo

fc original.txt backup.txt

Aplicações

  • Controle de versões.

  • Verificação de backups.

  • Auditorias.


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...