Reflections on Attending the Kansas City Developer Conference (KCDC 2024)

by 

|

|  

in , ,

The Kansas City Developer Conference (KCDC) consists of a full day of participatory workshops, two days full of talks, an evening mixer, a whole lot of sponsor booths, some regretful karaoke, great barbeque, great bars, and at least one actual magician. Today, we’re talking about my attendance at the 15th annual KCDC, held June 26th…

Read more…

Rate-Limiting Requests with RxJS

by 

|

|  

in

Recently, I had an issue in a front-end application in which a user was allowed to click around a calendar and begin loading any day that was tapped. Each day triggered a semi-expensive API call, which could take a second or two to complete. The user was free to click around on more days and…

Read more…

Searching Text in C# Using Embeddings with OpenAI

by 

|

|  

in

The problem we’re solving today is semantic searching text in C#, using tools provided by OpenAI. A semantic search in this instance refers to searching on the searcher’s intent and the contextual meaning of the query, rather than a simple keyword lookup (for example, search results for “king” may include matches on the word “monarch”)….

Read more…

Asking ChatGPT to Play a Synthesizer

by 

|

|  

in ,

I’ve been developing against OpenAI’s chat completion API — the RESTful version of ChatGPT — for a little while and up until now, I’ve avoided learning about the “function calling” feature. Honestly I didn’t quite get it and I didn’t see it as useful to my use cases, but with the announcement of the new…

Read more…

Cross-Origin Resource Sharing (CORS) Basics

Cross-Origin Resource Sharing (CORS) Basics

by 

|

|  

in ,

This post is intended to give you a swift kick from behind into a pool of CORS, without taking all day to do so, and without digging into any specific technologies. With that said, let’s learn to swim.   What is CORS? From Mozilla: “Cross-Origin Resource Sharing (CORS) is an HTTP-header based mechanism that allows…

Read more…

Automating Wordle with Cypress and GitHub Actions

Automating Wordle with Cypress and GitHub Actions

by 

|

|  

in

Like many of you, I was introduced to the Wordle craze a few weeks ago by a peer who thought I was too focused on “actual work”. Naturally, I dropped everything to try this new game and then passed a link to the game around to my friends and family like a cursed videotape. It…

Read more…

JavaScript Events: An Introduction

JavaScript Events: An Introduction

by 

|

|  

in

Yes, JavaScript Events. Without them, the world wide web would be a dystopian wasteland of static HTML. Without them, we’d still be relying on blink and marquee tags to jazz up our LiveJournals. Fortunately, this is not the case. The modern web runs on JavaScript, and JavaScript is driven by events. But what does it…

Read more…

Reflections on “CSS Refactoring” by Steve Lindstrom

by 

|

|  

in

Why I Read This Book I’ve worked in software development professionally for about six years, throughout which much of my time has been spent in front-end web development. In that time, I have written my fair share of CSS and Sass, but I have never felt especially competent while doing so. I can typically style…

Read more…

The Case for Strict and Opinionated Style Guides or: The “Because I Said So” Approach

by 

|

|  

in

Developers come and go throughout the life of a project, and they all tend to have their own personal coding nuances. With no style guide, no standardization, no rules, no linter, no style cop, etc., the codebase’s style – or lack-there-of – will inevitably become quite messy. Indeed, “messy” is in the eye of the…

Read more…

Azure’s Container Registry with Docker (Quickstart!)

by 

|

|  

in

If you’re wondering how to best leverage your Azure account in the midst of containerizing all your things, then you’re in luck. Azure’s got you covered. In this article, I’m focusing on Azure’s container registry, because I think it will fit into my workflow a little better than other container repositories like Docker Hub. Personally,…

Read more…