quarta-feira, 25 de dezembro de 2013

Pernil de Natal receita a El Jefe

Pernil Fatiado a modo El Jefe



Estamos no final do ano e nada como preparar algo diferente para a ceia.

Resolvi inovar e preparar um pernil na caçarola em pequenos bifes bem temperados e cozido lentamente em fogo baixo.

Usei tudo o que havia a mão, pimentões, alho, cebola, salsinha, cebolinha, oregano, pimenta preta, tomates. Fui montando camada por camada e distribuindo as especiarias de modo que o caldo durante a fervura alcançasse toda a carne


Veja o video e qualquer duvida é so perguntar.

domingo, 22 de dezembro de 2013

Uma árvore solitaria, o romanzeiro do bisavô Paco

 


Uma árvore solitária, o romanzeiro do bisavô Paco

Ao melhor estilo Bellacosa Mainframe, registro aqui uma memória que roda em batch noturno, daquelas que não dá abend, não precisa de restart e segue ativa no coração desde sempre.

Estou falando do meu bisavô Paco, o espanhol. Homem sisudo, poucas palavras, olhar firme — daqueles que parecem um programa antigo em assembler: econômico, direto, sem comentários no código, mas absolutamente funcional e confiável.

A cena é sempre a mesma quando faço o IPL dessa lembrança. Ele lá fora, na antiga rua de terra, cuidando da horta, das plantas do jardim e principalmente da sarjeta, que insistia em entupir. Trabalho de formiguinha, diário, repetitivo, quase um JOB em loop infinito, mas feito com disciplina de quem sabe que se não limpar hoje, amanhã o problema dobra. Às vezes eu ajudava. Ganhava umas coroas para segurar a pá, puxar o barro, aprender que manutenção preventiva evita desastre — lição que anos depois eu reencontraria no mundo do mainframe, só que com outro tipo de sujeira.


O bisavô Paco tinha a mão esquerda semioperacional, consequência de um AVC provocado por um acidente doméstico. Nada de vitimismo. Ele seguia firme, fazendo exercícios com uma bolinha de tênis, apertando, soltando, insistindo. Era o recovery manual do corpo, numa época em que reabilitação era força de vontade e teimosia. No frio de São Paulo, usava luva para aquecer a mão — imagem gravada em storage protegido da minha memória.

Apesar do jeito fechado, ele tinha seus logs de ternura. Um deles era comigo. Sempre elogiava minhas caricaturas, como ele chamava meus desenhos, incentivava, observava, aprovava com um aceno curto de cabeça. Poucas palavras, mas impacto máximo. Era como um RC=0 silencioso.

Mas o verdadeiro dataset crítico dessa história é outro.

O pé de romã.

Um romanzeiro solitário, ali no quintal, cuidado com um afinco quase ritualístico. Podar, adubar, observar. Nada era feito às pressas. Era um processamento em modo síncrono, respeitando o tempo da planta. E quando surgia um fruto — às vezes um só, às vezes dois — a alegria do meu bisavô era genuína, quase infantil. Um sorriso raro, um brilho no olho. No final do ano, comer romã virava um pequeno evento, desses que não precisam de anúncio nem plateia.

Sempre me perguntei, já adulto, que memória aquela árvore despertava nele. Espanha? Infância? Alguma terra seca deixada para trás? Algum quintal que não pude conhecer? A romã, para ele, parecia ser mais que fruto. Era checkpoint emocional, uma âncora silenciosa entre passado e presente.

Hoje, quando vejo uma romã, faço um link-edit automático com essa imagem: o homem calado, a mão lutando para não desistir, a rua de terra, a sarjeta limpa, o cuidado diário, o fruto raro. Entendo, finalmente, que aquele carinho todo não era só pela planta. Era pela memória que ela mantinha viva.

E algumas memórias, assim como certos sistemas legados, precisam ser preservadas, não porque são antigas, mas porque continuam funcionando perfeitamente.

A tradição de comer romãs na virada do ano

Existe um hábito nos países latinos de comer romãs e guardar suas sementes para dar boa sorte no decorrer do ano, justamente na virada do ano, dando as boas vindas para o Ano Novo.



sábado, 21 de dezembro de 2013

📉 Checklist de Redução de MIPS Pós-Migração COBOL 5.00 — IBM Mainframe

 


📉 Checklist de Redução de MIPS

Pós-Migração COBOL 5.00 — IBM Mainframe

“Migrar é sobreviver. Reduzir MIPS é reinar.”


🟥 FASE 1 — MEDIÇÃO (sem medição é fé)

Antes de otimizar, medir

  • ☐ SMF 30 / 72 / 110 coletados

  • ☐ CPU por job / step

  • ☐ Elapsed vs CPU

  • ☐ Consumo em horário de pico

Ferramentas

  • RMF

  • OMEGAMON

  • MXG

  • SAS

  • SMF Dump Analyzer

💬 Fofoquinha:

Time que “acha” que reduziu MIPS geralmente aumentou.



🟧 FASE 2 — COMPILAÇÃO INTELIGENTE (ganho rápido)

⚙ Parâmetros que economizam CPU

OPTIMIZE(2) ← obrigatório TRUNC(BIN) ARITH(EXTEND) RULES DATA(31)

🧠 Avaliar com cuidado

NUMCHECK(ZON,BIN) SSRANGE INITCHECK

📉 Estratégia:

  • DEV/QA → ON

  • PROD → OFF somente se validado

💣 Erro comum:

Desligar NUMCHECK “pra ganhar CPU” sem limpar código.


🟨 FASE 3 — LIMPEZA DE CÓDIGO (onde mora o ouro)

🧹 Remover desperdícios clássicos

☑ DISPLAY em loop
☑ MOVE redundante
☑ IF aninhado desnecessário
☑ PERFORM THRU
☑ WORKING-STORAGE gigante não usada

📉 Impacto:

  • ↓ CPU

  • ↓ Cache miss

  • ↓ Path length

🥚 Easter-egg:

Um DISPLAY esquecido num batch grande já pagou um carro zero.


🟦 FASE 4 — ESTRUTURA DO PROGRAMA (pipeline feliz)

☑ Preferir:

  • PERFORM único

  • Parágrafos curtos

  • Fluxo previsível

☑ Evitar:

  • GO TO

  • PERFORM cruzando seções

  • Código “criativo”

🧠 COBOL 5 + z Architecture:

Código linear = melhor uso de pipeline e cache L1/L2


🟩 FASE 5 — DADOS E FORMATOS (CPU invisível)

💥 Erros caros

ErroCusto
DISPLAY usado como cálculoAlto
COMP mal definidoMédio
REDEFINES abusivoAlto
Conversão implícitaAltíssimo

☑ Use:

  • COMP / COMP-5 corretamente

  • PIC consistente

  • TRUNC(BIN)


🟪 FASE 6 — I/O: O ASSASSINO SILENCIOSO

☑ Minimizar:

  • Leitura redundante

  • WRITE desnecessário

  • SORT interno mal usado

☑ Melhorar:

  • Buffers maiores

  • Uso correto de SORT externo

  • VSAM tuning (CI/CA)

💬 Fofoquinha:

Muitas “otimizações de CPU” são na verdade I/O mal feito.


🟫 FASE 7 — JCL E EXECUÇÃO (ninguém olha, mas pesa)

☑ Revisar:

  • REGION excessivo

  • STEPLIB desnecessário

  • Programas antigos ainda rodando

☑ Avaliar:

  • Rodar batch pesado fora do pico

  • Paralelismo controlado

  • zIIP offload

📉 Ganho indireto:

CPU MSU fora do pico = custo menor


🟧 FASE 8 — zIIP / Offload (dinheiro esquecido)

☑ Verificar:

  • LE habilitado

  • Compilação compatível

  • Ambiente preparado

📉 O que pode ir pra zIIP:

  • XML

  • JSON

  • Serviços

  • Web Services

  • Partes do LE

💬 Fofoquinha:

Tem cliente pagando MIPS caro enquanto o zIIP dorme.


🟥 FASE 9 — REMOÇÃO DE CHECKS (só depois de adulto)

📌 Sequência correta:

  1. NUMCHECK ON

  2. Corrigir código

  3. Medir estabilidade

  4. NUMCHECK OFF

  5. Medir MIPS

❌ Pular etapa = incidente garantido


☠️ ERROS QUE MATAM ECONOMIA

ErroResultado
Otimizar sem SMFIlusão
OPTIMIZE(3) sem testeBug
Desligar checks cedoAbend
Ignorar I/OCPU sobe
Medir só elapsedFatura explode

🎓 RESUMO PADAWAN

✔ COBOL 5 pode reduzir MIPS
✔ Código limpo = CPU baixa
✔ Compilação correta = ganho imediato
✔ Medição manda, opinião não
✔ zIIP é dinheiro esquecido


🧠 FRASE FINAL BELLACOSA™

“Mainframe não é caro.
Caro é código ruim rodando rápido.”

 

quinta-feira, 12 de dezembro de 2013

Hambúrguer na brasa.

X Salada a El Jefe

O sabor de um hambúrguer na brasa é único. Principalmente quando compramos a carne, mandamos moer no tamanho pequeno, fazemos nosso próprio tempero.

Depois o ritual de preparar o carvão e acender a churrasqueira, esperar atingir a temperatura certa e começar a assar.



Depois que a carne estiver no ponto, colocar uma folhinha de manjericao, a fatia de queijo e o pão para aquecer. Quando tudo estiver no ponto acrescentar o molho, o tomate e a alface.

Bom apetite.

quinta-feira, 14 de novembro de 2013

🧪 Checklist de Migração Segura do COBOL 4.xx para o COBOL 5.00 em IBM Mainframe

 


Prepare o café, o JCL limpo e desapegue emocionalmente do COBOL 4 ☕😄
Segue o 🧪 Checklist definitivo de migração segura COBOL 4.xx → COBOL 5.00, no estilo Bellacosa Mainframe™ — com dicas reais, fofoquices de corredor, easter-eggs, performance, otimização e onde economizar MIPS (ou perder, se vacilar).


🧪 Checklist de Migração Segura

COBOL 4.xx → COBOL 5.00

“Não é só recompilar. É amadurecer.”


🟥 FASE 0 — ALINHAMENTO MENTAL (antes de tocar no código)

Aceite o fato:

COBOL 5 não é “novo compilador”, é novo contrato social.

Objetivo real da migração

  • ☐ Só suportabilidade IBM

  • ☐ Performance

  • ☐ Segurança

  • ☐ Redução de MIPS

  • ☐ Tudo acima (resposta certa)

Ambiente

  • ☐ z/OS compatível

  • ☐ LE atualizado

  • ☐ Hardware z/EC12+ (ideal z13, z14, z15, z16)

🥚 Easter-egg:

Migração sem zIIP/zAAP habilitado = dinheiro jogado fora.



🟧 FASE 1 — COMPILAÇÃO CONTROLADA (modo “raio-X”)

🔍 Compile ANTES de migrar com COBOL 4:

SSRANGE NUMCHECK INITCHECK FLAG(I)

Por quê?
Você força o COBOL 4 a gritar como o COBOL 5 grita naturalmente.

💬 Fofoquinha real:

Quem ignora warnings no COBOL 4 sofre três vezes mais no COBOL 5.


🟨 FASE 2 — LIMPEZA DE CÓDIGO (onde mora 80% do risco)

Dados (o inferno clássico)

☑ Remover:

  • ☐ MOVE lixo → numérico

  • ☐ REDEFINES criativos

  • ☐ PIC inconsistentes

  • ☐ COMP usado como DISPLAY

☑ Revisar:

  • ☐ WORKING-STORAGE inicializada

  • ☐ Índices vs subscripts

  • ☐ OCCURS DEPENDING ON

💣 Erro campeão pós-migração:

“Sempre funcionou” — até o COBOL 5 resolver verificar.


🟦 FASE 3 — CONTROLE DE FLUXO (o que o COBOL 5 odeia)

☑ Eliminar:

  • ☐ PERFORM THRU atravessando parágrafos

  • ☐ GO TO cruzando seções

  • ☐ IF sem END-IF

☑ Preferir:

  • ✔ PERFORM parágrafo único

  • ✔ Estrutura clara

  • ✔ EXIT PARAGRAPH / EXIT PERFORM

🥚 Easter-egg:

O COBOL 5 não perdoa “lógica artística”.


🟩 FASE 4 — PARÂMETROS DE COMPILAÇÃO (onde se ganha MIPS)

⚙ Parâmetros recomendados (base segura)

OPTIMIZE(2) NUMCHECK SSRANGE INITCHECK TRUNC(BIN) ARITH(EXTEND) RULES

💰 Onde ECONOMIZAR MIPS

AçãoImpacto
OPTIMIZE(2 ou 3)↓ CPU
Remover DISPLAY em loop↓ I/O
Eliminar MOVE redundante↓ CPU
Código mais linear↓ cache miss

💬 Fofoquinha:

OPTIMIZE(3) sem testes = pedido de incidente.


🟪 FASE 5 — PERFORMANCE REAL (mitos e verdades)

❌ MITOS

  • “COBOL 5 é mais lento” ❌

  • “Vai gastar mais CPU” ❌

✅ VERDADES

  • Código ruim fica visivelmente ruim

  • Código bom fica muito mais rápido

  • Instruções modernas são melhor exploradas

🏎 Ganhos comuns

CenárioGanho
Batch pesado5–20%
Cálculo intensivoaté 30%
Código limpoabsurdo

🟫 FASE 6 — TESTES (sem heroísmo)

☑ Testes obrigatórios:

  • ☐ Unitário

  • ☐ Integração

  • ☐ Batch completo

  • ☐ Volumetria real

  • ☐ Stress

☑ Comparar:

  • ☐ CPU

  • ☐ Tempo

  • ☐ Output

  • ☐ Logs

🥚 Easter-egg cruel:

Se você não comparar CPU, o financeiro vai.


🟥 FASE 7 — PRODUÇÃO (o momento da verdade)

☑ Primeira subida:

  • ☐ Job crítico isolado

  • ☐ Monitoramento ativo

  • ☐ Plano de rollback

☑ Pós-produção:

  • ☐ Ajustar OPTIMIZE

  • ☐ Avaliar NUMCHECK off (se seguro)

  • ☐ Medir MIPS real

💬 Fofoquinha final:

Muitas empresas desligam NUMCHECK depois — mas só depois de provar que o código presta.


☠️ ERROS CLÁSSICOS NA MIGRAÇÃO

ErroResultado
Recompilar tudo de uma vezCaos
Ignorar warningsIncidente
Confiar em defaultsResultado errado
Não medir CPUSurpresa na fatura

🎓 RESUMO PADAWAN

✔ COBOL 5 exige maturidade
✔ Migração expõe dívidas técnicas
✔ Performance melhora com código limpo
✔ Segurança aumenta
✔ MIPS podem cair (ou explodir)


🧠 FRASE FINAL BELLACOSA™

“Migrar para COBOL 5 não é atualizar o compilador.
É atualizar o programador.”

 

sábado, 2 de novembro de 2013

📘 Jogador Nº 1 (Ready Player One) 50 eastereggs

 


📘 Jogador Nº 1 (Ready Player One) 50 eastereggs

Jogador Nº 1 é um romance de ficção científica escrito por Ernest Cline, publicado originalmente em 16 de agosto de 2011. A obra rapidamente se tornou um fenômeno cultural ao unir narrativa futurista com uma intensa celebração da cultura pop das décadas de 1970, 1980 e 1990, especialmente videogames, filmes, séries e música.

A história se passa no ano de 2045, em um mundo marcado por crises econômicas, escassez de recursos e colapso social. Nesse cenário, a humanidade encontra refúgio no OASIS, um gigantesco universo de realidade virtual criado pelo excêntrico gênio James Halliday. Após sua morte, Halliday deixa um desafio enigmático: um caça-ao-tesouro digital que promete fortuna e controle total do OASIS àquele que decifrar uma série de pistas baseadas em seus gostos pessoais e referências culturais.

O protagonista Wade Watts, um jovem pobre e anônimo, embarca nessa jornada onde conhecimento, memória e obsessão valem mais do que força ou status. Mais do que uma aventura, Jogador Nº 1 é uma reflexão sobre nostalgia, escapismo, identidade digital e o perigo de confundir mundos virtuais com a vida real. O livro se destaca por transformar referências culturais em elementos centrais da narrativa, conquistando leitores de diferentes gerações.



🤫 Paralelo com OASIS.

4️⃣4️⃣ John Hughes movies

Origem: Anos 80
💬 Adolescência idealizada.
🤫 Halliday queria ter vivido isso.

4️⃣5️⃣ Anime Mecha em geral

Origem: Japão
💬 Tecnologia com alma.
🤫 Ocidente demorou a entender.

4️⃣6️⃣ Jogos arcade difíceis

Origem: Economia de fichas
💬 Design cruel.
🤫 “Git gud” antes do termo.

4️⃣7️⃣ Cultura hacker MIT

Origem: Anos 70
💬 Ética hacker raiz.
🤫 Halliday é herdeiro espiritual.

4️⃣8️⃣ Manual como narrativa

Origem: Jogos antigos
💬 Ler era obrigatório.
🤫 Hoje ninguém lê nada.

4️⃣9️⃣ Cultura do high score

Origem: Arcade
💬 Ego digital.
🤫 Screenshot era foto Polaroid.

5️⃣0️⃣ O maior easter egg: o passado

💬 Comentário final:
Ready Player One não esconde apenas referências — ele esconde o medo de crescer, o trauma social e a tentativa desesperada de congelar o tempo como se fosse um sistema legado que ainda “funciona”.

🤫 Fofoquice final Bellacosa:
Quem odeia o livro geralmente não viveu essa época.
Quem ama… ainda acessa o passado em modo batch emocional.

🖥️ MAINFRAME OFF. FICHA ACABOU. 🕹️


sexta-feira, 1 de novembro de 2013

🟦 Guia Ideal de Parâmetros de Compilação COBOL no Mainframe

 


🟦 Guia Ideal de Parâmetros de Compilação COBOL no Mainframe

(COBOL 4.x e COBOL 5.x)

“Parâmetro errado não dá warning.
Dá abend… ou pior: dá erro silencioso.”

— Bellacosa


🧭 Visão geral – por que isso importa?

Os parâmetros de compilação definem:

  • como o COBOL interpreta seu código

  • como o objeto é gerado

  • se erros aparecem no compile ou em produção

  • performance, compatibilidade e estabilidade

👉 O mesmo código, com PARMs diferentes, vira outro programa.


🧬 Categorias de parâmetros (mapa mental)

1️⃣ Compatibilidade & Comportamento
2️⃣ Debug & Diagnóstico
3️⃣ Performance & Arquitetura
4️⃣ Controle de erros
5️⃣ Migração & Modernização



1️⃣ Parâmetros essenciais (BASE OBRIGATÓRIA)

Esses todo programa sério deveria ter.

PARMFunçãoPor que usar
LANGUAGE(EN)Mensagens em inglêsFacilita IBM Support
LISTLista compilaçãoAuditoria e debug
MAPMapa de dadosDebug estrutural
XREFReferências cruzadasEntender legado
RENTCódigo reentranteBatch + online
DYNAMCALL dinâmicoCompatível com CICS/Batch

🥚 Easter-egg:

Se não tem MAP e LIST, você não compilou, você apenas rezou.


2️⃣ Parâmetros de DIAGNÓSTICO (modo padawan → jedi)

Use em desenvolvimento, teste e migração.

PARMO que fazDica Bellacosa
SSRANGEProtege acessos inválidosEvita S0C4
NUMCHECKValida campos numéricosPegador de lixo
FLAG(W)Avisos de riscoAtive sempre
TESTDebug interativoPara Xpediter/Debug Tool
LISTHEXDump hexadecimalSó para guerra

💣 Verdade nua:

NOSSRANGE em produção = economia burra de CPU.


3️⃣ Parâmetros de PERFORMANCE (onde mora o MIPS)

COBOL 4 (equilíbrio)

OPTIMIZE RENT ARITH(EXTEND)

COBOL 5 (modo turbo)

OPTIMIZE(2) ARCH(13) RENT
PARMExplicação
OPTIMIZE(2)Otimização agressiva
ARCH(n)Explora hardware (z13+)
ARITH(EXTEND)Precisão decimal

🥚 Easter-egg técnico:

ARCH errado = código que compila… e performa como COBOL 85.


4️⃣ Parâmetros de COMPATIBILIDADE (legado raiz)

Para sistemas antigos, principalmente na transição.

PARMPara quê
TRUNC(STD)Evita truncamento silencioso
RULES(IBM)Mantém comportamento clássico
DATA(31)Compatibilidade 31 bits

⚠️ COBOL 5: muitos desses não existem mais.


5️⃣ Parâmetros de CONTROLE DE ERROS (produção séria)

PARMFunção
ABENDForça abend real
NOTESTRemove debug
NOSSRANGESó se testado exaustivamente

Bellacosa rule:

Produção só roda o que passou por SSRANGE ligado.


🧪 Combinações recomendadas (receita pronta)

🔹 Desenvolvimento / Estudo (Padawan)

LIST MAP XREF SSRANGE NUMCHECK FLAG(W) TEST

🔹 Teste / Homologação

LIST MAP XREF SSRANGE NUMCHECK FLAG(I) RENT

🔹 Produção – COBOL 4

RENT DYNAM OPTIMIZE ARITH(EXTEND) NOSSRANGE

🔹 Produção – COBOL 5

RENT OPTIMIZE(2) ARCH(13)

⚔️ Parâmetros que causam guerra (use com consciência)

PARMRisco
NOSSRANGES0C4 silencioso
NONUMCHECKDados sujos
NOFLAGErros passam
NOMAPDebug impossível

🥚 Easter-egg real:

Muitos “bugs misteriosos” são apenas PARMs mal escolhidos.


🧘 Estratégia Bellacosa Oficial™

1️⃣ Compile com tudo ligado
2️⃣ Limpe warnings
3️⃣ Teste exaustivamente
4️⃣ Só então desligue controles
5️⃣ Nunca desligue tudo


🟦 Conclusão

O compilador é seu primeiro ambiente de produção.
Se você não ensina o COBOL a desconfiar do código,
ele vai confiar… e você vai pagar.