<?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'><id>tag:blogger.com,1999:blog-8899946</id><updated>2009-10-27T18:06:23.541Z</updated><title type='text'>Vikram Kamath</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://vikramkamath.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8899946/posts/default'/><link rel='alternate' type='text/html' href='http://vikramkamath.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/8899946/posts/default?start-index=26&amp;max-results=25'/><author><name>Vikram Kamath</name><uri>http://www.blogger.com/profile/07152967554788112625</uri><email>noreply@blogger.com</email></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>44</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-8899946.post-2233337867753777763</id><published>2007-02-07T16:12:00.001Z</published><updated>2007-02-07T16:12:24.145Z</updated><title type='text'>Moving on to my new blog</title><content type='html'>&lt;span xmlns=''&gt;&lt;p&gt;I have now moved to a new space for my blogs. I have also exported all my posts into my new blog.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;You can now access my blog on &lt;a href='http://vikramkamath.wordpress.com'&gt;http://vikramkamath.wordpress.com&lt;/a&gt;&lt;br /&gt;			&lt;/p&gt;&lt;p&gt;The RSS feed can be found here:&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;a href='http://vikramkamath.wordpress.com/feed'&gt;http://vikramkamath.wordpress.com/feed&lt;/a&gt;&lt;br /&gt;			&lt;/p&gt;&lt;p&gt;&lt;a href='http://feeds.feedburner.com/wordpress/VikramKamath'&gt;http://feeds.feedburner.com/wordpress/VikramKamath&lt;/a&gt;&lt;br /&gt;			&lt;/p&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8899946-2233337867753777763?l=vikramkamath.blogspot.com'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vikramkamath.blogspot.com/feeds/2233337867753777763/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=8899946&amp;postID=2233337867753777763&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8899946/posts/default/2233337867753777763'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8899946/posts/default/2233337867753777763'/><link rel='alternate' type='text/html' href='http://vikramkamath.blogspot.com/2007/02/moving-on-to-my-new-blog.html' title='Moving on to my new blog'/><author><name>Vikram Kamath</name><uri>http://www.blogger.com/profile/07152967554788112625</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='01447205670695153879'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8899946.post-116153077657516747</id><published>2006-10-22T15:26:00.000Z</published><updated>2006-10-22T15:31:53.833Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='Fun'/><title type='text'>Diwali 2006</title><content type='html'>Its been ages since i blogged about anything. I say the same thing whenever I am away from blogspot for a long time. Anyway, I am back again.&lt;br /&gt;&lt;br /&gt;We celebrated diwali, the festival of lights with a few friends in Basingstoke yesterday (21st October 2006). We celebrated the festival at my friend Neeraj's place starting with a small &lt;i&gt;"pooja"&lt;/i&gt; and then bursting some good fireworks. There were rockets, sparklers and more. Here are some pictures of the small event. Enjoy!&lt;br /&gt;&lt;br /&gt;&lt;style type="text/css"&gt;&lt;br /&gt;#flickr_badge_source_txt {padding:0; font: 11px Arial, Helvetica, Sans serif; color:#666666;}&lt;br /&gt;#flickr_badge_icon {display:block !important; margin:0 !important; border: 1px solid rgb(0, 0, 0) !important;}&lt;br /&gt;#flickr_icon_td {padding:0 5px 0 0 !important;}&lt;br /&gt;.flickr_badge_image {text-align:center !important;}&lt;br /&gt;.flickr_badge_image img {border: 1px solid black !important;}&lt;br /&gt;#flickr_www {display:block; padding:0 10px 0 10px !important; font: 11px Arial, Helvetica, Sans serif !important; color:#3993ff !important;}&lt;br /&gt;#flickr_badge_uber_wrapper a:hover,&lt;br /&gt;#flickr_badge_uber_wrapper a:link,&lt;br /&gt;#flickr_badge_uber_wrapper a:active,&lt;br /&gt;#flickr_badge_uber_wrapper a:visited {text-decoration:none !important; background:inherit !important;color:#3993ff;}&lt;br /&gt;#flickr_badge_wrapper {}&lt;br /&gt;#flickr_badge_source {padding:0 !important; font: 11px Arial, Helvetica, Sans serif !important; color:#666666 !important;}&lt;br /&gt;&lt;/style&gt;&lt;br /&gt;&lt;table id="flickr_badge_uber_wrapper" cellspacing="10" cellpadding="0" border="0"&gt;&lt;br /&gt;&lt;tbody&gt;&lt;tr&gt;&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;&lt;script src="http://www.flickr.com/badge_code_v2.gne?count=5&amp;display=random&amp;amp;size=m&amp;layout=h&amp;amp;source=user_set&amp;user=96258413%40N00&amp;amp;set=72157594339328245&amp;amp;context=in%2Fset-72157594339328245%2F" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8899946-116153077657516747?l=vikramkamath.blogspot.com'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vikramkamath.blogspot.com/feeds/116153077657516747/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=8899946&amp;postID=116153077657516747&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8899946/posts/default/116153077657516747'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8899946/posts/default/116153077657516747'/><link rel='alternate' type='text/html' href='http://vikramkamath.blogspot.com/2006/10/diwali-2006.html' title='Diwali 2006'/><author><name>Vikram Kamath</name><uri>http://www.blogger.com/profile/07152967554788112625</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='01447205670695153879'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8899946.post-114522207457791854</id><published>2006-04-16T21:14:00.000Z</published><updated>2006-04-16T21:16:11.396Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='General'/><title type='text'>Please leave a message</title><content type='html'>I just happened to check the hit list on this blog. There are many people all over the world who are searching for "vikram kamath" and ending up on this blog. Its a good thing. But I would like to know who you are, just in case i know you. So, I request you to leave a message or a comment on the blog so that possible old friends can get back in touch again.&lt;br /&gt;&lt;br /&gt;Cheers and thanks.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8899946-114522207457791854?l=vikramkamath.blogspot.com'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vikramkamath.blogspot.com/feeds/114522207457791854/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=8899946&amp;postID=114522207457791854&amp;isPopup=true' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8899946/posts/default/114522207457791854'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8899946/posts/default/114522207457791854'/><link rel='alternate' type='text/html' href='http://vikramkamath.blogspot.com/2006/04/please-leave-message.html' title='Please leave a message'/><author><name>Vikram Kamath</name><uri>http://www.blogger.com/profile/07152967554788112625</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='01447205670695153879'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8899946.post-114484773604867110</id><published>2006-04-12T13:15:00.000Z</published><updated>2006-04-12T13:22:16.703Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><title type='text'>Regular Expression for folder paths</title><content type='html'>I have been looking for a regular expression that allowed me to validate a folder path on a local machine or a shared directory path using UNC with server name or UNC with IP Address. I did find a regular expression on &lt;a href="http://regexlib.com/"&gt;RegExLib.com&lt;/a&gt;. But it didn't seem to be solving my purpose. So I went about modifying it. I ended up creating different one. Many of you may have done this already. But this was a small exercise on my part to get to build a regular expression. So here it is.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Regular Expression:&lt;/b&gt; &lt;span style="font-family:Courier New;color:#800000;"&gt;^((([a-zA-Z]:)(\\{2}[a-zA-Z]+)(\\{2}\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}))(?=(\\(\w[\w ]*)))(\\\w[\w ]*)*)$&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Matches:&lt;/b&gt; &lt;span style="color:#008000;"&gt;c:\folder one\folder2\folder 3 , &lt;/span&gt;&lt;span style="color:#008000;"&gt;\\remoteMachine\folder1&lt;/span&gt;, &lt;span style="color:#008000;"&gt;\\1.22.33.444\folder 1\folder2&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;b&gt;Non Matches&lt;/b&gt;: &lt;span style="color:#ff0000;"&gt;c:\\folder one c:folder 1, c:\folder 1\\folder 2, \remoteMachine\folder 1, \\remoteMachine\\folder 1, \\remoteMachine\folder 1\\folder2, \\1.22.33.444\\folder 1, \\1.22.33.444\folder 1\\folder2&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Hope this helps anyone who needs to use it.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8899946-114484773604867110?l=vikramkamath.blogspot.com'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vikramkamath.blogspot.com/feeds/114484773604867110/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=8899946&amp;postID=114484773604867110&amp;isPopup=true' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8899946/posts/default/114484773604867110'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8899946/posts/default/114484773604867110'/><link rel='alternate' type='text/html' href='http://vikramkamath.blogspot.com/2006/04/regular-expression-for-folder-paths_12.html' title='Regular Expression for folder paths'/><author><name>Vikram Kamath</name><uri>http://www.blogger.com/profile/07152967554788112625</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='01447205670695153879'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8899946.post-114398969134117987</id><published>2006-04-02T14:54:00.000Z</published><updated>2006-04-02T14:54:51.406Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='General'/><title type='text'>Fiat gone, Nissan in!!</title><content type='html'>Got rid of the Fiat Brava last tuesday and bought this Nissan Primera Precision.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.flickr.com/photos/vikramkamath/121879394/"&gt;&lt;img src="http://static.flickr.com/38/121879394_df687d8448.jpg?v=0" title="" border="0"&gt;&lt;/a&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8899946-114398969134117987?l=vikramkamath.blogspot.com'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vikramkamath.blogspot.com/feeds/114398969134117987/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=8899946&amp;postID=114398969134117987&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8899946/posts/default/114398969134117987'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8899946/posts/default/114398969134117987'/><link rel='alternate' type='text/html' href='http://vikramkamath.blogspot.com/2006/04/fiat-gone-nissan-in.html' title='Fiat gone, Nissan in!!'/><author><name>Vikram Kamath</name><uri>http://www.blogger.com/profile/07152967554788112625</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='01447205670695153879'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8899946.post-114192485365159843</id><published>2006-03-09T17:20:00.000Z</published><updated>2006-03-09T17:20:53.716Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='Fun'/><title type='text'>Jim's farewell party pictures</title><content type='html'>Here are some of  the pictures from &lt;a href="http://www.jamessnape.me.uk/blog/default.aspx"&gt;Jim's&lt;/a&gt; farewell party at Basingstoke last week. It was all a great time. Don't miss the &lt;a href="http://www.microsoft.com/xbox/"&gt;XBOX&lt;/a&gt; and Jim picture.&lt;br /&gt;&lt;!-- Start of Flickr Badge --&gt;&lt;br /&gt;&lt;style type="text/css"&gt;&lt;br /&gt;#flickr_badge_source_txt {padding:0; font: 11px Arial, Helvetica, Sans serif; color:#666666;}&lt;br /&gt;#flickr_badge_icon {display:block !important; margin:0 !important; border: 1px solid rgb(0, 0, 0) !important;}&lt;br /&gt;#flickr_icon_td {padding:0 5px 0 0 !important;}&lt;br /&gt;.flickr_badge_image {text-align:center !important;}&lt;br /&gt;.flickr_badge_image img {border: 1px solid black !important;}&lt;br /&gt;#flickr_www {display:block; padding:0 10px 0 10px !important; font: 11px Arial, Helvetica, Sans serif !important; color:#3993ff !important;}&lt;br /&gt;#flickr_badge_uber_wrapper a:hover,&lt;br /&gt;#flickr_badge_uber_wrapper a:link,&lt;br /&gt;#flickr_badge_uber_wrapper a:active,&lt;br /&gt;#flickr_badge_uber_wrapper a:visited {text-decoration:none !important; background:inherit !important;color:#3993ff;}&lt;br /&gt;#flickr_badge_wrapper {}&lt;br /&gt;#flickr_badge_source {padding:0 !important; font: 11px Arial, Helvetica, Sans serif !important; color:#666666 !important;}&lt;br /&gt;&lt;/style&gt;&lt;br /&gt;&lt;table cellpadding="0" cellspacing="10" border="0" id="flickr_badge_wrapper"&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;script type="text/javascript" src="http://www.flickr.com/badge_code_v2.gne?count=5&amp;display=random&amp;size=t&amp;layout=h&amp;source=user_tag&amp;user=96258413%40N00&amp;tag=Jims"&gt;&lt;/script&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;/table&gt;&lt;br /&gt;&lt;!-- End of Flickr Badge --&gt;&lt;br /&gt;&lt;br /&gt;All the very best &lt;a href="http://www.jamessnape.me.uk/blog/default.aspx"&gt;Jim&lt;/a&gt;. All of us at &lt;a href="http://www.exony.com"&gt;Exony&lt;/a&gt; will miss you.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8899946-114192485365159843?l=vikramkamath.blogspot.com'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vikramkamath.blogspot.com/feeds/114192485365159843/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=8899946&amp;postID=114192485365159843&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8899946/posts/default/114192485365159843'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8899946/posts/default/114192485365159843'/><link rel='alternate' type='text/html' href='http://vikramkamath.blogspot.com/2006/03/jims-farewell-party-pictures.html' title='Jim&apos;s farewell party pictures'/><author><name>Vikram Kamath</name><uri>http://www.blogger.com/profile/07152967554788112625</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='01447205670695153879'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8899946.post-113752753768343120</id><published>2006-01-17T19:52:00.000Z</published><updated>2006-01-17T19:52:17.740Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='Fun'/><title type='text'>What is your Ego Rating?</title><content type='html'>Check your ego points at &lt;a href="http://www.egosurf.org/" target="_blank"&gt;&lt;b&gt;egoSurf&lt;/b&gt;&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Here are my points. Still a long way to go.&lt;br /&gt;&lt;br /&gt;&lt;table&gt; &lt;tr&gt;&lt;td&gt;&lt;img src="http://static.flickr.com/39/87908854_adb1691318.jpg?v=0" align="center" title="Ego Points on a .co.uk" border="0"&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td&gt;&lt;img src="http://static.flickr.com/38/87908853_e3bc277a80.jpg?v=0" title="Ego Points on a .com" border="0"&gt;&lt;/td&gt;&lt;/tr&gt; &lt;/table&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://multidimensional.me.uk/" target="_blank"&gt;Koan&lt;/a&gt; is ranked number 8 on &lt;a href="http://www.egosurf.org/" target="_blank"&gt;egoSurf&lt;/a&gt;. Great going &lt;a href="http://multidimensional.me.uk/" target="_blank"&gt;Koan&lt;/a&gt;!!!!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8899946-113752753768343120?l=vikramkamath.blogspot.com'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vikramkamath.blogspot.com/feeds/113752753768343120/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=8899946&amp;postID=113752753768343120&amp;isPopup=true' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8899946/posts/default/113752753768343120'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8899946/posts/default/113752753768343120'/><link rel='alternate' type='text/html' href='http://vikramkamath.blogspot.com/2006/01/what-is-your-ego-rating.html' title='What is your Ego Rating?'/><author><name>Vikram Kamath</name><uri>http://www.blogger.com/profile/07152967554788112625</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='01447205670695153879'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8899946.post-113658275190485937</id><published>2006-01-06T21:25:00.000Z</published><updated>2006-01-06T21:25:51.946Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='General'/><title type='text'>Will previewSEEK supersede Google?</title><content type='html'>There is a new competitor for the amazing &lt;a href="http://www.google.co.uk/" target="_blank"&gt;Google&lt;/a&gt; on the internet . Its called the &lt;a href="http://beta.previewseek.com/" target="_blank"&gt;previewSEEK&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;The company, based in the UK, claims that their search engine will supersede &lt;a href="http://www.google.co.uk/" target="_blank"&gt;Google&lt;/a&gt; because of their patent algorithms in &lt;a href="http://en.wikipedia.org/wiki/Artificial_intelligence" target="_blank"&gt;artificial intelligence&lt;/a&gt;, Bayesian statistical data mining, &lt;a href="http://en.wikipedia.org/wiki/Word_sense_disambiguation" target="_blank"&gt;word-sense disambiguation&lt;/a&gt;, cognitive visualization theory, heterogeneous database querying technologies, and &lt;a href="http://en.wikipedia.org/wiki/Behavioral_psychology" target="_blank"&gt;behavioral psychology&lt;/a&gt;. Click &lt;a href="http://beta.previewseek.com/?mdc=y&amp;vid=l2138366226I1136453908&amp;twin=n&amp;con=y&amp;where=&amp;sttname=_company_info" target="_blank"&gt;here&lt;/a&gt; to find out what more they have to say.&lt;br /&gt;&lt;br /&gt;I tried it. It looks cool. But for now I would still rely on &lt;a href="http://www.google.co.uk/" target="_blank"&gt;Google&lt;/a&gt; for my searches, whilst I test and compare results with &lt;a href="http://beta.previewseek.com/" target="_blank"&gt;previewSEEK&lt;/a&gt;. I am not sure about the future. &lt;br /&gt;&lt;br /&gt;I still can't figure out why would anyone try and compete with &lt;a href="http://www.google.co.uk/" target="_blank"&gt;Google&lt;/a&gt;?&lt;br /&gt;&lt;br /&gt;Another small beta for &lt;a href="http://www.jamessnape.me.uk/blog/default.aspx" target="_blank"&gt;James&lt;/a&gt; to play with I reckon.&lt;br /&gt;&lt;br /&gt;There is more. There is &lt;a href="http://clusty.com/" target="_blank"&gt;Clusty&lt;/a&gt; as well.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8899946-113658275190485937?l=vikramkamath.blogspot.com'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vikramkamath.blogspot.com/feeds/113658275190485937/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=8899946&amp;postID=113658275190485937&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8899946/posts/default/113658275190485937'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8899946/posts/default/113658275190485937'/><link rel='alternate' type='text/html' href='http://vikramkamath.blogspot.com/2006/01/will-previewseek-supersede-google.html' title='Will previewSEEK supersede Google?'/><author><name>Vikram Kamath</name><uri>http://www.blogger.com/profile/07152967554788112625</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='01447205670695153879'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8899946.post-113648446982779890</id><published>2006-01-05T18:07:00.000Z</published><updated>2006-01-05T18:07:49.863Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='Exony'/><title type='text'>Exony opens U.S. operations in the Hub</title><content type='html'>&lt;a href="http://www.exony.com" target="_blank"&gt;Exony&lt;/a&gt; is going global now. Here are some news about Exony going global.&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;i&gt;&lt;b&gt;&lt;font color="#FC4E03"&gt;UK IP Communications Software Expert Launches North American Operation&lt;/font&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;03.01.2006&lt;br /&gt;&lt;br /&gt;Exony sees massive opportunity in growing market&lt;br /&gt;&lt;br /&gt;Leading UK IP communications software solutions provider, Exony, has established its North American operational HQ in Boston, Massachusetts. Exony Inc will bring the expertise of the company&amp;rsquo;s leading contact centre and customer interaction technology to the US and Canadian markets, where several leading players have already been working with its products.&lt;br /&gt;&lt;br /&gt;Exony specialises in communications software solutions for contact centres and its UK customers include Cable &amp; Wireless, Energis and the UK&amp;rsquo;s leading TV auction channel, sit-up.&lt;br /&gt;&lt;br /&gt;The group chose Boston as the headquarters for its North American operation as the area provides a ready pool of highly skilled resource, strong infrastructure, a technology heritage and is conveniently located for both existing partners and potential customers.&lt;br /&gt;&lt;br /&gt;&amp;#8220;We see a great opportunity in the US and Canada for Exony&amp;rsquo;s products and services capabilities,&amp;#8221; said Ian Ashby, CEO of Exony. &amp;#8220;It&amp;rsquo;s a very sizeable market, including many potential end-user and service provider customers in the sectors in which we specialise &amp;#8211; financial services, retail, service industries and government.  Initial feedback from North American customers has been extremely positive.  We see this as a very significant opportunity for Exony to continue its rapid growth.&amp;#8221;&lt;br /&gt;&lt;br /&gt;Exony Inc will be launched with an initial Sales and Services team working with new accounts and supporting existing customers. Ashby continued; &amp;#8220;The effective management of customer interactions is becoming a critical component of all organisations.  We believe that North American organisations will need to invest in order to keep ahead of their competitors in the area of customer service provision. This is where Exony comes in, and this is why I see such an opportunity for the company to make a significant impact on the North American market.&amp;#8221;&lt;br /&gt;&lt;/i&gt;&lt;/blockquote&gt;&lt;br /&gt;For more information visit us at &lt;a href="http://www.exony.com" target="_blank"&gt;Exony&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Continuing with the news, the following &lt;a href="http://www.masshightech.com/displayarticledetail.asp?art_ID=70693" target="_blank"&gt;article&lt;/a&gt; was published in &lt;a href="http://www.masshightech.com/" target="_blank"&gt;Mass High Tech - The Journal of New England Technology&lt;/a&gt;:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;i&gt;&lt;b&gt;Exony opens U.S. operations in the Hub&lt;br /&gt;&lt;/b&gt;  &lt;br /&gt;01/04/2006 15:08 PM  &lt;br /&gt;&lt;br /&gt;U.K.-based communications software consultant Exony said it has established a North American headquarters in Boston.&lt;br /&gt;&lt;br /&gt;Exony specializes in software for sectors such as finance, service, retail and governments. Customers include telecommunications company Energis. &lt;br /&gt;&lt;br /&gt;Officials said they chose Boston as the headquarters for its North American operation because the area provides an existing pool of highly skilled workers, a strong infrastructure and a technology heritage. Also, Boston is near both existing partners and potential customers.&lt;br /&gt;&lt;br /&gt;Company Chief Executive Ian Ashby said both the United States and Canada present the company with a chance for rapid growth.&lt;br /&gt;&lt;br /&gt;Exony Inc. will be launched with a sales and services team working with new accounts and supporting existing customers, officials said.  &lt;/i&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Keep watching.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8899946-113648446982779890?l=vikramkamath.blogspot.com'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vikramkamath.blogspot.com/feeds/113648446982779890/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=8899946&amp;postID=113648446982779890&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8899946/posts/default/113648446982779890'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8899946/posts/default/113648446982779890'/><link rel='alternate' type='text/html' href='http://vikramkamath.blogspot.com/2006/01/exony-opens-us-operations-in-hub.html' title='Exony opens U.S. operations in the Hub'/><author><name>Vikram Kamath</name><uri>http://www.blogger.com/profile/07152967554788112625</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='01447205670695153879'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8899946.post-113602432846166155</id><published>2005-12-31T10:18:00.000Z</published><updated>2005-12-31T10:18:48.490Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='General'/><title type='text'>Happy New Year</title><content type='html'>Wishing all you readers a very Happy and a Prosperous New Year.&lt;br /&gt;&lt;br /&gt;Best wishes for the New Year to all at &lt;a href="http://www.exony.com" target="_blank"&gt;&lt;b&gt;Exony&lt;/b&gt;&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Last, but not the least special wishes for a prosperous new year to the people I know who have an online presence, &lt;b&gt;&lt;a href="http://www.irishafrican.com" target="_blank"&gt;Bradley&lt;/a&gt;,  &lt;a href="http://ezzat.elbarbary.org/blog/" target="_blank"&gt;Ezz&lt;/a&gt;, &lt;a href="http://gvkamath.blogspot.com/" target="_blank"&gt;Gautham&lt;/a&gt;, &lt;a href="http://www.jamessnape.me.uk/blog/default.aspx" target="_blank"&gt;James&lt;/a&gt;, &lt;a href="http://www.multidimensional.me.uk/" target="_blank"&gt;Koan&lt;/a&gt;, &lt;a href="http://www.ryanstevens.co.uk/default.aspx" target="_blank"&gt;Ryan&lt;/a&gt;, &lt;a href="http://www.scott-hill.co.uk/blog/" target="_blank"&gt;Scott&lt;/a&gt;, &lt;a href="http://bgtnut.blogspot.com/" target="_blank"&gt;Tj&lt;/a&gt;&lt;/b&gt; and &lt;b&gt;&lt;a href="http://tmedhurst.co.uk/blog/" target="_blank"&gt;Tom&lt;/a&gt;&lt;/b&gt;. Have a great New Year!!!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8899946-113602432846166155?l=vikramkamath.blogspot.com'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vikramkamath.blogspot.com/feeds/113602432846166155/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=8899946&amp;postID=113602432846166155&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8899946/posts/default/113602432846166155'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8899946/posts/default/113602432846166155'/><link rel='alternate' type='text/html' href='http://vikramkamath.blogspot.com/2005/12/happy-new-year.html' title='Happy New Year'/><author><name>Vikram Kamath</name><uri>http://www.blogger.com/profile/07152967554788112625</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='01447205670695153879'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8899946.post-113406664703711780</id><published>2005-12-08T18:24:00.000Z</published><updated>2005-12-08T18:30:47.046Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='General'/><title type='text'>My First Car!!!</title><content type='html'>&lt;a href="http://photos1.blogger.com/blogger/1996/626/1600/Brava.0.jpg"&gt;&lt;img style="FLOAT: right; MARGIN: 0px 0px 10px 10px; CURSOR: hand" alt="" src="http://photos1.blogger.com/blogger/1996/626/320/Brava.1.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Finally I get to drive my own car and here it is. As you can see its a &lt;a href="http://en.wikipedia.org/wiki/Fiat_Bravo/Brava"&gt;Fiat Brava 1.4 SX&lt;/a&gt;. Drives well and is low on my insurance.&lt;br /&gt;&lt;br /&gt;Great feeling over all (So far so good)&lt;br /&gt;&lt;br /&gt;Cheers!!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8899946-113406664703711780?l=vikramkamath.blogspot.com'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vikramkamath.blogspot.com/feeds/113406664703711780/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=8899946&amp;postID=113406664703711780&amp;isPopup=true' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8899946/posts/default/113406664703711780'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8899946/posts/default/113406664703711780'/><link rel='alternate' type='text/html' href='http://vikramkamath.blogspot.com/2005/12/my-first-car.html' title='My First Car!!!'/><author><name>Vikram Kamath</name><uri>http://www.blogger.com/profile/07152967554788112625</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='01447205670695153879'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8899946.post-113172866244507876</id><published>2005-11-11T17:04:00.000Z</published><updated>2005-11-11T21:25:17.083Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='SQL Server'/><title type='text'>Backup Log Failing: SQL Server 2000</title><content type='html'>We are in the process of upgrading a database schema from one version to a later version. In order to do that we had to take a backup of the database that was under &lt;a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/replsql/repltypes_7syn.asp" target="_blank"&gt;Transactional Replication&lt;/a&gt; and restore it on a different system to do the upgrade. We did the backup and the restore without any problems. The next step was to modify the schema and data in the database to bring it up to the new version. When we started executing our upgrade scripts we realized that the transaction log was growing rapidly and was eating up a large amount of disc space. At this point anyone would say that we should truncate the log and we are alright. I did the same. I issued the following command so as to truncate the log and make some space.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:Courier New,Helvetica,sans-serif;color:#800000;"&gt;BACKUP LOG DatabaseName WITH NO_LOG&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;When I executed the command SQL Server came up with the message&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:Courier New,Helvetica,sans-serif;color:#800000;"&gt;The log was not truncated because records at the beginning of the log are pending replication. Ensure the Log Reader Agent is running or use sp_repldone to mark transactions as distributed.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This started a wave of questions in my mind. Why is the database still behaving as if it was under replication? Is there any way to truncate the log file? Does the BOL (Books Online) have any clues? After much efforts to find a solution, I ended up posting it on the Microsoft SQL Server Replication &lt;a href="http://msdn.microsoft.com/newsgroups/default.aspx?dg=microsoft.public.sqlserver.replication" target="_blank"&gt;Newsgroup&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;As a reply to my query, I was asked to issue the following statement before I truncated the log&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:Courier New,Helvetica,sans-serif;color:#800000;"&gt;EXEC sp_repldone @xactid = NULL, @xact_segno = NULL, @numtrans = 0, @time = 0, @reset = 1&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;But, when I executed this statement SQL Server came up with another error:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:Courier New,Helvetica,sans-serif;"&gt;&lt;span style="color:#ff0000;"&gt;Server: Msg 18757, Level 16, State 1, Procedure sp_repldone, Line 1 &lt;/span&gt;&lt;br /&gt;The database is not published.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I was finally asked to try one more thing. I was surprised to see that this solution did work. So here it is:&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;br /&gt;&lt;li&gt;Publish the database in Transactional Replication. &lt;/li&gt;&lt;br /&gt;&lt;li&gt;Issue the following command:&lt;br /&gt;&lt;span style="font-family:Courier New,Helvetica,sans-serif;color:#800000;"&gt;EXEC sp_repldone @xactid = NULL, @xact_segno = NULL, @numtrans = 0, @time = 0, @reset = 1&lt;/span&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Truncate the log using the following command:&lt;br /&gt;&lt;span style="font-family:Courier New,Helvetica,sans-serif;color:#800000;"&gt;BACKUP LOG DatabaseName WITH NO_LOG&lt;/span&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Drop the publication.&lt;/li&gt;&lt;br /&gt;&lt;/ol&gt;&lt;br /&gt;This was so simple, but I could not imagine doing that. Thanks to &lt;a href="http://www.replicationanswers.com/Profile.asp" target="_blank"&gt;Paul Ibison&lt;/a&gt;. For more answers on replication visit &lt;a href="http://www.replicationanswers.com/Default.asp" target="_blank"&gt;http://www.replicationanswers.com/Default.asp&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Thanks Paul.&lt;br /&gt;&lt;br /&gt;Cheers!!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8899946-113172866244507876?l=vikramkamath.blogspot.com'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vikramkamath.blogspot.com/feeds/113172866244507876/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=8899946&amp;postID=113172866244507876&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8899946/posts/default/113172866244507876'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8899946/posts/default/113172866244507876'/><link rel='alternate' type='text/html' href='http://vikramkamath.blogspot.com/2005/11/backup-log-failing-sql-server-2000.html' title='Backup Log Failing: SQL Server 2000'/><author><name>Vikram Kamath</name><uri>http://www.blogger.com/profile/07152967554788112625</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='01447205670695153879'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8899946.post-113157087640799912</id><published>2005-11-09T21:14:00.000Z</published><updated>2005-11-09T21:14:36.443Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='General'/><title type='text'>Passed Driving Test</title><content type='html'>I am finally a fully qualified driver for the roads in the UK. I passed my practical driving test today. The most important thing about it is that I passed it in one go. First attempt and I passed. This is something that I am very glad about.&lt;br /&gt;&lt;br /&gt;Next thing... Buying a car!!!!&lt;br /&gt;&lt;br /&gt;Cheers!!!&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8899946-113157087640799912?l=vikramkamath.blogspot.com'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vikramkamath.blogspot.com/feeds/113157087640799912/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=8899946&amp;postID=113157087640799912&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8899946/posts/default/113157087640799912'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8899946/posts/default/113157087640799912'/><link rel='alternate' type='text/html' href='http://vikramkamath.blogspot.com/2005/11/passed-driving-test.html' title='Passed Driving Test'/><author><name>Vikram Kamath</name><uri>http://www.blogger.com/profile/07152967554788112625</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='01447205670695153879'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8899946.post-113045246787570113</id><published>2005-10-27T22:34:00.000Z</published><updated>2005-10-27T22:34:27.903Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='General'/><title type='text'>Happy Birthday Blog</title><content type='html'>As the title suggests, its been one year since I started blogging. Thank you all readers.&lt;br /&gt;&lt;br /&gt;After a late start to the day, due to train delays at Reading Station, a tiring football game after office and some more office work from home, I am exhausted now and need to fall on that bed in front of me.&lt;br /&gt;&lt;br /&gt;Cheers&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8899946-113045246787570113?l=vikramkamath.blogspot.com'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vikramkamath.blogspot.com/feeds/113045246787570113/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=8899946&amp;postID=113045246787570113&amp;isPopup=true' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8899946/posts/default/113045246787570113'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8899946/posts/default/113045246787570113'/><link rel='alternate' type='text/html' href='http://vikramkamath.blogspot.com/2005/10/happy-birthday-blog.html' title='Happy Birthday Blog'/><author><name>Vikram Kamath</name><uri>http://www.blogger.com/profile/07152967554788112625</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='01447205670695153879'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8899946.post-112871456960756405</id><published>2005-10-07T19:49:00.000Z</published><updated>2005-10-07T19:49:29.610Z</updated><title type='text'>New Entry</title><content type='html'>There is a new entry to the list of people I know. Its &lt;a href="http://tmedhurst.co.uk/blog/" target="_blank"&gt;&lt;b&gt;Tom Medhurst&lt;/b&gt;&lt;/a&gt;!!! Welcome Tom to my list. :-P Enjoy!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8899946-112871456960756405?l=vikramkamath.blogspot.com'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vikramkamath.blogspot.com/feeds/112871456960756405/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=8899946&amp;postID=112871456960756405&amp;isPopup=true' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8899946/posts/default/112871456960756405'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8899946/posts/default/112871456960756405'/><link rel='alternate' type='text/html' href='http://vikramkamath.blogspot.com/2005/10/new-entry.html' title='New Entry'/><author><name>Vikram Kamath</name><uri>http://www.blogger.com/profile/07152967554788112625</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='01447205670695153879'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8899946.post-112869184859354881</id><published>2005-10-07T13:30:00.000Z</published><updated>2005-10-07T13:30:48.613Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='SQL Server'/><title type='text'>Microsoft© SQL Server 2000 Replication Bug</title><content type='html'>About three weeks back I came across a problem with Microsoft&amp;copy; SQL Server 2000 replication. This problem was specifically found in the Transactional replication. The details of SQL Server 2000 Replication is out of scope in this post and can be found on the &lt;a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/replsql/repltypes_627i.asp" target="_blank"&gt;Microsoft website&lt;/a&gt;. &lt;br /&gt;&lt;br /&gt;Since this problem turned out to be a bug in SQL Server 2000 (SQL2K), I thought it would be worthwhile to blog about it so that any of you readers may benefit out of it. Before starting off with with the details I assume that you readers have knowledge of SQL2K &lt;a href="http://msdn.microsoft.com/library/en-us/replsql/repltypes_754j.asp" target="_blank"&gt;Transactional replication&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;About three weeks back I was given the task to set up replication for one of our clients, since the existing set up had broken down due to a server crash. It was the subscriber server that had crashed. We had tried to build up replication as normal, but it seemed to failing during the Snapshot initialisation of data at the subscriber. This was because, the system kept running out of disc space when the snapshot files for a particular Publication were being copied on to the disk as the publisher database was way too large for the snapshot (initialisation) process. As a result, we had to come up with another solution. Suggestions were made to have additional disks or to create separate Publications for the huge tables and so one. But one of my colleagues (who does not have a web presence yet) suggested the option using a back up of the database, restoring it on to the subscriber and setting up the replication by allowing the Subscription NOT to initialize the data on the subscriber. So, out of the three it was decided to use the third option, the backup. I was given the task to create scripts for the same.&lt;br /&gt;&lt;br /&gt;So, I started on with a test dataset to make life easier. Before jumping into the task, I thought I would do some &lt;a href="http://www.google.co.uk" target="_blank"&gt;Google&lt;/a&gt; search on the same and to my luck I found this article from Microsoft&amp;copy; that said &lt;a href="http://support.microsoft.com/default.aspx/kb/320499/EN-US" target="_blank"&gt;&lt;i&gt;"HOW TO: Manually Synchronize Replication Subscriptions by Using Backup or Restore"&lt;/i&gt;&lt;/a&gt;. I went through this article and realized this was exactly what I wanted to do. To add to that I did not know about the scripts that needed to be generated manually on the Publisher database and applied on to the Subscriber database. So this article was very helpful in the sense that I may have run into other problems if I had missed this article. For example I did not know that we had to use the backup of a "Published" database and not just any backup, or the creation of scripts etc..&lt;br /&gt;&lt;br /&gt;So, I started off by following exactly what the article said. &lt;br /&gt;&lt;br /&gt;I &lt;a href="http://msdn.microsoft.com/library/en-us/replsql/replimpl_9jeb.asp" target="_blank"&gt;Published&lt;/a&gt; my database first. Then I took a full back up of the published database and restored it on the subscriber server. Then I created my &lt;a href="http://msdn.microsoft.com/library/en-us/replsql/replimpl_5a7n.asp" target="_blank"&gt;Subscriptions&lt;/a&gt; where I selected not to deliver the data and schema. I then changed the &lt;a href="http://msdn.microsoft.com/library/en-us/replsql/replmon_8n04.asp" target="_blank"&gt;Distribution Agents&lt;/a&gt; schedule to run once. I used option of &lt;a href="http://msdn.microsoft.com/library/en-us/replsql/reploptions_6hk7.asp" target="_blank"&gt;Queued Updating&lt;/a&gt; Subscriber.&lt;br /&gt;&lt;br /&gt;Once this was done, I ran &lt;font face="Courier new" color="#800000"&gt;sp_scriptpublicationcustomprocs&lt;/font&gt; for each of my publications on the Publisher database and executed the generated scripts on to the Subscriber database. Since I had a Queued Updating subscriber, I also ran &lt;font face="Courier New" color="#800000"&gt;sp_script_synctran_commands&lt;/font&gt; for each of my publication on the Publisher database and executed the generated code on to the Subscriber database successfully. I did run the Distribution Agents once (before applying the scripts) to create the table &lt;font face="Courier New" color="#800000"&gt;MSsubscription_agents&lt;/font&gt;. As the last step I changed the Distribution Agent properties to run continuously by adding &lt;b&gt;-Continuos&lt;/b&gt; to the command line.&lt;br /&gt;&lt;br /&gt;It went very smoothly and the transactional replication was set on our test machines using the backup of a Published database. As a test, I changed the data in a particular column in a table on the publisher. The result, it got replicated as expected. Since we had used Queued Updating subscriber, I had to test a data change on the Subscriber database to see whether it got queued by the Queue Reader and updated on the Publisher database. So, I changed the data in particular table on the Subscriber database. This time the result was not as expected. My &lt;a href="http://msdn.microsoft.com/library/en-us/replsql/replmon_8whf.asp" target="_blank"&gt;Queue Reader&lt;/a&gt; failed with an error as follows:&lt;br /&gt;&lt;br /&gt;&lt;font face="Courier New" color="#800000"&gt;&lt;b&gt;Server: &lt;i&gt;PublisherServerName&lt;/i&gt;, Database &lt;i&gt;MyDatabaseName&lt;/i&gt;: ODBC Error:Could not find stored procedure ''upd.sp_MSsync_upd_&lt;i&gt;MyArticleName&lt;/i&gt;_1''.&lt;br /&gt;&lt;/b&gt;&lt;/font&gt;&lt;br /&gt;As the error suggests the Queue Reader was trying to execute the stored procedure &lt;font face="Courier New" color="#800000"&gt;sp_MSsync_upd_&lt;i&gt;MyArticleName&lt;/i&gt;_1&lt;/font&gt; on the Publisher database (which did existed in the database) with a wrong user &lt;b&gt;&lt;i&gt;"upd"&lt;/i&gt;&lt;/b&gt;. I opened every possible stored procedure and trigger that to part in that update statement but failed to understand why the Queue Reader was trying to execute the stored procedure in the context of a non existed user "upd".&lt;br /&gt;&lt;br /&gt;I then set up replication as normal, i.e. not taking the back up of the published database. Whilst pushing the subscriptions, I selected the option to initialise the data and schema on the subscriber. After setting up the replication, I did the same data modification tests and everything went on fine, without any errors with the Queue reader.&lt;br /&gt;&lt;br /&gt;This particular problem was happening only when subscriptions were created with the option not to initialize data at the subscriber.&lt;br /&gt;&lt;br /&gt;After much trial and analysis, we decided to put this problem up to Microsoft&amp;copy;. And after two weeks of continuous interaction with Microsoft support team and their extensive tests and debugging, they realised that the Queue Reader version was being set according to what they said to a PRE SP3 version and was the reason why the stored procedure was being executed in the context of the user "upd". This version information is calculated using the data in the &lt;font face="Courier New" color="#800000"&gt;queue_id&lt;/font&gt; in the table &lt;font face="Courier New" color="#800000"&gt;MSsubscription_agents&lt;/font&gt;. The Pre SP3 value in the table for the column was &lt;b&gt;&lt;i&gt;"mssqlqueue"&lt;/i&gt;&lt;/b&gt; and Microsoft had changed it to &lt;b&gt;&lt;i&gt;"mssqlqueueev2"&lt;/i&gt;&lt;/b&gt; in their Service Pack 4 for SQL Server 2000. So, they finally accepted it as their bug and gave a work around until they fix it in their subsequent Service Pack if any. &lt;br /&gt;&lt;br /&gt;The work around is as follows:&lt;br /&gt;&lt;br /&gt;Once you have set up the replication using the backup and restore method described in the &lt;a href="http://support.microsoft.com/default.aspx/kb/320499/EN-US" title="HOW TO: Manually Synchronize Replication Subscriptions by Using Backup or Restore" target="_blank"&gt;article&lt;/a&gt; you would need to do the following:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;1. Stop the Queue Reader and the Distribution Agents&lt;/blockquote&gt;&lt;br /&gt;&lt;blockquote&gt;2. Execute the following piece of SQL on &lt;i&gt;SQL Query Analyzer&amp;copy;&lt;/i&gt; on the Subscriber database:&lt;br /&gt;&lt;br /&gt;&lt;font face="Courier New" color="#800000"&gt;sp_configure 'allow update',1&lt;br /&gt;Go&lt;br /&gt;reconfigure with override&lt;br /&gt;Go&lt;br /&gt;update dbo.MSsubscription_agents set queue_id = 'mssqlqueuev2' where queue_id = 'mssqlqueue' &lt;br /&gt;Go&lt;br /&gt;sp_configure 'allow update',0&lt;br /&gt;Go&lt;br /&gt;reconfigure with override&lt;br /&gt;Go&lt;/font&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;blockquote&gt;3. Start the Queue Reader and the Distribution Agents.&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Simple!! isn't it? But it took two weeks for Microsoft&amp;copy; support team to come out with it. &lt;br /&gt;&lt;br /&gt;At the end it was indeed a great exercise for me to go little more in depth into SQL Server 2000 Transactional replication.&lt;br /&gt;&lt;br /&gt;More later!!!!&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8899946-112869184859354881?l=vikramkamath.blogspot.com'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vikramkamath.blogspot.com/feeds/112869184859354881/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=8899946&amp;postID=112869184859354881&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8899946/posts/default/112869184859354881'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8899946/posts/default/112869184859354881'/><link rel='alternate' type='text/html' href='http://vikramkamath.blogspot.com/2005/10/microsoft-sql-server-2000-replication.html' title='Microsoft&amp;copy; SQL Server 2000 Replication Bug'/><author><name>Vikram Kamath</name><uri>http://www.blogger.com/profile/07152967554788112625</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='01447205670695153879'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8899946.post-112602383455914585</id><published>2005-09-06T16:23:00.000Z</published><updated>2005-09-06T16:23:54.586Z</updated><title type='text'>Katrina V/S Mumbai</title><content type='html'>&lt;font face="Tahoma,Arial,Helvetica,sans-serif"&gt;Today Ezz came up to me and said that I haven't been blogging lately and that he needed something to read. So this is a post for Ezz. Happy reading Ezz. I never new Ezz also had a web presence. So, I thought I have to add him in my &lt;i&gt;"People I Know"&lt;/i&gt; list. And so did. Any of you readers who want to know about flying (an airplane) or Physics, &lt;a href="http://ezzat.elbarbary.net/blog/" target="_blank"&gt;Ezzat&lt;/a&gt; can help you out. Am I right Ezz????? &lt;br /&gt;&lt;br /&gt;&lt;a href="http://ezzat.elbarbary.net/blog/" target="_blank"&gt;Ezzat &lt;/a&gt;blogged about the recent &lt;a href="http://en.wikipedia.org/wiki/Hurricane_Katrina" target="_blank"&gt;Hurricane Katrina&lt;/a&gt; disaster in New Orleans in his post &lt;a href="http://ezzat.elbarbary.net/blog/index.php?op=ViewArticle&amp;articleId=10&amp;blogId=1" target="_blank"&gt;Some thoughts on current events&lt;/a&gt;. He mentions the bad planning of the US government in tackling the disaster. I came across a forwarded email from my brother, &lt;a href="http://gvkamath.blogspot.com/" target="_blank"&gt;Gautham&lt;/a&gt;, which compared Katrina and the &lt;a href="http://en.wikipedia.org/wiki/2005_Maharashtra_floods" target="_blank"&gt;Mumbai Rains&lt;/a&gt; on the 27th of July 2005. Here is what it said:&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;font color="#000080"&gt;&lt;font face="Verdana,Arial,Helvetica,sans-serif"&gt;Inches of rain in New Orleans due to Hurricane Katrina... 18&lt;br /&gt;Inches of rain in Mumbai (July 27th).... 37.1&lt;br /&gt;&lt;br /&gt;Population of New Orleans... 484,674&lt;br /&gt;Population of Mumbai....  12,622,500&lt;br /&gt;&lt;br /&gt;Deaths in New Orleans within 48 hours of Katrina...100 &lt;br /&gt;Deaths in Mumbai within 48hours of rain..  37&lt;br /&gt;&lt;br /&gt;Number of people to be evacuated in New Orleans...ENTIRE CITY&lt;br /&gt;Number of people evacuated in Mumbai...10,000&lt;br /&gt;&lt;br /&gt;Cases of shooting and violence in New Orleans...Countless&lt;br /&gt;Cases of shooting and violence in Mumbai.. NONE &lt;br /&gt;&lt;br /&gt;Time taken for US army to reach New Orleans...48hours&lt;br /&gt;Time taken for Indian army and navy to reach Mumbai...12hours&lt;br /&gt;&lt;br /&gt;Status 48hours later... New Orleans still waiting for relief, army and electricity &lt;br /&gt;Status 48hours later... Mumbai is back on its feet and is business is as usual&lt;br /&gt;&lt;br /&gt;USA...World's most developed (and powerful if they say so) nation&lt;br /&gt;India...JUST A DEVELOPING NATION&lt;/font&gt;&lt;/font&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;font face="Tahoma,Arial,Helvetica,sans-serif"&gt;It is indeed a bad case of planning by the government in the USA. What went wrong?&lt;/font&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8899946-112602383455914585?l=vikramkamath.blogspot.com'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vikramkamath.blogspot.com/feeds/112602383455914585/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=8899946&amp;postID=112602383455914585&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8899946/posts/default/112602383455914585'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8899946/posts/default/112602383455914585'/><link rel='alternate' type='text/html' href='http://vikramkamath.blogspot.com/2005/09/katrina-vs-mumbai.html' title='Katrina V/S Mumbai'/><author><name>Vikram Kamath</name><uri>http://www.blogger.com/profile/07152967554788112625</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='01447205670695153879'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8899946.post-112482185371423106</id><published>2005-08-23T18:30:00.000Z</published><updated>2005-08-23T18:30:53.730Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='General'/><title type='text'>Another session of Poker</title><content type='html'>&lt;font face="Tahoma"&gt;Another session of poker, another session to loose. I did not last long today. I managed just one good hand and a few bluffing rounds that did not materialise.&lt;/font&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8899946-112482185371423106?l=vikramkamath.blogspot.com'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vikramkamath.blogspot.com/feeds/112482185371423106/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=8899946&amp;postID=112482185371423106&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8899946/posts/default/112482185371423106'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8899946/posts/default/112482185371423106'/><link rel='alternate' type='text/html' href='http://vikramkamath.blogspot.com/2005/08/another-session-of-poker.html' title='Another session of Poker'/><author><name>Vikram Kamath</name><uri>http://www.blogger.com/profile/07152967554788112625</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='01447205670695153879'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8899946.post-112429737342337250</id><published>2005-08-17T16:49:00.000Z</published><updated>2005-08-17T16:49:33.460Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='General'/><title type='text'>Passed My Driving Test</title><content type='html'>&lt;font face="Tahoma,Arial,Helvetica,sans-serif"&gt;I finally managed to give a start towards driving on the roads of UK. I passed my driving theory test on Monday conducted by the &lt;a href="http://www.dsa.gov.uk/" target="_blank"&gt;DSA&lt;/a&gt;. It was interesting, although I did not enjoy the wicked hazard perception test. &lt;br /&gt;&lt;br /&gt;I managed to score full in the multiple choice, and 57 in the hazard perception. A decent result I reckon.&lt;br /&gt;&lt;br /&gt;Next step is to take 10 hours of driving lessons starting a week Wednesday. Once I am through, it will be time for the Practical Test.&lt;br /&gt;&lt;br /&gt;No sign of my car yet!!!:-)&lt;/font&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8899946-112429737342337250?l=vikramkamath.blogspot.com'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vikramkamath.blogspot.com/feeds/112429737342337250/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=8899946&amp;postID=112429737342337250&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8899946/posts/default/112429737342337250'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8899946/posts/default/112429737342337250'/><link rel='alternate' type='text/html' href='http://vikramkamath.blogspot.com/2005/08/passed-my-driving-test.html' title='Passed My Driving Test'/><author><name>Vikram Kamath</name><uri>http://www.blogger.com/profile/07152967554788112625</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='01447205670695153879'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8899946.post-112137358970681473</id><published>2005-07-14T20:39:00.000Z</published><updated>2005-07-14T20:39:49.750Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='General'/><title type='text'>New house No Internet No Television and I am seeing a doctor tomorrow!!</title><content type='html'>&lt;font face="Verdana,Arial,Helvetica,sans-serif"&gt;I moved into a new home (on rent of course) in the beginning. Since then I have been trying to sort out a lot of things for the house like some furniture, a microwave etc. The last two things that are left is the internet and the Television. How frustrating it can be when you come back home in the evening and there is not internet or television. It sometimes is frustrating (at least to me!!!). Even If I get the television, which I will be this weekend, I am not allowed to have sky because my landlord doesn't want any holes to be drilled through the walls of his house. Frustrating, because It means I cannot watch any Indian channels. No &lt;i&gt;&lt;b&gt;National Reporter&lt;/b&gt;&lt;/i&gt;, no &lt;i&gt;&lt;b&gt;Kahani Ghar Ghar Ki&lt;/b&gt;i&lt;/i&gt;. But I reckon I should have had all this sorted out before deciding to take the house on rent.&lt;br&gt;&lt;br /&gt;&lt;br /&gt;Even for the internet I will have to rely on the  telephone line. I have got the telephone line now. But I need to call them and ask them to disconnect the ADSL thing on the line before I can subscribe to any of the Internet providers. I have not found time to that also. Hope to get things sorted out by this weekend.&lt;br /&gt;&lt;br /&gt;The next thing that is kind of worrying me is my skin problem. I am currently having an attack of &lt;i&gt;eczema&lt;/i&gt;. Its all over my skin on my limbs. Its in one of its worst stage since I have had it about 10 years now. Doctors say it cant be cured but can be prevented. Prevention is better that cure ha!. I have already had large dosage of Antibiotics, steroids and anti allergic in all these years most of which I spent in India. I will be seeing a doctor tomorrow for the same for the first time since I have been in the UK. I hope all goes well as I don't want to surprise him with my so called negligence. &lt;br /&gt;&lt;br /&gt;So wish me luck!!&lt;/font&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8899946-112137358970681473?l=vikramkamath.blogspot.com'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vikramkamath.blogspot.com/feeds/112137358970681473/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=8899946&amp;postID=112137358970681473&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8899946/posts/default/112137358970681473'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8899946/posts/default/112137358970681473'/><link rel='alternate' type='text/html' href='http://vikramkamath.blogspot.com/2005/07/new-house-no-internet-no-television.html' title='New house No Internet No Television and I am seeing a doctor tomorrow!!'/><author><name>Vikram Kamath</name><uri>http://www.blogger.com/profile/07152967554788112625</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='01447205670695153879'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8899946.post-112016523592143045</id><published>2005-06-30T21:00:00.000Z</published><updated>2005-06-30T21:00:35.940Z</updated><title type='text'>New Look and Feel</title><content type='html'>&lt;p&gt;I finally managed to find time and energy to get a new look and feel to this blog. I managed to actually play with HTML and style sheets after ages to get something better. I tried a couple of times earlier this week to sit with HTML and style sheets of my previous skin and try to make it better. But I lost my patience scrolling up and down the code and finally gave it up each time. This time I felt a little wiser by choosing a very simple skin and it did not take much time for me to fine tune it.&lt;br&gt;&lt;br /&gt;The previous skin was kind of good when I started the blog. It was after my last post that I realised it did not solve the purpose. And this time I tried and make it as simple as possible. At least I like it.&lt;br&gt;&lt;br /&gt;I have got to get going now. I am in the process of moving into a new home. I will be moving on Saturday and the whole house is in a big mess with cartons and bags and what not all over. Need to sort out and get packing now. More blogging later!!&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8899946-112016523592143045?l=vikramkamath.blogspot.com'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vikramkamath.blogspot.com/feeds/112016523592143045/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=8899946&amp;postID=112016523592143045&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8899946/posts/default/112016523592143045'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8899946/posts/default/112016523592143045'/><link rel='alternate' type='text/html' href='http://vikramkamath.blogspot.com/2005/06/new-look-and-feel.html' title='New Look and Feel'/><author><name>Vikram Kamath</name><uri>http://www.blogger.com/profile/07152967554788112625</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='01447205670695153879'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8899946.post-111930743031758167</id><published>2005-06-20T22:43:00.000Z</published><updated>2005-06-20T22:43:50.323Z</updated><title type='text'></title><content type='html'>&lt;a href='http://photos1.blogger.com/img/141/2247/640/BrokenLink.jpg'&gt;&lt;img border='0' style='border:1px solid #000000; margin:2px' src='http://photos1.blogger.com/img/141/2247/320/BrokenLink.jpg'&gt;&lt;/a&gt;&lt;br /&gt;Figure 2 (After deleting ChildGroup to ParentGroup1 link) &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8899946-111930743031758167?l=vikramkamath.blogspot.com'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vikramkamath.blogspot.com/feeds/111930743031758167/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=8899946&amp;postID=111930743031758167&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8899946/posts/default/111930743031758167'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8899946/posts/default/111930743031758167'/><link rel='alternate' type='text/html' href='http://vikramkamath.blogspot.com/2005/06/figure-2-after-deleting-childgroup-to.html' title=''/><author><name>Vikram Kamath</name><uri>http://www.blogger.com/profile/07152967554788112625</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='01447205670695153879'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8899946.post-111930737031305642</id><published>2005-06-20T22:42:00.000Z</published><updated>2005-06-20T22:42:50.320Z</updated><title type='text'></title><content type='html'>&lt;a href='http://photos1.blogger.com/img/141/2247/640/Relationships.jpg'&gt;&lt;img border='0' style='border:1px solid #000000; margin:2px' src='http://photos1.blogger.com/img/141/2247/320/Relationships.jpg'&gt;&lt;/a&gt;&lt;br /&gt;Figure 1 (Test Case)&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8899946-111930737031305642?l=vikramkamath.blogspot.com'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vikramkamath.blogspot.com/feeds/111930737031305642/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=8899946&amp;postID=111930737031305642&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8899946/posts/default/111930737031305642'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8899946/posts/default/111930737031305642'/><link rel='alternate' type='text/html' href='http://vikramkamath.blogspot.com/2005/06/figure-1-test-case.html' title=''/><author><name>Vikram Kamath</name><uri>http://www.blogger.com/profile/07152967554788112625</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='01447205670695153879'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8899946.post-111930692882076344</id><published>2005-06-20T21:40:00.000Z</published><updated>2005-06-20T22:48:19.340Z</updated><title type='text'>Deleting User/Group Hierarchies in SQL</title><content type='html'>Hello to all. I am back after a long break from blogging, or should I say I could not think of anything to blog about.&lt;br /&gt;&lt;br /&gt;But this time I have something good to blog about. I have never contemplated about blogging about technical stuffs. But this time it’s different. This particular post can be considered as my first technical post since I started blogging.&lt;br /&gt;&lt;br /&gt;This post will be meaningless if you have not read &lt;a href="http://www.jamessnape.me.uk/"&gt;&lt;span style="color:#333399;"&gt;&lt;strong&gt;James’s&lt;/strong&gt;&lt;/span&gt;&lt;/a&gt; post on &lt;a href="http://www.jamessnape.me.uk/UserGroupHierarchiesInSQL.aspx"&gt;&lt;span style="color:#333399;"&gt;&lt;strong&gt;User/Group Hierarchies in SQL&lt;/strong&gt;&lt;/span&gt;&lt;/a&gt;, where he mentioned how he managed to link children with their respective grand parents and great grand parent and so on and so forth, in a proper hierarchy. So before you read further here, I reckon you should check out what James achieved.&lt;br /&gt;………..&lt;br /&gt;………………&lt;br /&gt;……………………&lt;br /&gt;…………………………&lt;br /&gt;&lt;br /&gt;I would now assume that you are back after going through the &lt;a href="http://www.jamessnape.me.uk/UserGroupHierarchiesInSQL.aspx"&gt;&lt;span style="color:#333399;"&gt;&lt;strong&gt;User/Group Hierarchies in SQL posted&lt;/strong&gt;&lt;/span&gt;&lt;/a&gt; by &lt;a href="http://www.jamessnape.me.uk/"&gt;&lt;strong&gt;&lt;span style="color:#333399;"&gt;James&lt;/span&gt;&lt;/strong&gt;&lt;/a&gt;, and continue.&lt;br /&gt;&lt;br /&gt;I was given the task to do the reverse of what James had achieved i.e. when a parent child relation is removed; we need to remove the corresponding links up the hierarchy of the parent and down the hierarchy of the child. At first I thought I was simple. But as I started drawing sets of users and groups on paper and lines representing the memberships just as James did, I realised it was not a simple affair. I just got lost is the forest of trees.&lt;br /&gt;&lt;br /&gt;After spending an enormous amount of time scribbling on paper, typing queries on the laptop and swearing at myself after each failed approach, I came with this simple approach (yeah yeah!! It seems simple to me now) which I think is the solution. I am sure James would let me know if this is THE solution or there is a better one. I would not be surprised if there is one.&lt;br /&gt;&lt;br /&gt;I had to make some minor changes to the schema that James created by adding a column &lt;em&gt;CalculatedParentID&lt;/em&gt; in the &lt;em&gt;Members&lt;/em&gt; table, which specified the mediator between the parent and the child relation. I also added a column &lt;em&gt;MemberID&lt;/em&gt; which uniquely identified the rows in the table, just for the sake of simplicity. So the insert statement changed as under:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:78%;"&gt;declare @rowcount int &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:78%;"&gt;set @rowcount = 1 &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:78%;"&gt;while @rowcount &gt; 0 &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:78%;"&gt;begin &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:78%;"&gt;insert into dbo.Members (ParentID, ChildID, CalculatedParentID, Calculated)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:78%;"&gt;select distinct p.UserID, c.UserID, cm.ParentID, 1 &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:78%;"&gt;from dbo.Members pm &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:78%;"&gt;join dbo.Users p ON p.UserID = pm.ParentID &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:78%;"&gt;join dbo.Members cm ON cm.ParentID = pm.ChildID &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:78%;"&gt;join dbo.Users c ON c.UserID = cm.ChildID &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:78%;"&gt;where not exists &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:78%;"&gt;( &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:78%;"&gt;select * from dbo.Members &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:78%;"&gt;where ParentID = p.UserID &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:78%;"&gt;and ChildID = c.UserID &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:78%;"&gt;and CalculatedParentID = cm.ParentID &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:78%;"&gt;) &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:78%;"&gt;select @rowcount = @@rowcount &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:78%;"&gt;end&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="font-family:courier new;font-size:78%;"&gt;&lt;span style="font-family:georgia;font-size:100%;"&gt;As a test case I created the following parent child hierarchy as shown in the &lt;a href="http://photos1.blogger.com/img/141/2247/640/Relationships.jpg"&gt;Figure 1 (Test Case)&lt;/a&gt;using the above approach.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;The black hard lines indicate the direct relationships. And the dotted lines indicate the calculated links and colour coded accordingly with respect to the mediator in the relationship.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;The task was to delete all the relationships calculated relationships, when say for example, the link between ChildGroup and the ParentGroup1 is broken.&lt;/p&gt;&lt;p&gt;So the theoretical approach that I took was as under. This is what I said to myself when I broke the relationship:&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Case 1:&lt;/strong&gt; Give me all the calculated links where I am the child (&lt;strong&gt;&lt;em&gt;User1&lt;/em&gt;&lt;/strong&gt;) and check whether my CalculatedParent(s) (&lt;strong&gt;&lt;em&gt;ChildGroup&lt;/em&gt;&lt;/strong&gt;) are the Children of my parents in the calculated relationship (&lt;strong&gt;&lt;em&gt;ParentGroup1&lt;/em&gt;&lt;/strong&gt;). If there are no such relations then this link is invalid.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Case 2:&lt;/strong&gt; Give me all the calculated links where my (&lt;strong&gt;&lt;em&gt;ChidGroup&lt;/em&gt;&lt;/strong&gt;) parents in the calculated relation (&lt;strong&gt;&lt;em&gt;GrandParent1&lt;/em&gt;&lt;/strong&gt;) are the parents of my CalculatedParent(s) (&lt;strong&gt;&lt;em&gt;ParentGroup1&lt;/em&gt;&lt;/strong&gt;).&lt;/p&gt;&lt;p&gt;This may sound a little confusing, or I may not have expressed is correctly. My apologies if thats what has happened. But that’s what I said to myself and moved on. &lt;/p&gt;&lt;p&gt;So after extensive scribbling and typing code I came down to the following code.&lt;/p&gt;&lt;span style="font-family:courier new;font-size:78%;"&gt;DECLARE @rowcount AS INT,&lt;/span&gt;&lt;span style="font-family:Courier New;font-size:78%;"&gt;@error AS INT&lt;br /&gt;SET @rowcount = 1&lt;br /&gt;WHILE @rowcount &gt; 0&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;font-size:78%;"&gt;BEGIN &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;font-size:78%;"&gt;DELETE dbo.Members &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;font-size:78%;"&gt;WHERE MemberID IN &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;font-size:78%;"&gt;(&lt;br /&gt;SELECT c1.MemberID &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;font-size:78%;"&gt;FROM dbo.Members AS cm&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;font-size:78%;"&gt;JOIN (SELECT * FROM dbo.Members WHERE Calculated = 1) AS c1 ON cm.ChildID = c1.ChildID AND cm.ParentID = c1.CalculatedParentID&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;font-size:78%;"&gt;WHERE NOT EXISTS&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;font-size:78%;"&gt;(&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;font-size:78%;"&gt;SELECT * FROM dbo.Members AS s&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;font-size:78%;"&gt;WHERE s.ParentID = c1.ParentID&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;font-size:78%;"&gt;AND s.ChildID = cm.ParentID&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;font-size:78%;"&gt;)&lt;br /&gt;UNION&lt;br /&gt;SELECT c2.MemberID&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;font-size:78%;"&gt;FROM dbo.Members AS pm&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;font-size:78%;"&gt;JOIN (SELECT * FROM dbo.Members WHERE Calculated = 1) AS c2 ON pm.ParentID = c2.ParentID AND pm.ChildID = c2.CalculatedParentID &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;font-size:78%;"&gt;WHERE NOT EXISTS&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;font-size:78%;"&gt;(&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;font-size:78%;"&gt;SELECT * FROM dbo.Members AS s&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;font-size:78%;"&gt;WHERE s.ParentID = pm.ChildID&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;font-size:78%;"&gt;AND s.ChildID = c2.ChildID&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;font-size:78%;"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;font-size:78%;"&gt;)&lt;br /&gt;SET @rowcount = @@ROWCOUNT&lt;br /&gt;END&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;If you look at the delete statement in the code the first part of the union in the select is supposed to do what the Case 1 says. And the second part is supposed to do what Case 2 says.&lt;br /&gt;&lt;br /&gt;Finally, what the above code will do is illustrated in &lt;a href="http://photos1.blogger.com/img/141/2247/640/BrokenLink.jpg"&gt;Figure 2 (After deleting ChildGroup to ParentGroup1 link) &lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Once you delete the link between ChildGroup and ParentGroup1 (shown in red) and run the above code, it will, in the first iteration of the loop delete the links numbered 1 and 2. It will delete the links numbered 3 and 4 in its second iteration and will come out of the loop.&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8899946-111930692882076344?l=vikramkamath.blogspot.com'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vikramkamath.blogspot.com/feeds/111930692882076344/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=8899946&amp;postID=111930692882076344&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8899946/posts/default/111930692882076344'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8899946/posts/default/111930692882076344'/><link rel='alternate' type='text/html' href='http://vikramkamath.blogspot.com/2005/06/deleting-usergroup-hierarchies-in-sql.html' title='Deleting User/Group Hierarchies in SQL'/><author><name>Vikram Kamath</name><uri>http://www.blogger.com/profile/07152967554788112625</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='01447205670695153879'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8899946.post-111402946700112585</id><published>2005-04-20T20:23:00.000Z</published><updated>2005-04-20T20:37:47.003Z</updated><title type='text'>Poker Session</title><content type='html'>I just had a good round of poker with colleagues and I thought this should be another reason for me to continue my blog. I play &lt;a href="http://www.poker.com/"&gt;&lt;em&gt;&lt;strong&gt;poker&lt;/strong&gt;&lt;/em&gt; &lt;/a&gt;for the first time in my life. And tell you what!! I enjoyed every bit of it.&lt;br /&gt;&lt;br /&gt;I was quite reluctent initially to play, as I have never fancied playing cards or &lt;a href="http://www.uk.gambling.com//index.php"&gt;&lt;em&gt;&lt;strong&gt;gamble&lt;/strong&gt;&lt;/em&gt; &lt;/a&gt;anywhere. It may be because, I did not have the patience to sit in one place with a set of cards for hours and hours together as my friends did in college. Another reason may be (subconsciously) that I was a little afraid of a humiliating defeats in the game of cards that my friends had back in college.&lt;br /&gt;&lt;br /&gt;After the session, I thought I did the right thing to pool in. It was indeed a great session. Althought I tried hard to hang in there for as long as I could, but the odds were against me.&lt;br /&gt;&lt;br /&gt;Anyways, we did not play for real money. It was just a reason to socialize after work, once a month, which got kicked off today.&lt;br /&gt;&lt;br /&gt;I liked it and enjoyed it to the fullest. I hope to continue this enthusiasm for the game in future as well. So, all of those who never played poker, you can learn to play poker &lt;a href="http://www.learn-texas-holdem.com/"&gt;&lt;em&gt;&lt;strong&gt;here&lt;/strong&gt;&lt;/em&gt;&lt;/a&gt;, and even &lt;a href="http://www.pokertips.org/"&gt;&lt;em&gt;&lt;strong&gt;here&lt;/strong&gt;&lt;/em&gt;&lt;/a&gt;. Give it a Shot!!!!!!!!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8899946-111402946700112585?l=vikramkamath.blogspot.com'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vikramkamath.blogspot.com/feeds/111402946700112585/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=8899946&amp;postID=111402946700112585&amp;isPopup=true' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8899946/posts/default/111402946700112585'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8899946/posts/default/111402946700112585'/><link rel='alternate' type='text/html' href='http://vikramkamath.blogspot.com/2005/04/poker-session.html' title='Poker Session'/><author><name>Vikram Kamath</name><uri>http://www.blogger.com/profile/07152967554788112625</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='01447205670695153879'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>2</thr:total></entry></feed>