✨ Bem-vindo ao meu espaço! ✨
Este blog é o diário de um otaku apaixonado por animes, tecnologia de mainframe e viagens.
Cada entrada é uma mistura única: relatos de viagem com fotos, filmes, links, artigos e desenhos, sempre buscando enriquecer a experiência de quem lê.
Sou quase um turista profissional: adoro dormir em uma cama diferente, acordar em um lugar novo e registrar tudo com minha câmera sempre à mão.
Entre uma viagem e outra, compartilho também reflexões sobre cultura otaku/animes
Bellacosa Mainframe e as aventuras de um gato bem curioso
Um gato bem curioso
Um gato preto cheio de curiosidade
A brincadeira continua dessa vez temos um quarto cheio de gatos... com um gato pretinho bem mansinho e muito curioso que a todo momento queria pegar a camera...
Os bichanos ficaram maluquinhos com a filmagem, muita curiosidade e tentando descobrir o por que do palhaço ficar miando.
📝 Nota especial — O gato que queria operar a câmera
Revendo este vídeo tantos anos depois, percebo que naquele quarto havia dois experimentos acontecendo simultaneamente.
Nós estávamos observando os gatos.
E os gatos estavam estudando a gente.
O ambiente já era suficientemente interessante: um quarto cheio de bichanos, cada um reagindo àquela movimentação do seu próprio jeito.
Mas havia um pequeno gato preto particularmente curioso.
Mansinho.
Atento.
E aparentemente convencido de que aquela câmera precisava urgentemente passar por uma auditoria felina.
Eu apontava a câmera para ele.
Ele vinha investigar a câmera.
Eu afastava.
Ele aproximava.
Provavelmente, se tivesse polegar opositor, em algum momento teria assumido a filmagem.
🐈⬛ O verdadeiro diretor
Para nós, aquilo era uma câmera.
Para ele?
Um objeto estranho.
Com lente.
Movimentando-se.
Apontando para todo mundo.
Segurado por um humano suspeito.
Naturalmente precisava ser inspecionado.
GATO_PRETO.CURIOSIDADE = 100%
CAMERA = OBJETO_SUSPEITO
DISTANCIA_DA_LENTE = DIMINUINDO
OPERADOR_HUMANO = SOB_INVESTIGAÇÃO
E quanto mais eu filmava, mais curioso ele ficava.
🤡 Então havia o palhaço que miava
Porque aparentemente colocar vários gatos dentro de um quarto não era suficientemente estranho.
Precisávamos também de um palhaço miando.
E aí imagino a reunião extraordinária do conselho felino:
— Miau?
— Miau.
— MIAU?!
Alguns olhavam.
Outros procuravam.
Alguns tentavam descobrir de onde vinha aquele som.
Porque existe algo profundamente errado, do ponto de vista de um gato, quando você escuta outro gato...
mas encontra um palhaço.
Isso claramente exigia investigação.
📹 E novamente a câmera guardou aquilo que ninguém planejou guardar
Naquele momento era apenas brincadeira.
Gatos curiosos.
Um pretinho querendo pegar a câmera.
Um palhaço miando.
Risadas.
Bagunça.
Nada particularmente importante.
Até o tempo passar.
Então o vídeo muda.
Você deixa de assistir apenas ao que aconteceu e começa a observar detalhes.
O quarto.
Os objetos.
As vozes.
Os bichanos.
A maneira como brincávamos.
E aquele pequeno gato preto, eternamente curioso, aproximando-se outra vez da lente.
🐈⬛ BICHANO = CURIOSO
🤡 PALHAÇO = MIANDO
📹 CAMERA = SOB_ATAQUE
🐱 GATOS = MALUQUINHOS
❤️ MEMORIA = RECUPERADA
Talvez ele nunca tenha descoberto por que o palhaço estava miando.
Também não conseguiu descobrir exatamente o que havia dentro daquela câmera.
Mas uma coisa ele conseguiu.
Sem saber.
Entrou para o backup.
E tantos anos depois ainda podemos apertar PLAY e encontrar aquele pequeno gato preto chegando novamente bem pertinho da lente...
curioso para descobrir que diabos Vaguinho estava fazendo com aquele negócio. 🐈⬛📹
Bellacosa Mainframe e o festival brasil japao na nipo campinas
Festival Brasil Japão e uma visão pela parte cultural.
Uma das expressões artísticas mais bonitas do oriente: o Origami... desde garoto sou apaixonado por esta arte que da vida ao papel.
Iniciei com folhas arrancadas do caderno e acertadas com régua até o ponto de comprar papel para dobradura. Quando tenho a oportunidade de apreciar estes lindos trabalhos, não me contenho e volto a infância.
No clube Nipo no festival Brasil Japão teve esta pequena exposição com diversos trabalhos e aproveitei que estava no mezanino e filmei a feira oriental.
Acho pena que poucas pessoas sabem destes eventos. A exposição deste ano foi um ótimo pretexto para sair de casa e aproveitar o belo sábado.
Bellacosa Mainframe e a dança folclorica japonesa na festa nipo campinas
Espantando pássaros nos campos de arroz
Uma tradicional dança japonesa, que foi criada para espantar pássaros dos campos de arroz.
Apresentada por crianças na 12° Festival do Japao no clube Nipo de Campinas, quem adora a cultura oriental este programa foi o máximo, desde a deliciosa culinária japonesa, passando pelas artes de pintura, escultura, origamis. Ate mercado de produtos orientais.
Convido os meus amigos a visitarem e aproveitarem o máximo esta visita ao pais do Sol Nascente.
Normalcy Bias: Doctor Who, COBOL e o Dia em que Tudo Já Estava Pegando Fogo — Mas a Gente Ainda Achava que Era Só um Pico
Uma viagem pela TARDIS dos incidentes para entender por que, diante de sinais anormais, nosso cérebro prefere acreditar que tudo continuará funcionando como sempre — e como essa tendência pode atrasar escaladas, evacuações, failovers, DR, decisões críticas e até a simples coragem de admitir que a realidade mudou
02:13.
War Room ainda:
não existe.
Esse detalhe importa.
Na sala de operações:
um monitor começa a piscar.
PAYMENT LATENCY:
NORMAL = 180ms
NOW = 950ms
Operador:
— Subiu bastante.
Colega:
— Deve ser pico.
02:15.
PAYMENT LATENCY:
1.800ms
— Está subindo.
— Final de lote talvez.
02:17.
ERROR RATE:
2.1%
— Erro também.
— Às vezes acontece.
02:20.
MQ QUEUE DEPTH:
NORMAL = 80
NOW = 2.400
Nosso jovem programador COBOL pergunta:
— Isso ainda é normal?
Operador:
— Normal, normal não.
— Então?
— Vamos observar mais cinco minutos.
Ah.
Os cinco minutos mais famosos:
da tecnologia.
02:25.
Queue:
5.800.
Timeout:
subindo.
Cliente:
ligando.
Ainda assim:
— Talvez estabilize.
VWORP.
VWORP.
VWORP.
A TARDIS aparece ao lado do console.
A porta abre.
O Doctor sai.
Olha:
para os gráficos.
Depois:
para a equipe.
— Há quanto tempo isso está acontecendo?
— Uns doze minutos.
— E o que fizeram?
— Estamos monitorando.
Doctor:
— Por quê?
— Pode voltar ao normal.
Ele olha novamente para:
a curva vertical.
— Claro.
Pausa.
— E se não voltar?
Silêncio.
Nosso jovem responde:
— Aí escalamos.
Doctor:
— Quando?
— Quando ficar realmente grave.
Doctor aponta:
para 5.800 mensagens.
“E como exatamente vocês definirão ‘realmente grave’ sem usar a definição de cinco minutos atrás?”
Bem-vindo ao:
Normalcy Bias
ou:
Viés da Normalidade.
Em linguagem Bellacosa:
é quando o cérebro vê sinais de que o mundo mudou, mas continua executando o runbook mental do mundo antigo porque aceitar a ruptura parece mais difícil do que esperar mais um pouco.
🧠 O que é Normalcy Bias?
Normalcy Bias é a tendência de:
subestimar;
minimizar;
ou demorar a aceitar
uma ameaça ou ruptura porque:
esperamos que as coisas continuem funcionando aproximadamente como sempre funcionaram.
É especialmente discutido em:
desastres;
emergências;
evacuações;
crises.
Mas em TI:
cabe perfeitamente.
Porque incidentes começam frequentemente:
não com:
explosão.
Mas com:
anomalias.
☕ O cérebro adora continuidade
Ontem:
funcionou.
Hoje cedo:
funcionou.
Nos últimos:
100 dias,
funcionou.
Então, quando algo estranho aparece:
a primeira aposta mental é:
“vai voltar.”
Isso não é irracional por definição.
Muitos picos:
realmente voltam.
O problema está:
quando a evidência muda
e a crença:
não.
💻 COBOL cognitivo
Imagine:
IF SYSTEM-STATUS = 'DEGRADED'
MOVE 'TEMPORARY'
TO INTERPRETATION
END-IF.
Depois:
IF SYSTEM-STATUS = 'WORSE'
MOVE 'STILL-TEMPORARY'
TO INTERPRETATION
END-IF.
Depois:
IF CUSTOMER-IMPACT = 'HIGH'
MOVE 'PROBABLY-RECOVER'
TO INTERPRETATION
END-IF.
E finalmente:
IF PRODUCTION = 'DOWN'
PERFORM OPEN-WAR-ROOM
END-IF.
Um pouco tarde.
🧠 Normalcy Bias não significa covardia
Importante.
Não é:
“pessoa fraca.”
É uma forma de:
modelo mental.
Nosso cérebro usa:
experiência passada
para prever:
próximo minuto.
Na maior parte do tempo:
isso funciona.
É exatamente por isso que:
o viés existe.
☕ O problema não é:
esperar estabilidade.
É:
continuar esperando estabilidade
depois que os sinais começaram a negar essa hipótese.
👻 Easter Egg nº 1 — Dalek tranquilo
Companion:
— Doctor, existem três Daleks no corredor.
Doctor:
— Interessante.
— Não vamos correr?
— Talvez sejam turistas.
— Eles estão gritando “EXTERMINATE”.
— Um pouco agressivos.
— Agora dispararam.
— Talvez seja demonstração cultural.
Companion:
— Normalcy Bias?
Doctor:
— Sim. E provavelmente meu último.
🧠 Normalcy Bias e incident response
Pense no começo clássico:
CPU +10%
LATENCY +20%
ERROR +1%
QUEUE +300%
Nada isoladamente:
apocalíptico.
Então:
ninguém quer apertar:
P1.
Porque:
P1 custa.
War Room.
Escalation.
Exec.
Vendor.
Possível impacto reputacional.
A tendência:
esperar confirmação.
Mas a confirmação pode chegar:
como incidente grande.
🎯 Pergunta Bellacosa nº 1
“Estamos esperando evidência suficiente — ou estamos esperando uma evidência tão grande que já venha acompanhada do desastre?”
🧠 Thresholds ajudam
Se definição de severidade:
é subjetiva,
Normalcy Bias cresce.
“Está feio?”
“Mais ou menos.”
“Já escalamos?”
“Talvez daqui a pouco.”
Use:
thresholds.
🧠 Exemplo
IF ERROR RATE > 2%
AND QUEUE > 2000
AND CUSTOMER IMPACT > 5 MIN
THEN OPEN MAJOR INCIDENT
Agora:
menos debate emocional.
☕ Regra escrita em tempo calmo
protege do cérebro:
em tempo ruim.
🧠 Mas cuidado com Metric Fixation
Threshold não:
vira universo.
Se realidade:
claramente ruim,
não espere:
2.00%
porque está:
1.98%.
Need judgment.
🎯 Pergunta Bellacosa nº 2
“O threshold é um gatilho mínimo ou uma desculpa para não agir antes?”
🧠 Normalcy Bias e Status Quo Bias
Status Quo Bias prefere:
estado atual.
Normalcy Bias presume:
estado familiar vai continuar.
São próximos.
Mas Normalcy Bias:
especialmente útil em crise.
🧠 Anchoring também entra
Baseline:
normal.
Ele vira:
âncora.
Quando sistema sai:
ajustamos devagar.
“É só 20% pior.”
Depois:
50%.
Depois:
100%.
Ainda pensamos:
a partir do normal.
☕ O normal vira:
gravidade.
Mesmo quando:
sistema já escapou da órbita.
🧠 Hindsight Bias depois vai ser cruel
Durante:
— Vamos esperar.
Depois do incidente:
— Era óbvio que deveríamos ter escalado.
Hindsight.
Veja a ironia:
Normalcy Bias antes.
Hindsight depois.
🎯 Pergunta Bellacosa nº 3
“Estamos dando à equipe um critério claro para agir antes, ou vamos julgá-la depois com informação retrospectiva?”
🧠 Outcome Bias também participa
A equipe esperou.
Sistema recuperou sozinho.
Resultado:
bom.
Conclusão:
“esperar foi certo.”
Talvez:
sorte.
Outcome Bias.
Agora:
próximo incidente,
esperam.
Dessa vez:
não recupera.
☕ Sucesso anterior
pode treinar:
lentidão futura.
🧠 Risk Compensation
“Das outras vezes voltou.”
Confiança.
Less urgency.
Pode:
aumentar exposição.
🧠 Confirmation Bias
A hipótese é:
“é transitório.”
Então buscamos:
sinais de recuperação.
Um gráfico melhora:
2%.
— Está voltando!
Outro piora:
50%.
— Ainda oscilando.
Perfeito.
🎯 Pergunta Bellacosa nº 4
“Estamos procurando sinais de estabilização porque eles existem ou porque queremos muito que a situação seja temporária?”
🧠 Narrative Bias
Criamos:
história tranquilizadora.
“Fim de lote.”
“Pico comercial.”
“Network jitter.”
“GC.”
Essas histórias podem:
ser plausíveis.
Problema:
viram anestesia.
☕ Uma boa explicação temporária
pode atrasar:
a busca por uma explicação real.
🧠 Search Satisfaction
Encontramos:
“pico de CPU.”
Pronto.
Explica.
Não escalamos.
Maybe:
not.
🧠 Premature Closure
“É pico normal.”
Close.
Incident keeps growing.
🧠 Diagnosis Momentum
Handoff:
“transient spike.”
Next shift:
receives.
Now:
momentum da normalidade.
🎯 Pergunta Bellacosa nº 5
“O próximo turno recebeu fatos ou recebeu a interpretação tranquilizadora do turno anterior?”
🧠 Normalcy Bias e “isso sempre acontece”
Frase clássica.
Mas:
quão parecido?
Baseline.
Duration.
Magnitude.
Scope.
🧠 Compare quantitatively
Hoje:
queue 5.800.
Normal peaks:
Não diga:
“sempre sobe.”
Escala importa.
☕ Uma vela
e um incêndio florestal
ambos têm:
fogo.
Não são:
o mesmo evento.
🎯 Pergunta Bellacosa nº 6
“Isto é do mesmo tipo de fenômeno normal, mas em uma magnitude que já mudou o significado?”
🧠 Normalcy Bias e slow-moving incidents
Alguns incidentes:
crescem devagar.
Memory leak.
Queue backlog.
Storage exhaustion.
Certificate expiry.
Trend:
lento.
Perigoso porque:
cada minuto parece:
ligeiramente pior.
Não há:
momento teatral.
☕ Sapos e água quente?
A metáfora popular do sapo é biologicamente ruim.
Então:
vamos deixar o pobre sapo em paz.
Use:
drift.
🧠 Drift Into Failure
Sistema vai:
perdendo margem.
Tudo ainda:
funciona.
Até:
não.
Normalcy Bias ajuda:
aceitar drift.
🎯 Pergunta Bellacosa nº 7
“Estamos olhando apenas o estado atual ou também a velocidade com que estamos perdendo margem?”
🧠 Trend matters
CPU:
80%
not necessarily critical.
But:
70 → 75 → 80 → 85
every minute.
That:
is different.
☕ Um número é:
foto.
Trend:
filme.
Em crise:
filme importa.
🧠 Normalcy Bias e observability
Dashboard built:
green/yellow/red.
Yellow:
often ignored.
Because:
not red.
But:
yellow may be:
early warning.
🎯 Pergunta Bellacosa nº 8
“Nosso sistema de alerta trata degradação como informação ou apenas queda como informação?”
🧠 Alert fatigue piora
Se yellow fires:
todo dia,
people learn:
ignore.
Then:
real event.
Normalcy Bias supported by:
tooling.
Not only brain.
☕ Se tudo alerta
nada alerta.
🧠 Signal-to-noise again
Improve:
quality.
Otherwise:
“já vimos isso.”
🧠 Normalcy Bias e Black Swan
Careful.
Not every unexpected event:
Black Swan.
But rare events:
challenge expectation.
The key:
past frequency not proof of future impossibility.
🎯 Pergunta Bellacosa nº 9
“Estamos tratando ‘nunca aconteceu’ como evidência de baixa probabilidade ou como prova de impossibilidade?”
🧠 Mainframe reliability paradox
Systems highly reliable:
create confidence.
Good.
But:
long stability can make teams:
less psychologically ready
for real rupture.
☕ Quanto mais tempo sem incêndio
mais estranho parece:
alarme verdadeiro.
🧠 Normalcy Bias em DR
No disaster:
for years.
DR:
seen as ceremony.
Then:
actual.
People may initially:
try normal operations.
Delay:
declaration.
🧠 Declare disaster threshold
Need:
clear.
🎯 Pergunta Bellacosa nº 10
“O que exatamente precisa acontecer para declararmos DR — e todos sabem isso?”
🧠 DR activation
If criteria vague:
fear of overreaction.
Delay.
Normalcy.
☕ Declarar cedo parece:
exagero.
Declarar tarde parece:
óbvio erro.
É por isso que:
precommitment ajuda.
🧠 Normalcy Bias e failover
Primary degrading.
Team:
waits.
Because failover:
risky.
Makes sense.
But waiting too long:
may reduce failover success.
Need:
decision thresholds.
🎯 Pergunta Bellacosa nº 11
“Estamos preservando opcionalidade ou consumindo a janela em que a opção de failover ainda é segura?”
🧠 Option value
Act before:
state deteriorates too much.
Huge.
🧠 Normalcy Bias e backups
Data corruption detected.
First reaction:
maybe localized.
Continue processing.
Corruption spreads.
Need:
containment.
☕ Às vezes o primeiro passo não é:
consertar.
É:
parar de piorar.
🧠 Containment mindset
Normalcy says:
keep business.
Resilience says:
maybe isolate.
🎯 Pergunta Bellacosa nº 12
“Continuar operando está preservando serviço ou ampliando o dano?”
🧠 Normalcy Bias em security
One suspicious login.
Maybe noise.
Then:
more.
Analyst:
wait.
Because declaring:
incident
costly.
Attack:
moves.
Need:
containment threshold.
🧠 Security normalcy
Users have anomalies.
Most:
benign.
That makes:
real intrusion hard.
🎯 Pergunta Bellacosa nº 13
“Quais sinais combinados transformam um evento comum em uma hipótese de comprometimento real?”
🧠 Correlation helps
One:
weak.
Several aligned:
strong.
🧠 Normalcy Bias em fraude
One anomalous transaction:
maybe.
50:
not.
But if each individually:
reviewed,
normalization occurs.
Need aggregate.
☕ Incidentes distribuídos
podem parecer:
normais localmente
e anormais:
globalmente.
🎯 Pergunta Bellacosa nº 14
“Estamos vendo eventos isolados ou o padrão agregado?”
🧠 Normalcy Bias e silos
Each team:
sees own metrics:
slightly weird.
No one:
sees global.
Thus:
each says:
“normal enough.”
War Room starts late.
🧠 End-to-end observability
Antidote.
☕ Cinco equipes com:
5% de anomalia
podem formar:
100% de desastre.
🧠 Normalcy Bias e Principal-Agent
A team may delay escalation:
because escalation impacts:
KPI.
SLA.
reputation.
Now normalcy gets:
incentive.
🧠 Campbell / Goodhart
If P1 count:
punishes team,
teams may:
wait.
Reclassify.
Danger.
🎯 Pergunta Bellacosa nº 15
“Nosso sistema de incentivos torna psicologicamente ou politicamente caro declarar que a situação deixou de ser normal?”
🧠 This is huge
If saying:
“P1”
makes manager look bad,
then bias:
institutional.
☕ A organização pode:
treinar Normalcy Bias.
🧠 Normalcy Bias e leadership
Leader:
“não quero alarmismo.”
Team:
underreacts.
Or leader:
“escalem cedo.”
Culture:
different.
🎯 Pergunta Bellacosa nº 16
“A liderança penaliza falsos alarmes mais do que atrasos de escalada?”
🧠 False positive trade-off
Need balance.
Too many escalations:
fatigue.
Too late:
impact.
Calibrate.
🧠 Normalcy Bias e “wait and see”
Wait-and-see can be:
valid strategy.
But only if:
explicit.
Define:
wait 5 minutes;
monitor X;
if Y:
escalate.
Not:
indefinite.
☕ “Vamos observar”
só é plano
se tiver:
condição de saída.
🎯 Pergunta Bellacosa nº 17
“O que precisa acontecer para encerrarmos o ‘vamos observar’?”
🧠 Time-box uncertainty
Great technique.
OBSERVE UNTIL 02:25
IF QUEUE > 3000 OR ERR > 2%
THEN ESCALATE
Now:
controlled.
🧠 Normalcy Bias e Need for Control
Accepting crisis:
means admitting:
loss of control.
Uncomfortable.
So:
we keep:
normal procedures.
☕ “Ainda está sob controle”
às vezes significa:
“ainda não aceitamos que não está.”
🧠 Illusion of Control
Console available.
Commands.
So:
feels:
manageable.
Maybe:
not.
🎯 Pergunta Bellacosa nº 18
“Estamos dizendo que está sob controle porque temos ações disponíveis ou porque os indicadores realmente respondem às ações?”
🧠 Normalcy Bias e Action Bias
Interesting contrast.
Normalcy:
delay action.
Action Bias:
act too quickly.
How reconcile?
Different people/times.
At start:
normalcy.
Later panic:
action bias.
Classic incident curve:
underreact early, overreact late.
☕ Primeiro:
“espera.”
Depois:
“restart tudo.”
Maravilhoso.
🧠 This is key
Good incident management seeks:
measured early action
to avoid:
desperate late action.
🎯 Pergunta Bellacosa nº 19
“Estamos usando a hesitação inicial para criar exatamente a emergência que depois justificará ações brutais?”
🧠 Normalcy Bias e Risk Compensation
Past recoveries:
build belief:
system self-heals.
Then:
delay.
🧠 “It always recovers”
Until:
doesn't.
🎯 Pergunta Bellacosa nº 20
“Quantas recuperações anteriores foram realmente autocorreção do sistema e quantas foram sorte ou intervenção invisível?”
🧠 Normalcy Bias e technical debt
Known warning.
System works.
Years.
So:
“not urgent.”
Debt grows.
Then:
failure.
This is Normalcy Bias in slow motion.
☕ “Nunca deu problema”
é:
argumento fraco
contra:
risco estrutural.
🧠 Cultural Debt
A decision:
still feels normal
because:
identity built.
Changing means:
admit world changed.
Normalcy Bias + Cultural Debt.
🎯 Pergunta Bellacosa nº 21
“Estamos preservando essa prática porque ainda funciona ou porque admitir que o contexto mudou ameaça nossa identidade operacional?”
🧠 Normalcy Bias e legacy modernization
System:
reliable.
But skills:
shrinking.
Dependencies:
aging.
No outage.
Management:
“fine.”
Normalcy.
Risk:
future.
☕ Ausência de incidente
não é:
ausência de tendência.
🧠 Leading indicators
Track:
staffing;
supportability;
vendor EOL;
recovery time;
test coverage.
Not:
only outages.
🎯 Pergunta Bellacosa nº 22
“Quais indicadores antecipam perda de resiliência antes que ela apareça como incidente?”
🧠 Normalcy Bias e capacity planning
Peak grows:
month by month.
Still below:
limit.
So:
fine.
Then:
cross.
Need forecast.
🧠 Trend beats status
Again.
☕ Capacidade não falha:
quando chega a 100%.
Falha:
quando margem desaparece.
🎯 Pergunta Bellacosa nº 23
“Estamos monitorando utilização ou tempo restante até perdermos margem?”
🧠 Normalcy Bias e certificates
Perfect example.
Certificate:
expires in:
30 days.
Then:
Then:
Still works.
So:
normal.
Until:
00:00.
No gradual degradation.
Cliff.
☕ O sistema pode:
parecer perfeitamente normal
um segundo antes:
de parar.
🧠 Deadline risks
Certificates.
Licenses.
Disk.
Password expiry.
Contract.
Calendar events.
Need:
proactive.
🎯 Pergunta Bellacosa nº 24
“Existe algum risco binário que não dá sinais graduais antes da ruptura?”
🧠 Normalcy Bias e exponential growth
Queues.
Retries.
Virus spread.
Incidents.
Early:
small.
Then:
explosive.
Human intuition:
linear.
Danger.
🧠 Example
100
200
400
800
1600
3200
At 200:
looks small.
But trend:
terrifying.
☕ Exponencial é:
educado no começo.
Depois:
cobra juros.
🎯 Pergunta Bellacosa nº 25
“Estamos interpretando crescimento exponencial com intuição linear?”
🧠 Normalcy Bias e retry storms
One failure:
retry.
More load.
More failure.
Loop.
If early anomaly treated:
normal,
cascade.
🧠 Feedback loops
Important.
🎯 Pergunta Bellacosa nº 26
“Esse desvio possui mecanismo de autoamplificação?”
If yes:
act earlier.
🧠 Normalcy Bias e cascading failure
Initial:
minor.
Secondary:
major.
Early containment:
cheap.
Late:
hard.
☕ Pequena anomalia
pode:
não ser pequeno risco.
🧠 Normalcy Bias e SRE error budgets
Error budget:
helps quantify.
If burn rate:
spikes,
trigger.
Great anti-normalcy.
🧠 Burn rate
Not only:
current error.
Trajectory.
🎯 Pergunta Bellacosa nº 27
“Qual é a velocidade de consumo da nossa margem de erro?”
🧠 Normalcy Bias e AI monitoring
AI says:
“anomaly score 0.62.”
Human:
meh.
Need:
context.
AI can:
help detect pattern earlier.
But:
Automation Bias also.
🧠 Don't outsource escalation blindly
Model:
may miss.
Human:
may normalize.
Need:
combined.
🎯 Pergunta Bellacosa nº 28
“A IA está detectando mudança de regime ou apenas variação dentro do regime histórico?”
🧠 Change-point detection
Technical term useful.
When system shifts:
new regime.
Not just:
noise.
☕ Talvez devêssemos pensar:
“isso ainda pertence à mesma distribuição?”
Senior question.
🧠 Normalcy Bias e AI assistants
Prompt:
“Is this normal?”
Danger.
Model may compare:
past.
Better:
“what evidence suggests regime change?”
🎯 Pergunta Bellacosa nº 29
“Estamos pedindo à IA para tranquilizar ou para desafiar a hipótese de normalidade?”
🧠 Confirmation again
Normalcy hypothesis:
“temporary.”
Ask AI:
“why might this be transient?”
Gets:
reasons.
Don't.
🧠 Scenario generation
Ask:
what severe scenarios fit?
What signs discriminate?
☕ Não use IA
como:
calmante corporativo.
🧠 Normalcy Bias e incident severity review
Severity should:
update.
Not:
anchor.
🧠 Dynamic escalation
P3 → P2 → P1
Need:
rules.
🎯 Pergunta Bellacosa nº 30
“Se este incidente começasse agora com os dados atuais, ainda o classificaríamos da mesma forma?”
🧠 Normalcy Bias e communication
Early communication:
“We are investigating elevated latency.”
Good.
Not:
“everything fine.”
Avoid:
premature reassurance.
🧠 Transparency
Can say:
impact uncertain.
☕ “Ainda não sabemos”
é melhor que:
“não é nada”
sem evidência.
🧠 Normalcy Bias e public incidents
Organizations sometimes:
delay communication
because:
hope recovery.
Then:
trust loss.
Need:
criteria.
🎯 Pergunta Bellacosa nº 31
“Estamos adiando comunicar porque o impacto é realmente pequeno ou porque ainda esperamos que desapareça antes de precisarmos admitir?”
🧠 Normalcy Bias e vendor incidents
Vendor says:
“intermittent.”
We believe.
Maybe:
because convenient.
Need:
own evidence.
🧠 Independent telemetry
Again.
☕ “Fornecedor disse normal”
não:
restaura cliente.
🧠 Normalcy Bias e testing
Test environment shows:
occasional failure.
Team:
flaky test.
Maybe.
But flaky can:
signal race.
If repeatedly dismissed:
incident later.
🎯 Pergunta Bellacosa nº 32
“Chamamos de flakiness porque demonstramos ruído ou porque investigar seria caro?”
🧠 Flaky tests
Great example.
Sometimes:
bad test.
Sometimes:
real nondeterminism.
Don't normalize.
🧠 Normalcy Bias e warnings
Compiler warning.
Runtime warning.
Repeated.
People:
ignore.
Then:
failure.
Warning fatigue.
☕ Warning que nunca dói
vira:
papel de parede.
🎯 Pergunta Bellacosa nº 33
“Este warning continua sem consequência ou apenas não vimos ainda a consequência?”
🧠 Normalcy Bias e memory leaks
System restarts weekly.
Everyone:
normal.
Why?
Because:
always restart.
But:
that's workaround.
Cultural Debt.
🧠 Workaround becomes normal
Again.
🎯 Pergunta Bellacosa nº 34
“Estamos chamando de operação normal algo que já depende de intervenção recorrente para continuar funcionando?”
🧠 This is big
Normality can:
include hidden heroics.
If person leaves:
“normal” collapses.
☕ Normal não é:
aquilo que parece estável.
É:
aquilo que é sustentável.
🧠 Normalcy Bias e human staffing
On-call person:
always fixes.
No incidents visible.
Management:
fine.
Single point.
Normalcy.
🎯 Pergunta Bellacosa nº 35
“Quanta intervenção humana invisível é necessária para manter o que chamamos de normal?”
🧠 Normalcy Bias and Cultural Debt again
Heroic routines:
become:
identity.
“É assim mesmo.”
Risk.
🧠 Normalcy Bias e compliance
Control exceptions:
rare.
Then:
routine.
“Tem aprovação informal.”
Normalizes.
Eventually:
audit/security issue.
🎯 Pergunta Bellacosa nº 36
“Quando uma exceção repetida deixou de ser exceção e virou processo real?”
🧠 Normalization of Deviance teaser
This leads naturally to:
Normalization of Deviance.
Normalcy Bias:
denies abnormal event.
Normalization of Deviance:
turns abnormal behavior into normal practice.
Close relatives.
☕ Normalcy Bias:
“isso não é crise.”
Normalization of Deviance:
“isso nem é desvio.”
Beautiful distinction.
🧠 Normalcy Bias e Change Blindness?
Different concept.
But metaphorically:
gradual change less noticed.
Still:
not same.
Don't confuse.
🧠 Normalcy Bias e cognitive load
Under stress:
people may:
stick to familiar routine.
Procedures:
help.
But if procedure assumes:
normal operation,
problem.
Need:
emergency mode.
🎯 Pergunta Bellacosa nº 37
“Temos um ponto explícito em que deixamos o modo ‘operação normal’ e entramos no modo ‘incidente’?”
🧠 Mode switch
Important.
NORMAL OPS
↓
DEGRADED OPS
↓
MAJOR INCIDENT
↓
DR
Define:
entry/exit.
☕ Estado intermediário
evita:
tudo ou nada.
🧠 Normalcy Bias e workflow states
If system only:
OPEN/CLOSED,
bad.
Need:
degraded.
mitigating.
watch.
🧠 State model helps cognition
Exactly.
🎯 Pergunta Bellacosa nº 38
“Nosso workflow consegue representar ‘isso não caiu, mas já não está normal’?”
🧠 Normalcy Bias e SLOs
SLO:
objective.
If burn:
high,
trigger.
Good.
But:
don't overfit.
🧠 Error budget as reality check
Stops:
“seems fine.”
☕ Opinião:
“parece estável.”
SLO:
“acabamos de gastar 30% do mês em 20 minutos.”
Conversa muda.
🧠 Normalcy Bias e Black Start / DR exercises
Practice:
declaration.
People hesitate less.
Muscle memory.
🧠 Tabletop scenarios
Reveal:
escalating signals.
Ask:
when act?
Compare.
🎯 Pergunta Bellacosa nº 39
“Treinamos a equipe para reconhecer o momento de declarar crise ou apenas para operar quando a crise já foi declarada?”
🧠 Normalcy Bias e organizational storytelling
Past incidents:
“came out of nowhere.”
Maybe:
because early signals normalized.
Postmortem:
look.
☕ “Do nada”
às vezes significa:
“dos sinais que ninguém tratou como mudança de regime.”
🧠 Hindsight caution
Don't say:
“obvious.”
Instead:
which early signal could:
be made actionable?
🎯 Pergunta Bellacosa nº 40
“Qual sinal precoce podemos tornar mais distinguível sem criar mil falsos alarmes?”
🧠 Normalcy Bias e probability
Past:
99.9% uptime.
Doesn't mean:
next minute 99.9?
Roughly maybe.
But conditional evidence matters.
Once anomalies:
observed,
update.
Bayesian thinking.
🧠 Prior versus evidence
Prior:
system healthy.
New evidence:
errors.
Update.
Normalcy Bias:
under-updates.
☕ Anchoring in Bayesian clothing.
🎯 Pergunta Bellacosa nº 41
“Estamos atualizando nossa crença proporcionalmente à nova evidência ou ainda vivendo no prior de ontem?”
🧠 Normalcy Bias e confidence
At 02:13:
transient 80%.
At 02:20:
maybe 50%.
At 02:25:
10%.
If still:
80,
bias.
🧠 Explicit probability can help
Not precise.
But:
forces update.
☕ Crença também:
precisa de monitoring.
🧠 Normalcy Bias e counterfactual
If this is:
real major incident,
what would we expect next?
Queue doubling?
Error rising?
Observe.
🎯 Pergunta Bellacosa nº 42
“Se isso não for um pico normal, qual será o próximo sinal — e em quanto tempo?”
Great.
🧠 Predictive branching
Write:
Scenario A transient.
Scenario B cascade.
Expected:
signals.
Then:
monitor.
🧠 This turns waiting into experiment
Not:
hope.
☕ “Vamos observar”
vira:
ciência
quando:
você sabe o que está observando.
🧠 Bellacosa Two-Scenario Test
H0: TRANSIENT
EXPECT:
latency falling within 5 min
queue stable
H1: CASCADE
EXPECT:
queue doubling
error rising
retries rising
At 5 min:
decide.
🎯 Pergunta Bellacosa nº 43
“O que distinguirá a hipótese de normalidade da hipótese de crise?”
🧠 Normalcy Bias e blast radius
Act early:
maybe small.
Wait:
blast grows.
Need:
cost comparison.
🧠 False alarm cost vs missed incident cost
Explicit.
🎯 Pergunta Bellacosa nº 44
“Qual é o custo de escalar cedo demais versus o custo de escalar tarde demais?”
🧠 Often asymmetric
War Room false alarm:
cost maybe 1h.
Late P1:
millions.
Then:
early bias.
☕ Nem todo erro de decisão
tem:
mesmo preço.
🧠 Normalcy Bias e option preservation
Earlier:
more options.
Later:
fewer.
Failover window.
Rollback.
Containment.
🎯 Pergunta Bellacosa nº 45
“Esperar mais cinco minutos aumenta informação mais rápido do que reduz nossas opções?”
Essa é excelente.
🧠 Value of information vs cost of delay
Senior-level.
Wait can:
gain info.
But:
cost.
Balance.
🧠 Normalcy Bias in change rollback
Change causes:
some errors.
Team:
waits.
Maybe:
stabilize.
Rollback window:
closes.
Then:
data migration irreversible.
Danger.
☕ Às vezes:
reversibilidade expira.
🎯 Pergunta Bellacosa nº 46
“Até quando o rollback continua realmente disponível?”
🧠 Normalcy Bias e database corruption
Critical.
If suspect corruption:
stop writes?
Hard.
Waiting:
could amplify.
Need:
runbook.
🧠 Data integrity > availability sometimes
Trade-off.
🎯 Pergunta Bellacosa nº 47
“Qual é o custo de manter disponibilidade se os dados podem estar se deteriorando?”
🧠 Normalcy Bias e cyber ransomware
Odd files.
Slow shares.
Users report.
Maybe:
storage.
Delay.
Encryption spreads.
Early isolation:
critical.
Again.
☕ Em alguns incidentes
“esperar confirmar”
é:
dar tempo ao problema.
🧠 Normalcy Bias e human factors
People seek:
social cues.
If nobody panics:
assume okay.
In real emergencies too.
In War Room:
if senior calm,
juniors:
don't escalate.
🎯 Pergunta Bellacosa nº 48
“Estamos avaliando os sinais ou observando a reação das pessoas para decidir se os sinais são graves?”
🧠 Social proof
Related.
Everyone calm:
normal.
But maybe:
everyone waiting.
Collective delay.
☕ Cinco pessoas esperando
não tornam:
espera correta.
🧠 Authority Bias
Senior:
“já vi pior.”
Anchor.
Could:
suppress.
Need:
data.
🎯 Pergunta Bellacosa nº 49
“‘Já vi pior’ é contexto útil ou está virando motivo para ignorar a tendência atual?”
🧠 Normalcy Bias e expertise
Expert can:
correctly recognize benign spikes.
Great.
But:
pattern recognition needs:
falsification.
“What is different?”
🧠 Expert intuition + check
Best.
☕ Sexto sentido é ótimo.
Mas:
deixe o SMF confirmar.
🧠 Bellacosa Anti-Normalcy Protocol
Passo 1 — Defina baseline
O que é normal?
Passo 2 — Defina desvio
Magnitude.
Trend.
Duration.
Passo 3 — Liste hipóteses
Transient vs regime change.
Passo 4 — Defina sinais discriminantes
What would each predict?
Passo 5 — Time-box observation
No indefinite wait.
Passo 6 — Define escalation triggers
Before crisis.
Passo 7 — Monitor trend and margin
Not only current state.
Passo 8 — Preserve options
Rollback/failover/containment.
Passo 9 — Challenge reassurance
Why do we think it will normalize?
Passo 10 — Review false alarms and misses
Calibrate.
📋 Checklist Bellacosa anti-Normalcy Bias
[ ] Qual é o baseline real?
[ ] O desvio está crescendo?
[ ] Quanto tempo já dura?
[ ] A magnitude ainda cabe no histórico?
[ ] Estamos perdendo margem?
[ ] Existe mecanismo de autoamplificação?
[ ] Há cliente afetado?
[ ] O que nos faria escalar?
[ ] Quando termina o "vamos observar"?
[ ] O rollback ainda está disponível?
[ ] O failover fica mais difícil com o tempo?
[ ] Estamos esperando recuperação porque há evidência?
[ ] A liderança desestimula escaladas?
[ ] O próximo turno herdou fatos ou tranquilização?
[ ] O custo de atraso é maior que o custo de falso alarme?
IF CURRENT-STATE NOT = BASELINE
PERFORM MEASURE-DEVIATION
END-IF.
IF DEVIATION > THRESHOLD
OR TREND = 'WORSENING'
PERFORM EVALUATE-ESCALATION
END-IF.
IF TEAM-SAYS 'WAIT-FIVE-MINUTES'
PERFORM SET-EXIT-CONDITION
END-IF.
IF OPTIONS-EXPIRING = 'Y'
DISPLAY
'WARNING: DELAY HAS A COST'
END-IF.
Comentários:
* NORMAL YESTERDAY
* DOES NOT MEAN
* NORMAL NOW.
Outro:
* WAITING
* IS A DECISION.
Outro:
* "LET'S OBSERVE"
* REQUIRES
* AN EXIT CONDITION.
Outro:
* DO NOT WAIT
* FOR THE INCIDENT
* TO PROVE
* IT IS AN INCIDENT.
IF QUEUE > 3000
OR ERROR > 2.5%
OR LATENCY > 2s FOR 5 MIN
THEN P1
02:22.
Queue:
3.100.
Error:
2.8%.
Ninguém diz:
“vamos esperar.”
P1.
War Room.
Vendor.
Failover team:
ready.
🔧 02:27
Descobrem:
retry loop.
Containment:
implemented.
Queue:
stops growing.
Service:
degraded but stable.
Sem:
total outage.
☕ O gerente pergunta:
— Talvez tivesse normalizado sozinho.
Nosso jovem:
— Talvez.
Doctor:
— E talvez não.
— Então como sabemos se escalar foi certo?
Doctor olha:
para os critérios.
“Porque a decisão foi tomada com base no risco e nos sinais disponíveis, não na esperança de que o futuro seria parecido com ontem.”
🧠 Isso é o ponto
Não queremos:
panic bias.
Nem:
false alarm mania.
Queremos:
early recognition.
🧠 Normalcy Bias não é resolvido com paranoia
Importantíssimo.
Se tudo:
crise,
nothing:
crise.
Need:
calibration.
🎯 Pergunta Bellacosa nº 50
“Como reagir cedo sem transformar toda anomalia em apocalipse?”
Resposta:
baseline;
threshold;
trend;
time-box;
decision rules;
reversibility;
cost asymmetry.
🧬 Regeneração organizacional
Uma organização madura entende:
que normalidade é:
hipótese.
Não:
direito adquirido.
Ela:
mede baseline;
observa trends;
define escalation;
treina mudança de modo;
preserva opções;
não pune false alarms razoáveis;
e não espera:
produção morrer
para admitir:
que produção estava doente.
Principalmente:
ela sabe que a frase:
“vamos observar mais cinco minutos”
não é inocente.
Pode ser:
boa decisão.
Mas precisa:
de hipótese;
de métrica;
de limite;
de saída.
Sem isso:
é apenas:
esperança com relógio.
📓 Diário do Doctor
Se guardar algumas ideias desta viagem, guarde estas:
Normalcy Bias é a tendência de subestimar ou atrasar a aceitação de uma ameaça porque esperamos que as condições normais continuem.
Ele é especialmente perigoso em eventos que começam com sinais graduais ou ambíguos.
O fato de um sistema ter se recuperado sozinho anteriormente não prova que o evento atual também se recuperará.
Anchoring pode prender a equipe ao baseline antigo.
Confirmation Bias pode fazer a equipe procurar sinais de estabilização e minimizar sinais de deterioração.
Narrative Bias produz explicações tranquilizadoras como “é só pico”.
Search Satisfaction pode fazer um primeiro achado benigno encerrar a exploração cedo demais.
Premature Closure pode transformar “parece transitório” em diagnóstico.
Diagnosis Momentum pode transmitir “é apenas um pico” para os turnos seguintes.
Outcome Bias pode validar atrasos anteriores que terminaram bem por sorte.
Hindsight Bias depois fará o atraso parecer obviamente errado caso o incidente exploda.
Need for Control pode fazer a equipe resistir a admitir que perdeu o regime normal de operação.
Action Bias pode aparecer depois, produzindo o padrão clássico de hesitação cedo demais e ação desesperada tarde demais.
Trend, duração e margem são tão importantes quanto o valor instantâneo de uma métrica.
“Vamos observar” precisa de duração e condição de saída.
A organização deve diferenciar operação normal, degradação, major incident e DR.
O custo de esperar pode incluir perda de rollback, failover, contenção e opcionalidade.
A ausência de queda ainda não prova que o sistema está normal.
E principalmente:
normalidade não é aquilo que esperamos que continue acontecendo; é aquilo que as evidências atuais ainda justificam chamar de normal.
🥚 Easter Egg final
Antes de entrar na TARDIS, o Doctor escreve:
IF THINGS-ARE-WEIRD
DO NOT AUTOMATICALLY
MOVE 'NORMAL'
TO EXPLANATION.
Nosso jovem:
— Isso não é COBOL.
Doctor:
— Você tem esse problema com tudo que eu escrevo.
Ele corrige:
IF CURRENT-STATE NOT = BASELINE
PERFORM EVALUATE-CHANGE-OF-REGIME
END-IF.
Doctor sorri.
— Melhor.
Nosso jovem pergunta:
— E se for realmente só um pico?
— Excelente.
— Então escalamos à toa?
— Talvez.
— Isso não é ruim?
O Doctor abre a porta da TARDIS.
“Um falso alarme razoável pode custar uma hora. Uma falsa sensação de normalidade pode custar o sistema inteiro.”
VWORP.
VWORP.
VWORP.
A TARDIS desaparece.
No console:
INCIDENT:
MITIGATED EARLY
TOTAL OUTAGE:
AVOIDED
Nosso jovem olha:
para a queue.
Depois:
para o relógio.
E escreve no quadro:
“Esperar também é uma decisão — e deve ser justificada com a mesma disciplina que agir.”
Talvez essa seja toda a essência do Normalcy Bias no Bellacosa Mainframe:
o perigo não começa quando tudo cai; muitas vezes começa minutos antes, quando tudo já mudou e nós ainda estamos negociando com a ideia de que talvez continue normal.
☕🌀
Próxima parada: Normalization of Deviance — o dia em que uma gambiarra que “funcionou só desta vez” funcionou tantas vezes que deixou de ser gambiarra, virou processo oficial e ninguém mais lembrava qual regra estava sendo violada.
Bellacosa Mainframe e o outro computador z parte vi
☕ Um Café no Bellacosa Mainframe
Muito Antes do IBM Z Existia Outro "Z"
Parte VI — Plankalkül: Quando Konrad Zuse Inventou uma Linguagem de Programação Antes de o Mundo Estar Pronto para Entendê-la
"É possível construir um computador extraordinário. Mais extraordinário ainda é imaginar como conversar com ele quando ninguém jamais havia escrito um programa."
Nas cinco primeiras partes desta série, acompanhamos Konrad Zuse transformar um apartamento em laboratório, construir o Z1, evoluir para o Z2, aperfeiçoar o conceito com o Z3 e, finalmente, levar o Z4 para a ETH Zürich, demonstrando que computadores programáveis tinham utilidade prática.
Mas existe um aspecto de sua obra que, durante décadas, permaneceu praticamente esquecido.
Talvez porque fosse avançado demais.
Talvez porque a guerra interrompeu sua divulgação.
Ou talvez porque o restante do mundo ainda estivesse preocupado em construir computadores, enquanto Zuse já pensava em algo completamente diferente.
Ele queria facilitar a vida do programador.
Pode parecer uma frase comum em 2026.
Mas estamos falando do início da década de 1940.
Nem mesmo a profissão de programador existia oficialmente.
Mesmo assim, Konrad Zuse já fazia uma pergunta extraordinária:
"Por que um ser humano deveria pensar como uma máquina para conseguir utilizá-la?"
Essa pergunta continua extremamente atual.
Antes das Linguagens Existiam Cabos
Hoje um desenvolvedor COBOL escreve algo como:
ADD VALOR-A TO VALOR-B GIVING TOTAL.
O compilador transforma essa instrução em milhares de operações internas.
No IBM Z, isso resulta em instruções de máquina extremamente eficientes.
Mas nada disso existia em 1940.
Programar significava movimentar chaves.
Alterar conexões.
Trocar cabos.
Reposicionar painéis.
Perfurar fitas.
Modificar sequências físicas de operação.
Na prática, cada novo programa alterava o próprio computador.
Era como reescrever a instalação elétrica de uma casa toda vez que alguém quisesse acender uma lâmpada diferente.
Zuse percebeu que esse caminho não escalaria.
O Nascimento do Plankalkül
Entre aproximadamente 1942 e 1945, Konrad Zuse começou a desenvolver uma notação completamente nova.
Seu nome era Plankalkül.
Traduzido livremente, algo como "Cálculo de Planos" ou "Plano de Cálculo".
Não era apenas uma linguagem.
Era praticamente uma teoria sobre programação.
Décadas antes de FORTRAN.
Décadas antes de ALGOL.
Mais de quinze anos antes de COBOL.
Enquanto boa parte do mundo ainda discutia como construir computadores, Zuse já refletia sobre como escrever algoritmos de maneira compreensível para seres humanos.
☕ Café com Naftalina
É curioso imaginar um Sysprog levando um listing COBOL para mostrar a Konrad Zuse.
Provavelmente ele não entenderia a sintaxe.
Mas reconheceria imediatamente os conceitos.
Variáveis.
Atribuições.
Sequência lógica.
Modularização.
Abstração.
Era exatamente isso que ele havia sonhado décadas antes.
Muito Além da Matemática
Naquela época, muitos acreditavam que computadores serviriam apenas para resolver equações numéricas.
Zuse discordava.
Seu Plankalkül permitia trabalhar com estruturas de dados.
Matrizes.
Registros.
Conjuntos de informações.
Operações lógicas.
Tomadas de decisão.
Em outras palavras, ele enxergava computadores manipulando informação, não apenas números.
Essa diferença parece sutil.
Na verdade, ela separa uma calculadora de um computador moderno.
Variáveis com Nome
Hoje parece natural declarar variáveis.
Em COBOL temos:
01 CLIENTE.
05 NOME.
05 SALDO.
Em PL/I:
DCL SALDO FIXED DECIMAL(15,2);
Em Java:
double saldo;
Mas alguém precisou imaginar esse conceito pela primeira vez.
O Plankalkül introduzia símbolos representando dados que poderiam ser reutilizados durante o algoritmo.
Hoje isso parece óbvio.
Na época era revolucionário.
Estruturas de Dados
Outro aspecto surpreendente.
Zuse compreendia que problemas complexos exigiam organização.
Não bastava armazenar valores isolados.
Era necessário agrupá-los.
Essa ideia aparece claramente em seu trabalho.
Quem programa COBOL imediatamente faz uma associação com:
níveis 01;
grupos;
OCCURS;
tabelas;
estruturas hierárquicas.
É evidente que COBOL não nasceu do Plankalkül.
Mas ambos compartilham uma mesma filosofia.
Representar o mundo real utilizando estruturas organizadas.
🔧 Oficina do Engenheiro
Uma linguagem de programação possui dois grandes objetivos:
Expressar claramente um algoritmo para outro ser humano.
Permitir que esse algoritmo seja executado por uma máquina.
Quanto melhor ela cumprir esses dois papéis, maior sua longevidade.
Talvez por isso COBOL continue absolutamente relevante mais de seis décadas depois.
Procedimentos
Outro conceito presente no Plankalkül era a divisão de problemas em partes menores.
Hoje chamamos isso de:
procedimentos;
funções;
métodos;
módulos;
serviços.
Todo arquiteto de software conhece essa estratégia.
Resolver um problema gigantesco dividindo-o em pequenos problemas independentes.
Konrad Zuse já fazia exatamente isso.
Muito antes da Engenharia de Software receber esse nome.
Decisões
Uma máquina precisa escolher caminhos.
Executar determinada ação.
Ou outra.
Hoje escrevemos:
IF SALDO > LIMITE
...
END-IF
Esse conceito também aparece nas ideias de Zuse.
Sem estruturas condicionais, computadores seriam incapazes de resolver problemas realmente interessantes.
É impressionante perceber quantos conceitos modernos já estavam presentes em seus manuscritos.
O Mundo Não Estava Preparado
Então surge uma pergunta inevitável.
Se o Plankalkül era tão avançado...
Por que ele não mudou imediatamente a história da computação?
A resposta possui várias causas.
Primeiro.
A guerra.
Grande parte dos documentos permaneceu praticamente desconhecida durante anos.
Segundo.
Havia pouquíssimos computadores capazes de executar qualquer linguagem semelhante.
Terceiro.
Os pesquisadores da época estavam preocupados com problemas muito mais imediatos.
Era necessário construir hardware confiável.
As linguagens ficariam para depois.
Quando FORTRAN surgiu na década de 1950, poucos conheciam o trabalho anterior de Zuse.
O Plankalkül só seria plenamente reconhecido décadas mais tarde.
📦 Baú do Sysprog
Nem sempre a melhor ideia vence imediatamente.
Na história da computação existem inúmeras tecnologias que chegaram cedo demais.
O Plankalkül talvez seja o exemplo mais famoso.
Era uma solução excelente para um problema que o restante do mundo ainda não havia percebido.
E o COBOL?
Chegamos ao momento que todo leitor do Bellacosa Mainframe esperava.
Existe alguma ligação entre Plankalkül e COBOL?
Diretamente, não.
O COBOL nasceu em um contexto completamente diferente, no final da década de 1950, impulsionado por Grace Hopper, pelo CODASYL e pela necessidade de criar uma linguagem voltada para aplicações comerciais.
Os dois procuram afastar o programador dos detalhes internos da máquina.
Os dois valorizam clareza.
Os dois permitem representar estruturas complexas.
Os dois tratam programas como descrições de processos, e não como sequências de impulsos elétricos.
Em outras palavras.
Eles pertencem à mesma família filosófica.
A família da abstração.
O Que um Programador COBOL Aprende com Zuse?
Muito.
Talvez mais do que imagine.
Quando um desenvolvedor declara uma WORKING-STORAGE organizada.
Quando utiliza tabelas OCCURS.
Quando cria procedimentos bem definidos.
Quando separa regras de negócio da infraestrutura.
Está praticando princípios que começaram a surgir justamente nessa época.
Mudaram as linguagens.
Mudaram os compiladores.
Mudaram os processadores.
A boa engenharia permaneceu.
O Que um Sysprog Aprende?
Um Sysprog costuma enxergar compiladores apenas como ferramentas.
Mas compiladores são verdadeiras obras de engenharia.
Eles transformam ideias humanas em instruções que a CPU consegue executar.
Quanto melhor entendemos essa transformação, melhor compreendemos o funcionamento do IBM Z.
Por trás de um simples programa COBOL existe uma longa cadeia.
Código-fonte.
Análise léxica.
Análise sintática.
Código intermediário.
Otimizações.
Instruções de máquina.
Execução.
Tudo isso só existe porque alguém, décadas atrás, decidiu que programar não deveria significar movimentar fios e relés.
O Legado Invisível
Talvez o maior legado de Konrad Zuse não esteja em nenhuma máquina específica.
Nem no Z1.
Nem no Z3.
Nem no Z4.
Seu maior legado talvez seja a ideia de que computadores deveriam adaptar-se às pessoas.
E não o contrário.
Essa filosofia continua presente.
Quando utilizamos COBOL.
Quando escrevemos JCL declarativo.
Quando criamos APIs REST.
Quando descrevemos infraestrutura utilizando Ansible.
Quando perguntamos algo para uma Inteligência Artificial utilizando linguagem natural.
Cada nova camada de abstração afasta um pouco mais o ser humano da complexidade do hardware.
Konrad Zuse sonhava exatamente com isso.
O DNA do IBM Z
Um IBM z17 executa bilhões de instruções por segundo.
Possui dezenas de núcleos.
Terabytes de memória.
Criptografia embarcada.
Inferência de Inteligência Artificial.
Virtualização sofisticada.
Entretanto, um programador continua escrevendo código utilizando conceitos como:
Variáveis.
Estruturas.
Procedimentos.
Condições.
Algoritmos.
Abstrações.
Essa talvez seja a maior vitória da computação.
Quanto mais poderoso o hardware se torna, menos precisamos pensar nele.
E essa jornada começou muito antes de FORTRAN.
Muito antes de COBOL.
Muito antes de ALGOL.
Começou quando um engenheiro alemão decidiu que computadores deveriam entender melhor as pessoas.
No Próximo Café...
Até agora caminhamos ao lado de Konrad Zuse.
Mas havia outro gigante moldando silenciosamente o futuro da computação.
Enquanto Zuse criava computadores programáveis para cálculos científicos, uma empresa americana dominava governos, bancos e seguradoras com enormes máquinas eletromecânicas alimentadas por cartões perfurados.
Seu nome era IBM.
Na próxima parte responderemos uma pergunta que ainda desperta debates entre historiadores:
A IBM ignorou Konrad Zuse?
Ou será que ambos estavam resolvendo problemas completamente diferentes?
Prepare seu café.
No próximo capítulo, dois mundos finalmente se encontrarão.
O "Z" de Zuse.
E a empresa que, décadas depois, criaria o IBM Z.
☕ Um Café no Bellacosa Mainframe
Histórias com Cheiro de Naftalina
O Guia do Viajante do Tempo
Muito Antes do IBM Z Existia Outro “Z”
Viaje pelas origens da computação, conhecendo Konrad Zuse,
Herman Hollerith, Tommy Flowers, John von Neumann, o Colossus,
o EDVAC, o IBM System/360 e os pioneiros que construíram o
caminho até o IBM Z.
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