<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Entrepreneur Geek &#187; Technology</title>
	<atom:link href="http://www.mehtanirav.com/categories/technology/feed" rel="self" type="application/rss+xml" />
	<link>http://www.mehtanirav.com</link>
	<description>Nirav Mehta on life, technology and future</description>
	<lastBuildDate>Sat, 21 Aug 2010 21:10:00 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Importing Paypal transactions into Tally accounting software</title>
		<link>http://www.mehtanirav.com/2010/03/24/importing-paypal-transactions-into-tally-accounting-software</link>
		<comments>http://www.mehtanirav.com/2010/03/24/importing-paypal-transactions-into-tally-accounting-software#comments</comments>
		<pubDate>Wed, 24 Mar 2010 17:39:59 +0000</pubDate>
		<dc:creator>Nirav</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[automate]]></category>
		<category><![CDATA[csv]]></category>
		<category><![CDATA[data interchange]]></category>
		<category><![CDATA[excel]]></category>
		<category><![CDATA[export]]></category>
		<category><![CDATA[ledgers]]></category>
		<category><![CDATA[masters]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[paypal]]></category>
		<category><![CDATA[script]]></category>
		<category><![CDATA[tally]]></category>
		<category><![CDATA[vouchers]]></category>

	<!-- AutoMeta Start -->
	<category>tally</category>
	<category>tally</category>
	<!-- AutoMeta End -->
	
		<guid isPermaLink="false">http://www.mehtanirav.com/?p=1175</guid>
		<description><![CDATA[We use Paypal to receive payments from customers. We maintain our financial accounts using Tally. Imagine copying over Paypal transactions into a separate accounting software &#8211; manually. You are creating all ledger accounts one by one. Ensuring spellings are correct, accounting heads are right and you are not missing any names in between. You&#8217;re numb [...]


Related posts:<ol><li><a href='http://www.mehtanirav.com/2010/02/02/entrepreneurs-urge-with-paypal-putler-brings-the-solution' rel='bookmark' title='Permanent Link: Entrepreneur&#8217;s Urge with Paypal, Putler brings the solution'>Entrepreneur&#8217;s Urge with Paypal, Putler brings the solution</a></li>
<li><a href='http://www.mehtanirav.com/2009/09/22/paypal-sales-marketing-activity-trend-spotting' rel='bookmark' title='Permanent Link: Paypal Sales + Marketing Activity Trend Spotting'>Paypal Sales + Marketing Activity Trend Spotting</a></li>
<li><a href='http://www.mehtanirav.com/2010/03/28/twitter-weekly-updates-for-2010-03-28' rel='bookmark' title='Permanent Link: Twitter Weekly Updates for 2010-03-28'>Twitter Weekly Updates for 2010-03-28</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-1176" title="Paypal data import to Tally" src="http://www.mehtanirav.com/wp-content/uploads/2010/03/blog-header.jpg" alt="" width="450" height="100" /></p>
<p><a href="http://www.appsmagnet.com/">We</a> use <a href="http://www.paypal.com/">Paypal</a> to receive payments from customers. We maintain our financial accounts using <a href="http://www.tallysolutions.com/">Tally</a>. <strong>Imagine copying over Paypal transactions into a separate accounting software &#8211; manually.</strong> You are creating all ledger accounts one by one. Ensuring spellings are correct, accounting heads are right and you are not missing any names in between. You&#8217;re numb by the time you&#8217;ve created 500th account, but still have another 500 to go. You drag yourself through the process. Over the next few days, you create sales and receipt vouchers for each sale. But hey, did you forget that the sales are in US Dollars, but income tax returns have to be filed in Indian Rupees? You now convert all amounts to suitable Rupee values. You probably use some Excel formulas to make it easier, but you still need to get those entries in Tally. Few more days of work, uh?</p>
<h3>Urgh&#8230; It would be a nightmare to do this manually</h3>
<p>This is the first financial year where we are submitting our returns, and I wanted to make sure everything is impeccable. My wife has extensive experience with Tally and she told me she could quickly make these entries.</p>
<p>I laughed, I knew it was not so easy, and that she was over optimistic!</p>
<p>There is no way this is done manually, I said to myself.</p>
<h3>Lazy Programmers Automate Things</h3>
<p>Being a lazy programmer, I wanted to automate this. Automating mundane tasks like this has numerous advantage. First, we will save a lot of data entry time (and headache). Second, we will save this time and headache every time in future we wanted to bring our accounts up to date. Third, it will avoid data entry errors. And forth, I will get to learn a bit more of Tally.</p>
<p><em>(To give you a bit of background on this, I have graduated in Commerce with Bookkeeping as my main subject, but I don&#8217;t remember any of it now. I always liked programming better! At the same time, I pity the accountants, seeing them working doubly hard just copying data from one source to another.) </em></p>
<p><strong>It was my long time dream to import data in Tally</strong>. I was always told it&#8217;s possible to export from Tally to Excel, but not vice versa.</p>
<p>Time to break the myths!</p>
<h3>Strategy 1: Import Excel Data to Tally</h3>
<p>I looks around the web to find if someone else had similar problems and came up with some solution. And sure, I found <a href="http://www.rtslink.com/udimagic.htm">UDI Magic by RTSLink</a>.</p>
<p><strong>RTSLink creates excellent software to import Excel to Tally, SQL Server / MySQL / DBF and virtually any database to Tally.</strong> The have a free utility called UDI Magic that allows importing Excel data to Tally.</p>
<p>I felt ecstatic. I found my solution so quickly! The next day, I downloaded UDI Magic and gave it a spin.</p>
<p>I found it worked really well. I could create ledger masters, sales transactions, stock transactions and a lot more with this software. It takes Excel data, converts it to XML and imports it to Tally using RTSLink DLL.</p>
<p>I decided I will convert my Paypal data to CSV. From CSV to Excel in a format UDI Magic can understand. And then to Tally.</p>
<p><strong>This was a perfect solution. But had two problems.</strong></p>
<ol>
<li>I will still need to convert Paypal data into a format UDI Magic could understand</li>
<li>UDI Magic is a trial software. It works for 30 times / 30 days and expires.</li>
</ol>
<p>Now I could keep installing it on different machines whenever I needed or try some other hackery to get around the expiry limitation. But I said, heck, why not be clean? Why not push my conversion system a bit further and convert to Tally XML itself?</p>
<h3>Strategy 2: Solve the problem once and for all &#8211; Write a script to convert Paypal data (residing in MySQL) to UDI XML for Tally</h3>
<p>I thought it would be easy. I know PHP and XML like the back of my hand. I can put together a converter in an hour.</p>
<p>Alas. It was not that quick. It took me 8 hours to write the converter. It still does not handle Purchases (I got tired, and did not have so many purchase transactions). But at the end of the day, <strong>I was able to import close to 600 master ledgers and about 900 vouchers in Tally in under a minute</strong>. That was sweet!</p>
<p>So how does this work?</p>
<h3>Here is an overview</h3>
<ol>
<li>Login to Paypal. Go to History. Download CSV reports &#8211; along with shopping cart details. If it takes too long to download full year&#8217;s transactions, download monthly batches.</li>
<li><strong>Download <a href="http://www.mehtanirav.com/uploads/TallyImportSoftware/PaypalToTally.zip">PaypalToTally.zip</a></strong> &#8211; unzip the contents to your local web server directory</li>
<li>Create paypal_history table in your MySQL DB using paypal_history.sql file.</li>
<li>Import Paypal transactions to this table using phpMyAdmin &#8211; Import Data.</li>
<li>Ensure data is imported correctly. Fix problems if any.</li>
<li>Configure database details and other configuration options in config.inc.php</li>
<li>Make sure &#8220;data&#8221; folder is writeable (chmod 666)</li>
<li>Hit the index.php via browser!</li>
<li>Ensure generated XML files are valid. (You can open them with browser)</li>
<li>Open Tally. Open the company you want to import to.</li>
<li>Import Ledgers using Import Masters option under &#8220;Gateway of Tally&#8221;</li>
<li>Verify it worked.</li>
<li>Import transaction vouchers using &#8220;Import Vouchers&#8221; option</li>
<li>Verify it worked!</li>
<li>Enjoy!</li>
</ol>
<h3>Your Mileage May Vary</h3>
<p><strong>I wrote these scripts to solve a specific problem</strong> &#8211; import sales data from our Paypal account to Tally. Such that Tally shows all customers, their payments and products purchased. You will need to modify these scripts to suit your needs. <strong>These scripts support Web Accept Payments, Shopping Cart Payments and won&#8217;t record Refunded items.</strong> But they won&#8217;t import Purchases or simple Payments Received  / Sent (via Send Money tab in Paypal).</p>
<p>You can modify these scripts to import data from any database. If you add any features, do let me know!</p>
<h3>Common Problems / Troubleshooting</h3>
<ul>
<li>Ensure the financial year is set correctly. Dates in import files must be within current financial year in Tally.</li>
<li>Make sure starting voucher number is set correctly. Vouchers won&#8217;t import otherwise.</li>
<li>If only some of the data gets imported (Tally quits importing at certain percentage), check the imported data. Find out last imported transaction. Locate it in the XML file. You have some problem with the transaction after this.</li>
<li>These scripts don&#8217;t import Purchase information yet.</li>
</ul>
<h3>Free Download</h3>
<p>In a hurry? <strong>Download <a href="../uploads/TallyImportSoftware/PaypalToTally.zip">PaypalToTally.zip</a> from here.<br />
</strong></p>
<h3>References</h3>
<ul>
<li>RTS Link website was extremely helpful. Especially their explanation of <a href="http://www.rtslink.com/Tally-Customization-How-to-link-Sales-Voucher-module-with-Tally-Accounting-Software.htm">Sales vouchers</a> XML and <a href="http://www.rtslink.com/Tally-Linking-Receipt-Voucher-Entry.htm">Receipts XML</a>.</li>
<li>You may need a Tally expert around. My wife cleared some of my confusions about Debit and Credits <img src='http://www.mehtanirav.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </li>
</ul>
<h3>Using Paypal? You may like Putler</h3>
<p>Do you use Paypal for your business? Then you may even like <a href="http://www.appsmagnet.com/paypal/putler/">Putler &#8211; a Paypal Reporting, Monitoring and Planning tool</a>.</p>
<h3>Thank you, share your experiences</h3>
<p>I hope these scripts prove useful to you. Thank you for trying them out! They saved us many days of work. If you like them, post a comment with your experience! </p>


<p>Related posts:<ol><li><a href='http://www.mehtanirav.com/2010/02/02/entrepreneurs-urge-with-paypal-putler-brings-the-solution' rel='bookmark' title='Permanent Link: Entrepreneur&#8217;s Urge with Paypal, Putler brings the solution'>Entrepreneur&#8217;s Urge with Paypal, Putler brings the solution</a></li>
<li><a href='http://www.mehtanirav.com/2009/09/22/paypal-sales-marketing-activity-trend-spotting' rel='bookmark' title='Permanent Link: Paypal Sales + Marketing Activity Trend Spotting'>Paypal Sales + Marketing Activity Trend Spotting</a></li>
<li><a href='http://www.mehtanirav.com/2010/03/28/twitter-weekly-updates-for-2010-03-28' rel='bookmark' title='Permanent Link: Twitter Weekly Updates for 2010-03-28'>Twitter Weekly Updates for 2010-03-28</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.mehtanirav.com/2010/03/24/importing-paypal-transactions-into-tally-accounting-software/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Showing Flex Preloader near the top of your Application</title>
		<link>http://www.mehtanirav.com/2010/03/19/showing-flex-preloader-near-the-top-of-your-application</link>
		<comments>http://www.mehtanirav.com/2010/03/19/showing-flex-preloader-near-the-top-of-your-application#comments</comments>
		<pubDate>Fri, 19 Mar 2010 12:47:52 +0000</pubDate>
		<dc:creator>Nirav</dc:creator>
				<category><![CDATA[Flex & Flash]]></category>
		<category><![CDATA[customize]]></category>
		<category><![CDATA[downloadprogressbar]]></category>
		<category><![CDATA[flex]]></category>
		<category><![CDATA[position]]></category>
		<category><![CDATA[preloader]]></category>
		<category><![CDATA[top]]></category>

	<!-- AutoMeta Start -->
	<category>preloader</category>
	<category>custom</category>
	<category>downloadprogressbar</category>
	<category>initialize</category>
	<category>downloadprogressbar</category>
	<category>override</category>
	<category>mydownloadprogressbar</category>
	<category>mydownloadprogressbar</category>
	<!-- AutoMeta End -->
	
		<guid isPermaLink="false">http://www.mehtanirav.com/?p=1158</guid>
		<description><![CDATA[Flex comes with a reasonably good preloader (DownloadProgressBar) that shows in application center while the swf is loading and initializing. I had an application that is taller than browser&#8217;s view port height. This means the preloader will show below the fold &#8211; making it invisible to users who don&#8217;t scroll down. Even when the preloader [...]


Related posts:<ol><li><a href='http://www.mehtanirav.com/2010/01/17/flex-regular-expression-online-testing-learning-tool' rel='bookmark' title='Permanent Link: Flex Regular Expression Online Testing / Learning Tool'>Flex Regular Expression Online Testing / Learning Tool</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Flex comes with a reasonably good preloader (<strong>DownloadProgressBar</strong>) that shows in application center while the swf is loading and initializing. I had an application that is taller than browser&#8217;s view port height. This means the preloader will show below the fold &#8211; making it invisible to users who don&#8217;t scroll down. Even when the preloader is visible, it &#8220;feels&#8221; it&#8217;s just not in the right position.</p>
<p>I knew I could write some custom preloader, but I did not have the time / need for it. After reading a bit of documentation and diving in the DownloadProgressBar source code, I figured the solution was actually very easy.</p>
<p>Here&#8217;s the custom preloader source code that shows download progress bar for your Flex application near its top.</p>
<p><strong>MyDownloadProgressBar.as</strong></p>
<pre>
package com.components
{
  import flash.events.ProgressEvent;
  import mx.preloaders.DownloadProgressBar;

  public class MyDownloadProgressBar extends DownloadProgressBar
  {
    public function MyDownloadProgressBar()
    {
      super();
      // Set the download label.
      downloadingLabel="Downloading..."
      // Set the initialization label.
      initializingLabel="Initializing..."
    }

    // Override to return true so progress bar appears during initialization.
    override protected function showDisplayForInit(elapsedTime:int, count:int):Boolean {
      return true;
    }

    // Override to return true so progress bar appears during download.
    override protected function showDisplayForDownloading(elapsedTime:int, event:ProgressEvent):Boolean {
      return true;
    }

    // Override initialize so that we can position the loader
    override public function initialize():void {
      super.initialize();
      center(stageWidth, (stageHeight > 250) ? 250 : stageHeight);
    }
  }
}
</pre>
<p>The critical part is <code>initialize</code> function. <code>super.initialize();</code> calls <code>DownloadProgressBar</code>&#8216;s initialization routine &#8211; which centers the preloader. We then call center again, but modifying the height parameter. If application size is more than 250 pixels, the preloader will be centered vertically within 250 pixels from top. </p>
<p>The only other code you need to write to make this work, is to tell your <code>Application</code> to use this preloader.</p>
<pre>
&lt;mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
	preloader="com.components.MyDownloadProgressBar"&gt;
</pre>
<p>Note: Remember to place the first code as <code>MyDownloadProgressBar.as</code> within a <code>com/components</code> folder under your main application.mxml file.</p>
<p>That made me happy! But if you are looking for more, you can also check out:</p>
<ul>
<li><a href="http://www.pathf.com/blogs/2008/08/custom-flex-3-lightweight-preloader-with-source-code/">Custom Flex 3 Lightweight Preloader with source code</a></li>
<li><a href="http://flexdevtips.blogspot.com/2009/03/another-custom-preloader.html">Custom Preloaders</a> and <a href="http://flexdevtips.blogspot.com/2009/03/showing-preloader-again-after-loading.html">Showing the preloader again after loading is finished</a> on Flex and ActionScript Development Tips blog</li>
<li><a href="http://npacemo.com/wordpress/2008/07/06/flex-application-bootstrapping-totally-custom-preloader/">Flex Application Bootstrapping and Totally Custom Preloader</a></li>
<li>And the trusted <a href="http://livedocs.adobe.com/flex/3/html/help.html?content=app_container_4.html">Flex Documentation on DownloadPreogressBar</a></li>
</ul>
<p>Hope you enjoy! </p>


<p>Related posts:<ol><li><a href='http://www.mehtanirav.com/2010/01/17/flex-regular-expression-online-testing-learning-tool' rel='bookmark' title='Permanent Link: Flex Regular Expression Online Testing / Learning Tool'>Flex Regular Expression Online Testing / Learning Tool</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.mehtanirav.com/2010/03/19/showing-flex-preloader-near-the-top-of-your-application/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Flex Regular Expression Online Testing / Learning Tool</title>
		<link>http://www.mehtanirav.com/2010/01/17/flex-regular-expression-online-testing-learning-tool</link>
		<comments>http://www.mehtanirav.com/2010/01/17/flex-regular-expression-online-testing-learning-tool#comments</comments>
		<pubDate>Sun, 17 Jan 2010 12:08:03 +0000</pubDate>
		<dc:creator>Nirav</dc:creator>
				<category><![CDATA[Flex & Flash]]></category>
		<category><![CDATA[JavaScript/CSS]]></category>
		<category><![CDATA[flex]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[regexp]]></category>
		<category><![CDATA[regular expressions]]></category>

	<!-- AutoMeta Start -->
	<category></category>
	<!-- AutoMeta End -->
	
		<guid isPermaLink="false">http://www.mehtanirav.com/?p=1131</guid>
		<description><![CDATA[When it comes to Regular Expressions, I start feeling giddy. Even after using them a lot on many projects, I never remember the qualifiers and syntax. It&#8217;s always RTFM for me when I need to use some regular expressions in my code. And that happened again today. I looked around the manual and searched online [...]


Related posts:<ol><li><a href='http://www.mehtanirav.com/2009/09/22/paypal-sales-marketing-activity-trend-spotting' rel='bookmark' title='Permanent Link: Paypal Sales + Marketing Activity Trend Spotting'>Paypal Sales + Marketing Activity Trend Spotting</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>When it comes to Regular Expressions, I start feeling giddy. Even after using them a lot on many projects, I never remember the qualifiers and syntax. It&#8217;s always RTFM for me when I need to use some regular expressions in my code.</p>
<p>And that happened again today. I looked around the manual and searched online for a &#8220;quick fix&#8221; on the regular expression I needed. And I found a very interesting online Regular Expression trial / demo / learn by exploring tool. It&#8217;s made in Flex (and I needed RegExp for Flex) and helped me develop the RegExp I needed in a couple of minutes. (ok, I am still slow, but I found it!)</p>
<p>Thank you Remus Stratulat for creating this useful tool! BTW, he also has a similar tool for <a href="http://www.stratulat.com/Regular_Expressions_JavaScript.html">JavaScript Regular Expressions</a>.</p>
<p>Click on the image below or <a href="http://www.stratulat.com/Regular_Expressions_Flex.html">here and jump to online regular expression checking tool</a>.</p>
<div id="attachment_1132" class="wp-caption alignnone" style="width: 410px"><a href="http://www.stratulat.com/Regular_Expressions_Flex.html"><img class="size-full wp-image-1132" title="Flex-Regular-Expression-Tool" src="http://www.mehtanirav.com/wp-content/uploads/2010/01/Flex-Regular-Expression-Tool.gif" alt="Online Regular Expression Checking Tool for Flex and JavaScript" width="400" height="225" /></a><p class="wp-caption-text">Online Regular Expression Checking Tool for Flex and JavaScript</p></div>


<p>Related posts:<ol><li><a href='http://www.mehtanirav.com/2009/09/22/paypal-sales-marketing-activity-trend-spotting' rel='bookmark' title='Permanent Link: Paypal Sales + Marketing Activity Trend Spotting'>Paypal Sales + Marketing Activity Trend Spotting</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.mehtanirav.com/2010/01/17/flex-regular-expression-online-testing-learning-tool/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Finding number of lines in files recursively</title>
		<link>http://www.mehtanirav.com/2009/12/25/finding-number-of-lines-in-files-recursively</link>
		<comments>http://www.mehtanirav.com/2009/12/25/finding-number-of-lines-in-files-recursively#comments</comments>
		<pubDate>Fri, 25 Dec 2009 04:37:51 +0000</pubDate>
		<dc:creator>Nirav</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[GNU/Linux]]></category>
		<category><![CDATA[shell]]></category>
		<category><![CDATA[tips]]></category>
		<category><![CDATA[wc]]></category>

	<!-- AutoMeta Start -->
	<!-- AutoMeta End -->
	
		<guid isPermaLink="false">http://www.mehtanirav.com/?p=1125</guid>
		<description><![CDATA[I wanted to find the number of lines from a set of files &#8211; spread out in nested directories. The shell command &#8220;wc&#8221; is best for finding number of words / lines in files but it does not have an argument for recursive searching. Here&#8217;s a quick shell command sequence that will find you the [...]


No related posts.]]></description>
			<content:encoded><![CDATA[<p>I wanted to find the number of lines from a set of files &#8211; spread out in nested directories. The shell command &#8220;wc&#8221; is best for finding number of words / lines in files but it does not have an argument for recursive searching.</p>
<p>Here&#8217;s a quick shell command sequence that will find you the line count from all files in a directory &#8211; recursively.</p>
<p><code>find /topleveldirectory/ -type f -exec wc -l {} \; | awk '{total += $1} END{print total}'</code></p>
<p>Replace &#8220;/topleveldirectory/&#8221; with your directory of choice. Leave it as &#8220;.&#8221; to find from current directory and below.</p>
<p><small><em>Found on <a href="http://www.unix.com/unix-dummies-questions-answers/33319-recursive-wc-directory.html">Unix.com</a></em></small> </p>


<p>No related posts.</p>]]></content:encoded>
			<wfw:commentRss>http://www.mehtanirav.com/2009/12/25/finding-number-of-lines-in-files-recursively/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Coding Clean and Semantic Templates</title>
		<link>http://www.mehtanirav.com/2009/12/17/coding-clean-and-semantic-templates</link>
		<comments>http://www.mehtanirav.com/2009/12/17/coding-clean-and-semantic-templates#comments</comments>
		<pubDate>Thu, 17 Dec 2009 05:26:44 +0000</pubDate>
		<dc:creator>Nirav</dc:creator>
				<category><![CDATA[JavaScript/CSS]]></category>
		<category><![CDATA[Recommended Reading]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[semantic]]></category>
		<category><![CDATA[tips]]></category>

	<!-- AutoMeta Start -->
	<!-- AutoMeta End -->
	
		<guid isPermaLink="false">http://www.mehtanirav.com/?p=1123</guid>
		<description><![CDATA[If you are the guy who uses&#60;div&#62; tag for everything, this post is for you. It focuses on how you can write clean HTML code by using semantic markups and minimize the use of &#60;div&#62; tag. Have you ever edited someone’s templates, don’t those messy tags drive you crazy? Not only writing clean templates can [...]


No related posts.]]></description>
			<content:encoded><![CDATA[<p>If you are the guy who uses<code>&lt;div&gt;</code> tag for everything, this post is for you. It focuses on how you can write clean HTML code by using semantic markups and minimize the use of <code>&lt;div&gt;</code> tag. Have you ever edited someone’s templates, don’t those messy tags drive you crazy? Not only writing clean templates can benefit yourself, but your team as well. It will save you time when you have to debug and edit (particularly the large projects).</p>
<p>This post is a collection of some simple yet effective techniques. <strong><a href="http://www.webdesignerwall.com/tutorials/coding-clean-and-semantic-templates/">Read all tips over on Web Designer Wall.</a></strong> </p>


<p>No related posts.</p>]]></content:encoded>
			<wfw:commentRss>http://www.mehtanirav.com/2009/12/17/coding-clean-and-semantic-templates/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>AIR 2, Microsoft future UI and iCheckbox</title>
		<link>http://www.mehtanirav.com/2009/11/14/air-2-microsoft-future-ui-and-icheckbox</link>
		<comments>http://www.mehtanirav.com/2009/11/14/air-2-microsoft-future-ui-and-icheckbox#comments</comments>
		<pubDate>Fri, 13 Nov 2009 22:00:39 +0000</pubDate>
		<dc:creator>Nirav</dc:creator>
				<category><![CDATA[Flex & Flash]]></category>
		<category><![CDATA[AIR]]></category>
		<category><![CDATA[flex]]></category>
		<category><![CDATA[microsoft]]></category>
		<category><![CDATA[UI]]></category>

	<!-- AutoMeta Start -->
	<category></category>
	<!-- AutoMeta End -->
	
		<guid isPermaLink="false">http://www.mehtanirav.com/?p=1099</guid>
		<description><![CDATA[Adobe AIR 2.0 Beta out &#8211; list of new features Adobe released a beta of the next version of AIR &#8211; AIR 2. Christian Cantrell posted an exhaustive list of everything that&#8217;s new in AIR 2.0. The list is impressive, and includes some things we&#8217;ve been thinking about &#8211; audio recording, calling native apps, multi [...]


Related posts:<ol><li><a href='http://www.mehtanirav.com/2009/09/05/test-your-site-across-multiple-browsers-with-adobe-browserlabs' rel='bookmark' title='Permanent Link: Test your site across multiple browsers with Adobe BrowserLabs'>Test your site across multiple browsers with Adobe BrowserLabs</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<h3>Adobe AIR 2.0 Beta out &#8211; list of new features</h3>
<p>Adobe released a beta of the next version of AIR &#8211; AIR 2. <a href="http://blogs.adobe.com/cantrell/archives/2009/10/everything_new_in_air_2.html">Christian Cantrell posted an exhaustive list of everything that&#8217;s new in AIR 2.0</a>. The list is impressive, and includes some things we&#8217;ve been thinking about &#8211; audio recording, calling native apps, multi touch and many more. The <strong>number of AIR applications on my computer is rising</strong>, and looking at this list, I can tell the number is just going higher.</p>
<p>Are you an AIR developer? What do you like the most in that feature list?</p>
<h3>Microsoft too can build good UI &#8211; here&#8217;s a &#8220;sixth sensy&#8221; demo</h3>
<p>So everyone who&#8217;s worth their salt is working on gestures and eye tracking and other &#8211; more natural &#8211; ways of interacting with a computer. Two interesting videos here that demonstrate pen, audio, gesture and eye tracking input. Good show Microsoft, I say.</p>
<p><a href="http://www.youtube.com/watch?v=Yw920d58xLs&amp;feature=player_embedded">Craig Mundie demonstrates future UI &#8211; part 1</a> and <a href="http://www.youtube.com/watch?v=M1ToI_GuoJQ&amp;feature=player_embedded">part 2</a>.</p>
<h3>Did you fall in love with the slider toggle button on iPhone? Now you can use if in Flex</h3>
<p><a href="http://srinivasannam.wordpress.com/2009/11/13/icheckbox-iphone-switch-for-flex/">Srinivas Annam has built an iPhone style switch component for Flex &#8211; iCheckbox</a>. Looks nice and is worth a try. I am sure users find it easier to use than a checkbox. </p>


<p>Related posts:<ol><li><a href='http://www.mehtanirav.com/2009/09/05/test-your-site-across-multiple-browsers-with-adobe-browserlabs' rel='bookmark' title='Permanent Link: Test your site across multiple browsers with Adobe BrowserLabs'>Test your site across multiple browsers with Adobe BrowserLabs</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.mehtanirav.com/2009/11/14/air-2-microsoft-future-ui-and-icheckbox/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Smart Usability: Remember password, not username</title>
		<link>http://www.mehtanirav.com/2009/11/04/smart-usability-remember-password-not-username</link>
		<comments>http://www.mehtanirav.com/2009/11/04/smart-usability-remember-password-not-username#comments</comments>
		<pubDate>Wed, 04 Nov 2009 11:44:59 +0000</pubDate>
		<dc:creator>Nirav</dc:creator>
				<category><![CDATA[Experiences]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[usability]]></category>
		<category><![CDATA[web development]]></category>

	<!-- AutoMeta Start -->
	<!-- AutoMeta End -->
	
		<guid isPermaLink="false">http://www.mehtanirav.com/?p=1089</guid>
		<description><![CDATA[&#8220;Remember Me&#8221; options typically remember both username and passwords. Some sites remember your username and ask you to enter the password every time you login. I saw that Plesk control panel remembers your password and asks you to enter the username. That&#8217;s a really smart trick. It&#8217;s much easier for me to remember my username [...]


No related posts.]]></description>
			<content:encoded><![CDATA[<div id="attachment_1090" class="wp-caption alignnone" style="width: 474px"><img src="http://www.mehtanirav.com/wp-content/uploads/2009/11/plesk-remembers-password-not-username.jpg" alt="Remember Passwords, Not Usernames" title="plesk-remembers-password-not-username" width="464" height="258" class="size-full wp-image-1090" /><p class="wp-caption-text">Remember Passwords, Not Usernames</p></div>
<p>&#8220;Remember Me&#8221; options typically remember both username and passwords. Some sites remember your username and ask you to enter the password every time you login.</p>
<p>I saw that Plesk control panel remembers your password and asks you to enter the username. </p>
<p>That&#8217;s a really smart trick. It&#8217;s much easier for me to remember my username than my password. Someone who gets access to the computer will have to know my username to get in. It&#8217;s a good enough protection I think!</p>
<p>Anyone else on this? What do you think? Should we remember passwords or usernames?  </p>


<p>No related posts.</p>]]></content:encoded>
			<wfw:commentRss>http://www.mehtanirav.com/2009/11/04/smart-usability-remember-password-not-username/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Test your site across multiple browsers with Adobe BrowserLabs</title>
		<link>http://www.mehtanirav.com/2009/09/05/test-your-site-across-multiple-browsers-with-adobe-browserlabs</link>
		<comments>http://www.mehtanirav.com/2009/09/05/test-your-site-across-multiple-browsers-with-adobe-browserlabs#comments</comments>
		<pubDate>Sat, 05 Sep 2009 07:24:26 +0000</pubDate>
		<dc:creator>Nirav</dc:creator>
				<category><![CDATA[Flex & Flash]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[adobe]]></category>
		<category><![CDATA[browsers]]></category>
		<category><![CDATA[testing]]></category>

	<!-- AutoMeta Start -->
	<!-- AutoMeta End -->
	
		<guid isPermaLink="false">http://www.mehtanirav.com/?p=1068</guid>
		<description><![CDATA[Web designers and developers are always challenged by the diversity of browsers (each with its own quirks). It&#8217;s generally a time consuming and error prone process. Requires someone with a skilled eye to spot the problems. Now, Adobe has simplified that process with BrowserLabs. You can see multiple browsers side by side, and can even [...]


No related posts.]]></description>
			<content:encoded><![CDATA[<div id="attachment_1067" class="wp-caption aligncenter" style="width: 410px"><a href="https://browserlab.adobe.com/"><img class="size-full wp-image-1067" title="browserlab_screen_small" src="http://www.mehtanirav.com/wp-content/uploads/2009/09/browserlab_screen_small.jpg" alt="Adobe BrowserLabs" width="400" height="141" /></a><p class="wp-caption-text">Compare multiple browsers side by side - Adobe BrowserLabs</p></div>
<p>Web designers and developers are always challenged by the diversity of browsers (each with its own <a href="http://www.quirksmode.org/">quirks</a>). It&#8217;s generally a time consuming and error prone process. Requires someone with a skilled eye to spot the problems.</p>
<p>Now, Adobe has simplified that process with <strong><a href="https://browserlab.adobe.com/">BrowserLabs</a></strong>. You can see multiple browsers side by side, and can even overlay them to quickly spot differences. It&#8217;s free now and worth a try. Check it out. </p>


<p>No related posts.</p>]]></content:encoded>
			<wfw:commentRss>http://www.mehtanirav.com/2009/09/05/test-your-site-across-multiple-browsers-with-adobe-browserlabs/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Fixing bad XML, any recommendations?</title>
		<link>http://www.mehtanirav.com/2009/08/19/fixing-bad-xml-any-recommendations</link>
		<comments>http://www.mehtanirav.com/2009/08/19/fixing-bad-xml-any-recommendations#comments</comments>
		<pubDate>Wed, 19 Aug 2009 11:42:12 +0000</pubDate>
		<dc:creator>Nirav</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[cleanup]]></category>
		<category><![CDATA[diff]]></category>
		<category><![CDATA[htmLawed]]></category>
		<category><![CDATA[tidy]]></category>
		<category><![CDATA[xml]]></category>

	<!-- AutoMeta Start -->
	<!-- AutoMeta End -->
	
		<guid isPermaLink="false">http://www.mehtanirav.com/?p=1062</guid>
		<description><![CDATA[I am using Text_Diff classes of PHP to generate differences between two XML documents. The output is not always valid XML &#8211; tag nesting is not always correct. This happens because my source files are XML and have their own tags. When Text_Diff inserts its own &#60;ins&#62; and &#60;del&#62; tags around the changed text, it [...]


No related posts.]]></description>
			<content:encoded><![CDATA[<p>I am using <a href="http://pear.php.net/package/Text_Diff/">Text_Diff</a> classes of PHP to generate differences between two XML documents. The output is <strong>not</strong> always valid XML &#8211; tag nesting is not always correct. This happens because my source files are XML and have their own tags. When Text_Diff inserts its own <code>&lt;ins&gt;</code> and <code>&lt;del&gt;</code> tags around the changed text, it messes up the tag hierarchy at times.</p>
<p><strong>I am looking for a clean, fast and safe way to fix such invalid XML. Do you have any recommendations?<br />
</strong></p>
<p>I have looked at <a href="http://tidy.sourceforge.net/">Tidy</a>, it&#8217;s <a href="http://in2.php.net/manual/en/book.tidy.php">PHP library</a> and <a href="http://www.bioinformatics.org/phplabware/internal_utilities/htmLawed/">htmLawed</a>. I liked htmLawed since it&#8217;s pure PHP implementation, but don&#8217;t know how fast it is compared to Tidy. Moreover, I need an XML cleaner, not necessarily XHTML cleaner. So even if I use these libraries, I will have to strip out the HTML parts from the output.</p>
<p><strong>Do you have any suggestions / recommendations?</strong> </p>


<p>No related posts.</p>]]></content:encoded>
			<wfw:commentRss>http://www.mehtanirav.com/2009/08/19/fixing-bad-xml-any-recommendations/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Live Scribe &#8211; Amazing Writing Technology &#8211; Never Miss A Word</title>
		<link>http://www.mehtanirav.com/2009/08/11/live-scribe-amazing-writing-technology-never-miss-a-word</link>
		<comments>http://www.mehtanirav.com/2009/08/11/live-scribe-amazing-writing-technology-never-miss-a-word#comments</comments>
		<pubDate>Tue, 11 Aug 2009 11:08:38 +0000</pubDate>
		<dc:creator>Nirav</dc:creator>
				<category><![CDATA[Recommended Reading]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[innovations]]></category>
		<category><![CDATA[live scribe]]></category>
		<category><![CDATA[smart pen]]></category>

	<!-- AutoMeta Start -->
	<!-- AutoMeta End -->
	
		<guid isPermaLink="false">http://www.mehtanirav.com/?p=1058</guid>
		<description><![CDATA[I have trained my eyes to skip all ads on a web page. But today, I saw something I had to click! Live Scribe is a pen, an audio recorder and much beyond that. It records everything you write, scribble and draw. Along with audio. You can then play it back from anywhere. You can [...]


No related posts.]]></description>
			<content:encoded><![CDATA[<p>I have trained my eyes to skip all ads on a web page. But today, I saw something I had to click!</p>
<p>Live Scribe is a pen, an audio recorder and much beyond that. It records everything you write, scribble and draw. Along with audio. You can then play it back from anywhere. You can even search what you wrote and share your recordings / notes with others. It&#8217;s amazing!</p>
<div id="attachment_1059" class="wp-caption aligncenter" style="width: 450px"><a href="http://www.livescribe.com/smartpen/"><img class="size-full wp-image-1059" title="Live Scribe Pulse Smart Pen" src="http://www.mehtanirav.com/wp-content/uploads/2009/08/pulse_paper.jpg" alt="Live Scribe Pulse Smart Pen" width="440" height="307" /></a><p class="wp-caption-text">Live Scribe Pulse Smart Pen</p></div>
<p>This is a great tool for students, journalists and anyone who would like to record everything from a meeting. Even great for brainstorming sessions!</p>
<p>The 2GB pen is $199, 1GB is $149. A refill costs $5.95.</p>
<p>Would make a nice gift, isn&#8217;t it?</p>
<p>What say? </p>


<p>No related posts.</p>]]></content:encoded>
			<wfw:commentRss>http://www.mehtanirav.com/2009/08/11/live-scribe-amazing-writing-technology-never-miss-a-word/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
