becoming one of those "old programmers" as i relay another piece of folklore, this time about Kazushige Goto, a japanese patent clerk who ended up becoming one of the world's best assembly optimisers

as it was something to do on his two hour commute to work
i first heard about this story in one of those meaningless computer arguments about compilers, and the old adage of "humans can always outdo compilers. they can look at the assembly produced, and change it"

then someone mentioned Goto, who took a rather different approach
the problem Goto was solving was one of those highly numeric operations, stuff involving linear algebra, multiplications, and matrixes

it was a hobby he'd picked up after playing with an Dec Alpha at work, after being a little disappointed by the performance
he worked on BLAS, a well used set of linear algebra subroutines, and there's various flavours of libraries available

including ones that near exhaustively search the possible assembly to produce an automatically tuned library

even so, Goto's handrolled code was faster
the trick wasn't so much peephole optimisations, but instead restructuring the code, and data to keep the cpu as busy as possible—in this case, making better use of the L2 cache to avoid TLB misses, but a tweet barely covers the insights he had
anyway, at some point Goto was convinced to take a sabbatical from his job at the patent office, to work full time on GotoBLAS over in Texas

his code made the supercomputer run about 30% faster, so much so that the Top 500 almost didn't believe the results
he eventually quit his job at the patent office, moved to texas to continue his work, then had a brief stint at microsoft, before ending up at Intel, working on their numerical libraries

all because he found it fun to play around with assembly language on his commute to work
i guess the moral of the story is that innovation can come from anywhere, or maybe better yet, sometimes innovation comes from people just playing around with things that interest them, rather than grand research budgets and targets, either way, i think his story is neat
as a coda, his linked in profile just says "I've just understand what LU decomposition is; it took for a long time."

(and yes i had to go look that up on wikipedia)
i guess the other moral of this story is that even though it seems programming is fairly well mapped out, there's always room for impactful work, even if most people will never hear about it, but thems the breaks of being a specialist
... and before the avalanche of "his name is Goto... geddit?" comments

personally i think that exceptions being invented by someone called Goodenough is funnier
You can follow @tef_ebooks.
Tip: mention @twtextapp on a Twitter thread with the keyword “unroll” to get a link to it.

Latest Threads Unrolled: