I started using Mercurial to track my code a few months ago, and I absolutely love it. It gives me peace of mind when I make changes, and makes sharing my code between computers and with other people a breeze. Bug tracking is outside the normal realm of Version Control, but I realized the ease with which you can set up Mercurial would make an integrated bug tracker ideal - it lives with the code, and updates with code changes - every revision would not only be a snapshot of the codebase, but also the state of all known bugs.
After looking around at other options, I shelved the idea, unsatisfied with what I'd found, until I came across an elegant little task manager called t. It seemed almost ideal for what I envisioned - lightweight, well suited for tracking with version control, and easy to use. But it lacked some key features I really wanted, so I set about improving on it, and the end result is my new distributed bug tracker, b. While not a replacement for large bug tracking utilities like BugZilla, it's a great little tool for easily bug tracking projects that don't need all the extra fluff such larger projects provide.
A utility for searching a directory or file for matches to a given pattern. A cross platform graphical grep utlity, it quickly searches through large directories, showing individual matches and their context. Exact matches, Java's powerful regular expression language, and find/replace are just some of the functionality of jGrep.