terça-feira, 17 de agosto de 2021

🔍 COBOL Mainframe e o Código Legado: sobreviver, entender e não quebrar produção

 



🔍 COBOL Mainframe e o Código Legado: sobreviver, entender e não quebrar produção

Bellacosa Mainframe no LinkedIn

Se você trabalha com COBOL no mainframe, preciso ser honesto logo de início:

👉 Seu trabalho provavelmente não é escrever código novo. 👉 Seu trabalho é entender código antigo o suficiente para não destruir um sistema que sustenta a empresa.

Este post é inspirado no IBM COBOL Software Development Practices – Module 3: Working with Existing Code, mas com uma diferença fundamental:

📌 aqui não tem romantização, marketing nem slide bonito. 📌 aqui tem legado, risco, produção e decisões difíceis.


1️⃣ A verdade que poucos cursos falam em voz alta

Muitos analistas acertam quando dizem que o foco do COBOL hoje não é criar sistemas novos do zero.

A realidade é esta:

  • código escrito por pessoas que já se aposentaram
  • regras de negócio que nunca foram documentadas
  • batch que roda há 15, 20, 30 anos
  • sistemas que não podem parar

Trabalhar com legado não é atraso tecnológico. 👉 É engenharia em ambiente hostil.


2️⃣ Identificar mudanças não é caçar erro

Um dos maiores erros de quem começa no legado é confundir:

“isso está feio” com ✅ “isso está errado”

Antes de pensar em mudar qualquer linha, você deveria conseguir responder:

  • isso é bug ou regra de negócio?
  • esse código roda sempre ou só em exceção?
  • quem consome essa saída além do que aparece no programa?

📍 Situação real: Você encontra um IF gigante, cheio de GO TO e NEXT SENTENCE.

Junior pensa:

“Vou refatorar isso tudo.”

Mainframeiro experiente pensa:

“Onde está o dump? Qual batch chama isso? Quem usa esse arquivo?”

👉 No legado, entender vem antes de melhorar.


3️⃣ Decidir quanto mudar: o princípio do Do No Harm

Esse é o ponto mais valioso do módulo — e o mais ignorado na prática.

No mainframe, nem tudo que está errado deve ser corrigido.

Escala real de decisão:

  • 🔴 Não mexer – código crítico, sem teste, sem histórico
  • 🟠 Isolar – código suspeito, mas necessário
  • 🟡 Ajuste cirúrgico – bug conhecido, impacto controlado
  • 🟢 Refatorar – sistema compreendido, risco aceitável
  • Reescrever – raro, caro e politicamente complexo

📍 Frase obrigatória em qualquer análise de legado:

“Isso precisa ficar bonito ou precisa continuar pagando salário no fim do mês?”

4️⃣ Ferramentas modernas ajudam — mas não pensam por você

Existem ferramentas modernas, mas são caras, nem sempre a disposição e demadam um extenso treinamento para utiliza-las, conheça algumas:

  • IBM Developer for z/OS
  • Code Review for COBOL
  • Utilities de migração
  • automação, DevOps, integração

Mas aqui vai a verdade da trincheira:

⚠️ Ferramenta não substitui leitura de código. ⚠️ Ferramenta não entende contexto histórico. ⚠️ Ferramenta não assume a culpa quando produção cai.

Ferramentas apontam. 👉 Quem decide é o engenheiro.


5️⃣ Code Review for COBOL: salvador e armadilha

As regras de revisão são excelentes:

  • código inacessível
  • PERFORM recursivo
  • GO TO fora de escopo
  • NEXT SENTENCE
  • escopos implícitos

Mas atenção:

🚨 Regra acionada ≠ erro funcional.

📍 Situação clássica: O Code Review aponta Unreachable Code. Você remove. Produção cai.

Depois descobre que:

  • o trecho só executava em falha rara
  • era acionado por JCL alternativo
  • ninguém lembrava mais

👉 Ferramenta mostra o problema. 👉 Engenharia decide a ação.


6️⃣ O que quase nenhum curso fala: dump e produção

É no dump que você realmente entende o legado:

  • fluxo real
  • valores inesperados
  • corrupção de dados
  • PERFORM assassino

Código bonito não paga SLA. Batch atrasado custa dinheiro. Mudança errada custa carreira.

COBOL legado é técnica + responsabilidade.


7️⃣ Como se aprende COBOL legado de verdade

Não é só em curso. Não é só ferramenta. Mas sim após horas de trabalho, analisando fluxogramas amarelados, ficando vesgo de analisar listagem de programas e apontar duvidas.

O ciclo real é:

  1. ler o código
  2. rodar o batch
  3. analisar o dump
  4. entender impacto
  5. decidir não mexer
  6. documentar
  7. só então, talvez, mudar


☕ Conclusão Bellacosa Mainframe

Os conselhos, workshops, a literatura e o curso tem a mentalidade correta. A trincheira ensina o resto.

No mainframe:

O melhor programador não é o que escreve o código mais bonito. É o que entende o legado, muda pouco, documenta bem e mantém o sistema vivo.

Se você vive isso no dia a dia, comenta aqui 👇

🔹 Já encontrou código que parecia errado, mas salvava produção?

🔹 Já decidiu não mexer — e dormiu tranquilo?

#Mainframe #COBOL #Legado #zOS #EngenhariaDeSoftware #BellacosaMainframe

domingo, 15 de agosto de 2021

Famílias Estendidas – o Amor Entre Ecos do Passado

 



 Famílias Estendidas – o Amor Entre Ecos do Passado

Por Bellacosa 


💔 O amor na era das segundas chances

Vivemos tempos em que o amor se tornou um exercício de recomeço.
Nos aplicativos e nas redes, é comum encontrar mulheres com dois, três filhos — cada um de uma história, de um amor que não deu certo, de um ciclo interrompido. Muitas delas ainda sonham com algo essencial: um lar estável, um companheiro, uma nova oportunidade de ser amada.

Para alguns homens, isso soa caótico ou ameaçador.
Para outros, um convite à maturidade.
Porque entrar na vida de alguém que já tem uma família parcial é aceitar que o amor, hoje, vem com ecos do passado.


🧩 O fim do modelo linear

O amor moderno não é mais linear.
O século XXI dissolveu o roteiro clássico — namoro, casamento, filhos, envelhecer juntos — e substituiu por relações líquidas, como dizia Bauman. A mobilidade emocional é alta, as expectativas mudam rápido, e a ideia de “pra sempre” perdeu o peso dogmático que um dia teve.

O resultado é o surgimento de famílias estendidas, mosaicos de afetos que reúnem filhos de diferentes pais, ex-companheiros ainda presentes por causa da guarda compartilhada, e novos parceiros tentando encontrar seu espaço sem apagar o passado.

É a família remixada — complexa, barulhenta, real.


🧠 O ruído e o aprendizado

Essas famílias carregam ruídos:

  • pais biológicos e padrastos disputando autoridade;

  • crianças divididas entre afetos;

  • ex-parceiros presentes, ainda que distantes.

Mas também carregam sabedoria acumulada: quem viveu perdas, separações e reconciliações sabe que o amor não é um campo de fantasia — é um campo de trabalho emocional.
E nesse campo, só floresce quem aprendeu a respeitar o passado sem se aprisionar nele.


❤️ O papel de quem chega depois

Para o novo parceiro — o homem que se aproxima de uma mulher com filhos e história — o segredo é lucidez e empatia.

Não é papel dele “salvar” ninguém, nem competir com o pai das crianças.
É ser um novo centro de estabilidade, sem apagar o que veio antes.
É entender que o amor maduro é feito de presença paciente, não de posse.

Quem entra num lar estendido precisa compreender que a família não começa do zero, e que o respeito é o alicerce de qualquer novo afeto.


🌱 O amor como reconstrução

As famílias estendidas são o espelho do nosso tempo: fragmentadas, imperfeitas, mas profundamente humanas.
São o resultado de uma sociedade que valoriza o recomeço e que, mesmo ferida, ainda acredita no amor.

Talvez o desafio não seja julgar o passado de quem amamos, mas ter coragem de participar do futuro que ela deseja construir.


Bellacosa – observando o amor contemporâneo com olhos de filósofo e alma de cronista.

sábado, 14 de agosto de 2021

🌌 O Melhor Anime da História: Neon Genesis Evangelion

🌌 O Melhor Anime da História: Neon Genesis Evangelion



Título original: 新世紀エヴァンゲリオン (Shin Seiki Evangelion)
Autor / Criador: Hideaki Anno (Gainax / Tatsunoko Production)
Ano de lançamento: 1995
Gênero: Mecha, Psicológico, Filosófico, Drama, Ficção Científica


🧩 Sinopse

Em um mundo devastado por uma catástrofe chamada “Segundo Impacto”, a humanidade tenta sobreviver à constante ameaça de criaturas gigantes conhecidas como Anjos. Para enfrentá-los, a organização NERV recruta jovens pilotos para comandar colossais bio-máquinas chamadas Evangelions.
Entre eles está Shinji Ikari, um garoto introspectivo e emocionalmente frágil, filho do comandante da NERV, Gendou Ikari.
O que começa como uma típica guerra entre humanos e monstros se transforma em uma profunda jornada sobre identidade, depressão, propósito e o sentido da existência.


🧠 Personagens Principais

  • Shinji Ikari – o protagonista relutante e símbolo do conflito interno entre dever e autonegação.

  • Rei Ayanami – a enigmática piloto de olhar vazio e segredos biológicos.

  • Asuka Langley Soryu – a guerreira orgulhosa e insegura, um dos ícones mais complexos do anime.

  • Misato Katsuragi – comandante carismática que tenta equilibrar liderança e vulnerabilidade.

  • Gendou Ikari – o pai ausente, arquétipo do controle e da frieza emocional.


🧩 Curiosidades

  • Hideaki Anno escreveu Evangelion durante uma crise depressiva, e o anime reflete sua própria luta psicológica.

  • O final original, de 1996, foi tão polêmico que gerou cartas de ódio e ameaças de fãs.

  • Em resposta, o criador lançou “The End of Evangelion” (1997) — um novo final brutal, simbólico e cinematograficamente poderoso.

  • O anime inspirou centenas de obras posteriores, inclusive Darling in the Franxx, RahXephon, Attack on Titan e até Serial Experiments Lain.


🧭 Dicas para Assistir

  1. Não veja com pressa. Evangelion é uma experiência emocional e filosófica.

  2. Assista a série original (26 episódios) e depois o filme The End of Evangelion.

  3. Se quiser revisitar com visual moderno, assista à tetralogia Rebuild of Evangelion (2007–2021).

  4. Tenha um bloco de notas — sim, você vai querer anotar interpretações e teorias.

  5. Depois do episódio 16… respire fundo. O anime mergulha no abismo da mente humana.


💬 Comentário Bellacosa

Evangelion não é “o melhor” apenas por sua técnica ou popularidade — é a obra que redefiniu o que o anime poderia ser.
Ele misturou ciência, religião, filosofia e dor humana de uma forma que o Japão nunca tinha visto antes.
Para muitos, é uma terapia em forma de animação; para outros, um colapso de símbolos e metáforas.
Mas para todos nós, é uma obra que te muda.
E se você entender Evangelion de primeira... talvez não tenha entendido nada.


🌠 Especial para os Fãs

  • A icônica trilha sonora “Cruel Angel’s Thesis” virou símbolo de toda uma geração.

  • A série é cheia de referências à Cabala, Gnosticismo, Freud e Jung.

  • O estúdio Gainax praticamente faliu após o projeto, mas deixou um legado eterno.

  • A cena do “Congratulations!” do episódio final virou meme universal de superação e confusão existencial.

  • O criador Hideaki Anno, após Evangelion, se dedicou a filmes de tokusatsu, incluindo Shin Godzilla (2016) e Shin Kamen Rider (2023).


Bellacosa conclui:
Evangelion é o espelho da alma otaku — quebrado, lindo e necessário.
Não é só o melhor anime da história... é a experiência que define o que é ser humano diante do caos.

quinta-feira, 12 de agosto de 2021

🌸 Flores nos Animes: quando a natureza fala o que o personagem não pode dizer

 


🌸 Flores nos Animes: quando a natureza fala o que o personagem não pode dizer

Quem nunca viu pétalas de cerejeira voando num anime e sentiu o coração apertar sem saber exatamente por quê?
Pois é, padawan… bem-vindo ao hanakotoba (花言葉) — a “linguagem das flores” japonesa, onde cada flor tem um significado oculto.

Enquanto no Ocidente as flores são decoração, no Japão elas são mensagens codificadas. E os animes usam isso o tempo todo, como um código emocional secreto.


🌸 Sakura (cerejeira) — a beleza que dura pouco

A flor mais icônica do Japão simboliza a vida efêmera, o fim e o recomeço.
Quando pétalas caem ao vento, é o universo dizendo que a beleza e a juventude são passageiras.
Por isso aparecem em despedidas, reencontros ou finais de arco emocional.

🎬 Exemplo: Your Lie in April, Naruto, Clannad, 5 Centimeters per Second.
💡 Dica: se você ver sakuras no fundo, prepare o lenço. Vai ter emoção.


🌻 Himawari (girassol) — o amor que segue a luz

Representa lealdade e admiração.
Nos animes, aparece em personagens otimistas, fiéis e radiantes.
O girassol “olha” para o sol — uma metáfora direta para quem busca a felicidade mesmo em tempos sombrios.

🎬 Exemplo: Naruto (personagem Himawari!), Honey and Clover.
💡 Curiosidade: nas escolas japonesas, girassóis são plantados no verão para simbolizar amizade e calor humano.


🌼 Kiku (crisântemo) — a flor imperial

Símbolo da família imperial japonesa e da dignidade.
Mas também é usada em funerais — sim, dualidade total!
Nos animes, seu uso depende da cor e contexto: branco = luto; dourado = honra e nobreza.

🎬 Exemplo: Rurouni Kenshin (momentos de sacrifício e honra).
💡 Dica Bellacosa: se o herói cair com crisântemos ao redor, é símbolo de partida honrada.


💐 Yuri (lírio) — pureza, amor e… algo mais

Originalmente símbolo da pureza feminina, o yuri no hana virou também o nome de um gênero inteiro de anime e mangá sobre amor entre mulheres.
Por isso, quando um lírio aparece em cena, é quase um “piscar de olhos” dos criadores ao público entendido. 🌸🌸

🎬 Exemplo: Maria-sama ga Miteru, Bloom Into You.
💡 Curiosidade: “yuri” significa literalmente lírio, mas o gênero se apropriou do termo como símbolo de amor puro e sincero entre garotas.


🌹 Bara (rosa) — paixão, orgulho e feridas

Simboliza amor intenso, mas também sofrimento.
É comum em personagens românticos, narcisistas ou trágicos — especialmente em obras de estética shoujo clássica.
E assim como o yuri, o bara também virou nome de gênero — representando histórias de amor entre homens.

🎬 Exemplo: Revolutionary Girl Utena, Yuri!!! on Ice.
💡 Dica: rosas vermelhas = paixão; brancas = promessa; murchas = adeus.


🌺 Tsubaki (camélia) — a flor do destino

Uma das mais usadas em cenas dramáticas.
Na cultura samurai, a camélia que cai inteira do galho simboliza morte súbita e honrada.
Por isso aparece em histórias de sacrifício, honra e redenção.

🎬 Exemplo: Rurouni Kenshin, Dororo, Samurai Champloo.
💡 Curiosidade: samurais evitavam dar camélias a vivos — só a guerreiros que partiram com glória.


🍁 Momiji (folhas de outono) — a passagem do tempo

Não é flor, mas é poesia pura.
As folhas vermelhas representam amadurecimento, nostalgia e o outono da vida.
Quando aparecem voando ao vento, é o Japão dizendo: “o tempo passou, e crescemos com ele.”

🎬 Exemplo: Natsume Yuujinchou, Mushishi, Inuyasha.
💡 Dica: veja como as cores das folhas combinam com o tom emocional da cena — não é acaso!


🌷 Resumo do Hanakotoba Otaku:

Flor / PlantaSignificadoTipo de Cena
Sakura 🌸Efemeridade, recomeçoDespedidas, lembranças
Himawari 🌻Fidelidade, alegriaEsperança, amor puro
Kiku 🌼Honra, lutoMorte nobre, tradição
Yuri 🌸Pureza, amor entre mulheresRelações sutis
Bara 🌹Paixão, orgulho, dorAmores trágicos
Tsubaki 🌺Destino, sacrifícioHonra, despedida
Momiji 🍁Maturidade, tempoReflexão, nostalgia

🌸 Conclusão Bellacosa:
Os japoneses transformaram a natureza em uma forma de linguagem.
Cada flor é uma palavra que floresce — às vezes um amor, às vezes uma saudade.
E quem aprende o hanakotoba, aprende a ouvir os sentimentos escondidos nos animes.

💡 Dica final:
Da próxima vez que vir pétalas voando ou flores murchando em câmera lenta, não veja só a estética.
Veja o código cultural — o Japão te falando em silêncio. 🌸✨


terça-feira, 27 de julho de 2021

🐙 GitHub Copilot — o “estagiário Jedi” do código (inclusive no Mainframe)

 

Github Copilot em review para mainframers

Um Café no Bellacosa Mainframe

Tema: 🐙GitHub Copilot — o “estagiário Jedi” do código (inclusive no Mainframe)


🤖 Afinal… o que é o GitHub Copilot?

Padawan, sente-se.
O GitHub Copilot é aquele colega que não dorme, não pede café e completa seu código antes de você terminar de digitar. Criado pelo GitHub em parceria com a OpenAI, ele é um assistente de programação baseado em IA, treinado com bilhões de linhas de código público.

Em termos simples (estilo operador de madrugada):

“Você começa a escrever… o Copilot adivinha o que vem depois.”

Ele funciona como um autocomplete turbinado, mas com cérebro. Não é só completar palavra — ele entende intenção, contexto, padrões e estilo.


O que faz o Github Copilot

🧠 O que o Copilot faz na prática?

  • ✍️ Sugere linhas inteiras de código

  • 🧩 Cria funções completas

  • 🔄 Converte comentários em código

  • 🧪 Ajuda a escrever testes

  • 📚 Sugere uso de APIs e bibliotecas

  • 🧹 Refatora código legado (sim, até aquele que ninguém quer mexer)

Tudo isso em tempo real, direto no editor.


🛠️ Onde ele funciona?

  • VS Code (o queridinho)

  • Visual Studio

  • JetBrains (IntelliJ, PyCharm etc.)

  • Neovim (para os monges do terminal 😄)


🎯 Exemplo simples (para Padawans)

Você digita:

# função que calcula fatorial

O Copilot responde:

def fatorial(n): if n == 0: return 1 return n * fatorial(n-1)

Magia?
Não. Machine Learning com café industrial ☕⚙️


💡 Dicas Bellacosa Mainframe (anota no caderninho)

  1. Comente bem o código
    → O Copilot AMA comentários claros.
    Comentário ruim = sugestão ruim.

  2. Não aceite tudo no automático
    → Ele é um estagiário gênio, não o arquiteto.

  3. Use como par de programação
    → Você pensa no “o quê”, ele sugere o “como”.

  4. Excelente para aprender linguagens novas
    → Ideal para Padawans curiosos.

  5. Ótimo para código repetitivo
    → CRUD, validação, parsing, boilerplate… ele faz sorrindo.


🥚 Easter Eggs & Curiosidades

  • 🐙 O nome Copilot vem da aviação:
    Ele ajuda, mas não pilota sozinho.

  • 👀 Ele aprende o estilo do seu projeto.

  • 🤐 Não tem memória pessoal: cada sugestão é baseada no contexto atual.

  • ⚠️ Já sugeriu código inseguro ou obsoleto — por isso, olho de sysprog!


🧓 E AGORA O QUE INTERESSA: GitHub Copilot no IBM Mainframe 😎

❓ “Bellacosa… isso funciona com COBOL?”

Resposta curta:
👉 SIM, MAS COM ASTERISCOS

Resposta longa (a que gostamos):


🖥️ Copilot + COBOL + Mainframe

✅ Onde ele ajuda MUITO

  • 📄 Escrita de código COBOL padrão

    • PERFORM

    • IF/ELSE

    • READ / WRITE

    • Estrutura de PROGRAM-ID, WORKING-STORAGE, etc.

  • 🧾 Conversão de lógica

    • Pseudocódigo → COBOL

    • Comentários → código

  • 🔁 Refatoração de código legado

    • Reduz GOTO

    • Sugere PERFORMs mais limpos

  • 🧪 Geração de programas de teste

    • Dados fictícios

    • Leitura sequencial simples


⚠️ Onde ele AINDA NÃO é Jedi Master

  • ❌ Não conhece seu layout VSAM específico

  • ❌ Não entende copybooks proprietários

  • ❌ Não sabe suas regras de negócio bancárias dos anos 80

  • ❌ Não substitui conhecimento de:

    • CICS

    • DB2 tuning

    • JCL complexo

    • RACF

    • Performance

👉 Aqui entra o Mainframer raiz 💪


📌 Exemplo prático COBOL

Você escreve:

* Ler arquivo de clientes e somar saldo

O Copilot pode sugerir algo como:

READ CLIENTES-FILE AT END MOVE 'S' TO EOF-FLAG NOT AT END ADD SALDO-CLIENTE TO TOTAL-SALDO END-READ.

É perfeito?
Não.

É um ótimo ponto de partida?
👉 SIM.


🧠 Copilot NÃO substitui o Mainframer

E isso precisa ficar claro no El Jefe Midnight:

O Copilot não sabe o que é um ABEND S0C7 às 2h da manhã.
Você sabe.

Ele acelera, mas não decide.
Ele sugere, mas não responde ao auditor.
Ele gera código, mas não conhece o cliente.


☕ Conclusão Bellacosa Mainframe

  • Para Padawans:
    👉 O Copilot é um mestre paciente, que ensina pelo exemplo.

  • Para Mainframers:
    👉 É um acelerador brutal de produtividade, se usado com juízo.

  • Para o futuro do Mainframe:
    👉 Uma ponte entre o legado respeitado e a nova geração.

O Mainframe não morreu.
Ele só ganhou um copiloto.