Spinal Surgery: Upgrade to Backbone 1.0

Upgrading to Backbone 1.0Hey everyone! Backbone 1.0 has been released! I just happened to pop by their site and see that 1.0 is official, so I have no idea how long it has been out. Why didn’t anyone tell me?!?!? Anyway, there may be some of you out there wondering what this new version brings and how they can update their apps to bring in all the new awesomeness. Well, let’s take a gander at this new stuff. Continue reading →




Introducing RaptorJS: An End-to-End JavaScript Toolkit for Building Adaptive Modules and UI Components

Introducing RaptorJS – An End-to-End JavaScript Toolkit for Building Adaptive Modules and UI ComponentsRaptorJS is a toolkit that provides support for building JavaScript modules and UI components that function on the server and in the browser. RaptorJS promotes modularity which is crucial to building reasonably complex HTML web applications that are maintainable, easily testable and optimized. Keep reading below to learn more about this helpful toolkit. Continue reading →



Lazy Loading JavaScript with RequireJS

Lazy Loading with RequireJSAs sites are filled with more and more JavaScript, images, and other external assets, web pages have become more and more bloated and performance has started to become an issue. We’ve started to reduce the number of requests by concatenating our JavaScript and CSS files and using image sprites. We’ve shrunk file sizes by minifying and obfuscating our code and optimizing our images. All these measures are good, but they may not be enough. If you have a large JavaScript application, you could have a ton of JavaScript being loaded in that single concatenated file, and a lot of the code may be going to waste because it isn’t used. Let’s try to “lazy load” some of that code using RequireJS. Continue reading →



Announcement: Probable Down Time

I have exciting and potentially dreadful news. Currently this site is hosted on my previous employer’s servers. I’m currently taking steps to migrate this site to my own hosting. This is great news, except that it means that there is likely to be some down time. I’m not sure when exactly (some time over the weekend and maybe on Monday… maybe later, but not likely), but I will work my butt off to try to keep the site from being down too long. Sorry for the inconvenience, and thanks for your patience.

God bless you and happy coding!
Joe Zimmerman



JavaScript Asynchronous Architectures: Events vs. Promises

Javascript Asynchronous Architecture: Events vs PromisesI can’t go a single week without reading another article talking about promises. I’m not talking about when you promise your child that you’ll be there for his baseball game. I’m talking about a JavaScript concept that makes it simple to react to the completion of asynchronous actions without indenting ten levels when you need to perform one asynchronous action after another. While working on a Backbone application, I tried to use promises in my main asynchronous processes, and I’m not sure it measures up to my previous event hub architecture. Let’s compare! Continue reading →



Giveaway: JavaScript from the Ground Up

Giveaway - JavaScript from the Ground UpOn this site, I offer tutorials and articles to the public for no charge. There are many places you can go, though, that offer in-depth and very thorough tutorials for a fee. Of course, these charges are warranted. I could never put together something so complete without charging for it and there’s no way I’d demand someone else to do it either. Well, today I’m offering coupons to receive access to the “JavaScript Training from the Ground Up” course on udemy.com for absolutely free (normally $35). Continue reading →



Is Sending Messages Through WebSockets Slow on Chrome?

Is Sending Messages Through WebSockets Slow on Chrome?It wasn’t long ago that I ran into a strange issue with Chrome. My Jasmine tests were failing because the timeout on the asynchronous actions was too short for Chrome, even though they worked perfectly fine for Firefox. This led to me writing some tests to see if Chrome’s WebSocket implementation was slow which gave some pretty interesting results. I’ve also heard some interesting results from my readers, so I decided to investigate some more. Continue reading →



Book Review: Clean Code: A Handbook of Agile Software Development

Clean Code: A Handbook of Agile Software CraftmanshipEvery once in a while, a book is published that is considered a must-read for every JavaScript developer who wants to be able to do his or her job the right way and understand JavaScript the way it should be understood. Well, Clean Code is one of those books, except it’s not just for JavaScript developers. This book will enlighten every programmer and bring them to an understanding of how great programming is achieved in practically any language. Continue reading →



Are WebSockets Slow on Chrome?

Slow WebSockets on Chrome?In my last article where I talked about unit testing Socket.IO with Jasmine, there was a point where I mentioned that I needed to use timeouts that were a second and a half when doing the asynchronous connecting and disconnecting from the Socket.IO server. It was working just fine with 750 millisecond timeouts on Firefox, but when I tested it in Chrome, timeouts were being reached and the specs were failing. Let’s see if we can get to the bottom of this and figure out why Chrome failed so hard here. Continue reading →