I wanted to write this post for a long time. I have first drafts from Q3 of 2018, yet I never had the chance to crystallize my thoughts on that matter. Because how you demystify a legacy project? And not only in Rails but in general? I guess the answer is the same as for many other similar questions - it depends. Technical debt is unavoidable. One split there, another over there. Your team has a worse day, requirements are unclear, you have no better idea, you’re annoyed, frustrated, business requirements changed, you pivoted. Bam, a few months later you wonder who wrote this pile of crap? Oh yeah - it was you. Or blame the other guy/gal. Because it’s a tradition. Instead of trying to form my thoughts into nice words I will put a list of bullet points for future references - hoping that at least some of them will be still useful and valid.
I had overall good experience with Traefik 1.x used on Rancher 1.x (before they switched to Kubernetes, rest in peace Cattle container orchestration) and recently I have been trying to migrate my tiny playground infrastructure to Traefik 2.0. Unfortunately, the API is completely different and you have to wrap your head around the new concept how to handle load balancing from scratch. It seems official documentation is still not there yet so I’m gonna post some general examples specifically for load balancing docker services using docker labels alone (without using file configuration at all) - hopefully somebody will find it helpful.
The template below can be used by all experts, technology advocates, visionaries, founders, owners, trainers, CEOs and speakers that are trying to build up their audience on Linkedin. Feel free to use it and share it with your colleagues and coworkers.
Apparently MacOS doesn’t free up disk space right away and overall it’s more complicated process. Reference. This causes error in AppStore when trying to upgrade bigger in size apps like XCode. If you go to Disk Utility you should see Available space and amount of purgeable space just near it.
I’m gonna skip introduction about what is publish-subcribe patter, what wisper is or how to use it and get straight to the real-life example.
Recently I have upgraded my good old Synology DS411slim to newer, bigger model - DS918+. I kinda started to run out of free space (1TB 2.5” x4) and decided to invest some money into a new box and new drives. There is an official guide how you can migrate with disk swipe, but as I wanted to move my data to new drives I just decided I would try to rsync everything. And BTW there is a screen command if you would like to run in the background that can be found on synocommunity.
So it’s been a while since I finished prototyping my very first app in Crystal. I decided to dust it off a little bit around a week ago. It’s not available under moviestowatch.app domain, but aside that I got yet another idea based on the original concept.
How can you sleep when people are building serverless applications in the cloud with blockchain while sitting in a self-driving car powered by AI and machine learning? Don’t get me wrong - behind some of those words are hidden really interesting things and problems, but as an average Joe that is doing mostly web-related stuff how do you deal with such noise? I think the answer to this is the same principle you might apply to different problems - keep it simple.
A few weeks ago I was upgrading legacy infrastructure for small-sized project and decided to go with systemd for service management as I had quite good experience with it while tinkering with my toy apps written in Crystal. If you want to use systemd for rails/ruby project - there is a great news everyone! capistrano-systemd-multiservice will do the work for you and I must say - it works just great.