Android ROM explained

There has been a lot of talk about Android ROM and how to flash it with a custom ROM to bring new features to your smartphone. People are also talking about rooting an Android OS and installing aftermarket firmware on it. In the world of Android, the word ROM which stands for Read-Only Memory is being misused. A better term would be "firmware" where the binary image of Android OS is installed. Let's start out by defining a few terms used in the Android world.

How to configure Eclipse to use spaces instead of tabs?

When writing maintainable code, indentation plays an important role. This may be one reason Python requires proper indentation as the programming syntax. A traditional tab indents 8 spaces, and we all know 8 spaces are just too much for coding indentation. We all opt to use 4 spaces for programming indentation, but how do you accomplish this? We can configure a TAB to indent only 4 whitespaces, or use 4 physical spaces? There are tradeoffs, and it's a matter of personal taste. I used to prefer TABS over SPACES, but if you're working in a team the lines may not line up correctly if developers mix and match TABS and SPACES. So, to make the indentation consistent, a coding guideline must be placed among multiple developers.

ZF2: Configure a layout for each module with EdpModuleLayouts

I am newly acquainted with ZF2 and played with EdpModuleLayouts to configure different layouts for each module. For someone with very limited exposure to ZF2, the instruction provided in EdpModuleLayouts is not quite enough. I've spent about an hour making this simple thing work and sharing my experience with others who may run into similar challenges.

ZF2: ZF1 like URL Routing

ZF2 introduces a new routing for the framework which is similar to ZF1 but has slightly different semantics. The skeleton application ships with a default Application level router which takes a matching controller/action to /application/controller/action URI. If you wish to keep it backward compatible with the ZF1 type of matching, you may want to make the following changes to the module/Application/config/module.config.php file as below:

Zend Framework 1 Overview

Developing a PHP application requires domain knowledge, software engineering, discipline, and time. We rarely write applications from scratch as there are freely available application frameworks that we can take advantage of. For the PHP programming language, there are more than a dozen "popular" frameworks to choose from, and picking the right framework for your application is not a mundane task. I have been working as an IT consultant for many years, and Zend Framework is the one being discussed frequently. As a new PHP developer coming on board with a Zend Framework, I would like to use this forum to describe the learning process.

How to install Zend Framework 2 skeleton application?

For anyone getting started with Zend Framework 2 (or ZF2), the best way to get up and running quickly is by installing the Zend Skeleton Application available on GitHub. Here is the quick and easy way to get the skeleton application installed on a Linux machine. You'll install the skeleton application first, and then we'll install ZF2.

Trap spambots from submitting forms with honeypot and PHP

One of the duties of a webmaster is to prevent spam bots from submitting web forms. If spammers are not blocked, the data collected from the visitors will contaminated with spam and it's a real nuisance to clean out this data every so often. I have been researching ways to block spam on the web forms we have on our website and found a solution that works reasonably well.

How to retrieve Client IP address in PHP?

There are a number of array name/value pairs provided in the PHP's "predefined" $_SERVER variable, which you can use to extract client's IP address. Some of the IP-related $_SERVER parameters retrieved from the web server are passed by the client in the form of HTTP header, so they can be easily spoofed. Also, some of the HTTP_X_FORWARD* parameters expected to be filled by proxy servers may not always be there as not all proxy servers follow best practices.