Downloading Sony GPS Ephemeris Data on macOS

What is GPS Ephemeris Data

GPS ephemeris data is used by your GPS devices (smartphone, GPS running watch, camera with built in GPS tagging etc.) to predict which satellites will be in the sky at a particular point in time. Knowing which satellites are available dramatically decreases the amount of time it takes for your device to get a GPS “fix”. The prediction data is usually valid only for a few days so new data needs to be downloaded from the internet periodically.

Read More

Using Nginx as a Reverse Proxy for Developing Microservices with Docker Compose


I’ve recently started using Docker for my development environment. One of the first problems I ran into was how to run multiple Docker Compose microservice projects on the same host if they all need to run on the same port (port 80 for example).

I will outline one of the solutions that involves using Nginx as a reverse proxy to send requests to the correct backend microservice.

Read More

Deploying PHP Workers to AWS Elastic Beanstalk

Elastic Beanstalk Logo

AWS Elastic Beanstalk (EB) is an AWS service that lets you automatically deploy load balanced PHP applications to EC2. One of the lesser know features is the ability to setup EB as a worker to handle long running or computationally intensive tasks (Think image processing/bulk mail sending etc.). EB Workers listen to a SQS queue and automatically run any jobs you put onto the queue. In this post I’ll show you how to setup your own EB PHP worker.

Read More

Multiple Twig Template Folders with Slim Framework

This post is more for my own records than anything else as I couldn’t find this information anywhere on the internet.

I have a Slim Framework application that uses Twig for it’s templates. I wanted to initiate the Twig instance in my bootstrap file, but then to dynamically update the template directory within my class files depending on the request. It took me a while to figure out how to set Slim to look in multiple directories, or to change the template directory altogether, to render a view.

Read More