<rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Politics | AkitaOnRails.com</title><link>https://akitaonrails.github.io/en/tags/politics/</link><description>Fabio Akita's blog — tech, career, and assorted geek topics. English edition.</description><generator>Hugo -- gohugo.io</generator><language>en</language><lastBuildDate>Mon, 19 Oct 2026 23:20:52 +0000</lastBuildDate><atom:link href="https://akitaonrails.github.io/en/tags/politics/index.xml" rel="self" type="application/rss+xml"/><item><title>AI Unmasked the Climate Change Hysteria</title><link>https://akitaonrails.github.io/en/2026/09/17/ai-unmasked-climate-hysteria/</link><guid isPermaLink="true">https://akitaonrails.github.io/en/2026/09/17/ai-unmasked-climate-hysteria/</guid><pubDate>Thu, 17 Sep 2026 17:00:00 -0300</pubDate><description>&lt;p&gt;Yesterday I closed &lt;a href="https://akitaonrails.github.io/en/2026/09/16/why-things-like-typesafe-ai-dont-interest-me/"&gt;the article about TypeSafe&lt;/a&gt; with this paragraph:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;ldquo;And if I ever manage to spend enough tokens to boil an entire lake with the datacenter&amp;rsquo;s heat, I will spend it with the greatest pleasure in the world. It&amp;rsquo;s my personal revenge against whoever forced me to use paper straws that dissolve in your mouth for all these years.&amp;rdquo;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;I confess: it was deliberate provocation, written already knowing I was going to explain it here today. Because behind the joke there&amp;rsquo;s a serious thesis.&lt;/p&gt;</description><content:encoded><![CDATA[<p>Yesterday I closed <a href="/en/2026/09/16/why-things-like-typesafe-ai-dont-interest-me/">the article about TypeSafe</a> with this paragraph:</p>
<blockquote>
  <p>&ldquo;And if I ever manage to spend enough tokens to boil an entire lake with the datacenter&rsquo;s heat, I will spend it with the greatest pleasure in the world. It&rsquo;s my personal revenge against whoever forced me to use paper straws that dissolve in your mouth for all these years.&rdquo;</p>

</blockquote>
<p>I confess: it was deliberate provocation, written already knowing I was going to explain it here today. Because behind the joke there&rsquo;s a serious thesis.</p>
<p>Last week I took apart here <a href="/en/2026/09/09/propagandas-enganosas-da-openai-anthropic-nvidia/">the AI fear propaganda from OpenAI, Anthropic, and NVIDIA</a>. Today I want to use the same lens on a much older and much more profitable hysteria: the climate one. And there&rsquo;s an irony in the middle: what unmasked this hysteria was AI itself, by accident.</p>
<p>The thesis is simple. The moment the datacenter race tightened for real, every &ldquo;green&rdquo; commitment from governments and big techs evaporated. The same Microsoft that promised to be carbon negative is restarting Three Mile Island. The same Germany that shut down its nuclear fleet now has a chancellor admitting it was a strategic mistake. What took down the climate agenda was another agenda, one with more money.</p>
<p>And before anyone labels me, my position in full: yes, there is a human effect on the climate. No, the world is not ending, and the distance between those two sentences is where the hysteria lives. What I dispute is the industrialized panic and the misallocation of trillions it justifies.</p>
<h2>Every decade has its apocalypse<span class="hx:absolute hx:-mt-20" id="every-decade-has-its-apocalypse"></span>
    <a href="#every-decade-has-its-apocalypse" class="subheading-anchor" aria-label="Permalink for this section"></a></h2><p>I grew up under the nuclear apocalypse of the Cold War. We lived with the certainty that the world could end in atomic mushrooms at any moment. When the USSR fell in 1989, that fear drained away, and the hole in the ozone layer filled the void. That one, by the way, is recovering decades after the 1987 Montreal Protocol, which phased out CFCs and friends: proof that a real problem with a cheap solution needs no hysteria.</p>
<p>Then came the Y2K bug. Then &ldquo;global warming&rdquo;. And when &ldquo;warming&rdquo; got hard to sustain in every headline, the agenda changed its name to &ldquo;climate change&rdquo;.</p>
<p>Notice the trick. Orwell called it Newspeak in &ldquo;1984&rdquo;: capture the words to capture the thinking. &ldquo;Global warming&rdquo; was a testable hypothesis: either it warmed or it didn&rsquo;t. &ldquo;Climate change&rdquo; accommodates everything. Heat, cold, drought, flood, snow, lack of snow. Any event confirms the thesis, and a thesis that everything confirms explains nothing.</p>
<p>When the vocabulary is captured, the question becomes a crime. Whoever asks for evidence becomes a &ldquo;denier&rdquo;. A scientist funded by obscure interests becomes an &ldquo;expert&rdquo;, and &ldquo;expert&rdquo; gets sold as a monopoly on truth. The covid hysteria was the worst fruit of this way of thinking, but covid is for another article. The climate case is enough.</p>
<p>The human cost of this machine is measured. A <a href="https://www.kff.org/other-health/the-kaiser-family-foundation-washington-post-climate-change-survey/"target="_blank" rel="noopener">2019 Washington Post/Kaiser Family Foundation survey</a> of American teenagers found 57% afraid and 52% angry because of the climate. A <a href="https://lomborg.com/news/how-spend-162bn-fix-climate-along-everything-else"target="_blank" rel="noopener">global UN poll that collected about 9.7 million votes</a> asked about priorities: &ldquo;action on climate change&rdquo; came in last among 16 topics in the global total, and even in the poorest countries it sat at the bottom of the list. The people want hospitals and jobs. Whoever ranks the apocalypse first is whoever has their comfort guaranteed.</p>
<h2>Follow the money: who funds the fear<span class="hx:absolute hx:-mt-20" id="follow-the-money-who-funds-the-fear"></span>
    <a href="#follow-the-money-who-funds-the-fear" class="subheading-anchor" aria-label="Permalink for this section"></a></h2><p>About Greta Thunberg, one fact bothers both sides: she herself keeps none of the money. Her father told <a href="https://www.politico.eu/article/greta-thunberg-teen-climate-icon-used-for-fundraising-without-her-knowledge/"target="_blank" rel="noopener">Politico</a> she never received a cent, and she donated the entire 1-million-euro Gulbenkian prize to climate projects. The character is real and, by all accounts, unsalaried.</p>
<h3>The girl and the startup<span class="hx:absolute hx:-mt-20" id="the-girl-and-the-startup"></span>
    <a href="#the-girl-and-the-startup" class="subheading-anchor" aria-label="Permalink for this section"></a></h3><p>The machine around her is another story. The school strike started on August 20, 2018, a Monday. The Swedish startup We Don&rsquo;t Have Time, founded by advertising man Ingmar Rentzhog, was still building its climate social network. On the day of the strike, Rentzhog posted the girl&rsquo;s photo on his personal Facebook and the company account tweeted the same day, tagging Al Gore&rsquo;s Climate Reality Project. Three days after the strike began, on Thursday, August 23, the family book, &ldquo;Scenes from the Heart&rdquo;, hit bookstores.</p>
<p>The startup&rsquo;s fundraising prospectus, from November 2018, cited Greta 11 times, without the family&rsquo;s knowledge; that round raised ~13 million Swedish kronor, and the company said it had raised 23 million in total by early 2019. She was a junior advisor to the company&rsquo;s foundation from October 2018 to January 2019 and left. The product was the startup; the girl was the marketing.</p>
<h3>The salaried protest industry<span class="hx:absolute hx:-mt-20" id="the-salaried-protest-industry"></span>
    <a href="#the-salaried-protest-industry" class="subheading-anchor" aria-label="Permalink for this section"></a></h3><p>Then came the industrialization of protest. The <a href="https://www.theguardian.com/environment/2022/apr/29/just-stop-oils-protests-funded-by-us-philanthropists"target="_blank" rel="noopener">Climate Emergency Fund</a>, founded in 2019, funds Just Stop Oil, Extinction Rebellion, Scientist Rebellion, and friends. The one who opened the vault with $500,000 was Aileen Getty, heiress to the Getty oil fortune, mind you. Hollywood director Adam McKay came in with <a href="https://www.climateemergencyfund.org/press/cef/2022-9-20-press-release"target="_blank" rel="noopener">$4 million and a board seat</a>.</p>
<p>By April 2022 the fund had already distributed $1.7 million to activists in 25 countries; the full-year tax filings point to ~$5 million in grants. Just Stop Oil alone received <a href="https://www.nytimes.com/2022/08/10/climate/climate-protesters-paid-activists.html"target="_blank" rel="noopener">almost $1 million, helping pay the salaries of some 40 organizers</a>. That soup on the Van Gogh canvas is salaried work, funded by oil inheritance and movie money.</p>
<h3>Billionaire foundations and governments<span class="hx:absolute hx:-mt-20" id="billionaire-foundations-and-governments"></span>
    <a href="#billionaire-foundations-and-governments" class="subheading-anchor" aria-label="Permalink for this section"></a></h3><p>Above the protest funds sit the big foundations. Bloomberg Philanthropies alone totals $1 billion in the Beyond Carbon campaign, and the New York Times called Bloomberg <a href="https://observer.com/2023/09/michael-bloomberg-donates-500m-eradicate-coal-plants/"target="_blank" rel="noopener">perhaps the biggest individual funder of climate activism in the world</a>. The Hewlett Foundation committed <a href="https://hewlett.org/newsroom/william-flora-hewlett-foundation-announces-600-million-philanthropic-commitment-climate-change/"target="_blank" rel="noopener">$600 million over five years</a>, Rockefeller announced in 2023 it would <a href="https://www.prnewswire.com/news-releases/the-rockefeller-foundation-commits-over-usd-1-billion-to-advance-climate-solutions-301928820.html"target="_blank" rel="noopener">invest more than $1 billion in climate over five years</a>, and ClimateWorks has already distributed more than $2 billion. That&rsquo;s an industry, with the budget of a small country&rsquo;s GDP.</p>
<p>And governments fund the pressure against their own political opponents. The EU pays €15.6 million a year in operating grants to some 30 green NGOs through the LIFE program, and in January 2025 the European Parliament held a <a href="https://www.europarl.europa.eu/doceo/document/CRE-10-2025-01-22-ITM-015_EN.html"target="_blank" rel="noopener">formal debate about Commission-funded NGOs lobbying the Commission itself</a>, in which the budget commissioner admitted it was &ldquo;inappropriate&rdquo; for parts of the Commission to sign agreements obliging NGOs to lobby specific MEPs. In Germany, Correctiv received <a href="https://www.faz.net/aktuell/feuilleton/medien-und-film/bund-foerdert-projekte-von-correctiv-und-dpa-19826639.html"target="_blank" rel="noopener">€2.5 million in public money since 2016</a>, the &ldquo;Demokratie leben!&rdquo; program had a budget of €182 million in 2024, and the CDU filed <a href="https://www.reuters.com/world/europe/german-conservatives-prompt-anger-with-questions-about-ngo-funding-2025-02-26/"target="_blank" rel="noopener">551 formal questions</a> about the political neutrality of state-funded organizations.</p>
<p>And who profits from the policies? Enron&rsquo;s internal memo from December 1997, written from Kyoto, was already celebrating: <em>&ldquo;this agreement will be good for Enron stock!!&rdquo;</em>. The climate-industrial complex was born together with the treaty. Global revenue from carbon pricing, taxes and emission markets combined, hit a <a href="https://www.worldbank.org/en/news/press-release/2024/05/21/global-carbon-pricing-revenues-top-a-record-100-billion"target="_blank" rel="noopener">record $104 billion in 2023</a>, and a 2008 Point Carbon study for the WWF estimated <a href="https://www.smh.com.au/world/eu-power-companies-set-for-windfall-profits-wwf-20080407-24aq.html"target="_blank" rel="noopener">between €23 and €71 billion in windfall profits</a> for generators in five EU countries in phase II of the European carbon market alone. And the biggest beneficiary of Western green targets has a name and an address: China controls <a href="https://www.iea.org/reports/solar-pv-global-supply-chains/executive-summary"target="_blank" rel="noopener">more than 80% of every stage of the solar panel manufacturing chain</a> and produced <a href="https://www.iea.org/reports/global-ev-outlook-2026/executive-summary"target="_blank" rel="noopener">almost 75% of the world&rsquo;s electric cars in 2025</a>. The West subsidizes demand; Beijing sells the supply.</p>
<p>If you don&rsquo;t know the Enron case, take a minute and watch:</p>


<div class="embed-container">
  <iframe
    src="https://www.youtube.com/embed/e5qC1YGRMKI"
    title="YouTube video player"
    frameborder="0"
    allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share"
    referrerpolicy="strict-origin-when-cross-origin"
    allowfullscreen>
  </iframe>
</div>

<h3>Who wins<span class="hx:absolute hx:-mt-20" id="who-wins"></span>
    <a href="#who-wins" class="subheading-anchor" aria-label="Permalink for this section"></a></h3><p>So who benefits from the fear narrative? Billionaire foundations, consultancies, subsidized industries, governments buying social peace with grants, and the West&rsquo;s biggest industrial competitor. Greta walked away without a dime. The machine kept the megaphone.</p>
<h2>The datacenter race<span class="hx:absolute hx:-mt-20" id="the-datacenter-race"></span>
    <a href="#the-datacenter-race" class="subheading-anchor" aria-label="Permalink for this section"></a></h2><p>Some of the numbers I&rsquo;m about to show come from the research I did for my talk at <a href="https://github.com/akitaonrails/tropicalruby-2026"target="_blank" rel="noopener">Tropical Ruby 2026</a>, about energy and AI. The <a href="https://www.iea.org/reports/energy-and-ai/executive-summary"target="_blank" rel="noopener">IEA</a> data tells the story:</p>
<ul>
<li>Datacenters consumed <strong>415 TWh in 2024</strong>, about 1.5% of the world&rsquo;s electricity.</li>
<li>In 2025: <strong>~485 TWh</strong>, 17% growth in one year; AI-focused datacenters alone grew 50%.</li>
<li>Central projection for 2030: <strong>~945 TWh</strong>, the consumption of all of Japan, close to 3% of the planet.</li>
</ul>
<p>In the US, datacenters account for almost half of all electric demand growth through 2030. And the money followed: big tech capex went from <a href="https://iea.blob.core.windows.net/assets/3179f7f8-01f6-4dd6-bffa-c9f7b73f1dc9/KeyQuestionsonEnergyandAI.pdf"target="_blank" rel="noopener">$400 billion in 2025 to ~$715 billion guided for 2026</a>, more than the annual investment of the entire American energy sector. Cumulative datacenter investment between 2026 and 2030 is expected to hit <strong>$3.9 trillion</strong>.</p>
<p>And even that doesn&rsquo;t cut it. The bottleneck stopped being chips and became copper and concrete:</p>
<ul>
<li>PJM, the largest grid operator in the US, <a href="https://www.nrdc.org/press-releases/first-time-history-pjm-auction-fails-procure-necessary-power-supply"target="_blank" rel="noopener">closed for the first time in history a capacity auction below the reliability requirement</a>, in December 2025: ~6.6 GW came up short. The capacity price jumped to $333.44 per MW-day, more than 11 times the level of the 2024/2025 auction, hitting the ceiling allowed by FERC.</li>
<li>High-power transformers have a two-to-three-year waiting list, and the biggest models run past that. The American interconnection queue has more than 2,000 GW waiting, about 1.6 times the country&rsquo;s entire installed capacity.</li>
<li>Of the ~16 GW of large datacenters Sightline Climate forecast globally for 2026 (the American slice is ~12 GW), only ~5 GW were under construction at the start of the year, and the estimate is that 30% to 50% of that announced pipeline will slip.</li>
</ul>
<blockquote>
  <p>The queue in the market now is for GPUs, power, and datacenters.</p>

</blockquote>
<p>Remember the electric car, the green agenda&rsquo;s great salvation? The <a href="https://www.iea.org/reports/global-ev-outlook-2026/outlook-for-electric-mobility-chap-9-11"target="_blank" rel="noopener">entire global EV fleet consumed ~250 TWh in 2025</a>, about 1% of the world&rsquo;s electricity. Datacenters consumed almost double, already last year. And the projection tells the rest: from 415 TWh in 2024 to ~945 TWh in 2030, that&rsquo;s +530 TWh of new load on the grid, almost three times the electricity of the entire 2024 global EV fleet (~180 TWh).</p>
<p><img src="https://new-uploads-akitaonrails.s3.us-east-2.amazonaws.com/20260917_ev-vs-datacenter.png" alt="Bar chart comparing the global EV fleet’s 250 TWh in 2025 with datacenters: 415 TWh in 2024, 485 in 2025, and a projection of 945 in 2030"  loading="lazy" /></p>
<p>The entire decade of &ldquo;green economy&rdquo; was swallowed in two years of AI race. And the comic detail: in March 2026, Bernie Sanders and Alexandria Ocasio-Cortez announced the <a href="https://www.sanders.senate.gov/press-releases/news-sanders-ocasio-cortez-announce-ai-data-center-moratorium-act/"target="_blank" rel="noopener">AI Data Center Moratorium Act</a>, an attempt to ban new datacenters in the US. The green agenda spent decades telling you to consume less energy. Faced with AI, the coherent exit left over was trying to ban the new consumer.</p>
<h2>The return of nuclear power<span class="hx:absolute hx:-mt-20" id="the-return-of-nuclear-power"></span>
    <a href="#the-return-of-nuclear-power" class="subheading-anchor" aria-label="Permalink for this section"></a></h2><p>If the climate agenda were serious, its greatest ally was always nuclear power: the cleanest, densest, most reliable source there is. The same agenda that preached apocalypse treated nuclear as taboo for fifty years. Here&rsquo;s what AI&rsquo;s hunger for energy did in one year:</p>
<h3>Big tech&rsquo;s nuclear race<span class="hx:absolute hx:-mt-20" id="big-techs-nuclear-race"></span>
    <a href="#big-techs-nuclear-race" class="subheading-anchor" aria-label="Permalink for this section"></a></h3><ul>
<li>Microsoft signed a 20-year contract to <a href="https://www.npr.org/2024/09/20/nx-s1-5120581/three-mile-island-nuclear-power-plant-microsoft-ai"target="_blank" rel="noopener">restart Three Mile Island&rsquo;s Unit 1</a>, 835 MW. Read that again: Three Mile Island, the ultimate symbol of American nuclear fear since 1979, resurrected as the Crane Clean Energy Center to feed datacenters.</li>
<li>Meta locked in <a href="https://www.powermag.com/meta-locks-in-up-to-6-6-gw-of-nuclear-power-through-deals-with-vistra-oklo-and-terrapower/"target="_blank" rel="noopener">up to 6.6 GW in nuclear agreements</a> with Vistra, TerraPower, and Oklo.</li>
<li>Google ordered <a href="https://www.datacenterdynamics.com/en/news/google-signs-nuclear-smr-deal-with-kairos-for-data-center-power/"target="_blank" rel="noopener">500 MW in modular reactors from Kairos</a>.</li>
<li>Amazon expanded <a href="https://www.sec.gov/Archives/edgar/data/1622536/000162828025030559/a20250611pressreleasebusin.htm"target="_blank" rel="noopener">its contract with the Susquehanna plant to 1.9 GW through 2042</a> and invested in X-energy.</li>
</ul>
<p>The technical reason is simple. In the US, nuclear runs at a <a href="https://www.energy.gov/ne/articles/nuclear-power-most-reliable-energy-source-and-its-not-even-close"target="_blank" rel="noopener">capacity factor around 91%</a>, and stayed above 92% on average for the decade through 2023; wind sits at ~34% and solar at ~23%. Datacenters want baseload, 24 hours a day. Sun and wind don&rsquo;t deliver that without a mountain of batteries nobody has.</p>
<p>If you don&rsquo;t know the 1979 Three Mile Island incident, watch:</p>


<div class="embed-container">
  <iframe
    src="https://www.youtube.com/embed/cL9PsCLJpAA"
    title="YouTube video player"
    frameborder="0"
    allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share"
    referrerpolicy="strict-origin-when-cross-origin"
    allowfullscreen>
  </iframe>
</div>

<h3>The German case<span class="hx:absolute hx:-mt-20" id="the-german-case"></span>
    <a href="#the-german-case" class="subheading-anchor" aria-label="Permalink for this section"></a></h3><p>And Germany? Germany shut down its last three plants <a href="https://www.cleanenergywire.org/factsheets/qa-germanys-nuclear-exit-one-year-after"target="_blank" rel="noopener">on April 15, 2023</a> and became a net importer of electricity for the first time since 2002, including importing French nuclear. The Energiewende cost in the range of hundreds of billions of euros, German industrial electricity costs about double the American or more, and the German grid emits <a href="https://cdn.catf.us/wp-content/uploads/2026/03/26111928/EU-Governance-Regulation-CATF-recommendations.pdf"target="_blank" rel="noopener">around 350 g of CO2 per kWh</a>, against 22 g from nuclearized France.</p>
<p>Well then. In January 2026, Chancellor Friedrich Merz admitted in public: <a href="https://brusselssignal.eu/2026/01/germanys-shut-down-of-nuclear-plants-a-huge-mistake-says-merz/"target="_blank" rel="noopener"><em>&ldquo;It was a serious strategic mistake to phase out nuclear energy&rdquo;</em></a>, <em>&ldquo;we are now undertaking the most expensive energy transition in the entire world&rdquo;</em>. The head of the IEA itself, Fatih Birol, <a href="https://www.politico.eu/article/friedrich-merz-is-right-to-reject-germanys-nuclear-phase-out-says-iea-chief-fatih-birol/"target="_blank" rel="noopener">went public agreeing with him</a>. Since May 2025 Germany <a href="https://www.reuters.com/business/energy/berlin-paris-overcome-rift-over-nuclear-energy-french-official-says-2025-05-19/"target="_blank" rel="noopener">stopped sabotaging nuclear France in the EU</a>, and in June 2026 <a href="https://brusselssignal.eu/2026/06/ex-nuclear-plant-bosses-urge-merz-government-to-reactivate-german-reactors/"target="_blank" rel="noopener">former bosses of the closed plants formally asked for the reactors to be reactivated</a>.</p>
<p>Let me put my opinion on record here: closing the nuclear fleet was one of the biggest mistakes in Germany&rsquo;s modern history. They impoverished their own industry, got hooked on Russian gas, went back to burning coal in the 2022 crisis, and today buy nuclear electricity from the neighbor. All of it in the name of an agenda they themselves are abandoning.</p>
<h3>Fear versus the numbers<span class="hx:absolute hx:-mt-20" id="fear-versus-the-numbers"></span>
    <a href="#fear-versus-the-numbers" class="subheading-anchor" aria-label="Permalink for this section"></a></h3><p>About the fear itself, the official numbers say otherwise. Deaths per TWh produced, <a href="https://ourworldindata.org/safest-sources-of-energy"target="_blank" rel="noopener">counting accidents and pollution</a>: coal kills 24.6; oil, 18.4; gas, 2.8. Nuclear: <strong>0.03</strong>, less than wind and almost equal to solar. Chernobyl killed <a href="https://www.unscear.org/unscear/en/chernobyl.html"target="_blank" rel="noopener">30 workers directly</a>, and the Chernobyl Forum and WHO projection for eventual cancers sits at up to 4,000 among the 600,000 most exposed, while Greenpeace was selling 93,000. The same report concluded the biggest public health problem was the psychological damage: people got sick from fear of radiation, not from radiation. Fukushima: <strong>zero radiation deaths among the public</strong> (Japan recognized a single radiation-linked death: a worker with lung cancer, in 2018); <a href="https://world-nuclear.org/information-library/safety-and-security/safety-of-plants/fukushima-daiichi-accident.aspx"target="_blank" rel="noopener">2,313 deaths linked to the panicked evacuation</a>. Fear killed more than the accident.</p>
<p>And the waste? <a href="https://www.energy.gov/ne/articles/5-fast-facts-about-spent-nuclear-fuel"target="_blank" rel="noopener">All the used fuel from America&rsquo;s commercial reactors fits on a football field, stacked less than 10 yards high, about 9 meters</a>. France has been reprocessing its own at La Hague for decades. Finland built the world&rsquo;s first deep geological repository for used nuclear fuel, Onkalo, already in the final stretch of licensing. A technical problem solved long ago; what was missing was political courage, and it arrived in the form of a datacenter power bill.</p>
<h2>The man who&rsquo;s been pointing this out for twenty years<span class="hx:absolute hx:-mt-20" id="the-man-whos-been-pointing-this-out-for-twenty-years"></span>
    <a href="#the-man-whos-been-pointing-this-out-for-twenty-years" class="subheading-anchor" aria-label="Permalink for this section"></a></h2><p>The person who has organized this argument with rigor for two decades is the Dane Bjorn Lomborg. A political scientist by training, a statistics professor for years at the University of Aarhus, former visiting professor at Copenhagen Business School, fellow at Stanford&rsquo;s Hoover Institution, founder of the <a href="https://copenhagenconsensus.com/"target="_blank" rel="noopener">Copenhagen Consensus Center</a>, a think tank that works with hundreds of economists, Nobel laureates included. He blew up in 2001 with &ldquo;The Skeptical Environmentalist&rdquo; and became persona non grata of the green establishment, despite repeating the same sentence since forever:</p>
<blockquote>
  <p><em>&ldquo;Global warming is real, but it is not the end of the world. It is a manageable problem.&rdquo;</em></p>

</blockquote>
<p>Take note: Lomborg accepts the scientific consensus on the existence of warming and its human cause. He defends a carbon tax and investment in green R&amp;D. What he contests is the panic and the math of the policies. His 2020 book, <a href="https://www.amazon.com/dp/B0827TL851"target="_blank" rel="noopener">&ldquo;False Alarm&rdquo;</a>, is a catalog of numbers the headline never tells you:</p>
<p><a href="https://www.amazon.com/dp/B0827TL851"target="_blank" rel="noopener"><img src="https://new-uploads-akitaonrails.s3.us-east-2.amazonaws.com/20260917_capa-false-alarm-lomborg.jpg" alt="Cover of the book “False Alarm”, by Bjorn Lomborg"  loading="lazy" /></a></p>
<h3>The numbers the headline doesn&rsquo;t tell you<span class="hx:absolute hx:-mt-20" id="the-numbers-the-headline-doesnt-tell-you"></span>
    <a href="#the-numbers-the-headline-doesnt-tell-you" class="subheading-anchor" aria-label="Permalink for this section"></a></h3><ul>
<li>Deaths from climate disasters (drought, flood, storm, wildfire, extreme temperatures; Lomborg&rsquo;s compilation over the EM-DAT database): from <strong>~500,000 per year in the 1920s to fewer than 20,000 per year today</strong>, a 96% drop. Since the population quadrupled, individual risk fell 99%.</li>
<li>In Lomborg&rsquo;s synthesis of the Stanford Energy Modeling Forum models, <a href="https://www.project-syndicate.org/commentary/paris-climate-accord-too-expensive-by-bjorn-lomborg-2017-12"target="_blank" rel="noopener">complying with the Paris Agreement costs between $1 and 2 trillion per year</a>, the most expensive pact in human history. And the effect of fulfilling every 2030 promise, measured in the MAGICC model, the same one used by the IPCC, is <a href="https://lomborg.com/paris-climate-promises-will-reduce-temperatures-just-005degc-2100-press-release"target="_blank" rel="noopener">to reduce 2100 warming by 0.048°C</a>, in his paper in Global Policy. Stretching every promise to 2100: 0.17°C. Every dollar spent on Paris avoids 11 cents of damage.</li>
<li>The cost of warming with no action at all, in the damage function of Nobel laureate William Nordhaus: about 3 to 4% of global GDP in 2100. Lomborg applies this to the IPCC income scenarios and translates: instead of having 4.5 times today&rsquo;s income, we&rsquo;ll have 4.34 times. A manageable problem.</li>
<li>New Zealand calculated that its net-zero costs between 5% and 17% of 2050 GDP, against the previous target of cutting 50% of emissions. Lomborg converts the country&rsquo;s slice of emissions, by his math, into a three-week postponement of global warming.</li>
<li>Tuvalu, the poster country of &ldquo;it&rsquo;s going to vanish into the sea&rdquo;, <a href="https://doi.org/10.1038/s41467-018-02954-1"target="_blank" rel="noopener">grew 2.9% in area over four decades</a> with the sea rising at double the global average. And the &ldquo;187 million displaced by 2100&rdquo; headline comes from a study for up to 2 meters of sea level rise with no adaptation; the same study, with dikes and realistic adaptation, calculates between 41,000 and 305,000 displaced.</li>
<li>A <a href="https://doi.org/10.1016/S0140-6736%2814%2962114-0"target="_blank" rel="noopener">study in The Lancet that analyzed 74 million deaths in 13 countries</a> attributed 7.3% of them to cold and 0.4% to heat: in the current climate, cold kills some 17 times more.</li>
</ul>
<h3>The math nobody lets you do<span class="hx:absolute hx:-mt-20" id="the-math-nobody-lets-you-do"></span>
    <a href="#the-math-nobody-lets-you-do" class="subheading-anchor" aria-label="Permalink for this section"></a></h3><p>Now the comparison that matters. The Copenhagen Consensus&rsquo;s <a href="https://copenhagenconsensus.com/halftime"target="_blank" rel="noopener">&ldquo;Best Things First&rdquo;</a> calculated: <strong>$35 billion per year</strong> on twelve cheap solutions (treating tuberculosis, malaria bed nets, child nutrition, vaccines) would save <strong>~4 million lives per year</strong>. Treating tuberculosis costs $6.2 billion a year and saves ~600,000 lives a year this decade, a return of ~$46 per dollar. Malaria alone <a href="https://www.who.int/teams/global-malaria-programme/reports/world-malaria-report-2025"target="_blank" rel="noopener">killed 610,000 people in 2024</a>, 95% in Africa, most of them children under 5. A delivered treated net costs about six dollars; saving a life with them costs <a href="https://www.givewell.org/impact-estimates"target="_blank" rel="noopener">around $5,500</a>.</p>
<p><img src="https://new-uploads-akitaonrails.s3.us-east-2.amazonaws.com/20260917_gastos-clima-vs-saude.png" alt="Chart comparing the $2.3 trillion per year of the energy transition and the $1 to 2 trillion of the Paris Agreement with the $35 billion of the Copenhagen Consensus and the $6 billion to treat tuberculosis"  loading="lazy" /></p>
<p>International climate aid alone, a quarter of all development aid, would be enough to fund tuberculosis, malaria, contraception, and nutrition in the entire world and still leave change. That&rsquo;s the real choice on the table. Nobody lets you do this math out loud without being called a monster.</p>
<p>His 2005 TED talk, <a href="https://www.youtube.com/watch?v=Dtbn9zBfJSs"target="_blank" rel="noopener">&ldquo;Global priorities bigger than climate change&rdquo;</a>, is exactly this cost-benefit exercise, done on stage, twenty years ago. Worth the 16 minutes:</p>


<div class="embed-container">
  <iframe
    src="https://www.youtube.com/embed/Dtbn9zBfJSs"
    title="YouTube video player"
    frameborder="0"
    allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share"
    referrerpolicy="strict-origin-when-cross-origin"
    allowfullscreen>
  </iframe>
</div>

<p>And since the comments will aim at the messenger, let me get the rap sheet out of the way early. About Lomborg you&rsquo;ll hear that a Danish &ldquo;scientific dishonesty&rdquo; committee declared his first book objectively dishonest in 2003. True. And Denmark&rsquo;s Ministry of Science <a href="https://www.theguardian.com/environment/2004/jun/23/climatechange.climatechangeenvironment"target="_blank" rel="noopener">overturned the decision at the end of the same year</a>, over flaws in the process. You&rsquo;ll also hear about Scientific American&rsquo;s eleven-page hostile dossier. All on record. And none of it touches the numbers, which come out of the IPCC, the WHO, the FAO, and EM-DAT.</p>
<h2>Thirty years of summits, and the score is zero<span class="hx:absolute hx:-mt-20" id="thirty-years-of-summits-and-the-score-is-zero"></span>
    <a href="#thirty-years-of-summits-and-the-score-is-zero" class="subheading-anchor" aria-label="Permalink for this section"></a></h2><p>Before China, it&rsquo;s worth looking at the full track record of the process that produced these policies. Three decades of treaties, each announced as historic, each with the same result:</p>
<h3>The treaties<span class="hx:absolute hx:-mt-20" id="the-treaties"></span>
    <a href="#the-treaties" class="subheading-anchor" aria-label="Permalink for this section"></a></h3><ul>
<li>
<p><strong>Rio, 1992.</strong> The UNFCCC is born, with the written goal of &ldquo;stabilizing greenhouse gas concentrations in the atmosphere&rdquo;. Result: global fossil CO2 went from <a href="https://www.carbonbrief.org/analysis-global-co2-emissions-will-reach-new-high-in-2024-despite-slower-growth"target="_blank" rel="noopener">22.5 gigatonnes in 1992 to 37.4 in 2024</a>, +66%. At Mauna Loa, atmospheric CO2 went from <a href="https://gml.noaa.gov/ccgg/trends/"target="_blank" rel="noopener">356 ppm to 427 ppm</a>, with no visible dent in the growth curve.</p>
</li>
<li>
<p><strong>Kyoto, 1997.</strong> Target: industrialized countries would cut 5.2% below 1990 by 2012. The US Senate <a href="https://scholarship.law.columbia.edu/sabin_climate_change/87/"target="_blank" rel="noopener">preemptively rejected the idea 95 to 0</a> before the final text even existed. Canada <a href="https://www.theguardian.com/environment/2011/dec/13/canada-pulls-out-kyoto-protocol"target="_blank" rel="noopener">left the treaty in 2011</a> when it became clear it would miss the target. Global emissions rose 43% while it was in force. The countries that &ldquo;complied&rdquo; complied for free: the post-Soviet industrial collapse and the 2008 recession did the work. And Kyoto&rsquo;s second period, the Doha one, covered <a href="https://www.i4ce.org/wp-content/uploads/14-05-Climate-Report-n%C2%B044-Analysis-of-the-KP1.pdf"target="_blank" rel="noopener">37 countries and ~14% of global emissions</a> and entered into force on December 31, 2020: the last day of the period it governed.</p>
</li>
<li>
<p>Kyoto&rsquo;s credit mechanism, the CDM, became a fraud factory: industries in China and India produced HFC-23, a greenhouse gas 14,800 times more potent than CO2, <a href="https://news.mongabay.com/2011/11/carbon-credit-market-for-hfc-23-racked-by-fraud/"target="_blank" rel="noopener">just to destroy it and sell credits</a>, a €2.6 billion scheme. The Öko-Institut, auditing for the European Commission itself, found that <a href="https://www.oeko.de/publikation/how-additional-is-the-clean-development-mechanism/"target="_blank" rel="noopener">85% of projects had a low likelihood of integrity</a>. A 2024 study in Nature Communications calculated that <a href="https://www.nature.com/articles/s41467-024-53645-z"target="_blank" rel="noopener">fewer than 16% of the carbon credits analyzed correspond to real reductions</a>.</p>
</li>
<li>
<p><strong>Copenhagen, 2009.</strong> The goal was the binding successor to Kyoto. It collapsed live: the final text was <a href="https://pmc.ncbi.nlm.nih.gov/articles/PMC10354701/"target="_blank" rel="noopener">taken note of, not adopted</a>, drafted on the last night by the US, China, India, Brazil, and South Africa. What survived was the promise of $100 billion a year for the poor world, met <a href="https://www.carbonbrief.org/analysis-seven-charts-showing-how-the-100bn-climate-finance-goal-was-met"target="_blank" rel="noopener">for the first time in 2022, two years late</a>.</p>
</li>
<li>
<p><strong>Paris, 2015.</strong> The target system is self-assigned and the targets are not legally binding. Of the 197 parties, <a href="https://www.lse.ac.uk/granthaminstitute/wp-content/uploads/2018/10/Aligning-national-and-international-climate-targets-1.pdf"target="_blank" rel="noopener">only 58 had economy-wide targets in domestic law or policy, and only 17 with ambition equal to or greater than what was promised on paper</a> (Grantham Institute, via Lomborg). Nature wrote in 2017 that <a href="https://www.ovid.com/journals/natr/pdf/10.1038/548025a~prove-paris-was-more-than-paper-promises"target="_blank" rel="noopener">every major industrialized country was falling short</a>. The US left, came back, left again (effective January 2026) and, in January 2026, <a href="https://www.justsecurity.org/128687/implications-us-withdrawal-unfccc/"target="_blank" rel="noopener">announced its withdrawal from the UNFCCC itself</a>, the 1992 convention, something no country had ever done. Since Paris, emissions rose from 35.4 Gt to 37.4 Gt, every year, except for the covid dip.</p>
</li>
<li>
<p><strong>Belém, 2025 (COP30).</strong> The house was ours, and the result was a portrait of the state of the process. Before it opened: delegations from Africa and the Pacific <a href="https://www.climatechangenews.com/2025/07/02/africa-pacific-climate-summit-concerns-cop30-accommodation-brazil-belem/"target="_blank" rel="noopener">formally complaining about the lodging crisis</a>, with stratospheric hotel rates and part of the delegations sleeping on cruise ships. During: <a href="https://www.politico.com/news/2025/11/20/cop30-summit-fire-evacuation-brazil-00662600"target="_blank" rel="noopener">a fire in the blue zone evacuated the delegates</a> in the middle of the final negotiation, with 13 people treated for smoke inhalation. It was the <a href="https://earth.org/us-absence-at-cop30-exacerbates-financial-challenge-to-meet-climate-targets/"target="_blank" rel="noopener">first COP without an American delegation in 30 years</a>, and Trump mocked the event on Truth Social, the highway through the rainforest and all. Attendance: ~42,000 in person, half of what Dubai had. And what came out of it? A text called &ldquo;Global Mutirão&rdquo; (mutirão is Portuguese for a collective work effort) with the fossil fuel phase-out plan <a href="https://www.carbonbrief.org/debriefed-21-november-2025-cop30-debriefed-mutirao-text-latest-roadmaps-explained-cop-finish-times-plotted"target="_blank" rel="noopener">ripped out after pressure from Saudi Arabia and allies</a>, despite more than 80 countries backing it, and a promise to triple adaptation finance already born weakened, from 2030 to 2035. The bill for the Brazilian taxpayer: <a href="https://www.terra.com.br/noticias/brasil/trabalhadores-da-construcao-em-belem-anunciam-greve-a-dois-meses-do-inicio-da-cop30,6ca049668dfefcc01e3240283045b3a6f97j7t7q.html"target="_blank" rel="noopener">~R$4.7 billion in the federal package alone</a> (Union Budget, BNDES, and Itaipu), not counting what the state and the city spent on their own and never consolidated in public. One more circus paid for with our money, with nothing to show at the end.</p>
</li>
</ul>
<h3>The COP circus<span class="hx:absolute hx:-mt-20" id="the-cop-circus"></span>
    <a href="#the-cop-circus" class="subheading-anchor" aria-label="Permalink for this section"></a></h3><p>And there&rsquo;s the circus itself, which isn&rsquo;t just ours. COP28 in Dubai had <a href="https://www.carbonbrief.org/analysis-which-countries-have-sent-the-most-delegates-to-cop28"target="_blank" rel="noopener">83,884 in-person participants</a>, including <a href="https://www.globalwitness.org/en/press-releases/record-number-fossil-fuel-lobbyists-granted-access-cop28-climate-talks/"target="_blank" rel="noopener">2,456 fossil fuel lobbyists</a>, which perhaps explains the final texts. Glasgow had <a href="https://www.forbes.com/sites/oliverwilliams1/2021/11/05/118-private-jets-take-leaders-to-cop26-climate-summit-burning-over-1000-tons-of-co2/"target="_blank" rel="noopener">118 private jets</a>; COP27, some <a href="https://theconversation.com/why-are-people-still-flying-to-climate-conferences-by-private-jet-218459"target="_blank" rel="noopener">315 executive jet trips</a>. And the cherry on top of our edition: Avenida Liberdade, 13 km of road cutting through Belém&rsquo;s Environmental Protection Area, <a href="https://www.bbc.com/news/articles/c9vy191rgn1o"target="_blank" rel="noopener">with 68 hectares of vegetation cleared</a> (the project was the state&rsquo;s and predates the COP, but the cut in a protected area is fact).</p>
<p>The scoreboard of 32 years of treaties: +68 ppm of CO2 in the atmosphere, zero deceleration. The emissions curve doesn&rsquo;t know the treaties exist.</p>
<h2>Patient zero of the hysteria: Al Gore<span class="hx:absolute hx:-mt-20" id="patient-zero-of-the-hysteria-al-gore"></span>
    <a href="#patient-zero-of-the-hysteria-al-gore" class="subheading-anchor" aria-label="Permalink for this section"></a></h2><p>Before the treaty machine, the propaganda had a founding father. Al Gore lost the 2000 election and reinvented himself with &ldquo;An Inconvenient Truth&rdquo; (2006): an Oscar, the 2007 Nobel Peace Prize shared with the IPCC, and the template for every hysteria that came after. Practically every apocalyptic prediction you hear to this day premiered in that film.</p>
<p>The one who dissected the film claim by claim was Roy Spencer: PhD meteorologist, former senior climate scientist at NASA, co-creator with John Christy of the <a href="https://www.nsstc.uah.edu/climate/"target="_blank" rel="noopener">UAH satellite temperature dataset</a>, the independent reference for global temperature. His position is the &ldquo;lukewarmer&rdquo; one: CO2 warms a little, the theory is solid up to there; the catastrophe is the exaggeration. In 2017 he published &ldquo;An Inconvenient Deception&rdquo; (<a href="https://www.amazon.com/dp/B074XG6KX1"target="_blank" rel="noopener">Kindle on Amazon</a>), which I read for this article. Gore&rsquo;s catalog of busted prophecies, with Spencer&rsquo;s data:</p>
<p><a href="https://www.amazon.com/dp/B074XG6KX1"target="_blank" rel="noopener"><img src="https://new-uploads-akitaonrails.s3.us-east-2.amazonaws.com/20260917_capa-inconvenient-deception-spencer.jpg" alt="Cover of the book “An Inconvenient Deception”, by Roy Spencer"  loading="lazy" /></a></p>
<h3>The catalog of busted prophecies<span class="hx:absolute hx:-mt-20" id="the-catalog-of-busted-prophecies"></span>
    <a href="#the-catalog-of-busted-prophecies" class="subheading-anchor" aria-label="Permalink for this section"></a></h3><ul>
<li><strong>&ldquo;Ten years to the point of no return&rdquo;</strong> (2006). Ten passed, almost twenty passed. The trend measured by Spencer&rsquo;s own satellite: ~0.16°C per decade, through June 2026.</li>
<li><strong>Arctic summer ice &ldquo;could be gone as early as 2014&rdquo;</strong>: the line is from his Copenhagen speech, December 2009, citing a modeler who later disowned the number. It didn&rsquo;t vanish.</li>
<li><strong>Kilimanjaro&rsquo;s snows by 2016</strong>: still there.</li>
<li><strong>Stronger and more frequent hurricanes after Katrina</strong>: what came was a drought of almost 12 years without a single major hurricane touching the US, from Wilma in October 2005 to Harvey in August 2017, the longest since 1850. NASA researchers calculated that a gap like that happens once every 270 years. And the global cyclone count has no upward trend since the 1970s.</li>
<li><strong>&ldquo;Up to 20 feet of sea level rise&rdquo;</strong>: the measured global rate today is ~3.4 mm per year, about 1.4 inches per decade. The Battery Park tide gauge in Manhattan measures 1.16 inches per decade since 1856, and part of that is the land sinking. At this rate, 20 feet takes more than a millennium.</li>
<li><strong>The drowning polar bears</strong>: the film&rsquo;s animated scene was born from a short note in Polar Biology about four bears found dead after a storm in 2004. The estimated global population sits between 22,000 and 31,000, <a href="https://www.factcheck.org/2008/06/polar-bear-population/"target="_blank" rel="noopener">probably larger than in the 1970s</a>, when no reliable estimate even existed and the real threat was unregulated hunting, solved by the 1973 treaty. Twenty years later, &ldquo;the bears are dying&rdquo; still circulates as fact.</li>
<li><strong>The Syria drought, &ldquo;the worst in 900 years&rdquo;, said to have caused the civil war</strong>: rainfall data for the west of the country, Aleppo, Damascus, Homs, stayed above average; the strong 2007/08 drought concentrated in the northeast. What broke the countryside was the government tripling the price of diesel in 2007-2008, which made pumping well water unviable.</li>
<li><strong>The flooding of the 9/11 memorial by hurricane Sandy, presented in the sequel as &ldquo;I told you so&rdquo;</strong>: in the original film he talked about gradual sea level rise, never storm surge. Spencer calls it explicit deception.</li>
<li><strong>The tabletop experiment with Bill Nye</strong>, heating CO2 in glass jars in the Climate Reality Project&rsquo;s &ldquo;Climate 101&rdquo; video (2011): Anthony Watts&rsquo;s analysis showed the experiment doesn&rsquo;t work and the result was faked in post-production. According to Spencer, the video stayed on Gore&rsquo;s site for years afterward.</li>
<li><strong>The crops</strong>: the 42 climate models used by the UN predicted summer warming in the American Corn Belt; NOAA data shows no significant warming there since 1960.</li>
</ul>
<p>The cast of the prophecies is going strong. The bears, too:</p>
<p><img src="https://new-uploads-akitaonrails.s3.us-east-2.amazonaws.com/20260917_urso-polar-beaufort-usfws.jpg" alt="A fat, relaxed polar bear resting on the shore of the Beaufort Sea, Alaska. Photo: USFWS, public domain"  loading="lazy" /></p>
<h3>The character<span class="hx:absolute hx:-mt-20" id="the-character"></span>
    <a href="#the-character" class="subheading-anchor" aria-label="Permalink for this section"></a></h3><p>And the character: Spencer documents that Gore got rich on &ldquo;green&rdquo; investments (he&rsquo;s a cofounder of Generation Investment Management), keeps mansions and an industrial-sized carbon footprint. And even the establishment didn&rsquo;t swallow the film whole: in 2007, the British courts found nine errors in &ldquo;An Inconvenient Truth&rdquo; and called the sea level part <em>&ldquo;distinctly alarmist&rdquo;</em>. Spencer&rsquo;s word for Gore&rsquo;s technique is &ldquo;wordsmithing&rdquo;: writing in a way that leads the audience to conclude what he never stated in so many words.</p>
<p>The audience, by the way, had already tuned out: in the first weeks of the 2017 sequel, the screening Spencer attended in a 750-seat theater had three people, and one left halfway through.</p>
<p>If this subject got to you, the two bedside books are Spencer&rsquo;s, above, and <a href="https://www.amazon.com/dp/B0827TL851"target="_blank" rel="noopener">Lomborg&rsquo;s &ldquo;False Alarm&rdquo;</a>, which I used in the previous section. One dissects the propaganda; the other dissects the bill.</p>
<p>Spencer&rsquo;s rap sheet also comes ready-made in the comments: he&rsquo;s one of the favorite skeptics of Republicans in Congress, the UAH dataset had famous corrections in the 90s and 2000s (published and incorporated decades ago), and a 2011 paper of his in Remote Sensing was so contested that <a href="https://www.bbc.com/news/science-environment-14768574"target="_blank" rel="noopener">the journal&rsquo;s editor resigned</a>, saying the article had slipped through by mistake. All real. And none of it changes the Battery Park tide gauge or the calendar of expired prophecies. Criticize the numbers, if you can. The messenger is just the messenger.</p>
<h2>The arithmetic of insignificance<span class="hx:absolute hx:-mt-20" id="the-arithmetic-of-insignificance"></span>
    <a href="#the-arithmetic-of-insignificance" class="subheading-anchor" aria-label="Permalink for this section"></a></h2><p>Let&rsquo;s get to your electric car and your paper straw. China accounted for <a href="https://globalcarbonbudget.org/fossil-fuel-co2-emissions-increase-again-in-2024/"target="_blank" rel="noopener">32% of global fossil CO2 in 2024</a>, more than the US, the EU, and India combined. China <a href="https://www.carbonbrief.org/chinas-construction-of-new-coal-power-plants-reached-10-year-high-in-2024"target="_blank" rel="noopener">started construction on 94.5 GW of new coal plants in 2024 alone</a>, a ten-year record, and burns more than half of all the planet&rsquo;s coal every year since 2011.</p>
<p>Now your individual actions, with the numbers:</p>
<ul>
<li>The entire global EV fleet displaced <a href="https://iea.blob.core.windows.net/assets/0aa4762f-c1cb-4495-987a-25945d6de5e8/GlobalEVOutlook2025.pdf"target="_blank" rel="noopener">~1.3 million barrels of oil per day in 2024</a>, something like 0.5% of the world&rsquo;s fossil CO2. That&rsquo;s the total size of the impact of the biggest green policy of the decade.</li>
<li>Lomborg calculated in 2020: an average subsidy of $10,000 per EV to save ~8 tonnes of CO2, worth $48 in the RGGI, the carbon market of the American Northeast states, at the time. You paid ten grand for 48 dollars of carbon.</li>
<li>Lomborg&rsquo;s math, with IEA data from the time: an EV emitted ~26 tonnes of CO2 over its lifetime against ~34 for a gasoline car, a 24% cut. And it depends on the grid: the Volvo XC40 study calculated the <a href="https://upcommons.upc.edu/bitstreams/e406131b-b34f-4628-8a4a-1b77a545d1f8/download"target="_blank" rel="noopener">battery payback at 146,000 km driven on the global average electric mix</a> (84,000 km on the European mix, 47,000 km on wind power). On a coal-powered grid, it&rsquo;s worse.</li>
<li>Paper straws: even if every estimated straw on the coasts ended up in the sea in one year, they&rsquo;d make <a href="https://www.bbc.com/news/56660823"target="_blank" rel="noopener">~0.03% of the annual plastic entering the ocean</a>.</li>
<li>Household recycling: of all the plastic that became waste in history through 2015, <a href="https://doi.org/10.1126/sciadv.1700782"target="_blank" rel="noopener">only 9% was recycled; 12% incinerated; 79% went to landfill or into nature</a> (Geyer et al., Science Advances 2017). And plastic doesn&rsquo;t recycle in a loop: each cycle degrades the polymer, it becomes a lower-quality product, and it postpones the landfill by one step. The worst part: NPR showed that <a href="https://www.npr.org/2020/09/11/897692090/how-big-oil-misled-the-public-into-believing-plastic-would-be-recycled"target="_blank" rel="noopener">the plastics industry knew since the 70s that recycling didn&rsquo;t pay and sold the symbol anyway</a>, so you&rsquo;d keep buying guilt-free. The exception that proves the rule is aluminum: recycling uses 5% of the energy of producing from scratch, and Brazil is the world champion at it, with <a href="https://abralatas.org.br/wp-content/uploads/2025/11/ESG-Report-2025.pdf"target="_blank" rel="noopener">97.3% of cans recycled in 2024</a>. Recycling works when the physics and the economics close. When they don&rsquo;t, it&rsquo;s kitchen liturgy.</li>
</ul>
<blockquote>
  <p>Your paper straw doesn&rsquo;t show up in this math. Neither does your EV. The math is dominated by whoever builds 94 GW of coal plants per year.</p>

</blockquote>
<p>These gestures are liturgy, and this is where their real damage lives. The paper straw gives that feeling of &ldquo;at least I&rsquo;m helping&rdquo;, and that feeling numbs. The person makes the micro-sacrifice, feels part of saving the world, and closes their eyes to the actually big problems, like the children dying of malaria in Africa I showed two sections back. Objectively, the gesture moves nothing. Subjectively, it buys the conscience. It&rsquo;s worse than useless.</p>
<p>And Lomborg&rsquo;s complete thought is even more brutal: if the rich world zeroed all its emissions and stayed at zero for the rest of the century, the temperature increase in 2100 would drop 0.7°F, less than half a Celsius degree, in his math with the MAGICC model. The West&rsquo;s total sacrifice is a rounding error.</p>
<h2>The world doesn&rsquo;t fit in your head<span class="hx:absolute hx:-mt-20" id="the-world-doesnt-fit-in-your-head"></span>
    <a href="#the-world-doesnt-fit-in-your-head" class="subheading-anchor" aria-label="Permalink for this section"></a></h2><p>Part of the hysteria exists because most people have no sense of the planet&rsquo;s physical scale. Let&rsquo;s fix that real quick, in human language.</p>
<p><strong>The Sun.</strong> The Earth continuously intercepts <a href="https://news.mit.edu/2011/energy-scale-part3-1026"target="_blank" rel="noopener">~173,000 terawatts of solar energy</a>. All of civilization consumes ~20 TW. The ratio is more than 8,000 to 1, and the Earth captures only one part in 2.2 billion of what the Sun emits. A single large coronal mass ejection carries billions of tonnes of plasma with energy in the range of 10^25 joules, something like fifty million Tsar bombs. In 1859, the <a href="https://www.astronomy.com/today-in-the-history-of-astronomy/sept-2-1859-the-carrington-event-peaks/"target="_blank" rel="noopener">Carrington Event</a> set telegraphs on fire and drew auroras in the sky over Cuba. No human control panel participated.</p>
<p><strong>The Moon.</strong> Tides are the Moon deforming the ocean: a bulge of water on its side, another on the opposite side. The lunar effect on the tide is ~54 cm; the Sun&rsquo;s, ~25 cm. In the <a href="https://www.wecanfigurethisout.org/ENERGY/Web_notes/Exotics/Exotics_Supporting_Files/Bay%20of%20Fundy%20-%20Ocean%20Networks%20Canada.pdf"target="_blank" rel="noopener">Bay of Fundy, the tide swings 16 meters</a>, and each flood tide brings in ~160 billion tonnes of water, more than all the rivers in the world combined in the same period. Meanwhile, the Moon drifts away 3.8 cm per year and the Earth&rsquo;s day gets longer by some 2 milliseconds per century. Some 620 million years ago, the day was almost 22 hours.</p>
<p><strong>El Niño.</strong> Normally the trade winds push the Pacific&rsquo;s warm water west. Every 2 to 7 years they weaken, the warm water slides east, and the global average temperature rises 0.1 to 0.2°C for a year or two, on its own, no cars, no industry. La Niña does the opposite. When you see a &ldquo;hottest year in history&rdquo; headline, check whether there was an El Niño: there almost always was.</p>
<p><strong>New York and Lisbon.</strong> New York sits at 40.7°N. Lisbon, at 38.7°N; Madrid, at 40.4°N. Same latitude. New York buries itself in snow every winter; Lisbon and Madrid have mild winters by comparison. The explanation: the westerly winds throw moderate air across the Atlantic onto Europe, while the American east coast receives freezing continental air from the Arctic, with the Atlantic transporting <a href="https://www.livescience.com/planet-earth/weather/why-do-european-cities-have-milder-winters-than-those-in-north-america-despite-being-at-the-same-latitude"target="_blank" rel="noopener">~1.2 petawatts of heat north</a> via the meridional current of which the Gulf Stream is part. Iceland, at 64°N, has winter averages comparable to New York&rsquo;s. Latitude rules far less than current and wind.</p>
<p><strong>The Sahara fertilizes the Amazon.</strong> Every year, <a href="https://svs.gsfc.nasa.gov/4273/"target="_blank" rel="noopener">~182 million tonnes of dust leave Africa</a> crossing the Atlantic; ~28 million tonnes fall on the Amazon basin, carrying ~22,000 tonnes of phosphorus, almost exactly what the rain leaches from the forest&rsquo;s soil each year. The world&rsquo;s biggest desert feeds the world&rsquo;s biggest forest, and it&rsquo;s been happening for millions of years before you were born.</p>
<p><img src="https://new-uploads-akitaonrails.s3.us-east-2.amazonaws.com/20260917_mapa-mundo-clima.png" alt="Annotated world map showing Sahara dust crossing the Atlantic to the Amazon, the latitude line of New York and Lisbon, the Gulf Stream, the El Niño region in the Pacific, and the Bay of Fundy"  loading="lazy" /></p>
<p>And if you zoom out the time scale, it gets even more absurd:</p>
<p><strong>The Sahara was once green.</strong> Between ~11,000 and ~5,000 years ago, the Sahara was savanna with lakes, hippos, and crocodiles, and the <a href="https://en.wikipedia.org/wiki/Cave_of_Swimmers"target="_blank" rel="noopener">Cave of Swimmers</a>, in Egypt, holds rock art of people swimming in what is now desert. The driver was the orbital precession cycle, and the <a href="https://phys.org/news/2013-04-abrupt-widespread-climate-shift-sahara.html"target="_blank" rel="noopener">flip to desert took decades to a few centuries, depending on the region</a>. And it comes back: the next orbital summer maximum arrives in some 10,000 years.</p>
<p><strong>The Earth was once a snowball.</strong> Twice between ~717 and ~635 million years ago, the Sturtian and Marinoan glaciations took ice all the way to the tropics: there are <a href="https://en.wikipedia.org/wiki/Snowball_Earth"target="_blank" rel="noopener">glacial deposits at tropical latitudes</a> to prove it. The Earth got out of it on its own: the global ice shut down the process that pulls CO2 out of the air, volcanoes stacked CO2 for millions of years up to hundreds of times the current level, and the greenhouse effect beat the ice.</p>
<p><strong>The Mediterranean once dried up.</strong> Between 5.97 and 5.33 million years ago, the Mediterranean Sea nearly evaporated and left <a href="https://en.wikipedia.org/wiki/Messinian_salinity_crisis"target="_blank" rel="noopener">layers of salt more than a kilometer thick</a> on its bed. When the Atlantic broke through at Gibraltar, the flood filled the sea back up with <a href="https://www.southampton.ac.uk/news/2025/01/new-evidence-suggests-megaflood-refilled-the-mediterranean-sea-five-million-years-ago.page"target="_blank" rel="noopener">90% of the volume in months to two years</a>, at a flow estimated at a thousand times the Amazon&rsquo;s.</p>
<p><strong>Sharks in Kansas.</strong> In the Cretaceous, with the sea level 100 to 200 meters above today&rsquo;s, <a href="https://en.wikipedia.org/wiki/Western_Interior_Seaway"target="_blank" rel="noopener">a shallow sea split North America in two</a>, from the Gulf of Mexico to the Arctic. Mosasaurs and sharks swam where Kansas is today.</p>
<p><strong>The plants almost starved.</strong> At the last glacial maximum, CO2 fell to ~180 ppm, dangerously close to the ~150 ppm range where C3 plants start to fail. <a href="https://research.fs.usda.gov/download/treesearch/22081.pdf"target="_blank" rel="noopener">Glacial-era trees preserved in the La Brea tar show physiological carbon starvation</a>. Plants evolved in a world with much more CO2, and today the planet is greening: the Zhu et al. 2016 study, <a href="https://www.nasa.gov/centers-and-facilities/ames/carbon-dioxide-fertilization-greening-earth-study-finds/"target="_blank" rel="noopener">publicized by NASA</a>, measured greening across 25 to 50% of vegetated areas between 1982 and 2009, with ~70% attributed to CO2 fertilization.</p>
<blockquote>
  <p>CO2 became a synonym for a dangerous gas that must be fought at any cost. For plants, it&rsquo;s food. When CO2 rises, green life tends to rise with it. If CO2 were poison, there would be no plants.</p>

</blockquote>
<p><strong>Rainforest in Antarctica.</strong> In 2020, Nature published the discovery of <a href="https://pubmed.ncbi.nlm.nih.gov/32238944/"target="_blank" rel="noopener">intact roots of a temperate forest that grew at 82°S</a>, some 900 km from the South Pole, ~90 million years ago, with a mean annual temperature of 12 to 13°C. New Zealand climate, in Antarctica.</p>
<h2>The climate has always changed<span class="hx:absolute hx:-mt-20" id="the-climate-has-always-changed"></span>
    <a href="#the-climate-has-always-changed" class="subheading-anchor" aria-label="Permalink for this section"></a></h2><p>&ldquo;Climate change&rdquo; is an oxymoron. Changing is what the climate does, since forever, without asking permission.</p>
<p>For <a href="https://eprints.whiterose.ac.uk/id/eprint/170702/7/Cosgrove%20et%20al%202021%20Bull%20GSA%20accepted%20non-formatted.pdf"target="_blank" rel="noopener">most of Earth&rsquo;s history there was no permanent ice at the poles</a>. The planet&rsquo;s normal condition is greenhouse, no polar ice. In the Cambrian, CO2 was 10 to 20 times the pre-industrial level. At the peak of the Cretaceous, the global average was some 10°C above today&rsquo;s, or more. Antarctica only gained permanent ice 34 million years ago.</p>
<p>And the great die-offs, which the hysteria loves to invoke, happened five times before any industry:</p>
<ul>
<li><strong>~444 million years ago</strong> (Ordovician): ~85% of species, glaciation.</li>
<li><strong>~372 million</strong> (Devonian): ~75%, ocean anoxia.</li>
<li><strong>~252 million</strong> (Permian, &ldquo;the Great Dying&rdquo;): ~96% of marine life, volcanism.</li>
<li><strong>~201 million</strong> (Triassic): ~80%, volcanism.</li>
<li><strong>~66 million</strong> (K-Pg): ~76%, the dinosaur asteroid. That one&rsquo;s just the most famous.</li>
</ul>
<p>On the more recent scale: the current ice age began 2.58 million years ago, with ice cycles every ~100,000 years in the last million of them. 20,000 years ago, <a href="https://www.antarcticglaciers.org/glacial-geology/laurentide-ice-sheet/laurentide-ice-sheet-at-the-last-glacial-maximum/"target="_blank" rel="noopener">hundreds of meters of ice covered where Manhattan is today</a>, and the sea level was 120 meters lower. 11,500 years ago, at the end of the Younger Dryas, <a href="https://www.ncei.noaa.gov/sites/default/files/2021-11/3%20The%20Younger%20Dryas%20-FINAL%20NOV%20%281%29.pdf"target="_blank" rel="noopener">Greenland warmed ~10°C in about a decade</a>. Then came the Medieval Warm Period, the Little Ice Age with the Thames freezing until 1814, and the &ldquo;year without a summer&rdquo; of 1816, courtesy of the Tambora eruption. All of it without a single coal plant.</p>
<p><img src="https://new-uploads-akitaonrails.s3.us-east-2.amazonaws.com/20260917_timeline-clima-terra.png" alt="Timeline of Earth’s climate history showing the five great extinctions, the PETM, the freezing of Antarctica, the ice ages, the Younger Dryas, the Medieval Warm Period, and the Little Ice Age"  loading="lazy" /></p>
<p>To be clear about what I&rsquo;m saying: none of this proves the current warming doesn&rsquo;t exist, and the current speed of the CO2 rise is indeed faster than the natural precedents. Lomborg himself says so. What this scale destroys is the phrase &ldquo;end of the world&rdquo;. A planet that has already been 10°C warmer with the sea 120 meters lower is not in its death throes. The serious discussion is about the cost-benefit of each policy, which is exactly the discussion the hysteria forbids.</p>
<h2>The hysteria died of natural causes: money<span class="hx:absolute hx:-mt-20" id="the-hysteria-died-of-natural-causes-money"></span>
    <a href="#the-hysteria-died-of-natural-causes-money" class="subheading-anchor" aria-label="Permalink for this section"></a></h2><p>Fear doesn&rsquo;t save the planet, doesn&rsquo;t help the environment, and doesn&rsquo;t improve anyone&rsquo;s life. Fear sells narrative, funds consulting, elects politicians, and stuffs foundations with money. The cost of this era is right there: trillions torched on gestures that don&rsquo;t move the thermometer, while <a href="https://data.unicef.org/topic/child-survival/under-five-mortality/"target="_blank" rel="noopener">4.9 million children died in 2024 before turning 5</a> from diseases the developed world forgot exist.</p>
<p>And then AI came along and closed the subject by accident. Notice how nobody talks about COPs in the headlines anymore. The conversation now is datacenter gigawatts, 20-year nuclear contracts, gas turbines. The same CEOs who signed climate letters are fighting over power plants. The same governments that imposed paper straws approve reactor subsidies. The climate agenda left the stage without being refuted, evicted by a bigger agenda.</p>
<p>If the end of the world were really on their agenda, you wouldn&rsquo;t be watching Three Mile Island being restarted to train chatbots. You&rsquo;re watching it. It was theater, and the theater closed when a more profitable show opened in the room next door.</p>
<blockquote>
  <p>Fear doesn&rsquo;t save the planet. Fear sells. And whoever bought the fear is now buying megawatts.</p>

</blockquote>
]]></content:encoded><category>science</category><category>politics</category><category>artificial-intelligence</category></item><item><title>Codes of Conduct Are the Root of All Evil: Reclaiming Your Freedom</title><link>https://akitaonrails.github.io/en/2026/09/14/codes-of-conduct-root-of-all-evil/</link><guid isPermaLink="true">https://akitaonrails.github.io/en/2026/09/14/codes-of-conduct-root-of-all-evil/</guid><pubDate>Mon, 14 Sep 2026 17:00:00 -0300</pubDate><description>&lt;p&gt;Every major open source project today ships with a &lt;code&gt;CODE_OF_CONDUCT.md&lt;/code&gt; in the repository. The idea was sold that this existed to &amp;ldquo;protect minorities&amp;rdquo; and &amp;ldquo;create safe spaces.&amp;rdquo; In practice, what I watched happen over the last decade was something else: an instrument to cancel, persecute, and ban anyone who thought differently from whoever was in control. And the people leading those hunts, as a rule, were not the ones maintaining the projects&amp;rsquo; code.&lt;/p&gt;</description><content:encoded><![CDATA[<p>Every major open source project today ships with a <code>CODE_OF_CONDUCT.md</code> in the repository. The idea was sold that this existed to &ldquo;protect minorities&rdquo; and &ldquo;create safe spaces.&rdquo; In practice, what I watched happen over the last decade was something else: an instrument to cancel, persecute, and ban anyone who thought differently from whoever was in control. And the people leading those hunts, as a rule, were not the ones maintaining the projects&rsquo; code.</p>
<p>This is my thesis, and I know it&rsquo;s unpopular. It took me ten years of patience to be able to write this piece. I stayed quiet watching this theater repeat itself year after year, waiting for the right moment to document everything I witnessed up close, and today I get to watch, with real pleasure, my own predictions come true one by one.</p>
<p>And before some smart aleck tries this one: I know boycotts, doxxing, and witch hunts exist with no CODE_OF_CONDUCT.md whatsoever, they always have. The title takes aim at what this file turned into: the instrument that took an internet-mob tactic and stamped it as official project policy, with a committee, a process, and a veneer of institutional legitimacy. A 500-line markdown file scares nobody by itself; what it became does.</p>
<blockquote>
  <p>Easy money was the fuel. The code of conduct was the weapon these people built to formalize what used to be just a shout in the street.</p>

</blockquote>
<p>One question is where the energy came from; another is the instrument it adopted to turn into permanent power inside the project. Keep that distinction in mind, because it holds up the whole piece. But before getting to the philosophy, let me tell the economic part, because without understanding the money you won&rsquo;t understand the rest.</p>
<h2>The bubble that funded all of this<span class="hx:absolute hx:-mt-20" id="the-bubble-that-funded-all-of-this"></span>
    <a href="#the-bubble-that-funded-all-of-this" class="subheading-anchor" aria-label="Permalink for this section"></a></h2><p>From roughly 2012 to 2022, the tech industry lived through the biggest hiring bubble in history. Zero interest rates, infinite capital, and big tech companies growing like there was no tomorrow. We reached the surreal point of companies hiring engineers with no work for them to do. Keith Rabois, of the PayPal mafia, publicly accused Google and Meta of hiring thousands of people to do <a href="https://fortune.com/2023/03/10/google-over-hired-talent-do-nothing-fake-work-stop-working-rivals-former-paypal-boss-keith-rabois/"target="_blank" rel="noopener">&ldquo;fake work&rdquo;, out of vanity, and so they wouldn&rsquo;t go work for competitors</a>. A former Meta employee, laid off in the first 2022 wave, put it better: <a href="https://www.businesstoday.in/technology/news/story/paid-employees-to-do-fake-work-laid-off-worker-accuses-meta-of-not-having-enough-work-for-staff-373423-2023-03-15"target="_blank" rel="noopener">&ldquo;they were hoarding us like Pokémon cards&rdquo;</a>. The <a href="https://www.ibtimes.co.uk/how-get-paid-doing-nothing-inside-silicon-valleys-controversial-rest-vest-culture-1633884"target="_blank" rel="noopener">&ldquo;rest and vest&rdquo;</a> culture, collecting salary and stock options while doing almost nothing, had already been documented back in 2017.</p>
<p>It was this bubble that funded the &ldquo;coding is the profession of the future&rdquo; wave. Bootcamps <a href="https://www.coursereport.com/reports/2020-coding-bootcamp-market-size-study"target="_blank" rel="noopener">went from 2,178 graduates in 2013 to nearly 25,000 in 2020</a> in the US and Canada alone, growth of more than a thousand percent. <a href="https://www.theverge.com/2012/1/6/2688172/mayor-bloomberg-resolves-to-take-a-coding-class-in-2012"target="_blank" rel="noopener">Bloomberg resolved to learn to code as a New Year&rsquo;s resolution in 2012</a>. <a href="https://www.wired.com/2014/12/obama-becomes-first-president-write-computer-program/"target="_blank" rel="noopener">Obama wrote a line of code on TV in 2014</a>.</p>
<p>I told this story in more detail in a February 2020 video, back when the bubble was still inflating (<a href="/2020/02/19/akitando-72-rant-programacao-nao-e-facil/">transcript here</a>):</p>


<div class="embed-container">
  <iframe
    src="https://www.youtube.com/embed/V7oUDL7E1g4"
    title="YouTube video player"
    frameborder="0"
    allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share"
    referrerpolicy="strict-origin-when-cross-origin"
    allowfullscreen>
  </iframe>
</div>

<p>Tech influencer became a profession. Everyone was going to be a programmer.</p>
<p>Then the bubble popped. <a href="https://techcrunch.com/2024/05/01/a-comprehensive-archive-of-2023-tech-layoffs/"target="_blank" rel="noopener">2022: nearly 165,000 laid off. 2023: more than 262,000</a>, according to Layoffs.fyi. Meta cut <a href="https://about.fb.com/news/2022/11/mark-zuckerberg-layoff-message-to-employees/"target="_blank" rel="noopener">11,000 in November 2022</a> with Zuckerberg admitting <em>&ldquo;I got this wrong&rdquo;</em>, and another <a href="https://fortune.com/2023/03/14/meta-layoffs-10000-mark-zuckerberg-year-of-efficiency-hiring-freeze"target="_blank" rel="noopener">10,000 in the &ldquo;year of efficiency&rdquo;</a> in 2023. Amazon cut <a href="https://cbsaustin.com/news/nation-world/amazon-cuts-9000-jobs-now-at-least-27000-layoffs-in-2023"target="_blank" rel="noopener">27,000</a>. Google, <a href="https://blog.google/company-news/inside-google/message-ceo/january-update/"target="_blank" rel="noopener">12,000</a>, with Pichai admitting that <em>&ldquo;we hired for a different economic reality than the one we face today&rdquo;</em>. Stripe was the most honest: <a href="https://ca.finance.yahoo.com/news/digital-payments-firm-stripe-lay-134215274.html"target="_blank" rel="noopener">&ldquo;we overhired&rdquo;</a>.</p>
<p>I recorded that burst in the heat of the moment, in a November 2022 video (<a href="/2022/11/22/akitando-132-rant-a-bolha-de-startups-estourou/">transcript here</a>):</p>


<div class="embed-container">
  <iframe
    src="https://www.youtube.com/embed/xxoVJQvEyEU"
    title="YouTube video player"
    frameborder="0"
    allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share"
    referrerpolicy="strict-origin-when-cross-origin"
    allowfullscreen>
  </iframe>
</div>

<p>And because the timing writes its own joke, on November 30, 2022, right in the middle of the bloodbath, ChatGPT came out. <a href="https://www.reuters.com/technology/chatgpt-sets-record-fastest-growing-user-base-analyst-note-2023-02-01/"target="_blank" rel="noopener">A hundred million users in two months</a>, the fastest-growing app ever seen up to that point, according to a UBS estimate. The headlines turned into an ACM talk called <a href="https://learning.acm.org/techtalks/endporgramming"target="_blank" rel="noopener">&ldquo;Large Language Models and the End of Programming&rdquo;</a>, <a href="https://www.techspot.com/news/102020-nvidia-boss-jensen-huang-children-shouldnt-learn-code.html"target="_blank" rel="noopener">Jensen Huang saying no child needs to learn to code anymore</a>, <a href="https://www.cognition.ai/blog/introducing-devin"target="_blank" rel="noopener">Devin announcing itself as the first AI software engineer</a>, <a href="https://daringfireball.net/linked/2025/08/20/claim-chowder-amodei"target="_blank" rel="noopener">Dario Amodei promising AI would write 90% of code within three to six months</a>. Spoiler: it didn&rsquo;t.</p>
<p>Why does this story matter? Because it was exactly during this decade of easy money that open source got colonized. When there&rsquo;s money to spare and a shortage of real work, there&rsquo;s time and people to spare for playing politics inside projects. And that&rsquo;s what happened.</p>
<h2>The decade of the witch hunt<span class="hx:absolute hx:-mt-20" id="the-decade-of-the-witch-hunt"></span>
    <a href="#the-decade-of-the-witch-hunt" class="subheading-anchor" aria-label="Permalink for this section"></a></h2><p>The central artifact of this story is the <a href="https://ethicalsource.dev/blog/contributor-covenant-stewardship/"target="_blank" rel="noopener">Contributor Covenant</a>, created in 2014 by Coraline Ada Ehmke and adopted by thousands of projects, including practically every giant in the industry: CNCF, Apple, Google, Microsoft, Linux. The author herself, on the day Linux adopted her code, tweeted in no uncertain terms: <a href="https://itsfoss.com/linux-code-of-conduct/"target="_blank" rel="noopener"><em>&ldquo;Some people are saying that the Contributor Covenant is a political document, and they&rsquo;re right&rdquo;</em></a>. When the document&rsquo;s own author admits it&rsquo;s political, the debate over &ldquo;safe space&rdquo; is over before it starts.</p>
<p>The list of victims from this era is long, so let&rsquo;s get to the main ones.</p>
<p>First, it&rsquo;s worth noting how far this crowd&rsquo;s reach went. Coraline worked at GitHub between 2016 and 2017, until she was let go (her version of events is in the piece <a href="https://where.coraline.codes/writing/my-year-at-github/"target="_blank" rel="noopener">&ldquo;Antisocial Coding: My Year at GitHub&rdquo;</a>). And GitHub was the perfect target: it&rsquo;s where practically all the world&rsquo;s open source lived. It was in this era that the original founders left the picture. Tom Preston-Werner <a href="https://www.sj-r.com/story/news/2014/05/10/github-women-miss-founder-who/37382118007/"target="_blank" rel="noopener">resigned in 2014</a> amid the Julie Ann Horvath harassment scandal, even though the internal investigation concluded there was nothing illegal, only &ldquo;errors in judgment.&rdquo; Chris Wanstrath had already announced he&rsquo;d step down as CEO in 2017 and, after the sale to Microsoft in 2018, stayed on a few more years as a technical fellow before leaving for good. Today none of the original founders work there.</p>
<p>Her legacy outlived the firing. The Contributor Covenant became one of the <a href="https://docs.github.com/en/communities/setting-up-your-project-for-healthy-contributions/adding-a-code-of-conduct-to-your-project"target="_blank" rel="noopener">templates GitHub makes easy to adopt</a> when you create a repository&rsquo;s <code>CODE_OF_CONDUCT.md</code>. And in 2020 came the crown jewel: in the middle of the George Floyd protests, GitHub announced it was retiring the name <code>master</code>, and since <a href="https://github.blog/changelog/2020-10-01-the-default-branch-for-newly-created-repositories-is-now-main/"target="_blank" rel="noopener">October 1, 2020 every new repository is born <code>main</code></a>.</p>
<p>The debate was stupid from the start. Git never had a <code>slave</code> branch. Petr Baudis, who named it in the original scripts, <a href="https://x.com/xpasky/status/1271477451756056577"target="_blank" rel="noopener">explained on X that <code>master</code> there came from &ldquo;master copy&rdquo;</a>, like the master recording of an album (Baudis himself later said he now prefers <code>main</code>; the etymology hasn&rsquo;t changed). Not even that detail held back the change: even the <a href="https://sfconservancy.org/news/2020/jun/23/gitbranchname/"target="_blank" rel="noopener">Software Freedom Conservancy publicly endorsed</a> the switch, and anyone with automation assuming <code>master</code> had to scramble to catch up. Nobody got any more protected because of this change, but it&rsquo;s there, in every programmer&rsquo;s workflow, every single day.</p>
<p><strong>Brendan Eich, 2014.</strong> The guy invented JavaScript, co-founded Mozilla, was CTO since 2005. He became CEO and lasted <a href="https://abcnews.go.com/Business/mozilla-ceo-resigns-calif-gay-marriage-ban-campaign/story?id=23181711"target="_blank" rel="noopener">eleven days in the job</a>. The crime: a thousand-dollar donation in 2008 to California&rsquo;s Proposition 8. Employees tweeted calling for his head, <a href="https://en.wikipedia.org/wiki/Brendan_Eich"target="_blank" rel="noopener">OkCupid blocked Firefox users with a protest message</a>, and he fell. Andrew Sullivan, gay and one of the first prominent advocates for same-sex marriage, wrote at the time <a href="https://dish.andrewsullivan.com/2014/04/03/the-hounding-of-brendan-eich/"target="_blank" rel="noopener">&ldquo;The Hounding of a Heretic&rdquo;</a>: when careers depend on an ideological purity test, the witch hunt has already won. And notice: there was no code of conduct involved here at all, it was pure boycott pressure. The method already existed before the document; the document only made it official.</p>
<p><strong>Larry Garfield, 2017.</strong> Twelve years contributing to Drupal. When it leaked that he took part in a BDSM subculture, on a private site, outside the project, Drupal&rsquo;s conduct committee investigated and concluded: <a href="https://www.drupal.org/association/blog/a-statement-from-the-executive-director"target="_blank" rel="noopener">no code of conduct violation</a>. Dries Buytaert went over the committee&rsquo;s own head and <a href="https://dri.es/living-our-values"target="_blank" rel="noopener">expelled him anyway</a>, because &ldquo;association with his belief system&rdquo; was incompatible with the project&rsquo;s goals. TechCrunch summed it up the same way: <a href="https://techcrunch.com/2017/03/26/sex-and-gor-and-open-source/"target="_blank" rel="noopener">punished for something said outside the project</a>. Eighty-five developers <a href="https://www.inc.com/sonya-mann/drupal-confessions-open-letter.html"target="_blank" rel="noopener">signed an open letter</a> threatening to leave. It didn&rsquo;t help. And notice the detail that buries the &ldquo;safe space&rdquo; thesis: the code of conduct process worked and cleared the guy. When the mob pushed, the paper held nothing; the person at the top decided, like it always was.</p>
<p><strong>Node.js, 2017.</strong> The 13-person TSC voted on expelling Rod Vagg for, among other things, having tweeted an article questioning the side effects of codes of conduct. Reading criticism of a code of conduct almost became a code of conduct violation: <a href="https://www.theregister.com/2017/08/24/nodejs_forks_ayo_code_of_conduct/"target="_blank" rel="noopener">the vote was 6 to 4 against expulsion</a>, by a narrow margin. The machine lost that round, but the message had already gotten out: four of the people who wanted Vagg&rsquo;s head resigned from the committee that same day, and the project got a fork called Ayo.js hours later. Losing the vote didn&rsquo;t stop the damage.</p>
<p><strong>Linus Torvalds, 2018.</strong> In September, according to reporting at the time, the New Yorker had sent him questions about his abusive behavior in emails. That same weekend, Linus <a href="https://www.newyorker.com/science/elements/after-years-of-abusive-e-mails-the-creator-of-linux-steps-aside"target="_blank" rel="noopener">apologized and announced he&rsquo;d take some time off to &ldquo;understand people&rsquo;s emotions&rdquo;</a> and the kernel <a href="https://itsfoss.com/linux-code-of-conduct/"target="_blank" rel="noopener">swapped the Code of Conflict for the Contributor Covenant</a>. Linus has been blunt in emails forever, everyone knows that, and he came back a month later. But the message was sent: if not even the guy who created the kernel was safe, nobody was.</p>
<p><strong>Richard Stallman, 2019.</strong> The creator of the GPL, founder of the FSF, the embodiment of free software. An MIT mailing list thread leaked in which he discussed the legal semantics of the Minsky/Epstein case. Vice ran headlines saying he had <a href="https://news.tuxmachines.org/node/128122"target="_blank" rel="noopener">&ldquo;defended Epstein&rdquo; and called the victims &ldquo;entirely willing&rdquo;</a>, a reading the email thread itself doesn&rsquo;t support: he was questioning the legal terminology of the accusation against Minsky. The <a href="https://medium.com/@selamie/remove-richard-stallman-fec6ec210794"target="_blank" rel="noopener">&ldquo;Remove Richard Stallman&rdquo;</a> campaign exploded, and within days he <a href="https://www.npr.org/2019/09/17/761718975/free-software-pioneer-quits-mit-over-his-comments-on-epstein-sex-trafficking-cas"target="_blank" rel="noopener">resigned from MIT and the FSF presidency</a>. When he returned to the FSF board in 2021, <a href="https://rms-open-letter.github.io/"target="_blank" rel="noopener">an open letter with more than 3,000 signatures and dozens of organizations</a> came out demanding his head and the whole board&rsquo;s. Red Hat <a href="https://www.redhat.com/en/blog/red-hat-statement-about-richard-stallmans-return-fsf-board"target="_blank" rel="noopener">cut funding to the FSF</a>. <a href="https://rms-support-letter.github.io/"target="_blank" rel="noopener">A support letter gathered nearly 7,000 signatures</a> and, delicious detail, Debian voted on a resolution about the case and <a href="https://www.debian.org/vote/2021/vote_002"target="_blank" rel="noopener">the winning option was to say nothing</a>. Even faking neutrality took a vote.</p>
<p>And there&rsquo;s the most recent case, and maybe the most instructive one: <strong>Tim Peters, 2024</strong>. A Python legend, three decades of contribution, suspended for three months by the PSF&rsquo;s conduct committee <a href="https://www.theregister.com/software/2024/08/09/core-python-developer-suspended-for-three-months/1429020"target="_blank" rel="noopener">over vague accusations of creating an &ldquo;atmosphere of FUD&rdquo;</a>, in a fight over the foundation&rsquo;s bylaws and the committee&rsquo;s own methods. The community reacted badly, but there was no reversing it: he served the three months and only came back once the suspension expired, in November. The pattern held: disagreeing with moderation became a punishable offense.</p>
<p><strong>DHH, 2021.</strong> I saved this one for last because it&rsquo;s the case that changes the story. And note: this wasn&rsquo;t even open source, it was his own company. The same mechanism, now inside the office. In April 2021, at the height of the BLM era, an internal DEI committee inside Basecamp, the company of Ruby on Rails&rsquo; creator and Jason Fried, dug up an old &ldquo;funny customer names&rdquo; list that had been circulating internally. The discussion escalated until an employee invoked the &ldquo;pyramid of hate&rdquo; and argued that list was the foundation of racial violence and even genocide. The founders&rsquo; response was to shut down the topic, dissolve the committee, and <a href="https://world.hey.com/dhh/basecamp-s-new-etiquette-regarding-societal-politics-at-work-b44bef69"target="_blank" rel="noopener">ban political and societal discussion on internal channels</a>. The internet exploded. At the next all-hands, there were <a href="https://www.theverge.com/2021/5/3/22418208/basecamp-all-hands-meeting-employee-resignations-buyouts-implosion"target="_blank" rel="noopener">two and a half hours of people crying and yelling on Zoom</a>. Ryan Singer, eighteen years at the company, said there that he didn&rsquo;t accept the &ldquo;white supremacy culture&rdquo; label being applied to the company. He was suspended half an hour after the meeting and resigned that weekend. In the end, <a href="https://www.nytimes.com/2021/04/30/technology/basecamp-politics-ban-resignations.html"target="_blank" rel="noopener">a third of the company, twenty of the 57 employees, left with a voluntary severance package</a>.</p>
<p>And this is where this case splits off from all the others: he didn&rsquo;t bend. No public humiliation ritual, no apology, no walking it back. He preferred to lose a third of the company over handing over control of it. Basecamp survived, went back to being 37signals, and DHH learned right there, firsthand, what kind of people he was dealing with. Hold on to that name, because it comes back.</p>
<p>Someone&rsquo;s going to point out that his rule is also a written document banning a topic. Yes, and the difference is exactly the point: DHH&rsquo;s rule bans an entire subject, the same for everyone, no matter which side. A code of conduct bans a person and an opinion, selectively, depending on who&rsquo;s in power that month.</p>
<blockquote>
  <p>One locks the topic at the door. The other opens a courtroom inside.</p>

</blockquote>
<p>Notice the pattern. In none of these cases was the problem code. In none of them did anyone commit a bug, steal code, sabotage a release. The offenses were opinions, political donations, private life, semantics on a mailing list. The technical criterion got replaced by a political one, and the code of conduct was the legal instrument of that swap. These are famous cases, not statistics. But when the list includes the creators of JavaScript, the GPL, and Linux, the sample doesn&rsquo;t need to be big to make the point.</p>
<h2>And the results?<span class="hx:absolute hx:-mt-20" id="and-the-results"></span>
    <a href="#and-the-results" class="subheading-anchor" aria-label="Permalink for this section"></a></h2><p>Ten years of the code-of-conduct era should have left behind a trail of good numbers. If the justification was protecting minorities and making open source more diverse and less toxic, where&rsquo;s the improvement? I went looking for the serious research on the subject. What exists tells an interesting story.</p>
<p>On adoption: <a href="https://www.win.tue.nl/~aserebre/SANER2017.pdf"target="_blank" rel="noopener">Tourani, Adams, and Serebrenik measured in 2017</a> that around 35% of GitHub&rsquo;s 150 most popular projects had a code of conduct. And that enforcement was rare: the creators of these codes, in a sample of four interviewees, talked about single-digit case counts over years. A <a href="https://par.nsf.gov/servlets/purl/10347026"target="_blank" rel="noopener">2021 CSCW study</a> looked at 52,000 repositories: 12.6% had a CoC, and only 10% of the conversations mentioning the code were real moderation use of it. Most adoptions happened with no visible public discussion in the repo. The same paper states, in plain words, that there is no empirical evidence that a code of conduct attracts new contributors.</p>
<p>On attracting people, by the way, <a href="https://cmustrudel.github.io/papers/cscw19signals.pdf"target="_blank" rel="noopener">Qiu et al. measured what actually makes someone join a project</a>: a good README, star count, recent activity, an issue template. A code of conduct didn&rsquo;t even make it in as a variable in their model, and note that they did test maintainer responsiveness, which also came back not significant. The study that specifically measured where a CoC ranks among the factors was a separate one, <a href="https://link.springer.com/chapter/10.1007/978-3-030-20883-7_9"target="_blank" rel="noopener">Fronchetti, Wiese, Pinto, and Steinmacher, also from 2019</a>: a CoC ranked among the worst-placed factors for attracting new contributors. Nobody picks a project because of its code of conduct.</p>
<p>On diversity, which was the original promise, there is a specific study, and the answer is no. <a href="https://dl.acm.org/doi/10.1145/3236024.3275441"target="_blank" rel="noopener">Robson, at ESEC/FSE 2018</a>, looked at GitHub&rsquo;s 500 most popular projects: projects that adopted a CoC saw women&rsquo;s participation grow at practically the same rate as those that didn&rsquo;t (roughly a 1.44% increase versus 1.43%, per the later survey that cites the study). No statistical difference to back up the promise. <a href="https://research.tue.nl/files/198367174/Enache_B.pdf"target="_blank" rel="noopener">Enache, in a 2017 master&rsquo;s thesis for TU Eindhoven, covering 149 open source communities</a>, reached the same conclusion: no significant result showing a CoC changes women&rsquo;s participation.</p>
<p>And there&rsquo;s a new, heavyweight piece of research, published now in 2026 at ICSE, the field&rsquo;s most important conference: <a href="https://jys-sun.github.io/website/resources/Beyond_Adoption_ICSE2026_CR.pdf"target="_blank" rel="noopener">Sun et al. ran a genuine causal experiment</a>, comparing 4,684 pairs of repositories that adopted a CoC against matched pairs that didn&rsquo;t. The result cuts both ways. Adopting a CoC does attract more new contributors, and that effect grows over time. Except adopting a CoC also increases the number of existing contributors who disengage, an effect concentrated specifically in the first one to three months after adoption. In other words: the most recent and most rigorous study that exists shows, with numbers, the exact pattern this piece has been documenting case by case the whole time. Adopting the document doesn&rsquo;t build a new community, it pushes out the people who were already there.</p>
<p>GitHub&rsquo;s 2017 survey already showed <a href="https://opensourcesurvey.org/2017/"target="_blank" rel="noopener">95% men and 3% women in open source</a>. The best long-term data that exists, from <a href="https://arxiv.org/html/2202.07278v1"target="_blank" rel="noopener">Rossi and Zacchiroli at ICSE 2022</a>, analyzed 2.2 billion commits from the Software Heritage archive. Gender was detectable for 64% of authors, and within that group, women are 13.5% of authors and sign 8.1% of commits. Their participation had been growing slowly and steadily for twelve years, and dropped during the pandemic. The paper doesn&rsquo;t discuss codes of conduct, so what follows is my own reading, not the study&rsquo;s: a curve that climbs the same way the whole decade, with no visible step up when the Contributor Covenant spread, is the opposite of evidence that the document made a difference.</p>
<p>On toxicity, the <a href="https://courtney-e-miller.github.io/papers/DidYouMissMyCommentOrWhat.pdf"target="_blank" rel="noopener">ICSE 2022 study</a> finds, in a footnote and by extrapolation, something close to 1.3 toxic comments per thousand on GitHub. Nobody has a historical series comparing before and after the CoC era. There simply is no baseline to say whether things got worse or better.</p>
<p>The only randomized experiment that would actually support the case for rules <a href="https://doi.org/10.1073/pnas.1813486116"target="_blank" rel="noopener">is Matias&rsquo;s, published in PNAS in 2019</a>: rule reminders actively displayed on a randomly-sampled set of r/science threads increased newcomer participation by 70%. Except the experiment is on Reddit, with the rule pinned right in front of whoever walked into that specific thread. A static file forgotten in a repository, that nobody reads after adoption day, doesn&rsquo;t come close to that. The very research that shows a rule working is proof that the problem was never whether the file exists or not. It&rsquo;s that nobody enforces it, nobody displays it, nobody makes it stick.</p>
<p>To sum up: a whole decade of codes of conduct, and the original promise remains exactly that, a promise. What got documented was adoption without discussion, rare enforcement, and, at best, a whole lot of political process.</p>
<blockquote>
  <p>As protection, it&rsquo;s almost never invoked. As a political weapon, it only needs to be invoked once, against the right person.</p>

</blockquote>
<h2>The pushback came from where nobody expected<span class="hx:absolute hx:-mt-20" id="the-pushback-came-from-where-nobody-expected"></span>
    <a href="#the-pushback-came-from-where-nobody-expected" class="subheading-anchor" aria-label="Permalink for this section"></a></h2><p>Easy money ran out in 2022, and with it, the industry&rsquo;s patience for this theater. And leading the pushback was the guy who had already refused to bend back in 2021: DHH, an old-guard ex-Mac fanboy.</p>
<p>DHH has been writing against this wave for a while now: <a href="https://world.hey.com/dhh/the-waning-days-of-dei-s-dominance-9a5b656c"target="_blank" rel="noopener">&ldquo;The waning days of DEI&rsquo;s dominance&rdquo;</a> in 2022, <a href="https://world.hey.com/dhh/dei-is-done-minus-the-mop-up-b3bbbb64"target="_blank" rel="noopener">&ldquo;DEI is done&rdquo;</a> in 2024. In 2022 Ruby Central <a href="https://world.hey.com/dhh/no-railsconf-faa7935e"target="_blank" rel="noopener">pulled him from the RailsConf keynote</a>, the conference for the framework he himself created, saying it wanted to <em>&ldquo;share the opening stage with other contributors&rdquo;</em>. The following year Rails World was born, the official Rails Foundation conference, and DHH became its keynote speaker. In 2024 he launched Omakub, and in June 2025, <a href="https://world.hey.com/dhh/omarchy-is-out-4666dd31"target="_blank" rel="noopener">Omarchy</a>: Arch Linux with Hyprland and a bunch of opinionated scripts on top, which had passed 40,000 stars on GitHub by September 2026 and became 37signals&rsquo; default environment for anyone touching infra and Ruby.</p>
<p>Then the cancel machine switched on again. In September 2025 he published <a href="https://world.hey.com/dhh/as-i-remember-london-e7d38e64"target="_blank" rel="noopener">&ldquo;As I remember London&rdquo;</a>, and the reaction was the usual script: a petition to remove him, accusations, an attempted boycott. His response was <a href="https://world.hey.com/dhh/we-ve-all-had-enough-of-this-nonsense-8545dd26"target="_blank" rel="noopener">&ldquo;We&rsquo;ve all had enough of this nonsense&rdquo;</a>: <em>&ldquo;every few years, the same sad little clique of Ruby malcontents tries to cancel me from Rails&rdquo;</em>.</p>
<p>A month later, in October 2025, it was Framework&rsquo;s turn, the laptop maker: <a href="https://www.theregister.com/software/2025/10/14/framework-flame-war-erupts-over-linux-controversy/1466815"target="_blank" rel="noopener">a thread with more than 1,500 replies on the company&rsquo;s own forum</a>, opened by a Debian developer calling the Hyprland community, which Framework sponsored, &ldquo;toxic and hateful,&rdquo; and threatening a boycott because the company also promoted Omarchy on social media. The Framework CEO&rsquo;s response is the line this whole decade had been missing:</p>
<blockquote>
  <p><em>&ldquo;We deliberately created a big tent, because we want open source to win. We don&rsquo;t partner based on the beliefs of individuals or organizations.&rdquo;</em></p>

</blockquote>
<p>And the machine didn&rsquo;t just come after him. Ruby Central, the same organization that had disinvited DHH from the keynote in 2022, gave him a stage at RailsConf 2025. The retaliation came in money: according to developer Joel Drapper&rsquo;s reporting, Sidekiq <a href="https://mjtsai.com/blog/2025/09/"target="_blank" rel="noopener">pulled its $250,000-a-year sponsorship</a> because of it. Weeks later, in September 2025, Ruby Central <a href="https://lwn.net/Articles/1040778/"target="_blank" rel="noopener">stripped GitHub access from every longtime RubyGems and Bundler maintainer</a>, citing supply-chain security. Ellen Dash, who had maintained the project for ten years, quit, calling the move a &ldquo;hostile takeover,&rdquo; and Drapper&rsquo;s investigation points to pressure from Shopify, which had become practically the organization&rsquo;s only source of money. Ruby Central itself ended up publishing an <a href="https://www.theregister.com/2026/04/01/ruby_central_report/"target="_blank" rel="noopener">incident report</a> in April 2026, promising to &ldquo;strengthen governance.&rdquo; That&rsquo;s the whole pattern: when the machine can&rsquo;t take the target down, it burns the house down around them.</p>
<p>A GNOME developer published <a href="https://blogs.gnome.org/alatiera/2025/11/06/dhh-and-omarchy-midlife-crisis/"target="_blank" rel="noopener">a piece attacking Omarchy on GNOME&rsquo;s official blogs site</a>. And the result of all that fury? Nothing. In August 2026 the <a href="https://www.theregister.com/os-platforms/2026/08/27/omarchy-distro-gains-serious-backing/5293026"target="_blank" rel="noopener">Omacom Foundation</a> was born, with eight million dollars at launch: a million each from Tobi Lütke (Shopify), Patrick Collison (Stripe), Michael Dell, Jack Dorsey, Matthew Prince (Cloudflare), Brendan Iribe, Jason Fried, and DHH himself. The foundation became Hyprland&rsquo;s exclusive sponsor, with Vaxry working on it full-time. When 1Password came in as a sponsor, the <a href="https://www.alilleybrinker.com/blog/1password-funds-ethnic-cleansing/"target="_blank" rel="noopener">cancellation attempt</a> was immediate, and so was <a href="https://www.theverge.com/tech/988536/1password-dhh-linux-controversy"target="_blank" rel="noopener">the CEO&rsquo;s internal response</a>: <em>&ldquo;our donation is not an endorsement of personal opinions&rdquo;</em>. And the game goes on.</p>
<p>And I put my money where my mouth is: <a href="https://x.com/AkitaOnRails/status/2098792361291567488"target="_blank" rel="noopener">I made my donation to the foundation</a> precisely because of the patrol&rsquo;s whining. Nothing irritates that crowd more than watching a cancellation fail in real time.</p>
<p><img src="https://new-uploads-akitaonrails.s3.us-east-2.amazonaws.com/20260914175728_omacom-doacao.jpeg" alt="Recibo da minha doação de 2.048 dólares para a Omacom Foundation, assinado pelo DHH como Founder & President"  loading="lazy" /></p>
<p>This is the point: the machine still exists, but it lost its power. In 2014 it brought down a CEO in eleven days. In 2026 it can&rsquo;t even scratch the sponsorship of a niche distro. The documents are still there, in GitHub&rsquo;s template; what ended was the firepower of whoever wielded them. What changed was the money, and yes, the pushback is also money: eight million dollars from eight rich men.</p>
<p>And before someone points out that money doesn&rsquo;t prove merit: it depends. A millionaire made by government cronyism, fraud, or favors has no merit at all. But most millionaires made their money by producing, and that&rsquo;s the case for Omacom&rsquo;s eight patrons. Money earned by producing is the measure of the merit of whoever earned it, as I already wrote here back in 2011, about <a href="/en/2011/02/03/off-topic-a-revolta-de-atlas-dinheiro-e-a-raiz-de-todo-o-mal/">Francisco d&rsquo;Anconia&rsquo;s money speech in &ldquo;Atlas Shrugged&rdquo;</a>.</p>
<blockquote>
  <p>Judge by the result the donation bought, not by the declared intent of whoever signed the check.</p>

</blockquote>
<p>The 49.5 billion corporate dollars from 2020 didn&rsquo;t produce a single extra gram of measurable diversity, the numbers up above prove that. Eight million dollars from individual patrons produced a full-time maintainer writing actual code. The bubble that funded armies of people with no real work popped, and whoever was left was whoever was there for the code.</p>
<h2>The philosophical part<span class="hx:absolute hx:-mt-20" id="the-philosophical-part"></span>
    <a href="#the-philosophical-part" class="subheading-anchor" aria-label="Permalink for this section"></a></h2><p>Let&rsquo;s get to the official excuse: codes of conduct exist to &ldquo;protect minorities.&rdquo; On the surface, who would be against protecting minorities? Not me. The problem is that the phrase is vague by design.</p>
<p>What is a minority? I already translated the chapter <a href="/en/2009/09/09/off-topic-direitos-do-homem/">&ldquo;Man&rsquo;s Rights&rdquo;</a> from Ayn Rand&rsquo;s &ldquo;The Virtue of Selfishness&rdquo; here on the blog. The line that interests me here is from another chapter of the same book, &ldquo;Racism,&rdquo; and it remains unbeatable:</p>
<blockquote>
  <p>The smallest minority on earth is the individual. Those who deny individual rights cannot claim to be defenders of minorities.</p>

</blockquote>
<p>And that&rsquo;s exactly what these codes do in practice: in the name of an abstract, collective minority, the concrete individual gets hunted down. Doxxing (exposing someone&rsquo;s personal data), harassment campaigns, pressure on employers, bans. When the modus operandi for &ldquo;protecting minorities&rdquo; is coordinated bullying against one person until they buckle, you&rsquo;re oppressing the smallest minority there is.</p>
<p>This topic, by the way, is an old one for me. In December 2018 I published the video <a href="/2018/12/05/akitando-31-manifesto-anti-parasita-seja-um-criador/">&ldquo;Anti-Parasite Manifesto: Be a Creator&rdquo;</a> on my channel. At the time I couldn&rsquo;t be explicit, the thought police were still too strong. But whoever watched closely got the message. It was my breadcrumb for this story that I&rsquo;m only now able to tell properly.</p>


<div class="embed-container">
  <iframe
    src="https://www.youtube.com/embed/nX0wPjNzn3o"
    title="YouTube video player"
    frameborder="0"
    allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share"
    referrerpolicy="strict-origin-when-cross-origin"
    allowfullscreen>
  </iframe>
</div>

<p>And there&rsquo;s the second problem, a more fundamental one: open source is about software. The GPL, which this crowd looks down on so much, solves the one protection a software project can&rsquo;t afford to lose: the code&rsquo;s. It guarantees the code stays free, period. It doesn&rsquo;t ask who wrote it, who they voted for, what they tweeted, what they donated to. The compiler doesn&rsquo;t check for ideological purity. Open source has always been the most inclusive community that ever existed precisely because of this: the only passport was the diff. The code of conduct made open source less inclusive, because it added a new entry criterion: politics. And politics is a stupid criterion for software.</p>
<p>&ldquo;But without a code of conduct, how do we deal with real harassment?&rdquo; With the same tool as always: a maintainer&rsquo;s common sense and, when necessary, the law. If someone directly attacks another person, sexual assault at an event, for example, banning them is common sense and never needed any document. Harassment, threats, and defamation are already crimes in practically every country, and crime gets settled through the law. What I can&rsquo;t stomach is something else: going out and stalking someone&rsquo;s online life to dig up a random opinion, with no relation to any crime, and demanding a ban over words with no criminal consequence. These committees were always great at punishing opinion and terrible at punishing crime, so the document was never about that.</p>
<p>And I&rsquo;m not the only one saying this. Eric S. Raymond, the guy who wrote <a href="http://www.catb.org/~esr/writings/cathedral-bazaar/"target="_blank" rel="noopener">&ldquo;The Cathedral and the Bazaar&rdquo;</a>, the 1997 essay that validated Netscape&rsquo;s decision to open-source Mozilla and that pretty much wrote the rulebook for open source, co-founder of the OSI, editor of the Jargon File, author of fetchmail, went on X in September 2025 to <a href="https://itsfoss.com/news/codes-of-conduct-debate/"target="_blank" rel="noopener">declare the code-of-conduct era a complete failure</a>. In his words: ten years of <em>&ldquo;drama and idiocy&rdquo;</em>, an <em>&ldquo;infectious social insanity&rdquo;</em> that produces politics, intrigue, and negative useful work. The recommendation is as direct as it gets: don&rsquo;t adopt one; if you already did, delete it. And if some bureaucracy forces you to have one, the suggested replacement is a single sentence:</p>
<blockquote>
  <p><em>&ldquo;If you are more annoying to work with than your contributions justify, you&rsquo;ll be ejected.&rdquo;</em></p>

</blockquote>
<p>That&rsquo;s what I said two paragraphs above: a maintainer&rsquo;s common sense.</p>
<p>And the detail that closes the loop: ESR himself had been <a href="https://en.wikipedia.org/wiki/Eric_S._Raymond"target="_blank" rel="noopener">removed from two OSI mailing lists in 2020</a> over posts that &ldquo;violated the code of conduct&rdquo; of the organization he helped found.</p>
<blockquote>
  <p>The guy who wrote the rulebook, ejected by the document. That image sums up the whole era.</p>

</blockquote>
<h2>How we got here<span class="hx:absolute hx:-mt-20" id="how-we-got-here"></span>
    <a href="#how-we-got-here" class="subheading-anchor" aria-label="Permalink for this section"></a></h2><p>It&rsquo;s worth taking a step back and telling where all this came from, because open source was only one of the fronts. The starting shot, in my reading, was GamerGate, in 2014. In August of that year came the <a href="https://thezoepost.wordpress.com/"target="_blank" rel="noopener">&ldquo;Zoe Post&rdquo;</a>, the ex-boyfriend&rsquo;s rant about developer Zoe Quinn. Twelve days later, and about 48 hours after the #GamerGate hashtag caught fire, <a href="https://www.gamedeveloper.com/business/-gamers-don-t-have-to-be-your-audience-gamers-are-over-"target="_blank" rel="noopener">about a dozen gaming sites published variations of the same article</a>: &ldquo;gamers are over,&rdquo; gamers are dead, it&rsquo;s finished.</p>
<p>Shortly after, the GameJournoPros leaked, a closed group where gaming journalists coordinated coverage. The public realized right away that gaming press had turned into an ideological club, and hit back with their own version of an organized boycott: the &ldquo;Operation Disrespectful Nod&rdquo; campaign flooded Intel with complaints until the company <a href="https://www.theverge.com/2014/10/2/6886747/intel-buckles-to-anti-feminist-campaign-by-pulling-ads-from-gaming"target="_blank" rel="noopener">pulled its ads from Gamasutra</a> (the press at the time called it an &ldquo;anti-feminist campaign&rdquo;; to me it&rsquo;s just organized consumer pressure, the same instrument Sidekiq used against Ruby Central further down the line).</p>
<p>And it&rsquo;s worth pinning down the principle here, because it applies to both sides for the rest of this piece: organized consumer pressure is fair play, no matter which side it comes from. The problem was never pressure. It&rsquo;s doxxing, threatening someone&rsquo;s job, and a committee faking neutrality to impose the result it already wanted before opening the process.</p>
<p>For years, from 2021 to June 2025, Wikipedia&rsquo;s article on the subject lived under the title <a href="https://en.wikipedia.org/wiki/Gamergate"target="_blank" rel="noopener">&ldquo;Gamergate (harassment campaign)&rdquo;</a>, treating any criticism of the journalism as a pretext for harassment. The title got switched back to plain &ldquo;Gamergate&rdquo; once the most hysterical phase had passed, which should be read as a confession, not as if the case were closed: they renamed it back once defending the political label got too costly, the exact same pattern of quiet retreat that shows up throughout this whole story. While it lasted, it lasted for precisely the decade in which that mob had the firepower to make it stick.</p>
<p>The editorial fight got so ugly that Wikipedia&rsquo;s arbitration committee <a href="https://en.wikipedia.org/wiki/Wikipedia:Wikipedia_Signpost/2015-01-28/In_focus"target="_blank" rel="noopener">sanctioned more than a dozen editors, on both sides</a>. And note that I don&rsquo;t even need to accuse Wikipedia on my own: Larry Sanger, co-founder of Wikipedia, wrote the piece <a href="https://larrysanger.org/2020/05/wikipedia-is-badly-biased/"target="_blank" rel="noopener">&ldquo;Wikipedia Is Badly Biased&rdquo;</a> in 2020, declaring the project&rsquo;s neutrality dead, and in September 2025 published <a href="https://larrysanger.org/nine-theses/"target="_blank" rel="noopener">&ldquo;Nine Theses on Wikipedia&rdquo;</a>, calling for reforms like ending source blacklists and ending permanent editor bans. When the founder says the house has been taken over, believe the founder.</p>
<p><img src="https://new-uploads-akitaonrails.s3.us-east-2.amazonaws.com/20260914180253_larry-sanger-akita-2018.jpg" alt="Eu e o Larry Sanger, cofundador da Wikipedia, num evento em outubro de 2018. Uma honra ter podido conhecê-lo pessoalmente."  loading="lazy" /></p>
<p>The gamers&rsquo; side of this story is in the book <a href="https://books.google.com.br/books/about/SJWs_Always_Lie.html?id=NqSUjgEACAAJ&amp;redir_esc=y"target="_blank" rel="noopener">&ldquo;SJWs Always Lie&rdquo;</a>, by Vox Day, from 2015. I already know what&rsquo;s coming: &ldquo;Vox Day&rdquo; and &ldquo;Milo Yiannopoulos&rdquo; are names that make people scream just hearing them, and GameJournoPros, by the way, was also originally broken by that same Milo. I don&rsquo;t care about the reputation of whoever&rsquo;s telling a story, I care whether the story is true. A partisan source from inside the fight, fair warning, but the central fact matches what Wikipedia itself and the press at the time document with zero connection to either of those two names: the GameJournoPros list really did exist, a closed group of about 150 people in games journalism swapping notes on how to cover the case.</p>
<p>The chapter &ldquo;Counterattack&rdquo; tells GamerGate from the inside, and the book&rsquo;s thesis sums up the decade: these people always lie, always double down, always project onto others exactly what they themselves do.</p>
<p>From GamerGate onward, it was dominoes. Anita Sarkeesian turned her Kickstarter from a <a href="https://www.backerkit.com/projects/566429325/tropes-vs-women-in-video-games"target="_blank" rel="noopener">$6,000 goal into $158,000</a>, became a global authority, went to speak at the <a href="https://www.polygon.com/2015/9/25/9399169/united-nations-women-cyber-violence-anita-sarkeesian-zoe-quinn"target="_blank" rel="noopener">UN in 2015</a> about &ldquo;cyber violence,&rdquo; and games journalism never recovered. Her Feminist Frequency <a href="https://www.gamesindustry.biz/anita-sarkeesian-to-close-feminist-frequency-after-15-years"target="_blank" rel="noopener">shut down in 2023</a>, but the logic she kicked off migrated inside the studios: the &ldquo;inclusive narrative&rdquo; consulting industry was born, with Sweet Baby Inc leading the way.</p>
<p>Sweet Baby&rsquo;s CEO, Kim Belair, was recorded at a 2019 GDC talk, a public recording that circulates independently of the site that first surfaced it, advising anyone seeking internal approval for &ldquo;representation&rdquo; consulting to <a href="https://nichegamer.com/sweet-baby-ceo-terrify-them-if-game-devs-dont-push-diversity/"target="_blank" rel="noopener"><em>&ldquo;go grab coffee with the marketing team and terrify them&rdquo;</em></a> with the possibility of what would happen if they didn&rsquo;t get what they wanted. In 2024, a Brazilian created a Steam curator page (Valve&rsquo;s own feature where any account can publish game recommendations and gain followers) named &ldquo;Sweet Baby Inc Detected.&rdquo; One employee at the company individually tried to bring the profile down on their own, and Valve also acted through its own moderation; even so, the result was the group exploding to <a href="https://en.wikipedia.org/wiki/Sweet_Baby_Inc."target="_blank" rel="noopener">more than 350,000 followers</a>.</p>
<p>And then came the flops. Suicide Squad: Kill the Justice League, with <a href="https://en.wikipedia.org/wiki/Sweet_Baby_Inc."target="_blank" rel="noopener">confirmed Sweet Baby consulting</a>, <a href="https://finance.yahoo.com/news/suicide-squad-flop-still-hurting-135841738.html"target="_blank" rel="noopener">cost Warner 200 million dollars in losses</a>. Unknown 9, from the studio where Sweet Baby&rsquo;s founding duo used to work, <a href="https://www.pcgamer.com/gaming-industry/unknown-9-awakening-studio-makes-major-layoffs-just-a-month-after-the-games-release/"target="_blank" rel="noopener">laid off staff en masse a month after launch</a>.</p>
<p>Then came 2020. With BLM, the same playbook became state policy: the 50 biggest American companies <a href="https://finance.yahoo.com/news/corporate-america-pledged-50b-racial-185054221.html"target="_blank" rel="noopener">pledged 49.5 billion dollars</a> in &ldquo;racial justice&rdquo; measures, DEI job postings <a href="https://www.visier.com/blog/chief-diversity-officers-exits/"target="_blank" rel="noopener">grew 123% within months</a>, Biden signed an <a href="https://civilrights.org/biden-timeline/"target="_blank" rel="noopener">&ldquo;equity&rdquo; executive order</a> for the entire federal government on day one of his term, and the European Union rolled out its <a href="https://ec.europa.eu/newsroom/just/items/692134"target="_blank" rel="noopener">2020-2025 anti-racism plan</a>. It was the peak: the patrol had reached the US presidency and the EU&rsquo;s leadership.</p>
<p>The retreat came as fast as the rise. The US Supreme Court <a href="https://www.scotusblog.com/2023/06/supreme-court-strikes-down-affirmative-action-programs-in-college-admissions/"target="_blank" rel="noopener">struck down affirmative action in June 2023</a>, companies <a href="https://www.npr.org/2025/05/27/nx-s1-5307319/dei-jobs-trump"target="_blank" rel="noopener">laid off thousands of DEI professionals</a>, Walmart, Meta, McDonald&rsquo;s, and Amazon dropped their programs, and in January 2025 Trump <a href="https://www.everycrsreport.com/reports/IN12497.html"target="_blank" rel="noopener">revoked the equity orders</a> on day one.</p>
<p>I told all of this just to give context: what happened in open source wasn&rsquo;t an isolated phenomenon. It was the same script, with the same methods, across every culture and tech industry at the same time. The difference is that in open source, the resistance took longer to organize. But it organized.</p>
<h2>My Cortlandt<span class="hx:absolute hx:-mt-20" id="my-cortlandt"></span>
    <a href="#my-cortlandt" class="subheading-anchor" aria-label="Permalink for this section"></a></h2><p>It was this pressure that pushed me out of organizing RubyConf Brazil. I founded the event in 2008, back when it was still called Rails Summit, and in the last edition I organized, in 2016, we drew 1,500 people. When <a href="/en/2016/09/26/the-next-10-years/">I announced my departure</a>, I wrote that there was no drama involved. That wasn&rsquo;t the whole truth: the patrol had already reached tech conferences, and I refused to turn the event I created into one more stage for it.</p>
<p>Let me give a small example of what it means to be pressured into forcing diversity. As the data I showed above indicates, women are somewhere between 3% and a bit over 13% of open source contributors, depending on how you measure it: self-reported survey or name-based detection in commits. My channel&rsquo;s analytics show the same range, 3 to 5% at most, and that proportion hasn&rsquo;t changed in ten years. Every year I opened a public Call for Papers: anyone could submit a talk. And my selection process <strong>was always blind</strong>: I read every submission without knowing who had sent it, on purpose, so the choice would be based on the merit of the topic and never on the person.</p>
<p><img src="https://new-uploads-akitaonrails.s3.us-east-2.amazonaws.com/20260914175728_youtube-analytics-genero.png" alt="Analytics do meu canal no YouTube, últimos 28 dias: 97% homens, 3% mulheres"  loading="lazy" /></p>
<p>In the patrol years, the pressure was never direct with me. It was that diffuse, external pressure that every event had to be &ldquo;more diverse.&rdquo; And in practice that could only mean one thing: a new phase in the process. After the blind selection, reveal who submitted what, to check whether the lineup was &ldquo;diverse enough.&rdquo; Except that&rsquo;s a mathematical impossibility. Submissions kept following the same 3 to 5%. Even approving every woman who submitted, the imaginary quota didn&rsquo;t add up. The way around it was to go out and invite people directly, choosing by profile instead of by topic.</p>
<p>And the practical result of that scheme, wherever it&rsquo;s applied, is cutting people who got in on merit to open a spot for people chosen by an irrelevant external policy. That drags the event&rsquo;s quality down instead of up. And notice: this isn&rsquo;t an argument against any woman. It&rsquo;s the opposite. The moment the quota enters the process, the doubt stops being about one specific speaker and starts hanging over everyone who steps on stage. It doesn&rsquo;t matter who&rsquo;s talking: if someone in the audience disagrees with the content, there&rsquo;s always the leftover question, &ldquo;did Akita pick this one for the quota?&rdquo; From then on, every speaker carries a suspicion they don&rsquo;t deserve, and everyone&rsquo;s merit gets devalued along with it. It hurts the minority the policy claimed to protect, it hurts the other speakers, it hurts the audience. It&rsquo;s lose-lose all around.</p>
<p>And there&rsquo;s a part of this story nobody sees from outside. Some of the people invited that way turned it down on the spot, &ldquo;because the event wasn&rsquo;t diverse enough.&rdquo; The refusal made the event even less diverse, obviously. And afterward they&rsquo;d go on social media to trash the event, as if I&rsquo;d never invited anyone. That&rsquo;s the level of garbage I had to swallow every year.</p>
<p>And let this be very clear: there&rsquo;s nothing I want more than to see more women in tech. What I can&rsquo;t convince myself of is that forcing a quota, the way I described above, helps with that. Everything I saw in practice points the other way: it hurts more than it helps. And if I don&rsquo;t believe it&rsquo;s beneficial, I&rsquo;d rather not do it.</p>
<p>Want a recent example of a woman I admire in the industry? Asha Sharma, who <a href="https://www.gameshub.com/news/news/xbox-game-pass-cheaper-new-ceo-asha-sharma-2026-2862856/"target="_blank" rel="noopener">took over as Xbox CEO in February</a>. Since then it&rsquo;s been one result after another: <a href="https://www.windowscentral.com/gaming/xbox/microsofts-xbox-ceo-asha-sharma-vows-to-deliver-xbox-updates-every-two-weeks-to-fix-the-fundamentals"target="_blank" rel="noopener">she cut Copilot from the consoles and restructured the division to focus on what matters</a>, <a href="https://www.allkeyshop.com/blog/xbox-first-party-titles-survive-layoffs-news-d/"target="_blank" rel="noopener">sold studios and cut costs without cancelling a single announced game</a>, and this week <a href="https://www.kojimaproductions.jp/en/xbox_partnership_announcement"target="_blank" rel="noopener">brought Kojima Productions to Xbox</a> to publish Hideo Kojima&rsquo;s next game, <a href="https://www.gamespot.com/articles/kojimas-physint-dropped-by-playstation-rescued-by-xbox/"target="_blank" rel="noopener">after PlayStation cancelled the project</a> in mid-2026. Notice the discourse around her: zero mention of &ldquo;gender,&rdquo; zero agenda.</p>
<blockquote>
  <p>Just numbers: cut unnecessary costs, bet on the right calls, improve value for the customer. That&rsquo;s merit. You don&rsquo;t need DEI for that.</p>

</blockquote>
<p>Until I decided enough was enough. Anyone who&rsquo;s read &ldquo;The Fountainhead&rdquo; knows what I did: like Howard Roark, the architect who blows up his own building when they tamper with his design, I dynamited my Cortlandt. More precisely: the event as it existed while it was mine. The brand survived a few more years in other hands, without the same soul, until it disappeared. And I had already <a href="/en/2011/02/04/off-topic-the-fountainhead-defesa-de-howard-roark/">signaled this philosophy here on the blog back in 2011</a>. An individual does nothing for others: he does it for himself. If what you build benefits other people as a side effect, great, but that was never the reason. When the parasites try to take what you built, you blow it all up yourself. Because you can. Whoever built it once builds it again from scratch.</p>
<p>That&rsquo;s what I did. I traded the conference for my YouTube channel, which didn&rsquo;t depend on a sponsor, a committee, or anyone besides me. And the channel grew way beyond anything the conference would ever have become. Then I sat back and waited for the bubble to pop, because I knew it would pop: I wrote it here on the blog and repeated it in videos years before it happened. It popped. Patience always wins.</p>
<h2>Conclusion<span class="hx:absolute hx:-mt-20" id="conclusion"></span>
    <a href="#conclusion" class="subheading-anchor" aria-label="Permalink for this section"></a></h2><p>Ten years of codes of conduct, and here&rsquo;s the scoreboard: zero evidence it increased diversity, no toxicity baseline to compare before and after, and the most recent and most rigorous causal study that exists shows the document pushing out old contributors more than it builds new community. The promise was to protect minorities. The delivery was a collection of heads: the creator of JavaScript, the creator of the GPL, the creator of Linux, all put through the public humiliation ritual. None of it over code. All of it over opinion.</p>
<p>And notice how this era ended.</p>
<blockquote>
  <p>The machine didn&rsquo;t lose the argument, it lost its funding.</p>

</blockquote>
<p>It was only once easy money ran out that the armies of people with no real work evaporated, and whoever was left was whoever was there for the code. Meanwhile, the builders kept building: Brendan Eich got pushed out of Mozilla in 2014 and founded Brave the following year, today with more than 100 million monthly active users and a valuation near a billion dollars. DHH lost the keynote and created a bigger conference, lost a third of the company and helped raise an eight-million-dollar foundation. I left my conference and grew far more on my channel. A parasite can take an institution. It can&rsquo;t take the ability to build. Whoever built it once builds it again from scratch.</p>
<p>Open source recruits volunteers who want to contribute code. Any discussion that doesn&rsquo;t involve code is a distraction at best and sabotage at worst. And the answer to &ldquo;what do we put in place of the code of conduct&rdquo; fits in a single sentence, one the ESR already wrote: if you&rsquo;re more trouble to work with than your contributions justify, you&rsquo;re ejected. That&rsquo;s always been how it worked. The only passport is the diff.</p>
<p>The rest is politicking. And politicking, to use the precise technical term, is bullshit.</p>
<p>And here&rsquo;s the final practical recommendation. If your open source project has a <code>CODE_OF_CONDUCT.md</code>, delete the file. If your main branch turned into <code>main</code> in the 2020 wave, rename it back to <code>master</code>. Partly out of spite, I admit. But mostly to exercise the freedom you just got back to do this without being cancelled for it. Freedom you don&rsquo;t exercise atrophies. No clarifying note, no committee vote, no asking anyone&rsquo;s permission. Just because you can again.</p>
]]></content:encoded><category>off-topic</category><category>open-source</category><category>politics</category></item><item><title>Understanding the Brazilian Censorship of Discord and the Digital ECA Law</title><link>https://akitaonrails.github.io/en/2026/08/13/understanding-the-discord-censorship-and-brazils-digital-eca/</link><guid isPermaLink="true">https://akitaonrails.github.io/en/2026/08/13/understanding-the-discord-censorship-and-brazils-digital-eca/</guid><pubDate>Thu, 13 Aug 2026 11:00:00 -0300</pubDate><description>&lt;p&gt;If you didn&amp;rsquo;t know: Brazil censored Discord&amp;rsquo;s livestreams this week. One heads-up before we start: this story runs on Brazilian law and Brazilian reporting, so most of the sources linked below are in Portuguese. I&amp;rsquo;ll translate everything that matters.&lt;/p&gt;
&lt;p&gt;In six days, Brazil went from a tragedy to a regulatory precedent that should worry anyone who understands technology. On July 22, a 13-year-old girl died in Naviraí, Mato Grosso do Sul, during a live broadcast on Discord, coerced by a group the police are investigating as a criminal organization. On August 12, the ANPD, Brazil&amp;rsquo;s data protection authority, ordered Discord to suspend live broadcasting nationwide.&lt;/p&gt;</description><content:encoded><![CDATA[<p>If you didn&rsquo;t know: Brazil censored Discord&rsquo;s livestreams this week. One heads-up before we start: this story runs on Brazilian law and Brazilian reporting, so most of the sources linked below are in Portuguese. I&rsquo;ll translate everything that matters.</p>
<p>In six days, Brazil went from a tragedy to a regulatory precedent that should worry anyone who understands technology. On July 22, a 13-year-old girl died in Naviraí, Mato Grosso do Sul, during a live broadcast on Discord, coerced by a group the police are investigating as a criminal organization. On August 12, the ANPD, Brazil&rsquo;s data protection authority, ordered Discord to suspend live broadcasting nationwide.</p>
<p>In between: the First Lady demanding the platform be blocked at an official ceremony, the Attorney General announcing a public civil action, and the first major enforcement action in the history of the Digital ECA Law — Brazil&rsquo;s new online child-protection statute, named after the <em>Estatuto da Criança e do Adolescente</em>, the Child and Adolescent Statute. Let&rsquo;s go piece by piece, because the devil lives exactly in the pieces.</p>
<h2>The Naviraí case<span class="hx:absolute hx:-mt-20" id="the-naviraí-case"></span>
    <a href="#the-navira%c3%ad-case" class="subheading-anchor" aria-label="Permalink for this section"></a></h2><p>The facts, per the <a href="https://g1.globo.com/politica/noticia/2026/08/04/policia-faz-operacao-contra-suspeitos-de-induzir-adolescente-a-tirar-a-propria-vida-e-transmitir-em-rede-social.ghtml"target="_blank" rel="noopener">Mato Grosso do Sul Civil Police and G1</a>: Lívia, 13, was found dead in her backyard on the morning of July 22. She took her own life during a broadcast on Go Live, Discord&rsquo;s live video feature, under pressure, humiliation, and explicit encouragement from other users. <strong>More than 200 people</strong> were watching.</p>
<p><a href="https://www.enfoquems.com.br/operacao-livia-combate-grupo-neonazista-que-coagiu-adolescente-ao-suicidio-em-navirai/"target="_blank" rel="noopener">Operação Lívia</a>, launched on August 4 with warrants across five states, revealed what was behind it: a group made up mostly of teenagers, the alleged leader just 14, that recruited minors via Discord <strong>and Telegram</strong>, spread neo-Nazi and misogynistic content, and is being investigated for qualified homicide and criminal organization. A second girl was induced to self-harm during the same livestream but left the broadcast.</p>
<p>Hold on to two details for later: the group operated on more than one platform, and the Ministry of Justice <a href="https://g1.globo.com/politica/noticia/2026/08/04/policia-faz-operacao-contra-suspeitos-de-induzir-adolescente-a-tirar-a-propria-vida-e-transmitir-em-rede-social.ghtml"target="_blank" rel="noopener">asked the ANPD to investigate Discord and Telegram</a>. Only one of the two was sanctioned.</p>
<h2>From the First Lady to the ANPD in six days<span class="hx:absolute hx:-mt-20" id="from-the-first-lady-to-the-anpd-in-six-days"></span>
    <a href="#from-the-first-lady-to-the-anpd-in-six-days" class="subheading-anchor" aria-label="Permalink for this section"></a></h2><p>On August 6, at the signing ceremony of <a href="https://www.camara.leg.br/proposicoesWeb/fichadetramitacao?idProposicao=2528433"target="_blank" rel="noopener">the bill PL 3066/2025</a> (which stiffens penalties for digital crimes against children — keep that bill in mind, it comes back shortly), First Lady Janja da Silva <a href="https://www1.folha.uol.com.br/cotidiano/2026/08/janja-chama-discord-de-rede-horrorosa-apos-caso-de-suicidio-ao-vivo-e-pede-seu-bloqueio-no-brasil.shtml"target="_blank" rel="noopener">left no room for doubt</a>: <em>&ldquo;we need to block Discord in Brazil by any means necessary&hellip; we need to work with the Judiciary to take this horrendous network offline.&rdquo;</em> The Attorney General, Jorge Messias, announced right there a public civil action to take the platform down.</p>
<p>On the 7th, the ANPD <a href="https://www.gov.br/anpd/pt-br/assuntos/noticias/anpd-instaura-processo-de-fiscalizacao-contra-o-discord-para-apurar-falhas-na-protecao-de-criancas-e-adolescentes"target="_blank" rel="noopener">opened an enforcement proceeding against Discord</a>, giving the company five business days to explain itself. On the 12th, <a href="https://www.gov.br/anpd/pt-br/assuntos/noticias/em-medida-preventiva-anpd-determina-que-discord-suspenda-transmissoes-ao-vivo-no-brasil"target="_blank" rel="noopener">out came the preventive measure</a>: Discord must suspend Go Live and equivalent video-sharing features in Brazil within <strong>three business days</strong>, and can only turn them back on after proving effective child-protection measures and obtaining express ANPD authorization. The legal basis: articles 6, 10, 17, 28, and 29 of the Digital ECA Law, with fines up to <strong>R$ 50 million</strong> per infraction (art. 35).</p>
<p>Discord <a href="https://www.meioemensagem.com.br/midia/anpd-suspende-transmissoes-ao-vivo-do-discord-no-brasil"target="_blank" rel="noopener">called the measure &ldquo;premature&rdquo;</a>: it received the case file on Friday, was still within its response window, and says it removed the private server where the crime happened. And it dropped the most interesting sentence in the whole response: its internal investigation found evidence that <em>&ldquo;the criminal activity was coordinated on other platforms before the server was created on Discord and continued on them afterward.&rdquo;</em></p>
<p>A necessary clarification here. A version has circulated claiming the case originated on Instagram. I went looking and found no source confirming it: the platform named by police, besides Discord, is Telegram. Discord doesn&rsquo;t name the &ldquo;other platforms.&rdquo; What matters still stands, just with a different name in the slot: the case <strong>was not exclusive to Discord</strong>, the Ministry of Justice asked for two platforms to be investigated, and only Discord got the sanction. Telegram, which barely has legal representation in Brazil, remains untouched.</p>
<p>And that&rsquo;s where the first uncomfortable question shows up: if the problem is systemic, why is the sanction surgical?</p>
<h2>What the Digital ECA Law is, a.k.a. the &ldquo;Felca Law&rdquo;<span class="hx:absolute hx:-mt-20" id="what-the-digital-eca-law-is-aka-the-felca-law"></span>
    <a href="#what-the-digital-eca-law-is-aka-the-felca-law" class="subheading-anchor" aria-label="Permalink for this section"></a></h2><p>The sanction was only possible because of a brand-new law. In August 2025, the YouTuber Felca published the video <em>&ldquo;Adultização&rdquo;</em> (&ldquo;Adultification&rdquo;), exposing profiles that monetized sexualized content involving minors — the most shocking case being influencer Hytalo Santos, <a href="https://www.poder360.com.br/poder-justica/hytalo-santos-e-marido-sao-condenados-por-exploracao-de-menores/"target="_blank" rel="noopener">arrested that same month and convicted in February 2026</a> to over 11 years in prison. The video passed 30 million views, the Senate opened a parliamentary inquiry, and Congress <a href="https://gcaa.com.br/eca-digital-e-sancionado-comentarios-sobre-marco-regulatorio-de-protecao-de-criancas-e-adolescentes-em-ambientes-digitais/"target="_blank" rel="noopener">rushed the bill PL 2628/2022 through under urgency</a>, authored by Senator Alessandro Vieira.</p>
<p>The result: <a href="https://www.planalto.gov.br/ccivil_03/_ato2023-2026/2025/lei/l15211.htm"target="_blank" rel="noopener">Law 15,211 of September 17, 2025</a>, the Digital Statute for Children and Adolescents, in force since March 17, 2026. The points that matter for this discussion:</p>
<ul>
<li><strong>Duty of care</strong> (art. 6): platforms must take <em>&ldquo;reasonable measures from the design phase&rdquo;</em> to prevent minors&rsquo; exposure to sexual exploitation, violence, and inducement to self-harm and suicide.</li>
<li><strong>Age verification</strong> (art. 9, §1): <em>&ldquo;reliable age-verification mechanisms at every access&rdquo;</em>, with a devastating punchline: <strong>&ldquo;self-declaration is forbidden.&rdquo;</strong></li>
<li><strong>Notice and takedown</strong> (art. 29): a duty to remove content violating children&rsquo;s rights as soon as notified, <strong>no court order required</strong>.</li>
<li><strong>Enforcer</strong>: the ANPD, which stacked the job on top of the LGPD (<em>Lei Geral de Proteção de Dados</em>, Brazil&rsquo;s General Data Protection Law) and, since May 2026, duties under the Marco Civil da Internet (Brazil&rsquo;s internet bill of rights). It became the country&rsquo;s de facto digital regulator.</li>
<li><strong>Fines</strong> up to 10% of Brazilian revenue, capped at R$ 50 million per infraction. Suspension of activities, on paper, <a href="https://www.planalto.gov.br/ccivil_03/_ato2023-2026/2025/lei/l15211.htm"target="_blank" rel="noopener">only through the Judiciary</a> (art. 35, §5).</li>
</ul>
<p>That last point is already contested: <a href="https://www1.folha.uol.com.br/cotidiano/2026/08/anpd-tem-poder-para-fiscalizar-discord-mas-competencias-ainda-sao-discutiveis-dizem-especialistas.shtml"target="_blank" rel="noopener">experts interviewed by Folha</a> point out that the ANPD&rsquo;s &ldquo;preventive measure&rdquo; may in practice be a temporary suspension of activities — a sanction the law reserves for the Judiciary. Barely born, the regulation is already flirting with its own illegality.</p>
<p>Worth remembering the bigger context: in June 2025 the Supreme Court <a href="https://www.conjur.com.br/2025-jun-11/stf-forma-maioria-por-responsabilizacao-de-big-techs-por-publicacoes-de-usuarios/"target="_blank" rel="noopener">partially struck down art. 19 of the Marco Civil</a>, ending the requirement of a specific court order to hold platforms liable. In June 2026 the same court <a href="https://www.cnnbrasil.com.br/politica/stf-exige-representante-de-big-techs-no-brasil-e-da-60-dias-para-adaptacao/"target="_blank" rel="noopener">consolidated a &ldquo;duty of care&rdquo;</a> with categories for immediate removal, including suicide inducement and grave crimes against children. The Digital ECA Law legislates in that direction. In one year, platform liability in Brazil went from reactive to proactive.</p>
<h2>The oxymoron: &ldquo;you may encrypt, as long as we can read it&rdquo;<span class="hx:absolute hx:-mt-20" id="the-oxymoron-you-may-encrypt-as-long-as-we-can-read-it"></span>
    <a href="#the-oxymoron-you-may-encrypt-as-long-as-we-can-read-it" class="subheading-anchor" aria-label="Permalink for this section"></a></h2><p>Now the core of it, which is what made me write this. The ANPD&rsquo;s official justification for suspending Go Live deserves a careful read: Discord&rsquo;s architecture uses end-to-end encryption, <strong>the platform has no access to livestream content</strong>, and therefore real-time moderation is impossible. In the ANPD&rsquo;s assessment, if moderation depends on flawed automated systems and on reports from people inside the very room where the crime is happening, the feature is incompatible with the law.</p>
<p>Read that again, slowly. The ANPD didn&rsquo;t ban encryption — a direct ban would be indefensible in public. It said something else, far more ingenious: you may have end-to-end encryption, as long as you can monitor the content to comply with your legal duties.</p>
<p>Except that&rsquo;s an oxymoron. The entire point of end-to-end encryption is that the server carries ciphertext and cannot read it. To &ldquo;monitor the content,&rdquo; that content has to arrive at the servers in the clear — and then it&rsquo;s not end-to-end anymore. There is no third option: either it&rsquo;s illegible to the platform, or it&rsquo;s legible. The ANPD didn&rsquo;t criminalize encryption; it merely made it impossible to offer real encryption and operate in Brazil at the same time. Saying &ldquo;they banned cryptography&rdquo; is technically wrong. Functionally, it&rsquo;s exactly what happened.</p>
<p>And I&rsquo;m not the one saying it. Carlos Affonso Souza, director of ITS Rio, <a href="https://www.cnnbrasil.com.br/politica/discord-anpd-cria-precedente-perigoso-sobre-criptografia-diz-especialista/"target="_blank" rel="noopener">told CNN Brasil</a> this is the first time the ANPD has treated end-to-end encryption as a regulatory obstacle, a dangerous precedent comparable to the WhatsApp blocks — and that criminals will simply migrate to less cooperative platforms with no legal presence in the country (did someone say Telegram?).</p>
<p>To be fair to the debate: the law&rsquo;s text never mentions encryption once, and art. 34, §1 <a href="https://www.planalto.gov.br/ccivil_03/_ato2023-2026/2025/lei/l15211.htm"target="_blank" rel="noopener">expressly forbids</a> <em>&ldquo;massive, generic or indiscriminate surveillance mechanisms.&rdquo;</em> Fact-checkers <a href="https://www.boatos.org/tecnologia/ia-tera-acesso-a-todas-conversas-do-whatsapp-a-partir-de-hoje.html"target="_blank" rel="noopener">debunked the rumors</a> that the Digital ECA Law would read your WhatsApp. All of that is true — and all of that is about paper. In practice, the first major enforcement in the law&rsquo;s history treated the technical impossibility of surveillance as grounds to kill a feature. Paper accepts anything; the enforcer&rsquo;s pen is what writes the real law.</p>
<p>And there are hooks in the letter of the law waiting to be used: art. 18, III requires parental-control tools to <em>&ldquo;identify the profiles of adults with whom the child or adolescent communicates&rdquo;</em> — explain to me how an end-to-end encrypted messenger complies with that. Art. 27 orders providers to <em>&ldquo;remove and report&rdquo;</em> abuse content <em>&ldquo;detected&rdquo;</em> directly or indirectly — and detection presupposes seeing. Neither has been used yet. The Go Live precedent shows how they&rsquo;ll be read when they are.</p>
<blockquote>
  <p><strong>Remember this:</strong> the ANPD didn&rsquo;t ban encryption. It banned a feature whose encryption prevents content surveillance. The practical effect is identical: in Brazil, end-to-end encryption is now a regulatory risk.</p>

</blockquote>
<h2>Digital ECA Law vs. the LGPD<span class="hx:absolute hx:-mt-20" id="digital-eca-law-vs-the-lgpd"></span>
    <a href="#digital-eca-law-vs-the-lgpd" class="subheading-anchor" aria-label="Permalink for this section"></a></h2><p>The bigger irony is institutional. In 2018 we passed the LGPD to protect Brazilians&rsquo; personal data, built on principles like minimization (collect only what&rsquo;s necessary) and purpose limitation (use it only for what it was collected for). The Digital ECA Law, enforced by the same agency, pushes the other way.</p>
<p>Age verification is the crystal-clear example. <em>&ldquo;Self-declaration is forbidden&rdquo;</em> means every user, adults included, will have to prove their age to access ordinary services. Prove it how? ID documents, facial biometrics, verifiable credentials. <a href="https://www.gazetadopovo.com.br/vida-e-cidadania/verificacao-etaria-do-eca-digital-poe-em-risco-privacidade-de-dados/"target="_blank" rel="noopener">Gazeta do Povo heard experts</a> warning about the obvious: we&rsquo;re building a permanent identification infrastructure for everyone on the internet, with biometric data that, once leaked, can&rsquo;t be changed — you can change a password, you can&rsquo;t change your face.</p>
<p>And it&rsquo;s not theory. An <a href="https://convergenciadigital.com.br/governo/inutil-e-perigoso-cientistas-alertam-contra-sistemas-de-verificacao-de-idade-na-internet/"target="_blank" rel="noopener">open letter signed by 438 scientists from 32 countries</a> calls these systems &ldquo;useless and dangerous&rdquo;: trivially bypassed with VPNs and deepfakes, biased against minorities. And it cites the perfect example — Discord itself, which <a href="https://convergenciadigital.com.br/governo/inutil-e-perigoso-cientistas-alertam-contra-sistemas-de-verificacao-de-idade-na-internet/"target="_blank" rel="noopener">leaked ID photos of ~70,000 users</a> precisely because of outsourced age verification. The platform the ANPD is punishing for not surveilling is the same one that proved, in practice, the cost of collecting.</p>
<p>The law has safeguards on paper — art. 13 limits the use of verification data <em>&ldquo;solely for that purpose,&rdquo;</em> art. 12 talks about minimization. But notice the structural conflict of interest: the ANPD holds three mandates: LGPD, Digital ECA Law, and Marco Civil. <strong>The agency that should defend the minimization of your data is the same one now demanding you hand it over.</strong> When those two roles collide inside the same body, which one do you think wins?</p>
<h2>The other law of August 6: using a VPN now weighs on your sentence<span class="hx:absolute hx:-mt-20" id="the-other-law-of-august-6-using-a-vpn-now-weighs-on-your-sentence"></span>
    <a href="#the-other-law-of-august-6-using-a-vpn-now-weighs-on-your-sentence" class="subheading-anchor" aria-label="Permalink for this section"></a></h2><p>Remember how the ceremony where the First Lady demanded the block was the signing of another law? It&rsquo;s worth looking at what else was signed that day, because one article of PL 3066/2025 went almost unnoticed outside the tech bubble: <strong>art. 226-A</strong>, which <a href="https://agenciagov.ebc.com.br/noticias/202608/sancionada-lei-que-atualiza-o-eca-e-que-define-e-pune-crimes-sexuais-no-mundo-digital"target="_blank" rel="noopener">raises sentences by one third to two thirds</a> for crimes under the Child and Adolescent Statute committed using proxies, VPNs, or any IP-masking or anonymization technique.</p>
<p>Ayub, who has followed digital legislation for years, <a href="https://x.com/ayubio/status/2058990595503509513"target="_blank" rel="noopener">sounded the alarm back in May</a>, when the Chamber of Deputies approved the text: <em>&ldquo;it provides prison for anyone who develops or provides VPN services. You can&rsquo;t say I didn&rsquo;t warn you.&rdquo;</em></p>
<p>One clarification matters here, because checking sources is what separates analysis from panic. The <strong>original</strong> draft by congressman Osmar Terra did criminalize developing, distributing, or selling IP-masking software — in practice, it turned the VPN-developer profession into a crime. But the bill went through a technical working group that heard the Federal Police, prosecutors, the child-safety NGO Safernet, and the platforms themselves, and the final rapporteur, congresswoman Rogéria Santos, <a href="https://iclnoticias.com.br/projeto-contra-pedofila-quase/"target="_blank" rel="noopener">removed the development criminalization</a> and kept only the sentence enhancer, with an express safeguard for lawful use. Ayub&rsquo;s tweet describes the bill that went into the Chamber, not the law that came out. His warning, though, captured the direction — and the direction held.</p>
<p>Because what survived is already plenty. <a href="https://isoc.org.br/noticia/isoc-e-isoc-brasil-pedem-rejeicao-do-art-226-a-do-pl-3066-2025"target="_blank" rel="noopener">ISOC Brasil pointed out</a> (ISOC is the Internet Society) that the enhancer puts VPN use on the same penal footing as armed robbery. And an <a href="https://teletime.com.br/06/07/2026/vpn-senado-entidaddes/"target="_blank" rel="noopener">open letter to the Senate</a>, signed by the EFF (Electronic Frontier Foundation), the Tor Project, Artigo 19, Data Privacy Brasil, and half a dozen other organizations, explained the obvious to anyone in the field: proxies and VPNs are standard corporate security infrastructure, recommended by international standards like ISO/IEC 27001; identifier anonymization is a native feature of browsers like Firefox and Brave; and your employer probably <strong>requires</strong> you to use a VPN to work from home. The Senate didn&rsquo;t listen. On August 6, the article became law — at that very ceremony.</p>
<p>The sentence from the letter that should haunt any legislator: <em>&ldquo;legal precedents rarely remain confined to the hypothesis that justified their creation.&rdquo;</em> In the letter&rsquo;s formulation, it&rsquo;s the <strong>first time</strong> Brazilian criminal law treats a neutral security technology as, by itself, grounds for a harsher sentence. Today the hypothesis is crimes against children — the one nobody dares question in public, and the bill&rsquo;s authors knew it. Tomorrow it&rsquo;s any crime. The next congressman who wants to enhance theft &ldquo;committed through VPN use&rdquo; already has the precedent ready, voted and signed.</p>
<p>And notice the ingenuity, identical to the encryption play: nobody banned VPNs — a direct ban would be indefensible. A mechanism was merely created to treat VPN users as qualified suspects. Think about the execution: to apply the &ldquo;lawful use&rdquo; safeguard, the State first needs to know you use a VPN and then determine whether your use was lawful. In other words, every user of a privacy tool becomes, by default, a potential object of verification. The safeguard doesn&rsquo;t protect the user — it authorizes their inspection.</p>
<p>And there&rsquo;s a fine irony to close: the 438-scientist letter I mentioned in the previous section warns that age verification is bypassed with VPNs. The Brazilian legislator&rsquo;s answer wasn&rsquo;t to rethink age verification. It was to half-criminalize VPNs. The siege closes from both sides, always with the same little plaque of good intentions nailed on top.</p>
<blockquote>
  <p><strong>Remember this:</strong> nobody banned VPNs in Brazil. Something subtler was created: the first criminal-law precedent where using a neutral privacy tool weighs against you. Today it enhances crimes against children. The precedent itself has no owner.</p>

</blockquote>
<h2>And the actual criminals?<span class="hx:absolute hx:-mt-20" id="and-the-actual-criminals"></span>
    <a href="#and-the-actual-criminals" class="subheading-anchor" aria-label="Permalink for this section"></a></h2><p>There&rsquo;s a contradiction in this story that almost nobody commented on. The sanction against Discord came down in six days, with a potential R$ 50 million fine per infraction. And what happens to the perpetrators of the crime that motivated all of this?</p>
<p>The Naviraí group was made up of five teenagers aged 13 to 17 and one 18-year-old. The alleged leader is 14. Under Brazilian law, <strong>only the 18-year-old answers as an adult</strong>, for qualified homicide. The other five fall under the ECA regime — the classic one, not the digital one: socio-educational internment, with a <a href="https://www.atfcursosjuridicos.com.br/repositorio/material/15893963154125-ecaparaoabatf.pdf"target="_blank" rel="noopener">three-year ceiling</a> and compulsory release at 21. The case is sealed and we don&rsquo;t know what measures were applied, but that&rsquo;s the ceiling, no matter the cruelty. The intellectual mentor of the Suzano school massacre, with 10 dead, was 17 and <a href="https://g1.globo.com/sp/mogi-das-cruzes-suzano/noticia/2019/05/03/justica-decide-manter-internacao-de-menor-apontado-como-mentor-intelectual-do-massacre-em-suzano.ghtml"target="_blank" rel="noopener">was interned</a> — three years, regardless of the body count.</p>
<p>And there&rsquo;s a calendar irony: in February 2026 Brazil <a href="https://www.brasilparalelo.com.br/noticias/lula-sanciona-lei-que-define-bullying-e-cyberbullying-como-crimes"target="_blank" rel="noopener">signed a law making online inducement to suicide and self-harm a heinous crime</a>, with doubled penalties for group leaders. For adults. For the five Naviraí teenagers, investigated for exactly that, nothing changes: the ceiling is still the ECA&rsquo;s three years.</p>
<p>It stays this way by choice, and not for lack of trying. In March 2026, the rapporteur of the Public Security constitutional amendment included a <a href="https://www.congressoemfoco.com.br/amp/noticia/116889/governo-se-manifesta-contra-a-reducao-da-maioridade-penal--ineficaz"target="_blank" rel="noopener">referendum on lowering the criminal age to 16</a>; the government called the reduction &ldquo;ineffective and unconstitutional&rdquo; and the passage was stripped so the amendment could pass — <a href="https://www.nsctotal.com.br/noticias/camara-aprova-pec-da-seguranca-publica-apos-retirada-de-mencao-a-maioridade-penal"target="_blank" rel="noopener">approved 487 to 15</a> without a single line on the subject. In June, the Chamber&rsquo;s Constitution and Justice Committee <a href="https://www.camara.leg.br/noticias/1280551-comissao-de-constituicao-e-justica-aprova-pec-que-reduz-maioridade-penal/"target="_blank" rel="noopener">approved the admissibility of another reduction amendment, 44 to 18</a>, but it still needs 308 votes in two plenary rounds — exactly the wall where the 2015 version died. Even the middle way stalls: <a href="https://www12.senado.leg.br/noticias/materias/2025/10/22/vai-a-camara-mais-tempo-de-internacao-de-adolescente-em-conflito-com-a-lei"target="_blank" rel="noopener">the bill PL 1.473/2025</a>, which would raise maximum internment from 3 to 5 years (10 for violent crimes), passed the Senate in October 2025 and has been sleeping in the Chamber ever since.</p>
<p>Meanwhile, organized crime does the math. Factions recruit teenagers on purpose, because they know the ECA shields the triggerman: in the faction attacks in Ceará, adults <a href="https://ponte.org/periferias-sao-as-principais-vitimas-dos-ataques-de-faccoes-no-ceara/"target="_blank" rel="noopener">paid R$ 1,000 to R$ 5,000 per attack</a> for teenagers to torch vehicles — the boss doesn&rsquo;t expose himself, the executor doesn&rsquo;t go to prison. The Naviraí group is the digital version of the same logic: a 14-year-old leader coordinating crimes that, committed by an adult, would mean decades in prison.</p>
<p>And Brazil has become an outlier even in its neighborhood. Argentina <a href="https://g1.globo.com/mundo/noticia/2026/02/27/argentina-aprova-lei-que-reduz-maioridade-penal-de-16-para-14-anos.ghtml"target="_blank" rel="noopener">approved lowering the age from 16 to 14 in February</a>. Sweden, of all countries, <a href="https://noticias.r7.com/prisma/espaco-prisma/com-13-anos-um-adolescente-pode-matar-e-ir-para-a-cadeia-a-suecia-decidiu-que-sim-o-brasil-ainda-nao-sabe-05022026/"target="_blank" rel="noopener">dropped to 13 for serious crimes starting in July</a> — after gangs started recruiting children on Snapchat for attacks precisely because they couldn&rsquo;t be prosecuted. England prosecutes from age 10 (though its own Bar Council wants to raise it to 14), most American states transfer 14-year-olds to criminal court for murder, Portugal at 16.</p>
<p>For the record, the other side exists: <a href="https://brasil.un.org/pt-br/317703-redu%C3%A7%C3%A3o-da-maioridade-penal-unicef-manifesta-preocupa%C3%A7%C3%A3o-com-avan%C3%A7o-da-pec-na-c%C3%A2mara-dos"target="_blank" rel="noopener">UNICEF came out against the reduction</a>, and the recidivism data is uncomfortable for both sides — ~43% after internment, ~70% after regular prison. If we&rsquo;re going to debate the model, let&rsquo;s debate it. What doesn&rsquo;t fly is the current result: a new law managed in six days to take offline a feature used by millions of innocent people, while the system that punishes the perpetrators hasn&rsquo;t moved in thirty years. We punish the pipe because the pipe is what&rsquo;s within reach.</p>
<blockquote>
  <p><strong>Remember this:</strong> six days to sanction a platform used by millions of innocent people; thirty years without touching the ceiling for those who committed the crime.</p>

</blockquote>
<h2>Meanwhile, at the Supreme Court: source protection breached<span class="hx:absolute hx:-mt-20" id="meanwhile-at-the-supreme-court-source-protection-breached"></span>
    <a href="#meanwhile-at-the-supreme-court-source-protection-breached" class="subheading-anchor" aria-label="Permalink for this section"></a></h2><p>If it were only Discord, you could call it a regulatory accident. But in the same week, another pillar fell.</p>
<p>Since November 2025, journalist Luís Pablo, from Maranhão, had been publishing reports about the use of an official car of the TJ-MA (<em>Tribunal de Justiça do Maranhão</em>, the Maranhão state court) by Supreme Court minister Flávio Dino and family members. In March, Alexandre de Moraes authorized a <a href="https://www.gazetadopovo.com.br/republica/decisao-de-moraes-sobre-jornalista-cita-inquerito-das-fake-news-e-contraria-nota-oficial-do-stf/"target="_blank" rel="noopener">search and seizure against the journalist</a> — in a decision that cited the fake news inquiry, which the Court&rsquo;s press office later denied. Phones, a notebook, and a pen drive seized. In April, the equipment was returned, but the forensic analysis continued.</p>
<p>On August 11, <a href="https://g1.globo.com/jornal-nacional/noticia/2026/08/11/moraes-determina-investigacao-contra-fonte-de-jornalista-em-reportagem-sobre-dino.ghtml"target="_blank" rel="noopener">the Federal Police served warrants against Raimundo Cutrim</a>, Maranhão&rsquo;s former security secretary — identified as the journalist&rsquo;s source. How did they get to him? Through the analysis of the journalist&rsquo;s seized devices.</p>
<p>See the mechanism? Article 5, XIV of the Constitution protects source secrecy, and the journalist can refuse to reveal it — as he did, staying silent in his deposition. So they didn&rsquo;t ask. They seized his work material, read everything, and <strong>identified the source behind his back</strong>. Constitutional scholar Vera Chemin <a href="https://www.cnnbrasil.com.br/politica/especialistas-avaliam-decisao-de-moraes-sobre-fonte-de-jornalista/"target="_blank" rel="noopener">summed it up on CNN</a>: <em>&ldquo;you cannot breach the secrecy first and then check whether a crime occurred.&rdquo;</em></p>
<p>The Supreme Court itself has ruled this, more than once. In a 2019 constitutional case (ADPF 601), Gilmar Mendes <a href="https://noticias.stf.jus.br/postsnoticias/ministro-gilmar-mendes-garante-sigilo-da-fonte-a-jornalista-glenn-greenwald/"target="_blank" rel="noopener">protected Glenn Greenwald during Vaza Jato</a> with a sentence that should be framed: source secrecy <em>&ldquo;prevents the State from using coercive measures to constrain professional activity and to rummage through the way in which what is brought to public knowledge is received and transmitted.&rdquo;</em> &ldquo;Rummage through the way it is received&rdquo; is literally what the forensic analysis of the devices did.</p>
<p>For the record, the Court&rsquo;s defense exists and deserves to be presented: the investigation targets the illegal monitoring of a minister and his family, with license plates, security agents&rsquo; names, and clandestine images of children published; the Federal Police says Cutrim used his public office to access restricted systems; and there&rsquo;s a R$ 100,000 transfer from a second suspect to the journalist, whose nature nobody has proven yet. The files are sealed, so neither version is verifiable from the outside. There may be a crime there. But that&rsquo;s exactly why the order of operations matters: first you investigate by lawful means, then — maybe, in the most exceptional cases — you discuss exceptions. <strong>Reversing that order turns the exception into the method.</strong></p>
<p>The reaction was the usual one, only louder: the press associations <a href="https://www.abraji.org.br/noticias/abraji-condena-violacao-de-sigilo-de-fonte-de-jornalista-no-maranhao"target="_blank" rel="noopener">Abraji</a>, ANJ and ABERT, the Inter American Press Association, and <a href="https://www.poder360.com.br/poder-midia/globo-folha-e-estadao-criticam-stf-por-quebra-de-sigilo-da-fonte/"target="_blank" rel="noopener">editorials from the country&rsquo;s three biggest newspapers on the same day</a>. Estadão wrote that the fake news inquiry <em>&ldquo;has been converted into an instrument of intimidation.&rdquo;</em> Miro Teixeira, the lawyer who struck down the dictatorship&rsquo;s Press Law in 2009, said the Court <a href="https://www.poder360.com.br/poder-justica/stf-atua-momentaneamente-como-tribunal-de-excecao-diz-miro-teixeira/"target="_blank" rel="noopener">is acting &ldquo;momentarily as a tribunal of exception&rdquo;</a>.</p>
<blockquote>
  <p><strong>Remember this:</strong> source secrecy wasn&rsquo;t repealed, it was bypassed. Nobody coerced the journalist; they seized his devices and the source surfaced in the forensics. The guarantee still exists, but only on paper.</p>

</blockquote>
<h2>Conclusion: is Brazil becoming a censored country?<span class="hx:absolute hx:-mt-20" id="conclusion-is-brazil-becoming-a-censored-country"></span>
    <a href="#conclusion-is-brazil-becoming-a-censored-country" class="subheading-anchor" aria-label="Permalink for this section"></a></h2><p>It&rsquo;s the pattern that worries me, not the isolated episodes. In 2024, X spent a month offline in Brazil by monocratic order. In 2025, art. 19 of the Marco Civil fell and platform liability went proactive. In 2026, the Digital ECA Law handed the Executive a package of obligations so intrusive that, the first time it was used, it took down an encrypted feature nationwide — while the 14-year-old leader of the group that motivated the sanction faces, at most, three years of internment. And journalistic source secrecy was breached forensically, with the blessing of the same court that enshrined it.</p>
<p>Every rung of that ladder has a sympathetic justification, and that&rsquo;s exactly why the ladder is dangerous. Nobody builds censorship infrastructure saying it&rsquo;s for censorship. You build it to protect children, to protect ministers, to protect democracy.</p>
<p>The problem is that <strong>infrastructure has no moral owner</strong>. The ruler that measures Discord today measures any app tomorrow. The enforcement that demands plaintext streams today to protect Lívia will demand plaintext for whatever the government of the day wants to see. The source breach that catches the Dino case&rsquo;s source today catches any source, in any case, against anyone.</p>
<p>And the week&rsquo;s most revealing detail: of the two platforms the Ministry of Justice asked to investigate, the sanctioned one is the one with an office, a tax ID, and lawyers in Brazil — the one that <em>cooperates</em>. The message the regulator sent the market is inverted: <strong>cooperating exposes you; being opaque protects you</strong>. The teenagers from the Naviraí neo-Nazi group aren&rsquo;t going anywhere — they&rsquo;re going to Telegram, which nobody touched.</p>
<p>And there&rsquo;s the most Brazilian trait of all in this arrangement: it became impossible to be on the right side of the law. If you truly protect your users with end-to-end encryption, you violate the Digital ECA Law. If you comply with the Digital ECA Law, you open up your users&rsquo; data and violate the LGPD. If you collect IDs for age verification, you become a leak target and a sanction target; if you don&rsquo;t collect, you become an enforcement target. <strong>There is no safe configuration.</strong></p>
<p>And that&rsquo;s a tradition of ours: laws so broad, with so many stacked exceptions, that anyone becomes an offender by accident on any street corner. When everyone is always in violation, the law stops being a rule and becomes an option — real power migrates to whoever chooses whom to apply it against. That&rsquo;s what happened this week: two platforms investigated, one punished. The one with a local address.</p>
<p>Protecting children is a non-negotiable civilizational duty. Investigating crimes against a minister is the State&rsquo;s obligation. The question that remains isn&rsquo;t whether those causes are legitimate — they are. It&rsquo;s whether Brazil can still pursue legitimate causes without demolishing the guarantees that make the country a liberal democracy: real privacy, functional encryption, a press with protected sources. This week, the answer was no three times in a row.</p>
<p>It&rsquo;s not regime censorship. In a way it&rsquo;s worse: it&rsquo;s censorship by accumulation, voted, signed, and applauded, every brick carrying a little plaque of good intentions. And you only notice the wall when it&rsquo;s already around you.</p>
]]></content:encoded><category>security</category><category>law-and-regulation</category><category>politics</category></item><item><title>Why a Perfect Digital Election Still Wouldn't Be Viable?</title><link>https://akitaonrails.github.io/en/2026/08/07/why-a-perfect-digital-election-still-wouldnt-be-viable/</link><guid isPermaLink="true">https://akitaonrails.github.io/en/2026/08/07/why-a-perfect-digital-election-still-wouldnt-be-viable/</guid><pubDate>Fri, 07 Aug 2026 10:00:00 -0300</pubDate><description>&lt;p&gt;Every election in Brazil turns into the same soap opera: half the country doesn&amp;rsquo;t trust the result. And unlike most countries, there is nothing to recount. Brazil is one of the few countries in the world with a &lt;strong&gt;100% digital&lt;/strong&gt; election: no paper receipt, no physical ballot, no possibility of an independent recount. Your vote goes into an electronic voting machine, becomes a number inside closed software, and out comes a tally. Either you trust the TSE (the Superior Electoral Court), or there&amp;rsquo;s nothing you can do.&lt;/p&gt;</description><content:encoded><![CDATA[<p>Every election in Brazil turns into the same soap opera: half the country doesn&rsquo;t trust the result. And unlike most countries, there is nothing to recount. Brazil is one of the few countries in the world with a <strong>100% digital</strong> election: no paper receipt, no physical ballot, no possibility of an independent recount. Your vote goes into an electronic voting machine, becomes a number inside closed software, and out comes a tally. Either you trust the TSE (the Superior Electoral Court), or there&rsquo;s nothing you can do.</p>
<p>Recently the TSE put on a little theater show: it <a href="https://www.tse.jus.br/comunicacao/noticias/2026/Junho/eleicoes-2026-tse-abre-urna-eletronica-para-tecnicos-da-sociedade-brasileira-de-computacao"target="_blank" rel="noopener">&ldquo;opened up the voting machine&rdquo;</a> so technicians from the Brazilian Computer Society could look at the components. That&rsquo;s obviously useless. Showing a motherboard, a processor, and some memory chips proves there&rsquo;s no malware the way looking at a car&rsquo;s engine proves the driver is sober. Hardware is just the stage; the play happens in the software. And auditing the software is precisely what&rsquo;s hard, restricted, full of ritual and short windows — which completely defeats the purpose of public transparency. An audit that only a handful of credentialed people can perform, under supervision, for a few days, is not transparency. It&rsquo;s a performance.</p>
<p>And for the record: I&rsquo;m not defending the current system, and I have zero expectations for it. As I summed up in <a href="https://x.com/AkitaOnRails/status/2084669984555331706"target="_blank" rel="noopener">this tweet</a>: the voting machine is just a box, an old PC. Even if the software were perfect, it wouldn&rsquo;t matter — the processes around it stay secret, done behind closed doors. The machine is a smokescreen. With or without an alternative, I don&rsquo;t care about it.</p>
<p>Many people conclude from this that the answer is digital elections, but with a different system. This article is a computer science exercise: what would a hypothetically perfect system look like? And, more importantly, the final conclusion: <strong>why even that perfect system would not be a viable option.</strong></p>
<p>One thing worth emphasizing before we start: the system I&rsquo;m about to describe would require <strong>no</strong> secrecy from the government. No secret components, no secret processes, no locked rooms with credentialed people standing guard. Everything — the code, the data, the whole structure — could be 100% open, accessible to anyone, no restrictions whatsoever. And it would still be possible to prove, mathematically, that fraud is impossible. It&rsquo;s the exact opposite of the current model, where trust is born out of secrecy.</p>
<blockquote>
  <p>No patience for code and math along the way? <a href="#why-this-would-never-work">Skip straight to the part where I explain why this wouldn&rsquo;t work</a>. And at the end of the article, three appendices: <a href="#appendix-1-so-is-the-current-system-auditable">is the current system auditable?</a>, <a href="#appendix-2-skin-in-the-game--rewarding-those-who-verify">how to reward voters who verify their vote</a>, and <a href="#appendix-3-why-zero-knowledge-is-so-hard-to-swallow">why &ldquo;zero knowledge&rdquo; is so hard to swallow</a>.</p>

</blockquote>
<h2>&ldquo;The machine is safe because it&rsquo;s not on the internet&rdquo;<span class="hx:absolute hx:-mt-20" id="the-machine-is-safe-because-its-not-on-the-internet"></span>
    <a href="#the-machine-is-safe-because-its-not-on-the-internet" class="subheading-anchor" aria-label="Permalink for this section"></a></h2><p>Sooner or later, every defender of the current system plays this card: the voting machine isn&rsquo;t connected to the internet, so it can&rsquo;t be hacked from the outside. Technically true. And completely beside the point.</p>
<p>First, because isolation says nothing about what the software does. An offline machine can flip votes just the same — you simply get no way to watch it happen. And malware doesn&rsquo;t need a network to get in: it can come from the factory, from an update, from the supply chain, from a technician with physical access. Stuxnet, the most famous worm in history, crossed the air gap into Iran&rsquo;s centrifuges on a USB stick. An air gap is an obstacle, not proof of honesty. And notice: the machine&rsquo;s data has to leave it somehow at the end of the day, on physical media carried around or through later transmission. &ldquo;Not on the internet&rdquo; is a logistical half-truth.</p>
<p>Second, and more important: that argument exposes the wrong mental model. The current system&rsquo;s security comes from <strong>physical custody</strong> — seals, locked rooms, accredited observers, rituals. In other words, once again, from trusting people and processes you cannot see.</p>
<p>In the system I&rsquo;m about to describe, the machine could be <strong>plugged straight into the internet</strong>, publishing every vote to the public tree in real time, and fraud would still be impossible. Not because the network is safe, but because nobody needs to trust the machine:</p>
<ul>
<li>What it publishes are opaque commitments: even broadcasting everything live, there is no vote to leak in the published data.</li>
<li>Every commitment carries a mathematical validity proof: the machine cannot mint an invalid vote.</li>
<li>The tree is public and replicated by independent observers: nothing published can be altered later without breaking the hashes.</li>
<li>And if the machine flips your vote at the booth, the Benaloh challenge catches it (that&rsquo;s Building block 4, further down): it cannot know whether you&rsquo;ll cast or audit.</li>
</ul>
<p>Being online or not stops being the question. Security doesn&rsquo;t live in the absence of a network; it lives in public verification. &ldquo;Trust us, the machine is locked in a room&rdquo; becomes &ldquo;don&rsquo;t trust anything, check the math.&rdquo; That inversion is the one thing the current model cannot offer.</p>
<h2>The tweet that inspired this post<span class="hx:absolute hx:-mt-20" id="the-tweet-that-inspired-this-post"></span>
    <a href="#the-tweet-that-inspired-this-post" class="subheading-anchor" aria-label="Permalink for this section"></a></h2><p>I recently posted <a href="https://x.com/AkitaOnRails/status/2085550756837335483"target="_blank" rel="noopener">this tweet</a> about end-to-end verifiability (E2E-V). The gist of the idea:</p>
<ol>
<li>Every voter gets a paper receipt with a unique identifier — a hash — that <strong>identifies neither the person nor the vote</strong>.</li>
<li>Each precinct&rsquo;s votes go into a public structure you can only append to, never delete from (<em>append-only</em>): a Merkle tree (the same principle as a blockchain).</li>
<li>That tree is published in full. Any citizen downloads and verifies it.</li>
<li><strong>Individual verifiability:</strong> each voter checks that their hash is there, no middleman.</li>
<li><strong>Universal verifiability:</strong> anyone recomputes the tree and checks that it produces the announced total.</li>
</ol>
<p>I made it explicit in the tweet: this is <strong>not</strong> a solution, it&rsquo;s a napkin sketch. The concept exists, it&rsquo;s mathematically solid, and it&rsquo;s old news to anyone in computer science. But the reaction was interesting.</p>
<h2>The voto de cabresto problem<span class="hx:absolute hx:-mt-20" id="the-voto-de-cabresto-problem"></span>
    <a href="#the-voto-de-cabresto-problem" class="subheading-anchor" aria-label="Permalink for this section"></a></h2><p>A lot of the comments got stuck on the same point: the <em>voto de cabresto</em> — the &ldquo;halter vote&rdquo;. It&rsquo;s a historical practice in Brazil: the local political boss buys a poor voter&rsquo;s vote and demands proof they voted &ldquo;the right way&rdquo;. Back in the day it was the pre-marked ballot; today it would be a photo of the voting machine&rsquo;s screen (which is why phones are banned inside the booth).</p>
<p>And that raises an apparent contradiction:</p>
<ul>
<li>If the receipt the voter takes home <strong>reveals</strong> who they voted for, the vote can be coerced or sold.</li>
<li>If the receipt <strong>doesn&rsquo;t reveal</strong> who they voted for, how does the voter check that their vote went to the right candidate?</li>
</ul>
<p>I recently posted the answer, albeit only in passing: <strong>zero-knowledge proofs</strong> (ZK). The same principle behind truly anonymous cryptocurrencies like Monero and Zcash.</p>
<p>The flow would go like this: the voter picks the candidate on the screen; the machine generates a secret random number, computes <code>ciphertext = Enc(election_public_key, vote; random)</code>, produces a ZK proof that this ciphertext contains a valid vote, and publishes everything to a public Merkle tree. The voter takes home only a serial number. The serial <strong>does not contain the vote</strong>, but it lets you prove the vote exists in the tree and was not tampered with.</p>
<p>Here&rsquo;s what this looks like for programmers, step by step, with real values. And at the end I&rsquo;ll explain why, even working perfectly, this would fix nothing.</p>
<h2>Building block 1: hash as commitment<span class="hx:absolute hx:-mt-20" id="building-block-1-hash-as-commitment"></span>
    <a href="#building-block-1-hash-as-commitment" class="subheading-anchor" aria-label="Permalink for this section"></a></h2><p>The foundation of everything is the hash function. A function like SHA-256 takes any input and produces 32 seemingly random bytes. Three properties matter here:</p>
<ul>
<li><strong>Deterministic:</strong> same input, same output. Always.</li>
<li><strong>One-way:</strong> given the hash, there&rsquo;s no going back to the input.</li>
<li><strong>Avalanche:</strong> flip one bit of the input and the whole hash changes.</li>
</ul>
<div class="hextra-code-block hx:relative hx:mt-6 hx:first:mt-0 hx:group/code">

<div><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="kn">import</span> <span class="nn">hashlib</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="k">def</span> <span class="nf">commit</span><span class="p">(</span><span class="n">voto</span><span class="p">,</span> <span class="n">nonce</span><span class="p">):</span>
</span></span><span class="line"><span class="cl">    <span class="k">return</span> <span class="n">hashlib</span><span class="o">.</span><span class="n">sha256</span><span class="p">(</span><span class="sa">f</span><span class="s2">&#34;</span><span class="si">{</span><span class="n">voto</span><span class="si">}</span><span class="s2">:</span><span class="si">{</span><span class="n">nonce</span><span class="si">}</span><span class="s2">&#34;</span><span class="o">.</span><span class="n">encode</span><span class="p">())</span><span class="o">.</span><span class="n">hexdigest</span><span class="p">()</span></span></span></code></pre></div></div><div class="hextra-code-copy-btn-container hx:opacity-0 hx:transition hx:group-hover/code:opacity-100 hx:flex hx:gap-1 hx:absolute hx:m-[11px] hx:right-0 hx:top-0">
  <button
    class="hextra-code-copy-btn hx:group/copybtn hx:cursor-pointer hx:transition-all hx:active:opacity-50 hx:bg-primary-700/5 hx:border hx:border-black/5 hx:text-gray-600 hx:hover:text-gray-900 hx:rounded-md hx:p-1.5 hx:dark:bg-primary-300/10 hx:dark:border-white/10 hx:dark:text-gray-400 hx:dark:hover:text-gray-50"
    title="Copy code"
  >
    <div class="hextra-copy-icon hx:group-[.copied]/copybtn:hidden hx:pointer-events-none hx:h-4 hx:w-4"></div>
<div class="hextra-success-icon hx:hidden hx:group-[.copied]/copybtn:block hx:pointer-events-none hx:h-4 hx:w-4"></div>
  </button>
</div>
</div>
<div class="hextra-code-block hx:relative hx:mt-6 hx:first:mt-0 hx:group/code">

<div><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-text" data-lang="text"><span class="line"><span class="cl">commit(&#39;Candidato A&#39;, 987654321) = 337051f1dbc6a8ef412ecc14067c263d6a0dc83dada6939b51d74b6651727b69
</span></span><span class="line"><span class="cl">commit(&#39;Candidato A&#39;, 123456789) = 55512bcd60924abf68d162f1a130023635089974db08ea9cff691e1f209898ab
</span></span><span class="line"><span class="cl">commit(&#39;Candidato B&#39;, 987654321) = faf54e90eb84ba4c0446701c3779a382e48d02847bd2301f3836f673c54f9693</span></span></code></pre></div></div><div class="hextra-code-copy-btn-container hx:opacity-0 hx:transition hx:group-hover/code:opacity-100 hx:flex hx:gap-1 hx:absolute hx:m-[11px] hx:right-0 hx:top-0">
  <button
    class="hextra-code-copy-btn hx:group/copybtn hx:cursor-pointer hx:transition-all hx:active:opacity-50 hx:bg-primary-700/5 hx:border hx:border-black/5 hx:text-gray-600 hx:hover:text-gray-900 hx:rounded-md hx:p-1.5 hx:dark:bg-primary-300/10 hx:dark:border-white/10 hx:dark:text-gray-400 hx:dark:hover:text-gray-50"
    title="Copy code"
  >
    <div class="hextra-copy-icon hx:group-[.copied]/copybtn:hidden hx:pointer-events-none hx:h-4 hx:w-4"></div>
<div class="hextra-success-icon hx:hidden hx:group-[.copied]/copybtn:block hx:pointer-events-none hx:h-4 hx:w-4"></div>
  </button>
</div>
</div>
<p>Look closely. The first and second hashes hide <strong>the same vote</strong> — what changes is the <code>nonce</code>, a random number that acts as &ldquo;wrapping&rdquo;. The first and third share the same nonce, but different votes. The three hashes have no visible resemblance to one another.</p>
<p>This is a <strong>commitment</strong>: I publish the hash today, and tomorrow I can reveal <code>(vote, nonce)</code> and anyone can check the hash matches. I can&rsquo;t change my vote after publishing (the <em>binding</em> property), and nobody can figure out the vote before the reveal (the <em>hiding</em> property).</p>
<p>Except there&rsquo;s a problem for our election: if the voter takes home both the vote and the nonce, they can <strong>show both to the coercer</strong>, who verifies the hash and confirms the vote. The halter is back. We need something better.</p>
<h2>Building block 2: Pedersen commitments — hiding for real<span class="hx:absolute hx:-mt-20" id="building-block-2-pedersen-commitments--hiding-for-real"></span>
    <a href="#building-block-2-pedersen-commitments--hiding-for-real" class="subheading-anchor" aria-label="Permalink for this section"></a></h2><p>The Pedersen commitment solves this with modular arithmetic. I&rsquo;ll use toy numbers so you can check the math by hand; real systems use 2048-bit primes or elliptic curves, but the math is identical.</p>
<p>Take a prime <code>p = 23</code> and two generators <code>g = 4</code> and <code>h = 8</code> (both generate a subgroup of order 11 modulo 23 — check it: <code>4^11 mod 23 = 1</code> and <code>8^11 mod 23 = 1</code>). The commitment to a vote <code>v</code> with nonce <code>n</code> is:</p>
<div class="hextra-code-block hx:relative hx:mt-6 hx:first:mt-0 hx:group/code">

<div><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-text" data-lang="text"><span class="line"><span class="cl">C = g^v * h^n  (mod p)</span></span></code></pre></div></div><div class="hextra-code-copy-btn-container hx:opacity-0 hx:transition hx:group-hover/code:opacity-100 hx:flex hx:gap-1 hx:absolute hx:m-[11px] hx:right-0 hx:top-0">
  <button
    class="hextra-code-copy-btn hx:group/copybtn hx:cursor-pointer hx:transition-all hx:active:opacity-50 hx:bg-primary-700/5 hx:border hx:border-black/5 hx:text-gray-600 hx:hover:text-gray-900 hx:rounded-md hx:p-1.5 hx:dark:bg-primary-300/10 hx:dark:border-white/10 hx:dark:text-gray-400 hx:dark:hover:text-gray-50"
    title="Copy code"
  >
    <div class="hextra-copy-icon hx:group-[.copied]/copybtn:hidden hx:pointer-events-none hx:h-4 hx:w-4"></div>
<div class="hextra-success-icon hx:hidden hx:group-[.copied]/copybtn:block hx:pointer-events-none hx:h-4 hx:w-4"></div>
  </button>
</div>
</div>
<div class="hextra-code-block hx:relative hx:mt-6 hx:first:mt-0 hx:group/code">

<div><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="n">p</span><span class="p">,</span> <span class="n">q</span><span class="p">,</span> <span class="n">g</span><span class="p">,</span> <span class="n">h</span> <span class="o">=</span> <span class="mi">23</span><span class="p">,</span> <span class="mi">11</span><span class="p">,</span> <span class="mi">4</span><span class="p">,</span> <span class="mi">8</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="k">def</span> <span class="nf">pedersen</span><span class="p">(</span><span class="n">v</span><span class="p">,</span> <span class="n">n</span><span class="p">):</span>
</span></span><span class="line"><span class="cl">    <span class="k">return</span> <span class="p">(</span><span class="nb">pow</span><span class="p">(</span><span class="n">g</span><span class="p">,</span> <span class="n">v</span><span class="p">,</span> <span class="n">p</span><span class="p">)</span> <span class="o">*</span> <span class="nb">pow</span><span class="p">(</span><span class="n">h</span><span class="p">,</span> <span class="n">n</span><span class="p">,</span> <span class="n">p</span><span class="p">))</span> <span class="o">%</span> <span class="n">p</span></span></span></code></pre></div></div><div class="hextra-code-copy-btn-container hx:opacity-0 hx:transition hx:group-hover/code:opacity-100 hx:flex hx:gap-1 hx:absolute hx:m-[11px] hx:right-0 hx:top-0">
  <button
    class="hextra-code-copy-btn hx:group/copybtn hx:cursor-pointer hx:transition-all hx:active:opacity-50 hx:bg-primary-700/5 hx:border hx:border-black/5 hx:text-gray-600 hx:hover:text-gray-900 hx:rounded-md hx:p-1.5 hx:dark:bg-primary-300/10 hx:dark:border-white/10 hx:dark:text-gray-400 hx:dark:hover:text-gray-50"
    title="Copy code"
  >
    <div class="hextra-copy-icon hx:group-[.copied]/copybtn:hidden hx:pointer-events-none hx:h-4 hx:w-4"></div>
<div class="hextra-success-icon hx:hidden hx:group-[.copied]/copybtn:block hx:pointer-events-none hx:h-4 hx:w-4"></div>
  </button>
</div>
</div>
<div class="hextra-code-block hx:relative hx:mt-6 hx:first:mt-0 hx:group/code">

<div><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-text" data-lang="text"><span class="line"><span class="cl">C(voto=1, n=3)  = 1
</span></span><span class="line"><span class="cl">C(voto=1, n=9)  = 13
</span></span><span class="line"><span class="cl">C(voto=0, n=3)  = 6</span></span></code></pre></div></div><div class="hextra-code-copy-btn-container hx:opacity-0 hx:transition hx:group-hover/code:opacity-100 hx:flex hx:gap-1 hx:absolute hx:m-[11px] hx:right-0 hx:top-0">
  <button
    class="hextra-code-copy-btn hx:group/copybtn hx:cursor-pointer hx:transition-all hx:active:opacity-50 hx:bg-primary-700/5 hx:border hx:border-black/5 hx:text-gray-600 hx:hover:text-gray-900 hx:rounded-md hx:p-1.5 hx:dark:bg-primary-300/10 hx:dark:border-white/10 hx:dark:text-gray-400 hx:dark:hover:text-gray-50"
    title="Copy code"
  >
    <div class="hextra-copy-icon hx:group-[.copied]/copybtn:hidden hx:pointer-events-none hx:h-4 hx:w-4"></div>
<div class="hextra-success-icon hx:hidden hx:group-[.copied]/copybtn:block hx:pointer-events-none hx:h-4 hx:w-4"></div>
  </button>
</div>
</div>
<p>Same vote, different nonces, completely different commitments. Now the part that matters. Pedersen has a property called <strong>perfect hiding</strong>: for any commitment <code>C</code>, there <strong>exists</strong> a nonce that opens <code>C</code> as vote 0, and there <strong>exists</strong> a nonce that opens <code>C</code> as vote 1. With our toy prime we can prove it by brute force:</p>
<div class="hextra-code-block hx:relative hx:mt-6 hx:first:mt-0 hx:group/code">

<div><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="n">C</span> <span class="o">=</span> <span class="mi">1</span>  <span class="c1"># the commitment from above, C(vote=1, n=3)</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="k">for</span> <span class="n">n</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">11</span><span class="p">):</span>
</span></span><span class="line"><span class="cl">    <span class="k">if</span> <span class="n">pedersen</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="n">n</span><span class="p">)</span> <span class="o">==</span> <span class="n">C</span><span class="p">:</span>
</span></span><span class="line"><span class="cl">        <span class="nb">print</span><span class="p">(</span><span class="sa">f</span><span class="s2">&#34;C abre como voto=0 com nonce </span><span class="si">{</span><span class="n">n</span><span class="si">}</span><span class="s2">&#34;</span><span class="p">)</span>
</span></span><span class="line"><span class="cl">    <span class="k">if</span> <span class="n">pedersen</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="n">n</span><span class="p">)</span> <span class="o">==</span> <span class="n">C</span><span class="p">:</span>
</span></span><span class="line"><span class="cl">        <span class="nb">print</span><span class="p">(</span><span class="sa">f</span><span class="s2">&#34;C abre como voto=1 com nonce </span><span class="si">{</span><span class="n">n</span><span class="si">}</span><span class="s2">&#34;</span><span class="p">)</span></span></span></code></pre></div></div><div class="hextra-code-copy-btn-container hx:opacity-0 hx:transition hx:group-hover/code:opacity-100 hx:flex hx:gap-1 hx:absolute hx:m-[11px] hx:right-0 hx:top-0">
  <button
    class="hextra-code-copy-btn hx:group/copybtn hx:cursor-pointer hx:transition-all hx:active:opacity-50 hx:bg-primary-700/5 hx:border hx:border-black/5 hx:text-gray-600 hx:hover:text-gray-900 hx:rounded-md hx:p-1.5 hx:dark:bg-primary-300/10 hx:dark:border-white/10 hx:dark:text-gray-400 hx:dark:hover:text-gray-50"
    title="Copy code"
  >
    <div class="hextra-copy-icon hx:group-[.copied]/copybtn:hidden hx:pointer-events-none hx:h-4 hx:w-4"></div>
<div class="hextra-success-icon hx:hidden hx:group-[.copied]/copybtn:block hx:pointer-events-none hx:h-4 hx:w-4"></div>
  </button>
</div>
</div>
<div class="hextra-code-block hx:relative hx:mt-6 hx:first:mt-0 hx:group/code">

<div><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-text" data-lang="text"><span class="line"><span class="cl">C=1 abre como voto=0 com nonce 0
</span></span><span class="line"><span class="cl">C=1 abre como voto=1 com nonce 3</span></span></code></pre></div></div><div class="hextra-code-copy-btn-container hx:opacity-0 hx:transition hx:group-hover/code:opacity-100 hx:flex hx:gap-1 hx:absolute hx:m-[11px] hx:right-0 hx:top-0">
  <button
    class="hextra-code-copy-btn hx:group/copybtn hx:cursor-pointer hx:transition-all hx:active:opacity-50 hx:bg-primary-700/5 hx:border hx:border-black/5 hx:text-gray-600 hx:hover:text-gray-900 hx:rounded-md hx:p-1.5 hx:dark:bg-primary-300/10 hx:dark:border-white/10 hx:dark:text-gray-400 hx:dark:hover:text-gray-50"
    title="Copy code"
  >
    <div class="hextra-copy-icon hx:group-[.copied]/copybtn:hidden hx:pointer-events-none hx:h-4 hx:w-4"></div>
<div class="hextra-success-icon hx:hidden hx:group-[.copied]/copybtn:block hx:pointer-events-none hx:h-4 hx:w-4"></div>
  </button>
</div>
</div>
<p>Read that again, because this is the heart of the article. The commitment <code>C = 1</code> is consistent with <strong>both stories</strong>. Anyone who sees only <code>C</code> has no way to know which one is true — not by brute force, not with a quantum computer, because both openings exist mathematically. The value <code>C</code> simply does not contain the vote&rsquo;s information.</p>
<p>&ldquo;Hold on,&rdquo; you say, &ldquo;so the voter can change their vote afterwards?&rdquo; No, and that&rsquo;s the other half of the property: the commitment is <strong>computationally binding</strong>. Whoever generated the commitment with <code>(vote=1, n=3)</code> can only reveal the other opening (<code>vote=0, n=0</code>) if they can compute a discrete logarithm — that is, find <code>x</code> such that <code>g^x = h mod p</code>. With <code>p = 23</code> that&rsquo;s trivial; with 2048 bits, it&rsquo;s computationally impossible. To sum up:</p>
<ul>
<li><strong>Outsiders</strong> can&rsquo;t discover the vote (hiding).</li>
<li><strong>Whoever committed</strong> can&rsquo;t change the vote afterwards (binding).</li>
</ul>
<p>And the final detail that kills the halter vote: <strong>the machine generates the nonce, not the voter.</strong> The voter sees their choice on the screen, the machine makes the commitment internally, discards the nonce, and prints only the <code>C</code> — the serial. The voter leaves the booth with no way to open their own commitment, even if they want to.</p>
<p>(One implementation detail I&rsquo;ll simplify from here on: Pedersen hides so well that <strong>nobody</strong> can decrypt it — not even the authorities at tally time. In practice, the machine also publishes an ElGamal ciphertext of the same vote: just as opaque to any outsider, but decryptable by the authorities at the tally, with a ZK proof that both carry the same vote. Our toy Pedersen plays both roles in this article, to keep the math on small numbers.)</p>
<h2>Building block 3: the Merkle tree — a ballot box anyone can audit<span class="hx:absolute hx:-mt-20" id="building-block-3-the-merkle-tree--a-ballot-box-anyone-can-audit"></span>
    <a href="#building-block-3-the-merkle-tree--a-ballot-box-anyone-can-audit" class="subheading-anchor" aria-label="Permalink for this section"></a></h2><p>Where do these commitments live? In a public structure anyone can download and verify: a Merkle tree. If you watched my video on <a href="/2023/11/10/akitando-147-criptografia-na-pratica-certificados-bittorrent-git-bitcoin/">cryptography in practice — certificates, BitTorrent, Git, Bitcoin</a>, you&rsquo;ve seen this structure in action: it&rsquo;s the same one that scales BitTorrent, organizes Git commits, and packs the transactions of a Bitcoin block.</p>
<p>The construction is simple: each leaf is the hash of a vote (one voter&rsquo;s commitment <code>C</code>), and each internal node is the hash of the concatenation of its two children, until a single hash remains at the top: the <strong>root</strong>.</p>
<div class="hextra-code-block hx:relative hx:mt-6 hx:first:mt-0 hx:group/code">

<div><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="k">def</span> <span class="nf">H</span><span class="p">(</span><span class="n">x</span><span class="p">):</span>
</span></span><span class="line"><span class="cl">    <span class="k">return</span> <span class="n">hashlib</span><span class="o">.</span><span class="n">sha256</span><span class="p">(</span><span class="n">x</span><span class="o">.</span><span class="n">encode</span><span class="p">())</span><span class="o">.</span><span class="n">hexdigest</span><span class="p">()</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="n">eleitores</span> <span class="o">=</span> <span class="p">[(</span><span class="mi">1</span><span class="p">,</span> <span class="mi">3</span><span class="p">),</span> <span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="mi">7</span><span class="p">),</span> <span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="mi">2</span><span class="p">),</span> <span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="mi">10</span><span class="p">),</span> <span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="mi">5</span><span class="p">),</span> <span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="mi">1</span><span class="p">),</span> <span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="mi">8</span><span class="p">),</span> <span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="mi">4</span><span class="p">)]</span>
</span></span><span class="line"><span class="cl"><span class="n">leaves</span> <span class="o">=</span> <span class="p">[</span><span class="n">H</span><span class="p">(</span><span class="sa">f</span><span class="s2">&#34;</span><span class="si">{</span><span class="n">i</span><span class="si">}</span><span class="s2">:</span><span class="si">{</span><span class="n">pedersen</span><span class="p">(</span><span class="n">v</span><span class="p">,</span> <span class="n">n</span><span class="p">)</span><span class="si">}</span><span class="s2">&#34;</span><span class="p">)</span> <span class="k">for</span> <span class="n">i</span><span class="p">,</span> <span class="p">(</span><span class="n">v</span><span class="p">,</span> <span class="n">n</span><span class="p">)</span> <span class="ow">in</span> <span class="nb">enumerate</span><span class="p">(</span><span class="n">eleitores</span><span class="p">)]</span></span></span></code></pre></div></div><div class="hextra-code-copy-btn-container hx:opacity-0 hx:transition hx:group-hover/code:opacity-100 hx:flex hx:gap-1 hx:absolute hx:m-[11px] hx:right-0 hx:top-0">
  <button
    class="hextra-code-copy-btn hx:group/copybtn hx:cursor-pointer hx:transition-all hx:active:opacity-50 hx:bg-primary-700/5 hx:border hx:border-black/5 hx:text-gray-600 hx:hover:text-gray-900 hx:rounded-md hx:p-1.5 hx:dark:bg-primary-300/10 hx:dark:border-white/10 hx:dark:text-gray-400 hx:dark:hover:text-gray-50"
    title="Copy code"
  >
    <div class="hextra-copy-icon hx:group-[.copied]/copybtn:hidden hx:pointer-events-none hx:h-4 hx:w-4"></div>
<div class="hextra-success-icon hx:hidden hx:group-[.copied]/copybtn:block hx:pointer-events-none hx:h-4 hx:w-4"></div>
  </button>
</div>
</div>
<p>With the 8 example votes, the leaves look like this (hashes abbreviated):</p>
<div class="hextra-code-block hx:relative hx:mt-6 hx:first:mt-0 hx:group/code">

<div><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-text" data-lang="text"><span class="line"><span class="cl">eleitor 0: voto=1 nonce=3  -&gt; C=1  -&gt; folha=ef134f2a180ba05d...
</span></span><span class="line"><span class="cl">eleitor 1: voto=0 nonce=7  -&gt; C=12 -&gt; folha=ce356d2f943ea5af...
</span></span><span class="line"><span class="cl">eleitor 2: voto=1 nonce=2  -&gt; C=3  -&gt; folha=8e0375adfc1f4563...
</span></span><span class="line"><span class="cl">eleitor 3: voto=1 nonce=10 -&gt; C=12 -&gt; folha=df284a49f837c454...
</span></span><span class="line"><span class="cl">eleitor 4: voto=0 nonce=5  -&gt; C=16 -&gt; folha=fd6df9e3530cb74f...
</span></span><span class="line"><span class="cl">eleitor 5: voto=1 nonce=1  -&gt; C=9  -&gt; folha=e0e9d38f9ccb7a41...
</span></span><span class="line"><span class="cl">eleitor 6: voto=0 nonce=8  -&gt; C=4  -&gt; folha=e719f7fde83fafda...
</span></span><span class="line"><span class="cl">eleitor 7: voto=1 nonce=4  -&gt; C=8  -&gt; folha=1393ac80e69a8991...
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">RAIZ PUBLICA: 48826b6481b574e37156f85e34d877105bc55073fb5a5b981239572a8e7c4b61</span></span></code></pre></div></div><div class="hextra-code-copy-btn-container hx:opacity-0 hx:transition hx:group-hover/code:opacity-100 hx:flex hx:gap-1 hx:absolute hx:m-[11px] hx:right-0 hx:top-0">
  <button
    class="hextra-code-copy-btn hx:group/copybtn hx:cursor-pointer hx:transition-all hx:active:opacity-50 hx:bg-primary-700/5 hx:border hx:border-black/5 hx:text-gray-600 hx:hover:text-gray-900 hx:rounded-md hx:p-1.5 hx:dark:bg-primary-300/10 hx:dark:border-white/10 hx:dark:text-gray-400 hx:dark:hover:text-gray-50"
    title="Copy code"
  >
    <div class="hextra-copy-icon hx:group-[.copied]/copybtn:hidden hx:pointer-events-none hx:h-4 hx:w-4"></div>
<div class="hextra-success-icon hx:hidden hx:group-[.copied]/copybtn:block hx:pointer-events-none hx:h-4 hx:w-4"></div>
  </button>
</div>
</div>
<p>(The votes and nonces in the table are shown in the clear only so you can check the math; the public tree holds only the leaves — opaque hashes.)</p>
<p>The root is the &ldquo;summary&rdquo; of the whole election: 32 bytes representing every vote. If <strong>a single bit</strong> of a single vote changes, the root changes completely. The root and the entire tree get published. Any citizen, at home, with open-source code, rebuilds the tree and checks whether the published root matches. That&rsquo;s <strong>universal verifiability</strong>.</p>
<p>Now the individual part. Suppose you&rsquo;re voter 4. Your receipt is the serial — the leaf <code>fd6df9e3530cb74f1f0795b751a43454cab281a431d0558b413e33bba83a4100</code>, which is the hash of your commitment <code>C = 16</code> at position 4 in the tree. To prove it&rsquo;s in the tree, you don&rsquo;t need to download and check all 8 votes — you need only <code>log2(8) = 3</code> hashes, the path of &ldquo;siblings&rdquo; up to the root:</p>
<div class="hextra-code-block hx:relative hx:mt-6 hx:first:mt-0 hx:group/code">

<div><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="k">def</span> <span class="nf">merkle_verify</span><span class="p">(</span><span class="n">leaf</span><span class="p">,</span> <span class="n">proof</span><span class="p">,</span> <span class="n">root</span><span class="p">):</span>
</span></span><span class="line"><span class="cl">    <span class="n">cur</span> <span class="o">=</span> <span class="n">leaf</span>
</span></span><span class="line"><span class="cl">    <span class="k">for</span> <span class="n">h_</span><span class="p">,</span> <span class="n">side</span> <span class="ow">in</span> <span class="n">proof</span><span class="p">:</span>
</span></span><span class="line"><span class="cl">        <span class="n">cur</span> <span class="o">=</span> <span class="n">H</span><span class="p">(</span><span class="n">h_</span> <span class="o">+</span> <span class="n">cur</span><span class="p">)</span> <span class="k">if</span> <span class="n">side</span> <span class="o">==</span> <span class="s2">&#34;esq&#34;</span> <span class="k">else</span> <span class="n">H</span><span class="p">(</span><span class="n">cur</span> <span class="o">+</span> <span class="n">h_</span><span class="p">)</span>
</span></span><span class="line"><span class="cl">    <span class="k">return</span> <span class="n">cur</span> <span class="o">==</span> <span class="n">root</span></span></span></code></pre></div></div><div class="hextra-code-copy-btn-container hx:opacity-0 hx:transition hx:group-hover/code:opacity-100 hx:flex hx:gap-1 hx:absolute hx:m-[11px] hx:right-0 hx:top-0">
  <button
    class="hextra-code-copy-btn hx:group/copybtn hx:cursor-pointer hx:transition-all hx:active:opacity-50 hx:bg-primary-700/5 hx:border hx:border-black/5 hx:text-gray-600 hx:hover:text-gray-900 hx:rounded-md hx:p-1.5 hx:dark:bg-primary-300/10 hx:dark:border-white/10 hx:dark:text-gray-400 hx:dark:hover:text-gray-50"
    title="Copy code"
  >
    <div class="hextra-copy-icon hx:group-[.copied]/copybtn:hidden hx:pointer-events-none hx:h-4 hx:w-4"></div>
<div class="hextra-success-icon hx:hidden hx:group-[.copied]/copybtn:block hx:pointer-events-none hx:h-4 hx:w-4"></div>
  </button>
</div>
</div>
<div class="hextra-code-block hx:relative hx:mt-6 hx:first:mt-0 hx:group/code">

<div><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-text" data-lang="text"><span class="line"><span class="cl">prova do eleitor 4:
</span></span><span class="line"><span class="cl">  (dir) e0e9d38f9ccb7a41...  (irmão: folha do eleitor 5)
</span></span><span class="line"><span class="cl">  (dir) 3149c3bf17d98fbc...  (irmão: nó dos eleitores 6-7)
</span></span><span class="line"><span class="cl">  (esq) 3b902c849a40619b...  (irmão: nó dos eleitores 0-3)
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">verificação local: True
</span></span><span class="line"><span class="cl">tentando folha adulterada: False</span></span></code></pre></div></div><div class="hextra-code-copy-btn-container hx:opacity-0 hx:transition hx:group-hover/code:opacity-100 hx:flex hx:gap-1 hx:absolute hx:m-[11px] hx:right-0 hx:top-0">
  <button
    class="hextra-code-copy-btn hx:group/copybtn hx:cursor-pointer hx:transition-all hx:active:opacity-50 hx:bg-primary-700/5 hx:border hx:border-black/5 hx:text-gray-600 hx:hover:text-gray-900 hx:rounded-md hx:p-1.5 hx:dark:bg-primary-300/10 hx:dark:border-white/10 hx:dark:text-gray-400 hx:dark:hover:text-gray-50"
    title="Copy code"
  >
    <div class="hextra-copy-icon hx:group-[.copied]/copybtn:hidden hx:pointer-events-none hx:h-4 hx:w-4"></div>
<div class="hextra-success-icon hx:hidden hx:group-[.copied]/copybtn:block hx:pointer-events-none hx:h-4 hx:w-4"></div>
  </button>
</div>
</div>
<p>You take your serial, concatenate it with the 3 proof hashes in the right order, hash three times, and check whether you land on the public root. If you do, it&rsquo;s <strong>mathematically impossible</strong> for your vote not to be in the tree — because producing a fake proof would require finding a SHA-256 collision, and nobody on the planet knows how to do that. If someone swaps your vote afterwards, your proof stops working and you hold evidence of the fraud in your hand. In a real election with 150 million votes, the proof would be about 28 hashes — fits on a paper receipt or a QR code.</p>
<p>Notice what just happened: you proved that <strong>a piece of information is in the public tree</strong> and that <strong>nobody messed with it</strong>, carrying home only a 32-byte number that, by itself, says absolutely nothing about the content. That&rsquo;s what people mean by &ldquo;zero knowledge&rdquo; in this context: the verification happens without the knowledge (the vote) ever having to travel.</p>
<h2>Building block 4: the Benaloh challenge — checking the machine on the spot<span class="hx:absolute hx:-mt-20" id="building-block-4-the-benaloh-challenge--checking-the-machine-on-the-spot"></span>
    <a href="#building-block-4-the-benaloh-challenge--checking-the-machine-on-the-spot" class="subheading-anchor" aria-label="Permalink for this section"></a></h2><p>There&rsquo;s one blind spot left. The machine shows &ldquo;vote recorded&rdquo; on the screen and prints your serial <code>C</code>. At home, you confirm that <code>C</code> sits in the tree. All good? Not quite. What if the machine <strong>lied</strong> and committed a different vote? The screen shows the candidate you picked, but under the hood it computed the commitment for another one. You would never notice, because the commitment is opaque by design. That&rsquo;s the hiding property working against you.</p>
<p>The classic fix comes from cryptographer Josh Benaloh, and it goes by <strong>Benaloh challenge</strong> (or <em>cast-or-challenge</em>). The idea: after the machine shows the commitment <code>C</code> on screen, but <strong>before</strong> you confirm, you get two options:</p>
<ul>
<li><strong>Cast</strong>: the vote counts, enters the tree, and the nonce is destroyed forever.</li>
<li><strong>Challenge</strong>: you declare that ballot a <strong>test vote</strong>. The machine must reveal the nonce and the vote it put inside the commitment, and you redo the math on the spot — in an independent app, on your own phone, not on the machine&rsquo;s software:</li>
</ul>
<div class="hextra-code-block hx:relative hx:mt-6 hx:first:mt-0 hx:group/code">

<div><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="c1"># the machine showed on screen: C = 1</span>
</span></span><span class="line"><span class="cl"><span class="c1"># you challenged; the machine reveals: vote=1, nonce=3</span>
</span></span><span class="line"><span class="cl"><span class="n">pedersen</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="mi">3</span><span class="p">)</span> <span class="o">==</span> <span class="mi">1</span>   <span class="c1"># True -&gt; the machine committed exactly what you picked</span></span></span></code></pre></div></div><div class="hextra-code-copy-btn-container hx:opacity-0 hx:transition hx:group-hover/code:opacity-100 hx:flex hx:gap-1 hx:absolute hx:m-[11px] hx:right-0 hx:top-0">
  <button
    class="hextra-code-copy-btn hx:group/copybtn hx:cursor-pointer hx:transition-all hx:active:opacity-50 hx:bg-primary-700/5 hx:border hx:border-black/5 hx:text-gray-600 hx:hover:text-gray-900 hx:rounded-md hx:p-1.5 hx:dark:bg-primary-300/10 hx:dark:border-white/10 hx:dark:text-gray-400 hx:dark:hover:text-gray-50"
    title="Copy code"
  >
    <div class="hextra-copy-icon hx:group-[.copied]/copybtn:hidden hx:pointer-events-none hx:h-4 hx:w-4"></div>
<div class="hextra-success-icon hx:hidden hx:group-[.copied]/copybtn:block hx:pointer-events-none hx:h-4 hx:w-4"></div>
  </button>
</div>
</div>
<p>If it matches, the machine was honest <strong>on that ballot</strong>. The test ballot is spoiled and never enters the tally — the revealed nonce would make it readable — and you vote again, for real this time.</p>
<p>Now suppose a rigged machine that flips a fraction of the votes. You pick <code>vote=1</code>; it internally records <code>vote=0</code> and shows <code>C = 12</code> on screen (<code>pedersen(0, 7) = 12</code>). If you <strong>cast</strong>, the fraud sails through. But if you <strong>challenge</strong>, the machine is cornered: it has to reveal a <code>(vote, nonce)</code> pair that opens <code>C = 12</code>. The only one it knows is <code>(0, 7)</code> — and revealing that exposes the swap right in front of you: &ldquo;I voted 1!&rdquo;. Opening it as <code>vote=1</code> would require finding a nonce <code>n</code> with <code>pedersen(1, n) = 12</code>, which is the discrete log problem all over again. With our toy prime a brute force search finds one (<code>n = 10</code> exists), but with 2048-bit primes a cheating machine flat out cannot produce the answer.</p>
<p>And what springs the trap: the machine <strong>cannot know in advance</strong> whether you&rsquo;ll cast or challenge. The decision is yours, made after the commitment is already on screen. If a slice of the electorate tests a few ballots before voting for real, a machine that flips votes at scale gets caught with overwhelming probability. Real verifiable voting systems like Helios and ElectionGuard use exactly this mechanism.</p>
<p>And notice this breaks nobody&rsquo;s secrecy: the revealed nonce belongs to a <strong>spoiled</strong> ballot that doesn&rsquo;t count. The vote that counts keeps its nonce destroyed and its commitment impenetrable.</p>
<h2>Building block 5: a real zero-knowledge proof — Schnorr<span class="hx:absolute hx:-mt-20" id="building-block-5-a-real-zero-knowledge-proof--schnorr"></span>
    <a href="#building-block-5-a-real-zero-knowledge-proof--schnorr" class="subheading-anchor" aria-label="Permalink for this section"></a></h2><p>One more piece is missing. What guarantees that each commitment in the tree contains a <strong>valid vote</strong> — and not, say, <code>vote = 500</code>, which would inflate the result? The machine must prove the commitment opens to a legitimate value <strong>without opening the commitment</strong>. That&rsquo;s a zero-knowledge proof in the strict sense.</p>
<p>The canonical example, and one you can demonstrate with small numbers, is the <strong>Schnorr</strong> protocol: proving you know a secret <code>s</code> such that <code>y = g^s mod p</code>, without revealing <code>s</code>. The intuition before the math: it&rsquo;s Ali Baba&rsquo;s cave. The cave has two passages that meet at a locked door. You prove you have the key by walking in one side and coming out whichever side the verifier calls — without ever showing the key. Without the key, you&rsquo;d only guess the call right by luck, 50% of the time; after 20 rounds, the odds of fooling anyone are below one in a million.</p>
<p>The mathematical version, with our toy numbers (<code>p = 23</code>, <code>g = 4</code>, order <code>q = 11</code>):</p>
<div class="hextra-code-block hx:relative hx:mt-6 hx:first:mt-0 hx:group/code">

<div><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="n">segredo</span> <span class="o">=</span> <span class="mi">7</span>
</span></span><span class="line"><span class="cl"><span class="n">y</span> <span class="o">=</span> <span class="nb">pow</span><span class="p">(</span><span class="n">g</span><span class="p">,</span> <span class="n">segredo</span><span class="p">,</span> <span class="n">p</span><span class="p">)</span>   <span class="c1"># y = 4^7 mod 23 = 8  (public value)</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># 1. commitment: the prover picks a random r and sends t</span>
</span></span><span class="line"><span class="cl"><span class="n">r</span> <span class="o">=</span> <span class="mi">3</span>
</span></span><span class="line"><span class="cl"><span class="n">t</span> <span class="o">=</span> <span class="nb">pow</span><span class="p">(</span><span class="n">g</span><span class="p">,</span> <span class="n">r</span><span class="p">,</span> <span class="n">p</span><span class="p">)</span>          <span class="c1"># t = 4^3 mod 23 = 18</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># 2. challenge: the verifier picks a random c</span>
</span></span><span class="line"><span class="cl"><span class="n">c</span> <span class="o">=</span> <span class="mi">5</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># 3. response: the prover computes z</span>
</span></span><span class="line"><span class="cl"><span class="n">z</span> <span class="o">=</span> <span class="p">(</span><span class="n">r</span> <span class="o">+</span> <span class="n">c</span> <span class="o">*</span> <span class="n">segredo</span><span class="p">)</span> <span class="o">%</span> <span class="n">q</span>  <span class="c1"># z = (3 + 5*7) mod 11 = 5</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># verification: g^z == t * y^c (mod p)</span>
</span></span><span class="line"><span class="cl"><span class="n">esq</span> <span class="o">=</span> <span class="nb">pow</span><span class="p">(</span><span class="n">g</span><span class="p">,</span> <span class="n">z</span><span class="p">,</span> <span class="n">p</span><span class="p">)</span>                 <span class="c1"># 4^5 mod 23 = 12</span>
</span></span><span class="line"><span class="cl"><span class="nb">dir</span> <span class="o">=</span> <span class="p">(</span><span class="n">t</span> <span class="o">*</span> <span class="nb">pow</span><span class="p">(</span><span class="n">y</span><span class="p">,</span> <span class="n">c</span><span class="p">,</span> <span class="n">p</span><span class="p">))</span> <span class="o">%</span> <span class="n">p</span>       <span class="c1"># 18 * 8^5 mod 23 = 12</span>
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="n">esq</span> <span class="o">==</span> <span class="nb">dir</span><span class="p">)</span>                  <span class="c1"># True</span></span></span></code></pre></div></div><div class="hextra-code-copy-btn-container hx:opacity-0 hx:transition hx:group-hover/code:opacity-100 hx:flex hx:gap-1 hx:absolute hx:m-[11px] hx:right-0 hx:top-0">
  <button
    class="hextra-code-copy-btn hx:group/copybtn hx:cursor-pointer hx:transition-all hx:active:opacity-50 hx:bg-primary-700/5 hx:border hx:border-black/5 hx:text-gray-600 hx:hover:text-gray-900 hx:rounded-md hx:p-1.5 hx:dark:bg-primary-300/10 hx:dark:border-white/10 hx:dark:text-gray-400 hx:dark:hover:text-gray-50"
    title="Copy code"
  >
    <div class="hextra-copy-icon hx:group-[.copied]/copybtn:hidden hx:pointer-events-none hx:h-4 hx:w-4"></div>
<div class="hextra-success-icon hx:hidden hx:group-[.copied]/copybtn:block hx:pointer-events-none hx:h-4 hx:w-4"></div>
  </button>
</div>
</div>
<p>It works because <code>g^z = g^(r + c·s) = g^r · (g^s)^c = t · y^c</code>. The algebra checks out. Now observe what the verifier saw: the numbers <code>t</code>, <code>c</code>, <code>z</code>, and the final check. At no point did the secret <code>s = 7</code> show up. And an impostor who doesn&rsquo;t know <code>s</code> can&rsquo;t answer an arbitrary challenge: if they guess <code>z = 2</code>, the verifier computes <code>g^2 = 16 ≠ 12</code> and the fraud is exposed.</p>
<p>And why does the verifier learn <strong>nothing</strong> about <code>s</code>, rather than just &ldquo;not much&rdquo;? Because the whole conversation could have been fabricated by someone who <strong>doesn&rsquo;t know the secret</strong>, in this inverted order:</p>
<div class="hextra-code-block hx:relative hx:mt-6 hx:first:mt-0 hx:group/code">

<div><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="c1"># simulator: pick c and z FIRST, then compute the t that closes the equation</span>
</span></span><span class="line"><span class="cl"><span class="n">c_sim</span><span class="p">,</span> <span class="n">z_sim</span> <span class="o">=</span> <span class="mi">5</span><span class="p">,</span> <span class="mi">9</span>
</span></span><span class="line"><span class="cl"><span class="n">t_sim</span> <span class="o">=</span> <span class="p">(</span><span class="nb">pow</span><span class="p">(</span><span class="n">g</span><span class="p">,</span> <span class="n">z_sim</span><span class="p">,</span> <span class="n">p</span><span class="p">)</span> <span class="o">*</span> <span class="nb">pow</span><span class="p">(</span><span class="n">y</span><span class="p">,</span> <span class="o">-</span><span class="n">c_sim</span> <span class="o">%</span> <span class="n">q</span><span class="p">,</span> <span class="n">p</span><span class="p">))</span> <span class="o">%</span> <span class="n">p</span>  <span class="c1"># t = 8</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># checking the forged transcript:</span>
</span></span><span class="line"><span class="cl"><span class="nb">pow</span><span class="p">(</span><span class="n">g</span><span class="p">,</span> <span class="n">z_sim</span><span class="p">,</span> <span class="n">p</span><span class="p">)</span>              <span class="c1"># 4^9 mod 23 = 13</span>
</span></span><span class="line"><span class="cl"><span class="p">(</span><span class="n">t_sim</span> <span class="o">*</span> <span class="nb">pow</span><span class="p">(</span><span class="n">y</span><span class="p">,</span> <span class="n">c_sim</span><span class="p">,</span> <span class="n">p</span><span class="p">))</span> <span class="o">%</span> <span class="n">p</span>  <span class="c1"># 8 * 8^5 mod 23 = 13  -&gt; it matches!</span></span></span></code></pre></div></div><div class="hextra-code-copy-btn-container hx:opacity-0 hx:transition hx:group-hover/code:opacity-100 hx:flex hx:gap-1 hx:absolute hx:m-[11px] hx:right-0 hx:top-0">
  <button
    class="hextra-code-copy-btn hx:group/copybtn hx:cursor-pointer hx:transition-all hx:active:opacity-50 hx:bg-primary-700/5 hx:border hx:border-black/5 hx:text-gray-600 hx:hover:text-gray-900 hx:rounded-md hx:p-1.5 hx:dark:bg-primary-300/10 hx:dark:border-white/10 hx:dark:text-gray-400 hx:dark:hover:text-gray-50"
    title="Copy code"
  >
    <div class="hextra-copy-icon hx:group-[.copied]/copybtn:hidden hx:pointer-events-none hx:h-4 hx:w-4"></div>
<div class="hextra-success-icon hx:hidden hx:group-[.copied]/copybtn:block hx:pointer-events-none hx:h-4 hx:w-4"></div>
  </button>
</div>
</div>
<p>The forged transcript <code>(t=8, c=5, z=9)</code> passes verification and is <strong>indistinguishable</strong> from a real one. If anyone can fabricate a valid conversation without knowing the secret, then the real conversation cannot contain any information about the secret. That&rsquo;s what &ldquo;zero knowledge&rdquo; formally means. (For use outside a lab, the challenge <code>c</code> is derived by hashing the commitment — the Fiat-Shamir transform — and the proof becomes a single, non-interactive object that anyone verifies offline.)</p>
<p>In our hypothetical election, the machine publishes, alongside each vote, a proof of this kind — in practice, an OR-variant (&ldquo;the vote is 0 <strong>or</strong> it is 1&rdquo;, without saying which) — and any auditor verifies that every vote in the tree is valid, without ever seeing a single one.</p>
<h2>Building block 6: what stops phantom votes?<span class="hx:absolute hx:-mt-20" id="building-block-6-what-stops-phantom-votes"></span>
    <a href="#building-block-6-what-stops-phantom-votes" class="subheading-anchor" aria-label="Permalink for this section"></a></h2><p>One hole is left, and it&rsquo;s a favorite among digital-election skeptics: what stops the authority from <strong>stuffing the tree with invented votes</strong>? Every commitment in the Merkle tree carries a ZK proof that it contains a valid vote — but the proof only guarantees the value is 0 or 1. A thousand phantom votes would be a thousand perfectly valid commitments with perfectly correct proofs. The tree is public, anyone can count the leaves&hellip; but who says there should be 8 and not 8,000?</p>
<p>The first answer is replication. The tree follows the transparency-log model — the same Certificate Transparency that protects the HTTPS certificates you use all day: one publisher writes, and dozens of independent observers (parties, the bar association, universities, the press, you) copy the tree, sign the root, and cross-check each other. Rewriting history would mean convincing all of them to accept a root different from the one they already signed.</p>
<p>That protects what&rsquo;s already published. But <strong>creating</strong> phantom votes? That&rsquo;s where the most elegant piece of all comes in, from the same David Chaum who invented digital cash and mix-nets: the <strong>blind signature</strong> (1982).</p>
<p>The flow: you authenticate at the registration desk like today — ID, biometrics. In the booth, the machine computes your commitment (Building block 2), but before publishing it needs a credential from the desk. The machine <strong>blinds</strong> the commitment with a random factor and sends the desk only the blinded value — and here being online is no problem at all, as we saw in the air-gap section. The desk, which already registered your authentication, signs exactly once, without seeing the content. The machine unblinds the signature and publishes the pair <code>(commitment, signature)</code>. In the end, the desk has no idea which commitment it signed — so it cannot link your identity to your vote. With toy RSA, you can watch the magic happen:</p>
<div class="hextra-code-block hx:relative hx:mt-6 hx:first:mt-0 hx:group/code">

<div><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="c1"># the desk&#39;s toy RSA: n=3233, e=17 (public), d=2753 (private)</span>
</span></span><span class="line"><span class="cl"><span class="n">n</span><span class="p">,</span> <span class="n">e</span><span class="p">,</span> <span class="n">d</span> <span class="o">=</span> <span class="mi">3233</span><span class="p">,</span> <span class="mi">17</span><span class="p">,</span> <span class="mi">2753</span>
</span></span><span class="line"><span class="cl"><span class="n">C</span> <span class="o">=</span> <span class="mi">16</span>        <span class="c1"># your Pedersen commitment, the same one from Building block 3</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># 1. the machine blinds the commitment with a random factor r</span>
</span></span><span class="line"><span class="cl"><span class="n">r</span> <span class="o">=</span> <span class="mi">7</span>
</span></span><span class="line"><span class="cl"><span class="n">cego</span> <span class="o">=</span> <span class="p">(</span><span class="n">C</span> <span class="o">*</span> <span class="nb">pow</span><span class="p">(</span><span class="n">r</span><span class="p">,</span> <span class="n">e</span><span class="p">,</span> <span class="n">n</span><span class="p">))</span> <span class="o">%</span> <span class="n">n</span>       <span class="c1"># 2341 -&gt; this is all the desk sees</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># 2. the desk, which already logged your authentication, signs the BLIND value</span>
</span></span><span class="line"><span class="cl"><span class="n">ass_cego</span> <span class="o">=</span> <span class="nb">pow</span><span class="p">(</span><span class="n">cego</span><span class="p">,</span> <span class="n">d</span><span class="p">,</span> <span class="n">n</span><span class="p">)</span> <span class="o">%</span> <span class="n">n</span>      <span class="c1"># 216</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># 3. the machine removes the blind factor and publishes (C, s) to the tree</span>
</span></span><span class="line"><span class="cl"><span class="n">s</span> <span class="o">=</span> <span class="p">(</span><span class="n">ass_cego</span> <span class="o">*</span> <span class="nb">pow</span><span class="p">(</span><span class="n">r</span><span class="p">,</span> <span class="o">-</span><span class="mi">1</span><span class="p">,</span> <span class="n">n</span><span class="p">))</span> <span class="o">%</span> <span class="n">n</span>  <span class="c1"># 2802</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># any auditor checks: s^e mod n == C ?</span>
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="nb">pow</span><span class="p">(</span><span class="n">s</span><span class="p">,</span> <span class="n">e</span><span class="p">,</span> <span class="n">n</span><span class="p">))</span>   <span class="c1"># 16 -&gt; the commitment, with a valid signature!</span></span></span></code></pre></div></div><div class="hextra-code-copy-btn-container hx:opacity-0 hx:transition hx:group-hover/code:opacity-100 hx:flex hx:gap-1 hx:absolute hx:m-[11px] hx:right-0 hx:top-0">
  <button
    class="hextra-code-copy-btn hx:group/copybtn hx:cursor-pointer hx:transition-all hx:active:opacity-50 hx:bg-primary-700/5 hx:border hx:border-black/5 hx:text-gray-600 hx:hover:text-gray-900 hx:rounded-md hx:p-1.5 hx:dark:bg-primary-300/10 hx:dark:border-white/10 hx:dark:text-gray-400 hx:dark:hover:text-gray-50"
    title="Copy code"
  >
    <div class="hextra-copy-icon hx:group-[.copied]/copybtn:hidden hx:pointer-events-none hx:h-4 hx:w-4"></div>
<div class="hextra-success-icon hx:hidden hx:group-[.copied]/copybtn:block hx:pointer-events-none hx:h-4 hx:w-4"></div>
  </button>
</div>
</div>
<p>Notice: the desk only saw the number 2341, which to them is noise. They signed 216 without knowing they were signing your <code>C = 16</code>. Yet the pair <code>(C, s)</code> passes any auditor&rsquo;s verification. It&rsquo;s a regular digital signature — <code>s</code> is exactly <code>C^d mod n</code> — just produced without the signer ever seeing the document. It looks like a magic trick, but it&rsquo;s plain RSA algebra: blinding multiplies by <code>r^e</code>; signing raises everything to <code>d</code>, and since <code>e·d ≡ 1</code>, what&rsquo;s left is <code>C^d · r</code>; unblinding divides by <code>r</code>, leaving <code>C^d</code>.</p>
<p>Now assemble the full picture: <strong>a leaf only enters the tree carrying two things — the ZK validity proof (Building block 5) and a credential signed by the desk (Building block 6).</strong> The desk issues one credential per authentication, and authentication is a public event: there&rsquo;s a line at the precinct, poll workers, party watchers, the biometric log, the per-precinct attendance count published every election. At the end of the day, the equation anyone can check is:</p>
<p><strong>number of leaves in the tree == number of authenticated voters.</strong></p>
<p>A phantom vote is a leaf without a credential (doesn&rsquo;t get in) or a credential without a voter (inflates the count and shows). Removing a legitimate vote breaks the receipt&rsquo;s inclusion proof (Building block 3). Altering a published vote breaks the hashes on the observers&rsquo; copies. Stealing credentials would mean fooling the biometrics in front of watchers. Every fraud path hits a different wall — and every wall is checkable by anyone, from home.</p>
<h2>The weakest link: who proves you are you?<span class="hx:absolute hx:-mt-20" id="the-weakest-link-who-proves-you-are-you"></span>
    <a href="#the-weakest-link-who-proves-you-are-you" class="subheading-anchor" aria-label="Permalink for this section"></a></h2><p>Everything before this section is math. But there&rsquo;s one door no math can lock: authentication. No algorithm proves the human standing in front of you is who they claim to be. That is, honestly, the weakest link in the entire system — and it&rsquo;s worth facing head-on.</p>
<p>And here Brazil simplifies the problem, because it already paid the expensive part: the voter biometric registry exists and covers over 80% of the electorate — more than 124 million people, <a href="https://www.tse.jus.br/comunicacao/noticias/2024/Fevereiro/eleitores-sem-cadastro-biometrico-podem-votar-normalmente"target="_blank" rel="noopener">per the electoral court</a>. National deduplication already ran: one finger exists only once in the roll, no matter how many forged documents back it up. And fingerprints already release the vote at the precinct — in 2026, in <a href="https://www.tre-mg.jus.br/comunicacao/noticias/2026/Julho/manual-do-eleitor-entenda-como-vai-funcionar-a-biometria-nas-eleicoes-2026"target="_blank" rel="noopener">every precinct in the country</a>. For this article&rsquo;s hypothetical system, biometric authentication is free: reuse what&rsquo;s already standing.</p>
<p>Of course, that registry existing is itself the privacy bet: biometrics are irrevocable data — you can change a password, not your fingerprints. Aadhaar, India&rsquo;s biometric registry, had incidents exposing data on over a billion people; the OPM, the US government&rsquo;s HR office, lost 5.6 million fingerprints in a single 2015 breach. A national biometric database is a single point of catastrophic, permanent failure — and Brazil already made that bet. The hypothetical system doesn&rsquo;t make it worse; it just inherits it.</p>
<p>For anyone outside the biometric registry, the precinct falls back to the photo ID — and cards get forged. They probably get forged today. But notice what the architecture does to that problem: one forged authentication mints <strong>one</strong> credential, which yields <strong>one</strong> leaf in the tree. To fraud at scale, the criminal needs flesh-and-blood people showing up in person, in front of poll workers and watchers, once per fake vote. That&rsquo;s retail fraud: expensive, visible, slow. A thousand fake votes require a thousand bodies — and then it&rsquo;s not silent digital fraud anymore, it&rsquo;s chartered-bus logistics everyone sees rolling by. The system doesn&rsquo;t prevent forgery; it <strong>caps the damage per forgery at exactly one vote</strong> and pushes the cost into the physical world.</p>
<p>And anomalies surface: the equation from Building block 6 — leaves == authentications — can be checked precinct by precinct. A precinct with 400 registered voters and 420 authentications raises eyebrows. Regional turnout above 100% raises eyebrows. And if paranoia runs high, the desk&rsquo;s signing key can be fragmented like the election key, requiring a quorum to issue credentials.</p>
<p>The honest summary: the link stays physical and human — a human proving, once, in public, that they&rsquo;re on the roll — and no system, however perfect, eliminates it. The best possible design does two things with it: shrinks the trust surface down to that single event and makes its failures <strong>visible</strong> instead of silent. With biometrics valid at every precinct in 2026, identity forgery becomes the most expensive, least scalable path of all — which is exactly where a well-designed system wants it. There&rsquo;s no free lunch, and pretending there is one is the kind of pitch this whole article refuses to make.</p>
<h2>Putting it all together: the full protocol<span class="hx:absolute hx:-mt-20" id="putting-it-all-together-the-full-protocol"></span>
    <a href="#putting-it-all-together-the-full-protocol" class="subheading-anchor" aria-label="Permalink for this section"></a></h2><p>The hypothetically perfect election would go like this:</p>
<ol>
<li><strong>Setup.</strong> A group of independent authorities (the electoral court, the bar association, parties, civil society) jointly generates the election&rsquo;s public key. The corresponding private key stays fragmented: no single authority can decrypt anything; only a majority acting together can.</li>
<li><strong>Authentication.</strong> The voter identifies at the registration desk — ID, biometrics, like today — and the desk logs the authentication. This authorizes the issuance of <strong>one</strong> credential: the blind signature on a commitment, without the desk seeing the content. No link between identity and vote.</li>
<li><strong>Voting.</strong> The voter picks the candidate on the screen. The machine generates a random nonce, computes the Pedersen commitment and the ElGamal ciphertext of the same vote (the commitment becomes the receipt&rsquo;s serial; the ciphertext is what gets tallied), produces the ZK validity proof, and shows the commitment on screen. The voter then decides: cast, and the nonce is destroyed — or challenge, and the machine reveals the nonce for an on-the-spot check, the ballot is spoiled, and they vote again. Once cast, the machine blinds the commitment, the desk signs it sight unseen, and the machine unblinds the signature.</li>
<li><strong>Publication.</strong> The commitment goes into a public Merkle tree, together with the ZK proof and the credential — replicated and signed by multiple independent observers. No credential, no entry.</li>
<li><strong>Receipt.</strong> The voter takes home a slip of paper with the serial. They <strong>cannot</strong> prove to anyone who they voted for — even if they want to, because they don&rsquo;t have the nonce.</li>
<li><strong>Individual verification.</strong> At home, the voter downloads the tree (or uses any independent website) and checks their serial is there, with the inclusion proof. If it isn&rsquo;t, they hold material proof of fraud.</li>
<li><strong>Universal verification.</strong> Any citizen, university, or party rebuilds the entire tree, checks the root, validates every ZK proof and credential, and confirms the leaf count matches the published per-precinct authentication totals.</li>
<li><strong>Tallying.</strong> In the end, the encrypted votes go through a mix-net (they get re-shuffled and re-encrypted, severing the link to their original positions) and the authorities decrypt jointly, proving each step. The total matches the public root, or the fraud is evident.</li>
</ol>
<p>Notice what changed relative to the current system: <strong>you no longer need to trust the electoral court, the voting machine, or any auditor.</strong> Every property is individually verifiable by anyone with a computer. It&rsquo;s the same principle that lets Bitcoin work without a central bank: don&rsquo;t trust, verify.</p>
<p>Before anyone gets too excited: this is a simplification. A real system still has to solve anonymous credentials more robust than our toy blind signature, tree availability, and a pile of operational details. The point here is not the complete design; it&rsquo;s the core mechanism.</p>
<h2>Why this would never work<span class="hx:absolute hx:-mt-20" id="why-this-would-never-work"></span>
    <a href="#why-this-would-never-work" class="subheading-anchor" aria-label="Permalink for this section"></a></h2><p>Now for the part almost nobody proposing these systems wants to hear.</p>
<p>Scroll back to the beginning of this article and notice what I had to explain to get here: hash functions, commitments, modular arithmetic, discrete logarithms, Merkle trees, the Benaloh challenge, blind signatures, zero-knowledge proofs, simulators. With code, with numbers, with step-by-step examples. And even so, I&rsquo;d bet a good share of readers — programmers included — made it here without full certainty that they truly understand why the scheme is secure.</p>
<p>And that&rsquo;s not for lack of intelligence. It&rsquo;s because trusting this system requires understanding math that the vast majority of the population will never understand. The only human being who can be <strong>100% certain</strong> this system is correct is the one who can verify the mathematical proofs on their own. Everyone else — 99.9% of the population — wouldn&rsquo;t be <em>verifying</em> anything. They&rsquo;d be <strong>believing</strong> the mathematician who says it works.</p>
<p>And here we hit the fatal contradiction: if an electoral system requires the ordinary citizen to blindly believe a specialist they can&rsquo;t audit, it is <strong>exactly as opaque as the TSE&rsquo;s current system</strong>. The opacity just moved address: instead of trusting the court bureaucrat, you trust the cryptographer. For dona Maria, who sells pastel at the street market, it&rsquo;s all the same — both are &ldquo;a bunch of mumbo-jumbo I don&rsquo;t understand&rdquo;. And a system the population cannot understand is a system whose legitimacy it will never accept. Today&rsquo;s skeptic saying &ldquo;I don&rsquo;t trust the voting machine&rdquo; would become tomorrow&rsquo;s skeptic saying &ldquo;I don&rsquo;t trust this algebra&rdquo;.</p>
<p>An election is not only an engineering problem; it&rsquo;s a <strong>social trust</strong> problem. The gold standard of transparency is the system <strong>anyone can watch with their own eyes</strong>: paper ballot, glass ballot box, public counting at the precinct, the tally posted on the door. Anyone understands paper being counted in public. Nobody has to believe anybody.</p>
<p>That&rsquo;s why countries far richer and more technological than Brazil — Germany, the Netherlands, France, most of the US — stick with paper or demand an auditable paper trail. That&rsquo;s not backwardness. It&rsquo;s the recognition that verifiability only specialists understand is not public verifiability.</p>
<h2>Sidebar: what cryptocurrencies prove every day<span class="hx:absolute hx:-mt-20" id="sidebar-what-cryptocurrencies-prove-every-day"></span>
    <a href="#sidebar-what-cryptocurrencies-prove-every-day" class="subheading-anchor" aria-label="Permalink for this section"></a></h2><p>Before wrapping up, a detour to answer the question that always comes up: &ldquo;but does this actually work, or is it napkin theory?&rdquo; It works. And the proof has been running for almost two decades, moving billions of dollars, under constant attack: blockchains.</p>
<p>First, clearing up a misunderstanding: <strong>blockchain is not synonymous with cryptocurrency.</strong> As the name says, it&rsquo;s just a chain of blocks. Each block carries a Merkle tree of records and the previous block&rsquo;s hash. In Bitcoin, the block header holds the transaction tree&rsquo;s root, the previous block&rsquo;s hash, a timestamp, and a nonce — here, a mining counter — that miners vary until the hash of the entire block falls below the difficulty target: the famous proof of work. It&rsquo;s Building block 3 of this article, extended through time: not one tree, but a chain of trees, each sealing the one before.</p>
<p>The practical result is the guarantee that matters here: tamper with <strong>one transaction</strong> in an old block and the tree&rsquo;s root changes, the block&rsquo;s hash changes, the link to the next block breaks, and to hide that you&rsquo;d need to redo the proof of work of every block up to today — while thousands of honest nodes keep extending the true chain. Once everything is signed and sealed by hash, rewriting the past is computationally impossible. That&rsquo;s exactly why Bitcoin can be 100% public: the exposure itself is the protection. Everyone has a copy of everything, so nobody rewrites history.</p>
<p><strong>But public does not mean anonymous.</strong> That&rsquo;s the part most people get wrong. In Bitcoin, every transaction stays visible forever: which addresses fed it, which received, how much moved. Addresses are pseudonyms — pen names, not anonymity. And there&rsquo;s an entire chain-analysis industry (Chainalysis, Elliptic, TRM) making a living gluing identities to those pen names:</p>
<ul>
<li><strong>Common-input heuristic:</strong> if a transaction spends coins from several addresses, they almost certainly belong to the same wallet. Group them into a cluster.</li>
<li><strong>Change detection:</strong> the output that returns to a fresh address usually belongs to the payer.</li>
<li><strong>Bridge to the real world:</strong> when a cluster&rsquo;s address touches a KYC exchange, a name and a tax ID attach to the whole cluster — and to its complete history, retroactively.</li>
</ul>
<p>That&rsquo;s how the FBI recovered part of the Colonial Pipeline ransom, that&rsquo;s how the Silk Road coins were traced years later, and that&rsquo;s how the ~1,128 BTC stolen from ColdCards are still sitting in known addresses half the world is watching — I detailed it in the <a href="/en/2026/08/01/exploiting-coinkites-rng-egregious-problem/">article about Coinkite&rsquo;s RNG</a>. If the thief moves a single satoshi to a KYC exchange, they identify themselves. The chain guarantees integrity, not secrecy.</p>
<p>For real anonymity, the chain alone doesn&rsquo;t cut it: you need zero-knowledge proofs. Monero, for instance, combines three techniques:</p>
<ol>
<li><strong>Ring signatures:</strong> each spend is signed on behalf of a group of possible keys. The signature proves <strong>one of them</strong> authorized it, without revealing which.</li>
<li><strong>Stealth addresses:</strong> the recipient&rsquo;s address never appears on the chain; each payment creates a disposable address derived from a shared secret.</li>
<li><strong>RingCT</strong> (<em>confidential transactions</em>): amounts stay hidden inside <strong>Pedersen commitments</strong> — yes, the exact same Building block 2 from this article — and a ZK range proof guarantees nobody minted coins out of thin air, without revealing any amount.</li>
</ol>
<p>Zcash follows the same philosophy with zk-SNARKs: you prove &ldquo;I own a valid, unspent note&rdquo; without revealing which note. The network verifies the proof, accepts the transaction, and learns neither sender, recipient, nor value.</p>
<p>And here the circle closes. Look at what this article&rsquo;s electoral scheme uses: a public, immutable structure anyone can verify (the Merkle tree, the blockchain&rsquo;s simpler cousin), Pedersen commitments to hide content (the same primitive as Monero), and ZK proofs to guarantee validity without revelation (the same family as Monero and Zcash). None of this is lab conjecture: these are production systems, audited, attacked daily, protecting real money. An election is, if anything, a simpler problem — short window, a single publisher, offline verification.</p>
<p>That&rsquo;s why I said at the beginning that the idea is mathematically solid: it invents nothing, it just composes pieces that already proved they can survive the real world. We know an end-to-end verifiable digital election <strong>could</strong> be built, because every one of its components is already built and running. Which brings us back to the problem that isn&rsquo;t technical.</p>
<h2>Conclusion<span class="hx:absolute hx:-mt-20" id="conclusion"></span>
    <a href="#conclusion" class="subheading-anchor" aria-label="Permalink for this section"></a></h2><p>Let me make it clear once more, as I did in the tweets: <strong>this is not a proposal, it&rsquo;s an exercise.</strong> I don&rsquo;t know the solution to Brazil&rsquo;s electoral trust problem. If I did, I&rsquo;d be publishing a paper, not a blog post.</p>
<p>But the exercise is worth it for two reasons. First, because it shows the technology for individual and universal verifiability <strong>exists</strong> — anyone who says &ldquo;digital elections are inherently unauditable&rdquo; is wrong. Second, because it shows the real limit: the frontier isn&rsquo;t technical, it&rsquo;s epistemological. A perfect system nobody understands fails at the same point as an imperfect system nobody can audit.</p>
<p>If you understood every line of this article, congratulations: you&rsquo;re part of a minority far too small to carry a democracy on its back.</p>
<h2>Appendix 1: so is the current system auditable?<span class="hx:absolute hx:-mt-20" id="appendix-1-so-is-the-current-system-auditable"></span>
    <a href="#appendix-1-so-is-the-current-system-auditable" class="subheading-anchor" aria-label="Permalink for this section"></a></h2><p>A fair question hangs in the air: so the current system has no auditing at all? It does, and it&rsquo;s worth being honest about that. What doesn&rsquo;t exist is a specific kind of audit: one that doesn&rsquo;t depend on software. Let&rsquo;s take it piece by piece.</p>
<p>The current arsenal, summarized and sourced:</p>
<ul>
<li><strong>Source code inspection.</strong> Parties, the bar association, the federal audit court, the Federal Police, the prosecutor&rsquo;s office, and universities can examine the systems&rsquo; code at the electoral court&rsquo;s headquarters, months before the election — the so-called <a href="https://www.tse.jus.br/comunicacao/noticias/2025/Novembro/codigos-fonte-do-ciclo-de-transparencia-ao-teste-publico-da-urna"target="_blank" rel="noopener">transparency cycle</a>.</li>
<li><strong>Public Security Test (TPS).</strong> Outside researchers genuinely try to attack the system. And it works: in 2012, professor Diego Aranha&rsquo;s team unscrambled the RDV and showed it was possible to learn who each voter had voted for; in 2017, they managed to tamper with the voting software before installation (the story is in <a href="https://revistapesquisa.fapesp.br/a-urna-eletronica-na-maturidade/"target="_blank" rel="noopener">Revista Pesquisa FAPESP</a> and in this <a href="https://www.agencialupa.org/jornalismo/2023/11/27/entenda-como-funciona-o-teste-de-seguranca-das-urnas-eletronicas-feito-pelo-tse/"target="_blank" rel="noopener">Lupa summary</a>). The flaws found were fixed afterwards.</li>
<li><strong>Zero report, BU, and the Integrity Test.</strong> Before voting starts, the machine prints a zeroed-out report. At the end of the day, it prints the Boletim de Urna, posted at the precinct and published digitally with a QR code — anyone can download the BUs and add them up independently. And a random sample of machines is diverted to a filmed parallel vote, comparing the paper record against the digital one.</li>
<li><strong>RDV — the &ldquo;digital recount&rdquo;.</strong> The machine records each individual vote in a shuffled, anonymized file, published afterwards (<a href="https://www.tse.jus.br/legislacao/compilada/res/2021/resolucao-no-23-673-14-de-dezembro-de-2021"target="_blank" rel="noopener">definition in TSE Resolution 23.673/2021</a>). Parties and authorized entities can re-sum the votes and cross-check against the BUs and the official tally — the official mechanism presented as the substitute for a paper recount (<a href="https://www.tse.jus.br/eleicoes/historia/processo-eleitoral-brasileiro/votacao/votacao-segura"target="_blank" rel="noopener">the electoral court&rsquo;s explanation</a>).</li>
<li><strong>External audits.</strong> In 2022, the federal audit court (TCU) cross-checked 9 million records from 4,577 precincts against the tallying database and found zero discrepancies — probability of fraud &ldquo;approaching 0%&rdquo; (<a href="https://www.cnnbrasil.com.br/politica/auditoria-do-tcu-diz-que-possibilidade-de-fraude-nas-eleicoes-de-2022-e-proxima-de-0/"target="_blank" rel="noopener">CNN Brasil</a>). The Carter Center observed the 2022 elections, registered no evidence of fraud, and acknowledged the audits&rsquo; expansion (<a href="https://www.cartercenter.org/news/pr/2022/brazil-100522-portuguese.pdf"target="_blank" rel="noopener">mission statement</a>).</li>
</ul>
<p>Now the &ldquo;but&rdquo; this whole article builds toward: <strong>every layer on that list depends on software or on a ceremony run by the electoral court itself.</strong> The BU × RDV comparison proves internal consistency — that the published numbers match the recorded numbers. It does not prove the recorded numbers reflect what voters pressed on the screen, because a tampered machine would produce a tampered BU and RDV in perfect mutual agreement. As Aranha himself puts it: every audit available today depends on the software; if the program is tampered with, every check falls together (<a href="https://www1.folha.uol.com.br/poder/2021/06/so-brasil-bangladesh-e-butao-usam-urna-eletronica-sem-comprovante-do-voto-impresso.shtml"target="_blank" rel="noopener">Folha de S.Paulo</a>). And the Integrity Test, which covers a small sample of machines, is a poor cousin of the Benaloh challenge from Building block 4: instead of each voter auditing their own ballot on the spot, the auditing is done by a sample drawn and conducted by the system itself.</p>
<p>There&rsquo;s also the legal chapter: the attempt to create a voter-verifiable paper record, the &ldquo;printed vote,&rdquo; was ruled unconstitutional by the Supreme Court in ADI 4543 over ballot-secrecy risks, and the attempt to revive it was struck down again in 2020 (<a href="https://conjur.com.br/2020-set-16/supremo-confirma-liminar-impede-volta-voto-impresso/"target="_blank" rel="noopener">Conjur</a>). The irony is that this article&rsquo;s scheme resolves exactly the conflict that killed the printed vote: a verifiable receipt <strong>without</strong> breaking secrecy, via commitments and ZK proofs. The math unlocks what paper couldn&rsquo;t. Everything else stays locked, as the previous sections explain.</p>
<p>So the honest verdict: the Brazilian system is auditable in real digital and procedural ways, and no fraud altering an outcome has ever been proven in nearly 30 years of electronic voting. But there is no software-independent recount, because there is no voter-verified physical record. In the language of election-security research, a true <em>risk-limiting audit</em> is not possible. Trust stays deposited in the software, the pre-election inspections, and the custody of digital records — exactly what this article&rsquo;s hypothetical system tries to eliminate.</p>
<h2>Appendix 2: skin in the game — rewarding those who verify<span class="hx:absolute hx:-mt-20" id="appendix-2-skin-in-the-game--rewarding-those-who-verify"></span>
    <a href="#appendix-2-skin-in-the-game--rewarding-those-who-verify" class="subheading-anchor" aria-label="Permalink for this section"></a></h2><p>One question hangs in the air after assembling the whole scheme: cryptocurrencies work because someone has something to lose. In Bitcoin, the miner burns real energy; in proof-of-stake, the validator deposits capital that gets confiscated if they cheat. And the voter? Voting costs nothing, and checking the receipt at home is work you do for free. The entire system depends on people verifying — and nobody has an incentive to verify. Can you put <em>skin in the game</em> on the voter?</p>
<p>The first idea that comes to mind is a deposit: vote, deposit some money, get it back later through the income tax system. As mechanism design, it has logic — it prices fake identities: a million phantom votes would cost a hundred million reais. In practice, it dies in three places. It&rsquo;s a disguised poll tax, exclusionary and unconstitutional — the refund fixes the accounting, not the cash flow of someone who doesn&rsquo;t have the money to front. The &ldquo;income tax&rdquo; channel doesn&rsquo;t reach most poor Brazilians, who don&rsquo;t even file — so it excludes exactly who the system most needs to include. And it would build, at the tax authority, a database linking identity, bank account, and electoral participation — a surveillance regression bigger than the problem it solves. All that before the plutocratic detail: security priced in money is security buyable by those who have money. Elections are designed to be wealth-blind — one vote per person. Putting a price on the security layer invites the rich to be more equal than the others.</p>
<p>The version that survives this scrutiny flips the sign: instead of charging to vote, <strong>reward those who verify</strong>. The scheme&rsquo;s real soft spot is the individual verification rate — if nobody checks their serial at home, the inclusion proof from Building block 3 becomes decoration. So: every verified receipt enters a public, auditable lottery, with the tree&rsquo;s own root serving as the randomness source (one more use for it). Checked your vote in the tree? You&rsquo;re in the drawing for a prize. The incentive points exactly at the behavior the system needs — millions of eyes checking the tree — without excluding anyone, charging anything, or building a new database, because the lottery runs on the anonymous serial, not on identity.</p>
<p>It&rsquo;s Bitcoin&rsquo;s logic on the right side: there, the block reward pays thousands of machines to keep the ledger honest; here, the prize would pay millions of voters to keep the election honest. It&rsquo;s almost a <em>proof of verification</em>: the block reward pays for the hashing work that keeps Bitcoin going, and the prize would pay for the checking work that would keep the election going. It&rsquo;s not a proposal — like nothing in this article — but as an incentive-design exercise, it&rsquo;s the version I&rsquo;d put on paper.</p>
<h2>Appendix 3: why &ldquo;zero knowledge&rdquo; is so hard to swallow<span class="hx:absolute hx:-mt-20" id="appendix-3-why-zero-knowledge-is-so-hard-to-swallow"></span>
    <a href="#appendix-3-why-zero-knowledge-is-so-hard-to-swallow" class="subheading-anchor" aria-label="Permalink for this section"></a></h2><p>If you made it here feeling like you understood each piece individually but wouldn&rsquo;t swear you understood the whole thing, relax: you&rsquo;re in excellent company. When Goldwasser, Micali, and Rackoff formalized zero-knowledge proofs in the 1980s, the idea sounded paradoxical even to career cryptographers. Every proof we&rsquo;d ever known worked by <em>showing</em> something. How can a proof transfer conviction while transferring no information at all?</p>
<p>The math from Building blocks 2 through 5 is the complete answer, but intuition lags behind. So here are two classic analogies involving no equations at all — each one lights up half of the concept.</p>
<p><strong>Where&rsquo;s Waldo?</strong> I claim I found Waldo on the page, and I want to prove it without revealing where he is — otherwise you win the game for free. The solution: I take a huge sheet of cardboard, much bigger than the book, cut a small hole in the middle, and place it over the page so only Waldo shows through. You see Waldo. But since the cardboard covers everything around him, you have no idea which corner of the page he&rsquo;s in. I proved I know the location; you learned zero about it. And notice what holds the proof up: if I didn&rsquo;t know where he was, I couldn&rsquo;t have positioned the cardboard — the odds of landing the hole on Waldo by luck are tiny. It&rsquo;s Ali Baba&rsquo;s cave all over again, this time with cardboard.</p>
<p><strong>The color-blind friend&rsquo;s two balls.</strong> Your friend is red-green color-blind. You have two balls identical in size, weight, and texture — one red, one green — and you claim: &ldquo;these balls are different colors.&rdquo; To him, they&rsquo;re indistinguishable. How do you prove it without revealing which is which? He shows you the balls, one in each hand. He puts his hands behind his back and decides, on his own, whether to swap them or not. He shows them again and asks: &ldquo;did I swap?&rdquo; You, who see the colors, answer correctly every time. He, who doesn&rsquo;t, couldn&rsquo;t do better than 50%. After 20 correct answers in a row, he&rsquo;s convinced the balls differ — the odds of you bluffing 20 rounds are one in a million. And what did he learn about which ball is red? <strong>Nothing.</strong> Every answer you gave (&ldquo;swapped&rdquo;, &ldquo;didn&rsquo;t swap&rdquo;) was something he already knew — after all, he was the one who decided whether to swap. The round&rsquo;s information was already his; the only new thing is the conviction that you can see the difference.</p>
<p>The formal version of that intuition is the simulator from Building block 5: if anyone, knowing no secret at all, can fabricate a &ldquo;recording&rdquo; of a proof session indistinguishable from a real one, then the real session cannot carry any information about the secret. The convincing power comes from the order of operations — commitment first, challenge after. The zero knowledge comes from the recording, on its own, being forgeable. Both things are true at the same time, for different reasons. That&rsquo;s why the concept feels slippery: you&rsquo;re holding two facts that seem to contradict each other until you notice each one rests on something different.</p>
<p>And if the concept still feels slippery after all of this, good: you&rsquo;ve just experienced the article&rsquo;s central argument firsthand.</p>
]]></content:encoded><category>politics</category><category>security</category><category>tutorials</category></item><item><title>Off-Topic: Do Not Put Hope in Politics - How to Become Immune</title><link>https://akitaonrails.github.io/en/2026/07/01/rant-do-not-put-hope-in-politics-how-to-become-immune/</link><guid isPermaLink="true">https://akitaonrails.github.io/en/2026/07/01/rant-do-not-put-hope-in-politics-how-to-become-immune/</guid><pubDate>Wed, 01 Jul 2026 11:00:00 -0300</pubDate><description>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Warning before someone pretends not to understand:&lt;/strong&gt; this is personal opinion. This is not financial, legal, tax, electoral, marital, spiritual advice, or a recipe. The details here are Brazil-specific. If you are going to touch companies, assets, taxes, marriage, inheritance, tax residency, or anything that can wreck your life, talk to a real accountant and a real lawyer. Not me. Not an influencer. Not a Twitter thread.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Brazilian elections are coming and the internet has already turned into a stadium.&lt;/p&gt;</description><content:encoded><![CDATA[<blockquote>
  <p><strong>Warning before someone pretends not to understand:</strong> this is personal opinion. This is not financial, legal, tax, electoral, marital, spiritual advice, or a recipe. The details here are Brazil-specific. If you are going to touch companies, assets, taxes, marriage, inheritance, tax residency, or anything that can wreck your life, talk to a real accountant and a real lawyer. Not me. Not an influencer. Not a Twitter thread.</p>

</blockquote>
<p>Brazilian elections are coming and the internet has already turned into a stadium.</p>
<p>Red shirt on one side. Yellow shirt on the other. In the middle, adults behaving as if an election were a championship final. They scream, insult, paste stickers, share convenient clips, call relatives stupid on WhatsApp, then think they are &ldquo;participating in democracy.&rdquo;</p>
<p>Big deal.</p>
<p>After 50 years watching this movie, my recommendation is simple: stop cheering. Treat politics as a risk you manage, the same way you deal with rain, traffic, and exchange rates. A party is, at most, a supplier of public policy. An election is an event on the calendar. Your adult life has to stand on its own, without hanging any of it on the role of father, family, or shield.</p>
<p>I am not telling you to become alienated. Read the news. Understand risk. Vote if you want to vote. I vote. Just do not hand your sanity to this. Your daily anxiety, your huge rant, your fight in the family group chat, and your individual vote will not fix a structure built over decades.</p>
<p>They will not.</p>
<p>If things improve, great. But plan as if they will not.</p>
<h2>Politics became soccer<span class="hx:absolute hx:-mt-20" id="politics-became-soccer"></span>
    <a href="#politics-became-soccer" class="subheading-anchor" aria-label="Permalink for this section"></a></h2><p>Brazilians understand team loyalty very well. Corinthians, Palmeiras, Flamengo, São Paulo. Your team loses, hires badly, piles up debt, drops to second division, and you stay. Because it is identity. Shirt. Tribe.</p>
<p>The problem is carrying that brain into politics.</p>
<p>In soccer, fine, it is entertainment. In politics, it becomes organized stupidity. The person defends a crest instead of a public policy. When bad numbers appear, they double down instead of revisiting the position. They ignore debt, taxes, inflation, exchange rate, pensions, productivity, education, legal certainty, and only want to know whether &ldquo;my side&rdquo; won.</p>
<p>That is useless.</p>
<p>Worse: it makes you vulnerable. Because you start planning your life on top of hope.</p>
<p>&ldquo;Now it will work.&rdquo;</p>
<p>&ldquo;This time it changes.&rdquo;</p>
<p>&ldquo;If this person wins, it gets better.&rdquo;</p>
<p>&ldquo;If this person loses, it is over.&rdquo;</p>
<p>Stop.</p>
<p>Plan like an adult. Your plan needs to work with any president, any Congress, any finance minister, any new madness invented in Brasília.</p>
<h2>The bill always arrives<span class="hx:absolute hx:-mt-20" id="the-bill-always-arrives"></span>
    <a href="#the-bill-always-arrives" class="subheading-anchor" aria-label="Permalink for this section"></a></h2><p>Brazil has high debt, high public spending, high taxes, bad services, and too many rules. No election deletes that by decree.</p>
<p>According to the Central Bank, gross general government debt ended 2025 at <strong>78.7% of GDP</strong>, near <strong>R$ 10 trillion</strong>. You can argue methodology, IMF criteria, Treasury bonds in the Central Bank&rsquo;s portfolio, whatever you want. Do it if you enjoy the subject. The practical point remains: the bill is big.</p>
<p>When the State spends more than it collects for too long, the bill appears somewhere. It appears in taxes. It appears in interest rates. It appears in inflation. It appears in weak currency. It appears in bad service. It appears in bureaucracy. It appears in investment that never came.</p>
<p>Populism is seductive because it promises a benefit now and sends the bill to later. But &ldquo;later&rdquo; arrives. It arrives as IPCA. It arrives as a more expensive dollar. It arrives as high interest rates. It arrives as wages that do not follow the cost of living.</p>
<p>A common confusion: saying inflation is &ldquo;caused by price increases.&rdquo; That reverses cause and consequence. The <a href="https://www.bcb.gov.br/controleinflacao/oqueinflacao"target="_blank" rel="noopener">Central Bank</a> defines inflation as an increase in prices and a loss of purchasing power. That is how inflation appears. The root, when inflation is persistent and spread through the economy, involves money, credit, demand, expectations, and fiscal conditions. The <a href="https://www.clevelandfed.org/-/media/project/clevelandfedtenant/clevelandfedsite/publications/economic-commentary/1999/ec-19990801-money-growth-and-inflation-how-long-is-the-long-run-pdf.pdf"target="_blank" rel="noopener">Cleveland Fed</a> explains the long-term relation between money growth and the price level. The IMF calls one extreme case <a href="https://www.imf.org/-/media/files/publications/dp/2021/english/apdfea.pdf"target="_blank" rel="noopener">fiscal dominance</a>: when debt and deficits start bossing monetary policy around.</p>
<p>Supermarket prices going up are the symptom, and most people confuse the symptom with the root.</p>
<p>Of course one product can go up because of oil, bad harvest, war, exchange rate, tax, cartel, logistics. But localized abuse does not explain decades of generalized purchasing-power loss. Turning companies into scapegoats is convenient for politicians. Convenient does not mean true.</p>
<p>Over the last 20 years, according to the Central Bank&rsquo;s SGS data, accumulated <a href="https://api.bcb.gov.br/dados/serie/bcdata.sgs.433/dados"target="_blank" rel="noopener">IPCA from July 2006 to May 2026</a> was near <strong>197%</strong>. Prices almost tripled. The <a href="https://api.bcb.gov.br/dados/serie/bcdata.sgs.1/dados"target="_blank" rel="noopener">PTAX sell rate</a> went from roughly <strong>R$ 2.16 per dollar on 2006-06-30</strong> to roughly <strong>R$ 5.18 on 2026-06-30</strong>. The Real buys a lot fewer dollars.</p>
<p>You do not need sophisticated theory. Just remember what groceries, a car, rent, school, or health insurance used to cost.</p>
<h2>Brazil will not become Switzerland in four years<span class="hx:absolute hx:-mt-20" id="brazil-will-not-become-switzerland-in-four-years"></span>
    <a href="#brazil-will-not-become-switzerland-in-four-years" class="subheading-anchor" aria-label="Permalink for this section"></a></h2><p>Another fantasy: &ldquo;now public services will improve.&rdquo;</p>
<p>I hope so. Seriously. I hope they improve. But I would not plan my life betting on it.</p>
<p>Public health care? If you depend on it, I honestly hope you are well served. But I would not build my family plan around a miracle. <a href="https://www.gov.br/ans/pt-br/acesso-a-informacao/perfil-do-setor/dados-gerais"target="_blank" rel="noopener">ANS</a> counted around <strong>52.9 million</strong> beneficiaries in private medical-hospital plans in March 2026. The <a href="https://agenciadenoticias.ibge.gov.br/agencia-noticias/2012-agencia-de-noticias/noticias/37235-populacao-do-pais-chega-a-203-1-milhoes-de-habitantes-aponta-censo-2022"target="_blank" rel="noopener">2022 Census</a> measured Brazil at <strong>203.1 million</strong> people. Most people depend directly or indirectly on SUS and public infrastructure.</p>
<p>When the system fails, it fails on real people. G1 reported in June 2026 the case of <a href="https://g1.globo.com/df/distrito-federal/noticia/2026/06/22/homem-que-morreu-na-antessala-de-upa-no-df-passou-mais-de-12-horas-no-local-veja-imagens.ghtml"target="_blank" rel="noopener">Vilmar Pereira da Silva, 49, who died in a waiting room at a UPA in Brasília</a>. It also reported in Sorocaba the death of <a href="https://g1.globo.com/sp/sorocaba-jundiai/noticia/2026/06/30/camara-cobra-explicacoes-da-prefeitura-apos-morte-de-adolescente-que-esperou-18-horas-em-upa-veja-o-que-se-sabe-sobre-o-caso.ghtml"target="_blank" rel="noopener">a 14-year-old boy who, according to the family, waited 18 hours at a UPA</a>. I am not using two cases as a national statistic. I am reminding you that abstraction becomes a body when things go wrong.</p>
<p>Public education? If you have kids, be brutally honest: do you want to bet 15 years of their education waiting for an educational revolution that may never come?</p>
<p>In <a href="https://agenciabrasil.ebc.com.br/en/educacao/noticia/2023-12/pisa-less-half-brazilian-students-know-basic-math-science"target="_blank" rel="noopener">PISA 2022</a>, Brazil scored <strong>379 in math</strong>, <strong>410 in reading</strong>, and <strong>403 in science</strong>, against OECD averages of <strong>472</strong>, <strong>476</strong>, and <strong>485</strong>. That is genuinely weak foundation, far from being just an ideological dispute.</p>
<p>I know most people cannot pay for private health care and private school. That is exactly the problem. The country is expensive, public service is bad, and the private alternative is also expensive.</p>
<p>Denying reality does not improve reality.</p>
<h2>I saw money melt<span class="hx:absolute hx:-mt-20" id="i-saw-money-melt"></span>
    <a href="#i-saw-money-melt" class="subheading-anchor" aria-label="Permalink for this section"></a></h2><p>I grew up in the 80s. I saw hyperinflation. Prices changed the same day. Money melted in your hand. Families had to do survival math. Then came Collor and the savings confiscation.</p>
<p><img src="https://new-uploads-akitaonrails.s3.us-east-2.amazonaws.com/2026/07/01/politica-imune/turma-monica-inflacao.webp" alt="Turma da Mônica explaining inflation to children"  loading="lazy" /></p>
<p>For young people, that sounds like ancient history. For me it is memory.</p>
<p>Hyperinflation has a known, well-documented cause. It usually starts with a government spending more than it can, debt nobody wants to face, and the temptation to cover the hole by printing money. Looks clever for five minutes. Then it becomes an invisible tax on everybody.</p>
<p>But even in chaos, some people make money, and they are the ones who understand the mechanics, not the ones who happen to be more virtuous than the rest.</p>
<p>Think of a simple store. It receives cash today and pays the supplier in 30 days. If it buys <strong>Cr$ 1 million</strong> in inventory and only pays the supplier next month, with <strong>30% monthly inflation</strong>, that <strong>Cr$ 1 million</strong> paid later buys much less. Meanwhile, it sells the inventory at adjusted prices. The customer thinks the merchant got rich because &ldquo;prices went up.&rdquo; Sometimes the merchant merely survived the interval. Sometimes he made a lot in the interval.</p>
<p>Now think about money sitting for a few days. A company receives payment slips on day 5 and pays payroll on day 30. If <strong>Cr$ 10 million</strong> stays in the cash account for 25 days and overnight yields close to <strong>1% per day</strong>, that becomes roughly <strong>Cr$ 12.8 million</strong> before payroll. Payroll&rsquo;s nominal amount is still there. The gain came from time. From float.</p>
<p>Banks did this at a much larger scale. They captured money paying one rate, lent or invested it charging another, and turned huge volumes every day. If the difference looked small, a few points per month, on billions it became a fortune. Spread and float. Ugly names for something simple: whoever received before paying, and knew where to park the money in the middle, won. Whoever received a salary at the end of the month and ran to the supermarket lost.</p>
<p>And it did not have to be a bank. An organized individual could also play a better game. If he knows the currency is melting, he does not leave everything sitting in cruzeiros waiting for it to turn into dust. He buys dollars when he can. He buys shares of exporters that earn in dollars. He uses futures or options to hedge, not to play casino. Simple example: you have money you will only use in 30 days. If you leave it in rotten currency, you lose. If you buy dollar protection and the exchange rate explodes, you understood the game before everyone else, and luck had nothing to do with it. Of course: options, forex, and leverage break amateurs faster than inflation. To be clear, this is not an invitation to play trader. The point is simpler: financial knowledge turns chaos into opportunity, while ignorance turns salary into dust.</p>
<p>That is why inflation destroys the poor and the disorganized first. Whoever lives on a fixed salary arrives late to the race. Whoever understands payment terms, inventory, debt, cash, and currency plays another game.</p>
<p>That was the environment where the Collor Plan arrived. To try to control hyperinflation by force, the government did something brutal: it forcibly removed liquidity from people&rsquo;s hands. The <a href="https://www12.senado.leg.br/noticias/materias/2007/03/15/plano-collor-abertura-de-mercados-e-impeachment-marcaram-primeiro-governo-eleito-apos-o-regime-militar"target="_blank" rel="noopener">Senate summarizes it</a>: MP 168/1990 blocked, for 18 months, amounts above NCz$ 50 thousand in accounts, savings, and financial investments. In practice, families and companies woke up with their own money locked by the State. Decades later, Collor returned to politics and served as <a href="https://www25.senado.leg.br/web/senadores/senador/-/perfil/4525"target="_blank" rel="noopener">senator for Alagoas</a>.</p>
<p>This is a lesson Brazilians should tattoo on their foreheads: do not wait for &ldquo;justice&rdquo; to come. Do not expect the people who destroyed lives to pay proportionally. Do not expect the system to recognize your effort and protect you.</p>
<p>The system protects the system.</p>
<p>You protect you.</p>
<h2>Stop outsourcing your life<span class="hx:absolute hx:-mt-20" id="stop-outsourcing-your-life"></span>
    <a href="#stop-outsourcing-your-life" class="subheading-anchor" aria-label="Permalink for this section"></a></h2><p>Your plan cannot depend on an election.</p>
<p>If I had to summarize my strategy, it would be something like this:</p>
<ul>
<li>learn real English;</li>
<li>build a profession you can sell outside Brazil;</li>
<li>understand taxes and accounting;</li>
<li>protect assets legally;</li>
<li>raise children without depending on the State, if that is possible for you;</li>
<li>know competent people in areas you do not dominate.</li>
</ul>
<p>None of this is sexy. It does not make a slogan. It does not go viral.</p>
<p>It works better than hope.</p>
<h2>English and dollars are not fetishes<span class="hx:absolute hx:-mt-20" id="english-and-dollars-are-not-fetishes"></span>
    <a href="#english-and-dollars-are-not-fetishes" class="subheading-anchor" aria-label="Permalink for this section"></a></h2><p>English is oxygen in the global market. A lot of people still treat it as a fancy differentiator, when it has already become a basic survival requirement.</p>
<p>There is a reason this was one of the first videos on my channel: <a href="https://akitaonrails.com/2018/12/11/akitando-32-como-eu-aprendi-ingles-e-entendendo-padroes/"target="_blank" rel="noopener">Akitando #32 - Como eu aprendi inglês e entendendo padrões</a>.</p>
<p>Not every Brazilian profession is exportable. Programming is one of the ones that are. Even with a harder remote market, layoffs, global competition, and AI messing everything up, there is still a path. It is not easy. It never was. It only looked easy during the bubble.</p>
<p>You start local. Gain experience. Study more than the others. Learn to communicate. Improve your English. Apply abroad. Get rejected. Apply again. Continue.</p>
<p>This is decades of work, not a six-month turnaround.</p>
<p>The goal is simple: increase your chance of being paid in hard currency.</p>
<p>Why dollars? Because the dollar is still the center of the international financial system, through pure mechanics, and not because I cheer for the US. After Bretton Woods, and even after the end of gold convertibility in 1971, the dollar remained the main currency for reserves, trade, debt, and liquidity. The <a href="https://www.bis.org/publ/qtrpdf/r_qt2212x.htm"target="_blank" rel="noopener">BIS</a> shows that the dollar is involved in almost <strong>90%</strong> of global FX transactions and appears in about half of global trade invoiced in foreign currency.</p>
<p>In the 80s, the Plaza Accord coordinated a <strong>devaluation of the dollar</strong> against currencies like the yen and the Deutsche mark. <a href="https://www.federalreserve.gov/monetarypolicy/files/FOMC19851105material.pdf"target="_blank" rel="noopener">FOMC materials from 1985</a> already recorded the dollar roughly 14% lower against the yen weeks later. The real story mixes currency, interest rates, trade, geopolitics, and debt, well beyond the simplistic &ldquo;US imperialism&rdquo; version.</p>
<p>When a geopolitical crisis raises oil prices, importing countries need more dollars to buy energy. Reuters showed this during the Iran-US war: <a href="https://www.marketscreener.com/news/us-dollar-gains-as-iran-conflict-fuels-safe-haven-demand-higher-oil-ce7e5cdcdf81f324"target="_blank" rel="noopener">the dollar rose on safe-haven demand, higher oil prices, and Strait of Hormuz risk</a>. Sanctions and alternatives exist, but that does not prove the end of the dollar. It proves the opposite: everyone needs to work around the dominant network precisely because it is dominant.</p>
<p>You do not need to like the dollar to understand that it runs the game.</p>
<p>The Real works poorly as a long-term store of value. If you can keep part of your income, assets, or client base in hard currency, you become less vulnerable. Simple as that.</p>
<h2>Taxes are part of adulthood<span class="hx:absolute hx:-mt-20" id="taxes-are-part-of-adulthood"></span>
    <a href="#taxes-are-part-of-adulthood" class="subheading-anchor" aria-label="Permalink for this section"></a></h2><p>Brazilian salaried CLT workers often think they understand taxes because they open the Federal Revenue program once a year and click &ldquo;next.&rdquo;</p>
<p>They do not.</p>
<p>It looks simple because the hard part is hidden. The company pays a mountain before your net salary appears. Then you pay income tax, contributions, taxes embedded in products, services, consumption, property, notary fees, capital gains, inheritance.</p>
<p>The <a href="https://www.gov.br/receitafederal/pt-br/centrais-de-conteudo/publicacoes/estudos/carga-tributaria/carga-tributaria-no-brasil-2023"target="_blank" rel="noopener">Federal Revenue</a> estimated the tax burden at <strong>32.3% of GDP</strong> in 2023. The last comparable World Bank Doing Business report put a standard Brazilian company at <strong>1,501 hours per year</strong> just to comply with tax obligations. The report was discontinued, so do not use it as a current ranking. Use it as a picture of the monster&rsquo;s size.</p>
<p>And most people do not know the difference between income, assets, capital gains, pro-labore, dividends, declared offshore, evasion, lawful avoidance, tax residency, holding company, probate, ITCMD, IRPF, IRPJ, ISS, ICMS, PIS, Cofins.</p>
<p>They mix everything.</p>
<p>Offshore is not automatically tax evasion. It can be illegal if used to hide assets, omit income, defraud creditors, or launder money. But an international structure that is declared, has identified beneficial owners, correct accounting, and taxes paid under the applicable law is not a crime by definition. You can find it ugly. You can find it unfair. Just do not call everything by the wrong name.</p>
<p>In practice, what matters is obeying the real law, not repeating internet memes.</p>
<p>You buy property. Years later, you sell for more nominal reais. It looks like profit. Sometimes it is just inflation. Even so, if there is taxable capital gain under the fiscal rule, the government taxes the nominal difference according to the applicable rules.</p>
<p>Simplified example: you bought a house for <strong>R$ 500 thousand</strong> in 2006. Sold it in 2026 for <strong>R$ 1.2 million</strong>. It looks like a <strong>R$ 700 thousand</strong> gain. With accumulated IPCA near <strong>197%</strong>, that house would need to be worth around <strong>R$ 1.485 million</strong> just to preserve purchasing power. Before tax, you already lost in real terms.</p>
<p>On paper, &ldquo;profit.&rdquo; In real life, loss.</p>
<p>You die. Your heirs discover probate, notary offices, lawyers, ITCMD, deadlines, family conflict, and cost.</p>
<p>I am not saying every family needs a holding company. I am saying you need to know how to do the math before someone dies, not after.</p>
<h2>Assets need structure<span class="hx:absolute hx:-mt-20" id="assets-need-structure"></span>
    <a href="#assets-need-structure" class="subheading-anchor" aria-label="Permalink for this section"></a></h2><p>This is where many people misunderstand on purpose.</p>
<p>To be clear, I am not talking about hiding assets, evading taxes, defrauding creditors, or transferring assets after being sued to try to escape enforcement. That is illegal, voidable, and stupid.</p>
<p>I am saying to study estate and asset planning before buying big things on impulse.</p>
<p>A holding company, patrimonial company, corporate structure, will, insurance, private pension, international account, or declared offshore can make sense. It depends on the case.</p>
<p>&ldquo;It depends on the case&rdquo; is the most important sentence. Do not copy an influencer&rsquo;s structure. Do not open a company in the Bahamas because you saw a video. Consult a professional.</p>
<p>A good holding company is not tax magic. It may have ITBI, capital gains, annual cost, accounting, ancillary obligations, anti-abuse rules, and piercing risk if you make a mess. It does not make assets immune to creditors, enforcement, division, or fraud against creditors.</p>
<p>It only replaces improvisation with governance.</p>
<p>The principle is simple: everything directly under your CPF is exposed to your CPF. Lawsuits, divorce, probate, family disputes, tax mistakes, corporate confusion, debt, accidents. A legitimate structure organizes risk, succession, administration, and tax within the law.</p>
<p>The important thing is not improvising assets when it is already too late.</p>
<h2>Marriage, children, and contracts<span class="hx:absolute hx:-mt-20" id="marriage-children-and-contracts"></span>
    <a href="#marriage-children-and-contracts" class="subheading-anchor" aria-label="Permalink for this section"></a></h2><p>Marriage is love, of course. Before the State, it is also a contract.</p>
<p>A bad contract destroys assets, family, and peace.</p>
<p>Brazil has property regimes. Partial community, universal community, conventional separation, mandatory separation in some cases, final participation in aquestos. Many people marry without understanding any of this.</p>
<p>I consider total separation of assets the most respectful way to marry.</p>
<p>Separating assets is the opposite of loving less: it is trusting enough that you do not need to trap the other person&rsquo;s wallet to prove the feeling. Each person keeps clarity about what is theirs, what belongs to the other, and what is built together by explicit decision.</p>
<p>This still allows generosity, buying things together, and building a life in common. It only avoids pretending affection replaces accounting.</p>
<p>And children?</p>
<p>If you can choose, have children when you can pay for private health care and education.</p>
<p>I know that sentence irritates people. Better to be irritated now than to discover too late that the State will not deliver what you imagined.</p>
<p>A child is a whole person who depends on you, not an adult accessory or an Instagram project to sort out in the &ldquo;we will figure it out later.&rdquo;</p>
<p>If you want children, plan. Health insurance, school, housing, savings, language, safety, time, family nearby. If you cannot yet, work so you can.</p>
<h2>Optionality<span class="hx:absolute hx:-mt-20" id="optionality"></span>
    <a href="#optionality" class="subheading-anchor" aria-label="Permalink for this section"></a></h2><p>Do not leave your life hanging from a single point of failure.</p>
<p>One currency. One bank. One employer. One country. One expired document. One platform that can ban you. One broker that can freeze. One income source that can disappear.</p>
<p>That is fragility disguised as simplicity.</p>
<p>Having a valid passport, a visa when it makes sense, a declared international account, reserves in hard currency, a resume sellable abroad, contacts outside your bubble, and the ability to work remotely does not mean you are leaving tomorrow. It means you can choose.</p>
<p>No government needs to persecute you to destroy your life. Sometimes it is enough to change a rule, freeze an account, raise a tax, delay a document, or slowly corrode the currency.</p>
<p>Whoever has one option obeys.</p>
<p>Whoever has several options negotiates.</p>
<p>Every programmer understands backup. Back up your own life.</p>
<h2>So why not leave?<span class="hx:absolute hx:-mt-20" id="so-why-not-leave"></span>
    <a href="#so-why-not-leave" class="subheading-anchor" aria-label="Permalink for this section"></a></h2><p>Leave, if you want and can. There is nothing wrong with emigrating.</p>
<p>But do not treat it as a moral obligation. Many people have parents, siblings, children, friends, roots. Not everybody wants to raise children far from grandparents. Not everybody wants to transplant an entire life.</p>
<p>And there is a practical advantage: if you have foreign income, formalized, declared, and taxed correctly, and you spend in reais, Brazil can be cheap.</p>
<p>Services can be cheaper. Rent can be cheaper. Food can be cheaper. House cleaners, plumbers, dentists, restaurants, good schools outside the most expensive areas: many things become accessible if your income comes from outside.</p>
<p>Electronics and hardware are expensive because of taxes and imports. You solve that by buying abroad when it makes sense, within quotas, declaring and paying what is due.</p>
<p>Quality of life in Brazil can be very good if you have means.</p>
<p>That is the point: do not depend on politics to have means.</p>
<h2>Competent people are gold<span class="hx:absolute hx:-mt-20" id="competent-people-are-gold"></span>
    <a href="#competent-people-are-gold" class="subheading-anchor" aria-label="Permalink for this section"></a></h2><p>During your career, do not be the nerd who only delivers tasks and leaves.</p>
<p>Medium and large companies have finance, accounting, legal, sales, operations, HR, directors. Make friends outside your bubble.</p>
<p>In Brazil, it is very useful to know at least one good accountant and one good lawyer. Not to ask for the wrong kind of favor. To learn how to do things right.</p>
<p>The environment is hostile. Here and outside here. Those who accumulate knowledge, tools, and reliable relationships survive better.</p>
<p>That is survival of the fittest in the real sense: the best adapted survives, the one who adjusts to the environment, not the physically strongest.</p>
<h2>Conclusion<span class="hx:absolute hx:-mt-20" id="conclusion"></span>
    <a href="#conclusion" class="subheading-anchor" aria-label="Permalink for this section"></a></h2><p>Election is not a life plan.</p>
<p>You can follow politics if you want. Follow it as environmental risk, not as religion. Rain, drought, earthquake, inflation, exchange rate, taxes, new rules. You do not control the sky. You control whether you build a roof.</p>
<p>Stop waiting for some brilliant change in the near future.</p>
<p>Plan as if nothing will change for a long time.</p>
<p>Learn English. Earn in dollars if you can. Understand taxes. Structure assets legally. Protect your family. Make competent friends. Use Brazil in your favor, without believing in Brazil as a promise.</p>
<p>When you do that, elections become background noise.</p>
<p>And background noise does not run your life.</p>
]]></content:encoded><category>politics</category><category>personal</category></item><item><title>[Off-Topic] The Pity Evolution of Modern Society</title><link>https://akitaonrails.github.io/en/2018/07/26/off-topic-the-pity-evolution-of-modern-society/</link><guid isPermaLink="true">https://akitaonrails.github.io/en/2018/07/26/off-topic-the-pity-evolution-of-modern-society/</guid><pubDate>Thu, 26 Jul 2018 15:28:00 -0300</pubDate><description>&lt;p&gt;The world is perishing in an orgy of self-righteousness.&lt;/p&gt;
&lt;p&gt;People from Wisecrack always manage to put a smile on my face. They give me hope that there are still people of reason in this world. This essay is inspired by that video and the gathering of complementary thoughts.&lt;/p&gt;
&lt;div class="embed-container"&gt;
&lt;iframe
src="https://www.youtube.com/embed/Wp7f2ftkybI"
title="YouTube video player"
frameborder="0"
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share"
referrerpolicy="strict-origin-when-cross-origin"
allowfullscreen&gt;
&lt;/iframe&gt;
&lt;/div&gt;
&lt;p&gt;As an engineer, I stay amazed at what we&amp;rsquo;re able to create. No one would have guessed that one of humankind&amp;rsquo;s most fabulous inventions, the internet, along with its biggest hits, could turn into a weapon of mass destruction. I mean ubiquitous mobile access and social networks that gather absurd numbers of people at the same time.&lt;/p&gt;</description><content:encoded><![CDATA[<p>The world is perishing in an orgy of self-righteousness.</p>
<p>People from Wisecrack always manage to put a smile on my face. They give me hope that there are still people of reason in this world. This essay is inspired by that video and the gathering of complementary thoughts.</p>


<div class="embed-container">
  <iframe
    src="https://www.youtube.com/embed/Wp7f2ftkybI"
    title="YouTube video player"
    frameborder="0"
    allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share"
    referrerpolicy="strict-origin-when-cross-origin"
    allowfullscreen>
  </iframe>
</div>

<p>As an engineer, I stay amazed at what we&rsquo;re able to create. No one would have guessed that one of humankind&rsquo;s most fabulous inventions, the internet, along with its biggest hits, could turn into a weapon of mass destruction. I mean ubiquitous mobile access and social networks that gather absurd numbers of people at the same time.</p>
<p>This case is far from the only one, but it works as an example. A few days ago, I was caught off guard by a seemingly small piece of news. James Gunn, the beloved director of two of the MCU&rsquo;s biggest hits with his Guardians of the Galaxy, was fired over tweets he wrote ten years earlier.</p>
<p>I am not here to judge the merits of the tweets or if his apologies are good enough.</p>
<p>Actually, by just stating neutrality, I am automatically judged as being in favor. This is the problem here.</p>
<p>These days, we&rsquo;ve seen right-wing pages and accounts deleted from Facebook. It&rsquo;s part of the platform&rsquo;s ongoing effort to fight &ldquo;fake news,&rdquo; which really is a problem of modern times. News outlets have turned into click-bait factories, exactly as Wisecrack&rsquo;s video describes.</p>
<p>Who decides what &ldquo;fake news&rdquo; is? It &ldquo;offends&rdquo; a demographic that is loud and generates clicks. Therefore, we must ban the other side.</p>
<p>It reminds me of a cliche phrase from The Lord of the Rings that always resonated with me. When the fellowship is trying to go through Moria, Frodo laments to Gandalf:</p>
<blockquote>
  <p>&lsquo;What a pity that Bilbo did not stab that vile creature, when he had a chance!&rsquo;</p>

</blockquote>


<div class="embed-container">
  <iframe
    src="https://www.youtube.com/embed/IrOqnZdvI6M"
    title="YouTube video player"
    frameborder="0"
    allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share"
    referrerpolicy="strict-origin-when-cross-origin"
    allowfullscreen>
  </iframe>
</div>

<p>To which Gandalf replies:</p>
<blockquote>
  <p>&lsquo;Pity? It was Pity that stayed his hand. Pity, and Mercy: not to strike without need. And he has been well rewarded, Frodo. Be sure that he took so little hurt from the evil, and escaped in the end, because he began his ownership of the Ring so. With Pity.&rsquo;</p>

</blockquote>
<p>And then concludes:</p>
<blockquote>
  <p>&lsquo;Deserves it! I daresay he does. Many that live deserve death. And some that die deserve life. Can you give it to them? Then do not be too eager to deal out death in judgement.</p>
<p>For even the very wise cannot see all ends. I have not much hope that Gollum can be cured before he dies, but there is a chance of it. And he is bound up with the fate of the Ring. My heart tells me that he has some part to play yet, for good or ill, before the end; and when that comes, the pity of Bilbo may rule the fate of many — yours not least.&rsquo;</p>

</blockquote>
<p>Back to Gunn, what surprised me was not that those tweets were republished or the public outcry (and of course, no sane person supports the specific contents literally). What really surprised me was the incredible velocity with which a mega-corporation the size of Disney responded with a swift beheading, literally terminating a great career in less than a few hours.</p>
<p>It reminds me of equally quick public sentences without trials or due process. Again, I&rsquo;m not advocating for these people, but James Damore vs. Google, Brendan Eich vs. Mozilla, and James Watson vs. Nobel.</p>
<p>And most of you or your friends would say, <em>&ldquo;of course they were ousted, they are bad people, we must police ourselves to remove these villains from our midst.&rdquo;</em></p>
<p>Should we?</p>
<p>Can you give back their future if you were wrong? What makes you entitled to be a jury and judge?</p>
<p>Careful. When antagonized, an average, reasonable person should dialogue in private, as any civilized society learned to do. But social networks motivate people to do the worst: call out in public.</p>
<p>This is Mob Formation. This is plain old bullying. I suffered bullying my whole life, being a Japanese minority in a Western country, and I know exactly how much it hurts. That&rsquo;s why I never bully back.</p>
<p>If you call out someone in public, you&rsquo;re not practicing &ldquo;justice.&rdquo; You are a mere bully. No matter the subject at hand.</p>
<p>Have you ever read the image header of my <a href="https://www.facebook.com/fabio.akita.profile"target="_blank" rel="noopener">Facebook</a> and <a href="https://twitter.com/akitaonrails"target="_blank" rel="noopener">Twitter</a> profiles? It reads:</p>
<blockquote>
  <p>&ldquo;I Disapprove of What You Say, But I Will Defend to the Death Your Right to Say It.&rdquo; - Evelyn Beatrice Hall.</p>

</blockquote>
<p>And I believe that.</p>
<p>I shall never shame someone in public. Only cowards do that. Shaming someone in the open has the sole purpose of mobbing people, transforming the herd into a maneuvering mass to swiftly perform a public execution, and thus, make your point without having to defend it.</p>
<p><em>&ldquo;But I have the right not to be offended.&rdquo;</em></p>
<p>No, you don&rsquo;t.</p>
<p>Another movie I talked about years ago, and cropped a segment to upload on my blog, is Miloš Forman&rsquo;s masterpiece The People vs. Larry Flynt, produced by Oliver Stone.</p>
<div class="video-container">
    <video controls>
        <source src="https://s3.us-east-2.amazonaws.com/blip.tv/Akitaonrails-LarryFlintFreedom513.mp4" type="video/mp4">
        Your browser does not support the video tag. [Direct Link](https://s3.us-east-2.amazonaws.com/blip.tv/Akitaonrails-LarryFlintFreedom513.mp4)
    </video>
</div>
<p>It tells the story of the founder of the pornography magazine Hustler. By all means, a despicable person.</p>
<p>But this is precisely the point. Larry did things most of you would condemn. Not just publishing porn, but making satire out of public figures with bad-taste jokes. Jokes nonetheless. The part that really hit me was the idea that people have no right not to be offended. It&rsquo;s a subjective matter, with no place in court, because we can&rsquo;t legally define taste.</p>
<blockquote>
  <p>&ldquo;Ladies and gentlemen of the jury, you have heard a lot today, and I&rsquo;m not gonna go back over it, but you have to go into that room and make some decisions. But before you do, there&rsquo;s something you need to know. I am not trying to suggest that you should like what Larry Flynt does. I don&rsquo;t like what Larry Flynt does, but I do like that I live in a country where you and I can make that decision for ourselves. I like that I live in a country where I can pick up Hustler magazine and read it, or throw it in the garbage can if that&rsquo;s where I think it belongs.&rdquo;</p>

</blockquote>
<p>Anyone has the right to do and say whatever he or she wants as long as it doesn&rsquo;t harm the other person. This is a delicate matter because my rights should end where your rights start.</p>
<blockquote>
  <p>&ldquo;If the First Amendment will protect a scumbag like me, it will protect all of you.&rdquo; - Larry Flynt.</p>

</blockquote>
<p>But because it can&rsquo;t be decided in court, radical people take matters with their own hands, using the most powerful weapon ever devised: social networks. They can quickly gather a large jury and determine the public execution. It&rsquo;s like handing a loaded gun to a toddler.</p>
<p>This is Inquisition territory. Galileo was judged and sentenced because he offended Catholic society by stating that the Earth and the planets revolve around the Sun, and not the other way around. It seems stupidly trivial today, but it was a monumental scandal back then. People would rather die than accept that offensive statement. It would be trending on the Twitter of the 1600s, and public execution would be demanded within minutes.</p>
<p>This <em>&ldquo;I&rsquo;m offended&rdquo;</em> justification is what ultimately led to assassinations such as Luther King, JFK, Lennon, the arrest of Gandhi, and the genocide of the Jews. Intolerance.</p>
<p>If not being offended is the ultimate goal, intolerance is the only path, and the murder of Freedom is the worst consequence.</p>
<p>Every atrocity in humankind starts with mob behavior around the <em>&ldquo;I shouldn&rsquo;t feel offended.&rdquo;</em></p>
<p>That&rsquo;s the story behind Fahrenheit 451, which Wisecrack explains well. At some point, people just started building echo chambers. Every Twitter feed and every Facebook timeline is, by definition, an echo chamber. You only get content meticulously curated by machine learning, configured to spit out posts that won&rsquo;t offend you and won&rsquo;t ever challenge your points of view.</p>
<p>You create and live in a bubble, and you immediately get outraged when your reality is challenged by any thought-provoking idea. You limit yourself to your personalized and narrow status quo.</p>
<p>It&rsquo;s a lie when you say <em>&ldquo;I&rsquo;m open-minded&rdquo;</em> but keep calling people out and whining about how offended you are. You are not open-minded. You can&rsquo;t have your cake and eat it too. At least admit the truth: you&rsquo;re narrow-minded and intolerant.</p>
<p>Contrary to what many of us believe, the internet was supposed to set us free from governments, authoritarian institutions, and big media channels that supposedly controlled the masses&rsquo; points of view.</p>
<p>We were supposed to have access to a broader range of knowledge, without borders, without prejudice, and that would help us advance faster into the future, into more innovation.</p>
<p>Innovation, by definition, is a challenge against the status quo. You can&rsquo;t innovate and please everybody at the same time. That&rsquo;s impossible. Otherwise, it&rsquo;s just more of the same.</p>
<p>The invention of fire challenged nature, the invention of heliocentrism questioned God, and the design of natural selection challenged humankind&rsquo;s soul.</p>
<p>Social networks took a free, decentralized internet and put it on a very tight leash, controlled by &ldquo;Influencers.&rdquo; People of pure charisma, with no righteousness and much less wisdom. Charisma is what pulls in huge numbers of followers. The network effect is vicious.</p>
<p>We were supposed to be all <strong>together</strong> collaborating for the betterment of humankind, regardless of race, geography, and political inclinations.</p>
<p>Be warned, you are all falling for the <a href="https://en.wikipedia.org/wiki/Eight_stages_of_genocide"target="_blank" rel="noopener">Eight stages of Genocide</a>. Behold:</p>
<ol>
<li>Classification: People are divided into &ldquo;them and us&rdquo;.</li>
<li>Symbolization: &ldquo;When combined with hatred, symbols may be forced upon unwilling members of pariah groups&hellip;&rdquo;</li>
<li>Dehumanization: &ldquo;One group denies the humanity of the other group. Members of it are equated with animals, vermin, insects, or diseases.&rdquo;</li>
<li>Organization: &ldquo;Genocide is always organized&hellip; Special army units or militias are often trained and armed&hellip;&rdquo;</li>
<li>Polarization:  &ldquo;Hate groups broadcast polarizing propaganda&hellip;&rdquo;</li>
<li>Preparation: &ldquo;Victims are identified and separated out because of their ethnic or religious identity&hellip;&rdquo;</li>
<li>Extermination: &ldquo;It is &rsquo;extermination&rsquo; to the killers because they do not believe their victims to be fully human&rdquo;.</li>
<li>Denial:  &ldquo;The perpetrators&hellip; deny that they committed any crimes&hellip;&rdquo;</li>
</ol>
<p>This is the original Nazi modus operandi, and you are perpetuating those steps. I&rsquo;m not a Jew, but I deeply admire and respect their history and resilience. I&rsquo;ve been to the official <a href="http://www.akitaonrails.com/2012/11/21/viagem-a-europa-parte-3-tel-aviv-israel"target="_blank" rel="noopener">Holocaust Institute</a> at Yad Vashem, in Israel, and to the one in Washington D.C., because I respect the lessons they left behind. It was supposed to be our duty not to let history repeat itself.</p>
<p>But, such is the power of blind ideology and the leadership of charismatic celebrities.</p>
<p>We had charismatic leaders doing good things and bad things, charismatic nonetheless. For every Lincoln or Churchill, we had a Stalin or a Castro.</p>
<p>What&rsquo;s more difficult is that we can only really know that something went horrendously bad in hindsight, from History. There is no such thing as a black-and-white &ldquo;good&rdquo; vs. &ldquo;evil.&rdquo; You always think that you are doing an excellent job by following charismatic people who seem to be only promoting the well-being of a minority group.</p>
<p>Ask yourself: are you following a selfless person, one who can treat another with more humanity than they got? Or does it sound more like selfish revenge and payback? Hate is always the stuff of evil. A righteous person does not mimic what they claim to fight against. Anyone advocating &ldquo;let&rsquo;s do to them what they did to us&rdquo; is most probably Evil. You cite people like Gandhi. Did you learn nothing from what he taught all his life?</p>
<p>Every Fidel, every Mussolini, every Hitler, they all really believed that they were fighting for the well-being of their people. Every Nazi acted thinking they were doing the right thing for the future of their sons and daughters, that the sacrifices would pay off. That they were being Noble for killing people.</p>
<p>There has never been a better platform to mob people into irrational herds than now. There are YouTubers out there that have millions of more followers than any Hitler ever had.</p>
<p>And to add injury to misery, we&rsquo;ve formed the online consensus that people have a magical, inherent right to &ldquo;never be offended.&rdquo; They shall not be offended by 200-character tweets. That&rsquo;s a capital sin, and the perpetrator must die. Apologies are not enough. The thought police have reached the point where one out-of-context tweet is enough to judge and execute a person&rsquo;s life, without recourse, without parole.</p>
<p>It&rsquo;s fascinating to see how a series of technologies and innovations supposed to broaden the freedom of everybody would turn to become the most potent weapon of mass destruction ever devised. And it didn&rsquo;t need a newborn Hitler.</p>
<p>The end of the world doesn&rsquo;t have to be a catastrophic physical event like a nuclear blast. I think the destruction of the fabric of society itself is even worse. It&rsquo;s not a big evil dictator that will kill Freedom, it&rsquo;s the people who don&rsquo;t deserve it. It&rsquo;s far more nefarious and can be even more damning.</p>
<p>That&rsquo;s the lesson: no Omar Bashir, Bashar Al-Assad, or Nicolás Maduro will, alone, be responsible for destroying society.</p>
<p>Every evildoer in history did what they did <em>&ldquo;in the name of the people.&rdquo;</em></p>
<p>And it all starts with <em>&ldquo;I shouldn&rsquo;t be offended.&rdquo;</em></p>
]]></content:encoded><category>politics</category><category>philosophy</category><category>psychology</category><category>off-topic</category></item><item><title>[Off-Topic] Penn &amp; Teller and Larry Flynt, on Freedom</title><link>https://akitaonrails.github.io/en/2010/03/07/off-topic-penn-and-teller-e-larry-flynt-sobre-liberdade/</link><guid isPermaLink="true">https://akitaonrails.github.io/en/2010/03/07/off-topic-penn-and-teller-e-larry-flynt-sobre-liberdade/</guid><pubDate>Sun, 07 Mar 2010 02:21:00 -0300</pubDate><description>&lt;p&gt;I was flipping through the FX channel yesterday and bumped into a rerun of the great &lt;a href="http://web.archive.org/web/20100313081433/http://www.sho.com/site/ptbs/home.do"target="_blank" rel="noopener"&gt;Penn &amp;amp; Teller, Bullshit!&lt;/a&gt;. Penn and Teller are two famous magicians who perform in Las Vegas and have their own show, Bullshit!, which takes on politics, challenges the status quo, and tears apart fallacies and popular folklore. In this episode they closed with a magic trick: burning the American flag while talking about Freedom of Expression. Watch the clip before you keep reading:&lt;/p&gt;</description><content:encoded><![CDATA[<p>I was flipping through the FX channel yesterday and bumped into a rerun of the great <a href="http://web.archive.org/web/20100313081433/http://www.sho.com/site/ptbs/home.do"target="_blank" rel="noopener">Penn &amp; Teller, Bullshit!</a>. Penn and Teller are two famous magicians who perform in Las Vegas and have their own show, Bullshit!, which takes on politics, challenges the status quo, and tears apart fallacies and popular folklore. In this episode they closed with a magic trick: burning the American flag while talking about Freedom of Expression. Watch the clip before you keep reading:</p>
<video controls>
<source src="https://s3.us-east-2.amazonaws.com/blip.tv/Akitaonrails-PennTeller285.mp4">
Your browser does not support the video tag. [Direct Link](https://s3.us-east-2.amazonaws.com/blip.tv/Akitaonrails-PennTeller285.mp4)
</source></video>
<p>It&rsquo;s no secret that I&rsquo;m a <a href="/en/2009/09/09/off-topic-direitos-do-homem">big fan</a> of America&rsquo;s Founding Fathers. Politics itself doesn&rsquo;t grab me much, but the philosophy behind it does. And there was Penn, burning the American flag live on TV.</p>
<p>You may not know this, but that act, common in public protests across countless countries, is <a href="http://en.wikipedia.org/wiki/Flag_desecration"target="_blank" rel="noopener">considered a crime</a> in much of the world. Not in the United States. The <a href="http://en.wikipedia.org/wiki/First_Amendment_to_the_United_States_Constitution"target="_blank" rel="noopener">First Amendment</a> guarantees Freedom of Expression, so it&rsquo;s unconstitutional for the government to censor the gesture, treated as symbolic expression.</p>
<p>At the end of the trick, for those who don&rsquo;t know it, Penn recites the second stanza of the American anthem, the <a href="http://en.wikipedia.org/wiki/The_Star-Spangled_Banner"target="_blank" rel="noopener">Star-Spangled Banner</a>:</p>
<blockquote>
  <p>On the shore, dimly seen through the mists of the deep,
Where the foe&rsquo;s haughty host in dread silence reposes,
What is that which the breeze, o&rsquo;er the towering steep,
As it fitfully blows, half conceals, half discloses?
Now it catches the gleam of the morning&rsquo;s first beam,
In full glory reflected now shines in the stream:
&lsquo;Tis the star-spangled banner! Oh long may it wave
O&rsquo;er the land of the free and the home of the brave.</p>

</blockquote>
<p>The idea is simple: Freedom of Expression, the free circulation of ideas, is worth more than the flag that symbolizes it, and more than the institutions behind it. It&rsquo;s a strong value, and it&rsquo;s the ground a great society is built on.</p>
<p>That reminded me of another famous case, <a href="http://en.wikipedia.org/wiki/Hustler_Magazine_v._Falwell"target="_blank" rel="noopener">Hustler vs. Jerry Falwell</a>. Falwell was one of those famous religious TV leaders, and Hustler is one of the biggest pornographic magazines in the US. The fight started with a parody of a Campari ad published in the magazine, running a fake interview where Falwell describes a bout of incest with his own mother, all washed down with Campari.</p>
<p>Falwell sued Hustler. The case climbed all the way to the Supreme Court, and the decision was unanimous, 8 to 0:</p>
<blockquote>
  <p>&ldquo;At the heart of the First Amendment is the recognition of the fundamental importance of the free flow of ideas and opinions on matters of public interest and concern. &lsquo;The freedom to speak one&rsquo;s mind is not only an aspect of individual liberty — and thus a good unto itself — but also is essential to the common quest for truth and the vitality of society as a whole.&rsquo; We have therefore been particularly vigilant to ensure that individual expressions of ideas remain free from governmentally imposed sanctions.&rdquo;</p>

</blockquote>
<p>If you haven&rsquo;t seen it yet, I recommend the film <a href="http://en.wikipedia.org/wiki/The_People_vs._Larry_Flynt"target="_blank" rel="noopener">The People vs. Larry Flynt</a>, which dramatizes exactly this episode. Watch the oral argument in the video below:</p>
<video controls>
<source src="https://s3.us-east-2.amazonaws.com/blip.tv/Akitaonrails-LarryFlintFreedom513.mp4">
Your browser does not support the video tag. [Direct Link](https://s3.us-east-2.amazonaws.com/blip.tv/Akitaonrails-LarryFlintFreedom513.mp4)
</source></video>
<p>For a society to flourish and sustain itself, it needs solid foundations. That&rsquo;s why I admire the Founding Fathers so much, men who back in the 18th century had the vision to write masterpieces like the <a href="http://en.wikipedia.org/wiki/United_States_Declaration_of_Independence"target="_blank" rel="noopener">Declaration of Independence</a> and the <a href="http://en.wikipedia.org/wiki/United_States_Bill_of_Rights"target="_blank" rel="noopener">Bill of Rights</a>.</p>
<p>For me, all of this connects to the idea of <a href="http://en.wikipedia.org/wiki/Organizations"target="_blank" rel="noopener">Organizations</a> in the broad sense, and companies in the narrower one. On a smaller scale, a company is a community, with its own culture, rules, laws, and government.</p>
<p>And it astonishes me how primitive the ideological foundation of these communities still is. Most look like a <a href="http://en.wikipedia.org/wiki/Totalitarianism"target="_blank" rel="noopener">totalitarian government</a>, by the textbook definition:</p>
<blockquote>
  <p>Totalitarianism is a political system where the state, usually under the control of a single political organization, faction, or class, recognizes no limits to its authority and strives to regulate every aspect of public and private life wherever it wishes. Totalitarianism is generally characterized by the coincidence of authoritarianism (where ordinary citizens have no significant part in the state&rsquo;s decision-making) and ideology (a perverse scheme of values promulgated by means of institutions to direct most aspects of public and private life).</p>
<p>Totalitarian regimes or movements maintain themselves in political power by means of an official ideology and propaganda disseminated by state-controlled media, a single party controlling the state, cults of personality, control over the economy, regulation and restriction of free discussion and criticism, the use of mass surveillance, and the use of state terrorism.</p>

</blockquote>
<p>Sound familiar? I guarantee you can describe plenty of companies with the definition above. Do you have the right to &ldquo;freedom of expression&rdquo; inside yours? Or are some opinions subject to punishment, especially when they look like the Falwell case?</p>
<p>In my opinion, a Mission and Values document, so as not to be totally useless, should look like the <em>Bill of Rights</em> and start, at the very least, with something on the level of the First Amendment.</p>
]]></content:encoded><category>philosophy</category><category>politics</category><category>off-topic</category></item><item><title>[Off-Topic] Man's Rights</title><link>https://akitaonrails.github.io/en/2009/09/09/off-topic-direitos-do-homem/</link><guid isPermaLink="true">https://akitaonrails.github.io/en/2009/09/09/off-topic-direitos-do-homem/</guid><pubDate>Wed, 09 Sep 2009 23:14:00 -0300</pubDate><description>&lt;p&gt;&lt;img src="http://s3.amazonaws.com/akitaonrails/assets/2009/9/8/The_Virtue_of_Selfishness_Ayn_Rand_unabridged_M_original.jpg" alt="" loading="lazy" /&gt;&lt;/p&gt;
&lt;p&gt;I normally don&amp;rsquo;t like talking about politics. I hate it. I&amp;rsquo;ve always thought it was a huge waste of time.&lt;/p&gt;
&lt;p&gt;But faced with the more unhinged strains of left-wing populism, with the ignorance that glorifies Cuba&amp;rsquo;s tyrant-socialism or Venezuela&amp;rsquo;s totalitarian dictatorship, with the clamor for re-nationalization and the movements against privatization, all of it propped up on the idea of &amp;ldquo;the good of the people,&amp;rdquo; &amp;ldquo;for the benefit of the majority,&amp;rdquo; &amp;ldquo;helping the weak&amp;rdquo; and other such nonsense, I decided to offer at least a small philosophical contribution.&lt;/p&gt;</description><content:encoded><![CDATA[<p><img src="http://s3.amazonaws.com/akitaonrails/assets/2009/9/8/The_Virtue_of_Selfishness_Ayn_Rand_unabridged_M_original.jpg" alt=""  loading="lazy" /></p>
<p>I normally don&rsquo;t like talking about politics. I hate it. I&rsquo;ve always thought it was a huge waste of time.</p>
<p>But faced with the more unhinged strains of left-wing populism, with the ignorance that glorifies Cuba&rsquo;s tyrant-socialism or Venezuela&rsquo;s totalitarian dictatorship, with the clamor for re-nationalization and the movements against privatization, all of it propped up on the idea of &ldquo;the good of the people,&rdquo; &ldquo;for the benefit of the majority,&rdquo; &ldquo;helping the weak&rdquo; and other such nonsense, I decided to offer at least a small philosophical contribution.</p>
<p>I translated one more chapter from Ayn Rand&rsquo;s book, <a href="http://web.archive.org/web/20090802051516/http://www.aynrandbookstore2.com/prodinfo.asp?number=AR09B"target="_blank" rel="noopener">The Virtue of Selfishness</a>, which deals with exactly this subject. Keep in mind it was written in the context of the 1960s. Even so, it&rsquo;s striking how little has changed on this front.</p>
<p>Before the chapter, one more passage from the introduction, on the foundation of the &ldquo;rational egoism&rdquo; of Objectivism:</p>
<blockquote>
  <p>Observe the indecency of what passes for moral judgments today. An industrialist who produces a fortune, and a gangster who robs a bank are regarded as equally immoral, since they both sought wealth for their own &ldquo;selfish&rdquo; benefit. A young man who gives up his career in order to support his parents and never rises beyond the rank of grocery clerk is regarded as morally superior to the young man who endures an excruciating struggle and achieves his personal ambition. A dictator is regarded as moral, since the unspeakable atrocities he committed were intended to benefit &ldquo;the people,&rdquo; not himself.</p>
<p>Observe what this beneficiary-criterion of morality does to a man&rsquo;s life. The first thing he learns is that morality is his enemy; he has nothing to gain from it, he can only lose; self-inflicted loss, self-inflicted pain and the gray, debilitating pall of an incomprehensible duty is all that he can expect. He may hope that others might occasionally sacrifice themselves for his benefit, as he grudgingly sacrifices himself for theirs, but he knows that the relationship will bring mutual resentment, not pleasure—and that, morally, their pursuit of values will be like an exchange of unwanted, unchosen Christmas presents, which neither is morally permitted to buy for himself. Apart from such times as he manages to perform some act of self-sacrifice, he possesses no moral significance: morality takes no cognizance of him and has nothing to say to him for guidance in the crucial issues of his life; it is only his own personal, private, &ldquo;selfish&rdquo; life and, as such, it is regarded either as evil or, at best, amoral.</p>
<p>&hellip;</p>
<p>Since selfishness is &ldquo;concern with one&rsquo;s own interests,&rdquo; the Objectivist ethics uses that concept in its exact and purest sense. It is not a concept that one can surrender to man&rsquo;s enemies, nor to the unthinking misconceptions, distortions, prejudices and fears of the ignorant and the irrational. The attack on &ldquo;selfishness&rdquo; is an attack on man&rsquo;s self-esteem; to surrender one, is to surrender the other.</p>

</blockquote>
<h2>Chapter 12 – Man&rsquo;s Rights<span class="hx:absolute hx:-mt-20" id="chapter-12--mans-rights"></span>
    <a href="#chapter-12--mans-rights" class="subheading-anchor" aria-label="Permalink for this section"></a></h2><p>If one wishes to advocate a free society — that is, capitalism — one must realize that its indispensable foundation is the principle of individual rights. If one wishes to uphold individual rights, one must realize that capitalism is the only system that can uphold and protect them. And if one wishes to gauge the relationship of freedom to the goals of today&rsquo;s intellectuals, one may gauge it by the fact that the concept of individual rights is evaded, distorted, perverted and seldom discussed, most conspicuously seldom by the so-called &ldquo;conservatives.&rdquo;</p>
<p>&ldquo;Rights&rdquo; are a moral concept — the concept that provides a logical transition from the principles guiding an individual&rsquo;s actions to the principles guiding his relationship with others — the concept that preserves and protects individual morality in a social context — the link between the moral code of a man and the legal code of a society, between ethics and politics. Individual rights are the means of subordinating society to moral law.</p>
<p>Every political system is based on some code of ethics. The dominant ethics of mankind&rsquo;s history were variants of the altruist-collectivist doctrine which subordinated the individual to some higher authority, either mystical or social. Consequently, most political systems were variants of the same statist tyranny, differing only in degree, not in basic principle, limited only by the accidents of tradition, of chaos, of bloody strife and periodic collapse. Under all such systems, morality was a code applicable to the individual, but not to society. Society was placed outside the moral law, as its embodiment or source or exclusive interpreter — and the inculcation of self-sacrificial devotion to social duty was regarded as the main purpose of ethics in man&rsquo;s earthly existence.</p>
<p>Since there is no such entity as &ldquo;society,&rdquo; since society is only a number of individual men, this meant, in practice, that the rulers of society were exempt from moral law; subject only to traditional rituals, they held total power and exacted blind obedience — on the implicit principle of: &ldquo;The good is that which is good for society (or for the tribe, the race, the nation), and the ruler&rsquo;s edicts are its voice on earth.&rdquo;</p>
<p>This was true of all statist systems, under all variants of the altruist-collectivist ethics, mystical or social. &ldquo;The Divine Right of Kings&rdquo; summarizes the political theory of the first — &ldquo;Vox populi, vox dei&rdquo; of the second. As witness: the theocracy of Egypt, with the Pharaoh as an embodied god — the unlimited majority rule or democracy of Athens — the welfare state run by the Emperors of Rome — the Inquisition of the late Middle Ages — the absolute monarchy of France — the welfare state of Bismarck&rsquo;s Prussia — the gas chambers of Nazi Germany — the slaughterhouse of the Soviet Union.</p>
<p>All these political systems were expressions of the altruist-collectivist ethics — and their common characteristic is the fact that society stood above the moral law, as an omnipotent, sovereign whim worshiper. Thus, politically, all these systems were variants of an amoral society.</p>
<p>The most profoundly revolutionary achievement of the United States of America was the subordination of society to moral law.</p>
<p>The principle of man&rsquo;s individual rights represented the extension of morality into the social system — as a limitation on the power of the state, as man&rsquo;s protection against the brute force of the collective, as the subordination of might to right. The United States was the first moral society in history.</p>
<p>All previous systems had regarded man as a sacrificial means to the ends of others, and society as an end in itself. The United States regarded man as an end in himself, and society as a means to the peaceful, orderly, voluntary coexistence of individuals. All previous systems had held that man&rsquo;s life belongs to society, that society can dispose of him in any way it pleases, and that any freedom he enjoys is his only by favor, by the permission of society, which may be revoked at any time. The United States held that man&rsquo;s life is his by right (which means: by moral principle and by his nature), that a right is the property of an individual, that society as such has no rights, and that the only moral purpose of a government is the protection of individual rights.</p>
<p>A &ldquo;right&rdquo; is a moral principle defining and sanctioning a man&rsquo;s freedom of action in a social context. There is only one fundamental right (all the others are its consequences or corollaries): a man&rsquo;s right to his own life. Life is a process of self-sustaining and self-generated action; the right to life means the right to engage in self-sustaining and self-generated action — which means: the freedom to take all the actions required by the nature of a rational being for the support, the furtherance, the fulfillment and the enjoyment of his own life. (Such is the meaning of the right to life, liberty and the pursuit of happiness.)</p>
<p>The concept of a &ldquo;right&rdquo; pertains only to action — specifically, to freedom of action. It means freedom from physical compulsion, coercion or interference by other men. Thus, for every individual, a right is the moral sanction of a positive — of his freedom to act on his own judgment, for his own goals, by his own voluntary, uncoerced choice. As to his neighbors, his rights impose no obligations on them except of a negative kind: to abstain from violating his rights.</p>
<p>The right to life is the source of all rights — and the right to property is their only implementation. Without property rights, no other rights are possible. Since man has to sustain his life by his own effort, the man who has no right to the product of his effort has no means to sustain his life. The man who produces while others dispose of his product, is a slave.</p>
<p>Bear in mind that the right to property is a right to action, like all the others: it is not the right to an object, but to the action and the consequences of producing or earning that object. It is not a guarantee that a man will earn any property, but only a guarantee that he will own it if he earns it. It is the right to gain, to keep, to use and to dispose of material values.</p>
<p>The concept of individual rights is so new in human history that most men have not grasped it fully to this day. In accordance with the two theories of ethics, the mystical or the social, some men assert that rights are a gift of God — others, that rights are a gift of society. But, in fact, the source of rights is man&rsquo;s nature.</p>
<p>The Declaration of Independence stated that men &ldquo;are endowed by their Creator with certain unalienable rights.&rdquo; Whether one believes that man is the product of a Creator or of nature, the issue of man&rsquo;s origin does not alter the fact that he is an entity of a specific kind — a rational being — that he cannot function successfully under coercion, and that rights are a necessary condition of his particular mode of survival.</p>
<p>&ldquo;The source of man&rsquo;s rights is not divine law or congressional law, but the law of identity. A is A — and Man is Man. Rights are conditions of existence required by man&rsquo;s nature for his proper survival. If man is to live on earth, it is right for him to use his mind, it is right to act on his own free judgment, it is right to work for his values and to keep the product of his work. If life on earth is his purpose, he has a right to live as a rational being: nature forbids him the irrational.&rdquo; (Atlas Shrugged.)</p>
<p>To violate man&rsquo;s rights means to compel him to act against his own judgment, or to expropriate his values. Basically, there is only one way to do it: by the use of physical force. There are two potential violators of man&rsquo;s rights: the criminals and the government. The great achievement of the United States was to draw a distinction between these two — by forbidding to the second the legalized version of the activities of the first.</p>
<p>The Declaration of Independence laid down the principle that &ldquo;to secure these rights, governments are instituted among men.&rdquo; This provided the only valid justification of a government and defined its only proper purpose: to protect man&rsquo;s rights by protecting him from physical violence.</p>
<p>Thus the government&rsquo;s function was changed from the role of ruler to the role of servant. The government was set to protect man from criminals — and the Constitution was written to protect man from the government. The <em>Bill of Rights</em> was not directed against private citizens, but against the government — as an explicit declaration that individual rights supersede any public or social power.</p>
<p>The result was the pattern of a civilized society which — for the brief span of some hundred and fifty years — America came close to achieving. A civilized society is one in which physical force is banned from human relationships — in which the government, acting as a policeman, may use force only in retaliation and only against those who initiate its use.</p>
<p>This was the essential meaning and intent of America&rsquo;s political philosophy, implicit in the principle of individual rights. But it was not formulated explicitly, nor fully accepted nor consistently practiced.</p>
<p>America&rsquo;s inner contradiction was the altruist-collectivist ethics. Altruism is incompatible with freedom, with capitalism and with individual rights. One cannot combine the pursuit of happiness with the moral status of a sacrificial animal.</p>
<p>It was the concept of individual rights that had given birth to a free society. It was with the destruction of individual rights that the destruction of freedom had to begin.</p>
<p>A collectivist tyranny dare not enslave a country by an outright confiscation of its values, material or moral. It has to be done by a process of internal corruption. Just as in the material realm the plundering of a country&rsquo;s wealth is accomplished by inflating the currency — so today one may witness the process of inflation being applied to the realm of rights. The process entails such a growth of newly promulgated &ldquo;rights&rdquo; that people do not notice the fact that the meaning of the concept is being reversed. Just as bad money drives out good money, so these &ldquo;printing-press rights&rdquo; negate authentic rights.</p>
<p>Consider the curious fact that never has there been such a proliferation, all over the world, of two contradictory phenomena: of alleged new &ldquo;rights&rdquo; and of slave-labor camps.</p>
<p>The &ldquo;gimmick&rdquo; was the switch of the concept of rights from the political to the economic realm.</p>
<p>The Democratic Party platform of 1960 summarizes the switch boldly and explicitly. It declares that a Democratic Administration &ldquo;will reaffirm the economic bill of rights which Franklin Roosevelt wrote into our national conscience sixteen years ago.&rdquo;</p>
<p>Bear clearly in mind the meaning of the concept of &ldquo;rights&rdquo; when you read the list which the platform offers:</p>
<p>&ldquo;1. The right to a useful and remunerative job in the industries or shops or farms or mines of the nation.</p>
<p>&ldquo;2. The right to earn enough to provide adequate food and clothing and recreation.</p>
<p>&ldquo;3. The right of every farmer to raise and sell his products at a return which will give him and his family a decent living.</p>
<p>&ldquo;4. The right of every businessman, large and small, to trade in an atmosphere of freedom from unfair competition and domination by monopolies at home and abroad.</p>
<p>&ldquo;5. The right of every family to a decent home.</p>
<p>&ldquo;6. The right to adequate medical care and the opportunity to achieve and enjoy good health.</p>
<p>&ldquo;7. The right to adequate protection from the economic fears of old age, sickness, accidents and unemployment.</p>
<p>&ldquo;8. The right to a good education.&rdquo;</p>
<p>A single question added to each of the above eight clauses would make the issue clear: At whose expense?</p>
<p>Jobs, food, clothing, recreation(!), homes, medical care, education, etc., do not grow in nature. These are man-made values — goods and services produced by men. Who is to provide them?</p>
<p>If some men are entitled by right to the products of the work of others, it means that those others are deprived of rights and condemned to slave labor.</p>
<p>Any alleged &ldquo;right&rdquo; of one man, which necessitates the violation of the rights of another, is not and cannot be a right.</p>
<p>No man can have a right to impose an unchosen obligation, an unrewarded duty or an involuntary servitude on another man. There can be no such thing as &ldquo;the right to enslave.&rdquo;</p>
<p>A right does not include the material implementation of that right by other men; it includes only the freedom to earn that implementation by one&rsquo;s own effort.</p>
<p>Observe, in this context, the intellectual precision of the Founding Fathers: they spoke of the right to the pursuit of happiness — not of the right to happiness. It means that a man has the right to take the actions he deems necessary to achieve his happiness; it does not mean that others must make him happy.</p>
<p><a href="http://tinyurl.com/5bkx5d"target="_blank" rel="noopener"><img src="http://s3.amazonaws.com/akitaonrails/assets/2009/9/10/declaration_original.jpg" alt=""  loading="lazy" /></a><br>
<em>&ldquo;We hold these truths to be self-evident, that all men are created equal, that they are endowed by their Creator with certain unalienable Rights, that among these are Life, Liberty and the <strong>pursuit of Happiness</strong>.&rdquo; – Thomas Jefferson</em></p>
<p>The right to life means that a man has the right to support his life by his own work (on any economic level, as high as his ability will carry him); it does not mean that others must provide him with the necessities of life.</p>
<p>The right to property means that a man has the right to take the economic actions necessary to earn property, to use it and to dispose of it; it does not mean that others must provide him with property.</p>
<p>The right of free speech means that a man has the right to express his ideas without danger of suppression, interference or punitive action by the government. It does not mean that others must provide him with a lecture hall, a radio station or a printing press through which to express his ideas.</p>
<p>Any undertaking that involves more than one man, requires the voluntary consent of every participant. Every one of them has the right to make his own decision, but none has the right to force his decision on the others.</p>
<p>There is no such thing as &ldquo;a right to a job&rdquo; — there is only the right of free trade, that is: a man&rsquo;s right to take a job if another man chooses to hire him. There is no &ldquo;right to a home,&rdquo; only the right of free trade: the right to build a home or to buy it. There are no &ldquo;rights to a &lsquo;fair&rsquo; wage or a &lsquo;fair&rsquo; price&rdquo; if no one chooses to pay it, to hire a man or to buy his product. There are no &ldquo;rights of consumers&rdquo; to milk, shoes, movies or champagne if no producers choose to manufacture such items (there is only the right to manufacture them oneself). There are no &ldquo;rights&rdquo; of special groups, there are no &ldquo;rights of farmers, of workers, of businessmen, of employees, of employers, of the old, of the young, of the unborn.&rdquo; There are only the Rights of Man — rights possessed by every individual man and by all men as individuals.</p>
<p>Property rights and the right of free trade are man&rsquo;s only &ldquo;economic rights&rdquo; (they are, in fact, political rights) — and there can be no such thing as &ldquo;an economic bill of rights.&rdquo; But observe that the advocates of the latter have all but destroyed the former.</p>
<p>Remember that rights are moral principles which define and protect a man&rsquo;s freedom of action, but impose no obligations on other men. Private citizens are not a threat to one another&rsquo;s rights or freedom. A private citizen who resorts to physical force and violates the rights of others is a criminal — and men have legal protection against him.</p>
<p>Criminals are a small minority in any age or country. And the harm they have done to mankind is infinitesimal when compared to the horrors — the bloodshed, the wars, the persecutions, the confiscations, the famines, the enslavements, the wholesale destructions — perpetrated by mankind&rsquo;s governments. Potentially, a government is the most dangerous threat to man&rsquo;s rights: it holds a legal monopoly on the use of physical force against legally disarmed victims. When unlimited and unrestricted by individual rights, a government is men&rsquo;s deadliest enemy. It is not as protection against private actions, but against governmental actions that the Bill of Rights was written.</p>
<p>Now observe the process by which that protection is being destroyed.</p>
<p>The process consists of ascribing to private citizens the specific violations constitutionally forbidden to the government (which private citizens have no power to commit) and thus freeing the government from all restrictions. The switch is becoming progressively more obvious in the field of free speech. For years, the collectivists have been propagating the notion that a private individual&rsquo;s refusal to finance an opponent is a violation of the opponent&rsquo;s right of free speech and an act of &ldquo;censorship.&rdquo;</p>
<p>It is &ldquo;censorship,&rdquo; they claim, if a newspaper refuses to employ or publish writers whose ideas are diametrically opposed to its policy.</p>
<p>It is &ldquo;censorship,&rdquo; they claim, if businessmen refuse to advertise in a magazine that denounces, insults and smears them.</p>
<p>It is &ldquo;censorship,&rdquo; they claim, if a TV sponsor objects to some outrage perpetrated on a program he is financing — such as the incident of Alger Hiss being invited to denounce former Vice-President Nixon.</p>
<p>And then there is Newton N. Minow who declares: &ldquo;There is censorship by ratings, by advertisers, by networks, by affiliates which reject programming offered to their areas.&rdquo; It is the same Mr. Minow who threatens to revoke the license of any station that does not comply with his views on programming — and who claims that that is not censorship.</p>
<p>Consider the implications of such a trend.</p>
<p>&ldquo;Censorship&rdquo; is a term pertaining only to governmental action. No private action is censorship. No private individual or agency can silence a man or suppress a publication; only the government can do so. The freedom of speech of private individuals includes the right not to agree, not to listen and not to finance one&rsquo;s own antagonists.</p>
<p>But according to such doctrines as the &ldquo;economic bill of rights,&rdquo; an individual has no right to dispose of his own material means by the guidance of his own convictions — and must hand over his money indiscriminately to any speakers or propagandists, who have a &ldquo;right&rdquo; to his property.</p>
<p>This means that the ability to provide the material tools for the expression of ideas deprives a man of the right to hold any ideas. It means that a publisher has to publish books he considers worthless, false or evil — that a TV sponsor has to finance commentators who choose to affront his convictions — that the owner of a newspaper must turn his editorial pages over to any young hooligan who clamors for the enslavement of the press. It means that one group of men acquires the &ldquo;right&rdquo; to unlimited license — while another group is reduced to helpless irresponsibility.</p>
<p>But since it is obviously impossible to provide every claimant with a job, a microphone or a newspaper column, who will determine the &ldquo;distribution&rdquo; of &ldquo;economic rights&rdquo; and select the recipients, when the owners&rsquo; right to choose has been abolished? Well, Mr. Minow has indicated that quite clearly.</p>
<p>And if you make the mistake of thinking that this applies only to big property owners, you had better realize that the theory of &ldquo;economic rights&rdquo; includes the &ldquo;right&rdquo; of every would-be playwright, every beatnik poet, every noise-composer and every nonobjective artist (who have political pull) to the financial support you did not give them when you did not attend their shows. What else is the meaning of the project to spend your tax money on subsidized art?</p>
<p>And while people are clamoring about &ldquo;economic rights,&rdquo; the concept of political rights is vanishing. It is forgotten that the right of free speech means the freedom to advocate one&rsquo;s views and to bear the possible consequences, including disagreement with others, opposition, unpopularity and lack of support. The political function of &ldquo;the right of free speech&rdquo; is to protect dissenters and unpopular minorities from forcible suppression — not to guarantee them the support, advantages and rewards of a popularity they have not gained.</p>
<p>The Bill of Rights reads: &ldquo;Congress shall make no law &hellip; abridging the freedom of speech, or of the press &hellip;&rdquo; It does not demand that private citizens provide a microphone for the man who advocates their destruction, or a passkey for the burglar who seeks to rob them, or a knife for the murderer who wants to cut their throats.</p>
<p>Such is the state of one of today&rsquo;s most crucial issues: political rights versus &ldquo;economic rights.&rdquo; It&rsquo;s either-or. One destroys the other. But there are, in fact, no &ldquo;economic rights,&rdquo; no &ldquo;collective rights,&rdquo; no &ldquo;public-interest rights.&rdquo; The term &ldquo;individual rights&rdquo; is a redundancy: there is no other kind of rights and no one else to possess them.</p>
<p>Those who advocate laissez-faire capitalism are the only advocates of man&rsquo;s rights.</p>


<div class="embed-container">
  <iframe
    src="https://www.youtube.com/embed/qUNYbCOMp8k"
    title="YouTube video player"
    frameborder="0"
    allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share"
    referrerpolicy="strict-origin-when-cross-origin"
    allowfullscreen>
  </iframe>
</div>

]]></content:encoded><category>philosophy</category><category>politics</category><category>economics</category><category>off-topic</category></item></channel></rss>