Reflecting on the first ten years of blogging about software development.
The Ultimate Guide to Automated QA Job Interviews recordings.
Answers to some questions about TodoMVC tests from my Cypress workshop.
Q and A from the recent podcast PodRocket episode.
How I would debug a Cypress test failing to find an item.
Two very simple ideas to immediately improve your Cypress tests.
How I sell online Cypress training courses - an interview with UNmiss podcast.
How to run the tests simply by clicking on a checkbox in the pull request.
How to select the tests to run using the GitHub pull request checkboxes.
How to tag your Cypress tests to make sure anyone can quickly test the changes.
How I write job description and interview people while respecting their time.
We made the Cypress documentation exceptional by avoiding these mistakes.
Try to make your code snippets the real things someone can paste into the file and use right away.
Resolving a user issue through the most appropriate series of actions
Repeat the same test and the entire project to find flakey tests
Do not use lax restore cache keys or your Cypress cache will blow up in size
How to apply to a job in a way to make the hiring manager say "Yes" to your application.
Do not use lax restore cache keys or your cache will roll over with unused dependencies
How to release a well-tested library that never breaks the users' projects
Looking at my personal daily task logs from the past 18 months
Common mistakes to avoid when applying for a software job. Plus how to get a job if you have no relevant work experience yet.
Must have sections, badges, flow.
Quickly run complex HTTP requests from terminal.
Setting up a rock solid NPM module with semantic release in 30 seconds.
Replacement for testing pyramid.
How I asked my coworkers to give me anonymous career advice.
Tips and tricks for larger web apps.
Writing tests should not be an afterthought.
How to setup semantic release on private GitLab and on-premises NPM registry.
How to bundle a server including private modules and static files.
Links to projects mentioned during BuzzJS presentation.
How to start and get better at using JavaScript in functional way.
Common code snippets for using Pug (formerly Jade) template language.
How I came up with idea and how I wrote wiseli
How to write innovative, unusual and simply cool software.
Three things I try to do as a senior engineer
Generate the initial HTML markup from web app at build time to avoid blank screen.
Remove the empty page flicker on web application startup.
What useful ES6 features can we use right now?
How to use CircleCI to publish new versions of your NPM modules.
The most interesting presentations I have seen last month.
How to finish strong in any hackathon.
Remove unnecessary code while preserving the same code semantics.
Instead of returning an error code or value, return a Promise.
How to always load a 3rd party library in DevTools console
Leave executable examples inside source files for future reference.
How to design a simple to use and powerful library API.
Steps to develop good ExpressJS based application server.
Scoring the cold recruiter pitches I received. Plus a few examples.
How to include version and useful meta information in the JavaScript libraries.
How to embed the commit id in the Express application using Codeship and Heroku.
How we develop our JavaScript and what you should know to participate.
Share data model via scopes and limit the view access via controllerAs syntax.
New features to use right after upgrading to Angular 1.3 from 1.2
Solving objections to switching to functional javascript.
Please pick on API pattern and stick to it.
Simple end to end testing via iframe API.
You can quickly show JavaScript code and its output in the example pages.
How I made a custom Google search across my github projects and blog posts.
Use script tag attributes to pass config values.
Mocking responses using turtle-run, service-turtle and ng-wedge.
Summary of the AngularJS performance lessons learnt.
Find bottlenecks in live web application using Chrome DevTools code snippets.
Thunkifying is currying, argument reordering and middleware stacks.
You should use iterator methods for clarity and fewer side effects.
Proposal for The O'Reilly Software Architecture Conference 2015
Test live application by mocking responses without modifying code or installing plugins.
Make a presentation about your life a couple of weeks after joining the company.
Measuring how close a library follows semver semantics when publishing new releases.
Guarantee fewer side effects by using immutable objects instead of JavaScript arrays.
Prepare for future async data flow by wrapping primitives in promises.
Check if your current module breaks other modules before publishing.
Profiling and speeding up AngularJs application step by step using Chrome DevTools code snippets
Run useful code fragments on-demand to analyze website performance.
A function can configure itself via options argument to keep API clean and simple.
Reflecting on the first year of blogging about software development.
Debugging unit tests run by Karma using Chrome DevTools.
Tag places in your private source code as good examples for others
If I had to design static source code analysis service
Grunt plugins for tightening a project - linting, complexity, todos, etc.
Writing a functional adaptor makes a nice interview question.
Run unit tests in production environment using lazy-test
How to open source pieces of your software
A small team can produce high quality software without exhaustive and long testing cycles.
Pick QUnit/gt if you need TDD, use Mocha if you want BDD, and Ava if preparing for the future.
Keep dependecies up to date to get bug and performance fixes, not features.
You can quickly verify complex logic if you use structured JSON logging.
Combining functions into custom iterator callbacks and using _ will be easier if you put callback function first and data second.
Number of input data checks depends on the distance from the caller.
Search text files using grep and skip Node 3rd party folders.
Making my own clone of the popular browser game.
Examples of using lodash, angular, check-types, ramda assertions
How to prevent hard to debug AngularJS injection errors due to minified code.
Catch all possible errors using both global and angular error hooks.
How to pass configuration into AngularJS during server-side template rendering.
You can easily perform CLI end to end testing by checking the exit codes.
Effectively reading technical books by using agile epics.
Example refactoring a block of code containing AND condition
How to set and see git branch descriptions.
A way to unit test JavaScript code inside Markdown blog posts.
Getting around typical JavaScript pitfalls.
How to test Connect or Express middleware functions.
Send basic information with markup to generate low res page preview.
How to set Git and Grunt to always use same line ending character.
Client side javascript error reporting using Sentry.
Advanced examples removing promise boilerplate code.
How to avoid unnecessary promise boilerplate code.
Using single time estimate for a task leads to inaccurate plans.
Checking input arguments before doing any computation helps to quickly debug problems.
How I categorize every piece of knowledge about software development
Large projects have lots of downsides, split them up.
Clean Code A Handbook of Agile Software Craftsmanship by Robert Martin.
Linting, CI, badges and pre-commit hooks for Node project.
Measuring and increasing number of jshint settings.
Keep dependencies up to date using next-update
Split large projects into small modules.
See the project build status for all projects at once.
Add build status, version and dependency badges to your README.md
Advice for developers moving from Windows to Mac OS X.
Aliases simplify working with git commands