in reply to Where to begin on coding a forum

if you've got a login mechanism and a database hookup, it should be very simple to set up a basic threaded discussion. Use something high-level like Class::DBI and you could do it in an afternoon, most of which could be spent on fun stuff like tree display and mutual moderation. All you really need is a discussion class, a message class and three templates (thread, message and input). You've got the rest already.

Integration with other parts of the site has been a big advantage, in my experience: you start thinking about attaching discussions to all sorts of things in ways that wouldn't otherwise be possible, and the goodwill generated in the discussion is much more directly shared with the rest of the site.

But if you want something more complicated than basic conversation, or you just have to have those little (gak) smily things, you might be better off taking one of the existing systems and hacking on it a bit to use your layout templates and user identities. The open directory has hundreds to choose from, though installing ACS just to run your forum might be a bit rough.

Normally i wouldn't recommend the commercial ones like UBB, but since your users are computer people they might go for that button-crazy look.

As for the html input, my (blush) HTML::TagFilter was written for exactly this purpose and will give you more fine-grained control and fewer loopholes than if you hand-roll it. It's stable, but not exactly mature. Version 0.08 is due, oh, any day now.