Using functional lenses to modify objects by example.
Sometimes code refactoring removes need for advanced mocking in tests.
Do not mock your internal modules, mock system APIs instead!
Setting up a rock solid NPM module with semantic release in 30 seconds.
Randomize tests and run previously failed ones first for speed.
How a new VP should be judged.
Refactor code using functional approach (Maybe, immutable).
Use non-root user inside Docker container.
Collecting all inputs to each function to figure out missing test data.
Deriving Y Combinator that makes recursive functions without assignments possible.
A self-critique of my own code as a poster for the office.
How to pick the right JavaScript snapshot testing library.
Array or Observable - Ramda can do both!
Why would you want a function in a box?
How to distribute a tree-shaken library for your tree-shaken apps using Rollup.
How to ensure your Curl code snippets are working, plus generate documentation.
Use async / await in ServiceWorker code because browsers support both.
How to enforce a custom condition on a string.
How to use fallback with client-side routing to avoid 404 pages.
Replacement for testing pyramid.
How to patch a bug, use the fix in prod and submit the pull request in five minutes.
WebPack as a service for quick personal projects and examples.
Replacing the built-in OR and TERNARY operators with Maybe monads.
How I asked my coworkers to give me anonymous career advice.
When every function is pure, advanced async actions are easy.
Setting up and starting with TypeScript and Visual Studio Code editor.
A few examples of common mistakes when preparing presentation slides.
Tips and tricks for larger web apps.
A few ways ES6 removes boilerplate code.
How to do snapshot testing if the data frequently changes?
Writing tests should not be an afterthought.
My favorite semantic release plugins.
Framework-agnostic snapshot testing for Mocha, Jest, Vue, etc.
Call sites API does not support source maps, while exception stack does.
How to update the code comments during program execution.
Notes on small, simple off the shelf login solution for SPA and server.
Simple example showing automated client code change when module API changes.
Speed up resources by pushing them from a Node HTTP/2 server.
A few tips on getting the most out of E2E testing tool Cypress
A functor hides some piece of common imperative code (and makes it composable)
How exchanging a set of streams solves component communication.
How to send additional context for crashes that happen during E2E tests.
Imperative If/Else example implemented using Either monads and reactive style.
How to open custom protocol links from external applications in your Electron desktop app.
How to quickly find an error by bisecting the Git commit log.
How to use hashes for CDN resources.
How to run a database locally that syncs with central one.
4 Ops things that I am excited about today.
A screencast of ServiceWorker technology.
How to split a large pull request into several smaller ones.
How to setup semantic release on private GitLab and on-premises NPM registry.
Array, Promise and Maybe monads. Plus Docker is a functor.
Examples of useful functionality that can be used in Node without code changes.
FrontEndCamp NYC presentation about Cycle.js framework.
How to bundle a server including private modules and static files.
How to build multiple test bundles and run E2E test jobs in parallel.
How to roll over data when doing clean deploys using Zeit. Plus testing with Cypress!
Using NPM hooks and Zeit to send the semantic release notes to Slack.
How to set the semantic release tokens without going through the wizard.
Links to projects mentioned during BuzzJS presentation.
Small shortcut for using shell variable with default values in NPM scripts.
How to stop only if a specific expression becomes true.
Links to additional information included in my OSCON 2016 presentation.
A neat trick for making object property updates into a live event stream.
How to start and get better at using JavaScript in functional way.
A short guide to using Cypress.io for feature testing web pages.
Links to additional information included in my CycleCond 2016 presentation.
The difficulty using Promises vs the simplicity using reactive streams
How is Cycle.js a pure framework if I can listen to the UI events and output new DOM?
Small functional tips for RxJS
How much code do you need to run Cycle.js program?
Common code snippets for using Pug (formerly Jade) template language.
Test function for purity using isolated v8 execution context.
Setting up multiple applications in a single DigitalOcean instance via Dokku.
Helpful AngularJS code snippets.
Helpful JavaScript code snippets.
How to use semantic versioning with external services.
Verifying that a request to external service happens.
Shepherding Git commits from dev to stage to production.
The benefits of using ES6 parameter destructuring over options object pattern.
What to do if you want to compose multiple functions (hint - make them unary).
Node.js is really really really susceptible to code injection attacks.
How to make sure your Express or Koa server correctly sends crashes to exception monitoring service.
How I came up with idea and how I wrote wiseli
How to unit test Rx code on Node with Mocha (and Ava).
Deploying several microservices into the cloud with Tutum.
A single data structure holding program's state has a name - database.
Refactoring common auth flow from callbacks into Tasks.
Deploying website and microservice containers to production.
Building microservices with Fuge
Manage side effects when coding NodeJS servers with Rx and Cycle.js (NOT about server-side rendering).
How to write innovative, unusual and simply cool software.
Once you have a Promise instance the action has already started. Task instance does not run until someone calls .fork()
How to use ES6 and target older NodeJS platforms without mangling the code to the lowest common denominator
My build process that can precisely target any Nodejs environment using Rollup, ES6 Feature tests and Babel.
Single function modules, flat libraries and applications.
Plus how to run a web application when the JavaScript itself is disabled*.
How to build and distribute libraries via NPM using WebPack bundler.
Three things I try to do as a senior engineer
An instantly loading, self-rewriting application using ServiceWorker - it is like server rendering inside your browser.