VNC is a well-known tool for remote desktop view and control. The 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. In such a case one of them can do port forwarding on the router/firewall and this would allow the connection to be established. The problem is that more often than not, none of the parts that want to establish such a remote connection have access to the firewall that separates/protects it from the real internet. Sometimes it can even be several levels deep behind the firewall (several layers of firewalls). 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. Here I will explain the tricks and hacks that can be used in such a case in order to establish a secure connection to a remote desktop.
Sunday, December 8, 2013
Thursday, July 18, 2013
Why do I need to clone a B-Translator server? An obvious reason is to have a backup server. In case that something goes wrong with the main server I can quickly switch to the backup server, until I find and fix the problem.
A clone can also be used for testing. Before applying something on the main server I can test it first on a clone/backup server.
Another reason for cloning can be load-balancing. It is possible to keep several clone servers synchronised with each-other, and then the work can be shared between them with a load balancer. I haven't tried this yet, but I think that it should work.
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.
Friday, July 12, 2013
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.
Tuesday, July 9, 2013
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. Here I will describe how I use them in B-Translator.
Monday, July 8, 2013
B-Translator helps to get feedback about l10n (translations of the programs). It tries to collect very small translation contributions from a wide crowd of people and to dilute them into something useful. It is developed as a Drupal7 profile and the code is hosted on GitHub. Here I describe the development setup and process that I use for this project. Most of the the tips are project specific, however some of them can be used on any Drupal project.
Monday, July 1, 2013
In the old times (when men were real men), people used to manage their domains with their own domain name server. There is now a long time since things got easy and sweet. Nowadays you usually rely on the services provided by your ISP for managing your domain, which often means that you do everything from a nice web interfaces.
However there are people (like me) that prefer to do things the old and sweaty way, which means that you install and manage your own name server. I will describe here how I did it for myself. Actually it is not so difficult, if you know some concepts about how DNS works and you have some basic command-line skills.
Friday, June 21, 2013
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 (actually Xubuntu) system. The installation is very easy.
Wednesday, June 12, 2013
If you have a single wired Internet connection (like in a hotel room) you can create Wireless Access Point with Ubuntu and share the Internet connection among multiple devices. This can be done very easily on Ubuntu (whatch this tutorial: http://www.youtube.com/watch?v=G0FFQVy3RUg) It will create an ad-hoc wifi network. However ad-hoc networks are not supported in some android models, windows mobile, and iOS devices. A more universal solution is to create an Access Point (or Infrastructure, or Hotspot) wifi network. This is a bit more complicated but not so difficult. Here I will describe how to do it.
Saturday, May 4, 2013
The second problem on Google CodeJam 2013, Round 1B was interesting: Problem B. Manage your Energy . 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).