<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-10979178</id><updated>2011-11-28T06:21:17.425+05:30</updated><category term='apache'/><category term='morons'/><category term='postgresql'/><category term='drawing'/><category term='tools'/><category term='javascript'/><category term='vc++'/><category term='programming'/><category term='vs2008'/><category term='graphics'/><category term='truecrypt'/><category term='typing'/><category term='humour'/><category term='windows-forms'/><category term='links'/><category term='advocacy'/><category term='geometry'/><category term='trac'/><category term='python'/><category term='software'/><category term='video'/><category term='microsoft'/><category term='windows7'/><category term='.net'/><category term='direct3d'/><category term='code'/><category term='rant'/><category term='subversion'/><category term='svn'/><title type='text'>Corner House</title><subtitle type='html'>Agnel Kurian's programming rough book.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://corner-house.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10979178/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://corner-house.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Agnel CJ Kurian</name><uri>http://www.blogger.com/profile/02108024180511317456</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-gVD9PD6Keww/TbANSj-NRAI/AAAAAAAABBI/A_HKJk22A7w/s1600/ad5544965a5fda56864614a733c5f7bf.png%253Fs%253D180'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>47</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-10979178.post-8979992271007088910</id><published>2011-04-10T20:53:00.003+05:30</published><updated>2011-04-10T21:00:04.595+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='software'/><category scheme='http://www.blogger.com/atom/ns#' term='advocacy'/><title type='text'>Goodbye @googlechrome</title><content type='html'>&lt;ol&gt;&lt;li&gt;After all these years your "awesome bar" still doesn't &lt;a href="http://www.google.com/support/forum/p/Chrome/thread?tid=12c8d3a634ce988d&amp;amp;hl=en"&gt;match substrings in URLs and page titles&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;You download and install updates without even asking. Who do you think paid for this machine?&lt;/li&gt;&lt;li&gt;@Opera has a real "awesome bar".&lt;/li&gt;&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;Deep in the fundamental heart of mind and universe there is a reason. -- Douglas Adams&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10979178-8979992271007088910?l=corner-house.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://corner-house.blogspot.com/feeds/8979992271007088910/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10979178&amp;postID=8979992271007088910' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10979178/posts/default/8979992271007088910'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10979178/posts/default/8979992271007088910'/><link rel='alternate' type='text/html' href='http://corner-house.blogspot.com/2011/04/goodbye-googlechrome.html' title='Goodbye @googlechrome'/><author><name>Agnel CJ Kurian</name><uri>http://www.blogger.com/profile/02108024180511317456</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-gVD9PD6Keww/TbANSj-NRAI/AAAAAAAABBI/A_HKJk22A7w/s1600/ad5544965a5fda56864614a733c5f7bf.png%253Fs%253D180'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10979178.post-4954945839140438354</id><published>2011-03-07T21:22:00.004+05:30</published><updated>2011-03-07T21:38:53.296+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='morons'/><category scheme='http://www.blogger.com/atom/ns#' term='windows7'/><title type='text'>Windows 7 Annoyance</title><content type='html'>Just one example...&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/-XZfVvMRCOY8/TXUCqg4UPjI/AAAAAAAABAc/NwPCA3wAvn8/s1600/check_later.png"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 320px; height: 273px;" src="http://2.bp.blogspot.com/-XZfVvMRCOY8/TXUCqg4UPjI/AAAAAAAABAc/NwPCA3wAvn8/s320/check_later.png" alt="" id="BLOGGER_PHOTO_ID_5581370242599501362" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;What's with "Check later", Einstein? What about "Check now"?&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;Deep in the fundamental heart of mind and universe there is a reason. -- Douglas Adams&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10979178-4954945839140438354?l=corner-house.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://corner-house.blogspot.com/feeds/4954945839140438354/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10979178&amp;postID=4954945839140438354' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10979178/posts/default/4954945839140438354'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10979178/posts/default/4954945839140438354'/><link rel='alternate' type='text/html' href='http://corner-house.blogspot.com/2011/03/windows-7-annoyance.html' title='Windows 7 Annoyance'/><author><name>Agnel CJ Kurian</name><uri>http://www.blogger.com/profile/02108024180511317456</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-gVD9PD6Keww/TbANSj-NRAI/AAAAAAAABBI/A_HKJk22A7w/s1600/ad5544965a5fda56864614a733c5f7bf.png%253Fs%253D180'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-XZfVvMRCOY8/TXUCqg4UPjI/AAAAAAAABAc/NwPCA3wAvn8/s72-c/check_later.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10979178.post-1303536499308147196</id><published>2010-11-29T00:19:00.003+05:30</published><updated>2010-11-29T00:25:48.395+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='video'/><category scheme='http://www.blogger.com/atom/ns#' term='programming'/><category scheme='http://www.blogger.com/atom/ns#' term='links'/><title type='text'>Video Lectures Online - Part 1</title><content type='html'>Stanford University on YouTube: http://www.youtube.com/user/StanfordUniversity&lt;br /&gt;&lt;br /&gt;Massachusetts Institute of Technology on YouTube: http://www.youtube.com/MIT&lt;br /&gt;&lt;br /&gt;Indian Institute of Technology on YouTube: http://www.youtube.com/iit#g/p&lt;div class="blogger-post-footer"&gt;Deep in the fundamental heart of mind and universe there is a reason. -- Douglas Adams&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10979178-1303536499308147196?l=corner-house.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://corner-house.blogspot.com/feeds/1303536499308147196/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10979178&amp;postID=1303536499308147196' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10979178/posts/default/1303536499308147196'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10979178/posts/default/1303536499308147196'/><link rel='alternate' type='text/html' href='http://corner-house.blogspot.com/2010/11/video-lectures-online-part-1.html' title='Video Lectures Online - Part 1'/><author><name>Agnel CJ Kurian</name><uri>http://www.blogger.com/profile/02108024180511317456</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-gVD9PD6Keww/TbANSj-NRAI/AAAAAAAABBI/A_HKJk22A7w/s1600/ad5544965a5fda56864614a733c5f7bf.png%253Fs%253D180'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10979178.post-3958562120738597688</id><published>2010-07-28T11:26:00.004+05:30</published><updated>2010-07-28T11:31:50.736+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='code'/><category scheme='http://www.blogger.com/atom/ns#' term='programming'/><title type='text'>Reversing the Order of Lines in a File</title><content type='html'>&lt;pre&gt;&lt;br /&gt;//&lt;br /&gt;// reversor.js&lt;br /&gt;//&lt;br /&gt;// Reverses order of lines in a file&lt;br /&gt;//&lt;br /&gt;// Execute on Windows as:&lt;br /&gt;//     cscript reversor.js input.txt &gt; output.txt&lt;br /&gt;// ------------------------------------------------ &lt;br /&gt;&lt;br /&gt;var args = WScript.Arguments;&lt;br /&gt;if(args.length != 1)&lt;br /&gt;    WScript.Quit();&lt;br /&gt;&lt;br /&gt;// don't use square brackets below...&lt;br /&gt;// args is not an array/dictionary&lt;br /&gt;var in_file = args(0);  &lt;br /&gt;&lt;br /&gt;var f;&lt;br /&gt;var lines = new Array();&lt;br /&gt;var fso = new ActiveXObject("Scripting.FileSystemObject");&lt;br /&gt;&lt;br /&gt;var i = 0;&lt;br /&gt;var fin = fso.OpenTextFile(in_file);&lt;br /&gt;&lt;br /&gt;while(!fin.AtEndOfStream)&lt;br /&gt;    lines[i++] = fin.ReadLine();&lt;br /&gt;for(i = lines.length - 1; i &gt;= 0; --i)&lt;br /&gt;    WScript.StdOut.WriteLine(lines[i]);&lt;br /&gt;&lt;br /&gt;fin.Close();&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;Deep in the fundamental heart of mind and universe there is a reason. -- Douglas Adams&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10979178-3958562120738597688?l=corner-house.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://corner-house.blogspot.com/feeds/3958562120738597688/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10979178&amp;postID=3958562120738597688' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10979178/posts/default/3958562120738597688'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10979178/posts/default/3958562120738597688'/><link rel='alternate' type='text/html' href='http://corner-house.blogspot.com/2010/07/reversing-order-of-lines-in-file.html' title='Reversing the Order of Lines in a File'/><author><name>Agnel CJ Kurian</name><uri>http://www.blogger.com/profile/02108024180511317456</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-gVD9PD6Keww/TbANSj-NRAI/AAAAAAAABBI/A_HKJk22A7w/s1600/ad5544965a5fda56864614a733c5f7bf.png%253Fs%253D180'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10979178.post-3029760742458708608</id><published>2010-04-15T20:41:00.021+05:30</published><updated>2010-04-16T23:49:36.653+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='trac'/><category scheme='http://www.blogger.com/atom/ns#' term='subversion'/><category scheme='http://www.blogger.com/atom/ns#' term='python'/><category scheme='http://www.blogger.com/atom/ns#' term='apache'/><category scheme='http://www.blogger.com/atom/ns#' term='postgresql'/><title type='text'>Installing Trac (mod_wsgi, Apache 2.2, Python 2.6, PostgreSQL 8.4) on Windows XP</title><content type='html'>&lt;h2&gt;Installation&lt;/h2&gt;&lt;br /&gt;Too many pieces to put together here. The following components of the installation are available as Windows installers; just download and install them in the order listed before continuing with the rest:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://mirror.olnevhost.net/pub/apache/httpd/binaries/win32/httpd-2.2.15-win32-x86-openssl-0.9.8m-r2.msi"&gt;Apache 2.2&lt;/a&gt;&lt;br /&gt;&lt;a href="http://python.org/ftp/python/2.6.5/python-2.6.5.msi"&gt;Python 2.6&lt;/a&gt;&lt;br /&gt;&lt;a href="http://downloads.enterprisedb.com/postgresql/postgresql-8.4.3-1-windows.exe"&gt;PostgreSQL 8.4&lt;/a&gt;&lt;br /&gt;&lt;a href="http://subversion.tigris.org/files/documents/15/46906/Setup-Subversion-1.6.6.msi"&gt;subversion 1.6.6&lt;/a&gt;&lt;br /&gt;&lt;a href="http://subversion.tigris.org/files/documents/15/46888/svn-python-1.6.6.win32-py2.6.exe"&gt;svn-python a.k.a Python subversion bindings&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.stickpeople.com/projects/python/win-psycopg/#Version2"&gt;psycopg&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Creating the PostgreSQL database&lt;/h3&gt;Launch pgAdmin III (Start &amp;gt; All Programs &amp;gt; PostgreSQL 8.4 &amp;gt; pgAdmin III). In the pane to the left of the window, right-click your PostgreSQL database (usually labelled "PostgreSQL 8.4 (localhost:5432)") and select "Connect". Supply the password. The tree expands to list all objects in this database.&lt;br /&gt;&lt;br /&gt;Right click on the "Login Roles" node and select "New Login Role...".&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_KmhNJkxDHfc/S8dNIcwYGPI/AAAAAAAAA8g/56t2QUyI1zw/s1600/new_role.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://4.bp.blogspot.com/_KmhNJkxDHfc/S8dNIcwYGPI/AAAAAAAAA8g/56t2QUyI1zw/s320/new_role.png" width="274" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Fill out the fields to create a new role.&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_KmhNJkxDHfc/S8dNAfu5U2I/AAAAAAAAA8U/JfgNbUoM3yo/s1600/new_role_detail.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://2.bp.blogspot.com/_KmhNJkxDHfc/S8dNAfu5U2I/AAAAAAAAA8U/JfgNbUoM3yo/s320/new_role_detail.png" width="295" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Right click on the "Databases" node and select "New Database...".&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_KmhNJkxDHfc/S8dNCV2bbJI/AAAAAAAAA8Y/5-dXhBzp9Bg/s1600/new_database.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_KmhNJkxDHfc/S8dNCV2bbJI/AAAAAAAAA8Y/5-dXhBzp9Bg/s1600/new_database.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Fill out the fields to create a database for Trac to use. Set the owner to the same user created in the previous step as a security measure.&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_KmhNJkxDHfc/S8dNFrdkqdI/AAAAAAAAA8c/Zn6EHx9Wf-Y/s1600/new_database_detail.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://3.bp.blogspot.com/_KmhNJkxDHfc/S8dNFrdkqdI/AAAAAAAAA8c/Zn6EHx9Wf-Y/s320/new_database_detail.png" width="218" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;h3&gt;Installing Trac&lt;/h3&gt;&lt;a href="http://ftp.edgewall.com/pub/trac/Trac-0.11.7.win32.exe"&gt;Trac 0.11.47&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Installing mod_wsgi&lt;/h3&gt;Download &lt;a href="http://modwsgi.googlecode.com/files/mod_wsgi-win32-ap22py26-3.0.so"&gt;mod_wsgi-win32-ap22py26-3.0.so&lt;/a&gt; to a temporary directory. Rename the file to mod_wsgi.so and copy it to the modules subdirectory of your Apache installation (usually C:\Program Files\Apache Software Foundation\Apache2.2\modules).&lt;br /&gt;&lt;br /&gt;Locate httpd.conf under the conf subdirectory of the Apache installation (usually C:\Program Files\Apache Software Foundation\Apache2.2\conf) and open it in a text editor. Find the lines starting with LoadModule and insert the following line there:&lt;br /&gt;&lt;pre&gt;    LoadModule wsgi_module modules/mod_wsgi.so&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;h2&gt;Creating a Trac Site&lt;/h2&gt;&lt;h3&gt;Creating a Trac instance/site:&lt;/h3&gt;Run the following command from the command prompt:&lt;br /&gt;&lt;pre&gt;    trac-admin path-to-desired-location initenv&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Note that you may have to specify the full path to &lt;code&gt;trac-admin&lt;/code&gt; as shown here:&lt;br /&gt;&lt;pre&gt;    c:\python26\scripts\trac-admin path-to-desired-location initenv&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;You will be prompted for the following:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Project Name&lt;br /&gt;&lt;li&gt;Database connection string&lt;br /&gt;&lt;li&gt;Repository type&lt;br /&gt;&lt;li&gt;Path to repository&lt;br /&gt;&lt;/ul&gt;For the database connection string, use the following format:&lt;pre&gt;    postgres://user:pass@localhost:5432/dbname?schema=schemaname&lt;br /&gt;&lt;/pre&gt;If you are following the strings from the screenshots, the corresponding connection string would be:&lt;pre&gt;    postgres://testtrac:password@localhost:5432/testtrac?schema=testtrac&lt;br /&gt;&lt;/pre&gt;This will create your Trac site. You can do a trial run by saying:&lt;pre&gt;    tracd --port 8000 trac-site-location&lt;br /&gt;&lt;/pre&gt;...and then visiting http://localhost:8000/ using your web-browser.&lt;h3&gt;Configuring mod_wsgi for the site&lt;/h3&gt;Run the following command at the command prompt. Replace "temporary-directory" with the name of a temporary folder where the required scripts for your Trac site will be generated.&lt;pre&gt;    trac-admin trac-site-location deploy temporary-directory&lt;br /&gt;&lt;/pre&gt;This command will create two folders within "temporary-directory" -- &lt;code&gt;cgi-bin&lt;/code&gt; and &lt;code&gt;htdocs&lt;/code&gt;. You will find the properly configured WSGI script for your site in &lt;code&gt;temporary-directory\cgi-bin\trac.wsgi&lt;/code&gt;. Open the trac.wsgi in a text editor, prefix all path strings using the back-slash ('\') with the letter 'r'. For example, if you find this:&lt;pre&gt;    environ.setdefault('trac.env_path', 'C:\MyProject\Trac\ExampleSite')&lt;br /&gt;&lt;/pre&gt;...prefix the path string with the letter 'r' like this:&lt;pre&gt;    environ.setdefault('trac.env_path', r'C:\MyProject\Trac\ExampleSite')&lt;br /&gt;&lt;/pre&gt;I am assuming this to be a bug with how Trac works on Windows paths. Read about Python's raw strings to find out more about this.Create a folder called &lt;code&gt;apache&lt;/code&gt; within your Trac site and copy the generated &lt;code&gt;trac.wsgi&lt;/code&gt; there.Open httpd.conf, scroll to the bottom and add the following there:&lt;pre&gt;    WSGIScriptAlias /trac "trac-site-location/apache/trac.wsgi"&lt;br /&gt;&lt;br /&gt;    &amp;lt;Directory "trac-site-location/apache"&amp;gt;&lt;br /&gt;        WSGIApplicationGroup %{GLOBAL}&lt;br /&gt;        Order deny,allow&lt;br /&gt;        Allow from all&lt;br /&gt;    &amp;lt;/Directory&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;Deep in the fundamental heart of mind and universe there is a reason. -- Douglas Adams&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10979178-3029760742458708608?l=corner-house.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://corner-house.blogspot.com/feeds/3029760742458708608/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10979178&amp;postID=3029760742458708608' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10979178/posts/default/3029760742458708608'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10979178/posts/default/3029760742458708608'/><link rel='alternate' type='text/html' href='http://corner-house.blogspot.com/2010/04/installing-trac-modwsgi-apache-22.html' title='Installing Trac (mod_wsgi, Apache 2.2, Python 2.6, PostgreSQL 8.4) on Windows XP'/><author><name>Agnel CJ Kurian</name><uri>http://www.blogger.com/profile/02108024180511317456</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-gVD9PD6Keww/TbANSj-NRAI/AAAAAAAABBI/A_HKJk22A7w/s1600/ad5544965a5fda56864614a733c5f7bf.png%253Fs%253D180'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_KmhNJkxDHfc/S8dNIcwYGPI/AAAAAAAAA8g/56t2QUyI1zw/s72-c/new_role.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10979178.post-1589580773911660535</id><published>2010-03-02T20:07:00.000+05:30</published><updated>2010-03-02T20:07:37.130+05:30</updated><title type='text'>Why can't I resize this window?</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_KmhNJkxDHfc/S40iOV2UCcI/AAAAAAAAA7U/dBUP3_g_V7Q/s1600-h/why.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="436" src="http://2.bp.blogspot.com/_KmhNJkxDHfc/S40iOV2UCcI/AAAAAAAAA7U/dBUP3_g_V7Q/s640/why.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Who should be held responsible for this ...abomination?&lt;div class="blogger-post-footer"&gt;Deep in the fundamental heart of mind and universe there is a reason. -- Douglas Adams&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10979178-1589580773911660535?l=corner-house.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://corner-house.blogspot.com/feeds/1589580773911660535/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10979178&amp;postID=1589580773911660535' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10979178/posts/default/1589580773911660535'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10979178/posts/default/1589580773911660535'/><link rel='alternate' type='text/html' href='http://corner-house.blogspot.com/2010/03/why-cant-i-resize-this-window.html' title='Why can&apos;t I resize this window?'/><author><name>Agnel CJ Kurian</name><uri>http://www.blogger.com/profile/02108024180511317456</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-gVD9PD6Keww/TbANSj-NRAI/AAAAAAAABBI/A_HKJk22A7w/s1600/ad5544965a5fda56864614a733c5f7bf.png%253Fs%253D180'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_KmhNJkxDHfc/S40iOV2UCcI/AAAAAAAAA7U/dBUP3_g_V7Q/s72-c/why.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10979178.post-3617391157571966745</id><published>2010-02-17T21:08:00.001+05:30</published><updated>2010-02-17T21:23:40.914+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='vs2008'/><category scheme='http://www.blogger.com/atom/ns#' term='vc++'/><category scheme='http://www.blogger.com/atom/ns#' term='programming'/><title type='text'>Project with 2 CPP files with the same name in different folders.</title><content type='html'>This comes as a surprise. I have a C++ project in which the code has been split across several folders. I have two .CPP files of the same name (utility.cpp) in two different folders. The content in the files is not the same. Different symbols defined in each. Sounds like this should work without a hitch, right?&lt;br /&gt;&lt;br /&gt;I'm not yet sure of this but it looks like there is no straightforward way to do this in VS2008. Both files are compiled to the same output folder. It looks like the compiler (cl.exe) compiles both .CPP files to the same .OBJ file. So, the last compiled .CPP wins. By the time the linker (linker.exe) reaches the scene, only the symbols defined in the last compiled .CPP are available and the linker fails giving you "LNK2028: unresolved token".&lt;br /&gt;&lt;br /&gt;I looked at VS2008 options to see if there was a way to include the relative path of the source file as part of the compiler's output file path, but so far I have not been successful.&lt;br /&gt;&lt;br /&gt;Here's the&amp;nbsp; &lt;a href="http://stackoverflow.com/questions/2281532"&gt;related post&lt;/a&gt; on &lt;a href="http://stackoverflow.com/"&gt;stackoverflow.com&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;Deep in the fundamental heart of mind and universe there is a reason. -- Douglas Adams&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10979178-3617391157571966745?l=corner-house.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://corner-house.blogspot.com/feeds/3617391157571966745/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10979178&amp;postID=3617391157571966745' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10979178/posts/default/3617391157571966745'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10979178/posts/default/3617391157571966745'/><link rel='alternate' type='text/html' href='http://corner-house.blogspot.com/2010/02/project-with-2-cpp-files-with-same-name.html' title='Project with 2 CPP files with the same name in different folders.'/><author><name>Agnel CJ Kurian</name><uri>http://www.blogger.com/profile/02108024180511317456</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-gVD9PD6Keww/TbANSj-NRAI/AAAAAAAABBI/A_HKJk22A7w/s1600/ad5544965a5fda56864614a733c5f7bf.png%253Fs%253D180'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10979178.post-3604052006443281647</id><published>2009-08-27T21:52:00.000+05:30</published><updated>2009-08-27T21:52:14.408+05:30</updated><title type='text'>Dots != Pixels</title><content type='html'>...atleast in the case of printers when accessed via GDI+ in .NET. For example, when a printer reports a DpiX of 600 and you say:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;g-&amp;gt;DrawLine(Pens::Black, 0.0f, 50.0f, 600.0f, 50.0f);&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;...the line drawn goes about three-fourths of the way across an A4 page. Some smart guy somewhere decided that it would be great to use a 1/100 inch co-ordinate system for printers so that the drawing routines used for video output would produce more or less the same size on the printer as well.&lt;div class="blogger-post-footer"&gt;Deep in the fundamental heart of mind and universe there is a reason. -- Douglas Adams&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10979178-3604052006443281647?l=corner-house.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://corner-house.blogspot.com/feeds/3604052006443281647/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10979178&amp;postID=3604052006443281647' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10979178/posts/default/3604052006443281647'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10979178/posts/default/3604052006443281647'/><link rel='alternate' type='text/html' href='http://corner-house.blogspot.com/2009/08/dots-pixels.html' title='Dots != Pixels'/><author><name>Agnel CJ Kurian</name><uri>http://www.blogger.com/profile/02108024180511317456</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-gVD9PD6Keww/TbANSj-NRAI/AAAAAAAABBI/A_HKJk22A7w/s1600/ad5544965a5fda56864614a733c5f7bf.png%253Fs%253D180'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10979178.post-8017108516478334389</id><published>2009-08-19T19:43:00.000+05:30</published><updated>2009-08-19T19:43:01.778+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='typing'/><category scheme='http://www.blogger.com/atom/ns#' term='tools'/><title type='text'>Typing Tutor</title><content type='html'>&lt;a href="http://www.keybr.com/"&gt;This&lt;/a&gt; is probably the best typing tutor I have seen so far.&lt;div class="blogger-post-footer"&gt;Deep in the fundamental heart of mind and universe there is a reason. -- Douglas Adams&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10979178-8017108516478334389?l=corner-house.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://corner-house.blogspot.com/feeds/8017108516478334389/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10979178&amp;postID=8017108516478334389' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10979178/posts/default/8017108516478334389'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10979178/posts/default/8017108516478334389'/><link rel='alternate' type='text/html' href='http://corner-house.blogspot.com/2009/08/typing-tutor.html' title='Typing Tutor'/><author><name>Agnel CJ Kurian</name><uri>http://www.blogger.com/profile/02108024180511317456</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-gVD9PD6Keww/TbANSj-NRAI/AAAAAAAABBI/A_HKJk22A7w/s1600/ad5544965a5fda56864614a733c5f7bf.png%253Fs%253D180'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10979178.post-4236504107752466137</id><published>2009-08-15T12:53:00.002+05:30</published><updated>2009-08-15T12:56:30.218+05:30</updated><title type='text'>Drawing an image with Alpha in .NET</title><content type='html'>This is how it is done: &lt;a href="http://msdn.microsoft.com/en-us/library/w177ax15(loband).aspx"&gt;How to: Use a Color Matrix to Set Alpha Values in Images&lt;/a&gt;. There is an error on that post: it mentions &lt;a href="http://msdn.microsoft.com/en-us/library/system.drawing.graphics.drawstring.aspx"&gt;DrawString&lt;/a&gt; in one place instead of &lt;a href="http://msdn.microsoft.com/en-us/library/system.drawing.graphics.drawimage.aspx"&gt;DrawImage&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;The key is to use one of the overloads of &lt;a href="http://msdn.microsoft.com/en-us/library/system.drawing.graphics.drawimage.aspx"&gt;DrawImage&lt;/a&gt; which takes an &lt;a href="http://msdn.microsoft.com/en-us/library/system.drawing.imaging.imageattributes.aspx"&gt;ImageAttributes&lt;/a&gt; object as a parameter.&lt;br /&gt;&lt;br /&gt;One thing I don't understand is that the following call fails if &lt;code&gt;srcUnit&lt;/code&gt; is specified to be &lt;code&gt;GraphicsUnit::Display&lt;/code&gt;.&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;g-&gt;DrawImage(image, imgDest, srcRect,&lt;br /&gt;          GraphicsUnit::Pixel, imgAttr);&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;Deep in the fundamental heart of mind and universe there is a reason. -- Douglas Adams&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10979178-4236504107752466137?l=corner-house.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://corner-house.blogspot.com/feeds/4236504107752466137/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10979178&amp;postID=4236504107752466137' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10979178/posts/default/4236504107752466137'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10979178/posts/default/4236504107752466137'/><link rel='alternate' type='text/html' href='http://corner-house.blogspot.com/2009/08/drawing-image-with-alpha-in-net.html' title='Drawing an image with Alpha in .NET'/><author><name>Agnel CJ Kurian</name><uri>http://www.blogger.com/profile/02108024180511317456</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-gVD9PD6Keww/TbANSj-NRAI/AAAAAAAABBI/A_HKJk22A7w/s1600/ad5544965a5fda56864614a733c5f7bf.png%253Fs%253D180'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10979178.post-6470242969967487396</id><published>2009-07-09T15:35:00.004+05:30</published><updated>2009-07-09T15:57:54.082+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='rant'/><category scheme='http://www.blogger.com/atom/ns#' term='humour'/><category scheme='http://www.blogger.com/atom/ns#' term='.net'/><category scheme='http://www.blogger.com/atom/ns#' term='microsoft'/><title type='text'>Microsoft Connect Gems</title><content type='html'>My favorites from &lt;a href="http://connect.microsoft.com/"&gt;connect.microsoft.com&lt;/a&gt;. They really &lt;i&gt;have&lt;/i&gt; managed to connect with my sense of humour. I wonder how they can spare any time on developing new products and new releases when there are so many unresolved issues in their existing products! But still, it was fun to read their replies to some bug reports.&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;XYZ,&lt;br /&gt;&lt;br /&gt;Thanks for your feedback.&lt;br /&gt;But you haven't answered my question. What would you recommend to cope with cases like attached example illustrates? Is there a general pattern for serializing generic collections?&lt;br /&gt;Posted by Unregistered User on 23/11/2005 at 03:12&lt;br /&gt;&lt;br /&gt;It seems that the attachment was somehow lost from this bug. Could you please reattach and reactivate?&lt;br /&gt;Posted by Microsoft on 06/12/2006 at 13:05 &lt;hr /&gt;&lt;br /&gt;Thank you for submitting this issue. Unfortunately, we have decided that it will not be addressed because the risk of the fix and its potential breaking nature outweighs its benefit. By the time the next opportunity to make this change comes about, the hope is that the new serialization technologies in a future version of the Windows Communication Foundation will address your scenario. If this issue is causing significant negative business impact, please contact Microsoft Product Support Services. I regret that we could not provide a better resolution. Rest assured that we seriously considered this issue - a Won't Fix decision is never easy to make.&lt;br /&gt;-- XYZ &lt;hr /&gt;&lt;br /&gt;Thank you very, very much for bringing this to our attention, for following up, and for not giving up after two bug resolutions. I think this is a great example of the value of the MSDN Feedback program. You have indeed uncovered a serious problem with Version Tolerant Serialization and Generics. Unfortunately, Whidbey is pretty much completely closed down right now, and it is impossible to check in a fix even for a bug of this magnitude, which is why I am forced to resolve this as Postponed. However, be assured that we are treating this issue very seriously and are now in the process of discussing alternative delivery vehicles for this fix (e.g. the possibility of making a patch available through Product Support Services.) In the meantime, please use assembly binding redirection (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpguide/html/cpconassemblybindingredirection.asp) as a workaround.&lt;br /&gt;Thank you again for the time you invested in reporting this problem,&lt;br /&gt;-- XYZ&lt;br /&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;Deep in the fundamental heart of mind and universe there is a reason. -- Douglas Adams&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10979178-6470242969967487396?l=corner-house.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://corner-house.blogspot.com/feeds/6470242969967487396/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10979178&amp;postID=6470242969967487396' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10979178/posts/default/6470242969967487396'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10979178/posts/default/6470242969967487396'/><link rel='alternate' type='text/html' href='http://corner-house.blogspot.com/2009/07/microsoft-connect-gems.html' title='Microsoft Connect Gems'/><author><name>Agnel CJ Kurian</name><uri>http://www.blogger.com/profile/02108024180511317456</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-gVD9PD6Keww/TbANSj-NRAI/AAAAAAAABBI/A_HKJk22A7w/s1600/ad5544965a5fda56864614a733c5f7bf.png%253Fs%253D180'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10979178.post-3808604583964046895</id><published>2009-06-02T16:29:00.002+05:30</published><updated>2009-07-09T15:39:10.015+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='.net'/><category scheme='http://www.blogger.com/atom/ns#' term='graphics'/><category scheme='http://www.blogger.com/atom/ns#' term='drawing'/><title type='text'>.NET ColorTranslator class</title><content type='html'>Use &lt;a href="http://msdn.microsoft.com/en-us/library/system.drawing.colortranslator.aspx"&gt;&lt;span style="font-family: monospace;"&gt;System.Drawing.ColorTranslator&lt;/span&gt;&lt;/a&gt; to convert between all kinds of color formats. Like converting from &lt;span style="font-family: monospace;"&gt;#FF0000&lt;/span&gt; to &lt;span style="font-family: monospace;"&gt;Color.Red&lt;/span&gt; for example.&lt;div class="blogger-post-footer"&gt;Deep in the fundamental heart of mind and universe there is a reason. -- Douglas Adams&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10979178-3808604583964046895?l=corner-house.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://corner-house.blogspot.com/feeds/3808604583964046895/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10979178&amp;postID=3808604583964046895' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10979178/posts/default/3808604583964046895'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10979178/posts/default/3808604583964046895'/><link rel='alternate' type='text/html' href='http://corner-house.blogspot.com/2009/06/net-colortranslator-class.html' title='.NET ColorTranslator class'/><author><name>Agnel CJ Kurian</name><uri>http://www.blogger.com/profile/02108024180511317456</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-gVD9PD6Keww/TbANSj-NRAI/AAAAAAAABBI/A_HKJk22A7w/s1600/ad5544965a5fda56864614a733c5f7bf.png%253Fs%253D180'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10979178.post-7283617246553559586</id><published>2009-04-21T11:55:00.003+05:30</published><updated>2009-05-24T10:01:31.519+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='tools'/><category scheme='http://www.blogger.com/atom/ns#' term='truecrypt'/><title type='text'>TrueCrypt</title><content type='html'>&lt;a href="http://www.truecrypt.org/"&gt;TrueCrypt&lt;/a&gt; allows you to create and mount encrypted disk volumes such that your data is encrypted/decrypted on-the-fly as it is read/written. The volume can be mounted from a single file rather than an entire partition. You can select the encryption algorithm used and also use a keyfile instead of a regular password.&lt;br /&gt;&lt;br /&gt;&lt;i&gt;Isn't a Windows password enough protection?&lt;/i&gt;&lt;br /&gt;No. Someone could boot your machine using a USB or other drive and access your files.&lt;br /&gt;&lt;br /&gt;&lt;i&gt;What about "Encrypt contents to secure data"?&lt;/i&gt;&lt;br /&gt;I have no idea how that works.&lt;br /&gt;&lt;br /&gt;&lt;i&gt;What about BitLocker on Vista?&lt;/i&gt;&lt;br /&gt;Sounds good, but you shouldn't be using Vista yet.&lt;br /&gt;&lt;br /&gt;&lt;i&gt;Other advantages?&lt;/i&gt;&lt;br /&gt;TrueCrypt can encrypt the boot drive. A TrueCrypt volume stored in a single file can easily be moved around, backed up, zipped, deleted and so on...&lt;div class="blogger-post-footer"&gt;Deep in the fundamental heart of mind and universe there is a reason. -- Douglas Adams&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10979178-7283617246553559586?l=corner-house.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://corner-house.blogspot.com/feeds/7283617246553559586/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10979178&amp;postID=7283617246553559586' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10979178/posts/default/7283617246553559586'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10979178/posts/default/7283617246553559586'/><link rel='alternate' type='text/html' href='http://corner-house.blogspot.com/2009/04/truecrypt_21.html' title='TrueCrypt'/><author><name>Agnel CJ Kurian</name><uri>http://www.blogger.com/profile/02108024180511317456</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-gVD9PD6Keww/TbANSj-NRAI/AAAAAAAABBI/A_HKJk22A7w/s1600/ad5544965a5fda56864614a733c5f7bf.png%253Fs%253D180'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10979178.post-7303349953407492259</id><published>2009-04-15T14:47:00.004+05:30</published><updated>2009-07-09T15:39:26.728+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='subversion'/><category scheme='http://www.blogger.com/atom/ns#' term='apache'/><category scheme='http://www.blogger.com/atom/ns#' term='svn'/><title type='text'>Subversion over Apache on Windows</title><content type='html'>I had installed &lt;a href="http://www.collab.net/downloads/subversion/"&gt;Collabnet Subversion Server&lt;/a&gt; as the VCS on my laptop. The &lt;code&gt;httpd.conf&lt;/code&gt; installed by default is not usable straight out of the box. Here are a few things I had to fix.&lt;br /&gt;&lt;br /&gt;The Subversion manual prescribes the following setting for using Digest authentication:&lt;br /&gt;&lt;pre&gt;&amp;lt;Location /svn&amp;gt;&lt;br /&gt;   DAV svn&lt;br /&gt;   SVNParentPath /var/svn&lt;br /&gt;   AuthType Digest&lt;br /&gt;   AuthName "Subversion repository"&lt;br /&gt;   AuthDigestDomain /svn/&lt;br /&gt;   AuthUserFile /etc/svn-auth-file&lt;br /&gt;   Require valid-user&lt;br /&gt;&amp;lt;/Location&amp;gt;&lt;/pre&gt;That doesn't work. From what I learned &lt;a href="http://www.nabble.com/Re:-Problems-creating-root-directories-using-DAV-and-AuthzSVNAccessFile-p19457095.html"&gt;here&lt;/a&gt;, it should actually be:&lt;br /&gt;&lt;pre&gt;&amp;lt;Location /svn&amp;gt;&lt;br /&gt;   DAV svn&lt;br /&gt;   SVNParentPath /var/svn&lt;br /&gt;   AuthType Digest&lt;br /&gt;   AuthName "Subversion repository"&lt;br /&gt;   AuthDigestDomain /svn&lt;br /&gt;   AuthUserFile /etc/svn-auth-file&lt;br /&gt;   Require valid-user&lt;br /&gt;&amp;lt;/Location&amp;gt;&lt;/pre&gt;In other words, both &lt;code&gt;Location&lt;/code&gt; and &lt;code&gt;AuthDigestDomain&lt;/code&gt; should be &lt;code&gt;/svn&lt;/code&gt; &lt;i&gt;without&lt;/i&gt; the trailing slash. And remember to use &lt;code&gt;htdigest.exe&lt;/code&gt; instead of &lt;code&gt;htpasswd.exe&lt;/code&gt; when using Digest authentication.&lt;br /&gt;&lt;br /&gt;&lt;hr /&gt;Another thing: the locally installed Apache manual is not enabled by default.&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Find the following line in &lt;code&gt;httpd.conf&lt;/code&gt; and uncomment it:&lt;br /&gt;&lt;code&gt;Include conf/extra/httpd-manual.conf&lt;/code&gt;&lt;/li&gt;&lt;li&gt;Open &lt;code&gt;conf/extra/httpd-manual.conf&lt;/code&gt; and replace all occurrences of the following with the path to &lt;code&gt;httpd/manual&lt;/code&gt;&lt;br /&gt;&lt;code&gt;F:/windows/subversion/../httpd/tmp/httpd/Apache/manual&lt;/code&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;Deep in the fundamental heart of mind and universe there is a reason. -- Douglas Adams&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10979178-7303349953407492259?l=corner-house.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://corner-house.blogspot.com/feeds/7303349953407492259/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10979178&amp;postID=7303349953407492259' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10979178/posts/default/7303349953407492259'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10979178/posts/default/7303349953407492259'/><link rel='alternate' type='text/html' href='http://corner-house.blogspot.com/2009/04/subversion-over-apache-on-windows.html' title='Subversion over Apache on Windows'/><author><name>Agnel CJ Kurian</name><uri>http://www.blogger.com/profile/02108024180511317456</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-gVD9PD6Keww/TbANSj-NRAI/AAAAAAAABBI/A_HKJk22A7w/s1600/ad5544965a5fda56864614a733c5f7bf.png%253Fs%253D180'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10979178.post-1874781484649997324</id><published>2009-03-17T16:02:00.001+05:30</published><updated>2009-03-17T16:03:08.105+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='rant'/><category scheme='http://www.blogger.com/atom/ns#' term='windows-forms'/><category scheme='http://www.blogger.com/atom/ns#' term='.net'/><title type='text'>Binding a Value Type Array to a DataGridView</title><content type='html'>Short answer: Dont.&lt;br /&gt;&lt;br /&gt;The long answer: try it for yourself.&lt;div class="blogger-post-footer"&gt;Deep in the fundamental heart of mind and universe there is a reason. -- Douglas Adams&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10979178-1874781484649997324?l=corner-house.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://corner-house.blogspot.com/feeds/1874781484649997324/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10979178&amp;postID=1874781484649997324' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10979178/posts/default/1874781484649997324'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10979178/posts/default/1874781484649997324'/><link rel='alternate' type='text/html' href='http://corner-house.blogspot.com/2009/03/binding-value-type-array-to.html' title='Binding a Value Type Array to a DataGridView'/><author><name>Agnel CJ Kurian</name><uri>http://www.blogger.com/profile/02108024180511317456</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-gVD9PD6Keww/TbANSj-NRAI/AAAAAAAABBI/A_HKJk22A7w/s1600/ad5544965a5fda56864614a733c5f7bf.png%253Fs%253D180'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10979178.post-2285373975205266122</id><published>2008-11-20T12:52:00.010+05:30</published><updated>2008-12-01T18:19:32.134+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='direct3d'/><category scheme='http://www.blogger.com/atom/ns#' term='.net'/><category scheme='http://www.blogger.com/atom/ns#' term='geometry'/><title type='text'>Direct3D Pick Ray</title><content type='html'>&lt;pre&gt;void GetPickRay2(int x, int y, DX::Vector3 %orig, DX::Vector3 %dir){&lt;br /&gt; DX::Matrix proj = device-&gt;Transform-&gt;Projection;&lt;br /&gt;&lt;br /&gt; DX::Vector3 nearVec(x, y, 0), farVec(x, y, 1);&lt;br /&gt;&lt;br /&gt; nearVec.Unproject(viewport, proj, &lt;br /&gt;  device-&gt;Transform-&gt;View,&lt;br /&gt;  device-&gt;Transform-&gt;World);&lt;br /&gt; farVec.Unproject(viewport, proj, &lt;br /&gt;  device-&gt;Transform-&gt;View,&lt;br /&gt;  device-&gt;Transform-&gt;World);&lt;br /&gt;&lt;br /&gt; orig = nearVec;&lt;br /&gt; farVec.Subtract(orig);&lt;br /&gt; dir = farVec;&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Here x and y are in &lt;b&gt;&lt;i&gt;client&lt;/i&gt;&lt;/b&gt; co-ordinates.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: red; font-size: 120%; font-weight: bold;"&gt;CLIENT.&lt;br /&gt;CO-ORDINATES.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;DON'T.&lt;br /&gt;EVER.&lt;br /&gt;FORGET.&lt;br /&gt;THAT.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;Deep in the fundamental heart of mind and universe there is a reason. -- Douglas Adams&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10979178-2285373975205266122?l=corner-house.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://corner-house.blogspot.com/feeds/2285373975205266122/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10979178&amp;postID=2285373975205266122' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10979178/posts/default/2285373975205266122'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10979178/posts/default/2285373975205266122'/><link rel='alternate' type='text/html' href='http://corner-house.blogspot.com/2008/11/direct3d-pick-ray.html' title='Direct3D Pick Ray'/><author><name>Agnel CJ Kurian</name><uri>http://www.blogger.com/profile/02108024180511317456</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-gVD9PD6Keww/TbANSj-NRAI/AAAAAAAABBI/A_HKJk22A7w/s1600/ad5544965a5fda56864614a733c5f7bf.png%253Fs%253D180'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10979178.post-4770678546772223167</id><published>2007-05-20T09:44:00.000+05:30</published><updated>2007-05-20T10:06:14.827+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='.net'/><category scheme='http://www.blogger.com/atom/ns#' term='vc++'/><title type='text'>Debugging Startup Delay in VS.NET (CPVSBUILD)</title><content type='html'>Because VS.NET looks for a machine called &lt;a href="http://groups.google.com/group/microsoft.public.vsnet.debugging/msg/43b365b2ed7c6edf?q=cpvsbuild&amp;hl=en&amp;amp;lr=&amp;ie=UTF-8&amp;amp;oe=UTF-8&amp;amp;rnum=1"&gt;CPVSBUILD&lt;/a&gt; on your network.&lt;div class="blogger-post-footer"&gt;Deep in the fundamental heart of mind and universe there is a reason. -- Douglas Adams&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10979178-4770678546772223167?l=corner-house.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://corner-house.blogspot.com/feeds/4770678546772223167/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10979178&amp;postID=4770678546772223167' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10979178/posts/default/4770678546772223167'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10979178/posts/default/4770678546772223167'/><link rel='alternate' type='text/html' href='http://corner-house.blogspot.com/2007/05/debugging-startup-delay-in-vsnet.html' title='Debugging Startup Delay in VS.NET (CPVSBUILD)'/><author><name>Agnel CJ Kurian</name><uri>http://www.blogger.com/profile/02108024180511317456</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-gVD9PD6Keww/TbANSj-NRAI/AAAAAAAABBI/A_HKJk22A7w/s1600/ad5544965a5fda56864614a733c5f7bf.png%253Fs%253D180'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10979178.post-5484205745234419579</id><published>2007-05-20T09:33:00.000+05:30</published><updated>2007-05-20T10:06:53.114+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='.net'/><title type='text'>How do I call a C/C++ vararg function from C#?</title><content type='html'>Usually you write declarations for each signature using which you intend to call the function. But there is another way:&lt;br /&gt;&lt;blockquote&gt;&lt;p&gt;In VC#.NET, if you're willing to rely on undocumented features, you can&lt;br /&gt;also use the __arglist keyword to define a real .NET vararg method.&lt;/p&gt;&lt;/blockquote&gt;[&lt;a href="http://www.dotnetinterop.com/faq/?q=Vararg"&gt;Link&lt;/a&gt;]&lt;div class="blogger-post-footer"&gt;Deep in the fundamental heart of mind and universe there is a reason. -- Douglas Adams&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10979178-5484205745234419579?l=corner-house.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://corner-house.blogspot.com/feeds/5484205745234419579/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10979178&amp;postID=5484205745234419579' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10979178/posts/default/5484205745234419579'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10979178/posts/default/5484205745234419579'/><link rel='alternate' type='text/html' href='http://corner-house.blogspot.com/2007/05/how-do-i-call-cc-vararg-function-from.html' title='How do I call a C/C++ vararg function from C#?'/><author><name>Agnel CJ Kurian</name><uri>http://www.blogger.com/profile/02108024180511317456</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-gVD9PD6Keww/TbANSj-NRAI/AAAAAAAABBI/A_HKJk22A7w/s1600/ad5544965a5fda56864614a733c5f7bf.png%253Fs%253D180'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10979178.post-8906004579447802166</id><published>2007-05-12T12:22:00.000+05:30</published><updated>2007-05-13T19:41:01.662+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='.net'/><category scheme='http://www.blogger.com/atom/ns#' term='vc++'/><title type='text'>Calling .NET from MFC and VB6</title><content type='html'>&lt;em&gt;Without&lt;/em&gt; managed extensions. Create a CCW and call as though it were a COM object.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.codeproject.com/dotnet/nettocom.asp"&gt;Exposing .NET Components to COM&lt;/a&gt; [code project]&lt;div class="blogger-post-footer"&gt;Deep in the fundamental heart of mind and universe there is a reason. -- Douglas Adams&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10979178-8906004579447802166?l=corner-house.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://corner-house.blogspot.com/feeds/8906004579447802166/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10979178&amp;postID=8906004579447802166' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10979178/posts/default/8906004579447802166'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10979178/posts/default/8906004579447802166'/><link rel='alternate' type='text/html' href='http://corner-house.blogspot.com/2007/05/calling-net-from-mfc-and-vb6.html' title='Calling .NET from MFC and VB6'/><author><name>Agnel CJ Kurian</name><uri>http://www.blogger.com/profile/02108024180511317456</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-gVD9PD6Keww/TbANSj-NRAI/AAAAAAAABBI/A_HKJk22A7w/s1600/ad5544965a5fda56864614a733c5f7bf.png%253Fs%253D180'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10979178.post-1108382588425296674</id><published>2007-04-29T12:11:00.000+05:30</published><updated>2007-04-29T13:41:50.674+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='vc++'/><title type='text'>RegisterWindowMessage can return different values for identical strings</title><content type='html'>RegisterWindowMessage &lt;em&gt;can&lt;/em&gt; return different values for the same string between regular processes and windows services on the same physical machine. Additionally, PostMessage(HWND_BROADCAST, ...) will not work across desktops. From &lt;a href="http://groups.google.com/group/microsoft.public.vc.language/browse_thread/thread/5916cafe0d8da6cb/57276b55eae261d6?#57276b55eae261d6"&gt;microsoft.public.vc.language&lt;/a&gt;:&lt;br /&gt;&lt;blockquote&gt;Services run in a separate window station, and have their own desktop. Window messages can only be sent between windows on the same desktop. You won't be able to use window messages for communication between a regular process and a service... &lt;a href="http://groups.google.com/group/microsoft.public.vc.language/browse_thread/thread/5916cafe0d8da6cb/57276b55eae261d6?#57276b55eae261d6"&gt;More...&lt;/a&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;Deep in the fundamental heart of mind and universe there is a reason. -- Douglas Adams&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10979178-1108382588425296674?l=corner-house.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://corner-house.blogspot.com/feeds/1108382588425296674/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10979178&amp;postID=1108382588425296674' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10979178/posts/default/1108382588425296674'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10979178/posts/default/1108382588425296674'/><link rel='alternate' type='text/html' href='http://corner-house.blogspot.com/2007/04/services-run-in-separate-window-station.html' title='RegisterWindowMessage &lt;em&gt;can&lt;/em&gt; return different values for identical strings'/><author><name>Agnel CJ Kurian</name><uri>http://www.blogger.com/profile/02108024180511317456</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-gVD9PD6Keww/TbANSj-NRAI/AAAAAAAABBI/A_HKJk22A7w/s1600/ad5544965a5fda56864614a733c5f7bf.png%253Fs%253D180'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10979178.post-1749990738147576107</id><published>2007-04-22T18:02:00.000+05:30</published><updated>2007-05-13T19:42:17.209+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='tools'/><title type='text'>File Comparison Tools</title><content type='html'>&lt;a href="http://en.wikipedia.org/w/index.php?title=Comparison_of_file_comparison_tools&amp;oldid=124537826#Features"&gt;Comparison of file comparison tools [wiki]&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;A &lt;a href="http://discuss.fogcreek.com/joelonsoftware5/default.asp?cmd=show&amp;ixPost=171470&amp;amp;ixReplies=22"&gt;discussion&lt;/a&gt; on the same topic.&lt;br /&gt;&lt;br /&gt;The bottom line: &lt;a href="http://winmerge.org/"&gt;WinMerge&lt;/a&gt; is the best free option; &lt;a href="http://www.scootersoftware.com/home.php"&gt;Beyond Compare&lt;/a&gt; is good but costs money; &lt;a href="http://www.araxis.com/merge/"&gt;Araxis Merge&lt;/a&gt; is a bit more expensive but provides a full blown automation API and 3-way file compare.&lt;div class="blogger-post-footer"&gt;Deep in the fundamental heart of mind and universe there is a reason. -- Douglas Adams&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10979178-1749990738147576107?l=corner-house.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://corner-house.blogspot.com/feeds/1749990738147576107/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10979178&amp;postID=1749990738147576107' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10979178/posts/default/1749990738147576107'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10979178/posts/default/1749990738147576107'/><link rel='alternate' type='text/html' href='http://corner-house.blogspot.com/2007/04/file-comparison-tools.html' title='File Comparison Tools'/><author><name>Agnel CJ Kurian</name><uri>http://www.blogger.com/profile/02108024180511317456</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-gVD9PD6Keww/TbANSj-NRAI/AAAAAAAABBI/A_HKJk22A7w/s1600/ad5544965a5fda56864614a733c5f7bf.png%253Fs%253D180'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10979178.post-6520468606740532626</id><published>2007-04-17T22:45:00.000+05:30</published><updated>2007-04-19T20:21:50.684+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='vc++'/><title type='text'>Disable 'Updating Intellisense' in VC++ 2005</title><content type='html'>Rename/remove feacp.dll in the &amp;lt;Vsroot&amp;gt;&lt;vsroot&gt;\VC\vcpackages folder&lt;br /&gt;&lt;br /&gt;Thanks to &lt;a href="http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=426979&amp;amp;SiteID=1"&gt;Martin Richter MVP&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;Deep in the fundamental heart of mind and universe there is a reason. -- Douglas Adams&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10979178-6520468606740532626?l=corner-house.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://corner-house.blogspot.com/feeds/6520468606740532626/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10979178&amp;postID=6520468606740532626' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10979178/posts/default/6520468606740532626'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10979178/posts/default/6520468606740532626'/><link rel='alternate' type='text/html' href='http://corner-house.blogspot.com/2007/04/disable-updating-intellisense-in-vc.html' title='Disable &apos;Updating Intellisense&apos; in VC++ 2005'/><author><name>Agnel CJ Kurian</name><uri>http://www.blogger.com/profile/02108024180511317456</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-gVD9PD6Keww/TbANSj-NRAI/AAAAAAAABBI/A_HKJk22A7w/s1600/ad5544965a5fda56864614a733c5f7bf.png%253Fs%253D180'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10979178.post-7279020670106856824</id><published>2007-04-15T03:56:00.000+05:30</published><updated>2007-04-15T04:10:03.961+05:30</updated><title type='text'>FAMFAMFAM</title><content type='html'>&lt;div&gt;&lt;a href="http://www.famfamfam.com/lab/icons"&gt;This&lt;/a&gt; is a neat collection of free icons (PNG format). [I don't know what the name 'famfamfam' is all about. But nice icons.]&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_KmhNJkxDHfc/RiFYJoNysGI/AAAAAAAAAAU/zEIZ8aMEOSU/s1600-h/silk_preview_small.gif"&gt;&lt;img id="BLOGGER_PHOTO_ID_5053417179323740258" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://4.bp.blogspot.com/_KmhNJkxDHfc/RiFYJoNysGI/AAAAAAAAAAU/zEIZ8aMEOSU/s320/silk_preview_small.gif" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;Deep in the fundamental heart of mind and universe there is a reason. -- Douglas Adams&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10979178-7279020670106856824?l=corner-house.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://corner-house.blogspot.com/feeds/7279020670106856824/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10979178&amp;postID=7279020670106856824' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10979178/posts/default/7279020670106856824'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10979178/posts/default/7279020670106856824'/><link rel='alternate' type='text/html' href='http://corner-house.blogspot.com/2007/04/famfamfam.html' title='FAMFAMFAM'/><author><name>Agnel CJ Kurian</name><uri>http://www.blogger.com/profile/02108024180511317456</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-gVD9PD6Keww/TbANSj-NRAI/AAAAAAAABBI/A_HKJk22A7w/s1600/ad5544965a5fda56864614a733c5f7bf.png%253Fs%253D180'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_KmhNJkxDHfc/RiFYJoNysGI/AAAAAAAAAAU/zEIZ8aMEOSU/s72-c/silk_preview_small.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10979178.post-116254135837000776</id><published>2006-11-03T13:38:00.000+05:30</published><updated>2007-04-15T03:42:45.553+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='tools'/><title type='text'>Identifying Fonts</title><content type='html'>Lots of sites offer to help you identify a font you've been looking for. But &lt;a href="http://www.myfonts.com/WhatTheFont/"&gt;WhatTheFont&lt;/a&gt; is the coolest and easiest way to do this. Almost magic. Just upload your sample image and identify a few characters.&lt;div class="blogger-post-footer"&gt;Deep in the fundamental heart of mind and universe there is a reason. -- Douglas Adams&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10979178-116254135837000776?l=corner-house.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://corner-house.blogspot.com/feeds/116254135837000776/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10979178&amp;postID=116254135837000776' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10979178/posts/default/116254135837000776'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10979178/posts/default/116254135837000776'/><link rel='alternate' type='text/html' href='http://corner-house.blogspot.com/2006/11/identifying-fonts.html' title='Identifying Fonts'/><author><name>Agnel CJ Kurian</name><uri>http://www.blogger.com/profile/02108024180511317456</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-gVD9PD6Keww/TbANSj-NRAI/AAAAAAAABBI/A_HKJk22A7w/s1600/ad5544965a5fda56864614a733c5f7bf.png%253Fs%253D180'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10979178.post-114793216535098553</id><published>2006-05-18T11:32:00.000+05:30</published><updated>2007-04-19T20:22:11.200+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='vc++'/><title type='text'>C++: Accessing Exception Data in a Generic catch(...)</title><content type='html'>You have a generic C++ exception handler using &lt;code&gt;catch(...)&lt;/code&gt; and you need to find the type of exception being thrown. Unlike Java and .NET, the generic handler is not accepting any argument. &lt;a href="http://www.howzatt.demon.co.uk/articles/26Feb03.html"&gt;Roger Orr's article&lt;/a&gt; shows how to get the exception data on a Microsoft compiler.&lt;br /&gt;&lt;br /&gt;Here is the code (with the author's permission):&lt;br /&gt;&lt;code&gt;// Called from within a catch handler to log a string from the current exception&lt;br /&gt;void logException()&lt;br /&gt;{&lt;br /&gt;    std::string error;&lt;br /&gt;    try&lt;br /&gt;    {&lt;br /&gt;        // re-throw the exception to have another look at it&lt;br /&gt;        throw; &lt;br /&gt;    }&lt;br /&gt;    catch ( std::exception &amp; ex )&lt;br /&gt;    {&lt;br /&gt;        error = ex.what();&lt;br /&gt;    }&lt;br /&gt;    catch ( CException * pEx )&lt;br /&gt;    {&lt;br /&gt;        char szMsg[255];&lt;br /&gt;        pEx-&gt;GetErrorMessage(szMsg, sizeof( szMsg ));&lt;br /&gt;        pEx-&gt;Delete();&lt;br /&gt;        error = szMsg;&lt;br /&gt;    }&lt;br /&gt;    // etc etc&lt;br /&gt;    catch ( const char *pStr )&lt;br /&gt;    {&lt;br /&gt;        error = pStr;&lt;br /&gt;    }&lt;br /&gt;    catch (...)&lt;br /&gt;    {&lt;br /&gt;        // Search me...&lt;br /&gt;        throw;&lt;br /&gt;    }&lt;br /&gt;    std::cerr &lt;&lt; "Uncaught exception: " &lt;&lt; error &lt;&lt; std::endl;&lt;br /&gt;}&lt;/code&gt;&lt;div class="blogger-post-footer"&gt;Deep in the fundamental heart of mind and universe there is a reason. -- Douglas Adams&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10979178-114793216535098553?l=corner-house.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://corner-house.blogspot.com/feeds/114793216535098553/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10979178&amp;postID=114793216535098553' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10979178/posts/default/114793216535098553'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10979178/posts/default/114793216535098553'/><link rel='alternate' type='text/html' href='http://corner-house.blogspot.com/2006/05/c-accessing-exception-data-in-generic.html' title='C++: Accessing Exception Data in a Generic catch(...)'/><author><name>Agnel CJ Kurian</name><uri>http://www.blogger.com/profile/02108024180511317456</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-gVD9PD6Keww/TbANSj-NRAI/AAAAAAAABBI/A_HKJk22A7w/s1600/ad5544965a5fda56864614a733c5f7bf.png%253Fs%253D180'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10979178.post-114363377670844812</id><published>2006-03-29T17:21:00.000+05:30</published><updated>2007-04-15T03:42:45.553+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='tools'/><title type='text'>ZoomIt</title><content type='html'>&lt;a href="http://www.sysinternals.com/Utilities/zoomit.html"&gt;ZoomIt&lt;/a&gt; is the latest free utility from &lt;a href="http://www.sysinternals.com/"&gt;Sysinternals&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;A very handy tool for demos so you wont need to keep switching to a larger font for the folks at the back.&lt;br /&gt;&lt;br /&gt;Use this:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/4785/675/1600/zoom_it.1.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; cursor: pointer;" src="http://photos1.blogger.com/blogger/4785/675/400/zoom_it.1.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;...to get this:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/4785/675/1600/zoom_it.0.jpg"&gt;&lt;img style="margin: 0px auto 10px; text-align: center; cursor: pointer;" src="http://photos1.blogger.com/blogger/4785/675/400/zoom_it.0.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;Deep in the fundamental heart of mind and universe there is a reason. -- Douglas Adams&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10979178-114363377670844812?l=corner-house.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://corner-house.blogspot.com/feeds/114363377670844812/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10979178&amp;postID=114363377670844812' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10979178/posts/default/114363377670844812'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10979178/posts/default/114363377670844812'/><link rel='alternate' type='text/html' href='http://corner-house.blogspot.com/2006/03/zoomit.html' title='ZoomIt'/><author><name>Agnel CJ Kurian</name><uri>http://www.blogger.com/profile/02108024180511317456</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-gVD9PD6Keww/TbANSj-NRAI/AAAAAAAABBI/A_HKJk22A7w/s1600/ad5544965a5fda56864614a733c5f7bf.png%253Fs%253D180'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10979178.post-114354534071156048</id><published>2006-03-28T16:51:00.000+05:30</published><updated>2007-04-19T20:24:04.065+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='rant'/><category scheme='http://www.blogger.com/atom/ns#' term='.net'/><category scheme='http://www.blogger.com/atom/ns#' term='vc++'/><title type='text'>Cannot copy assembly...</title><content type='html'>Here's a pretty serious issue with VS2003. I have a VS2003 solution consisting of multiple projects and every now and then, it gives me a build error saying "Cannot copy assembly...The process cannot access the file because..."&lt;br /&gt;&lt;br /&gt;..because Microsoft goofed up yet again.&lt;br /&gt;&lt;br /&gt;And what do we get when we contact the&lt;br /&gt;&lt;a href="http://support.microsoft.com/default.aspx?scid=kb;en-us;843370"&gt;support site&lt;/a&gt;? Well they got a hotfix but they want us to contact support in order to get it. Don't these fellas know what a 'DOWNLOAD" is?&lt;br /&gt;&lt;br /&gt;&lt;a href="http://sqljunkies.com/WebLog/donkiely/archive/2004/07/17/3531.aspx#4703"&gt;More frustration...&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.youtube.com/results?search_query=monkey+boy"&gt;This man&lt;/a&gt; may be able to help us out.&lt;div class="blogger-post-footer"&gt;Deep in the fundamental heart of mind and universe there is a reason. -- Douglas Adams&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10979178-114354534071156048?l=corner-house.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://corner-house.blogspot.com/feeds/114354534071156048/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10979178&amp;postID=114354534071156048' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10979178/posts/default/114354534071156048'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10979178/posts/default/114354534071156048'/><link rel='alternate' type='text/html' href='http://corner-house.blogspot.com/2006/03/cannot-copy-assembly.html' title='Cannot copy assembly...'/><author><name>Agnel CJ Kurian</name><uri>http://www.blogger.com/profile/02108024180511317456</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-gVD9PD6Keww/TbANSj-NRAI/AAAAAAAABBI/A_HKJk22A7w/s1600/ad5544965a5fda56864614a733c5f7bf.png%253Fs%253D180'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10979178.post-114352562539929128</id><published>2006-03-28T11:28:00.000+05:30</published><updated>2006-03-28T11:30:25.410+05:30</updated><title type='text'>Google Blog Hacked</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/4785/675/1600/googleblog_hacked.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://photos1.blogger.com/blogger/4785/675/400/googleblog_hacked.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;Oooh boy!!&lt;br /&gt;&lt;br /&gt;As somebody said "...this has got to hurt...".&lt;div class="blogger-post-footer"&gt;Deep in the fundamental heart of mind and universe there is a reason. -- Douglas Adams&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10979178-114352562539929128?l=corner-house.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://corner-house.blogspot.com/feeds/114352562539929128/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10979178&amp;postID=114352562539929128' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10979178/posts/default/114352562539929128'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10979178/posts/default/114352562539929128'/><link rel='alternate' type='text/html' href='http://corner-house.blogspot.com/2006/03/google-blog-hacked.html' title='Google Blog Hacked'/><author><name>Agnel CJ Kurian</name><uri>http://www.blogger.com/profile/02108024180511317456</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-gVD9PD6Keww/TbANSj-NRAI/AAAAAAAABBI/A_HKJk22A7w/s1600/ad5544965a5fda56864614a733c5f7bf.png%253Fs%253D180'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10979178.post-114341907902444170</id><published>2006-03-27T05:48:00.000+05:30</published><updated>2007-04-22T18:32:11.540+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='rant'/><category scheme='http://www.blogger.com/atom/ns#' term='.net'/><title type='text'>Stupid ASP.NET</title><content type='html'>Did you know that a Response.Write in the Page_Load gets rendered right at the top of your HTML markup? Right at the top! Meaning right before &amp;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;lt&lt;/span&gt;;HTML&amp;gt;. &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_1"&gt;Isn't&lt;/span&gt; that cool!&lt;br /&gt;&lt;br /&gt;Not only that, a Page.Controls.Add will place your control right at the bottom of your controls collection which means that it goes right after the closing &amp;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;lt&lt;/span&gt;;/HTML&amp;gt;. Awesome!!&lt;br /&gt;&lt;br /&gt;Want some more?!&lt;br /&gt;&lt;br /&gt;OK. Now, to add a control so that it falls within the &amp;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;lt&lt;/span&gt;;FORM&amp;gt;...&amp;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;lt&lt;/span&gt;;/FORM&amp;gt; (which is what everybody wants), we need to say Controls[1].Controls.Add(mycontrol).&lt;br /&gt;&lt;br /&gt;Controls[1] will get you the reference to the &amp;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;lt&lt;/span&gt;;FORM&amp;gt; control and so on...&lt;br /&gt;&lt;br /&gt;Right now Controls[1] works for me but, who knows...&lt;div class="blogger-post-footer"&gt;Deep in the fundamental heart of mind and universe there is a reason. -- Douglas Adams&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10979178-114341907902444170?l=corner-house.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://corner-house.blogspot.com/feeds/114341907902444170/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10979178&amp;postID=114341907902444170' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10979178/posts/default/114341907902444170'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10979178/posts/default/114341907902444170'/><link rel='alternate' type='text/html' href='http://corner-house.blogspot.com/2006/03/stupid-aspnet.html' title='Stupid ASP.NET'/><author><name>Agnel CJ Kurian</name><uri>http://www.blogger.com/profile/02108024180511317456</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-gVD9PD6Keww/TbANSj-NRAI/AAAAAAAABBI/A_HKJk22A7w/s1600/ad5544965a5fda56864614a733c5f7bf.png%253Fs%253D180'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10979178.post-114312717085360403</id><published>2006-03-23T20:48:00.000+05:30</published><updated>2007-05-20T10:11:00.840+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='tools'/><title type='text'>WinSQL 5.0 Released</title><content type='html'>I've been using WinSQL for nearly 3 years now. A simple SQL GUI interface to any ODBC compliant database. &lt;a href="http://www.synametrics.com/SynametricsWebApp/WinSQL.jsp"&gt;Version 5.0&lt;/a&gt; has some really cool features like the IntelliSense shown here:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/4785/675/1600/winsql5.jpg"&gt;&lt;img style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: pointer; TEXT-ALIGN: center" alt="" src="http://photos1.blogger.com/blogger/4785/675/400/winsql5.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;strong&gt;Update:&lt;/strong&gt; Now in &lt;a href="http://www.synametrics.com/SynametricsWebApp/WinSQL.jsp"&gt;version 5.5&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;Deep in the fundamental heart of mind and universe there is a reason. -- Douglas Adams&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10979178-114312717085360403?l=corner-house.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://corner-house.blogspot.com/feeds/114312717085360403/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10979178&amp;postID=114312717085360403' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10979178/posts/default/114312717085360403'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10979178/posts/default/114312717085360403'/><link rel='alternate' type='text/html' href='http://corner-house.blogspot.com/2006/03/winsql-50-released_23.html' title='WinSQL 5.0 Released'/><author><name>Agnel CJ Kurian</name><uri>http://www.blogger.com/profile/02108024180511317456</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-gVD9PD6Keww/TbANSj-NRAI/AAAAAAAABBI/A_HKJk22A7w/s1600/ad5544965a5fda56864614a733c5f7bf.png%253Fs%253D180'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10979178.post-114294839426884567</id><published>2006-03-21T18:23:00.006+05:30</published><updated>2010-03-23T14:20:30.474+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='.net'/><category scheme='http://www.blogger.com/atom/ns#' term='programming'/><title type='text'>Accessing Shared Folders in ASP.NET</title><content type='html'>Believe me its easy. If only you wont get caught up with the 'Impersonation' word. A lot of sites took me for a jolly ride on the Impersonation road. Luckily I found &lt;a href="http://www.experts-exchange.com/Programming/Programming_Languages/Dot_Net/Q_20336491.html"&gt;the answer&lt;/a&gt; on Experts Exchange.&lt;br /&gt;&lt;br /&gt;Here's a demo of the code:&lt;br /&gt;&lt;br /&gt;&lt;pre class="brush: csharp"&gt;&lt;br /&gt;using System;&lt;br /&gt;using System.IO;&lt;br /&gt;using System.Runtime.InteropServices;&lt;br /&gt;using System.Net;&lt;br /&gt;&lt;br /&gt;public class ShareThis {&lt;br /&gt;    //used in calling WNetAddConnection2[StructLayout (LayoutKind.Sequential)]&lt;br /&gt;    public struct NETRESOURCE {&lt;br /&gt;        public int dwScope;&lt;br /&gt;        public int dwType;&lt;br /&gt;        public int dwDisplayType; &lt;br /&gt;        public int dwUsage;&lt;br /&gt;        &lt;br /&gt;        [MarshalAs(UnmanagedType.LPStr)] &lt;br /&gt;        public string lpLocalName;&lt;br /&gt;        &lt;br /&gt;        [MarshalAs(UnmanagedType.LPStr)] &lt;br /&gt;        public string lpRemoteName;&lt;br /&gt;        &lt;br /&gt;        [MarshalAs(UnmanagedType.LPStr)] &lt;br /&gt;        public string lpComment;[MarshalAs(UnmanagedType.LPStr)] &lt;br /&gt;        public string lpProvider;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    //WIN32API - WNetAddConnection2&lt;br /&gt;    [DllImport("mpr.dll",&lt;br /&gt;        CharSet = System.Runtime.InteropServices.CharSet.Auto)]&lt;br /&gt;    private static extern int WNetAddConnection2A(&lt;br /&gt;        [MarshalAs(UnmanagedType.LPArray)]NETRESOURCE[] lpNetResource, &lt;br /&gt;        [MarshalAs(UnmanagedType.LPStr)]string lpPassword, &lt;br /&gt;        [MarshalAs(UnmanagedType.LPStr)]string lpUserName, &lt;br /&gt;        int dwFlags);&lt;br /&gt;&lt;br /&gt;    //WIN32API - WNetCancelConnection2&lt;br /&gt;    [DllImport("mpr.dll",&lt;br /&gt;        CharSet = System.Runtime.InteropServices.CharSet.Auto)]&lt;br /&gt;&lt;br /&gt;    private static extern int WNetCancelConnection2A(&lt;br /&gt;        [MarshalAs(UnmanagedType.LPStr)]string lpName, int dwFlags, int fForce);&lt;br /&gt;    public static void CopyFile(string share, string username, string password, &lt;br /&gt;        string dirFrom, string dirTo, string filename){&lt;br /&gt;        NETRESOURCE[] nr = new NETRESOURCE[1];&lt;br /&gt;        nr[0].lpRemoteName = share;&lt;br /&gt;        nr[0].lpLocalName = "";&lt;br /&gt;&lt;br /&gt;        //mLocalName;nr[0].dwType = 1;&lt;br /&gt;        //disknr[0].dwDisplayType = 0;&lt;br /&gt;&lt;br /&gt;        nr[0].dwScope = 0; nr[0].dwUsage = 0;&lt;br /&gt;        nr[0].lpComment = "";&lt;br /&gt;        nr[0].lpProvider = "";&lt;br /&gt;        &lt;br /&gt;        WNetAddConnection2A(nr, password, username, 0);&lt;br /&gt;        File.Copy(dirFrom + "\\" + filename, dirTo + "\\" + filename);&lt;br /&gt;        &lt;br /&gt;        WNetCancelConnection2A(share, 0, -1);&lt;br /&gt;    }&lt;br /&gt;    &lt;br /&gt;    public static void Main(string[] args) {&lt;br /&gt;&lt;br /&gt;        CopyFile(@"\\sa191", "username", "password",&lt;br /&gt;            @"f:\shared", @"\\sa191\shared", "123.shp");&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;Deep in the fundamental heart of mind and universe there is a reason. -- Douglas Adams&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10979178-114294839426884567?l=corner-house.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://corner-house.blogspot.com/feeds/114294839426884567/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10979178&amp;postID=114294839426884567' title='25 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10979178/posts/default/114294839426884567'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10979178/posts/default/114294839426884567'/><link rel='alternate' type='text/html' href='http://corner-house.blogspot.com/2006/03/accessing-shared-folders-in-aspnet.html' title='Accessing Shared Folders in ASP.NET'/><author><name>Agnel CJ Kurian</name><uri>http://www.blogger.com/profile/02108024180511317456</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-gVD9PD6Keww/TbANSj-NRAI/AAAAAAAABBI/A_HKJk22A7w/s1600/ad5544965a5fda56864614a733c5f7bf.png%253Fs%253D180'/></author><thr:total>25</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10979178.post-114246862297457143</id><published>2006-03-16T05:53:00.000+05:30</published><updated>2007-04-15T03:44:19.937+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='rant'/><category scheme='http://www.blogger.com/atom/ns#' term='.net'/><title type='text'>Cookies in ASP.NET</title><content type='html'>Cookie collections in ASP.NET are just weird to say the least. I'm too tired to go into details. Just remember this:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;When you read Response.Cookies[somename], the cookie is automatically created and returned if it does not already exist. Code which checks if(Response.Cookies[somename] == null) is pointless.&lt;br /&gt;(This does not apply to &lt;span style="font-style: italic;"&gt;Request&lt;/span&gt;.Cookies)&lt;br /&gt;&lt;/li&gt;&lt;li&gt;When a cookie is added to Response.Cookies, it is automatically added to Request.Cookies too. Ditto for deletes.&lt;/li&gt;&lt;li&gt;Want more? If you add a cookie to Response.Cookies and it already exists in Request.Cookies, then Request.Cookies will have two cookies with the same name. So it is better to do a Request.Cookies.Remove(somename) before Response.Cookies[somename].&lt;br /&gt;For cookies using multiple values it makes sense to reuse the cookie which was removed from Request.Cookies.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;If you'd like even more bugs with your ASP.NET: &lt;a href="http://blogs.geekdojo.net/jez/archive/2004/04/30/1832.aspx"&gt;Response.Cookies Bug&lt;/a&gt;&lt;/li&gt;&lt;/ol&gt;Yup. That &lt;span style="font-style: italic;"&gt;was&lt;/span&gt; the short version.&lt;div class="blogger-post-footer"&gt;Deep in the fundamental heart of mind and universe there is a reason. -- Douglas Adams&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10979178-114246862297457143?l=corner-house.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://corner-house.blogspot.com/feeds/114246862297457143/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10979178&amp;postID=114246862297457143' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10979178/posts/default/114246862297457143'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10979178/posts/default/114246862297457143'/><link rel='alternate' type='text/html' href='http://corner-house.blogspot.com/2006/03/cookies-in-aspnet.html' title='Cookies in ASP.NET'/><author><name>Agnel CJ Kurian</name><uri>http://www.blogger.com/profile/02108024180511317456</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-gVD9PD6Keww/TbANSj-NRAI/AAAAAAAABBI/A_HKJk22A7w/s1600/ad5544965a5fda56864614a733c5f7bf.png%253Fs%253D180'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10979178.post-114244855871157995</id><published>2006-03-16T00:19:00.000+05:30</published><updated>2007-04-15T03:42:45.554+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='tools'/><title type='text'>DeadLine - Curve Plotter, Expression Parser...</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/4785/675/1600/orange-deadline.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://photos1.blogger.com/blogger/4785/675/400/orange-deadline.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://deadline.3x.ro/"&gt;Solve equations, plot graphs free. DeadLine OnLine educational software&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Ditto.&lt;br /&gt;&lt;br /&gt;I tried my hand at &lt;a href="http://greypixels.netfirms.com/downloads.htm"&gt;something like this&lt;/a&gt; a long long time ago.&lt;br /&gt;&lt;br /&gt;What surprises me is the fact that this baby's been developed using VB6!!&lt;div class="blogger-post-footer"&gt;Deep in the fundamental heart of mind and universe there is a reason. -- Douglas Adams&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10979178-114244855871157995?l=corner-house.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://corner-house.blogspot.com/feeds/114244855871157995/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10979178&amp;postID=114244855871157995' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10979178/posts/default/114244855871157995'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10979178/posts/default/114244855871157995'/><link rel='alternate' type='text/html' href='http://corner-house.blogspot.com/2006/03/deadline-curve-plotter-expression.html' title='DeadLine - Curve Plotter, Expression Parser...'/><author><name>Agnel CJ Kurian</name><uri>http://www.blogger.com/profile/02108024180511317456</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-gVD9PD6Keww/TbANSj-NRAI/AAAAAAAABBI/A_HKJk22A7w/s1600/ad5544965a5fda56864614a733c5f7bf.png%253Fs%253D180'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10979178.post-113958188250378241</id><published>2006-02-10T19:49:00.000+05:30</published><updated>2007-04-15T03:42:45.554+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='tools'/><title type='text'>HTTP Debuggers</title><content type='html'>View incoming and outgoing HTTP traffic on your computer. Nice for debugging web applications.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.fiddlertool.com/fiddler/"&gt;Fiddler&lt;/a&gt;: By default handles IE traffic only. Needs some config to work with Firefox. This one's from Microsoft.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://softx.org/debugger.html"&gt;HTTP Debugger&lt;/a&gt;: Allows you to select a process for which HTTP traffic will be intercepted. As of now it crashes IE when you attach to it. Works fine with Firefox.&lt;div class="blogger-post-footer"&gt;Deep in the fundamental heart of mind and universe there is a reason. -- Douglas Adams&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10979178-113958188250378241?l=corner-house.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://corner-house.blogspot.com/feeds/113958188250378241/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10979178&amp;postID=113958188250378241' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10979178/posts/default/113958188250378241'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10979178/posts/default/113958188250378241'/><link rel='alternate' type='text/html' href='http://corner-house.blogspot.com/2006/02/http-debuggers.html' title='HTTP Debuggers'/><author><name>Agnel CJ Kurian</name><uri>http://www.blogger.com/profile/02108024180511317456</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-gVD9PD6Keww/TbANSj-NRAI/AAAAAAAABBI/A_HKJk22A7w/s1600/ad5544965a5fda56864614a733c5f7bf.png%253Fs%253D180'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10979178.post-113638264146593025</id><published>2006-01-04T19:20:00.000+05:30</published><updated>2006-01-04T19:38:06.786+05:30</updated><title type='text'>The MSDE Deployment Toolkit (RC) in Action</title><content type='html'>&lt;div xmlns="http://purl.org/atom/ns#"&gt;      &lt;p&gt;This MSDN article walks you through creating a setup project which installs MSDE and runs a few SQL scripts as part of the installation. Dated March 2004. Involves coding some custom actions.&lt;/p&gt;&lt;p&gt;BTW the MSDE 2000 Deployment Toolkit was developed by chaps at sqljunkies.com even though the article appears on MSDN.&lt;/p&gt;&lt;p&gt;        Read more at &lt;a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnmsde/html/msdedepl.asp"&gt;msdn.microsoft.com/library/default.asp?url=/library/en-us/dnmsde/html/msdedepl.asp&lt;/a&gt;      &lt;br /&gt;&lt;br /&gt;&lt;/p&gt;    &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;Deep in the fundamental heart of mind and universe there is a reason. -- Douglas Adams&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10979178-113638264146593025?l=corner-house.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://corner-house.blogspot.com/feeds/113638264146593025/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10979178&amp;postID=113638264146593025' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10979178/posts/default/113638264146593025'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10979178/posts/default/113638264146593025'/><link rel='alternate' type='text/html' href='http://corner-house.blogspot.com/2006/01/msde-deployment-toolkit-rc-in-action.html' title='The MSDE Deployment Toolkit (RC) in Action'/><author><name>Agnel CJ Kurian</name><uri>http://www.blogger.com/profile/02108024180511317456</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-gVD9PD6Keww/TbANSj-NRAI/AAAAAAAABBI/A_HKJk22A7w/s1600/ad5544965a5fda56864614a733c5f7bf.png%253Fs%253D180'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10979178.post-113577272903787383</id><published>2005-12-28T17:36:00.000+05:30</published><updated>2007-04-15T03:42:45.554+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='tools'/><title type='text'>XN Resource Editor</title><content type='html'>See &lt;a href="http://www.wilsonc.demon.co.uk/d10resourceeditor.htm"&gt;XN Resource Editor&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;A beautiful tool which lets you edit Win32 resources directly in the binary (exe,dll etc.). This one comes complete with editors for icons, cursors, dialogs and any other imaginable kind of resource. That's quite an achievement when you notice that Microsoft's Visual Studio does not support 32-bit icons/cursors even in the 2003 edition. &lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/4785/675/1600/icon.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://photos1.blogger.com/blogger/4785/675/320/icon.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/4785/675/1600/dialog.gif"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://photos1.blogger.com/blogger/4785/675/320/dialog.jpg" alt="" border="0" /&gt;&lt;/a&gt;Read more at &lt;a href="http://www.wilsonc.demon.co.uk/d10resourceeditor.htm"&gt;www.wilsonc.demon.co.uk...&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;Deep in the fundamental heart of mind and universe there is a reason. -- Douglas Adams&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10979178-113577272903787383?l=corner-house.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://corner-house.blogspot.com/feeds/113577272903787383/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10979178&amp;postID=113577272903787383' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10979178/posts/default/113577272903787383'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10979178/posts/default/113577272903787383'/><link rel='alternate' type='text/html' href='http://corner-house.blogspot.com/2005/12/xn-resource-editor.html' title='XN Resource Editor'/><author><name>Agnel CJ Kurian</name><uri>http://www.blogger.com/profile/02108024180511317456</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-gVD9PD6Keww/TbANSj-NRAI/AAAAAAAABBI/A_HKJk22A7w/s1600/ad5544965a5fda56864614a733c5f7bf.png%253Fs%253D180'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10979178.post-113160023900789788</id><published>2005-11-10T10:53:00.000+05:30</published><updated>2005-11-15T19:56:11.596+05:30</updated><title type='text'>Base 64 Encoding</title><content type='html'>Base 64 encoding is something that really pissed me off yesterday. There are loads and loads of sons-of-what-nots out there who post articles about encryption and hashing in .NET. Almost all of these dumb-asses make use of base 64 encoding in some way or the other, but hardly any of these morons had the sense to let us know how we actually find the length of the resulting string. (there is one small issue when it comes to padding)&lt;br /&gt;&lt;br /&gt;Finally I found this:&lt;br /&gt;&lt;a href="http://www.kbcafe.com/articles/HowTo.Base64.pdf"&gt;How To Base64&lt;/a&gt; by Randy Charles Morin.&lt;br /&gt;&lt;br /&gt;God bless you Randy boy!!&lt;div class="blogger-post-footer"&gt;Deep in the fundamental heart of mind and universe there is a reason. -- Douglas Adams&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10979178-113160023900789788?l=corner-house.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://corner-house.blogspot.com/feeds/113160023900789788/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10979178&amp;postID=113160023900789788' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10979178/posts/default/113160023900789788'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10979178/posts/default/113160023900789788'/><link rel='alternate' type='text/html' href='http://corner-house.blogspot.com/2005/11/base-64-encoding.html' title='Base 64 Encoding'/><author><name>Agnel CJ Kurian</name><uri>http://www.blogger.com/profile/02108024180511317456</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-gVD9PD6Keww/TbANSj-NRAI/AAAAAAAABBI/A_HKJk22A7w/s1600/ad5544965a5fda56864614a733c5f7bf.png%253Fs%253D180'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10979178.post-112053632522356476</id><published>2005-07-05T09:30:00.000+05:30</published><updated>2007-04-19T20:24:04.066+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='tools'/><category scheme='http://www.blogger.com/atom/ns#' term='vc++'/><title type='text'>C/C++ Memory Leak Detection on Windows</title><content type='html'>Memory leak tracer by Jochen Kalmbach (&lt;a href="http://blog.kalmbachnet.de/"&gt;http://blog.kalmbachnet.de/&lt;/a&gt;). You just need to include the files in your project and call his initialization, finalization routines. The output log gives you call stack, size of the request and believe it or not...source file and line number of the allocation request. Works with both malloc and new.&lt;br /&gt;&lt;a href="http://www.thecodeproject.com/tools/leakfinder.asp?print=true"&gt;http://www.thecodeproject.com/tools/leakfinder.asp?print=true&lt;/a&gt;&lt;br /&gt;And like all good things its free.&lt;div class="blogger-post-footer"&gt;Deep in the fundamental heart of mind and universe there is a reason. -- Douglas Adams&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10979178-112053632522356476?l=corner-house.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://corner-house.blogspot.com/feeds/112053632522356476/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10979178&amp;postID=112053632522356476' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10979178/posts/default/112053632522356476'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10979178/posts/default/112053632522356476'/><link rel='alternate' type='text/html' href='http://corner-house.blogspot.com/2005/07/cc-memory-leak-detection-on-windows.html' title='C/C++ Memory Leak Detection on Windows'/><author><name>Agnel CJ Kurian</name><uri>http://www.blogger.com/profile/02108024180511317456</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-gVD9PD6Keww/TbANSj-NRAI/AAAAAAAABBI/A_HKJk22A7w/s1600/ad5544965a5fda56864614a733c5f7bf.png%253Fs%253D180'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10979178.post-111086276613372781</id><published>2005-03-15T10:24:00.000+05:30</published><updated>2007-05-13T19:43:55.332+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='vc++'/><title type='text'>Checking Scrollbar Visibility</title><content type='html'>Call GetScrollBarInfo (NOT GetScrollInfo). Pass in a SCROLLBARINFO struct (only the cbSize field needs to be initialized in this case). On return, check the value of &lt;SCROLLBARINFO variable&gt;.rgstate[0]. If it is STATE_SYSTEM_INVISIBLE then the scroll bar is hidden. If it is STATE_SYSTEM_UNAVAILABLE, then the scroll bar has been disabled.&lt;br /&gt;&lt;br /&gt;&lt;I&gt;Min. OS req Windows 98, Windows NT 4.0 with Service Pack 6.&lt;/I&gt;&lt;div class="blogger-post-footer"&gt;Deep in the fundamental heart of mind and universe there is a reason. -- Douglas Adams&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10979178-111086276613372781?l=corner-house.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://corner-house.blogspot.com/feeds/111086276613372781/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10979178&amp;postID=111086276613372781' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10979178/posts/default/111086276613372781'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10979178/posts/default/111086276613372781'/><link rel='alternate' type='text/html' href='http://corner-house.blogspot.com/2005/03/checking-scrollbar-visibility.html' title='Checking Scrollbar Visibility'/><author><name>Agnel CJ Kurian</name><uri>http://www.blogger.com/profile/02108024180511317456</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-gVD9PD6Keww/TbANSj-NRAI/AAAAAAAABBI/A_HKJk22A7w/s1600/ad5544965a5fda56864614a733c5f7bf.png%253Fs%253D180'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10979178.post-111085459442457268</id><published>2005-03-15T08:06:00.000+05:30</published><updated>2007-04-19T20:24:04.066+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='vc++'/><title type='text'>OFN_CREATEPROMPT</title><content type='html'>I think my brains getting a bit addled of late. I've been playing with GetSaveFileName and GetOpenFileName from the Windows API. You need to pass an OPENFILENAME struct to get this running. Now one of the flag values - OFN_CREATEPROMPT is supposed to prompt the user to create a file if the file does not already exist. Somehow no matter how hard I tried, GetSaveFileName simply would'nt prompt me for file creation. After about two days of slogging on this I tried the same flag with GetOpenFileName. And...it worked.&lt;br /&gt;&lt;br /&gt;It just did'nt strike me that it's just not very useful to prompt a user to create a new file while saving. Guess, I need to cut down on the weekend whisky.&lt;div class="blogger-post-footer"&gt;Deep in the fundamental heart of mind and universe there is a reason. -- Douglas Adams&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10979178-111085459442457268?l=corner-house.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://corner-house.blogspot.com/feeds/111085459442457268/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10979178&amp;postID=111085459442457268' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10979178/posts/default/111085459442457268'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10979178/posts/default/111085459442457268'/><link rel='alternate' type='text/html' href='http://corner-house.blogspot.com/2005/03/ofncreateprompt.html' title='OFN_CREATEPROMPT'/><author><name>Agnel CJ Kurian</name><uri>http://www.blogger.com/profile/02108024180511317456</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-gVD9PD6Keww/TbANSj-NRAI/AAAAAAAABBI/A_HKJk22A7w/s1600/ad5544965a5fda56864614a733c5f7bf.png%253Fs%253D180'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10979178.post-110984004552049009</id><published>2005-03-03T14:24:00.000+05:30</published><updated>2007-04-19T20:24:04.067+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='vc++'/><title type='text'>theForger's Win32 API Tutorial</title><content type='html'>&lt;a href="http://winprog.org/tutorial/index.html"&gt;theForger's Win32 API Tutorial&lt;/a&gt; - The best way to start off on Win32. Just the basic facts...&lt;div class="blogger-post-footer"&gt;Deep in the fundamental heart of mind and universe there is a reason. -- Douglas Adams&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10979178-110984004552049009?l=corner-house.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://corner-house.blogspot.com/feeds/110984004552049009/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10979178&amp;postID=110984004552049009' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10979178/posts/default/110984004552049009'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10979178/posts/default/110984004552049009'/><link rel='alternate' type='text/html' href='http://corner-house.blogspot.com/2005/03/theforgers-win32-api-tutorial.html' title='theForger&apos;s Win32 API Tutorial'/><author><name>Agnel CJ Kurian</name><uri>http://www.blogger.com/profile/02108024180511317456</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-gVD9PD6Keww/TbANSj-NRAI/AAAAAAAABBI/A_HKJk22A7w/s1600/ad5544965a5fda56864614a733c5f7bf.png%253Fs%253D180'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10979178.post-110975565912687900</id><published>2005-03-02T14:57:00.000+05:30</published><updated>2005-03-02T15:28:00.136+05:30</updated><title type='text'>My New Avatar</title><content type='html'>&lt;a href='http://photos1.blogger.com/img/194/3090/640/avatar.jpg'&gt;&lt;img border='0' style='border:1px solid #000000; margin:2px' src='http://photos1.blogger.com/img/194/3090/200/avatar.jpg'&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href='http://www.hello.com/' target='ext'&gt;&lt;img src='http://photos1.blogger.com/pbh.gif' alt='Posted by Hello' border='0' style='border:0px;padding:0px;background:transparent;' align='absmiddle'&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;Deep in the fundamental heart of mind and universe there is a reason. -- Douglas Adams&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10979178-110975565912687900?l=corner-house.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://corner-house.blogspot.com/feeds/110975565912687900/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10979178&amp;postID=110975565912687900' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10979178/posts/default/110975565912687900'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10979178/posts/default/110975565912687900'/><link rel='alternate' type='text/html' href='http://corner-house.blogspot.com/2005/03/my-new-avatar.html' title='My New Avatar'/><author><name>Agnel CJ Kurian</name><uri>http://www.blogger.com/profile/02108024180511317456</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-gVD9PD6Keww/TbANSj-NRAI/AAAAAAAABBI/A_HKJk22A7w/s1600/ad5544965a5fda56864614a733c5f7bf.png%253Fs%253D180'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10979178.post-110975381493941191</id><published>2005-03-02T14:18:00.000+05:30</published><updated>2007-04-19T20:24:04.068+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='vc++'/><title type='text'>Modal and Modeless dialogs</title><content type='html'>Try this.&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Open Notepad. Type in 'The quick brown fox jumps over the lazy dog'.&lt;br /&gt;&lt;li&gt;Hit Ctrl+Home&lt;br /&gt;&lt;li&gt;Open the Find dialog under the Edit menu. DO NOT dismiss this dialog.&lt;br /&gt;&lt;li&gt;Keeping the find dialog open, Click 'Open...' under the File menu.&lt;br /&gt;&lt;li&gt;Click 'No' when it prompts with 'Do you want to save changes?'.&lt;br /&gt;&lt;li&gt;Now click on the Find dialog and then the 'Find Next' button.&lt;br /&gt;&lt;/ol&gt;&lt;br /&gt;&lt;br /&gt;It works!!&lt;br /&gt;&lt;br /&gt;Now is this a bug? Atleast, is this 'expected' behaviour?&lt;br /&gt;&lt;br /&gt;&lt;hr&gt;&lt;br /&gt;This is NOT a Notepad specific thing. This happens to any set of windows when you open one modeless dialog and one modal dialog having a common owner. You CAN access the modeless dialog even when the modal dialog is running.&lt;div class="blogger-post-footer"&gt;Deep in the fundamental heart of mind and universe there is a reason. -- Douglas Adams&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10979178-110975381493941191?l=corner-house.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://corner-house.blogspot.com/feeds/110975381493941191/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10979178&amp;postID=110975381493941191' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10979178/posts/default/110975381493941191'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10979178/posts/default/110975381493941191'/><link rel='alternate' type='text/html' href='http://corner-house.blogspot.com/2005/03/modal-and-modeless-dialogs.html' title='Modal and Modeless dialogs'/><author><name>Agnel CJ Kurian</name><uri>http://www.blogger.com/profile/02108024180511317456</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-gVD9PD6Keww/TbANSj-NRAI/AAAAAAAABBI/A_HKJk22A7w/s1600/ad5544965a5fda56864614a733c5f7bf.png%253Fs%253D180'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10979178.post-110965674632016903</id><published>2005-03-01T11:26:00.000+05:30</published><updated>2007-04-19T20:24:04.068+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='vc++'/><title type='text'>Message Crackers on Microsoft KB</title><content type='html'>&lt;a href="http://support.microsoft.com/default.aspx?scid=http://support.microsoft.com:80/support/kb/articles/q83/4/56.asp"&gt;Introduction to STRICT and Message Crackers&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;Deep in the fundamental heart of mind and universe there is a reason. -- Douglas Adams&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10979178-110965674632016903?l=corner-house.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://corner-house.blogspot.com/feeds/110965674632016903/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10979178&amp;postID=110965674632016903' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10979178/posts/default/110965674632016903'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10979178/posts/default/110965674632016903'/><link rel='alternate' type='text/html' href='http://corner-house.blogspot.com/2005/03/message-crackers-on-microsoft-kb.html' title='Message Crackers on Microsoft KB'/><author><name>Agnel CJ Kurian</name><uri>http://www.blogger.com/profile/02108024180511317456</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-gVD9PD6Keww/TbANSj-NRAI/AAAAAAAABBI/A_HKJk22A7w/s1600/ad5544965a5fda56864614a733c5f7bf.png%253Fs%253D180'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10979178.post-110932469084963848</id><published>2005-02-25T14:15:00.000+05:30</published><updated>2005-02-25T15:18:58.343+05:30</updated><title type='text'>About Programming</title><content type='html'>Found this at &lt;a href="http://www.winprog.net/"&gt;www.winprog.net&lt;/a&gt;:&lt;br /&gt;&lt;a href="http://www.winprog.net/faq/#part.general.rtfm"&gt;How to RTFM&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;And this one's pure bliss:&lt;br /&gt;&lt;a href="http://www.canonical.org/~kragen/tao-of-programming.html"&gt;The Tao of Programming&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;Deep in the fundamental heart of mind and universe there is a reason. -- Douglas Adams&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10979178-110932469084963848?l=corner-house.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://corner-house.blogspot.com/feeds/110932469084963848/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10979178&amp;postID=110932469084963848' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10979178/posts/default/110932469084963848'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10979178/posts/default/110932469084963848'/><link rel='alternate' type='text/html' href='http://corner-house.blogspot.com/2005/02/about-programming.html' title='About Programming'/><author><name>Agnel CJ Kurian</name><uri>http://www.blogger.com/profile/02108024180511317456</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-gVD9PD6Keww/TbANSj-NRAI/AAAAAAAABBI/A_HKJk22A7w/s1600/ad5544965a5fda56864614a733c5f7bf.png%253Fs%253D180'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10979178.post-110921944669573342</id><published>2005-02-24T09:52:00.000+05:30</published><updated>2007-04-19T20:24:04.069+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='tools'/><category scheme='http://www.blogger.com/atom/ns#' term='vc++'/><title type='text'>Hernán Di Pietro's Message Cracker Wizard</title><content type='html'>Recently came across Hernán Di Pietro's &lt;a href="http://usuarios.lycos.es/hernandp/mcw.html"&gt;Message Cracker Wizard&lt;/a&gt;. No more digging through windowsx.h to look for function signatures. You can also find it on &lt;a href="http://www.codeproject.com/win32/msgcrackwizard.asp"&gt;code project&lt;/a&gt;. And here's his blog &lt;a href="http://hernandp.blogspot.com/"&gt;http://hernandp.blogspot.com/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;For those who aren't familiar with message crackers here's a very very brief intro (for a better and more detailed article click &lt;a href="http://www.codeproject.com/win32/msgcrackwizard.asp#intro"&gt;here&lt;/a&gt;):&lt;br /&gt;&lt;br /&gt;In most Win32 programs, the WndProc consists mainly of one huuuge switch-case. Each of the case statements looks something like:&lt;br /&gt;&lt;code&gt;&lt;br /&gt;   case WM_SIZE:&lt;br /&gt;       int width = LOWORD(lParam), height = HIWORD(lParam);&lt;br /&gt;       RedoLayout(width, height);&lt;br /&gt;       // et cetera ...&lt;br /&gt;       return 0;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;To make sense of the message parameters, you need to do a LOWORD/HIWORD or use a bit mask as per the API docs. A message cracker is a pre-processor macro which converts the LPARAM and WPARAM to more sensible values and passes these values to a function which you provide. Each WM_ message has a corresponding HANDLE_WM_ macro defined in windowsx.h. Along with the macro you see a comment giving you the signature of the function you are expected to provide.&lt;br /&gt;&lt;br /&gt;For example here is the entry for WM_SIZE as given in windowsx.h:&lt;br /&gt;&lt;code&gt;&lt;br /&gt;/* void Cls_OnSize(HWND hwnd, UINT state, int cx, int cy) */&lt;br /&gt;#define HANDLE_WM_SIZE(hwnd, wParam, lParam, fn)     ((fn)((hwnd), (UINT)(wParam), (int)(short)LOWORD(lParam), (int)(short)HIWORD(lParam)), 0L)&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;So to use the message cracker you change your &lt;code&gt;case&lt;/code&gt; to:&lt;br /&gt;&lt;code&gt;case WM_SIZE:&lt;br /&gt;    return HANDLE_WM_SIZE(hwnd, wParam, lParam, myWindow_OnSize);&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;You then place all your message handling in &lt;code&gt;myWindow_OnSize&lt;/code&gt; as in:&lt;br /&gt;&lt;code&gt;void mainWindow_OnSize(HWND hwnd, UINT state, int cx, int cy){&lt;br /&gt;    RedoLayout(cx, cy);&lt;br /&gt;}&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;You can further reduce your coding effort using the &lt;code&gt;HANDLE_MSG&lt;/code&gt; macro. For this, you replace the entire case block with:&lt;br /&gt;&lt;code&gt;HANDLE_MSG(hwnd, WM_SIZE, mainWindiow_OnSize)&lt;/code&gt;&lt;br /&gt;Note: For this to work, the parameters to your WndProc &lt;span style="font-style:italic;"&gt;must&lt;/span&gt; be named &lt;code&gt;wParam&lt;/code&gt; and &lt;code&gt;lParam&lt;/code&gt;.&lt;br /&gt;&lt;br /&gt;The advantages? 1) You don't need to remember whether your parameter was in the LOWORD or HIWORD or in the least significant byte. 2) The code is more modular. Each event is handled in a separate function. 3) Code is neat.&lt;div class="blogger-post-footer"&gt;Deep in the fundamental heart of mind and universe there is a reason. -- Douglas Adams&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10979178-110921944669573342?l=corner-house.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://corner-house.blogspot.com/feeds/110921944669573342/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10979178&amp;postID=110921944669573342' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10979178/posts/default/110921944669573342'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10979178/posts/default/110921944669573342'/><link rel='alternate' type='text/html' href='http://corner-house.blogspot.com/2005/02/hernn-di-pietros-message-cracker.html' title='Hernán Di Pietro&apos;s Message Cracker Wizard'/><author><name>Agnel CJ Kurian</name><uri>http://www.blogger.com/profile/02108024180511317456</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-gVD9PD6Keww/TbANSj-NRAI/AAAAAAAABBI/A_HKJk22A7w/s1600/ad5544965a5fda56864614a733c5f7bf.png%253Fs%253D180'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10979178.post-110898502052910986</id><published>2005-02-21T16:42:00.000+05:30</published><updated>2006-03-18T17:38:50.866+05:30</updated><title type='text'>Welcome to Corner House</title><content type='html'>This is my Win32 blog. I'll be blogging about C/C++ code using the Windows API. I'm no expert but I've had a taste of C/C++ on Win32 and it is the greatest platform I've ever worked on so far.&lt;br /&gt;&lt;br /&gt;This is my first &lt;span style="font-style:italic;"&gt;serious&lt;/span&gt; (I mean it this time) blogging attempt. All the blogs I've created so far had just one entry titled something like "Here I go again..." and then I forgot the password.&lt;div class="blogger-post-footer"&gt;Deep in the fundamental heart of mind and universe there is a reason. -- Douglas Adams&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10979178-110898502052910986?l=corner-house.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://corner-house.blogspot.com/feeds/110898502052910986/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10979178&amp;postID=110898502052910986' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10979178/posts/default/110898502052910986'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10979178/posts/default/110898502052910986'/><link rel='alternate' type='text/html' href='http://corner-house.blogspot.com/2005/02/welcome-to-corner-house.html' title='Welcome to Corner House'/><author><name>Agnel CJ Kurian</name><uri>http://www.blogger.com/profile/02108024180511317456</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-gVD9PD6Keww/TbANSj-NRAI/AAAAAAAABBI/A_HKJk22A7w/s1600/ad5544965a5fda56864614a733c5f7bf.png%253Fs%253D180'/></author><thr:total>0</thr:total></entry></feed>
