State Machines: What Are They?
An introduction to finite state machines in software, explaining their structure and demonstrating a simple implementation with a JavaScript light switch example.
Kyle Shevlin is a software engineer based in Portland, Oregon, who cares deeply about quality in code, writing, and craftsmanship. He focuses on continually improving his skills and helping other developers do the same, while balancing his professional life with competitive golf, gaming, and community-driven learning.
128 articles from this blog
An introduction to finite state machines in software, explaining their structure and demonstrating a simple implementation with a JavaScript light switch example.
A developer recounts how their WordPress blog was hacked and explains their decision to rebuild it using the Gatsby static site generator for improved security and features.
A developer shares a personal anecdote about a missed job opportunity to discuss the critical role of timing in the tech job search process.
Tips for web developers to improve job search success by leveraging networks and avoiding the ineffective 'resume lottery'.
A developer shares three key mindset tips for career changers transitioning into coding, based on a real conversation at a tech conference.
A developer uses a metaphor to explain how different JavaScript frameworks like React and Ember require varying levels of API knowledge.
A tutorial on creating a custom JavaScript function to generate DOM elements from scratch, explaining the core logic and usage.
A developer shares their experience with a mock technical interview conducted by a Google engineer, detailing the process and lessons learned.
A tutorial on creating custom bar charts in React using SVG components, without relying on external charting libraries.
A developer shares their journey of discovering state normalization in Redux to improve lookup performance, moving from arrays to keyed objects.
Announcing ShevyJS, a JavaScript library for implementing typography scales and spacing in CSS-in-JS frameworks.
A developer shares their appreciation for React's ability to render different UI markup based on props and state, using a simple ternary example.
A web developer's analysis of a poll on what matters most: people, product, or tech, revealing surprising priorities in the field.
Explains the concept of renderless components in React, which separate logic from UI, building on container/presentational patterns.
A developer explores the technical challenge of implementing an infinite loop scrolling carousel, comparing it to Zeno's Paradox of motion.
A developer shares a coding problem: transforming a flat array of objects into a 2D array grouped by a key, using JavaScript's reduce method.
A guide to dynamically rendering React components using a switch statement based on component types, inspired by Redux reducer patterns.
A React tutorial showing a technique to handle loading states within stateless functional components, useful for conditional rendering.
A guide to safely using client-side JavaScript libraries like imagesloaded in universal (isomorphic) React apps by preventing server crashes.
A guide to implementing state snapshots in Redux for elegantly saving and restoring UI state, using a practical example.