Ireland

Gordon Murray

Expert
@gordonmurray

Staff AWS Engineer building scalable cloud platforms. Terraform, AWS cost optimization, search systems, pragmatic data engineering. Open source and SaaS

packer_ansible_inspec_terraform_aws. A demo application using Packer, Ansible, InSpec and Terraform on AWS

119

apache_flink_and_docker_compose. A complete real-time Change Data Capture (CDC) pipeline using Apache Flink, MariaDB, and Docker Compose. This project demonstrates how to build a modern streaming analytics system that processes database changes in real-time.

37

apache_flink_and_iceberg. A complete data engineering project demonstrating modern data stack practices with Apache Flink, Iceberg, Trino and Superset

26

Codeigniter-URL-Shortener. A URL Shortening application built using Codeigniter

24

warpstream_debezium. Using Debezium with WarpStream as a Kafka alternative for CDC

22

cloudfloe. The Switzerland of Iceberg queries: neutral, easy entry across S3, R2, MinIO

22

php-compare-databases. A script to determine if 2 mySQL Databases have the same tables and table structures

19

mandrill-with-mailchimp-templates. This is a basic working example of how to send an email using Mandrill using a Template created in MailChimp.

16

apache_fluss_flink_and_paimon. This project integrates Apache Fluss (stream-batch unified storage) with Apache Paimon (data lake storage) using Apache Flink

13

android-auto-photo-capture. A simple android app to take a photo every few seconds

12

apache_flink_and_paimon. A complete Docker-based setup demonstrating how to use Apache Flink to write data to MinIO (S3-compatible storage) using Apache Paimon as a lakehouse storage format.

10

python_url_shortener. A basic URL shortening service built using Python/Flask

9

terraform_aws_rds_secrets_manager. Create an AWS RDS instance, generate and store its admin password in AWS Secrets manager

8

codeigniter-linkedin-library. Sign in with Linkedin and post a status update on Linkedin with Codeigniter

8

ecs_cluster_using_aws_cli. A couple of scripts to create an AWS ECS cluster using the AWS CLI

7

metabare.com. A minimal image search engine showcasing Firn over Lance on AWS S3. Upload an image, CLIP turns it into a 512-dim vector, Lance stores it on S3, and Firn serves nearest-neighbour queries through a tiered RAM + NVMe cache.

7

codeigniter-list-unused-functions. A codeigniter controller to list all functions and show unused ones

6

gittwork. A small collection of methods to enhance Teamwork Projects

6

apache_flink_paimon_and_seatunnel. Local Docker demo for Apache Flink, Paimon, SeaTunnel, and Iceberg: ingest products from MariaDB with Flink CDC, store them in Paimon on S3-compatible storage, then use SeaTunnel to transform and move the data into Iceberg

6

terraform_rds_debezium_msk_kafka. Creates an entire environment within its own VPC on AWS to stream data from a MariaDB RDS instance to Kafka using Debezium with Avro serialization. Apicurio provides a schema registry for the data.

4

terraform_aws_rds_proxysql. A Terraform + Ansible sandbox for trying out ProxySQL in front of AWS RDS MariaDB - primary and read replica, with Adminer on a webserver.

4

ansible_1password_role. Create a Vault on 1password and add a secure note, shared with a user using Ansible

4

terraform_salt_digitalocean. Use Terraform to create a small Salt cluster on DigitalOcean

4

apache_flink_and_hudi. Change Data Capture (CDC) pipeline that streams data from MariaDB to S3-compatible object storage using Apache Flink and Apache Hudi.

4

terraform_aws_atlantis. A Terraform module to create an EC2 instance with Atlantis and Infracost

3

alert_blacknight_errors. Check for Errors on a Blacknight FTP account and then make a phone call using Twilio to report the number of errors

3

fastapi-temporal-logic-of-actions. A small introduction to verification using TLA+ through a file upload idempotency problem

3

terraform_aws_apache_drill_zookeeper. An Apache Drill cluster with Zookeeper on AWS using Terraform

3

singlelog. The last logging solution you'll ever need - ship logs with Vector to Tigris object storage (free egress) and search them fast with ClickHouse.

3

dam-pipeline-fastapi-clip. A decoupled, async processing pipeline for digital asset management using FastAPI, RabbitMQ, Cloudflare R2, and PyTorch models for image analysis.

2

terraform_aws_api_gateway_proxy. An AWS API gateway to receive data via POST and store the data in to an s3 bucket. An Ansible playbook is included to test that the API endpoint is working and saving data to s3

2

flycost. flycost analyzes your `fly.toml` configuration files and estimates monthly costs for compute, storage, bandwidth, and IP addresses. Similar to Infracost but specifically for Fly.io.

2

codeigniter-plivo-library. A CodeIgniter library to interact with Plivo

2

warpstream_tableflow. End-to-end guide for streaming IMDB data through WarpStream Kafka to Iceberg tables using TableFlow.

2

bullethq. A PHP wrapper for BulletHQ's API

2

terraform_aws_eks. A Kubernetes cluster created on AWS EKS using Terraform

2

warpstream_fluent_bit. A quick example of using Fluent Bit to send nginx access logs to WarpStream

1

workstation-elementaryos.sh. The perfect ElementaryOS installation

1

ansible_webserver_aws. Use Ansible to create and configure a simple webserver on AWS

1

bitbucket_activity. A small collection of methods to report on Bitbucket developer/project activity

1

clean-import-headings. A class to help clean headings on an imported CSV file to make them more understandable to an automated process

1

php_post_to_linkedin. A very small PHP application to automatically post content to Linkedin, including titles, descriptions, hash tags and images.

1

mandrill-receive-email. Some sample Codeigniter code to receive and process emails sent to it from Mandrill

1

apache_flink_using_checkpoints. I tried out Checkpointing in some Flink Jobs to see if it would help with Job restarts

1

terraform_consul_digitalocean. Using Packer & Terraform to create a small Consul droplet on Digital Ocean

1

apache_flink_catalog_misuse. (Mis)using Catalogs in Apache Flink for identifying Jobs

1

match-import-headings. A class to match cleaned column headings on an imported CSV to known column headings

1

review-toolbar. A toolbar to help clients to review development work

1

kashflow-export. A simple application to view, export and delete your data from Kashflow

1

terraform_packer_puppet. Using Packer and Terraform to make a small Puppet cluster

1

ansible_using_SSM. An example of using Ansible to install a package on an EC2 instance using SSM

1

opensearch_proxy. A proxy to sit between an application an AWS Opensearch domain to log queries submitted to OpenSearch for debugging

1

terraform_aws_deepseek. A terraform project to create an EC2 instance running Deepseek R1

1

fastapi-lance-local-storage. A minimal FastAPI API that accepts an image via POST, stores it locally with a SHA256 filename, vectorizes it using OpenAI's CLIP model, and appends the vector to a local Lance dataset. Designed as a small MVP for local or Fly.io deployment.

1
54
Apply