Using an Access Control List to Block IP Addresses from Cognito

by 

|

|  

in ,

AWS Cognito is a very solid authentication service. We often use Cognito as an identity provider (IdP) for the applications we build. We redirect to Cognito, and then Cognito redirects back to us. Cognito gives us a code that we can use to get a JSON Web Token (JWT) to access our services. It’s a…

Read more…

Get an Overview

by 

|

|  

in ,

After we have a rough mental model of a software system, we often want to get an overview of the system. In this step, we are trying to peel back one more layer. Where a mental model is a rough understanding of the system, an overview is deeper and more complete. We often jump straight…

Read more…

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…

Making a Mental Model

by 

|

|  

in ,

What does a year look like? This is a question you may have been asked before. And there is a variety of works out there discussing the differences in how people perceive a year. Ultimately, many people have some sort of circle for a year. When creating a software system, we should create a mental…

Read more…

Getting Started with LM Studio

by 

|

|  

in ,

Many large language models (LLMs) provide features similar to ChatGPT. These custom models offer several benefits. For example, you can host them yourself, which could benefit some projects and environments. And there are models tuned for particular use cases, like coding or text processing. And then, some models are great for providing chatbot experiences in…

Read more…

How to Upload to Azure Blob Storage Using NodeJS

by 

|

|  

in

When building modern cloud applications, we usually need to store some files in the cloud. It could be images uploaded by users or CSV files generated by the application. In this blog post, I will show you how to upload files to Azure Blob Storage. First, install the storage-blob npm package. npm install @azure/storage-blob After…

Read more…

Quick Look – Konva

by 

|

|  

in

I needed a JS library to support annotating on top of images. We wanted the ability to markup images in a web application. I tried a few different frameworks and libraries to achieve this goal, but most didn’t work out. After much searching, I found Konva. Konva is a simple JS library, but it works well,…

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…

Using JSON Server for Efficient Development in Angular

by 

|

|  

in

When I am working on an Angular application, there are times I want to run the app without the backing API running as well. I want fast feedback on the changes I make to components and want my site to work by itself. One way I have done this is to use a fake Angular…

Read more…

Building a Chat System Without Azure Chat – Part 1

by 

|

|  

in

In a previous blog post series, we built an entire chat system on top of Azure Communication Services. We focused on a lot of the details in building the system using Azure Chat. While Azure Chat helps solve a lot of the problems with these kinds of projects, it still took a lot of effort…

Read more…