Andy Gavin's blog

The Miser

A miser sold all that he had and bought a lump of gold, which he buried in a hole in the ground by the side of an old wall. Daily he visited it to inspect it. Rousing the curiosity of one of his workmen, who, suspected that there might be treasure and decided to watch his movements. He soon discovered the hidden treasure, and when his master's back was turned, came to the lump of gold, and stole it. When the Miser returned, on his next visit, found the hole empty he began weep and to tear his hair.


New Zealand's new copyright amendment

I blogged earlier about zealous politicians trying to turn off internet connections to prevent copyrights from being infringed. Politicians in New Zealand seem to be about to pass a law that would allow internet connections to be severed just on an accusation alone. Freedom groups are portraying this as assuming guilt just on an accusation: this has to be wrong by any standard. What is the excuse? It is too difficult for ISP's to prove that copyright is being infringed. I don't live in New Zealand but this type of policy should be shown the contempt it deserves.


Image Relighting

Hewlett Packard have developed an interesting photographic technique that is being used by archeologists, although it could have interesting uses for other applications. It involves taking multiple images of the same subject under various lighting conditions by moving and changing the intensity of the light. These images are then merged together into a Polynomial Texture Map which represents how the subject responds to light. This allows photograph to be re-light in software showing up features normally invisible to the naked eye.

Injecting Logs into Seam Beans

When using the Seam container there is a useful @Logging annotation which injects a Log object at runtime into the bean. In the seam documentation for unit testing the advice generally is to have setters on the class to allow the dependencies to be set. For logging this is not really desirable. One alternative for this is to write a small class that will inject a Log object prior to testing:

import java.lang.reflect.Field;
import org.jboss.seam.annotations.Logger;
import org.jboss.seam.log.Log;
public class LoggerInjector {

Off-camera flash

I recently went to an interesting talk given by Phil Bourne about off-camera flash which he gave a practical demonstration of using multiple speedlight flashes off-camera to get studio like effects.

Collaborating at Pixar: Randy Nelson on using improvisation skills when collaborating

Randy Nelson talks about how collaboration in Pixar draws on to principles of improvisation:

  1. Accept any offer: when given a new idea try and work with it. Dismissing it causes the idea to be lost.
  2. Make your partner look good: don't extend work on the basis of making it better, think of it of adding value.

Making an effort: develop it right

Even after so many years programming I still find it a shock to sit with someone and they immediately want to cut corners. Without the any immediate deadline and pressure to want to hack something out so it works then leave it to rot. It is maddening to come to a system that a buiness has spent a fortune redeveloping only to find it's no more maintainable than a legacy solution. There are a number of reasons why developers might be encouraged to throw a solution together:

It's a throwaway script



Subscribe to RSS - Andy Gavin's blog