During these past months, as I've been learning Rails and getting my feet more and more wet with all the integrated AJAX goodness that's inside Rails, I've found it increasingly frustrating to debug erroneous AJAX code. With regular web development, most of the times you can plainly see if you have an error in your code. Sometimes the results are incorrect, or some aspect of the page is displayed wrong, and other times there's a big, fat error page letting you know something is seriously wrong. However, with AJAX, whenever erroneous code is executed, most of the times you get nothing. The page stays the same, nothing changes, except that feeling of doom inside the pit of your stomach. Then it's time to hit the code again, trying to see if something's wrong.
Luckily for us, there's a very awesome tool made to debug these types of errors quickly and efficiently. Firebug is simply a godsend for anyone who works with web development of any kind. It can help you debug your web apps so easily, this is certainly one tool that I don't know how I lived without these past couple of years. It's a Firefox extension, so you need the Firebox browser installed to use it, no matter if it's on Windows, Linux or Mac. But I wonder, why the hell wouldn't you not have Firefox installed in your computer already? That's a no-brainer.
Firebug helps you debug HTML, CSS and JavaScript. Since it's a browser extension, it does all the debugging right in the browser, while you're executing your page. You don't need to load any other tool, it's all at the touch of your fingertips. It can be used with any programming language. I've used it while developing in PHP, Python with Django and, of course, Ruby on Rails. Not only can you debug the code, you can even make Firebug do some neat things, like edit the HTML, CSS or Javascript code directly in the browser to see the changes immediately, and it even has a profiler that can tell you where your site is slow.
Oh, I forgot to mention the best part of Firebug: It's 100% free. You just have to love Open Source projects. It's still difficult to believe that people out there can put out such a quality and life-saving tool for everyone's use without asking for a single cent in return. That's the beauty of Open Source. I don't know if there are any commercial tools that do what Firebug does, but I wouldn't trade this tool for anything.
If you're a web developer, and haven't heard of this awesome tool, I suggest you click the link I set above for Firebug and get it as soon as possible. Unless you like torturing yourself with debugging the old-fashioned way.