Translate

sábado, 18 de dezembro de 2021

O Mistério das Variáveis COMP e BINARY Quando Sherlock Holmes Descobre que o Verdadeiro Crime Nunca Foi o Código COBOL..

 

Bellacosa Mainframe e o cobol variaveis bynary e comp

☕ Um Café no Bellacosa Mainframe

O Mistério das Variáveis COMP e BINARY

Quando Sherlock Holmes Descobre que o Verdadeiro Crime Nunca Foi o Código COBOL... Foi Confundir Como os Números São Guardados na Memória

"Meu caro Watson... você observa um número. Eu observo como ele ocupa a memória."
— Sherlock Holmes, se tivesse trabalhado na IBM.


Introdução

Existem mistérios que desafiaram a humanidade durante séculos.

Quem foi Jack, o Estripador?

Onde está o Santo Graal?

Como Stonehenge foi construído?

Mas existe um enigma ainda mais intrigante para quem começa a programar em COBOL no IBM Mainframe.

Qual é a diferença entre COMP e BINARY?

À primeira vista parecem duas tecnologias diferentes.

Alguns livros usam COMP.

Outros usam BINARY.

Alguns dizem que um é antigo.

Outros afirmam que são iguais.

Há quem diga que COMP é mais rápido.

Há quem jure que BINARY é moderno.

Sherlock Holmes sorriria.

Porque esse é exatamente o tipo de caso onde as pistas estão todas espalhadas diante de nossos olhos.

Hoje vamos investigar este crime tecnológico.

Coloque seu chapéu de detetive.

Pegue sua lupa.

E venha até a Baker Street do IBM Z.

O jogo começou.



Capítulo 1 — A Cena do Crime

Watson chega ao laboratório.

Sobre a mesa existe um programa COBOL.

01 WS-IDADE PIC S9(4) COMP.

Ao lado existe outro.

01 WS-IDADE PIC S9(4) BINARY.

Watson pergunta:

— Holmes... qual deles é o correto?

Holmes acende o cachimbo.

Sorri.

E responde:

— Ambos.

Watson arregala os olhos.

— Como assim?

Holmes responde:

— Porque o verdadeiro mistério não está no nome.

Está na memória.


Capítulo 2 — O Primeiro Suspeito: DISPLAY

Antes de entender COMP precisamos compreender DISPLAY.

Imagine o número

12345

Quando declaramos

01 WS-NUMERO PIC 9(5).

o COBOL guarda exatamente cinco caracteres.

Na memória temos algo semelhante a:

+---+---+---+---+---+
| 1 | 2 | 3 | 4 | 5 |
+---+---+---+---+---+

Em hexadecimal:

F1 F2 F3 F4 F5

Cada dígito ocupa um byte.

É extremamente fácil de visualizar.

Mas existe um problema.

O processador IBM Z não faz contas com caracteres.

Ele faz contas com números binários.

Toda vez que executamos

ADD 1 TO WS-NUMERO

o compilador precisa:

  1. Ler caracteres.

  2. Converter para binário.

  3. Somar.

  4. Converter novamente.

  5. Escrever caracteres.

Sherlock olha para Watson.

— Muito trabalho para adicionar apenas um.


Capítulo 3 — O Verdadeiro Assassino: Conversão

Esse é o verdadeiro culpado.

Não é a instrução ADD.

Não é o compilador.

Não é o COBOL.

O culpado é a conversão.

Imagine fazer milhões de conversões por segundo.

Agora imagine um banco processando:

  • cartões

  • PIX

  • TED

  • boletos

  • empréstimos

  • seguros

  • previdência

Tudo ao mesmo tempo.

Cada conversão custa CPU.

CPU custa dinheiro.

Holmes fecha o caderno.

— Encontramos o motivo.

Agora falta descobrir a solução.


Capítulo 4 — Surge o BINARY

Ao invés de guardar

1
2
3

o computador resolve guardar

1111011

que é

123 decimal

Não existem caracteres.

Existe apenas o número.

O processador entende isso imediatamente.

Sem tradução.

Sem conversão.

Sem intermediários.

É exatamente isso que faz

USAGE BINARY

Capítulo 5 — E onde entra o COMP?

Watson encontra outra pista.

Um programa de 1987.

PIC S9(9) COMP.

Outro de 1994.

PIC S9(9) COMP.

Outro de 2026.

PIC S9(9) BINARY.

Holmes sorri.

— Encontramos nosso suspeito favorito.

COMP.


Capítulo 6 — A Revelação

Nos primórdios do COBOL, cada fabricante possuía suas próprias extensões.

IBM utilizava

COMP

Outros fabricantes preferiam

BINARY

Com o passar das décadas a IBM resolveu tornar o nome mais explícito.

Assim nasceu oficialmente

USAGE BINARY

Mas para preservar bilhões de linhas existentes...

COMP permaneceu funcionando.

Sherlock fecha a investigação.

COMP e BINARY.

Mesmo armazenamento.

Mesmo código gerado.

Mesmo desempenho.

Nomes diferentes.

Mesmo suspeito.



Capítulo 7 — A Anatomia do Binário

Vamos abrir o corpo...

...do número.

Suponha

PIC S9(4) COMP.

O valor

123

vira

00000000 01111011

São apenas dois bytes.

Enquanto DISPLAY precisava de quatro caracteres...

COMP usa somente dois bytes.

Economia de memória.

Economia de CPU.

Maior velocidade.


Capítulo 8 — Quantos Bytes?

Sherlock desenha na lousa.

DeclaraçãoBytes
S9(1) até S9(4)2
S9(5) até S9(9)4
S9(10) até S9(18)8

Curiosamente...

Mesmo que o número seja

1

um

PIC S9(18) COMP

continuará ocupando oito bytes.

Porque o espaço é reservado pelo tipo.

Não pelo conteúdo.


Capítulo 9 — O Cofre do Banco

Imagine um enorme banco.

Existem três cofres.

Primeiro cofre

DISPLAY.

Guarda tudo escrito.

Fácil de ler.

Difícil de calcular.


Segundo cofre

BINARY.

Guarda apenas números.

Perfeito para matemática.


Terceiro cofre

COMP-3.

Guarda cada dígito decimal exatamente.

Ideal para dinheiro.

Sherlock bate na mesa.

— Nunca misture os cofres.



Capítulo 10 — O Caso dos Centavos Perdidos

Suponha

19,99

Será que cabe perfeitamente em binário?

Não.

Assim como

1/3

não cabe exatamente em decimal.

Algumas frações decimais não possuem representação binária exata.

Por isso bancos usam

PIC S9(9)V99 COMP-3

Cada centavo é preservado.

Nenhum arredondamento inesperado.

Nenhum processo judicial.

Nenhum gerente desesperado.


Capítulo 11 — Quando Usar COMP?

Sherlock entrega uma lista.

✔ Contadores

✔ Loops

✔ Índices

✔ Número de registros

✔ Totalizadores inteiros

✔ Controle interno

✔ Sequenciadores

✔ Flags numéricas

✔ Códigos internos

✔ Chaves temporárias


Capítulo 12 — Quando NÃO Usar

Nunca para:

  • salários

  • juros

  • impostos

  • aplicações financeiras

  • câmbio

  • contas bancárias

Nesses casos...

COMP-3 reina absoluto.


Capítulo 13 — Um Passeio pela CPU do IBM Z

Quando o compilador encontra

ADD WS-A TO WS-B

com ambos em COMP/BINARY, ele pode gerar instruções nativas da arquitetura z/Architecture, como:

  • AH (Add Halfword)

  • A (Add)

  • AG (Add Grande)

  • AGR (Add Grande em Registrador)

O processador trabalha diretamente com inteiros binários.

É como entregar a Sherlock uma pista já traduzida.

Sem precisar chamar um intérprete.


Capítulo 14 — O Segredo que Quase Ninguém Conta

Existe uma razão histórica para encontrarmos milhões de variáveis COMP em sistemas bancários.

Durante décadas, praticamente toda a documentação IBM utilizava COMP.

Mesmo quando BINARY passou a existir, ninguém reescreveu bilhões de linhas de código.

Resultado?

Hoje encontramos programas escritos em 1985 que compilam sem qualquer alteração em um IBM z17.

Essa é uma das maiores demonstrações da retrocompatibilidade do ecossistema IBM.

Enquanto outras plataformas obrigam reescritas completas, o Mainframe preserva investimentos de décadas.

Esse talvez seja o maior "superpoder" do IBM Z.


Capítulo 15 — E o Misterioso COMP-5?

Watson acredita que o caso terminou.

Holmes sorri novamente.

— Ainda existe outro personagem.

COMP-5.

Ele também utiliza armazenamento binário.

Mas, diferentemente de COMP/BINARY, segue mais de perto a representação inteira nativa da máquina, sendo muito usado em interfaces de baixo nível, chamadas de sistema, APIs, rotinas em C e integrações específicas no z/OS.

Não substitui COMP.

É uma ferramenta especializada.

Mais um suspeito inocentado.


Capítulo 16 — Passo a Passo para Escolher o Tipo Correto

Imagine que você está criando uma variável. Faça estas perguntas:

1. É texto?

  • Use PIC X(...).

2. É um número apenas para exibição ou entrada do usuário?

  • Use DISPLAY (padrão).

3. É um contador, índice ou acumulador inteiro?

  • Use COMP ou BINARY.

4. Representa dinheiro, impostos, juros ou valores decimais exatos?

  • Use COMP-3.

5. Vai interoperar diretamente com APIs de baixo nível ou código em C?

  • Avalie COMP-5.

Seguindo esse roteiro, a chance de errar diminui drasticamente.


Curiosidades de Baker Street

Curiosidade 1

A maioria dos iniciantes acredita que COMP significa "Compact".

Na verdade, historicamente o nome está associado à ideia de Computational, indicando um formato otimizado para processamento interno.


Curiosidade 2

Milhões de programas COBOL escritos nas décadas de 1970 e 1980 ainda utilizam exclusivamente COMP.


Curiosidade 3

Você pode passar anos trabalhando em Mainframe sem nunca encontrar uma variável declarada explicitamente como BINARY, embora ela esteja sendo usada o tempo todo sob o nome COMP.


Curiosidade 4

Em dumps de memória (CEEDUMP, IPCS ou Abend-AID), reconhecer rapidamente um campo COMP pode acelerar muito a identificação de corrupção de dados e problemas de alinhamento.


Easter Eggs Bellacosa Mainframe 🕵️

🔎 221B Baker Street = SYS1.PROCLIB
É dali que começam muitas investigações importantes.

🔎 Dr. Watson = Programador Júnior
Sempre faz a pergunta certa, mesmo sem perceber.

🔎 Sherlock Holmes = Analista de Performance
Enxerga conversões de dados onde ninguém mais vê.

🔎 Professor Moriarty = CPU em 99%
O verdadeiro vilão pode estar escondido em milhões de conversões desnecessárias entre DISPLAY e BINARY.

🔎 Scotland Yard = Operação do CPD
Chega quando o incidente já aconteceu.

🔎 A lupa de Holmes = IPCS, Abend-AID, Fault Analyzer e SMF
Ferramentas que revelam pistas invisíveis ao olho comum.



Conclusão — O Caso Está Encerrado

Sherlock fecha o dossiê.

Watson observa as anotações.

A resposta era muito mais simples do que parecia.

COMP e BINARY não são rivais.

São duas faces da mesma moeda no Enterprise COBOL para IBM Z.

O verdadeiro aprendizado não é decorar palavras-chave, mas compreender como os dados vivem na memória. É essa compreensão que diferencia quem apenas escreve programas de quem realmente entende a plataforma.

Da próxima vez que você encontrar:

01 WS-CONTADOR PIC S9(9) COMP.

não enxergue apenas uma declaração.

Veja décadas de história da computação corporativa, bilhões de linhas de código preservadas, a elegância da retrocompatibilidade da IBM e um processador IBM Z executando operações binárias com precisão quase cirúrgica.

Porque, assim como Sherlock Holmes nunca resolvia um caso olhando apenas para o suspeito, um grande programador COBOL nunca olha apenas para a variável.

Ele observa o que está escondido por trás dela.

E é justamente ali, na memória, que mora o verdadeiro mistério.

O Grande Mistério da Memória

                 DADO COBOL
                     │
     ┌───────────────┼───────────────┐
     │               │               │
 DISPLAY         BINARY/COMP      COMP-3
     │               │               │
 Texto          Inteiro Binário   Decimal Empacotado

1) DISPLAY

Como o ser humano enxerga

Número:

12345

Na memória

+----+----+----+----+----+
| F1 | F2 | F3 | F4 | F5 |
+----+----+----+----+----+

ou

+---+---+---+---+---+
| 1 | 2 | 3 | 4 | 5 |
+---+---+---+---+---+

Cada caractere ocupa

1 BYTE

Total

5 BYTES

✔ Fácil leitura

✔ Fácil gravação em arquivos texto

❌ CPU precisa converter para fazer contas


2) COMP / BINARY

Número

12345

Decimal

12345

Binário

00110000 00111001

Na memória

+--------+--------+--------+--------+
|             12345                |
+--------+--------+--------+--------+

ou

00003039 (HEX)

Ocupa

4 BYTES

✔ Processador calcula diretamente

✔ Muito rápido

✔ Excelente para loops

✔ Excelente para contadores


Comparação Visual

DISPLAY

┌─┬─┬─┬─┬─┐
│1│2│3│4│5│
└─┴─┴─┴─┴─┘

COMP

┌─────────────────┐
│00003039 (HEX)   │
└─────────────────┘

Mesmo número.

Representações totalmente diferentes.


3) COMP-3 (Packed Decimal)

Número

12345

Na memória

+----+----+----+
|12|34|5C|
+----+----+----+

Cada byte guarda

2 dígitos

O último nibble

C

indica

positivo

Se negativo

D

Exemplo

12345

↓

12 34 5C

Ocupa

3 BYTES

Exemplo Financeiro

R$ 1523,87

COMP-3

152387C

Nenhum centavo perdido.

Nenhum arredondamento.

Precisão decimal absoluta.


4) COMP-5

Visualmente

COMP

┌────────────────┐
│ Inteiro Binário│
└────────────────┘

COMP-5

┌──────────────────────────────┐
│ Inteiro Nativo da Arquitetura│
└──────────────────────────────┘

Muito usado em

✔ APIs

✔ C

✔ LE

✔ Chamadas de Sistema

✔ Integração


Comparativo Geral

                 DISPLAY
                     │
        Fácil leitura humana
                     │
          Conversão obrigatória
                     │
             Mais CPU utilizada

              COMP/BINARY
                     │
         Número em Binário
                     │
        CPU calcula diretamente
                     │
             Muito rápido

                COMP-3
                     │
      Decimal Exato
                     │
      Ideal para dinheiro

                 COMP-5
                     │
     Binário da Arquitetura
                     │
      APIs e Baixo Nível

Quantidade de Bytes

DeclaraçãoDISPLAYCOMPCOMP-3
S9(4)423
S9(9)945
S9(18)18810

Velocidade

DISPLAY

READ

↓

Converter

↓

Somar

↓

Converter

↓

WRITE

CPU

██████████████████

COMP

READ

↓

SOMAR

↓

WRITE

CPU

██████

Quando usar?

DISPLAY

✔ Relatórios

✔ Tela

✔ Arquivos TXT

✔ Entrada do usuário


COMP/BINARY

✔ Contadores

✔ Índices

✔ Loops

✔ Acumuladores

✔ Controle interno


COMP-3

✔ Salário

✔ Juros

✔ PIX

✔ TED

✔ Bancos

✔ Impostos

✔ Contabilidade


COMP-5

✔ APIs

✔ DLL

✔ C

✔ LE

✔ z/OS

✔ Chamadas internas


Exemplo Real

01 WS-NOME        PIC X(30).
01 WS-IDADE       PIC S9(4) COMP.
01 WS-CONTADOR    PIC S9(9) BINARY.
01 WS-SALARIO     PIC S9(9)V99 COMP-3.
01 WS-API-CODE    PIC S9(9) COMP-5.

Fluxo da CPU IBM Z

               Programa COBOL
                     │
                     ▼
             Enterprise COBOL
                     │
                     ▼
        Instruções z/Architecture
                     │
     ┌───────────────┼───────────────┐
     ▼               ▼               ▼
 DISPLAY         COMP/BINARY      COMP-3
 Conversão      Soma Direta      Decimal Exato
     │               │               │
     └───────────────┴───────────────┘
                     ▼
                 Resultado

Regra de Ouro

É TEXTO?

↓

DISPLAY
É CONTADOR?

↓

COMP ou BINARY
É DINHEIRO?

↓

COMP-3
É API?

↓

COMP-5

Bellacosa Mainframe — Dica do Detetive 🕵️

Sherlock Holmes olharia para uma variável e perguntaria: "Como ela é armazenada?" Antes mesmo de perguntar "Qual é o seu valor?".

No universo do IBM Mainframe, o segredo da performance não está apenas no algoritmo, mas na escolha correta do formato de armazenamento. Saber quando usar DISPLAY, COMP/BINARY, COMP-3 ou COMP-5 é uma habilidade que diferencia um programador COBOL iniciante de um verdadeiro especialista em IBM Z.

sexta-feira, 17 de dezembro de 2021

As 20 Leis Secretas da Matrix da Engenharia de Software (Bizarres Rules)

 

Bellacosa Mainframe e as 20 leis secretas da Engenharia do Software

☕ Um Café no Bellacosa Mainframe

As 20 Leis Secretas da Matrix da Engenharia de Software - Bizarres Rules

O Guia do Programador COBOL Padawan para Sobreviver ao Universo dos Sistemas Legados Sem Ser Absorvido pelo Agente Smith

"Existem duas maneiras de aprender Engenharia de Software. A primeira é passando vinte anos corrigindo bugs em produção. A segunda é ouvindo aqueles que já passaram por isso. Este artigo tenta economizar duas décadas da sua vida."


Bem-vindo à Matrix, Padawan

Imagine a seguinte cena.

Você acabou de conseguir seu primeiro emprego como Programador COBOL.

Recebe acesso ao ambiente.

TSO.

ISPF.

CICS.

Db2.

JCL.

Tudo parece misterioso.

Então seu líder aponta para um programa com 180 mil linhas de código.

Ele sorri.

— Pequena manutenção.

Você abre o código.

O ventilador do computador começa a girar mais rápido.

Sua expressão muda.

Você pergunta:

— Quem escreveu isso?

A resposta vem imediatamente.

— Ninguém sabe.

Naquele instante o telefone toca.

É Morpheus.

— Neo... digo... Padawan...

Bem-vindo à Matrix da Engenharia de Software.


Existe um lado oculto da programação

Quando começamos a estudar programação, aprendemos:

  • IF

  • PERFORM

  • LOOP

  • SQL

  • APIs

  • Arquivos

  • Variáveis

Mas ninguém ensina algo muito mais importante.

Os padrões invisíveis.

Os comportamentos humanos.

Os erros que se repetem geração após geração.

As armadilhas psicológicas.

As decisões arquiteturais.

Essas "leis" não pertencem ao COBOL.

Nem ao Java.

Nem ao Python.

Elas pertencem à natureza humana.

E é justamente por isso que continuam válidas há décadas.


A Matrix é feita de padrões

No filme Matrix, Neo acredita que tudo acontece por acaso.

Depois descobre que existem regras invisíveis governando aquele universo.

Na Engenharia de Software acontece exatamente a mesma coisa.

Você acha que aquele sistema virou um caos "do nada".

Não virou.

Ele seguiu um padrão.

Sempre segue.


O Oráculo chama isso de experiência

Imagine o Oráculo olhando para um jovem desenvolvedor.

Ela não pergunta:

— Você sabe COBOL?

Ela pergunta:

— Quantas vezes você já viu um sistema quebrar exatamente da mesma forma?

Porque experiência não é decorar comandos.

É reconhecer padrões.


Conheça as 20 Leis Secretas da Matrix da Engenharia de Software

Cada uma delas parece engraçada.

Algumas possuem nomes estranhos.

Outras parecem piadas.

Mas todas escondem décadas de aprendizado acumulado.

Vamos atravessar esse espelho.


1 — Bus Factor

"E se o único que entende o sistema for atropelado por um ônibus?"

Essa lei nos lembra que conhecimento concentrado é um enorme risco.

Se apenas uma pessoa entende o sistema...

...o sistema pertence a ela.

Não à empresa.

O verdadeiro Jedi documenta.

Compartilha.

Ensina.

https://eljefemidnightlunch.blogspot.com/2020/05/o-fator-onibus-o-dia-em-que-um.html


2 — Technical Debt

Toda gambiarra possui juros.

Às vezes ela resolve o problema hoje.

Mas cobra muito mais amanhã.

Como diria o Oráculo:

"A dívida técnica nunca esquece seu endereço."

https://eljefemidnightlunch.blogspot.com/2021/10/technical-debt-rules-quando-um.html 


3 — Yak Shaving

Você abriu um chamado simples.

Cinco horas depois.

Está configurando Docker.

Atualizando certificado.

Mudando firewall.

Lendo RFC.

Esqueceu completamente o problema inicial.

Parabéns.

Você encontrou um Yak.

https://eljefemidnightlunch.blogspot.com/2021/09/yak-shaving-rules-quando-um-programador.html


4 — Bike Shedding

Reunião de duas horas.

Noventa minutos discutindo a cor do botão.

Cinco minutos falando da arquitetura.

O Agente Smith adora reuniões assim.

https://eljefemidnightlunch.blogspot.com/2021/08/bike-shedding-rules-quando-um.html


5 — Golden Hammer

Quando tudo parece prego...

...qualquer ferramenta vira martelo.

O Padawan aprende Java.

Quer resolver tudo com Java.

Aprende IA.

Agora tudo precisa de IA.

Aprende Kubernetes.

Até o bloco de notas vira microsserviço.

Calma.

Nem toda batalha precisa da Nebuchadnezzar.

https://eljefemidnightlunch.blogspot.com/2021/07/golden-hammer-rules-quando-um.html


6 — Cargo Cult Programming

CTRL+C.

CTRL+V.

Funcionou.

Mas...

Você sabe por quê?

Se não sabe.

Talvez esteja apenas repetindo um ritual.

Não programação.

https://eljefemidnightlunch.blogspot.com/2021/05/spaghetti-code-rules-quando-um.html


7 — Spaghetti Code

IF dentro de IF.

GO TO.

PERFORM.

Mais GO TO.

Mais IF.

O código parece um prato de macarrão.

Delicioso no almoço.

Horrível na manutenção.

https://eljefemidnightlunch.blogspot.com/2021/05/spaghetti-code-rules-quando-um.html


8 — Lasagna Code

Agora temos o problema contrário.

Camadas.

Mais camadas.

Mais camadas.

Mais uma camada.

No final.

Um IF precisa atravessar sete microsserviços para mudar um campo.

https://eljefemidnightlunch.blogspot.com/2021/03/lasagna-code-rules-quando-um.html


9 — Big Ball of Mud

É aquele sistema onde ninguém sabe explicar a arquitetura.

Funciona?

Funciona.

Como?

Boa pergunta.

https://eljefemidnightlunch.blogspot.com/2021/01/big-ball-of-mud-rules-quando-um.html


10 — God Object

Existe um programa chamado:

CLIENTE01.

Ele faz:

  • cadastro;

  • cobrança;

  • PIX;

  • cartão;

  • empréstimo;

  • café;

  • provavelmente também controla o clima.

Esse programa acredita ser o Escolhido.

Não é.

https://eljefemidnightlunch.blogspot.com/2020/11/god-object-rules-quando-um-programador.html


11 — Lava Flow

Código escrito em 1994.

Ninguém sabe para que serve.

Mas ninguém remove.

Vai que explode.

Então permanece.

Como lava endurecida.

https://eljefemidnightlunch.blogspot.com/2020/12/lava-flow-rules-quando-um-programador.html


12 — Boiling Frog

O sistema não piora de um dia para outro.

Vai ficando lentamente mais lento.

Mais complicado.

Mais difícil.

Quando percebemos.

Já estamos mergulhados na água fervendo.

https://eljefemidnightlunch.blogspot.com/2021/11/boiling-frog-rules-quando-um.html


13 — Death March

Prazo impossível.

Equipe pequena.

Escopo gigante.

Cliente ansioso.

Café infinito.

Dormir virou luxo.

Esse projeto nunca deveria ter começado assim.

https://eljefemidnightlunch.blogspot.com/2021/02/death-march-project-rules-quando-um.html


14 — Brooks's Law

O projeto está atrasado.

A solução?

Contratar vinte pessoas.

Resultado?

Agora existem vinte pessoas tentando entender o sistema.

E o atraso aumenta.

https://eljefemidnightlunch.blogspot.com/2020/09/brookss-law-rules-quando-um-programador.html


15 — Conway's Law

As equipes desenham software exatamente como se comunicam.

Se departamentos não conversam.

Os sistemas também não conversarão.

https://eljefemidnightlunch.blogspot.com/2020/08/conways-law-rules-quando-um-programador.html


16 — Murphy's Law

Tudo que pode falhar...

Vai falhar.

Especialmente sexta-feira.

Às 18h.

Cinco minutos antes da implantação.

Por isso existem testes.

https://eljefemidnightlunch.blogspot.com/2020/01/murphys-law-quando-um-programador-cobol.html


17 — KISS

Se ficou complicado demais...

Provavelmente existe uma solução mais simples.

Os melhores sistemas normalmente parecem óbvios.

Depois de prontos.

https://eljefemidnightlunch.blogspot.com/2020/02/kiss-rules-quando-um-programador-cobol.html


18 — YAGNI

"Vai que um dia precisamos..."

Essa frase já criou milhões de linhas de código inútil.

Implemente quando realmente precisar.

https://eljefemidnightlunch.blogspot.com/2020/07/yagni-rules-quando-um-programador-cobol.html


19 — DRY

Copiou.

Colou.

Copiou novamente.

Agora o bug existe em dezoito lugares diferentes.

Parabéns.

Você criou um exército de Agentes Smith.

https://eljefemidnightlunch.blogspot.com/2020/06/dry-rules-quando-um-programador-cobol.html


20 — SOLID

Os cinco pilares.

O alicerce.

A estrutura.

A arquitetura.

Sem eles.

O software continua funcionando.

Por algum tempo.

Depois...

A Matrix desaba.

https://eljefemidnightlunch.blogspot.com/2020/04/solid-roules-quando-um-programador.html


21 — Boy Scout Rule

Sim.

Ela veio depois.

Porque nenhum sistema melhora sozinho.

Toda vez que tocar em um programa.

Deixe-o um pouco melhor.

Nem que seja apenas renomeando uma variável.

https://eljefemidnightlunch.blogspot.com/2020/03/boy-scout-rule-quando-um-programador.html


O verdadeiro inimigo nunca foi a tecnologia

Perceba algo curioso.

Nenhuma dessas leis fala de:

COBOL.

Java.

Python.

Rust.

Go.

Todas falam sobre pessoas.

Porque software é uma atividade humana.


O Agente Smith mora dentro da nossa cabeça

Smith aparece quando pensamos:

  • "Depois eu arrumo."

  • "Só desta vez."

  • "Ninguém vai perceber."

  • "Pode copiar."

  • "Não precisa documentar."

  • "Vai funcionar."

É exatamente assim que grandes sistemas envelhecem.


Neo nunca venceu sozinho

Observe Matrix novamente.

Neo nunca salvou o mundo sozinho.

Precisou de:

  • Morpheus;

  • Trinity;

  • Oráculo;

  • Link;

  • Tank;

  • Niobe;

  • Sati;

  • Chaveiro.

Grandes sistemas também são construídos por equipes.


E onde entra o COBOL?

Em todos os lugares.

Os sistemas COBOL que movimentam bancos, seguradoras, bolsas de valores e governos não sobreviveram cinquenta anos porque alguém escreveu um código perfeito.

Eles sobreviveram porque milhares de engenheiros aplicaram — muitas vezes sem conhecer os nomes — esses princípios ao longo das décadas:

  • simplificaram;

  • documentaram;

  • removeram duplicações;

  • dividiram responsabilidades;

  • testaram;

  • compartilharam conhecimento;

  • fizeram pequenas melhorias contínuas.

É por isso que um programa COBOL de 1988 ainda pode estar processando milhões de transações diariamente.


O Convite do Oráculo

No final da jornada, o Oráculo entrega a Neo um pequeno caderno.

Na capa está escrito:

"As Leis Secretas da Engenharia de Software."

Neo pergunta:

— Depois que eu decorar todas elas, finalmente serei um grande programador?

Ela sorri.

— Não.

— Então para que servem?

Ela responde:

"Porque agora, quando encontrar um problema, você saberá dar um nome ao monstro. E quando um monstro tem nome, ele deixa de parecer invencível."


Continue Explorando a Matrix

Se este artigo despertou sua curiosidade, esta é apenas a porta de entrada.

Cada uma dessas vinte (e uma) regras esconde uma história fascinante, repleta de exemplos reais, armadilhas clássicas, curiosidades históricas e lições que moldaram a engenharia de software moderna.

Nos próximos artigos da série ☕ Um Café no Bellacosa Mainframe, vamos mergulhar em cada uma delas com profundidade, sempre sob a ótica de um Programador COBOL Padawan explorando os corredores da Matrix.

Você descobrirá por que projetos fracassam, como sistemas sobrevivem por décadas, o que diferencia arquiteturas elegantes de verdadeiros labirintos de código e, principalmente, como transformar conhecimento técnico em sabedoria prática.

A cada regra desvendada, você enxergará um pouco mais do código verde da Matrix.


Conclusão — A Matrix Sempre Esteve na Engenharia de Software

No primeiro filme, Morpheus diz a Neo que a Matrix está em toda parte.

Na Engenharia de Software acontece exatamente o mesmo.

Essas leis aparecem:

  • em pequenos scripts;

  • em APIs modernas;

  • em aplicações mobile;

  • em microsserviços;

  • em sistemas bancários;

  • em programas COBOL escritos há quarenta anos;

  • e até nas respostas geradas por Inteligências Artificiais.

Elas não são modismos.

São observações acumuladas por milhares de engenheiros que erraram, aprenderam, compartilharam e deixaram um mapa para quem veio depois.

Talvez você ainda não tenha encontrado todas essas situações.

Mas, acredite, se continuar programando, elas encontrarão você.

A boa notícia é que, agora, você já conhece seus nomes.

E isso faz toda a diferença.

No universo Bellacosa Mainframe, existe uma última frase escrita na parede da sala do Arquiteto:

"Todo Padawan começa aprendendo comandos. Todo Mestre termina reconhecendo padrões. Porque linguagens mudam, tecnologias envelhecem e frameworks desaparecem, mas as leis da Engenharia de Software continuam governando a Matrix muito depois que o último deploy termina."

Então pegue seu café.

Abra seu editor COBOL.

E venha explorar essas estranhas, divertidas e surpreendentemente verdadeiras regras da Engenharia de Software.

A Matrix está esperando por você.


quinta-feira, 16 de dezembro de 2021

Da USS Enterprise aos Containers: O Guia Definitivo do Programador COBOL Padawan para Entender Docker, DevOps e Cloud Computing

 

Bellacosa Mainframe e o docker sem misterios

☕ Um Café no Bellacosa Mainframe

🐳 Docker sem Mistérios

Da USS Enterprise aos Containers: O Guia Definitivo do Programador COBOL Padawan para Entender Docker, DevOps e Cloud Computing

"A lógica é o começo da sabedoria, não o fim."

Sr. Spock


Introdução — Bem-vindo à Sala de Teletransporte

Imagine que você acaba de embarcar na USS Enterprise.

Você é um jovem oficial recém-saído da Academia da Frota Estelar.

Seu trabalho é manter os computadores da nave funcionando.

No entanto...

A Enterprise não possui apenas um computador.

Ela possui centenas.

Existem computadores para:

  • Controle de navegação

  • Motores de Dobra

  • Sensores

  • Transporte

  • Comunicações

  • Holodeck

  • Engenharia

  • Laboratórios científicos

Todos precisam funcionar simultaneamente.

Mas imagine se, para executar um simples software de navegação, fosse necessário construir uma Enterprise inteira.

Foi exatamente assim que a computação funcionou durante décadas.

Cada aplicação precisava praticamente de um servidor inteiro.

Era desperdício.

Foi então que surgiu uma ideia revolucionária.

"E se pudéssemos empacotar apenas a aplicação e tudo aquilo que ela realmente precisa?"

Nasciam os containers.

E alguns anos depois...

O mundo conheceria uma pequena baleia azul chamada Docker.

Hoje, Docker é um dos pilares de DevOps, Cloud Computing, CI/CD, Kubernetes e da computação moderna.

Neste Café no Bellacosa Mainframe vamos entender absolutamente tudo, especialmente para quem vem do universo COBOL, JCL, CICS, Db2 e IBM Z.

Prepare seu café.

O computador da Enterprise já iniciou o boot.


Capítulo 1 — Antes do Docker

Durante muitos anos instalar software era um verdadeiro ritual.

Imagine um servidor Linux.

Você precisava instalar:

  • Java

  • Python

  • NodeJS

  • Apache

  • Bibliotecas

  • Drivers

  • Dependências

Depois disso...

Rezava para tudo funcionar.

Se alguém atualizasse uma biblioteca...

Seu programa quebrava.

Era comum ouvir:

"Na minha máquina funciona."

Essa frase virou praticamente uma piada mundial.

O problema não era o código.

Era o ambiente.


Capítulo 2 — O Grande Problema

Imagine três aplicações.

Sistema A

Java 8

Sistema B

Java 17

Sistema C

Java 21

Todos no mesmo servidor.

Cada uma exige versões diferentes.

Resultado?

Conflitos.

Muito parecidos com programas COBOL compilados com runtimes incompatíveis.

No IBM Z isso sempre foi tratado com enorme cuidado.

No mundo distribuído...

Era um caos.


Capítulo 3 — A Solução Chamada Container

Container significa isolamento.

Cada aplicação leva consigo:

  • bibliotecas

  • dependências

  • configuração

  • runtime

Tudo empacotado.

Sem interferir nas demais.

É como colocar cada programa em sua própria cabine da Enterprise.

Todos dividem a nave.

Mas ninguém invade o espaço do outro.


Capítulo 4 — Máquina Virtual x Container

Durante anos usamos máquinas virtuais.

Servidor

↓

Hypervisor

↓

Windows

↓

Aplicação

Docker mudou completamente.

Servidor

↓

Linux

↓

Docker Engine

↓

Containers

Não existe outro sistema operacional inteiro.

Existe apenas:

  • processo

  • isolamento

  • filesystem

Resultado?

Inicialização em segundos.

Pouca memória.

Baixíssimo consumo.


Curiosidade

O kernel Linux enxerga um container apenas como um processo.

Nada mais.

Esse é um dos maiores segredos do Docker.


Capítulo 5 — O Docker Engine

O Docker Engine é o capitão da nave.

Ele administra:

  • containers

  • imagens

  • volumes

  • redes

  • armazenamento

  • execução

Sem ele...

Nada acontece.


Capítulo 6 — Dockerfile

O Dockerfile é uma receita culinária.

Exemplo:

FROM ubuntu

RUN apt update

RUN apt install python3

COPY app.py .

CMD ["python3","app.py"]

Ele diz exatamente como montar a aplicação.

No mundo Mainframe ele lembra bastante:

  • PROC JCL

  • CLIST

  • REXX

  • Script SMP/E

  • Job de instalação


Capítulo 7 — O Processo Completo

Tudo segue uma sequência lógica.

Dockerfile

↓

docker build

↓

Imagem

↓

docker run

↓

Container

Jamais confunda.

Dockerfile não executa.

Imagem não executa.

Quem executa é o container.


Capítulo 8 — O Mistério das Imagens

Imagem é um template.

Ela é imutável.

Pense em:

  • ISO

  • Backup

  • Snapshot

  • Golden Image

Você cria uma única imagem.

Depois gera cem containers.

Todos iguais.

Essa repetibilidade é um dos grandes segredos do DevOps.


Capítulo 9 — docker build

docker build -t web .

Significa:

Construa uma imagem usando o Dockerfile localizado no diretório atual.

"-t"

significa Tag.

Exemplo:

bellacosa/site:v1

Capítulo 10 — docker images

Lista todas as imagens.

docker images

Saída típica:

REPOSITORY

TAG

IMAGE ID

SIZE

Pense nisso como um catálogo de módulos carregáveis.


Capítulo 11 — docker pull

O Docker Hub funciona como uma biblioteca mundial.

docker pull nginx

Baixa uma imagem pronta.

Sem instalar manualmente.

Sem configurar dependências.

Sem sofrimento.


Curiosidade

O Docker Hub possui milhões de imagens.

Mas...

Nem todas são oficiais.

Sempre prefira imagens verificadas.


Capítulo 12 — docker run

Provavelmente o comando mais famoso.

docker run nginx

Ele cria:

Imagem

Container

Nunca altera a imagem.


Principais parâmetros

-d

Modo background.

docker run -d nginx

Muito parecido com iniciar um Started Task no z/OS.


-p

Mapeamento de portas.

-p 8080:80

Host

8080

Container

80


--name

docker run --name web nginx

Muito melhor que decorar IDs enormes.


-e

Variáveis de ambiente.

-e DB_USER=admin

-v

Volumes.

-v dados:/var/lib/mysql

Sem volumes...

Os dados desaparecem ao remover o container.


Capítulo 13 — docker ps

docker ps

Lista apenas containers ativos.

Muito parecido com observar tarefas em execução no ambiente operacional.


docker ps -a

Mostra também:

  • encerrados

  • falhados

  • pausados

É excelente para troubleshooting.


Capítulo 14 — docker logs

Todo administrador aprende isso rapidamente.

Quando algo falha...

Primeiro comando:

docker logs

É equivalente ao programador COBOL abrir imediatamente:

  • JESMSGLG

  • JESJCL

  • SYSOUT

  • CEEDUMP

  • SDSF

Os logs contam a história do que aconteceu.


Capítulo 15 — docker exec

docker exec -it web bash

Agora você entra literalmente dentro do container.

Como abrir um terminal remoto exclusivo daquele ambiente.

Muito útil para:

  • investigar arquivos

  • executar comandos

  • validar configurações


Capítulo 16 — docker stop

Encerra um container.

Primeiro envia um SIGTERM.

Dá tempo para o programa finalizar corretamente.

Caso ignore...

Recebe SIGKILL.

Muito semelhante a uma finalização controlada antes de um cancelamento forçado.


Capítulo 17 — docker rm

Remove containers.

Mas apenas se estiverem parados.

Fluxo típico:

docker stop web

docker rm web

Capítulo 18 — docker rmi

Remove imagens.

docker rmi nginx

Só funciona se ninguém estiver usando aquela imagem.


Capítulo 19 — docker system prune

O famoso botão vermelho.

docker system prune -a

Remove:

  • cache

  • containers

  • imagens

  • redes não utilizadas

  • artefatos temporários

Libera dezenas de gigabytes.

Mas...

Muito cuidado.


Capítulo 20 — Comandos que Todo Profissional Usa

docker inspect

Mostra praticamente tudo.

IPs.

Volumes.

Redes.

JSON completo.


docker stats

Monitoramento em tempo real.

CPU

RAM

Rede

Disco

É semelhante a consultar métricas de desempenho em ferramentas de monitoramento corporativas.


docker top

Lista processos internos.


docker cp

Copia arquivos.

Host

Container

Container

Host


docker restart

Reinicia.


docker start

Liga novamente um container parado.


docker pause

Congela processos.


docker unpause

Retoma execução.


docker network ls

Lista redes.


docker volume ls

Lista volumes persistentes.


docker history

Mostra todas as camadas da imagem.

Excelente para otimização.


Capítulo 21 — Como Docker Funciona Internamente

Pouca gente sabe...

Mas um container não é uma máquina virtual.

Ele utiliza recursos do próprio kernel Linux, como:

  • Namespaces

  • Control Groups (cgroups)

  • OverlayFS

  • Union File Systems

Essas tecnologias isolam processos, redes, usuários e sistemas de arquivos sem a necessidade de um sistema operacional completo por container.

É por isso que containers iniciam em poucos segundos e consomem muito menos memória que VMs tradicionais.


Capítulo 22 — Docker e DevOps

Docker revolucionou o DevOps porque eliminou um dos maiores problemas da engenharia de software: ambientes inconsistentes.

Hoje é possível:

  • Desenvolver localmente.

  • Testar em homologação.

  • Implantar em produção.

Tudo usando exatamente a mesma imagem.

Isso torna pipelines de CI/CD previsíveis e reproduzíveis.


Capítulo 23 — Docker no Mundo Mainframe

Você pode pensar:

"Mas eu trabalho com COBOL no IBM Z. O que Docker tem a ver comigo?"

A resposta é: muito.

Mesmo que aplicações COBOL rodem diretamente no z/OS, Docker é amplamente utilizado para hospedar ferramentas que fazem parte do ecossistema de desenvolvimento moderno:

  • Jenkins para automação de builds e deploys.

  • SonarQube para análise estática de código.

  • GitLab e Gitea para repositórios Git.

  • Nexus e Artifactory para gerenciamento de artefatos.

  • Bancos PostgreSQL, MariaDB e MongoDB para aplicações satélite.

  • Ambientes de testes para APIs REST que consomem serviços do z/OS Connect EE.

  • Ferramentas como Zowe CLI, Ansible e utilitários DevOps.

Assim, Docker não substitui o mainframe: ele o complementa, oferecendo um ecossistema ágil ao redor do IBM Z.


Boas Práticas

  • Use imagens oficiais sempre que possível.

  • Evite executar containers como usuário root.

  • Versione seus Dockerfiles junto com o código-fonte.

  • Utilize tags específicas (nginx:1.28) em vez de latest para garantir previsibilidade.

  • Mantenha imagens pequenas, removendo dependências temporárias.

  • Faça limpeza periódica de recursos não utilizados com cautela.


Curiosidades

  • O mascote do Docker chama-se Moby Dock, uma baleia carregando contêineres.

  • Docker foi lançado em 2013 pela empresa dotCloud.

  • O formato de imagens e containers inspirou o padrão aberto OCI (Open Container Initiative).

  • Embora muita gente diga que "Kubernetes usa Docker", atualmente o Kubernetes conversa com runtimes compatíveis com OCI, como containerd e CRI-O, mantendo compatibilidade com imagens Docker.

  • Muitas distribuições Linux modernas já trazem ferramentas de containers integradas, mostrando como esse modelo se tornou um padrão da indústria.


Easter Egg Bellacosa Mainframe

No universo de Star Trek, o computador da USS Enterprise isola centenas de subsistemas críticos — navegação, comunicações, sensores, suporte de vida e controle dos motores de dobra — para que uma falha em um deles não comprometa toda a nave.

Os containers seguem exatamente essa filosofia: cada aplicação roda em um ambiente isolado, compartilhando apenas os recursos essenciais do sistema operacional. Se um serviço apresentar problemas, os demais continuam operando normalmente.

Essa ideia também ecoa no IBM Z. Assim como LPARs, z/VM e mecanismos de isolamento permitem executar múltiplas cargas de trabalho com segurança e eficiência, os containers oferecem isolamento leve e portabilidade para aplicações modernas.

Missão do Padawan COBOL: quando você entender que Docker não é apenas um conjunto de comandos, mas uma forma diferente de pensar a infraestrutura, terá dado um importante salto rumo ao universo de DevOps. Afinal, tecnologias mudam, ferramentas evoluem, mas os princípios de isolamento, automação, repetibilidade e confiabilidade permanecem — exatamente como ensinaria o Sr. Spock na ponte da Enterprise. 🚀

quarta-feira, 15 de dezembro de 2021

🥄 O Som dos Panelaços

 


🥄 O Som dos Panelaços

Por Vagner Bellacosa Mainframe

Havia silêncio demais em 2020.
As ruas vazias, os carros parados, o medo suspenso no ar como poeira de um mundo que de repente esqueceu de respirar.
E então, veio o som — o som metálico, áspero, ritmado: o barulho das panelas.

Era o som do homem comum.
Não o das elites, nem dos discursos;
era o som de quem perdeu o chão, o trabalho, o costume de abraçar.
De quem se trancou em casa e, pela primeira vez, percebeu o tamanho da própria solidão.
Os panelaços foram o desabafo coletivo de um país confinado, um grito dentro das janelas.

Cada bairro ecoava como uma tribo.
Em alguns, era protesto;
em outros, catarse.
Alguns batiam contra o governo;
outros batiam contra o destino.
Mas no fundo, todos batiam contra a mesma coisa:
a sensação de impotência.

Porque o homem moderno, acostumado a controlar tudo — o tempo, o corpo, o dinheiro —
descobriu que não controlava nada.
E então, restou-lhe o som.
A batida repetida de uma colher contra o metal.
Uma música primitiva, de raiva e medo, que atravessava a noite e subia pelos prédios como uma oração pagã.

As panelas eram o novo tambor tribal.
O novo Twitter das sacadas.
O eco do desespero travestido de cidadania.
Enquanto o vírus espalhava invisibilidade, o som trazia presença.
Era o “estamos vivos” de quem já não tinha o que dizer.

Houve quem chamasse de “ato político”, quem zombasse, quem ignorasse.
Mas, sob qualquer análise, aquele ruído era puro instinto social
o barulho de um povo que ainda queria existir, ainda que à distância.
Porque o silêncio mata mais devagar que a doença, mas mata.

E, como tudo, passou.
As panelas se calaram.
Vieram as eleições, as crises, as novas pautas, os novos medos.
O som se perdeu, mas deixou rastro.
Talvez nunca mais voltemos a ouvir o país inteiro batendo panelas,
mas aquele eco — aquele som metálico de frustração e esperança —
ainda vive em cada brasileiro que, por alguns minutos,
sentiu-se parte de algo maior do que o próprio isolamento.

Os panelaços foram o retrato fiel de quem somos:
emocionais, desorganizados, passionais, ruidosos,
mas vivos — e ainda tentando se entender.

quinta-feira, 9 de dezembro de 2021

☕ Do “Curtir” ao Controle: A Metamorfose Sombria do Facebook

 

Bellacosa Mainframe e o curtir ao controle das redes sociais

Do “Curtir” ao Controle: A Metamorfose Sombria do Facebook

Como a rede que prometeu conectar o mundo acabou dividindo a humanidade


🧩 Introdução — A utopia azul

Era uma ideia simples, quase inocente:
“E se pudéssemos reunir todas as pessoas do mundo em uma só rede?”

Assim nasceu o Facebook, em 2004, no dormitório de Harvard.
Um projeto universitário de um jovem introspectivo chamado Mark Zuckerberg, que queria aproximar pessoas, compartilhar memórias e criar uma nova forma de comunicação.

A ideia pegou fogo.
Em 10 anos, o mundo estava conectado — da aldeia mais remota da Ásia ao escritório mais moderno de Nova York.
Mas, como toda utopia humana, o sonho de conectar corações tropeçou na ganância de manipular mentes.


💰 1. O DNA do problema: o produto era você

Desde o início, o Facebook nasceu com um defeito ético embutido:
o usuário não era o cliente — era o produto.

A empresa precisava de uma fonte de receita.
A publicidade digital parecia inofensiva, até que se descobriu que, para vender anúncios, era preciso conhecer você — o que gosta, o que teme, o que odeia, com quem fala, o que lê, o que ignora.

Assim nasceu o capitalismo de vigilância, conceito brilhantemente descrito por Shoshana Zuboff em The Age of Surveillance Capitalism.
Segundo ela, as empresas de tecnologia começaram a coletar, prever e manipular o comportamento humano como se fosse matéria-prima industrial.

O resultado?
Cada curtida virou dado.
Cada reação, lucro.
Cada emoção, um ativo financeiro.


🧠 2. O algoritmo aprendeu o que somos — e o que tememos

O Facebook descobriu que a emoção é mais rentável que a informação.
Postagens neutras geram tédio.
Já o medo, a raiva e a indignação mantêm o dedo rolando — e o dinheiro circulando.

Então o algoritmo foi “treinado” para amplificar o que mais nos afeta.
O resultado foi um mundo emocionalmente inflamável:

  • As pessoas começaram a ver apenas o que confirma suas crenças;

  • As bolhas ideológicas se solidificaram;

  • E o diálogo foi substituído pelo embate.

Como observou o pesquisador Tristan Harris (ex-designer ético do Google):

“As redes sociais não estão competindo por seu dinheiro, mas por sua atenção — e a atenção humana é mais facilmente conquistada pelo medo.”


🏛️ 3. Da publicidade à manipulação política

Foi questão de tempo até que alguém percebesse:
se dá pra vender um tênis, dá pra vender um candidato.

Durante o Brexit (2016) e as eleições dos EUA (2016), o mundo viu o nascimento de uma nova arma: a engenharia social algorítmica.
A empresa Cambridge Analytica coletou ilegalmente dados de mais de 87 milhões de usuários para criar propagandas políticas personalizadas, explorando medos e emoções individuais.

As campanhas não convenciam — condicionavam.
O eleitor não pensava, reagia.
E, em uma ironia cruel, a rede que nasceu para unir democracias acabou corroendo a confiança nelas.


🧨 4. O pacto silencioso com o caos

O Facebook sabia.
Relatórios internos mostravam que o algoritmo estava radicalizando usuários, promovendo fake news e discursos de ódio.
Mas intervir significava reduzir engajamento — e, portanto, lucro.

Então a empresa escolheu o silêncio.
Como diria um analista da própria Meta em 2018:

“O que é tóxico para a sociedade é lucrativo para nós.”

Foi assim que o “Curtir” virou uma arma de manipulação emocional em massa.
A rede social transformou-se no maior experimento psicológico não autorizado da história.


🌍 5. O mundo fragmentado e a solidão conectada

Nunca estivemos tão conectados — e nunca fomos tão solitários.
Vivemos em um mundo digitalmente interligado, mas emocionalmente desintegrado.
As fronteiras físicas caíram, mas as ideológicas se ergueram.

Cada pessoa vive agora dentro de sua realidade personalizada, moldada por algoritmos invisíveis que decidem o que vemos, sentimos e acreditamos.
A verdade virou questão de opinião.
E a opinião virou produto.

O filósofo Byung-Chul Han define isso como a “sociedade da transparência”:

“Vivemos expostos, medidos, quantificados — e voluntariamente escravizados pelo prazer de sermos vistos.”


☕ Epílogo — O despertar digital

O Facebook não foi apenas uma empresa. Foi um espelho.
E, como todo espelho, refletiu o que somos: curiosos, carentes, ansiosos, contraditórios.

A guinada para o “lado negro da força” não foi apenas tecnológica — foi humana.
A tecnologia apenas deu escala àquilo que sempre existiu em nós:
a vaidade, o medo, o desejo de pertencer e a tentação de controlar.

A lição que fica é simples e amarga:

“A ferramenta não é má. Mas, quando a ética dorme, o algoritmo acorda.”

O desafio do século XXI não é desconectar-se,
é reaprender a usar a conexão com consciência, limite e empatia.


📚 Curiosidades Bellacosa

  • Cambridge Analytica foi fundada em 2013 e dissolvida em 2018, após o escândalo global de manipulação política.

  • Mark Zuckerberg depôs no Senado dos EUA em 2018, mas a empresa nunca perdeu relevância — apenas mudou de nome: Meta.

  • Em 2021, ex-funcionária Frances Haugen divulgou documentos internos mostrando que o Facebook sabia dos danos psicológicos do Instagram em adolescentes.

  • Estima-se que o Facebook detenha dados de mais de 3 bilhões de pessoas, mais do que qualquer governo da história humana.


🧭 Conclusão Bellacosa

O Facebook começou como uma rede de amigos.
Hoje é um espelho global das fragilidades humanas — um experimento sobre poder, emoção e controle.

A “força” sempre esteve lá, mas foi o lado humano que escolheu como usá-la.

O futuro não depende do algoritmo, mas da consciência coletiva.
E talvez, um dia, consigamos fazer da tecnologia novamente um meio de aproximar almas — não de vendê-las.

sexta-feira, 3 de dezembro de 2021

🎌🌈 Por que tantos fãs de anime são LGBT+?

 🎌🌈 Por que tantos fãs de anime são LGBT+?



Uma reflexão Bellacosa sobre identidade, espelhos e liberdade na cultura otaku.


🎭 O Espelho das Emoções

Existe uma coisa mágica no anime: ele fala com o coração antes de falar com a lógica.
E é justamente por isso que tantos fãs LGBT+ se sentem acolhidos — porque o anime reflete sentimentos de diferença, transformação e autoaceitação que muitas pessoas vivem por dentro.

Séries como Revolutionary Girl Utena, Wandering Son ou Given não têm medo de tocar em temas de gênero, amor e identidade.
São histórias que dizem, sem precisar gritar:

“Tudo bem ser diferente. Tudo bem ser você.”


🌐 O Fandom como Refúgio

Durante anos, comunidades de anime foram refúgios digitais para quem se sentia deslocado.
No Tumblr, fóruns ou Discord, jovens encontraram espaço para desenhar, escrever e sonhar — sem julgamento.
Muitos descobriram ali que eram gays, bi, trans ou não-binários, assistindo a personagens que quebravam regras invisíveis da sociedade.

💬 “Percebi que era trans vendo Ranma mudar de corpo.”
💬 “Me senti visto pela primeira vez em Yuri on Ice.”

Essas frases não são coincidência — são a tradução emocional de um fenômeno cultural.


🎨 Estética e Liberdade

A cultura visual japonesa adora desafiar fronteiras:
bishounen (rapazes belos e andróginos), magical girls, personagens gender bender e visuais que misturam força e delicadeza.
Essa fluidez estética abre espaço para quem não cabe nas caixinhas do “menino ou menina”, “hétero ou gay”.

💡 Exemplos icônicos:

  • Howl (O Castelo Animado) — beleza livre e fluida.

  • Astolfo (Fate/Apocrypha) — charme andrógino que conquistou o fandom.

  • Sailor Uranus e Neptune — casal que inspirou gerações antes mesmo de o tema ser aceito na TV ocidental.


📊 O Que Dizem as Tendências

Pesquisas em convenções e redes sociais mostram que a comunidade LGBT+ é majoritária em muitos fandoms de anime.
Mas isso não quer dizer que anime “torne” ninguém LGBT+.
O que acontece é que o anime acolhe, representa e inspira — e por isso tanta gente encontra ali um espelho do que sente.


🧩 Filosofia Bellacosa

O anime é um laboratório da alma.
Ele permite experimentar identidades, amores e mundos onde ser diferente não é um problema, mas uma força.

No fim das contas, a correlação entre anime e LGBT+ não é biológica — é emocional e simbólica.
O anime não muda quem você é; ele te ajuda a enxergar quem você sempre foi.


Bellacosa Conclui:
Anime é arte da empatia, e empatia é a linguagem universal da liberdade.
Por isso, onde há um coração otaku, quase sempre há também um arco-íris de possibilidades.

quarta-feira, 1 de dezembro de 2021

A Comunidade LGBT+ e os animes

 


🎭 1. Representação e Identificação

Muitos animes — especialmente os gêneros shoujo, yaoi (BL), yuri (GL), isekai gender-bender, ou slice of life alternativoexploram temas de identidade, aceitação e transformação, coisas com as quais pessoas LGBT+ frequentemente se identificam.
💡 Exemplo:

  • Revolutionary Girl Utena” (1997) trata de papéis de gênero e amor fora dos padrões.

  • Wandering Son (Hourou Musuko)” fala sobre disforia e identidade de gênero.

  • Given” e “Yuri on Ice” tratam relacionamentos homoafetivos de forma sensível e natural.

Essas obras oferecem espelhos emocionais que nem sempre estão disponíveis em mídias ocidentais.


🧠 2. Espaço Seguro e Comunidade Online

O fandom de anime cresceu em comunidades digitais acolhedoras, especialmente nos anos 2000-2010 (Tumblr, DeviantArt, Twitter, Discord).
Ali, pessoas LGBT+ encontraram um espaço para expressar identidade e criatividade (fanarts, fanfics, cosplay) sem o mesmo julgamento que enfrentavam no mundo real.

💬 É comum ouvir:

“Descobri que era gay enquanto assistia Yuri on Ice.”
“Percebi que era trans porque me identifiquei com Ranma.”


🌈 3. Estética, Liberdade e Androginias

A cultura visual japonesa brinca muito mais com gênero e aparência.
Personagens andróginos, visual kei, bishounen, magical girls, crossplay, tudo isso expande os limites da masculinidade e feminilidade.

💡 Exemplo:

  • Howl, de O Castelo Animado, é um ícone de beleza fluida.

  • Astolfo, de Fate/Apocrypha, virou símbolo de charme andrógino moderno.

Essa fluidez atrai quem se sente fora das caixinhas tradicionais de gênero e orientação.


🎬 4. Dados e Tendências

Pesquisas informais (como enquetes no Reddit, Twitter, e conventions de anime) mostram que a proporção de pessoas LGBT+ em comunidades otaku é bem acima da média populacional.
Mas isso reflete acolhimento e afinidade, não causalidade.


💡 5. Curiosidade Sociológica

Alguns pesquisadores de cultura pop japonesa apontam que:

  • A ficção japonesa permite experimentação identitária num ambiente seguro e simbólico.

  • O Japão, embora ainda conservador em leis LGBT+, produz narrativas que testam limites de gênero muito mais do que o Ocidente fazia até pouco tempo.


☕ Conclusão Bellacosa:

O anime não “cria” LGBT+, mas cria um espelho onde muita gente finalmente se reconhece.

É um espaço de imaginação, empatia e liberdade estética — terreno fértil para quem busca entender e expressar quem é.
Por isso, a conexão entre anime e a comunidade LGBT+ é emocional, simbólica e culturalmente poderosa, não biológica.

Vagner Renato Bellacosa, IBM Champion e especialista em IBM Mainframe
IBM Z17 SYSTEM ONLINE
Sobre o autor

Vagner Renato Bellacosa

IBM Champion 2026 • Especialista em IBM Mainframe

Vagner Renato Bellacosa trabalha com IBM Mainframe desde 1988 , é IBM Champion e especialista em COBOL, CICS, Db2, z/OS e IBM Z. Compartilha experiências profissionais, conhecimento técnico, história da computação e práticas do universo mainframe para aproximar novas gerações das tecnologias que sustentam empresas, bancos e governos ao redor do mundo.

IBM Champion IBM Z COBOL CICS Db2 z/OS Mainframe desde 1988
GitHub LinkedIn
Inicializando conteúdo...