VNC is a well-known tool for remote desktop view and control. Two computers establish a TCP connection so that one of them can access the display of the other. However, almost always these two computers are behind a firewall/router and do not have a real IP to be accessed from the Internet. However, if you have access to an external server (for example a server in the cloud) there is still a workaround and things can be fixed to work.

Recently I made a visualization for contributors to for the last two years (2012-2013). This visualization was done with gource. It was a bit of hacking, so I would like to describe how I did it.

It can be possible and even simple to make identical clones just by copying the physical disk or the filesystem. However I prefer to build a new server from scratch and copy only the relevant data from the old server.

Time after time I write technical blogs and articles that describe and summarise my experiences. Nowadays all the blogging sites and tools offer WYSIWYG editors. And it makes blogging so easy, right? Not for me! I always find WYSIWYG editing tedious and frustrating.

Features are very useful for building Drupal profiles (re-usable applications). They provide a way to capture and save in code the customizations that are done to a Drupal site/application. I will describe how I use them in B-Translator.

I describe the development setup that I use for B-Translator. Most of the the tips are project specific, however some of them can be used on any Drupal project.

Installing and managing your own nameserver is not so difficult if you know some concepts about how DNS works and you have some basic command-line skills. I describe how I did it for myself.

Puppy Linux is so nice that I always keep it around even if I don't need it. I have a small partition on my laptop where I install different versions of Puppy, and they co-exist with my main Ubuntu system. The installation is very easy.

If you have a single wired Internet connection you can create Wireless Access Point with Ubuntu and share the Internet connection among multiple devices.

The second problem on Google CodeJam 2013, Round 1B was interesting. The obvious solution of trying all the possible cases and combinations would not work, unless the input had very small limits (besides being not so easy to implement).