Showing posts from December, 2020

Use BFS algorithm to find the accessible area of a robot in a 2D graph

Recently, I found myself started to love working with algorithms. The funny thing is I was never interested in algorithms back in my university time. Maybe because I'm more attracted to something that has a visual appearance or has real-life applications, something like Physics I thought. After more than 10 years working in the field of cloud computing, networks, and computer system, I realized everything are operating by algorithms. Algorithms to optimize network configurations, algorithms to make the application process faster, algorithms to auto-scale the clusters, etc. It may be a little bit too late but right now I can tell algorithms are beautiful. I tried some HackerRank coding challenges and the problem below caught my eye because it's used in pathfinder, searching, etc. They can be very useful for a cloud architect like myself when optimizing network configurations or building some automation apps. The Problem: There is a robot that can move around on a grid. The robot

Dockerize your development environment

Recently, a friend of mine asked me about how I set up my development so that it's easy to move onto production without many issues such as the differences between the environments, dependencies, etc. Here are a couple of questions. Deploy Dev environment + staging environment in containers? Is deploying a big container and stuffing all packages reasonable? What are the differences between Python container vs Ubuntu container? and which one to use? Can Dockerfile execute commands or scripts (e.g., automatically create users, run an existing script, etc.)? When deploying the application with the container, how are the logs collected? How to handle the versioning process? So your company is on the way to streamline the process of developing, testing, and deploying software to production? But you are confused because there are so many tools out there such as Kubernetes, the "CI/CD universe" and stuff, ain't you? No problem. You just need to get started with