Make Checkpoint
A developer shares a simple Makefile script to automate git commits with timestamps, improving version control habits during side projects.
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
A developer shares a simple Makefile script to automate git commits with timestamps, improving version control habits during side projects.
Developer creates and releases a custom dark VSCode theme inspired by Agathist's brand colors, with plans for a light theme.
Explores two types of composition in programming: function (nesting) composition and object (merging) composition, with practical examples.
Explains why reusable UI components should avoid outer margins and padding, as they break encapsulation and create layout issues.
A TypeScript tip on using a custom `TODO` type as a purposeful escape hatch for difficult type problems, with a caution against overuse.
A TypeScript tutorial explaining how to properly type tuple return values from functions, like custom React hooks, to avoid common type inference issues.
A guide to solving complex UI component problems using composition, breaking down a Card component into smaller, reusable parts.
A developer's critique of TypeScript, arguing its type system can stifle creativity and innovation by making it harder to express functionality than to define types.
A guide to identifying and fixing YAP (Yet Another Prop) Syndrome in React components by using composition over excessive props.
A tutorial on implementing the Compound Components pattern in React, using a Tabs component as a practical example.
A developer discusses solving UI component flexibility using React Context and composition to handle optional/required field indicators.
Explains the Insertion Sort algorithm, its implementation in JavaScript, and compares its efficiency to Bubble Sort.
An introduction to the Bubble Sort algorithm, explaining its basic concept, implementation, and its O(n^2) time complexity.
A technical article clarifying React's rendering behavior, specifically how parent component re-renders do not automatically cause children to re-render, using JSX and React.createElement examples.
Explains how to use the capture phase for event handling in React, a lesser-known feature for controlling event flow in the DOM.
Explains when and why to use React's useReducer hook over useState, with practical examples and decision criteria.
Explains two common programming patterns for managing conditional logic: the 'Single Mutable Result' and 'Early Exit' patterns.
Explains how to update React state via a component, using a custom heading component as an example, instead of a state updater function.
A technical tutorial on implementing Conway's Game of Life cellular automaton in JavaScript and React using the simulation pattern.
Explains the 'Simulation Pattern' in programming using a loan payoff calculator as a practical example, derived from Advent of Code puzzles.