Better world by better software

Gleb Bahmutov PhD

Our planet 🌏 is in danger

Act today: what you can do

Jan 14 2021
products

Be Careful With Negative Assertions

Because negative assertions can pass for the wrong reason.

Read More

Share Comments
  • cypress
  • testing
Jan 6 2021
products

Backend Code Coverage from Cypress API tests

How to cover the entire backend code using Cypress API tests.

Read More

Share Comments
  • code coverage
  • cypress
  • testing
Dec 27 2020
products

Writing a Custom Cypress Command

A tutorial explaining how to write a custom Cypress command with retry-ability.

Read More

Share Comments
  • cypress
Dec 16 2020
products

Make Cypress Run Faster by Splitting Specs

Split the long-running spec into smaller specs in a subfolder.

Read More

Share Comments
  • cypress
  • performance
  • testing
Dec 9 2020
products

Cypress cy.intercept Problems

A few common cy.intercept gotchas and how to avoid them

Read More

Share Comments
  • cypress
  • testing
Dec 7 2020
products

Cypress Timings

How to see the individual command timings.

Read More

Share Comments
  • cypress
  • performance
Dec 5 2020
process

Massachusetts Climate The Final Push

The planet is burning. What we must do immediately.

Read More

Share Comments
  • climate
Dec 3 2020
process

Debug the Element Visibility Problems in Cypress

How to step through the visibility code to determine why Cypress thinks an element is invisible during the test

Read More

Share Comments
  • cypress
Nov 29 2020
products

Update Dependencies Using The Wisdom of The Crowds

Renovate dependency upgrades become even better by showing the upgrade stats collected across all projects.

Read More

Share Comments
  • modular development
  • renovate
Nov 25 2020
products

Repeat Test to Fight Flake

Repeat the same test and the entire project to find flakey tests

Read More

Share Comments
  • advice
  • cypress
Nov 13 2020
products

Do Not Let Cypress Cache Snowball on CI

Do not use lax restore cache keys or your Cypress cache will blow up in size

Read More

Share Comments
  • advice
  • ci
  • cypress
Nov 12 2020
products

Cypress Metaprogramming

When the failing test is the passing test

Read More

Share Comments
  • cypress
  • testing
Nov 11 2020
process

Net Zero Stretch Code Testimony

Testimony in favor of adopting strict Net Zero building stretch code in Massachusetts

Read More

Share Comments
  • climate
Nov 11 2020
products

Universal Code Test with Cypress

How to confirm that universal JavaScript code outputs the same result in the browser as it does in Node.

Read More

Share Comments
  • cypress
Nov 10 2020
products

Versioned Docs Pages

How to deploy versioned documentation site to GitHub Pages using GitHub Actions

Read More

Share Comments
  • github
Nov 1 2020
people

Help Me Say Yes

How to apply to a job in a way to make the hiring manager say "Yes" to your application.

Read More

Share Comments
  • advice
Oct 31 2020
products

Do Not Let NPM Cache Snowball on CI

Do not use lax restore cache keys or your cache will roll over with unused dependencies

Read More

Share Comments
  • advice
  • ci
  • nodejs
Oct 28 2020
products

Writing Webpack Loader

Example guide to writing a simple Webpack loader

Read More

Share Comments
  • javascript
  • markdown
  • tutorial
  • webpack
Oct 19 2020
process

Effective React Tests

How to write effective React tests using Cypress

Read More

Share Comments
  • cypress
  • react
  • testing
Oct 13 2020
products

Testing Content-Security-Policy using Cypress ... Almost

How to almost test Content-Security-Policy violations in your site using Cypress

Read More

Share Comments
  • cypress
  • security
Oct 10 2020
products

Cypress WASM Example

How to load and test WASM code using Webpack and test it using Cypress

Read More

Share Comments
  • cypress
Oct 9 2020
process

Testing Pyramids

How to release a well-tested library that never breaks the users' projects

Read More

Share Comments
  • advice
  • testing
Oct 8 2020
products

Access XState from Cypress Test

How to access the XState state machine from Cypress test to verify the current context, observe events, and drive the app via actions

Read More

Share Comments
  • cypress
  • model-based testing
  • testing
Oct 7 2020
products

Difference between cy.route and cy.route2

The new command cy.route2 is everything one needs to spy and stub network requests from the application under test

Read More

Share Comments
  • cypress
  • testing
Oct 6 2020
process

Rocks and Stones

How to develop software without wasting time planning or ignoring important parts of the project

Read More

Share Comments
Oct 4 2020
products

Smart GraphQL Stubbing in Cypress

How to spy on and stub GraphQL calls from the application using Cypress and its new cy.route2 API

Read More

Share Comments
  • cypress
  • graphql
Sep 30 2020
process

Multiple Benefits

How to derive multiple benefits from writing software.

Read More

Share Comments
Sep 29 2020
products

Wrap Cypress Using NPM Module API

How to wrap Cypress commands using its NPM module API to customize the test runner behavior.

Read More

Share Comments
  • cypress
Sep 26 2020
products

Components People Test

How to test individual React components the same way as end-to-end web applications.

Read More

Share Comments
  • cypress
  • react
  • testing
Sep 18 2020
products

Cypress Book

Generate web application tutorials using real Cypress tests.

Read More

Share Comments
  • cypress
  • markdown
Sep 1 2020
process

What I Have Done - An Analysis

Looking at my personal daily task logs from the past 18 months

Read More

Share Comments
  • advice
  • markdown
Aug 25 2020
people

It Is OK to Get Stuck Sometimes

How we wasted three days due to missing "await"

Read More

Share Comments
  • javascript
Aug 20 2020
process

Test the Preview Vercel Deploys

Run end-to-end Cypress tests against Vercel preview deploys using GitHub Actions

Read More

Share Comments
  • cypress
Aug 5 2020
process

Test The Interface Not The Implementation

Moving from Jest + RTL to Cypress + @testing-library/cypress for testing React components

Read More

Share Comments
  • cypress
Jul 22 2020
products

Why Cypress?

Answers to three common questions from people skeptical about Cypress.

Read More

Share Comments
  • cypress
  • testing
Jul 11 2020
process

How to Testify About Environment at a Public Hearing

My notes on testifying in person or in writing during a hearing.

Read More

Share Comments
  • climate
Jul 2 2020
products

Write Your First Vue Component Test

Introducing cypress-vue-unit-test for better Vue component testing experience inside Cypress test runner.

Read More

Share Comments
  • cypress
  • testing
  • vuejs
Jun 17 2020
process

Stop The Money Pipeline

Do not pay people to destroy the planet.

Read More

Share Comments
  • climate
Jun 16 2020
process

Visual testing for React components using open source tools

Comparing React components pixel by pixel to catch style problems

Read More

Share Comments
  • cypress
  • react
  • testing
  • tutorial
Jun 15 2020
process

Import Cypress fixtures

How to refactor loading JSON fixtures for simplicity

Read More

Share Comments
  • cypress
  • testing
Jun 3 2020
process

Tic-Tac-Toe Component Tests

Moving from end-to-end to component and unit tests

Read More

Share Comments
  • cypress
  • react
  • testing
May 28 2020
products

Be careful when running all specs together

A common mistake when using beforeEach hooks in Cypress specs

Read More

Share Comments
  • cypress
May 22 2020
process

Keep Examples Up To Date

Use tests and automatic dependency updates to keep examples up to date with the latest versions of the relevant library. Make it visible with dependency version badges.

Read More

Share Comments
  • markdown
  • renovate
May 20 2020
products

Mocking named TypeScript imports during tests

How to stub named imports during unit tests

Read More

Share Comments
  • testing
  • typescript
Apr 29 2020
process

My Vision for Component Tests in Cypress

How I see end-to-end and component and unit tests working together

Read More

Share Comments
  • cypress
Apr 10 2020
products

Cleaning Up Space on Development Machine

How to prune unused Docker images, delete large node_modules, and clean old Cypress binaries

Read More

Share Comments
  • cypress
  • docker
  • nodejs
Mar 31 2020
products

How To Update Only Some Dependencies Using Renovate App

Configure Renovate too only check updates for some dependencies and not all of them.

Read More

Share Comments
  • renovate
Mar 30 2020
products

Example CI configs

Code samples of my common continuous integration configuration files for GitHub Actions, CircleCI

Read More

Share Comments
  • ci
Mar 28 2020
products

Testing Sentry Call with Cypress

How to verify Sentry call happens on an unhandled exception

Read More

Share Comments
  • cypress
  • sentry
  • testing
Mar 26 2020
process

Scrape Static Site with Algolia

How to scrape static site from GitHub Action using Algolia.

Read More

Share Comments
  • algolia
  • github
Mar 24 2020
process

Triple Tested Static Site Deployed to GitHub Pages Using GitHub Actions

How to test static sites three times before and after deployment to GitHub pages.

Read More

Share Comments
  • cypress
  • github
  • tutorial
Mar 5 2020
process

CitizenClimateLobby short pitch

90-second pitch for CitizenClimateLobby I gave at PKG meeting at MIT.

Read More

Share Comments
  • climate
Mar 3 2020
products

Support Node 6 installs

How to bundle and transpile your NPM module to run on older Node versions.

Read More

Share Comments
  • javascript
  • nodejs
Feb 12 2020
products

Check links in your Markdown documents

How to never have a wrong link in your README and other Markdown files.

Read More

Share Comments
  • markdown
Jan 27 2020
process

My testimony in support of banning gas infrastructure in new construction in Cambridge, MA

We have plenty of natural offshore wind and solar resources to satisfy all our electricity needs many times over. To say that we can’t switch to all green, all renewable, all safe electricity 50 years after we went to the Moon is a lie, and not a very convincing lie. Ban gas infrastructure now.

Read More

Share Comments
  • climate
Dec 29 2019
process

A plea for climate in year 2020

An email I have sent to my friends at the end of 2019.

Read More

Share Comments
  • climate
Dec 28 2019
products

Paint roof white

I have painted the roof of my house white to keep cool in the summer

Read More

Share Comments
  • climate
Dec 1 2019
products

Keep passwords secret in E2E tests

How to pass passwords and tokens during Cypress tests to avoid accidentally revealing them in screenshots, videos and logs

Read More

Share Comments
  • cypress
  • security
  • testing
Nov 29 2019
products

How to set up Mocha with Sinon.js

Step by step guide to using Sinon.js mocking library with Mocha.js test runner

Read More

Share Comments
  • javascript
  • testing
  • tutorial
Nov 19 2019
products

Cypress Talks

Collection of my talks about Cypress.io from recent conferences with videos and direct links to slides.

Read More

Share Comments
  • cypress
Nov 15 2019
products

Trying GitHub Actions

Run Prettier inside a GitHub Action to fix code formatting, quick NPM install with caching inside actions, running end-to-end Cypress tests using custom action.

Read More

Share Comments
  • github
  • tutorial
Oct 22 2019
products

Run End-to-end Tests from Markdown Files

A way to test Cypress examples in Markdown files to guarantee their correctness.

Read More

Share Comments
  • cypress
  • markdown
Oct 21 2019
process

Cambridge MA elections

Cambridge, MA council candidates who put climate as the number one priority issue.

Read More

Share Comments
  • climate
Sep 14 2019
process

Testing Angular application via App Actions

How to bypass user interface to directly dispatch actions to Angular 8 application from Cypress end-to-end tests.

Read More

Share Comments
  • cypress
  • testing
Sep 11 2019
process

Visual diffing flow for your pretty CLI applications

How to use Percy.io visual diffing service to prevent regressions in terminal programs.

Read More

Share Comments
  • testing
Sep 9 2019
products

How to configure Prettier and VSCode

How to set up Prettier, ESLint and VSCode per project and have your JavaScript auto-formatted without pulling your hair.

Read More

Share Comments
  • javascript
  • markdown
  • tutorial
Sep 3 2019
products

Cypress using child window

How to test your site in a child window rather than iframe when using Cypress.

Read More

Share Comments
  • cypress
Sep 2 2019
process

Patching Cypress CLI NPM module

How to patch fix installed NPM module to avoid waiting for an official bug fix.

Read More

Share Comments
  • cypress
  • nodejs
Sep 1 2019
products

Fix low contrast with Cypress

How to run accessability contrast test against a page to prevent low-contrast problem.

Read More

Share Comments
  • a11y
  • cypress
  • testing
Aug 31 2019
products

Filtering Mocha tests

How to filter the collected Mocha unit tests before running them.

Read More

Share Comments
  • testing
Aug 29 2019
products

Detect page reload from Cypress test

How to detect from Cypress test when a page reloads using object property assertions.

Read More

Share Comments
  • cypress
Aug 17 2019
process

Climate Emergency

The planet is burning. What we must do immediately.

Read More

Share Comments
  • climate
Aug 12 2019
products

Ariel Rider M-class

Electrical bicycle is a superb mobility device.

Read More

Share Comments
Aug 1 2019
process

How to write end-to-end test using app and api actions

How to bypass user interface when writing end-to-end tests.

Read More

Share Comments
  • cypress
  • testing
Jul 19 2019
process

Black box API testing with server logs

How to perform end-to-end API testing using Cypress test runner and take advantage of server logs.

Read More

Share Comments
  • cypress
  • nodejs
  • testing
Jul 5 2019
process

Capture all the logs

How to capture console.log, console.error and even DEBUG=... logs.

Read More

Share Comments
  • nodejs
  • testing
Jun 20 2019
products

Run Cypress included from Docker container

How to test web application running on localhost using Cypress running inside a Docker container

Read More

Share Comments
  • cypress
  • docker
May 21 2019
products

End-to-end Testing for Server-Side Rendered Pages

How to validate SSR page using Cypress.io test runner

Read More

Share Comments
  • cypress
  • reactjs
  • testing
May 19 2019
products

Combined End-to-end and Unit Test Coverage

How to achieve 100% code coverage by combining end-to-end and unit tests without losing your sanity.

Read More

Share Comments
  • code coverage
  • cypress
  • testing
May 16 2019
products

Code Coverage by Parcel Bundler

How to instrument code on the fly using Parcel bundler and collect code coverage during end-to-end tests.

Read More

Share Comments
  • code coverage
  • cypress
  • testing
May 9 2019
products

Using TypeScript aliases in Cypress tests

How to configure TypeScript and Webpack path aliases to load application code from Cypress tests

Read More

Share Comments
  • cypress
  • testing
  • typescript
May 6 2019
products

Code Coverage for End-to-end Tests

How to instrument application code and collect code coverage during Cypress E2E tests.

Read More

Share Comments
  • cypress
  • testing
Apr 29 2019
products

Stub navigator API in end-to-end tests

How to stub navigator API methods from Cypress E2E test.

Read More

Share Comments
  • cypress
  • testing
Apr 25 2019
products

Testing an online chainsaw store using Cypress.io

Drive-by testing www.chainsawsdirect.com using Cypress.io test runner.

Read More

Share Comments
  • cypress
  • testing
Apr 2 2019
products

NPM Install with just GitHub

How to share packaged NPM tgz module on GitHub.

Read More

Share Comments
  • git
  • github
  • nodejs
Apr 1 2019
products

Readable Cypress.io tests

How to write readable tests using custom commands and custom Chai assertions.

Read More

Share Comments
  • cypress
  • testing
Mar 30 2019
products

Testing how an application renders a drawing with Cypress and Percy.io

End-to-end testing a rendered pizza using Cypress.io test runner and image diffing Percy.io plugin.

Read More

Share Comments
  • cypress
  • testing
Mar 28 2019
products

Testing a chart with Cypress and Applitools

End-to-end testing an SVG chart using Cypress.io test runner and image diffing Applitools plugin.

Read More

Share Comments
  • cypress
  • testing
Mar 9 2019
products

Parallel or not

This blog post shows how to configure CircleCI to run Cypress in parallel mode for internal branches, while only use a single machine to run Cypress tests for external pull requests.

Read More

Share Comments
  • ci
  • cypress
  • github
Feb 7 2019
process

Zeit Now v2 workflow

A few tips on how to use Zeit Now v2 serverless with TypeScript and a little bit of testing.

Read More

Share Comments
  • cypress
  • typescript
  • vercel
Jan 19 2019
products

Use TypeScript With Cypress

Step by step tutorial how to set up TypeScript support in Cypress using WebPack bundler.

Read More

Share Comments
  • cypress
  • typescript
Jan 16 2019
products

Cypress is just ...

Cypress allows any developer to fundamentally change how it looks and works, because it is just JavaScript code running inside a browser backed by a Node app.

Read More

Share Comments
  • cypress
Jan 12 2019
people

Don't help me say No

Common mistakes to avoid when applying for a software job. Plus how to get a job if you have no relevant work experience yet.

Read More

Share Comments
  • advice
Jan 2 2019
products

Cypress should callback

Use any assertion inside "should(cb)" function to have Cypress auto-retry its command with your assertion function.

Read More

Share Comments
  • cypress
Dec 29 2018
process

Do not use NODE_ENV for staging

Use a separate environment variable name to avoid NPM tricking you.

Read More

Share Comments
  • nodejs
Dec 19 2018
products

E2E Testing json-graphql-server using Cypress

How to test TodoMVC application that uses GraphQL.

Read More

Share Comments
  • graphql
  • testing
Dec 3 2018
process

Functional middleware

How to use Maybe Monad to make your server middleware a little bit easier to reason about.

Read More

Share Comments
  • functional
Nov 19 2018
process

Hyperapp state machine web app

How to write a web application using a state machine and Hyperapp framework.

Read More

Share Comments
  • cypress
  • hyperapp
  • state machine
  • testing
Nov 14 2018
products

Element coverage for end-to-end tests

How to see which UI elements the end-to-end tests have interacted with.

Read More

Share Comments
  • cypress
  • testing
Oct 23 2018
products

Use GitHub instead of NPM

How to require private NPM modules straight from GitHub without publishing them to NPM.

Read More

Share Comments
  • git
  • github
  • nodejs
Oct 14 2018
products

Cypress jump

Create a React component using JSX and inject it into live application from a Cypress test.

Read More

Share Comments
  • cypress
  • reactjs
Oct 1 2018
products

Mocking GraphQL with Lunar in Cypress End-to-End Tests

How to mock GraphQL endpoints using Lunar from Cypress tests.

Read More

Share Comments
  • cypress
  • graphql
  • testing
Sep 27 2018
process

Good logging

How to print from your Node programs in formats compatible with 3rd party logging tools.

Read More

Share Comments
  • nodejs
Sep 18 2018
products

Solving JS equality game with Cypress test runner

Using Cypress end-to-end test runner to automate solving JavaScript equality game.

Read More

Share Comments
  • cypress
Sep 7 2018
products

Set flag to start tests

How to wait for a slow-starting application to bootstrap before running end-to-end Cypress tests.

Read More

Share Comments
  • cypress
  • testing
Sep 3 2018
products

Run and group tests the way you want to

How to load balance multiple Cypress end-to-end tests in parallel mode, or group different tests together and in general control test runs in any way you want.

Read More

Share Comments
  • cypress
  • testing
Aug 30 2018
products

Should I start with Cypress.io?

Should a person just starting in QA field learn how to use Cypress.io or Selenium.

Read More

Share Comments
  • cypress
  • testing
Aug 27 2018
process

Mocking process.env

How to quickly mock process.env during unit testing.

Read More

Share Comments
  • testing
Aug 10 2018
products

Zeit Now GitHub app + Renovate app + Cypress tests = 💝

How Cypress, Zeit Now GitHub app and Renovate app play well together to give you well tested PRs and keep your dependencies up to date with zero effort.

Read More

Share Comments
  • cypress
  • github
  • renovate
  • testing
  • vercel
Aug 3 2018
products

Carriage return

Carriage return character, progress bar and progressive enhancement.

Read More

Share Comments
  • docker
  • nodejs
Jun 29 2018
products

Gatsby Netlify Circle and Cypress

How to test Gatsby static blog locally, on Netlify before deploying, and after deployment using Circle.

Read More

Share Comments
  • ci
  • cypress
  • immutable
Jun 27 2018
products

Incredibly Powerful cy.task

How to run any Node code from your end-to-end Cypress tests using `cy.task` command.

Read More

Share Comments
  • cypress
Jun 25 2018
products

Rolling for a Test

How to bundle individual components using Rollup for each Cypress test

Read More

Share Comments
  • cypress
  • hyperapp
Jun 24 2018
products

Tested live documentation is a thing with MDX, Docz and Cypress

You can quickly write live interactive component documentation and make sure it works as expected by testing it.

Read More

Share Comments
  • cypress
Jun 15 2018
products

Trying GraphQL

Starting with GraphQL - from zero to hero.

Read More

Share Comments
  • graphql
  • tutorial
Apr 28 2018
products

Trying Redis

Playing with remote Redis service for quick caching.

Read More

Share Comments
  • db
  • tutorial
Apr 23 2018
products

VuePress and some Cypress end-to-end testing tips

Using DOM snapshot to catch a disappearing element plus sharing application config.

Read More

Share Comments
  • cypress
  • testing
  • vuejs
Apr 7 2018
products

Lock Down Sinon Stub

How to ensure your stubs are not called with unexpected arguments.

Read More

Share Comments
  • testing
Mar 24 2018
process

How I Organize README

Must have sections, badges, flow.

Read More

Share Comments
  • advice
Mar 14 2018
products

Painless Dependency Upgrades with Renovate App

Flexible and powerful automatic dependency upgrades for NPM packages.

Read More

Share Comments
  • modular development
  • renovate
  • testing
Mar 12 2018
products

Debugging Mocha from Node using Chrome Inspector

How to debug Mocha tests running in Node using Chrome DevTools inspector.

Read More

Share Comments
  • browser
  • nodejs
Mar 3 2018
products

Subfolders as Dependencies

Use subfolders installed as NPM dependencies to avoid long relative paths in require.

Read More

Share Comments
  • nodejs
Feb 13 2018
products

Parcel Bundler

A quick look at the new bundler.

Read More

Share Comments
  • javascript
Jan 15 2018
products

Use Lenses in Hyperapp

You can shorted your state mutations by using functional lenses.

Read More

Share Comments
  • hyperapp
  • ramda
Jan 14 2018
products

Testing ES6 Module in Cypress Electron Browser

Adding support to script type=module while testing Hyperapp as ES6 module.

Read More

Share Comments
  • cypress
  • es6
  • hyperapp
Jan 8 2018
products

Drive-by Testing Array Explorer

Step by step end-to-end testing project "array-explorer".

Read More

Share Comments
  • cypress
  • testing
  • vuejs
Jan 7 2018
products

Testing Vue CLI reload

Testing dev server hot reload using Cypress.

Read More

Share Comments
  • cypress
  • testing
  • vuejs
Jan 5 2018
process

Quick functional refactoring

Quickly stringing data transformation using standrd Ramda functions.

Read More

Share Comments
  • functional
Dec 21 2017
products

JSON schema for the win

How to get IntelliSense help for your JSON files in modern IDEs.

Read More

Share Comments
  • cypress
Dec 19 2017

Sync callbacks

Do not think every callbacks is sync or async.

Read More

Share Comments
  • javascript
Dec 13 2017
products

Split CI Jobs

How to execute multiple test tasks in parallel on CircleCI and TravisCI.

Read More

Share Comments
  • ci
Nov 26 2017
products

Testing Svelte Store

Writing E2E tests for Svelte.js app store using Cypress.

Read More

Share Comments
  • cypress
  • testing
Nov 20 2017
products

Vue Vuex REST TodoMVC example

Small example of TodoMVC implemented using Vue.js and Vuex data store against REST backend.

Read More

Share Comments
  • vuejs
Nov 18 2017
products

Making small Docker image

How to make a very small Docker image with a Node application.

Read More

Share Comments
  • docker
Nov 7 2017
products

Local overrides

How to see a customized version of any website locally.

Read More

Share Comments
  • browser
Sep 28 2017
process

DevOps Testing Panel

Notes from DevOps meetup panel on testing.

Read More

Share Comments
  • testing
Sep 8 2017
products

Test Runners

Interesting ideas in JavaScript test runners.

Read More

Share Comments
  • testing
Aug 30 2017
products

Tests, closures and arrow functions

Using Mocha test context and its pitfalls.

Read More

Share Comments
  • testing
Aug 18 2017
process

Semantic Action

Perform any action based on commits since last action.

Read More

Share Comments
  • ci
  • git
  • modular development
Aug 17 2017
products

Use a little bit of FP

A few examples of introducing functional programming into existing code.

Read More

Share Comments
  • functional
Aug 16 2017
process

Slow updates

Automatic period dependency update without much hassle.

Read More

Share Comments
  • modular development
Aug 15 2017
products

Kliesli composition

Connecting Kliesli compositions or the advantages of good pipe insulation.

Read More

Share Comments
  • functional
Aug 7 2017
process

Releasing for old Node

How I publish modules for older versions of Node.

Read More

Share Comments
  • nodejs
Aug 4 2017
process

SSH Deploy from CI

How to deploy to GitHub pages from CI using SSH to authenticate.

Read More

Share Comments
  • ci
Aug 3 2017
products

Quick and dirty CURL use

Quickly run complex HTTP requests from terminal.

Read More

Share Comments
  • advice
Aug 2 2017
products

Linters Gonna Lint

Incremental lint, Prettier, immutable rules.

Read More

Share Comments
  • javascript
Jul 22 2017
products

I can see clearly now

Using functional lenses to modify objects by example.

Read More

Share Comments
  • functional
Jul 18 2017
process

Mocking vs Refactoring

Sometimes code refactoring removes need for advanced mocking in tests.

Read More

Share Comments
  • testing
Jul 13 2017
process

Mock system APIs

Do not mock your internal modules, mock system APIs instead!

Read More

Share Comments
  • testing
Jul 12 2017
process

Quick Solid NPM Module

Setting up a rock solid NPM module with semantic release in 30 seconds.

Read More

Share Comments
  • advice
  • modular development
  • nodejs
Jun 19 2017
products

Rocha and Focha

Randomize tests and run previously failed ones first for speed.

Read More

Share Comments
  • testing
Jun 11 2017
people

VP of Success

How a new VP should be judged.

Read More

Share Comments
Jun 5 2017
process

How To Draw An Owl

Refactor code using functional approach (Maybe, immutable).

Read More

Share Comments
  • functional
Jun 1 2017
products

Docker User

Use non-root user inside Docker container.

Read More

Share Comments
  • docker
May 4 2017
process

Data Coverage

Collecting all inputs to each function to figure out missing test data.

Read More

Share Comments
  • code coverage
  • testing
May 2 2017
process

Deriving Y Combinator

Deriving Y Combinator that makes recursive functions without assignments possible.

Read More

Share Comments
  • functional
Apr 28 2017
people

Worst Code I Have Written Lately

A self-critique of my own code as a poster for the office.

Read More

Share Comments
Apr 19 2017
products

Picking snapshot library

How to pick the right JavaScript snapshot testing library.

Read More

Share Comments
  • testing
Apr 14 2017
process

Ramda for reactive streams

Array or Observable - Ramda can do both!

Read More

Share Comments
  • functional
  • reactive
Apr 11 2017
products

The intuition behind applicative

Why would you want a function in a box?

Read More

Share Comments
  • functional
Apr 10 2017
products

Rolled libraries

How to distribute a tree-shaken library for your tree-shaken apps using Rollup.

Read More

Share Comments
  • javascript
Apr 7 2017
process

Tested Curl

How to ensure your Curl code snippets are working, plus generate documentation.

Read More

Share Comments
  • testing
Apr 6 2017
products

Async functions in Service Workers

Use async / await in ServiceWorker code because browsers support both.

Read More

Share Comments
  • service workers
Apr 3 2017
products

URL type using TypeScript or FP

How to enforce a custom condition on a string.

Read More

Share Comments
  • functional
  • typescript
Apr 2 2017
products

Web app routing with fallback

How to use fallback with client-side routing to avoid 404 pages.

Read More

Share Comments
  • browser
  • hyperapp
Mar 29 2017
process

Testing Trapezoid

Replacement for testing pyramid.

Read More

Share Comments
  • advice
  • testing
Mar 26 2017
process

Fixing the Internet one NPM package at a time

How to patch a bug, use the fix in prod and submit the pull request in five minutes.

Read More

Share Comments
  • modular development
  • nodejs
Mar 25 2017
products

Web Packing the Internet

WebPack as a service for quick personal projects and examples.

Read More

Share Comments
  • browser
  • cyclejs
  • hyperapp
  • immutable
  • webpack
Mar 24 2017
products

Call me Maybe

Replacing the built-in OR and TERNARY operators with Maybe monads.

Read More

Share Comments
  • functional
Mar 18 2017
people

Asking coworkers to decide my career

How I asked my coworkers to give me anonymous career advice.

Read More

Share Comments
  • advice
Mar 15 2017
products

Pure programming with Hyper App

When every function is pure, advanced async actions are easy.

Read More

Share Comments
  • browser
  • functional
  • hyperapp
  • reactive
  • ui
Mar 13 2017
products

Trying TypeScript

Setting up and starting with TypeScript and Visual Studio Code editor.

Read More

Share Comments
  • tutorial
  • typescript
Mar 10 2017
products

Better slide format

A few examples of common mistakes when preparing presentation slides.

Read More

Share Comments
  • presentation
Mar 6 2017
products

Large Web App Development

Tips and tricks for larger web apps.

Read More

Share Comments
  • advice
Mar 5 2017
products

My favorite ES6

A few ways ES6 removes boilerplate code.

Read More

Share Comments
  • es6
Feb 17 2017
process

Schema-shot - snapshot testing for dynamic data

How to do snapshot testing if the data frequently changes?

Read More

Share Comments
  • testing
Feb 15 2017
process

Five times when I write tests

Writing tests should not be an afterthought.

Read More

Share Comments
  • advice
  • testing
Feb 14 2017
process

How I publish to NPM

My favorite semantic release plugins.

Read More

Share Comments
  • modular development
Feb 8 2017
products

Snapshot testing the hard way

Framework-agnostic snapshot testing for Mocha, Jest, Vue, etc.

Read More

Share Comments
  • assertions
  • ast
  • testing
Feb 6 2017
products

Accurate call sites

Call sites API does not support source maps, while exception stack does.

Read More

Share Comments
  • nodejs
Jan 28 2017
process

Accurate values in comments

How to update the code comments during program execution.

Read More

Share Comments
  • ast
  • javascript
  • nodejs
Jan 22 2017
products

SPA authentication with Auth0

Notes on small, simple off the shelf login solution for SPA and server.

Read More

Share Comments
  • security
Jan 16 2017
products

jscodeshift example

Simple example showing automated client code change when module API changes.

Read More

Share Comments
  • ast
  • javascript
Jan 6 2017
products

HTTP/2 server push on Dokku

Speed up resources by pushing them from a Node HTTP/2 server.

Read More

Share Comments
  • docker
  • nodejs
  • performance
Dec 30 2016
products

Cypress Tips and Tricks

A few tips on getting the most out of E2E testing tool Cypress

Read More

Share Comments
  • cypress
  • testing
Dec 28 2016
products

Functors encapsulate imperative logic

A functor hides some piece of common imperative code (and makes it composable)

Read More

Share Comments
  • functional
Dec 18 2016
process

Why use reactive streams for components?

How exchanging a set of streams solves component communication.

Read More

Share Comments
  • reactive
Dec 14 2016
products

Connecting crash reporting with end to end tests

How to send additional context for crashes that happen during E2E tests.

Read More

Share Comments
  • cypress
  • sentry
  • testing
Dec 12 2016
products

If Else vs Either Monad vs FRP

Imperative If/Else example implemented using Either monads and reactive style.

Read More

Share Comments
  • functional
  • reactive
Nov 1 2016
products

Electron app with custom protocol

How to open custom protocol links from external applications in your Electron desktop app.

Read More

Share Comments
Oct 31 2016
products

Git bisect

How to quickly find an error by bisecting the Git commit log.

Read More

Share Comments
  • git
Oct 25 2016
products

Subresource integrity (SRI)

How to use hashes for CDN resources.

Read More

Share Comments
  • security
Sep 16 2016
products

Synching PouchdDB with remote DB

How to run a database locally that syncs with central one.

Read More

Share Comments
  • db
Aug 25 2016
process

Think inside the box

4 Ops things that I am excited about today.

Read More

Share Comments
  • docker
  • immutable
  • modular development
  • vercel
Aug 24 2016
products

ServiceWorker intro

A screencast of ServiceWorker technology.

Read More

Share Comments
  • screencast
  • service workers
Aug 19 2016
products

Splitting pull request

How to split a large pull request into several smaller ones.

Read More

Share Comments
  • git
Aug 18 2016
products

Semantic release on GitLab

How to setup semantic release on private GitLab and on-premises NPM registry.

Read More

Share Comments
  • advice
  • ci
  • modular development
  • nodejs
  • tutorial
Aug 16 2016
products

Monads

Array, Promise and Maybe monads. Plus Docker is a functor.

Read More

Share Comments
  • functional
Jul 18 2016
products

Preloading Node module

Examples of useful functionality that can be used in Node without code changes.

Read More

Share Comments
  • nodejs
Jul 10 2016
products

CycleJS FrontEnd Camp

FrontEndCamp NYC presentation about Cycle.js framework.

Read More

Share Comments
  • cyclejs
  • functional
  • presentation
  • reactive
Jun 30 2016
products

Deploying private NPM modules to Zeit

How to bundle a server including private modules and static files.

Read More

Share Comments
  • advice
  • modular development
  • vercel
Jun 26 2016
products

Parallel end to end testing with Cypress, Docker and GitLab

How to build multiple test bundles and run E2E test jobs in parallel.

Read More

Share Comments
  • browser
  • cypress
  • db
  • docker
  • testing
Jun 24 2016
products

Immutable deploys with data and testing

How to roll over data when doing clean deploys using Zeit. Plus testing with Cypress!

Read More

Share Comments
  • cypress
  • db
  • testing
  • vercel
Jun 15 2016
products

Publish release notes to Slack

Using NPM hooks and Zeit to send the semantic release notes to Slack.

Read More

Share Comments
  • modular development
  • vercel
Jun 5 2016
products

Manual semantic release setup

How to set the semantic release tokens without going through the wizard.

Read More

Share Comments
Jun 3 2016

Which JavaScript framework should I use next?

Links to projects mentioned during BuzzJS presentation.

Read More

Share Comments
  • advice
  • angularjs
  • cyclejs
  • functional
  • javascript
  • performance
  • presentation
  • reactive
  • service workers
  • web workers
Jun 2 2016
products

Shell variables in NPM scripts

Small shortcut for using shell variable with default values in NPM scripts.

Read More

Share Comments
  • nodejs
May 26 2016
products

Conditional breakpoints in Chrome DevTools

How to stop only if a specific expression becomes true.

Read More

Share Comments
  • browser
May 18 2016
products

OReilly OSCON

Links to additional information included in my OSCON 2016 presentation.

Read More

Share Comments
  • javascript
May 4 2016
products

Turning code coverage into live stream

A neat trick for making object property updates into a live event stream.

Read More

Share Comments
  • code coverage
  • testing
May 3 2016

Getting good at FP

How to start and get better at using JavaScript in functional way.

Read More

Share Comments
  • advice
  • functional
  • javascript
May 2 2016
products

Web testing nirvana with Cypress

A short guide to using Cypress.io for feature testing web pages.

Read More

Share Comments
  • cypress
  • testing
Apr 22 2016
process

CycleConf

Links to additional information included in my CycleCond 2016 presentation.

Read More

Share Comments
  • angularjs
  • cyclejs
  • functional
  • presentation
Apr 17 2016
products

Counting promises vs Rx

The difficulty using Promises vs the simplicity using reactive streams

Read More

Share Comments
  • functional
  • reactive
Apr 16 2016
products

Is framework pure or not?

How is Cycle.js a pure framework if I can listen to the UI events and output new DOM?

Read More

Share Comments
  • cyclejs
  • functional
Apr 14 2016
products

Extra FP for RxJS

Small functional tips for RxJS

Read More

Share Comments
  • functional
  • reactive
Apr 12 2016
products

Not tested - not included!

How much code do you need to run Cycle.js program?

Read More

Share Comments
  • ast
  • cyclejs
  • testing
Apr 9 2016
products

Jade (now Pug) nuggets

Common code snippets for using Pug (formerly Jade) template language.

Read More

Share Comments
  • advice
Apr 7 2016
products

Test if a function is pure revisited

Test function for purity using isolated v8 execution context.

Read More

Share Comments
  • functional
  • javascript
Apr 3 2016
products

Running multiple applications in Dokku

Setting up multiple applications in a single DigitalOcean instance via Dokku.

Read More

Share Comments
  • docker
Mar 24 2016
products

Angular nuggets

Helpful AngularJS code snippets.

Read More

Share Comments
  • angularjs
Mar 24 2016
products

JavaScript nuggets

Helpful JavaScript code snippets.

Read More

Share Comments
  • javascript
Mar 24 2016
process

Replacing the wheels on the running car

How to use semantic versioning with external services.

Read More

Share Comments
  • modular development
Mar 22 2016
products

Simple Ajax testing

Verifying that a request to external service happens.

Read More

Share Comments
  • sentry
  • testing
Mar 14 2016
products

Moving commits

Shepherding Git commits from dev to stage to production.

Read More

Share Comments
  • git
Mar 10 2016
products

Parameter destructuring

The benefits of using ES6 parameter destructuring over options object pattern.

Read More

Share Comments
  • es6
Mar 8 2016
process

Refactoring to compose

What to do if you want to compose multiple functions (hint - make them unary).

Read More

Share Comments
  • boilerplate
  • functional
Mar 3 2016
products

Playing havoc with Node module system

Node.js is really really really susceptible to code injection attacks.

Read More

Share Comments
  • nodejs
  • security
Mar 2 2016
products

How to crash

How to make sure your Express or Koa server correctly sends crashes to exception monitoring service.

Read More

Share Comments
  • assertions
  • promises
  • sentry
  • testing
Mar 1 2016
process

Developing Wiseli

How I came up with idea and how I wrote wiseli

Read More

Share Comments
  • advice
Feb 17 2016
products

Testing reactive code

How to unit test Rx code on Node with Mocha (and Ava).

Read More

Share Comments
  • reactive
  • testing
Feb 11 2016
products

Microservices in the cloud with Tutum

Deploying several microservices into the cloud with Tutum.

Read More

Share Comments
  • docker
  • modular development
  • nodejs
Feb 8 2016
process

Redux and RethinkDB

A single data structure holding program's state has a name - database.

Read More

Share Comments
  • db
  • immutable
Feb 5 2016
products

From callbacks to Tasks

Refactoring common auth flow from callbacks into Tasks.

Read More

Share Comments
  • functional
Feb 4 2016
products

Local microservice containers

Deploying website and microservice containers to production.

Read More

Share Comments
  • docker
  • modular development
  • nodejs
Jan 30 2016
products

Microservices with fuge

Building microservices with Fuge

Read More

Share Comments
  • docker
  • modular development
  • nodejs
Jan 29 2016
products

Node server with Rx and Cycle.js

Manage side effects when coding NodeJS servers with Rx and Cycle.js (NOT about server-side rendering).

Read More

Share Comments
  • cyclejs
  • nodejs
  • reactive
Jan 27 2016
process

How to become a better hacker

How to write innovative, unusual and simply cool software.

Read More

Share Comments
  • advice
Jan 22 2016
products

Difference between a Promise and a Task

Once you have a Promise instance the action has already started. Task instance does not run until someone calls .fork()

Read More

Share Comments
  • functional
  • javascript
Jan 20 2016
process

Precompiled JavaScript

How to use ES6 and target older NodeJS platforms without mangling the code to the lowest common denominator

Read More

Share Comments
  • javascript
Jan 16 2016
process

JavaScript needs the compile step (on install)

My build process that can precisely target any Nodejs environment using Rollup, ES6 Feature tests and Babel.

Read More

Share Comments
  • javascript
Jan 12 2016
process

I write 3 types of software

Single function modules, flat libraries and applications.

Read More

Share Comments
  • javascript
Jan 4 2016
products

Run Express server in your browser

Plus how to run a web application when the JavaScript itself is disabled*.

Read More

Share Comments
  • browser
  • javascript
  • nodejs
  • performance
  • service workers
Dec 28 2015
products

Using webpack

How to build and distribute libraries via NPM using WebPack bundler.

Read More

Share Comments
  • javascript
  • tutorial
  • webpack
Dec 27 2015
people

The senior engineer role

Three things I try to do as a senior engineer

Read More

Share Comments
  • advice
Dec 24 2015
process

Instant Web Application

An instantly loading, self-rewriting application using ServiceWorker - it is like server rendering inside your browser.

Read More

Share Comments
  • performance
  • service workers
Dec 21 2015
process

Hydrate at build time

Generate the initial HTML markup from web app at build time to avoid blank screen.

Read More

Share Comments
  • advice
  • javascript
  • performance
Dec 16 2015
process

Hydrate your apps

Remove the empty page flicker on web application startup.

Read More

Share Comments
  • advice
  • javascript
  • performance
Dec 13 2015
products

My Node tools

My collection of personal CLI apps to speed up NodeJS development.

Read More

Share Comments
  • javascript
  • nodejs
Dec 5 2015
process

Pass the logic

How to pass logic instead of data in functional programming.

Read More

Share Comments
  • functional
  • javascript
Dec 3 2015
products

Use some ES6 in CLI apps

What useful ES6 features can we use right now?

Read More

Share Comments
  • advice
  • es6
  • nodejs
Dec 2 2015
products

1, 2, 3, linted

Preventing easy to catch JavaScript bugs using linters.

Read More

Share Comments
  • nodejs
  • testing
  • tutorial
Nov 26 2015
products

How to setup semantic release on Circle CI

How to use CircleCI to publish new versions of your NPM modules.

Read More

Share Comments
  • advice
  • ci
  • modular development
  • nodejs
  • testing
Nov 25 2015
process

The great conference tour of October 2015

The most interesting presentations I have seen last month.

Read More

Share Comments
  • advice
  • angularjs
  • javascript
  • nodejs
Nov 22 2015
products

JavaScript to JavaScript template language

Generating JavaScript configurtion snippets from templates to be used with the Content-Security-Policy and disabled inline scripts.

Read More

Share Comments
  • javascript
  • nodejs
  • security
Nov 21 2015
products

Disable inline JavaScript for security

Use JS to JS template engine in Express to ban all inlined JavaScript.

Read More

Share Comments
  • javascript
  • security
Nov 20 2015
products

Patching global Node tools

How to monkey patch a broken global Node package, if you have to.

Read More

Share Comments
  • modular development
  • nodejs
Nov 19 2015
products

Smaller published NPM modules

How to measure size and publish smaller modules to NPM.

Read More

Share Comments
  • modular development
  • nodejs
Nov 13 2015
products

Stand your own crash server

How to deploy your own server to receive real time crash data.

Read More

Share Comments
  • javascript
  • nodejs
  • sentry
  • testing
Nov 11 2015
process

Winning hackathons

How to finish strong in any hackathon.

Read More

Share Comments
  • advice
Oct 28 2015
products

Changing the function arguments trick

Modify the function's variables after the function executed.

Read More

Share Comments
  • javascript
Oct 15 2015
process

Angular performance testing via ports

Leave hooks in the AngularJS application to allow measuring how long individual actions take.

Read More

Share Comments
  • angularjs
  • testing
Oct 14 2015
products

Async Angular filter

How to compute the filter's result asynchronously.

Read More

Share Comments
  • angularjs
Oct 3 2015
process

Remove the boilerplate

Remove unnecessary code while preserving the same code semantics.

Read More

Share Comments
  • advice
  • boilerplate
  • javascript
Sep 18 2015
products

Dependency injection vs IO Monad example

How to wrap functions that depend on the environment for clean unit testing.

Read More

Share Comments
  • functional
  • javascript
Sep 16 2015
products

Variable assignment shortcut

Eval is limited in its power plus the only time I found `this` variable useful.

Read More

Share Comments
  • functional
  • javascript
Sep 12 2015
products

Avoid this common Angular refactoring mistake

How to preserve reference to data when factoring out model data to services.

Read More

Share Comments
  • angularjs
Sep 10 2015
process

Bending JavaScript rules

Change live Angular application plus unit test private code from Node.

Read More

Share Comments
  • angularjs
  • javascript
  • nodejs
  • testing
Aug 30 2015
products

Unit testing Angular from Node like a boss

Building Angular application from CommonJS modules and powerful unit testing.

Read More

Share Comments
  • angularjs
  • nodejs
  • testing
  • tutorial
Aug 26 2015
products

Imperative to compose example

Changing a piece of imperative code to be purely functional

Read More

Share Comments
  • functional
Aug 24 2015
products

Angular Model intro

Introduction to Angular data model vs view update.

Read More

Share Comments
  • angularjs
Aug 23 2015
products

Return a promise for cleaner API

Instead of returning an error code or value, return a Promise.

Read More

Share Comments
  • advice
  • javascript
  • promises
Aug 17 2015
products

Express sessions

Using and observing ExpressJS sessions from the client code.

Read More

Share Comments
  • nodejs
  • security
  • tutorial
Aug 15 2015
products

1, 2, 3, tested

Unit testing AngularJS code in record time using ng-describe.

Read More

Share Comments
  • angularjs
  • testing
  • tutorial
Aug 14 2015
products

Perfect code, zero effort

Autofix JavaScript style issues using jscs.

Read More

Share Comments
  • javascript
Aug 11 2015
products

Controller prototype

Scope-based vs object-oriented controllers in Angular

Read More

Share Comments
  • angularjs
Aug 7 2015
products

ES2015 in Dev Tools console without extensions

How to load and use ES2015 in the Chrome DevTools console without any 3rd party extensions.

Read More

Share Comments
  • browser
  • javascript
Aug 5 2015
products

You don't need global grunt

Building projects without having Grunt installed globally.

Read More

Share Comments
  • grunt
Aug 3 2015
products

I want library X in my Dev Tools console

How to always load a 3rd party library in DevTools console

Read More

Share Comments
  • advice
  • browser
  • javascript
Jul 31 2015
products

Unit test Node code in 10 seconds

Use Mocha and the package script commands to quickly start unit testing CommonJS code.

Read More

Share Comments
  • javascript
  • nodejs
  • testing
  • tutorial
Jul 14 2015
products

Promisify Seneca microservice

Convert an asynchronous operation to promise-returning one.

Read More

Share Comments
  • promises
Jul 4 2015
process

Leaving examples in code

Leave executable examples inside source files for future reference.

Read More

Share Comments
  • advice
Jul 3 2015
products

Passing more than single value through promise chain

How to store multiple values in a promise chain using an object.

Read More

Share Comments
  • javascript
  • promises
Jun 24 2015
products

Self-improving software

Companion notes to the "Self-improving software" presentation

Read More

Share Comments
  • javascript
  • modular development
  • nodejs
Jun 24 2015
process

User friendly API

How to design a simple to use and powerful library API.

Read More

Share Comments
  • advice
  • javascript
Jun 17 2015
products

Solid ExpressJS server

Steps to develop good ExpressJS based application server.

Read More

Share Comments
  • advice
  • nodejs
Jun 11 2015
products

Starting to React

Links and resources for learning ReactJS.

Read More

Share Comments
  • reactjs
Jun 10 2015
products

Automatically publish to NPM

Publish tagged versions to NPM after successful CI build.

Read More

Share Comments
  • nodejs
Jun 9 2015
people

Rating recruiter pitches

Scoring the cold recruiter pitches I received. Plus a few examples.

Read More

Share Comments
  • advice
Jun 3 2015
products

Put mock data into Node require cache

Avoid loading source files - put the code directly into the require cache.

Read More

Share Comments
  • nodejs
Jun 2 2015
products

Angular module info

How to embed and fetch version information for a specific Angular module.

Read More

Share Comments
  • angularjs
Jun 1 2015
process

Embed version info

How to include version and useful meta information in the JavaScript libraries.

Read More

Share Comments
  • advice
  • javascript
  • modular development
May 28 2015
process

Treasure your product managers

What is wrong with Google Play? Is there anyone who listens to any music at that company?

Read More

Share Comments
  • ui
May 27 2015
products

Unapply attack

Compromise functions private to closures via partially applied references.

Read More

Share Comments
  • javascript
  • security
May 25 2015
products

Partial application for options object

Bind some properties in the options object.

Read More

Share Comments
  • functional
  • javascript
May 14 2015
products

Deep picking

Grab a subset of a complex object using functional-extract utility.

Read More

Share Comments
  • functional
  • javascript
May 13 2015
products

Fast legoization

Optimizing "legoizer" web worker application to run 10 times faster.

Read More

Share Comments
  • browser
  • performance
  • web workers
May 7 2015
products

Heavy lifting

Adding new features to an existing function via lifting.

Read More

Share Comments
  • functional
  • javascript
May 3 2015
products

Unit testing CLI programs

Writing mock stdin text in your Nodejs unit tests.

Read More

Share Comments
  • nodejs
  • promises
  • testing
May 2 2015
people

Great League of Engineers

Notes from a unique team productivity event.

Read More

Share Comments
Apr 28 2015
products

Use JavaScript functor today

Replace if conditions with functors and applicatives.

Read More

Share Comments
  • functional
  • javascript
Apr 27 2015
products

How to correctly unit test Express server

Create and destroy an Express.js server in each unit test.

Read More

Share Comments
  • javascript
  • testing
Apr 26 2015
products

Faster Node app require

Speed up Node.js application startup by caching require path resolutions.

Read More

Share Comments
  • nodejs
  • performance
Apr 26 2015
products

Pyramid of lexical scope Doom

How to avoid creeping lexical scope in asynchronous code.

Read More

Share Comments
  • boilerplate
  • javascript
  • promises
Apr 23 2015
products

RethinkDB and BDD on CI

How to unit test Node applications that use RethinkDB.

Read More

Share Comments
  • ci
  • db
  • nodejs
  • testing
Apr 20 2015
products

Nice touch, RethinkDB

Small feature in RethinkDB data explorer that shows they get it.

Read More

Share Comments
  • db
Apr 15 2015
products

Less boilerplate in express app

Simplify middleware using higher-order functions.

Read More

Share Comments
  • boilerplate
  • functional
  • javascript
Apr 6 2015
products

Deployed commit

How to embed the commit id in the Express application using Codeship and Heroku.

Read More

Share Comments
  • advice
  • git
  • gulp
  • nodejs
  • sentry
Apr 2 2015
products

Angular vs Backbone vs Ember

Infographic with the main stats on these three frameworks.

Read More

Share Comments
  • angularjs
Apr 2 2015
products

Conference talk proposals

My presentation ideas, abstracts and cfps.

Read More

Share Comments
  • proposal
Mar 30 2015
products

Run Angular in Web Worker

Load and run full AngularJS 1.x in browser's separate thread.

Read More

Share Comments
  • angularjs
  • web workers
Mar 29 2015
products

Web working like a boss

Run any function in a separate web worker thread using ng-webworker.

Read More

Share Comments
  • angularjs
  • web workers
Mar 25 2015
products

Angular plus React equals Speed revisited

Speeding up Angular 1.x demo to be on par with React

Read More

Share Comments
  • angularjs
  • performance
  • reactjs
Mar 24 2015
products

Remove boilerplate from promise chains

How to remove boilerplate from intermediate steps using partial application or currying.

Read More

Share Comments
  • boilerplate
  • functional
  • promises
Mar 23 2015
products

Playing with PouchDB

Trying a tiny Node / browser NoSQL database with a clean API.

Read More

Share Comments
  • browser
  • db
  • es6
  • es7
  • generators
  • javascript
  • nodejs
Mar 19 2015
people

Getting up to JavaScript speed

How we develop our JavaScript and what you should know to participate.

Read More

Share Comments
  • advice
  • browser
  • javascript
Mar 18 2015
products

Using grunt tasks from gulp

How to reuse grunt tasks from gulp

Read More

Share Comments
  • grunt
  • gulp
  • nodejs
Mar 17 2015
products

Separate model from view in Angular

Share data model via scopes and limit the view access via controllerAs syntax.

Read More

Share Comments
  • advice
  • angularjs
Mar 17 2015
products

After upgrading to Angular 1.3

New features to use right after upgrading to Angular 1.3 from 1.2

Read More

Share Comments
  • advice
  • angularjs
Mar 15 2015
products

Setup hosted RethinkDB

Use RethinkDB hosted on Compose.io as a REST api data end point.

Read More

Share Comments
  • db
Mar 14 2015
products

Try RethinkDB

Initial local experiments with a modern NoSQL database.

Read More

Share Comments
  • boilerplate
  • db
Mar 12 2015
products

What is the difference between streams and functional reactive programming?

Count a specific word in a text file using streams and reactive programming.

Read More

Share Comments
  • functional
  • javascript
  • reactive
Mar 12 2015
products

Passing multiple arguments in promises

How to pass multiple values from one promise step to the next one without lexical scope or global variables.

Read More

Share Comments
  • promises
Mar 11 2015
products

Upgrade Angular from 1.2 to 1.3

Things we had to change in order to upgrade from Angular 1.2.26 to 1.3.14

Read More

Share Comments
  • angularjs
Mar 5 2015
products

Binding vs partial application

The difference between JavaScript context binding and partial argument application.

Read More

Share Comments
  • functional
  • javascript
Feb 28 2015
people

Overcoming functional programming objections

Solving objections to switching to functional javascript.

Read More

Share Comments
  • advice
Feb 26 2015
products

Reduce reigns supreme

Implementing every other array method using reduce.

Read More

Share Comments
  • functional
  • javascript
Feb 19 2015
book review

Review of "Principles of Object-Oriented JavaScript" by Nicholas Zakas

Excellent book from a master who explains one area of JavaScript in detail.

Read More

Share Comments
Feb 15 2015
products

Configuring AngularJS 3rd party module

How to use provider to allow user modules to configure 3rd party features.

Read More

Share Comments
  • angularjs
Feb 13 2015
products

Performance of v8 generators vs promises

Measuring generator vs promise performance.

Read More

Share Comments
  • es6
  • generators
  • performance
  • promises
Feb 12 2015
products

Factorial using promises

Iterative, recursive, promise-returning factorial interview question.

Read More

Share Comments
  • es6
  • interview
  • promises
Feb 12 2015
products

AngularJS 2 intro

Resources and links for learning about upcoming v2 AngularJS.

Read More

Share Comments
  • angularjs
  • angularjs2
Feb 10 2015
products

Playing with ES6 code

How to run ES6 (EcmaScript2015) code using 6to5 transpiler.

Read More

Share Comments
  • es6
  • javascript
  • nodejs
Feb 9 2015
products

The awful inconsistency of Firebase API

Please pick on API pattern and stick to it.

Read More

Share Comments
  • advice
  • db
Feb 8 2015
products

Starting promises

Good way to call the first promise-returning function.

Read More

Share Comments
  • angularjs
  • promises
Feb 7 2015
products

Too much point-free

A use case where point-free event callback does not work well.

Read More

Share Comments
  • functional
  • javascript
Feb 4 2015
process

Testing AngularJS application at the model level using iframe API

Simple end to end testing via iframe API.

Read More

Share Comments
  • advice
  • angularjs
  • testing
Feb 2 2015
products

Better short JavaScript demos

You can quickly show JavaScript code and its output in the example pages.

Read More

Share Comments
  • advice
  • browser
  • javascript
Jan 31 2015
products

Search across my blog posts and github projects

How I made a custom Google search across my github projects and blog posts.

Read More

Share Comments
  • advice
Jan 29 2015
process

Abandoning return values

Modern promise-based or event-driven JavaScript no longer uses returned values.

Read More

Share Comments
  • functional
  • javascript
Jan 28 2015
products

Promisify event emitter

Convert NodeJS EventEmitter emit to a promise-returning method.

Read More

Share Comments
  • javascript
  • nodejs
  • promises
Jan 27 2015
products

Was NodeJS module used

How to determine if a dependency module was actually used?

Read More

Share Comments
  • nodejs
Jan 22 2015
products

Run N promises in parallel

Finish M tasks while running N asynchronous tasks at once using Q or ES6 Promises.

Read More

Share Comments
  • promises
Jan 20 2015
process

Passing options through script tags

Use script tag attributes to pass config values.

Read More

Share Comments
  • advice
  • javascript
Jan 14 2015
products

Counting predicates

How to find the first item after the second number in an array.

Read More

Share Comments
  • functional
  • javascript
Jan 13 2015
process

Optimizing nth

Profiling and speeding up a function using Chrome and v8-natives.

Read More

Share Comments
  • javascript
  • performance
Jan 11 2015
products

Adapted point-free callbacks

Ignoring some arguments and partial binding for methods calls.

Read More

Share Comments
  • functional
  • javascript
Jan 4 2015
products

Hacking Node require

Replace NodeJS require to add cache busting, pre- and post-processing, mocking, arguments.

Read More

Share Comments
  • ast
  • nodejs
Dec 28 2014
process

Essence of functional programming

FP in plain JavaScript using partial application, composition, closures and higher-order functions.

Read More

Share Comments
  • functional
  • javascript
Dec 23 2014
products

Robustness testing using proxies

Mocking responses using turtle-run, service-turtle and ng-wedge.

Read More

Share Comments
  • advice
  • browser
  • service workers
  • testing
  • web workers
Dec 16 2014
process

AngularJS performance lessons

Summary of the AngularJS performance lessons learnt.

Read More

Share Comments
  • advice
  • angularjs
  • performance
Dec 14 2014
products

OO vs FP console log example

A common feature implemented in object-oriented and functional styles.

Read More

Share Comments
  • functional
  • javascript
Dec 14 2014
products

Performance profiling using DevTools code snippets.

Find bottlenecks in live web application using Chrome DevTools code snippets.

Read More

Share Comments
  • advice
  • javascript
  • performance
Dec 12 2014
process

Separate work from control flow using functional programming

Thunkifying is currying, argument reordering and middleware stacks.

Read More

Share Comments
  • advice
  • functional
  • javascript
Dec 10 2014
process

Code coverage proxy

User acceptance testing with code coverage information using was-tested.

Read More

Share Comments
  • code coverage
  • javascript
  • testing
Dec 10 2014
process

Code coverage by commit

Separate and update JavaScript code coverage information using tested-commits.

Read More

Share Comments
  • code coverage
  • javascript
  • testing
Nov 29 2014
process

Programming without For loops

You should use iterator methods for clarity and fewer side effects.

Read More

Share Comments
  • advice
  • functional
  • javascript
Nov 28 2014
process

Painless modular development proposal

Proposal for The O'Reilly Software Architecture Conference 2015

Read More

Share Comments
  • advice
  • modular development
  • proposal
Nov 28 2014
products

Drive wedge into your Angular application

Test live application by mocking responses without modifying code or installing plugins.

Read More

Share Comments
  • advice
  • angularjs
  • javascript
  • testing
Nov 26 2014
products

Measure space allocation

Which keys are expensive in a collection of objects?

Read More

Share Comments
  • javascript
Nov 25 2014
products

Faking lexical scope

Feeding fake variables to a function taken out of its lexical scope.

Read More

Share Comments
  • functional
  • javascript
Nov 25 2014
products

Tap into promise chains for debugging

Plus easy promise chaining using Ramda.

Read More

Share Comments
  • functional
  • javascript
  • promises
Nov 24 2014
people

My story presentations

Make a presentation about your life a couple of weeks after joining the company.

Read More

Share Comments
  • advice
  • interview
Nov 22 2014
process

Measuring semver adherence

Measuring how close a library follows semver semantics when publishing new releases.

Read More

Share Comments
  • advice
  • modular development
  • nodejs
Nov 22 2014
products

Immutable JavaScript example

Implementing Todo list with Undo using immutable data structure.

Read More

Share Comments
  • immutable
  • javascript
Nov 19 2014
process

Point-free programming is not pointless.

Eliminate variables and functions via flexible selective application.

Read More

Share Comments
  • functional
  • javascript
Nov 18 2014
products

Appliers

Functor + Applicative = Applier

Read More

Share Comments
  • functional
  • javascript
Nov 16 2014
products

Introducing d3-panel

Plot data right inside Chrome DevTools while debugging.

Read More

Share Comments
  • browser
  • d3
Nov 15 2014
products

Sharing data between controller and link functions in Angular directive

Semi-private data common to link and controller without adding to the scope.

Read More

Share Comments
  • angularjs
Nov 14 2014
products

Combine promises with Maybe functors

Functor Promise together with Maybe applicative.

Read More

Share Comments
  • functional
  • javascript
  • promises
Nov 12 2014
products

Test if a function is pure

Test function for purity using lexical scope and runtime context.

Read More

Share Comments
  • functional
  • javascript
Nov 12 2014
products

Avoid side effects with immutable data structures

Guarantee fewer side effects by using immutable objects instead of JavaScript arrays.

Read More

Share Comments
  • advice
  • javascript
Nov 10 2014
products

When in doubt, return a promise. Plus promises are functors.

Prepare for future async data flow by wrapping primitives in promises.

Read More

Share Comments
  • advice
  • functional
  • javascript
  • promises
Nov 5 2014
products

Local Angular scopes

Limit dirty checking to the given scope when reacting to user events.

Read More

Share Comments
  • angularjs
Nov 1 2014
process

Do not break dependant modules.

Check if your current module breaks other modules before publishing.

Read More

Share Comments
  • advice
  • javascript
  • modular development
  • nodejs
  • testing
Oct 29 2014
products

Run Angular digest cycle in web worker

An experiment in offloading AngularJs dirty checking and model updates to a separate browser thread.

Read More

Share Comments
  • angularjs
  • javascript
  • performance
  • web workers
Oct 22 2014
process

Improving Angular web app performance example.

Profiling and speeding up AngularJs application step by step using Chrome DevTools code snippets

Read More

Share Comments
  • advice
  • angularjs
  • performance
Oct 21 2014
products

Chrome DevTools Code Snippets

Run useful code fragments on-demand to analyze website performance.

Read More

Share Comments
  • advice
  • javascript
Oct 9 2014
products

Object of promises in Angular

$q.all(Array) and $q.all(Object) example

Read More

Share Comments
  • angularjs
  • nodejs
  • promises
Oct 9 2014
products

Delayed AngularJs filter initialization.

Changing filter function after async initialization.

Read More

Share Comments
  • angularjs
Oct 8 2014
products

Building runtime tree of Angular modules

See what each loaded Angular module provides and how it links to its dependencies.

Read More

Share Comments
  • angularjs
Oct 4 2014
products

Testing AngularJS under Node

Examples of unit testing Angular code from Node.

Read More

Share Comments
  • angularjs
  • nodejs
  • testing
Oct 3 2014
products

Avoiding silent Angular failures

Prevent silent module overrides, misspelled directives, undefined expressions.

Read More

Share Comments
  • angularjs
Sep 30 2014
products

Server side vanilla Angular rendering under Node

Loading and running simple Angular app under Node.

Read More

Share Comments
  • angularjs
  • nodejs
Sep 28 2014
process

Configurable function pattern

A function can configure itself via options argument to keep API clean and simple.

Read More

Share Comments
  • advice
  • javascript
Sep 26 2014
products

Selective partial application

Selective argument binding using lodash, ramda and heroin

Read More

Share Comments
  • boilerplate
  • functional
  • javascript
Sep 25 2014
products

Testing Angular async stuff

Methods one needs to call to make the unit tests work.

Read More

Share Comments
  • angularjs
  • testing
Sep 24 2014
process

1 year of blogging

Reflecting on the first year of blogging about software development.

Read More

Share Comments
  • advice
Sep 23 2014
process

Debugging minified JavaScript code without source maps

Locating the exception in minified JavaScript code.

Read More

Share Comments
  • javascript
  • sentry
Sep 16 2014
products

Useful module pattern

Avoid using `this` keyword in the API object revealed from a module.

Read More

Share Comments
  • javascript
Sep 16 2014
products

Debugging Karma Unit Tests

Debugging unit tests run by Karma using Chrome DevTools.

Read More

Share Comments
  • advice
  • javascript
  • testing
Sep 13 2014
products

Testing async lazy assertion

Testing lazy async assertion by spying on objects.

Read More

Share Comments
  • angularjs
  • testing
Sep 12 2014
people

Good examples

Tag places in your private source code as good examples for others

Read More

Share Comments
  • advice
Sep 8 2014
process

Code quality as a service

If I had to design static source code analysis service

Read More

Share Comments
  • advice
  • code coverage
Sep 6 2014
products

Detecting function optimizations in V8

How to observe JavaScript v8 JIT events

Read More

Share Comments
  • javascript
  • nodejs
  • performance
Sep 5 2014
products

Object iterators

Iterating over objects using lodash functions.

Read More

Share Comments
  • boilerplate
  • functional
  • javascript
Aug 28 2014
products

Readable conditions using check-types.js

Clear and easy to read defensive programming with check-types.js and check-more-types.js

Read More

Share Comments
  • assertions
  • javascript
Aug 26 2014
process

Tightening project with grunt build

Grunt plugins for tightening a project - linting, complexity, todos, etc.

Read More

Share Comments
  • advice
  • grunt
  • javascript
Aug 25 2014
process

Functional JavaScript interview question

Writing a functional adaptor makes a nice interview question.

Read More

Share Comments
  • advice
  • functional
  • interview
  • javascript
Aug 21 2014
book review

Review of "Everyday Calculus" by Oscar Fernandez

Everyday Calculus, Discovering the hidden math all around us by Oscar E. Fernandez.

Read More

Share Comments
Aug 17 2014
process

Test in production

Run unit tests in production environment using lazy-test

Read More

Share Comments
  • advice
  • javascript
  • testing
Aug 15 2014
products

Lodash to Ramda example

An argument for trying Ramda if you love _

Read More

Share Comments
  • functional
  • javascript
Aug 12 2014
book review

Review of "Stuff matters" by Mark Miodownik

Exploring the marvelous materials that shape our man-made world

Read More

Share Comments
Aug 11 2014
process

Test mole

Easily test code in private closures using test-mole.

Read More

Share Comments
  • javascript
  • testing
Aug 8 2014
process

Open source software

How to open source pieces of your software

Read More

Share Comments
  • advice
Aug 3 2014
book review

Review of "The Grapes of Math" by Alex Bellos

A delicious feast of mathematical, geometrical and historical dishes.

Read More

Share Comments
Aug 1 2014
products

Async using generators

Asynchronous processing using ES6 generators.

Read More

Share Comments
  • es6
  • generators
  • javascript
  • nodejs
Aug 1 2014
products

Promise paths

Promise chain looks like a railroad with two tracks.

Read More

Share Comments
  • javascript
  • promises
Jul 29 2014
process

Refactoring OR

Example refactoring a block of code containing OR condition

Read More

Share Comments
  • functional
  • javascript
Jul 27 2014
process

Agile software quality

A small team can produce high quality software without exhaustive and long testing cycles.

Read More

Share Comments
  • advice
Jul 26 2014
products

Picking JavaScript testing framework

Pick QUnit/gt if you need TDD, use Mocha if you want BDD, and Ava if preparing for the future.

Read More

Share Comments
  • QUnit
  • advice
  • javascript
  • testing
Jul 24 2014
process

Testing without matchers

We use assertions in our unit tests instead of built-in matchers.

Read More

Share Comments
  • javascript
  • testing
Jul 23 2014
products

Fluent getters and setters

Single method working as both getter and setter

Read More

Share Comments
  • javascript
Jul 23 2014
products

Pick latest promise

Promise throttling and flatMapLatest equivalent

Read More

Share Comments
  • promises
Jul 19 2014
book review

Review "How Not to Be Wrong" by Jordan Ellenberg

The power of mathematical thinking

Read More

Share Comments
Jul 14 2014
process

Journey from procedural to reactive JavaScript with stops

Same simple problem solved in different programming styles.

Read More

Share Comments
  • functional
  • javascript
  • reactive
Jul 9 2014
process

Randomize file order when testing

Keeping the same load order of files and tests can lead to hidden bugs.

Read More

Share Comments
  • testing
Jul 9 2014
process

Why upgrade dependencies?

Keep dependecies up to date to get bug and performance fixes, not features.

Read More

Share Comments
  • advice
  • modular development
Jul 6 2014
process

Helpful assertions

Use lazy and helpful assertions instead of Jasmine matchers in the unit tests.

Read More

Share Comments
  • assertions
  • javascript
Jul 1 2014
products

A second taste of nodejs generators

Another set of examples using generators.

Read More

Share Comments
  • es6
  • generators
  • javascript
  • nodejs
Jul 1 2014
products

Using Node ES6 today

Current level of ES6 in various tools.

Read More

Share Comments
  • es6
  • javascript
  • nodejs
Jun 26 2014
products

JavaScript closures

Explanation of closures via lexical scope

Read More

Share Comments
  • javascript
Jun 22 2014
process

Too much curry

One can easily apply too much or wrong type of curry.

Read More

Share Comments
  • functional
  • javascript
Jun 18 2014
products

Angular $q promises with timeouts

Extend promises returned by $q with timeout method

Read More

Share Comments
  • angularjs
  • javascript
  • promises
Jun 18 2014
products

End to end unit testing

You can quickly verify complex logic if you use structured JSON logging.

Read More

Share Comments
  • advice
  • javascript
  • testing
Jun 18 2014
products

Promises with timeouts

An example adding a flexible timeout method to promises

Read More

Share Comments
  • javascript
  • promises
Jun 11 2014
products

Make serialized objects smarter using prototype

We can extend objects built from JSON strings by pointing to a different prototype object.

Read More

Share Comments
  • javascript
Jun 8 2014
process

Working around the keyword new in JavaScript

Make constructor functions work without "new" keyword in callbacks.

Read More

Share Comments
  • boilerplate
  • functional
  • javascript
Jun 7 2014
process

Put callback first for elegance

Combining functions into custom iterator callbacks and using _ will be easier if you put callback function first and data second.

Read More

Share Comments
  • advice
  • functional
  • javascript
Jun 1 2014
products

A taste of nodejs generators

Playing with ES6 generators in Node.

Read More

Share Comments
  • es6
  • generators
  • javascript
  • nodejs
May 27 2014
products

Lazy and async assertions

Flexible assertions without performance penalty.

Read More

Share Comments
  • assertions
  • boilerplate
  • javascript
  • sentry
May 25 2014
products

Jade templates for Angular directives

Using Jade instead of HTML for AngularJS directives.

Read More

Share Comments
  • angularjs
  • jade
May 25 2014
products

Angular from browser console

Access angular model and update DOM from the browser console.

Read More

Share Comments
  • angularjs
May 20 2014
products

Inject valid constants into Angular

Using providers to inject runtime values into modules.

Read More

Share Comments
  • angularjs
May 19 2014
products

Keeping async data non-shared in singletons

Experiments with thread-local storage in Node.

Read More

Share Comments
  • javascript
  • nodejs
May 18 2014
products

No binding necessary

How to avoid having to bind functions to contexts.

Read More

Share Comments
  • javascript
May 16 2014
products

JavaScript stack size

Finding the size of the memory allocated for the stack.

Read More

Share Comments
  • javascript
May 15 2014
products

Recursive Angular Directive

If a directive is recursive, you must use template url to avoid infinite loop.

Read More

Share Comments
  • angularjs
May 8 2014
products

AngularJS $parse hacks

A few useful applications of AngularJS parsing service.

Read More

Share Comments
  • angularjs
May 6 2014
products

Assertions

Comparing 3rd party assertion libraries expect.js, should.js, etc.

Read More

Share Comments
  • assertions
  • javascript
May 5 2014
products

Simplicity in resource generation using promises

Simplify on deman resource loading with promises.

Read More

Share Comments
  • javascript
  • nodejs
  • promises
Apr 30 2014
products

Partial argument binding with heroin

How to bind any argument by name

Read More

Share Comments
  • javascript
Apr 27 2014
products

Why Node is different

Event-driven input/output makes for an efficient system for distributed computing.

Read More

Share Comments
  • nodejs
Apr 27 2014
products

Partial dependency injection

Examples of dependency injection in javascript

Read More

Share Comments
  • javascript
  • testing
Apr 27 2014
products

Why promises need to be done

Use .done() at the end of your Q promise chains to throw any unhandled exception.

Read More

Share Comments
  • javascript
  • promises
Apr 26 2014
products

Functional pipeline

Tiny library functional-pipeline composes functions in left to right order.

Read More

Share Comments
  • functional
  • javascript
Apr 23 2014
book review

Review of "Data Visualization with D3.js Cookbook" by Nick Qi Zhu

Great book, solid advice, focused on D3-specifics.

Read More

Share Comments
  • d3
Apr 22 2014
products

Unit testing promises

How to test promise-returning code.

Read More

Share Comments
  • QUnit
  • boilerplate
  • javascript
  • promises
Apr 21 2014
process

Defensive distance

Number of input data checks depends on the distance from the caller.

Read More

Share Comments
  • advice
  • assertions
Apr 16 2014
products

Linking promises

How to connect multiple promise-returning methods into single chain.

Read More

Share Comments
  • promises
Apr 14 2014
products

Unit testing Angular load using Node

Angular library can be loaded under Node synthetic browser environment.

Read More

Share Comments
  • angularjs
  • nodejs
  • testing
Apr 13 2014
products

Stop Angular overrides

Stop hunting phantom problems due to name collisions.

Read More

Share Comments
  • angularjs
Apr 8 2014
products

Dual grunt tasks

Grunt tasks that accept default options or can be configured.

Read More

Share Comments
  • boilerplate
  • grunt
Apr 6 2014
products

2 shell search commands

Search text files using grep and skip Node 3rd party folders.

Read More

Share Comments
  • advice
Mar 31 2014
products

Spying on methods

How to spy on methods using sinon.js

Read More

Share Comments
  • javascript
  • testing
Mar 26 2014
people

JavaScript books

Books to read to learn JavaScript.

Read More

Share Comments
  • javascript
Mar 24 2014
products

Unit testing D3 code without browser

Test D3 drawing code without running a browser for speed.

Read More

Share Comments
  • d3
  • javascript
  • testing
Mar 23 2014
process

Cloning 2048

Making my own clone of the popular browser game.

Read More

Share Comments
  • advice
  • javascript
Mar 21 2014
process

Defensive coding examples

Examples of using lodash, angular, check-types, ramda assertions

Read More

Share Comments
  • advice
  • assertions
  • javascript
  • sentry
  • testing
Mar 18 2014
process

Catch AngularJs minification errors

How to prevent hard to debug AngularJS injection errors due to minified code.

Read More

Share Comments
  • advice
  • angularjs
Mar 10 2014
products

Why function bind matters little in AngularJs

AngularJS relies on closures rather than modules, removing need to bind a context.

Read More

Share Comments
  • angularjs
  • javascript
Mar 9 2014
products

Presentation slides using HTML and CSS

My HTML framework for simple drag and drop presentations from Markdown files.

Read More

Share Comments
  • browser
  • jade
  • markdown
Mar 6 2014
products

CDN with local fallback

How to load JavaScript libraries from CDN but use local copy if there is timeout.

Read More

Share Comments
  • javascript
Mar 2 2014
products

Accurate coverage number

Remove unit testing coverage from the collected data.

Read More

Share Comments
  • code coverage
  • javascript
  • testing
Mar 1 2014
products

Sweet naked objects

Create and use objects without any prototype.

Read More

Share Comments
  • ast
  • javascript
Feb 28 2014
products

Infinite slow fake data on scroll using AngularJs

Example Angular application fetching more data on scroll.

Read More

Share Comments
  • angularjs
  • javascript
Feb 24 2014
process

Catch all errors in Angular app

Catch all possible errors using both global and angular error hooks.

Read More

Share Comments
  • advice
  • angularjs
  • javascript
  • sentry
Feb 23 2014
products

Server-side constants injection into Angular modules

How to pass configuration into AngularJS during server-side template rendering.

Read More

Share Comments
  • advice
  • angularjs
  • jade
Feb 21 2014
products

Code coverage via GT and Coveralls

Collecting JavaScript code coverage and sending to coveralls.io

Read More

Share Comments
  • QUnit
  • javascript
  • nodejs
  • testing
Feb 19 2014
products

Chaining promises

How to connect promises into single sequence.

Read More

Share Comments
  • boilerplate
  • javascript
  • promises
Feb 12 2014
products

Homebrew CLI testing

You can easily perform CLI end to end testing by checking the exit codes.

Read More

Share Comments
  • advice
  • javascript
  • testing
Feb 10 2014
people

Reading books using epics

Effectively reading technical books by using agile epics.

Read More

Share Comments
  • advice
Feb 10 2014
products

Simplify filtering conditions

Example refactoring a block of code containing AND condition

Read More

Share Comments
  • advice
  • functional
  • javascript
Feb 7 2014
products

The most boring generator function's caller

EcmaScript6 generator that does nothing

Read More

Share Comments
  • es6
  • javascript
Feb 5 2014
products

Linting JavaScript inside HTML

Use jshint to statically check JavaScript inside HTML pages.

Read More

Share Comments
  • javascript
  • jshint
Feb 2 2014
products

Git branches with descriptions

How to set and see git branch descriptions.

Read More

Share Comments
  • advice
  • git
Feb 2 2014
process

Local Angular development

How to develop AngularJS applications in offline mode.

Read More

Share Comments
  • angularjs
Jan 25 2014
products

Unit testing blog posts

A way to unit test JavaScript code inside Markdown blog posts.

Read More

Share Comments
  • advice
  • javascript
  • markdown
  • nodejs
  • testing
Jan 21 2014
products

JavaScript does not annoy me anymore

Getting around typical JavaScript pitfalls.

Read More

Share Comments
  • advice
  • javascript
Jan 20 2014
products

Angular Templates

Precompiling all AngularJS HTML templates into single javascript bundle.

Read More

Share Comments
  • angularjs
Jan 20 2014
products

Error handling in promises

Handling the errors in the promise chain.

Read More

Share Comments
  • javascript
  • nodejs
  • promises
Jan 17 2014
products

Testing Connect middleware

How to test Connect or Express middleware functions.

Read More

Share Comments
  • advice
  • javascript
  • nodejs
  • testing
Jan 17 2014
book review

Review of "The Smashing Book 4"

Great book for front end engineers and designers.

Read More

Share Comments
Jan 16 2014
process

Give browser a chance

Send basic information with markup to generate low res page preview.

Read More

Share Comments
  • advice
  • browser
Jan 16 2014

Use Unix line endings

How to set Git and Grunt to always use same line ending character.

Read More

Share Comments
  • advice
  • git
Jan 12 2014
products

Hooking into Node loader for fun and profit

Log loaded files, add code coverage and extra features on the fly.

Read More

Share Comments
  • ast
  • javascript
  • nodejs
Jan 11 2014
people

Developer value

Developer is more valuable if his / her code does not have to be rewritten for a long time.

Read More

Share Comments
Jan 10 2014
products

Functional decorators without coupling

Extend simple feature with little functional decorators.

Read More

Share Comments
  • ast
  • functional
  • javascript
Dec 29 2013
products

AngularJs inside Jade templates

How to write AngularJS code inside server-side Jade templates.

Read More

Share Comments
  • angularjs
  • jade
  • nodejs
Dec 26 2013
process

Know unknown unknowns with Sentry

Client side javascript error reporting using Sentry.

Read More

Share Comments
  • advice
  • javascript
  • sentry
Dec 21 2013
products

Shorten promises (advanced)

Advanced examples removing promise boilerplate code.

Read More

Share Comments
  • advice
  • javascript
  • promises
Dec 20 2013
products

Shorten promises

How to avoid unnecessary promise boilerplate code.

Read More

Share Comments
  • advice
  • boilerplate
  • javascript
Dec 19 2013
process

Missing feature in every project planning app

Using single time estimate for a task leads to inaccurate plans.

Read More

Share Comments
  • advice
Dec 17 2013
products

Fast prototyping using Restangular and Json-server

Quick demos using AngularJS library Restangular and JSON file backend.

Read More

Share Comments
  • angularjs
  • nodejs
Dec 16 2013
process

Debugging JS minification bug

An example of a weird browser behavior traced back to the minification step.

Read More

Share Comments
  • javascript
Dec 12 2013
process

Paranoid coding

Checking input arguments before doing any computation helps to quickly debug problems.

Read More

Share Comments
  • advice
  • assertions
Dec 9 2013
book review

Review of "Thinking, fast and slow"

Excellent book, highly recommend to read.

Read More

Share Comments
Dec 8 2013
book review

Review of "Node.js in Action"

Best book to read from the masters of NodeJS.

Read More

Share Comments
  • nodejs
Dec 6 2013
process

Aged to Perfection

Using different linting settings depending on the code age

Read More

Share Comments
  • grunt
  • javascript
  • nodejs
Nov 27 2013
process

Product, process, people

How I categorize every piece of knowledge about software development

Read More

Share Comments
  • advice
Nov 26 2013
book review

Review of "The Phantom Tollbooth"

Fun for kids, language mastery for adults.

Read More

Share Comments
Nov 26 2013
products

Deploy Node app to Heroku

Main steps when deploying NodeJS app using Heroku CLI tool.

Read More

Share Comments
  • ci
  • nodejs
Nov 16 2013
book review

Review of "High Performance Browser Networking"

A must read for anyone programming distributed systems that include the browser.

Read More

Share Comments
  • performance
Nov 16 2013
process

High MPG Code Coverage

How to get many useful things from unit test coverage information.

Read More

Share Comments
  • code coverage
  • testing
Nov 15 2013
process

High MPG Unit Tests

How to get many useful things from unit tests

Read More

Share Comments
  • testing
Nov 14 2013
products

Concurrency can bite you even in Node

Ordering of execution can be tricky in the JavaScript event loop.

Read More

Share Comments
  • concurrency
  • nodejs
  • promises
Nov 10 2013
process

Large projects are never finished

Large projects have lots of downsides, split them up.

Read More

Share Comments
  • advice
  • git
  • modular development
Nov 10 2013
book review

Review of "Clean code" by Robert Martin

Clean Code A Handbook of Agile Software Craftsmanship by Robert Martin.

Read More

Share Comments
  • advice
Nov 8 2013
products

My favorite functional adaptors

unary, once, time, fluent and tap

Read More

Share Comments
  • functional
  • javascript
  • promises
Nov 7 2013
process

Tightening Node Project

Linting, CI, badges and pre-commit hooks for Node project.

Read More

Share Comments
  • advice
  • nodejs
Nov 5 2013
products

Focus on specific Jasmine suite in Karma

iit, xit, ddescribe, xdescribe

Read More

Share Comments
  • angularjs
  • javascript
  • testing
Nov 3 2013
products

Run QUnit module setup once

How to run the async test suite setup.

Read More

Share Comments
  • QUnit
  • testing
Nov 2 2013
products

Testing async module setup

Unit test suits with async setup functions.

Read More

Share Comments
  • QUnit
  • promises
  • testing
Oct 30 2013
products

Iterator callbacks

Adapting signatures and preserving context in iterators.

Read More

Share Comments
  • functional
  • javascript
Oct 28 2013
products

I love Markdown

Markdown is lightweight convention for text documents.

Read More

Share Comments
  • markdown
Oct 26 2013
book review

Review of "The Signal and the Noise" by Nate Silver

Excellent book on data and statistics.

Read More

Share Comments
Oct 24 2013
process

Tightening Jshint

Measuring and increasing number of jshint settings.

Read More

Share Comments
  • advice
  • javascript
  • jshint
  • nodejs
Oct 19 2013
products

AngularJs and JavaScript nuggets

Tiny JavaScript examples that simplify and clean up your code.

Read More

Share Comments
  • angularjs
  • javascript
Oct 19 2013
book review

Review of "Antifragile" by Nassim Nicholas Taleb

Subject your life to constant low levels of stress to prepare for unpredictable events.

Read More

Share Comments
Oct 9 2013
people

Training new developers like you were a loan shark

Invest into new developers early to reap compounded returns.

Read More

Share Comments
Oct 7 2013
process

Really painless modular development

Keep dependencies up to date using next-update

Read More

Share Comments
  • advice
  • modular development
Oct 6 2013
process

Modular development using Nodejs

Split large projects into small modules.

Read More

Share Comments
  • advice
  • modular development
Oct 2 2013
process

Never break remote master (again)

Run extensive testing from clean environment before pushing code to remote repo.

Read More

Share Comments
  • git
Oct 1 2013
book review

Review of "Year without Pants" by Scott Berkun

Great book on remote working in software industry.

Read More

Share Comments
Sep 30 2013
people

who.influences(me)

Who do I listen to when selecting or learning a technology.

Read More

Share Comments
Sep 28 2013
process

Never break master by accident

Run unit tests on every commit using git hook.

Read More

Share Comments
  • git
Sep 26 2013
products

Status dashboard from Markdown

See the project build status for all projects at once.

Read More

Share Comments
  • advice
  • markdown
Sep 25 2013
products

Project status badges

Add build status, version and dependency badges to your README.md

Read More

Share Comments
  • advice
Sep 25 2013
products

REST API testing made easy

Quick API endpoint testing using several libraries.

Read More

Share Comments
  • testing
Sep 24 2013
people

JavaScript and AngularJs learning resources

Books, emails, websites for learning JavaScript, AngularJs and HTML5

Read More

Share Comments
  • angularjs
  • javascript
Sep 20 2013
people

Transition from Windows to Mac

Advice for developers moving from Windows to Mac OS X.

Read More

Share Comments
  • advice
Sep 19 2013
process

Check dependencies in grunt by default

Quickly verify that necessary top level dependencies are installed.

Read More

Share Comments
  • grunt
  • modular development
Sep 18 2013
products

Git aliases

Aliases simplify working with git commands

Read More

Share Comments
  • advice
  • git
Sep 17 2013
products

Simplify your life with JShint

Detect some code problems using static analysis.

Read More

Share Comments
  • grunt
  • gulp
  • javascript
  • jshint
  • testing
 

Categories

  • book review15
  • people20
  • process138
  • products357

Tags

  • QUnit5
  • a11y1
  • advice106
  • algolia1
  • angularjs58
  • angularjs21
  • assertions9
  • ast8
  • boilerplate14
  • browser18
  • ci12
  • climate10
  • code coverage10
  • concurrency1
  • cyclejs7
  • cypress82
  • d33
  • db11
  • docker12
  • es613
  • es71
  • functional68
  • generators5
  • git13
  • github8
  • graphql4
  • grunt7
  • gulp3
  • hyperapp7
  • immutable5
  • interview3
  • jade4
  • javascript165
  • jshint3
  • markdown11
  • model-based testing1
  • modular development28
  • nodejs82
  • performance19
  • presentation4
  • promises31
  • proposal2
  • ramda1
  • react4
  • reactive12
  • reactjs4
  • renovate5
  • screencast1
  • security9
  • sentry11
  • service workers6
  • state machine1
  • testing118
  • tutorial16
  • typescript6
  • ui2
  • vercel6
  • vuejs5
  • web workers6
  • webpack3

Tag Cloud

QUnit a11y advice algolia angularjs angularjs2 assertions ast boilerplate browser ci climate code coverage concurrency cyclejs cypress d3 db docker es6 es7 functional generators git github graphql grunt gulp hyperapp immutable interview jade javascript jshint markdown model-based testing modular development nodejs performance presentation promises proposal ramda react reactive reactjs renovate screencast security sentry service workers state machine testing tutorial typescript ui vercel vuejs web workers webpack

Archives

  • January 20212
  • December 20206
  • November 20208
  • October 202010
  • September 20205
  • August 20203
  • July 20203
  • June 20204
  • May 20203
  • April 20202
  • March 20207
  • February 20201
  • January 20201
  • December 20193
  • November 20193
  • October 20192
  • September 20196
  • August 20195
  • July 20192
  • June 20191
  • May 20195
  • April 20194
  • March 20193
  • February 20191
  • January 20194
  • December 20183
  • November 20182
  • October 20183
  • September 20184
  • August 20184
  • June 20185
  • April 20183
  • March 20184
  • February 20181
  • January 20185
  • December 20173
  • November 20174
  • September 20172
  • August 20179
  • July 20174
  • June 20174
  • May 20172
  • April 20179
  • March 201710
  • February 20175
  • January 20174
  • December 20165
  • November 20161
  • October 20162
  • September 20161
  • August 20165
  • July 20162
  • June 20167
  • May 20165
  • April 20168
  • March 201610
  • February 20165
  • January 20168
  • December 20159
  • November 20158
  • October 20154
  • September 20154
  • August 201511
  • July 20154
  • June 20159
  • May 20158
  • April 201510
  • March 201515
  • February 201513
  • January 201510
  • December 20148
  • November 201419
  • October 20148
  • September 201413
  • August 201412
  • July 201413
  • June 20149
  • May 201411
  • April 201413
  • March 201411
  • February 201412
  • January 201411
  • December 201311
  • November 201314
  • October 201311
  • September 201310

Recents

  • Be Careful With Negative Assertions
  • Backend Code Coverage from Cypress API tests
  • Writing a Custom Cypress Command
  • Make Cypress Run Faster by Splitting Specs
  • Cypress cy.intercept Problems
© 2021 Gleb Bahmutov
Powered by Hexo