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!
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"]
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.
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 https://get.rvm.io | 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.
Prerequisite: If you haven’t done this already, setup Sencha Touch SDK.
Step 1: Download Sencha Cmd from the dedicated page.
Step 2: Move the archive to a working folder. I used
Step 3: Unpack SenchaCmd-126.96.36.1998-osx.app.zip 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
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.
Don’t forget to reload the settings file:
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.
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
sencha-touch-2.1.1-commercial.zip file in your
Step 3: Move the sdk archive to a working folder. I used
~/Documents/learn/sencha/sencha-touch-2.1.1-commercial.zip as the final destination.
Step 4: Unarchive the sdk. This should create a folder
~/Documents/learn/sencha/touch-2.1.1 on your machine.
Now, when you see instructions on the Sencha documentation that look like
# Make sure the current working directory is the Sencha Touch 2 SDK
you will need to do use the path obtained in step 4 above. In my case, this means:
drush upwd admin --password="new-password-goes-here"
If the username admin is not working, check the list of your defined users like this:
mysql> select name from users;
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.
Sometimes you don’t need to start Xcode, so it’s useful to start it independently.
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
qcachegrind.app to your Applications folder
So you decided to give it a try and are tired of downloading an archive, unpacking, blah-blah?
- navigate to your web server document root folder
- create yourself a working directory, like
- and use the clone command
git clone --branch 7.x git://git.drupal.org/project/drupal.git ./
You can now move directly to the “Create configuration file…” section of the quick installer page.