When I was still in school we had to write a MacPaint/Microsoft Paint clone in C. That was one of the coolest assignments we received because we quickly realized that plotting pixels in video memory was slow and tedious. It could take 60s to fill the screen with the paint bucket tool. We had to research and come up with solutions to this kind of problems.
Some of these solutions involved some approximations and some of us opened an OpenGL book for he first time. Also, it was compiled using Borland C++ and everything was done on a 3.5” floppy disk! You can even use it to this way, here’s the executatable and how to run it.
This video explains the principal behind photo editing blurriness and why you usually get black/brown intersect between two bright colors. Something you also see with the new Yosemite or iOS transparency revealing a blurry version of image behind.
I wonder if Apple will see this video and bring out a corrected version in a future release!