Kyle Shevlin

Software Engineer

All Posts

Here is a list of the title, subtitle, and tags of all my posts. Use a good old fashioned "find" in your browser (cmd+f or ctrl+f) right now to search for keywords. I'm working on adding search and filters soon.

Typescript Prevents Bad Things... and Good Things

React
JavaScript
TypeScript

Quit Your YAP-ing

React

Compound Components

Keep it flexible, keep it working
React

Context, Composition, and Flexibility

React

Algorithms: Insertion Sort

Data Structures and Algorithms

Algorithms: Bubble Sort

Data Structures and Algorithms

JSX was a Mistake

React

Capture Phase Event Handling in React

React

Why Use useReducer?

React

Patterns for Functions with Conditionals

JavaScript
Software Engineering
Refactoring

Updating State with a Component

Not with a State Updater Function
React
JavaScript

Conway's Game of Life

JavaScript
React

The Simulation Pattern

JavaScript
Computer Science

The Wrapped State Setter Pattern

JavaScript
React

Parametric Design

JavaScript
React

The “Folded Code” Test

JavaScript
Software Engineering

My Course Platform

How and Why I Built It
Career
Thoughts

How I Would Use a UI Library

React
JavaScript

What is a Factory Function?

JavaScript
Computer Science

Careful with Context Composition

React

Comparing `useRef` and `useState`

React
JavaScript

What is a Closure?

JavaScript
Computer Science

Prefer Function Updaters in State Setters

React
JavaScript

Dependency Injection and Default Parameters

or One Way to Make Your Programs More Flexible
JavaScript

Discriminated Unions and Destructuring in TypeScript

React
JavaScript
TypeScript

Prefer Declarative State Updaters

or Don't Pass Around Naked State Setters, Please
React

How I Structure My React Projects

React

What are “Magic Values”?

JavaScript
Software Engineering

`useMemo` and Stable Values

React

Symbolic Logic

or Algebra meets Logic
Software Engineering

Set Theory

A Primer
JavaScript
Computer Science

What is a Tuple?

JavaScript
React
React Hooks

Conditional React Hooks

React
React Hooks

Debounce and Throttle Callbacks with React Hooks

React
React Hooks

How to Use React Context Effectively

React
React Hooks
JavaScript

Facade Pattern

or why this pattern might save your bacon
JavaScript
React
Computer Science
Software Engineering

useEncapsulation

or Why Your React Components Should Only Use Custom Hooks
JavaScript
React
React Hooks
Computer Science

Encapsulation

or the Primary Purpose of Functions
JavaScript
React
Computer Science
Refactoring

Use Old School State

or Bringing Back the Callback
React
JavaScript

Helpful Debugging Hooks

React
React Hooks
JavaScript

Headlight Vision

or The Challenge of Only Driving at Night
Thoughts

Pattern Matching in JavaScript

...well, sort of...
JavaScript

Generator Functions

JavaScript

Multiple Boolean Props are a Code Smell

JavaScript
React

Mental Model of Use Effect

or Don't Use the Dependencies Array as a Conditional
JavaScript
React
React Hooks

Tic-Tac-Toe in React

React
JavaScript

Using `React.memo` to Avoid Unnecessary Rerenders

React
JavaScript

Memoization: What, Why, and How

Trading Space for Time
JavaScript
React
Computer Science

The Three Kinds of React State

React

Adding Guards to a `useReducer` Finite State Machine

React
React Hooks
State Machines

Break Out Your Component Logic with Hooks

React
React Hooks
Refactoring

Adding Infinite States to a `useReducer` Finite State Machine

React
React Hooks
State Machines

Can a State Machine be a String?

A Superfluous Experiment in Brevity
React
State Machines

How to Use `useReducer` as a Finite State Machine

React
React Hooks
State Machines

Guidelines for State Machines and XState

React
State Machines

Managing Cyclomatic Complexity

Data Structures and Algorithms
Computer Science

Recursive React Components

React
Computer Science
Data Structures and Algorithms

Enumerate, Don't Booleanate

React
State Machines

The Future of Second Career Devs

How to Render an Object in React

Building a `Log` Component
React

How to Add Algolia Search to a Gatsby Site

Gatsby
React

Graphs Are Everywhere

Computer Science
Data Structures and Algorithms

When `else`s Make Your Code Worse

or An Example on How Small Refactors Can Improve Your Code
Refactoring
Software Engineering

A Plea for Imagination

aka Learn to Remix
Thoughts

Just Enough FP: Composition

Functional Programming
JavaScript

Just Enough FP: Pointfree

Functional Programming
JavaScript

Just Enough FP: Argument Order

Functional Programming
JavaScript

Just Enough FP: Partial Application

Functional Programming
JavaScript

Just Enough FP: Currying

Functional Programming
JavaScript

Just Enough FP: Immutability

Functional Programming
JavaScript

Just Enough FP: Pure Functions

Functional Programming
JavaScript

Just Enough FP: Higher Order Functions

Functional Programming
JavaScript

Just Enough Functional Programming Course Launch

Functional Programming
JavaScript

Your Own Gathering

Thoughts

Firebase and Gatsby, Together At Last

or How I Fixed an Unexpected Snafu
Firebase
Gatsby
React

State Machines: The XState Visualizer

State Machines

State Machines: Our First XState Machine

State Machines

State Machines: What Are They?

State Machines

Why I Rewrote My Blog With Gatsby

Or How to Respond When Your WordPress Blog Gets Hacked
Gatsby
React

The Importance of Competing Thoughts

Thoughts

The Role of Timing In a Job Hunt

Career

How to be More Successful on Your Next Web Developer Job Hunt

Career

3 Tips for Changing Your Career to Coding

and One Bonus Tip! (Why Keep You in Suspense, Right?!)
Career

Let Me Tell You About This Cat

Thoughts

From Pastor to Programmer

or Telling My Story Once and For All
Thoughts

Not All “Just JavaScript” is the Same

Thoughts

How to Write Your Own JavaScript DOM Element Factory

A Basic HyperScript h() Function
JavaScript

My Mock Interview Experience with Rick Altherr from Google

or Practice Without the Pressure
Career

Make Your Own Charts in React Without a Charting Library

React
Data Visualization
SVG

How I Stumbled Upon Normalizing Redux State

and later learned it's a real thing
JavaScript
Redux

ShevyJS

JavaScript

What I Love About React #1

Renders with Ternaries
React

What is Most Important to a Web Developer?

the Tech, the Product, or the People
Career

Renderless Components

or How Logic Doesn't Always Need a UI
React
Redux

Zeno's Paradox of Infinite Loop Scrolling

or Everything Moves but You
JavaScript

Head Scratcher #1

Making a 2D Array by Sorting an Array of Objects
React

How to Dynamically Render React Components

React

Loading State Trick for Stateless Functional Components in React

React

How To Use Client Side Libraries in a Universal JavaScript App

React

State Snapshots in Redux

Redux

Why I Think Opening External Links In New Tabs Is a Bad Idea

Thoughts

JavaScript: External Links in New Tabs

JavaScript

Intro to D3.js and Data Visualization

D3
Data Visualization

Using && and || in Bash Scripts

Bash

My Favorite Git Aliases

Bash

Bash Shortcut: Copy your Present Working Directory to your Clipboard

Bash

Bash Shortcut: How to Make Directory and Change Directory in One Command

Bash

Small Gripe: Target=“_blank”

Thoughts

Let's talk some more about JavaScript, TypeScript, React, and software engineering.

I write a newsletter to share my thoughts and the projects I'm working on. I would love for you to join the conversation. You can unsubscribe at any time.

Data Structures and Algorithms Logo
Data Structures and Algorithms

Check out my courses!

Liked the post? You might like my courses, too. Click the button to view this course or go to Courses for more information.
View on egghead.io
I would like give thanks to those who have contributed fixes and updates to this blog. If you see something that needs some love, you can join them. This blog is open sourced at https://github.com/kyleshevlin/blog
alexloudenjacobwsmithbryndymentJacobMGEvanseclectic-codingjhsukgcreativeerikvorhesHaroenvmarktnoonandependabotmarcuslyonsbrentmclarkfederico-fiorinimedayzTowardsDeathFanchGadjonoahmateenbrandonpittmanmattridley
©2023 Kyle Shevlin. All Rights Reserved.