How to log out and related topics

It is more than mid-way through 2021. I should not be writing an essay about the nuances of log out. Yet here I am writing one; it is still an area that can be confusing. Today we’ll explain some simple and some complex sign-on and sign-out integrations with examples. ...

August 9, 2021 · Michael Hughes

A brief discussion of CI/CD plugins

Let’s talk about spooky things that can happen while using the GitHub Marketplace or the Visual Studio Marketplace for build pipeline extensions. Much has been written this year about about supply chain attacks. In short, an attacker can gain access to a target by looking for an easier to compromise dependency of the target. This is a simplification, but it captures what happened with the SolarWinds incident, NPM package namespace incidents, and earlier Maven based attacks. ...

July 31, 2021 · Michael Hughes

Cross Origin Headers (CORS), AWS S3, and AWS CloudFront

Let’s talk about cross origin resource sharing (referred to as CORS from here on), what it is, where it is used, and some mistakes I made when configuring this website’s hosting. After reading this you will hopefully never wonder again why that little error about not being ‘CORS-enabled’ shows up in the browser console. ...

June 26, 2021 · Michael Hughes

Some thoughts on partition keys in clustered databases

Partition keys are a common concept among distributed software including CouchDB and Azure CosmosDB to other systems like Kafka and AWS Kinesis. They are a key input into the system that has consequences on how well it can be used to solve different end user problems and how well it performs under load. ...

May 16, 2021 · Michael Hughes

Related to the topic of service level objective values

What is the expected availability of a service API? What does a “99.9%” availability mean in the context of a service’s operation? What can a service client expect, what about a customer? Continuing from our prior post in January, let’s know discuss some aspects of using these percentage values in the context of how to guarantee availability. ...

May 4, 2021 · Michael Hughes

Juggling as project management

I will not stretch the analogy of jugglers juggling and engineering teams engineering too far. In brief, software and system engineering teams can benefit from working on a few things simultaneously but too many or too few can cause everything to fall apart. ...

February 27, 2021 · Michael Hughes

On the topic of service level objective values

What is the expected availability of a service API? What does a “99.9%” availability mean in the context of a service’s operation? What can a service client expect, what about a customer? ...

January 15, 2021 · Michael Hughes

User inactivity and forced logout in single-sign-on scenarios

A couple incomplete thoughts and questions for those that need to automatically log end users out of web applications. ...

January 2, 2021 · Michael Hughes

Creating a sleep loop in JavaScript

Today’s post is a quick tip on how to easily create a sleep-delay loop in JavaScript. ...

October 2, 2017 · Michael Hughes

When to prioritize maintenance of a system

Have you ever considered a service or suite of services and thought, “that looks like a ball of yarn.” There is a tendency amongst those of us who write software for a living to consider systems that are not understood as garbage. Often, this suspicion of poorly understood systems turns out to be unwarranted. What look like obtuse decisions made for no apparent reason turn out to have solid foundation in rationality....

September 28, 2017 · Michael Hughes