One thing becomes clear if you use Drupal for a while... the built-in search is poor. This isn't unexpected, as search is a a hard problem to solve. And the best way to get around hard problems is to find someone who has done it well and use their work.
As a Web Developer here at Forum One, I've had the opportunity to work with a lot of modules in the Drupal Community. Some modules I've used are great and make working with Drupal a dream, others... not so much. I'd like to use this blog entry to focus on the must have modules I use on nearly all my Drupal projects. First off, you should know that I almost always start with Acquia's packaged distribution of Drupal called Acquia Drupal.
Panels is one of those Drupal modules that engenders a range of feelings around here. Some people love it -- interface configurable layout! -- and some hate it -- difficult to manage .5em gutters. But it, and Chaos Tools which it is based on, provide a great deal of useful functionality. The problem is there is very little documentation on how to extend it beyond what's distributed in code. The basics of extending Panels/CTools is pretty easy, you just implement the hook_ctools_plugin_directory to tell it where to look for your files, e.g.
In creating Datamasher, Forum One's entry in the Sunlight Labs Apps for America 2 competition, we were faced with a challenge: how to take some of the data cataloged on the government's new data.gov website and make it more easily used and understood by average citizens.
As good as Drupal is, as many third-party enhancements there are, there usually comes a time when they just aren't quite enough. The answer to that is to create your own module that does exactly what you or your client needs. And since they are for a particular site the natural inclination is to name them after that site. Similarly when developing a theme for a site the natural inclination is to name the theme for the site. This, unfortunately, is a Very Bad Thing (TM).