- Greenspun's Tenth Rule of Programming
- Any sufficiently complicated C or Fortran program contains an ad-hoc, informally-specified, bug-ridden, slow implementation of half of Common Lisp.
nip2 aims to be about halfway between Excel and Photoshop. You don't directly edit images --- instead, like a spreadsheet, you build relationships between objects.
You enter formula (or select menu items) to describe how to make a new object from some of the objects you already have. nip2 keeps track of these relationships: if you make a change anywhere, nip2 automatically recalculates anything affected by the change.
You can load a 500MB image, rotate it by 12 degrees, and immediately view the transformed image. This is because only the pixels needed to paint the display are actually calculated. You can add a slider, link it to the rotation, and as you drag the slider you can see your 500MB image spinning on the screen.
You can apply a filter to the rotated image, zoom in to check the effect on individual pixels, crop out a small section of the filtered image and save the cropped area to disc. All this happens pretty much instantly and with only a few mouse-clicks. The final save may take a little while (since nip2 does actually have to calculate some pixels then), but it will only calculate the pixels it absolutely has to (it will not rotate the entire 500MB image, for example).
The software itself along with documentation, dicussion and examples can be found at the main Nip2 Website.