Articles about software development operations

In this page, you will find articles that are related to computer infrastructure operations that are performed in the course of software development.

Examples include how to setup the server infrastructure to run Python applications, WordPress applications and etc.

How to loop through lines of text in a text file from a shell script dynamically

There are times when we need to dynamically run shell commands based on the items listed in a text file.

The shell script that I ran in my bash shell does the following:
for each line separated by newline and not preceded by a ‘#’ character, print the line to console.

In order to build the shell script, I would need the following code pieces:

  • A way to remove/delete empty lines or leading and trailing whitespace in a text file
  • A way to loop through the text file, line by line
  • A way to check if the first character of the string

This post documents what I had ran in my bash shell (in Ubuntu 14.0.4) to loop through items separated by newlines in a text file.

Preventing image hotlinking with Nginx, with some style

Image hotlinking is a situation when your image appears on other website(s) but that image was actually being served by your web server. Image hotlinking is bad; your image gets stolen from your website and your server resources is being spent to serve them. If you happen to be running Nginx as your web server, this post describes how you can use Nginx to prevent image hotlinking with a smarter way that was suggested by Hongkiat.

How to manually add a public PGP key to Ubuntu’s Advanced Packaging Tool (APT)

I was trying to install docker on my Ubuntu server as an initial step to set up a continuous integration server for my Python project. As I was following through the guide provided by docker, I was not able to proceed with adding the public PGP key of docker’s apt repository at Ubuntu’s Advanced Packaging Tool (APT) key store automatically. This post describes what I did to manually add the public PGP key to the APT key store.

A workflow for handling multiple concurrent changes on a single software system

To me, a change will mean that I am going to have more rice on my bowl. And in my nature of work, changes to the software systems under my care occur pretty often. In fact, changes had benefited me, as changes serve to increase my company’s competitiveness so that she can continue to buy me my daily bread.

There was this time when I was working with a software development house which my company had employed to build our new system. Nearing project completion, I volunteered to engineer a new workflow for my company to handle software development after we took over the system from the software development house. The main objective of the workflow is for coordinating change deliveries from multiple development teams on a single software system suite.

This post documents the workflow that I had engineered.