So we have Forums here on CSS-Tricks which are a lovely place to get and give help about web design. Now that I’ve posted almost 500 posts there, I think I have a pretty good feel for what kind of questions make for a good thread and are the most likely to be helpful. Here are some pointers:
1. Provide a link to a live example
This sometimes isn’t possible, but if there is any way you can, please do. It is ten times easier to load up the site and diagnose a problem if we can see it in our own browsers.
This doesn’t mean push code out live on real website that you know is causing problems just so we can see it and try to help. Set up a test page that you can link to, in a sub directory of the site.
A great way to do this is to make a Pen on CodePen.
2. Provide code samples
Code always helps, BUT, use your best discretion when deciding what to paste in. A lot of times people will post their entire HTML and CSS file and there is so much code it’s hard to even scroll through and find the particular bits causing problems. If you have absolutely no idea, that’s fine, but it’s typical you probably have some idea of the problem area. Post that.
Also, remember to wrap your code in
<pre><code>
tags, which help make the code far more readable in the forums.
3. Explanatory illustration / screenshot
If you find it hard to explain what you need in words, sometimes an illustration can do. Screenshots are also very valuable. You can include images that are hosted elsewhere on the boards with the [img] [/img] tag, as well as upload images directly.
4. Exact details
Nobody is more familiar with your problem right now than you are, so you are the best qualified to explain it. Don’t be vague. “It’s not working right in IE!!” doesn’t help much. “When you mouse over the last menu item in IE 6, the submenu pops down but it looks 3 pixels to the right.” is far more helpful.
Lots of questions involve cross browser issues, so make sure to include what browser you are seeing troubles in (and which you aren’t) if possible.
5. What you tried / What you thought would happen
Chances are if you are posting in the forum, you’ve already been doing some troubleshooting. Let us know what you tried, and what happened.
Have you tried using a honeypot field to fight spam? I employed such in a guest book script I wrote an since then I’ve only been hit with 1 Spammer, and they were humanoid.
Good advice Chris and hopefully this will allow people get help quicker.
Important advice
if any one follow it ,he will find the solution quickly
Thanks a lot Chris
Can i translate it
This is such good advice. Too bad the majority of people who read this usually have the common sense to do these already. This information should get sent posted in newbie locations (like Google and Yahoo News) or something.
6 This is not a good title:
From previous forums I’ve admined on (Linux, nothing special), we’ve always implemented the “good description or bust; it’s not our job to describe your problem for everybody else”. Worked well.
As for the spam issue, from experience, the most secure CAPTCHA is the one developed in house and is changed every so often. Humanoids will always get through, even with manual activation, so might as well save some time with a little bit of jQuery and PHP instead of getting countless emails everyday.
If you’re going to develop an in-house CAPTCHA and change it once in a while I’ve found it’s much easier to just use randomized trivia questions. When you start getting spam, you know it’s time to change the questions.
I kind of assume the spam registrations are human. Unless the CAPTCHA has been hacked I guess. I have no way of knowing really.
Manual activation has done a great job so far actually, because I don’t just automatically activate every account, you have to follow the instructions and send me an email to get activated. Awful pain in the ass, I know, but it works for now.
I am looking into moving off phpBB and onto BBPress, which will be better for Spam I think since I believe it can use Askismet. Plus it will be able to share registrations between this blog and the forums, which rocks.
One of my example projects in college was using a bot to do simple character recognition in an image. It would remove all the marks that clutter the image by separating anything that didn’t look like a standard character. It would then split the image into columns based on layers, and subsequently identify the images by characters. If the characters were columned and rotated, our professor had his own version that was able to hatch the image into rows also rotate characters until they matched a common character.
There are also new bots being developed that can do the math logic ( 2 + 2 = {text is entered here}), but there is none that I can think of that is able to do life logic. (ex. What color is an alligator? {text is entered here})
Oh, and BBPress would rock, since when I use the forum (someday), it’d be nice not to have to re-register. Askimet is also a plus.
Why are you doing manual account activations? Automating it is pretty easy using PHP/MySQL.
Basically, users need to click a link in an email to confirm/activate their accounts prior to being able to login. Using a system like this prevent bogus registrations from being used. If an invalid email address is entered, that account can never be activated and if someone registered another person’s address, hopefully that person would not activate that undesired account (you can include verbiage in the email to help with this).
From a programming perspective, this requires the creation of a unique activation code for each registered user (stored in your “users” table). The activation code is then sent in the confirmation email to the user (in a link). When the user clicks the link, they’ll be taken to a page on your site that activates their account (by removing that activation code from their record).
The problem is not bogus email addresses, it is those using automated email accounts to spam other places, such as the forum. I can make a bot right now that is able to do simple regex to find the activation link from a gmail account. I would have no worry about my email being blocked since gmail is such a prevalent service, it would be suicide to block it. Also, remember that gmail supports POP3. I could take from other already available email programs, such as Sylpheed or Thunderbird or from the standard itself and do it myself, to create my own auto email processing client. What I’m trying to say is, email activating is way overused and very easy to abuse.
The best way, as others of us are suggesting, is to use a bot proof CAPTCHA method, which doesn’t involve pattern recognition, but more along the lines of common sense, for which you cannot program. Humanoids will always get through. Those will be the exception.
Now that you bring it up, yes, user activation is by far the best way to go here…. I’m not sure why I didn’t do that in the first place, it’s an option right next to the “by admin” option.
I had some weird problems getting that activated, but I’ve managed to do it. Now for some testing… this might be absolutely perfect.
Ah crap. Actually, I’m not able to activate it. I select the option, hit save, get sent to a blank white page and the change doesn’t take effect.
http://skitch.com/chriscoyier/bgpg6/user-registration-settings
Anyone good with phpbb know what might be wrong?
I remember reading a post about somebody fixing it, but it was by deleting some information at the beginning of their config.php file. It looked like:
<?php /**/eval(base64_decode('alpha numeric sequence')); ?>
You could try that, just make sure to backup the file first, of course. The support team reported it as a malicious alteration, as phpBB never writes to the file.
Sauce
I highly doubt that the spam was human registered. CAPTCHA certainly has been hacked before, I see no reason why the particular library you are using couldn’t be hacked as well.
I like the trivia question suggestion though, problem of course is don’t want to exclude anyone due to cultural differences.
There is a website that has been around for years that fully explains such kinda things.
http://www.catb.org/~esr/faqs/smart-questions.html :)
I detailed some of my thoughts about how to ask a question in forums on my blog a few weeks ago – post = My approach to learning web dev.
What an amazing post you have written. I just want to add a little bit. It is utmost important to have a fitting title that describes the problem; otherwise it would be waste of thread. Also most people simply avoids reading threads having poor titles.
I have been a reader for a LONG TIME but recently the posts lately seem to have gone down. This post was pretty much common sense. Not a fan.
Common sense isn’t too common – evidence is there on every forum you visit.
I think most technical people that read forums probably already know this. I would add as #1 to do a search on the forum site first to see if your question has already been asked….
its awesome Criss, keep it, hope from now i’m going to follow theses steps.
Good list of tips. One more you should add: give your post an informative title! “Hover state not working in IE6” is much more informative than “IE problem,” for example. If a post title is vague I end up just glossing over it; if it’s more descriptive, I’m more inclined to read it.
And sometimes, if it’s a problem I’ve encountered myself, I might already know of a fix just by reading the title!
yes just missed make a good title and not titles like “HELP” or “Strange IE6 Bugs”, but more like “The CSS margins are double sized in IE6 on float left”
I would suggest that a coder gives a clear description of what element or elements are buggy and a list the selectors that are styling the element or elements. Takes time to search fragments of code.