For "us" (meaning a technical audience):
You could pick a subject you like, and challenge it (checking how to does actually work behind the scene, looking for not well-known details, discovering some quirks).
Basically, your topic should be sub-titled:
"Everything about 'foobar' you think you knew, but actually did not fully know".
Whatever topic you end up choosing, it should be one that can be "run" live (for instance, a language where you type snipets of code live during your presentation)
What is nice with this kind of presentation is the way you can easily entice your audience to challenge you, asking questions, and demanding live illustrations of the topics you mention.
That way, you can have a true interactive session (as opposed as a professorial one).
Rehearsal is important of course, but a little less than in a "formal presentation": Your ability to think on your feet will be tested ;)
As Jim said, this depends on your audience and the above advice might not be a good one for other crowds.