<?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>FaltuFunda</title>
	<atom:link href="http://www.faltufunda.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.faltufunda.com</link>
	<description>technical blogs</description>
	<lastBuildDate>Mon, 05 Jul 2010 17:01:21 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>ERP for educational institutions</title>
		<link>http://www.faltufunda.com/2010/07/erp-for-educational-institutions/</link>
		<comments>http://www.faltufunda.com/2010/07/erp-for-educational-institutions/#comments</comments>
		<pubDate>Sun, 04 Jul 2010 17:33:16 +0000</pubDate>
		<dc:creator>rakesh aggarwal</dc:creator>
				<category><![CDATA[Articles]]></category>
		<category><![CDATA[erp for educational institutions]]></category>
		<category><![CDATA[open source erp]]></category>
		<category><![CDATA[school management erp]]></category>

		<guid isPermaLink="false">http://www.faltufunda.com/?p=92</guid>
		<description><![CDATA[a need to develop open source complete erp for educational institutions even the paid one]]></description>
			<content:encoded><![CDATA[<p>In the market lot&#8217;s of course planner, student tracking systems, attendance management system, lms are available as open source, but, still education segment lack of any good complete erp solution. There are a few paid solutions web based and desktop based as well are available. These erps are unable to capture big market and persuade school management to buy their products. Some time these don&#8217;t fulfill all the requirements of schools and more of the times it&#8217;s about cost.</p>
<p>More of the educational institutions have their unique requirements and it&#8217;s very difficult to create a generic solution which can cater to all needs of more of the institutions. <a href="http://www.schoolsonweb.com" target="_new"> www.shcoolsonweb.com</a> have tried to provide such a solution, but still it does not contains all the modules required. From my 6years of experience in education industry, i feel lack of a good open source or cost effective erp for educational institutions, the generic one. </p>
<p>A complete erp solution for educational institutions will have lot&#8217;s of modules to fill all the requirements, I can list a few </p>
<ol>
<li> Admission Management</li>
<li> Entrance exams management</li>
<li> Student Management</li>
<li> Identity card/biometric solution management</li>
<li>Attendance Management</li>
<li>Teachers time table management</li>
<li>Employee Management</li>
<li>class/course management</li>
<li>Exam management</li>
<li>Marks sheet publishing</li>
<li>Parents-teacher meet management</li>
<li>Events Management</li>
<li>sports management</li>
<li>vehicle management</li>
<li>hostel management</li>
<li>house management</li>
<li>Accounts management</li>
<li>Payroll Management</li>
<li>Fees Management</li>
<li>Library Management</li>
<li>Laboratory Management</li>
<li>News letter management</li>
<li>News Management</li>
<li>Notice board management</li>
<li>Article management</li>
<li>Discussion Forums Management</li>
<li>Photo gallery managment</li>
<li>Inventory management</li>
<li>Point of sale</li>
<li>Asset management</li>
<li>Alumni management</li>
</ol>
<p>really overwhelming list of modules. In this list, fees management, course/class management and exam management modules are very difficult to be generic as each institutions across the globe have their unique requirements. It&#8217;s very difficult to crate all these modules in a generic fashion by a single entity and even if that is created successfully it will not be cost effective.</p>
<p>We&#8217;ve to think of a different model for such a big system. If you see all the modules, we can separate it in to three major section according to their needs.</p>
<p><strong>Basic modules</strong> : these modules are very basic entities of the system and needs to work this system. It can include, <strong>student management</strong>, <strong>fees management system</strong>, <strong>class/course management system</strong> educational institutions erp can start with these basic modules. They will provide a bare minimum facility of getting students report class wise and collecting fees.</p>
<p><strong>Moderately required </strong> : these management systems are moderately required and these will add some core functionalities. for example <strong>employee management</strong>, <strong>attendance management</strong>, <strong>exam management</strong>, <strong>vehicle management</strong>, <strong>library management</strong>, <strong>marks sheet publishing</strong>, <strong>hostel management</strong>, <strong>accounts, payroll</strong>, <strong>admission management</strong> these modules will all add a unique facility for institutions. But any institution can opt to not use that facility and still continue to use erp. Adding any of these module will be a step towards automation and institutes can go to any level of automation.</p>
<p><strong>Optional modules</strong> : these modules are really optional and doesn&#8217;t add in any core facility to institutions. These are a value additions to institutions. <strong>news letter management</strong> , <strong>event management</strong>, <strong>news management</strong>, <strong>article management</strong>, <strong>discussion forums</strong>, <strong>Alumni management</strong> etc.</p>
<p>Even today i don&#8217;t know any such erp which provides these full list of modules. The one &#8220;Literom&#8221; by &#8220;dreamteam technologies, India&#8221; is a close match, but still some are missing. In increasing facility of networking and information technologies, every one wants to be connected every time and it is possible to provide information of students activities to parents instantly. So, it is even now required erp to be accessible in both intranet and internet.</p>
<p>Education industry is a growing at fast pace and have numerous options of business. But, having good solution matching every ones needs is a must.</p>
<p>In my opinion an erp and specifically open source erp can be planned by starting with very basic modules and a plug and play functionality for other modules. With this model, any institution can start with basic modules and that will provide a bare minimum support to management like students in classes and fees reports. Adding each of moderately required modules will provide a new core functionality and institution will move from less automation to full automation. But a strong community is required to develop such a big solution.</p>
<p>I wish, to have such a community support to develop this solution and provide facility to educational institutions of any size to move towards automation and get benefited by innovations in IT sectors and communities.</p>
<p>thanks </p>
]]></content:encoded>
			<wfw:commentRss>http://www.faltufunda.com/2010/07/erp-for-educational-institutions/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>new in html5</title>
		<link>http://www.faltufunda.com/2010/06/new-in-html5/</link>
		<comments>http://www.faltufunda.com/2010/06/new-in-html5/#comments</comments>
		<pubDate>Sat, 19 Jun 2010 12:05:44 +0000</pubDate>
		<dc:creator>rakesh aggarwal</dc:creator>
				<category><![CDATA[web programming]]></category>
		<category><![CDATA[canvas]]></category>
		<category><![CDATA[html4]]></category>
		<category><![CDATA[new input elements]]></category>

		<guid isPermaLink="false">http://www.faltufunda.com/?p=85</guid>
		<description><![CDATA[New functionalities provided in html5]]></description>
			<content:encoded><![CDATA[<p><code><br />
<h2>about html5</h2>
<p></code><br />
HTML4 is doing lot much for us, but that was not enough. So, everybody is doing this or that stimulate many controls in some other way, like input type text as date, time and much more. HTML5 has learned from all this user experiences and tried to make programmers life easier. HTML5 added all these new input types in basic html so, not need of js to do it and much more. Let&#8217;s see one by one each features of html5<br />
<code>
<div class="code">
  &lt;canvas&gt;
</div>
<p></code></p>
<div style="color:#c00;">Note:browser support mozilla, chrome, safari</div>
<p>canvas tag is new to html5 and supports 2d drawing that can be controlled easily using javascript.<br />
Defining canvas element is as easy as defining a div with all properties and styles. for example<br />
<code>
<div class="code">
  &lt;canvas style="border:1px solid red;height:100px;width:300px;"&gt;&lt;/canvas&gt;
</div>
<p></code><br />
<canvas style="border:1px solid red;height:100px;width:300px;" id="canvas"></canvas></p>
<p>Once canvas is created it can be easily controlled using javascript functions.</p>
<p><code>
<div class="code">
  &lt;script language="javascript"&gt;<br />
  var c = document.getElementById('canvas');<br />
  cContext = c.getContext('2d');<br />
  cContext.fillStyle = 'yellow';<br />
  cContext.fillRect(10,10,200,150);<br />
  &lt;/script&gt;
</div>
<p></code><br />
  <script language="javascript">
  var c = document.getElementById('canvas');
  cContext = c.getContext('2d');
  cContext.fillStyle = 'yellow';
  cContext.fillRect(10,10,200,150);
  </script><br />
Commonly used function for context 2d api are</p>
<ul>
<li><b>moveTo(x,y)</b></li>
<li><b>lineTo(x,y)</b></li>
<li><b>strokeRect(x,y,width,height)</b></li>
<li><b>lineTo(x,y)</b></li>
<li><b>beginPath()</b></li>
<li><b>closePath()</b></li>
<li><b>save()</b></li>
<li><b>restore()</b></li>
<li><b>fill()</b></li>
<li><b>stroke()</b></li>
</ul>
<p><code>
<div class="code">
  &lt;video&gt;
</div>
<p></code></p>
<p>Embedding video/audio is now very easy with video and audio tag. It&#8217;s as easy as embedding an image file. Video tag has attributes</p>
<ul>
<li><b>src</b></li>
<li><b>poster</b></li>
<li><b>preload</b></li>
<li><b>autoplay</b></li>
<li><b>loop</b></li>
<li><b>controls</b></li>
<li><b>width</b></li>
<li><b>height</b></li>
</ul>
<p><code>
<div class="code">
  &lt;audio&gt;
</div>
<p></code><br />
Audio is similar to video tag, except it is for audio. ( don&#8217;t know why)</p>
<p><code><br />
<h2>New structural elements</h2>
<p></code></p>
<p>HTML provided building blocks for structures but no structure element, html5 now provided some new structural elements so, it made easy to create a site template and design elements.</p>
<p><code>
<div class="code">
  &lt;section&gt;,   &lt;header&gt; ,   &lt;footer&gt;,   &lt;nav&gt;,  &lt;article&gt;,
</div>
<p></code></p>
<p>Generally a html page is created as following</p>
<p><code>
<div class="code">
&lt;html&gt;<br />
  &lt;head&gt;<br />
    &lt;title&gt;title&lt;/title&gt;<br />
    &lt;style type=&quot;text/css&quot;&gt;<br />
      *{border:1px solid red;margin:2px;}<br />
    &lt;/style&gt;<br />
  &lt;/head&gt;<br />
  &lt;body&gt;<br />
    &lt;div id=&quot;header&quot;&gt;<br />
      &lt;h1&gt;Header elements&lt;/h1&gt;<br />
    &lt;/div&gt;<br />
    &lt;div id=&quot;content&quot;&gt;<br />
      &lt;div class=&quot;article&quot;&gt;article content&lt;/div&gt;<br />
      &lt;div class=&quot;article&quot;&gt;article content&lt;/div&gt;<br />
      &lt;div class=&quot;article&quot;&gt;article content&lt;/div&gt;<br />
    &lt;/div&gt;<br />
    &lt;div id=&quot;navigation&quot;&gt;<br />
      &lt;ul&gt;<br />
        &lt;li&gt;&lt;a href=&quot;#&quot;&gt;link&lt;/a&gt;&lt;/li&gt;<br />
        &lt;li&gt;&lt;a href=&quot;#&quot;&gt;link&lt;/a&gt;&lt;/li&gt;<br />
        &lt;li&gt;&lt;a href=&quot;#&quot;&gt;link&lt;/a&gt;&lt;/li&gt;<br />
      &lt;/ul&gt;<br />
    &lt;/div&gt;<br />
    &lt;div id=&quot;footer&quot;&gt;<br />
      footer dataa<br />
    &lt;/div&gt;<br />
  &lt;/body&gt;<br />
&lt;/html&gt;</div>
<p></code></p>
<p>Here we are making div behave as structural element with the help of css. It becomes a mess of so many divs. Now with html5, we can write it simply </p>
<p><code>
<div class="code">
&lt;html&gt;<br />
  &lt;head&gt;<br />
    &lt;title&gt;title&lt;/title&gt;<br />
    &lt;style type=&quot;text/css&quot;&gt;<br />
      *{border:1px solid red;margin:2px;}<br />
    &lt;/style&gt;<br />
  &lt;/head&gt;<br />
  &lt;body&gt;<br />
    &lt;header&gt;<br />
      &lt;h1&gt;Header elements&lt;/h1&gt;<br />
    &lt;/header&gt;<br />
    &lt;section&gt;<br />
      &lt;article&gt;article content&lt;/article&gt;<br />
      &lt;article&gt;article content&lt;/article&gt;<br />
      &lt;article&gt;article content&lt;/article&gt;<br />
    &lt;/section&gt;<br />
    &lt;nav&gt;<br />
      &lt;ul&gt;<br />
        &lt;li&gt;&lt;a href=&quot;#&quot;&gt;link&lt;/a&gt;&lt;/li&gt;<br />
        &lt;li&gt;&lt;a href=&quot;#&quot;&gt;link&lt;/a&gt;&lt;/li&gt;<br />
        &lt;li&gt;&lt;a href=&quot;#&quot;&gt;link&lt;/a&gt;&lt;/li&gt;<br />
      &lt;/ul&gt;<br />
    &lt;/nav&gt;<br />
    &lt;footer&gt;<br />
      footer dataa<br />
    &lt;/footer&gt;<br />
  &lt;/body&gt;<br />
&lt;/html&gt;
</div>
<p></code></p>
<p>so , creating site specific elements for structure of html is not required. standard elements are provided, so a standard css can be created. Default behavior of these elements are they sits in their own line. But semantically also, you have to put them in the sequence you want to show them in the browser.</p>
<p>A few block level elements have also been added<br />
<code>
<div class="code">
&lt;aside&gt;,   &lt;figure&gt;
</div>
<p></code></p>
<p>The <b>aside</b> element represents a note, a tip, a sidebar, a pullquote, a parenthetical remark, or something that&#8217;s just outside the main flow of the narrative. We can make css, to make browser place this element at proper location.</p>
<p><strong>figure</strong><br />
The figure element represents a block-level image, along with a caption. so, now no need to create tricky css for displaying title, or caption with image it can be done easily with figure element.</p>
<p><code>
<div class="code">
  &lt;figure&gt;<br />
    &lt;legend&gt;Image caption&lt;/legend&gt;<br />
    &lt;img src=&quot;&quot; /&gt;<br />
  &lt;/figure&gt;</div>
<p></code></p>
<p><b>dialog</b> element is used to display conversation between several persons. element <strong>dt</strong> is loaded with speakers and element <strong>dd</strong> is loaded with speech.</p>
<p><code><br />
<h2>New inline elements</h2>
<p></code></p>
<div class="code">
  &lt;mark&gt;<br />
  &lt;time&gt;<br />
  &lt;meter&gt;<br />
  &lt;progress&gt;
</div>
<p><strong>mark  &lt;m&gt;</strong> element is just to mark some text in content on a page. It&#8217;s like highlighting some text in book.</p>
<p><strong>time</strong>, <strong>datetime</strong> these elements do not have any special attributes, these are just to identify time and date time content in whole page content. More useful or non visual devices, like robots.</p>
<p><strong>meter</strong> is to identify a numeric content in the page. meter can have up to six attributes to describe the value more accurately to machine readable format.</p>
<ul>
<li>value</li>
<li>min</li>
<li>low</li>
<li>high</li>
<li>max</li>
<li>optimum</li>
</ul>
<p><strong>progress</strong></p>
<p><code><br />
<h2>New input elements</h2>
<p></code></p>
<p><code>
<div class="code">
  <b>datetime</b><br />
  <b>date</b><br />
  <b>month</b><br />
  <b>week</b><br />
  <b>time</b><br />
  <b>number</b><br />
  <b>range</b><br />
  <b>email</b><br />
  <b>url</b>
</div>
<p></code></p>
<p><code><br />
<h2>Dropped elements</h2>
<p></code></p>
<p><code>
<div class="code">
  <b>acronym</b><br />
  <b>applet</b><br />
  <b>basefont</b><br />
  <b>big</b><br />
  <b>center</b><br />
  <b>dir</b><br />
  <b>font</b><br />
  <b>frame</b><br />
  <b>frameset</b><br />
  <b>isindex</b><br />
  <b>noframes</b><br />
  <b>noscript</b><br />
  <b>s</b><br />
  <b>strike</b><br />
  <b>tt</b><br />
  <b>u</b>
</div>
<p></code></p>
<p><code><br />
<h2>Character encoding</h2>
<p></code><br />
&lt;meta charset=&#8221;UTF-8&#8243; &gt;</p>
<p><code><br />
<h2>New interactive elements</h2>
<p></code></p>
<p><code>
<div class="code">
  &lt;details&gt;<br />
  &lt;datagrid&gt;<br />
  &lt;menu&gt;
</div>
<p></code></p>
<p><code><br />
<h2>New dtd</h2>
<p></code></p>
<p>explain more in next post.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.faltufunda.com/2010/06/new-in-html5/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>css3 continued</title>
		<link>http://www.faltufunda.com/2010/06/css3-continued/</link>
		<comments>http://www.faltufunda.com/2010/06/css3-continued/#comments</comments>
		<pubDate>Sun, 06 Jun 2010 14:15:50 +0000</pubDate>
		<dc:creator>rakesh aggarwal</dc:creator>
				<category><![CDATA[blogs]]></category>
		<category><![CDATA[css3]]></category>
		<category><![CDATA[new in css3]]></category>

		<guid isPermaLink="false">http://www.faltufunda.com/?p=88</guid>
		<description><![CDATA[new features added in css3 that can be used to create greate new presentations using css only.]]></description>
			<content:encoded><![CDATA[<p>css3 continued</p>
<p>In last post i&#8217;ve discussed about</p>
<p>@font-face<br />
hsl<br />
box-shadow<br />
animation<br />
transform<br />
transition</p>
<p>Now we&#8217;ll discuss about some more properties added to css3</p>
<p><code><br />
<h2>border and background images</h2>
<p></code><br />
Each element in css has box model i.e. when an element is rendered it has boxes around it. Every element has, content box, padding box, border box and margin box. In css3 each of these can be designed separately. By default there background is transparent so background of there parent is displayed. </p>
<p>Background of a box can have multiple layers in css3, just like layers in photoshop. Multiple background images can be applied by comma separated list of images in <strong> background-image</strong> property. Each of these images forms a layer. Image declared at first position will form topmost layer. If any background color is defined then that color layer will be created at last after form all background image layers. See following example</p>
<p><code>
<div class="code">
  background-image: url(flower.png), url(ball.png), url(grass.png);<br />
  background-position: center center, 20% 80%, top left, bottom right;<br />
  background-origin: border-box, content-box;<br />
  background-repeat: no-repeat;
</div>
<p></code></p>
<p>Here 3 background images are placed. Top most layer will contain image &#8216;flower.png&#8217; , second layer will contain image &#8216;ball.png&#8217; and so on.. Positions of each image is set by corresponding entry in <strong>background-position</strong> property. background position is calculated according to the   <strong>background-origin</strong> property value. Possible values for background-position are<br />
<code>
<div class="code">
   background-position:left 10px top 12px; /* horizontal offset 10 px, vertical offset 12px*/<br />
   background-position:bottom 10px left 12px; /* offset from bottom 10px, horizontal offset 12px */<br />
   background-position:10px 12px; /*horizontal offset 10px, vertical offset 12px*/<br />
   background-position:10px; /* horizontal location center, vertical offset 10px*/
</div>
<p></code></p>
<p>if background-origin is set to border-box then background position will be calculated from border box.</p>
<p><strong>background-repeat</strong> defines how background image will be rendered i.e. it is tiled, repeated etc. possible values for background-repeat are </p>
<p><strong> repeat-x | repeat-y | [repeat | space | round | no-repeat]</strong></p>
<p><strong>repeat-x</strong> : repeat in horizontal direction only<br />
<strong>repeat-y</strong> : repeat in vertical direction only<br />
<strong>repeat</strong> : repeat in all possible directions<br />
<strong>space</strong> : repeat in all directions without clipping image. background images will be     equally spaced and blank space is filled with background color.<br />
<strong>round</strong> : background is repeated in all directions without clipping image. If blank space is left then, image are resized to fill all blank space.</p>
<p>Other background properties<br />
<strong>background-clip</strong> : possible values are border-box | padding-box | text<br />
if background-clip is set to text, then background image will be visible through transparent text written in the element.</p>
<p>To apply these properties to element in different browser please use browser specific commands e.g<br />
-webkit-background-image<br />
-moz-background-image<br />
etc.</p>
<p><code><br />
<h2>border-radius</h2>
<p></code></p>
<p>border-radius property is to make curved corners of element like div etc. It has specific commands to make any of 4 corners curved.<br />
<code>
<div class="code">
   border-top-right-radius<br />
   border-bottom-right-radius<br />
   border-bottom-left-radius<br />
   border-top-left-radius
</div>
<p></code></p>
<p>border-radius commands can take two one or two values to make curve circular or elliptical. so to make a curve elliptical define<br />
<code>
<div class="code">
   border-top-right-radius : 10px/30px;/* here 10px is horizontal radius and 30px is vertical axis*/
</div>
<p></code></p>
<p>shorthand notation for border-radius is<br />
<code>
<div class="code">
   border-radius : 10px/30px 10px 20px 40px;
</div>
<p></code><br />
in this code radius defined is for corners in clockwise direction starting from top-left corner.</p>
<div style="margin:4px;padding:4px;border:2px solid #c00;-webkit-border-radius:12px;-moz-border-radius:12px;-o-border-radius:12px;height:50px;width:200px;">
-webkit-border-radius:12px;<br />
-moz-border-radius:12px;<br />
-o-border-radius:12px;
</div>
<div style="margin:4px;padding:4px;border:2px solid #c00;-webkit-border-radius: 12px/30px 20px 20px 20px; -moz-border-radius: 12px/30px 20px 20px 20px; -o-border-radius: 12px/30px 20px 20px 20px; height:100px;width:250px;">
-webkit-border-radius:12px/30px 20px 20px 20px;<br />
-moz-border-radius: 12px/30px 20px 20px 20px;<br />
-o-border-radius: 12px/30px 20px 20px 20px;
</div>
<p>Above example may not work even for latest safari. only border-radius simple version worked on my mozilla browser.</p>
<p><code><br />
<h2>border-image</h2>
<p></code><br />
basic command for border radius image is <strong>border-radius-image</strong> details on it can be read from <a href="http://www.w3.org/TR/css3-background/#border-images" target="_new"> here </a></p>
<p><code><br />
<h2>text-shadow</h2>
<p></code><br />
CSS3 added a nice feature of text-shadow. Now to show shadow below text, text-image need not to be created. It&#8217;s very easy in css3 to create text shadow<br />
<code>
<div class="code">
  text-shadow:2px 2px 5px #c00;
</div>
<p></code></p>
<p>code above will make a shadow positioned at 2px right and 2px down from the text, shadow will be blured to 5px and will of color #coo;</p>
<div style="text-shadow:2px 2px 5px #c00;font-size:3em;">text-shadow:2px 2px 5px #c00</div>
<p>supported browsers for text-shadow are<br />
Webkit (from Safari 3+), Opera 9.5, Firefox 3.1(pre-Alpha), Konqueror or iCab </p>
<p><code><br />
<h2>text-overflow</h2>
<p></code></p>
<p><code><br />
<h2>media query</h2>
<p></code><br />
Till now css supported media=&#8221;screen&#8221; type functionality to change stylesheet based on media. Other media types supported are <strong>‘aural’, ‘braille’, ‘handheld’, ‘print’, ‘projection’, ‘screen’, ‘tty’, ‘tv’</strong>  css3 has improved this support by providing media queries. So, now stylesheet can be changed based on output devices in more details, for instance now stylesheet can be changed according to different sizes of view port. Media queries are logical expressions which evaluates to either <strong>true</strong> or <strong>false</strong>. If query return true then defined stylesheet is applied as par css rules. Multiple media queries can be applied to a single statement, separated by comma. for example<br />
<code>
<div class="code">
  @media url(specific.css) screen and (color), projection and (color);
</div>
<p></code></p>
<p>media queries can also be applied from html. It is currently not supported by any browser<br />
<code>
<div class="code">
  &lt;link rel="stylesheet" media="screen and (color)" href="specific.css" /&gt;
</div>
<p></code><br />
In the above statement, media type defined is &#8217;screen&#8217; if no media type is defined then it is considered to be &#8216;all&#8217;. So, this statement will include specific.css if output device is color screen.</p>
<p>Media queries can also be applied directly in css statements</p>
<p><code>
<div class="code">
  @media screen and (min-width:100px){<br />
     // css statements<br />
  };
</div>
<p></code></p>
<p>details about media queries can be found <a href="http://www.w3.org/TR/css3-mediaqueries/#media1" target="_net"> here.</a></p>
<p><code><br />
<h2>multi-column</h2>
<p></code><br />
multi-column property of css3 allows designer to specify the no. of columns in which content will be rendered. No additional elements or manipulations or tricks are required to break content in multiple columns and keep them balanced. All manipulations have to be managed for different content in case of dynamic content and it make all that unfeasible solution.</p>
<p>proposed properties for multi columns are</p>
<p><strong>column-count</strong> :  to determine the number of columns into which the content of the element will flow.<br />
<strong>column-width</strong> : to describe the optimal width of each column.<br />
<strong>column-gap</strong> : to set the padding between columns.<br />
<strong>column-rule</strong> : to define a border between columns.</p>
<p>See following example</p>
<div style="border:2px solid #c00; -moz-column-count:2;-moz-column-gap:10px;-moz-column-rule:2px solid #c00;-webkit-column-count:2;-webkit-column-gap:10px;-webkit-column-rule:2px solid #c00;-o-column-count:2;-o-column-gap:10px;-o-column-rule:2px solid #c00;">
-moz-column-count:2;<br />
-moz-column-gap:10px;<br />
-moz-column-rule:2px solid #c00;</p>
<p>-webkit-column-count:2;<br />
-webkit-column-gap:10px;<br />
-webkit-column-rule:2px solid #c00;</p>
<p>-o-column-count:2;<br />
-o-column-gap:10px;<br />
-o-column-rule:2px solid #c00;
</p></div>
<p>List of supported browsers for different properties of css3 are as follows.</p>
<style type="text/css">
  .yes{background:pink;}
  .no{background:green;}
  th{background:#eee;}
  </style>
<table>
<tr>
<th>&nbsp;</th>
<th>Safari 4 (win)</th>
<th>Firefox 3.5(win)</th>
<th>Chrome (win)</th>
<th>Opera 10 (win)</th>
<th>IE 6,7 &#038; 8</th>
</tr>
<tr>
<th>@font-face</th>
<td class="yes">y</td>
<td class="yes">y</td>
<td class="no">n</td>
<td class="yes">y</td>
<td class="yes">y</td>
</tr>
<tr>
<th>hsla()</th>
<td class="yes">y</td>
<td class="yes">y</td>
<td class="yes">y</td>
<td class="yes">y</td>
<td class="no">n</td>
</tr>
<tr>
<th>box-shadow</th>
<td class="yes">y</td>
<td class="yes">y</td>
<td class="yes">y</td>
<td class="no">n</td>
<td class="no">n</td>
</tr>
<tr>
<th>CSS Animations</th>
<td class="yes">y</td>
<td class="no">n</td>
<td class="yes">y</td>
<td class="no">n</td>
<td class="no">n</td>
</tr>
<tr>
<th>canvas</th>
<td class="yes">y</td>
<td class="yes">y</td>
<td class="yes">y</td>
<td class="yes">y</td>
<td class="no">n</td>
</tr>
<tr>
<th>border-image</th>
<td class="yes">y</td>
<td class="yes">y</td>
<td class="yes">y</td>
<td class="no">n</td>
<td class="no">n</td>
</tr>
<tr>
<th>multiple backgrounds</th>
<td class="yes">y</td>
<td class="no">n</td>
<td class="yes">y</td>
<td class="no">n</td>
<td class="no">n</td>
</tr>
<tr>
<th>CSS Columns</th>
<td class="yes">y</td>
<td class="yes">y</td>
<td class="yes">y</td>
<td class="no">n</td>
<td class="no">n</td>
</tr>
<tr>
<th>CSS 2d transforms</th>
<td class="yes">y</td>
<td class="yes">y</td>
<td class="yes">y</td>
<td class="no">n</td>
<td class="no">n</td>
</tr>
<tr>
<th>CSS Transitions</th>
<td class="yes">y</td>
<td class="no">n</td>
<td class="yes">y</td>
<td class="no">n</td>
<td class="no">n</td>
</tr>
</table>
<p><code><br />
<h2>CSS3 features in internet explorer</h2>
<p></code></p>
<p>will continue in next post</p>
]]></content:encoded>
			<wfw:commentRss>http://www.faltufunda.com/2010/06/css3-continued/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>css3 updates</title>
		<link>http://www.faltufunda.com/2010/06/css3-updates/</link>
		<comments>http://www.faltufunda.com/2010/06/css3-updates/#comments</comments>
		<pubDate>Fri, 04 Jun 2010 18:38:03 +0000</pubDate>
		<dc:creator>rakesh aggarwal</dc:creator>
				<category><![CDATA[web programming]]></category>
		<category><![CDATA[changes in css3]]></category>
		<category><![CDATA[css3]]></category>
		<category><![CDATA[new in css3]]></category>

		<guid isPermaLink="false">http://www.faltufunda.com/?p=86</guid>
		<description><![CDATA[web learnt from past experience and many new functionalities are incorporated in css3. Only a few browsers support css3, hopefully others will do in recent future.]]></description>
			<content:encoded><![CDATA[<p>Let&#8217;s move directly in to the topic.<br />
CSS3 has improved much and added some cool features. We&#8217;ll go through all new features added one by one.</p>
<p><code><br />
<h2>Using webfonts with @font-face</h2>
<p></code><br />
@font-face feature has already been integrated in css2, it was supported by IE 5 and used a proprietary font format embedded open type (.eot). Now website developers can use any licensed truetype font (.ttf) or open type font (.otf)</p>
<p>To use webfonts, each font family must be first declared use @font-face. It&#8217;s a kinda rule to declare font family. syntax is very simple</p>
<p><code>
<div class="code">@font-face{<br />
  font-family : fontname;<br />
  src : url('location of font file');<br />
}</div>
<p></code></p>
<p><code>
<div class="code">@font-face{<br />
  font-family : fontname;<br />
  font-weight:bold;<br />
  src : url('location of bold font file');<br />
}</div>
<p></code></p>
<p>Any no. of font families can be used. we need to declare for each version of font (bold, italic etc.) with src files. Once @font-face rule is declared, font family can be used anywhere.</p>
<p><code>
<div class="code">p{ font-family:fontname;}</div>
<p></code></p>
<p><code><br />
<h2>HSL Colors</h2>
<p></code><br />
CSS3 can understand HSL(Hue, Saturation, Lightness) colors values.</p>
<p><b>Hue:</b>  it&#8217;s the purity of colors and varies from 0-360. 0 or 360 is red, 120 is green and 240 is blue.</p>
<p><b>Saturation:</b>  it&#8217;s the intensity of colors. it&#8217;s value varies from 0-100%</p>
<p><b>Lightness:</b>  it created different shades for same colors. 0% is dark(black) and 100% is light(white) and it&#8217;s values varies in between</p>
<p><code><br />
<h2>box-shadow</h2>
<p></code><br />
css3 has a nice feature of drop shadow around boxes &#8220;box-shadow&#8221;. box-shadow takes 4 arguments</p>
<p>1. first one is x offset. so a positive x means shadow on right and negative x means shadow on left.</p>
<p>2. second is y offset. positive y means shadow at bottom and negative y means shadow on top.</p>
<p>3. third parameter is blur value of shadow. so, a 0 will create sharp shadow.</p>
<p>4. fourth and last one is the color of shadow.</p>
<p><code>
<div class="code">box-shadow:5px 5px 0 #aaaaaa;</div>
<p></code></p>
<p>above code will create a shadow of grey color in right bottom of the box</p>
<p><code>
<div style="border:1px solid #555;width:400px;height:50px;-webkit-box-shadow:5px 5px 5px #c00;-moz-box-shadow:5px 5px 5px #c00;-o-box-shadow:5px 5px 5px #c00;"> box-shadow:5px 5px 5px #ccc; </div>
<p></code></p>
<p>to work box-shadow in all browsers which support it, you need to put commands for them separately</p>
<p>-moz-box-shadow<br />
-webkit-box-shadow<br />
-o-box-shadow</p>
<p><code><br />
<h2>CSS Animation , transform and transition</h2>
<p></code><br />
css3 provides functionality to move and transform elements. So, we can create cool animations and effects using css3.</p>
<p>let&#8217;s start with <b>animation</b><br />
To start animation first we&#8217;ve to declare animation name, duration and loop value.<br />
<code>
<div class="code">
<ol>
<li> -webkit-animation-name:myanimation;</li>
<li> -webkit-animation-duration:10s;</li>
<li>-webkit-animation-iteration-count:infinite;</li>
<li> -webkit-animation-direction:normal;</li>
<li> -webkit-animation-timing-function:ease-in-out;</li>
<li> -webkit-animation-delay:0;</li>
</ol>
</div>
<p></code><br />
1. this statement declared animation with the name &#8220;myanimation&#8221; in further declarations my animation can be used. </p>
<p>2. this statement declares duration of the animation. this animation will be 10 seconds long. default value for duration is 0 and it signifies no animation. </p>
<p>3. this statement sets iteration count. it&#8217;s value varies from 0  to infinite. negative no. are considered as 0. iteration count has default value 1, so animation will run from beginning to end.<br />
animation-direction declared direction of animation. it&#8217;s default value is normal. it can take any value from [normal, alternate]. In case of alternate value, animation having animation cycle count odd will be played in reverse direction and even value counts are played in normal direction.</p>
<p>4. animation-timing-function property determine how animation will progress over one cycle. It&#8217;s default value is <b>ease</b> other possible values are<br />
ease | linear | ease-in | ease-out | ease-in-out | cubic-bezier(<number>, <number>, <number>, <number>)</p>
<p>5. animation-delay is the delay in starting animation after animation is applied. it&#8217;s default value is 0 i.e. there will be no delay.</p>
<p><code>
<div class="code" style="color:#c00">animation events are also available in DOM. Animation events will be covered in later posts.</div>
<p></code></p>
<p><b>Transitions</b></p>
<p>CSS Transitions allows property changes in CSS values to occur smoothly over a specified duration.</p>
<p>Normally when the value of a css property changes, the rendered result is updated instantly. Transition allows the value changes updated smoothly over specified duration. So, element css values are animated from old to new value during animation.</p>
<p>Transition are presentational effect, so only properties that can be animated can be transitioned. Properties that can be animated can be viewed <a href="http://www.w3.org/TR/2009/WD-css3-transitions-20090320/#animatable-properties-" target="_new"> here </a></p>
<p>Transition for a property can be defined easily</p>
<p><code>
<div class="code">
    div{<br />
       -webkit-transition-property:opacity;<br />
       -webkit-transition-duration:2s;<br />
       -webkit-transition-timing-function:ease-out;<br />
    }
</div>
<p></code><br />
Multiple transition property can be defined by comma separated values<br />
<code>
<div class="code">
    div{<br />
       -webkit-transition-property:opacity,background;<br />
       -webkit-transition-duration:2s, 4s;<br />
       -webkit-transition-timing-function:ease-out, ease;<br />
    }
</div>
<p></code></p>
<p>shorthand notation for single transition property<br />
<code>
<div class="code">
    div{<br />
       -webkit-transition:opacity 4s ease-out;<br />
    }
</div>
<p></code></p>
<p><b>transition-property:</b> can have a comma separated list of values to transition other values possible are <b>none</b> and <b>all</b>. &#8216;none&#8217; means transition will not be applied on any property and &#8216;all&#8217; means every property that can go under transition, transition will be applied.</p>
<p>The <b>transition-timing-function:</b> property describes how the intermediate values used during a transition will be calculated. Intermediate values are calculated by using &#8216;cubic bezier&#8217; functions. These are called &#8216;easing&#8217; function. effect of this property is that, transition from start to end takes place smoothly in varying speeds according to value of easing function set. Possible values for transition-timing-function are </p>
<p><b>ease | linear | ease-in | ease-out | ease-in-out</b></p>
<p>If you understands bezier function you can use it directly by</p>
<p>cubic-bezier(&lt;number&gt;, &lt;number&gt;, &lt;number&gt;, &lt;number&gt;)</code></p>
<p>Mixing the two functions <b>animation</b> and <b> transition</b> can create really amazing effects and good animation. More on animation with css3 can be seen <a href="http://www.the-art-of-web.com/css/css-animation/" target="_new"> here </a></p>
<p>More new exciting properties are left. I'll keep on writing on this topic in my later posts.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.faltufunda.com/2010/06/css3-updates/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>photoshop keyboard shortcuts</title>
		<link>http://www.faltufunda.com/2010/05/photoshop-keyboard-shortcuts/</link>
		<comments>http://www.faltufunda.com/2010/05/photoshop-keyboard-shortcuts/#comments</comments>
		<pubDate>Sun, 23 May 2010 12:34:20 +0000</pubDate>
		<dc:creator>rakesh aggarwal</dc:creator>
				<category><![CDATA[blogs]]></category>

		<guid isPermaLink="false">http://www.faltufunda.com/?p=83</guid>
		<description><![CDATA[
general keyboard shortcuts for photoshop

here i&#8217;ll share photoshop keyboard shortcuts, that will increase your working speed on photoshop.
Gradiants &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;- shft+g
New layer &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212; Ctl+shft+n
New document &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;- Ctl+n
Delete Layer (Group)   &#8212;&#8212;&#8212;&#8212;&#8212;  &#8212;&#8212;&#8212;&#8212;&#8212;  Ctrl+Shift+ -
Delete Layer (Group) (no dialog)  &#8212;&#8212;&#8212;&#8212;&#8212;&#8211;  Ctrl+Alt+Shift+ -
Duplicate Layer (Group)  &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211; Ctrl+Shift+Q
Duplicate Layer (no dialog)  &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;- [...]]]></description>
			<content:encoded><![CDATA[<p><code><br />
<h2>general keyboard shortcuts for photoshop</h2>
<p></code></p>
<p>here i&#8217;ll share photoshop keyboard shortcuts, that will increase your working speed on photoshop.</p>
<p>Gradiants &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;- shft+g</p>
<p>New layer &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212; Ctl+shft+n</p>
<p>New document &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;- Ctl+n</p>
<p>Delete Layer (Group)   &#8212;&#8212;&#8212;&#8212;&#8212;  &#8212;&#8212;&#8212;&#8212;&#8212;  Ctrl+Shift+ -<br />
Delete Layer (Group) (no dialog)  &#8212;&#8212;&#8212;&#8212;&#8212;&#8211;  Ctrl+Alt+Shift+ -<br />
Duplicate Layer (Group)  &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211; Ctrl+Shift+Q<br />
Duplicate Layer (no dialog)  &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;- Ctrl+Alt+Shift+Q<br />
Flatten Image &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211; Ctrl+Alt+Shift+0<br />
Group into New Smart Object &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;- Ctrl+Alt+Shift+H<br />
Merge Layers  &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;  Ctrl+E<br />
Merge Visible  &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;   Ctrl+Shift+E<br />
New Layer  &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;     Ctrl+Shift+N<br />
New Layer (no dialog) &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;   Ctrl+Alt+Shift+N</p>
<p>Duplicate   &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;  Ctrl+Shift+A<br />
Duplicate (no dialog)  &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;  Ctrl+Alt+Shift+A<br />
Hue / Saturation  &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;- Ctrl+U<br />
Hue / Saturation (last settings)  &#8212;&#8212;-  Ctrl+Alt+U<br />
Image Size  &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211; Ctrl+Alt+I<br />
Invert &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;    Ctrl+ I<br />
Levels &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;  Ctrl+L<br />
Levels (last settings) &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212; Ctrl+Alt+L<br />
Reveal All &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;   Ctrl+Alt+R<br />
Rotate Arbitrary &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;- Ctrl+Alt+Shift+R<br />
Trim  &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-  Ctrl+Alt+Y</p>
<p>Path / Direct Selection Tool &#8212;&#8212;&#8212;&#8212;- &#8212;&#8212;&#8212;&#8212;&#8211;  A<br />
N Brush / Pencil / Color Replacement Tool &#8212;&#8212;&#8212; B<br />
Crop Tool  &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-      C<br />
Default Colors  &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;    D<br />
Eraser Tool  &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-   E<br />
Cycle Screen Modes  &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211; F<br />
Gradient / Paint Bucket Tool  &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;  G<br />
Hand Tool  &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-  H<br />
Eyedropper / Sampler / Measure Tool &#8212;&#8212;&#8212;&#8212;&#8212;-  I<br />
N Spot Healing / Healing / Patch / Red Eye  &#8212;&#8212;&#8212;- J<br />
Slice Tool  &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;  K<br />
Lasso Tool  &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;  L<br />
Marquee Tool &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;     M<br />
Notes / Audio Annotation Tool  &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;- N<br />
Dodge / Burn / Sponge Tool  &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-  O<br />
Pen / Freeform Pen Tool  &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;  P<br />
Standard / Quick Mask Mode  &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211; Q<br />
Blur / Sharpen / Smudge Tool &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;  R<br />
Clone / Pattern Stamp Tool SShape Tool &#8212;&#8212;&#8212;&#8211;  U<br />
Move Tool &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212; V<br />
Magic Wand Tool &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;  W<br />
Switch Colors  &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;  X<br />
History / Art History Brush Tool  &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212; Y<br />
Zoom Tool  &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;   Z<br />
Hand Tool (toggle)  &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212; Space<br />
Zoom In (toggle)  &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;    Ctrl+Space<br />
Zoom Out (toggle)  &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;  Alt+Space</p>
]]></content:encoded>
			<wfw:commentRss>http://www.faltufunda.com/2010/05/photoshop-keyboard-shortcuts/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>conditional comments in html</title>
		<link>http://www.faltufunda.com/2010/05/conditional-comments-in-html/</link>
		<comments>http://www.faltufunda.com/2010/05/conditional-comments-in-html/#comments</comments>
		<pubDate>Sun, 23 May 2010 12:00:00 +0000</pubDate>
		<dc:creator>rakesh aggarwal</dc:creator>
				<category><![CDATA[blogs]]></category>

		<guid isPermaLink="false">http://www.faltufunda.com/?p=75</guid>
		<description><![CDATA[conditions in html. it can be used to include specific css on specific condition]]></description>
			<content:encoded><![CDATA[<p><code><br />
<h2>conditional comments in html</h2>
<p></code></p>
<p>Conditions can be applied in html</p>
<p>The syntax for conditional comments is as follows:</p>
<p>Positive<br />
    <code>
<div class="code"> &lt;!--[if condition]&gt; HTML &lt;![endif]--&gt;</div>
<p></code><br />
Negative<br />
    &lt;!&#8211;[if !condition]&gt;&lt;![IGNORE[--&gt;&lt;![IGNORE[]]&gt; HTML &lt;!&#8211;&lt;![endif]&#8211;&gt;</p>
<p>condition is one of the following:</p>
<pre>
IE
    Any version of IE
lt IE version
    Versions less than version
lte IE version
    Versions less than or equal to version
IE version
    Only version version
gte IE version
    Versions greater than or equal to version
gt IE version
    Versions greater than version
</pre>
<p>version is the version of Internet Explorer, typically 5, 5.5, 6, or 7</p>
<p>HTML is the HTML to be included if the condition does or doesn&#8217;t match, depending on the type of conditional comment. When included, the HTML is placed right where the conditional comment is in the source.</p>
<p>For negative conditions,<br />
&lt;![IGNORE[--&gt;&lt;![IGNORE[]]&gt; can be replaced with &#8211;&gt; if the condition is simply IE. The longer version is only needed when Internet Explorer might parse the contents.</p>
<p>The &lt;![IGNORE[ ... ]]&gt; directive is not available in XML, so it is illegal to use it in XHTML. A solution would be to split it up into two special conditional comments:<br />
&lt;!&#8211;[if !condition]&gt; XHTML &lt;![endif]&#8211;&gt; &lt;!&#8211;[if !IE]&gt;&#8211;&gt; XHTML &lt;!&#8211;&lt;![endif]&#8211;&gt; where XHTML is the same both places. Note that Internet Explorer 7 and below don&#8217;t yet recognize XHTML as a form of XML, so this is merely forward-looking.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.faltufunda.com/2010/05/conditional-comments-in-html/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>html tags to format text</title>
		<link>http://www.faltufunda.com/2010/05/html-tags-to-format-text/</link>
		<comments>http://www.faltufunda.com/2010/05/html-tags-to-format-text/#comments</comments>
		<pubDate>Sun, 23 May 2010 10:23:45 +0000</pubDate>
		<dc:creator>rakesh aggarwal</dc:creator>
				<category><![CDATA[blogs]]></category>

		<guid isPermaLink="false">http://www.faltufunda.com/?p=61</guid>
		<description><![CDATA[valid html tags]]></description>
			<content:encoded><![CDATA[<p>html tags for formatting text</p>
<p>Html provides tags for all needs to format your text on the page. Using all the tags properly certainly helps in improving you site ranking and it is also useful for you search engine optimization.</p>
<p>Here i&#8217;m writing all the valid html tags that can be used to format your text properly.</p>
<p>These all the valid html tags and are not deprecated at this time.<br />
Valid Tags</p>
<p>From this &lt;abbr&gt;<br />
    <code>
<div class="code"><abbr>You get this</abbr></div>
<p></code><br />
    Denotes an abbreviation, use the title attribute to give the full meaning.<br />
    [html4] — not yet fully supported</p>
<p>From this &lt;acronym&gt;<br />
    <code>
<div class="code"><acronym>You get this</acronym></div>
<p></code><br />
    Much the same as the one above, really. The difference is between abbreviations and acronyms. And you can look that up yourself.<br />
    [html4] — not yet fully supported</p>
<p>From this &lt;address &gt;<br />
    <code>
<div class="code">
<address>You get this</address>
</div>
<p></code><br />
    You&#8217;re supposed to put this around your name, address or email address on your pages. Pff.</p>
<p>From this &lt;b&gt;<br />
    <code>
<div class="code"><b>You get this</b></div>
<p></code><br />
    The simple bold tag.</p>
<p>From this &lt;bdo dir=&#8221;rtl&#8221; &gt; &lt;/bdo&gt;<br />
    <code>
<div class="code"><bdo dir="rtl">You get this</bdo></div>
<p></code><br />
    If your text is meant to be read right-to-left (like Hebrew, or something), using this tag and the attribute dir=&#8221;rtl&#8221; tells the browser this.<br />
    [html4] — not yet fully supported</p>
<p>From this &lt;big&gt;<br />
<code>
<div class="code"><big>    You get this</big></div>
<p></code><br />
    A quick way to increase the font size by one.</p>
<p>From this &lt;blockquote&gt;</p>
<p>        <code>
<div class="code">
<blockquote>You get this</p></blockquote>
</div>
<p></code></p>
<p>    Indents the whole block of text in from both sides and adds line-breaks top and bottom. Use for long quotations.</p>
<p>From this &lt;cite&gt;<br />
    <code>
<div class="code"><cite>You get this</cite></div>
<p></code><br />
    Shows a citation (the title of a work that you&#8217;re quoting or referencing).</p>
<p>From this &lt;code&gt;<br />
    <code>You get this</code><br />
    Sets text off as code, used for examples of source code. Usually rendered as mono-spaced text.</p>
<p>From this &lt;del&gt;<br />
    <code>
<div class="code"><del>You get this</del></div>
<p></code><br />
    Stands for deleted text, and visually appears with a strike-through.<br />
    [html4]</p>
<p>From this &lt;dfn&gt;<br />
    <code>
<div class="code"><dfn>You get this</dfn></div>
<p></code><br />
    Denotes a definition.<br />
    [html4] — not yet fully supported</p>
<p>From this &lt;em&gt;<br />
    <code>
<div class="code"><em>You get this</em></div>
<p></code><br />
    Creates emphasis on the selected text.</p>
<p>From this &lt;h4&gt;<br />
    <code>
<div class="code">
<h4>You get this</h4>
</div>
<p></code><br />
    Creates headings. There are 6 levels of heading, from h1 to h6.</p>
<p>From this &lt;i&gt;<br />
    <code>
<div class="code"><i>You get this</i></div>
<p></code><br />
    The basic italic tag.</p>
<p>From this &lt;ins&gt;<br />
    <code>
<div class="code"><ins>You get this</ins></div>
<p></code><br />
    Stands for inserted text. You are meant to use this in conjunction with the del tag.<br />
    [html4]</p>
<p>From this &lt;kbd&gt;<br />
    <code>
<div class="code"><kbd>You get this</kbd></div>
<p></code><br />
    Surrounds text that is supposed to be entered by the reader on their keyboard.</p>
<p>From this &lt;pre&gt;</p>
<p>    <code>
<div class="code">
<pre>You get this</pre>
</div>
<p></code></p>
<p>    Stands for Preformatted text. If you wrap this around some text, it will follow the form of the text in your code — i.e. no extra formatting needs to be put in. If you have spaced it out in your code, it will appear spaced out on your page.<br />
    [html4]</p>
<p>From this &lt;q&gt;<br />
    <code>
<div class="code"><q>You get this</q></div>
<p></code><br />
    Used for smaller, inline quotations (as opposed to a blockquote). Adds quotation marks around the text. Cool.<br />
    [html4] — not yet fully supported</p>
<p>From this &lt;samp&gt;<br />
    <code>
<div class="code"><samp>You get this</samp></div>
<p></code><br />
    Stands for sample, and is used when you&#8217;re using an example, usually of an output from a program.</p>
<p>From this &lt;small&gt;<br />
    <code>
<div class="code"><small>You get this</small></div>
<p></code><br />
    Simple tag to drop the font size by one. </p>
<p>From this &lt;strong&gt;<br />
    <code>
<div class="code"><strong>You get this</strong></div>
<p></code><br />
    Makes the text bold.</p>
<p>From this &lt;sub&gt;<br />
    <code>
<div class="code">You <sub>get this</sub></div>
<p></code><br />
    Renders the text in sub-script, below the normal line.</p>
<p>From this &lt;sup&gt;<br />
    <code>
<div class="code">You<sup> get this</sup></div>
<p></code><br />
    Renders the text in super-script, above the normal line.</p>
<p>From this &lt;tt&gt;<br />
    <code>
<div class="code"><tt>You get this</tt></div>
<p></code><br />
    Makes the text &#8216;typewriter text&#8217;, and sets it in a mono-spaced font.</p>
<p>From this &lt;var&gt;<br />
    <code>
<div class="code"><var>You get this</var></div>
<p></code><br />
    Used to denote variables in equations.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.faltufunda.com/2010/05/html-tags-to-format-text/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>form validations in javascript and jquery</title>
		<link>http://www.faltufunda.com/2010/05/form-validations-in-javascript-and-jquery/</link>
		<comments>http://www.faltufunda.com/2010/05/form-validations-in-javascript-and-jquery/#comments</comments>
		<pubDate>Thu, 13 May 2010 06:31:53 +0000</pubDate>
		<dc:creator>rakesh aggarwal</dc:creator>
				<category><![CDATA[web programming]]></category>
		<category><![CDATA[form validation]]></category>
		<category><![CDATA[unobtrusive form validations]]></category>

		<guid isPermaLink="false">http://www.faltufunda.com/?p=59</guid>
		<description><![CDATA[unobtrusive methods of html form validation]]></description>
			<content:encoded><![CDATA[<p><code><br />
<h2>HTML form validations on submission of form using javascript</h2>
<p></code></p>
<p>To interact with user, html forms are good method. they are used to take information from user. Various type of data can be taken from user. To get the data in correct desired format, webmaster have to check all the data filled by user. If any error found then user will be redirected to form with an error message. But checking data on server is a long and slow process.</p>
<p>It would be better if we can check the data entered by user in browser. It will save request time on server. Data entered by user can be validated by using javascript. There can be many type of algorithms from simple to complex for form validations. I&#8217;m presenting here overview of the possible methods for form validations.</p>
<p>In javascripts every process starts with some event. any activity in html triggers an event. Submitting a form, clicking on button, changing value of input elements will all trigger an event. so we can start js process on any of these events. </p>
<p>For validating a form either we can user value change in input element or we can use form submit event.  </p>
<p><code><br />
<h2>1. validation on value change of input element</h2>
<p></code><br />
A javascript can be attached to all the input elements which are to be validated.  Suppose we&#8217;ve a text box where we need to get user&#8217;s email id. So we can write the code like this</p>
<p><code>
<div class="code">
<input  type="text" onchange="javascript:validateEmail(this);return false;" /> </div>
<p></code></p>
<p>here onchange   is a javascript function which will be called when value of element, where it is attached changes. So whenever value of input box changes and user removes focus from input box function &#8220;validateEmail&#8221; will be called. &#8220;this&#8221; argument is passed in validateEmail function. &#8220;this&#8221; is an object of the input box and with this all the properties of text box can be accessed. &#8220;validateEmail&#8221; will be something like this :</p>
<p><code>
<div class="code">
<script language="javascript">
<!--
    function validateEmail(obj){
  var re = /^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$/;</p>
<p> if(!re.test(obj.value)){
    alert('Please enter a valid email id');
    obj.focus();
}
return;</p>
<p>    }
-->
</script>
</div>
<p></code><br />
If we use this method for validations then user have to enter correct value to proceed next, once he entered in the specified input box. It is a vary tedious method for validations. we have to write a new function for every new field to be verified. and we have to write validation code on each html form where we want validations.</p>
<p><code><br />
<h2>2. Validation on form submit event</h2>
<p></code><br />
This method is much better then previous one. Here many algorithms can be applied to make code reusable and to make javascript unobtrusive. This method is used to make a generalized code for form data validations. Here javascript validation process will be  triggered on form submit event, means when user finally presses submit button.<br />
Process can be attached in this way :<br />
<code>
<div class="code">
<form name="frm" action="" method="post" onsubmit="return validateForm(this);">
<input type="text" name="name" />
<input type="text" name="email" />
</form>
</div>
<p></code></p>
<p>function &#8220;validateForm&#8221; will be something like this:</p>
<p><code>
<div class="code">
<script language="javascript">
<!--
    function validateForm(objFrm){
       var name = objFrm.name;
       var email = objFrm.email;
       if(checkBlank(name.value)){
          alert("Enter your name");
          name.focus();
          return false;
       }
       if(!checkEmail(email.value)){
         alert("Enter correct email");
          email.focus();
          return false;
       }
       return true;
    }</p>
<p>    function checkBlank(str){
       //here code to check blank value;
    }</p>
<p>    function checkEmail(str){
       // here code to validate email
    }
-->
</script>
</div>
<p></code></p>
<p>This code is very easy to use and manage. Just you have to put this code on bottom of any html file where you want validations. But you have to change input fields name according to where you uses it.<br />
This code is much better then first method, but still not so good. it is not perfectly reusable code, and it is not a generalized code also it is not unobtrusive. </p>
<p>Generalized form validation algorithm</p>
<p>If we can free above &#8220;validateForm&#8221; function  from field name and what to validate in form, then this function would become a generalized code. That means we need some intutive way to know that what to validate in input fields and which input fields are to be validated. in &#8220;validateForm&#8221; function we can fetch all the properties of all the input fields in the form we are validating. So, we need  there be some property of input fields by which function can know how to validate this field.  For this  we should be able to add properties to input&#8217;s that can tell us to validate fields. so, we can add these properties in fields like this :<br />
<code>
<div class="code">
<input type="text" name="name" validate="blank" />
<input type="text" name="email" validate="email" />
</div>
<p></code><br />
Now these properties can be accessed and fields can be validated according to that. So, now &#8220;validateForm&#8221; function becomes a generalized code and can be used anywhere.<br />
But this method won&#8217;t work in all the browsers. some browsers do not allow such properties to be attached and accessed in input fields.<br />
Another better way is to add &#8220;classes&#8221; to the fields that can insist function how to validate any input field. &#8220;class&#8221; property will work in all the browsers and more then one classes can be added. Class property of any input field can be easily accessed.<br />
Class property of any input can be get by this :<br />
<code>
<div class="code">
input.className
</div>
<p></code><br />
If multiple classes are attached then this classname can be split using regular expression and then all parts can be get easily.<br />
Now function can easily find what to validate in input filed.<br />
class names can be intutive like:</p>
<p>jsfv_blank, jsfv_email, jsfv_date, jsfv_num, jsfv_0</p>
<p>here &#8220;jsfv_&#8221;  prefix is added to make it unique, also it stands for<br />
&#8220;javascript form validatoin&#8221;</p>
<p>Now our code becomes fully reusable and generalized code.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.faltufunda.com/2010/05/form-validations-in-javascript-and-jquery/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Getting event object in inline onclick event</title>
		<link>http://www.faltufunda.com/2010/05/getting-event-object-in-inline-onclick-event/</link>
		<comments>http://www.faltufunda.com/2010/05/getting-event-object-in-inline-onclick-event/#comments</comments>
		<pubDate>Thu, 13 May 2010 06:23:12 +0000</pubDate>
		<dc:creator>rakesh aggarwal</dc:creator>
				<category><![CDATA[web programming]]></category>
		<category><![CDATA[inline events]]></category>

		<guid isPermaLink="false">http://www.faltufunda.com/?p=57</guid>
		<description><![CDATA[getting inline event object in javascript]]></description>
			<content:encoded><![CDATA[<p><code><br />
<h2>Getting event object in inline onclick event </h2>
<p></code></p>
<p>Yesterday i need to get event object for  onclick event and onclick event was written inline.<br />
After investing an hour i got methods for that.<br />
I&#8217;m writing here for all, who needs that.</p>
<p><code>
<div class="code">
<div onclick="javascript:sayMe(event);return false;">click me</div>
</div>
<p></code><br />
to get event object for inline events you have to pass <event> as an argument of the callback function for mozilla browswer and for ie event will be available as<br />
<code>
<div class="code">
window.event
</div>
<p></code></p>
<p>so to make your function cross browser compatible you can add following code in your function</p>
<p><code>
<div class="code">
function xyz(e){<br />
    var e = e ? e : window.event; // now here e is the event object<br />
}
</div>
<p></code></p>
<p>a more appropriate example is</p>
<p>A right example of the this post by earni is like this</p>
<p><code>
<div class="code">
<a href="javascript:sayMe(event);">Click on me</a></p>
<p><script language="javascript">
<!--
    function sayMe(e){
       var e = e?e:window.event;
    }
-->
</script>
</div>
<p></code><br />
this same function will also work for non inline onclick events</p>
]]></content:encoded>
			<wfw:commentRss>http://www.faltufunda.com/2010/05/getting-event-object-in-inline-onclick-event/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>calling a function before closing a page : onbeforeunload</title>
		<link>http://www.faltufunda.com/2010/05/calling-a-function-before-closing-a-page-onbeforeunload/</link>
		<comments>http://www.faltufunda.com/2010/05/calling-a-function-before-closing-a-page-onbeforeunload/#comments</comments>
		<pubDate>Thu, 13 May 2010 06:16:26 +0000</pubDate>
		<dc:creator>rakesh aggarwal</dc:creator>
				<category><![CDATA[web programming]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[onbeforeunload]]></category>

		<guid isPermaLink="false">http://www.faltufunda.com/?p=55</guid>
		<description><![CDATA[onbeforeunload event in javascript is triggered when a user closes the browser or page ]]></description>
			<content:encoded><![CDATA[<p><code><br />
<h2>onbeforeunload perform some task before unloading page by javascript</h2>
<p></code></p>
<p>If you want to perform some some task, before user leaves page, then it can be done by using javascript function</p>
<p>onbeforeunload</p>
<p>usage :</p>
<p><code></p>
<div class="code">
document.onbeforeunload = function(){<br />
  // code to run before leaving page<br />
  return 'message to be displayed for confirmation';<br />
}
</div>
<p></code></p>
<p>if message is left blank then, a default message will be prompted with &#8220;OK&#8221; and &#8220;cancel&#8221; buttons.<br />
OK will move to leave page and CANCEL will cancel the event.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.faltufunda.com/2010/05/calling-a-function-before-closing-a-page-onbeforeunload/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
