Setting JAVA_HOME properly in Mavericks

export JAVA_HOME=$(/usr/libexec/java_home)

you can put it inside your ~/.profile.

Default icons for OS X – where can I find them?

If you are looking for all these fancy OS X icons (like ones below):


You can find them here:


Just open Finder, choose from menu: Go -> Go to Folder … and paste above line.

Compare two XML files

Let’s say we have two files:

<!-- first file -->
<?xml version="1.0" encoding="UTF-8"?>
<sometag attr="1" attr2="2">
<!-- second file -->
<?xml version="1.0" encoding="UTF-8"?>
<sometag attr2="2" attr="1">

After cleaning with xmllint we can compare them.

xmllint --noblanks --c14n file_one.xml >file_one_tmp.xml;\
 xmllint --format -recover file_one_tmp.xml > file_one_canonical.xml
xmllint --noblanks --c14n file_two.xml >file_two_tmp.xml;\
 xmllint --format -recover file_two_tmp.xml > file_two_canonical.xml
diff file_one_canonical.xml file_two_canonical.xml

As you can see, the only difference lays in comments

< <!-- second file -->
> <!-- first file -->

XML files were transformed into normal form (

Mavericks – change computer name

In Mountain Lion it was enough to change settings inside

System Preferences -> Sharing -> Computer Name

In Mavericks, that’s not enough.

sudo scutil --set HostName $COMPUTER_NAME_GOES_HERE

OS X Maverics – USB based installation

1. Format USB drive using Disk Utility


2. Use following command inside terminal

sudo /Applications/Install\ OS\ X\\
/Contents/Resources/createinstallmedia --volume\
 /Volumes/Untitled --applicationpath\
 /Applications/Install\ OS\ X\\

3. Restart mac book with Option key pressed

4. Choose USB as startup disk

5. Make sure to erase your previous installation of OS X in case you want to make really clean installation – otherwise system will be restored (e.g. you will have your previous user account)

Get full user name from console in Linux

Sometimes, simplest solutions are most efficient ones.

getent passwd `whoami`

nomachine server uninstall or disable – OS X – Mavericks

To uninstall or disable nomachine server on OS X:

All this, below, is wrong :)

I have figured out that this is not correct way to disable NX server. It uninstall client software as well.

sudo /Applications/ \
Contents/Frameworks/ \
bin/nxserver --uninstall
sudo /Applications/ \
Contents/Frameworks/ \
bin/nxserver --shutdown

And the procedure below, is OK :)

So, don’t disable nxserver as described above. Instead, do following:

sudo vi /Library/LaunchDaemons/com.nomachine.server.plist

and change





There is one more place you have to take care about

sudo vi /Library/LaunchAgents/com.nomachine.localnxserver.plist

and change




Packt is celebrating 2000th title – check this out

Packt is celebrating 2000th title released and they promote it with “buy one get one” promo. You can find details by clicking the banner below


From my side, I suggest taking a look at following titles: Android Application Testing Guide and this one iPhone JavaScript Cookbook

Cocos2d-X by Example Beginner’s Guide by Roger Engelbert

Cocos2d-X by Example Beginner’s Guide by Roger Engelbert

Cocos2d-X by Example Beginner's Guide | Packt Publishing

Summary:Nice introduction, but I am not sure whether beginners will survive

If you are looking for cross platform mobile development, Cocos2d-X can be a solution for you. Written in C++, cross-platform graphics engine that allows to develop games with ease.

But with new engine comes great effort – you simply have to learn it. And it’s always good to have a companion to show you where to start. COCOS2d-X by Example can be such companion. It is organised such way it covers most common topics in games development: sprites, layers, graphics, sound, music, animations and basics of physics (big plus for the appendix with physics basics at the and of the book). You will also find nice clues e.g. how to create game tutorial with ease.

I have just one big remark here. This book is titled as “Beginner’s Guide”. Well, this might be a challenge if you are complete beginner:

- C++ explanation is definitely too shallow – make sure to buy some companion book to get started with C++
- There are also small issues with the C++ explanation. For example, I am not quite sure whether this sentence is quite correct:

“You use this instead of self. The -> notation is used to access public methods inside an object, and the . (dot) notation is used for public properties”

I think that “->” is used for accessing pointer’s properties while . (dot) is used for object’s instances.

Another thing here is, that book demands some knowledge of physics – surprise, surprise. If you haven’t heard that yet, be warned that developing games without basics of physics is hardly possible.

As for the Cocos2d-X itself, I think this is really good introduction. Each example is covered from the beginning till the end – you actually work with executable samples. There are detailed explanations of what’s going on, but as I said, people who are not familiar with C++ will probably get lost in the source listings.

Why do I give just three stars here? For the miss leading title. In my opinion, this book is for intermediate developers who are already familiar with XCode and have some basic knowledge of C++.

Summarizing, if you want to start coding with Cocos2d-X – make sure to check this book as one of the sources but be prepared for challenging source codes.

Product page:

Packt: Cocos2d-X by Example Beginner’s Guide
Safari Books Online: Cocos2d-X by Example Beginner’s Guide

How to increase numbering in sections in LyX

If you want more than just three levels of numbering within sections, you can achieve that with two different approaches inside LyX.

1. By changing Document’s settings

Document -> Settings -> Numbering & TOC

Screen Shot 2014-02-24 at 8.43.00 PM

2. By applying LaTeX commands


First approach is more elegant in case of LyX, as you will see the numbering within LyX document. In case of second approach, you will see it after compiling the source.