All posts#web-development7 posts with this tag28 March 2026I Wanted Course Authors to Write Tests. I Built a Language.How a simple request to let course authors write assertions turned into building a domain-specific language — and what that taught me about every API I use.28 March 2026Using My Own DSL Taught Me More Than Building It DidBuilding a DSL is the tractable problem. Using one on something real — a calculator, five clicks, a failing test — showed me the part I'd missed.26 March 2026Rick ASCII — Turning a Rickroll into CharactersWhat would a video look like if every pixel became a character?26 March 2026Why Async Code Feels UnpredictableJavaScript runs code in a single thread — sync, then microtasks, then one macrotask, repeat. Once you see the queues, async stops feeling random.19 March 2026Debounce vs Throttle (With a Real Example)Debounce waits until things stop; throttle limits how often things happen. One demo, two functions, and a subtle trailing-edge detail most implementations miss.14 November 2024The Alt Tag Mistake Most Developers MakeMost developers write alt tags that don't help anyone — "image", keyword soup, or a description of the wrong thing. Here's what good actually looks like.14 November 2024Arrays ExplainedIndexed, multidimensional, and associative arrays are one idea wearing three outfits — store something, give it an address, retrieve it later.2026 © Jordan O’Hara