Translate

quinta-feira, 17 de janeiro de 2013

❄️💻 “ELA NÃO DEMONSTRA NADA… MAS VOCÊ SABE QUE ELA SENTIU” — O MISTÉRIO ABSOLUTO DAS KUUDERES NOS ANIMES ☕🧊

Bellacosa Mainframe e as kuuderes do anime


❄️💻 “ELA NÃO DEMONSTRA NADA… MAS VOCÊ SABE QUE ELA SENTIU” — O MISTÉRIO ABSOLUTO DAS KUUDERES NOS ANIMES ☕🧊

Existe um momento específico que todo veterano otaku reconhece instantaneamente.

A personagem está em silêncio.
O rosto quase não muda.
A voz permanece calma.
Os olhos parecem vazios.

Mas então…

Ela segura discretamente a manga do protagonista.
Desvia o olhar por meio segundo.
Ou simplesmente diz:

“...não vá.”

E pronto.
O impacto emocional explode mais forte do que cem cenas de romance exagerado.

Esse é o poder do arquétipo Kuudere.

O amor que não grita.
A emoção escondida sob camadas de gelo psicológico.
A personagem que parece fria… até você perceber que ela sente mais profundamente do que todos ao redor.


🧊 O que significa “Kuudere”?

A palavra vem da junção de:

  • “Kuu” (クー) → derivado de cool (“frio”, “calmo”, “controlado”)

  • “Dere” (デレ) → apaixonado, amoroso, carinhoso

Resultado:

Kuudere = alguém emocionalmente fria por fora, mas amorosa por dentro

Diferente do tsundere, a kuudere não explode.
Ela não grita.
Não bate.
Não faz escândalo emocional.

Ela reduz tudo ao mínimo.

É o arquétipo da:

  • contenção emocional,

  • racionalidade extrema,

  • silêncio,

  • observação,

  • elegância psicológica.


🧠 A origem cultural das kuuderes

O Japão possui uma relação cultural muito forte com:

  • autocontrole,

  • repressão emocional,

  • discrição social,

  • linguagem indireta.

Demonstrar emoção excessiva pode ser visto como perda de equilíbrio.

A kuudere nasce justamente dessa estética emocional japonesa:

o sentimento que existe… mas não é verbalizado.

Ela é quase uma representação animada do conceito japonês de:

  • honne (sentimento verdadeiro)

  • escondido sob o tatemae (máscara social).

Por isso as kuuderes raramente dizem:

“Eu te amo.”

Mas demonstram através de:

  • pequenos gestos,

  • proteção silenciosa,

  • presença constante,

  • lealdade absoluta.


❄️ A identidade visual da kuudere

Visualmente, a kuudere é construída para transmitir serenidade e distância emocional.

Características clássicas:

  • olhos frios ou semiexpressivos,

  • rosto neutro,

  • postura elegante,

  • voz baixa,

  • movimentos econômicos,

  • aparência limpa e minimalista.

Muitas vezes:

  • cabelos claros,

  • cortes retos,

  • visual futurista,

  • uniforme impecável,

  • cores frias (azul, branco, prata, cinza).

Ela parece:

  • uma IA,

  • uma boneca,

  • um anjo emocionalmente inacessível,

  • ou uma pessoa desconectada do mundo.

Mas isso é apenas a camada externa.


🩵 O coração da kuudere

A grande beleza da kuudere é que:

cada pequena demonstração emocional vale ouro.

Quando uma tsundere demonstra carinho, é esperado.

Quando uma kuudere demonstra carinho…
o universo inteiro para.

Porque você entende:

  • o quanto aquilo custou emocionalmente,

  • o quanto ela precisou se abrir,

  • o quanto aquele sentimento é genuíno.

A kuudere transforma:

  • microexpressões
    em

  • explosões emocionais.


⚙️ Psicologia do arquétipo

A kuudere normalmente representa:

  • trauma emocional,

  • medo de vulnerabilidade,

  • dificuldade social,

  • racionalização excessiva,

  • solidão silenciosa.

Ela frequentemente acredita que:

  • emoções atrapalham,

  • demonstrar sentimentos é perigoso,

  • apego gera sofrimento.

Por isso:
ela controla tudo.

Mas o amor desmonta lentamente esse sistema operacional emocional.

E é exatamente aí que o público se apaixona.


🤖 As kuuderes mais famosas dos animes


🧬 Rei Ayanami — Neon Genesis Evangelion

A entidade máxima das kuuderes.

Silenciosa.
Mecânica.
Quase alienígena emocionalmente.

Rei revolucionou os animes dos anos 90 criando o modelo moderno da:

garota emocionalmente inacessível.

Mas por trás do vazio:

  • existe dor,

  • identidade fragmentada,

  • busca por humanidade.

Ela não demonstra amor da forma convencional.

Ela demonstra presença.

E isso marcou gerações.


⚔️ Kanade Tachibana (Angel Beats!)

Conhecida como “Angel”.

Calma.
Precisa.
Minimalista.

Kanade parece uma máquina sem emoções…
até pequenos momentos revelarem:

  • ternura,

  • solidão,

  • desejo de conexão.

É uma kuudere construída sobre melancolia.


🔬 Kurisu Makise — Steins;Gate

Uma versão mais racional e científica da kuudere.

Kurisu é:

  • lógica,

  • inteligente,

  • sarcástica,

  • emocionalmente contida.

Mas conforme a narrativa evolui:
a máscara racional começa a quebrar.

Ela não é fria por ausência de sentimentos.
Ela é fria porque pensa demais.


⚡ Yukino Yukinoshita — Oregairu

Elegância glacial absoluta.

Yukino representa a kuudere socialmente isolada:

  • perfeccionista,

  • distante,

  • extremamente inteligente.

Seu problema não é falta de emoção.
É incapacidade de se conectar sem ferir ou ser ferida.

Uma das construções psicológicas mais sofisticadas do gênero.


🛰️ Nagato Yuki — The Melancholy of Haruhi Suzumiya

A kuudere cósmica definitiva.

Literalmente uma entidade alienígena vivendo como humana.

Fala pouco.
Move-se pouco.
Reage pouco.

Mas lentamente desenvolve:

  • curiosidade,

  • apego,

  • individualidade.

Nagato virou símbolo da estética kuudere nos anos 2000.


🧊 Por que o público ama kuuderes?

Porque elas recompensam atenção emocional.

A kuudere não entrega tudo imediatamente.

Você precisa:

  • observar,

  • interpretar,

  • perceber nuances,

  • ler silêncio,

  • entender subtexto.

Ela é o oposto da emoção explícita moderna.

Num mundo barulhento…
a kuudere fala baixo.

E justamente por isso o impacto é tão forte.


☕ Reflexão Bellacosa Mainframe

As kuuderes são fascinantes porque representam algo profundamente humano:

pessoas que sentem intensamente… mas não conseguem demonstrar.

Elas são:

  • firewalls emocionais,

  • sistemas fechados,

  • arquiteturas psicológicas minimalistas,

  • almas tentando funcionar sem vulnerabilidade.

Mas o amor sempre encontra uma brecha no sistema.

E quando uma kuudere finalmente sorri…

não é apenas romance.

É um colapso completo de anos de isolamento emocional.


💻 No fim…

Tsunderes explodem.
Yanderes enlouquecem.
Mas kuuderes…

congelam o coração do público em silêncio.

E talvez seja justamente isso que as torna inesquecíveis.


#BellacosaMainframe #Kuudere #AnimePsychology #Evangelion #ReiAyanami #SteinsGate #Oregairu #OtakuCulture #AnimeAnalysis


quarta-feira, 16 de janeiro de 2013

🐍 Python no z/OS Mainframe — Visão Completa

 

Bellacosa Mainframe apresenta Python no IBM Mainframe zos

🐍 Python no z/OS Mainframe — Visão Completa

🧠 O que é Python no z/OS?

É a capacidade de executar Python nativamente dentro do sistema operacional z/OS, normalmente no ambiente:

👉 USS — UNIX System Services

Ou seja:

🧱 z/OS continua sendo o mesmo mainframe robusto
🐧 Dentro dele existe um “submundo” POSIX/UNIX
🐍 Python roda nesse ambiente como em Linux

💡 Não é emulador, não é gambiarra — é suporte real e suportado.


🏛️ Um Pouco de História

  • z/OS sempre teve scripting (principalmente REXX)

  • Nos anos 2000, IBM iniciou abertura para tecnologias open source

  • UNIX System Services tornou-se estratégico

  • Python foi portado e depois oficialmente suportado

  • Hoje faz parte da estratégia Open Mainframe / Hybrid Cloud

💎 Curiosidade histórica:
REXX foi por décadas “o Python do mainframe”.


⚙️ Onde Python Executa

🐧 USS (UNIX System Services)

É um subsistema POSIX dentro do z/OS.

Características:

  • Sistema de arquivos zFS/HFS

  • Permissões estilo UNIX

  • Shell (sh, bash, etc.)

  • Processos e sinais

  • APIs POSIX

  • Execução de binários open source

👉 Python roda aqui exatamente como em Linux.


🖥️ Como Executar Python no z/OS

🔹 Interativo (USS Shell)

python3

ou

python3 script.py

🔹 Via JCL (Batch)

Usando BPXBATCH:

//STEP1 EXEC PGM=BPXBATCH,
// PARM='SH python3 /u/user/script.py'

💎 Isso integra Python ao mundo JES batch.


🔹 Com Parâmetros via STDPARM

Mais limpo para produção.


📁 Acesso a Dados Mainframe

Python pode trabalhar com:

🧾 1) Arquivos USS

Normais POSIX.

👉 Mais simples.


📦 2) Datasets MVS

Via:

  • ZOAU (IBM Z Open Automation Utilities)

  • APIs

  • Utilitários

  • Conversões

Tipos suportados:

  • PS (sequencial)

  • PDS/PDSE

  • GDG

  • VSAM (indiretamente)

💎 Lembre-se: datasets são orientados a registros, não a streams.


🧰 ZOAU — O Superpoder

🧱 IBM Z Open Automation Utilities

Biblioteca + comandos para automatizar z/OS.

Permite via Python:

🔥 Manipular datasets
🔥 Submeter jobs
🔥 Emitir comandos de operador
🔥 Trabalhar com load modules
🔥 Executar utilitários
🔥 Orquestrar workflows

👉 É o “canivete suíço” da automação moderna no mainframe.


🧾 Controle de Jobs (JES)

Python pode:

  • Submeter JCL

  • Monitorar execução

  • Ler spool

  • Detectar ABEND

  • Automatizar pipelines batch

💎 Basicamente virar um scheduler inteligente.


🖥️ Comandos de Operador

Scripts podem emitir comandos MVS:

  • D A,L

  • START/STOP

  • VARY

  • Consultas de sistema

⚠️ Exige autorização RACF.

👉 Python pode agir como um operador virtual.


🌉 Integração Híbrida

Um dos maiores motivos do Python no z/OS existir.

Conectar:

🏦 Sistemas legacy
🌐 APIs REST
☁️ Cloud
🐧 Linux on Z
📊 Analytics
🤖 AI

Exemplo clássico:

COBOL → Dataset → Python → JSON → Cloud → BI


🔐 Segurança

Nada “fura” o modelo z/OS.

Controle por:

  • RACF/SAF

  • Permissões USS

  • Perfis de dataset

  • Autorizações operacionais

💎 Python obedece às regras — não as substitui.


⚠️ Problemas Clássicos

🔤 EBCDIC vs ASCII

O choque cultural número 1.

z/OS tradicional → EBCDIC
Mundo moderno → UTF-8

👉 Conversão é frequentemente necessária.


📁 Dataset ≠ Arquivo

  • Registro fixo/variável

  • LRECL

  • RECFM

  • Blocos

Python precisa respeitar isso.


📦 Pacotes nem sempre portáveis

Nem tudo do PyPI funciona no z/OS.


⏳ Arquivos Temporários e Datasets Temporários

Podem ser criados para:

  • Processamento intermediário

  • Pipelines batch

  • Conversões

ZOAU fornece helpers como:

👉 tmp_name() — gera nome válido


🏭 Operacionalização

Scripts em produção devem:

  • Registrar logs

  • Tratar erros

  • Usar credenciais seguras

  • Ser agendáveis

  • Integrar com JCL

  • Retornar códigos de retorno adequados

👉 Mainframe = zero tolerância a improviso.


💎 Easter Eggs & Curiosidades

🥚 1) Python não substitui REXX — complementa

REXX continua imbatível para TSO e automação clássica.

Python domina integração moderna.


🥚 2) Muitos bancos usam Python no mainframe sem divulgar

Principalmente para:

  • DevOps

  • Monitoramento

  • Automação operacional

  • Integração com cloud


🥚 3) Você pode construir pipelines CI/CD inteiros no z/OS

Com:

  • Python

  • ZOAU

  • Zowe

  • Git

  • Jenkins/GitHub Actions


🥚 4) Python virou porta de entrada para novos talentos

Muito mais fácil ensinar Python do que JCL + REXX + ISPF do zero.


🥚 5) O mainframe virou “open” sem deixar de ser “enterprise”

Esse é o grande truque da IBM Z moderna.


🏆 Quando Usar Python no z/OS

Use Python para:

✅ Automação operacional
✅ Integração com sistemas externos
✅ Orquestração de jobs
✅ Manipulação de dados
✅ DevOps
✅ Monitoramento
✅ Scripts complexos


❌ Quando NÃO Usar

Evite para:

❌ Núcleo de aplicações transacionais críticas
❌ Código ultra-performático
❌ Funções de kernel ou baixo nível
❌ Substituir COBOL em produção massiva


⚡ Resumo Final

👉 Python no z/OS é a ponte entre dois mundos:

🧠 Confiabilidade de 60 anos
🌐 Ecossistema moderno

Não substitui o mainframe — expande o que ele pode fazer.


terça-feira, 15 de janeiro de 2013

😈 Top 10 mentiras que contam sobre sistemas distribuídos

 


😈 Top 10 mentiras que contam sobre sistemas distribuídos

Conhecimento básico sobre aplicações distribuídas para quem já viu produção cair “sem motivo”


☕ 01:12 — Quando tudo “funcionava no ambiente”

Se você já ouviu:

“Distribuído escala sozinho, é resiliente e se resolve”

…parabéns. Você foi apresentado às mentiras fundacionais dos sistemas distribuídos.

Este artigo não é pessimista.
É experiente.


1️⃣ “Distribuído é mais confiável” 🧨

Mentira.
Distribuído falha de mais formas.

No mainframe:

  • Falha é binária

No distribuído:

  • Falha parcial

  • Falha lenta

  • Falha intermitente

  • Falha invisível

📌 Comentário Bellacosa:
Mais nós = mais maneiras de quebrar.


2️⃣ “Se cair, o retry resolve” 🔁

Mentira perigosa.

Retry sem:

  • Idempotência

  • Limite

  • Backoff

= duplicação + avalanche.

😈 Easter egg traumático:
Retry mal feito é GO TO recursivo com autoestima.


3️⃣ “Stateless simplifica tudo” 📦

Mentira elegante.

O estado:

  • Não desapareceu

  • Só foi escondido

📌 Tradução mainframês:
Estado sem dono vira problema de todos.


4️⃣ “Event-driven desacopla completamente” 📣

Mentira conceitual.

Eventos:

  • Criam acoplamento temporal

  • Exigem contrato

  • Precisam de versionamento

🔥 Comentário ácido:
MQ não é desculpa para ignorar consistência.


5️⃣ “Microservices facilitam manutenção” 🧩

Mentira organizacional.

Eles facilitam:

  • Deploy independente

Mas complicam:

  • Debug

  • Observabilidade

  • Governança

😈 Easter egg:
Microservices sem observabilidade = terror distribuído.


6️⃣ “Alta disponibilidade vem da cloud” ☁️

Mentira de marketing.

Alta disponibilidade vem de:

  • Arquitetura

  • Disciplina

  • Teste

  • Orçamento

📌 Mainframe feelings:
HA sempre foi requisito, não feature premium.


7️⃣ “Monitorar logs é suficiente” 📜

Mentira operacional.

Logs sem:

  • Contexto

  • Correlação

  • Métrica

são romance técnico.

😈 Comentário Bellacosa:
Quem já leu SMF sabe: log sozinho mente.


8️⃣ “Deploy contínuo reduz risco” 🚀

Mentira condicional.

Reduz risco se:

  • Houver rollback

  • Métricas pós-deploy

  • Feature flags

Sem isso:
= erro contínuo.

📌 Regra imortal:
Quem não sabe voltar, não deveria ir.


9️⃣ “Falha é exceção” 👻

Mentira infantil.

Em sistemas distribuídos:

  • Falha é estado normal

  • Sucesso é transitório

🔥 Comentário realista:
Projetar para sucesso é fácil.
Projetar para falha paga salário.


🔟 “Distribuído elimina o mainframe” ⚰️

A maior mentira de todas.

O que aconteceu foi:

  • O mundo ficou distribuído

  • O mainframe continuou crítico

  • Alguém precisou integrar tudo

😈 Easter egg final:
Cloud herdou os problemas do mainframe — sem a maturidade.


🧭 Passo a passo para não cair nessas mentiras

1️⃣ Desconfie de absolutos
2️⃣ Pergunte “e se falhar?”
3️⃣ Exija observabilidade
4️⃣ Pense em rollback
5️⃣ Trate estado como ativo crítico
6️⃣ Documente decisões
7️⃣ Proteja produção


📚 Guia de estudo honesto 📖

Conceitos

  • CAP Theorem

  • Resiliência

  • Observabilidade

  • Event-driven

  • SRE

Leitura obrigatória

  • Post-mortems reais

  • Casos de outage

  • Relatórios de falhas

📌 Dica Bellacosa:
Leia mais incidentes do que tutoriais.


🎯 Aplicações práticas no mundo real

  • Core bancário híbrido

  • Sistemas regulados

  • Plataformas críticas

  • Times de arquitetura

  • Governança técnica


🖤 Epílogo — 02:59, ninguém sabe por que caiu

Distribuído não é ruim.
É honesto com quem aceita complexidade.

El Jefe Midnight Lunch encerra:
“Quando alguém diz que distribuído é simples, prepare o café e esconda a produção.”

segunda-feira, 14 de janeiro de 2013

Japão: um Sistema Milenar em Produção Contínua

 


Japão: um Sistema Milenar em Produção Contínua

(Uma leitura Bellacosa Mainframe da linha do tempo japonesa)

Essa imagem não é apenas uma timeline. É o diagrama de arquitetura de um dos sistemas culturais mais resilientes da história. O Japão nunca desligou. Reiniciou, sim — várias vezes — mas sempre preservando memória.


🌾 Japão Antigo – Boot Inicial (até 710 d.C.)

Aqui o sistema carrega os módulos básicos: arroz, xintoísmo e escrita. A introdução do arroz não foi só agrícola; foi administrativa. Arroz virou imposto, poder e controle social. Já o xintoísmo, com seus kami, criou uma espiritualidade descentralizada — nada de dogma pesado, tudo integrado à natureza.

📌 Easter egg: os primeiros santuários xintoístas não tinham prédios. O “templo” era a árvore, a pedra, o rio.


📜 Japão Clássico – Documentação Oficial (710–1185)

Com o Kojiki, o Japão escreve sua própria “documentação do sistema”. Mistura mito com história sem pedir desculpa. Aqui o país importa conhecimento da China: escrita, budismo, burocracia.

🗣️ Fofoquice histórica: a elite japonesa copiava a China… mas adaptava tudo. Nada era clone puro.


⚔️ Japão Feudal – Controle por Guerreiros (1185–1603)

Samurais assumem o console. Honra, espada e hierarquia rígida. O poder sai do imperador simbólico e vai para o shogun — clássico caso de quem manda não aparece no organograma.

📌 Curiosidade: o bushidō foi romantizado depois. Na prática, samurai também fazia intriga, traição e política pesada.


🚪 Período Edo – Sistema Isolado (1603–1868)

O Japão entra em Sakoku: firewall total. Nada de estrangeiros, nada de saída. Estabilidade absurda por 250 anos.

🧨 Easter egg: enquanto o país “parava”, surgiam kabuki, haicais, ukiyo-e. Cultura floresce quando o sistema não vive em guerra.


🚢 Era Meiji – Upgrade Forçado (1868–1912)

Os EUA chegam como patch não solicitado. O Japão olha, avalia e faz algo raro: aprende rápido. Industrialização acelerada, exército moderno, fim dos samurais.

🗣️ Fofoquice: foi aqui que o Japão decidiu “vamos copiar o Ocidente… mas melhor”.


💣 Taishō–Shōwa – Erros Críticos (1912–1945)

Imperialismo, guerras, Pearl Harbor. O sistema entra em modo agressivo… e paga caro. Hiroshima e Nagasaki são o maior crash da história japonesa.

📌 Curiosidade: mesmo derrotado, o Japão não perde identidade. Isso é raríssimo.


🚄 Pós-Guerra – Sistema Reconstruído (1945–1989)

Sem exército, com tecnologia. O Japão vira potência industrial, cria o Shinkansen, eletrônicos, carros, anime, manga.

🗣️ Easter egg: Godzilla nasce aqui — metáfora direta do trauma nuclear.


🌊 Japão Moderno – Resiliência Ativa (1990–presente)

Terremotos, tsunamis, crises… e o sistema continua. Cultura pop global, tradição local intacta.

📌 Curiosidade final: poucos países conseguem ser antigos e futuristas ao mesmo tempo.


☕ Conclusão Bellacosa Mainframe

O Japão é prova viva de que sistemas não sobrevivem por força, mas por adaptação. Ele cai, reinicia, aprende e continua.

E como todo bom sistema legado…
ninguém entende completamente —
mas todo mundo depende.


domingo, 13 de janeiro de 2013

Mais uma mudança em Taubaté



Mais uma mudança em Taubaté

O CECAP foi um bairro especial. Daqueles locais magicos que ficam na memoria, nos lembrando deste e daquele momento, daqueles famosos e se.


Daqueles que entram em produção e ficam marcados no histórico do sistema para sempre. Foi um ambiente divertido, cheio de rotas alternativas, backdoors naturais e mapas secretos que só a molecada conhecia. Percorremos campos de arroz como se fossem territórios proibidos, atravessamos riachos e lagoas, exploramos trilhas que levavam ao Tataúba e ao Pinheirinho, sempre com aquele sentimento de aventura que hoje não cabe mais no mundo asfaltado.

Tinha a cooperativa da Volkswagen, as idas até Caçapava, as olarias, a barulhenta máquina de descascar arroz cuspindo grãos como se fosse um batch job sem JCL otimizado. Tinha os caquis furtados com técnica ninja, as jabuticabas roubadas em grupo, as iças coletadas em operação coordenada e, acima de tudo, os bons amigos. Companheiros de jornada, de ralada, de riso e de cascudo.



Mas sistemas instáveis sempre geram mudanças inesperadas.

Seu Wilson, inquieto, inconstante, aquele operador que nunca deixa o ambiente estabilizar, arrumou mais uma casa. E lá fomos nós novamente. Shutdown controlado? Nada. Foi power off mesmo.

Estamos agora em 1985.
Novo endereço: Jardim Garcez, no Parque Sabará, ainda em Taubaté, mas do outro lado do mapa. Outro extremo da cidade. Próximo de Tremembé, colado em fazendas, perto do Rio Paraíba do Sul. Um cenário completamente diferente, quase outro datacenter.

Nova casa.
Nova escola.
Novos colegas.

Aquela sensação clássica de quem acabou de dar IPL num sistema desconhecido: tudo parece estranho, os nomes não fazem sentido, os comandos ainda não funcionam direito. A gente observa, testa, mede, erra, aprende. É assim que sempre foi.

O CECAP ficou para trás, arquivado na memória como um dataset histórico, daqueles que você não apaga nunca, mesmo sabendo que não volta mais a usá-lo. As aventuras continuam, mas agora em outro ambiente, com outras regras, outros perigos, outros aliados.

E eu sigo, pequeno operador da própria vida, carregando experiências de um bairro que me ensinou a explorar, a dividir, a sobreviver e a rir. Agora é esperar os próximos eventos, porque se tem uma coisa que aprendi cedo é que, na minha história, a estabilidade nunca dura muito.

Vamos ver o que acontece.

sábado, 12 de janeiro de 2013

🧪 Plano de Tuning Batch COBOL – IBM Mainframe

 


🧪 Plano de Tuning Batch

COBOL – IBM Mainframe

“Batch lento não é destino, é diagnóstico.”


🟥 FASE 0 — PRINCÍPIO SAGRADO

Nunca tune sem medir
Nunca mude tudo de uma vez
Nunca confie só em elapsed time


🟦 FASE 1 — IDENTIFICAÇÃO DO PROBLEMA

🎯 Objetivo

Descobrir ONDE o batch gasta tempo:

  • CPU?

  • I/O?

  • Espera?

  • Lock?

  • Storage?

📌 Ações

☑ Identificar JOB / STEP problemático
☑ Horário de execução
☑ Pico ou fora do pico

🔧 Ferramentas

  • SMF 30 (Job)

  • SMF 72 (CPU)

  • OMEGAMON

  • RMF

  • SDSF (CPU TIME)

💬 Fofoquinha:

Batch “lento” às vezes só roda no horário errado.


🟨 FASE 2 — CPU vs ELAPSED (o divisor de águas)

SituaçãoDiagnóstico
CPU alto / Elapsed baixoCódigo ruim
CPU baixo / Elapsed altoI/O, lock, espera
Ambos altosTudo errado

☑ Compare:

  • CPU TIME

  • EXCP

  • SRB vs TCB


🟩 FASE 3 — ANÁLISE DE CPU (quando a conta dói)

🧠 Verificar compilação COBOL

☑ Parâmetros:

OPTIMIZE(2) TRUNC(BIN) ARITH(EXTEND) DATA(31) RULES

☑ Evitar:

  • NUMCHECK em produção sem necessidade

  • SSRANGE

  • INITCHECK

📉 Ganho típico: 5% a 30%


🟪 FASE 4 — CÓDIGO COBOL (o crime mais comum)

🔪 Pontos clássicos de CPU alta

☑ DISPLAY em loop
☑ MOVE repetido
☑ IF aninhado
☑ PERFORM THRU
☑ Conversão implícita de tipos

💡 Melhoria

  • Código linear

  • Parágrafos curtos

  • Cálculo com COMP/COMP-5

🥚 Easter egg:

Um DISPLAY por registro já custou mais que licença de compilador.


🟧 FASE 5 — I/O (onde o tempo some)

📊 Analisar

  • EXCP alto

  • WAIT I/O

  • VSAM CI/CA mal dimensionado

☑ Ajustes

  • Buffers maiores

  • Redução de leitura repetida

  • SORT externo em vez de interno

📉 Ganho típico: 10% a 50% de elapsed


🟫 FASE 6 — SORT (o vilão invisível)

☑ Verificar:

  • SORT interno vs DFSORT

  • Quantidade de registros

  • Campos de chave

💣 Erro comum:

SORT interno com milhões de registros sem tuning.

☑ Preferir:

EXEC PGM=SORT

🟥 FASE 7 — JCL (ninguém olha, mas paga)

☑ Revisar:

  • REGION exagerado

  • STEPLIB duplicado

  • Programas obsoletos rodando

☑ Ajustar:

  • DISP correto

  • CONCATENATION mínima

  • DD redundante removido


🟦 FASE 8 — PARALELISMO E JANELA

☑ Avaliar:

  • Jobs sequenciais sem dependência

  • Execução fora do pico

  • Divisão por partição lógica

💬 Fofoquinha:

Batch mais rápido é o que não disputa CPU.


🟩 FASE 9 — zIIP / LE (dinheiro dormindo)

☑ Verificar:

  • LE habilitado

  • Versão do COBOL

  • Ambiente preparado

📉 Offload possível:

  • XML

  • JSON

  • Serviços

  • Partes do LE


🟪 FASE 10 — MEDIR NOVAMENTE (o momento da verdade)

☑ Comparar:

  • CPU antes/depois

  • Elapsed antes/depois

  • EXCP antes/depois

  • SMF

☑ Documentar:

  • Mudança aplicada

  • Ganho real

  • Risco


☠️ ERROS QUE ARRUÍNAM O TUNING

ErroConsequência
Mudar tudo de uma vezIncidente
Não medir SMFIlusão
Otimizar DEV sóNenhum ganho real
Ignorar I/OElapsed explode
Culpar o mainframeVergonha técnica


🎓 RESUMO PADAWAN

✔ Batch lento tem causa
✔ CPU não mente
✔ Código importa
✔ I/O mata
✔ JCL conta
✔ zIIP salva


🧠 FRASE FINAL BELLACOSA™

“Tuning não é mágica.
É respeito à máquina.”

sexta-feira, 11 de janeiro de 2013

O PODER DE UMA PINTURA

 


O PODER DE UMA PINTURA
Crônica ao estilo Bellacosa Mainframe
Para o El Jefe Midnight Lunch


Existem casas que não são casas.
São repositórios de memória, versões ancestrais do nosso data lake afetivo.
E a casa dos seus bisavós Paco e Isabel — o Francisco e a eterna vó Bel — era exatamente isso:
um sistema vivo, cheio de charme, cheiro, sons e pequenos tesouros espalhados como easter eggs para qualquer criança curiosa.

Mas havia ali um elemento que ultrapassava o simples conceito de “decoração”.
Uma peça que fazia load direto na alma de todo bisneto que passava pelo corredor.

Uma pintura.
Um mural.

E não qualquer mural.




O Banco de Ônibus e o Laboratório do Pequeno Doutor

Antes de chegar ao mural, era preciso atravessar cenários icônicos do universo Bellacosa.

Na área, um velho banco de ônibus — presente do seu pai aos bisavós — havia sido promovido do transporte coletivo ao trono afetivo.

Era nele que as crianças sentavam para conversar, brincar, imaginar, disputar espaço…
Uma espécie de console central da infantaria da família.

Seguindo um corredor lateral, que saia do lado de uma mureta daquelas com piso cerâmico e coluninhas, ao lado um portão de ferro que guiava até o fundo do quintal onde ficava o quartinho externo, cheio de ferramentas, sucatas, parafusos e relíquias mecânicas.
Ali nascia o Pequeno Doutor Vagner, cientista-mirim, desmontador compulsivo, capaz de abrir um rádio com a mesma determinação de um engenheiro do CICS tentando entender um ABEND 0C7.

Havia ainda o canteiro da horta, guardado pelo lendário jaboti, um Highlander, sobrevivente de guerras, gerações e intempéries — provavelmente imortal, silencioso e sábio como as máquinas Z da IBM.

E, claro, a garagem na frente da casa coberta: o playground oficial de dias de chuva, onde as aventuras ganhavam eco, velocidade e imaginação.

Mas nada — absolutamente nada — se comparava ao que havia na varanda.




A PINTURA QUE ABRIA PORTAIS

Na parede, pintado por um amigo da família, havia um mural que poderia, tranquilamente, ter sido catalogado pela UNESCO como Patrimônio Imaterial da Infância Brasileira.

Um pôr do sol magnífico.
Quase dourado, quase mágico.
Aquela luz que não existe mais, que só os anos 70 sabiam produzir.

E nele, caminhando para a esquerda, um surfista.
Magro, forte, despreocupado.
Segurando uma prancha enorme.
Rumo ao infinito.

As crianças da família paravam diante daquela pintura como quem para diante de uma tela de login de um universo paralelo ou mesmo sentadas no banco de ônibus, olhavam para ela.

Ali, cada bisneto se imaginava o surfista:

  • correndo pela areia;

  • enfrentando ondas gigantes;

  • vivendo aventuras tropicais totalmente incompatíveis com a vida urbana da Mooca ou de Taubaté.

O mural era mais do que tinta.
Era um motor gráfico da imaginação.
Um gateway afetivo que alimentava sonhos, coragem e fantasia.

Era ali que o futuro adulto começava a ser desenhado — sem que ninguém percebesse.




Os Quitutes, os Vidrinhos e o Arroz com Ovo

E enquanto a arte nos transportava, a casa nos ancorava.

Tia Maria servia bolinhos de chuva tão divinos que mereciam IPL especial só pra carregar o cheiro.
Os vidrinhos vazios de remédio viravam frascos de laboratório dos pequenos cientistas.
E o arroz com ovo frito mole — aquele clássico absoluto — possuía algum tipo de opcode sagrado que registrava memória afetiva até o fim da vida.

Sem falar nos iogurtes caseiros, aqueles feitos com bacilos vivos, guardados em potes reciclados da geladeira, cuidadosamente produzidos como se fossem uma batch job culinária passada de geração a geração.

Era amor.
Simples.
Caseiro.
Imenso.
Do tipo que dura décadas, como as máquinas Z, como as histórias bem contadas, como os avós que moldam nosso código-fonte sem dizer uma palavra.


O Poder de uma Pintura

Hoje, olhando para trás, fica claro:

Aquele mural não era só um mural.
Era um servidor emocional.

Cada criança que parava ali fazia um login diferente:
um queria ser surfista, outro guerreiro, outro aventureiro.
Mas todos, absolutamente todos, saíam da varanda com o coração mais leve.

Porque o poder da arte é esse:
ela cria mundos dentro da gente.
E quando isso acontece na casa de avós amorosos, acompanhada de café, cheiro de chuva e iogurte caseiro…
o mundo inteiro fica melhor.

Aquela pintura não era apenas tinta na parede.
Era um lembrete silencioso de que a infância foi boa,
foi rica,
foi cheia de brilho,
de sonhos
e de amor.

E esse tipo de lembrança — ah, meu amigo —
é do tipo que nem o tempo, nem a vida, nem os tombos…
conseguem apagar.