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).
After installing a Drupal7 site, I have made several configurations/customizations over time. Now I would like to export them somehow, in order to load them to another site. But the problem is that I don't remember exactly what I have done. The Features module does not help because you have to tell it exactly what to export, but I don't remember all the changes.
I manage a virtual web server in the cloud where I have made lots of configurations over time (installing new packages, tweakings for optimization, changes related to security, etc.) If I want to build another server that has the same function and purpose as the first one, I don't remember all the things that I have touched and changed. The long and tedious way would be to go over all the installations and configurations again, and still I may miss something.
Recently I have suffered a total system destruction in one of my computers. It happened while I was testing a software that I am developing, due to a simple bug. It helped me realize my lack of caution while testing unstable things, and I learned that it is always better to do the testing inside a chroot environment. Chroot’s provide isolation from the rest of the operating system, so that in case of severe errors damage can be mitigated.
Nginx (engine-x) is a web server that is regarded to be faster than Apache and with a better performance on heavy load.