<?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>Query7 &#187; Best Practices</title>
	<atom:link href="http://query7.com/category/programming/best-practices/feed" rel="self" type="application/rss+xml" />
	<link>http://query7.com</link>
	<description>PHP, Javascript, Python and Web Development</description>
	<lastBuildDate>Sat, 25 Jun 2011 21:29:51 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.4</generator>
		<item>
		<title>HTML Email Compatibility Across Mail Clients</title>
		<link>http://query7.com/html-email-compatibility-across-mail-clients</link>
		<comments>http://query7.com/html-email-compatibility-across-mail-clients#comments</comments>
		<pubDate>Mon, 17 May 2010 00:29:25 +0000</pubDate>
		<dc:creator>Prakash Mohanty</dc:creator>
				<category><![CDATA[Best Practices]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[Mail]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[CSS Table]]></category>
		<category><![CDATA[HTML mail]]></category>
		<category><![CDATA[Web Design]]></category>

		<guid isPermaLink="false">http://www.webdevelopmentbits.com/?p=573</guid>
		<description><![CDATA[<p style="text-align: center;"><a href="http://query7.com/wp-content/uploads/Screen-shot-2010-05-17-at-9.20.44-PM.png"><img class="size-full wp-image-578  aligncenter" title="Screen shot 2010-05-17 at 9.20.44 PM" src="http://query7.com/wp-content/uploads/Screen-shot-2010-05-17-at-9.20.44-PM.png" alt="" width="530" height="181" /></a></p>
<p>Lots of compatibility issues occur when HTML developers deal with HTML-formatted emails generated using server side languages like PHP, PERL, JAVA, etc. in their projects.</p>
<p>From time to time you’ll find the odd gobbledygooked message in your Web-based email app, but generally speaking HTML-formatted messages render flawlessly on the Web.  On the other hand, desktop mail clients such as Outlook on Windows, Mail.app on OS X, and the rainbow flavors of desktop Linux (Ubuntu, Centos, and so on) routinely have rendering issues with HTML-based email.</p>
<p>Despite the incredible advances in modern software, why does this continue to happen?</p>
<p>The answer is quite simple: certain mail clients ignore certain HTML tags.  Now there’s no universal rule as to which ignores what, but the more you code the more you’ll learn, so for now let’s take a look at one case with Outlook.</p>
<p>For many users, email ‘stationery’ conjures up late 90s memories of <a href="http://www.incredimail.com/english/splash.aspx">Incredimail</a> and a general, unsavory n00bishness.  But for marketing purposes a well-designed mail template, consisting of a stylish background image, thoughtful font selection, layout and copy equates to sales.  Perhaps thousands of people – from prospective clients to the media – will view mail&#8230;</p>]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><a href="http://query7.com/wp-content/uploads/Screen-shot-2010-05-17-at-9.20.44-PM.png"><img class="size-full wp-image-578  aligncenter" title="Screen shot 2010-05-17 at 9.20.44 PM" src="http://query7.com/wp-content/uploads/Screen-shot-2010-05-17-at-9.20.44-PM.png" alt="" width="530" height="181" /></a></p>
<p>Lots of compatibility issues occur when HTML developers deal with HTML-formatted emails generated using server side languages like PHP, PERL, JAVA, etc. in their projects.</p>
<p>From time to time you’ll find the odd gobbledygooked message in your Web-based email app, but generally speaking HTML-formatted messages render flawlessly on the Web.  On the other hand, desktop mail clients such as Outlook on Windows, Mail.app on OS X, and the rainbow flavors of desktop Linux (Ubuntu, Centos, and so on) routinely have rendering issues with HTML-based email.</p>
<p>Despite the incredible advances in modern software, why does this continue to happen?</p>
<p>The answer is quite simple: certain mail clients ignore certain HTML tags.  Now there’s no universal rule as to which ignores what, but the more you code the more you’ll learn, so for now let’s take a look at one case with Outlook.</p>
<p>For many users, email ‘stationery’ conjures up late 90s memories of <a href="http://www.incredimail.com/english/splash.aspx">Incredimail</a> and a general, unsavory n00bishness.  But for marketing purposes a well-designed mail template, consisting of a stylish background image, thoughtful font selection, layout and copy equates to sales.  Perhaps thousands of people – from prospective clients to the media – will view mail on this template and associate it with your corporate brand, so perfection is key.</p>
<p style="text-align: center;"><img class="size-medium wp-image-579   aligncenter" title="Ye Gods!!  Incredimail!!! " src="http://www.webdevelopmentbits.com/wp-content/uploads/2010/05/back1-300x240.gif" alt="" width="248" height="199" /></p>
<p style="text-align: left;">Now let’s focus on the background image.  Many HTML developers will begin by putting CSS styles in the header of the HTML email directly, or when that fails try working around the problem using div tags and inline CSS.  But either way the results are borked.  Why?  Because Outlook ignores the CSS property “background-image”.</p>
<p style="text-align: left;">After so much trial and error, the solution we finally decided on was a pure table-based layout with inline CSS – with the CSS being restricted to each individual table cell since Outlook does not ignore those.  We’ve found this not only renders properly in Outlook, but all the other major desktop and Web clients, too.</p>
<p>And here&#8217;s how good it can look.</p>
<p style="text-align: center;"><a href="http://query7.com/wp-content/uploads/Image-xbox.png"><img class="size-full wp-image-580  aligncenter" title="Image-xbox" src="http://query7.com/wp-content/uploads/Image-xbox.png" alt="" width="539" height="746" /></a></p>
<p>For your reference, here are few examples of HTML tags that are compatible with almost all desktop and Web-based mail clients.</p>
<pre>&lt;table cellspacing="0" cellpadding="0" bgcolor="#6b6f7a"&gt;
    &lt;tr&gt;
        &lt;td width="55" height="53" valign="top"&gt;
            &lt;img src="http://domainname/media/mail/header_01.jpg" alt="" width="78" height="53" /&gt;
        &lt;/td&gt;
        &lt;td style="font-family: Arial,sans-serif;" width="546" bgcolor="#ffffff"&gt;&lt;/td&gt;
        &lt;td style="border-bottom: 1px solid #ffffff; padding: 0pt 15px; background-color: #b6d354; color: #ffffff; text-transform: uppercase; height: 43px; vertical-align: middle; font-size: 12px;"&gt;&lt;/td&gt;
    &lt;/tr&gt;
&lt;/table&gt;</pre>
<p>CSS style property -</p>
<pre>word-wrap: break-all;</pre>
<p>With the absence of a background tag, images can be used inside the</p>
<pre>&lt;table&gt;</pre>
<p>and</p>
<pre>&lt;td&gt;</pre>
<p>tags.</p>
<p>Happy HTML email  coding!!</p>
]]></content:encoded>
			<wfw:commentRss>http://query7.com/html-email-compatibility-across-mail-clients/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>No IE6 support on new W3C website?</title>
		<link>http://query7.com/no-ie6-support-on-new-w3c-website</link>
		<comments>http://query7.com/no-ie6-support-on-new-w3c-website#comments</comments>
		<pubDate>Fri, 27 Mar 2009 14:00:59 +0000</pubDate>
		<dc:creator>Dilip Shukla</dc:creator>
				<category><![CDATA[Best Practices]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[IE6]]></category>
		<category><![CDATA[W3]]></category>
		<category><![CDATA[Web Standards]]></category>

		<guid isPermaLink="false">http://www.webdevelopmentbits.com/?p=445</guid>
		<description><![CDATA[<p><a title="World Wide Web Consortium" href="http://www.w3.org" target="_blank">W3.org</a> is overhauling its website in order to make it more user-friendly and quiet people who used to wonder (including me) why the administrator body of web have such dull, flat, unorganized and old fashioned website?</p>
<p>The new website looks more attractive and organized. 10 minutes tour of new website <a title="10 Minutes Tour of http://beta.w3.org/" href="http://dotsub.com/view/41e149bd-8b98-4103-a9f8-c96787497211" target="_blank">can be found here</a>. In contrast with the previous version, this new website uses rich content presentation, including JavaScript.</p>
<p>The website uses <a title="Download jQuery 1.3.2 from Google Code" href="http://code.google.com/p/jqueryjs/downloads/detail?name=jquery-1.3.2.min.js" target="_blank">jQuery 1.3.2</a>, a very known and popular JavaScript library, instead of pure JavaScript. This is very good news and a big leap towards streamlining the use of JavaScript frameworks, specially in case of jQuery. In addition of core jQuery framework, <a title="Beta World Wide Web Consortium" href="http://beta.w3.org" target="_blank">beta.w3.org</a> also uses jQuery plugins (e.g.: <a title="jQuery Cycle Plugin" href="http://malsup.com/jquery/cycle/" target="_blank">http://malsup.com/jquery/cycle/</a>), to enhance the user experience.</p>
<p>The biggest news of the day is w3.org beta website doesn&#8217;t render correctly in IE6. It&#8217;s supposed to be a strong argument for web developers in order to inspire and take initiative towards to stop exclusive coding to render their websites correctly in IE6.</p>
<p style="text-align: center;"><img class="size-full wp-image-451 aligncenter" src="http://query7.com/wp-content/uploads/ie6.jpg" alt="" width="500" height="428" /></p>
]]></description>
			<content:encoded><![CDATA[<p><a title="World Wide Web Consortium" href="http://www.w3.org" target="_blank">W3.org</a> is overhauling its website in order to make it more user-friendly and quiet people who used to wonder (including me) why the administrator body of web have such dull, flat, unorganized and old fashioned website?</p>
<p>The new website looks more attractive and organized. 10 minutes tour of new website <a title="10 Minutes Tour of http://beta.w3.org/" href="http://dotsub.com/view/41e149bd-8b98-4103-a9f8-c96787497211" target="_blank">can be found here</a>. In contrast with the previous version, this new website uses rich content presentation, including JavaScript.</p>
<p>The website uses <a title="Download jQuery 1.3.2 from Google Code" href="http://code.google.com/p/jqueryjs/downloads/detail?name=jquery-1.3.2.min.js" target="_blank">jQuery 1.3.2</a>, a very known and popular JavaScript library, instead of pure JavaScript. This is very good news and a big leap towards streamlining the use of JavaScript frameworks, specially in case of jQuery. In addition of core jQuery framework, <a title="Beta World Wide Web Consortium" href="http://beta.w3.org" target="_blank">beta.w3.org</a> also uses jQuery plugins (e.g.: <a title="jQuery Cycle Plugin" href="http://malsup.com/jquery/cycle/" target="_blank">http://malsup.com/jquery/cycle/</a>), to enhance the user experience.</p>
<p>The biggest news of the day is w3.org beta website doesn&#8217;t render correctly in IE6. It&#8217;s supposed to be a strong argument for web developers in order to inspire and take initiative towards to stop exclusive coding to render their websites correctly in IE6.</p>
<p style="text-align: center;"><img class="size-full wp-image-451 aligncenter" src="http://query7.com/wp-content/uploads/ie6.jpg" alt="" width="500" height="428" /></p>
]]></content:encoded>
			<wfw:commentRss>http://query7.com/no-ie6-support-on-new-w3c-website/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>See, Yes! Yes! – GO</title>
		<link>http://query7.com/see-yes-yes-go</link>
		<comments>http://query7.com/see-yes-yes-go#comments</comments>
		<pubDate>Tue, 09 Dec 2008 21:35:10 +0000</pubDate>
		<dc:creator>Dilip Shukla</dc:creator>
				<category><![CDATA[Best Practices]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[Web 2.0]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[Web Standard]]></category>

		<guid isPermaLink="false">http://www.webdevelopmentbits.com/?p=326</guid>
		<description><![CDATA[Modular CSS needs to be developed and all inherited properties needs to commented within CSS declaration so one don't repeat same CSS again and selectors needs to named by some naming convention (e.g. prefixing every declaration by module).

Modules needs to be devised in such way so it remain plug and play if plugged in different application.]]></description>
			<content:encoded><![CDATA[<h3>ID vs Class Vs Tag Vs Pseudo selectors</h3>
<p>:</p>
<p>All CSS developers know this fact there are verity of CSS selectors, CSS rules can be applied by using any one or combination of available selectors. We can apply CSS rules by inline CSS as value of style attribute of HTML tags or internal CSS by using style tag, or we can go for external style sheet. Inline CSS is bad and must be avoided. Inline style declarations should be limited to for some run time CSS manipulation only.</p>
<p>In summery using external CSS is preferred way, Its success depends on use of inline or internal CSS, since in effectiveness of application of CSS rules hierarchy, inline CSS is topmost level after that comes internal CSS and external CSS comes bellow them.</p>
<p>Same way &#8216;id&#8217; is above &#8216;class&#8217; in hierarchy of effectiveness of CSS selectors. Id can&#8217;t be used more than once in a page (its preferred to use one id for same element throughout application not only withing page).</p>
<p>Rigid element&#8217;s CSS should be served by using &#8216;id&#8217; CSS selectors, which will be used only once e.g. header, footer etc. Elements with dynamic nature having shared or inherited property with possible multiple occurrence need fetch CSS rules by &#8216;class&#8217; selectors.</p>
<p>Use of &#8216;tag&#8217; selectors can be decided by doing some research on default look and feel of elements of application. psudo CSS selectors can be used if backward compatibility with older browsers not needed.</p>
<p>Inheritance playes a great role in  in this that&#8217;s why planning is uttermost important. we should always keep in mind we are just contributing in development of some application which might have multiple developers hence coding must stick to requirements and standards of application so any one can understand and edit code of each other.</p>
<p>Modular CSS needs to be developed and all inherited properties needs to commented within CSS declaration so one don&#8217;t repeat same CSS again and selectors needs to named by some naming convention (e.g. prefixing every declaration by module).</p>
<p>Modules needs to be devised in such way so it remain plug and play if plugged in different application.</p>
<h3>Resources</h3>
<p>:</p>
<ul>
<li><a href="http://www.smashingmagazine.com/2008/11/12/12-principles-for-keeping-your-code-clean/">Make your markup clean</a></li>
<li><a href="http://www.jquery.com">Don&#8217;t fear to java script RIA is future. Jquery might be good place to start (and possibly end of search).</a></li>
<li><a href="http://www.smashingmagazine.com">Keep a tab on latest, fresh and trust worthy tips, tricks, trends, news etc related to web development.</a></li>
<li><a href="http://code.google.com/p/doctype/">Get benefit and give benefit by being active part of revolution in web development. Join the wiki maintained by web developers for web developer from Google. </a></li>
<li><a href="http://www.alistapart.com/">Know more about standards, stick to them and force them upon you, make web development your passion and web standards your religion. </a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://query7.com/see-yes-yes-go/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>See, Yes! Yes! – STEADY</title>
		<link>http://query7.com/see-yes-yes-steady</link>
		<comments>http://query7.com/see-yes-yes-steady#comments</comments>
		<pubDate>Wed, 12 Nov 2008 10:27:58 +0000</pubDate>
		<dc:creator>Dilip Shukla</dc:creator>
				<category><![CDATA[Best Practices]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[Web 2.0]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[Best Practice]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://www.webdevelopmentbits.com/?p=260</guid>
		<description><![CDATA[Not every validated webpage is accessible or ideal but every invalid web page is bad. So always try to validate. First by validating from validators and then by common sense, because technically a page with thousands of nested DIVs are valid. button stimulated out of div is valid. But question is... Is it really?]]></description>
			<content:encoded><![CDATA[<p>Hello Readers,</p>
<p>Here I am with second part of 3-part CSS primer.</p>
<p>In my previous <a href="http://www.webdevelopmentbits.com/see-yes-yes-ready/">post</a>, I briefly described importance of planning and resetting CSS, some possible &#8216;Do&#8217;s and &#8216;Don&#8217;t&#8217; s. I believe in outlining thing and let your mind fly in free space. My outline for CSS primer can be visualized by connecting following dots.</p>
<p><strong>Object Oriented approach</strong>:</p>
<p>Adopting <a href="http://www.webdevelopmentbits.com/philosophy-of-object-oriented-programming-and-software-design/">object-oriented philosophy</a> is always beneficial for development&#8230;and CSS is no exception. How? I tell you. Object oriented approach in terms of CSS translates as knowing and taking advantage of parent-child relation in DOM and inheriting CSS rules, by designing CSS optimized way, less repeated and multiple times used code indicates more object oriented CSS.</p>
<p><strong>Progressive Enhancement AKA Graceful degradation</strong>:</p>
<p>There is a term <a href="http://www.alistapart.com/articles/understandingprogressiveenhancement">progressive enhancement</a>, that is &#8220;incremental addition of elements&#8221;. Which means we should categorize content and content containers, parametrized by accessibility of content, covering target audience.</p>
<p>We should first care about, any content should not be missing which our target audience must get, by keeping in mind what would be possible access terminal for navigating the web page. e.g. PC, PDA etc. It includes low configured and not up to date browsers. Afterward one can enhance page by adding CSS and Javascript cylinders.</p>
<p><strong>Categorization, flexibility and re-usability</strong>:</p>
<p>By thinking this way we can get mostly auto categorized content. From here we can start implementing re-usability. We can aaply <a href="http://www.alistapart.com/articles/progressiveenhancementwithcss">progressive enhancement with CSS</a> by dividing one big-fat-utf8 CSS into multiple CSS files. e.g. IE specific CSS and print CSS and also CSS responsible for particulars like color and typography css.<strong></strong></p>
<p>If project demands we can keep &#8216;themes&#8217; too in mind. <a href="http://www.csszengarden.com/">CSSZenGarden</a> is extreme example of this. To implement this we should deeply think about DOM structure, basic skeleton X/HTML and naming of class/ids. naming of class/id should be content dependent, not on how its going to render or where its going to positioned.</p>
<p>Always try to minimize the unnecessary  tags. e.g. wrapping everything in a div or adding extra wrappers for display purpose only. I suggest to add extra divs to stylize things by Javascript in run time, e.g. rounded corners, or multiple background images, or its not always required to wrap ul and set of inks or img tags into any box level container like div&#8230;since CSS rules can be applied on any X/HTML element.</p>
<p>Use multiple class and loosely coupled classes massively.  Multiple classes help to increase re-usability.</p>
<p><strong>example:</strong><br />
<code>&lt;span class="block fs20"&gt;Multiple class&lt;/span&gt;</code></p>
<p>use of &#8216;!important&#8217; keyword is very useful in case of using multiple class, where we might need to override few css rules. but &#8216;!important&#8217; should be used carefully. Personally I prefer to use &#8216;!important&#8217; with loosely coupled classes declared against inherited property.<br />
e.g.: following will always work disregarding its position in CSS file against inherited bold property of font.</p>
<p><code>font-weight:normal !important;</code></p>
<p><strong>Code Management:</strong></p>
<p>Organize your code in properly commented grouped sections&#8230;e.g. header, body, navigation, footer etc.</p>
<p>here we know the importance of neutral class names. If naming of CSS classes will be accoring common template not according page wise us its easy to group related CSS.</p>
<p><strong>example:</strong></p>
<p>What if we name common right panel of web page &#8216;homecol&#8217; without thinking too much? either we have to rename it on every page its appearing and duplicating same css to render it identicaly, or we have to use &#8216;homecol&#8217; even in contact page.</p>
<p><strong>After all&#8230;</strong></p>
<p>Always try to understand any rendering issue, before throwing some random code to increase vertical length of your CSS file. Every browser supports CSS (If I am not wrong 90% identically) if application of CSS is pure and CSS rules are plugged in right socket. So think twice before re-searching on Google for some hacks to override something which might fill dirt on your accessible web page. Ya of course there are many of known bugs (e.g. IE6 PNG) but id doesn&#8217;t mean every issue, you are facing is a bug and you can&#8217;t overcome them until import some hack from Venus.</p>
<p>The last word before I end this second post from 3 part series on CSS, I want to say is&#8230;</p>
<p>Not every validated web page is accessible or ideal but every invalid web page is bad. So always try to validate. First by validating from validators and then by common sense, because technically a page with thousands of nested DIVs are valid. button stimulated out of div is valid. But question is&#8230; Is it really?</p>
<p>Think on it, till I am cooking third post <a href="http://www.webdevelopmentbits.com/see-yes-yes-go/">CSS Go</a></p>
]]></content:encoded>
			<wfw:commentRss>http://query7.com/see-yes-yes-steady/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Philosophy of Object Oriented Programming and Software Design</title>
		<link>http://query7.com/philosophy-of-object-oriented-programming-and-software-design</link>
		<comments>http://query7.com/philosophy-of-object-oriented-programming-and-software-design#comments</comments>
		<pubDate>Sat, 01 Nov 2008 14:33:25 +0000</pubDate>
		<dc:creator>yaapa</dc:creator>
				<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[Best Practices]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[Ruby on Rails]]></category>
		<category><![CDATA[Web 2.0]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[Zend]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[Object-Oriented Programming]]></category>
		<category><![CDATA[philosophy]]></category>
		<category><![CDATA[software]]></category>

		<guid isPermaLink="false">http://www.webdevelopmentbits.com/?p=241</guid>
		<description><![CDATA[Now, I am no expert in OOP or software design, but here's a philosophy which might help you make the most of what you know about OOP and software design.]]></description>
			<content:encoded><![CDATA[<p>Now, I am no expert in OOP or software design, but here&#8217;s a philosophy which might help you make the most of what you know about OOP and software design. I have observed and have read reports that people absorb most information when it&#8217;s presented in lists, preferably bulleted. So without any further ramling, I present you my bulleted philosophy of OOP and Software Design.</p>
<ul>
<li>It&#8217;s not how much and what you know; but what you can do with what you know, which&#8217;s important.</li>
</ul>
<ul>
<li>Ability to implement Polymorphism, Inheritance, private, public namespaces, static methods etc is no guarantee you are a good OO developer.</li>
</ul>
<ul>
<li>OOP is useless if you don&#8217;t use it to create good software design (architecture).</li>
</ul>
<ul>
<li>Using packages, classes, etc does not guarantee good software design.</li>
</ul>
<ul>
<li>When designing your software, think of it as an electronic device you are designing.</li>
</ul>
<ul>
<li>Sketch out the &#8216;electronic device&#8217;. Label the different components, list their functionalities.</li>
</ul>
<ul>
<li>Stay hungry, stay foolish.</li>
</ul>
<p>That&#8217;s it for today. I hope you are blessed with more knowledge, and the ability to make the best use of them.  Adios!</p>
]]></content:encoded>
			<wfw:commentRss>http://query7.com/philosophy-of-object-oriented-programming-and-software-design/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>See, Yes! Yes! – READY</title>
		<link>http://query7.com/see-yes-yes-ready</link>
		<comments>http://query7.com/see-yes-yes-ready#comments</comments>
		<pubDate>Tue, 28 Oct 2008 15:58:08 +0000</pubDate>
		<dc:creator>Dilip Shukla</dc:creator>
				<category><![CDATA[Best Practices]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[Novice]]></category>
		<category><![CDATA[Web Design]]></category>

		<guid isPermaLink="false">http://www.webdevelopmentbits.com/?p=184</guid>
		<description><![CDATA[<p><span>In today&#8217;s web arena, CSS has proved its importance in rigid way. Web content is no more targeted to web browsers only, Web content is been served for a verity of media now days. To efficiently handle such situation CSS plays a very crucial role.</span></p>
<p><span>In order to extract maximum pulp from CSS fruit there are few things needs to keep in mind. Although rule of thumb is efficiency is directly proportional to experience but I&#8217;ll point out few options 3-part post series <a title="See Yes! Yes! -READY" href="http://www.webdevelopmentbits.com/see-yes-yes-ready/">See, Yes! Yes! &#8211; READY</a>,  <a href="http://www.webdevelopmentbits.com/see-yes-yes-steady/">See, Yes! Yes! &#8211; STEADY</a> and </span><a href="http://www.webdevelopmentbits.com/see-yes-yes-go/"><span>See, Yes! Yes! &#8211; GO</span></a>.<span> which can help novice CSS developers to take right diversions. </span></p>
<p><span>All of following points are optional and one can modify them according to needs and/or simply drop the idea.</span></p>
<h3>Big Picture:</h3>
<p>Planning is a must for mid or big projects&#8230;for small projects one can instantly start coding.</p>
<p>While coding for new design, web designer must analyze the design mock-up and slice the design by keeping in mind the facts which are resultant of observation and guideline of website/blog/web application.</p>
<p><strong>e.g.</strong></p>
<ul>
<li>What portion of design mock can be translated by using CSS rules instead</li></ul><p>&#8230;</p>]]></description>
			<content:encoded><![CDATA[<p><span>In today&#8217;s web arena, CSS has proved its importance in rigid way. Web content is no more targeted to web browsers only, Web content is been served for a verity of media now days. To efficiently handle such situation CSS plays a very crucial role.</span></p>
<p><span>In order to extract maximum pulp from CSS fruit there are few things needs to keep in mind. Although rule of thumb is efficiency is directly proportional to experience but I&#8217;ll point out few options 3-part post series <a title="See Yes! Yes! -READY" href="http://www.webdevelopmentbits.com/see-yes-yes-ready/">See, Yes! Yes! &#8211; READY</a>,  <a href="http://www.webdevelopmentbits.com/see-yes-yes-steady/">See, Yes! Yes! &#8211; STEADY</a> and </span><a href="http://www.webdevelopmentbits.com/see-yes-yes-go/"><span>See, Yes! Yes! &#8211; GO</span></a>.<span> which can help novice CSS developers to take right diversions. </span></p>
<p><span>All of following points are optional and one can modify them according to needs and/or simply drop the idea.</span></p>
<h3>Big Picture:</h3>
<p>Planning is a must for mid or big projects&#8230;for small projects one can instantly start coding.</p>
<p>While coding for new design, web designer must analyze the design mock-up and slice the design by keeping in mind the facts which are resultant of observation and guideline of website/blog/web application.</p>
<p><strong>e.g.</strong></p>
<ul>
<li>What portion of design mock can be translated by using CSS rules instead of image?</li>
<li>Whether background is repeating? Design is fixed width or liquid?</li>
<li>What element of design is going to change dimension dynamically?</li>
<li>Re-usability issues needs to be addressed so back-end developer (if any) don&#8217;t face any difficulty to plug reusable components.</li>
<li>Sliced images need to save as optimized for  web, as PNG if element is using alpha transparency and if it uses square shape without tranparency JPG images work better in most cases.</li>
</ul>
<h3>CSS Reset:</h3>
<p>Purpose of using <a title="CSS Reset" href="http://perishablepress.com/press/2007/10/23/a-killer-collection-of-global-css-reset-styles/">CSS Reset</a> is to neutralize default rendering of browser, in order to equalize rendering of web page across different browsers.</p>
<p>Its entirly optional for web developers whether to use one or not. Even if Web Designer is very keen to use one, s/he must consider the big picture where the CSS is going to be used (including some future prediction).</p>
<p>In few cases i prefer not to use CSS reset as in Blogs where content is generated by user and web designer don&#8217;t have exact control over X/HTML tags.<br />
Following is my reset.css. I have cooked this starter dish by borrowing some spices from <a id="yla6" title="here" href="http://perishablepress.com/press/2007/10/23/a-killer-collection-of-global-css-reset-styles/">here</a> and few from experience.</p>
<p><code>/* Common CSS and CSS reset Start */<br />
html, body, div, span, applet, object, iframe, table, caption, tbody, tfoot, thead, tr, th, td,<br />
del, dfn, em, font, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var,<br />
h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code,<br />
dl, dt, dd, ol, ul, li, fieldset, form, label, legend {<br />
vertical-align: baseline;<br />
font-family: inherit;<br />
font-weight: inherit;<br />
font-style: inherit;<br />
font-size: 100%;<br />
outline: 0;<br />
padding: 0;<br />
margin: 0;<br />
border: 0;<br />
}<br />
/* remember to define focus styles! */<br />
:focus {<br />
outline: 0;<br />
}<br />
/*links*/<br />
a{<br />
text-decoration:none;<br />
}<br />
a:hover{<br />
text-decoration:none;<br />
}<br />
/*List*/<br />
ol, ul {<br />
list-style: none;<br />
}<br />
/* tables still need cellspacing="0" in the markup */<br />
table {<br />
border-collapse: separate;<br />
border-spacing: 0;<br />
}<br />
caption, th, td {<br />
font-weight: normal;<br />
text-align: left;<br />
}<br />
/* Common Display Rules*/<br />
.block{<br />
display:block;<br />
}<br />
.none{<br />
display:none;<br />
}<br />
.inline{<br />
display:inline;<br />
}<br />
.clear{<br />
clear:both;<br />
}<br />
.relative{<br />
position:relative;<br />
}<br />
.absolute{<br />
position:absolute;<br />
}<br />
.floatleft{<br />
float:left;<br />
}<br />
.floatright{<br />
float:right;<br />
}<br />
.center_div{<br />
margin:0 auto;<br />
}<br />
.bold{<br />
font-weight:700;<br />
}<br />
.normal{<br />
font-weight:normal !important;<br />
}<br />
.underline, .underline:hover{<br />
text-decoration:underline;<br />
}<br />
/* Headings*/<br />
h1, h2, h3, h4, h5, h6{<br />
font-family:Arial, HelveticaNeue, Helvetica, sans-serif;<br />
font-weight:700;<br />
}<br />
h1{<br />
font-size:18px;<br />
}<br />
h2{<br />
font-size:17px;<br />
}<br />
h3{<br />
font-size:16px;<br />
}<br />
h4{<br />
font-size:14px;<br />
}<br />
h5{<br />
font-size:15px;<br />
}<br />
h6{<br />
font-size:13px;<br />
}<br />
/* Font Size */<br />
.fs8{<br />
font-size:8px;<br />
}<br />
.fs9{<br />
font-size:9px;<br />
}<br />
.fs10{<br />
font-size:10px;<br />
}<br />
.fs11{<br />
font-size:11px;<br />
}<br />
.fs12{<br />
font-size:12px;<br />
}<br />
.fs13{<br />
font-size:13px;<br />
}<br />
.fs14{<br />
font-size:14px;<br />
}<br />
.fs15{<br />
font-size:15px;<br />
}<br />
.fs16{<br />
font-size:16px;<br />
}<br />
.fs17{<br />
font-size:17px;<br />
}<br />
.fs18{<br />
font-size:18px;<br />
}<br />
.fs19{<br />
font-size:19px;<br />
}<br />
.fs20{<br />
font-size:20px;<br />
}<br />
.fs21{<br />
font-size:21px;<br />
}<br />
.fs22{<br />
font-size:22px;<br />
}<br />
.fs23{<br />
font-size:23px;<br />
}<br />
.fs24{<br />
font-size:24px;<br />
}<br />
.fs25{<br />
font-size:25px;<br />
}<br />
.fs26{<br />
font-size:26px;<br />
}<br />
.fs27{<br />
font-size:27px;<br />
}<br />
.fs28{<br />
font-size:28px;<br />
}<br />
.fs29{<br />
font-size:29px;<br />
}<br />
.fs30{<br />
font-size:30px;<br />
}<br />
/* Remove Inherited Style*/<br />
.no_margin{<br />
margin:0 !important;<br />
}<br />
.no_padding{<br />
padding:0 !important;<br />
}<br />
.no_border{<br />
border:none !important;<br />
}<br />
.no_dec{<br />
text-decoration:none !important;<br />
}<br />
/* Common CSS and CSS reset End */</code></p>
<p>Hmm&#8230;I think its a good breakfast.</p>
<p>So guys allow me to take a break&#8230;I&#8217;ll be digging further into CSS mine very soon on my next post <a href="http://www.webdevelopmentbits.com/see-yes-yes-steady/">See, Yes! Yes! &#8211; STEADY</a> .</p>
]]></content:encoded>
			<wfw:commentRss>http://query7.com/see-yes-yes-ready/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Apache SSL – For Secure online transactions</title>
		<link>http://query7.com/apache-ssl-for-secure-online-transactions</link>
		<comments>http://query7.com/apache-ssl-for-secure-online-transactions#comments</comments>
		<pubDate>Fri, 24 Oct 2008 11:58:51 +0000</pubDate>
		<dc:creator>Sandeep Manne</dc:creator>
				<category><![CDATA[Best Practices]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[Web Development]]></category>

		<guid isPermaLink="false">http://www.webdevelopmentbits.com/?p=129</guid>
		<description><![CDATA[<p>Hey you are planning to start a e-commerce website, then you must know about SSL without which no one will trust your website as a safe place to use their cards&#8230;</p>
<p><strong>What is SSL?</strong></p>
<p>SSL (Secure Socket Layer) is a protocol used for secure data transfer. This is done by using private keys and certificates. A private key is used to encrypt the data which you are sending and the server can only decrypt this data with the private key available with it, A certificate is used to authentic yourself before proceeding.</p>
<p>So we need two things to make our website secure for online transactions. In this article i will explain how to generate a private key with open-ssl and apache, how to generate a certificate request from CA (Certificate Authority). How to configure your server to respond for ssl requests.</p>
<p>We use Apache 2, Debian Linux, Openssl for this article.</p>
<p>First step is to install Apache:</p>
<p>Go to console mode<br />
<code><br />
aptitude install apache2<br />
</code><br />
next install openssl to generate keys and certificates or certificate requests<br />
<code><br />
aptitude install openssl<br />
</code></p>
<p>next generate certificate request and key using openssl<br />
<code><br />
openssl req -new -nodes</code>&#8230;</p>]]></description>
			<content:encoded><![CDATA[<p>Hey you are planning to start a e-commerce website, then you must know about SSL without which no one will trust your website as a safe place to use their cards&#8230;</p>
<p><strong>What is SSL?</strong></p>
<p>SSL (Secure Socket Layer) is a protocol used for secure data transfer. This is done by using private keys and certificates. A private key is used to encrypt the data which you are sending and the server can only decrypt this data with the private key available with it, A certificate is used to authentic yourself before proceeding.</p>
<p>So we need two things to make our website secure for online transactions. In this article i will explain how to generate a private key with open-ssl and apache, how to generate a certificate request from CA (Certificate Authority). How to configure your server to respond for ssl requests.</p>
<p>We use Apache 2, Debian Linux, Openssl for this article.</p>
<p>First step is to install Apache:</p>
<p>Go to console mode<br />
<code><br />
aptitude install apache2<br />
</code><br />
next install openssl to generate keys and certificates or certificate requests<br />
<code><br />
aptitude install openssl<br />
</code></p>
<p>next generate certificate request and key using openssl<br />
<code><br />
openssl req -new -nodes -keyout myserver.key -out myserver.csr<br />
</code><br />
Here you want to fill up some details like Country code, State, City, Company name, the most important thing is common name, it must be same as your website name (suppose you website is www.sourcebits.com then the common name must be sourcebits.com)</p>
<p>this will generate two files in your directory one is a private key file (myserver.key) and another one is certificate request file (myserver.csr)</p>
<p>Now you need to get a certificate from some certificate vendors most popular vendors are verisign and comodo.<br />
Comodo is providing a free trail certificate which is valid for 3 months. (<a href="http://www.instantssl.com/ssl-certificate-products/free-ssl-certificate.html">Comodo Free Trail</a>)<br />
After getting the certificates you want to enable ssl module in apache and configure it<br />
<code><br />
a2enmod ssl<br />
vi /etc/apache2/sites-available/default</code></p>
<p>&lt;VirtualHost *:443&gt;<br />
ServerName policeagenda<br />
DocumentRoot /var/www/<br />
SSLEngine On<br />
SSLCertificateFile /etc/apache2/ssl/sourcebits.cert<br />
SSLCertificateKeyFile /etc/apache2/ssl/sourcebits.key</p>
<p>&lt;Directory /&gt;<br />
Options Indexes FollowSymLinks<br />
AllowOverride All<br />
Order deny,allow<br />
Allow from all<br />
&lt;/Directory&gt;<br />
&lt;/VirtualHost&gt;</p>
<p>Then restart your server /etc/init.d/apache2 restart</p>
<p>We all know that a default http request will be sent port 80, in the same way a default https request will be forwarded to 443 so we are configuring the server for 443 port.</p>
<p>You are done now access your website with https://myserver.com</p>
<p>If you face any problems you want to check this things first</p>
<p>Whether the server is hearing port 443 or not to find this type lsof -i tcp:443</p>
<p>Next check whether your port 443 is forwarded or not. If you face any new problems other than this please post a comment and we will try to solve it.</p>
]]></content:encoded>
			<wfw:commentRss>http://query7.com/apache-ssl-for-secure-online-transactions/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

