Learn how to build Conway's Game of Life with JavaScript, React and the simulation pattern.
Welcome!
Hi, I'm Kyle Shevlin, a software engineer and online instructor. This is where I share all the content I create. I mostly write articles and create courses, focusing on breaking concepts down to their fundamentals.
Peruse my blog posts, check out one of my courses (or all of them), and sign up for my newsletter if you like what you read.
If you need to reach out to me, Twitter is by far the best way to do so.
Enjoy your time here and thank you.
Unsure Where to Start?
Try a post in one of these tagged collections.
Recent Posts
- 146 strokes bestowed
- 321 strokes bestowed
The “simulation pattern” is a useful tool for anyone's programming repertoire. Let's learn how to use it on almost any state problem that advances by discrete increments.
- 461 strokes bestowed
Sometimes we want to add functionality that happens with every call of a state setter. Learn how to wrap that state setter to add it.
- 203 strokes bestowed
Parametric design is the process of using adjustable parameters to modify and influence a design. Add it to your box of tools.
- 293 strokes bestowed
Many text editors allow you to fold, or collapse, blocks of code. I believe we can improve the design of our code by using this to our advantage.
- 150 strokes bestowed
I am about to launch a course platform of my own making at courses.kyleshevlin.com. It is not fancy. But it is my own. Learn how and why I built it.
- 1387 strokes bestowed
UI Libraries are great for having a solid design system to build from. Here's a small architectural decision I would do to make them even nicer to work with.
- 858 strokes bestowed
Factory functions help us quickly create objects. They make use of closures to have private values and functions, all while avoiding the
thiskeyword. Learn how to use them in this article. - 339 strokes bestowed
Recently, I helped a small team fix a performance issue involving React Context. It was a fairly simple fix that I want to share with you. I'm going to set up the problem, show you the small change we needed to make, and share a small library I made to help you out in the future.
- 1357 strokes bestowed
People are often confused by
useRef. Let's try and fix that confusion by comparing it withuseState. - 1037 strokes bestowed
JavaScript closures are confusing for some, but they do not have to be. Learn what a closure is and why they are a powerful tool to have in your programming repertoire.
- 891 strokes bestowed
React state can be updated in two ways: replace the
currentStatewith thenextState, or transform thecurrentStateto thenextStatewith a function. Prefer the function. - 345 strokes bestowed
Learn how to increase the flexibility and testability of your programs by passing dependencies in as function arguments alongside default parameters.
- 524 strokes bestowed
Discriminated unions in TypeScript can go awry when you use object or array destructuring. Learn why it happens and what you can do to fix the problem.
- 953 strokes bestowed
Since the advent of React hooks, I have seen a pattern emerge that I think is less than ideal. I've started calling it the “naked state setter” pattern. Let's find out what it is and how to avoid it.
