<?xml version='1.0' encoding='UTF-8'?><rss xmlns:atom='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' version='2.0'><channel><atom:id>tag:blogger.com,1999:blog-6859638452259507972</atom:id><lastBuildDate>Wed, 27 Jan 2010 08:26:56 +0000</lastBuildDate><title>Webvirtue.com</title><description>WebVirtue Software Solutions is a global IT solutions and services provider. We provide Offshore Software Development - Website Design, Web Application Development Services, Software Outsourcing and Offshore Outsourcing, to Clients Globally.</description><link>http://blog.webvirtue.com/</link><managingEditor>noreply@blogger.com (Atin Kapoor)</managingEditor><generator>Blogger</generator><openSearch:totalResults>13</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-6859638452259507972.post-5309221388470082434</guid><pubDate>Mon, 21 Dec 2009 08:56:00 +0000</pubDate><atom:updated>2009-12-21T14:30:40.034+05:30</atom:updated><title>Scrum Methodology</title><description>Of all the agile methodologies, Scrum is unique because it introduced the idea of empirical process control. Scrum uses the real-world progress of a project to plan and schedule releases.&lt;br /&gt;&lt;br /&gt;In Scrum, projects are divided into succinct work cadences, known as sprints, which are typically one week, two weeks, or three weeks in duration. At the end of each sprint, client and team members meet to assess the progress of a project and plan its next steps. This allows a project’s direction to be adjusted or reoriented based on completed work, not speculation or predictions.&lt;br /&gt;&lt;br /&gt;In Scrum, every iteration begins with the sprint planning meeting. At this meeting, the Product Owner and the team negotiate which stories a team will tackle that sprint. Time-boxed to four hours, this meeting is a conversation between the Product Owner and the team.&lt;br /&gt;&lt;br /&gt;The heart of the Scrum process is the daily standup meeting, also known as the daily Scrum. No other meeting captures Scrum’s emphasis on communication and transparency quite like the standup. This meeting helps ensure that the entire development team is always on the same page. Every day, the Scrum team gathers together, usually in a team room or private office - to report on the progress made since the last meeting, goals for the next one, and any impediments blocking their path. These reports are often phrased as responses to the following three questions:&lt;br /&gt;&lt;br /&gt;-&gt; What have I done since the last Scrum meeting (yesterday)?&lt;br /&gt;-&gt; What will I do before the next Scrum meeting (tomorrow)?&lt;br /&gt;-&gt; What prevents me from performing my work as efficiently as possible?&lt;br /&gt;&lt;br /&gt;In Scrum, when the sprint ends, it’s time for the team to present its work to the Product Owner. This is known as the sprint review meeting. At this time, the Product Owner goes through the sprint backlog and asks the team to present its work. The Product Owner checks the work against the acceptance criteria to determine if the work is satisfactory or not.&lt;br /&gt;&lt;br /&gt;For software projects, a typical team includes a mix of software engineers, architects, programmers, analysts, QA experts, testers, and UI designers.&lt;br /&gt;&lt;br /&gt;There is also a software we can use for this: http://www.danube.com/scrumworks/pro/features&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6859638452259507972-5309221388470082434?l=blog.webvirtue.com' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.webvirtue.com/2009/12/scrum-methodology.html</link><author>noreply@blogger.com (Atin Kapoor)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-6859638452259507972.post-858451988109148787</guid><pubDate>Mon, 22 Jun 2009 12:11:00 +0000</pubDate><atom:updated>2009-06-22T17:46:43.755+05:30</atom:updated><title>PHP and Memcache</title><description>&lt;a href="http://www.danga.com/memcached/" target="_blank"&gt;Memcache&lt;/a&gt; is really a great caching system which we used recently in one of our site.&lt;br /&gt;&lt;br /&gt;memcached is a high-performance, distributed memory object caching system, generic in nature, but intended for use in speeding up dynamic web applications by alleviating database load.&lt;br /&gt;&lt;br /&gt;We used it on our site for displaying categories, products, searching, paging etc.... and it was very effective. The database load reduced drastically and pages loaded very fast. You just need a good memory on your server, &lt;br /&gt;&lt;br /&gt;It is also relatively easy to implement memcache, While the server and API only have one way to get data from the cache, there exists 3 ways to put data in:&lt;br /&gt;set -- unconditionally sets a given key with a given value &lt;br /&gt;add -- adds to the cache, only if it doesn't already exist &lt;br /&gt;replace -- sets in the cache only if the key already exists &lt;br /&gt;Additionally, all three support an expiration time.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6859638452259507972-858451988109148787?l=blog.webvirtue.com' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.webvirtue.com/2009/06/php-and-memcache.html</link><author>noreply@blogger.com (Atin Kapoor)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-6859638452259507972.post-4120105676696680421</guid><pubDate>Tue, 12 May 2009 14:57:00 +0000</pubDate><atom:updated>2009-05-12T20:33:56.755+05:30</atom:updated><title>ColdFusion XML Parsing</title><description>People get the "Content is not allowed in Prolog" XmlParse() error in ColdFusion ... mainly when you try to parse XML that has data or white space prior to the encoding declaration or root node. This is often caused when an XML feed does not trim it's return value. Usually, passing the content through ColdFusion's Trim() method before calling XmlParse() does the trick; however, in one case, Trim() didn't seem to be helping.&lt;br /&gt;&lt;br /&gt;When i was working with Authorize.NET's API, which returns XML responses. If you look at the FileContent, you will see that an XML document was returned. And, furthermore, from what you can see, it appears that the first piece of data returned is the encoding:&lt;br /&gt;&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;br /&gt;&lt;br /&gt;Even when we are running the returned response through ColdFusion's Trim() method before parsing it. Usually, this would take care of any prolog data issues; however, running the above code, we get the following error:&lt;br /&gt;&lt;br /&gt;An error occured while Parsing an XML document. Content is not allowed in prolog.&lt;br /&gt;&lt;br /&gt;It turns out, this character which is creating problem is something called as Byte-Order-Mark and in an XML document, it is used to flag the encoding type of the XML. Unfortunately, ColdFusion does not appreciate the use of this Byte-Order-Mark, or BOM. In order to get this kind of XML feed to play nicely with ColdFusion, we have to remove the BOM before we parse the document. Luckily, getting rid of this requires nothing more than a simple regular expression that strips out all characters before the first bracket.&lt;br /&gt;&lt;br /&gt;Here is the code:&lt;br /&gt;&lt;br /&gt;REReplace( objGet.FileContent, "^[^&lt;]*", "", "all" )&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6859638452259507972-4120105676696680421?l=blog.webvirtue.com' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.webvirtue.com/2009/05/coldfusion-xml-parsing.html</link><author>noreply@blogger.com (Atin Kapoor)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-6859638452259507972.post-7427111910462595346</guid><pubDate>Mon, 16 Mar 2009 15:44:00 +0000</pubDate><atom:updated>2009-03-16T21:25:00.575+05:30</atom:updated><title>Video Streaming</title><description>We implemented video streaming on a website and it was much easier that i thought. We had to stream pre-recorded videos and the 1st step towards achieving this was to setup streaming server.&lt;br /&gt;&lt;br /&gt;There are quite a few open source available that can be installed on LINUX system ... i choose to go with &lt;a href="http://osflash.org/red5" target="_blank"&gt;Red5&lt;/a&gt;. It got installed easily on my dedicated server. The only problem i faced is that it has a directory as oflaDemo from where the videos can be called for streaming. I was not able to assign another directory for video streaming, so at the end i used oflaDemo and stored all my videos there.&lt;br /&gt;&lt;br /&gt;Then the next step was to find out the player which supports streaming. We choose &lt;a href="http://www.longtailvideo.com/players/jw-flv-player/" target="_blank"&gt;JW player&lt;/a&gt;. It has a option to stream using code:&lt;br /&gt;&lt;br /&gt;flashvars="file=filename.flv&amp;streamer=rtmp://www.domainname.com/oflaDemo/&lt;br /&gt;&lt;br /&gt;This way we were able to implement video streaming on a site.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6859638452259507972-7427111910462595346?l=blog.webvirtue.com' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.webvirtue.com/2009/03/video-streaming.html</link><author>noreply@blogger.com (Atin Kapoor)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-6859638452259507972.post-5630164976663906823</guid><pubDate>Fri, 27 Feb 2009 10:33:00 +0000</pubDate><atom:updated>2009-02-27T16:19:44.683+05:30</atom:updated><title>Symfony - Open-Source PHP Web Framework</title><description>Recently we got a chance to work with &lt;a href="http://www.symfony-project.org/" target="_new"&gt;Symfony&lt;/a&gt; - Open-Source PHP Web Framework, and we all were impressed with it. It provides an architecture, components and tools for developers to build complex web applications faster. Symfony can be used to develop professional applications with style and little effort.&lt;br /&gt;&lt;br /&gt;It's easy to start with Symfony, you need a web server (Apache for example), a database engine (MySQL, PostgreSQL, or SQLite), and PHP 5.2.4 or later. &lt;br /&gt;&lt;br /&gt;It has The Admin Generator, Easy Ajax, Forms, Validators, Widgets, Testers, Loggers, Tasks, Routing, Filters and lots of plugins. Give it is try, i am sure it will be worth it!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6859638452259507972-5630164976663906823?l=blog.webvirtue.com' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.webvirtue.com/2009/02/symfony-open-source-php-web-framework.html</link><author>noreply@blogger.com (Atin Kapoor)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-6859638452259507972.post-4747413041015708079</guid><pubDate>Fri, 06 Feb 2009 22:03:00 +0000</pubDate><atom:updated>2009-02-07T03:41:41.395+05:30</atom:updated><title>Creating VCALENDAR file</title><description>Creating VCALENDAR is simple, we just need to follow the format but recently i have faced a lot of problems making VCALENDAR file work properly in Outlook (specially 2007) and Entourage (on MAC).&lt;br /&gt;&lt;br /&gt;I created a VCALENDAR file as :&lt;br /&gt;&lt;br /&gt;BEGIN:VCALENDAR&lt;br /&gt;VERSION:1.0&lt;br /&gt;BEGIN:VEVENT&lt;br /&gt;SUMMARY:Event Name&lt;br /&gt;DESCRIPTION;ENCODING=QUOTED-PRINTABLE:Line 1=0D=0ALine 2=0D=0ALine 3&lt;br /&gt;DTSTART:20090209T000000&lt;br /&gt;DTEND:20090210T000000&lt;br /&gt;END:VEVENT&lt;br /&gt;END:VCALENDAR&lt;br /&gt;&lt;br /&gt;This worked perfectly fine on Entourage (on MAC) and Outlook older version but not on Outlook 2007. I faced 2 (infact 3) problems: &lt;br /&gt;1. Line breaks not visible in Outlook 2007&lt;br /&gt;2. Start and End Time is not properly set&lt;br /&gt;3. All day event checkbox is not checked&lt;br /&gt;&lt;br /&gt;I corrected the line breaks probelm by adding "=0D=0A" twice ... so the description look like:&lt;br /&gt;&lt;br /&gt;DESCRIPTION;ENCODING=QUOTED-PRINTABLE:Line 1=0D=0A=0D=0ALine 2=0D=0A=0D=0ALine 3&lt;br /&gt;&lt;br /&gt;Now the Start and End time and All day event problem is still there. Will let you all know if i am able to solve this.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6859638452259507972-4747413041015708079?l=blog.webvirtue.com' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.webvirtue.com/2009/02/creating-vcalendar-file.html</link><author>noreply@blogger.com (Atin Kapoor)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-6859638452259507972.post-4947931941633834145</guid><pubDate>Fri, 30 Jan 2009 15:27:00 +0000</pubDate><atom:updated>2009-01-30T21:08:22.842+05:30</atom:updated><title>Image manipulation capabilities in ColdFusion 8</title><description>Not much people are using Coldfusion these days but i see lot of potential in Coldfusion 8 ... i came across the need of image manipulation and its then i found out the capabilities of new cfimage tag and image-related functions. The cfimage tag introduces lot of new ways to manipulate images in ColdFusion without having to install any third-party image manipulation tags or Java classes.&lt;br /&gt;&lt;br /&gt;Here is an example how you can use the cfimage tag to create CAPTCHA (Completely Automated Public Turing Test to Tell Computers and Humans Apart) graphics in the browser:&lt;br /&gt;&lt;br /&gt;&amp;lt;cfset captchatext="hello"&amp;gt;&lt;br /&gt;&amp;lt;cfimage width="140" height="40" difficulty="low" text="#captchaText#" action="captcha"&amp;gt;&lt;br /&gt;&lt;br /&gt;Here you see cfimage tag with the action property set to captcha, followed by the text property set to the captchaText variable: this is the text that will be displayed in the generated CAPTCHA image. The difficulty property has three settings, low, medium, and high, which affects the degree to which the text is obscured, to make it harder for a computer to distinguish characters. The last two properties, width and height, set the graphic’s display dimensions.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6859638452259507972-4947931941633834145?l=blog.webvirtue.com' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.webvirtue.com/2009/01/image-manipulation-capabilities-in.html</link><author>noreply@blogger.com (Atin Kapoor)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-6859638452259507972.post-429634010727534040</guid><pubDate>Tue, 13 Jan 2009 14:05:00 +0000</pubDate><atom:updated>2009-01-13T19:45:02.829+05:30</atom:updated><title>Perl Mail Messages Handling</title><description>Recently we were working on Mail Messages handling and we choose to do it using Perl. Perl has lot of modules that can be of great help .... the granddaddy of these modules is &lt;a href="http://search.cpan.org/perldoc?Mail::Internet"&gt;Mail::Internet&lt;/a&gt;, originally created by Graham Barr and now maintained by Mark Overmeer. This module offers a constructor that takes either an array of lines or a filehandle, reads a message, and returns a Mail::Internet object representing the message. &lt;br /&gt;&lt;br /&gt;You can get From, Reply-To, To, Subject using get() method. Reading and editing the body is done through the body method.&lt;br /&gt;&lt;br /&gt;I've not said anything about MIME yet. Mail::Internet is reasonably handy for simple tasks, but it doesn't handle MIME at all. So we used another module as &lt;a href="http://search.cpan.org/perldoc?Email::MIME"&gt;Email::MIME&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Here is the full code:&lt;br /&gt;&lt;br /&gt;require Mail::Internet;&lt;br /&gt;require Mail::Address;&lt;br /&gt;require Email::MIME;&lt;br /&gt;$mail = Mail::Internet-&gt;new( \*STDIN );&lt;br /&gt;my $sender = $mail-&gt;get('Reply-To') || $mail-&gt;get('From');&lt;br /&gt;my $to = $mail-&gt;get('To');&lt;br /&gt;my $subject = $mail-&gt;get('Subject');&lt;br /&gt;my $body = $mail-&gt;as_string();&lt;br /&gt;my $email = Email::MIME-&gt;new($body);&lt;br /&gt;my $part_body = ($email-&gt;subparts())[0]-&gt;body;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6859638452259507972-429634010727534040?l=blog.webvirtue.com' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.webvirtue.com/2009/01/perl-mail-messages-handling.html</link><author>noreply@blogger.com (Atin Kapoor)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-6859638452259507972.post-2734522179953250724</guid><pubDate>Sat, 27 Dec 2008 08:14:00 +0000</pubDate><atom:updated>2008-12-27T13:57:21.365+05:30</atom:updated><title>Google Video Adsense code</title><description>I was trying Video Adsense for Google and found that there are 2 video related things which google support&lt;br /&gt;1. Video Ads&lt;br /&gt;2. Video Units.&lt;br /&gt;&lt;br /&gt;We can get the video units easily, below is the code for it&lt;br /&gt;&lt;br /&gt;&amp;lt;div id=&amp;quot;vu_ytplayer_vjVQa1PpcFMijRuty5KOjQ6boyZBEMo0pFtnZBYJX_c=&amp;quot;&amp;gt;&amp;lt;a href=&amp;quot;http://www.youtube.com/browse&amp;quot;&amp;gt;Watch the latest videos on YouTube.com&amp;lt;/a&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;script src=&amp;quot;http://www.youtube.com/watch_custom_player?id=vjVQa1PpcFMijRuty5KOjQ6boyZBEMo0pFtnZBYJX_c=&amp;quot; type=&amp;quot;text/javascript&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;&lt;br /&gt;For the Video Ads, i think there is no option to select it, we have only 3 options to select the ads units:&lt;br /&gt;1. Text Ads&lt;br /&gt;2. Image Ads&lt;br /&gt;3. Text + Image Ads.&lt;br /&gt;For video Ads to appear on our website we have to select either Image ads or Text + Image ads and that too with a supporting ad unit size format which i feel the best will be 300*250 rectangle. After this create the ad unit, get the ad unit code and have it on the website and get some good content and visitors on the site... then hopefully the video ad will appear. I have placed the code on &lt;a href="http://www.bookmarkhub.com/" target="_new"&gt;http://www.bookmarkhub.com/&lt;/a&gt; but only image ad is appearing.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6859638452259507972-2734522179953250724?l=blog.webvirtue.com' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.webvirtue.com/2008/12/google-video-adsense-code.html</link><author>noreply@blogger.com (Atin Kapoor)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-6859638452259507972.post-2851013864481576957</guid><pubDate>Wed, 10 Dec 2008 11:25:00 +0000</pubDate><atom:updated>2008-12-10T16:56:54.853+05:30</atom:updated><title>iPhone development</title><description>The worldwide fizz created by Apple’s iPhone is amazingly unprecedented.&lt;br /&gt;&lt;br /&gt;The Apple iPhone is an internet connected multimedia smartphone with a flush multi-touch screen and a minimal hardware interface. Lacking a physical keyboard, a virtual keyboard is rendered on the touch screen. The iPhone’s functions include those of a camera phone and portable media player (equivalent to the iPod) in addition to text messaging and visual voicemail. It also offers Internet services including e-mail, web browsing, and local Wi-Fi connectivity. The first generation phone hardware was quad-band GSM with EDGE; the second generation also adds UMTS with HSDPA.&lt;br /&gt;&lt;br /&gt;Webvirtue Software Solutions foray into iPhone development in recent times is a clear factor of increasing market demands of individual ideas, corporate business needs and innovative skills.&lt;br /&gt;&lt;br /&gt;We do the following:&lt;br /&gt;&lt;br /&gt;# Custom Applications around Apple iPhone SDK including database applications, SocNet, Quizzes, Calculators.&lt;br /&gt;&lt;br /&gt;# RSS based applications on iPhone, look for Polisa on Apple Store&lt;br /&gt;&lt;br /&gt;# GPS, Geo-Tagging based applications, Photo and Audio recording/playback applications on iPhone&lt;br /&gt;&lt;br /&gt;# Data parser and XML based applications for iPhone&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6859638452259507972-2851013864481576957?l=blog.webvirtue.com' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.webvirtue.com/2008/12/iphone-development.html</link><author>noreply@blogger.com (Atin Kapoor)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-6859638452259507972.post-8890098686233510500</guid><pubDate>Mon, 01 Dec 2008 06:34:00 +0000</pubDate><atom:updated>2008-12-01T12:13:58.916+05:30</atom:updated><title>Google Translate adds 11 new languages.</title><description>&lt;span style="font-family:verdana;font-size:85%;"&gt;Google recently added 11 more languages to Google Translate, making it easier than ever to read web pages in other languages. The newest language additions include Catalan, Serbian, Slovenian, Slovak, Latvian, Filipino, Indonesian, Hebrew, Ukrainian, Lithuanian, and Vietnamese.&lt;br /&gt;For more details visit : &lt;/span&gt;&lt;a target="_blank" href="http://translate.google.com/"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Google Translate&lt;/span&gt;&lt;br /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6859638452259507972-8890098686233510500?l=blog.webvirtue.com' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.webvirtue.com/2008/11/google-translate-adds-11-new-languages.html</link><author>noreply@blogger.com (parvnder)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-6859638452259507972.post-7925079102676122597</guid><pubDate>Fri, 28 Nov 2008 07:25:00 +0000</pubDate><atom:updated>2008-11-28T13:14:52.323+05:30</atom:updated><title>PHP vs. Java. vs. Perl vs. Ruby</title><description>Java still is the hottest programming language searched for (even compared to C++, python, etc.), and that was quite to my surprise. May be Java is not only used in the web development world and I feel this is why it is on top. I can't remember the last time I saw an applet and I don't see much of Java questiosn in web development forums i visit, but stats say it. I feel the interesting part about this graph is that PHP still reigns in internet scripting world, don't see much of Perl and Ruby hardly shows any trend.&lt;br /&gt;&lt;a href="http://www.google.com/trends?q=php,java,perl,ruby" target="_new"&gt;Click here to see the graph&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6859638452259507972-7925079102676122597?l=blog.webvirtue.com' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.webvirtue.com/2008/11/php-vs-java-vs-perl-vs-ruby.html</link><author>noreply@blogger.com (Atin Kapoor)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-6859638452259507972.post-2005269970199506960</guid><pubDate>Thu, 27 Nov 2008 15:38:00 +0000</pubDate><atom:updated>2008-11-28T12:54:40.506+05:30</atom:updated><title>Google Maps API &amp; PHP</title><description>Using a combination of a couple APIs, PHP and Curl you can easily incorporate maps into your website that fairly accurately identify a visitor’s location. Knowing a users location and further being able to map the location has many practical applications. I am going to breakdown the core elements of creating a map just like the one above. I plan on following up soon with more advanced Google Maps examples.&lt;br /&gt;You will need the users’ address to begin. If you run a site that collects that information during registration it can be used for mapping otherwise you can get the users city, state and country by grabbing their IP address and then calling one of the available geocoding APIs available.&lt;br /&gt;&lt;br /&gt;You will also need a Google Maps API key which can be requested from &lt;a href="http://code.google.com/apis/maps/index.html"&gt;http://code.google.com/apis/maps/index.html&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Call the Google API to get the latitude and longitude.&lt;br /&gt;$key = "Your Google Maps API Key";&lt;br /&gt;$address = urlencode($city.", ".$country);&lt;br /&gt;$sturl = 'http://maps.google.com/maps/geo?q=' . $address . '&amp;amp;output=csv&amp;amp;key=' . $key;&lt;br /&gt;$ch = curl_init($sturl);&lt;br /&gt;curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);&lt;br /&gt;curl_setopt($ch,CURLOPT_TIMEOUT,10);&lt;br /&gt;$res = curl_exec($ch);&lt;br /&gt;$resinfo = curl_getinfo($ch);&lt;br /&gt;curl_close($ch);&lt;br /&gt;$res = explode(",",$res);&lt;br /&gt;$latitude = $res[2];&lt;br /&gt;$longitude = $res[3];&lt;br /&gt;&lt;br /&gt;Insert an image tag with the following SRC referencing Google’s API.&lt;br /&gt;http://maps.google.com/staticmap?key=' . $key . '&amp;amp;size=506x280&amp;amp;markers=' . $latitude . ',' . $longitude . '&amp;amp;zoom=3&lt;br /&gt;&lt;br /&gt;This is just the tip of the iceberg. For more details on the API visit the Google documentation at &lt;a href="http://code.google.com/apis/maps/documentation/" target="_blank"&gt;http://code.google.com/apis/maps/documentation/&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6859638452259507972-2005269970199506960?l=blog.webvirtue.com' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.webvirtue.com/2008/11/welcome-to-webvirtue-blog.html</link><author>noreply@blogger.com (Atin Kapoor)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item></channel></rss>