When writing code you should generally prefer composition over inheritance. This approach is more flexible and sets your project up for changing behavior. However, there are a few cases where you will use inheritance. Sometimes you want to use the template method pattern because it very much fits a problem at hand. More often you are using code from another library or project and must comply with what you’ve been given.
Read more →
I recently wrapped up a project to enrich data with geographic locations in Data Prepper. We added a geoip processor which locates the geographic location of various events using an IP address from those events. The popular and free MaxMind GeoLite2 database provides this capability and we used it.
One of the requirements of using this particular database is that we cease using the data and destroy the old database as required by the EULA.
Read more →
We had an issue at Allogy several years ago where users were unable to upload large video files. This was clearly disruptive for our customers and was an important issue to resolve. Because we had taken care in our APIs to handle large files correctly, we were surprised about this issue. However, in this particular case we were uploading files through a Zuul gateway. It was the Zuul gateway that caused our issue.
Read more →
With this post, I am starting my software development site. This site will be used for sharing software development knowledge from my experience. Much of this comes from leading the development team at a small, self-funded startup, Allogy Interactive. We will not be limiting our discussion to the technical side of software development. My role has revoled around engineering, requirements analysis, team management, project management, customer relations, technical support, and more.
Read more →