segunda-feira, 18 de maio de 2026

O Conto da Aia Brasileira

Maria nasceu numa casinha pequena, longe da estrada. A casinha não tinha nem luz nem água corrente. O ano era 1954, logo depois da morte de Getúlio, o pai dos pobres, e a localidade era o interior de Caçapava do Sul. Ela não foi a primeira Maria a nascer ali, mas foi a primeira que vingou.

Quando completou dois anos, ou mais ou menos isso, dado que ninguém estava contando, o pai de Maria decidiu levá-la à cidade para registrá-la. Ouviu dizer que era importante. Foi até lá sem refletir sobre o nome. Quando o escrivão indagou, teve que pensar um pouco e, finalmente, concluiu que "coloca Maria aí" era o que precisava ser dito.

Aos 6 anos, os pais de Maria decidiram levá-la à sede da fazenda, na esperança de que lá pudesse viver um pouco melhor e, quem sabe, aprender a ler. A esposa do Capitão não precisou pensar muito: era mirradinha e não sabia fazer quase nada, mas não custava nada e ela poderia adestrar a negrinha que logo ela seria útil. Ela não sabia mesmo fazer muita coisa já que a casinha em que morara até então era desprovida de meios. Sabia varrer, sabia buscar água, sabia fazer arroz, ou assar um lagarto com lenha.

Ela cresceu num quarto cheio de ferramentas que era muito frio no inverno e muito quente no verão. Trabalhava todos os dias e descansava um pouco quando a família ia à cidade. Melhor alimentada, ela foi crescendo e ganhando corpo. Tornou-se uma adolescente vistosa: pernas firmes e uma bunda que os homens não conseguiam ignorar. Pedrinho e Fernando, os filhos do Capitão, certamente não a ignoraram. Ela já era moça e os filhos do Capitão eram os únicos machos que não cheiravam mal e não eram muito mais velhos que ela; os únicos adolescentes que ela conhecia no mundo.

Primeiro foi o Pedrinho. Numa noite quente, ele apareceu no quartinho e a convidou para um banho no açude. Pedrinho era bonito e ela não pensou muito no que estava fazendo; precisava de um pouco de afeto. Semanas mais tarde, foi o Fernando. Talvez o Pedrinho o tenha incentivado.

É impossível calcular se foi sorte ou azar ela não ter emprenhado, porque a vida de Maria era como a natureza: ela simplesmente é. A mulher do Capitão notou que algo acontecia e reparou como os homens esticavam os olhos em direção ao traseiro de Maria.

Um dia um amigo do Capitão veio de Santa Maria trocar um dedo de prosa e assar um churrasco. O amigo, Doutor Antônio, professor da Universidade, era viúvo e ele mesmo já não tinha muita saúde, porque bebia e fumava muito. Antônio gostou muito da negrinha da casa. A mulher do Capitão percebeu uma saída e sugeriu ao amigo levar a moça: se der um jeito no cabelo, fica até bonitinha.

Doutor Antônio propôs um negócio. Maria casaria com ele e viria morar em Santa Maria. Em troca, ela poderia estudar e, quando o Doutor morresse, ela herdaria alguma coisa e poderia seguir sua vida. Talvez ela tivesse que cuidar dele por uns 20 anos e logo estaria livre. A mulher do Capitão, por outro lado, deixou claro que ela não poderia mais ficar na fazenda. A vida decidiu por ela mais uma vez.

Maria estudou um pouco em Santa Maria. Ela tinha dificuldade e quando chegou à quinta série o Doutor achou que bastava para cuidar da casa. Nos anos 1970, uma mulher precisava de autorização do marido para abrir crediário, para ter um emprego, os passaportes eram familiares e o portador era o chefe da família, e uma mulher não podia pernoitar sozinha num hotel. Maria não ficou sabendo de nada disso, porque o Doutor viajava sozinho. Talvez ele tivesse vergonha da esposa.

Essas limitações todas eram só para as mulheres ricas, as quais ela invejava um pouco. As da novela pareciam livres, mas só existiam nos sonhos.

Muito antes de completarem 20 anos de casados, o Doutor ficou seriamente doente e faleceu. Maria cuidou do Doutor nos últimos e terríveis dias; sentiu pena do velho que estava sofrendo como um cão. Os filhos do Doutor vieram lá de São Paulo e organizaram tudo. Sem saber como tomar posse do que lhe tinha sido prometido, ela acabou com um pouco de dinheiro que os filhos ofereceram para não a deixarem completamente desprovida e também para incentivá-la a sair do apartamento o quanto antes.

Ela passou a trabalhar como doméstica, morando em quartinhos, às vezes quentes, às vezes frios, sempre sem ventilação. Pelo menos na fazenda ela pudera dar uma volta pelo campo e tomara banho de açude.

terça-feira, 12 de maio de 2026

Templates de Serviços com o systemd

Aos poucos estou começando a gostar do systemd. Minha última descoberta foram os templates, os quais permitem usar um único arquivo de configuração para gerenciar vários sistemas semelhantes.

Eu administro vários bancos Oracle que possuem integração com outros bancos via um mecanismo muito precário chamado Heterogeneous Services. O FDW do Postgresql é muito melhor, mas não é importante para esta discussão.

Infelizmente, o Oracle desliga os listeners desses serviços sem qualquer motivo aparente. Então, resolvi experimentar criar um serviço do systemd para cada um. Eu não queria ter que criar um arquivo para cada serviço, então descobri os templates.

Criei um arquivo chamado hs-listener@.service. O arroba indica que é um template.


[Unit]
Description=Oracle HS Listener %I
After=network.target

[Service]
Type=forking
User=grid
Group=oinstall
Environment="ORACLE_HOME=/u02/app/23.0.0.0/gridhome_1/"
ExecStart=/u02/app/23.0.0.0/gridhome_1/bin/lsnrctl start listener_%i
ExecStop= /u02/app/23.0.0.0/gridhome_1/bin/lsnrctl stop  listener_%i
Restart=always

[Install]
WantedBy=multi-user.target

Dentro do template, %I e %i serão substituídos pelos parâmetros usados a seguir. O %I não é formatado, mas o %i é.


  systemctl enable hs-listener@db2
  systemctl enable hs-listener@pgsql
  systemctl enable hs-listener@mysql
  systemctl enable hs-listener@sqlserver
    

Como se pode perceber, isso evita ter que criar vários arquivos semelhantes.


  systemctl start hs-listener@db2
  systemctl start hs-listener@pgsql
  systemctl start hs-listener@mysql
  systemctl start hs-listener@sqlserver
  

E isto evita ter que investigar o que houve com o listener uma vez por mês.

sexta-feira, 8 de maio de 2026

Pontuação Mínima para Permanecer na Série A

Há um consenso de que, em geral, 45 pontos bastam para permanecer na Série A. Resolvi verificar matematicamente qual a pontuação mínima e com qual probabilidade ela aparece.

O campeonato tem 20 times que jogam entre si 2 vezes, então há 380 jogos. Para simular todas as possibilidades de resultados, seria preciso contar de 0 até 3381-1.

Não há tempo para isso tudo. Então resolvi simular 10 milhões de campeonatos e tabular os pontos do 16º colocado em cada um.

552
31651
604850
6262349
33866748
104000747
194632146
237819145
202239044
126684743
60903842
23276041
7253840
1906539
424438
78437
13336
2135
234

Em dois casos apenas o 16º tinha somente 34 pontos e em 5 casos, seriam precisos 52 pontos para não ser rebaixado.

52100%
5199,99995%
5099,99679%
4999,93631%
4899,31008%
4795,92341%
4685,52334%
4566,06013%
4442,27822%
4322,05432%
429,38585%
413,29547%
400,96787%
390,24249%
380,05184%
370,0094%
360,00156%
350,00023%
340,00002%

As probabilidades acumuladas mostram que, em 66% dos casos, 45 pontos são suficientes para manter-se na Série A. As chances melhoram substancialmente com 46 e 47 pontos. A partir de 48, a classificação é praticamente garantida.

Várias execuções mostraram que a média do 16º colocado é ~44,74 pontos, o que reforça a sensação de que 45 pontos é uma pontuação relativamente segura.

Nestas simulações, todos os times têm chances iguais; na vida real, alguns times ganham muito e outros perdem muito. Então, uma simulação mais interessante teria que considerar uma variedade de times. Em 2009, o Coritiba foi rebaixado com 45 pontos e este foi o time melhor pontuado a cair. Outros times já foram rebaixados com 44 pontos, mas nunca um time foi para a Série B com 46.

quarta-feira, 6 de maio de 2026

Crescimento dos Barramentos de Endereçamento

O processador 6502 tem um espaço de endereçamento de 64KB. Pode parecer muito, mas são apenas 256 páginas de 256 bytes. Um programador atento vai logo ficar íntimo de todos os bytes. Os bytes F abaixo indicam o número da página e os 0 indicam os bytes dentro da página, como uma máscara de rede.


 &FF00
 

O 8086 possuía um espaço de endereçamento de 20 bits, o que resulta em 1MB ao todo. Isso pode ser visto como 256 blocos de 4KB.


 &FF000
 

O 286 possuía 24 linhas de endereçamento, as quais permitem endereçar 16MB ou 4096 blocos de 4KB.


 &FFF000
 

O 80386 expandiu o endereçamento a 32 bits (4GB), ou 1M (20 bits) blocos de 4KB.


 &FFFFF000
 

Os processadores atuais costumam usar endereços de 48 bits (64K * 4GB), embora usem endereços físicos de 40 bits (1TB). Isso equivale a 4M páginas de 4KB.


 &FFFFFFFFF000
 

Se com 36 bits para indicar a página, a coisa complica deverasmente, com um barramento de 64 bits podemos jogar a toalha. Seriam 1M * 4GB páginas, ou 4T de páginas de 4KB.


 &FFFFFFFFFFFFF000
 

sexta-feira, 17 de abril de 2026

Geração de Senhas no Linux

O Linux tem um dicionário de palavras em /usr/share/dict/words (não sei se todas as distribuições usam o mesmo caminho). Uma bom uso dessa lista de palavras é a geração de senhas.


 grep -Pv "\W" /usr/share/dict/words | shuf -n 3 | xargs | tr ' ' '-'
 earning-artistes-steatoses

O grep permite selecionar as palavras compostas apenas por letras; o shuf escolhe 3 aleatoriamente; o xargs as junta numa linha só; o tr troca os espaços por traços.

Se eu quiser gerar uma senha numérica, posso usar o shuf da seguinte maneira:


 shuf -i 10-99  | shuf -n 3 | xargs | tr -d ' '
 726580
 

Ele vai gerar todos os números entre 10 e 99 (todos com 2 dígitos) e escolher 3. Então, ele elimina os espaços e o resultado é um número com 6 digítos.

Uma forma de gerar uma senha longa é calcular o md5 de um arquivo. Como forma de agregar informação, podemos adicionar os nanossegundos do relógio.


 find . -type f | head -n 1000 | shuf -n 1 | \
   (xargs md5sum; echo $(date +%N)) | \
   xargs  | md5sum
 83be018d2a490823ef949005bd7789e7  -
 

Neste caso, estou procurando por um arquivo qualquer (limitei a 1000, para não vasculhar o disco todo).

Como openssl sempre está disponível, pode-se também usá-lo para gerar senhas:


 openssl rand -base64 12
 IZgLy20O0GjWP2ze
 

Podemos também pegar uns bytes de /dev/urandom (ou /dev/random ou /dev/arandom - leia a documentação sobre cada um) e passá-los por md5sum. No exemplo abaixo, peguei 100 bytes e gerei uma senha de 16:


head -c 100 /dev/urandom | md5sum | head -c 16
0643e4947c026e48

quarta-feira, 1 de abril de 2026

O Maior Som do Mundo

Meu avô paterno instalou caixas de som em todos os cômodos da casa. Assim, ele podia escutar rádio onde estivesse. Eram pequenas caixas de madeira nos quantos dos quartos. Agora, imagine um sistema semelhante que cobria um país inteiro. E esse país era o maior país da terra.

Em 1925, a União Soviética começou a instalar rádios a cabo em todos os prédios da Rússia (República Socialista Federativa Soviética da Rússia - RSFSR). Sendo ainda um país muito pobre, rádios convencionais eram muito caros para serem amplamente adotados. Em 1920, um radio custava US$200 nos Estêites; o preço baixou a US$35 até o fim da década, mas isso representaria quase US$700 em verdinhas de 2026. Então, optou-se por uma solução cabeada: isso simplificaria os receptores até o ponto de serem pouco mais que caixas de som.

Dentro da caixinha há apenas 3 componentes: um transformador, um controle de volume, e um alto-falante. Portanto, o equipamento era muito barato. O sinal era transmitido de Moscou para as regiões em cabos de telefone. Depois, o sinal era convertido em um sinal de 960V (ouch) e transmitido para as cidades. Em cada cidade, uma estação local reduzia a voltagem a 240V. Finalmente, cada prédio baixava o sinal para os 30V que chegavam a cada apartamento. Então, graças a um produto muito barato, todo mundo podia receber notícias, mesmo que fosse um único canal do governo.

Durante a Segunda Guerra, ou a Grande Guerra Patriótica, todos os radios convencionais foram confiscados para impedir que os cidadãos soviéticos recebessem falsas notícias transmitidas pelas forças invasoras. Os rádios cabeados, entretanto, foram mantidos e resultaram ser muito úteis para avisos de emergências, principalmente porque o sistema permitia que uma região específica apenas fosse notificada.

Alto-falante da época de Stalin

Em 1962, o sistema alcançava 48 milhões de pessoas (de 220 milhões). Em 1964, a RSFSR determinou que todos os prédios habitacionais em construção fossem já equipados com o cabeamento necessário. Em seu ápice, nos anos 1980, 90% da população (~250 milhões de ~270 milhões) tinha acesso ao sistema; apenas os habitantes de localidades remotas não eram servidos.

Ainda em 1962, um sistema mais complexo foi adotado a fim de permitir mais canais. Usando Amplitude Modulada (AM), outros dois canais eram oferecidos em 78kHz e 120kHz. Isso exige um receptador mais complexo, mas os receptadores originais continuavam a operar com o sinal padrão. Um quarto canal, de 52kHz, foi planejado e anunciado em 1990, mas a dissolução da URSS levou o projeto ser encerrado abruptamente.

Os plugues eram idênticos aos de eletricidade, mas marcados com a palavra RADIO (РАДИО) para evitar confusões.

Apesar de ser chamado de rádio, as caixinhas eram realmente alto-falantes e, portanto, pode-se dizer que este foi o maior sistema de som do mundo: o único a alcançar 11 fusos horários.

segunda-feira, 23 de março de 2026

Ética na TI

Uma cadeira com potencial desperdiçado na faculdade foi "Computador e Sociedade". Eu não dei muita importância e o professor tampouco.

Naqueles tempos, as questões éticas e morais pareciam muito distantes da informática. Estávamos, assim como continuamos, muito enamorados dos brinquedinhos novos que são lançados todos os anos.

A informática mal começava a invadir os lares e nem todos a usavam diretamente no trabalho. Hoje, andamos todos com computadores no bolsos. E esses computadores têm sensores, tiram fotos, sabem sua posição no mundo.

O reino da computação, entretanto, continua discutindo muito pouco as coisas que produz. Sim, algumas pessoas se preocupam com questões éticas, sociais, e até ecológicas, mas essas preocupações mal chegam ao público em geral.

Trabalhar para multinacionais como a Meta, o Google, a Oracle, e a Microslop Microsoft é o sonho de muitas pessoas. Não é justo culpá-las, porque as oportunidades podem ser muito boas.

Entretanto, como brasileiro, sinto que o país e os governos de todos os níveis não se preocupam de forma alguma com a quantidade de dinheiro que é despendido e muito menos com a dependência tecnológica do Brasil com essas empresas estrangeiras. E não é por serem estrangeiras, é porque elas já deram muitas provas de que não são confiáveis. O estado brasileiro gasta com a educação de futuros funcionários de multinacionais e deixa de fomentar uma indústria nacional de TI.

Além disso, o mundo parece estar numa corrida desenfreada para enriquecer algumas poucas pessoas, enquanto não leva a sério os problemas sociais e ecológicos que estão se acumulando.

Há poucos anos, surgiram as criptomoedas que, ao fim e ao cabo, demonstraram servir de subsídio para o crime e como a plataforma perfeita para golpes financeiros. Mesmo após tantas demonstrações de que as criptomoedas não são tão úteis fora do crime, uma quantidade enorme de dinheiro continua sendo perdido e recursos naturais são desperdiçados com essa promessa de riquezas fáceis.

Como se o mundo não precisasse diminuir e racionalizar o consumo de energia e água, agora temos a IA para a qual estão sendo reservados mais datacenters do que há energia disponível para alimentá-los. Nos EUA, há locais em que a energia elétrica está mais cara para os consumidores porque o consumo dos datacenters cresceu demais. Em alguns locais, a escassa água disponível está sendo desviada para arrefecer computadores.

O capitalismo tardio está sempre nos oferecendo um futuro magnífico, mas agora ele está tornando o presente pior de forma muito clara. Metade da África não tem luz elétrica; a Etiópia precisou vender bônus para a própria população para arrecadar US$5 bi para uma hidrelétrica que vai fornecer energia a 60 milhões de pessoas. A bolha da IA já está na casa do trilhão de dólares.

E essa loucura toda não é discutida em ambientes de tecnologia. Os departamentos de TI estão correndo enlouquecidamente atrás de recursos e treinamentos para apaziguar a ânsia por IA de seus clientes e usuários.

Recentemente, um advogado levantou uma questão fundamental: vamos usar LLMs para transformar 10 linhas de texto em documentos que depois serão novamente resumidos por LLM. Isto é, vamos criar uma solução magnífica para não resolver nenhum problema verdadeiro (assim como as criptomoedas).

E não são essas questões o que mais me angustia, é a absoluta indiferença que observo no meu meio.