Wrappers: staying portable and agile
As developers we build systems using components that other people write. This is the rational way to write software: trying to get the best result using the fewest possible resources. That said, it really pays off in the long run to not only use the best available components but to plan and design for portability. The art of the wrapper. Seeing Jonathan Weiss's simply_stored wrapper for CouchDB and SimpleDB this morning reminded me how important this effort is. The trick is to spend an appropriate amount of time staying portable. In the last 12 years I have invested quite a lot of time and resources working on my own entity identification code (i.e., find people, product, place names in text, relationships between them, associating pronouns in text with names, etc.) Today, I almost always use Open Calais instead of my own code because it performs better, but, I do maintain and improve my code just so I maintain the flexibility of having my own NLP components. I like using the comm...