When working with Docker, (image) size matters. A small image size allows us to spin up and orchestrate dozens to hundreds of containers while keeping the disk size small. A small image size also reduces the attack surface of our containers, protecting the application and data. By reducing the disk size and reducing the attack surface, we save money. Therefore, by reducing Docker image sizes, we reduce costs.

A navy blue container ship with the words “YANG MING” on the side.
A navy blue container ship with the words “YANG MING” on the side.

This is the second article in a three part series. Let us set some expectations. For this article we are going to assume you are already knowledgeable with .dockerignore. Although we will…


Everyone wants faster build times, and less junk in their app. By beefing up our .dockerignore we can make smaller Docker images. The benefits of smaller images don’t stop at faster build times. Smaller images take up less disk space which really starts to shows off some benefits when the application is scaled up, potentially in an auto-scaling Kubernetes cluster. Lastly, smaller Docker images have less attack surface.

This is the first part in a three part series focusing on optimizing Docker image size and security. This article has a corresponding repository which serves to showcase a real world example…


After a certain amount of time of deploying applications, you have used SSH to tap into the command line of at least a few servers. Perhaps you use a password, maybe you use a key. Then you begin to wonder, should I use one key file for every server or one key for each server? How do I keep track of all the keys securely? Are the keys themselves secure?

The Keymaker from The Matrix
The Keymaker from The Matrix

This article serves to answer all those questions and more. After reading, you will have a more complete knowledge of SSH and some best practices.

🔒 The Lock

The Secure Shell (SSH) Protocol…


“You may say I’m a dreamer but I’m not the only one”

- John Lennon

Imagine There’s No Deployment Struggles

Imagine as a developer, you write your code, test it locally, push it to the remote repository. From there, it automatically gets tested and if it passes all the tests it gets deployed to the production server. All the while you are being notified about any failures in the process via Slack. Imagine you don’t have to worry about configuring your production server manually. Imagine, it all just works, in production as it is locally.

This is not a dream intended to stay in the…


My dad used to tell me, “there’s always more than one way to get somewhere.” He used to take me with him everywhere via streets, dirt roads, freeways, back alleys, and highways. He would hardly ever take the same way twice. This was not only a key factor in nurturing my sense of direction but also made me realized that the knowledge of how to get somewhere is powerful. While most people cannot make a turn without the consensus of Siri, I prefer to go different ways and figure it out. …


"We are so much the victims of abstraction that with the Earth in flames we can barely rouse ourselves to wander across the room and look at the thermostat."
-Terrance McKenna

Relational Database Magick

Python is built on top of CPython which is built on top of C. Everything in JavaScript is an object which is a hash table. These are common abstractions which we know about, accept, and perhaps even understand. What about the abstractions in relational databases? Relational databases like MySQL, PostgreSQL, and SQLite are models of data that developers rely on everyday. Yet how many of those same developers can…


Small child standing in front of a classic car from the early 1940's
Small child standing in front of a classic car from the early 1940's

“Political language… is designed to make lies sound truthful and murder respectable, and to give an appearance of solidity to pure wind.” — George Orwell

The words “people of color” are no different than the words “colored people.” Those words were used to show dominance over people who had more melanin in their skin. For those who seek to be politically-correct, the term “people of color” appears to be the clear respectable winner. However, this seemingly inclusive term may not contain the meaning you expect.


Fire in the street
Fire in the street

Within every person, there is the potential to make the world a better place or to become destructive and let primal instincts devour potential. Tools to make the world a better place come in many forms. Some people reach into the sciences, while others reach into the arts. Art itself also holds the potential to be constructive or destructive. Constructive art empowers the audience to take on the tasks of improving their outlook while destructive art removes its audience’s sense of agency, drowning it in victimhood.

Watching Twilight: Los Angeles 1992 brought back feelings of nostalgia for my childhood growing…


Photo by Metin Ozer

“There will come a day, when all the lies will collapse under their own weight, and the truth will again triumph.”

— Joseph Goebbels

Being an informed citizen who takes time out of their day to contemplate all new political issues, including but not limited to: candidates and props isn’t the status quo. Most of us have busy lives with 40+ hour work weeks, family relations, friendships, and general life maintenance that we all have to keep up. …

Starlight Romero

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