Learning Postscript
When I worked at Lithotech, a design, prepress and web development/hosting company, it was my second job as a mac operator in Prepress. I wanted to learn everything that I could about my field.
I found a great website that was about the right level for me (I have no idea what the url is now, or if it even exists), that explained the PDF format in some technical detail. There was also a bookshelf at the back, and among the books was Adobe's guide to writing Postscript programs. So I read that and learnt how to write Postscript.
Year later when learning Canvas javascript APi, I found the similarities interesting. And in fact Open GL is somewhat similar in some ways. From memory I think Processing as a few similar functions too.
I wound up dreaming up ways but not actually using this information in my next job. At Omnigraphics, we had to create a series of swatches around a colour that we'd be trying to match, and we'd send that and samples of a billboard to the target printer, we'd get a call and go out and check to see what the closest match was.
Operators were manually stepping up swatches and semi-randomly choosing colours with slight variations in ink breakdowns. So on the first day I wanted to put my mark on the place. I created an illustrator action (which I'd never actually done before that) that stepped up a swatch along two likely axis of colours from C, M, Y and K), so all the user had to do was key in the original breakdown. This was used by some of the operators, others still preferred their manual way.
But I wrote a postscript program that did the same thing. IF I just knew how to program in some language (other than postscript) at the time, I could have make a small app to generate swatches. Alas that part never happened, but we got on fine without it.