quarta-feira, 1 de julho de 2009

🛡️ SMP/E e Segurança: Quando manutenção vira proteção (ou vulnerabilidade)

 

Bellacosa Mainframe apresenta IBM SMP/E

🛡️ SMP/E e Segurança

Quando manutenção vira proteção (ou vulnerabilidade)

“No mainframe, segurança não começa no RACF.
Começa no SMP/E.”


🧠 Por que SMP/E é parte da segurança?

SMP/E controla o que entra no sistema operacional.

Quem controla:

  • Código

  • Versões

  • Dependências

  • Histórico

…controla superfície de ataque.

👉 Um PTF não aplicado é uma brecha.
👉 Um PTF mal aplicado é um risco maior ainda.


🔓 O maior mito

“Segurança é só RACF, ACF2 ou TopSecret.”

✅ Verdade:

  • RACF protege acesso

  • SMP/E protege integridade do código

📌 Sem SMP/E bem gerenciado:

  • Módulos vulneráveis continuam rodando

  • Correções críticas não entram

  • Auditoria reprova


🚨 PTF de segurança: prioridade máxima

A IBM libera PTFs que:

  • Corrigem falhas exploráveis

  • Atendem compliance (PCI, SOX, LGPD)

  • Eliminam vetores de ataque

Esses PTFs geralmente vêm com:

  • ++HOLD(SECURITY)

  • Texto explicativo detalhado

👉 Não aplicar é decisão de risco.


🔍 ++HOLD(SECURITY): leia com atenção

O que significa?

++HOLD(SECURITY)

Indica:

  • Impacto direto em segurança

  • Mudança de comportamento

  • Possível quebra de compatibilidade

📌 Normalmente envolve:

  • Autorização

  • Criptografia

  • Controle de acesso

  • SMF / auditoria


Dica Bellacosa

Ignore um HOLD de segurança e o auditor vai encontrar.


🔥 ++ERROR e segurança

Um ++ERROR em PTF de segurança é crítico:

  • Pode corrigir parcialmente a falha

  • Pode introduzir outro risco

  • Pode exigir mitigação adicional

👉 Decisão nunca é automática.

📌 Boas ações:

  • Ler APAR

  • Avaliar CVE

  • Consultar IBM

  • Planejar superseding PTF


🔐 Controle de acesso ao SMP/E

Quem deve ter acesso?

  • System Programmers

  • Pouquíssimas pessoas

  • Com segregação clara

📌 Proteger:

  • CSI datasets

  • SMP/E libraries

  • JCL de manutenção


Boas práticas de RACF

  • UACC=NONE

  • Acesso mínimo necessário

  • LOG de alterações

  • Perfis específicos para SMP/E

👉 Quem mexe no SMP/E mexe no sistema inteiro.


🧾 Auditoria e compliance

Auditores adoram perguntar:

  • Quais PTFs estão aplicados?

  • Quando?

  • Por quem?

  • Por quê?

👉 SMP/E responde tudo isso.

📌 CSI é prova documental.


🧪 APPLY CHECK como ferramenta de segurança

APPLY CHECK ajuda a:

  • Identificar impacto

  • Prever conflitos

  • Avaliar risco antes da mudança

💡 Dica Bellacosa:

“APPLY CHECK é auditoria preventiva.”


🔄 Manutenção atrasada = risco ativo

  • PTF antigo = CVE ativo

  • Função obsoleta = ataque conhecido

  • Versão desatualizada = não conformidade

👉 Segurança também é disciplina de manutenção.


🧠 Caso real (estilo Bellacosa)

Falha crítica corrigida por PTF
PTF não aplicado por medo de IPL
Exploração acontece
Auditor pergunta: “Por quê?”

📌 Resposta errada:

“Porque sempre funcionou assim.”


🎓 Como aprender SMP/E focado em segurança

  • Ler PTFs de segurança

  • Analisar HOLDS

  • Estudar CVEs

  • Participar de workshops

  • Integrar SMP/E com gestão de risco


🧠 Curiosidades Bellacosa

  • SMP/E já fazia secure supply chain antes do termo existir

  • Código assinado é inútil se não for aplicado

  • Auditor confia mais no CSI do que em planilha


🧾 Comentário final – SMP/E e Segurança

Segurança não é só impedir acesso.
É garantir que o código certo esteja rodando.

E isso…
👉 é trabalho do SMP/E.

🛡️💾🔥


quarta-feira, 3 de junho de 2009

🥩 Em Anime, qual é o “corte bovino” que sempre aparece?

 

Bellacosa Mainframe apresenta o churrasco no anime

🥩 Em Anime, qual é o “corte bovino” que sempre aparece?

(ou: quando a marmorização vira efeito especial)

ao estilo Bellacosa Mainframe

Se você já assistiu anime suficiente, sabe do que estou falando.
A cena é clássica:

  • A carne chega

  • A câmera faz close

  • Ela brilha ✨

  • Alguém engole seco

  • Outro personagem diz: “Isso é caro…”

E você pensa:

“Que corte bovino é esse que só aparece em anime?!”

Vamos decodificar esse dataset carnívoro.


🐂 Spoiler rápido: não é UM corte só

Em anime, o que aparece não é exatamente um corte, mas uma combinação de três conceitos:

  1. Tipo de boi

  2. Corte específico

  3. Contexto cultural

👉 Anime trabalha com atalhos visuais.
Assim como um dump indica desastre, marmorização extrema indica luxo.


⭐ WAGYU (和牛) – o “hardware premium”

Se a carne:

  • Parece derreter

  • Tem gordura desenhada como mapa astral

  • Brilha mais que opening shōnen

👉 É Wagyu.

📌 Importante (Easter egg nº 1):
Wagyu não é corte, é o tipo do boi.

Nos animes, Wagyu simboliza:

  • Recompensa

  • Status

  • Cena especial

  • “Hoje a conta é minha”

🎌 Animes onde aparece (direto ou indireto):

  • Shokugeki no Soma

  • Yuru Camp

  • Oishinbo

  • Silver Spoon


🔥 KARUBI (カルビ) – o rei do yakiniku

Cena de:

  • Amigos

  • Churrasco japonês

  • Grelha pequena

  • Carne fatiada

👉 Karubi.

O que é:

  • Costela / short rib

  • Gordurosa

  • Cortada fina

  • Assa em segundos

💡 Karubi é o batch job confiável:

  • Sempre aparece

  • Nunca falha

  • Todo mundo gosta


🍖 RIBURO-SU (リブロース) – o ribeye japonês

Quando o anime quer mostrar:

  • Carne “séria”

  • Corte espesso

  • Cozinheiro respeitado

👉 Riburo-su (ribeye).

📌 Marmorização bonita, mas sem exagero visual de Wagyu A5.


👅 GYŪTAN (牛タン) – a língua “de especialista”

Aparece quando:

  • O personagem manja muito

  • A cena é urbana

  • O restaurante é tradicional

Gyūtan é:

  • Técnica

  • Regional (Sendai)

  • Para quem entende

👉 Tipo aquele utilitário que só veterano sabe usar.


🥚 Easter eggs que passam batido

🥚 Quanto mais brilho, menos realista.
🥚 Gordura em anime é status social, não defeito.
🥚 Personagem pobre comendo Wagyu = episódio emocional garantido.
🥚 Anime raramente fala o nome do corte — a imagem resolve.


☕ Tradução para Mainframers

  • Wagyu = hardware topo de linha

  • Karubi = sistema confiável

  • Ribeye = performance equilibrada

  • Gyūtan = feature para iniciados

Anime não quer te ensinar açougue.
Quer te ensinar emoção via comida.


🧠 Comentário Bellacosa Mainframe

Assim como no data center:

  • Você não usa o equipamento mais caro todo dia

  • Mas quando usa… marca o momento

A carne em anime não é só carne.
É narrativa, afeto, recompensa e cultura.

E se depois disso você ficou com fome…
👉 missão cumprida.


JOB FINALIZADO
RC=0
SYSOUT: “Abrir aplicativo de delivery imediatamente.” 🍖🔥

terça-feira, 2 de junho de 2009

📂 FILE MANAGER BASE (FMB) – IBM

 

Bellacosa Mainframe apresenta o IBM Mainframe ISPF File Manager

📂 FILE MANAGER BASE (FMB) – IBM

ao estilo Bellacosa Mainframe

Quem vive o dia a dia do mainframe sabe: entender layout de arquivo não é detalhe, é sobrevivência. E quando a pergunta clássica aparece — “em que posição começa e termina esse campo?” — eu não penso duas vezes: FMB – File Manager Base, da IBM.

Inserido de forma elegante no menu do TSO/ISPF, o FMB é aquele utilitário que não faz barulho, não aparece em buzzwords modernas, mas resolve problemas reais há décadas.


IBM Mainframe menu ISPFfm



🧠 Para que eu uso o FMB no dia a dia

Sempre que preciso consultar o layout de um arquivo sequencial, VSAM ou até datasets mais “exóticos”, recorro ao caminho:

FMB → Utilities → Copybook

Essa opção é ouro.

Ela apresenta, de forma clara e objetiva:

  • Nome dos campos

  • Tipo/formato (CHAR, PACKED, BINARY, etc.)

  • Tamanho do campo

  • Posição inicial

  • Posição final

Ou seja: exatamente o que você precisa quando está conferindo um arquivo gerado por batch, validando uma carga, depurando um problema de produção ou simplesmente desconfiando que “isso aqui não bate”.

📌 Para quem já sofreu lendo copybook manualmente, contando coluna por coluna no papel (ou no Notepad 😅), isso é quase terapêutico.


IBM Mainframe z/OS File Manager 
🗂️ Valor prático real (não é marketing)

O FMB facilita muito:

  • Conferência de conteúdo de arquivos sequenciais

  • Validação de layouts em processos batch

  • Análise rápida sem precisar abrir compilador ou rodar job

  • Redução de erro humano (adeus contagem manual de colunas)

É um utilitário que economiza tempo, evita erro e aumenta confiança.


IBM Mainframe z/os ISPF File Manager Utilities13

🕰️ Data de origem (contexto histórico)

  • 📅 Origem teórica: início dos anos 1990

  • 🏢 Desenvolvido pela IBM como parte do conjunto de ferramentas de produtividade para MVS/TSO

  • Evoluiu junto com:

    • ISPF

    • Ambientes z/OS

    • Necessidade crescente de análise de dados em produção

Ele nasce numa época em que:

“visualizar dados com contexto” era uma dor real e frequente.


IBM Mainframe print layout copy book

🚀 Data de lançamento (referência)

  • 📆 Primeiras versões comerciais: por volta de 1992–1993

  • Integrado posteriormente ao IBM File Manager for z/OS

  • O File Manager Base (FMB) funciona como o “coração” da solução


💡 Dicas de uso (estilo Bellacosa)

  • 🔎 Use o Copybook Viewer antes de qualquer alteração em programa batch

  • 🧪 Compare layout esperado × arquivo real antes de acusar “erro no sistema”

  • 📐 Confirme campos PACKED e BINARY — muitos problemas estão ali

  • 🧘‍♂️ Em produção crítica, olhar o arquivo primeiro salva deploys desnecessários


🥚 Curiosidades & Easter Eggs

  • O FMB mostra posições 1-based, como o COBOL — nada de index zero confuso

  • Ele respeita o copybook original, inclusive REDEFINES

  • Dá para encontrar erros de layout sem executar uma linha de código

  • Muitos profissionais usam há anos e não sabem metade do que ele oferece


🤫 Fofoquices de mainframe

  • Tem muita equipe que tem o FMB instalado e não usa

  • Já vi debug de horas ser resolvido em 5 minutos de FMB

  • Em várias empresas, só “os mais antigos” sabem navegar bem nele

  • É comum ouvir: “ah, isso aí é coisa de velho” — até o dia que salva a madrugada 😄


📌 Exemplo prático

Imagine um arquivo de 300 bytes com um campo VALOR-TOTAL:

  • Esperado: posição 121 a 135 (PACKED)

  • No FMB: aparece como 121–134
    👉 Pronto, achou o erro de 1 byte que estava quebrando tudo.

Sem FMB? Boa sorte contando na unha.


💬 Comentário final (bem Bellacosa)

O File Manager Base não é moderno, não é “cloud native”, não aparece em slide bonito.
Mas é eficiente, confiável e maduro, exatamente como o mainframe gosta de ser.

Ferramenta simples, silenciosa e extremamente poderosa.
Para mim, um utilitário de altíssimo valor.

Quem conhece, usa.
Quem usa, confia.
Quem confia… dorme melhor depois do batch. 😎

SMP/E: Laboratório SMP/E: Workshop prático passo a passo - Parte 5

 

Bellacosa Mainframe apresemta IBM SMP/E

📘 Série SMP/E para Iniciantes

Parte 5 – Laboratório SMP/E: Workshop prático passo a passo

“SMP/E só vira conhecimento quando o JCL roda e você entende o RC.”


🎯 Objetivo do Laboratório

Simular um cenário real de manutenção z/OS, cobrindo:

  • RECEIVE de um PTF

  • APPLY CHECK

  • APPLY real

  • ACCEPT

  • Análise de HOLD e ERROR

  • Dicas de troubleshooting

📌 Cenário típico de produção.


🧪 Pré-requisitos do ambiente

Antes de começar, verifique:

  • CSI configurado e acessível

  • GLOBAL / TARGET / DLIB definidos

  • FMID já instalado (FUNCTION)

  • PTF disponível (Shopz / dataset)

💡 Dica Bellacosa:

“Se o FMID não existe, nada anda.”


📦 Cenário do exercício

  • Produto: JES2

  • FMID: HJES770

  • PTF fictício: UJ12345

  • Ambiente: TESTE (nunca produção)


🧩 Passo 1 – RECEIVE do PTF

JCL (exemplo didático)

SET BDY(GLOBAL). RECEIVE SYSMODS.

O que validar no output:

  • RC=0

  • SYSMOD registrado no CSI

  • Nenhuma mensagem de erro

📌 Se falhar aqui, pare.


🧪 Passo 2 – APPLY CHECK (obrigatório)

SET BDY(TARGET). APPLY CHECK.

Resultado esperado:

  • Lista de pré-requisitos

  • Verificação de ++VER

  • HOLD identificado:

++HOLD(SYSTEM) REQUIRES IPL

💡 Dica Bellacosa:

“CHECK é ensaio geral. Quem ignora paga ingresso caro.”


🛠️ Passo 3 – Análise do HOLD

Perguntas que o sysprog deve fazer:

  • Precisa IPL?

  • Pode ser feito agora?

  • Existe janela?

📌 Decisão:
👉 Prosseguir com APPLY em teste.


🔧 Passo 4 – APPLY real

SET BDY(TARGET). APPLY.

O que observar:

  • RC=0 ou RC=4 (com HOLD)

  • Módulos copiados para TARGET

  • Mensagens de sucesso

📌 Aqui o sistema muda.


🚨 Situação alternativa – ++ERROR encontrado

Se aparecer:

++ERROR

Ação correta:

  • Ler APAR

  • Avaliar impacto

  • Decidir: aplicar ou aguardar superseding PTF

👉 Nunca aplique no automático.


📦 Passo 5 – Testes funcionais

Antes do ACCEPT:

  • Subir JES2

  • Validar spool

  • Ver logs

  • Monitorar comportamento

💡 Dica Bellacosa:

“Teste em TARGET antes de casar com o DLIB.”


🧱 Passo 6 – ACCEPT (baseline)

SET BDY(DLIB). ACCEPT.

Resultado:

  • DLIB atualizado

  • Histórico registrado

  • Sistema preparado para futuras manutenções

📌 Agora virou padrão.


🔄 E se der problema? (RESTORE)

SET BDY(TARGET). RESTORE.

⚠️ Atenção:

  • RESTORE não é trivial

  • Nem sempre volta tudo

  • Documentação é vital


🧠 Erros comuns (vida real)

❌ ACCEPT sem teste
❌ APPLY direto em produção
❌ Ignorar HOLD
❌ Não ler APAR
❌ CSI compartilhado sem controle

👉 Todos já caíram nisso. Os bons aprendem rápido.


🎓 Checklist Bellacosa de Produção

✔ APPLY CHECK sempre
✔ Leia HOLDS e ERRORS
✔ Teste antes de ACCEPT
✔ Documente SYSMODs
✔ Nunca confie cegamente


🧠 Curiosidades finais

  • APPLY é técnico

  • ACCEPT é político

  • CSI é sagrado

  • SMP/E não esquece nada


🧾 Encerramento da Série

Quem domina SMP/E domina o z/OS.
Quem ignora SMP/E trabalha sob risco.

Esta série te leva:

  • De iniciante

  • A consciente

  • A profissional de SMP/E

💾🔥


segunda-feira, 1 de junho de 2009

🍙 Oniguiri — O “JCL da Comida Japonesa”

 


🍙 Oniguiri — O “JCL da Comida Japonesa” que Todo Anime Usa (Post Bellacosa Mainframe Para Otakus)

(um relato épico, técnico-sentimental e cheio de curiosidades estilo Bellacosa Mainframe, direto do cluster gourmet do z/OS otaku)


🍙 O QUE É UM ONIGUIRI?

Padawans otakus, preparem-se:
O oniguiri é basicamente o snack oficial do Japão desde antes do Japão existir.
Definição técnica? Arroz prensado, geralmente com um recheio no meio, embrulhado com alga (norimaki).
Definição estilo Bellacosa?

👉 É o sanduíche do samurai, o marmitex do ninja, o XP boost do protagonista shonen.

Nos animes, ele aparece em absolutamente tudo:

  • Naruto usa para repor chakra (mentalmente).

  • Dragon Ball usa para repor calorias (1 oniguiri = 0,0003% da fome do Goku).

  • Sailor Moon usa pela fofura.

  • Your Name usa pela estética de derreter o coração.

  • Jujutsu Kaisen tem o Panda comendo, porque… porque é o Panda.




🏯 ORIGEM — O ALIMENTO MAINFRAME DO JAPÃO

Se você acha que oniguiri começou por causa de bentô kawaii moderno, engano total, jovem padawan.
Na verdade:

📜 Existem registros de oniguiri desde o século XI, antes mesmo da palavra “sushi” existir.
Os guerreiros carregavam triângulos de arroz porque era:

  • portátil

  • barato

  • prático

  • e o melhor: não estragava fácil graças ao sal.

Ou seja, era o JCL da comida: simples, robusto, confiável, funciona em qualquer ambiente.


🧂 SIGNIFICADO DO FORMATO TRIANGULAR

Aqui tem a parte easter egg de templo xintoísta:
O formato triângulo simboliza uma montanha.
E na cultura japonesa, montanhas = lugar dos deuses (kami).

Então teoricamente, cada oniguiri é uma oferenda miniatura, um abraço dos ancestrais no seu estômago.


🍘 CURIOSIDADES QUE O SEU SENSEI NÃO TE CONTOU

🕵️ “Oniguiri” era comida de espionagem

Samurais escreviam mensagens secretas dentro do recheio.
Tipo: “Encontramos o inimigo“ → recheio de salmão.
“Tragam reforços” → umeboshi.
Um primitivo steganography food mode.

🎭 No início dos anos 2000, oniguiri era censurado nos animes no ocidente

Sim!
Na versão americana de Pokémon, eles trocaram o oniguiri por:

👉 um “jelly donut”.
É sério.
Eles olharam para um triângulo branco com alga e pensaram: “parece um donut”.
E a gente achando que bug de produção só existia em mainframe…

🍙 O recheio mais clássico é umeboshi

Aquela bolinha vermelha azeda que aparece em Himouto! Umaru-chan, Shokugeki no Souma e milhões de outros.

Ele serve como conservante natural — tipo um RACF da comida, protegendo o arroz contra abend microbiológico.


🔧 DICAS ESTILO BELLOCOSA — COMO IDENTIFICAR ONIGUIRI EM ANIME

Triângulo branco + faixa preta de alga = oniguiri clássico
(Shokugeki no Souma, Komi-san, Doraemon)

Oniguiri sem alga = estilo antigo
Muito visto em animes históricos.

Oniguiri com formato redondo = estilo da região de Kansai
Aparece em Inuyasha, quando a Kagome faz para o grupo.

Oniguiri como símbolo de amor
Sempre que uma personagem prepara onigiri para o crush, pode saber:
é o ‘Coração-Doce-Do-Episódio’™.
(Toradora, Clannad, K-On!)


🥷 ONIGUIRI NOS ANIMES — OS MOMENTOS MAIS ICÔNICOS

🍙 Naruto — a Hinata oferece oniguiri ao Naruto (subtexto nível -12, mas sabemos…)
🍙 One Piece — a menina Ryōga tenta fazer oniguiri para Zoro… e falha lindamente
🍙 Demon Slayer — Tanjiro come oniguiri durante treinamento (boost de moral)
🍙 Fruits Basket — Tohru é comparada a um oniguiri que não sabe que tem uma ameixa nas costas (metáfora linda!)
🍙 Jujutsu Kaisen — Panda comendo oniguiri é o pico da sofisticação da animação moderna


🧠 RESUMO NO MODO DUMP (Bellacosa TL;DR):

  • Oniguiri = avô do sushi.

  • É prático, portátil e robusto – igual um utilitário mainframe UNIX System Services.

  • Era comida de samurai e de deus.

  • Tem simbolismo xintoísta.

  • Tem mensagens escondidas no recheio (literalmente).

  • É meme, é nostalgia, é estética, é carinho em forma de triângulo.

  • Em anime, sempre significa aconchego, amizade, pausa na batalha ou amor silencioso.


🏁 E FECHO O TURNO:

Da próxima vez que aparecer um oniguiri no anime que você estiver vendo, lembre-se:

👉 Aquilo não é só comida.
É cultura, história, carinho — é o SYS1.PROCLIB das refeições japonesas.

E, sinceramente?
Eu comeria um agora.

🍙✨

terça-feira, 5 de maio de 2009

🥩 Churrasco: Mapa Completo dos Cortes

 

Bellacosa Mainframe em uma tarde de churrasco

🥩 Churrasco: Mapa Completo dos Cortes

Brasil 🇧🇷 x Argentina 🇦🇷 x Japão 🇯🇵

(ou: como o mesmo boi vira três filosofias de vida)

Se tem uma coisa que mainframer entende, é isso:
👉 o mesmo hardware pode ser usado de formas totalmente diferentes, dependendo do sistema operacional.

Com carne bovina é igual.

O boi é o mesmo.
O corte muda.
A cultura manda.

E o resultado… muda tudo.


🐂 O BOI É UM SÓ. O MODELO É QUE MUDA.

Tecnicamente:

  • Os músculos são os mesmos

  • A anatomia não muda de país para país

Mas cada cultura:

  • Enxerga o boi de um jeito

  • Corta de forma diferente

  • Valoriza partes diferentes

  • Cria nomes próprios (às vezes confusos)

👉 É como COBOL, PL/I e Java acessando o mesmo banco.


churrasco de picanha

🇧🇷 BRASIL – O MODELO “CHURRASCO ROOT”

O Brasil historicamente:

  • Simplificou os cortes

  • Pensou em grelha grande

  • Fogo alto

  • Peças inteiras

Cortes clássicos brasileiros

BrasilOnde ficaObservação
PicanhaTampa da alcatraÍcone nacional
Contra-filéLomboMuitas vezes sem subdivisão
AlcatraTraseiroCorte “coringa”
MaminhaPonta da alcatraMacia e suculenta
FraldinhaDiafragmaSabor intenso
CostelaCostelasTempo + paciência

📌 Easter egg brasileiro
Durante décadas, o Brasil:

“rodou em produção” sem separar ancho, chorizo e ribeye.
Tudo era contra-filé e pronto.


Churrasco de ancho

🇦🇷 ARGENTINA – O MODELO “PRECISÃO & TRADIÇÃO”

A Argentina olha para o boi como um engenheiro.

Aqui:

  • Cada músculo tem nome

  • Cada corte tem função

  • Menos tempero

  • Mais respeito à carne

Cortes argentinos famosos

ArgentinaEquivalente Brasil
Bife AnchoContra-filé (parte dianteira)
Bife de ChorizoContra-filé (parte traseira)
VacíoFraldinha
AsadoCostela
EntrañaDiafragma

📌 Ancho argentino
É praticamente o ribeye:

  • Muito marmorizado

  • Extremamente suculento

  • Rei das parrillas

👉 Se fosse TI: hardware premium sem overclock.


churrasco de sirioin de wagyu

🇯🇵 JAPÃO – O MODELO “QUALIDADE EXTREMA”

O Japão não discute “qual corte é melhor”.
Ele pergunta:

“Qual a qualidade absoluta desse corte?”

Aqui entra o Wagyu.

⚠️ Atenção:

Wagyu NÃO é corte.
É o tipo de boi.

Cortes japoneses comuns em anime e yakiniku

JapãoEquivalente
Karubi (カルビ)Costela / short rib
Riburo-su (リブロース)Ribeye
Sirloin (サーロイン)Contra-filé
Momo (もも)Coxão
Gyūtan (牛タン)Língua

📌 Karubi domina os animes:

  • Cortado fino

  • Muito marmorizado

  • Grelha rápida

  • Cena de amizade garantida


🌏 MAPA RESUMO – O MESMO CORTE, TRÊS NOMES

Região do boiBrasilArgentinaJapão
LomboContra-filéAncho / ChorizoSirloin
Costela altaCostelaAsadoKarubi
DiafragmaFraldinhaVacío
TraseiroAlcatraCuadrilMomo
LínguaGyūtan

🥚 Easter Eggs Carnívoros

🥚 A picanha:

  • Não é tão valorizada fora do Brasil

  • Virou símbolo nacional mais por cultura do que por técnica

🥚 No Japão:

  • Marmorização é pontuada (A3, A4, A5)

  • Gordura ≠ defeito

  • Gordura = arte

🥚 Na Argentina:

  • Sal grosso e fogo

  • Nada de exagero

  • Carne fala sozinha


☕ Tradução para Mainframers

  • Brasil = sistema robusto, simples, parrudo

  • Argentina = arquitetura refinada, bem segmentada

  • Japão = altíssima performance, custo alto, precisão absoluta

Nenhum está errado.
Cada um resolve um problema diferente.


🧠 Comentário Bellacosa Mainframe

Entender cortes é como entender sistemas:

  • Não existe “o melhor”

  • Existe o mais adequado

  • Para o contexto

  • Para o momento

  • Para a carga

E no fim…
O boi agradece quando é bem tratado
E o operador também.


JOB FINALIZADO
RC=0
SYSOUT: “Fome aumentou consideravelmente.” 🥩🔥

segunda-feira, 4 de maio de 2009

REXX no z/OS: Guia Completo com História, Dicas e Curiosidades

 

Bellacosa Mainframe apresenta IBM Mainframe REXX

REXX no z/OS: Guia Completo com História, Dicas e Curiosidades



1. Introdução ao REXX

REXX, sigla para REstructured eXtended eXecutor, é uma linguagem de programação de alto nível criada por Mike Cowlishaw, da IBM, na década de 1980.
Diferente de linguagens tradicionais como C, COBOL e PL/I, REXX é interpretada, de fácil leitura e sem tipagem explícita. Todos os dados são tratados como strings, e o sistema decide quando fazer conversão para números.

💡 Curiosidade: Apesar de muitos acharem que o nome veio do cachorro de Cowlishaw, isso é um mito urbano do Mainframe.

REXX se espalhou por todos os principais ambientes IBM: z/OS, z/VM, z/VSE, IBM i, AIX, e até ferramentas modernas IBM. Por isso, é considerada uma linguagem universal no ecossistema IBM.


2. Variáveis e Literais

  • Variáveis não são case sensitive. Ou seja, var, VAR ou Var são a mesma variável.

  • REXX não exige declaração de tipo e nem comprimento específico, embora existam limites definidos pelo sistema.

  • Literals (strings constantes) podem ser colocadas entre aspas simples '...' ou duplas "...", sem diferença funcional.

💡 Dica: Sempre use aspas quando o conteúdo tiver espaços ou caracteres especiais.


3. Funções e Subrotinas

  • Subrotinas (CALL) não precisam retornar valores. Elas executam ações e podem usar RETURN apenas para voltar ao ponto de chamada.

  • Funções são chamadas para produzir valores, mas nem todas podem ser usadas como subrotinas.

  • Ponto de atenção: Não confunda subrotinas com funções – tentar chamar algumas funções como CALL pode gerar erro.


4. Entrada de Dados

Existem três fontes principais:

  1. Command Line / Argumentos:

    • Usados para passar parâmetros para o exec.

    • Sintaxe:

      PARSE ARG nome idade
    • Ex.: %‘meuexec’ JOAO 30

  2. Stack (Data Stack):

    • Mecanismo central de entrada em REXX.

    • Comandos:

      PULL var /* Lê do topo da stack */ PARSE PULL a b c /* Lê e divide em variáveis */
    • Pode receber dados de QUEUE, PUSH ou teclado (quando stack está vazia).

  3. Keyboard (Interativo):

    • Se a stack estiver vazia, PULL lê do teclado no ambiente interativo (TSO/E).

💡 Dica: PARSE PULL é como um canivete suíço: lê e separa os dados ao mesmo tempo.
Exemplo avançado:

QUEUE "ABC-123-XYZ" PARSE PULL a "-" b "-" c SAY a b c /* Resultado: ABC 123 XYZ */

5. Manipulação de Arquivos

  • EXECIO funciona com:

    • Sequential datasets

    • PDS / PDSE members

  • Não funciona diretamente com VSAM.

    • Para VSAM, use:

      • ISPF Data Set Services (ISRSUPC, ISRSDSN)

      • Chamada de utilitários MVS (ex.: IDCAMS)

💡 Exemplo simples de leitura de VSAM via ISPF:

ADDRESS ISPEXEC "LIBDEF MYLIB DATASET ID('MY.VSAM.DATASET')" "READ DSNAME(MY.VSAM.DATASET) OUTDATA(myArray)"

6. Comando LINEOUT()

  • Escreve linha a linha, não permite random access.

  • Sempre escreve na ordem sequencial do arquivo ou data set.

💡 Dica: Para manipular arquivos VSAM de forma controlada, combine ISPF services e arrays REXX.


7. Stack e PULL

  • PULL remove registros do topo da stack.

  • Alguns materiais citam acesso ao “fundo da stack”, mas na prática, o topo é a forma padrão de leitura.

  • QUEUE e PUSH permitem inserir dados na stack de forma controlada.


8. Execução e Ambiente

  • System REXX execs rodam em:

    • Console (z/OS)

    • Batch (JCL / MVS)

    • Programas via REXX Macro Interface

Não rodam diretamente em TSO/E como System exec.

  • Host command environment depende do contexto:

    • TSO/EADDRESS TSO

    • BatchADDRESS MVS

    • ISPFADDRESS ISPEXEC

💡 Dica de ouro: Nunca presuma que TSO é o padrão universal. Cada address space tem seu ambiente próprio.


9. ISPF e Serviços REXX

  • ISPF fornece serviços avançados (ISPEXEC) para criar:

    • Macros de edição

    • Manipulação de datasets

    • Painéis interativos

  • ⚠️ ISPF é principalmente para online, não para batch (a menos que configurado explicitamente).

💡 Easter Egg: Você pode escrever comandos de edição personalizados diretamente em REXX, algo que programadores z/OS amam usar para automatizar tarefas repetitivas.


10. Indentação e Compilação

  • REXX ignora indentação, tanto no interpretador quanto no compilador.

  • Compilação é opcional – você pode rodar execs diretamente no interpretador.


11. Curiosidades e Fatos Divertidos

  • Mike Cowlishaw nunca nomeou REXX após seu cachorro – é apenas uma lenda urbana.

  • REXX é usado em automação de Mainframe desde os anos 80.

  • É comum combinar REXX + ISPF + JCL + batch jobs para criar soluções totalmente automáticas em produção.


12. Resumo de Comandos Essenciais

Comando / FunçãoUso
PARSE ARGLer argumentos passados na linha de comando
PULL / PARSE PULLLer registros da stack
QUEUE / PUSHInserir dados na stack
EXECIOLer/escrever sequential e PDS/PDSE
LINEOUT()Escrever linhas sequenciais em arquivos
ISPEXEC servicesTrabalhar com VSAM, painéis e macros ISPF
ADDRESSDefinir host command environment

13. Pontos de Atenção para Mainframe

  • Nunca confunda funções com subrotinas.

  • Stack é sequencial, não aleatória.

  • EXECIO não acessa VSAM diretamente.

  • ISPF serviços são para online, não para batch.

  • Indentação é estética, não funcional.

  • Variáveis não têm tipagem, mas cuidado com operações numéricas implícitas.


14. Exemplo Final Integrado

/* REXX Example: Stack + Parsing + File Write */ QUEUE "JOAO 30 SAO_PAULO" PARSE PULL nome idade cidade SAY "Nome:" nome ", Idade:" idade ", Cidade:" cidade /* Write to a sequential file */ EXECIO 1 LINEOUT ("Nome:" nome) DATASET("USER.SEQ.DATA") STEM file. WAIT

Combina stack, PARSE PULL, e EXECIO.


Conclusão

REXX continua sendo uma ferramenta essencial para automação no Mainframe IBM.
Sua simplicidade, flexibilidade e integração com ISPF, TSO/E, batch e VSAM o tornam um verdadeiro canivete suíço para administradores e desenvolvedores Mainframe.

E lembre-se: não caia nos mitos – REXX não foi nomeado por um cachorro, mas por sua estrutura e poder de execução. 😉