domingo, 6 de fevereiro de 2011

🔥 Five Major Components of CICS

 

os 5 principais componentes do CICS

🔥 Five Major Components of CICS

 


☕ Midnight Lunch, região CICS no ar e tudo funcionando

13h26.
A região subiu limpa.
Nenhum erro no log.
Usuários entrando.

Alguém pergunta, meio desconfiado:

“Mas… o que realmente faz o CICS funcionar?”

A resposta curta: cinco grandes componentes.
A resposta Bellacosa? Bora destrinchar um por um — com história, prática e verdade de data center.


Five Major Components of CICS

🏛️ História: CICS não é monolito, é orquestra

Desde os anos 60, o CICS foi pensado como:

  • Um monitor transacional

  • Um sistema operacional dentro do z/OS

  • Um orquestrador de recursos

Para isso, ele se organizou em componentes bem definidos, cada um com responsabilidade clara.

📌 CICS funciona porque cada parte sabe o seu lugar.


🧠 Conceito essencial

CICS é dividido em componentes especializados,
não em “funcionalidades soltas”.

Entender isso muda sua forma de debugar, otimizar e projetar.


🧱 Os Cinco Grandes Componentes do CICS


1️⃣ Program Control (PC) – o maestro

O que faz?

  • Carrega programas

  • Controla LINK, XCTL e RETURN

  • Gerencia reentrância

  • Mantém o fluxo da transação

Exemplos de comandos

  • LINK

  • XCTL

  • RETURN

📌 Se o fluxo está errado, comece aqui.


2️⃣ File Control (FC) – o guardião dos dados

O que faz?

  • Acesso a VSAM e outros arquivos

  • Controle de concorrência

  • Lock e recovery

Comandos típicos

  • READ

  • WRITE

  • REWRITE

  • DELETE

📌 Arquivo em CICS não é leitura. É compromisso.


3️⃣ Terminal Control (TC) – a interface humana

O que faz?

  • Comunicação com terminais

  • Envio e recebimento de telas (BMS)

  • Gerenciamento de sessões

Comandos comuns

  • SEND

  • RECEIVE

📌 Se o usuário vê algo estranho, o problema mora aqui.


4️⃣ Storage Control (SC) – o gerente invisível

O que faz?

  • Gerencia memória (MAIN e AUX)

  • Aloca e libera storage

  • Evita vazamentos

Tipos

  • GETMAIN

  • FREEMAIN

📌 Storage mal cuidado derruba região.


5️⃣ Task Control (Dispatcher) – o coração pulsante

O que faz?

  • Cria e encerra tasks

  • Escalona CPU

  • Garante multitasking

📌 É por isso que mil usuários trabalham ao mesmo tempo.


🥊 Componentes vs Problemas comuns

ProblemaComponente suspeito
Fluxo erradoProgram Control
Arquivo travadoFile Control
Tela não apareceTerminal Control
Storage crescendoStorage Control
Lentidão geralTask Control

📌 Diagnóstico começa pelo componente certo.


🛠️ Passo a passo Bellacosa (como pensar CICS)

1️⃣ Usuário entra → Task Control
2️⃣ Tela aparece → Terminal Control
3️⃣ Programa executa → Program Control
4️⃣ Dados acessados → File Control
5️⃣ Storage usado → Storage Control

📌 O CICS é um fluxo vivo.


⚠️ Erros clássicos (easter eggs)

🐣 Misturar responsabilidades
🐣 Culpar “o CICS” sem analisar componente
🐣 Ignorar SC até faltar storage
🐣 READ UPDATE desnecessário
🐣 LINK infinito

📌 Todo incidente grave passa por um desses.


📚 Guia de estudo para mainframers

Para dominar o CICS de verdade:

  • CICS Architecture

  • Program Control & Task Control

  • Storage Management

  • File Control internals

  • Performance tuning

📖 Manual essencial: CICS Transaction Server Administration Guide


🤓 Curiosidades de boteco mainframe

🍺 CICS gerencia memória melhor que muito runtime moderno
🍺 Task Control antecede schedulers atuais
🍺 Program Control inspirou frameworks
🍺 CICS roda há décadas com o mesmo conceito-base


💬 Comentário El Jefe Midnight Lunch

“Quando você entende os componentes,
o CICS deixa de ser mistério e vira ferramenta.”


🚀 Aplicações reais hoje

  • Core bancário

  • Sistemas governamentais

  • Seguros e previdência

  • Pagamentos globais

  • APIs corporativas


🎯 Conclusão Bellacosa

Os cinco grandes componentes do CICS são a espinha dorsal do online corporativo.

Quem domina:

  • Debuga mais rápido

  • Desenha melhor

  • Evita incidente feio

🔥 CICS não é complexo. Ele é organizado.


segunda-feira, 31 de janeiro de 2011

🔥 Aprender COBOL com DB2 — o caminho do programador mainframer de verdade

 

Aprenda COBOL com DB2 ao estilo Bellacosa Mainframe

🔥 Aprender COBOL com DB2 — o caminho do programador mainframer de verdade



🧠 Introdução: por que COBOL + DB2 ainda manda no jogo

Se você quer ser programador mainframe COBOL com DB2, precisa entender uma verdade simples:

COBOL processa.
DB2 guarda.
SQL conecta o cérebro à memória do negócio.

Não estamos falando de tecnologia “antiga”.
Estamos falando da infraestrutura que processa bilhões por dia, com ACID, consistência e auditoria que muita stack moderna ainda tenta copiar.

Esse artigo é um mapa de estrada, do zero até o código profissional, misturando:

  • técnica

  • história

  • prática

  • fofoca de data center

  • e aquela sabedoria que só mainframer velho passa no café ☕


DB2 o banco de dados do Mainframe


🧱 PARTE 1 — Conhecendo o DB2 (o coração dos dados)

📜 Um pouco de história

O DB2 nasce na IBM nos anos 80, baseado no modelo relacional proposto por Edgar F. Codd.

👉 Conceito revolucionário:

  • dados em tabelas

  • relações lógicas

  • SQL como linguagem declarativa

Enquanto o mundo brigava com arquivos VSAM:

“Me diga o que você quer, não como buscar.”


🧩 Modelo Relacional (base de tudo)

  • Tabela → entidade de negócio

  • Linha (row) → registro

  • Coluna (column) → atributo

  • Primary Key → identidade

  • Foreign Key → relacionamento

💬 Bellacosa comenta:

“Se você não entende modelo relacional, não adianta saber COBOL.”


🧾 Tipos de Dados DB2 (o casamento com COBOL)

DB2COBOL
CHAR / VARCHARPIC X
INTEGERPIC S9
DECIMALPIC S9V
DATEPIC X(10)
TIMESTAMPPIC X(26)

🥚 Easter egg:
DB2 guarda DECIMAL melhor do que muito banco moderno guarda FLOAT 😏


Queries SQL no DB2 

🧑‍💻 PARTE 2 — Linguagem SQL no DB2

🗣️ SQL: a língua franca dos dados

SQL não é procedural.
SQL é declarativa.

🔹 DDL — Data Definition Language

CREATE TABLE CLIENTE ( ID_CLIENTE INTEGER NOT NULL, NOME VARCHAR(50), SALDO DECIMAL(9,2), PRIMARY KEY (ID_CLIENTE) );
  • CREATE

  • DROP

  • ALTER


🔹 DCL — Data Control Language

GRANT SELECT ON CLIENTE TO USER01;

Controle de acesso.
Segurança raiz de banco.


🔹 DML — Data Manipulation Language

INSERT INTO CLIENTE VALUES (1, 'JOÃO', 1500.00); SELECT * FROM CLIENTE; UPDATE CLIENTE SET SALDO = SALDO + 100 WHERE ID_CLIENTE = 1; DELETE FROM CLIENTE WHERE ID_CLIENTE = 1;

💬 Bellacosa:

“DELETE sem WHERE é como RM -RF /”


🔍 SELECT, JOIN e afins (onde o bicho pega)

SELECT C.NOME, P.VALOR FROM CLIENTE C JOIN PEDIDO P ON C.ID_CLIENTE = P.ID_CLIENTE;

👉 JOIN mal feito = batch lento = gente te ligando às 3 da manhã.


🛠️ SPUFI e QMF

  • SPUFI → SQL direto no TSO

  • QMF → consultas, relatórios, análise

💡 Dica Bellacosa:

“Todo mundo começa no SPUFI.
Quem fica bom, aprende QMF.”



🧩 PARTE 3 — COBOL com DB2 (onde nasce o profissional)

🏛️ História rápida do COBOL

  • Criado em 1959

  • Foco: negócio

  • Legibilidade

  • Estabilidade

👉 Não é bonito.
👉 É confiável.


🧠 Estrutura de um programa COBOL

  • IDENTIFICATION DIVISION

  • ENVIRONMENT DIVISION

  • DATA DIVISION

  • PROCEDURE DIVISION

📌 Árvore programática é fundamental para não virar macarrão lógico.


🔗 Host Variables (a ponte COBOL ↔ DB2)

EXEC SQL SELECT SALDO INTO :WS-SALDO FROM CLIENTE WHERE ID_CLIENTE = :WS-ID END-EXEC.
  • Sempre com :

  • Tipagem correta

  • Conversão consciente


📊 SQLCA — seu melhor amigo

IF SQLCODE = 0 CONTINUE ELSE DISPLAY 'ERRO DB2 ' SQLCODE END-IF
SQLCODESignificado
0OK
+100NOT FOUND
< 0ERRO

💬 Bellacosa:

“Quem ignora SQLCODE vira operador sem saber.”


📚 DCLGEN — o BOOK sagrado

  • Gera layout da tabela

  • Gera host variables

  • Evita erro humano

//STEP01 EXEC PGM=DSNTEP2

👉 Nunca escreva layout DB2 na mão. Nunca.


Consulta pagina via cursor no DB2

🌀 PARTE 4 — Cursores (nível profissional)

🔄 Cursor para leitura

EXEC SQL DECLARE C1 CURSOR FOR SELECT ID_CLIENTE, NOME FROM CLIENTE END-EXEC.
EXEC SQL FETCH C1 INTO :WS-ID, :WS-NOME END-EXEC.

📌 Sempre:

  • OPEN

  • FETCH

  • CLOSE


✍️ Inserindo, alterando e excluindo via COBOL

  • INSERT → novo registro

  • UPDATE → alteração controlada

  • DELETE → cuidado máximo

💡 Boa prática:

“Nunca DELETE direto sem histórico.”


🧠 PARTE 5 — Boas práticas Bellacosa Mainframe

✔ Use DCLGEN
✔ Sempre trate SQLCODE
✔ Evite SELECT *
✔ Documente regra de negócio
✔ Separe lógica de acesso a dados
✔ Teste com volume real
✔ Pense em performance desde o SELECT

🥚 Easter egg clássico:

“O batch estava lento porque alguém esqueceu o índice.”


🧪 Exercícios de fixação (mentalidade correta)

  1. Criar tabela DB2

  2. Gerar DCLGEN

  3. Programa COBOL com:

    • INSERT

    • SELECT

    • UPDATE

    • DELETE

  4. Programa com CURSOR

  5. Programa com JOIN

  6. Analisar SQLCODE

  7. Ajustar performance

👉 Isso forma programador, não copiador de código.


🧠 Comentário final Bellacosa

Aprender COBOL com DB2 não é aprender uma linguagem.
É aprender:

  • como dados movem o mundo

  • como sistemas críticos pensam

  • como escrever código que não pode falhar

🔥 COBOL + DB2 não é passado.
É o núcleo silencioso do presente.

Enquanto modas passam,
o batch fecha o dia.

 

sábado, 8 de janeiro de 2011

🔥 JCL no z/OS V1R1 — quando o “antigo” ganhou sobrenome moderno

 

Bellacosa Mainframe apresenta JCL Job Control Language


🔥 JCL no z/OS V1R1 — quando o “antigo” ganhou sobrenome moderno



📅 Datas importantes

  • Release (GA): outubro de 2000

  • Final de suporte (EoS/EoM): entre 2004 e 2005 (dependendo do nível de suporte IBM e migração para V1R2+)

O z/OS V1R1 marcou oficialmente a transição do OS/390 para z/OS, e o JCL veio junto — o mesmo DNA dos anos 60, agora rodando num sistema “novo em folha”.


🧬 Contexto histórico

Quando a IBM lançou o z/OS V1R1, o JCL já era um veterano respeitado. Ele não nasceu no z/OS — nasceu lá atrás, no OS/360 (1964) — mas sobreviveu a tudo: MVT, MVS, ESA, OS/390… e chegou ao z/OS sem pedir licença.

O que muda aqui não é a linguagem, mas o ambiente, o poder da máquina, a integração com UNIX System Services, TCP/IP nativo e workloads híbridos.

👉 Moral da história:

“Troca o sistema, troca o nome, troca o marketing… mas o JCL continua mandando no turno da noite.”


JCL V1R1

✨ O que há de “novo” no JCL do z/OS V1R1

Tecnicamente, o JCL é compatível para trás, mas o z/OS V1R1 trouxe melhorias indiretas importantes:

🆕 1. Integração total com o z/OS

  • JCL agora orquestra:

    • Batch tradicional

    • Utilitários do DFSMS

    • Programas que acessam USS (OMVS)

    • Processos ligados a TCP/IP e middleware

🆕 2. JES2/JES3 mais maduros

  • Melhor gerenciamento de:

    • Spool

    • Classes

    • Prioridades

    • Restart de jobs

🆕 3. DFSMS mais forte

  • JCL passa a explorar melhor:

    • SMS-managed datasets

    • Storage Groups

    • Management Classes

    • Data Classes

👉 O JCL continua simples, mas o ecossistema ao redor ficou muito mais poderoso.


🔧 Melhorias e mudanças percebidas no dia a dia

✔ Melhor estabilidade no processamento batch
✔ Melhor convivência entre online (CICS) e batch
✔ Menos “abend misterioso” por problemas de storage
✔ Maior previsibilidade de execução noturna

Nada de comandos novos mirabolantes — o ganho foi operacional.


🥚 Easter Eggs (para mainframer raiz)

  • 🥚 JCL que funcionava no OS/390 funcionava igual no z/OS V1R1
    Isso facilitou migrações gigantes sem reescrever milhares de jobs.

  • 🥚 Muitos shops migraram para z/OS sem mudar uma linha de JCL
    Só recompilaram programas e ajustaram SMS.

  • 🥚 O //STEPLIB DD * continuava sendo usado… mesmo sendo má prática 😅


💡 Dicas Bellacosa para quem viveu (ou estuda) essa época

🔹 Aprenda JCL como linguagem de orquestração, não só como “script batch”
🔹 Entenda bem:

  • DISP

  • SPACE

  • UNIT

  • COND vs IF/THEN/ELSE
    🔹 Leia syslog e JESMSGLG como quem lê log de produção moderna
    🔹 Lembre-se:

JCL errado não falha — ele executa errado.


📈 Evolução a partir do V1R1

Depois do z/OS V1R1, o JCL seguiu firme:

  • V1R3+ → IF/THEN/ELSE mais usado

  • V1R6+ → Melhor integração com ferramentas modernas

  • V2.x → JCL convivendo com DevOps, schedulers e automação

Mas a base?
👉 Exatamente a mesma.


📜 Exemplo clássico de JCL (estilo raiz)

//BELLJOB  JOB (ACCT),'BELLACOSA',CLASS=A,MSGCLASS=X
//STEP01   EXEC PGM=IEFBR14
//OUTFILE  DD  DSN=BELLACOSA.TESTE.JCL,
//             DISP=(NEW,CATLG,DELETE),
//             SPACE=(TRK,(1,1)),
//             UNIT=SYSDA

💬 Comentário Bellacosa:

“Se você entende esse JCL, você entende 70% do batch do mainframe.”


🧑‍🔧O que é DFSMS?

Na verdade, o DFSMS (Data Facility Storage Management Subsystem) não é apenas um utilitário único, mas sim uma suíte poderosa de componentes da IBM para o ambiente z/OS.

Em termos simples: ele é o "gerente de logística" do seu mainframe. Ele automatiza e centraliza a gestão de onde os dados são gravados, por quanto tempo ficam guardados e como são protegidos.


Os 4 Pilares do DFSMS

Para entender o DFSMS no dia a dia do JCL, é preciso conhecer seus principais componentes:

  1. DFSMSdfp (Data Facility Product): O coração do sistema. Gerencia o acesso aos dados e a movimentação básica. É aqui que mora o famoso utilitário IDCAMS.

  2. DFSMSdss (Data Sets Services): Focado em cópia, movimentação e backup de alta performance. O programa principal chamado via JCL é o ADRDSSU.

  3. DFSMShsm (Hierarchical Storage Manager): Responsável por "limpar a casa". Ele migra dados pouco usados para mídias mais baratas (como fita ou discos lentos) e faz o backup automático.

  4. DFSMSrmm (Removable Media Manager): Gerencia suas fitas (físicas ou virtuais), controlando quem pode usá-las e quando podem ser apagadas.


Como ele aparece no seu JCL?

No passado, você precisava dizer exatamente em qual disco (UNIT e VOL=SER) seu arquivo deveria morar. Com o DFSMS (especificamente o componente SMS), o sistema faz isso sozinho através de três parâmetros principais no comando DD:

  • DATACLAS (Data Class): Define os atributos físicos (organização, formato de registro, tamanho).

  • STORCLAS (Storage Class): Define o nível de serviço (em qual disco ele vai morar, se precisa ser um disco rápido ou SSD).

  • MGMTCLAS (Management Class): Define o "prazo de validade" (quando o HSM deve deletar ou migrar o arquivo para fita).

Exemplo de DD com SMS:

Snippet de código
//ARQUIVO  DD DSN=USER.TESTE.DADOS,
//            DISP=(NEW,CATLG,DELETE),
//            DATACLAS=DCPADRAO,
//            STORCLAS=SCFAST,
//            MGMTCLAS=MGT030D

🛠️ Principais Utilitários que você usará

Se você está procurando o "programa" para rodar, os mais comuns vinculados ao DFSMS são:

UtilitárioPara que serve?
IDCAMSCriar, deletar, listar e gerenciar VSAM e catálogos.
ADRDSSUCopiar volumes inteiros ou datasets específicos em alta velocidade.
IEBCOPY(Gerenciado pelo DFP) para copiar e comprimir bibliotecas (PDS/PDSE).

🧠 Comentário final

O JCL no z/OS V1R1 prova uma verdade que todo mainframer aprende cedo:

Tecnologia boa não morre — ela evolui sem fazer barulho.

Enquanto linguagens vêm e vão, o JCL segue lá, silencioso, confiável, rodando milhões de jobs por noite…
…e garantindo que o mundo acorde com banco, energia, avião e folha de pagamento funcionando.

🔥 Longa vida ao JCL.


segunda-feira, 3 de janeiro de 2011

🔥 Map Programming no CICS Structure, Rules, Hierarchy & Checklist para Design de Mapas BMS

 

Programação de mapa BMS em CICS

🔥 Map Programming no CICS

Structure, Rules, Hierarchy & Checklist para Design de Mapas BMS

Workflow de compilação mapa bms cics



☕ Midnight Lunch, tela piscando e o mapa “quase certo”

13h42.
O programa compila.
O mapa gera.
A tela aparece… toda desalinhada.

O operador olha.
O usuário reclama.
O programador jura:

“Mas o BMS tá certo…”

Hoje vamos falar do map programming no CICS — a arte esquecida que separa interface profissional de poluição verde-fosforescente.


🏛️ História: antes do HTML, existia BMS

Antes de:

  • HTML

  • CSS

  • Front-end frameworks

o CICS já tinha separação clara entre lógica e apresentação usando BMS (Basic Mapping Support).

📌 BMS é UI declarativa antes da web existir.


🧠 Conceito essencial (guarde isso)

Mapa não é tela.
Mapa é contrato entre usuário e programa.

Se o contrato é ruim, o sistema sofre.


🧩 Hierarquia de Mapas no CICS

Entender a hierarquia evita 80% dos erros.

📐 Estrutura hierárquica

MAPSET └── MAP └── FIELD

📦 MAPSET

  • Conjunto lógico de mapas

  • Compilado como uma única unidade

  • Gera um load module

📌 MAPSET é o pacote.


🖥️ MAP

  • Uma tela específica

  • Ex: entrada, consulta, confirmação

📌 Um MAP = um propósito.


🔤 FIELD

  • Campos de entrada ou saída

  • Posicionados na tela

  • Com atributos definidos

📌 Campo mal definido = bug visual.


🧾 Estrutura básica de um BMS Map

DFHMSD TYPE=MAP,MODE=INOUT,LANG=COBOL,STORAGE=AUTO MAP01 DFHMDI SIZE=(24,80),LINE=1,COLUMN=1 FLD01 DFHMDF POS=(5,10),LENGTH=10,ATTRB=(UNPROT) DFHMSD TYPE=FINAL

📌 Simples. Poderoso. Exigente.


📐 Regras fundamentais de Map Programming

1️⃣ Um mapa, uma função

❌ Tela “faz tudo”
✅ Tela objetiva


2️⃣ Campos bem definidos

  • Entrada → UNPROT

  • Saída → PROT

  • Proteção correta evita erro de digitação


3️⃣ Nunca confie no input

  • Sempre valide no programa

  • Mapa ajuda, mas não garante


4️⃣ Use atributos conscientemente

  • INTENS

  • MDT

  • IC (cursor)

  • ASKIP

📌 Atributo errado confunde usuário.


🧠 Estrutura do Programa de Mapa (lado COBOL)

Fluxo clássico

1️⃣ RECEIVE MAP
2️⃣ Processa dados
3️⃣ Prepara saída
4️⃣ SEND MAP
5️⃣ RETURN

📌 Mapa não decide lógica. Programa decide.


🛠️ Passo a passo: desenhando um mapa decente

🧩 Planejamento

  • O que o usuário vê?

  • O que ele digita?

  • Qual é o fluxo?


🧩 Design

  • Campos alinhados

  • Mensagens claras

  • Uso consciente de cores


🧩 Implementação

  • BMS limpo

  • Nomes consistentes

  • Sem “gambiarras visuais”


🧩 Teste

  • Campo obrigatório

  • Campo inválido

  • Tela cheia

  • Tela vazia

📌 Tela também precisa de teste.


✅ Checklist Bellacosa – antes de subir o mapa

✔ Campos protegidos corretamente
✔ Cursor posicionado logicamente
✔ Mensagens claras e humanas
✔ Nenhum campo sobreposto
✔ MAPSET organizado
✔ Nomes padronizados
✔ Layout documentado

📌 Mapa ruim vira chamado eterno.


⚠️ Erros clássicos (easter eggs)

🐣 Campo UNPROT que deveria ser PROT
🐣 Mensagem fixa escrita no mapa
🐣 Mapa gigante e confuso
🐣 Layout “ajustado no chute”
🐣 BMS tratado como código secundário

📌 Todo sistema feio começa assim.


📚 Guia de estudo para mainframers

Domine estes tópicos:

  • BMS syntax

  • Mapset generation

  • SEND / RECEIVE MAP

  • MDT, IC, ASKIP

  • Pseudo-conversational design

📖 Manual essencial: CICS Basic Mapping Support Guide


🤓 Curiosidades de boteco mainframe

🍺 BMS já separava UI e lógica antes do MVC
🍺 Muitas telas CICS têm mais de 30 anos
🍺 Um bom mapa reduz erro humano
🍺 Operador odeia mapa mal alinhado


💬 Comentário El Jefe Midnight Lunch

“Código ruim quebra sistema.
Mapa ruim quebra usuário.”


🚀 Aplicações reais hoje

  • Sistemas bancários

  • Governo

  • Seguradoras

  • Atendimento corporativo

  • Ambientes híbridos (3270 + APIs)


🎯 Conclusão Bellacosa

Map programming não é detalhe.
É experiência do usuário, disciplina e respeito.

Quem domina BMS:

  • Recebe menos chamado

  • Facilita suporte

  • Cria sistemas longevos

🔥 Tela bem feita envelhece melhor que código.


sábado, 1 de janeiro de 2011

🎍 Hatsumōde — O “IPL” Espiritual do Japão

 

Hatsumode a primeira visita ao Templo no ano novo

🎍 Hatsumōde — O “IPL” Espiritual do Japão

Todo início de ano, enquanto aqui a gente ainda está digerindo o peru, o panetone e os boletos de janeiro, no Japão o pessoal está fazendo algo muito sério, simbólico e organizado: o Hatsumōde.

Traduzindo do japonês:

  • Hatsu (初) = primeiro

  • Mōde (詣) = visita a um templo

Ou seja: a primeira visita do ano a um templo xintoísta ou budista.
É basicamente o RESET espiritual + COMMIT de intenções para o ano que começa.


Hatsumode

🏯 Origem & História (modo batch antigo)

O Hatsumōde começou lá atrás, no período Heian (794–1185), quando famílias nobres faziam peregrinações no início do ano para agradecer e pedir proteção aos deuses (kami).

Com o tempo, o costume saiu da elite e virou job obrigatório para o povo inteiro. Hoje, milhões de japoneses fazem Hatsumōde entre 1º e 3 de janeiro, alguns estendendo até a primeira semana do ano.

Sim: é alta carga, pico de acesso e fila maior que JES2 em fechamento mensal.


🙏 Como funciona o “procedimento padrão”

  1. Ir ao templo (jinja ou tera)

  2. Purificação

    • Lavar mãos e boca (limpeza de buffer espiritual)

  3. Oração

    • Jogar moeda

    • Bater palmas (xintoísmo)

    • Inclinar a cabeça

  4. Pedidos e agradecimentos

    • Saúde, trabalho, estudos, amor, paz

Nada de pedir Ferrari. O Japão gosta de request modesto e estável.


🎁 Omamori, Omikuji e bug conhecido

🔮 Omikuji (sorte do ano)

Você tira um papelzinho com sua previsão:

  • Daikichi (grande sorte)

  • Kichi (boa sorte)

  • Kyō (má sorte)

Se der ruim, amarram o papel no templo para “deixar o erro ali” e não levar para casa.
Rollback espiritual clássico.

🧿 Omamori (amuletos)

Proteção para:

  • Estudos

  • Saúde

  • Trânsito

  • Amor

  • Trabalho

Cada um é contextual, não adianta usar errado.


🐉 Curiosidades & Easter Eggs

  • Templos famosos recebem milhões de pessoas em 3 dias

  • Casais fazem Hatsumōde juntos (check de compatibilidade)

  • Muitos vão de kimono, só para o evento

  • Animes usam Hatsumōde para:

    • Avançar romance

    • Mostrar novos começos

    • Criar situações constrangedoras 😄

📺 Aparece em:

  • Your Name

  • Toradora

  • Love Live

  • Clannad

  • Bunny Girl Senpai


🤫 Fofoquices culturais

  • Alguns vão mais pela selfie do que pela fé

  • Outros pulam a oração e vão direto comprar comida

  • Tem gente que faz Hatsumōde em vários templos, tipo redundância geográfica

  • Existe disputa silenciosa por quem pega o melhor omamori


💡 Dicas Bellacosa Mainframe

✔ Vá cedo ou de madrugada (menos fila)
✔ Respeite o fluxo, não é lugar de bagunça
✔ Não ria das tradições (auditoria cultural ativa)
✔ Se der sorte ruim, amarre o papel e siga o jogo


🧠 Conclusão — visão de arquiteto

O Hatsumōde é mais do que religião.
É manutenção preventiva da alma, alinhamento de expectativas e um jeito elegante de dizer:

“O ano virou, bora tentar fazer melhor.”

No fundo, todo mundo precisa de um RESET limpo, sem perder os dados importantes.

E você, leitor do El Jefe Midnight Lunch
Já fez o seu Hatsumōde pessoal este ano? 🎍

quinta-feira, 9 de dezembro de 2010

🜂 A Roupa Nova do Rei

 

Bellacosa Mainframe e a fabula o Rei vai Nu

🜂 A Roupa Nova do Rei

Quando a ilusão entra em produção, ninguém dá o ABEND e o sistema segue… até a criança apertar ENTER
Para mainframers que gostam de anime, metáforas, sistemas legados e verdades que ninguém quer logar


1️⃣ IPL cultural: por que esse conto ainda roda em produção?

Todo mainframer raiz já viu isso acontecer:
um sistema claramente errado, cheio de gambiarra, documentação inexistente, ninguém entende direito… mas todo mundo finge que está funcionando.

A história da Roupa Nova do Rei é exatamente isso.
Um batch cultural rodando há séculos, sem manutenção, sem revisão de código, mas perfeitamente compatível com a natureza humana.

Ela fala de vaidade, medo, conformismo, hierarquia, status…
e principalmente de um bug clássico:

ninguém quer ser o primeiro a dizer que o rei está pelado.


2️⃣ Origem: quem compilou essa história?

A versão mais famosa do conto foi publicada em 1837, pelo escritor dinamarquês Hans Christian Andersen, no livro Eventyr, fortalte for Børn (Contos contados para crianças).

📜 Primeira publicação conhecida:
➡️ “Kejserens nye Klæder” (em dinamarquês)

Mas atenção, padawan…

🧠 Easter egg histórico:

Andersen não inventou a história do zero.
Ela é baseada em contos muito mais antigos, especialmente um conto espanhol do século XIII, presente no livro:

📖 El Conde Lucanor, de Don Juan Manuel (c. 1335)

Nesse conto antigo, três vigaristas prometem fazer um pano invisível para quem não fosse filho legítimo.
Ou seja: a lógica do medo social já estava lá, só mudaram os parâmetros do IF.


3️⃣ O enredo resumido (ou: o sistema que ninguém quer testar)

O rei é obcecado por roupas.
Não governa. Não cuida do povo.
Só quer status, aparência, reconhecimento.

Dois vigaristas aparecem oferecendo uma roupa mágica:

✨ “Ela só pode ser vista por pessoas inteligentes e dignas do cargo que ocupam.”

📌 Tradução mainframe:

IF USER NOT SEE CLOTHES
   THEN USER = BURRO OR INCOMPETENTE

Resultado:

  • O rei não vê nada → finge que vê

  • Os ministros não veem nada → fingem que veem

  • O povo não vê nada → aplaude

Até que…

👶 uma criança, sem medo de RACF social, diz:

“O rei está pelado!”

ABEND imediato do sistema.


4️⃣ O bug não é a roupa — é o medo

O ponto genial do conto não é a nudez do rei.
É o medo coletivo de contrariar o consenso.

No mundo mainframe, isso é clássico:

  • “Esse sistema é crítico, ninguém mexe”

  • “Sempre foi assim”

  • “Não documenta porque funciona”

  • “Não pergunta, só roda o batch”

No anime, isso aparece o tempo todo:

🎌 Exemplos de paralelos em anime

  • Neon Genesis Evangelion: adultos fingindo controle enquanto tudo desmorona

  • Attack on Titan: verdades ocultas sustentadas por consenso

  • One Piece: reis, governos e símbolos vazios mantidos pelo medo

  • Akira: poder sem responsabilidade


5️⃣ Easter eggs e curiosidades culturais

🥚 Easter egg #1 — A criança não é inocente, é livre

A criança não fala porque é “pura”.
Ela fala porque não está presa ao sistema.

Não depende:

  • do cargo

  • da hierarquia

  • da aprovação

É o estagiário que pergunta:

“Mas por que isso é assim?”

E todo mundo fica desconfortável.


🥚 Easter egg #2 — O rei sabe que está pelado

Muita gente acha que o rei é enganado.
Errado.

Ele sabe que não vê nada.
Mas escolhe seguir.

Isso é mais assustador.


🥚 Easter egg #3 — O desfile é produção

O rei não testa em homologação.
Ele vai direto pra produção.

Clássico.


6️⃣ Por que essa história dialoga tanto com mainframers?

Porque mainframe é:

  • legado

  • hierarquia

  • respeito

  • estabilidade

  • medo de quebrar

E isso é bom… até virar silêncio tóxico.

Quantos sistemas continuam rodando porque:

  • ninguém quer ser o chato

  • ninguém quer assumir o risco

  • ninguém quer dizer “isso não faz sentido”


7️⃣ A Roupa Nova do Rei no mundo dos animes

O Japão adora essa metáfora.

🎌 Em animes, ela aparece como:

  • líderes cegos pela própria imagem

  • sistemas falsamente perfeitos

  • tradições vazias

  • poderes simbólicos

Exemplo clássico:

  • Conselhos que ninguém questiona

  • Vilas que seguem regras absurdas

  • Mestres que ninguém ousa confrontar

O herói geralmente é:
➡️ o “idiota”
➡️ o “ingênuo”
➡️ o “fora do sistema”

A criança do conto é um protagonista de shonen sem saber.


8️⃣ A lição que ninguém gosta de ouvir

A história não ensina:

“Não seja vaidoso”

Ela ensina:

“Não silencie a verdade por medo de parecer incompetente.”

No mundo corporativo:

  • muita gente vê o problema

  • pouca gente fala

  • e quando fala… já é tarde


9️⃣ Bellacosa Mainframe Moment™ 🖥️

Se esse conto fosse um sistema:

  • A roupa é um software inexistente

  • O rei é o sponsor

  • Os ministros são os gestores

  • O povo é o usuário final

  • A criança é o operador experiente

A diferença?

O operador não tem medo de console.


🔟 Moral da história (em linguagem de data center)

IF TODOS FINGEM QUE FUNCIONA
   THEN ALGUÉM ESTÁ MENTINDO

E geralmente:

  • não é o sistema

  • não é a máquina

  • é o comportamento humano


🜂 Encerramento — por que esse conto nunca envelhece?

Porque ele fala menos de reis
e mais de nós.

Enquanto houver:

  • status

  • medo

  • hierarquia

  • modismos

  • buzzwords

  • tecnologias “mágicas”

A Roupa Nova do Rei continuará rodando.

E sempre precisaremos da criança…
ou do mainframer veterano…
ou do otaku questionador…

pra olhar pra tela e dizer:

“Pessoal… isso aí não está vestindo nada.”