Technical stuff

Requirements are like water. They're easier to build on when they're frozen.

HowTo Quickly Erase All Documents from an ElasticSearch Index

21 November 2013 by Georgiana

Let’s say you are locally developing things using the amazing ElasticSearch technology, and would like to quickly wipe out all documents from a specific index.

Assuming you have ES installed on localhost, and the index name is playground, here’s how you would do it:

curl -XDELETE 'http://localhost:9200/playground/?pretty=true'

And the index is now empty, waiting for test data!

Comments Off | Categories: Quick and dirty | Tags:

Fix Vagrant problems after Mavericks update

27 October 2013 by Georgiana

Updated the OSX to 10.9 over the weekend.

While most of the troubles I encountered were caused by PHP 5.3 being completely wiped out and the system getting a stock install of 5.4, there were other minor things which didn’t go quite smoothly.

I use a VirtualBox + Vagrant + puppet combination to work on some side projects, and this was affected in a pretty mysterious way, as can be seen below:

➜  centos64 (master) ✗  vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
[default] Importing base box 'theCentos64'...
[default] Matching MAC address for NAT networking...
[default] Setting the name of the VM...
[default] Clearing any previously set forwarded ports...
[default] Creating shared folders metadata...
[default] Clearing any previously set network interfaces...
There was an error while executing `VBoxManage`, a CLI used by Vagrant
for controlling VirtualBox. The command and stderr is shown below.

Command: ["hostonlyif", "create"]

Stderr: 0%...
Progress state: NS_ERROR_FAILURE
VBoxManage: error: Failed to create the host-only adapter
VBoxManage: error: VBoxNetAdpCtl: Error while adding new interface: failed to open /dev/vboxnetctl: No such file or directory

VBoxManage: error: Details: code NS_ERROR_FAILURE (0x80004005), component HostNetworkInterface, interface IHostNetworkInterface
VBoxManage: error: Context: "int handleCreate(HandlerArg*, int, int*)" at line 68 of file VBoxManageHostonly.cpp

This was not an easy task to fix, as Mavericks is pretty new, and Google doesn’t help very much with finding the solution.

In my case, I discovered that if I restarted VirtualBox things will be working again.

sudo /Library/StartupItems/VirtualBox/VirtualBox restart

So this is not strictly related to Vagrant itself, rather to the VirtualBox provider I was using.

Comments Off | Categories: Computer setup, Mac OSX | Tags: ,

HowTo Easily Upgrade Ruby on Mountain Lion

15 February 2013 by Georgiana

The default Ruby version coming with Mountain Lion is a bit old
➜  ruby -v
ruby 1.8.7 (2012-02-08 patchlevel 358) [universal-darwin12.0]

If only for staying up-to-date with the latest Ruby version, you will want at least 1.9 on your local machine.

There are multiple ways to achieve this, but I found it easiest to use the Ruby Version Manager. This clever command-line tool gives you the freedom you want, at a minimal cost.

Let’s start by installing it:

➜ curl -L | bash -s stable --ruby

At the time of this writing, the latest Ruby version was 1.9.3, and RVM already installed it on your machine.

All you need to do now is to type
➜ rvm use 1.9.3
➜ ruby -v
ruby 1.9.3p385 (2013-02-06 revision 39114) [x86_64-darwin12.2.1]

In case you will need to return to the default ruby version, this is easily accomplished by
➜ rvm system

The screencast has even more detailed RVM usage, geared towards developers.

Comments Off | Categories: Computer setup | Tags: , , , ,

Easy Setup of Sencha Command on Your Mac

11 February 2013 by Georgiana

Prerequisite: If you haven’t done this already, setup Sencha Touch SDK.

Step 1: Download Sencha Cmd from the dedicated page.

Download latest Sencha Cmd from the website


Step 2: Move the archive to a working folder. I used ~/Documents/Work/learn/sencha.

Step 3: Unpack by double-clicking it. You should find the installer in your working directory, like in the picture below.

Step 4: Launch the setup by double-clicking the installer. Proceed to the next step. Accept the license agreement and click Next once more.

Make a note of the installation folder you choose in this step. I used /Users/g/bin. Proceed to the end of the wizard and click Finish.

Step 5: Verify that everything went okay. This is achieved from the command-line, by navigating to the SDK setup folder and launching the sencha command.

Note 1: The Sencha Cmd installer automatically adds its dependencies to the .bashrc settings file. if your favorite shell is not bash, you need to perform an extra-step before the verification works. If you’re a zsh user like me, at the end of your .zshrc file you need to add 2 lines to make this work.

export PATH=/Users/g/bin/Sencha/Cmd/$PATH
export SENCHA_CMD_3_0_0="/Users/g/bin/Sencha/Cmd/"

Don’t forget to reload the settings file:

. ~/.zshrc

Note 2: If you had previous versions of Sencha installed, it’s a good time to cleanup your .bashrc (or .zshrc) file from those occurrences.

Comments Off | Categories: Mobile development, News

Easy Setup of Sencha Touch SDK on Your Mac

10 February 2013 by Georgiana

Step 1: Go to the download page of the Sencha Touch product.

In the Free Commercial Version form, enter your email address and click the Download button.

At the time of this writing, the latest stable SDK version is 2.1.1, which you will find referenced in the paragraphs below.

Step 2: Click the download link in your email. This will open a browser window and start the sdk download process. The result should be a file in your Downloads folder.

Step 3: Move the sdk archive to a working folder. I used ~/Documents/learn/sencha/ as the final destination.

Step 4: Unarchive the sdk. This should create a folder ~/Documents/learn/sencha/touch-2.1.1 on your machine.

That’s it!

Now, when you see instructions on the Sencha documentation that look like

#  Make sure the current working directory is the Sencha Touch 2 SDK
cd /path/to/sencha-touch-2-sdk

you will need to do use the path obtained in step 4 above. In my case, this means:
cd ~/Documents/learn/sencha/touch-2.1.1

2 comments | Categories: Mobile development | Tags: , , ,

HOWTO remove all dangling commits from your git repository

23 October 2012 by Georgiana

A good explanation of the dangling commits source tells you how they get created.

git fsck --full
Checking object directories: 100% (256/256), done.
Checking objects: 100% (3658/3658), done.
dangling commit 79a3a6af4cda22c8b4f9f6eb01f537d961c088df
dangling blob 82c4e5aa9483cbd92cb4f03c2a8c23272ce41df9
dangling commit 5a857dc2e84bed64434c22a204bf5ed039802b46
dangling blob 3a482dae3fa596c91314ec25311952b740445846
dangling blob 2ed1ba8e6e884414e19b0a59989a0daef1918ccf
dangling commit 3c3a2073d9335627b48ff5f309bf1c6eafb69919

How to quickly remove those?

git reflog expire --expire=now --all
git gc --prune=now

Make sure you really want to remove them, as you might decide you need them after all.

Comments Off | Categories: News

Howto launch the iPhone simulator independently, without “Build and run”

30 September 2012 by Georgiana

Sometimes you don’t need to start Xcode, so it’s useful to start it independently.

  • right-click the Finder in the Dock
  • choose "Go to Folder..."
  • use the follosing path: /Applications/‌​eveloper/Applications/
  • launch the iPhone you find there

Comments Off | Categories: Mac OSX, testing | Tags: , , , ,

How to install kcachegrind / qcachegrind on Mac OSX

30 March 2012 by Georgiana

Installing kcachegrind via macports takes a long time because it has to build KDE, as well.

An alternative faster way is described below.

  • download Qt binary and install it
  • download and install graphviz; I used brew install graphviz
  • fix default graphviz location by symlinking to a place where cachegrind will find it sudo ln -s /usr/local/bin/dot /usr/bin/dot
  • qmake -spec 'macx-g++'; make
  • copy generated to your Applications folder
  • enjoy!

1 comment | Categories: Computer setup | Tags: , , , ,

Howto install Drupal 7 using Git

12 March 2012 by Georgiana

So you decided to give it a try and are tired of downloading an archive, unpacking, blah-blah?


  1. navigate to your web server document root folder
  2. create yourself a working directory, like mkdir vanilla_drupal
  3. and use the clone command git clone --branch 7.x git:// ./

You can now move directly to the “Create configuration file…” section of the quick installer page.

Comments Off | Categories: CMS | Tags: , , ,

← Older posts