Debug Crystal TCP server
Debug Crystal TCP server Learn how to debug TCP communications with Wireshark In my journey of learning Crystal language, I want to record notes and left guide on how to...
Rotate Kubernetes certificates with Kubeadm v1.11
Rotate Kubernetes certificates with Kubeadm v1.11 After building my first successful immutable cluster, I faced the problem of expired masters’ certificates. I have already mentioned how to generate new certificates...
Visualize Go app benchmarking
Visualize Go app benchmarking It is interesting to analyze how a data structure has a different performance based on number of items or the way of implementation. Benchmark metrics simplify...
Kubernetes v1.11 requires CRI
Kubernetes v1.11 requires CRI Today I upgraded my kubernetes cluster from v1.11-beta.2 to v1.11-rc.1, discovered that a general warning message now becomes ERROR: $ kubeadm init --config /etc/kubernetes/kubeadm.yml I0623 08:00:06.826671...
Rails Assets Host Trick
Rails Assets Host Trick When we use simple assets server, such as ActionController::Base.asset_host = "http://assets.example.com" we have a problem with pages which use SSL and some browsers alert users that...
Generate Kubernetes client certificates
Generate Kubernetes client certificates TL;DR Use kubeadm tool on your local machine to generate certificates Security is the most important part of any Kubernetes cluster. In our days all my...
REsize Amazon EBS volumes without a reboot
REsize Amazon EBS volumes without a reboot In rare cases, it happens that disk is full, and usually, it happens not in right time. No worries, AWS supports hot expanding...
Setup Terraform with Google Provider
Setup Terraform with Google Provider This is article focused on routine steps how to start working with terraform and google cloud provider. For new clients/projects, we do the same steps...
Minikube 1.7.0 with OpenID and RBAC
Minikube 1.7.0 with OpenID and RBAC In the article Kubernetes 1.6.1 Authentication via Google I explained how to create Google Application and generate kubernetes token. I found that people have...
Pitfalls of using metaprogramming in Ruby on Rails application
Pitfalls of using metaprogramming in Ruby on Rails application Do you know that metaprogramming is easy to add but hard to support? Developers underestimated risks related to using metaprogramming in...
Ubuntu Server 16.04 on Raspberry Pi 3 via Terraform
Ubuntu Server 16.04 on Raspberry Pi 3 via Terraform In this tutorial you will find how to setup latest Ubuntu Classic server 16.04 and automate process as much as possible....
Remove the First Lines from Stream
Remove the First Lines from Stream I am not a linux hacker, so I wasted a lot of time trying to find a solution to strip first lines from output...
Netcat with SSH Port Forwarding
Netcat with SSH Port Forwarding I have encountered a problem with getting access to the private local service which available from the local machine. And I need to write application...
Visualization of Your Code
Visualization of Your Code Working at long and big projects, it is fun to see on a release date how this project was built: who worked at a particular part;...
Simple Dynamic Template
Simple Dynamic Template Sometimes we need to define a dynamic template before defining variables used in the template. Let me show a few examples how to solve this problem in...
Show Not Valid CSV Lines with Sed
Show Not Valid CSV Lines with Sed I have an issue with invalid formatted CSV file. First step show lines with invalid lines. $ sed -n '/"[^",]*"[^",]*"[^",]*",/,1p' <fileName> Then I...
Redis Store to Store Session
Redis Store to Store Session I use Redis to store session and cache. And when I try to cache some session values, I get an exception “TypeError (can’t dump TCPSocket)”....
Allow Multiple Access Control Requests for Rails
Allow Multiple Access Control Requests for Rails If you have problem with sending XHR requests from different domains, it will be problematic to get content, because XMLHttpRequest cannot load http://different.domain.local:3000/visits....
Simple Benchmarking Rack Web Server
Simple Benchmarking Rack Web Server Before each project we check new versions of favorite Ruby web servers and choose which is the best. Let’s use, for example, Geminabox application to...
Run Tests Against Multiple Ruby Versions On CircleCI
Run Tests Against Multiple Ruby Versions On CircleCI Using multiple MRI ruby versions is not very hard. There are some ruby versions that have already been installed, and if you...
Revise Your Stylesheets. Part 1. Color Scheme
Revise Your Stylesheets. Part 1. Color Scheme Ever wonder how many colors exist in your project? Do you have strict style guides kindly prepared by the design lead? How many...
Import Huge Data for Rails
Import Huge Data for Rails I wrote a simple rake task for dump data from DB to CSV file: namespace :db do desc 'Create CSV fixtures from data' task :extract_to_csv...
Don’t Release The Same Feature Twice
Don’t Release The Same Feature Twice I do not like bureaucracy, but I can not live without it. That’s why I have integrated Changelog to the project. After a few...
Setup Prometheus in Amazon EC2 via ElasticBeanstalk and Docker
Setup Prometheus in Amazon EC2 via ElasticBeanstalk and Docker What is ElasticBeanstalk? It is one of Amazon Services that help developers to deploy applications. Now any cloud hosting wants to...
Capistrano 3: Passing Parameters to Your Task
Capistrano 3: Passing Parameters to Your Task The new way of passing parameters in Capistrano v3 is to use the same solution as Rake (in some sort Capistrano 3 is...