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…
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…
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…
Angular is a very popular web application framework. From a web framework perspective, it is probably the most complete and, in my opinion, a very useable framework. I can see why some have issues with it, but it is very okay, which is probably the best thing to be said about any framework. At Don’t…
Read more…
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…
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…
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…
Authentication is a big and scary topic in the world of software development, but it doesn’t have to be. OAuth with PKCE (Proof Key for Code Exchange) is easy to implement. OAuth is short for “Open Authorization”. It is a common way to access data on the web. You often encounter OAuth when you sign…
Read more…
Sending push notifications is a common feature to add when building mobile applications. A push notification is a message sent from a backend server to your application running on an iPhone or iPad. One of the cool things about push notifications is that they will be handled by the phone even if your application is…
Read more…
NodeJS is one of the more common server hosting environments out there. We at Don’t Panic Labs tend to use .NET instead of NodeJS for the hosting of backend systems, but I like to use NodeJS for a lot of my experiments as it often forces me to learn new things. When standing something up…
Read more…