Things we had to change in order to upgrade from Angular 1.2.26 to 1.3.14
The difference between JavaScript context binding and partial argument application.
Solving objections to switching to functional javascript.
Implementing every other array method using reduce.
Excellent book from a master who explains one area of JavaScript in detail.
How to use provider to allow user modules to configure 3rd party features.
Measuring generator vs promise performance.
Iterative, recursive, promise-returning factorial interview question.
Resources and links for learning about upcoming v2 AngularJS.
How to run ES6 (EcmaScript2015) code using 6to5 transpiler.
Please pick on API pattern and stick to it.
Good way to call the first promise-returning function.
A use case where point-free event callback does not work well.
Simple end to end testing via iframe API.
You can quickly show JavaScript code and its output in the example pages.
How I made a custom Google search across my github projects and blog posts.
Modern promise-based or event-driven JavaScript no longer uses returned values.
Convert NodeJS EventEmitter emit to a promise-returning method.
How to determine if a dependency module was actually used?
Finish M tasks while running N asynchronous tasks at once using Q or ES6 Promises.
Use script tag attributes to pass config values.
How to find the first item after the second number in an array.
Profiling and speeding up a function using Chrome and v8-natives.
Ignoring some arguments and partial binding for methods calls.
Replace NodeJS require to add cache busting, pre- and post-processing, mocking, arguments.
FP in plain JavaScript using partial application, composition, closures and higher-order functions.
Mocking responses using turtle-run, service-turtle and ng-wedge.
Summary of the AngularJS performance lessons learnt.
A common feature implemented in object-oriented and functional styles.
Find bottlenecks in live web application using Chrome DevTools code snippets.
Thunkifying is currying, argument reordering and middleware stacks.
User acceptance testing with code coverage information using was-tested.
Separate and update JavaScript code coverage information using tested-commits.
You should use iterator methods for clarity and fewer side effects.
Proposal for The O'Reilly Software Architecture Conference 2015
Test live application by mocking responses without modifying code or installing plugins.
Which keys are expensive in a collection of objects?
Feeding fake variables to a function taken out of its lexical scope.
Plus easy promise chaining using Ramda.
Make a presentation about your life a couple of weeks after joining the company.
Measuring how close a library follows semver semantics when publishing new releases.
Implementing Todo list with Undo using immutable data structure.
Eliminate variables and functions via flexible selective application.
Functor + Applicative = Applier
Plot data right inside Chrome DevTools while debugging.
Semi-private data common to link and controller without adding to the scope.
Functor Promise together with Maybe applicative.
Test function for purity using lexical scope and runtime context.
Guarantee fewer side effects by using immutable objects instead of JavaScript arrays.
Prepare for future async data flow by wrapping primitives in promises.
Limit dirty checking to the given scope when reacting to user events.
Check if your current module breaks other modules before publishing.
An experiment in offloading AngularJs dirty checking and model updates to a separate browser thread.
Profiling and speeding up AngularJs application step by step using Chrome DevTools code snippets
Run useful code fragments on-demand to analyze website performance.
$q.all(Array) and $q.all(Object) example
Changing filter function after async initialization.
See what each loaded Angular module provides and how it links to its dependencies.
Examples of unit testing Angular code from Node.
Prevent silent module overrides, misspelled directives, undefined expressions.
Loading and running simple Angular app under Node.
A function can configure itself via options argument to keep API clean and simple.
Selective argument binding using lodash, ramda and heroin
Methods one needs to call to make the unit tests work.
Reflecting on the first year of blogging about software development.
Locating the exception in minified JavaScript code.
Avoid using `this` keyword in the API object revealed from a module.
Debugging unit tests run by Karma using Chrome DevTools.
Testing lazy async assertion by spying on objects.
Tag places in your private source code as good examples for others
If I had to design static source code analysis service
How to observe JavaScript v8 JIT events
Iterating over objects using lodash functions.
Clear and easy to read defensive programming with check-types.js and check-more-types.js
Grunt plugins for tightening a project - linting, complexity, todos, etc.
Writing a functional adaptor makes a nice interview question.
Everyday Calculus, Discovering the hidden math all around us by Oscar E. Fernandez.
Run unit tests in production environment using lazy-test
An argument for trying Ramda if you love _
Exploring the marvelous materials that shape our man-made world
Easily test code in private closures using test-mole.
How to open source pieces of your software
A delicious feast of mathematical, geometrical and historical dishes.
Asynchronous processing using ES6 generators.
Promise chain looks like a railroad with two tracks.
Example refactoring a block of code containing OR condition
A small team can produce high quality software without exhaustive and long testing cycles.
Pick QUnit/gt if you need TDD, use Mocha if you want BDD, and Ava if preparing for the future.
We use assertions in our unit tests instead of built-in matchers.
Single method working as both getter and setter
Promise throttling and flatMapLatest equivalent
The power of mathematical thinking
Same simple problem solved in different programming styles.
Keeping the same load order of files and tests can lead to hidden bugs.
Keep dependecies up to date to get bug and performance fixes, not features.
Use lazy and helpful assertions instead of Jasmine matchers in the unit tests.
Another set of examples using generators.
Current level of ES6 in various tools.
Explanation of closures via lexical scope
One can easily apply too much or wrong type of curry.