Fruit Blog

Zemanta tech blog – first post!

Posted by andraz, under Uncategorized on October 9th, 2009

Carpenter at work on Douglas Dam, Tennessee (T...
Image by The Library of Congress via Flickr

The story of Zemanta is a story about avoiding to do things. A simple main idea: avoid work. As much as possible.

Avoiding work is the basis of our product. Why spend time finding images and links, when computer can just bring them to you? Why waste time going through three different menus when you can do what you want with a single click? Both our service and its user interface are done in a way to minimize work.

But we don’t stop with efficient user interface design and smart APIs. Avoiding work is the mantra when we we approach development challenges.

Programmers have tried to avoid work since ever (that’s what hardware guys are for). They invented a concept of programming libraries. Reusing as much work already done and just adding last few lines of your own magic (and sometimes not even that if you can use code generation tools). Programmers invented the concept of scripting languages, where you can avoid all kinds of nasty details of baby sitting a computer. They even invented open source where you’re supposed to just take the code and adapt it. So nowdays most of programmers’ work time goes in exploring the wonderful new ways to avoid work.

However avoiding work can be stretched out further. At Zemanta we need a lot of different kinds of organized data. Usually when a company needs to create a taxonomy to classify texts, they hire a taxonomist or three. We look around and notice that there is this wonderful thing called DMoz (TheOpen Directory Project) where 82,243 editors already created something that could map to our needs. And more – they even classified 4.5M pages into this taxonomy, making it even more useful.

When we had a need for a large lexicon of (almost) everything, we downloaded Wikipedia dump and took a look if we can extract the sought-after knowledge. When everybody is building their own semantic repositories and endpoints, we ask ourselves: is this really something we can’t live without? And then we leave doing yet another RDF store or endpoint to others. We just use them to deliver real value to our blog writer or a developer leveraging our API.

In general, that’s what we do at Zemanta. We try to make it possible for other people to avoid their work. And avoiding as much work of our won while doing so.

However that isn’t always easy or possible. Sometimes the all-singing-all-dancing javascript library you are using has a bug and you need to spend 2 days debugging it. Sometimes Python is just too slow and you need to create a wonderful new string class to be used natively by both Python and C++ at the same time. Sometimes smart editors at Wikipedia decide to stop putting IMDB links into topics about movies and you need to find a way to get that information in some other way. Sometimes machine learning library doesn’t do multi-threading and you need to teach it. And just sometimes you need to do things that no man has ever done before.

This is Zemanta tech blog. Blog where we’ll post about those (rare) moments when we couldn’t avoid work. Those moments that both really irritate us and really make us tick. We’ll also repost some older posts from team members.

Hopefully we won’t have much to post about. But still, stay tuned!

Reblog this post [with Zemanta]