Over the years, we have built many mobile applications across numerous industries. One of the most common features of these mobile applications is sending push notifications. Most applications we have built have used third-party services to send these notifications. But how hard is it to send APNS notifications? It’s really not that hard. But why…
Read more…
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…
When building a solution on top of Cognito, we will often build on top of the existing Cognito user interface. But, it is possible to make all of the authentication calls without using it in a UI. In this blog post, I’ll show how to use C# to make these calls. You probably should avoid…
Read more…
With most solutions, we want to use an IDP (Identity Provider) to manage users. This almost always involves redirecting to a hosted web page to handle user authentication. After the user is authenticated, they are redirected back to our web application. That is a preferred way to handle this problem, mostly because it keeps us…
Read more…
I enjoy trying out different technologies to see what’s new or available. RabbitMQ is one of my recent explorations. In short, RabbitMQ is a free and open source messaging broker. Many cloud providers already have queue solutions, which are easy to work with. But it is always nice to know which options are available if…
Read more…
Charting is something we often do in the software we develop. While it isn’t difficult, it can take more work than you might think. In this blog post, we will create some very simple charts using Chart.js. Assuming we already have an Angular application, we can install Chart.js using npm. npm install chart.js Now let’s…
Read more…
You probably shouldn’t deploy straight from JetBrains Rider to an environment within Azure. Doing so might get you into a bad situation, or at least setting yourself up for a bad situation. But there are a couple of scenarios where this might be useful. The first is if you are building a throwaway prototype and…
Read more…
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…
Adding social authentication to your application should be pretty simple. And if you started with AWS Cognito, adding something like Google authentication is straightforward. In this post, we will add Google authentication to an existing AWS Cognito User Pool. To configure your Google identity provider, we will need Client ID, a Client Secret, and an…
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…