Through the Computer History Museum, Adobe has released the source code for PhotoShop 1.0.1.  There's a git repository for it as well.  They've also got the original MacPaint and QuickDraw source code and the System/360 APL source code from 1972 - all source code licensed for non-commercial use.

This puts me in mind of the "programmer archaeologists" of the Qeng Ho in A Deepness In The Sky.

On another note, Rainbows and Pwnies is working on rdis, a binary analysis tool with Lua scripting support.  While the current work is targeted at Linux, it doesn't look like there's any reason it wouldn't work on other systems that use ELF/PE and can build the required supporting libraries.

I can't really mention binary analysis tools without putting in a plug for pahole, a tool for finding unused memory "holes" in data structures.  Unfortunately also very Linux-centric.

Daniel Lemire has a short bit on the fact that big-O notation is a teaching tool:
The problem with the big-O notation is that it is only meant to help you think about algorithmic problems. It is not meant to serve as the basis by which you select an algorithm!
Finally, a discussion of antifragile systems.  This looks like it might be a concept worth exploring in more detail, if I can find actual concrete recommendations.  I dislike development methodologies that can't give me solid examples of how and what to do in order to achieve the desired goals.

No comments: