<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>WoOd's TechLog</title>
	<atom:link href="http://xmltech.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://xmltech.wordpress.com</link>
	<description>Philosophy, Technology and Goofiness</description>
	<lastBuildDate>Tue, 06 Jan 2009 06:29:25 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='xmltech.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>WoOd's TechLog</title>
		<link>http://xmltech.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://xmltech.wordpress.com/osd.xml" title="WoOd&#039;s TechLog" />
	<atom:link rel='hub' href='http://xmltech.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Moved</title>
		<link>http://xmltech.wordpress.com/2009/01/06/moved/</link>
		<comments>http://xmltech.wordpress.com/2009/01/06/moved/#comments</comments>
		<pubDate>Tue, 06 Jan 2009 06:29:25 +0000</pubDate>
		<dc:creator>borninthewoods</dc:creator>
				<category><![CDATA[Web services Architecture]]></category>

		<guid isPermaLink="false">http://xmltech.wordpress.com/?p=89</guid>
		<description><![CDATA[Moved to http://techno-jazz.blogspot.com/<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=xmltech.wordpress.com&amp;blog=4104786&amp;post=89&amp;subd=xmltech&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Moved to</p>
<p><a href="http://techno-jazz.blogspot.com/">http://techno-jazz.blogspot.com/</a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/xmltech.wordpress.com/89/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/xmltech.wordpress.com/89/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/xmltech.wordpress.com/89/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/xmltech.wordpress.com/89/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/xmltech.wordpress.com/89/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/xmltech.wordpress.com/89/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/xmltech.wordpress.com/89/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/xmltech.wordpress.com/89/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/xmltech.wordpress.com/89/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/xmltech.wordpress.com/89/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/xmltech.wordpress.com/89/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/xmltech.wordpress.com/89/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/xmltech.wordpress.com/89/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/xmltech.wordpress.com/89/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=xmltech.wordpress.com&amp;blog=4104786&amp;post=89&amp;subd=xmltech&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://xmltech.wordpress.com/2009/01/06/moved/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">borninthewoods</media:title>
		</media:content>
	</item>
		<item>
		<title>./a.out readonly strings</title>
		<link>http://xmltech.wordpress.com/2008/12/02/aout-readonly-strings/</link>
		<comments>http://xmltech.wordpress.com/2008/12/02/aout-readonly-strings/#comments</comments>
		<pubDate>Tue, 02 Dec 2008 11:54:42 +0000</pubDate>
		<dc:creator>borninthewoods</dc:creator>
				<category><![CDATA[Techno-Jazz]]></category>
		<category><![CDATA[bss]]></category>
		<category><![CDATA[decrease executable size]]></category>
		<category><![CDATA[exe format]]></category>
		<category><![CDATA[read only strings]]></category>

		<guid isPermaLink="false">http://xmltech.wordpress.com/?p=83</guid>
		<description><![CDATA[Ever wondered why this program crashes? void main() { char * str = &#8220;NonWritable&#8221;; str[0] = &#8216;X&#8217;; /*&#60;&#60; Booom*/ } Compiling the same using -fwritable-strings option to gcc however did not result in a segmentation fault. Let me warn you before you try it yourself. GCC removed the support of writable strings with 4.0 and [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=xmltech.wordpress.com&amp;blog=4104786&amp;post=83&amp;subd=xmltech&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><em><strong>Ever wondered why this program crashes?</strong></em></p>
<p><em><strong>void main() {</strong></em></p>
<p><em><strong>char * str = &#8220;NonWritable&#8221;;</strong></em></p>
<p><em><strong> str[0] = &#8216;X&#8217;;               /*&lt;&lt; Booom*/<br />
</strong></em></p>
<p><em><strong>}<br />
</strong></em></p>
<p><em>Compiling the same using </em> <code>-fwritable-strings option to gcc however did not result in a segmentation fault.</code></p>
<blockquote><p>Let me warn you before you try it yourself. GCC removed the support of writable strings with 4.0 and above. Hence, GCC no longer accepts the <code>-fwritable-strings</code> option.  Use named character arrays when you need a writable         string.</p>
<p>What does that mean?</p>
<p>It means that use this instead:    char str[] = {&#8220;Writable&#8221;}; instead of char * str = &#8220;Non Writable&#8221;</p></blockquote>
<p><em>Aha, now i get it&#8230;somehow char * str is marked read only? but where and how?</em></p>
<p><em>Ok Lets dig in&#8230;<br />
</em></p>
<p><em>What Kinds of C Statements End Up in Which Segments? (Courtesy: </em>&#8220;<a href="http://www.amazon.com/Expert-Programming-Peter-van-Linden/dp/0131774298">Expert C Programming</a>&#8220;)</p>
<p>Segments? Does it have to do with segments and Paging in OS architecture&#8230; hell no! Its something to do with how ./a.out (executables) are organized and laid out. Many Authors call segments as sections who want to distinguish the two types. But for now I would continue calling them as segments.</p>
<p>Try this: Linux has a utility name <strong>size</strong> which prints out size of various segments(or sections) of the executable.</p>
<p>For example: size ./a.out</p>
<p><strong> text           data        bss               dec              hex       filename</strong><br />
1167    + 528 +  60032  = 61727     f11f      ./a.out</p>
<p>Actual size of ./a.out is 9324 (9K Bytes) using dir equivalent.</p>
<p>What is the <strong>size</strong> program printing? Its actually printing various sizes of the segments in which the executable ./a.out is divided. As you might have guessed they are &#8216;text&#8217; , bss and data.</p>
<p>Here is the example copied from the &#8220;<a href="http://www.amazon.com/Expert-Programming-Peter-van-Linden/dp/0131774298">Expert C Programming</a>&#8220;</p>
<p><a href="http://xmltech.files.wordpress.com/2008/12/screenshot-4.png"><img class="alignleft size-full wp-image-84" title="screenshot-4" src="http://xmltech.files.wordpress.com/2008/12/screenshot-4.png?w=600" alt="screenshot-4"   /></a></p>
<p>Here is the summary:<br />
- All Initialized Global/Static variable go into the data segment.</p>
<p>- All uninitialized global variables go into the BSS segment. Since all global variables are initialized to zero by default, there is no need to remember it. That is probably why the bss segment was created.</p>
<p>- char * str = &#8220;Non Writable&#8221; goes into the text segment, which is when loaded into the memory by the loader(?) is marked as read only. That is why the above program crashes!</p>
<p>Now, I am wondering how can we write a self mutating program when the text segment is marked read only.</p>
<p>- Variables declared on stack are not captured in any segment. Thus declaring a big array on stack does not increase your a.out size.</p>
<p><strong>But will declaring a huge array as global or static increase a.out size? </strong></p>
<p><strong></strong>Lets see:</p>
<p>Declaring a global array int arr[], compiling and running <strong>size</strong> and also checking the actual size of the file a.out:</p>
<p><em>size.c: </em></p>
<p><em>char arr[64000];<br />
void main () {<br />
}</em></p>
<p><em>gcc size.c; <strong>size ./a.out</strong> gave the output as:<br />
</em></p>
<p><em></em> <strong> text    data     bss     dec          hex    filename    | Actual size of file ./a.out<br />
</strong></p>
<p>char arr [6400];       1012     484   <strong>64032 </strong>65528       fff8       a.out          |    <strong>9121</strong> bytes</p>
<p>char arr [640000];   1012     484 <strong>6400032</strong> 6401528  61adf8 a.out          |    <strong>9121</strong> bytes<br />
Clearly, just declaring a big array does not change the Actual size of the binary.</p>
<p>However declaring and initializing the array</p>
<p>char darr[6400000] = {&#8220;test&#8221;};<br />
void main () {<br />
}</p>
<p><strong> text    data     bss     dec          hex    filename    | Actual size of file ./a.out</strong><br />
1012 6400512      16 6401540  61ae04 ./a.out          | <strong>6409145 </strong></p>
<p>Makes the executable size as  <strong>6409145 bytes, </strong>ouch! compare it with 9121 bytes above.</p>
<p>The only change was that the array was initialized, which moved the array into Data segment (instead of BSS segment). Since the BSS segment only holds variables that don&#8217;t have any value yet, it doesn&#8217;t actually need to store the image of these variables.</p>
<p>Until next time&#8230;</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/xmltech.wordpress.com/83/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/xmltech.wordpress.com/83/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/xmltech.wordpress.com/83/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/xmltech.wordpress.com/83/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/xmltech.wordpress.com/83/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/xmltech.wordpress.com/83/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/xmltech.wordpress.com/83/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/xmltech.wordpress.com/83/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/xmltech.wordpress.com/83/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/xmltech.wordpress.com/83/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/xmltech.wordpress.com/83/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/xmltech.wordpress.com/83/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/xmltech.wordpress.com/83/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/xmltech.wordpress.com/83/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=xmltech.wordpress.com&amp;blog=4104786&amp;post=83&amp;subd=xmltech&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://xmltech.wordpress.com/2008/12/02/aout-readonly-strings/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">borninthewoods</media:title>
		</media:content>

		<media:content url="http://xmltech.files.wordpress.com/2008/12/screenshot-4.png" medium="image">
			<media:title type="html">screenshot-4</media:title>
		</media:content>
	</item>
		<item>
		<title>XP theme, looks like Vista!</title>
		<link>http://xmltech.wordpress.com/2008/11/30/xp-theme-looks-like-vista/</link>
		<comments>http://xmltech.wordpress.com/2008/11/30/xp-theme-looks-like-vista/#comments</comments>
		<pubDate>Sun, 30 Nov 2008 10:19:43 +0000</pubDate>
		<dc:creator>borninthewoods</dc:creator>
				<category><![CDATA[CoolTech]]></category>
		<category><![CDATA[XP Vista theme]]></category>

		<guid isPermaLink="false">http://xmltech.wordpress.com/?p=78</guid>
		<description><![CDATA[Well here you go: try this Download Royale Noir (.ZIP) [403K] Download Royale Noir (.RAR) [232K] Instructions to use: Extract files to “C:\windows\resources\themes\royale noir” Double click on “luna.msstyles” Select “Noir” from “Color Scheme” Because this theme has been code-signed by Microsoft, No UXTheme.dll hack required. And my Desktop looks like: Sometime after the launch of [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=xmltech.wordpress.com&amp;blog=4104786&amp;post=78&amp;subd=xmltech&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Well here you go: try this</p>
<p><strong><a href="http://www.istartedsomething.com/uploads/royale_noir.zip">Download Royale Noir (.ZIP) [403K]</a></strong><br />
<strong><a href="http://www.istartedsomething.com/uploads/royale_noir.rar">Download Royale Noir (.RAR) [232K]</a></strong></p>
<p><strong><br />
</strong></p>
<div style="border:2px solid #edbe6d;background:#feffdf none repeat scroll 0 0;padding:5px 5px 0;"><strong>Instructions to use:</strong></div>
<div id="downloadlink" style="border:2px solid #edbe6d;background:#feffdf none repeat scroll 0 0;padding:5px 5px 0;">
<ol>
<li>Extract files to “C:\windows\resources\themes\royale noir”</li>
<li>Double click on “luna.msstyles”</li>
<li>Select “Noir” from “Color Scheme”</li>
</ol>
<p>Because this theme has been code-signed by Microsoft, No UXTheme.dll hack required.</p></div>
<p>And my Desktop looks like:</p>

<a href='http://xmltech.wordpress.com/2008/11/30/xp-theme-looks-like-vista/laptop/' title='laptop'><img data-attachment-id='79' data-orig-size='1024,768' data-liked='0'width="150" height="112" src="http://xmltech.files.wordpress.com/2008/11/laptop.jpg?w=150&#038;h=112" class="attachment-thumbnail" alt="laptop" title="laptop" /></a>
<a href='http://xmltech.wordpress.com/2008/11/30/xp-theme-looks-like-vista/royalenoir/' title='royalenoir'><img data-attachment-id='80' data-orig-size='347,214' data-liked='0'width="150" height="92" src="http://xmltech.files.wordpress.com/2008/11/royalenoir.gif?w=150&#038;h=92" class="attachment-thumbnail" alt="royalenoir" title="royalenoir" /></a>

<p>Sometime after the launch of XP, somewhere in Redmond, someone on the Microsoft design team was in the progress of developing something for Media Center. It was believed to be too powerful for public consumption and forever archived in the servers at 1 Microsoft Way (source http://www.istartedsomething.com/20061029/royale-noir/).</p>
<p>Archived Forever? Nah.. Vista looks much similar. Since I don&#8217;t like desktop wallpapers, I kept it dark (Although you may want to download one from the net..)</p>
<p>hail XP!!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/xmltech.wordpress.com/78/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/xmltech.wordpress.com/78/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/xmltech.wordpress.com/78/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/xmltech.wordpress.com/78/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/xmltech.wordpress.com/78/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/xmltech.wordpress.com/78/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/xmltech.wordpress.com/78/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/xmltech.wordpress.com/78/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/xmltech.wordpress.com/78/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/xmltech.wordpress.com/78/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/xmltech.wordpress.com/78/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/xmltech.wordpress.com/78/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/xmltech.wordpress.com/78/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/xmltech.wordpress.com/78/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=xmltech.wordpress.com&amp;blog=4104786&amp;post=78&amp;subd=xmltech&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://xmltech.wordpress.com/2008/11/30/xp-theme-looks-like-vista/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">borninthewoods</media:title>
		</media:content>

		<media:content url="http://xmltech.files.wordpress.com/2008/11/laptop.jpg?w=150" medium="image">
			<media:title type="html">laptop</media:title>
		</media:content>

		<media:content url="http://xmltech.files.wordpress.com/2008/11/royalenoir.gif?w=150" medium="image">
			<media:title type="html">royalenoir</media:title>
		</media:content>
	</item>
		<item>
		<title>Writing 64 bit Clean code</title>
		<link>http://xmltech.wordpress.com/2008/11/28/writing-64-bit-clean-code/</link>
		<comments>http://xmltech.wordpress.com/2008/11/28/writing-64-bit-clean-code/#comments</comments>
		<pubDate>Fri, 28 Nov 2008 10:32:15 +0000</pubDate>
		<dc:creator>borninthewoods</dc:creator>
				<category><![CDATA[CoolTech]]></category>
		<category><![CDATA[TechPain]]></category>
		<category><![CDATA[64 bit OS]]></category>

		<guid isPermaLink="false">http://xmltech.wordpress.com/?p=74</guid>
		<description><![CDATA[Data Type 32 64 char 1 byte 1 byte short 2 bytes 2 bytes int 4 bytes 4 bytes long 4 bytes 8 bytes pointer 4 bytes 8 bytes size_t 4 bytes 8 bytes long long 8 bytes 8 bytes Notes: • The size and alignment of long integers and pointers have changed from 32 [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=xmltech.wordpress.com&amp;blog=4104786&amp;post=74&amp;subd=xmltech&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<pre style="text-align:left;"><strong>Data Type       32          64</strong>
char             1 byte      1 byte
short            2 bytes     2 bytes
int                4 bytes     4 bytes
long             4 bytes     8 bytes
pointer         4 bytes     8 bytes
size_t           4 bytes     8 bytes
long long     8 bytes     8 bytes</pre>
<p style="text-align:left;"><strong>Notes:</strong><br />
• The size and alignment of long integers and pointers have changed<br />
from 32 bit to 64 bit.<br />
• For the most part, as long as your code always uses the sizeof<br />
function when allocating data structures, the size and alignment of<br />
pointers should not affect your code, because structures containing<br />
pointer members are generally not written to disk or sent across<br />
networks between 32-bit and 64-bit applications. However, the<br />
change in the size of long can cause problems if you frequently<br />
move data between variables of type int and long.<br />
• You should generally avoid casting a pointer to a non-pointer type<br />
for any reason (and particularly not for performing address<br />
arithmetic). If possible, rewrite any code that does this, either by<br />
changing the data types or by replacing address arithmetic with<br />
pointer arithmetic.<br />
• If you are shifting through the bits stored in a variable of type long,<br />
1 Depends on whether _FILE_OFFSET_BITS=64<br />
you should be careful to avoid assuming that it is of a particular<br />
length. Instead, use the value sysconf(_SC_LONG_BIT) to<br />
determine the number of bits in a long.<br />
• Be careful when using bit masks with variables of type long,<br />
because the width will change between 32-bit and 64-bit<br />
architectures.<br />
• If you want the mask value to contain zeroes in the upper 32 bits on<br />
a 64-bit architecture, the usual fixed-width mask will work as<br />
expected, because it will be extended in an unsigned fashion to a<br />
64-bit quantity.<br />
• Use explicit types where possible. For example, types with names<br />
like sint32_t and uint32_t will always be a 32-bit quantity,<br />
regardless of future architectural changes.<br />
• Conversion of shorter types to 64-bit longs may yield unexpected<br />
results in certain cases. Be sure to read the section “Sign Extension<br />
Rules for C” if you are seeing unexpected values from math that<br />
mixes int and long variables.<br />
• The alignment of long long (64-bit) integers has changed from 32<br />
bit to 64 bit. This can pose a problem when you are exchanging<br />
data between 32-bit and 64-bit applications.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/xmltech.wordpress.com/74/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/xmltech.wordpress.com/74/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/xmltech.wordpress.com/74/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/xmltech.wordpress.com/74/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/xmltech.wordpress.com/74/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/xmltech.wordpress.com/74/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/xmltech.wordpress.com/74/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/xmltech.wordpress.com/74/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/xmltech.wordpress.com/74/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/xmltech.wordpress.com/74/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/xmltech.wordpress.com/74/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/xmltech.wordpress.com/74/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/xmltech.wordpress.com/74/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/xmltech.wordpress.com/74/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=xmltech.wordpress.com&amp;blog=4104786&amp;post=74&amp;subd=xmltech&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://xmltech.wordpress.com/2008/11/28/writing-64-bit-clean-code/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">borninthewoods</media:title>
		</media:content>
	</item>
		<item>
		<title>Signed != Unsigned</title>
		<link>http://xmltech.wordpress.com/2008/11/28/signed-unsigned/</link>
		<comments>http://xmltech.wordpress.com/2008/11/28/signed-unsigned/#comments</comments>
		<pubDate>Fri, 28 Nov 2008 10:22:38 +0000</pubDate>
		<dc:creator>borninthewoods</dc:creator>
				<category><![CDATA[CoolTech]]></category>
		<category><![CDATA[TechPain]]></category>
		<category><![CDATA[64 bit OS]]></category>
		<category><![CDATA[Sign Extension]]></category>
		<category><![CDATA[Sign promotion]]></category>

		<guid isPermaLink="false">http://xmltech.wordpress.com/?p=72</guid>
		<description><![CDATA[Problems of Sign Extension: void main() { int a=-2; unsigned int b=1; long c = a + b; long c1 = a + (long) b; long long d=c; // to get a consistent size for printing (on both architectures, 32 and 64 bit). &#8230; } PROBLEM: When executed on a 32-bit architecture, the result is [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=xmltech.wordpress.com&amp;blog=4104786&amp;post=72&amp;subd=xmltech&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><strong>Problems of Sign Extension: </strong></p>
<p>void main()<br />
{<br />
int a=-2;<br />
unsigned int b=1;<br />
long c = a + b;<br />
long c1 = a + (long) b;</p>
<p>long long d=c; // to get a consistent size for printing (on both architectures, 32 and 64 bit).</p>
<p>&#8230;</p>
<p>}</p>
<p><strong>PROBLEM:</strong> When executed on a 32-bit architecture, the result is -1 (0xffffffff). When run on a 64-bit architecture, the result is 4294967295 (0x00000000ffffffff), which is probably not what you were expecting</p>
<p><strong>Rule #1 :</strong> Now, when you add a (int) + b (uint) : The result is : Unsigned. Thus, a + b results in a unsigned integer (-1) which is 0xffffffff.</p>
<p><strong>Rule #2: </strong>When unsigned int numbers are promoted to long&#8217;s. They are <strong>not</strong> sign Extended. Thus, -1 which is 0xffffffff is simply promoted to 0x00000000ffffffff which is a very high number. <strong>Note:</strong> This problem does not come on a 32 bit OS. Since long is 4 bytes.</p>
<p><strong>What? </strong>The Idea is simple: unsigned quantity does not have a sign attached to it, right? so if unsigned quantity is promoted to a long(or unsigned long) then they simply cannot be sign extended!</p>
<p>However, signed quantities do have a sign, thus when they are promoted to a long, it is all duly taken care. i.e:</p>
<p><strong>Rule #3:</strong> Signed values are always sign extended when promoted to a larger<br />
type, even if the resulting type is unsigned.</p>
<p>(unsigned or signed) Long  = Signed int will Work.</p>
<p>i.e. Signed values are always sign extended when promoted to a larger type, even if the resulting type is unsigned.</p>
<p>int a = -1;</p>
<p>long v = a;<br />
unsigned long v1 = a;</p>
<p>printf(&#8220;%d %ld %ld\n&#8221;,a,  v, v1);</p>
<p>Output (on a 64 bit value) is: -1 -1 18446744073709551615</p>
<p>The above big value clearly shows that when signed integer -1 was promoted to a signed long value (which would be 64th bit (sign bit) was set as 1).</p>
<p><strong>Rule #5: </strong>Constants (unless modified by a suffix, such as 0x8L) are the<br />
smallest size that will hold the value. For numbers written in<br />
hexadecimal, this includes both signed and unsigned int, long,<br />
and long long types. For decimal numbers, this only includes<br />
signed types.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/xmltech.wordpress.com/72/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/xmltech.wordpress.com/72/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/xmltech.wordpress.com/72/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/xmltech.wordpress.com/72/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/xmltech.wordpress.com/72/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/xmltech.wordpress.com/72/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/xmltech.wordpress.com/72/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/xmltech.wordpress.com/72/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/xmltech.wordpress.com/72/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/xmltech.wordpress.com/72/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/xmltech.wordpress.com/72/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/xmltech.wordpress.com/72/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/xmltech.wordpress.com/72/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/xmltech.wordpress.com/72/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=xmltech.wordpress.com&amp;blog=4104786&amp;post=72&amp;subd=xmltech&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://xmltech.wordpress.com/2008/11/28/signed-unsigned/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">borninthewoods</media:title>
		</media:content>
	</item>
		<item>
		<title>To be or not to be..</title>
		<link>http://xmltech.wordpress.com/2008/11/13/to-be-or-not-to-be/</link>
		<comments>http://xmltech.wordpress.com/2008/11/13/to-be-or-not-to-be/#comments</comments>
		<pubDate>Thu, 13 Nov 2008 12:37:50 +0000</pubDate>
		<dc:creator>borninthewoods</dc:creator>
				<category><![CDATA[TechPhilosophy]]></category>

		<guid isPermaLink="false">http://xmltech.wordpress.com/?p=69</guid>
		<description><![CDATA[Hmm.. I have been coding for the last 7 years in c and c++. Now things have become so mundane that I can code with my eyes closed and my brain half dead. Programming everyday in office, I do not get a problem for which I&#8217;ve to think much. There is nothing which makes me [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=xmltech.wordpress.com&amp;blog=4104786&amp;post=69&amp;subd=xmltech&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Hmm..</p>
<p>I have been coding for the last 7 years in c and c++. Now things have become so mundane that I can code with my eyes closed and my brain half dead. Programming everyday in office, I do not get a problem for which I&#8217;ve to think much. There is nothing which makes me awake from my sleep. Mostly a bug fix, a feature integration or just plain refactoring. There is no excitement of a new learning or a new technology. I am getting old and tired of doing the same/similar things again and again&#8230;</p>
<p>What I would like is to try something radically different. Like?</p>
<p>1) UI Design. Be an expert in designing simplified UI for next generation devices.</p>
<p>2) A web based software. With things now slowly moving towards SAAS (s/w as a service model) and web based delivery of software. I would like to get involved in it, to see the how this technology transforms the way s/w is delivered and used.</p>
<p>3) Product management: Instead of thinking about algorithms and datastructures, I would like to move one step closer to where products are incubated.</p>
<p>And some more&#8230;</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/xmltech.wordpress.com/69/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/xmltech.wordpress.com/69/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/xmltech.wordpress.com/69/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/xmltech.wordpress.com/69/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/xmltech.wordpress.com/69/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/xmltech.wordpress.com/69/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/xmltech.wordpress.com/69/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/xmltech.wordpress.com/69/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/xmltech.wordpress.com/69/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/xmltech.wordpress.com/69/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/xmltech.wordpress.com/69/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/xmltech.wordpress.com/69/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/xmltech.wordpress.com/69/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/xmltech.wordpress.com/69/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=xmltech.wordpress.com&amp;blog=4104786&amp;post=69&amp;subd=xmltech&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://xmltech.wordpress.com/2008/11/13/to-be-or-not-to-be/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">borninthewoods</media:title>
		</media:content>
	</item>
		<item>
		<title>Crash at the nth hour</title>
		<link>http://xmltech.wordpress.com/2008/11/11/crash-at-the-nth-hour/</link>
		<comments>http://xmltech.wordpress.com/2008/11/11/crash-at-the-nth-hour/#comments</comments>
		<pubDate>Tue, 11 Nov 2008 04:37:15 +0000</pubDate>
		<dc:creator>borninthewoods</dc:creator>
				<category><![CDATA[Web services Architecture]]></category>

		<guid isPermaLink="false">http://xmltech.wordpress.com/?p=66</guid>
		<description><![CDATA[Now, here is what happened yesterday. A POC is scheduled for next day morning. Since its a big customer everyone is looking forward for it. POC preparations are underway when I get a call at 9.30pm that there is a crash. We have a reg-ex capabilities on the application data on the fly, as an [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=xmltech.wordpress.com&amp;blog=4104786&amp;post=66&amp;subd=xmltech&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Now, here is what happened yesterday.</p>
<p>A POC is scheduled for next day morning. Since its a big customer everyone is looking forward for it. POC preparations are underway when I get a call at 9.30pm that there is a crash. We have a reg-ex capabilities on the application data on the fly, as an when the message is parsed through our box.</p>
<p>We were using a standard posix regex engine. No brainer there..however what I left behind was a simple Null check.</p>
<p>This post is to remind myself as a good programmer that even when assumptions are that the string can never be null, go ahead and make a check on Null&#8217;ness of the string. Especially when passing it to standard libc libraries (strcpy/regcomp etc).</p>
<p>And if you don&#8217;t, what will be the end result? Crash at the nth hour..Fixes, Patches, unnecessary late nights&#8230;</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/xmltech.wordpress.com/66/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/xmltech.wordpress.com/66/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/xmltech.wordpress.com/66/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/xmltech.wordpress.com/66/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/xmltech.wordpress.com/66/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/xmltech.wordpress.com/66/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/xmltech.wordpress.com/66/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/xmltech.wordpress.com/66/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/xmltech.wordpress.com/66/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/xmltech.wordpress.com/66/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/xmltech.wordpress.com/66/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/xmltech.wordpress.com/66/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/xmltech.wordpress.com/66/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/xmltech.wordpress.com/66/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=xmltech.wordpress.com&amp;blog=4104786&amp;post=66&amp;subd=xmltech&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://xmltech.wordpress.com/2008/11/11/crash-at-the-nth-hour/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">borninthewoods</media:title>
		</media:content>
	</item>
		<item>
		<title>Stint with a CMS &#8211; Twiki, installations and problems</title>
		<link>http://xmltech.wordpress.com/2008/11/11/stint-with-a-cms-twiki-installations-and-problems/</link>
		<comments>http://xmltech.wordpress.com/2008/11/11/stint-with-a-cms-twiki-installations-and-problems/#comments</comments>
		<pubDate>Tue, 11 Nov 2008 04:24:17 +0000</pubDate>
		<dc:creator>borninthewoods</dc:creator>
				<category><![CDATA[Web services Architecture]]></category>
		<category><![CDATA[CMS]]></category>
		<category><![CDATA[installation]]></category>
		<category><![CDATA[TikiWiki]]></category>
		<category><![CDATA[Twiki]]></category>

		<guid isPermaLink="false">http://xmltech.wordpress.com/?p=64</guid>
		<description><![CDATA[Alright, I decided to play with a few CMS available on the net. And there are tons and tons of them, all free! Requirements: All I wanted was a good content management system, - with Wiki support, - along with a forum - email based notifications - integration with svn and bugzilla (if possible) I [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=xmltech.wordpress.com&amp;blog=4104786&amp;post=64&amp;subd=xmltech&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Alright,</p>
<p>I decided to play with a few CMS available on the net. And there are tons and tons of them, all free!</p>
<p><strong>Requirements</strong>:</p>
<p>All I wanted was a good content management system,</p>
<p>- with Wiki support,</p>
<p>- along with a forum</p>
<p>- email based notifications</p>
<p>- integration with svn and bugzilla (if possible)</p>
<p>I should have added &#8216;Ease of install and configuration&#8217; as my requirement. As many of the CMS packages available proved me otherwise.</p>
<p><strong>First Choice: Twiki</strong></p>
<p>Twiki was the first choice, but soon I realised its cumbersome installation and configuration. Tweaking twiki is a daunting task, Especially on a windows based system. Actually most of these CMS are made for Linux and hence installation and configuration is still based on .conf files, scripts, assumptions and more.</p>
<p>Fortunately there is a <a href="http://twiki.org/cgi-bin/view/Blog/2007-09-22-twiki-42-beta-now-has-a-windows-installer">Windows Installer for Twiki 4.2</a> available on the net. And the installation of that is one-click, seamless install. It includes an inbuilt apache, perl etc. But this I stumbled upon accidentally, only after wasting my lot of time on <a href="http://twiki.org/cgi-bin/view/TWiki.WindowsInstallCookbook">WindowsInstallCookBook </a>and  tons of garbage insturctions on how to install zillions of modules to just get twiki up and running! I say Why? Why do the end user has to follow tons and tons of instructions to just get the s/w running? I mean developers of twiki spent countless hours developing a good CMS system, but didn&#8217;t spend couple of hours maintaining some one-cick installater for the end users? sad.</p>
<p>Anyways, I was able to get twiki running (using the windows installer) however i stumbled upon another problem. Installation is one problem. Confguration of modules in Twiki requires another PHD. Its based on TWIKI_VARIABLES_TO_BE_SET=&#8217;Hell&#8217; on a twiki page (instead of maintaining .conf files). This may sound to be a great idea from a developer point of view, but has a extreme learning curve from an end user point.</p>
<p>Finally trying hard to search in a extremely big bulky Twiki site, searching for modules, and how to make it working, i was more or less left on my own. A few modules (like forum in twiki) worked in one shot, simply by unzipping them into twiki directory. However a few gave me big time pain. Twiki originally based on a Linux system assumes a lot of stuff ( tools like svn etc are available on linux) but not on windows. Which means, I would have to download those tools, configure them and make sure the perl scripts from twiki are able to use those tools. Now there is no neat information available on the net which can help you do that in one shot.</p>
<p><strong>Trac</strong></p>
<p>Trac looked impressive. Had inbuilt support for forum and svn. However its installation is a night mare too.</p>
<p>Again it pointed me to a page of tons of confusing instructions on how to download stuff required to run trac: python, setuptools (some sort of python library used to setup trac), Pysqlite, Genshi and bleh!.</p>
<p>And the instructions are given in plain lucid form <a href="http://trac.edgewall.org/wiki/TracOnWindows">here</a>.</p>
<ol>
<li>Click &#8220;Start&#8221; &gt; &#8220;Run&#8230;&#8221; (or press Win+R)</li>
<li>Type &#8220;cmd&#8221; and click &#8220;Ok&#8221; &#8211; this opens the <span class="searchword2">Windows</span> command console</li>
<li>Type &#8220;cd c:\Python24\Scripts&#8221;</li>
<li>easy_install <em>blah_package</em>.</li>
</ol>
<p>Great! so easy. but somebody who spent hours in writing this information, could have created a single installation based script to do the same. isn&#8217;t it? Why force people who need a no-brainer solution go through hundreds of instruction..</p>
<p>I left trac evaluation in a hurry, couldn&#8217;t have possibly gone ahead with it.</p>
<p><strong>Drupal and Joomla</strong></p>
<p>Installation of  <strong>drupal </strong>was seamless!!!</p>
<p>This was the first time I could do it with minimal instructions.</p>
<p>Just Install <a href="http://www.apachefriends.org/en/xampp-windows.html">XAMPP</a> (which is apache + PHP +MySql and sendMail). Unzip the drupal directory under htdocs.</p>
<p>There you go, point your browser to http://localhost/drupalx.y/ and the installation is cool <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> .</p>
<p>One catch!</p>
<p>Need to pre-create a database for drupal(just give any name) which can be done from <strong>http://localhost/xampp</strong> phpMyAdmin link. Also remember to copy user say: root and assign a password to it. again PhpMyAdmin&gt; Priviledges.</p>
<p>Both user name, password and database name(given above) are asked as input during the drupal installation (http://localhost/drupalx.y/)</p>
<p>Great CMS systems, but I rejected<strong> </strong>them as they didn&#8217;t had <strong>wiki </strong>support.</p>
<p>Thank drupal and joomla, now Its easy to create a website of your own!</p>
<p><strong>And Finally <a href="http://info.tikiwiki.org/tiki-index.php?page=Get+Tiki&amp;bl">TikiWiki</a></strong></p>
<p>- The installation was seamless (xampp, unzip into htdocs, point your browser to your installation http://localhost/tiki/ and there you go. Just remember to create a database and a user using http:/localhost/xampp phpMyAdmin link.</p>
<p>- The configuration was UI based, thank goodness.</p>
<p>- <a href="http://doc.tikiwiki.org/tiki-index.php?page=Admin+Panels">Documentation </a>was comprehensive along with a <a href="http://smarty.php.net/docs.php">Tikiwiki manual </a>for <span style="text-decoration:line-through;">Dummies</span> smarties.</p>
<p>- There <a href="http://tikiwiki.org/tiki-view_forum.php?forumId=6">forum </a>support was good as well.</p>
<p>All in all. I was up with TikiWiki in no time&#8230;</p>
<p>To my surprise, it looked more refined than Twiki, the UI was more intuitive, not cluttered. Finding and setting up information was easy.</p>
<p>Finally one last thing! The email notifications. This took me a lot of time.</p>
<p>Considering that al other previous installs had explicitly asked for SMTP settings, I was expecting similar. However it was only after a night out I realised that Tiki email notifications (for first time registrations for example) are dependent on php.ini.</p>
<p>Tiki relies on your xampp php.ini and sendmail/smtp.ini settings. It depends on mail() function inbuilt into PHP to work. Thus, if your settings in the above two files are correct, then tiki email notifications should work seamlessly. But first I had to be sure that my above configuration is right. For that I googled for a php email script.</p>
<p>Found one:</p>
<p>&lt;?php<br />
$to = &#8220;recipient@example.com&#8221;;<br />
$subject = &#8220;Hi!&#8221;;<br />
$body = &#8220;Hi,\n\nHow are you?&#8221;;<br />
if (mail($to, $subject, $body)) {<br />
echo(&#8220;&lt;p&gt;Message successfully sent!&lt;/p&gt;&#8221;);<br />
} else {<br />
echo(&#8220;&lt;p&gt;Message delivery failed&#8230;&lt;/p&gt;&#8221;);<br />
}<br />
?&gt;</p>
<p>Copied it into htdocs and tried it using my browser. Showed &#8216;Message successfully sent&#8217; but no mail <img src='http://s0.wp.com/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' /> </p>
<p>Had to tweak xampp/sendmail/smtp.ini to enable debug.log to figure out that the authentication was failing. Alright, that was fixed and voila the script worked and so did the Twiki Email notificaions.</p>
<p>Yahoo!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/xmltech.wordpress.com/64/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/xmltech.wordpress.com/64/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/xmltech.wordpress.com/64/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/xmltech.wordpress.com/64/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/xmltech.wordpress.com/64/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/xmltech.wordpress.com/64/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/xmltech.wordpress.com/64/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/xmltech.wordpress.com/64/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/xmltech.wordpress.com/64/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/xmltech.wordpress.com/64/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/xmltech.wordpress.com/64/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/xmltech.wordpress.com/64/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/xmltech.wordpress.com/64/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/xmltech.wordpress.com/64/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=xmltech.wordpress.com&amp;blog=4104786&amp;post=64&amp;subd=xmltech&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://xmltech.wordpress.com/2008/11/11/stint-with-a-cms-twiki-installations-and-problems/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">borninthewoods</media:title>
		</media:content>
	</item>
		<item>
		<title>Users don&#8217;t like bugs</title>
		<link>http://xmltech.wordpress.com/2008/07/23/users-dont-like-bugs/</link>
		<comments>http://xmltech.wordpress.com/2008/07/23/users-dont-like-bugs/#comments</comments>
		<pubDate>Wed, 23 Jul 2008 08:35:13 +0000</pubDate>
		<dc:creator>borninthewoods</dc:creator>
				<category><![CDATA[CoolTech]]></category>
		<category><![CDATA[Bugs]]></category>
		<category><![CDATA[Product quality]]></category>

		<guid isPermaLink="false">http://xmltech.wordpress.com/?p=55</guid>
		<description><![CDATA[Product Quality Guidelines: What can be done from engineering point of view to make users happy? 1) Integrate CruiseControl (free software) to do daily builds. Find build breaks faster.. 2) Automated test-suite for Regression, run every day on daily builds. 3) Automated emails to engineering for Regression failures. 4) Fix for regression failures to be [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=xmltech.wordpress.com&amp;blog=4104786&amp;post=55&amp;subd=xmltech&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><a href="http://xmltech.files.wordpress.com/2008/07/image010.jpg"><img class="alignnone size-medium wp-image-56" src="http://xmltech.files.wordpress.com/2008/07/image010.jpg?w=315&#038;h=233" alt="" width="315" height="233" /></a></p>
<p>Product Quality Guidelines: What can be done from engineering point of view to make users happy?</p>
<p>1) Integrate <a href="http://cruisecontrol.sourceforge.net/">CruiseControl</a> (free software) to do daily builds. Find build breaks faster..</p>
<p>2) Automated test-suite for Regression, run every day on daily builds.</p>
<p>3) Automated emails to engineering for Regression failures.</p>
<p>4) Fix for regression failures to be taken as P1</p>
<p>5) All Code Checkins go through strict peer-code review (Code quality).</p>
<p>6) Developers Add new test cases into regression as and when new features get in (a must).</p>
<p>7) QA folks add new system test cases, Run randomization/Performance tests. Send weekly emails on the status.</p>
<p>Make an attempt to keep your software Bug-free!</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/xmltech.wordpress.com/55/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/xmltech.wordpress.com/55/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/xmltech.wordpress.com/55/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/xmltech.wordpress.com/55/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/xmltech.wordpress.com/55/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/xmltech.wordpress.com/55/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/xmltech.wordpress.com/55/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/xmltech.wordpress.com/55/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/xmltech.wordpress.com/55/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/xmltech.wordpress.com/55/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/xmltech.wordpress.com/55/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/xmltech.wordpress.com/55/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/xmltech.wordpress.com/55/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/xmltech.wordpress.com/55/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/xmltech.wordpress.com/55/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/xmltech.wordpress.com/55/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=xmltech.wordpress.com&amp;blog=4104786&amp;post=55&amp;subd=xmltech&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://xmltech.wordpress.com/2008/07/23/users-dont-like-bugs/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">borninthewoods</media:title>
		</media:content>

		<media:content url="http://xmltech.files.wordpress.com/2008/07/image010.jpg?w=300" medium="image" />
	</item>
		<item>
		<title>Regression</title>
		<link>http://xmltech.wordpress.com/2008/07/22/regression/</link>
		<comments>http://xmltech.wordpress.com/2008/07/22/regression/#comments</comments>
		<pubDate>Tue, 22 Jul 2008 06:21:39 +0000</pubDate>
		<dc:creator>borninthewoods</dc:creator>
				<category><![CDATA[TechPhilosophy]]></category>
		<category><![CDATA[Bug fixes]]></category>
		<category><![CDATA[Regression]]></category>
		<category><![CDATA[Testing]]></category>

		<guid isPermaLink="false">http://xmltech.wordpress.com/?p=48</guid>
		<description><![CDATA[When you fix one bug, there are 50% chances that you would introduce several* newer bugs. Thats a fact. Irrespective of how good programmer you are, Its very easy for a bug to crop in. Especially at the last hour, just before a release. If a bug is found at the last minute and a [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=xmltech.wordpress.com&amp;blog=4104786&amp;post=48&amp;subd=xmltech&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><a href="http://xmltech.files.wordpress.com/2008/07/image0052.jpg"><img class="alignnone size-full wp-image-47" src="http://xmltech.files.wordpress.com/2008/07/image0052.jpg?w=600" alt=""   /></a></p>
<p>When you fix one bug, there are 50% chances that you would introduce several* newer bugs. Thats a fact. Irrespective of how good programmer you are, Its very easy for a bug to crop in. Especially at the last hour, just before a release.</p>
<p>If a bug is found at the last minute and a quick-fix can be made by the dev-team. What would you chose to do?</p>
<ul>
<li>Fix the bug.</li>
<li>Take it up in the next release, no checkins at the last hour. After all the qa-complete, regression tests and randomization/performance tests have been completed on a qualified build. Why take unnecessary risk of disqualifying/breaking any of it?</li>
</ul>
<p>This is the dilemma every Dev-manager has to go-through.. Whether or not he/she choses to make the fix(or break the release!) depends on many factors.</p>
<p>Decision to fix the bug should not be on how easy the fix is. It should be on how crucial is the fix for the success of the product?</p>
<ol>
<li>How many customers will it effect. If its one in four people(25%), than its a P1 blocker (P1-B). If its less than that, then probably the bug can go as a patch fix. Microsoft is famous for its SP1 and SP2 releases.</li>
<li>Is it something the user will notice right away (P1) or is it a usability issue with the product</li>
<li>Is there a work around?</li>
<li>Is it one of the input-types which fails validation? Can an attacker misuse it? If yes, then its P1</li>
<li>Remember how embarrassing the situation went for Bill Gates when Win-98 crashed right while doing its presentation (see <a href="http://www.youtube.com/watch?v=-NsXHPq71Bs">Infamous Windows 98 crash</a> ). Fixing that kind of bug is P1.</li>
</ol>
<p>There can be other questions as well which a dev-manager needs to ask himself before the decision is made to checkin the fix.</p>
<p>Remember generally the gut-feeling will be that everything will work. Hence the decision should be based on some rational thinking rather than the gut-feeling. In my opinion its wise to be pessimist rather than an optimist..because <a href="http://en.wikipedia.org/wiki/Murphy's_law">Murphy</a> is there and he is always watching&#8230;</p>
<p>&#8220;if anything can go wrong, it will.&#8221;</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/xmltech.wordpress.com/48/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/xmltech.wordpress.com/48/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/xmltech.wordpress.com/48/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/xmltech.wordpress.com/48/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/xmltech.wordpress.com/48/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/xmltech.wordpress.com/48/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/xmltech.wordpress.com/48/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/xmltech.wordpress.com/48/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/xmltech.wordpress.com/48/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/xmltech.wordpress.com/48/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/xmltech.wordpress.com/48/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/xmltech.wordpress.com/48/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/xmltech.wordpress.com/48/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/xmltech.wordpress.com/48/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/xmltech.wordpress.com/48/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/xmltech.wordpress.com/48/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=xmltech.wordpress.com&amp;blog=4104786&amp;post=48&amp;subd=xmltech&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://xmltech.wordpress.com/2008/07/22/regression/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">borninthewoods</media:title>
		</media:content>

		<media:content url="http://xmltech.files.wordpress.com/2008/07/image0052.jpg" medium="image" />
	</item>
	</channel>
</rss>
