
Technology Tussles
Managing complexity in an ever changing world
Query external DynamoDB table from Flutter using AWS Amplify
AWS Amplify makes the job of authenticating a Flutter App very simple. As we mentioned in our previous post, following the quickstart document for authentication is relatively straightforward. Unfortunately the documentation for connecting to an Existing AWS DynamoDB table is slightly harder to follow as it is incomplete, and none of the examples show how to use a sort key or return multiple rows. In order to Query an external DynamoDB table from Flutter you will need to combine the steps outlined in the Connect to External… (more)
Using AWS Amplify to authenticate a Flutter App
I recently needed to create a new app which requires user authentication and a data backend. Rather than build this for scratch I decided to use an existing authentication provider. Firebase or Amplify? There are two main contenders for this, Google’s Firebase and Amazon AWS. I did a bit of reading around. The general consensus seems to be that Firebase is easier to set up and better documented, but that AWS scales better and may be cheaper with large installed base. Firebase seems to be a logical… (more)
Building a WordPress Plugin for the Block Editor
Recently I needed to create a new wordpress plugin to display the results of an API. I figured that it should be a relatively easy task. My initial issue was that a lot of the immediate results that I found for how to do it related to the old WordPress editor and not the new block editor. After a bit of digging however, I found thus Youtube video which put me on the right track. The video wasn’t quite what I needed, but I was able to… (more)
Amazon API Gateway 403 Bad Request
Today I spent several hours trying to get a new API on Amazon API Gateway authenticating with an API Key. I don’t always find AWS the easiest platform to work with. The documentation is often incomplete and not entirely well-organised. The documentation for API Keys is located here, and the process can be summarised as follows A couple of the steps are a bit circular, you can’t associate a usage plan with a stage until you have deployed a stage – but it did seem you need… (more)
Grappling with Grav
In my search for a lightweight WordPress alternative which uses real CSS I stumbled across Grav. Out of the box I was quickly impressed with the ease of installation and the quality of the documentation. For some the use of markdown rather than a full WYSIWYG editor might be an issue, but I actually like it, and the implementation in Grav is smooth enough that you don’t really need to remember markdown in order to use it. So far so good. I followed some of the tutorial… (more)
Posting to Twitter using X API v2
Having successfully posted to Instagram using their API, I also wanted to post to X. I knew from memory that this would not be so easy. X uses oauth authentication, and in the past I have found this to be particularly problematic. A bit of searching turned up a couple of useful videos on youtube. The first, showing how to post a text-only tweet works a treat. Unfortunately the follow-up showing how to post a media tweet uses Twitter API v1.1 for the media upload. That was… (more)
Post to Instagram API from PHP
Having spent a whole morning fighting Facebook to change a phone number, it was a relief to get back to the issue. Creating an Instagram Post via the API. The documentation is daunting, and the process is long-winded, but as I discovered the actual solution is straightforward. Create the App The first thing you need to do is create an Instagram App via the Meta App Dashboard. There is a detailed set of instructions in the developer documentation. My experience is that for our specific use case… (more)
Facebook Phone Fiasco
I spent most of my morning trying to change a phone number on Facebook. The original task seemed unrelated. The brief was to send new posts to Instagram from PHP by the API. My experience of APIs is they are usually easy to implement, once you have worked out how to authenticate. Today proved to be no exception. The first step with the Instagram API is to create a Meta App. It was here that the issue began. My client had a Facebook business account which had… (more)
AWS Lambda function billed for longer than execution time
Over the last few weeks I have been updating a number of old AWS Lambda functions to bring them up to date with Node 22. In doing so I came across a curious anomaly in one of my new functions. Under most use cases the Lambda took less than two seconds to return a value. In one particular case, however, it was consistently taking over 70 seconds. This is far too long for an API call (it would lose me users), and could also have a significant… (more)
Making multiple async https calls from AWS Lambda
Following on from my last post, I needed to update another old AWS Lambda to Node 22. This required me to make several https calls from an external API and then combine them together to create my result. Using https.get to make an asynchronous http request The first step was to include the https library, and write a relatively simple https get request function as follows. I ran into an issue with this, where the data returned from the API was larger than a single data chunk.… (more)
Previous Posts
- March 2026 (1)
- February 2026 (1)
- September 2025 (4)
- August 2025 (2)
- May 2025 (2)
- April 2025 (2)
- March 2025 (1)
- December 2024 (2)
- November 2024 (1)
- July 2024 (2)
- June 2024 (4)
- May 2024 (6)
- April 2024 (3)
Categories

