Author: hasin

Building services like FriendFeed using PHP – Part 1

Friendfeed is an excellent life streaming service aggregating all your feeds from different service providers, compile them together, build a social network among your known people and finally deliver all these feeds as a mashup. As a result you can immediately track activities of your friends on all the different service they use (like jaiku, twitter, flickr) and stay up-to-date. Hats off to the developers of FriendFeed for delivering such a nice application to us.

In this blog post I will try to focus on how to develop such a service like Friendfeed using PHP and JS and how to scale such a huge load successfully. Previously I’d also written another article focusing “How to develop services like SpringLoops using PHP“. The complete article will be delivered in multiple installments and in current installment, I will focus on Photo sharing services used by friendfeed.

Area to focus
1. Services to be supported
2. Update discovery
3. Parsing the feeds
4. Storing the data
5. Scaling

FriendFeed parses feeds from a total of 35 popular services from around the web 😉 – lets have a look at them one by one and I will give you idea about the access points of these services. Though Not all of them are feed, so I will try to focus those services as well to give you a basic idea.

Service 1 : Flickr
Usable PHP Library: PHPFlickr

Flickr is an excellent photo sharing services under the banner of Yahoo. Friendfeed parses all the photo from a user and also the list of his/her favorite photos. Given an username you can easily find the Flickr ID like (76536911@N00)of that user and once you got it, here is the access points for list of public photos and favorites

List of photos
http://api.flickr.com/services/feeds/photos_public.gne?id=<user’s flickr id>&lang=en-us&format=rss_200
example: http://api.flickr.com/services/feeds/photos_public.gne?id=76536911@N00&lang=en-us&format=rss_200

List of favorites
http://api.flickr.com/services/feeds/photos_faves.gne?nsid=<user’s flickr id>&lang=en-us&format=rss_200
example:http://api.flickr.com/services/feeds/photos_faves.gne?nsid=76536911@N00&lang=en-us&format=rss_200

Service 2: Picasa Web Album
Picasa is another photo sharing service under the banner of the Giant, Google. Given a picasa user name , here are the access point of user’s public photos

List of public photos
http://picasaweb.google.com/data/feed/base/user/<picasa user name>?kind=album&alt=rss&hl=en_US&access=public
example:http://picasaweb.google.com/data/feed/base/user/countdraculla?kind=album&alt=rss&hl=en_US&access=public

Service 3: Smugmug
Here comes another photo sharing service where users can buy and sell their photos. Given a smugmug user name you can find the feed of this user’s photos

List of public photos
http://<smugmug user name>.smugmug.com/hack/feed.mg?Type=nickname&Data=Ifocus&format=rss200
example:http://ifocus.smugmug.com/hack/feed.mg?Type=nickname&Data=Ifocus&format=rss200

Service 4: Zoomr
Zoomr is another photo sharing service started in late 2005 by Kristopher Tate as a place for him to share photos with his friends and later became a public services, is currently supported by FriendFeed. And here we go with the access points 🙂

List of public photos
http://www.zooomr.com/services/feeds/public_photos/?id=<zoomr user name>&format=rss_200
example:http://www.zooomr.com/services/feeds/public_photos/?id=wolfmank&format=rss_200

In next part, I will highlight the access points of supported bookmark services and news services supported by FriendFeed 🙂 Have a nice weekend.

Setting up virtual host with mod rewrite enabled in Ubuntu Hardy Heron

Virtual host is really what the name says, a virtual environment over the top of your current web server to simulate a separate hosting environment. Using virtual host you can enable site specific features and keep your development environment totally separate from another one. For example, if you want to experiment a simple application with both mod_rewrite enabled or disabled, you can setup two virtual host with these different settings to take place. In this blog post I will show you how to set up virtual host in ubuntu hardy heron with mod_rewrite enabled.

Step 1: setup a virtual domain

open /etc/hosts and add a virtual domain with a specific local IP. In this file it contains ip and domain name separated by a space. You can also add the port using a colon with the IP. Lets assume that our virtual domain name is “ilove.php” – and It will listen to the ip “127.0.1.2”

so we will add the following line to our /etc/hosts file
127.0.1.2:80 ilove.php

now whenever you point to http://ilove.php – your browser will actually open http://127.0.1.2:80

Step 2: configure virtual host with apache
here we will configure our newly added virtual domain against apache as a virtual host, and did I forget to say, with mod_rewrite enabled 🙂

goto /etc/apache2/sites-available and create a file named “ilove.php” – I recommend to keep it the same name as your virtual domain.
sudo nano /etc/apache2/sites-available/ilove.php

write the following contents inside. but please note to create the appropriate directory before linking your virtual host with that, for example we’ve create a folder named “/home/<user name>/www/ilovephp” and linked that directory as my document root in the following configuration file.


<VirtualHost 127.0.1.2:80>
	ServerName ilove.php
	ServerAlias www.ilove.php
	ServerAdmin [email protected]
	DocumentRoot /home/<user>/www/ilovephp
	<Directory /home/<user>/www/ilovephp>
		Options FollowSymLinks
		AllowOverride All
	</Directory>

</VirtualHost>

now create a symbolic link of this file to /etc/apache2/sites-enabled directory as “ilove.php”

sudo ln -s /etc/apache2/sites-available/ilove.php /etc/apache2/sites-enabled/ilove.php

Step 3: restart apache (or reload)
simple, either one of the followings
sudo /etc/init.d/apache2 restart

or

sudo /etc/init.d/apache2 reload

or

sudo a2ensite ilove.php

and you are done! now you can point your browser to http://ilove.php

I dont give you a damn, if

You came to an interview for “PHP Developer” and you said you dont know the name “Rasmus Lerdorf”.

You’ve used MySQL for a long time and didn’t even hear about “Michael Monty”

and though “jQuery” is your “favorite JS framework” for a long time, but “John Resig, who is he?”

shame on you


The reason behind writing this blog post is I’ve interviewed some candidates recently and They dont know the name of the developers of PHP, MySQL or almost any other libraries they make their living on. They dont even know the history of these tools (History might be too much and I surely am not a Jerk, but I want them to know the name of the developer behind this)

I don’t take my time to show them the door, I am pissed off.

I have started learning Python

Yes, probably this is the third or fourth time I have said this. I am such an idiot to never find my time to learn everything. I wish one day I can really develop my web apps using both PHP and Python. And no Java (Or Ruby), nah, I am tired of that, really!

I first coded an xml parser with the help of builtin expat parser, in 2002 for coherity. Since then I fall in love with this excellent language. And once I was about-to-be-addicted into ruby but no more, I dont like it. No stereotyping, I just dont like it, period. I coded in java for a long time and tried but didnt fall into it, my bad.

I wish I wont have to write another post again titled “I have started learning Python” – wish me best of luck.

āĻ¨āĻ¸ā§āĻŸāĻžāĻ˛āĻœāĻŋā§ŸāĻž – ā§Ē

āĻ‡āĻ¸ā§āĻ•ā§āĻ˛ā§‡ āĻ­āĻ°ā§āĻ¤āĻŋ āĻšāĻŦāĻžāĻ° āĻ•āĻŋāĻ›ā§āĻĻāĻŋāĻ¨ āĻĒāĻ°ā§‡āĻ‡ āĻ†āĻŽāĻ°āĻž āĻāĻ¸ā§‡āĻ›āĻŋāĻ˛āĻžāĻŽ āĻ°āĻžāĻœāĻļāĻžāĻšā§€āĻ¤ā§‡ āĻŦā§‡ā§œāĻžāĻ¤ā§‡āĨ¤ āĻ¸āĻŦāĻžāĻ‡ āĻŽāĻŋāĻ˛ā§‡ āĻŦā§‡ā§œāĻžāĻ¨ā§‹āĻ° āĻ•āĻŋ āĻ¯ā§‡ āĻŽāĻœāĻž āĻŸā§‡āĻ° āĻĒā§‡ā§Ÿā§‡āĻ›āĻŋāĻ˛āĻžāĻŽ āĻ¸ā§‡āĻŦāĻžāĻ°āĨ¤ āĻŸā§āĻ°ā§‡āĻ¨ā§‡ āĻ•āĻ°ā§‡ āĻāĻ¸ā§‡āĻ›āĻŋāĻ˛āĻžāĻŽ āĻŽāĻ¨ā§‡ āĻ†āĻ›ā§‡ āĻ†āĻŽāĻžāĻ°āĨ¤ āĻŦāĻžāĻŦāĻžāĻ° āĻ•ā§‡āĻŽāĻ¨ āĻ¯ā§‡āĻ¨ āĻāĻ• āĻŦāĻ¨ā§āĻ§ā§ āĻĨāĻžāĻ•āĻ¤ā§‡āĻ¨ āĻ°āĻžāĻœāĻļāĻžāĻšā§€āĻ¤ā§‡, āĻ†āĻŽāĻ°āĻž āĻ—āĻŋā§Ÿā§‡ āĻ¤āĻžāĻāĻ° āĻŦāĻžāĻ¸āĻžāĻ¤ā§‡āĻ‡ āĻ‰āĻ āĻ˛āĻžāĻŽāĨ¤ āĻ°āĻžāĻœāĻļāĻžāĻšā§€āĻ° āĻŦāĻžāĻ¸āĻžāĻ—ā§āĻ˛ā§‹ āĻ•ā§‡āĻŽāĻ¨ āĻ¯ā§‡āĻ¨ āĻĒā§āĻ°ā§‹āĻ¨ā§‹ āĻĒā§āĻ°ā§‹āĻ¨ā§‹, āĻ†āĻ° āĻ¸ā§‡āĻ‡ āĻ¸āĻŽā§Ÿ āĻ¸āĻžāĻšā§‡āĻŦ āĻŦāĻžāĻœāĻžāĻ°ā§‡āĻ° āĻŦāĻžā§œā§€āĻ—ā§āĻ˛ā§‹ āĻ¯ā§‡āĻ¨ āĻ†āĻ°ā§‹ āĻĒā§āĻ°ā§‹āĻ¨ā§‹ āĻ›āĻŋāĻ˛āĨ¤ āĻāĻ•āĻ¤āĻ˛āĻž āĻŦāĻžā§œāĻŋ, āĻĻā§‹āĻ¤āĻ˛āĻžā§Ÿ āĻ›āĻžāĻĻā§‡ āĻ“āĻ āĻžāĻ° āĻĒā§āĻ¯āĻžāĻāĻšāĻžāĻ¨ā§‹ āĻāĻ•āĻŸāĻž āĻ¸āĻŋāĻā§œāĻŋ āĻ†āĻ° āĻšāĻŋāĻ˛ā§‡āĻ•ā§‹āĻ āĻž, āĻ†āĻ° āĻ‡ā§ŸāĻž āĻŽā§‹āĻŸāĻž āĻŽā§‹āĻŸāĻž āĻĻā§‡ā§ŸāĻžāĻ˛āĨ¤ āĻāĻ•āĻ•āĻĨāĻžā§Ÿ āĻ¸ā§‡āĻ‡ āĻ¸āĻŽā§Ÿ āĻŽāĻžāĻ°āĻžāĻ¤ā§āĻŽāĻ• āĻ˛ā§‡āĻ—ā§‡āĻ›āĻŋāĻ˛ āĻ†āĻŽāĻžāĻ°āĨ¤ āĻ•āĻžāĻ•āĻžāĻ° āĻ…āĻ¨ā§‡āĻ•āĻ—ā§āĻ˛ā§‹ āĻ›ā§‡āĻ˛ā§‡ āĻŽā§‡ā§Ÿā§‡āĻ° āĻŽāĻžāĻā§‡ āĻĻā§āĻ‡ āĻ›ā§‡āĻ˛ā§‡ āĻ›āĻŋāĻ˛ āĻ¨ā§‹āĻŸāĻ¨ āĻ†āĻ° āĻ›ā§‹āĻŸāĻ¨ āĻ¨āĻžāĻŽāĨ¤ āĻ›ā§‹āĻŸāĻ¨ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ†āĻŽāĻžāĻ° āĻŦā§‡āĻœāĻžā§Ÿ āĻ–āĻžāĻ¤āĻŋāĻ° āĻšā§Ÿā§‡ āĻ—ā§‡āĻ˛āĨ¤ āĻ›ā§‹āĻŸāĻ¨ā§‡āĻ° āĻŽāĻžāĻĨāĻžā§Ÿ āĻ°āĻžāĻœā§āĻ¯ā§‡āĻ° āĻ¯āĻ¤ āĻĻā§āĻˇā§āĻŸāĻžāĻŽā§€ āĻŦā§āĻĻā§āĻ§āĻŋāĨ¤ āĻ†āĻŽāĻžāĻ•ā§‡ āĻ“ āĻļāĻŋāĻ–āĻžāĻ˛ āĻ•āĻŋāĻ­āĻžāĻŦā§‡ āĻļāĻ•ā§āĻ¤ āĻ•āĻžāĻ—āĻœ āĻ­āĻžāĻāĻœ āĻ•āĻ°ā§‡ āĻ—ā§āĻ˛āĻŋ āĻŦāĻžāĻ¨āĻŋā§Ÿā§‡ āĻĻā§āĻ‡ āĻ†āĻ™ā§āĻ—ā§āĻ˛ā§‡āĻ° āĻŽāĻžāĻā§‡ āĻāĻ•āĻŸāĻž āĻšā§āĻ˛ āĻŦāĻžāĻāĻ§āĻž āĻ°āĻžāĻŦāĻžāĻ° āĻĻāĻŋā§Ÿā§‡ āĻŽāĻžāĻ°āĻž āĻ¯āĻžā§ŸāĨ¤ āĻ†āĻ° āĻ•āĻžāĻ°ā§‹ āĻ—āĻžā§Ÿā§‡ āĻ˛āĻžāĻ—āĻ˛ā§‡ āĻ¸āĻžāĻĨā§‡ āĻ¸āĻžāĻĨā§‡ āĻ–ā§āĻŦāĻ‡ āĻœā§āĻŦāĻžāĻ˛āĻž āĻ•āĻ°ā§‡āĨ¤ āĻ†āĻŽāĻ°āĻž āĻ¯āĻžāĻ•ā§‡ āĻĒāĻžāĻ‡ āĻ¤āĻžāĻ•ā§‡āĻ‡ āĻ—ā§āĻ˛āĻŋ āĻŽāĻžāĻ°āĻŋāĨ¤ āĻ¸ā§‡āĻ•āĻŋ āĻŽāĻœāĻžāĨ¤ āĻ›ā§‹āĻŸāĻ¨ āĻāĻ•āĻŦāĻžāĻ° āĻ¤āĻžāĻ° āĻŦā§œ āĻŦā§‹āĻ¨ āĻ¤ā§āĻ˛āĻŋāĻ•ā§‡ āĻ—ā§āĻ˛āĻŋ āĻŽā§‡āĻ°ā§‡ āĻ­ā§ŸāĻžāĻ¨āĻ• āĻŽāĻžāĻ° āĻ–ā§‡āĻ˛āĨ¤ āĻāĻ°āĻĒāĻ° āĻ†āĻŽāĻ°āĻž āĻāĻ•āĻŸā§ āĻ¸āĻžāĻŦāĻ§āĻžāĻ¨ā§‡ āĻ—ā§āĻ˛āĻŋ āĻŽāĻžāĻ°āĻ¤ā§‡ āĻ˛āĻžāĻ—āĻ˛āĻžāĻŽāĨ¤ āĻ˛ā§āĻ•āĻŋā§Ÿā§‡ āĻšā§āĻ°āĻŋā§Ÿā§‡, āĻ†āĻ° āĻŦā§‡āĻļāĻŋāĻ° āĻ­āĻžāĻ— āĻ¸āĻŽā§ŸāĻ‡ āĻŦāĻ•ā§āĻ¨āĻŋ āĻ–ā§‡āĻ˛ āĻ¨ā§‹āĻŸāĻ¨ āĻ†āĻ° āĻ›ā§‹āĻŸāĻ¨āĨ¤

āĻ–ā§āĻŦ āĻ›ā§‹āĻŸāĻŦā§‡āĻ˛āĻž āĻĨā§‡āĻ•ā§‡āĻ‡ āĻŽāĻž āĻ†āĻŽāĻžāĻĻā§‡āĻ°āĻ•ā§‡ āĻ°āĻŋāĻĄāĻŋāĻ‚ āĻĒā§œāĻž āĻļāĻŋāĻ–āĻžāĻ¤āĨ¤ āĻ—ā§œāĻ—ā§œ āĻ•āĻ°ā§‡ āĻĒā§œāĻ¤ā§‡ āĻ¨āĻž āĻĒāĻžāĻ°āĻ˛ā§‡ āĻ†āĻŦāĻžāĻ° āĻĒā§œāĻ¤ā§‡ āĻšāĻ¤āĨ¤ āĻŽā§āĻ–ā§‡ āĻāĻ•āĻĻāĻŽ āĻĢā§‡āĻ¨āĻž āĻ‰āĻ ā§‡ āĻ¨āĻž āĻ¯āĻžāĻ“ā§ŸāĻž āĻĒāĻ°ā§āĻ¯āĻ¨ā§āĻ¤ āĻ›āĻžā§œāĻž āĻšāĻ¤ āĻ¨āĻžāĨ¤ āĻšāĻ°āĻŽ āĻ•āĻˇā§āĻŸāĻ•āĻ° āĻāĻŦāĻ‚ āĻŦāĻŋāĻ°āĻ•ā§āĻ¤āĻŋāĻ•āĻ° āĻāĻ•āĻŸāĻž āĻŦā§āĻ¯āĻžāĻĒāĻžāĻ° āĻ›āĻŋāĻ˛ āĻāĻ‡ āĻ°āĻŋāĻĄāĻŋāĻ‚ āĻĒā§œāĻž, āĻ¤āĻŦā§‡ āĻĒāĻ°ā§‡ āĻ…āĻ¨ā§‡āĻ• āĻ•āĻžāĻœā§‡ āĻĻāĻŋā§Ÿā§‡āĻ›āĻŋāĻ˛ āĻ†āĻŽāĻžāĻ° āĻāĻ‡ āĻ—ā§œāĻ—ā§œ āĻ•āĻ°ā§‡ āĻĒā§œāĻžāĻ° āĻŦā§āĻ¯āĻžāĻĒāĻžāĻ°āĻŸāĻžāĨ¤ āĻ•ā§āĻ˛āĻžāĻ¸ā§‡ āĻ•ā§‹āĻ¨ āĻ°āĻŋāĻĄāĻŋāĻ‚ āĻ•āĻ°āĻžāĻ° āĻĻāĻ°āĻ•āĻžāĻ° āĻĨāĻžāĻ•āĻ˛ā§‡ āĻŦā§‡āĻļāĻŋāĻ° āĻ­āĻžāĻ— āĻ¸āĻŽā§Ÿ āĻ†āĻŽāĻŋ āĻĒā§‡āĻ¤āĻžāĻŽ āĻāĻ‡ āĻ­āĻžāĻ°āĨ¤ āĻˇā§‡ āĻ¯āĻžāĻ• āĻ—ā§‡, āĻŽāĻžāĻ° āĻĒā§āĻ°āĻ¸āĻ™ā§āĻ— āĻ†āĻ¸āĻ˛ āĻ…āĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻž āĻ•āĻžāĻ°āĻ¨ā§‡āĨ¤ āĻŽāĻž āĻ†āĻŽāĻžāĻ•ā§‡ āĻĻāĻžāĻŦāĻž āĻ–ā§‡āĻ˛āĻž āĻļāĻŋāĻ–āĻŋā§Ÿā§‡āĻ›āĻŋāĻ˛ āĻ…āĻ¨ā§‡āĻ• āĻ›ā§‹āĻŸāĻŦā§‡āĻ˛āĻžā§ŸāĨ¤ āĻĻā§āĻĒā§āĻ° āĻŦā§‡āĻ˛āĻž āĻ–āĻžāĻŦāĻžāĻ° āĻĒāĻ° āĻ†āĻŽāĻ°āĻž āĻŽāĻžāĻā§‡ āĻŽāĻžāĻā§‡āĻ‡ āĻĻāĻžāĻŦāĻž āĻ–ā§‡āĻ˛āĻ¤āĻžāĻŽāĨ¤

āĻ¤ā§‹ āĻ°āĻžāĻœāĻļāĻžāĻšā§€āĻ¤ā§‡ āĻ•āĻžāĻ•āĻžāĻ° āĻ¸āĻžāĻĨā§‡ āĻĻāĻžāĻŦāĻž āĻ–ā§‡āĻ˛āĻž āĻšāĻ˛ āĻ…āĻ¨ā§‡āĻ•āĨ¤ āĻ†āĻŽāĻŋ āĻ›ā§‹āĻŸ āĻŦāĻ˛ā§‡āĻ‡ āĻ•āĻžāĻ•āĻž āĻ‡āĻšā§āĻ›āĻž āĻ•āĻ°ā§‡ āĻ­ā§āĻ˛ āĻšāĻžāĻ˛ āĻĻāĻŋā§Ÿā§‡ āĻšā§‡āĻ°ā§‡ āĻ¯ā§‡āĻ¤āĨ¤ āĻ–ā§āĻŦ āĻŽāĻœāĻž āĻĒā§‡āĻ¤āĻžāĻŽ āĻ†āĻŽāĻŋ, āĻœāĻŋāĻ¤ā§‡āĻ›āĻŋ āĻ­ā§‡āĻŦā§‡āĨ¤ āĻ•āĻžāĻ•āĻžāĻ° āĻ¸āĻžāĻĨā§‡ āĻāĻ•āĻĻāĻŋāĻ¨ āĻ­ā§‹āĻ° āĻŦā§‡āĻ˛āĻž āĻ†āĻŽāĻŋ āĻŦāĻžāĻŦāĻž, āĻ¨ā§‹āĻŸāĻ¨ āĻ›ā§‹āĻŸāĻ¨ āĻ†āĻ° āĻ†āĻŽāĻžāĻ° āĻŦā§‹āĻ¨ā§‡āĻ°āĻž āĻŽāĻŋāĻ˛ā§‡ āĻŦā§‡āĻ° āĻšā§Ÿā§‡ āĻĻā§‡āĻ–āĻ˛āĻžāĻŽ āĻ•ā§Ÿā§‡āĻ•āĻœāĻ¨ āĻŽāĻŋāĻ˛ā§‡ āĻĒāĻĻā§āĻŽāĻžāĻ° āĻĒāĻžā§œā§‡ āĻšāĻžāĻāĻ¸ā§‡āĻ° āĻŦāĻŋā§Ÿā§‡ āĻĻāĻŋāĻ˛āĨ¤ āĻ–ā§āĻŦāĻ‡ āĻŽāĻœāĻž āĻĒā§‡ā§Ÿā§‡āĻ›āĻŋāĻ˛āĻžāĻŽ āĻ¸ā§‡āĻĻāĻŋāĻ¨āĨ¤

āĻ›ā§‹āĻŸāĻ¨ āĻ†āĻ° āĻ†āĻŽāĻŋ āĻŽāĻŋāĻ˛ā§‡ āĻāĻ•āĻŸāĻž āĻ­ā§ŸāĻžāĻ¨āĻ• āĻŦāĻžāĻœā§‡ āĻ•āĻžāĻœ āĻ•āĻ°āĻ›āĻŋāĻ˛āĻžāĻŽ āĻ¸ā§‡āĻŦāĻžāĻ°āĨ¤ āĻ›āĻžāĻĻā§‡āĻ° āĻ‰āĻĒāĻ°ā§‡ āĻ…āĻ¨ā§‡āĻ• āĻ–ā§‹ā§ŸāĻž (āĻ›ā§‹āĻŸ āĻ›ā§‹āĻŸ āĻ‡āĻāĻŸā§‡āĻ° āĻŸā§āĻ•āĻ°ā§‹) āĻ°āĻžāĻ–āĻž āĻ›āĻŋāĻ˛ āĻ•ā§‹āĻ¨ āĻ•āĻžāĻ°āĻ¨ā§‡āĨ¤ āĻ†āĻŽāĻŋ āĻ†āĻ° āĻ›ā§‹āĻŸāĻ¨ āĻŽāĻŋāĻ˛ā§‡ āĻ¸ā§‡āĻ—ā§āĻ˛ā§‹ āĻ†āĻ•āĻžāĻļā§‡āĻ° āĻĻāĻŋāĻ•ā§‡ āĻ›ā§‹āĻā§œāĻž āĻļā§āĻ°ā§ āĻ•āĻ°āĻ˛āĻžāĻŽ āĻāĻ•āĻĻāĻŋāĻ¨, āĻŦāĻžāĻ¸āĻžāĻ° āĻ¨āĻŋāĻšā§‡ āĻ°āĻžāĻ¸ā§āĻ¤āĻž, āĻ¸āĻŦ āĻ–ā§‹ā§ŸāĻž āĻ—āĻŋā§Ÿā§‡ āĻĒā§œāĻ¤ā§‡ āĻ˛āĻžāĻ—āĻ˛ āĻŽāĻžāĻ¨ā§āĻˇāĻœāĻ¨ā§‡āĻ° āĻ—āĻžā§Ÿā§‡āĨ¤ āĻ†āĻŽāĻ°āĻž āĻŦā§āĻ¯āĻžāĻĒāĻžāĻ°āĻŸāĻž āĻ…āĻ¤ āĻ†āĻŽāĻ˛ āĻĻā§‡āĻ‡āĻ¨āĻŋ – āĻšāĻ āĻžā§Ž āĻŦāĻŋāĻļāĻžāĻ˛ āĻāĻ• āĻļā§‹āĻ°āĻ—ā§‹āĻ˛ āĻĒā§œā§‡ āĻ—ā§‡āĻ˛, āĻ…āĻ¨ā§‡āĻ• āĻ—ā§āĻ˛ā§‹ āĻ˛ā§‹āĻ• āĻāĻ¸ā§‡ āĻ§āĻŽāĻžāĻ§āĻŽ āĻ•āĻ°ā§‡ āĻŦāĻžāĻ¸āĻžāĻ° āĻĻāĻ°āĻœāĻž āĻ§āĻžāĻ•ā§āĻ•āĻžāĻ¨ā§‹ āĻļā§āĻ°ā§ āĻ•āĻ°āĻ˛āĨ¤ āĻ†āĻŽāĻ°āĻž āĻ•ā§‡āĻŦāĻ˛ āĻŦā§āĻāĻ¤ā§‡ āĻĒā§‡āĻ°ā§‡āĻ›āĻŋ āĻ¯ā§‡ āĻ•āĻžāĻœāĻŸāĻž āĻ–ā§āĻŦāĻ‡ āĻ¸āĻŋāĻ°āĻŋā§ŸāĻžāĻ¸ āĻŸāĻžāĻ‡āĻĒā§‡āĻ° āĻ•āĻŋāĻ›ā§ āĻšā§Ÿā§‡ āĻ—ā§‡āĻ›ā§‡āĨ¤ āĻ†āĻŽāĻžāĻ° āĻ†āĻ° āĻ›ā§‹āĻŸāĻ¨ā§‡āĻ° āĻ†āĻ¤ā§āĻŽāĻžāĻ°āĻžāĻŽ āĻĒā§āĻ°āĻžā§Ÿ āĻ–āĻžāĻāĻšāĻžāĻ›āĻžā§œāĻž āĻ…āĻŦāĻ¸ā§āĻĨāĻž āĻ¤āĻ–āĻ¨āĨ¤ āĻ†āĻŽāĻ°āĻž āĻ•ā§‹āĻĨāĻžā§Ÿ āĻ—āĻŋā§Ÿā§‡ āĻ¯ā§‡āĻ¨ āĻ˛ā§āĻ•āĻŋā§Ÿā§‡ āĻĒā§œā§‡āĻ›āĻŋāĻ˛āĻžāĻŽāĨ¤ āĻŦāĻžāĻ¸āĻžāĻ° āĻŦā§œāĻ°āĻž āĻ¸āĻŦāĻžāĻ‡ āĻŦāĻžāĻ‡āĻ°ā§‡ āĻ—āĻŋā§Ÿā§‡ āĻŽāĻžāĻ¨ā§āĻˇāĻœāĻ¨āĻ•ā§‡ āĻ āĻžāĻ¨ā§āĻĄāĻž āĻ•āĻ°ā§‡āĻ›āĻŋāĻ˛āĨ¤

āĻāĻ° āĻ•ā§Ÿā§‡āĻ•āĻĻāĻŋāĻ¨ āĻĒāĻ°ā§‡āĻ‡ āĻ†āĻŽāĻ°āĻž āĻ†āĻŦāĻžāĻ° āĻĸāĻžāĻ•āĻžā§Ÿ āĻšāĻ˛ā§‡ āĻ†āĻ¸āĻ˛āĻžāĻŽāĨ¤ āĻ°ā§‡āĻ˛ āĻ¸ā§āĻŸā§‡āĻļāĻ¨ā§‡ āĻ†āĻŽāĻŋ āĻ†āĻ° āĻ›ā§‹āĻŸāĻ¨ āĻ•ā§‡āĻāĻĻā§‡āĻ›āĻŋāĻ˛āĻžāĻŽ āĻ…āĻ¨ā§‡āĻ•, āĻāĻ¤ āĻŽāĻœāĻžāĻ° āĻĻāĻŋāĻ¨ āĻļā§‡āĻˇ āĻšā§Ÿā§‡ āĻ—ā§‡āĻ˛ āĻ­ā§‡āĻŦā§‡āĨ¤ āĻ†āĻŽāĻŋ āĻāĻ¸āĻāĻ¸āĻ¸āĻŋ āĻĒāĻžāĻļ āĻ•āĻ°āĻžāĻ° āĻĒāĻ°āĻĒāĻ°ā§‡āĻ‡ āĻ•āĻžāĻ•āĻž āĻŽāĻžāĻ°āĻž āĻ—ā§‡āĻ˛, āĻ†āĻ° āĻ›ā§‹āĻŸāĻ¨ āĻ¨ā§‹āĻŸāĻ¨ āĻ•ā§‡āĻ‰āĻ‡ āĻĒā§œāĻžāĻļā§‹āĻ¨āĻž āĻ•āĻ°āĻ˛ āĻ¨āĻž, āĻŦā§āĻ¯āĻŦāĻ¸āĻž āĻ›āĻŋāĻ˛ āĻāĻĻā§‡āĻ° āĻĒā§āĻ°āĻ§āĻžāĻ¨ āĻĒā§‡āĻļāĻžāĨ¤ āĻ›ā§‹āĻŸāĻ¨āĻ°āĻžāĻ“ āĻĒā§œāĻžāĻļā§‹āĻ¨āĻž āĻļāĻŋāĻ•ā§‡ā§Ÿ āĻ¤ā§āĻ˛ā§‡ āĻšā§Ÿā§‡ āĻ—ā§‡āĻ˛ āĻĻā§‹āĻ•āĻžāĻ¨āĻĻāĻžāĻ°āĨ¤

10 signs you are ruining your career as a web app developer

Heh Heh, well – this is an article just highlighting some of experience in last couple of months. I am sometime too much annoyed because of the the attitude of some people, sometime I feel that they are annoyed on me. And I think I should write them down. Signs indicate that you are ruining your career

1. You’ve started implementing (or started believing in) popular (?) asshole driven development in your company (or in your team)
2. You are one of the biggest jerk who’s thinking that you are no more suitable for a “developer” position and you always want to be the PM or tech lead. LOL
3. You cannot find any topic to study this evening
4. You are so busy in development that your last blog post was about 2 or 3 months ago
5. You haven’t contributed in any single open source project yet, WTF!!
6. You are spending time to write a 7 page resume
7. You are not using any RSS aggregator (LOL)
8. You’ve never heard of any framework, nor using any
9. You’re neither member nor active in any online tech forum
10. WAMP is still the development platform for your LAMP app.

āĻ¨āĻ¸ā§āĻŸāĻžāĻ˛āĻœāĻŋā§ŸāĻž – ā§Š

āĻ¸ā§‡āĻ‡ āĻŦāĻžāĻ¸āĻž āĻŸāĻž āĻ†āĻŽāĻ°āĻž āĻŦāĻĻāĻ˛āĻŋā§Ÿā§‡ āĻšāĻ˛ā§‡ āĻ†āĻ¸āĻŋ āĻŽāĻžāĻ ā§‡āĻ° āĻĒāĻžāĻļā§‡ āĻ†āĻ°ā§‡āĻ•āĻŸāĻž āĻŦāĻžāĻ¸āĻžā§ŸāĨ¤ āĻ˜ā§āĻĒāĻšāĻŋ āĻ—āĻ˛āĻŋāĻ° āĻŽāĻžāĻā§‡ āĻāĻ• āĻ•ā§‹āĻ¨āĻžā§Ÿ āĻ›āĻŋāĻ˛ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻŦāĻžāĻ¸āĻžāĨ¤ āĻāĻ–āĻžāĻ¨ā§‡ āĻ†āĻŽāĻŋ āĻ›āĻŋāĻ˛āĻžāĻŽ āĻ•ā§āĻ˛āĻžāĻ¸ āĻĢāĻžāĻ‡āĻ­ āĻĒāĻ°ā§āĻ¯āĻ¨ā§āĻ¤āĨ¤ āĻ¸ā§‡āĻŸāĻž āĻĒāĻ°ā§‡āĻ° āĻ•āĻžāĻšāĻŋāĻ¨ā§€āĨ¤ āĻāĻ‡ āĻŦāĻžāĻ¸āĻžāĻŸāĻžāĻ° āĻ¸āĻžāĻĨā§‡ āĻ†āĻŽāĻžāĻ° āĻ…āĻ¨ā§‡āĻ• āĻ¸ā§āĻŽā§ƒāĻ¤āĻŋ āĻœā§œāĻŋā§Ÿā§‡ āĻ†āĻ›ā§‡āĨ¤

āĻŽāĻžāĻ¸ā§‡ āĻāĻ•āĻŦāĻžāĻ° āĻļā§āĻ•ā§āĻ°āĻŦāĻžāĻ°ā§‡ āĻ†āĻŽāĻŋ āĻ†āĻ° āĻŦāĻžāĻŦāĻž āĻŦā§‡āĻ° āĻšāĻ¤āĻžāĻŽ āĻšā§āĻ˛ āĻ•āĻžāĻŸāĻ¤ā§‡āĨ¤ āĻ¸ā§‡āĻ‡āĻ¸āĻŽā§Ÿ āĻ¨āĻžāĻĒāĻŋāĻ¤ āĻŽāĻžāĻŽāĻž āĻĒāĻžāĻāĻš āĻŸāĻžāĻ•āĻžā§Ÿ āĻšā§āĻ˛ āĻ•ā§‡āĻŸā§‡ āĻĻāĻŋāĻ¤āĨ¤ āĻ†āĻ° āĻāĻ‡ āĻšā§āĻ˛ āĻ•āĻžāĻŸāĻžāĻ° āĻŦā§āĻ¯āĻžāĻĒāĻžāĻ°āĻŸāĻž āĻ†āĻŽāĻžāĻ° āĻ•āĻžāĻ›ā§‡ āĻ›āĻŋāĻ˛ āĻāĻ•āĻŸāĻž āĻ…āĻ¸āĻšā§āĻ¯ āĻŦā§āĻ¯āĻžāĻĒāĻžāĻ°āĨ¤ āĻŦā§œāĻĻā§‡āĻ° āĻšā§‡ā§ŸāĻžāĻ°ā§‡āĻ° āĻĻā§āĻ‡ āĻšāĻžāĻ¤āĻ˛ā§‡āĻ° āĻ‰āĻĒāĻ°ā§‡ āĻ•āĻžāĻ ā§‡āĻ° āĻāĻ•āĻŸāĻž āĻ¤āĻ•ā§āĻ¤āĻž āĻĻāĻŋā§Ÿā§‡ āĻ¤āĻžāĻ° āĻ‰āĻĒāĻ°ā§‡ āĻ†āĻŽāĻžāĻ•ā§‡ āĻŦāĻ¸āĻžāĻ¨ā§‹ āĻšāĻ¤āĨ¤ āĻšā§āĻ˛ āĻ•āĻžāĻŸāĻžāĻ° āĻ¸āĻŽā§Ÿ āĻ¨āĻžāĻ•ā§‡ āĻŽā§āĻ–ā§‡ āĻšā§āĻ˛ āĻĸā§āĻ•ā§‡ āĻ¯ā§‡āĻ¤, āĻ‰āĻĢ, āĻ†āĻŽāĻžāĻ° āĻļā§āĻ§ā§ āĻŽāĻ¨ā§‡ āĻšāĻ¤ āĻšā§āĻ˛ āĻ¨āĻž āĻŦā§œ āĻšāĻ˛ā§‡āĻ‡ āĻ¤ā§‹ āĻšā§Ÿ – āĻ¸āĻŦāĻ¸āĻŽā§Ÿ āĻšā§āĻ˛ āĻ›ā§‹āĻŸ āĻĨāĻžāĻ•āĻ˛ā§‡ āĻ•āĻ¤ āĻ­āĻžāĻ˛ āĻšāĻ¤āĨ¤

āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻĒāĻžāĻļā§‡āĻ° āĻŦāĻžāĻ¸āĻžā§Ÿ āĻŸā§āĻŸā§āĻ˛ āĻ¨āĻžāĻŽā§‡ āĻāĻ•āĻŸāĻž āĻ›ā§‡āĻ˛ā§‡ āĻĨāĻžāĻ•āĻ¤āĨ¤ āĻāĻ¸āĻŽā§Ÿ āĻŸā§āĻŸāĻ˛ā§‡āĻ° āĻ•āĻžāĻœāĻ‡ āĻ›āĻŋāĻ˛ āĻ†āĻŽāĻžāĻ•ā§‡ āĻ¸āĻžāĻ°āĻžāĻĻāĻŋāĻ¨ āĻ•ā§āĻˇā§āĻ¯āĻžāĻĒāĻžāĻ¨ā§‹āĨ¤ āĻŦāĻžāĻ¸āĻžāĻ° āĻĒāĻžāĻļā§‡ āĻāĻ•āĻŸāĻž āĻĻā§‹āĻ•āĻžāĻ¨ā§‡ āĻ¸ā§‡āĻ‡āĻ¸āĻŽā§Ÿ āĻšāĻžāĻ° āĻ†āĻ¨āĻžā§Ÿ āĻ…āĻ¨ā§‡āĻ•āĻ—ā§āĻ˛ā§‹ āĻŸāĻŋāĻ•āĻŸāĻŋāĻ•āĻŋāĻ° āĻĄāĻŋāĻŽ (āĻ›ā§‹āĻŸ āĻ—ā§‹āĻ˛ āĻ—ā§‹āĻ˛ āĻ˛āĻœā§‡āĻ¨ā§āĻ¸) āĻĒāĻžāĻ“ā§ŸāĻž āĻ¯ā§‡āĻ¤, āĻ†āĻ° āĻŸā§āĻŸā§āĻ˛ āĻ•āĻ°āĻ¤ āĻ•āĻŋ āĻ¸ā§‡āĻ—ā§āĻ˛ā§‹ āĻ•āĻŋāĻ¨ā§‡ āĻ†āĻŽāĻžāĻ•ā§‡ āĻĻā§‡āĻ–āĻŋā§Ÿā§‡ āĻĻā§‡āĻ–āĻŋā§Ÿā§‡ āĻ–ā§‡āĻ¤āĨ¤ āĻāĻŽāĻ¨ āĻŽā§‡āĻœāĻžāĻœ āĻ–āĻžāĻ°āĻžāĻĒ āĻšāĻ¤ āĻ†āĻŽāĻžāĻ°āĨ¤ āĻŸā§āĻŸā§āĻ˛ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ†āĻŽāĻžāĻ° āĻŦāĻ¨ā§‡āĻ¨āĻŋ āĻ•āĻ–āĻ¨ā§‹āĻ‡āĨ¤ āĻŸā§āĻŸā§āĻ˛ā§‡āĻ° āĻŽāĻž āĻ›āĻŋāĻ˛ āĻ…āĻĻā§āĻ­ā§āĻ¤ āĻāĻ• āĻŽāĻšāĻŋāĻ˛āĻž, āĻ¸ā§‡ āĻŸā§āĻŸā§āĻ˛ā§‡āĻ° āĻ‰āĻĒāĻ°ā§‡ āĻ•ā§āĻˇā§‡āĻĒā§‡ āĻ—ā§‡āĻ˛ā§‡āĻ‡ āĻŸā§āĻŸā§āĻ˛ āĻ•ā§‡ āĻāĻ•āĻĻāĻŽ āĻ¨ā§āĻ¯āĻžāĻ‚āĻŸā§‹ āĻ•āĻ°ā§‡ āĻĒāĻŋāĻ˛āĻžāĻ°ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻŦā§‡āĻāĻ§ā§‡ āĻ°ā§‡āĻ–ā§‡ āĻĻāĻŋāĻ¤āĨ¤ āĻŸā§āĻŸāĻ˛ āĻ¯āĻ¤āĻ‡ āĻšāĻŋā§ŽāĻ•āĻžāĻ° āĻ•āĻ°ā§‡ āĻ•āĻžāĻāĻĻā§āĻ• āĻ¨āĻž āĻ•ā§‡āĻ¨, āĻ¤āĻžāĻ•ā§‡ āĻ›āĻžā§œāĻž āĻšāĻ¤ āĻ¨āĻžāĨ¤ āĻŦā§āĻ¯āĻžāĻĒāĻžāĻ°āĻŸāĻž āĻ¸ā§‡āĻ‡ āĻ¸āĻŽā§Ÿ āĻ†āĻŽāĻžāĻ° āĻŽāĻ¨ā§‡ āĻ…āĻ¨ā§‡āĻ•āĻĻāĻŋāĻ¨ āĻ§āĻ°ā§‡ āĻ—ā§‡āĻāĻĨā§‡ āĻ—āĻŋā§Ÿā§‡āĻ›āĻŋāĻ˛āĨ¤ āĻŸā§āĻŸā§āĻ˛ā§‡āĻ° āĻ—āĻ˛āĻž āĻĢāĻžāĻŸāĻžāĻ¨ā§‹ āĻ•āĻžāĻ¨ā§āĻ¨āĻž āĻļā§āĻ¨āĻ˛ā§‡āĻ‡ āĻŦā§‹āĻāĻž āĻ¯ā§‡āĻ¤ āĻ“āĻ° āĻŽāĻž āĻ“āĻ•ā§‡ āĻāĻ–āĻ¨ āĻŦā§‡āĻāĻ§ā§‡ āĻ°āĻžāĻ–āĻ›ā§‡āĨ¤ āĻŸā§āĻŸāĻ˛āĻ°āĻž āĻ–ā§āĻŦ āĻļā§€āĻ˜ā§āĻ°āĻ‡ āĻŦāĻžāĻ¸āĻž āĻŦāĻĻāĻ˛ āĻ•āĻ°ā§‡ āĻ•ā§‹āĻĨāĻžā§Ÿ āĻ¯ā§‡āĻ¨ āĻšāĻ˛ā§‡ āĻ¯āĻžā§ŸāĨ¤

āĻ†āĻ—ā§‡āĻ° āĻŦāĻžāĻ¸āĻžā§Ÿ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻāĻ•āĻŸāĻž āĻ•ā§āĻ•ā§āĻ° āĻ›āĻŋāĻ˛ āĻŸāĻŽāĻŋ āĻ¨āĻžāĻŽā§‡āĨ¤ āĻ†āĻŽāĻŋ āĻ†āĻ° āĻŦāĻžāĻŦāĻž āĻĒā§āĻ°āĻ¤āĻŋāĻĻāĻŋāĻ¨ āĻ¸āĻ•āĻžāĻ˛ā§‡ āĻ“āĻ•ā§‡ āĻ–āĻžāĻ“ā§ŸāĻžāĻ¤āĻžāĻŽāĨ¤ āĻŦāĻžāĻ¸āĻž āĻŦāĻĻāĻ˛ āĻ•āĻ°ā§‡ āĻ†āĻ¸āĻžāĻ° āĻĒāĻ° āĻ•ā§‡āĻ¨ āĻ¯ā§‡āĻ¨ āĻ•ā§āĻ•ā§āĻ°āĻŸāĻž āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ†āĻ¸ā§‡āĻ¨āĻŋ, āĻ¯āĻĻāĻŋāĻ“ āĻŽāĻžāĻ ā§‡āĻ° āĻāĻĒāĻžāĻļ āĻ†āĻ° āĻ“āĻĒāĻžāĻļāĨ¤ āĻļā§āĻ•ā§āĻ°āĻŦāĻžāĻ°ā§‡ āĻ†āĻŽāĻŋ āĻ†āĻ° āĻŦāĻžāĻŦāĻž āĻĒā§āĻ°āĻžā§ŸāĻ‡ āĻ•āĻŋāĻ›ā§ āĻŦāĻžāĻ¸āĻŋ āĻ°ā§āĻŸāĻŋ āĻ¨āĻŋā§Ÿā§‡ āĻ†āĻ—ā§‡āĻ° āĻĒāĻžā§œāĻžā§Ÿ āĻ—āĻŋā§Ÿā§‡ āĻŸāĻŽāĻŋāĻ•ā§‡ āĻ–ā§āĻœā§‡ āĻŦā§‡āĻ° āĻ•āĻ°āĻ¤āĻžāĻŽāĨ¤ āĻ•āĻŋāĻ›ā§āĻĻāĻŋāĻ¨ āĻĒāĻ°ā§‡ āĻŸāĻŽāĻŋāĻ“ āĻ•ā§‹āĻĨāĻžā§Ÿ āĻ¯ā§‡āĻ¨ āĻšāĻ˛ā§‡ āĻ—ā§‡āĻ˛, āĻ†āĻ° āĻĒāĻžāĻ‡āĻ¨āĻŋāĨ¤

āĻ›ā§‹āĻŸāĻŦā§‡āĻ˛āĻž āĻĨā§‡āĻ•ā§‡āĻ‡ āĻ…āĻ¨ā§‡āĻ•āĻ—ā§āĻ˛ā§‹ āĻŦā§‹āĻ¨ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻĨāĻžāĻ•āĻžā§Ÿ āĻ°āĻžāĻ¨ā§āĻ¨āĻžāĻŦāĻžāĻ¨ā§āĻ¨āĻž āĻ†āĻ° āĻĒā§āĻ¤ā§āĻ˛ āĻ›āĻŋāĻ˛ āĻ†āĻŽāĻžāĻ° āĻ–ā§āĻŦāĻ‡ āĻĒāĻ›āĻ¨ā§āĻĻā§‡āĻ° āĻāĻ•āĻŸāĻž āĻ–ā§‡āĻ˛āĻžāĨ¤ āĻ†āĻŽāĻ°āĻž āĻŦāĻžāĻ˛āĻŋ āĻĻāĻŋā§Ÿā§‡ āĻ­āĻžāĻ¤ āĻ°āĻžāĻ¨ā§āĻ¨āĻž āĻ•āĻ°āĻ¤āĻžāĻŽ, āĻ­ā§āĻ¸āĻŋ āĻĻāĻŋā§Ÿā§‡ āĻŦāĻžāĻ¨āĻžāĻ¤āĻžāĻŽ āĻ–āĻžāĻŦāĻžāĻ° āĻ†āĻ° āĻ‡āĻŸā§‡āĻ° āĻ—ā§āĻā§œā§‹ āĻĻāĻŋā§Ÿā§‡ āĻŦāĻžāĻ¨āĻžāĻ¤āĻžāĻŽ āĻ¸āĻ°āĻŦāĻ¤āĨ¤ āĨ¤ āĻāĻŽāĻ¨āĻ•āĻŋ āĻĒāĻžāĻļā§‡āĻ° āĻŦāĻžāĻ¸āĻžāĻ° āĻ¨āĻ¤ā§āĻ¨ āĻ›ā§‡āĻ˛ā§‡āĻŸāĻž āĻ†āĻ° āĻ¤āĻžāĻ° āĻŦā§‹āĻ¨ā§‡āĻ° āĻ¸āĻžāĻĨā§‡āĻ“ āĻ†āĻŽāĻŋ āĻ°āĻžāĻ¨ā§āĻ¨āĻžāĻŦāĻžāĻ¨ā§āĻ¨āĻž āĻ–ā§‡āĻ˛ā§‡āĻ›āĻŋ āĻ…āĻ¨ā§‡āĻ•āĻĻāĻŋāĻ¨āĨ¤ āĻāĻ•āĻĻāĻŋāĻ¨ āĻ•āĻŋ āĻ•āĻžāĻ°āĻ¨ā§‡ āĻ¯ā§‡āĻ¨ āĻāĻ•āĻŸāĻž āĻŸāĻŋāĻ¨ā§‡āĻ° āĻœāĻ—ā§‡ āĻ…āĻ¨ā§‡āĻ•āĻ–āĻžāĻ¨āĻŋ āĻ†āĻŸāĻžāĻ° āĻ­ā§āĻ¸āĻŋ āĻ¨āĻŋā§Ÿā§‡ āĻĒāĻžāĻ¨āĻŋ āĻ—ā§āĻ˛ā§‡ āĻ–āĻžāĻŸā§‡āĻ° āĻ¤āĻ˛āĻžā§Ÿ āĻ°ā§‡āĻ–ā§‡ āĻĻāĻŋā§Ÿā§‡ āĻ­ā§āĻ˛ā§‡ āĻ—āĻŋā§Ÿā§‡āĻ›āĻŋāĻ˛āĻžāĻŽāĨ¤ āĻ•ā§Ÿā§‡āĻ•āĻĻāĻŋāĻ¨ āĻĒāĻ°ā§‡ āĻ¸ā§‡āĻ‡ āĻ­ā§āĻ¸āĻŋ āĻĒāĻšā§‡ āĻ—āĻ¨ā§āĻ§ āĻŦā§‡āĻ° āĻšāĻ“ā§ŸāĻž āĻļā§āĻ°ā§ āĻšāĻ˛āĨ¤ āĻ­āĻžāĻ˛āĻ‡ āĻŽāĻžāĻ° āĻ–ā§‡ā§Ÿā§‡āĻ›āĻŋāĻ˛āĻžāĻŽ āĻ¸ā§‡āĻĻāĻŋāĻ¨āĨ¤

āĻ¨āĻ¸ā§āĻŸāĻžāĻ˛āĻœāĻŋā§ŸāĻž – ā§¨

āĻ†āĻŽāĻŋ āĻ¤āĻ–āĻ¨ āĻ¸ā§āĻ•ā§āĻ˛ā§‡āĻ“ āĻ­āĻ°ā§āĻ¤āĻŋ āĻšāĻ‡āĻ¨āĻŋ, āĻ­āĻžāĻ¸āĻž āĻ­āĻžāĻ¸āĻž āĻŽāĻ¨ā§‡ āĻĒā§œā§‡ āĻ•āĻŋāĻ›ā§ āĻ•āĻŋāĻ›ā§ āĻĻāĻŋāĻ¨ā§‡āĻ° āĻ•āĻĨāĻžāĨ¤ āĻ†āĻŽāĻžāĻ•ā§‡ āĻ–āĻžāĻ“ā§ŸāĻžāĻ¤ā§‡ āĻ–ā§āĻŦāĻ‡ āĻŦā§‡āĻ— āĻĒā§‡āĻ¤ā§‡ āĻšāĻ¤ āĻŦā§‹āĻ¨āĻĻā§‡āĻ°āĨ¤ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻŦāĻžāĻ¸āĻžā§Ÿ āĻ•ā§‹āĻ¨ āĻĢā§āĻ°āĻŋāĻœ āĻŦāĻž āĻŸāĻŋāĻ­āĻŋ āĻ›āĻŋāĻ˛ āĻ¨āĻž āĻ¸ā§‡āĻ‡ āĻ¸āĻŽā§ŸāĨ¤ āĻŽāĻžāĻā§‡ āĻŽāĻžāĻā§‡ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ…āĻ¨ā§āĻŽāĻ¤āĻŋ āĻŽāĻŋāĻ˛āĻ¤ āĻĒāĻžāĻļā§‡āĻ° āĻŦāĻžāĻ¸āĻžā§Ÿ āĻŸāĻŋāĻ­āĻŋ āĻĻā§‡āĻ–āĻžāĻ°āĨ¤ āĻ†āĻ° āĻŸāĻŋāĻ­āĻŋāĻ¤ā§‡ āĻ•āĻŋāĻ›ā§ āĻšāĻ˛āĻžāĻ° āĻ¸āĻŽā§Ÿ āĻ¸ā§‡ āĻ•āĻŋ āĻ­āĻŋā§œ āĻŽāĻžāĻ¨ā§āĻˇ āĻœāĻ¨ā§‡āĻ°, āĻ¯ā§‡āĻ¨ āĻ‰āĻĒāĻšāĻŋā§Ÿā§‡ āĻĒā§œāĻ¤ āĻ˜āĻ°āĨ¤ āĻ“āĻ°āĻž āĻ¸āĻŦāĻ¸āĻŽā§Ÿ āĻŸāĻŋāĻ­āĻŋ āĻĻā§‡āĻ–āĻ¤ā§‡ āĻĻāĻŋāĻ¤ āĻ¨āĻž (āĻ•āĻŋāĻ‚āĻŦāĻž āĻ†āĻŽāĻ°āĻž āĻ¸āĻŦāĻ¸āĻŽā§Ÿ āĻ¯ā§‡āĻ¤āĻžāĻŽ āĻ¨āĻž, āĻ āĻŋāĻ• āĻŽāĻ¨ā§‡ āĻ¨āĻžāĻ‡) – āĻ¤āĻžāĻ‡ āĻŸāĻŋāĻ­āĻŋ āĻ¤ā§‡āĻŽāĻ¨ āĻāĻ•āĻŸāĻž āĻ†āĻ•āĻ°ā§āĻˇāĻ¨ā§€ā§Ÿ āĻŦāĻ¸ā§āĻ¤ā§ āĻ›āĻŋāĻ˛ āĻ¨āĻž āĻ†āĻŽāĻžāĻ° āĻ•āĻžāĻ›ā§‡āĨ¤ āĻ†āĻŽāĻŋ āĻ–ā§‡āĻ˛āĻ¤āĻžāĻŽ āĻ°āĻžāĻœā§āĻ¯ā§‡āĻ° āĻ¯āĻ¤ āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻŸ (āĻŦāĻŋāĻ¸ā§āĻ•ā§āĻŸ, āĻ¸āĻŋāĻ—āĻžāĻ°ā§‡āĻŸ) āĻĻāĻŋā§Ÿā§‡āĨ¤ āĻ¸ā§‡āĻ‡ āĻ—ā§āĻ˛ā§‹ āĻĻāĻŋā§Ÿā§‡ āĻ—āĻžā§œāĻŋ āĻŦāĻžāĻ¨āĻžāĻ¨ā§‹ āĻšāĻ¤, āĻŽāĻžāĻŸāĻŋ āĻĻāĻŋā§Ÿā§‡ āĻšāĻžāĻ•āĻžāĨ¤ āĻāĻ•āĻŦāĻžāĻ° āĻ…āĻ¨ā§‡āĻ• āĻ—ā§āĻ˛ā§‹ āĻļā§‹āĻ˛āĻž āĻĒā§‡ā§Ÿā§‡āĻ›āĻŋāĻ˛āĻžāĻŽ āĻ•ā§‹āĻĨāĻž āĻĨā§‡āĻ•ā§‡ āĻ¯ā§‡āĻ¨, āĻ¸ā§‡ āĻ•āĻŋ āĻ†āĻ¨āĻ¨ā§āĻĻ āĻ†āĻŽāĻžāĻ°āĨ¤ āĻļā§‹āĻ˛āĻž āĻĒāĻžāĻ¨āĻŋāĻ¤ā§‡ āĻ­āĻžāĻ¸ā§‡, āĻ†āĻ° āĻ¤āĻžāĻ‡ āĻ—āĻžāĻŽāĻ˛āĻžāĻ° āĻ¸āĻžāĻŽāĻ¨ā§‡ āĻĨā§‡āĻ•ā§‡ āĻ†āĻŽāĻžāĻ•ā§‡ āĻ†āĻ° āĻ‰āĻ āĻžāĻ¨ā§‹ āĻ¯ā§‡āĻ¤ āĻ¨āĻžāĨ¤

āĻŦāĻžāĻ¸āĻžāĻ° āĻĒāĻžāĻļā§‡ āĻ›āĻŋāĻ˛ āĻ•ā§āĻ¯āĻžāĻ¨ā§āĻ¸āĻžāĻ° āĻ—āĻŦā§‡āĻˇāĻ¨āĻž āĻ‡āĻ¨ā§āĻ¸āĻŸāĻŋāĻ‰āĻŸā§‡āĻ° āĻŽāĻžāĻ āĨ¤ āĻ†āĻŽāĻŋ āĻ†āĻ° āĻŦāĻžāĻŦāĻž āĻĒā§āĻ°āĻžā§ŸāĻ‡ āĻŦāĻŋāĻ•āĻžāĻ˛ā§‡ āĻŦā§‡āĻ° āĻšā§Ÿā§‡ āĻ¯ā§‡āĻ¤āĻžāĻŽ āĻ–ā§‡āĻ˛āĻ¤ā§‡āĨ¤ āĻŸā§‹āĻ•āĻžāĻ‡ āĻ†āĻ° āĻ­āĻžāĻ¸āĻŽāĻžāĻ¨ āĻ›ā§‡āĻ˛ā§‡āĻĒā§āĻ˛ā§‡āĻĻā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ†āĻŽāĻ°āĻž āĻ–ā§āĻŦāĻ‡ āĻŽāĻœāĻž āĻ•āĻ°ā§‡ āĻĢā§āĻŸāĻŦāĻ˛ āĻ–ā§‡āĻ˛ā§‡āĻ›āĻŋ āĻ…āĻ¨ā§‡āĻ•āĻĻāĻŋāĻ¨āĨ¤ āĻ†āĻŽāĻŋ āĻĒā§āĻ°āĻžā§ŸāĻ‡ āĻĻā§‡āĻ–āĻ¤āĻžāĻŽ āĻāĻ•āĻŸāĻž āĻ—āĻžāĻ›ā§‡āĻ° āĻ¨āĻŋāĻš āĻĨā§‡āĻ•ā§‡ āĻ“āĻ°āĻž āĻĢāĻ˛ āĻ•ā§ā§œāĻžā§Ÿ, āĻĻā§‡āĻ–āĻ¤ā§‡ āĻ…āĻ¨ā§‡āĻ•āĻŸāĻž āĻ•āĻžāĻŽāĻ°āĻžāĻ™āĻžāĻ° āĻŽāĻ¤āĨ¤ āĻŦāĻžāĻŦāĻžāĻ•ā§‡ āĻœāĻŋāĻœā§āĻžā§‡āĻ¸ āĻ•āĻ°āĻžā§Ÿ āĻŦāĻžāĻŦāĻžāĻ“ āĻŦāĻ˛ā§‡āĻ›āĻŋāĻ˛ āĻ“āĻŸāĻž āĻ•āĻžāĻŽāĻ°āĻžāĻ™āĻžāĨ¤ āĻ¯ā§‡āĻšā§‡āĻ¤ā§ āĻ•āĻžāĻŽāĻ°āĻžāĻ™āĻž āĻŽāĻœāĻžāĻ° āĻ¤āĻžāĻ‡ āĻāĻ•āĻĻāĻŋāĻ¨ āĻ†āĻŽāĻŋ āĻāĻ•āĻŸāĻž āĻĢāĻ˛ āĻ•ā§ā§œāĻŋā§Ÿā§‡ āĻ•āĻžāĻŽā§œ āĻĻāĻŋā§Ÿā§‡ āĻĻā§‡āĻ–āĻŋ āĻ“ā§ŸāĻžāĻ• āĻĨā§, āĻ¤ā§‡āĻ¤ā§‹, āĻšāĻ°āĻŽ āĻ¤ā§‡āĻ¤ā§‹āĨ¤ āĻ†āĻŽāĻŋ āĻ­āĻžāĻŦāĻ¤āĻžāĻŽ āĻ›ā§‡āĻ˛ā§‡āĻ—ā§āĻ˛ā§‹ āĻ•ā§‡āĻ¨ āĻāĻ—ā§āĻ˛ā§‹ āĻ•ā§ā§œāĻžā§ŸāĨ¤ āĻŦā§œ āĻšāĻ“ā§ŸāĻžāĻ° āĻĒāĻ° āĻœā§‡āĻ¨ā§‡āĻ›āĻŋāĻ˛āĻžāĻŽ āĻ“āĻŸāĻž āĻ›āĻŋāĻ˛ āĻ…āĻ°ā§āĻœā§āĻ¨ āĻ—āĻžāĻ›āĨ¤

āĻ†āĻŽāĻžāĻ•ā§‡ āĻ āĻ¸āĻŽā§ŸāĻŸāĻžā§Ÿ āĻĻāĻžāĻāĻ¤ āĻŽāĻžāĻœāĻžāĻ° āĻ¸āĻŽā§Ÿ āĻ•āĻžāĻ‰āĻ•ā§‡ āĻ¸āĻžāĻĨā§‡ āĻ°āĻžāĻ–āĻ¤ā§‡ āĻšāĻ¤āĨ¤ āĻŦā§‡āĻļāĻŋāĻ° āĻ­āĻžāĻ— āĻ¸āĻŽā§Ÿ āĻāĻ‡ āĻĻāĻžā§ŸāĻŋāĻ¤ā§āĻŦ āĻĒā§‡āĻ¤ āĻ¸ā§āĻŦāĻžāĻ¤ā§€ āĻ…āĻĨāĻŦāĻž āĻļāĻŋāĻŽā§, āĻ†āĻŽāĻžāĻ° āĻ›ā§‹āĻŸ āĻ†āĻ° āĻ¸ā§‡āĻœ āĻŦā§‹āĻ¨āĨ¤ āĻšā§‡āĻš āĻšā§‡āĻš, āĻ¤āĻžāĻ° āĻ•āĻžāĻ°āĻ¨ āĻšāĻ˛ āĻ†āĻŽāĻŋ āĻĻāĻžāĻāĻ¤ āĻŽā§‡āĻœā§‡ āĻĒā§‡āĻ¸ā§āĻŸāĻŸāĻž āĻĢā§‡āĻ˛ā§‡ āĻĻā§‡ā§ŸāĻžāĻ° āĻŦāĻĻāĻ˛ā§‡ āĻĒā§āĻ°āĻžā§ŸāĻ‡ āĻ—āĻŋāĻ˛ā§‡ āĻĢā§‡āĻ˛āĻ¤āĻžāĻŽāĨ¤ āĻšā§‹ āĻšā§‹ āĻšā§‹

āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻŦāĻžāĻ¸āĻžāĻ° āĻ¸āĻžāĻŽāĻ¨ā§‡ āĻāĻ• āĻ˛ā§‹āĻ•ā§‡āĻ° āĻāĻ•āĻŸāĻž āĻ­āĻ•ā§āĻ¸āĻ“ā§ŸāĻžāĻ—āĻ¨ āĻ›āĻŋāĻ˛āĨ¤ āĻ†āĻŽāĻ°āĻž āĻŦāĻ˛āĻ¤āĻžāĻŽ āĻŦā§āĻ¯āĻžāĻ™āĻ—āĻžā§œā§€āĨ¤ āĻšāĻ•āĻšāĻ•ā§‡ āĻ¸āĻžāĻĻāĻž āĻāĻ•āĻŸāĻž āĻ—āĻžā§œā§€āĨ¤ āĻŽā§‡āĻœ āĻŦā§‹āĻ¨ āĻĒā§āĻ°āĻžā§ŸāĻ‡ āĻŦāĻ˛āĻ¤, āĻ‡āĻ¸, āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ¯āĻĻāĻŋ āĻāĻ°āĻ•āĻŽ āĻāĻ•āĻŸāĻž āĻ—āĻžā§œā§€ āĻĨāĻžāĻ•āĻ¤āĨ¤ āĻĒā§āĻ°āĻžā§ŸāĻĻāĻŋāĻ¨āĻ‡ āĻ¸āĻ•āĻžāĻ˛ā§‡ āĻ†āĻŽāĻŋ āĻ†āĻ° āĻ¸ā§āĻŦāĻžāĻ¤ā§€ āĻ¤āĻžāĻ•āĻŋā§Ÿā§‡ āĻĻā§‡āĻ–āĻ¤āĻžāĻŽ āĻ—āĻžā§œā§€āĻŸāĻžāĻ° āĻŦā§‡āĻ° āĻšāĻ“ā§ŸāĻžāĨ¤

Web scrapping in a smart way, making a "Today in History" object in PHP

There are thousands of services available on web who are presenting interesting as well as education information which you can really integrate in your web page or make a nice widget and let others use them seamlessly with their content delivery platforms. In this article I am going to show you how you can make a nice Today-in-History widget with the help of the data provided in Scopesys. You can use this code to make a nice widget or a trivia app or whatever. But before making your own scrappers from any services, please please please carefully note the copyright of that content. You shouldn’t violate copyright either way.

In this widget, we will strip the following content from the pages provided by scopesys and display them in different categories.
1. Today in history
2. Who’s born today
3. Who’s died today
4. Where is holiday today
5. Religious observance of today
6. Religious history of today

Lets go 😀


<?php
//todayinhistory.php
error_reporting(0);
define("MARKER_START","<H3>On this day...</h3>");
define("MARKER_END","<BR><BR><HR><h3>Holidays</h3>");
define("BIRTHDAY_START","</font></center></center>");
define("BIRTHDAY_END","<HR> <br><H3>Deaths which occurred on ".date("F d").":</H3>");
define("DEATH_START","<HR> <br><H3>Deaths which occurred on ".date("F d").":</H3>");
define("DEATH_END","<HR><IMG align=left SRC=\"http://www.scopesys.com/flag.gif\">");
define("HOLIDAYS_START",'<i>Note: Some Holidays are only applicable on a given <b>"day of the week"</b></i><br> <br>');
define("HOLIDAYS_END","<HR> <H3>Religious Observances</H3>");
define("RELIGIOUS_START","<HR> <H3>Religious Observances</H3>");
define("RELIGIOUS_END","<HR> <H3>Religious History </h3>");
define("RELHISTORY_START","<HR> <H3>Religious History </h3>");
define("RELHISTORY_END","<BR><BR><font color=red>");


echo "<h2>Today is ".Date("F d, Y")."</h2>";
$data = file_get_contents("http://www.scopesys.com/today");


if ($_GET['history']=='1'){
echo "<br/><h2 style='color: green' >Today in history</h2>";
$end = strpos($data,MARKER_END)-15;
$start = strpos($data,MARKER_START)+strlen(MARKER_START);
echo substr($data,$start,$end-$start);
}


if ($_GET['born']=='1'){
echo "<br/><h2 style='color: green' >Who's born today</h2>";
$end = strpos($data,BIRTHDAY_END);
$start = strpos($data,BIRTHDAY_START)+strlen(BIRTHDAY_START);
echo substr($data,$start,$end-$start);
}


if ($_GET['died']=='1'){
echo "<br/><h2 style='color: green' >Who died today</h2>";
$end = strpos($data,DEATH_END);
$start = strpos($data,DEATH_START)+strlen(DEATH_START);
echo substr($data,$start,$end-$start);
}


if ($_GET['holiday']=='1'){
echo "<br/><h2 style='color: green' >Where is holiday today</h2>";
$end = strpos($data,HOLIDAYS_END);
$start = strpos($data,HOLIDAYS_START)+strlen(HOLIDAYS_START);
echo substr($data,$start,$end-$start);
}


if ($_GET['religious']=='1'){
echo "<br/><h2 style='color: green' >Religious observance</h2>";
$end = strpos($data,RELIGIOUS_END);
$start = strpos($data,RELIGIOUS_START)+strlen(RELIGIOUS_START);
echo substr($data,$start,$end-$start);
}


if ($_GET['relhistory']=='1'){
echo "<br/><h2 style='color: green' >Religious history</h2>";
$end = strpos($data,RELHISTORY_END);
$start = strpos($data,RELHISTORY_START)+strlen(RELHISTORY_START);
echo substr($data,$start,$end-$start);
}
?>

Now if you want to find who born today, point your browser to todayinhistory.php?born=1. Mashup Mashup Mashup, that is what many successful web app are doing these days. And sometime this is how data collection is done behind the scene 🙂

Writing this code was really enjoyable as getting root canal done in your teeth with a rusty drill (I forgot where I’ve read such a nice quote), heh heh. But I am sure, you will enjoy it more than that 😉 – happy scrapping.

āĻ¨āĻ¸ā§āĻŸāĻžāĻ˛āĻœāĻŋā§ŸāĻž – ā§§

āĻ•ā§āĻ˛āĻžāĻ¸ āĻ“ā§ŸāĻžāĻ¨ā§‡ āĻ†āĻŽāĻžāĻ•ā§‡ āĻ­āĻ°ā§āĻ¤āĻŋ āĻ•āĻ°āĻž āĻšāĻŦā§‡āĨ¤ āĻŦāĻžāĻŦāĻž āĻ†āĻŽāĻžāĻ•ā§‡ āĻ¨āĻŋā§Ÿā§‡ āĻšāĻ˛āĻ˛ā§‡āĻ¨ āĻŸāĻŋ.āĻ…ā§āĻ¯āĻžāĻ¨ā§āĻĄ.āĻŸāĻŋ āĻ¸āĻ°āĻ•āĻžāĻ°ā§€ āĻ†āĻĻāĻ°ā§āĻļ āĻŦāĻžāĻ˛āĻŋāĻ•āĻž āĻŦāĻŋāĻĻā§āĻ¯āĻžāĻ˛ā§Ÿā§‡ (Ahem) – āĻŦāĻžāĻ˛āĻŋāĻ•āĻž āĻŦāĻŋāĻĻā§āĻ¯āĻžāĻ˛ā§Ÿ āĻšāĻ˛ā§‡āĻ“ āĻ†āĻ¸āĻ˛ā§‡ āĻ•ā§āĻ˛āĻžāĻ¸ āĻĢāĻžāĻ‡āĻ­ āĻĒāĻ°ā§āĻ¯āĻ¨ā§āĻ¤ āĻ›ā§‡āĻ˛ā§‡āĻĻā§‡āĻ° āĻĒā§œāĻ¤ā§‡ āĻĻāĻŋāĻ¤āĨ¤ āĻŦāĻžāĻ¸āĻžāĻ° āĻĒāĻžāĻļā§‡ āĻšāĻ“ā§ŸāĻžā§Ÿ āĻ†āĻ° āĻ†āĻŽāĻžāĻ° āĻ†āĻ°ā§‹ āĻĻā§āĻŸā§‹ āĻŦā§‹āĻ¨ āĻāĻ•āĻ‡ āĻ¸ā§āĻ•ā§āĻ˛ā§‡ āĻĒā§œāĻžā§Ÿ āĻāĻŸāĻžāĻ‡ āĻšāĻ˛ āĻ†āĻŽāĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ‰āĻĒāĻ¯ā§āĻ•ā§āĻ¤ āĻœāĻžā§ŸāĻ—āĻž, āĻŽāĻž āĻŦāĻžāĻŦāĻž āĻ†āĻ° āĻŦā§‹āĻ¨ā§‡āĻ°āĻž āĻ āĻŋāĻ• āĻ•āĻ°ā§‡āĻ›ā§‡āĨ¤

āĻ†āĻŽāĻžāĻ•ā§‡ āĻ…āĻ¨ā§‡āĻ•āĻŦāĻžāĻ° āĻ•āĻ°ā§‡ āĻ¨āĻžāĻŽāĻ¤āĻž āĻŽā§āĻ–āĻ¸ā§āĻ¤ āĻŦāĻ˛āĻ¤ā§‡ āĻšāĻ˛ āĻŽāĻžāĻ° āĻ•āĻžāĻ›ā§‡ āĻ°āĻ“āĻ¨āĻž āĻĻā§‡āĻŦāĻžāĻ° āĻ†āĻ—ā§‡āĨ¤ āĻ†āĻ°ā§‹ āĻ•āĻŋ āĻ•āĻŋ āĻ¯ā§‡āĻ¨ āĻŦāĻ˛āĻ¤ā§‡ āĻšā§Ÿā§‡āĻ›āĻŋāĻ˛āĨ¤ āĻ¸ā§āĻ•ā§āĻ˛ā§‡ āĻŽā§āĻ¯āĻžāĻĄāĻžāĻŽ āĻāĻ° āĻ°ā§āĻŽā§‡ āĻ†āĻŽāĻžāĻ•ā§‡ āĻāĻ•āĻž āĻāĻ•āĻž āĻĸā§āĻ•āĻžā§Ÿ āĻĻāĻŋā§Ÿā§‡ āĻŦāĻžāĻŦāĻž āĻŦāĻžāĻ‡āĻ°ā§‡ āĻŦāĻ¸ā§‡ āĻ†āĻ›ā§‡āĨ¤ āĻŽā§āĻ¯āĻžāĻĄāĻžāĻŽ āĻāĻ•āĻŦāĻžāĻ° āĻœāĻŋāĻœā§āĻžā§‡āĻ¸ āĻ•āĻ°ā§‡āĻ¨ āĻ¨āĻžāĻŽāĻ¤āĻž āĻŦāĻ˛āĻ¤ā§‡, āĻāĻ•āĻŦāĻžāĻ° āĻāĻŦāĻŋāĻ¸āĻŋāĻĄāĻŋ āĻŦāĻ˛āĻ¤ā§‡āĨ¤ āĻ¤āĻ–āĻ¨ āĻ¤ā§‹ āĻ†āĻ° āĻĒā§āĻ˛ā§‡, āĻ•ā§‡āĻœāĻŋ āĻāĻ—ā§āĻ˛āĻž āĻ›āĻŋāĻ˛ āĻ¨āĻž, āĻ…āĻ¨ā§āĻ¤āĻ¤ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻŽāĻ¤ āĻ¨āĻŋāĻŽā§āĻ¨ āĻŽāĻ§ā§āĻ¯āĻŦāĻŋāĻ¤ā§āĻ¯ āĻĒāĻ°āĻŋāĻŦāĻžāĻ°ā§‡āĻ° āĻœāĻ¨ā§āĻ¯āĨ¤ āĻ¸āĻ°āĻ•āĻžāĻ°ā§€ āĻ¸ā§āĻ•ā§āĻ˛ā§‡ āĻ•ā§āĻ˛āĻžāĻ¸ āĻ“ā§ŸāĻžāĻ¨ā§‡ āĻŦā§‹āĻ§āĻšā§Ÿ āĻāĻ—ā§āĻ˛ā§‹āĻ‡ āĻœāĻŋāĻœā§āĻžā§‡āĻ¸ āĻ•āĻ°āĻ¤āĨ¤ āĻ†āĻŽāĻŋ āĻ­ā§Ÿā§‡ āĻ­ā§Ÿā§‡ āĻ•āĻžāĻĻā§‹āĻ āĻ•āĻžāĻĻā§‹āĻ āĻŽā§āĻ–ā§‡ āĻ¸āĻŦ āĻŦāĻ˛āĻ˛āĻžāĻŽāĨ¤ āĻŽā§āĻ¯āĻžāĻĄāĻžāĻŽ āĻ•āĻŋāĻ›ā§āĻ•ā§āĻˇāĻ¨ āĻĒāĻ°ā§‡ āĻŦāĻžāĻŦāĻžāĻ•ā§‡ āĻĄā§‡āĻ•ā§‡ āĻ•āĻŋ āĻ¯ā§‡āĻ¨ āĻŦāĻ˛āĻ˛ā§‡āĻ¨āĨ¤

āĻŦāĻžāĻ¸āĻžā§Ÿ āĻĢāĻŋāĻ°āĻ¤ā§‡ āĻĢāĻŋāĻ°āĻ¤ā§‡ āĻŦāĻžāĻŦāĻž āĻœāĻžāĻ¨āĻžāĻ˛ā§‹ āĻ¯ā§‡ āĻ†āĻŽāĻžāĻ° āĻ­āĻ°ā§āĻ¤āĻŋ āĻšā§Ÿā§‡ āĻ—ā§‡āĻ›ā§‡, āĻ¤āĻŦā§‡ āĻ•ā§āĻ˛āĻžāĻ¸ āĻ“ā§ŸāĻžāĻ¨ā§‡ āĻ¨āĻž, āĻŸā§āĻ¤ā§‡āĨ¤ āĻ†āĻŽāĻžāĻ° āĻŽāĻ¤ āĻ§ā§‡ā§œā§‡ āĻŦāĻžāĻšā§āĻšāĻžāĻ° āĻ¨āĻžāĻ•āĻŋ āĻ•ā§āĻ˛āĻžāĻ¸ āĻ“ā§ŸāĻžāĻ¨ā§‡ āĻĒā§œāĻž āĻ āĻŋāĻ• āĻšāĻŦā§‡ āĻ¨āĻžāĨ¤ āĻ°ā§‹āĻ˛ āĻĻāĻŋā§Ÿā§‡āĻ›ā§‡ ā§§ā§¨ā§ĻāĨ¤ āĻ†āĻŽāĻŋ āĻ¤ā§‹ āĻŽāĻšāĻž āĻ–ā§āĻļāĻŋ, ā§§ā§¨ā§Ļ – āĻ•ā§‡āĻ¨ āĻ¯ā§‡ ā§§ā§¨ā§Ļā§Ļ āĻšāĻ˛ āĻ¨āĻžāĨ¤ āĻŦāĻžāĻ¸āĻžā§Ÿ āĻāĻ¸ā§‡ āĻĻā§‡āĻ–āĻŋ āĻŽāĻž āĻŽāĻžāĻ› āĻ•āĻžāĻŸāĻ›ā§‡, āĻŽāĻžāĻ•ā§‡ āĻŦāĻ˛āĻ˛āĻžāĻŽ – āĻœāĻžāĻ¨ āĻŽāĻž, āĻ†āĻŽāĻžāĻ° āĻ°ā§‹āĻ˛ āĻ¨āĻž ā§§ā§¨ā§ĻāĨ¤ āĻŽāĻž āĻ¤āĻ–āĻ¨ āĻŦā§āĻāĻŋā§Ÿā§‡ āĻĻāĻŋāĻ˛ āĻ¯ā§‡ āĻ°ā§‹āĻ˛ āĻ¯āĻ¤ āĻ•āĻŽ āĻšā§Ÿ āĻ¤āĻ¤āĻ‡ āĻ­āĻžāĻ˛āĨ¤

āĻĒāĻ°ā§‡āĻ°āĻĻāĻŋāĻ¨ āĻĨā§‡āĻ•ā§‡ āĻ•ā§āĻ˛āĻžāĻ¸, āĻŽāĻšāĻž āĻŸā§‡āĻ¨āĻļāĻ¨ā§‡ āĻ›āĻŋāĻ˛āĻžāĻŽ āĻ†āĻŽāĻŋ āĨ¤ āĻŦāĻžāĻ¸āĻžā§Ÿ āĻ†āĻŽāĻžāĻ° āĻŦā§‹āĻ¨ā§‡āĻ°āĻž āĻ¸āĻžāĻ°āĻžāĻ•ā§āĻˇāĻ¨ āĻ†āĻŽāĻžāĻ•ā§‡ āĻŦāĻžāĻ¸āĻžā§Ÿ āĻ†āĻŸāĻ•āĻžā§Ÿ āĻ°āĻžāĻ–āĻ¤, āĻŦāĻžāĻ‡āĻ°ā§‡ āĻ¯ā§‡āĻ¤ā§‡ āĻšāĻžāĻ‡āĻ˛ā§‡ āĻ­ā§Ÿ āĻĻā§‡āĻ–āĻžāĻ¤ āĻ›ā§‡āĻ˛ā§‡āĻ§āĻ°āĻžāĻ°āĨ¤ āĻāĻ‡ āĻŦā§āĻāĻŋ āĻ›ā§‡āĻ˛ā§‡āĻ§āĻ°āĻž āĻ¨āĻŋā§Ÿā§‡ āĻ¯āĻžāĻŦā§‡, āĻāĻ‡ āĻ­ā§Ÿā§‡ āĻ†āĻŽāĻŋ āĻ¤āĻŸāĻ¸ā§āĻĨ āĻĨāĻžāĻ•āĻ¤āĻžāĻŽāĨ¤ āĻĒāĻ°ā§‡āĻ° āĻĻāĻŋāĻ¨ āĻ¸ā§āĻ•ā§āĻ˛ā§‡ āĻ—ā§‡āĻ˛ā§‡ āĻ•āĻŋ āĻšāĻŦā§‡, āĻ•ā§āĻ˛āĻžāĻ¸ā§‡ āĻ¤ā§‹ āĻ†āĻŽāĻžāĻ° āĻŦā§‹āĻ¨āĻ°āĻž āĻĨāĻžāĻ•āĻŦā§‡ āĻ¨āĻž, āĻ¯āĻĻāĻŋ āĻ›ā§‡āĻ˛ā§‡āĻ§āĻ°āĻž āĻ§āĻ°ā§‡ āĻ¨āĻŋā§Ÿā§‡ āĻ¯āĻžā§Ÿ āĻāĻ‡ āĻšāĻŋāĻ¨ā§āĻ¤āĻžā§Ÿ āĻ†āĻŽāĻŋ āĻ¤āĻ–āĻ¨ āĻŦā§āĻ¯āĻžāĻ¸ā§āĻ¤āĨ¤