Alkaline battery

  • Producing an alkaline battery may require up to 100 times more energy than the battery can deliver.
  • This highlights the significant environmental cost of disposable batteries.
22 April 2020 · 1 min · Stefano Chiodino

Asia after World War Two

  • Post-WWII forecasts predicted Asia would struggle due to poverty and lack of resources.
  • Asia was considered worse off than Africa at the time.
  • Labour force and education proved sufficient to overcome resource disadvantages.
22 April 2020 · 1 min · Stefano Chiodino

Probability can be subjective

  • Probability can be subjective depending on the information available to the observer.
  • A secretly observed coin flip is 100% certain for the observer but 50% for everyone else.
  • Knowledge asymmetry changes the probability assessment for different people.
22 April 2020 · 1 min · Stefano Chiodino

The Pragmatic Programmer - Notes

  • Programming is a craft; pragmatic programmers are inquisitive, realistic, and adaptable.
  • Core principles include DRY, orthogonality, reversibility, and designing by contract.
  • Invest regularly in your knowledge portfolio: learn new languages, read technical books.
  • Test early, test often, test automatically — and refactor without hesitation when needed.
  • Communicate effectively and always take pride in your work.
15 May 2018 · 25 min · Stefano Chiodino

Welcome to the Internet: You Don't Know Shit, Part 1

  • An empty CSS background-image: url('') causes the browser to make an extra HTTP request to the current page URL.
  • This triggered a mysterious duplicate request that was difficult to debug.
  • The fix is to conditionally omit the style attribute entirely when no image URL is available.
  • The bug was found only by old-school elimination debugging.
25 November 2016 · 2 min · Stefano Chiodino

Forestry.io

  • Forestry.io is an online editor for Hugo sites, an improvement over scribe.io.
  • The preview feature doesn’t support all Hugo shortcodes.
  • It lacks spell checking, mobile responsiveness, and the ability to move files between folders.
  • It feels designed primarily for Jekyll with Hugo support as secondary.
9 October 2016 · 2 min · Stefano Chiodino

Delete all google stored passwords

  • Google Passwords has no built-in bulk delete feature.
  • A short JavaScript snippet run in the browser console can click all delete buttons at once.
27 July 2016 · 1 min · Stefano Chiodino

Hugo: write, deploy, host

  • Hugo with IntelliJ IDEA for writing and Hugo’s live reload server for previewing.
  • Deployment is automated via a bash script triggered by git push or GitHub webhooks.
  • The site is hosted on a DigitalOcean server with nginx, PageSpeed module, and brotli compression.
  • This setup achieved a 100/100 Google PageSpeed score on both mobile and desktop.
21 May 2016 · 6 min · Stefano Chiodino

Server load test

  • A $5/month DigitalOcean server handled 10,000 requests/second for plain HTML.
  • Strong HTTPS reduced capacity to about 4,000 requests/second.
  • Google PageSpeed module dropped throughput to 150 clients/second.
  • Brotli compression at maximum level further reduced it to 75 clients/second but significantly shrank file sizes.
14 May 2016 · 2 min · Stefano Chiodino