Hi, I'm Michael Williams

A highly passionate and dedicated Senior Software Engineer with a strong specialization in web and mobile development.

Latest from the blog

Atomic symlink swaps

When changing symlinks, particularly as part as a deployment. The goal is generally to eliminate downtime. We often refer to these an atomic deployments.

Just because you are using a symlink those, doesn't necessarily mean your deployment is atomic. Lets dive a bit deeper into this.

By definition, in concurrent programming an operation would be considered atomic if it appears to the rest of the system to occur at once without being interrupted.

Assuming for simplicity we setup the following symlink:

ln -sf release current

Listing that directory as expected would show

ls -lah current -> release

Favorite Technologies

Here are just a few of my favorite technologies that I enjoy working with to create innovative and impactful solutions:

PHP Angular React Native MySQL