Back to Yuvan Shankar Raja
Solli Tholaiyen Ma Lyrics From Yakkai
Movie : Yakkai
Song : Solli Tholaiyen Ma Lyrics
Music : Yuvan Shankar Raja
Singer : Dhanush
Lyrics : Vignesh Sivv
Kaana Poona Kadhala
Naana Kenji Kekkuren
Poona Poguthu Kadhala
Solli Tholiyen Ma
Veena Neram Poguthu
En Maanam Kappal Erudhu
Thaana Vandhu Kaadhala
Solli Tholaiyen Ma
Nee Ok Solli Tholanja
Thara Kuthu Poduven
Illa Venam Solla Thuninja
Solo Song ah Paduven
Unakku Wait Panni
En Body Weak Aaguthu
Basement Shake Aguthu
Heart-u Break Aguthu
Loveahh Sollaathathaale
Nenju Lock Aaguthu
Current Illatha
Oor Pola Dark Aguthu
Vaaram Onnula
Kanavula Vandha
Vaaram Rendula
Manasulla Vandha
Moonam Varame
Rathathilayum Neethan
Ada En Maa En Maa
Nalla Pakkura
Koocha Padamanee
Nalla Illikira
Loveh Solla Mattum
Yenma Moraikkura
Sariye Illamaa
Ada Poo Ma Poo Maa
No No Summa Sonnenamma
Unakkaga Poranthavan
Nan Mattum Thanma
Un Kooda Vazhave
Thinam Thorum Saguren
Kaapathu Kadhala
Solli Tholaiyenma
Poona Poguthu Kadhala
Solli Tholiyen Ma
En Body Weak Aaguthu
Basement Shake Aguthu
Heart-u Break Aguthu
Loveahh Sollaathathaale
Nenju Lock Aaguthu
Current Illatha
Oor Pola Dark Aguthu
PHP Access Modifiers
PHP access modifiers are used to set access rights with PHP classes and their members that is the functions and variables defined within the class scope. In PHP, there are some keywords representing these access modifiers. These keywords will be added with PHP classes and its members.
PHP keywords as Access Control Modifiers
Now, let us have a look into the following list to know about the possible PHP keywords used as access modifiers.
- public – class or its members defined with this access modifier will be publicly accessible from anywhere, even from outside the scope of the class.
- private – class members with this keyword will be accessed within the class itself. It protects members from outside class access with the reference of the class instance.
- protected – same as private, except by allowing sub classes to access protected super class members.
- abstract – This keyword can be used only for PHP classes and its functions. For containing abstract functions, a PHP class should be an abstract class.
- final – It prevents sub classes to override super class members defined with final keyword.
Access modifiers Usage with PHP Classes, Class Members
Based on the possibility of applying the above list of PHP access modifiers, we can classify them. The following tabular column specify which keyword could be applied where in classes,functions or methods.
Access modifier | classes | functions | variable |
public | Not Applicable | Applicable | Applicable |
private | Not Applicable | Applicable | Applicable |
protected | Not Applicable | Applicable | Applicable |
abstract | Applicable | Applicable | Not Applicable |
final | Applicable | Applicable | Not Applicable |
public Access Modifier
Before introducing access modifiers in PHP, all classes and its members are treated aspublic by default. Still, for PHP classes without specifying any access modifiers, then it will be treated as public.
If we specify public,private or protected for a PHP class, then it will cause parse error. For example, if we define a class as,
public class { ... ... }
Then, the following parse error will be displayed to the browser.
Parse error: syntax error, unexpected 'public' (T_PUBLIC) in ...
Similarly, class functions without any access modifiers, will be treated as public functions. But, it is good programming practice to specify those functions as public for better understanding.
Unlike PHP classes and functions, we need to specify access modifiers for PHP class variables explicitly. For example, the following code is invalid, which will cause PHP parse error.
class Books { $categories = array("puzzles","pull back","remote","soft"); ... }
And, the valid code for defining classes with public variables are follows.
class Books { public $categories = array("puzzles","pull back","remote","soft"); ... }
private Access Modifier
We can state this keyword only for class variables and function, but not for class itself, as like as public modifier. PHP class members defined as private cannot be accessed directly by using its instance. For example,
class Books { private $categories = array("puzzles","pull back","remote","soft"); public function getbooksCategories() { return $this->categories; } } $objbooks = new Books(); print "<pre>"; print_r($objbooks->categories); // invalid print_r($objbooks->getbooksCategories()); print "</pre>";
In the above program, Books class contains an private variable and a public function. Accessing this private variable by using Books class instance with the line,
print_r($objbooks->categories); // invalid
will cause PHP fatal error as,
Fatal error: Cannot access private property Books::$categories in ...
But we can access class private variables via any public function of that class. In the above program we are getting the elements of $categories array variables via getbooksCategories() function defined as public.
Note that, all members of a class can be access within the class scope by using $this variable.
protected Access Modifier
This keyword is used in a PHP program which is using PHP inheritance. And, it is used to prevent access for PHP classes and its members from anywhere, except from inside the class itself or from inside its subclasses.
With this keyword, PHP classes and its members functions cannot be access directly from outside the classes and their subclasses, with the references of their instance.
Consider the following PHP program.
<?php class Books { protected $categories = array("puzzles","pull back","remote","soft"); protected $books = array(array("name"=>"Mechanical books","category"=>"pull back"), array("name"=>"Jigsaw","category"=>"puzzles"), array("name"=>"HiTech","category"=>"mech"), array("name"=>"Teddy","category"=>"soft"), array("name"=>"Baby","category"=>"soft"), array("name"=>"Chinese","category"=>"puzzles"), array("name"=>"Electronic","category"=>"remote")); protected function getBooks() { for($i=0;$i<count($this->nooks);$i++) { $books_list[] = $this->books[$i]["name"]; } return $books_list; } protected function getBooksByCategory($category) { for($i=0;$i<count($this->books);$i++) { if($this->books[$i]["category"]==$category) $books_list[] = $this->books[$i]["name"]; } return $books_list; } } class SoftBooks extends Books { protected $category = "soft"; function getBooks() { return $this->getBooksByCategory($this->category); } } $objBooks = new Books(); $objSoftBooks = new Softbooks(); print "<pre>"; /**Invalid print_r($objBooks->categories); print_r($objSoftBooks->categories); print_r($objBooks->getBooks());*/ print_r($objSoftBooks->getBooks()); print "</pre>"; ?>
Google Introduces Search Engine Apps : Springboard
Springboard is designed and marketed towards business and enterprise users of Google’s productivity apps — particularly those that have to regularly sort and search through large numbers of documents and files.
Within the same announcement Google also announce a significant upgrade to Google Sites, which is a tool designed by the company for creating web pages. The update will allow users to easily pull in information from other Google apps, and features all fully responsive designs for all of its layouts.
Both Springboard and the upgrade to Sites are currently being tested amongst a select group of users in Google’s early adopter program. If you’re interested in getting an early look at Springboard you can sign up here. An official public release date was not mentioned in the announcement.
Overview of HADOOP
When we look into the structure of this framework , we find that it is divided into HDFS and MapReduce.
The two hands of Hadoop framework
i.e. HDFS and MapReduce are Hadoop Distributed File System- the storage hand and the processing hand respectively. This skeleton divides the total data into smaller blocks and circulate them in assemblage through the junctions called nodes in the network. The JAR is sent to the nodes where the data needs to be worked on. Here the nodes responsible for those data residing near them work faster in transferring them.
Hadoop carries four programs of study.
They are :
-> Hadoop Common
-> HDFS
-> Hadoop YARN
-> Hadoop MapReduce
1. Hadoop common acts as the information centre that contains the collections of Hadoop libraries.
2. HDFS is the storage part of high band of frequencies.
3.The YARN organizes the properties that line up the user’s function in an assemblage.
4.MapReduce is the processor that processes all sets of data.
Hadoop is such a frame that can store and circulate huge data files without minimum error. Hence it is highly scalable.
1.This software costs very less for storing and performing computations on data in comparison with the traditional databases.
2.Accessing with different kinds of business solution data is done by Hadoop with ultimate comfort. It has been proving to be its best in decision making.
3.It helps in social media, emailing, log processing, data warehousing, error detection etc.
4. Since it maps the data wherever it is placed so Hadoop takes very less time in order to unfold any data. It hardly takes an hour to work on large petabytes of data. Hene, it is super fast.
Hence, the companies using Hadoop are able to gain far better insights. Whenever a data block goes from one node to another in the assemblage of the network, each block gets copied to each node and even if the data is lost, we will always be having a backup copy of it. Hence, fault occurrence is really very low.
Retrieving Google Analytics Data to Build a KPI Dashboard
Introduction
As we all know, many web projects are created in order to solve particular business needs. Any business requires data on how well it is going, how big the traffic of clients is, how many clients register, etc..
Google Analytics is an industry standard service to collect such data. The site webmaster puts a JavaScript tracker script in the pages to allow Google Analytics to collect the data for every time a page is loaded.
All that is done on front-end site, no PHP code is involved. In this article I cover retrieving access statistics data from Google Analytics using PHP.
Retrieving Google Analytics Data to Build a KPI Dashboard
Project owners and investors might need a dashboard or KPI progress page. Let’s see how to grab statistics from your Google Analytics account to s PHP backend in order to build a dashboard.
There are many statistics that represent the heartbeat of your project: number of visitors, bounce rate, percent of registrations, profit from every user, etc. These are called KPIs: the key performance indicators, each of which is a business metric used to evaluate factors that are crucial to the success of an organization.
KPIs differ from one company to another. Some of these indicators can be seen in original Google Analytics reports: how many people came and how engaged they are in average. What your customer might want is to combine that data with revenue and profit data from your database and build a solid dashboard.
At this point you will realize that you need to retrieve Google Analytics data from your PHP scripts.
Hold on, Google Analytics is a complex data source, —entries can be queried by date and name.
You will find an couple of classes below that help to automate interaction with this service and return a simple number as result of your query. The code is based on Zend Framework 1, since it helps a lot to automate interaction with Google services (a technology called GData).
First, let’s create an abstract class to help us create classes to work with different Google Services (just replace XXX with your app or library name)
<?php class XXX_Google_Wrapper_Abstract { public $gdClient; protected $_listFeedsUrl; protected $_dataUrl; /** * Constructor for the class. Takes in user credentials and * generates the the authenticated client object. * * @param string $email The user's email address. * @param string $password The user's password. * @return void */ public function __construct( $email, $password, $service) { $client = Zend_Gdata_ClientLogin :: getHttpClient( $email, $password, $service); $this->gdClient = new Zend_Gdata( $client ); } protected function __fetch($url) { $query = new Zend_Gdata_Query($url); $feed = $this->gdClient->getFeed($query); return $feed; } public function listFeeds() { return $this->__fetch($this->_listFeedsUrl); } public function fetchItems(array $params) { $url = $this->_dataUrl . '?' . http_build_query($params); return $this->__fetch($url); } }
Now, we can use this parent class to create a class to work with Google Analytics:
<?php class XXX_Google_Wrapper_Analytics extends XXX_Google_Wrapper_Abstract { protected $_listFeedsUrl = 'https://www.google.com' . '/analytics/feeds' . '/accounts/default'; protected $_dataUrl = 'https://www.google.com' . '/analytics/feeds/data'; public function __construct( $email, $password) { parent::__construct( $email, $password, 'analytics'); } }
Both classes must be placed anywhere where your scripts can automatically load them. Zend Framework provides a simple naming convention to make it work automatically.
Google Analytics data is very flexible — e.g., you can grab total visits count, or visits of a page that contains a particular keyword in its URL. So we need one more abstract class, that we will use our Google Analytics wrapper to access any kind of required data:
<?php abstract class Stats_Google_Analytics_Abstract { protected static $_wrapper, $_reportID; protected $_page; public function __construct() { if (!empty(self::$_wrapper)) return true; $config = Zend_Registry::get( 'config' ) -> toArray(); $analyticsConfig = &$config[ 'google' ][ 'analytics' ]; $email = $analyticsConfig['email']; $password = $analyticsConfig['password']; self::$_reportID = $analyticsConfig['report']['id']; try { self::$_wrapper = new Sunny_Google_Wrapper_Analytics( $email, $password); } catch(Zend_Gdata_App_AuthException $e) { error_log( 'Zend_Gdata_App_AuthException: ' . $e->getMessage() ); throw $e; } } public function fetchValue( $startDate, $endDate = null, array $additionalParams = null) { $list = $this->fetchAll( $startDate, $endDate, $additionalParams ); $sum = array_sum($list); return $sum; } public function fetchAll($startDate, $endDate=null, array $additionalParams = null) { if (empty( $endDate )) { $endDate = $startDate; } $params = $additionalParams; $params['start-date'] = date('Y-m-d', strtotime( $startDate )); $params['end-date'] = date('Y-m-d', strtotime( $endDate )); $params['ids'] = self::$_reportID; try { $result = self::$_wrapper->fetchItems( $params ); } catch(Exception $e) { error_log('Exception: ' . $e->getMessage()); throw $e; } $dimensions = array(); foreach ($result as $entry) { $extensions = $entry -> getExtensionElements(); $attrs = array(); foreach ($extensions as $extension) { $attributes = $extension -> getExtensionAttributes(); $attrs[ $extension->rootElement ] = $attributes; $value = $attributes[ 'value' ][ 'value' ]; ${$extension -> rootElement} = $value; } if (empty($dimension)) { $dimension = null; } $dimensions[ $dimension ] = $metric; } return $dimensions; } /** * Returns amount of unique visitors in the given time period * @param string $fromDate * @param string $toDate * @return int */ public function count( $fromDate, $toDate = null) { $params = array( 'metrics' => 'ga:visits', ); if (!empty($this->_page)) { $params['filters'] = 'ga:pagePath=~/'.$this->_page.'/*'; } return $this->fetchValue( $fromDate, $toDate, $params ); } }
google.analytics.email = your@email.com google.analytics.password = YourPassword google.analytics.report.id = ga:12345
<?php //yes, it's an empty class since everything is defined in the abstract class class Stats_Google_Analytics_Visit_Total extends Stats_Google_Analytics_Abstract { } $startDate = '2014-01-01'; $endDate = '2015-10-15'; $tracker = new Stats_Google_Analytics_Visit_Total; echo $tracker->count( $startDate, $endDate );
<?php class Stats_Google_Analytics_Visit_Admin extends Stats_Google_Analytics_Abstract { protected $_page = 'admin'; } $tracker = new Stats_Google_Analytics_Visit_Admin; echo $tracker->count($startDate, $endDate);
INTERESTING PAGES IN FACEBOOK
We use Facebook to share our toughs(whats on your mind??) , there are many important pages by Facebook to be noted.
# News room home page: link
# KeyFacts: link
The Key factor mentions recent statistics, about the company, no.of employees, Board members and Head quarters for Facebook. It displays all the statistics about the Facebook report and statistical data til last quarter of the year.
# Products of Facebook: link
Th product of Facebook is been listed in product page these ‘n’ number of product is been used by Facebook. The tab is been included with products, timelines, group research, photo , videos and messenger.
#Photos and Broll: link
The Important photos events of particulars is been made album and released in this link.
# Developer Page in Facebook: link
If you are keen interested in developing an apps for Facebook this page is right for you. And get more announcements in this page by the Facebook CEO on the right corner (connected to Facebook blog).
# Carrier @ Facebook: Link
Search job in Facebook based on countries and job search. This page is really interesting to learn about the responsibilities and requirements on described job position.
# Help @ Facebook: Link
Bluetooth Paper Airplane Kit Is Ridiculously Cool
Flying paper airplanes has never been this fun. PowerUp Toys’ latest product lets you add a new element of interactivity to the old-fashioned paper airplane by attaching a battery-powered propeller and rudder, which can be controlled using an iPhone app via Bluetooth. The PowerUp 3.0 Smartphone Controlled Paper Airplane Kit, currently being funded via a Kickstarter campaign, is due to hit the market in May for $50.
The PowerUp 3.0 Smartphone Controlled Paper Airplane Kit is the company’s third generation of this device; previous models lacked an accompanying app. The way it works is pretty simple: First, fold a paper airplane using the template provided. Next, attach the PowerUp module to the plane, and pair it with your phone. Then, it’s off into the wild blue yonder!
Kit Adds Propeller Power to Paper Airplane
The battery inside the PowerUp 3.0 will provide about 10 minutes of flying time, and recharges via microUSB in about 15 minutes. The app itself is pretty ingenious. Would-be pilots steer the airplane by tilting the iPhone left or right, and a gimbal shows you how level the plane is relative to the horizon. A throttle in the middle lets you adjust the speed of the propeller, and three gauges show the power output, battery life remaining, and signal strength between the plane and your phone.
In our brief hands-on time, the plane was very zippy; it flew past us in the blink of an eye. PowerUp says you’ll be able to control the plane to a range of about 60 yards. When it’s released in May, we’re certainly looking forward to taking it for a flight or two.
Get more from LAPTOP
Top 10 Tech Trends of 2014
Sony Xperia Z1s Wows with 20-MP Camera
12 Gadgets Ahead of Their Time
This article originally appeared on LAPTOP, a TechMediaNetwork company. Copyright 2014, all rights reserved. This material may not be published, broadcast, rewritten or redistributed.
Jilla: Trailer
In early 2013 when news of Vijay and Mohanlal coming together for the first time in Jilla was announced it created a huge frenzy among fans of both these popular actors. Considering that Vijay is also extremely popular in Kerala this sounded like a total winning combination. The people responsible for making this come true are writer-director R.T.Neason and producer R.B.Choudary. For the veteran R.B.Choudary, Jilla marks his 85th film as producer in 25 years of experience. R.T.Neason who had earlier directed the film Muruga (2007) had assisted Jayam Raja on Velayudham where he got the opportunity to work with Vijay earlier. Jilla is touted as a total mass Madurai based entertainer where apparently Mohanlal features as the father of Vijay. The rest of the star cast includes Kajal Aggarwal, Soori, Mahat Raghavendra, Niveda Thomas, Pradeep Rawat etc. D.Imman‘s music has already become popular and the film has Ganesh Rajavelu as DOP and Don Max as editor.
It is indeed strange that for a film of this magnitude the trailer has just been unveiled 2 days before the release of the film. Jilla is vying for Pongal honours along with Ajith’s Veeram and both these films will release on 10th January. The trailer lives up to the image being projected about the film though why Mohanlal doesn’t get any dialogue in the same is a big mystery. Lets see whether Jilla lives up to its hype. Here’s the trailer of the film
2014 – FIRST PLUGIN ” WP Property Sale/Rent “
WP Property Sale/Rent for creating and managing real estate agents and people who are willing to list their property. https://selvabalaji.wordpress.com
Great options to list properties on your own WordPress website. WP Property Sale/Rent for creating and managing highly real estate agents and people who are willing to list their property listing on their own WordPress site.
WP Property Sale/Rent is the WordPress plugin for creating and managing highly customization real estate, property management, and completely custom listings showcase websites. Turn your WordPress powered site into a real estate site. Create listings, upload images, display a dynamic map, slideshow, agent information,Google Maps, Send A Inquiry to agents Directly, Image slide show, and much more.
As always, integration is seamless, the system is expandable and customization, functionality is rich, and we are here to support it.
If you are looking to build a site where you can list property for sale or rent, this is the plugin you need.
Features
- Add Property
- Add multiple property photos
- Advanced property search
- jQuery slider in property detailed view
- property options so you can add any type of property listing
- multiple categories
- Property search widget.
- Advanced search widget and custom page.
- Custom property listing page
- Custom manage-able property types
- Manage the number of property listing per page
Advanced property search page
- Create a normal page in your wordpress website
- Editor of the page, add this short code [PROPERTY_ADVANCED_SEARCH]
Welcome New Year 2014
Hello Guys,
Wishes to everyone who online on this post.
Wish you all the best to you and your family for your bright future.
This year may come the biggest joy and joy so that you can’t explain that.
You all are invited here to wish Happy New Year 2014 each other.
You can easily wish each other just commenting below.
You have a big opportunity to start the new work today, you can enjoy yourself and motivate yourself by opting the following positive lines: –
Say to yourself every morning:
-Today is going to be a great day!
-I can handle more than I think I can!
-Things don’t get better by worrying about them!
-I can be satisfied if I try to do my best!
-There is always something to be happy about!
-I’m going to make someone happy today!
-It’s not good to be down!
-We always have an option!
-Life is great, make the most of it!
BE AN Optimist!
Best Wishes to all
Balt (selvabalaji)
Ajax WordPress Login
We are happy to release “Ajax WordPress Login” a new WordPress This plugin allow you to display login widget in your WordPress. It’s useful for sites that would like to avoid the normal WordPress login pages. Login uses AJAX and jQuery effects.
http://wordpress.org/plugins/wp-ajax-login/
Features:
- Login Form.
- Register Form.
- Forgot Password Form.
- Error handling without refreshing your screen.
- Optional ReCaptcha verification for login and register forms.
- Control forgotten password request.
- Work with forced SSL logins.
- Specific option to show link to profile page and dashboard.
- Customizable redirect URL after log in or log out.
- Option to show or hide avatar and change it size.
- It’s responsive!
How to avoid being one of the “73%” of WordPress sites vulnerable to attack
A recent investigation has concluded that 73% of the 40,000 most popular websites that use WordPress software are vulnerable to attack.
The research, carried out by vulnerability researchers EnableSecurity and reported by WordPress security outfit WP WhiteSecurity, was conducted between Sept 12 and Sept 15 shortly after the release of the WordPress 3.6.1Maintenance and Security Release.
WordPress is the most popular blogging and Content Management System (CMS) in the world and, according to WordPress founder Matt Mullenweg, it powers one in five of all the world’s websites.
As with any research of this kind we should apply a big pinch of salt.
In fact in this case we don’t need to supply our own salt because the research actually comes self-salted thanks to this hilarious rider at the bottom of the article:
The tools used for this research are still being developed therefore some statistics might not be accurate.
You have been warned.
So if the numbers might be wrong why am I bothering to reproduce them here? Because (in my opinion) they are probably true (well true-ish) and even if they aren’t they still highlight an important security issue which isn’t diminished one iota by their sketchiness.
As long as we go into this with our eyes open we’ll be fine.
The research did no more than set out to discover what versions of the popular CMS are in use by the top 1 million websites.
This singular focus is with good reason: the first rule of WordPress security is always run the latest version of WordPress.
If you aren’t running the very latest version of WordPress then the chances are you are running a version with multiple known vulnerabilities – bugs that criminals can use to gain a foothold on your system.
EnableSecurity’s scan of Alexa’s Top 1,000,000 discovered that 41,106 websites were running WordPress, a little over 4%.
They then determined that of those websites at least 30,823 were running versions of WordPress that have known vulnerabilities. From this they concluded that
73.2% of the most popular WordPress installations are vulnerable to vulnerabilities which can be detected using free automated tools.
Add your salt now.
Even if we take it as read that 73% of the sites are running vulnerable versions of WordPress we still can’t conclude that 73% are in fact vulnerable. There are common security strategies that the researchers didn’t test for, not least using a Web Application Firewall (WAF) that can put up a protective shield in front of vulnerable websites.
By the way, the first rule of WordPress security, always run the latest version of WordPress, holds true even for sites running behind a WAF. They are not mutually exclusive and should be considered as separate parts of a strategy of defence in depth.
In addition to skipping over reasons why the 73% might be a little on the high side the study also leaps acrobatically past a totally different set of reasons why it might be a bit on the low side.
The limited scope of the research meant that it didn’t account for other forms of automated attacks against WordPress installs such as targeting weak passwords or flaws in popular plugins.
As diaphanous as the study’s precision might be, the broad thrust is correct and it contains a useful message; users of WordPress need to be diligent about security because they are using software that is popular enough to be of interest to criminals who conduct large-scale automated attacks.
10 ways to keep your WordPress site secure
If you are running a website that uses WordPress here are 10 suggestions to help you avoid ending up in the 70% (or whatever large number it is) of vulnerable sites.
- Always run the very latest version of WordPress
- Always run the very latest versions of your plugins and themes
- Be conservative in your selection of plugins and themes
- Delete the admin user and remove unused plugins, themes and users
- Make sure every user has their own strong password
- Enable two factor authentication for all your users
- Force both logins and admin access to use HTTPS
- Generate complex secret keys for your wp-config.php file
- Consider hosting with a dedicated WordPress hosting company
- Put a Web Application Firewall in front of your website
For more on the subject of patching WordPress have a listen to Sophos Security Chet Chat 117, the latest 15 minute installment in our regular podcast series.
TBS 5th Annual Day Celebration – A walk-through
It all started with a set of big ideas on everyone’s mind. A team was setup to discuss on the activities and arrangements for the celebration. The team members were Kalpana, Diviya, Sharmi, Balaji.
The initial discussion was done few weeks before, but the approval from management was received just 4 days before. We had a very short time to carry out the discussions on arrangements as we were done with our Company outing just a few days before. The team request was
- Sweet distribution
- Cultural activities
- Singing/dancing/skit/mimicry/miming
- Games
- Full day celebration
- Awarding
- Decorations
- Photo hanging
- Logo based gift
- Decoration craft
- Individual own décor items
- Cake cutting
- Theme based dress code (5th year – Wood based could be brown shades)
And the approval was Now we don’t want to give T-Shirt and also we have very very short time
- Morning Pooja with directors + all our team.
- Sweet Distribution
- Decoration and Cultural
- Award Giving
- Lunch.
DAY: 02.12.2013 – The Anniversary Day Eve
It was our tea break in the evening and we requested all our team members to accompany in the decoration task. It started by 4.30 PM in the evening.
Few started pumping the balloons, nearly 250 nos. | |
Few started sticking papers to make thoranam | |
While others drawing the number 5 to hangout showing the completion of 5 successful years, few others were slicing the pictures of individuals of the team to show off everyone that they are the backbone of this growth. | |
Few tied them on the wall. Few tied flowersIt was raining and hot bread bajji were served to enthu the team. The team was working out crossing 9.00 PM and this is how the decorations came out. | |
DAY: 03.12.2013 – The Anniversary Day
The day started with high level of curiosity. Morning pooja preparations were started. Decorated lamps, flower garlands for company name board, door entrance, rangoli with flowers. The ambience was filled with colorful paper decorations and flower decorations
The beautiful gifts made by Velmurugan and Kalaiarasan which decorates our office added more beauty
How To Show Author Profile Image In Google Search
Google allows authors to connect their articles to corresponding Google+ profiles. When such articles are shown in Google search results, the author’s profile image is shown along with it.
Researches suggest that search results with profile images have better Click Through Rates(CTR) than normal ones. Let us see how we can implement this feature in our website.
Step 1: Take the page which you wish to attach your profile image. Add a link to your Google+ page. The link looks like https://plus.google.com/+selvabalaji. Here is general syntax.
<a href=”[profile_url]?rel=author”>Link Text</a>
You have to append ?rel=author to the link. In this page, you can find live demo in the author box below. There I have placed a link like this.
Understanding Regular Expression
Regular expression is the most important part in form validations and it is widely used for search, replace and web crawling systems. If you want to write a selector engine (used to find elements in a DOM), it should be possible with Regular Expressions. In this post we explained few tips that how to understand and write the Regular Expression in simple way.
Will discuss about basic regular expression in three stages.
Stage 1
Symbol Explanation
^ Start of string
$ End of string
. Any single character
+ One or more character
\ Escape Special characters
? Zero or more characters
Input exactly match with “abc”
var A = /^abc$/;
Input start with “abc”
var B = /^abc/;
Input end with “abc”
var C = /abc$/;
Input “abc” and one character allowed Eg. abcx
var D = /^abc.$/;
Input “abc” and more than one character allowed Eg. abcxy
var E = /^abc.+$/;
Input exactly match with “abc.def”, cause (.) escaped
var F = /^abc\.def$/;
Passes any characters followed or not by “abc” Eg. abcxyz12….
var G = /^abc.+?$/
Stage 2
Char Group Explanation
[abc] Should match any single of character
[^abc] Should not match any single character
[a-zA-Z0-9] Characters range lowercase a-z, uppercase A-Z and numbers
[a-z-._] Match against character range lowercase a-z and ._- special chats
(.*?) Capture everything enclosed with brackets
(com|info) Input should be “com” or “info”
{2} Exactly two characters
{2,3} Minimum 2 characters and Maximum 3 characters
{2,} More than 2 characters
Put together all in one URL validation.
var URL = /^(http|https|ftp):\/\/(www+\.)?[a-zA-Z0-9]+\.([a-zA-Z]{2,4})\/?/;
URL.test(“http://selvabalaji.com); // pass
URL.test(“http://www.selvabalaji.com”); // pass
URL.test(“https://selvabalaji.com/”); // pass
URL.test(“http://selvabalaji.com/index.php”); // pass
Stage 3
Short Form Equivalent Explanation
\d [0-9] Any numbers
\D [^0-9] Any non-digits
\w [a-zA-Z0-9_] Characters,numbers and underscore
\W [^a-zA-Z0-9_] Except any characters, numbers and underscore
\s – White space character
\S – Non white space character
var number = /^(\+\d{2,4})?\s?(\d{10})$/; // validating phone numbernumber.test(1111111111); //pass
number.test(+111111111111); //pass
number.test(+11 1111111111); //pass
number.test(11111111); //Fail
Magento’s Default Files and Folders Structure
This part of the Magento tutorial will provide detailed information regarding the Magento’s default files and folders structure.
You will learn more about the functions of main files and folders included in the Magento package.
The files and folders included in the main directory are as follows:
• .htaccess – contains mod_rewrite rules, which are essential for the Search Engine Friendly URLs. There you can also find standard web server and php directives that can improve your web site performance.
• .htaccess.sample – this is a backup of the .htaccess file. If you modify .htaccess it can be used in order to get the default settings.
• 404 (directory) – The folder stores the default 404 template and skin for Magento.
• app (directory) – This folder contains the modules, themes, configuration and translation files. Also there are the template files for the default administrationtheme and the installation.
• cron.php – a Cron Job should be set for this file. Executing of the file on a defined time period will ensure that the complicated Magento caching system will not affect the web site performance.
• downloader (directory) – This is the storage of the web downloader files. They are used for the installation and upgrade of Magento through your browser.
• favicon.ico – the default favicon for Magento. A small icon that is shown in the browser’s tool bar once your web site is loaded.
• index.php – the main index file for Magento.
• index.php.sample – A backup of the default index file. It can be used to revert the changes in a case of a index.php modification.
• js (directory) – Contains the pre-compiled libraries of the JavaScript code included in Magento.
• lib (directory) – The Magento core code is located in this folder. It contains the software’s PHP libraries.
• LICENSE_AFL.txt – The Academic Free License under which the Magento software is distributed.
• LICENSE.txt – The Open Software License under which the Magento software is distributed.
• media (directory) – This is the storage of the Magento media files – images out of the box, generated thumbnails, uploaded products images. It is also used as a container for importing images through the mass import/export tools.
• mage (in versions older than 1.4.2.0 this tool was called pear)- The file controls the automatic update through the downloader script and SSH. It handles the update of each individual Magento module.
• php.ini.sample – This file contains sample php directives that can be used in order to modify your PHP setup. If you want to alter the default setup edit the file and then rename it to php.ini.
• pkginfo (directory) – Contains files with information regarding the modules upgrades’ changes.
• report (directory) – This folder contains the skin of the Magento errors reports.
• skin (directory) – There are located the themes files – images, JavaScript files, CSS files, Flash files. Also there can be found the skin files for the installation of skins and administration templates.
• var (directory) – Cache, sessions, database backups, data exports and cached error reports can be found in this directory.
If you want to modify an existing template or set a new one you should know that the template files are separated in 3 folders:
• /app/design/frontend/default/YOUR_TEMPLATE_NAME/layout/ – Contains the .xml files that define which modules should be called by the template files and loaded in defined areas on the site.
• /app/design/frontend/default/YOUR_TEMPLATE_NAME/template/ – Contains files and subfolders that structure the final output for the users using the functions located in the layout/ folder.
• /skin/frontend/default/YOUR_TEMPLATE_NAME/ – Contains the CSS, images, JavaScript and Flash files related to the template.
20 dead as magnitude-7.1 earthquake hits the Philippines
A magnitude-7.1 earthquake struck central Philippines on Tuesday, leaving at least 20 people dead and rattling many who were celebrating a religious holiday.
The quake, which struck early in the morning, crumbled a number of buildings and sent panicked people streaming into the streets, witnesses said.
At least 15 were killed in the city of Cebu, four were killed in the province of Bohol and one died in the province of Siquijor, said Maj. Reynaldo Balido,a spokesman for the Philippines Office of Civil Defense.
Most of those killed were hit by falling rubble, the Philippines News Agency reported.
7.1 earthquake rocks Philippines
At least 33 people were missing, and authorities were checking into reports of people trapped in collapsed buildings in Cebu and Bohol, the agency reported.
The quake was centered about 385 miles (619 kilometers) south-southeast of Manila, near Catigbian, and its depth was 12 miles (20 kilometers), according to the U.S. Geological Survey said.
Maryann Zamora, a communications specialist with the charity World Vision, reported seeing glass and concrete in the streets of Cebu City, about 37 miles (60 kilometers) north of the epicenter.
“Right now we are in the streets because it is unsafe to be inside,” she said by phone, her voice shaking as one of more than 10 aftershocks hit. “Tell everyone to pray for us.”
Tuesday was a national holiday — the beginning of the Muslim festival of Eid ul Adha.
There was no widespread threat of a tsunami, the Pacific Tsunami Warning Center said, but it warned that earthquakes this large can sometimes cause tsunamis within 61 miles (100 kilometers) of the epicenter.
Catigbian, which has a population of 23,000, is in the province of Bohol.
Tourist Robert Michael Poole said he was riding a bike in Bohol when the earthquake struck and cracked the road right in front of him.
“It was very strong,” Poole said. “I live in Tokyo. I am used to earthquakes. But this one was very strong. It shocked a lot of people here.”
Poole said he was able to move around and document some of the destruction, including a giant church that was decimated.
“Lucky thing is that it is a holiday here today and it happened at a time when nobody was in the church,” Poole said
Google Web Designer
What is Google Web Designer?
When you create advertising creatives with Google Web Designer, you can use a library of components that lets you add image galleries, videos, ad network tools, and more.
Google Web Designer’s Code view lets you create CSS, JavaScript, and XML files, using syntax highlighting and code autocompletion to make your code easier to write, with fewer errors.
System requirements
Minimum | Recommended | |
---|---|---|
Operating system | Windows® 7/ Windows 8 Mac® OS X 10.7.x or later |
Windows® 7/ Windows 8 Mac® OS X 10.7.x or later |
Processor | Intel Pentium® 4 or AMD Athlon 64 processor | Intel Pentium® 4 or AMD Athlon 64 processor |
Memory | 2 GB RAM | 4 GB RAM |
Screen resolution | 1280×1024 | 1920×1080 |
Application window size | 1024×768 minimum | 1024×768 or larger |
Internet connection | Required for initial use after download, for updates, and for help access. | Required for initial use after download, for updates, and for help access. |
The Web Designer interface
Google Web Designer has a large central area for building your projects and editing code. The central area is surrounded by a tool bar, a tool options bar, a timeline, and a set of panels that let you do several things, including modify elements, add components, and add events.
The workspace
In the center of the Google Web Designer interface is the workspace. In Design mode, the workspace shows your images, text, and other elements visually, just as they will be displayed as they will appear in a browser. In Code view the workspace shows your code with appropriate color coding and formatting.
View bar
The view bar lets you choose between Design and Code mode, lets you preview your HTML and publish your ad, and lets you change the zoom level and which page you’re working on.
Tools
The tool bar contains tools for creating and manipulating elements on the stage and in the workspace. This includes tools for creating text and simple page elements, color selection tools, and 3D tools.
Tool | Description |
---|---|
Selection tool |
Select and move objects in the workspace |
3D object rotate tool |
Rotate objects in three dimensions |
3D object translate tool |
Move objects in three space |
Tag tool |
Create HTML tags of any type by clicking and dragging on the stage |
Text tool |
Add text |
Shape tool |
Create elementary shapes |
Paint bucket tool |
Modify the color of elements in your project |
Ink bottle tool |
Modify the line color and stroke of elements in your project |
3D stage rotate tool |
Change your 3D view of the project |
Hand tool |
Change your view of the workarea |
Zoom tool |
Zoom in and out on your creative |
Tool options
The tool options bar shows options for the currently selected tool. For example, when the text tool is selected, the tool options bar shows font and text layout options.
Timeline
The timeline lets you create animations using keyframes. In Quick mode, the animation is created scene by scene; in Advanced mode you can animate each element separately.
Panels
The panels section of the interface contains the Color, Properties, Components, Events and CSS panels. Panels can be minimized or dragged to a different position in the panels section.
Open source components and licenses
Included Software and Licenses
The following open source software is distributed and is provided under other licenses and/or has source available from other locations.
Package name | License |
---|---|
Webfont | Apache license 2.0 |
LESS – Leaner CSS v1.3.3 | Apache license 2.0 |
GL-Matrix | The zlib/libpng license |
jsbeautify | MIT license |
uglifyjs | BSD license |
Codemirror 2 | MIT license |
Chromium Embedded Framework | BSD Simplified license |
NSIS (Nullsoft Scriptable Install System) | zlib/libpng license, bzip2 license, and Common Public License version 1.0 |
Zip Utils | info-ZIP license, zlib license |
JSON CPP | MIT license |
Google Fonts | Open source font licensing |
7 Reasons Why WordPress Made PHP Popular, not PHP Frameworks – PHP Classes blog
7 Reasons Why WordPress Made PHP Popular, not PHP Frameworks
1. WordPress is the Most Popular PHP Application
Counting the number of search results on several popular search sites may seem to be a way to measure the relative popularity of a technology, language, application or a product.
However, that way does not seem to be very reliable method. When a search site changes its algorithms, you may see changes in the results that really do not have to do so much changes in the popularity of those technologies.
A more reliable way to measure the relative popularity of a technology is to resort to Google Trends. This is a site that Google provides to show the evolution of the relative number of searches done by given keywords over time.
As you may see in the following Google Trends chart, WordPress is much more popular than other PHP applications like Joomla, Drupal, Magento (which is Zend Framework based).
Google Trends: WordPress, Joomla, Drupal, Magento, Zend Framework
2. WordPress alone is much more popular than any PHP framework
Google Trends: WordPress, Zend Framework, Symfony PHP, CakePHP
3. WordPress does not use third-party PHP frameworks
WordPress has been using some third-party components but they are not really full-stack frameworks. This implies WordPress never needed a full-stack framework to be built. The use of such frameworks would hardly make a difference to its popularity.
4. Applications make technologies popular, not components
In the chart above you may notice that Magento is much more popular than Zend Framework. Magento is built on Zend Framework. This seems to imply that what makes applications popular is whether they solve users problems, not the components that they are built on.
WordPress is also popular because it is useful to many users. When users need to host a WordPress installation they need to seek a PHP hosting service. So they know at least superficially what is PHP and that they need PHP hosting.
This means that WordPress helped making PHP even more popular. The more installations there are of WordPress, the more PHP becomes popular.
5. The Extensible WordPress plugin ecosystem
One of the most important reasons that made WordPress popular is the myriad of plugins that were developed to provide additional features.
There are WordPress plugins for practically everything, including those that can turn it into other applications besides being a blog system. There are plugins that can turn it into forums, e-commerce sites, trouble ticket systems, etc., anything.
If WordPress as blog application was already popular, it became even more popular as a platform that can be turned into any type of application.
6. Non-Programmers develop in PHP just because of WordPress
If you need a site that requires certain features that WordPress does not have, you can develop new plugins to extend WordPress further and taylor it to your needs.
Many of the WordPress users were not really programmers. They started programming because they needed to have features in WordPress for which there was no suitable plugin providing them.
This means that many non-programmers had to learn PHP to be able to develop new WordPress plugins. That helped making PHP more popular even among non-programmers.
7. Pragmatism is better than Purism
In sum I could say that WordPress and PHP in general became popular because they can be used to address practical needs of many users.
Neither WordPress nor PHP are examples of software projects that are technically beautiful, are consistent, always follow well-thought project plans and adopt praised design patterns.
But that does not matter. They were created by people with a very pragmatic sense. They were focused on solving real world needs.
As for many of the PHP frameworks, they seem to have been developed in a totally different planet. They are often developed by purist people that seem to be more concerned with the number of design patterns they employ in the framework components than with being pragmatic and solve real PHP application needs.
To make it worse, many PHP frameworks systematically adopt practices of other frameworks developed for other languages. That raises totally unnecessary difficulties for PHP developers that try to use them.
One example of this problem is the configuration formats. In the Java world it is still usual to use XML as format for storing configuration values. XML is a portable format that can be written by humans. It was certainly a progress when compared with binary formats used to serialize data structures by C++ applications in the past.
This was a fine solution in the year 2000 but the fact is that XML is a drag. You need to keep opening and closing tags for every value. Sometimes values are stored as tag attributes, other times as tag values. It is often a pain to use.
Then Ruby On Rails came with the promise to get rid of some of the pains of the Java world habits. Instead of using XML, they decided to use YAML, which is a simplified markup language. It is simpler than XML but it is yet another format that you need to learn.
Several PHP frameworks were built copying Ruby on Rails practices, including the use of YAML as configuration format. Many years have passed and they still used YAML.
If you are a PHP developer, the format you are most familiar with is PHP. Why don’t these PHP frameworks make the lives of PHP developers better and adopt PHP scripts as configuration formats? PHP scripts can even be cached and so be loaded much faster.
In the worst case, if you need to use a more portable format, why these PHP frameworks do not use the JSON format to store configuration values? JSON is JavaScript. Every PHP developer knows JavaScript. It is only natural to adopt JSON nowadays.
Unfortunately many PHP frameworks as still stuck with formats that are not a natural choice for PHP developers, like XML, YAML or even INI (a legacy format of the Windows world).
I always get this feeling that PHP frameworks are not meant to please PHP developers. They seem to have been thought to please Java or Ruby developers. To make it worse, many of the newer PHP frameworks keep copying the same mistakes of older frameworks.
Obviously there are exceptions. There are indeed some PHP frameworks that were developed in a more pragmatic way for PHP developers. You can easily learn them without having to learn about Java or Ruby frameworks first.
Unfortunately those seem to not be the PHP frameworks that get more visibility. Maybe it is time for the PHP framework developers rethink their approach and think more about the PHP developers than about developers of other languages.
Shall I develop My Sites with WordPress or with a PHP Framework?
One frequent dilemma that PHP developers have is whether they should develop sites on top of WordPress or develop them from scratch based on a existing PHP framework?
This is a tough call. If the site is a blog, it may be an obvious choice to create it based on WordPress and save lots of development time. If the site is more than a blog but there are plugins for the functionality you need, WordPress may still be the best option.
Now if your site is very different than a blog, the amount of code that you would reuse from WordPress would be much less when compared to the whole project size. In that case, it may be better to start the development of the site from scratch.
If you still need a blog, you can use WordPress in a separate domain or a separate directory of your site.
For the bulk of the functionality you need to develop, you can use a existing PHP framework to gain some development time, or use your own framework if you have a good capable framework to address your needs.
Personally I tend to go for the last option. I can have more control of my project, but I am well aware that this route can take me more time to develop and fix eventual bugs in the code.
Frameworks are good when they enforce a productive method
Despite of the problems described above that many PHP frameworks have, for some people adopting a framework is probably the best solution, especially if it is what is called a “opinionated framework”.
That is what are called frameworks that impose a certain development methodology. This means that there is only one way to develop applications with those frameworks.
The reason why this is a good solution for some developers is because they do not have a well defined development methodology. This means that they do not know how to start, how to progress and how to deploy an application, unless somebody tells them how to do it.
Since opinionated frameworks impose a certain development method, the developers learn how to develop their applications following the methodology imposed by the framework.
One example of opinionated framework is Ruby on Rails. PHP frameworks that are inspired in Ruby On Rails tend to be also opinionated.
Opinions are not Facts
Well this article is just about my opinion and my experience of as developer that has been creating software for several decades now.
But opinions are just that, points of view of specific people. Expressing an opinion does not mean it is the only way to interpret the facts.
Just like the Tiobe Index people expressed their opinion stating that PHP popularity growth was due to Zend Framework 2 release last year, other people may express a different interpretation of the facts.
What do you think? Do you have a different opinion about what was discussed in this article? Post a comment to tell what you think.
Recent Comments