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…

How to Send GCM Messages Using C#

by 

|

|  

in

In my previous blog post, I mentioned how to send APNS messages using C#. In this post, I will do the same using GCM. Sending a GCM message is very similar, but in this case we will use a different NuGet package. You will need to install the FirebaseAdmin NuGet package. The first step of…

Read more…

Sending APNS Push Notifications Using C#

by 

|

|  

in

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…

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…

Cognito Basic User Operations in C#

by 

|

|  

in

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…

Setting Up User and Password Verification with Cognito

by 

|

|  

in

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…

Using RabbitMQ with NodeJS

by 

|

|  

in

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…

Visualizing Data in Angular Applications with Chart.js

by 

|

|  

in ,

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…

Publishing Azure Functions from JetBrains Rider

by 

|

|  

in ,

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…