Hi, I’m Aleksandr
I write scalable, performant, and accessible software for the web. You can read my blog, learn more about me, or subscribe to my RSS feed.
Recent Posts
-
Published on
The Perfect Theme Switch Component
Learn how to implement a progressively enhanced theme switch component using HTML, CSS, and JavaScript.
-
Published on
Naturalized
After nearly two decades of living in the United States, I'm proud to say that I'm now officially a U.S. citizen.
-
Published on
Interactive HTML Code Demos in Eleventy
With eleventy-plugin-code-demo, you can easily add interactive HTML, CSS, and JavaScript code demos to your Eleventy site using Markdown.
-
Published on
Class Fields vs. Methods in JavaScript
In JavaScript, class fields allow you to define properties on a class instance outside the constructor. In the case of function properties, it's important to understand how fields differ from methods and their potential tradeoffs.
-
Published on
Listening for Key Sequences in JavaScript
Learn how to implement a simple algorithm that listens for a specific sequence of keystrokes in JavaScript, with an optional delay between keys.
-
Published on
Detecting Nested Components in React with the Context API
The React Context API is normally used to avoid prop drilling. But it can also be used to detect if a component is nested within another instance of itself or as a child of a particular component.
Featured Posts
-
Published on
Modular Arithmetic and the Diffie-Hellman Algorithm
Using the properties of congruence modulo, Alice and Bob can generate a shared private key and communicate publicly, while Eve will struggle to decipher their messages.
-
Published on
Are Password Composition Rules Counterproductive?
Registration systems often ask users to create a password containing certain characters. Unfortunately, in doing so, these systems encourage bad habits that can weaken a user's password.
-
Published on
Creating an Accessible Image Carousel
Learn how to build an accessible image carousel that supports multiple input modes and is progressively enhanced with CSS scroll snap and JavaScript.
-
Published on
Use Rems for Font Size to Respect User Preferences
Of all the CSS units, rems are the most accessible for font sizing, allowing you to scale text responsively when users change their preferred font size settings.
-
Published on
Creating a Fluid Type Scale with CSS Clamp
Fluid typography allows each font size in a modular scale to vary responsively between a min and max. Learn the math behind fluid typography and how to programmatically generate a fluid type scale with CSS clamp and Sass.
-
Published on
CRLF vs. LF: Normalizing Line Endings in Git
Line endings can differ from one OS to another. Learn the history behind CRLF and LF line endings and how to enforce line endings in Git.
-
Published on
SVG Tutorial: How to Code SVG Icons by Hand
Follow along with the examples in this in-depth guide to learn how to draw SVG icons and simple shapes by hand.
-
Published on
Creating Aspect Ratios in CSS
Learn how to give any element an aspect ratio in CSS, using the modern aspect-ratio property or a trick with percentage padding.
-
Published on
Implementing a Finite State Machine in C++
Finite state machines (FSMs) are a useful tool for representing stateful entities in code. In this tutorial, we'll learn how to implement the finite state design pattern in C++.