Weeknotes: 10 November to 14 November 2025
Ruby's pretty print, exploring software crafting, learning from technical coaches, turning Ruby code into music, making small changes to a project, sharing, collective memory and debunking the myth of the fast learner

What I have found gripping
In Ruby, typing
ppin an Interactive Ruby terminal prints out a humanly readable object.ppstands forpretty printTurning Ruby code into music and experimenting with it
Learning more about crafting software in a different programming language
Diving into small technical problems and learning from the body of work of experienced technical coaches. I came up with a few different solutions in Ruby before getting to this one for the Leap Years kata:
def check_leap_year_input
puts 'Enter a year: '
year = gets.chomp.to_i
if (year % 4).zero? && (year % 400).zero?
puts "#{year} is a leap year."
else year % 100 != 0
puts "#{year} is not a leap year."
end
end
pp check_leap_year_input
# Note: You are welcome to improve this code if you wish as this is NOT the solution I used for solving the kata after writing its tests
Angie Jones suggests that how someone solves a Wordle challenge may tell us a bit about how they approach solving problems. It often takes me 3 or 4 attempts before guessing the word of the day
Making small changes to a Ruby project and pushing them
Sharing what you create is important regardless of the skill level and (again) so is being part of a supportive community of practice
Seeing cultural influences on what one might make brings about interesting results and conversations, no matter where one is from
The value and necessity of preserving collective memory in context
The fast learner is a myth, according to Paulo Carvalho from Carnegie Mellon University. In his study, he noted: "In the right conditions, people learn at a remarkably similar rate."
What I have read
Newsletter WOR #67: On fête nos 5 ans, Women on Rails
The Myth of the Fast Learner, Carnegie Mellon University's Human Computer Interaction Institute (HCII)
Good Enough Software Engineering, Victor Ronin
class PP, Ruby docs
One Ruby Thing: Use zero? for comparison of numerics like Integer, Float and BigDecimal, Andy Croll
Upload and Serve Images from Dropbox in Your Rails App, Fatuma Hussein
The One-Woman Dev Team Diaries #210, Nadia Odunayo
How I Taught GitHub Copilot Code Review to Think Like a Maintainer, Angie Jones
What if Wordle Could Replace Job Interviews? Angie Jones
Better engineering with right-sized models (PDF) (Sustainable SLMs Lisbon AI), RL Nabors
Wild horses, Gina Trapani
Why engineers refuse coding tests for interviews, Greenhouse
Connected by Data: Weeknotes Nov 5, 2025, Tim Davies
Jean Jullien : Mon dessin Peace for Paris est un signe de solidarité, Gaëlle Legrand
What I have listened to
Beta Hiring : Épisode 2 — Quand le recrutement s’inspire du product marketing ! avec Chloé Girardin
What I have watched
The Psychology of Technologists (Cat Hicks, Catharsis Consulting) | posit::conf(2025)
Featured quote
(...) Let me just give you one piece of advice I’ve learned over my years of live coding with music - there are no mistakes, only opportunities. This is something I’ve often heard in relation to jazz but it works equally well with live coding. No matter how experienced you are - from a complete beginner to a seasoned live coder, you’ll run some code that has a completely unexpected outcome. It might sound insanely cool - in which case run with it. However, it might sound totally jarring and out of place. It doesn’t matter that it happened - what matters is what you do next with it. Take the sound, manipulate it and morph it into something awesome. - Sam Aaron
Further reading and resources
In English
Turn off your AI Assistant for Code Katas, Emily Bache
Let them learn! How to nurture great software engineers, Clare Sudbery
In French
You just read issue #64 of Sandra's Weeknotes. You can also browse the full archives of this newsletter.