Blog posts
-
Testing components that use the Jotai atomWithHash function
How to configure JSDOM to ensure test isolation when testing React components that use atomWithHash from the Jotai npm package.
Read this post -
Useful flow charts when integrating Auth0 in an SPA
Two flow charts to help you understand the effects of various configuration settings when integrating Auth0 in an SPA.
Read this post -
Avoid Scrum if you are a startup
Why Scrum is not a good way to manage your development process if you are a startup.
Read this post -
Recreating the D3 axis component in React
Demonstrating how to combine React and D3 by recreating the D3 axis component in React.
Read this post -
A performance issue with the prop getters pattern in React
A look at the prop getters pattern that is used in some React.js libraries and how it has a potential performance issue.
Read this post -
Choosing a Node.js package manager for your next project
A look at the current state of Node.js package managers and how you might choose between them.
Read this post -
Web design as a collaboration between designer and developer
How designer and developer need to collaborate to achieve pixel perfect Web sites
Read this post -
A performance testing gotcha with the Canvas Web API
A gotcha that you might come across when trying to test the performance of the Canvas API.
Read this post -
A layered canvas rendering issue in Web Workers
An issue that I found in Chrome when rendering to layered canvases from Web Workers.
Read this post -
CPU versus GPU with the Canvas Web API
How the browser can use the CPU or the GPU to render to a canvas when using the Canvas Web API, and how this affects the performance of your Web app.
Read this post -
Bresenham's line algorithm: An exploration
An introduction, explanation, and exploration of this classic line rasterisation algorithm.
Read this post -
Programming the NES: The 6502 in detail
The second in a series of posts about programming the Nintendo Entertainment System. I take a detailed look at programming the CPU that powers it.
Read this post -
Programming the NES: The NES in overview
The first in a series of posts about programming the Nintendo Entertainment System. I start with a history of the system and an overview of its internals.
Read this post -
Git rebasing with the --onto option
How to use the --onto option when rebasing to avoid confusing merge conflicts.
Read this post -
Useful CSS features
A few CSS features that you might find useful on your next Web project.
Read this post -
Practical advice for code reviews
Improve your team's code review process with some practical advice on the subject.
Read this post -
Tips for using Styled Components
Tips and tricks to enhance your use of the Styled Components CSS-in-JS library.
Read this post -
Visually hiding content in React
Implement visually hidden content and skip links for a11y support in React.
Read this post -
Imperative updates in React
Solutions for performing imperative updates in React.
Read this post -
Managing dependencies in React applications
Ways to manage inter-module dependencies in a React application.
Read this post -
The dangers of fragile patterns in React lifecycle methods
A cautionary look at the guarantees or lack thereof in React lifecycle methods.
Read this post -
A React development flow
How to go about developing a new feature in a React Web app.
Read this post -
Symmetry in the naming of event handler props
A common approach to event handler naming.
Read this post -
A short history of function components in React
Looking back at the history of the function component.
Read this post -
Value added front-ends
Thoughts on how to add value to a front-end application.
Read this post -
A modular way to organize your React code
An approach to organizing your React application source code.
Read this post -
Extending the single responsibility principle
How to identify the key responsibilities in your code and write higher quality code.
Read this post -
Adding visual regression testing to a React app
Approaches and considerations when adding visual regression testing to a React application.
Read this post -
A game of Snakes and Ladders
Likening software development to a game of Snakes and Ladders.
Read this post -
What makes a good developer?
A discussion about what makes a developer a good developer.
Read this post -
Using Phantom.js with AWS Lambda
How to run the Phantom.js headless browser application within an AWS Lambda instance.
Read this post -
Installing SSL certificates in Amazon Web Services
How to install SSL Certificates in AWS to secure your sites.
Read this post -
Blue-green deployments in Amazon Web Services
Implementing blue-green deployments for zero downtime production updates.
Read this post