.oxo. :cc; 'cccccccc;
'WMMMN. ,::; NMM0 dMMMMMMMMK
dNMNo KMMX NMM0 .'''''NMMK
KMMX NMM0 XMMK
'ldkkxo, cll, 'lllllllll' ;llllNMMWolllllll' NMM0 .lxkkxo;. XMMK 'ooooolc;. .lll.'dkxl. :xkxl. ,codddl;.
,KMMMMNNWMK,WMMo lMMMMMMMMMo kMMMMMMMMMMMMMMMMo NMM0:WMNNNMMMWk. XMMK dMMMMMMMMMXo. 'MMMOK0NMMXx0KMMMN. .xWMMMMMMMMWO'
:MMMK;. 'OWMMMo ......lMMMo .....KMMN......... NMMWXc. .cXMMN. XMMK ......';oXMMN. 'MMMO .WMM: xMMM; ;WMMKc....;OMMW;
XMMX. kMMMo :MMMo KMMX NMMW. 'WMMk XMMK .NMMx 'MMMx .WMM' oMMM: .NMMk dMMN.
'MMMd ;MMMo :MMMo KMMX NMMK XMMK XMMK 'coxkkkxdNMM0 'MMMx .WMM' oMMM: :MMMo;;;;;;;;oMMM,
,MMMl ;MMMo :MMMo KMMX NMM0 .WMMO XMMK .oNMMMNXKKKXWMM0 'MMMx .WMM' oMMM: cMMMMMMMMMMMMMMMM,
.MMMk lMMMo :MMMo 0MMN NMM0 oMMMc XMMX 0MMX;. KMM0 'MMMx .WMM' oMMM: 'MMMd............
OMMW: ,NMMMo ;MMMo xMMMl NMM0 'kMMMx OMMW' .MMMd cWMM0 'MMMx .WMM' oMMM: xMMWd.
.0MMMKdllo0WxMMMo :kkkkkkKMMMXkkkkk' .XMMMXkdoddxd NMMNllodkXMMMK; ;WMMWOdodxOo kMMWkc::cxXWlMMWkxd 'MMMx .WMM' oMMM: lNMMMKxolllodo
:0WMMMMM0;;MMMo dMMMMMMMMMMMMMMMM; .l0WMMMMMMMW. NMMMMMMMMN0o, ,OWMMMMMMWk c0WMMMMMNx'.MMMMMW. 'MMMx .WMM' oMMM: .ckXMMMMMMMMW.
..'.. dMMM: ...'.... ....''... ..'... ..'.. ...... ...''''..
lWMMK
:lllooodONMMMk.
KMMMMMMMMN0o'
',,'''...
.. ' .. ..
.;;' ,,'d. .,,,x .,;' '.,;. .',,' , '. ,', '',,. .,;, ,,,. .,,. .. .. .,,,. , .. .,,,. :c o'.. ,
c: ;l x. .x.,d. 'x ;o. 'x ll o: :l ;l x l' O' x' o,'o. .x.;o.., ol..oc l, ,l lc..' k. :; ''.:x :c o' d. l,
l; ,o.x. d.;o .x :l .k.l, ;l :c ,o x. x' x d. l,,o .x....,d dl..:' :c :l ...;o d, o;.d,.;k :c o' .d:c
,;;, .;;;;. .;;,; ';;;. ,. ., :l;;, .;;;;. : x:;;' .;;;. .;;;' ,;;, x. ,:;,' .;;;. ;;;;. ,;,', .' ,. ,x
,, l. . l.
Learning through open sourceThe Best Way to Learn a Codebase Is to Break Someone Else's
I started sending pull requests to open-source projects in March 2026, mostly to tools I use every day. At the time of writing that’s 170 merged, across Python, C++, Rust, Go and shell. (The full list is generated from GitHub, so it can’t flatter me.) I learned more from the review threads than from the code I wrote. Most of what I learned came from maintainers telling me, politely, that I’d missed something about their project that nobody could have told me in advance. ...