Playful Programming's RSS Feed
Quick SEO Guidelines for Your Next.js App
It takes 26 yottabytes of RAM to typecheck a union of Safe Integers
Sharing Code Across Python Microservices with Poetry, Pip, and Docker
What would Monads in JavaScript look like?
Monads explained in JavaScript
Let's Write React Hooks From Scratch
You should be using unitless values for line-height
The History of React Through Code
Next.js Promise Racing
Bundling
Linters, Formatters, and Type-Checkers
Styling
Git: Into the Weeds
The Art of Accessibility: Labels
The Art of Accessibility: Preface
Semantic Markup
The Art of Accessibility: Text
Git: The Basics
Scale Your Project with Layered React Structure
IIFEs — a JavaScript Idiom of Yore
JavaScript Holes and Tolls (On Performance)
Why Can't Angular Cast An Element to Another?
Setup Adobe ColdFusion in Docker
Vue "as" Prop using TypeScript
React "as" Prop Using TypeScript
Is AI Stealing from You?
Announcing Playful Programming's Non-Profit Status
Intro to VeeValidate
Intro to Formik
Intro to Angular Forms
Mastering Angular Unit Testing: Best Practices and Tools
Angular Pipes: A Complete Guide
Framework Comparison Table
Accessing Children
Directives
Shared Component Logic
Portals
Dependency Injection
Error Handling
Component Reference
Element Reference
Passing Children
Transparent Elements
Derived Values
Side Effects
Dynamic HTML
Introduction to Components
Preface
Writing Modern JavaScript without a Bundler
UUIDv6, UUIDv7, and UUIDv8; what are they?
Angular 19: linkedSignal & Resource API
Angular Internals: Lifecycle Methods and Effect Timings
Quick Guide to Building a PWA with Next.js
Web Fundamentals: Manipulating the DOM with JavaScript
Web Fundamentals: JavaScript Basics
Web Fundamentals: Responsive Design
Web Fundamentals: CSS - Inheritance & Hierarchy
How does Zoneless Angular Work?
How we built our custom semantic search page
A forgotten C++ idiom revisited: pass-key
What are Signals?
Web Fundamentals: Grid
Web Fundamentals: Flexbox
Web Fundamentals: CSS - The Basics
Web Fundamentals: HTML
Entity Component System: The Perfect Solution to Reusable Code?
Where should you start building your application
Why is CSS-in-JS slow?
It's Time For A Change: Rebranding Our Platform
A Complete History of Unicorn Utterances
Set up a React Native Web Project in a Monorepo
Explaining Promises, Async, and Await in JavaScript
Embedding Interfaces in Go
Build a Vite 5 Backend Integration with Flask
Move manifest.json to the Output Directory's Parent in Vite 5
Fuzzing an API with libfuzzer
Web Framework Quickstart Guide
Astro Healthcheck
Angular Dynamic host Property Usage
Angular's Templates Don't Work the Way You Think They Do
What is React's useActionState and useFormStatus?
What are React Server Actions?
About time - how to unit test code that depends on time
What is React Suspense and Async Rendering?
Explaining React's cache Function
What are React Server Components (RSCs)?
What is Reconciliation and the Virtual DOM (VDOM)?
What is Reactivity?
When private member function?
Figma to Compose: Line Height & Baseline Grids
How to Build Original Projects
Discovering Odd Behavior with Angular Error Handling
Introduction to Hash Tables
Porting a Next.js Site to Astro Step-by-Step
Using JavaScript classes without the `class` keyword
How to Setup a React Native Monorepo
Unraveling the Magic of the Virtual DOM
A Crash Course to Two-Factor Authentication
Advice for New Twitch Streamers
What is Object Mutation in JavaScript?
Mastering JavaScript's `this` keyword using `bind`
Deep Dive: Writing a Twitch Chat Bot in Bash
Functions Are Killing Your React App's Performance
Formik Works Great; Here's Why I Wrote My Own
Creating project templates for Android Studio
Async pipe is not pure 🤯
What Happened to UUIDv2?
What are UUIDs?
A Linux C++ programmers adventure in improving Windows CI on GitHub actions
Fun with Types
Angular Internals: How Reactivity Works with Zone.js
Why is z-index not working?! - Explaining CSS Stacking Context
How to Share Lifecycle Methods Between Components in Angular
Minecraft Data Pack Programming: Scoreboard Usage
Vue Composition API Inspector
JavaScript Fundamentals: Functions Are Values
Python None
Project Management for Individuals
How to ask better questions
Mutable vs Immutable Data Types
What is Primitive obsession and how to fix it
When to use HashMap instead of Loop
Minecraft Data Pack Programming: Command Syntax
Minecraft Data Pack Programming: Introduction
A Guide to Python's Secret Superpower: Magic Methods
Why I prefer Vue over Angular: DOM Pollution
Windows Subsystem for Linux
The Complete Guide to Regular Expressions (Regex)
Rules of React's useEffect
Doomsday Rule
Why React 18 Broke Your App
A Better Way To Code: Documentation Driven Development
How to get started with .NET
How to Upgrade to React 18
Web Components 101: History
Web Components 101: Framework Comparison
Docs, Where Can We Do Better?
Web Components 101: Lit Framework
GitHub Copilot is Amazing - It Won't Replace Developers
GitHub Copilot Breaks Bad Interviews
Web Components 101: Vanilla JS
Introduction to Web Accessibility (A11Y)
How to Interview Frontend Engineers
Python List Comprehension - The Comprehensive Guide
My Advice to Technical Interviewers
Master React Unidirectional Data Flow
Rust Enums, Matching, & Options API
WebDev 101: How to use npm and Yarn
Living off the iPad as an Engineer
The accidentally sliced CRTP base
React Refs: The Complete Story
Package Font Files on NPM for Angular Usage
Adding Carthage Dependencies into React Native
How Computers Speak: Assembly to AST
What do file extensions do?
Autogenerate Changelogs and Manage Releases using Conventional Commit
Better Angular Form Components with ngModel and formControl Implementation
Pointers and References in C/C++
Write Simpler Tests - 5 Suggestions for Better Tests
Virtual Memory Overview
Writing better tests for Angular with Angular Testing Library
Setup Android Studio Emulator for AMD Ryzen CPUs
Chess Knight Problem: a quick and dirty solution in JavaScript
Keeping API Keys Secret in React Apps
Draw under the Android NavBar Using React Native
Data Storage Options for React Native
The Ultimate Windows Development Environment Guide
Networking 101: UDP & TCP
What is Server Side Rendering (SSR) and Static Site Generation (SSG)?
Building an Angular Blog With Scully
Networking 101: A Basic Overview of Packets and OSI
How to Pick Tech Stacks For New Projects
Making a Slack Bot using NodeJS and MongoDB
Debugging NodeJS Applications Using Chrome
Integrating Native Android Code in Unity
Change the Host File of an Android Emulator
Introduction to HTML, CSS, and JavaScript
Web Fundamentals: Understanding the DOM
How Binary and Hexadecimal Work: An introduction to non-decimal number systems
Introduction to TypeScript — What is TypeScript?
Hard grids & baselines: How I achieved 1:1 fidelity on Android
TypeScript Intermediates - Type Generics
Introduction to Android: Contexts, Intents, and the Activity lifecycle
Joining Freenode IRC: A Guide
Continuous Integration with Travis CI for Android
Angular Templates — From Start to Source
Uttering Hello — The Site's First Post
When performance guarantees hurts performance - std::visit
How to speak at a conference
DRY multicomparisons
Angular Route Guards For Authorization In A Web And Mobile Application
Performance of flat maps
Using constexpr quick-sort in C++17
Higher order functions as an enabler for lazy evaluation
Generate lambdas for clarity and performance
Serializing structs with C++17 structured bindings
Expressing strings as types with C++17 constexpr lambdas
Succinct and helpful C++ template compilation errors
A flexible lexicographical comparator for C++ structs
Cache optimizing a priority queue
Performance observations on a C++ vector of lambdas
Compile time quick-sort in idiomatic modern C++
Sequence control with the Trompeloeil C++ mocking framework
Introducing the Trompeloeil C++ mocking framework
Asserting compilation errors in C++
Expressing strings as types
Compile time messages in C++
Exploring time keeping in ISO C++ 2011
Compile time quick-sort using C++ variadic templates