Homework

This is a part of the homework feature of my blog, which is an ongoing conversation with my mate S.F.

Hey mate. Lovely to see you again, as always. Can’t wait to do it all again soon!

I have a note here for “Odd Socks”, but I don’t remember what that was about. Do you?

I mentioned about Elle Cordova. She’s made some really creative and humorous YouTube videos including Grammarian vs Errorist.

You mentioned about Eternal Sunshine of the Spotless Mind.

The sublime is a way of simplifying what you don’t understand.

You mentioned The Road to Wigan Pier by George Orwell.

“Ideas are like fish. If you want to catch little fish, you can stay in the shallow water. But if you want to catch the big fish, you’ve got to go deeper. Down deep the fish are more powerful and more pure. They’re huge and abstract. And they’re very beautiful.” — David Lynch on Big Ideas. In fact he wrote a book titled Catching the Big Fish.

I mentioned about the Sex Ed Sketch from Monty Python’s Meaning of Life. Speaking of Monty Python there was also medical experiments for the lot of you.

I mentioned about Chesterton’s fence which is the principle that reforms should not be made until the reasoning behind the existing state of affairs is understood.

I mentioned about Cantor’s diagonal argument. This method can be used to construct the more numerous real numbers from the integers.

My essay on Cartesian Dualism is here: 2008-2-PHI130.Essay.2.

I mentioned this humorous sketch: They’re Made Out Of Meat.

The Bang Preventer – aka DIY Current Limiter with isolation transformer

I asked Tony359 about his current limiter and he referred me to the video below in which he explains his home made contraption. Very cool. I think I should make one of these.

Specs for M5 Pro MacBook Pro

My IRC friend @ngoldbaum got a new MacBook Pro and I was reading about about the specs over here: Apple introduces MacBook Pro with all‑new M5 Pro and M5 Max, delivering breakthrough pro performance and next-level on-device AI.

One feature which jumped out at me was the insanely fast memory bandwidth. This “unified” memory is on the CPU die and shared between CPU and GPU, which, apparently, can eliminate duplication. The M5 Pro supports up to 307 GB/s and the M5 Max supports up to 614 GB/s.

Electronic components to avoid in a product

In this latest video from John Teel, electronic components to avoid in a real product:

  1. USB Micro-B Connections → use USB-C instead
  2. Through-Hole Components → use SMD instead
  3. Barrel Jack Power Connections → use USB-C instead
    • Note: 5.5 × 2.1 mm (5.5×2.1mm) is the common DC barrel jack size, 5.5 × 2.5 mm (5.5×2.5mm) is less common
  4. Unshielded DC-DC Converter Inductors → use shielded inductors instead
  5. Cheap No-Name Electrolytic Capacitors → buy from reputable brand instead, or, better, switch to ceramic or polymer aluminium capacitors
    • If you want no surprises, stick to: Nichicon, Rubycon, Panasonic, Nippon Chemi-Con (aka United Chemi-Con), Elna
    • For professional/industrial designs, also consider: KEMET, Vishay, TDK
  6. Bare Pin Headers as Production Connectors → use connectors rated for your application instead
  7. Mechanical Relays → use solid state instead, for DC consider MOSFET
  8. Single-Source or End-of-Life Components → use widely available components instead
  9. Counterfeit of Clone ICs → buy from authorized distributors instead:
  10. Hobby-Grade Sensors → look for higher grade instead with I2C or SPI digital interfaces

Git Commands to Run Before Reading Any Code

Via Hacker News today was The Git Commands I Run Before Reading Any Code. I made a git-rep.sh script based on these:

#!/bin/bash

# 2026-04-09 jj5 - SEE: https://piechowski.io/post/git-commands-before-reading-code/

main() {

  set -euo pipefail;

  report 'What Changes the Most';
  git log --format=format: --name-only --since="1 year ago" | sort | uniq -c | sort -nr | head -20;

  report 'Who Built This';
  git shortlog -sn --no-merges;

  report 'Where Do Bugs Cluster';
  git log -i -E --grep="fix|bug|broken" --name-only --format='' | sort | uniq -c | sort -nr | head -20;

  report 'Is This Project Accelerating or Dying';
  git log --format='%ad' --date=format:'%Y-%m' | sort | uniq -c;

  report 'How Often Is the Team Firefighting';
  git log --oneline --since="1 year ago" | grep -iE 'revert|hotfix|emergency|rollback';

}

report() {

  echo;
  echo "$1":
  echo;

}

main "$@";