Making Up for Misplaced Passion

I love JavaScript. I love programming in general, but despite its numerous downsides, I have enjoyed JavaScript more than any other language, especially with the recent developments coming in ES2015. There is just one problem: God is supposed to be my primary love and JavaScript shouldn't even be in the top 3, and I have shown very little love for God in a way that the masses could distinguish. Continue reading →

Simplifying the ES6 Workflow with JSPM

Simplifying the ES6 Workflow with JSPMFor a while now, people all around the JavaScript community have been declaring that it is now possible to use ES6 to produce JavaScript applications. Aside from the fact that browsers are implementing more and more of the spec, there are several great transpilers that will convert you ES6 code into ES5 code, such as Traceur and Babel (aka 6to5 which recently changed its name). Beyond that, there are more and more tools coming out to make the workflow simpler and more robust. Today is a great day for ES6! Continue reading →

No More Global npm Packages

No More Global npm PackagesThe JavaScript development community has been welcoming new and powerful tools by the dozens each year, almost too fast for mortals to keep up with. Many of these tools come with npm packages that you can install globally so you can use the command line tool from anywhere on your computer. This can be very convenient, but is it the right way to do it? Is there a better alternative? Continue reading →

Why Aren’t You Living in Harmony with ES6 Now?

Why Aren't You Living in Harmony with ES6 Now?When I first heard about the next version of JavaScript - known as ECMAScript 6 (ES6 for short) or JavaScript Harmony - I got really excited about all of the new features that we'd be getting to simplify and improve our lives as JavaScript developers... until I thought about it for 5 more seconds and realized that my kids would probably all be grown and moved out before I didn't need to support any browsers that don't support ES6, so I may never actually get to use it. I'm discovering that ES6 might be more usable right now than I thought it would be. Continue reading →

My Top 5 (9?) Favorite HTML5 APIs

My Top 5 Favorite HTML5 APIsHTML5 is a lot more than just a few cool new semantic tags. The HTML5 specification actually has a bunch of new JavaScript APIs for us all to work with. Not all of these specs are finalized and they're not all widely implemented in browsers. That doesn't necessarily mean that we can't take advantage of them right now, though. Let's look at a few of the ones that I'm most excited for and discuss if and how they can be used today. Continue reading →

Don’t Name Your Inputs ‘action’ or ‘submit’!

Don't Name Your Inputs 'action' or 'submit'!Most browsers have a bug that isn't really a bug. In fact it was purposely put there to make your simpler, but if you (or someone else writing the HTML code) do something in the right (read "WRONG!") way, it could completely blow up. Specifically, if you assign your input tags a name or id attribute of "action" or "submit", you can cause some very well hidden bugs. Continue reading →

Speed up jQuery Development with CodeLobster

Speed up jQuery Development with CodeLobsterjQuery is, for the modern JavaScript developer, an essential library to master. It comes fully-featured with all the DOM manipulation, event management and AJAX functionality that today’s web applications require. But JavaScript’s dynamic nature means that coding can be a drag. When you can’t tell your this from your that, you need professional-grade tooling like CodeLobster to fit the pieces. Continue reading →

Patterns for Asynchronous Programming with Promises

Patterns for Asynchronous Programming with PromisesPromises are currently the best tool we have for asynchronous programming and they appear to be our best hope for the forseeable future, even if they'll be hiding behind generators or async functions. For now, we'll need to use promises directly, so we should learn some good techniques for using them right now, especially when dealing with multiple asynchronous operations, whether they happen in parallel or sequentially. Continue reading →

Better Backbone Applications with MarionetteJS Giveaway

Better Backbone Applications with MarionetteJS GiveawayThis post serves a dual purpose: first of all it is to announce (to anyone who hasn't see the original announcement on my social media accounts) that the book that I've been writing for the past year - that has kept me from more actively working with my blog - is finally finished! Second, I'm giving away 3 copies of that very same book! That's right, I'm holding two giveaways at once: one for Backbone.js Patterns and Best Practices and one for my very one Better Backbone Applications with MarionetteJS! Continue reading →