Think before you reach for that divUsing semantic HTML elements has several benefits over using plain divs.Sep 24, 2025·5 min read·31
Steps for installing a local AI copilot in Visual Studio CodeDoes your company block ChatGPT or GitHub Copilot? Do you have security or trust concerns sending your code to a third party AI service? You might not know this, but you can run a large language model (LLM) locally on your computer, and even integrat...Sep 12, 2024·3 min read·3.9K
Fun with arraysIn this article, we'll look at some weird quirks with JavaScript arrays to learn a little more about how they work under the hood. An array is a collection or list of values. It could hold just strings: const names = ['Luke', 'Leia', 'Han']; Or a mi...Oct 25, 2023·4 min read·200
Are Computer Science degrees still relevant?I took a more traditional path into tech, going to a 4-year university and getting a Computer Science degree (way back in 2004!). These days, it's no secret that there are many alternate paths to a software development job. The three main paths today...Oct 13, 2023·3 min read·508
Understanding color contrast for accessibilityLearn how to ensure your UI has enough contrast.Oct 6, 2023·3 min read·112
Understanding error handling in Promise chainsPromise chains You can create a chain of Promises by returning new Promises from a then handler. Here's a simple example that chains 3 promises together: Promise.resolve(1) .then(id => { console.log(`Success: ${id}`); return Promi...Jul 7, 2023·3 min read·3.9K
Customizing `JSON.parse` and `JSON.stringify`The JSON.stringify and JSON.parse functions are handy for converting objects to JSON strings and back again. However, not all properties of an object are serializable. Functions, regular expressions, and Date objects are all examples of values that c...Apr 27, 2023·3 min read·3.5K