When Apple announced iPadOS 15 and iOS 15 at WWDC in June, they introduced many new features and expanded capabilities. As my 12.9 inch iPad Pro is my primary platform, I was thrilled with the updates to the multitasking capabilities of iPadOS. While multitasking doesn’t seem to be the same as an OS like macOS, switching between different windows for the same app required more effort in iPadOS 14.

To have additional full-screen apps in iPadOS 14, it was often necessary to open the app in split-view and hide the app you wanted in a second full-screen view.

With iPadOS…

Since I started using AWS CloudFormation 4 years ago, I have seen many people using the Fn::Join command to merge information such as static text and variables in their CloudFormation templates. While this works, it can get messy and difficult to understand when things get complicated. Fn::Sub helps simplify our template definitions.

First: Fn::Join

The Join function allows us to connect text and variables. The syntax can be represented in several ways using either JSON or YAML formats.

In JSON, we write our Join function like this:

"Fn::Join" :
[ "delimiter", [
comma-delimited list of values


When we think of source code management (SCM) today, the first thing that comes to mind is git. There are many ways to implement git in an organization. We can run our own git server, buy a GitLab license for on-premise or the cloud, use GitHub, Atlassian BitBucket, or other git repository services. Many of these services offer private and public repositories, although private repositories are typically a “pay for” feature. If you use AWS within your organization for development or production infrastructure, you already have access to AWS CodeCommit (hereafter called CodeCommit).

This article isn’t going to examine how…

Atlassian Statuspage

Monitoring the availability of our service endpoints, including websites, service APIs, and specific pages is essential to the operation of any enterprise. There are many methods of performing this monitoring, including using particular software running on separate infrastructure, buying a Software as a Service (SaaS) product, or building your in-house solution.

This article looks at using Atlassian Statuspage to provide monitoring for your endpoints.

Atlassian Statuspage

Statuspage is a service provided by Atlassian, which complements their application suite consisting of

  • BitBucket;
  • Confluence;
  • Jira Software;
  • Opsgenie;
  • SourceTree; and,
  • Trello.

Statuspage provides a visual indicator of the internet-accessible endpoints you are monitoring and provides…

Photo Credit European Space Agency Astronaut Samantha Cristoforetti. https://www.nasa.gov/mission_pages/station/expeditions/expedition42/gallery.html

So you created your first MySQL Aurora Serverless cluster and are ready to use it. You open your terminal client at home and type the command

mysql -u admin cluster-name-east-1.rds.amazonaws.com

and nothing happens. Well, to be more precise, the mysql client times out and exits.

The answer is simple.

Unlike RDS and Aurora Clusters, Aurora Serverless does not have a public endpoint. In fact, according to the documentation, there is no way to choose if the cluster should be public. This means working with the Aurora Serverless cluster can only be accomplished by:

  • using a VPN into your VPC;
  • running…

AWS CloudFormation is often denigrated for not having logic flows or the ability to do some of the things traditional programming languages can. That is true to an extent. First, if you want to have total control over your CloudFormation templates using an imperative programming language, you can use the Cloud Development Kit.

Second, CloudFormation can be extended through the use of macros. In a previous article, I discussed using the CloudFormation Include macro to include a CloudFormation template inside another. This mimics the import, require commands found in other languages. …

If you have ever used an imperative programming language like Javascript, C, or Python, then you are familiar with the concept of importing or including other files into your code.

fs = reqire("fs")

#include "<studio.h"

import boto3

This is good as it promotes re-use and prevents “reinventing the wheel”. As a result, you can get your code written faster, deploy it sooner, and provide value to your user community.

CloudFormation cannot natively import another template or template section into the template it is processing. This is where the AWS::Include transformation comes to the rescue.

To see this…

Image by Author

AWS X-Ray is a method of collecting data about the work going on within a distributed application to identify performance issues and execution errors.

When execution errors happen in obscure cases, X-Ray can help identify those cases by providing a consolidated trace of each execution. This is invaluable in a distributed, event-driven or serverless application.

AWS X-Ray integrates with

  • Amazon Elastic Compute Cloud (Amazon EC2);
  • Amazon Elastic Container Service (Amazon ECS);
  • Elastic Load Balancing;
  • Amazon API Gateway;
  • AWS Lambda; and,
  • AWS Elastic Beanstalk.

Additionally, the AWS X-Ray SDK can capture metadata and requests to

  • MySQL and PostgreSQL databases (self-hosted, Amazon…

Thanks to my sweetheart for picking another Raspberry Pi off my wish list, I added another Raspberry Pi 4B to my collection. (Okay, I only have two of them. So far.) I was confounded over the last few days when I couldn’t reach the Pi over the network from my iPad. My iPad Pro is my primary computing device, and I use the Pi’s as the server side for research, writing code and experimentation.

I was convinced the problem was the Pi. Everything worked before and was only flaky now there was two of them. The Pi configurations both used…

iOS 12 brought us the Shortcuts app, which was previously known as Workflow until Apple bought the application. Essentially, Shortcuts allows us to automate various aspects of our workflows or repetitive tasks. There are some limitations, which I will come back to later in this article.

The Shortcuts app is almost no-code, meaning you don’t write program code to perform the work. I say almost because you still have to design the logic flow and perform some elements of programming including variable assignments, flow control, etc. However, the drag and drop approach makes design and implementation pretty easy.

Shortcuts, Actions, and Automations

Shortcuts are…

Chris Hare

Chris is the co-author of seven books and author of more than 70 articles and book chapters in technical, management, and information security publications.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store