jQuery IRC Center

IRC Help


link Getting Connected

Internet Relay Chat (IRC) is an ancient and trusty medium to let users "chat" across the network. IRC is one of the best ways to get instant technical help from enthusiastic experts.

To send and receive messages on IRC you connect with a "client" and then "join" a "channel" relevant to your "interests". Channels (denoted by # and then the channel name) are essentially "chat rooms" where like-minded souls congregate, and messages posted to a channel can be seen by other users in the channel.

You can also send private messages (PMs) to other users but this should only be done on very special occasions, or if you already know the person you're PMing.

The #jQuery channel on the Freenode network is very active, whimsical and especially patient with novices.

link Downloading A Client

To connect to Freenode you will need a client.

You can download and install a client for your chosen operating system. Some popular choices are listed below:

link OS X

  • colloquy.info/downloads.html

link Windows, GNU/Linux

  • xchat.org/download/

link Windows, GNU/Linux, OS X

  • www.pidgin.im/download/

link Emacs

  • www.emacswiki.org/ERC - ERC is included in GNU Emacs since v22.3

link Using Webchat

If you don't have the time or inclination to install a client, or if you just need help right now now now, you can use the Freenode webchat client which runs within your browser:

  • webchat.freenode.net/?channels=#jquery

Once you have selected a nickname and connected to Freenode you should be able to join #jQuery by entering /join #jQuery. Search your client's documentation if this gives you any trouble.

link Etiquette

Unlike some other channels, #jQuery is quite welcoming and friendly to newcomers, but we'd rather help you to help yourself than do your work for you. Keep in mind that users on the channel are volunteers who will happily find better things to do if you're rude or unable provide sufficient information to allow them to assist you.

Here are some general points to help you get the most out of your #jQuery experience.

  • Google first, ask questions later. There's no need to waste a living breathing human's time when a solution to your problem is sitting on a page or forum somewhere waiting to enlighten you.

  • Read the topic when you join. This will often contain useful links, versions and information about protocol and etiquette.

  • Be patient. People are likely already involved in troubleshooting for other folks but will try to deal with your questions when they are able. You can repost your question periodically but don't be annoying about it.

  • Keep investigating your issue while you wait for help -- and if you do find a solution let the channel know so people won't waste time solving it for you again.

  • If you are asked more questions about your problem, answer them, even if they seem unrelated. It's not a quiz; someone is trying to get more information about the situation in order to work toward a solution, and they may recognize an issue as symptomatic of a common problem.

  • If you can help someone else with their problem while waiting for help with your own, please do so! This is good karma and will win you the respect and admiration of your peers.

  • Don't be mad. #jQuery is (amongst other things) a social channel. Patiently endure any unrelated nonsense you see there. Part of the charm of #jQuery is that it can be silly and fun. Embrace this.

  • Stick around! Even when your immediate problem is solved, you may be able to help other people, or learn something you didn't know. Plus, the next time to you have a problem (and you will), you'll already be connected.

  • Photographs. Famous plaid-clad people occasionally frequent #jQuery and most will be happy to pose for a photograph with you. Be respectful, say thank you and know when to leave them be.

link Code of Conduct

  • Trolling other users isn't tolerated. We define "trolling" as purposefully inciting arguments for the purposes of angering/harassing other users or derailing the channel. Disagreements can (and do!) happen, just remember there's a human on the other end.

  • Derogatory remarks against any race, religion, lifestyle, orientation, etc. will not be tolerated, nor will behaviors like stalking, harassment, or ban evasion.

  • Kicks, quiets, bans, and other corrective actions are applied at the discretion of whoever has those powers. If you feel you or somebody else was unfairly treated, please message the op in private. Airing your grievances in the channel is rarely productive.

  • Please refrain from "backseat modding". If you feel there's an issue that requires intervention, please privately message an op. You can find a list by running /msg chanserv access list #jquery.

  • If an op asks you to do something, do it. If you don't want to, PM the op directly to discuss it.

  • Bans and quiets generally expire after 24 hours - sometimes all that's needed is a cool off period.

Finally, follow this CoC in spirit, not just by letter. Any attempt (purposeful or not) to skirt the rules by claiming your actions weren't expressly prohibited will generally lead to further corrective action.

In short: Don't be a jerk. If you have an issue, privately message an op to discuss it.

link Asking Good Questions

The best way to get your issue resolved quickly is to get straight to the point and explain the problem clearly with a reduced test case.

You don't need to ask if anyone is available or wants to help. Just ask your question and they can get on with it.

A reduced test case is the minimum amount of code required to reproduce your issue. If you link someone to 2000 lines of unrelated HTML, CSS and Javascript, they're very likely to close the browser and spend some quality time with their families instead.

Although it might seem like more work, creating a reduced test case will often help you fix the problem yourself! And if not, someone else has a much better chance of fixing things for you in the absence of extraneous code.

Front-end problems have an advantage over server-side issues because anyone with a web browser should be able to what's going wrong without needing to install anything or mess around with databases or filesystems.

We favour sites like jsfiddle.net/ and jsbin.com/ where you can easily create and share a demo of your problem. Try to include just enough code to reproduce and explain your problem. If you can make it simple enough someone will usually be able to link you to an updated version that solves your problem in a moment or two.

link Giving Good Answers

Good answers do at least two things: solve the issue AND educate. If we can help you prevent these issues in the future, or fix them yourself next time they arise, that leaves us free to help you with more interesting problems in the future. If someone tries to explain how and why their solution fixes your problem, pay attention and you might just learn something.

Remember, you're answering a real live actual person's question, and your goal should be to help them. Assume they're asking the question in good faith, and don't mock or belittle them for not knowing. Some folks are easier to help than others, and if at any given time you don't have the inclination to help someone constructively, it's better to just not engage them at all. If you get exasperated or busy, politely let them know that you can't assist them any longer.

Try to give relatively practical, feasible advice that is related to the problem at hand. The following, for instance, is not helpful.

1
2
3
<john_doe> hi, i'm using wordpress and i'm having a problem with my jquery
<john_doe> nothing works and i'm getting a message that '$ is not defined'
<bad_example> WordPress sucks, rewrite your app in Rails

link Learning to Fish: Debugging

A lot of the times that someone comes in looking for support, it's not really because their code isn't working (which it isn't). Instead, they're unfamiliar with the debugging tools that make it possible to diagnose errors in code as it executes. Armed only with alert statements and looking at their code hard, it may not be surprising that they are struggling. If this sounds like you — or the person you're helping — it's a good time to pause and introduce them to the modern debugging tools and techniques. Though debugging is an art not instantaneously learned, beginning to acquire the skill as soon as possible is of the utmost importance and can greatly cut down on future support needs for the individual.

One useful resource borne out of experience in the #jQuery channel is Fixing These jQuery, which is a presentation that introduces basic concepts like how to open browser debugging tools, set breakpoints, and inspect application state. If you haven't used these tools, it's a great place to start.

link More Reading

Much has been written to advise you on how to get help and be helpful.

  • Freenode: Catalysts

If you're finding yourself belittled, abused, banned or ignored you should read one of these guides to help you work out where you're going wrong.

  • How To Ask Questions The Smart Way
  • Help Vampires: A Spotter’s Guide
gipoco.com is neither affiliated with the authors of this page nor responsible for its contents. This is a safe-cache copy of the original web site.