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...

Kubernetes 1.6.1 Authentication via Google

Kubernetes 1.6.1 Authentication via Google My notes how to use Google Accounts with Kubernetes cluster with Role Based Access-Control (RBAC) authorization mode. I have self-hosted Kubernetes setup via kubeadm on...

Docker network performance

Docker network performance I think everyone has thought about what the difference between BRIDGE and HOST modes to run containers, except run applications with the same port. To test network...