The medium that I've chosen for scheduling office hours is a site called Sign Up Genius. It is pretty easy to use in my experience, and all of my kids' teachers use it for conferences, parties and such. You don't have to have an account on the site to sign up for time slots, which is pretty great - just give them your email address. They will send you a confirmation and a reminder, and nothing else. But if for whatever reason you have trouble claiming a time slot using that site, you can also comment here and I can take care of it for you.
I am only doing signups for a week at a time, because that's about how far in advance I can be fairly confident of my availability. Each week will start on Friday, and I'll post the signups for the following week on Tuesday or Wednesday.
Each signup slot is scheduled to run 90 minutes, but since they're non-adjacent, it's OK if we need to go longer. Anything Dreamwidth-related is fair game: we can talk about code you're writing, code you want to write but don't know how to proceed, code someone else wrote, or things that don't involve code at all (I hear such things exist). My only request is that you don't take more than two slots in a single week, to make sure there is enough of my time to go around. Of course, you're still welcome to catch me on IRC at other times if I seem to be around, and PMs are open 24/7. :)
Here's the link for my available meeting times for the seven-day period starting July 29: