Setup postgresql for RoR

Assume your database.yml file looks like this:

{: .yaml}
development:
adapter: postgresql
host: localhost
encoding: unicode
database: proj_development
pool: 5
username: proj
password:
template: template0

test:
  adapter:  postgresql
  host:     localhost
  encoding: unicode
  database: proj_test
  pool:     5
  username: proj
  password:
  template: template0

production:
  adapter:  postgresql
  host:     localhost
  encoding:...

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