Software development is a costly process. Requirements need to be gathered, decisions need to be made, and resources need to be scheduled to write the software. All of these steps require an investment of time and money to get a feature to the point where it starts bringing value to a business. After the feature […]

Tagged:

Think of the last time you goofed up on the job. Maybe you forgot to clean out the microwave in the break room. Maybe you hit “Reply All” when you really meant “Reply.” Or maybe you nodded off during an all-hands meeting. Probably your mistake was a little less banal than any of that, but […]

Tagged:

CC BY-SA

This is part one in a series on the intersection of module bundlers and testing frameworks. Our focus will be webpack and jest but the techniques explored here can be reused with other tools as well. Modern websites and applications are routinely built by combining hundreds of small JavaScript modules. In order to increase the […]

Tagged:

If you’ve had any contact with JavaScript code, you’re probably very familiar with how to define and call functions, but are you aware of of how many different ways you can define a function? This is a common challenge of writing and maintaining tests in Test262—especially when a new feature comes into contact with any […]

Tagged:

Illustration courtesy Matt McLaughlin. It is 9:18 AM on August 21, 2021. You have just finished eating your space-breakfast, and you’re ready to get back to work maintaining the web presence for Omni Consumer Products. After about an hour, you find your latest change fails an acceptance test. It turns out to be a bug […]

Tagged:

CC BY-SA

Recently I saw a tweet about the relationship between values in JavaScript saying that greater or equals means nothing. The tweet reported the following results: null >= 0 // true null > 0 // false null == 0 // false My experience with the JavaScript language makes me believe that everything has a meaning, even […]

Tagged:

Sometimes I’m not satisfied with the way things are. I wish they could be a little bit different, just for a moment. I deal with this desire in my personal life by sighing and gazing through a rain-dotted window. When writing code, I take a more productive approach: I use seams. During application development, there […]

Tagged:

CC BY-SA

Update: This proposal now has two open bugs for implementation, on V8 and SpiderMonkey. https://code.google.com/p/v8/issues/detail?id=3915 https://bugzilla.mozilla.org/show_bug.cgi?id=1135708 In this article, I’ll explore the process of adding syntax to a programming language by going through the process of designing a new JavaScript exponentiation operator, which I’ve submitted to TC39 for consideration in ES7. In many programming languages, […]

Tagged:

I’m honored to have been named lead maintainer of JSHint. Following in Anton‘s footsteps, I’m excited to carry on his vision for the project and see it forward. In addition to overseeing regular maintenance of the project, my primary goal will be to prepare JSHint for ES6. Stewarding this work will be an exciting challenge, […]

Tagged:

Many readers will recognize the following program, which is an adaptation of The Little Schemer’s Y combinator implementation; written and published by Douglas Crockford in 2003 to demonstrate the commonalities found between JavaScript and Scheme. If you’re unfamiliar with recursion, fixed point combinators or the “Y combinator”, take a look at the Wikipedia article and […]

Tagged: