<?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-6407108</id><updated>2011-12-30T14:21:17.224+05:45</updated><title type='text'>Milan's Blog</title><subtitle type='html'>"Programming is fun"</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://milanl.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6407108/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://milanl.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>mILAN</name><uri>http://www.blogger.com/profile/18166736704399832422</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>62</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-6407108.post-7181156047271821957</id><published>2010-06-30T16:05:00.005+05:45</published><updated>2010-06-30T16:10:38.316+05:45</updated><title type='text'>Multicasting</title><content type='html'>From the old issue of PCQuest magazine on video streaming;
&lt;p&gt;
&lt;div&gt;&lt;i&gt;Using unicast, video contents can be communicated to a single machine on a network—a peer-to-peer communication. For such communication, you need to specify the exact IP address of the target machine.&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;i&gt;
&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;With broadcast, content is communicated to all the machines on the network. All machines receive the content even if they don’t intend to. Such content is delivered using broadcast address for a network. For example, the broadcast address for a 192.168.1.0 network is 192.168.1.255. &lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;
&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;For video streaming, neither unicast nor broadcast may be suitable. You may not want to stream video to only one machine. You may like more than one machine to receive the video stream so that more users can watch the video. If you opt for broadcast, you may end up wasting network bandwidth by streaming heavy content like video to all machines and hence to users who might not be interested in watching the video.&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;
&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;This is where Multicast comes to the rescue. In multicast, the server streams the content to a particular IP in the range of 224.0.0.0 to 239.255.255.255. This IP does not fall in the range of the prescribed IP addresses for computer networks. Hence, content delivered to this IP is not received by any machine on the network. Only when a machine connects to this IP, will it be able to retrieve the content and more than one machine can connect to a multicast IP simultaneously. &lt;/i&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;
&lt;/i&gt;&lt;/div&gt;
&lt;p&gt;
&lt;div&gt;Full article can be found &lt;a href="http://pcquest.ciol.com/content/linux/103040302.asp" target="_blank"&gt;here&lt;/a&gt;.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6407108-7181156047271821957?l=milanl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://milanl.blogspot.com/feeds/7181156047271821957/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6407108&amp;postID=7181156047271821957' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6407108/posts/default/7181156047271821957'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6407108/posts/default/7181156047271821957'/><link rel='alternate' type='text/html' href='http://milanl.blogspot.com/2010/06/multicasting.html' title='Multicasting'/><author><name>mILAN</name><uri>http://www.blogger.com/profile/18166736704399832422</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6407108.post-2948695500817505211</id><published>2010-05-27T14:29:00.008+05:45</published><updated>2010-05-27T15:41:56.761+05:45</updated><title type='text'>Letting Flex know about the date format</title><content type='html'>&lt;div&gt;When you need to pass the date other than in the US format in Flex application, you can use the following code;&lt;/div&gt;
&lt;p&gt;
&lt;/p&gt;&lt;div&gt;
&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;code&gt;
&lt;span style="color:#0033ff;"&gt;&lt;b&gt;import &lt;/b&gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;mx.controls.DateField; &lt;/span&gt;
&lt;/code&gt;&lt;p&gt;&lt;code&gt;
&lt;/code&gt;&lt;/p&gt;&lt;/div&gt;&lt;div&gt;&lt;code&gt;
&lt;span style="color:#6699cc;"&gt;&lt;b&gt;
&lt;/b&gt;&lt;/span&gt;&lt;/code&gt;&lt;/div&gt;&lt;div&gt;&lt;code&gt;&lt;span style="color:#6699cc;"&gt;&lt;b&gt;var &lt;/b&gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;d:Date = DateField.stringToDate&lt;/span&gt;&lt;span style="color:#000000;"&gt;(&lt;/span&gt;&lt;span style="color:#990000;"&gt;&lt;b&gt;"30-12-2007"&lt;/b&gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;,&lt;/span&gt;&lt;span style="color:#990000;"&gt;&lt;b&gt;"DD-MM-YYYY"&lt;/b&gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;)&lt;/span&gt;&lt;span style="color:#000000;"&gt;;&lt;/span&gt;
&lt;/code&gt;
&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;
&lt;/div&gt;
&lt;p&gt;
&lt;/p&gt;&lt;div&gt;Original &lt;a href="http://amthekkel.blogspot.com/2009/01/flex-converting-date-string-to-date.html" target="_blank"&gt;source&lt;/a&gt; of this entry.&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6407108-2948695500817505211?l=milanl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://milanl.blogspot.com/feeds/2948695500817505211/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6407108&amp;postID=2948695500817505211' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6407108/posts/default/2948695500817505211'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6407108/posts/default/2948695500817505211'/><link rel='alternate' type='text/html' href='http://milanl.blogspot.com/2010/05/letting-flex-know-about-date-format.html' title='Letting Flex know about the date format'/><author><name>mILAN</name><uri>http://www.blogger.com/profile/18166736704399832422</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6407108.post-9190875550981562842</id><published>2010-05-11T12:02:00.005+05:45</published><updated>2010-05-11T12:44:13.273+05:45</updated><title type='text'>How to checkout single file from SVN</title><content type='html'>I've been using SVN for a long time and I was in the habit of checking out the whole folder even if I needed a single file. This habit of mine was working well until I had to check out the folder with around 200 files with hundreds of megabytes of data. I then realized what I've been missing.

I tried to checkout single file but SVN wouldn't let me do that. From my perspective, it should be simple as checking out the folder, but it was not. There could be some reasonable explanation for this limitation but I needed to checkout the file and quickly finish my job. After spending few mins on the Internet, I found the solution and thought it would be wise to share it. So, here it goes.

&lt;ol&gt;&lt;li&gt;Right click on the folder in which you would like to check out the file and select 'SVN Checkout...' from the menu. &lt;/li&gt;&lt;li&gt;In the Checkout screen, in URL of repository text box, fill the URL to the folder in the repository from which you would like to checkout the file.&lt;/li&gt;&lt;li&gt;Select 'Only this item' from the drop down menu from 'Checkout Depth' in the same screen. Click 'OK' button. &lt;/li&gt;&lt;li&gt;You can now see SVN overlay icon on the folder. Also, you will notice that the folder is still empty. Let's check out the single file now. &lt;/li&gt;&lt;li&gt;Now, right click again on the same folder and select 'TortoiseSVN -&gt;  Repo-browser' from the menu.&lt;/li&gt;&lt;li&gt;Repository Browser will take you directly to the folder from which you would like to checkout the file and you can see the files on the right hand side of the screen.&lt;/li&gt;&lt;li&gt;Right click on the desire file and select 'Update item to revision' from the menu. Click 'OK' on the next screen. Voila, you have successfully checked out single file. &lt;/li&gt;&lt;li&gt;If you have some more files (but not all) to checkout, repeat the last step. &lt;/li&gt;&lt;/ol&gt;&lt;div&gt;
&lt;/div&gt;&lt;div&gt;Although it takes little time to check out a single or few files from the repository, I think it's worth doing this way rather than checking out the whole folder when the folder it huge in size. What do you think? &lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;div&gt;

&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6407108-9190875550981562842?l=milanl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://milanl.blogspot.com/feeds/9190875550981562842/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6407108&amp;postID=9190875550981562842' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6407108/posts/default/9190875550981562842'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6407108/posts/default/9190875550981562842'/><link rel='alternate' type='text/html' href='http://milanl.blogspot.com/2010/05/how-to-checkout-single-file-from-svn.html' title='How to checkout single file from SVN'/><author><name>mILAN</name><uri>http://www.blogger.com/profile/18166736704399832422</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6407108.post-1670725854286254364</id><published>2009-06-23T15:01:00.007+05:45</published><updated>2009-06-23T15:37:56.062+05:45</updated><title type='text'>Dynamic columns in datagrid in Adobe Flex</title><content type='html'>When we set the &lt;span style="font-style:italic;"&gt;dataprovider&lt;/span&gt; property of the datagrid, it automatically renders the columns with the default values. For instance, the column title is set as the node name if the dataprovider is &lt;span style="font-style:italic;"&gt;XMLListCollection&lt;/span&gt;. But we would like to have more control on each column so that we can set it's title, width, and other properties as per our need. For this, we need to create each column dynamically at the run time by taking a first record from the dataprovider. In my same project, as mentioned in the &lt;a href="http://milanl.blogspot.com/2009/06/delete-multiple-records-in-datagrid-in.html"&gt;last post&lt;/a&gt;, I was using XML output from PHP module to bind with the datagrid. However, this XML is also very dynamic in nature that it has variable numbers of nodes with variable node name based on the parameters selected. Depending on the output, I would also require to set some of the columns as read only when the grid is rendered. 

The overall idea here is to get the first child node of the XML and generate the array of an &lt;span style="font-weight:bold;"&gt;Objects&lt;span style="font-style:italic;"&gt;&lt;/span&gt;&lt;/span&gt; with the desired properties set. And then an array of &lt;span style="font-weight:bold;"&gt;DataGridColumn&lt;span style="font-style:italic;"&gt;&lt;/span&gt;&lt;/span&gt; objects is created and set the property as in the Object created in the first step. Below is the code sample;
&lt;p&gt;
&lt;table border="0" cellpadding="3" cellspacing="0"&gt;
   &lt;tr&gt;
   &lt;td nowrap="nowrap" valign="top" align="left"&gt;
    &lt;code&gt;
&lt;font color="#0033ff"&gt;&lt;b&gt;private&amp;nbsp;&lt;/b&gt;&lt;/font&gt;&lt;font color="#339966"&gt;&lt;b&gt;function&amp;nbsp;&lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;bindData&lt;/font&gt;&lt;font color="#000000"&gt;()&lt;/font&gt;&lt;font color="#000000"&gt;:&lt;/font&gt;&lt;font color="#0033ff"&gt;&lt;b&gt;void&lt;/b&gt;&lt;/font&gt;&lt;br/&gt;
&lt;font color="#000000"&gt;{&lt;/font&gt;&lt;br/&gt;
&lt;font color="#ffffff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="#000000"&gt;myGrid.dataProvider&amp;nbsp;=&amp;nbsp;xmlListCollection;&lt;/font&gt;&lt;br/&gt;
&lt;font color="#ffffff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="#000000"&gt;myGrid.columns&amp;nbsp;=&amp;nbsp;getColumns&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#000000"&gt;getColumnDef&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#000000"&gt;xmlListCollection&lt;/font&gt;&lt;font color="#000000"&gt;))&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;br/&gt;
&lt;font color="#000000"&gt;}&lt;/font&gt;&lt;br/&gt;
&lt;font color="#ffffff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;br/&gt;
&lt;font color="#009900"&gt;//get&amp;nbsp;the&amp;nbsp;first&amp;nbsp;item&amp;nbsp;from&amp;nbsp;the&amp;nbsp;XML&amp;nbsp;to&amp;nbsp;define&amp;nbsp;the&amp;nbsp;columns&lt;/font&gt;&lt;br/&gt;
&lt;font color="#0033ff"&gt;&lt;b&gt;private&amp;nbsp;&lt;/b&gt;&lt;/font&gt;&lt;font color="#339966"&gt;&lt;b&gt;function&amp;nbsp;&lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;getColumnDef&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#000000"&gt;xmlData:XMLListCollection&lt;/font&gt;&lt;font color="#000000"&gt;)&lt;/font&gt;&lt;font color="#000000"&gt;:Array&lt;/font&gt;&lt;br/&gt;
&lt;font color="#000000"&gt;{&lt;/font&gt;&lt;br/&gt;
&lt;font color="#ffffff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="#6699cc"&gt;&lt;b&gt;var&amp;nbsp;&lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;arrColDef:Array&amp;nbsp;=&amp;nbsp;&lt;/font&gt;&lt;font color="#0033ff"&gt;&lt;b&gt;new&amp;nbsp;&lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;Array&lt;/font&gt;&lt;font color="#000000"&gt;()&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;br/&gt;
&lt;font color="#ffffff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="#6699cc"&gt;&lt;b&gt;var&amp;nbsp;&lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;node:XML&amp;nbsp;=&amp;nbsp;xmlData&lt;/font&gt;&lt;font color="#000000"&gt;[&lt;/font&gt;&lt;font color="#000000"&gt;0&lt;/font&gt;&lt;font color="#000000"&gt;]&lt;/font&gt;&lt;font color="#000000"&gt;;&amp;nbsp;&lt;/font&gt;&lt;font color="#009900"&gt;//get&amp;nbsp;the&amp;nbsp;first&amp;nbsp;node&amp;nbsp;of&amp;nbsp;the&amp;nbsp;XMLListCollection&lt;/font&gt;&lt;br/&gt;
&lt;font color="#ffffff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="#6699cc"&gt;&lt;b&gt;var&amp;nbsp;&lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;childNodes:XMLList&amp;nbsp;=&amp;nbsp;node.children&lt;/font&gt;&lt;font color="#000000"&gt;()&lt;/font&gt;&lt;font color="#000000"&gt;;&amp;nbsp;&lt;/font&gt;&lt;font color="#009900"&gt;//get&amp;nbsp;its&amp;nbsp;child&amp;nbsp;nodes&amp;nbsp;as&amp;nbsp;an&amp;nbsp;XMLList&lt;/font&gt;&lt;br/&gt;
&lt;font color="#ffffff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="#6699cc"&gt;&lt;b&gt;var&amp;nbsp;&lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;objColDef:Object;&lt;/font&gt;&lt;br/&gt;
&lt;font color="#ffffff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;br/&gt;
&lt;font color="#ffffff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="#0033ff"&gt;&lt;b&gt;for&amp;nbsp;&lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;each&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#6699cc"&gt;&lt;b&gt;var&amp;nbsp;&lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;xmlColumn:XML&amp;nbsp;in&amp;nbsp;childNodes&lt;/font&gt;&lt;font color="#000000"&gt;)&amp;nbsp;&lt;/font&gt;&lt;font color="#009900"&gt;//loop&amp;nbsp;over&amp;nbsp;the&amp;nbsp;XMLList&lt;/font&gt;&lt;br/&gt;
&lt;font color="#ffffff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="#000000"&gt;{&lt;/font&gt;&lt;br/&gt;
&lt;font color="#ffffff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="#000000"&gt;objColDef&amp;nbsp;=&amp;nbsp;&lt;/font&gt;&lt;font color="#0033ff"&gt;&lt;b&gt;new&amp;nbsp;&lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;Object&lt;/font&gt;&lt;font color="#000000"&gt;()&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;br/&gt;
&lt;font color="#ffffff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="#000000"&gt;objColDef.dataField&amp;nbsp;=&amp;nbsp;xmlColumn.localName&lt;/font&gt;&lt;font color="#000000"&gt;()&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;br/&gt;
&lt;font color="#ffffff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;br/&gt;
&lt;font color="#ffffff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="#0033ff"&gt;&lt;b&gt;switch&lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#000000"&gt;objColDef.dataField&lt;/font&gt;&lt;font color="#000000"&gt;)&lt;/font&gt;&lt;br/&gt;
&lt;font color="#ffffff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="#000000"&gt;{&lt;/font&gt;&lt;br/&gt;
&lt;font color="#ffffff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="#0033ff"&gt;&lt;b&gt;case&amp;nbsp;&lt;/b&gt;&lt;/font&gt;&lt;font color="#990000"&gt;&lt;b&gt;&amp;#34;name&amp;#34;&lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;:&lt;/font&gt;&lt;br/&gt;
&lt;font color="#ffffff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="#000000"&gt;objColDef.headerText&amp;nbsp;=&amp;nbsp;&lt;/font&gt;&lt;font color="#990000"&gt;&lt;b&gt;&amp;#34;Full&amp;nbsp;Name&amp;#34;&lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;br/&gt;
&lt;font color="#ffffff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="#000000"&gt;objColDef.width&amp;nbsp;=&amp;nbsp;&lt;/font&gt;&lt;font color="#000000"&gt;120&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;br/&gt;
&lt;font color="#ffffff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="#000000"&gt;objColDef.editable&amp;nbsp;=&amp;nbsp;&lt;/font&gt;&lt;font color="#0033ff"&gt;&lt;b&gt;true&lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;br/&gt;
&lt;font color="#ffffff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="#0033ff"&gt;&lt;b&gt;break&lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;br/&gt;
&lt;font color="#ffffff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;br/&gt;
&lt;font color="#ffffff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="#0033ff"&gt;&lt;b&gt;case&amp;nbsp;&lt;/b&gt;&lt;/font&gt;&lt;font color="#990000"&gt;&lt;b&gt;&amp;#34;address&amp;#34;&lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;:&lt;/font&gt;&lt;br/&gt;
&lt;font color="#ffffff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="#000000"&gt;objColDef.headerText&amp;nbsp;=&amp;nbsp;&lt;/font&gt;&lt;font color="#990000"&gt;&lt;b&gt;&amp;#34;Permanent&amp;nbsp;Address&amp;#34;&lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;br/&gt;
&lt;font color="#ffffff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="#000000"&gt;objColDef.width&amp;nbsp;=&amp;nbsp;&lt;/font&gt;&lt;font color="#000000"&gt;120&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;br/&gt;
&lt;font color="#ffffff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="#000000"&gt;objColDef.editable&amp;nbsp;=&amp;nbsp;&lt;/font&gt;&lt;font color="#0033ff"&gt;&lt;b&gt;true&lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;br/&gt;
&lt;font color="#ffffff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="#0033ff"&gt;&lt;b&gt;break&lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;br/&gt;
&lt;font color="#ffffff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;br/&gt;
&lt;font color="#ffffff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="#0033ff"&gt;&lt;b&gt;case&amp;nbsp;&lt;/b&gt;&lt;/font&gt;&lt;font color="#990000"&gt;&lt;b&gt;&amp;#34;hour&amp;#34;&lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;:&lt;/font&gt;&lt;br/&gt;
&lt;font color="#ffffff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="#000000"&gt;objColDef.headerText&amp;nbsp;=&amp;nbsp;&lt;/font&gt;&lt;font color="#990000"&gt;&lt;b&gt;&amp;#34;Hour&amp;#34;&lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;br/&gt;
&lt;font color="#ffffff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="#000000"&gt;objColDef.width&amp;nbsp;=&amp;nbsp;&lt;/font&gt;&lt;font color="#000000"&gt;120&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;br/&gt;
&lt;font color="#ffffff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="#000000"&gt;objColDef.editable&amp;nbsp;=&amp;nbsp;&lt;/font&gt;&lt;font color="#0033ff"&gt;&lt;b&gt;false&lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;br/&gt;
&lt;font color="#ffffff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="#0033ff"&gt;&lt;b&gt;break&lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;br/&gt;
&lt;font color="#ffffff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;br/&gt;
&lt;font color="#ffffff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="#0033ff"&gt;&lt;b&gt;case&amp;nbsp;&lt;/b&gt;&lt;/font&gt;&lt;font color="#990000"&gt;&lt;b&gt;&amp;#34;min&amp;#34;&lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;:&lt;/font&gt;&lt;br/&gt;
&lt;font color="#ffffff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="#000000"&gt;objColDef.headerText&amp;nbsp;=&amp;nbsp;&lt;/font&gt;&lt;font color="#990000"&gt;&lt;b&gt;&amp;#34;Minute&amp;#34;&lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;br/&gt;
&lt;font color="#ffffff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="#000000"&gt;objColDef.width&amp;nbsp;=&amp;nbsp;&lt;/font&gt;&lt;font color="#000000"&gt;120&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;br/&gt;
&lt;font color="#ffffff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="#000000"&gt;objColDef.editable&amp;nbsp;=&amp;nbsp;&lt;/font&gt;&lt;font color="#0033ff"&gt;&lt;b&gt;false&lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;br/&gt;
&lt;font color="#ffffff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="#0033ff"&gt;&lt;b&gt;break&lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;br/&gt;
&lt;font color="#ffffff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;br/&gt;
&lt;font color="#ffffff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="#0033ff"&gt;&lt;b&gt;default&amp;nbsp;&lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;:&lt;/font&gt;&lt;br/&gt;
&lt;font color="#ffffff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="#000000"&gt;objColDef.width&amp;nbsp;=&amp;nbsp;&lt;/font&gt;&lt;font color="#000000"&gt;120&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;br/&gt;
&lt;font color="#ffffff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="#000000"&gt;objColDef.editable&amp;nbsp;=&amp;nbsp;&lt;/font&gt;&lt;font color="#0033ff"&gt;&lt;b&gt;true&lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;br/&gt;
&lt;font color="#ffffff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="#0033ff"&gt;&lt;b&gt;break&lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;br/&gt;
&lt;font color="#ffffff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="#000000"&gt;}&lt;/font&gt;&lt;br/&gt;
&lt;font color="#ffffff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;br/&gt;
&lt;font color="#ffffff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="#000000"&gt;arrColDef.push&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#000000"&gt;objColDef&lt;/font&gt;&lt;font color="#000000"&gt;)&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;br/&gt;
&lt;font color="#ffffff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="#000000"&gt;}&lt;/font&gt;&lt;br/&gt;
&lt;font color="#ffffff"&gt;&lt;/font&gt;&lt;br/&gt;
&lt;font color="#ffffff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="#0033ff"&gt;&lt;b&gt;return&amp;nbsp;&lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;arrColDef;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;br/&gt;
&lt;font color="#000000"&gt;}&lt;/font&gt;&lt;br/&gt;
&lt;font color="#ffffff"&gt;&lt;/font&gt;&lt;br/&gt;
&lt;font color="#009900"&gt;//Generate&amp;nbsp;the&amp;nbsp;actual&amp;nbsp;datagrid&amp;nbsp;columns&lt;/font&gt;&lt;br/&gt;
&lt;font color="#0033ff"&gt;&lt;b&gt;private&amp;nbsp;&lt;/b&gt;&lt;/font&gt;&lt;font color="#339966"&gt;&lt;b&gt;function&amp;nbsp;&lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;getColumns&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#000000"&gt;colDef:Array&lt;/font&gt;&lt;font color="#000000"&gt;)&lt;/font&gt;&lt;font color="#000000"&gt;:Array&lt;/font&gt;&lt;br/&gt;
&lt;font color="#000000"&gt;{&lt;/font&gt;&lt;br/&gt;
&lt;font color="#ffffff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="#6699cc"&gt;&lt;b&gt;var&amp;nbsp;&lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;dataGridColumn:DataGridColumn;&lt;/font&gt;&lt;br/&gt;
&lt;font color="#ffffff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="#6699cc"&gt;&lt;b&gt;var&amp;nbsp;&lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;arrColumns:Array&amp;nbsp;=&amp;nbsp;&lt;/font&gt;&lt;font color="#0033ff"&gt;&lt;b&gt;new&amp;nbsp;&lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;Array&lt;/font&gt;&lt;font color="#000000"&gt;()&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;br/&gt;
&lt;font color="#ffffff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;br/&gt;
&lt;font color="#ffffff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="#0033ff"&gt;&lt;b&gt;for&amp;nbsp;&lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;each&amp;nbsp;&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#6699cc"&gt;&lt;b&gt;var&amp;nbsp;&lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;objColDef:Object&amp;nbsp;in&amp;nbsp;colDef&lt;/font&gt;&lt;font color="#000000"&gt;)&lt;/font&gt;&lt;br/&gt;
&lt;font color="#ffffff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="#000000"&gt;{&lt;/font&gt;&lt;br/&gt;
&lt;font color="#ffffff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="#000000"&gt;dataGridColumn&amp;nbsp;=&amp;nbsp;&lt;/font&gt;&lt;font color="#0033ff"&gt;&lt;b&gt;new&amp;nbsp;&lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;DataGridColumn&lt;/font&gt;&lt;font color="#000000"&gt;()&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;br/&gt;
&lt;font color="#ffffff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="#000000"&gt;dataGridColumn.dataField&amp;nbsp;=&amp;nbsp;&amp;nbsp;objColDef.dataField;&lt;/font&gt;&lt;br/&gt;
&lt;font color="#ffffff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="#000000"&gt;dataGridColumn.headerText&amp;nbsp;=&amp;nbsp;objColDef.headerText;&lt;/font&gt;&lt;br/&gt;
&lt;font color="#ffffff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="#000000"&gt;dataGridColumn.editable&amp;nbsp;=&amp;nbsp;objColDef.editable;&lt;/font&gt;&lt;br/&gt;
&lt;font color="#ffffff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="#000000"&gt;dataGridColumn.width&amp;nbsp;=&amp;nbsp;&amp;nbsp;objColDef.width;&lt;/font&gt;&lt;br/&gt;
&lt;font color="#ffffff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;br/&gt;
&lt;font color="#ffffff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="#000000"&gt;arrColumns.push&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#000000"&gt;dataGridColumn&lt;/font&gt;&lt;font color="#000000"&gt;)&lt;/font&gt;&lt;font color="#000000"&gt;;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;br/&gt;
&lt;font color="#ffffff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="#000000"&gt;}&lt;/font&gt;&lt;br/&gt;
&lt;font color="#ffffff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;br/&gt;
&lt;font color="#ffffff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="#0033ff"&gt;&lt;b&gt;return&amp;nbsp;&lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;arrColumns;&lt;/font&gt;&lt;br/&gt;
&lt;font color="#000000"&gt;}&lt;/font&gt;&lt;/code&gt;
    
   &lt;/td&gt;
   &lt;/tr&gt;
&lt;/table&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6407108-1670725854286254364?l=milanl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://milanl.blogspot.com/feeds/1670725854286254364/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6407108&amp;postID=1670725854286254364' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6407108/posts/default/1670725854286254364'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6407108/posts/default/1670725854286254364'/><link rel='alternate' type='text/html' href='http://milanl.blogspot.com/2009/06/dynamic-columns-in-datagrid-in-flex.html' title='Dynamic columns in datagrid in Adobe Flex'/><author><name>mILAN</name><uri>http://www.blogger.com/profile/18166736704399832422</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6407108.post-2009165383142688684</id><published>2009-06-19T16:05:00.009+05:45</published><updated>2009-06-23T15:40:37.665+05:45</updated><title type='text'>Deleting multiple records in datagrid in Adobe Flex</title><content type='html'>Although it sound simple, I had a really hard time finding the solution to delete multiple records in datagrid in one of my projects. I was using &lt;span style="font-style:italic;"&gt;&lt;span style="font-weight:bold;"&gt;XMLListCollection&lt;/span&gt;&lt;span style="font-weight:bold;"&gt;&lt;/span&gt;&lt;/span&gt; as a dataprovider and a single record could be deleted with &lt;span style="font-style:italic;"&gt;&lt;span style="font-weight:bold;"&gt;removeItemAt(index)&lt;/span&gt;&lt;/span&gt; method. However, for the multiple selection, Flex stores the indices of the selected rows in an array. If I iterate through these indices and start removing item using the index, as soon as the first record is removed, XMLListCollection re-arrange itself and remaining items get the new index which is not valid against the existing indices in the array. Also, there is no way that we can find if the row is selected just by iterating through the collection of rows. The frustrating part was that Google was not able to provide any answer.

So, after spending few hours with couple of failed attempts, something suddenly came to my mind. What-if I start removing item from the bottom of the collection, instead from the top. This will not change the indices of existing items. This worked for items selected in an order. However, if I select items in the datagrid randomly, it fails. Flex pushes the indices of the items to an array as they are selected. That means the indices are not in order. So, there is a method &lt;span style="font-weight:bold;"&gt;&lt;span style="font-style:italic;"&gt;Array.sort()&lt;/span&gt;&lt;/span&gt; to sort an array. Also, this method accept &lt;span style="font-style:italic;"&gt;sortOption&lt;/span&gt; to consider the values in the array as numeric. Finally it worked. Below is the sample code;&lt;br&gt;&lt;br&gt;

&lt;div align="left" class="code"&gt;
&lt;table border="0" cellpadding="3" cellspacing="0"&gt;
   &lt;tr&gt;
   &lt;td nowrap="nowrap" valign="top" align="left"&gt;
    &lt;code&gt;
&lt;font color="#009900"&gt;//get&amp;nbsp;the&amp;nbsp;selected&amp;nbsp;indices&amp;nbsp;in&amp;nbsp;the&amp;nbsp;array&lt;/font&gt;&lt;br/&gt;
&lt;font color="#6699cc"&gt;&lt;b&gt;var&amp;nbsp;&lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;sIndices:Array&amp;nbsp;=&amp;nbsp;myGrid.selectedIndices;&amp;nbsp;&lt;/font&gt;&lt;br/&gt;
&lt;font color="#ffffff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;br/&gt;
&lt;font color="#009900"&gt;//since&amp;nbsp;the&amp;nbsp;indices&amp;nbsp;are&amp;nbsp;pushed&amp;nbsp;as&amp;nbsp;they&amp;nbsp;selected,&amp;nbsp;we&amp;nbsp;need&amp;nbsp;to&amp;nbsp;sort&amp;nbsp;them&amp;nbsp;in&amp;nbsp;ascending&amp;nbsp;order&lt;/font&gt;&lt;br/&gt;
&lt;font color="#000000"&gt;sIndices.sort&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#000000"&gt;Array.NUMERIC&lt;/font&gt;&lt;font color="#000000"&gt;)&lt;/font&gt;&lt;font color="#000000"&gt;;&amp;nbsp;&lt;/font&gt;&lt;br/&gt;
&lt;font color="#ffffff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;br/&gt;
&lt;font color="#009900"&gt;//get&amp;nbsp;the&amp;nbsp;highest&amp;nbsp;index&amp;nbsp;first&amp;nbsp;and&amp;nbsp;remove&amp;nbsp;the&amp;nbsp;item&lt;/font&gt;&lt;br/&gt;
&lt;font color="#009900"&gt;//&amp;nbsp;i.e.&amp;nbsp;start&amp;nbsp;removing&amp;nbsp;items&amp;nbsp;from&amp;nbsp;the&amp;nbsp;bottom&amp;nbsp;so&amp;nbsp;that&amp;nbsp;change&amp;nbsp;in&amp;nbsp;index&amp;nbsp;won't&amp;nbsp;give&amp;nbsp;any&amp;nbsp;problem&lt;/font&gt;&lt;br/&gt;
&lt;font color="#0033ff"&gt;&lt;b&gt;for&lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#6699cc"&gt;&lt;b&gt;var&amp;nbsp;&lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;index:int&amp;nbsp;=&amp;nbsp;sIndices.length-&lt;/font&gt;&lt;font color="#000000"&gt;1&lt;/font&gt;&lt;font color="#000000"&gt;;&amp;nbsp;index&amp;gt;=&lt;/font&gt;&lt;font color="#000000"&gt;0&lt;/font&gt;&lt;font color="#000000"&gt;;&amp;nbsp;index--&lt;/font&gt;&lt;font color="#000000"&gt;)&amp;nbsp;&lt;/font&gt;&lt;br/&gt;
&lt;font color="#ffffff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="#000000"&gt;xmlListCollection.removeItemAt&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#000000"&gt;sIndices&lt;/font&gt;&lt;font color="#000000"&gt;[&lt;/font&gt;&lt;font color="#000000"&gt;index&lt;/font&gt;&lt;font color="#000000"&gt;])&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;/code&gt;
    
   &lt;/td&gt;
   &lt;/tr&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;br&gt;&lt;br&gt;
What amazed me the most is that I didn't find a single discussion in any of the websites, forums, blogs about this. Is it only me who want to have this kind of feature in the datagrid or the solution was so simple that people easily implemented it? :-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6407108-2009165383142688684?l=milanl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://milanl.blogspot.com/feeds/2009165383142688684/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6407108&amp;postID=2009165383142688684' title='16 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6407108/posts/default/2009165383142688684'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6407108/posts/default/2009165383142688684'/><link rel='alternate' type='text/html' href='http://milanl.blogspot.com/2009/06/delete-multiple-records-in-datagrid-in.html' title='Deleting multiple records in datagrid in Adobe Flex'/><author><name>mILAN</name><uri>http://www.blogger.com/profile/18166736704399832422</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>16</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6407108.post-1955084387484276345</id><published>2008-10-14T16:05:00.004+05:45</published><updated>2008-10-14T16:22:26.402+05:45</updated><title type='text'>Excluding config file from version control</title><content type='html'>Every application has some kind of configuration file to load settings. For instance, ASP.NET applications make use of &lt;span style="font-weight:bold;"&gt;web.config&lt;span style="font-style:italic;"&gt;&lt;/span&gt;&lt;/span&gt; file to get the connection string for database operations. Similarly, desktop applications use &lt;span style="font-weight:bold;"&gt;INI&lt;/span&gt; file. While developing the application, each developer use configuration file as per their need. If the source is maintained in source control system, developers have to take extra care not to commit such configuration files. If somebody does it by mistake, everybody's file will be altered while updating from the source control. There is a simple way to avoid such situation.    

Don't put the configuration file under source control. Instead, put a template of the file, something like "&lt;span style="font-style:italic;"&gt;app.config.tmpl&lt;/span&gt;". Then, after the initial checkout, have the users do a normal OS copy of the template to the proper filename, like "&lt;span style="font-style:italic;"&gt;app.config&lt;/span&gt;" and have users customize the copy. The file is unversioned, so it will never be committed.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6407108-1955084387484276345?l=milanl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://milanl.blogspot.com/feeds/1955084387484276345/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6407108&amp;postID=1955084387484276345' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6407108/posts/default/1955084387484276345'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6407108/posts/default/1955084387484276345'/><link rel='alternate' type='text/html' href='http://milanl.blogspot.com/2008/10/excluding-config-file-from-version.html' title='Excluding config file from version control'/><author><name>mILAN</name><uri>http://www.blogger.com/profile/18166736704399832422</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6407108.post-7675533568868654153</id><published>2008-08-21T16:34:00.006+05:45</published><updated>2008-08-21T17:03:40.240+05:45</updated><title type='text'>Retrieve full name from Active Directory using C#</title><content type='html'>Once upon a time, I was given a task to build a simple attendance system to replace the attendance register in our office. Starting from sourceforge.net, I tried to find open source application to fit our requirement. After spending few hours in the Internet, I could not convinced myself with the applications that I came across. Then I suddenly realized that we are using Active Directory to log in to domain and also thought that if I could get the user detail from AD somehow, I can build a system which does not require any user login. Finally, I was able to find the code to get the full name of the current Windows user and build a small prototype for attendance system. 

The logic behind this application is to get the user detail from Active Directory and simply log attendance detail to another database. This will reduce the overhead of loggin in to the system as well as user administration part. Below is the code to get the full name of Windows user;

&lt;PRE&gt;&lt;span style="color: Blue; font-family: Courier New; font-size: 11px; background-color: White"&gt;using&lt;/span&gt; System.DirectoryServices;

&lt;span style="color: Blue; font-family: Courier New; font-size: 11px; background-color: White"&gt;public&lt;/span&gt; &lt;span style="color: Blue; font-family: Courier New; font-size: 11px; background-color: White"&gt;static&lt;/span&gt; &lt;span style="color: Blue; font-family: Courier New; font-size: 11px; background-color: White"&gt;string&lt;/span&gt; GetFullName(&lt;span style="color: Blue; font-family: Courier New; font-size: 11px; background-color: White"&gt;string&lt;/span&gt; strLogin)
    {
        &lt;span style="color: Blue; font-family: Courier New; font-size: 11px; background-color: White"&gt;string&lt;/span&gt; str &lt;span style="color: Red; font-family: Courier New; font-size: 11px; background-color: White"&gt;=&lt;/span&gt; &lt;span style="color: #666666; font-family: Courier New; font-size: 11px; background-color: #ededed"&gt;""&lt;/span&gt;;
        &lt;span style="color: Blue; font-family: Courier New; font-size: 11px; background-color: White"&gt;string&lt;/span&gt; strDomain;
        &lt;span style="color: Blue; font-family: Courier New; font-size: 11px; background-color: White"&gt;string&lt;/span&gt; strName;

        &lt;span style="color: Green; font-family: Courier New; font-size: 11px; background-color: White"&gt;// Parse the string to check if domain name is present.
&lt;/span&gt;        &lt;span style="color: Blue; font-family: Courier New; font-size: 11px; background-color: White"&gt;int&lt;/span&gt; idx &lt;span style="color: Red; font-family: Courier New; font-size: 11px; background-color: White"&gt;=&lt;/span&gt; strLogin.IndexOf('\\');
        &lt;span style="color: Blue; font-family: Courier New; font-size: 11px; background-color: White"&gt;if&lt;/span&gt; (idx == -1)
        {
            idx &lt;span style="color: Red; font-family: Courier New; font-size: 11px; background-color: White"&gt;=&lt;/span&gt; strLogin.IndexOf('@');
        }

        &lt;span style="color: Blue; font-family: Courier New; font-size: 11px; background-color: White"&gt;if&lt;/span&gt; (idx !&lt;span style="color: Red; font-family: Courier New; font-size: 11px; background-color: White"&gt;=&lt;/span&gt; -1)
        {
            strDomain &lt;span style="color: Red; font-family: Courier New; font-size: 11px; background-color: White"&gt;=&lt;/span&gt; strLogin.Substring(0, idx);
            strName &lt;span style="color: Red; font-family: Courier New; font-size: 11px; background-color: White"&gt;=&lt;/span&gt; strLogin.Substring(idx &lt;span style="color: Red; font-family: Courier New; font-size: 11px; background-color: White"&gt;+&lt;/span&gt; 1);
        }
        &lt;span style="color: Blue; font-family: Courier New; font-size: 11px; background-color: White"&gt;else&lt;/span&gt;
        {
            strDomain &lt;span style="color: Red; font-family: Courier New; font-size: 11px; background-color: White"&gt;=&lt;/span&gt; Environment.MachineName;
            strName &lt;span style="color: Red; font-family: Courier New; font-size: 11px; background-color: White"&gt;=&lt;/span&gt; strLogin;
        }

        DirectoryEntry obDirEntry &lt;span style="color: Red; font-family: Courier New; font-size: 11px; background-color: White"&gt;=&lt;/span&gt; &lt;span style="color: Blue; font-family: Courier New; font-size: 11px; background-color: White"&gt;null&lt;/span&gt;;
        &lt;span style="color: Blue; font-family: Courier New; font-size: 11px; background-color: White"&gt;try&lt;/span&gt;
        {
            obDirEntry &lt;span style="color: Red; font-family: Courier New; font-size: 11px; background-color: White"&gt;=&lt;/span&gt; &lt;span style="color: Blue; font-family: Courier New; font-size: 11px; background-color: White"&gt;new&lt;/span&gt; DirectoryEntry(&lt;span style="color: #666666; font-family: Courier New; font-size: 11px; background-color: #ededed"&gt;"WinNT://"&lt;/span&gt; &lt;span style="color: Red; font-family: Courier New; font-size: 11px; background-color: White"&gt;+&lt;/span&gt; strDomain &lt;span style="color: Red; font-family: Courier New; font-size: 11px; background-color: White"&gt;+&lt;/span&gt; &lt;span style="color: #666666; font-family: Courier New; font-size: 11px; background-color: #ededed"&gt;"/"&lt;/span&gt; &lt;span style="color: Red; font-family: Courier New; font-size: 11px; background-color: White"&gt;+&lt;/span&gt; strName);
            System.DirectoryServices.PropertyCollection coll &lt;span style="color: Red; font-family: Courier New; font-size: 11px; background-color: White"&gt;=&lt;/span&gt; obDirEntry.Properties;
            object obVal &lt;span style="color: Red; font-family: Courier New; font-size: 11px; background-color: White"&gt;=&lt;/span&gt; coll[&lt;span style="color: #666666; font-family: Courier New; font-size: 11px; background-color: #ededed"&gt;"FullName"&lt;/span&gt;].Value;
            str &lt;span style="color: Red; font-family: Courier New; font-size: 11px; background-color: White"&gt;=&lt;/span&gt; obVal.ToString();
        }
        &lt;span style="color: Blue; font-family: Courier New; font-size: 11px; background-color: White"&gt;catch&lt;/span&gt; (Exception ex)
        {
            str &lt;span style="color: Red; font-family: Courier New; font-size: 11px; background-color: White"&gt;=&lt;/span&gt; ex.Message;
        }
        &lt;span style="color: Blue; font-family: Courier New; font-size: 11px; background-color: White"&gt;return&lt;/span&gt; str;
    }&lt;/PRE&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6407108-7675533568868654153?l=milanl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://milanl.blogspot.com/feeds/7675533568868654153/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6407108&amp;postID=7675533568868654153' title='7 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6407108/posts/default/7675533568868654153'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6407108/posts/default/7675533568868654153'/><link rel='alternate' type='text/html' href='http://milanl.blogspot.com/2008/08/retrieve-full-name-from-active.html' title='Retrieve full name from Active Directory using C#'/><author><name>mILAN</name><uri>http://www.blogger.com/profile/18166736704399832422</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6407108.post-1236133182671562617</id><published>2008-04-30T18:54:00.005+05:45</published><updated>2008-04-30T19:27:53.666+05:45</updated><title type='text'>Some useful tools for Delphi developers</title><content type='html'>I was always fascinated by the tools that are available to .NET developers which help to increase the productivity, like unit testing framework (NUnit), documenation tool and automated build tool (NANT). So, I started looking for same for Delphi.

Starting with the documentation tool, I tried few applications but not so promising. Lastly I found &lt;strong&gt;&lt;a href="http://dephicodetodoc.sourceforge.net/index.html" target="_blank"&gt;DelphiCodeToDoc&lt;/a&gt;&lt;/strong&gt; and it worked well for me. Though there are few bugs, but the tool is great and it supports JavaDoc style documentation. Again, I found that the author of this application is offering a template for &lt;a href="http://www.gexperts.org/" target="_blank"&gt;&lt;strong&gt;GExperts&lt;/strong&gt;&lt;/a&gt;. Tried that and worked well.

Next target was unit testing framework. The only one framework I found was &lt;strong&gt;&lt;a href="http://dunit.sourceforge.net/" target="_blank"&gt;DUnit&lt;/a&gt;&lt;/strong&gt;. Also tried this tool and worked very well for me.

Finally, I started searching for automated build tool for Delphi application. The one I tried was &lt;a href="http://sourceforge.net/projects/want/" target="_blank"&gt;&lt;strong&gt;WANT&lt;/strong&gt;&lt;/a&gt;. Due to the poor documentation, I was forced to learn the whole building process from &lt;a href="http://ant.apache.org/" target="_blank"&gt;&lt;strong&gt;ANT&lt;/strong&gt;&lt;/a&gt; website and looking into WANT's own build script. In a few hours, I was able to write a script to build my first test application including unit test with DUnit. Super cool.

Somebody said "Sky is the limit". Very true. Since my last unit test used GUIRunner, I wanted to try something with console. Could not find a clue how to do that. Well, after going through the build script of WANT again and again, I noticed that we need to create a DLL version of test application. Tried it and worked well. I will try explain this process in detail in my next post.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6407108-1236133182671562617?l=milanl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://milanl.blogspot.com/feeds/1236133182671562617/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6407108&amp;postID=1236133182671562617' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6407108/posts/default/1236133182671562617'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6407108/posts/default/1236133182671562617'/><link rel='alternate' type='text/html' href='http://milanl.blogspot.com/2008/04/some-useful-tools-for-delphi-developers.html' title='Some useful tools for Delphi developers'/><author><name>mILAN</name><uri>http://www.blogger.com/profile/18166736704399832422</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6407108.post-2346341069296865991</id><published>2008-04-15T17:15:00.003+05:45</published><updated>2008-10-23T16:36:54.124+05:45</updated><title type='text'>Celebrating new year</title><content type='html'>Believe it or not, we are in the year 2065 here in Nepal. If you do not know, we have our own &lt;a href="http://en.wikipedia.org/wiki/Hindu_calendar" target="_blank"&gt;calendar.&lt;/a&gt;

I've been planning a vacation for new year for a long time. I wanted to go outside valley in last December but my son was sick that time. So, I did not want to miss our new year this time and made a plan. Our new year was on the 13th of April and we went to &lt;a href="http://www.godavariresort.com.np/" target="_blank"&gt;Godavari Village Resort&lt;/a&gt; to relax. Since we were going with the kid, I did not wanted to go far from the city. The resort is just 7 KM away and very peaceful. I can't explain how much I enjoyed with my family there. My wife and I decided to make a plan for such short trip for every new year (either in English or in Nepali year). Let's see how it goes.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6407108-2346341069296865991?l=milanl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://milanl.blogspot.com/feeds/2346341069296865991/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6407108&amp;postID=2346341069296865991' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6407108/posts/default/2346341069296865991'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6407108/posts/default/2346341069296865991'/><link rel='alternate' type='text/html' href='http://milanl.blogspot.com/2008/04/celebrating-new-year.html' title='Celebrating new year'/><author><name>mILAN</name><uri>http://www.blogger.com/profile/18166736704399832422</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6407108.post-5841319719993767899</id><published>2008-04-10T18:23:00.000+05:45</published><updated>2008-04-10T18:24:56.974+05:45</updated><title type='text'>Constitutional Assembly Election in Nepal</title><content type='html'>Today is the biggest day in the history of Nepal. Today, we are having an election for Constitutional Assembly for the first time. This election will select the group of people who will be responsible to write the new constitution of Nepal. Everybody is hoping for stable political situation and long lasting peace in the country after this election. Till now, everything is going well, except for few minor incidents in the remote part of the country. 

Also, I cast a vote today for the first time in my life. :-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6407108-5841319719993767899?l=milanl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://milanl.blogspot.com/feeds/5841319719993767899/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6407108&amp;postID=5841319719993767899' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6407108/posts/default/5841319719993767899'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6407108/posts/default/5841319719993767899'/><link rel='alternate' type='text/html' href='http://milanl.blogspot.com/2008/04/constitutional-assembly-election-in.html' title='Constitutional Assembly Election in Nepal'/><author><name>mILAN</name><uri>http://www.blogger.com/profile/18166736704399832422</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6407108.post-8383855670260356996</id><published>2008-04-08T08:51:00.003+05:45</published><updated>2008-04-08T09:13:17.593+05:45</updated><title type='text'>New Delphi Magazine</title><content type='html'>This is good news to all Delphi developers that there is a new magazine about Delphi, &lt;a href="http://www.blaisepascal.eu/" target="_blank"&gt;"Blaise Pascal"&lt;/a&gt;. The printed version costs around 40 euro per year. But you can get the download version for FREE. However, you need to pay for the code or program if you decide to go for free version.

I am taking this as a good news because I still remember closing down of Delphi magazine last year. I started thinking that nobody uses Delphi anymore but with this magazine (and other development), I already started seeing the light at the end of the tunnel.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6407108-8383855670260356996?l=milanl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://milanl.blogspot.com/feeds/8383855670260356996/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6407108&amp;postID=8383855670260356996' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6407108/posts/default/8383855670260356996'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6407108/posts/default/8383855670260356996'/><link rel='alternate' type='text/html' href='http://milanl.blogspot.com/2008/04/new-delphi-magazine.html' title='New Delphi Magazine'/><author><name>mILAN</name><uri>http://www.blogger.com/profile/18166736704399832422</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6407108.post-8539257763347417168</id><published>2008-04-02T16:04:00.007+05:45</published><updated>2008-04-08T09:35:50.615+05:45</updated><title type='text'>Back again</title><content type='html'>I don't believe that it's been almost 7 months since my last post here. Anyway, lot of things happened in 7 months of time. During this time, I was given more responsibilities in the office. I am now part of a team which is responsible for auditing CMMI implementation. Also, I joined &lt;a href="http://kusom.edu.np/" target="_blank"&gt;EMBA&lt;/a&gt; and my classes started from Feb 17th. We created a group in Google to share information regarding course materials and other stuffs. I am the manager of that group. After joining EMBA, I am feeling young again :-). I remember my collage day and enjoying a lot with new friends there. Most importantly, I now don't have time to watch TV or movies. I have to attend the classes on Saturdays. Although we also have classes on Sundays, it's only in the evening. Thank God.

I did not have enough time to spend on photography, so I decided to sell my &lt;a href="http://www.dpreview.com/reviews/specs/Fujifilm/fuji_finepixs9000z.asp" target="_blank"&gt;camera&lt;/a&gt;. I will probably save some money and go for dSLR in the near future. ;-)

Bought a &lt;a href="http://h10025.www1.hp.com/ewfrf/wc/product?lc=en&amp;amp;cc=us&amp;amp;lang=en&amp;amp;os=2093&amp;amp;dlc=en&amp;amp;product=3548227&amp;amp;" target="_blank"&gt;laptop&lt;/a&gt; recently. Now I don't have money for new camera. Damn!

These days I am totally into management business. Haven't had chance to look into technical things and feeling myself way to far from the latest development in technology.

The only thing I should be focusing now is 'Time Managment'. I sometime feel guilty for not giving enough time to my family. I hope Google will help me finding something from which I can learn to manage my time efficiently.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6407108-8539257763347417168?l=milanl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://milanl.blogspot.com/feeds/8539257763347417168/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6407108&amp;postID=8539257763347417168' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6407108/posts/default/8539257763347417168'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6407108/posts/default/8539257763347417168'/><link rel='alternate' type='text/html' href='http://milanl.blogspot.com/2008/04/back-again.html' title='Back again'/><author><name>mILAN</name><uri>http://www.blogger.com/profile/18166736704399832422</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6407108.post-601458251521714012</id><published>2007-08-14T17:31:00.001+05:45</published><updated>2009-07-09T17:08:27.388+05:45</updated><title type='text'>Management Lesson: Taking charge with programmers</title><content type='html'>&lt;em&gt;&lt;span style="font-size:85%;"&gt;I've been managing various projects for more than a year. I found this article interesting and think it will help those who are in project management business. Please read on.&lt;/span&gt;&lt;/em&gt;
&lt;br&gt;&lt;br&gt;
If you want to communicate with a programmer, you have to take charge. Programmers are a tricky bunch sometimes. But you, not the programmer, are in charge of the project. Although the programmer is in charge of a large portion work, you’re the one responsible of the project if the project fails.

You must establish dominance without being too aggressive. Establish five things through your early communications:
&lt;ul&gt;&lt;li&gt;&lt;strong&gt;Leadership:&lt;/strong&gt; Leadership is focused on motivating, aligning objectives, and moving your project team to a destination. Assume that you’re leading the project and that your project team will follow.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Management:&lt;/strong&gt; Management is focused on getting results. As a project manager, your core focus is on getting the project successfully completed. Management of a group of programmers means you must see results.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Discipline:&lt;/strong&gt; When your programmers aren’t getting their work done as promised, don’t hesitate to discipline according to your human resources guidelines. Be careful about making snap judgments, thought. First, find out why they aren’t completing the work. Were your instructions unclear? Was there a miscommunication on your end? The problem could be yours and not the programmers’.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Organization:&lt;/strong&gt; Your ability to communicate, lead, manage, and discipline your project team centers on your organizational skills. Be organized and your project team will respect you for having everything on the ball.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Balance:&lt;/strong&gt; In all your decisions you must be fair. Your team of programmers will respect you even more if you show balance and fairness in all of your work assignments and disciplinary actions. Don’t play favorites.&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6407108-601458251521714012?l=milanl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://milanl.blogspot.com/feeds/601458251521714012/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6407108&amp;postID=601458251521714012' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6407108/posts/default/601458251521714012'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6407108/posts/default/601458251521714012'/><link rel='alternate' type='text/html' href='http://milanl.blogspot.com/2007/08/management-lesson-taking-charge-with.html' title='Management Lesson: Taking charge with programmers'/><author><name>mILAN</name><uri>http://www.blogger.com/profile/18166736704399832422</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6407108.post-3107960237086393774</id><published>2007-06-20T11:00:00.000+05:45</published><updated>2007-06-20T11:10:59.169+05:45</updated><title type='text'>Multiple instances of the application</title><content type='html'>I wanted to run multiple instances of Skype but couldn't find a way to do it. Although I have polygamy patch for my MSN messenger, I couldn't find similar application to patch Skype. After searching the Internet, I came to know that there is a command line tool to run any application with different Window's user. The command is as below;

&lt;strong&gt;&lt;em&gt;runas /user:&lt;username&gt; XXX application_executable&lt;application_executable&gt;&lt;/em&gt;&lt;/strong&gt;

For me, the solution was just adding one more user to Windows XP system(and assigning password to it too) and by firing following command;

&lt;em&gt;runas /user:new_user&lt;username&gt; skype.exe
&lt;/em&gt;
I am not sure if this command works for other version of Windows, but it worked with my Windows XP professional. :-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6407108-3107960237086393774?l=milanl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://milanl.blogspot.com/feeds/3107960237086393774/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6407108&amp;postID=3107960237086393774' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6407108/posts/default/3107960237086393774'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6407108/posts/default/3107960237086393774'/><link rel='alternate' type='text/html' href='http://milanl.blogspot.com/2007/06/multiple-instances-of-application.html' title='Multiple instances of the application'/><author><name>mILAN</name><uri>http://www.blogger.com/profile/18166736704399832422</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6407108.post-117576111817166436</id><published>2007-04-05T14:02:00.000+05:45</published><updated>2007-04-05T14:03:38.183+05:45</updated><title type='text'>Management Lesson: The Law of Diminishing Returns</title><content type='html'>Time is time. No one can buy more time. You can buy more labor if you think it will help your team do more work faster, but that’s not the same thing as adding time to a project. The law of diminishing returns dictates that adding labor doesn’t exponentially increase productivity; in fact, at some point productivity can even go backwards. 

For a real-life example, consider that two hardworking and experienced programmers working on a project. In order to finish the project on time, you decide to add one more programmer. Now the programmers may be completing the code more quickly, you decide to add six more programmers so that the project can be finished even sooner. You soon realize that although adding one programmer increased your productivity, adding six more only created chaos with creating a contentious environment. You reached the point of diminishing returns when you added six programmers. 

Bottom line: You can’t build a house in a single day even with 100 people.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6407108-117576111817166436?l=milanl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://milanl.blogspot.com/feeds/117576111817166436/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6407108&amp;postID=117576111817166436' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6407108/posts/default/117576111817166436'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6407108/posts/default/117576111817166436'/><link rel='alternate' type='text/html' href='http://milanl.blogspot.com/2007/04/management-lesson-law-of-diminishing.html' title='Management Lesson: The Law of Diminishing Returns'/><author><name>mILAN</name><uri>http://www.blogger.com/profile/18166736704399832422</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6407108.post-115511831334148825</id><published>2006-08-09T15:55:00.003+05:45</published><updated>2009-06-18T23:03:57.175+05:45</updated><title type='text'>Restructuring SVN repository</title><content type='html'>Sometime you may need to restructure your SVN repository. I was in the same kind of situation. 

We rely on SVN and we really trust this software. But the person who created repository made a mistake. He created 3 folders, 'trunk', 'tags' and 'branches' in the hard drive and then created repo in the 'trunk' folder. We didn't notice this until we need to branch our project. After going through some websites and forums, I found the simple method to restructure the repository.&lt;br&gt;

1. First, dump the repository to some file
    &lt;pre&gt;svnadmin dump /path/to/repo &gt; dumpfile.txt&lt;/pre&gt;

2. Move your repository folder to somewhere else in order to backup, just in case
    &lt;pre&gt;mv /path/to/repo /path/to/repo_backup&lt;/pre&gt;

3. Now, manually change the "Node-path:" and "Copy-to-path:" headers to insert "trunk/" into them
    &lt;pre&gt;sed -e 's/^\(Node-path: \)\(.*\)/\1trunk\/\2/;s/^\(Copy-from-path:\)\(.*\)/\1trunk\/\2/' dumpfile &gt; dumpfile.new &lt;/pre&gt;

If you find above command too hard, just open the dumpfile in any text editor and do find and replace. :-) You should be replacing "Node-path:" with "Node-path:trunk/" and "Copy-to-path:" with "Copy-to-path:trunk/". Simple huh!

4. Create new repository
   &lt;pre&gt;svnadmin create /path/to/repo&lt;/pre&gt;

5. Load modified dump file into newly created repository
   &lt;pre&gt;svnadmin load newdumpfile.txt path/to/repo&lt;/pre&gt;

6. Finally, import 'tags' and 'branches' folder in the repository.

Now, you will see your repository with proper structure in which you can make branches and tags of your project.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6407108-115511831334148825?l=milanl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://milanl.blogspot.com/feeds/115511831334148825/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6407108&amp;postID=115511831334148825' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6407108/posts/default/115511831334148825'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6407108/posts/default/115511831334148825'/><link rel='alternate' type='text/html' href='http://milanl.blogspot.com/2006/08/restructuring-svn-repository.html' title='Restructuring SVN repository'/><author><name>mILAN</name><uri>http://www.blogger.com/profile/18166736704399832422</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6407108.post-113860165192949535</id><published>2006-01-30T11:59:00.009+05:45</published><updated>2009-06-19T16:56:48.095+05:45</updated><title type='text'>Distributed Version Control with SVK</title><content type='html'>Imagine a situation where some software development company has it's offices located in different part of the world.  This company also has central server where the version control software is running. The connection to this server is not always good. In such situation, if each office has its own server having version control system which is a mirror of the central system, the problem due to bad connection can be reduced. For this kind of situation, &lt;a href="http://svk.elixus.org/"&gt;SVK&lt;/a&gt; is the tool everybody should use.

&lt;a href="http://svk.elixus.org/"&gt;SVK&lt;/a&gt; allows mirroring of existing remote repositories, creating local branches, working on these branches, and when everything is ready, merging them back into mirrored trunk, which updates the remote repository automatically. 

I've done some research on &lt;a href="http://svk.elixus.org/"&gt;SVK&lt;/a&gt; for the real world situation mentioned above. The company I am currently working has it's offices in US, India and Nepal. The central server is located in US. But sometimes, due to the problem of connection or by other factors, the main repository is not available. To overcome this problem, we looked for the alternative of making mirror of central repository in both Nepal and India. By having the repository in both locations, access to the repository is local. No more slow connection or time out problem. 

Since our version control is &lt;a href="http://subversion.tigris.org/"&gt;Subversion&lt;/a&gt;, our task was to find the tool(s) which is best suitable for this system. Also, most of the development work is done in Microsoft Windows Platform, we use &lt;a href="http://tortoisesvn.tigris.org/"&gt;TortoiseSVN&lt;/a&gt; to update from and commit to the repository. It was an advantage to us that SVK works on subversion file system.  
&lt;p&gt;

&lt;b&gt;Plan of implementation&lt;/b&gt;
&lt;br&gt;
In order to make SVK work, the plan is to mirror the central repository in the local machine. Then the local branch is created. Instead of using the mirrored trunk, user will be accessing this branch. At the end of the day, when everybody is done with their work, the local branch is merged into mirrored trunk. At the same time, the central repository is automatically updated.

&lt;p&gt;
&lt;b&gt;Installing SVK&lt;/b&gt;
&lt;br&gt;
SVK is written completely in Perl and kind of pain to install. Luckily, in my Fedora Core 4 system, Subversion was already installed with perl binding, all I needed to fire the command; 

&lt;pre&gt;perl -MCPAN -e 'install SVK'&lt;/pre&gt;

This command install SVK and all of it's many dependencies. 

&lt;p&gt;
&lt;b&gt;Setting up local 'depotmap'&lt;/b&gt;
&lt;br&gt;
To set up local repository, the following command does the trick;

&lt;pre&gt;svk depotmap --init&lt;/pre&gt;

This will create a default depotmap. Alternatively, if you want to make a depotmap to the desire location, just issue the command

&lt;pre&gt;svk depotmap&lt;/pre&gt;

This will open a default text editor and let you edit the depotmap name and the location.

&lt;p&gt;
&lt;b&gt;Mirroring the central repository&lt;/b&gt;

&lt;pre&gt;svk mirror svn://mydomain.com/myproject/trunk //localrepo/trunk&lt;/pre&gt;

To ensure that mirror has been setup, &lt;code&gt;svk mirror --list&lt;/code&gt; command can be used. Now that the mirror has been set up, the local copy is sync with mirror using

&lt;pre&gt;svk sync //localrepo/trunk&lt;/pre&gt;


&lt;b&gt;Creating a local branch&lt;/b&gt;
&lt;br&gt;
The first thing need to be done before start working is to create a local branch. Doing this is same as in Subversion.

&lt;pre&gt;svk cp -m "local branch" //localrepo/trunk /localrepo/localbranch&lt;/pre&gt;

You can check the branch by issuing the following command;

&lt;pre&gt;svk ls //localrepo/localbranch&lt;/pre&gt;

Now user is able to work with the local branch using TortoiseSVN or anyother Subversion client tool.

&lt;p&gt;
&lt;b&gt;Merging from local branch to the mirror&lt;/b&gt;
&lt;br&gt;
At the end of the day, after everybody is done with the work, local branch must be merged to the mirror. This can be done with the command &lt;code&gt;svk smerge&lt;/code&gt; command.

&lt;pre&gt;svk smerge -C //localrepo/localbranch //localrepo/trunk&lt;/pre&gt;

The C option checks for the conflict that may have.

Now, if there is no conflict, the actual merger can be done using following command;

&lt;pre&gt;svk smerge -l //localrepo/localbranch //localrepo/trunk&lt;/pre&gt;

This command also updates the repository automatically that the mirror points to.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6407108-113860165192949535?l=milanl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://milanl.blogspot.com/feeds/113860165192949535/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6407108&amp;postID=113860165192949535' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6407108/posts/default/113860165192949535'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6407108/posts/default/113860165192949535'/><link rel='alternate' type='text/html' href='http://milanl.blogspot.com/2006/01/distributed-version-contro_113860165192949535.html' title='Distributed Version Control with SVK'/><author><name>mILAN</name><uri>http://www.blogger.com/profile/18166736704399832422</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6407108.post-113326239768680505</id><published>2005-11-29T16:51:00.000+05:45</published><updated>2005-11-29T16:51:37.753+05:45</updated><title type='text'>Google Reader</title><content type='html'>Google came up with new tool called &lt;a href="http://reader.google.com"&gt;Google Reader&lt;/a&gt;. It is a web base RSS feed reader. You need to have GMail account in order to use it. I used to bookmark all my fav. blog links in browser and there is no way to browse them using another machine. With Google Reader, now I can read those blog from anywhere. I think it is better than using any desktop RSS reader application. 

PS: Like other google tools, Google Reader is also very fast and also make use of AJAX technology.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6407108-113326239768680505?l=milanl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://milanl.blogspot.com/feeds/113326239768680505/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6407108&amp;postID=113326239768680505' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6407108/posts/default/113326239768680505'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6407108/posts/default/113326239768680505'/><link rel='alternate' type='text/html' href='http://milanl.blogspot.com/2005/11/google-reader.html' title='Google Reader'/><author><name>mILAN</name><uri>http://www.blogger.com/profile/18166736704399832422</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6407108.post-112866360875975026</id><published>2005-10-07T11:25:00.001+05:45</published><updated>2009-06-18T22:51:12.575+05:45</updated><title type='text'>Insert and Delete with DLinq</title><content type='html'>In my last entry, I showed how to fetched record from SQL server using LINQ. I did some more work on LINQ and was able to insert a new record and delete particular record using LINQ. In order to insert or delete, I needed to start  Distributed Transaction Coordinator in my SQL server. Below is the simple code use to insert a record,

&lt;pre&gt;
Authors aut = &lt;span style="color: Blue; font-family: Courier New; font-size: 11px; background-color: White"&gt;new&lt;/span&gt; Authors();

aut.AuId = id;
aut.AuFname = fName;
aut.AuLname = lName;
aut.Phone = phone;

db.Authors.Add(aut);
db.SubmitChanges();
&lt;/pre&gt;

Continuing the work I left last time, I made an object of Authors and added ID, first name, last name and phone to it. Then calling the &lt;b&gt;SubmitChanges&lt;/b&gt; method, the actual data is written to database.

Similarly, deleting a record is also not so hard. 

&lt;pre&gt;
var authors = (
    &lt;span style="color: Blue; font-family: Courier New; font-size: 11px; background-color: White"&gt;from&lt;/span&gt; a in db.Authors
    &lt;span style="color: Blue; font-family: Courier New; font-size: 11px; background-color: White"&gt;where&lt;/span&gt; a.AuId == id
    &lt;span style="color: Blue; font-family: Courier New; font-size: 11px; background-color: White"&gt;orderby&lt;/span&gt; a.AuFname
    &lt;span style="color: Blue; font-family: Courier New; font-size: 11px; background-color: White"&gt;select&lt;/span&gt; a).First();

db.Authors.Remove(authors);
db.SubmitChanges();

&lt;/pre&gt;

In order to delete a record, &lt;b&gt;First&lt;/b&gt; method is called with the query, which returns a particular record. By passing this record to the &lt;b&gt;Remove&lt;/b&gt; method of Authors object, a record will be deleted. With this, record deletion is only limited to memory data. Actual record will be deleted only after calling &lt;b&gt;SubmitChanges&lt;/b&gt; method. 

The next step is to explore transaction in LINQ.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6407108-112866360875975026?l=milanl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://milanl.blogspot.com/feeds/112866360875975026/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6407108&amp;postID=112866360875975026' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6407108/posts/default/112866360875975026'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6407108/posts/default/112866360875975026'/><link rel='alternate' type='text/html' href='http://milanl.blogspot.com/2005/10/insert-and-delete-with-dli_112866360875975026.html' title='Insert and Delete with DLinq'/><author><name>mILAN</name><uri>http://www.blogger.com/profile/18166736704399832422</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6407108.post-112866178454426588</id><published>2005-10-07T10:54:00.000+05:45</published><updated>2005-10-07T10:54:44.543+05:45</updated><title type='text'>Linq and DLinq in action</title><content type='html'>Beta version of Visual C# 2005 Express Edition was lying around my hard disk for some times. I was stuck with a project and didn't have chance to look into it. When I visited LINQ site, I found the way to use it. I've downloaded Tech Preview version of LINQ and installed it. Integration with Visual C# 2005 was not so hard and I was already in new Linq consol application window. I found couple of doc files on 'Hands on Lab' inside 'Docs' folder. After reading a file for DLinq, I got general idea on how actually LINQ works. 

In order to start with DLinq, I first made a ObjectModel of 'Pubs' database using a tool 'sqlmetal.exe'. This tool is installed in Bin folder and able to create a C# source file which contains mapping of every table and column to respective objects. The resulting source was then included in Linq console application. With little modification in ObjectModel, I was able to use SqlConnection object with my 'pubs' class.  By writing a code (as shown below), I was able to see the result of database immediately. 

The bottom line is, with LINQ, there is no need to write SQL. The query language is now integrated in programming language. I think it is easy to use and developer doesn't need to have knowledge of SQL. 

Till now, I have learnt to get the result from database. Now my target is to learn how to insert, update and delete records using LINQ.
&lt;PRE&gt;
&lt;code&gt;
&lt;span style="color: Blue; font-family: Courier New; font-size: 11px; background-color: White"&gt;using&lt;/span&gt; System;
&lt;span style="color: Blue; font-family: Courier New; font-size: 11px; background-color: White"&gt;using&lt;/span&gt; System.Collections .Generic;
&lt;span style="color: Blue; font-family: Courier New; font-size: 11px; background-color: White"&gt;using&lt;/span&gt; System.Text;
&lt;span style="color: Blue; font-family: Courier New; font-size: 11px; background-color: White"&gt;using&lt;/span&gt; System.Query;
&lt;span style="color: Blue; font-family: Courier New; font-size: 11px; background-color: White"&gt;using&lt;/span&gt; System.Xml.XLinq;
&lt;span style="color: Blue; font-family: Courier New; font-size: 11px; background-color: White"&gt;using&lt;/span&gt; System.Data.DLinq;
&lt;span style="color: Blue; font-family: Courier New; font-size: 11px; background-color: White"&gt;using&lt;/span&gt; System.Data.SqlClient;
&lt;span style="color: Blue; font-family: Courier New; font-size: 11px; background-color: White"&gt;using&lt;/span&gt; pubs;

&lt;span style="color: Blue; font-family: Courier New; font-size: 11px; background-color: White"&gt;namespace&lt;/span&gt; LINQApp
{
    &lt;span style="color: Blue; font-family: Courier New; font-size: 11px; background-color: White"&gt;class&lt;/span&gt; Program
    {
        &lt;span style="color: Blue; font-family: Courier New; font-size: 11px; background-color: White"&gt;static&lt;/span&gt; &lt;span style="color: Blue; font-family: Courier New; font-size: 11px; background-color: White"&gt;void&lt;/span&gt; Main(&lt;span style="color: Blue; font-family: Courier New; font-size: 11px; background-color: White"&gt;string&lt;/span&gt;[] args)
        {
            dbQuery();
        }

        &lt;span style="color: Blue; font-family: Courier New; font-size: 11px; background-color: White"&gt;static&lt;/span&gt; &lt;span style="color: Blue; font-family: Courier New; font-size: 11px; background-color: White"&gt;void&lt;/span&gt; dbQuery()
        {
            SqlConnection conn &lt;span style="color: Red; font-family: Courier New; font-size: 11px; background-color: White"&gt;=&lt;/span&gt; 
                     &lt;span style="color: Blue; font-family: Courier New; font-size: 11px; background-color: White"&gt;new&lt;/span&gt; SqlConnection(&lt;span style="color: #666666; font-family: Courier New; font-size: 11px; background-color: #ededed"&gt;@"SERVER={YourDBServer};user id={uid};password=;database=pubs;"&lt;/span&gt;);
           
            Pubs db &lt;span style="color: Red; font-family: Courier New; font-size: 11px; background-color: White"&gt;=&lt;/span&gt; &lt;span style="color: Blue; font-family: Courier New; font-size: 11px; background-color: White"&gt;new&lt;/span&gt; Pubs(conn);

             &lt;span style="color: Blue; font-family: Courier New; font-size: 11px; background-color: White"&gt;var&lt;/span&gt; authors &lt;span style="color: Red; font-family: Courier New; font-size: 11px; background-color: White"&gt;=&lt;/span&gt; 
                &lt;span style="color: Blue; font-family: Courier New; font-size: 11px; background-color: White"&gt; from &lt;/span&gt; a &lt;span style="color: Blue; font-family: Courier New; font-size: 11px; background-color: White"&gt;in&lt;/span&gt; db.Authors
                 &lt;span style="color: Blue; font-family: Courier New; font-size: 11px; background-color: White"&gt;select&lt;/span&gt; a;

            &lt;span style="color: Blue; font-family: Courier New; font-size: 11px; background-color: White"&gt;foreach&lt;/span&gt; (&lt;span style="color: Blue; font-family: Courier New; font-size: 11px; background-color: White"&gt;var&lt;/span&gt; auth &lt;span style="color: Blue; font-family: Courier New; font-size: 11px; background-color: White"&gt;in&lt;/span&gt; authors)
            {
                Console.WriteLine(&lt;span style="color: #666666; font-family: Courier New; font-size: 11px; background-color: #ededed"&gt;" {0} {1} | {2} | {3} "&lt;/span&gt;, 
                                       auth.AuFname, auth.AuLname, auth.Address, auth.Phone);
            }
           
            Console.ReadLine();
        }
    }
}
&lt;/code&gt;
&lt;/PRE&gt;
&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6407108-112866178454426588?l=milanl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://milanl.blogspot.com/feeds/112866178454426588/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6407108&amp;postID=112866178454426588' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6407108/posts/default/112866178454426588'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6407108/posts/default/112866178454426588'/><link rel='alternate' type='text/html' href='http://milanl.blogspot.com/2005/10/linq-and-dlinq-in-action_07.html' title='Linq and DLinq in action'/><author><name>mILAN</name><uri>http://www.blogger.com/profile/18166736704399832422</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6407108.post-112730518708311716</id><published>2005-09-21T18:04:00.000+05:45</published><updated>2005-09-21T18:04:47.126+05:45</updated><title type='text'>The LINQ project</title><content type='html'>This is really interesting. Microsoft has came up with the new project called &lt;a href="http://msdn.microsoft.com/netframework/future/linq/"  target="_blank"&gt;LINQ&lt;/a&gt; (Language Integrated Query). By extending C# and VB.NET language, it provides few classes to take advantage of the database query. The real version of LINQ is targeted for C# 3.0 and is in preview state now. The downloadable tech preview version only works with VS.NET 2005 beta or Visual C# 2005 Express Edition Beta 2.

Still, there are 2 more flavours of LINQ, XLinq and DLinq. Former is for using XML as a database, while latter is use for relational database. Currently, DLinq only supports MS SQL Server (no surprise) :-). 

I've downloaded and installed LINQ tech preview and it is working fine with my copy of Visual C# 2005 Express Edition(beta). I will be exploring it in depth in coming days. 

BTW, Channel 9 video in which Anders Hejlsberg explains the features of LINQ is worth watching.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6407108-112730518708311716?l=milanl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://milanl.blogspot.com/feeds/112730518708311716/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6407108&amp;postID=112730518708311716' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6407108/posts/default/112730518708311716'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6407108/posts/default/112730518708311716'/><link rel='alternate' type='text/html' href='http://milanl.blogspot.com/2005/09/linq-project.html' title='The LINQ project'/><author><name>mILAN</name><uri>http://www.blogger.com/profile/18166736704399832422</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6407108.post-112676156634578331</id><published>2005-09-15T11:04:00.000+05:45</published><updated>2006-09-28T14:21:25.426+05:45</updated><title type='text'>Camera, Action, Go!</title><content type='html'>&lt;div style="float: right; margin-left: 10px; margin-bottom: 10px;"&gt; &lt;a href="http://www.flickr.com/photos/milanl/43434632/" title="photo sharing"&gt;&lt;img src="http://static.flickr.com/33/43434632_6e9bdb2edd_m.jpg" alt="" style="border: solid 1px #000000;" /&gt;&lt;/a&gt; &lt;br /&gt; &lt;/span&gt;&lt;/div&gt;Well, my new camera is already in action. Here is a sample. This picture was taken at 6 this morning at my house terrace. &lt;br /&gt;&lt;br /&gt;There are few more to watch on &lt;a href="http://flickr.com/photos/milanl/sets/342065/"&gt;flickr&lt;/a&gt;.&lt;br clear="all" /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6407108-112676156634578331?l=milanl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://milanl.blogspot.com/feeds/112676156634578331/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6407108&amp;postID=112676156634578331' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6407108/posts/default/112676156634578331'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6407108/posts/default/112676156634578331'/><link rel='alternate' type='text/html' href='http://milanl.blogspot.com/2005/09/camera-action-go.html' title='Camera, Action, Go!'/><author><name>mILAN</name><uri>http://www.blogger.com/profile/18166736704399832422</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6407108.post-112669030955277801</id><published>2005-09-14T15:16:00.000+05:45</published><updated>2005-09-19T13:15:09.080+05:45</updated><title type='text'>Learning Photography</title><content type='html'>I don't have any hobbies except music and reading computer related stuffs. I was thinking about doing some photography but that never happen. Taking good pictures and showing them to friends was what I thought about. it's now time to learn some photography as I have upgraded my camera. 

I had &lt;a href="http://www.steves-digicams.com/2002_reviews/nikon2000.html"&gt;Nikon Coolpix 2000&lt;/a&gt;, which is point-n-shoot kind of camera. There is nothing much to think about while taking a shot. Recently I bought &lt;a href="http://www.steves-digicams.com/2004_reviews/c765uz.html"&gt;Olympus C-765 Ultra Zoom&lt;/a&gt;. I couldn't believe that it has so many features. Even after going through it's online manual , I couldn't understand the functionality. Because I don't understand buzz words from photography world. I am very thankful to my friend Om, who explained some of the features in detail. I am now in position to get some nice shots of objects around me. 

In order to understand the concept of Aperture, ISO, Depth of Field etc, I tried to search the Net for resources. Among many web sites, I found &lt;a href="http://www.photoxels.com/"&gt;Photoxels&lt;/a&gt; site very useful. Everything in this site is very clearly explained.

After getting used to the camera, I will be uploading pics to &lt;a href="http://flickr.com/photos/milanl"&gt;flickr&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6407108-112669030955277801?l=milanl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://milanl.blogspot.com/feeds/112669030955277801/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6407108&amp;postID=112669030955277801' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6407108/posts/default/112669030955277801'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6407108/posts/default/112669030955277801'/><link rel='alternate' type='text/html' href='http://milanl.blogspot.com/2005/09/learning-photography.html' title='Learning Photography'/><author><name>mILAN</name><uri>http://www.blogger.com/profile/18166736704399832422</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6407108.post-112477618233666849</id><published>2005-08-23T11:34:00.000+05:45</published><updated>2005-08-23T11:34:42.363+05:45</updated><title type='text'>New Job</title><content type='html'>For some good reasons, I quit my old job and joined new &lt;a href="http://www.d2hawkeye.com"&gt;office&lt;/a&gt;. I will be working as .NET programmer here. Very few companies use Delphi in Nepal, and this one is also not an exception. I  am pretty sure that I will be using C# as primary language. But I won't miss a chance of making use of Delphi . 

As I've already started working, I was assigned to ASP.NET project. I always prefer web programming in .NET, rather than Winform application development. It is not that I am refusing to work in Winform application, but .NET is more fun with ASP.NET.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6407108-112477618233666849?l=milanl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://milanl.blogspot.com/feeds/112477618233666849/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6407108&amp;postID=112477618233666849' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6407108/posts/default/112477618233666849'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6407108/posts/default/112477618233666849'/><link rel='alternate' type='text/html' href='http://milanl.blogspot.com/2005/08/new-job.html' title='New Job'/><author><name>mILAN</name><uri>http://www.blogger.com/profile/18166736704399832422</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6407108.post-112306994783167314</id><published>2005-08-03T17:37:00.000+05:45</published><updated>2005-08-03T17:40:32.860+05:45</updated><title type='text'>Reporting with RAVE</title><content type='html'>If you don't know what is &lt;a href="http://www.nevrona.com/Default.aspx?tabid=30"&gt;RAVE&lt;/a&gt;, it is a default reporting tool for Delphi. Delphi used to have Quick Report but Borland choose RAVE as default reporting tool. The main reason for choosing it over other is, it is written using cross platform components (CLX). Also, RAVE offer some good features like mirroring, global page, etc. 

I am currently working on a medium size project in Delphi and I need to build couple of reports for it. I have never used RAVE before but read and heard lot about it. I decided to give it a try. After reading some tutorials in BDN site, I started working on it. 

With my previous experience with Crystal Report, I found that RAVE handles reporting completely different way. Designer is easy to use and concept of generating report is cool. One can create report  and save it as external file. Also, it can be embedded into application. Even further, report can be saved and extracted from database. Cool, isn't it? From my experience, I think learning RAVE is little difficult, but once you know how to do things, you have total control of report. 

What I miss about this great tool is, documentation. Every piece of software needs good documentation and RAVE is not an exception. If it offers so many nice things, they must be documented. With RAVE Scripting, I am still lost. Although there is a news group for supporting RAVE user, I didn't find it quite helpful.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6407108-112306994783167314?l=milanl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://milanl.blogspot.com/feeds/112306994783167314/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6407108&amp;postID=112306994783167314' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6407108/posts/default/112306994783167314'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6407108/posts/default/112306994783167314'/><link rel='alternate' type='text/html' href='http://milanl.blogspot.com/2005/08/reporting-with-rave.html' title='Reporting with RAVE'/><author><name>mILAN</name><uri>http://www.blogger.com/profile/18166736704399832422</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6407108.post-112125558636276768</id><published>2005-07-13T17:29:00.000+05:45</published><updated>2005-07-13T17:38:06.373+05:45</updated><title type='text'>The 24 hours of Delphi</title><content type='html'>I've been listening to '24 hours of Delphi' in BDN radio. It's already in 7th session and Deepak Shenoy is speaking now. I won't be able to listen to this live event till tomorrow morning because it is already 5:30 PM in Nepal and it's time to go home. I will definitly continue listening it after coming to office tomorrow morning.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6407108-112125558636276768?l=milanl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://milanl.blogspot.com/feeds/112125558636276768/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6407108&amp;postID=112125558636276768' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6407108/posts/default/112125558636276768'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6407108/posts/default/112125558636276768'/><link rel='alternate' type='text/html' href='http://milanl.blogspot.com/2005/07/24-hours-of-delphi.html' title='The 24 hours of Delphi'/><author><name>mILAN</name><uri>http://www.blogger.com/profile/18166736704399832422</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6407108.post-111899361378523606</id><published>2005-06-17T13:18:00.000+05:45</published><updated>2005-06-17T13:21:57.823+05:45</updated><title type='text'>Namespace in Delphi</title><content type='html'>&lt;div style="float: right; margin-left: 10px; margin-bottom: 10px;"&gt; &lt;a href="http://www.flickr.com/photos/89879757@N00/19833254/" title="photo sharing"&gt;&lt;img src="http://photos16.flickr.com/19833254_bcd43fda88_m.jpg" alt="" style="border: solid 2px #000000;" /&gt;&lt;/a&gt; &lt;br /&gt; &lt;/span&gt;&lt;/div&gt;I must say that namespace support in Delphi is very strange. While disassembling Delphi produced assembly with &lt;a href="http://www.aisto.com/roeder/dotnet/"&gt;Lutz Roeder's .NET Reflector&lt;/a&gt;, the result was surprising. At the same time, result of C# produced assembly was fine. &lt;br /&gt;&lt;br /&gt;Also, I am really impressed with the &lt;a href="http://www.remobjects.com/page.asp?id={67367BE6-F1DB-4F6F-81C8-66E4DCC213F9}"&gt;namespace support&lt;/a&gt; in Chrome.&lt;br clear="all" /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6407108-111899361378523606?l=milanl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://milanl.blogspot.com/feeds/111899361378523606/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6407108&amp;postID=111899361378523606' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6407108/posts/default/111899361378523606'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6407108/posts/default/111899361378523606'/><link rel='alternate' type='text/html' href='http://milanl.blogspot.com/2005/06/namespace-in-delphi.html' title='Namespace in Delphi'/><author><name>mILAN</name><uri>http://www.blogger.com/profile/18166736704399832422</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6407108.post-111710706320747604</id><published>2005-05-26T17:16:00.000+05:45</published><updated>2005-05-26T17:16:03.250+05:45</updated><title type='text'>Experiencing 'Chrome'!</title><content type='html'>If you know (Object) Pascal very well and you want to do some .NET programming using VS.NET, you must try &lt;a href="http://www.chromesville.com/" target=_blank&gt;&lt;b&gt;RemObjects Chrome&lt;/b&gt;&lt;/a&gt;. I am currently evaluating Chrome with VS.NET 2003 and I find it very interesting. It introduced some new keywords and some new language features. Being a &lt;a href="http://www.borland.com/delphi"&gt;Delphi&lt;/a&gt; developer, I didn't have any problem creating sample application in Chrome. I tested with very small Chrome Class Library and Chrome Windows Application. It was really nice to see that I can have C# project and Chrome projects in single VS.NET solution. Also, everything worked perfectly when using Chrome made Assembly in C# Windows Application. I will be testing Chrome with more ASP.NET as I am really not interested in WinForm application. Not to forget that Chrome also supports &lt;a href="http://www.mono-project.com/Main_Page"&gt;Mono&lt;/a&gt; platform. 

In my opinion, this is another best thing after Delphi 2005.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6407108-111710706320747604?l=milanl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://milanl.blogspot.com/feeds/111710706320747604/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6407108&amp;postID=111710706320747604' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6407108/posts/default/111710706320747604'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6407108/posts/default/111710706320747604'/><link rel='alternate' type='text/html' href='http://milanl.blogspot.com/2005/05/experiencing-chrome.html' title='Experiencing &apos;Chrome&apos;!'/><author><name>mILAN</name><uri>http://www.blogger.com/profile/18166736704399832422</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6407108.post-111693341508121031</id><published>2005-05-24T17:01:00.000+05:45</published><updated>2005-05-24T17:10:15.130+05:45</updated><title type='text'>I won a book!!</title><content type='html'>I am one of the &lt;a href="http://forums.pcquest.com/forum/viewtopic.php?t=2251"&gt;winners&lt;/a&gt; of April 2005 books contest held by &lt;a href="http://www.pcquest.com"&gt;&lt;b&gt;PCQuest&lt;/b&gt;&lt;/a&gt; magazine. I got &lt;b&gt; &lt;a href="http://www.amazon.com/exec/obidos/tg/detail/-/1893115933/qid=1116932845/sr=1-1/ref=sr_1_1/002-4737234-6400018?v=glance&amp;s=books"&gt;Wireless Web Development with PHP and WAP&lt;/a&gt;&lt;/b&gt; book as a prize. Isn't it GREAT?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6407108-111693341508121031?l=milanl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://milanl.blogspot.com/feeds/111693341508121031/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6407108&amp;postID=111693341508121031' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6407108/posts/default/111693341508121031'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6407108/posts/default/111693341508121031'/><link rel='alternate' type='text/html' href='http://milanl.blogspot.com/2005/05/i-won-book.html' title='I won a book!!'/><author><name>mILAN</name><uri>http://www.blogger.com/profile/18166736704399832422</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6407108.post-111624050112987868</id><published>2005-05-16T16:33:00.000+05:45</published><updated>2005-05-16T16:40:21.200+05:45</updated><title type='text'>Summer is here</title><content type='html'>&lt;div style="float: right; margin-left: 0px; margin-bottom: 10px;"&gt; &lt;a href="http://www.flickr.com/photos/89879757@N00/14126146/" title="photo sharing"&gt;&lt;img src="http://photos14.flickr.com/14126146_4ae544ab31_m.jpg" alt="" style="border: solid 1px #000000;" /&gt;&lt;/a&gt; &lt;br /&gt; &lt;/span&gt;&lt;/div&gt;Yes, it's summer time. We use to hang out at near by club each Saturday. After a week long work, this is probably the best way to relax. 
&lt;br clear="all" /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6407108-111624050112987868?l=milanl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://milanl.blogspot.com/feeds/111624050112987868/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6407108&amp;postID=111624050112987868' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6407108/posts/default/111624050112987868'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6407108/posts/default/111624050112987868'/><link rel='alternate' type='text/html' href='http://milanl.blogspot.com/2005/05/summer-is-here_111624050112987868.html' title='Summer is here'/><author><name>mILAN</name><uri>http://www.blogger.com/profile/18166736704399832422</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6407108.post-111391099441157107</id><published>2005-04-19T17:28:00.000+05:45</published><updated>2005-04-19T17:32:51.773+05:45</updated><title type='text'>New Year and my honeymoon</title><content type='html'>Last week was our (Nepali) New Year. It's 2062 in Nepal. See we were in 2000 long ago. ;-)  After &lt;a href="http://milanl.blogspot.com/2005/02/got-married.html"&gt;spoiling my honeymoon&lt;/a&gt; first time, I planned for it again. &lt;a href="http://www.nepalhomepage.com/travel/places/hilly/pokhara.html"&gt;Pokhara&lt;/a&gt; was our destination and the day was 1st of Baishak(14th April 2005, Nepali New Year day). We reached to airport in time. While recieving our boarding pass, the clerk said that airport in Pokhara has been shut down because of bad weather. We didn't have choice and waited for airport to open. After waiting for 4 hours, our flight was cancelled. DAMN! I don't know what is wrong with my luck? This is the second time! :-( Me and my wife return to home with sad mood. 

I didn't want to spoil my holiday this time. So, we decided to go to &lt;a href="http://www.samsays.com/Sam%20Pics/Nepal/Nagarkot/"&gt;Nagarkot&lt;/a&gt; and called for booking. Luckily we got reservation and went there and had really GREAT time. :-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6407108-111391099441157107?l=milanl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://milanl.blogspot.com/feeds/111391099441157107/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6407108&amp;postID=111391099441157107' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6407108/posts/default/111391099441157107'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6407108/posts/default/111391099441157107'/><link rel='alternate' type='text/html' href='http://milanl.blogspot.com/2005/04/new-year-and-my-honeymoon.html' title='New Year and my honeymoon'/><author><name>mILAN</name><uri>http://www.blogger.com/profile/18166736704399832422</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6407108.post-111235434218239980</id><published>2005-04-01T17:04:00.000+05:45</published><updated>2005-04-01T17:11:16.186+05:45</updated><title type='text'>Bye Bye 'VB'</title><content type='html'>Although VB guys are asking for Microsoft to support VB6, I am sure that this is not going to happen. The problem is that, VB guys don't know and can't do OOP, that's why they are asking for VB6.  I personally define VB as power tool, not RAD, not programming tool. Based on Microsoft's flop technology, ActiveX, it is just a tool to create windows application faster. Anyone can make windows application without any programming background. And I think most of the VB guys fall in this category. I don't even like to call those people 'developer'. 

The question is 'Why those people are asking for VB6 support?', 'Why don't they just go ahead and learn VB.NET'? The answer is simple. They just can't learn OOP. They never knew what is OOP. Learning new thing, specially OOP, is toooo hard for them. It is understood that VB.NET is nowhere close to VB. Although language structure and keywords are same as VB6, but VB.NET is superior and powerful. I don't understand, how in the world Microsoft thought that VB guys can migrate to VB.NET?

I don't think those people can migrate to Delphi as well. Although Delphi is easier to learn, it is still based on true OO language, Object Pascal. For VB guys, it doesn't matter what language they are going to migrate. What really matters is, they are used to play with non-OOP. Migrating to Delphi ain't easy for them. Understanding VCL is not a child's play. They will never know why Delphi is superior than VB. They will never understand why VB can't make single EXE, Why Delphi is called true 'RAD'!  

I used to show to my friends 'what Delphi can do'. They keep asking me 'if Delphi can make single EXE, no runtime, why Microsoft can't do this with VB?' They added 'Delphi is also producing application for Windows as VB does.'  I used to answer them 'If you have your house to be built strong,  it's foundation must be strong.' That's what &lt;a href="http://www.borland.com/"&gt;Borland&lt;/a&gt; did.  

Unlike Microsoft, Borland didn't leave its user nowhere. Current version of Delphi, 2005, still supports Win 32 application development. Where would all those VB guys go if they want to do Win32 stuff? Use same 4 or 5 yrs old VB6? It is sure that Win32 gonna live more. People still prefer Win32 application than .NET's Winform application, because it needs .NET runtime to be installed, which is huge download. More, Delphi now supports .NET application development, either Winform or ASP.NET.  Delphi developers who want to learn .NET just have to learn about framework. 

Although Microsoft is large fish, but they should not under estimate medium fish.   :-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6407108-111235434218239980?l=milanl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://milanl.blogspot.com/feeds/111235434218239980/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6407108&amp;postID=111235434218239980' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6407108/posts/default/111235434218239980'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6407108/posts/default/111235434218239980'/><link rel='alternate' type='text/html' href='http://milanl.blogspot.com/2005/04/bye-bye-vb.html' title='Bye Bye &apos;VB&apos;'/><author><name>mILAN</name><uri>http://www.blogger.com/profile/18166736704399832422</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6407108.post-111164968345362705</id><published>2005-03-24T13:19:00.000+05:45</published><updated>2005-03-24T13:19:43.453+05:45</updated><title type='text'>Very good Delphi resource</title><content type='html'>I found very good &lt;a href="http://www.bsdg.org/resources/Delphi_Free_Components.html"&gt;Delphi resource&lt;/a&gt;. Must have for Delphi developer.  

&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6407108-111164968345362705?l=milanl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://milanl.blogspot.com/feeds/111164968345362705/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6407108&amp;postID=111164968345362705' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6407108/posts/default/111164968345362705'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6407108/posts/default/111164968345362705'/><link rel='alternate' type='text/html' href='http://milanl.blogspot.com/2005/03/very-good-delphi-resource.html' title='Very good Delphi resource'/><author><name>mILAN</name><uri>http://www.blogger.com/profile/18166736704399832422</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6407108.post-110992465295267510</id><published>2005-03-04T14:09:00.000+05:45</published><updated>2005-03-04T14:13:24.236+05:45</updated><title type='text'>On Finalizers and Destructors</title><content type='html'>I've been reading much on Finalizers and Destructors in Delphi for .NET because I wanted to understand garbage collection mechanism in depth. After reading couple of blog entries, I got confused. 
I used to use &lt;b&gt;try...finally&lt;/b&gt; block in Delphi 7. I read that .NET doesn't require object to be destroyed as it uses automatic garbage collection method. I asked myself, do I still need to use &lt;b&gt;try...finally&lt;/b&gt; method in Delphi 8? Finally, Nick's &lt;a href="http://www.lemanix.com/nick/archive/2004/03/25/252.aspx"&gt;blog entry&lt;/a&gt; made everything clear. It says :

"So, bottom line:   Continue to call &lt;b&gt;Free&lt;/b&gt; on the classes you create in your .Net applications.  If there's no need for a &lt;b&gt;Free&lt;/b&gt; call, no harm done.  If there is a need for a &lt;b&gt;Free&lt;/b&gt; call, then you've done it, and all is well. "

There are some more articles which explain everything about GC or object destruction in .NET

http://bdn.borland.com/article/0,1410,29365,00.html
http://www.ftponline.com/vsm/2002_12/magazine/features/balena/default_pf.aspx&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6407108-110992465295267510?l=milanl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://milanl.blogspot.com/feeds/110992465295267510/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6407108&amp;postID=110992465295267510' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6407108/posts/default/110992465295267510'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6407108/posts/default/110992465295267510'/><link rel='alternate' type='text/html' href='http://milanl.blogspot.com/2005/03/on-finalizers-and-destructors.html' title='On Finalizers and Destructors'/><author><name>mILAN</name><uri>http://www.blogger.com/profile/18166736704399832422</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6407108.post-110933145001314890</id><published>2005-02-25T17:22:00.000+05:45</published><updated>2005-02-25T17:22:30.013+05:45</updated><title type='text'>My project on SourceForge.net</title><content type='html'>When Delphi 8 came out, I was really excited to build small project in ASP.NET in it. I decided to make small application to keep track of developer's time. So, after a month, initial version of my first ASP.NET application, &lt;b&gt;WorkLog Application&lt;/b&gt;, is ready to use. 

At first, I didn't have clue, how to start project in this 8th version of Delphi, because it is only for .NET framework. Eventhough I've been using Delphi for years, my experience is only with Win32 application development. I then found very good demo application of Delphi 8 in &lt;a href="http://delphi.about.com"&gt;About Delphi Programming&lt;/a&gt; site.  After downloading &lt;a href="http://delphi.about.com/od/aspnet/l/aa031604a.htm"&gt;BDSWebExample&lt;/a&gt; and studing it's code, everything is clear to me. Also, not to forget, there are some good articles on same site for Delphi for .NET. Again, I used to read Borland's newgroup for more information on Delphi 8. 

After starting my project, I started finding problem with some objects. I didn't have any book and inforamtion on about.com is very limited. So, I started looking into .NET framework help file. Although all the examples are in C# or VB.NET, I was able to translet them for Delphi. So, there is no more problem for reference anymore. 

While developing this project, I wanted to try something else. First of all, I wanted to try assembly written in C#. So, I wrote some routines in C# Builder and made an assembly. I successfully used all the routines defined in that assembly. Second, I wanted to try third party component in my application. At the same time I was looking for popup calender for reporting. I found this great control called &lt;a href="http://www.eworldui.net/"&gt;Calendar Popup&lt;/a&gt; and succesfully used it. 

Finally, I've decided to put this project in public domain so that other can get idea on how to do Delphi in .NET. You can find more information on this project from it's &lt;a href="http://worklogapp.sourceforge.net/"&gt;homepage&lt;/a&gt;. You can download latest version from &lt;a href="https://sourceforge.net/projects/worklogapp/"&gt;here&lt;/a&gt;. 
&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6407108-110933145001314890?l=milanl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://milanl.blogspot.com/feeds/110933145001314890/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6407108&amp;postID=110933145001314890' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6407108/posts/default/110933145001314890'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6407108/posts/default/110933145001314890'/><link rel='alternate' type='text/html' href='http://milanl.blogspot.com/2005/02/my-project-on-sourceforgenet.html' title='My project on SourceForge.net'/><author><name>mILAN</name><uri>http://www.blogger.com/profile/18166736704399832422</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6407108.post-110844971242277928</id><published>2005-02-15T12:26:00.000+05:45</published><updated>2007-10-03T13:31:23.222+05:45</updated><title type='text'>Got Married</title><content type='html'>It's been more than month since I last posted in this blog. I was away from computer and busy getting married. Finally, I got married on Jan 22nd with my girl friend Sajana. We have been together for last 4 years.

Just after the week of marriage, when we were leaving on our honeymoon, there was an incident in Nepal. King took over and everything was shut down. We were totally cut off from outside world. It took 7 days to restore communication. Life was really painful when telephone, Internet were not working. Still, mobile phones and wireless communication are not working. When everything worked, it was too late for our honeymoon. We both resumed our job already. Now, life is normal, at least in Kathmandu and we are planning for our honeymoon. ;-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6407108-110844971242277928?l=milanl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://milanl.blogspot.com/feeds/110844971242277928/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6407108&amp;postID=110844971242277928' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6407108/posts/default/110844971242277928'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6407108/posts/default/110844971242277928'/><link rel='alternate' type='text/html' href='http://milanl.blogspot.com/2005/02/got-married.html' title='Got Married'/><author><name>mILAN</name><uri>http://www.blogger.com/profile/18166736704399832422</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6407108.post-110534020273386072</id><published>2005-01-10T12:41:00.000+05:45</published><updated>2005-01-10T12:41:42.733+05:45</updated><title type='text'>Delphi for .NET Developer's Guide</title><content type='html'>Thanks to my brother, who is living in Australia now, I got a copy of &lt;a href="http://www.delphiguru.com/"&gt;Xavier Pacheco&lt;/a&gt;'s &lt;b&gt;Delphi for .NET Developer's Guide&lt;/b&gt;.  This book is the only one book for Delphi for .NET(at least for now). I was trying to get this book from India, but Sam's Publication has already discontinued it's publication for South Asian country. I've read so many good reviews about this book in amazon and wanted a copy very badly. 

After going through some chapters I also think this is a book you need if you want to get started with .NET using Delphi as your language. I will be writing more on this book in coming days.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6407108-110534020273386072?l=milanl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://milanl.blogspot.com/feeds/110534020273386072/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6407108&amp;postID=110534020273386072' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6407108/posts/default/110534020273386072'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6407108/posts/default/110534020273386072'/><link rel='alternate' type='text/html' href='http://milanl.blogspot.com/2005/01/delphi-for-net-developers-guide.html' title='Delphi for .NET Developer&apos;s Guide'/><author><name>mILAN</name><uri>http://www.blogger.com/profile/18166736704399832422</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6407108.post-110362194485859558</id><published>2004-12-21T15:24:00.000+05:45</published><updated>2005-01-10T13:12:00.906+05:45</updated><title type='text'>Console application with ADO in Delphi</title><content type='html'>I am working on this project which need little plug-in to be written. Main thing is that the plugin should be console application and must have database access support. So, I started writing a code in Delphi but couldn't get things work properly. No matter what I tried, I got memory access violation. With little research, I found that &lt;b&gt;CoInitialization&lt;/b&gt; is needed to be called before any ADO component is initialized and used. Below is the source of sample console application with ADO support in Delphi;
&lt;span style="color:black;"&gt;
&lt;/span&gt;&lt;pre&gt;&lt;span style="color:black;"&gt;&lt;span style="color:black;"&gt;&lt;b&gt;program&lt;/b&gt;&lt;/span&gt; Project1;
&lt;span style="color:green;"&gt;&lt;i&gt;{$APPTYPE CONSOLE}&lt;/i&gt;&lt;/span&gt;

&lt;span style="color:black;"&gt;&lt;b&gt;uses&lt;/b&gt;&lt;/span&gt;
 ADOdb,
 ActiveX;

&lt;span style="color:black;"&gt;&lt;b&gt;var&lt;/b&gt;&lt;/span&gt;
 conMain : TADOConnection;
 tab1 : TADOTable;

&lt;span style="color:black;"&gt;&lt;b&gt;begin&lt;/b&gt;&lt;/span&gt;
 CoInitialize(&lt;span style="color:black;"&gt;&lt;b&gt;nil&lt;/b&gt;&lt;/span&gt;);
 conMain := TADOConnection.Create(&lt;span style="color:black;"&gt;&lt;b&gt;nil&lt;/b&gt;&lt;/span&gt;);
 tab1 := TADOTable.Create(&lt;span style="color:black;"&gt;&lt;b&gt;nil&lt;/b&gt;&lt;/span&gt;);

&lt;/span&gt;&lt;span style="color:black;"&gt; conMain.ConnectionString := &lt;span style="color:blue;"&gt;'{your connection string here}'&lt;/span&gt;;
 conMain.LoginPrompt := False;
 conMain.Open;

&lt;/span&gt;&lt;span style="color:black;"&gt; tab1.Connection := conMain;
 tab1.TableName := &lt;span style="color:blue;"&gt;'{your table name here}'&lt;/span&gt;;
 tab1.Active := True;
 tab1.Recordset.MoveFirst;
&lt;/span&gt;&lt;p&gt;&lt;span style="color:black;"&gt;&lt;span style="color:black;"&gt;&lt;b&gt; while&lt;/b&gt;&lt;/span&gt; &lt;span style="color:black;"&gt;&lt;b&gt;not&lt;/b&gt;&lt;/span&gt; tab1.Recordset.EOF &lt;span style="color:black;"&gt;&lt;b&gt;do&lt;/b&gt;&lt;/span&gt;
&lt;span style="color:black;"&gt;&lt;b&gt; begin&lt;/b&gt;&lt;/span&gt;
   writeln(tab1.Recordset.Fields[&lt;span style="color:red;"&gt;1&lt;/span&gt;].Value);
   tab1.Recordset.MoveNext;
&lt;span style="color:black;"&gt;&lt;b&gt; end&lt;/b&gt;&lt;/span&gt;;
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color:black;"&gt; CoUninitialize;
&lt;span style="color:black;"&gt;&lt;b&gt;end&lt;/b&gt;&lt;/span&gt;.
&lt;/span&gt;&lt;/p&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6407108-110362194485859558?l=milanl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://milanl.blogspot.com/feeds/110362194485859558/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6407108&amp;postID=110362194485859558' title='7 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6407108/posts/default/110362194485859558'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6407108/posts/default/110362194485859558'/><link rel='alternate' type='text/html' href='http://milanl.blogspot.com/2004/12/console-application-with-ado-in-delphi.html' title='Console application with ADO in Delphi'/><author><name>mILAN</name><uri>http://www.blogger.com/profile/18166736704399832422</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6407108.post-110293659158454951</id><published>2004-12-13T17:01:00.000+05:45</published><updated>2004-12-13T17:01:31.583+05:45</updated><title type='text'>My first PHP application</title><content type='html'>Since I am a delphi lover, I haven't got chance to develop serious application in it. Instead, I had to learn new things. First of all, we had this project in C#. Now, I had to work on PHP. But, the PHP project was really interesting. The main objective of this project was to parse various XML files and update MySQL database. Also, to develop web front end to implement search function. This project was actually a part of &lt;a href="http://www.shoes--boots.com"&gt;www.shoes--boots.com&lt;/a&gt; site.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6407108-110293659158454951?l=milanl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://milanl.blogspot.com/feeds/110293659158454951/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6407108&amp;postID=110293659158454951' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6407108/posts/default/110293659158454951'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6407108/posts/default/110293659158454951'/><link rel='alternate' type='text/html' href='http://milanl.blogspot.com/2004/12/my-first-php-application.html' title='My first PHP application'/><author><name>mILAN</name><uri>http://www.blogger.com/profile/18166736704399832422</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6407108.post-110172686878707532</id><published>2004-11-29T16:59:00.000+05:45</published><updated>2004-11-29T16:59:28.786+05:45</updated><title type='text'>First impression of Delphi 2005</title><content type='html'>Last week, I downloaded trial version of Delphi 2005 and played little bit. I must say, this is the version of Delphi everybody was waiting for long time. With multiple personality, it supports Delphi.NET, Win32 application and even C#. I was only able to explore ASP.NET part of it and everything work fine. I opened my Delphi 8 project 'worklog application' in Delphi 2005 and compiled. No problem! everything went smoothly. Also, tried opening and compiling my old Delphi 7 Win32 project in it. Worked find. I even tried refactoring tool in this project. Greate feature! Again, opened C# project written in C# Builder. Worked fine again! What to say now? I read few post about bugs in Delphi 2005 but couldn't reporduced any of them in my machine. I need to explore so many things in this version. Let's see how many bugs I will find. ;-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6407108-110172686878707532?l=milanl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://milanl.blogspot.com/feeds/110172686878707532/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6407108&amp;postID=110172686878707532' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6407108/posts/default/110172686878707532'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6407108/posts/default/110172686878707532'/><link rel='alternate' type='text/html' href='http://milanl.blogspot.com/2004/11/first-impression-of-delphi-2005.html' title='First impression of Delphi 2005'/><author><name>mILAN</name><uri>http://www.blogger.com/profile/18166736704399832422</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6407108.post-110136850527356266</id><published>2004-11-25T13:26:00.000+05:45</published><updated>2004-11-25T13:26:45.273+05:45</updated><title type='text'>Size does matter</title><content type='html'>Size may not matter everywhere but when it comes to application file size, it does matter.  
I was working on a small encryption routine for my pet project. I decided to put this routine in an assembly so that it can be used for other application also. The assembly is to be written in C# language and development tool was Borland C# Builder. Simply, I created a project in C# Builder and added 2 .cs files, wrote a code and compiled it. The resulting assembly (.DLL) file was 7.5 KB big. Simple! Worked everything fine. Now something came to my mind and I fired up MS Visual Studio.NET.  Created a project and added those 2 .cs files to it. Compiled it. Now what I saw was really surprising. This time assembly was about 20 KB big. I double checked everthing in both dev. tool for file count. Both projects had 2 .cs files. Now, can somebody tell me what is happening? Why VS.NET is producing bigger file than C# Builder? I am still confused !  
&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6407108-110136850527356266?l=milanl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://milanl.blogspot.com/feeds/110136850527356266/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6407108&amp;postID=110136850527356266' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6407108/posts/default/110136850527356266'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6407108/posts/default/110136850527356266'/><link rel='alternate' type='text/html' href='http://milanl.blogspot.com/2004/11/size-does-matter.html' title='Size does matter'/><author><name>mILAN</name><uri>http://www.blogger.com/profile/18166736704399832422</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6407108.post-110060142012979960</id><published>2004-11-16T16:22:00.000+05:45</published><updated>2004-11-16T16:22:00.130+05:45</updated><title type='text'>What's new in Delphi 2005</title><content type='html'>Bob Swart wrote &lt;a href="http://community.borland.com/article/0,1410,32778,00.html"&gt;article&lt;/a&gt; about Delphi 2005 new features, including IDE and compiler enhanchment.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6407108-110060142012979960?l=milanl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://milanl.blogspot.com/feeds/110060142012979960/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6407108&amp;postID=110060142012979960' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6407108/posts/default/110060142012979960'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6407108/posts/default/110060142012979960'/><link rel='alternate' type='text/html' href='http://milanl.blogspot.com/2004/11/whats-new-in-delphi-2005.html' title='What&apos;s new in Delphi 2005'/><author><name>mILAN</name><uri>http://www.blogger.com/profile/18166736704399832422</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6407108.post-109991359640403835</id><published>2004-11-08T17:18:00.000+05:45</published><updated>2004-11-08T17:18:16.403+05:45</updated><title type='text'>Error handling in ASP.NET</title><content type='html'>I've been doing some research on error handling in ASP.NET. All I wanted to show error detail in custom page instead of giving user Microsoft's ugly page. The sample code I found was using VB.NET, another ugly thing. In VB, there is some thing called shared class, which can not be implemeted in C# or Delphi. Using this shared class, whole exception can be passed to custom page, but it is no use for me. Then I found a sample code, which is also in VB, but gave me clue how to achieve things I wanted for long. I used &lt;b&gt;HttpContext.Current.Response.Write()&lt;/b&gt; method to give output. So, I wrote a library to handle all the errors generated in my application. Written completely using Borland's C# Builder, this library can be used with other ASP.NET application. I am planning to write an article on error handling and post it to &lt;a href="http://www.codeproject.com"&gt;codeproject.com&lt;/a&gt; along with source code of library.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6407108-109991359640403835?l=milanl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://milanl.blogspot.com/feeds/109991359640403835/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6407108&amp;postID=109991359640403835' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6407108/posts/default/109991359640403835'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6407108/posts/default/109991359640403835'/><link rel='alternate' type='text/html' href='http://milanl.blogspot.com/2004/11/error-handling-in-aspnet.html' title='Error handling in ASP.NET'/><author><name>mILAN</name><uri>http://www.blogger.com/profile/18166736704399832422</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6407108.post-109887173813486193</id><published>2004-10-27T15:53:00.000+05:45</published><updated>2004-10-27T15:53:58.133+05:45</updated><title type='text'>Dashain is over</title><content type='html'>Dashain is over and we are back at work! Although Dashain is our great festival, I enjoy it very little. It is no more fun as it used to be before, when we were child. When we were in school, we used to get full month of holiday. Then, we got 15 days off in collage days. Now, it's only 5 days. Damn! :-( Also, people are not in festive mood as political situation of Nepal is not so good.

&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6407108-109887173813486193?l=milanl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://milanl.blogspot.com/feeds/109887173813486193/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6407108&amp;postID=109887173813486193' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6407108/posts/default/109887173813486193'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6407108/posts/default/109887173813486193'/><link rel='alternate' type='text/html' href='http://milanl.blogspot.com/2004/10/dashain-is-over.html' title='Dashain is over'/><author><name>mILAN</name><uri>http://www.blogger.com/profile/18166736704399832422</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6407108.post-109816957567325868</id><published>2004-10-19T12:51:00.000+05:45</published><updated>2004-10-19T12:51:15.673+05:45</updated><title type='text'>Festiv Season</title><content type='html'>It is festival season in Nepal. It's &lt;b&gt;Dashain&lt;/b&gt;! We will be on vacation from 20th to 26th of October.  But, I will be working on my pet project 'Worklog Application' at home. My target is to finish it by the end of the vacation.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6407108-109816957567325868?l=milanl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://milanl.blogspot.com/feeds/109816957567325868/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6407108&amp;postID=109816957567325868' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6407108/posts/default/109816957567325868'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6407108/posts/default/109816957567325868'/><link rel='alternate' type='text/html' href='http://milanl.blogspot.com/2004/10/festiv-season.html' title='Festiv Season'/><author><name>mILAN</name><uri>http://www.blogger.com/profile/18166736704399832422</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6407108.post-109799712100205249</id><published>2004-10-17T12:57:00.000+05:45</published><updated>2004-10-17T12:57:01.003+05:45</updated><title type='text'>Popup calendar component</title><content type='html'>I was looking for good calendar component for my pet project, which must have feature to show calendar with pop-up. ;-) Googling gave me several links. Some of them were javascript based and some were written in C#. None of them were promising. While looking into some more links, I came to know about &lt;a href="http://www.eworldui.net/CustomControls/CalendarPopup.aspx"&gt;this site&lt;/a&gt;. Along with calendar componet I was looking for, there are several interesting components in this site. Also, there is a deployment tool for ASP.NET application known as &lt;a href="http://www.eworldui.net/UnleashIt/Default.aspx"&gt;'Unleashed It&lt;/a&gt;'.  Above all, every thing is FREE, except source.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6407108-109799712100205249?l=milanl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://milanl.blogspot.com/feeds/109799712100205249/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6407108&amp;postID=109799712100205249' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6407108/posts/default/109799712100205249'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6407108/posts/default/109799712100205249'/><link rel='alternate' type='text/html' href='http://milanl.blogspot.com/2004/10/popup-calendar-component.html' title='Popup calendar component'/><author><name>mILAN</name><uri>http://www.blogger.com/profile/18166736704399832422</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6407108.post-109773920120837040</id><published>2004-10-14T13:18:00.000+05:45</published><updated>2004-10-14T13:18:21.206+05:45</updated><title type='text'>Delphi 2005 announced!</title><content type='html'>Borland has announced Delphi 2005, new version of Delphi(code name "DiamondBack"). According to &lt;a href="http://www.borland.com/news/press_releases/2004/10_12_04_delphi2005_boosts_windows_productivity.html"&gt;press release&lt;/a&gt;, it is expected to ship in Nov. 2004.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6407108-109773920120837040?l=milanl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://milanl.blogspot.com/feeds/109773920120837040/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6407108&amp;postID=109773920120837040' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6407108/posts/default/109773920120837040'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6407108/posts/default/109773920120837040'/><link rel='alternate' type='text/html' href='http://milanl.blogspot.com/2004/10/delphi-2005-announced.html' title='Delphi 2005 announced!'/><author><name>mILAN</name><uri>http://www.blogger.com/profile/18166736704399832422</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6407108.post-109757418194677361</id><published>2004-10-12T15:28:00.000+05:45</published><updated>2004-10-12T15:31:06.713+05:45</updated><title type='text'>Introduction to the .NET Framework Class Library</title><content type='html'>Very interesting &lt;a href="http://blogs.borland.com/corbindunn/archive/2004/10/05/1535.aspx"&gt;post&lt;/a&gt; on .NET FCL by Corbin Dunn.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6407108-109757418194677361?l=milanl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://milanl.blogspot.com/feeds/109757418194677361/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6407108&amp;postID=109757418194677361' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6407108/posts/default/109757418194677361'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6407108/posts/default/109757418194677361'/><link rel='alternate' type='text/html' href='http://milanl.blogspot.com/2004/10/introduction-to-net-framework-class.html' title='Introduction to the .NET Framework Class Library'/><author><name>mILAN</name><uri>http://www.blogger.com/profile/18166736704399832422</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6407108.post-109686977599843348</id><published>2004-10-04T11:47:00.000+05:45</published><updated>2004-10-04T11:47:55.996+05:45</updated><title type='text'>Change image on condition in Datagrid</title><content type='html'>In my ASP.NET pet project,there is a page where list of users is shown in a datagrid. I wanted to have one column showing active status of users. I mean, if user is 'active' the grid will show color image. Similarly, if user is inactive, it should be represented by gray version of same image. Google was not able to find the solution(may be, search word was wrong). There was one forum where question was asked for this kind of functionality. Sad but truth, there was NO answer. So, I moved forward with other work in same project. 

After few days, while I was working with Repeater control, I had to look into it's help. My eyes stopped at a sample code for ItemDataBound event. That code gave me an idea to change column value at runtime. What you will see below is a code to show image in datagrid's column which change according to condition. 

First, insert an image in &lt;b&gt;itemtemplate&lt;/b&gt; section in .aspx as shown below; 

&lt;pre class="sourcecode"&gt;&lt;code&gt;
......
....
&amp;lt;asp:templatecolumn&amp;gt;
   &amp;lt;itemtemplate&amp;gt;
      &lt;font color="#9933CC"&gt;&amp;lt;asp:image id=&amp;quot;imgActiveStatus&amp;quot; runat=&amp;quot;server&amp;quot;/&amp;gt;&lt;/font&gt;
   &amp;lt;/itemtemplate&amp;gt;
&amp;lt;/asp:templatecolumn&amp;gt;
.....
...
&lt;/code&gt;&lt;/pre&gt;

Then, write a code for ItemDataBound even for grid as below;

&lt;pre class="sourcecode"&gt;&lt;code&gt;
&lt;b&gt;if&lt;/b&gt; (e.Item.ItemType = ListItemType.Item) &lt;b&gt;Or&lt;/b&gt;
   (e.Item.ItemType = ListItemType.AlternatingItem) &lt;b&gt;then&lt;/b&gt;
&lt;b&gt;begin&lt;/b&gt;
    &lt;b&gt;if&lt;/b&gt; DataBinder.Eval(e.Item.DataItem,&lt;font color="#9933CC"&gt;'Active'&lt;/font&gt;).ToString = &lt;font color="#9933CC"&gt;'True'&lt;/font&gt; &lt;b&gt;then&lt;/b&gt;
      (e.Item.FindControl(&lt;font color="#9933CC"&gt;'imgActiveStatus'&lt;/font&gt;) &lt;b&gt;as&lt;/b&gt; Image).ImageUrl := &lt;font color="#9933CC"&gt;'images/user_active.gif'&lt;/font&gt;
    &lt;b&gt;else&lt;/b&gt;
      (e.Item.FindControl(&lt;font color="#9933CC"&gt;'imgActiveStatus'&lt;/font&gt;)&lt;b&gt;as&lt;/b&gt; Image).ImageUrl := &lt;font color="#9933CC"&gt;'images/user_inactive.gif'&lt;/font&gt;;
&lt;b&gt;end&lt;/b&gt;;
&lt;/code&gt;&lt;/pre&gt;
&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6407108-109686977599843348?l=milanl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://milanl.blogspot.com/feeds/109686977599843348/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6407108&amp;postID=109686977599843348' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6407108/posts/default/109686977599843348'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6407108/posts/default/109686977599843348'/><link rel='alternate' type='text/html' href='http://milanl.blogspot.com/2004/10/change-image-on-condition-in-datagrid.html' title='Change image on condition in Datagrid'/><author><name>mILAN</name><uri>http://www.blogger.com/profile/18166736704399832422</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6407108.post-109662289511304625</id><published>2004-10-01T15:13:00.000+05:45</published><updated>2004-10-01T15:13:15.113+05:45</updated><title type='text'>Delphi 8</title><content type='html'>I've been using Delphi since it's first version. It is my first and last choice as application development tool. Now, after using Delphi 8, I am little disappointed. Even after installing update 2 and applying unofficial patch, it is messing up my code. I use this 8th version mostly for ASP.NET application. It is only .aspx files that Delphi is messing around. Beside that, I love Delphi 8. I thank Borland for giving Delphi lover like me a chance to develop .NET application using Delphi language. Also, I feel very confident and productive developing ASP.NET application these days. 

I still have more to look into Delphi 8, namely, BDP, VCL.NET etc. But I think I will be looking all these stuffs in Delphi 9 only.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6407108-109662289511304625?l=milanl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://milanl.blogspot.com/feeds/109662289511304625/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6407108&amp;postID=109662289511304625' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6407108/posts/default/109662289511304625'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6407108/posts/default/109662289511304625'/><link rel='alternate' type='text/html' href='http://milanl.blogspot.com/2004/10/delphi-8.html' title='Delphi 8'/><author><name>mILAN</name><uri>http://www.blogger.com/profile/18166736704399832422</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6407108.post-109636906267237819</id><published>2004-09-28T16:42:00.000+05:45</published><updated>2004-09-28T16:42:42.673+05:45</updated><title type='text'>Agile, Scrum.... what next??</title><content type='html'>Our boss is pushing Agile method while we are practicing Scrum with small project. Also, few are also with pair programming. So what next? Too many things to learn here. Personally, I found scrum method is interesting and worth practicing.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6407108-109636906267237819?l=milanl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://milanl.blogspot.com/feeds/109636906267237819/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6407108&amp;postID=109636906267237819' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6407108/posts/default/109636906267237819'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6407108/posts/default/109636906267237819'/><link rel='alternate' type='text/html' href='http://milanl.blogspot.com/2004/09/agile-scrum-what-next.html' title='Agile, Scrum.... what next??'/><author><name>mILAN</name><uri>http://www.blogger.com/profile/18166736704399832422</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6407108.post-109584772874001559</id><published>2004-09-22T15:53:00.000+05:45</published><updated>2004-09-22T15:56:25.386+05:45</updated><title type='text'>Presentation on GNU/Linux</title><content type='html'>Beside programming, I also do some networking stuff. Administrating office network is my another job. 

Our boss has started new trend. According to which, everyone will be giving presentation on what they are comfortable with, either technical or non-technical. Today was my turn and I gave presentation on GNU/Linux. Everybody was listening carefully. I talked mostly about administrating GNU/Linux. I found that people were paying their attention more than I expected. ;-)
&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6407108-109584772874001559?l=milanl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://milanl.blogspot.com/feeds/109584772874001559/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6407108&amp;postID=109584772874001559' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6407108/posts/default/109584772874001559'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6407108/posts/default/109584772874001559'/><link rel='alternate' type='text/html' href='http://milanl.blogspot.com/2004/09/presentation-on-gnulinux.html' title='Presentation on GNU/Linux'/><author><name>mILAN</name><uri>http://www.blogger.com/profile/18166736704399832422</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6407108.post-109541968008617669</id><published>2004-09-17T16:59:00.000+05:45</published><updated>2004-09-17T16:59:40.086+05:45</updated><title type='text'>Good Friday</title><content type='html'>Since we are free, everybody wanted fun. So, today is party day. First of all, we had special lunch. The reason for saying 'special' to our lunch is, we had really good fish curry made by one of our collegue. Then, we had a beer ;-)! Now everybody is feeling sleepy and wants to go HOME!

By the way, I didn't have chance to look into StarTeam Integration with VS.NET.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6407108-109541968008617669?l=milanl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://milanl.blogspot.com/feeds/109541968008617669/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6407108&amp;postID=109541968008617669' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6407108/posts/default/109541968008617669'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6407108/posts/default/109541968008617669'/><link rel='alternate' type='text/html' href='http://milanl.blogspot.com/2004/09/good-friday.html' title='Good Friday'/><author><name>mILAN</name><uri>http://www.blogger.com/profile/18166736704399832422</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6407108.post-109532815180579532</id><published>2004-09-16T15:34:00.000+05:45</published><updated>2004-09-16T15:34:11.806+05:45</updated><title type='text'>StarTeam Integration</title><content type='html'>I've successfully integrated StarTeam with C# Builder.  After installing Microsoft SCC Integration, C# Builder immediately identified the provider and I was already working with the project from repository. This is my first experience with commerical VCS. Really nice to see everything working smoothly. Also, I am monitoring posts in Borland newgroup so that I don't miss anything important. 

My next task is to integrate it with Visual Studio.NET. In order to explain everything to my friends, I need to understand the whole process, so it is not just integrating and testing. I will be relying on Starteam documentation which is really really good.

&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6407108-109532815180579532?l=milanl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://milanl.blogspot.com/feeds/109532815180579532/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6407108&amp;postID=109532815180579532' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6407108/posts/default/109532815180579532'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6407108/posts/default/109532815180579532'/><link rel='alternate' type='text/html' href='http://milanl.blogspot.com/2004/09/starteam-integration.html' title='StarTeam Integration'/><author><name>mILAN</name><uri>http://www.blogger.com/profile/18166736704399832422</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6407108.post-109524729412911971</id><published>2004-09-15T17:06:00.000+05:45</published><updated>2004-09-15T17:06:34.130+05:45</updated><title type='text'>StarTeam working</title><content type='html'>After spending few hours with StarTeam manual, I was able to get idea about how things work with it.  My aim was to install and configure StarTeam server and client and understand how this software works. After insallation, I tried with my small C# project and really worked smoothly. I have an experience of &lt;a href="http://www.freevcs.org"&gt;FreeVCS&lt;/a&gt;, so I already know how version control system works. I must say, StarTeam is feature rich but little complicated to understand at first. 

I will be looking at StarTeam Integration with C# Builder and Delphi 8 tomorrow.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6407108-109524729412911971?l=milanl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://milanl.blogspot.com/feeds/109524729412911971/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6407108&amp;postID=109524729412911971' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6407108/posts/default/109524729412911971'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6407108/posts/default/109524729412911971'/><link rel='alternate' type='text/html' href='http://milanl.blogspot.com/2004/09/starteam-working.html' title='StarTeam working'/><author><name>mILAN</name><uri>http://www.blogger.com/profile/18166736704399832422</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6407108.post-109522415008791279</id><published>2004-09-15T10:40:00.000+05:45</published><updated>2004-09-15T10:45:41.246+05:45</updated><title type='text'>My GMail account</title><content type='html'>I got GMail account with id &lt;b&gt;milan.np&lt;/b&gt;. Thanx to &lt;a href="http://www.nplinux.org/rvibek"&gt;Vicky&lt;/a&gt; for invitation. 

Just downloaded GMail Notifier from google site. Cool application.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6407108-109522415008791279?l=milanl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://milanl.blogspot.com/feeds/109522415008791279/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6407108&amp;postID=109522415008791279' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6407108/posts/default/109522415008791279'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6407108/posts/default/109522415008791279'/><link rel='alternate' type='text/html' href='http://milanl.blogspot.com/2004/09/i-got-gmail-account.html' title='My GMail account'/><author><name>mILAN</name><uri>http://www.blogger.com/profile/18166736704399832422</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6407108.post-109514404653676854</id><published>2004-09-14T12:25:00.000+05:45</published><updated>2004-09-14T12:29:06.716+05:45</updated><title type='text'>About DiamondBack</title><content type='html'>It is understood that Borland is putting more and more effort on making single IDE for Win32 application and .NET application, but I came to know Diamodback(Delphi 9) is also going to support C# as well. This is great news. Also, I got some more info on Diamondback from &lt;a href="http://www.lemanix.com/nick/archive/2004/09/13/1305.aspx"&gt;Nick's Delphi Blog&lt;/a&gt;.  According to Nick, Delphi 9 will have Refactoring tool, Unit testing tool, enhanced HTML desinger etc. Also, there will be tight integration between IDE and Starteam. Also, it will have Web Deployment Manager to deploy ASP.NET application. Isn't it GREAT?  I wonder when Borland gonna release this great software. 

By the way, congratulation to Nick on getting 2004 Spirit of Delphi award. :-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6407108-109514404653676854?l=milanl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://milanl.blogspot.com/feeds/109514404653676854/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6407108&amp;postID=109514404653676854' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6407108/posts/default/109514404653676854'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6407108/posts/default/109514404653676854'/><link rel='alternate' type='text/html' href='http://milanl.blogspot.com/2004/09/about-diamondback.html' title='About DiamondBack'/><author><name>mILAN</name><uri>http://www.blogger.com/profile/18166736704399832422</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6407108.post-109506422534770968</id><published>2004-09-13T14:15:00.000+05:45</published><updated>2004-09-13T14:15:25.346+05:45</updated><title type='text'>Version Controlling</title><content type='html'>I am also doing some research on version controlling system while updating myself for BorCon. Just installed Borland StarTeam. Seems like very complicated software. 

It was FreeVCS that made our life easier. But our team need some more. They need a software which can be integrated with development tool. We are focusing on C# Builder so obviously StarTeam will be my first choice. Honestly, I am still happy with FreeVCS. I still use it at home for my pet projects.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6407108-109506422534770968?l=milanl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://milanl.blogspot.com/feeds/109506422534770968/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6407108&amp;postID=109506422534770968' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6407108/posts/default/109506422534770968'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6407108/posts/default/109506422534770968'/><link rel='alternate' type='text/html' href='http://milanl.blogspot.com/2004/09/version-controlling.html' title='Version Controlling'/><author><name>mILAN</name><uri>http://www.blogger.com/profile/18166736704399832422</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6407108.post-109506095969498443</id><published>2004-09-13T13:20:00.000+05:45</published><updated>2004-09-13T13:26:37.726+05:45</updated><title type='text'>Borland Conference 2004</title><content type='html'>Today is already 3rd day of BorCon. I am monitoring Borcon events from various sources. One of which is &lt;a href="http://www.marcocantu.com/development/borcon2004/default.htm"&gt;Marco Cantu's site&lt;/a&gt;.  Another is &lt;a href="http://www.lemanix.com/nick/"&gt;Nick's Delphi Blog&lt;/a&gt;.I was really interested in getting more information on upcoming version of Delphi, code name 'DiamondBack'. And guess what? I found it &lt;a href="http://excastle.com/blog/archive/2004/09/12/269.aspx"&gt;here&lt;/a&gt;.  

&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6407108-109506095969498443?l=milanl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://milanl.blogspot.com/feeds/109506095969498443/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6407108&amp;postID=109506095969498443' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6407108/posts/default/109506095969498443'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6407108/posts/default/109506095969498443'/><link rel='alternate' type='text/html' href='http://milanl.blogspot.com/2004/09/borland-conference-2004.html' title='Borland Conference 2004'/><author><name>mILAN</name><uri>http://www.blogger.com/profile/18166736704399832422</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6407108.post-109480836778857389</id><published>2004-09-10T15:11:00.001+05:45</published><updated>2004-09-10T15:26:21.653+05:45</updated><title type='text'>Books I am reading</title><content type='html'>1) Professional C# (2nd Edition) - Wrox Press - Robinson, Allen, Cornes....
2) Pragmatic Unit Testing in C# with NUnit - Andrew Hunt, David Thomas
&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6407108-109480836778857389?l=milanl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://milanl.blogspot.com/feeds/109480836778857389/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6407108&amp;postID=109480836778857389' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6407108/posts/default/109480836778857389'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6407108/posts/default/109480836778857389'/><link rel='alternate' type='text/html' href='http://milanl.blogspot.com/2004/09/books-i-am-reading.html' title='Books I am reading'/><author><name>mILAN</name><uri>http://www.blogger.com/profile/18166736704399832422</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6407108.post-109480130835360959</id><published>2004-09-10T13:13:00.000+05:45</published><updated>2004-09-10T13:13:28.353+05:45</updated><title type='text'>Learning Time</title><content type='html'>Since we are free, everybody is busy learning something. Somebody is learning 'Agile Software Development', while others are busy with 'Scrum' and 'Pair programming'. I am busy with .NET. ;) I am working on small pet project which is ASP.NET application. With Delphi 8, this project is going very smoothly. Also, I am trying to learn C# , with Borland's C# Builder. 

Recently, I found this build tool called &lt;a href="http://www.atozedsoftware.com/finalbuilder/"&gt;FinalBuilder&lt;/a&gt;.  If you want to automate your build, then this is the perfect tool for you. I wish there was a  free version of this software.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6407108-109480130835360959?l=milanl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://milanl.blogspot.com/feeds/109480130835360959/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6407108&amp;postID=109480130835360959' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6407108/posts/default/109480130835360959'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6407108/posts/default/109480130835360959'/><link rel='alternate' type='text/html' href='http://milanl.blogspot.com/2004/09/learning-time.html' title='Learning Time'/><author><name>mILAN</name><uri>http://www.blogger.com/profile/18166736704399832422</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6407108.post-109479988498892475</id><published>2004-09-10T12:49:00.000+05:45</published><updated>2004-09-10T12:49:44.986+05:45</updated><title type='text'>The Beginning</title><content type='html'>I've been blogging for a long but this is my first post in Blogspot. My old blog is still &lt;a href="http://www.nplinux.org/milan_np"&gt;here&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6407108-109479988498892475?l=milanl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://milanl.blogspot.com/feeds/109479988498892475/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6407108&amp;postID=109479988498892475' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6407108/posts/default/109479988498892475'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6407108/posts/default/109479988498892475'/><link rel='alternate' type='text/html' href='http://milanl.blogspot.com/2004/09/beginning_10.html' title='The Beginning'/><author><name>mILAN</name><uri>http://www.blogger.com/profile/18166736704399832422</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
