SSH config for simplify connection to many similar hosts

Suppose you have three hosts (host.one.domain.name, host.two.domain.name host.three.domain.name) with the same credentials, with access by ssh key, then any time when you need to connect to host you must type something like this:

ssh user@host.one.domain.name -i path/to/key_file

^
ssh user@host.one.domain.name -i path/to/key_file

You can simplify your life by creating file ~/.ssh/config, with content:

Host one two three
  HostName host.%h.domain.name
  User user
  IdentityFile path/to/key_file

And now ...

Get node's parent element with Capybara

To get parent of Capybara's node do the following:

node = page.find '#selector'
parent = node.find(:xpath, '..')
parent_of_parent = node.find(:xpath, '../..')

Run rake tasks from ruby script

require 'rake'

rake = Rake.application
rake.init
# you can import addition *.rake files
# app.add_import 'some/other/file.rake'
rake.load_rakefile
rake['db:test:prepare'].invoke()

Extract contents of pfx bundle with Openssl

This card is the copycat from this awesome article, all thanks to Zsolt Agoston.

# Extract the private key
openssl pkcs12 -in wild.pfx -nocerts -nodes -out priv.cer
 
# Extract the public key
openssl pkcs12 -in wild.pfx -clcerts -nokeys -out pub.cer
 
# Extract the CA cert chain
openssl pkcs12 -in wild.pfx -cacerts -nokeys -chain -out ca.cer

Arch linux system upgrade

sudo pacman-mirrors -f5 # to update mirror list
sudo pacman -Syyu # system upgrade

Or oneliner

sudo pacman-mirrors -f5 && sudo pacman -Syyu

Reset RabbitMQ (Manjaro linux)

To reset RabbitMQ Mnesia database ensure that RabbitMQ process is running on your system. Then stop the running application:

sudo rabbitmqctl stop_app

After that run the command:

sudo rabbitmqctl reset

And then start the app:

sudo rabbitmq start_app

Ubuntu 14.04 locales reconfiguration.

If you getting messages like this: perl: warning: Setting locale failed. in your console, then you must configure your locales. First run:

locale

You will see something like this:

LANG=C
LANGUAGE=
LC_CTYPE=fi_FI.UTF-8
LC_NUMERIC="C"
LC_TIME="C"
LC_COLLATE=fi_FI.UTF-8
LC_MONETARY="C"
LC_MESSAGES=fi_FI.UTF-8
LC_PAPER="C"
LC_NAME="C"
LC_ADDRESS="C"
LC_TELEPHONE="C"
LC_MEASUREMENT="C"
LC_IDENTIFICATION="C"
LC_ALL=

Then generate the missing locale and reconfigure locales...