<?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-10716302</id><updated>2011-04-21T14:24:42.964-07:00</updated><category term='C#'/><category term='XML'/><category term='Serialization/Deserialization'/><title type='text'>Techie Talks</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://techietalks.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10716302/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://techietalks.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Sreeram</name><uri>http://www.blogger.com/profile/14544335977459968556</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>36</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-10716302.post-4695207839825011870</id><published>2007-08-19T21:51:00.000-07:00</published><updated>2007-08-19T21:55:57.409-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Serialization/Deserialization'/><category scheme='http://www.blogger.com/atom/ns#' term='XML'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>Mysterious disappearance of \r in new line during deserialization</title><content type='html'>I was trying to deserialize an XML into a business object, and found that all my multiline strings have "\n" as the new line character as opposed to the expected "\r\n".&lt;br /&gt;&lt;br /&gt;The culprit turned out to be the &lt;strong&gt;&lt;u&gt;reader used for deserialization.&lt;/u&gt;&lt;/strong&gt; This issue will go away if XmlTextReader is used to read the xml (instead of TextReader or StreamReader).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10716302-4695207839825011870?l=techietalks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://techietalks.blogspot.com/feeds/4695207839825011870/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10716302&amp;postID=4695207839825011870' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10716302/posts/default/4695207839825011870'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10716302/posts/default/4695207839825011870'/><link rel='alternate' type='text/html' href='http://techietalks.blogspot.com/2007/08/mysterious-disappearance-of-r-in-new.html' title='Mysterious disappearance of \r in new line during deserialization'/><author><name>Sreeram</name><uri>http://www.blogger.com/profile/14544335977459968556</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-10716302.post-115384675426998426</id><published>2006-07-25T09:54:00.000-07:00</published><updated>2006-07-25T09:59:14.340-07:00</updated><title type='text'>Mapping a business object onto a Windows Forms DataGridViewComboBoxCell</title><content type='html'>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;p&gt;Well, after about two weeks of fighting to solve this issue, I found a solution today.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Issue:&lt;/strong&gt; Mapping a business object onto a Windows Forms DataGridViewComboBoxCell.&lt;/p&gt;  &lt;p&gt;The crux of the issue arises from the fact that a DataGridViewComboBoxCell doesn't have a SelectedItem property.&lt;/p&gt;  &lt;strong&gt;Solution:&lt;/strong&gt; Got it from &lt;a href="http://msdn2.microsoft.com/en-us/library/ms404353.aspx"&gt;here.&lt;/a&gt;&lt;br/&gt; &lt;p&gt;&lt;strong&gt;Overview:&lt;/strong&gt; Add a proprety to the business object that refers to itself, and map it to the DataGridViewComboBoxCell's Value property.&lt;br/&gt; &lt;/p&gt;  &lt;p&gt;E.g: &lt;br/&gt; &lt;/p&gt;  &lt;p&gt;public class Dimension&lt;br/&gt; {&lt;/p&gt;  &lt;p&gt;    ...&lt;br/&gt;     ...&lt;/p&gt;  &lt;p&gt;    public Dimension Self&lt;br/&gt;     { return this; }&lt;/p&gt;  &lt;p&gt;   ...&lt;br/&gt;     ...&lt;/p&gt;  &lt;p&gt;}&lt;br/&gt; &lt;/p&gt;  &lt;br/&gt; &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10716302-115384675426998426?l=techietalks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://techietalks.blogspot.com/feeds/115384675426998426/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10716302&amp;postID=115384675426998426' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10716302/posts/default/115384675426998426'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10716302/posts/default/115384675426998426'/><link rel='alternate' type='text/html' href='http://techietalks.blogspot.com/2006/07/mapping-business-object-onto-windows.html' title='Mapping a business object onto a Windows Forms DataGridViewComboBoxCell'/><author><name>Sreeram</name><uri>http://www.blogger.com/profile/14544335977459968556</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-10716302.post-115220578399359522</id><published>2006-07-06T10:04:00.000-07:00</published><updated>2006-07-06T10:09:44.030-07:00</updated><title type='text'>Using a router as a switch</title><content type='html'>In order to use a router to be used as a switch, do the following:&lt;br /&gt;&lt;br /&gt;1) Disable DHCP in the router&lt;br /&gt;2) Connect the connection to be swtiched &lt;span style="font-weight: bold;"&gt;to one of the output ports&lt;/span&gt; of the router.&lt;br /&gt;3) Set a static IP for the router&lt;br /&gt;4) Connect the devices receiving the switched connection to one of the remaining output ports&lt;br /&gt;&lt;br /&gt;This way, the number of switced ports available would be total number of router output ports - 1.&lt;br /&gt;(The WAN port of the router will be dumb, unused).&lt;br /&gt;&lt;br /&gt;Advantages:&lt;br /&gt;1. Make use of one of the "lying around" router as a switch.&lt;br /&gt;&lt;br /&gt;Disadvantage:&lt;br /&gt;1. Routers are costlier than switch. So, next time a router is needed, make sure you buy a switch instead and pull the router off this make-shift arrangement and use it.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10716302-115220578399359522?l=techietalks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://techietalks.blogspot.com/feeds/115220578399359522/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10716302&amp;postID=115220578399359522' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10716302/posts/default/115220578399359522'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10716302/posts/default/115220578399359522'/><link rel='alternate' type='text/html' href='http://techietalks.blogspot.com/2006/07/using-router-as-switch.html' title='Using a router as a switch'/><author><name>Sreeram</name><uri>http://www.blogger.com/profile/14544335977459968556</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-10716302.post-115194384125105025</id><published>2006-07-03T09:20:00.000-07:00</published><updated>2006-07-06T10:11:08.086-07:00</updated><title type='text'>Suggestion: Encapsulate-only field</title><content type='html'>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;p&gt;How about a way of ensuring that a programmer uses only a property encapsulating a variable as opposed to directly acessing a variable?&lt;/p&gt;  &lt;p&gt;e.g.:&lt;br /&gt;&lt;/p&gt;  &lt;p&gt;// The property-only descriptor is the desired feature.&lt;br /&gt;// The variable must be readable only in a fixed descriptor (MyInt)&lt;br /&gt;// mentioned within the angle brackets.&lt;br /&gt;private &lt;span style="color: rgb(51, 102, 255);"&gt;property-only&amp;lt;MyInt&amp;gt;&lt;/span&gt; int myInt;&lt;br /&gt;public int MyInt&lt;br /&gt;{&lt;br /&gt;&lt;t&gt;           get { return &lt;span style="color: rgb(0, 153, 0);"&gt;myInt&lt;/span&gt;; } &lt;span style="color: rgb(0, 153, 0);"&gt;//OK to access the variable inside the descriptor&lt;/span&gt;&lt;br /&gt;      set { &lt;span style="color: rgb(0, 153, 0);"&gt;myInt &lt;/span&gt;= value; }&lt;br /&gt;}&lt;/t&gt;&lt;/p&gt;    &lt;p&gt;public int SecondAccessor&lt;br /&gt;{&lt;br /&gt;      get { return &lt;span style="color: rgb(255, 0, 0);"&gt;myInt&lt;/span&gt;; } &lt;span style="color: rgb(255, 0, 0);"&gt;//Compiler must issue an error.&lt;/span&gt;&lt;br /&gt;}&lt;br /&gt;&lt;/p&gt;      &lt;p&gt;private void foo()&lt;br /&gt;{&lt;br /&gt;      ....&lt;br /&gt;      this.&lt;span style="color: rgb(255, 0, 0);"&gt;myInt &lt;/span&gt;= 10;  &lt;span style="color: rgb(255, 0, 0);"&gt;//Compiler must issue an error&lt;/span&gt;&lt;br /&gt;      this.&lt;span style="color: rgb(0, 153, 0);"&gt;MyInt &lt;/span&gt;= 10; &lt;span style="color: rgb(0, 153, 0);"&gt;//OK&lt;/span&gt;&lt;br /&gt;      ....&lt;br /&gt;}&lt;/p&gt;  &lt;p&gt;This way, it is ensured during compile time itself that no direct access to a particular variable within the code (except in the predetermined property) is allowed. This will be helpful&lt;br /&gt;&lt;/p&gt;  &lt;p&gt;1) In cases in where reference variables are lazy initialized.&lt;br /&gt;(eg: in get of MyRef property, if(myRef == null) myRef = new Ref(); return myRef;).&lt;br /&gt;&lt;/p&gt;  &lt;p&gt;2) Moreover, ensures that the variables are initialized properly.&lt;br /&gt;&lt;/p&gt;  &lt;p&gt;3) Also, it ensures access-time checking of variables - for bounds, value ranges, value legality etc.&lt;br /&gt;&lt;/p&gt;  &lt;p&gt;4) Any "side-effect" code within the accessors are fired, for sure.&lt;br /&gt;&lt;/p&gt;  &lt;p&gt;(Of course, for 2 and 3 the initialization/validation must be coded inside appropriate acessors. This method ensures that they are fired each time the local variable needs to be accessed, by protecting accidental access to local variable instead of the accessor.)&lt;/p&gt;&lt;p style="font-weight: bold;"&gt;&lt;u&gt;Update:&lt;/u&gt;&lt;/p&gt;&lt;p&gt;The current way of handling this issue is to name the private variable starting with an underscore ( _ ).&lt;/p&gt;&lt;p&gt;e.g.:&lt;br /&gt;private &lt;span style="color: rgb(51, 102, 255);"&gt;i&lt;/span&gt;nt _myInt;&lt;br /&gt;public int MyInt&lt;br /&gt;{&lt;br /&gt;&lt;t&gt;           get { return &lt;span style="color: rgb(0, 153, 0);"&gt;_myInt&lt;/span&gt;; }&lt;span style="color: rgb(0, 153, 0);"&gt;&lt;/span&gt;&lt;br /&gt;      set { _&lt;span style="color: rgb(0, 153, 0);"&gt;myInt &lt;/span&gt;= value; }&lt;br /&gt;}&lt;/t&gt;&lt;/p&gt;&lt;p&gt;&lt;t&gt;This does prevent ease of the local variable access to a great extent within the code. Yet, it doesn't warrant prevention against accidental access. However, since most of the errors would be happening while using autocomplete, I guess the underscore strategy would be good enough.&lt;br /&gt;&lt;/t&gt;&lt;/p&gt;  &lt;p style="font-size: 10px; text-align: right;"&gt;technorati tags:&lt;a href="http://technorati.com/tag/Suggestions" rel="tag"&gt;Suggestions&lt;/a&gt;, &lt;a href="http://technorati.com/tag/Technology" rel="tag"&gt;Technology&lt;/a&gt;, &lt;a href="http://technorati.com/tag/C%23" rel="tag"&gt;C#&lt;/a&gt;, &lt;a href="http://technorati.com/tag/.NET" rel="tag"&gt;.NET&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10716302-115194384125105025?l=techietalks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://techietalks.blogspot.com/feeds/115194384125105025/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10716302&amp;postID=115194384125105025' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10716302/posts/default/115194384125105025'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10716302/posts/default/115194384125105025'/><link rel='alternate' type='text/html' href='http://techietalks.blogspot.com/2006/07/suggestion-encapsulate-only-field.html' title='Suggestion: Encapsulate-only field'/><author><name>Sreeram</name><uri>http://www.blogger.com/profile/14544335977459968556</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-10716302.post-115090683321302490</id><published>2006-06-21T09:16:00.000-07:00</published><updated>2006-06-21T09:20:33.283-07:00</updated><title type='text'>ID3 Tag editing using Windows Explorer - Not anymore!?!</title><content type='html'>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;p&gt;God help us all! I have been so used to using Windows Explorer to edit the ID3 tags of my music files.&lt;/p&gt;  &lt;p&gt;Well, enter Windows XP 64bit, the facility is gone!! Why? Because WMP 10 has tag editing?? God knows!&lt;/p&gt;  &lt;p&gt;Got a work around by opening the 32bit version of explorer by "run"ning "C:\windows\syswow64\explorer.exe /separate"&lt;/p&gt;  &lt;p&gt;[Source: http://www.msfn.org/board/index.php?showtopic=56224]&lt;br/&gt; &lt;/p&gt;  &lt;p style="text-align: right; font-size: 8px"&gt;Blogged with &lt;a href="http://www.flock.com" target="_new" title="Flock"&gt;Flock&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10716302-115090683321302490?l=techietalks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://techietalks.blogspot.com/feeds/115090683321302490/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10716302&amp;postID=115090683321302490' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10716302/posts/default/115090683321302490'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10716302/posts/default/115090683321302490'/><link rel='alternate' type='text/html' href='http://techietalks.blogspot.com/2006/06/id3-tag-editing-using-windows-explorer.html' title='ID3 Tag editing using Windows Explorer - Not anymore!?!'/><author><name>Sreeram</name><uri>http://www.blogger.com/profile/14544335977459968556</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-10716302.post-115032232143153772</id><published>2006-06-14T14:55:00.000-07:00</published><updated>2006-06-14T15:00:49.770-07:00</updated><title type='text'>Google and Colors</title><content type='html'>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;p&gt;Lemme keep this short. I have my &lt;a href="http://www.google.com/ig"&gt;personlized google page&lt;/a&gt; as my home page. I see the page atleast 200 times a day. Well, as a matter of fact, the sight of the page has become a bit insipid these days. A color burn kind of thing! There is absolutely nothing "wrong" with the color. But, with everything and anything customizeable these days, why not give an option to change from the default light-blue to something else?&lt;br /&gt;&lt;/p&gt;  &lt;p&gt;Is there a way to do that already? Well, let me google for that... :D&lt;/p&gt;  &lt;p style="font-size: 10px; text-align: right;"&gt;technorati tags:&lt;a href="http://technorati.com/tag/Technology" rel="tag"&gt;Technology&lt;/a&gt;, &lt;a href="http://technorati.com/tag/Opinion" rel="tag"&gt;Opinion&lt;/a&gt;&lt;/p&gt;&lt;p style="text-align: right; font-size: 8px;"&gt;Blogged with &lt;a href="http://www.flock.com" target="_new" title="Flock"&gt;Flock&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10716302-115032232143153772?l=techietalks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://techietalks.blogspot.com/feeds/115032232143153772/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10716302&amp;postID=115032232143153772' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10716302/posts/default/115032232143153772'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10716302/posts/default/115032232143153772'/><link rel='alternate' type='text/html' href='http://techietalks.blogspot.com/2006/06/google-and-colors.html' title='Google and Colors'/><author><name>Sreeram</name><uri>http://www.blogger.com/profile/14544335977459968556</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-10716302.post-115031968319350184</id><published>2006-06-14T14:11:00.000-07:00</published><updated>2006-06-14T14:14:43.210-07:00</updated><title type='text'>Test blog from Flock</title><content type='html'>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;Testing blogging from a new browser by name Flock from Mozilla. The blog input system is integrated into the browser as a tool :)&lt;br/&gt; &lt;p style="font-size:10px;text-align:right;"&gt;technorati tags:&lt;a href="http://technorati.com/tag/Technology" rel="tag"&gt;Technology&lt;/a&gt;&lt;/p&gt;&lt;p style="text-align: right; font-size: 8px"&gt;Blogged with &lt;a href="http://www.flock.com" target="_new" title="Flock"&gt;Flock&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10716302-115031968319350184?l=techietalks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://techietalks.blogspot.com/feeds/115031968319350184/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10716302&amp;postID=115031968319350184' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10716302/posts/default/115031968319350184'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10716302/posts/default/115031968319350184'/><link rel='alternate' type='text/html' href='http://techietalks.blogspot.com/2006/06/test-blog-from-flock.html' title='Test blog from Flock'/><author><name>Sreeram</name><uri>http://www.blogger.com/profile/14544335977459968556</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-10716302.post-115031918630779429</id><published>2006-06-14T14:02:00.000-07:00</published><updated>2006-06-14T14:06:30.756-07:00</updated><title type='text'>Cool! Flock rocks!</title><content type='html'>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;p&gt;Tried this cool new browser today! Flock!! Amazing! Pretty neat features and keeping with Mozilla's (Oh! Did I mention that was Flock was by Mozilla) reputation of stability! &lt;br/&gt; &lt;/p&gt;  &lt;p style="font-size:10px;text-align:right;"&gt;technorati tags:&lt;a href="http://technorati.com/tag/Technology" rel="tag"&gt;Technology&lt;/a&gt;, &lt;a href="http://technorati.com/tag/Internet" rel="tag"&gt;Internet&lt;/a&gt;&lt;/p&gt;&lt;p style="text-align: right; font-size: 8px"&gt;Blogged with &lt;a href="http://www.flock.com" target="_new" title="Flock"&gt;Flock&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10716302-115031918630779429?l=techietalks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://techietalks.blogspot.com/feeds/115031918630779429/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10716302&amp;postID=115031918630779429' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10716302/posts/default/115031918630779429'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10716302/posts/default/115031918630779429'/><link rel='alternate' type='text/html' href='http://techietalks.blogspot.com/2006/06/cool-flock-rocks.html' title='Cool! Flock rocks!'/><author><name>Sreeram</name><uri>http://www.blogger.com/profile/14544335977459968556</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-10716302.post-114626048215558940</id><published>2006-04-28T14:36:00.000-07:00</published><updated>2006-04-28T14:41:55.896-07:00</updated><title type='text'>Creating custom events for dum(m)i(e)s</title><content type='html'>Purpose: To explain the process of creating and handling custom events.&lt;br /&gt;&lt;u&gt;Steps:&lt;/u&gt;&lt;br /&gt;&lt;br /&gt;1. Create a new class that extends the EventArgs class&lt;br /&gt;&lt;span style="color: rgb(102, 102, 204);"&gt;e.g.:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 204);"&gt;public class DataLockReleasedEventArgs : EventArgs&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 204);"&gt;{&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 204);"&gt;//Add extra properties and construtors&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 204);"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;2. Define the handler delegate&lt;br /&gt;&lt;span style="color: rgb(102, 102, 204);"&gt;e.g.:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 204);"&gt;public delegate void DataLockReleasedEventHandler(object o, DataLockReleasedEventArgs e);&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;3. In the class that will be generating the event, define the event&lt;br /&gt;&lt;span style="color: rgb(102, 102, 204);"&gt;e.g.:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 204);"&gt;public event DataLockReleasedEventHandler DataLockReleased;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;4. In the class that will be generating the event, create the "On" method (normally protected)&lt;br /&gt;&lt;span style="color: rgb(102, 102, 204);"&gt;e.g.:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 204);"&gt;protected static void OnDataLockReleased(DataLockReleasedEventArgs e)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 204);"&gt;{&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 204);"&gt;    if(DataLockReleased != null)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 204);"&gt;            DataLockReleased(new object(), e); //Instead of new object, pass a meaningful object&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 204);"&gt;} &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;5. In the class that will be generating the event, generate the event when appropriate&lt;br /&gt;&lt;span style="color: rgb(102, 102, 204);"&gt;e.g.:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 204);"&gt;public void EventGenerationMethod(...)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 204);"&gt;{&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 204);"&gt;    ...&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 204);"&gt;    ...&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 204);"&gt;    DataLockReleasedEventArgs dlrEventArgs = new DataLockReleasedEventArgs(); //Use appr constr&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 204);"&gt;    //Fill in the eventargs properties as necessary&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 204);"&gt;    OnDataLockReleased(dlrEventArgs);    &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 204);"&gt;    ...&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 204);"&gt;    ...    &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 204);"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;6. In the class that will be receiving the events, subscribe to the event, usually during the creation of the event defining class's object&lt;br /&gt;&lt;span style="color: rgb(102, 102, 204);"&gt;e.g.:&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(102, 102, 204);"&gt;public void CreationMethod()&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 204);"&gt;{&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 204);"&gt;    EventDefiningClass evDefClass = new EventDefiningClass();&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 204);"&gt;    evDefClass.DataLockReleased += new DataLockReleasedEventHandler(evDefClass_DataLockReleased);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 204);"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;7. In the class that will be receiving the events, define the event handling method&lt;br /&gt;&lt;span style="color: rgb(102, 102, 204);"&gt;e.g.:&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(102, 102, 204);"&gt;void evDefClass_DataLockReleased(object o, DataLockReleasedEventArgs e)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 204);"&gt;{&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 204);"&gt;    //Handle the event&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 204);"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 0, 204);"&gt; &lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10716302-114626048215558940?l=techietalks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://techietalks.blogspot.com/feeds/114626048215558940/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10716302&amp;postID=114626048215558940' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10716302/posts/default/114626048215558940'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10716302/posts/default/114626048215558940'/><link rel='alternate' type='text/html' href='http://techietalks.blogspot.com/2006/04/creating-custom-events-for-dummies.html' title='Creating custom events for dum(m)i(e)s'/><author><name>Sreeram</name><uri>http://www.blogger.com/profile/14544335977459968556</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-10716302.post-114511728633254559</id><published>2006-04-15T09:04:00.000-07:00</published><updated>2006-04-15T09:08:11.893-07:00</updated><title type='text'>I used hiding!!!</title><content type='html'>For the first time in my programming life, I fruitfully used method hiding functionality of object oriented programming!&lt;br /&gt;&lt;br /&gt;I am working on my own version of datagridview... and didnt want users to add new rows... !! I created a new accessor in my code by name "AllowUsersToAddNewRows", set its property to private and voila! I hid it :).&lt;br /&gt;&lt;br /&gt;I am happy that I used OOPS concepts at a real-level and not just another foo-bar learning exercise!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10716302-114511728633254559?l=techietalks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://techietalks.blogspot.com/feeds/114511728633254559/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10716302&amp;postID=114511728633254559' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10716302/posts/default/114511728633254559'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10716302/posts/default/114511728633254559'/><link rel='alternate' type='text/html' href='http://techietalks.blogspot.com/2006/04/i-used-hiding.html' title='I used hiding!!!'/><author><name>Sreeram</name><uri>http://www.blogger.com/profile/14544335977459968556</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-10716302.post-114193918100498591</id><published>2006-03-09T13:17:00.000-08:00</published><updated>2006-03-09T13:46:03.566-08:00</updated><title type='text'>Translate BitMask to NetMask for class C networks</title><content type='html'>Given a network address in the form of IPAddress/Bitmask, how would one get the netmask (or subnetmask) and the number of IP addresses available? This question cropped up when I was told that our company has been assigned a /29 ip address by NTS.&lt;br /&gt;&lt;br /&gt;Note: In a 32-bit IP address, the number of bits used to identify the network and the host vary according to the network class of the address. In a Class C network, the first 3 bits, or the high-order bits, are always "110." The next 21 bits are used to define the Class C network, and the final eight bits are used to identify the host. The IP address is represented in dotted decimal notation of four 8-bit fields, or octets, that have been converted from binary to decimal numbers. (Source: http://www.webopedia.com/TERM/C/Class_C_network.html)&lt;br /&gt;&lt;br /&gt;Answer: Every IP address of the form XYZ.XYZ.XYZ.XYZ (where 0 &lt;= XYZ &lt;= 255) can be represented by 32bits (4 bytes, 1 byte per group).  If the bitmask of the class C network is /BM and the starting IP is ABC.DEF.GHI.JKL, then, Number of computers in the subnet (NC)= 2^(32-BM). IP Range  = ABC.DEF.GHI.JKL to ABC.DEF.GHI.JKL + 2^NC - 1&lt;br /&gt;Subnet mask = A binary string with all but the (32-BM) lower order bits as zero. (in the four octect form).&lt;br /&gt;&lt;br /&gt;Example: A 215.179.162.224 /29 subnet has&lt;br /&gt;2^ (32 - 29) = 2 ^ 3 = 8 Ip address&lt;br /&gt;IP adresses range: from 215.179.162.224 to 215.179.162.231&lt;br /&gt;Subnet mask: (1111 1111)&lt;span style="font-size:78%;"&gt;2&lt;/span&gt;.(1111 1111)&lt;span style="font-size:78%;"&gt;2&lt;/span&gt;.(1111 1111)&lt;span style="font-size:78%;"&gt;2&lt;/span&gt;.(1111 1000)&lt;span style="font-size:78%;"&gt;2&lt;/span&gt; = 255.255.255.248&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10716302-114193918100498591?l=techietalks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://techietalks.blogspot.com/feeds/114193918100498591/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10716302&amp;postID=114193918100498591' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10716302/posts/default/114193918100498591'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10716302/posts/default/114193918100498591'/><link rel='alternate' type='text/html' href='http://techietalks.blogspot.com/2006/03/translate-bitmask-to-netmask-for-class.html' title='Translate BitMask to NetMask for class C networks'/><author><name>Sreeram</name><uri>http://www.blogger.com/profile/14544335977459968556</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-10716302.post-114125104610594363</id><published>2006-03-01T14:09:00.000-08:00</published><updated>2006-03-01T14:10:46.120-08:00</updated><title type='text'>Read a webpage as a string</title><content type='html'>private string WebPageFromURL(string url)&lt;br /&gt;        {            &lt;br /&gt;            WebRequest myWebRequest = WebRequest.Create(url);&lt;br /&gt;&lt;br /&gt;            // Send the 'WebRequest' and wait for response.&lt;br /&gt;            WebResponse myWebResponse = myWebRequest.GetResponse();&lt;br /&gt;&lt;br /&gt;            // Obtain a 'Stream' object associated with the response object.&lt;br /&gt;            Stream ReceiveStream = myWebResponse.GetResponseStream();&lt;br /&gt;&lt;br /&gt;            System.Text.Encoding encode = System.Text.Encoding.GetEncoding("utf-8");&lt;br /&gt;&lt;br /&gt;            // Pipe the stream to a higher level stream reader with the required encoding format. &lt;br /&gt;            StreamReader readStream = new StreamReader(ReceiveStream, encode);&lt;br /&gt;            string readStr = readStream.ReadToEnd();&lt;br /&gt;            readStream.Close();&lt;br /&gt;            ReceiveStream.Close();&lt;br /&gt;            myWebResponse.Close();&lt;br /&gt;&lt;br /&gt;            return readStr; &lt;br /&gt;        }&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10716302-114125104610594363?l=techietalks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://techietalks.blogspot.com/feeds/114125104610594363/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10716302&amp;postID=114125104610594363' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10716302/posts/default/114125104610594363'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10716302/posts/default/114125104610594363'/><link rel='alternate' type='text/html' href='http://techietalks.blogspot.com/2006/03/read-webpage-as-string.html' title='Read a webpage as a string'/><author><name>Sreeram</name><uri>http://www.blogger.com/profile/14544335977459968556</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-10716302.post-113016526341880324</id><published>2005-10-24T09:47:00.000-07:00</published><updated>2005-10-24T07:53:07.686-07:00</updated><title type='text'>ContextMenuStrip to appear only when user right clicks the header of a DataGridView</title><content type='html'>Problem:&lt;br /&gt;A context menu strip (cms) has been assigned to a data grid view (dgv) control and by default, it appears whenever the user right clicks anywhere on the control. However, it is required that it appears only when the header is right clicked.&lt;br /&gt;&lt;br /&gt;Solution:&lt;br /&gt;&lt;br /&gt;[Still searching...]&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10716302-113016526341880324?l=techietalks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://techietalks.blogspot.com/feeds/113016526341880324/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10716302&amp;postID=113016526341880324' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10716302/posts/default/113016526341880324'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10716302/posts/default/113016526341880324'/><link rel='alternate' type='text/html' href='http://techietalks.blogspot.com/2005/10/contextmenustrip-to-appear-only-when.html' title='ContextMenuStrip to appear only when user right clicks the header of a DataGridView'/><author><name>Sreeram</name><uri>http://www.blogger.com/profile/14544335977459968556</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-10716302.post-112682026997201963</id><published>2005-09-15T14:36:00.000-07:00</published><updated>2005-09-15T15:16:12.996-07:00</updated><title type='text'>ASP.NET Dynamic control loading, placement and styling</title><content type='html'>&lt;strong&gt;In order to load a system control such as TextBox, use:&lt;/strong&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;em&gt;&lt;span style="color:#6666cc;"&gt;TextBox tx = new TextBox();&lt;br /&gt;Controls.Add(tx);&lt;/span&gt;&lt;/em&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;This fails for some controls such as CheckBox. In such cases, add a panel, say "TestPanel" and add the control to the testpanel.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;color:#6666cc;"&gt;&lt;em&gt;CheckBox cb = new CheckBox();&lt;br /&gt;TestPanel.Controls.Add(cb);&lt;/em&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;In order to load a user control say MyUserControl.ascx, use&lt;/strong&gt;&lt;br /&gt;&lt;em&gt;&lt;span style="font-size:85%;color:#6666cc;"&gt;MyUserControl mucl = LoadControl("MyUserControl.ascx") as MyUserControl;&lt;br /&gt;TestPanel.Controls.Add(mucl);&lt;/span&gt;&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;This way, the properties and methods exposed by MyUserControl can be accessed. However, the individual child controls cannot be accessed directly. They may have to be set as property values by the control's code behind.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;u&gt;Placing and editing style of the control&lt;/u&gt;&lt;br /&gt;&lt;/strong&gt;Once a control is created, before loading it to a the page (or panel), their position, style etc can be set using the control object's Style attribute using:&lt;br /&gt;&lt;br /&gt;&lt;em&gt;&lt;span style="font-size:85%;color:#6666cc;"&gt;CheckBox cb = new CheckBox();&lt;br /&gt;cb.Style["display"] = "block"; // The block style of display positions the control on a new block/line&lt;br /&gt;TestPanel.Controls.Add(cb);&lt;/span&gt;&lt;/em&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10716302-112682026997201963?l=techietalks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://techietalks.blogspot.com/feeds/112682026997201963/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10716302&amp;postID=112682026997201963' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10716302/posts/default/112682026997201963'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10716302/posts/default/112682026997201963'/><link rel='alternate' type='text/html' href='http://techietalks.blogspot.com/2005/09/aspnet-dynamic-control-loading.html' title='ASP.NET Dynamic control loading, placement and styling'/><author><name>Sreeram</name><uri>http://www.blogger.com/profile/14544335977459968556</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-10716302.post-112654525072377382</id><published>2005-09-12T10:07:00.000-07:00</published><updated>2005-09-12T10:16:12.653-07:00</updated><title type='text'>VS 2005 Beta 2 - Templates vanish from "Add new item"</title><content type='html'>&lt;u&gt;Problem:&lt;/u&gt;&lt;br /&gt;In the Visual Studio 2005 Beta 2, suddenly today, when I try to add a new file to the project using "Right click on project" -&gt;Add New Item, the resulting dialog was empty! i.e., the templates were empty.&lt;br /&gt;&lt;br /&gt;&lt;u&gt;Solution:&lt;/u&gt;&lt;br /&gt;1) Open up a command prompt&lt;br /&gt;&lt;br /&gt;2) Go to folder having the executable for the Visual Studio 2005 Beta 2 IDE - devenv.exe, which in my setup was C:\Program Files\Microsoft Visual Studio 8\Common7\IDE&gt;&lt;br /&gt;&lt;br /&gt;3) Run &lt;em&gt;devenv.exe /resetuserdata&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;The process did not bring up any window. But, in my taskmanager, I could see the process running. Finally, it unloaded from taskmanager. At this point, I ran the IDE normally from Start menu and everything looks fine now.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10716302-112654525072377382?l=techietalks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://techietalks.blogspot.com/feeds/112654525072377382/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10716302&amp;postID=112654525072377382' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10716302/posts/default/112654525072377382'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10716302/posts/default/112654525072377382'/><link rel='alternate' type='text/html' href='http://techietalks.blogspot.com/2005/09/vs-2005-beta-2-templates-vanish-from.html' title='VS 2005 Beta 2 - Templates vanish from &quot;Add new item&quot;'/><author><name>Sreeram</name><uri>http://www.blogger.com/profile/14544335977459968556</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-10716302.post-112620764301055057</id><published>2005-09-08T09:55:00.000-07:00</published><updated>2005-09-08T12:27:23.036-07:00</updated><title type='text'>SQL JOIN</title><content type='html'>For a quick note on INNER/OUTER/LEFT/RIGHT JOIN available in SQL Server (I have no idea about its availability on other databases), see&lt;br /&gt;&lt;br /&gt;http://www.devx.com/dbzone/Article/17403/0/page/4&lt;br /&gt;http://www.w3schools.com/sql/sql_join.asp&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10716302-112620764301055057?l=techietalks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://techietalks.blogspot.com/feeds/112620764301055057/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10716302&amp;postID=112620764301055057' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10716302/posts/default/112620764301055057'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10716302/posts/default/112620764301055057'/><link rel='alternate' type='text/html' href='http://techietalks.blogspot.com/2005/09/sql-join.html' title='SQL JOIN'/><author><name>Sreeram</name><uri>http://www.blogger.com/profile/14544335977459968556</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-10716302.post-112619710480192758</id><published>2005-09-08T09:21:00.000-07:00</published><updated>2005-09-08T09:33:29.736-07:00</updated><title type='text'>Scheduler issue</title><content type='html'>&lt;u&gt;Problem&lt;/u&gt;&lt;br /&gt;A goodie that I have been looking for quite sometime is a nice little scheduler that can be updated online, exported offline and sync-ed when I go online again. If you have a server running Exchange Server (and you have an account in that :P), its a piece of cake. But, unfortunately, thats not the situation at hand with me. &lt;br /&gt;&lt;br /&gt;My office-mate suggested getting a BlackBerry 7100g cellfone which has a nice scheduler. Great idea, yet I am a fan of freebies or at least semi-bies, not ~200$-bie!&lt;br /&gt;&lt;br /&gt;&lt;u&gt;Solution&lt;/u&gt;&lt;br /&gt;So, here is a possible solution I came up with. I have Microsoft Outlook 2003 running at both my office and home. I am planning to make use of its export/import feature, use email as the exchange medium (or flash drive!) to move the schedule to and from home and office as .csv files. I guess I will be doing this for the Tasks and Calendar folders.&lt;br /&gt;&lt;br /&gt;&lt;u&gt;Future Work&lt;/u&gt;&lt;br /&gt;1) I need to create a small tool that does this sync-ing automatically, probably using a new Office addin for Visual Studio 2005&lt;br /&gt;&lt;br /&gt;2) Create a small tool that can read/write entries on the .csv files so that I can use it on comps where Outlook is not available.&lt;br /&gt;&lt;br /&gt;3) Have an online read/update site on this .csv file. Questions (other than how?): Where? (Read: Server)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10716302-112619710480192758?l=techietalks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://techietalks.blogspot.com/feeds/112619710480192758/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10716302&amp;postID=112619710480192758' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10716302/posts/default/112619710480192758'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10716302/posts/default/112619710480192758'/><link rel='alternate' type='text/html' href='http://techietalks.blogspot.com/2005/09/scheduler-issue.html' title='Scheduler issue'/><author><name>Sreeram</name><uri>http://www.blogger.com/profile/14544335977459968556</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-10716302.post-112619640755164091</id><published>2005-09-08T09:20:00.000-07:00</published><updated>2005-09-08T09:20:41.603-07:00</updated><title type='text'>Dual monitors!!</title><content type='html'>Before I forget, my company got me a video card yesterday that supports dual monitors. I added an LCD monitor to my existing CRT. Now I have more "work space"!!! Thank you GSW!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10716302-112619640755164091?l=techietalks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://techietalks.blogspot.com/feeds/112619640755164091/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10716302&amp;postID=112619640755164091' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10716302/posts/default/112619640755164091'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10716302/posts/default/112619640755164091'/><link rel='alternate' type='text/html' href='http://techietalks.blogspot.com/2005/09/dual-monitors.html' title='Dual monitors!!'/><author><name>Sreeram</name><uri>http://www.blogger.com/profile/14544335977459968556</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-10716302.post-112619625206851747</id><published>2005-09-08T09:17:00.000-07:00</published><updated>2005-09-08T09:21:09.616-07:00</updated><title type='text'>Dynamic Crystal Report Generation - Day 2</title><content type='html'>&lt;u&gt;Problem:&lt;/u&gt;&lt;br /&gt;Well, it has been some horrible 24 hours since I started looking for a solution to totally dynamic crystal report generation. Even the omni-potent Google failed to help. All I found was frantic cries by people (some guy was even ready to buy a beer) to find a similar solution. I think its not a good idea to spend more time doing any more research on this, at least for the time being.&lt;br /&gt;&lt;br /&gt;&lt;u&gt;Solution (for now) &lt;/u&gt;&lt;br /&gt;I, finally, am planning to create a report at design time with all possible fields pulled into it and then use the remove/edit method mentioned in the prev post to cull out unwanted columns. Also, to use a filter on what records are to be pulled, the following comes in handy:&lt;br /&gt;&lt;br /&gt;string selectionFormula = "Mid({employee.emp_id}, 1, 1) = 'A'";&lt;br /&gt;testReport.DataDefinition.RecordSelectionFormula = selectionFormula;&lt;br /&gt;&lt;br /&gt;The above code snippet works kinda like a SQL select statement. It pulls only those records with employee ID's beginning with an A. I need to do more study on other filters. But thats only second in my list. My current to-do list is as follows:&lt;br /&gt;&lt;br /&gt;1) Generate report with dynamic columns&lt;br /&gt;2) Be able to position the seen columns properly when central columns vanish.&lt;br /&gt;3) Be able to populate only required records.&lt;br /&gt;&lt;br /&gt;&lt;u&gt; Future Work &lt;/u&gt;&lt;br /&gt;To be able to add columns dynamically (the issue that I am going thumbs-down for now). When is this "future"? No idea. "As time permits", to be politically correct!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10716302-112619625206851747?l=techietalks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://techietalks.blogspot.com/feeds/112619625206851747/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10716302&amp;postID=112619625206851747' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10716302/posts/default/112619625206851747'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10716302/posts/default/112619625206851747'/><link rel='alternate' type='text/html' href='http://techietalks.blogspot.com/2005/09/dynamic-crystal-report-generation-day.html' title='Dynamic Crystal Report Generation - Day 2'/><author><name>Sreeram</name><uri>http://www.blogger.com/profile/14544335977459968556</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-10716302.post-112612115823213386</id><published>2005-09-07T12:25:00.000-07:00</published><updated>2005-09-07T12:25:58.270-07:00</updated><title type='text'>Dynamic Crystal Report Generation</title><content type='html'>Most of my efforts this week has been dedicated to generate crystal reports dynamically or "codically". Though I have not been 100% successful in this endeavor, I saw a few pieces of gold here and there. The following tests have been performed using Visual Studio Beta 2005 and whatever version of Crystal Reports it came with!&lt;br /&gt;&lt;br /&gt;&lt;U&gt;Removing/Editing an existing object from the report&lt;/U&gt;&lt;br /&gt;In order to remove an existsing report object from a report (testReport), the following code can be used as an example:&lt;br /&gt;&lt;br /&gt;testReport.ReportDefinition.Sections["Section3"].Height = 600;&lt;br /&gt;testReport.ReportDefinition.Sections["Section3"].ReportObjects[0].ObjectFormat.EnableSuppress = true;&lt;br /&gt;//The report object as well as section can be addressed using the integer subscript (as done in ReportObjects[0]) or its name (as done in Sections["Section3"])&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10716302-112612115823213386?l=techietalks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://techietalks.blogspot.com/feeds/112612115823213386/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10716302&amp;postID=112612115823213386' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10716302/posts/default/112612115823213386'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10716302/posts/default/112612115823213386'/><link rel='alternate' type='text/html' href='http://techietalks.blogspot.com/2005/09/dynamic-crystal-report-generation.html' title='Dynamic Crystal Report Generation'/><author><name>Sreeram</name><uri>http://www.blogger.com/profile/14544335977459968556</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-10716302.post-112568918070699906</id><published>2005-09-02T12:21:00.000-07:00</published><updated>2005-09-02T12:37:37.663-07:00</updated><title type='text'>ASP.NET: Loading controls only once at runtime - Solved!</title><content type='html'>The side effect that I mentioned in the previous post has been solved!&lt;br /&gt;Solution: In order to solve the problem under question, from the previous post, of executing a section of Page_Load only when a page is loaded for the first time, the Page.IsPostBack flag is used. This flag tells you whether the reason for the Page loading is to reflect some post back action. Thus, our run-once section can be written inside the Page_Load() method as:&lt;br /&gt;&lt;br /&gt;protected void Page_Load(object sender, EventArgs e)&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if(!Page.IsPostBack)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//Run-once section&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;The use of static variable mentioned earlier for this purpose is, thus, NOT a good idea to solve this problem!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10716302-112568918070699906?l=techietalks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://techietalks.blogspot.com/feeds/112568918070699906/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10716302&amp;postID=112568918070699906' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10716302/posts/default/112568918070699906'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10716302/posts/default/112568918070699906'/><link rel='alternate' type='text/html' href='http://techietalks.blogspot.com/2005/09/aspnet-loading-controls-only-once-at_02.html' title='ASP.NET: Loading controls only once at runtime - Solved!'/><author><name>Sreeram</name><uri>http://www.blogger.com/profile/14544335977459968556</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-10716302.post-112568872406359330</id><published>2005-09-02T12:07:00.000-07:00</published><updated>2005-09-02T12:18:44.070-07:00</updated><title type='text'>ASP.NET: Loading controls only once at runtime</title><content type='html'>Well, if the title isnt too great, the exact problem statement is this:&lt;br /&gt;"I have an aspx page with some controls that need to be populated at runtime. However, they need not be loaded if the page is refreshed. How can this be achieved?"&lt;br /&gt;&lt;br /&gt;Which, in other words, mean that certain section of code under the Page_Load() method of the page needs to be executed exactly once. It should not be executed when the page is refreshed (which also happens after a POST event, I guess).&lt;br /&gt;&lt;br /&gt;Answer: Declare a static boolean variable inside the class, for example&lt;br /&gt;&lt;br /&gt;static bool once = false;&lt;br /&gt;&lt;br /&gt;set this flag inside the run-only-once section of Page_Load()&lt;br /&gt;&lt;br /&gt;such as&lt;br /&gt;... ...&lt;br /&gt;if(!once)&lt;br /&gt;{&lt;br /&gt;//Run once section&lt;br /&gt;once = true;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Side-Effect: Doing so, however, would result in the run-once not being exectued until the code is recompiled!! That is, if u run two instances of the same page, the run-once section will get executed only once!! I am still trying to resolve this!!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10716302-112568872406359330?l=techietalks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://techietalks.blogspot.com/feeds/112568872406359330/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10716302&amp;postID=112568872406359330' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10716302/posts/default/112568872406359330'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10716302/posts/default/112568872406359330'/><link rel='alternate' type='text/html' href='http://techietalks.blogspot.com/2005/09/aspnet-loading-controls-only-once-at.html' title='ASP.NET: Loading controls only once at runtime'/><author><name>Sreeram</name><uri>http://www.blogger.com/profile/14544335977459968556</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-10716302.post-112529853024628050</id><published>2005-08-28T23:52:00.000-07:00</published><updated>2005-08-28T23:55:30.253-07:00</updated><title type='text'>Google Talk</title><content type='html'>Search giant Google too entered the instant messaging world on August 24th with their release of Google Talk. &lt;a href="http://news.bbc.co.uk/1/hi/technology/4180182.stm"&gt;http://news.bbc.co.uk/1/hi/technology/4180182.stm&lt;/a&gt; gives more info on the impact of this release on the IM world.&lt;br /&gt;&lt;br /&gt;Well, anything that lowers my telephone bill and improves my contacts-strength is warm welcome. So Google, lemme try "talk"ing.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10716302-112529853024628050?l=techietalks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://techietalks.blogspot.com/feeds/112529853024628050/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10716302&amp;postID=112529853024628050' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10716302/posts/default/112529853024628050'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10716302/posts/default/112529853024628050'/><link rel='alternate' type='text/html' href='http://techietalks.blogspot.com/2005/08/google-talk.html' title='Google Talk'/><author><name>Sreeram</name><uri>http://www.blogger.com/profile/14544335977459968556</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-10716302.post-112500627910436417</id><published>2005-08-25T14:42:00.000-07:00</published><updated>2005-08-25T14:44:39.116-07:00</updated><title type='text'>VS.NET 2003 and 2005 coexistence</title><content type='html'>Tried to see if Visual Studio 2003 and 2005 Beta can coexist on the same machine and found a positive answer from &lt;a href="http://forums.microsoft.com/msdn/ShowPost.aspx?PostID=74967"&gt;http://forums.microsoft.com/msdn/ShowPost.aspx?PostID=74967&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10716302-112500627910436417?l=techietalks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://techietalks.blogspot.com/feeds/112500627910436417/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10716302&amp;postID=112500627910436417' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10716302/posts/default/112500627910436417'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10716302/posts/default/112500627910436417'/><link rel='alternate' type='text/html' href='http://techietalks.blogspot.com/2005/08/vsnet-2003-and-2005-coexistence.html' title='VS.NET 2003 and 2005 coexistence'/><author><name>Sreeram</name><uri>http://www.blogger.com/profile/14544335977459968556</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-10716302.post-111350384531935343</id><published>2005-04-14T11:29:00.000-07:00</published><updated>2005-04-14T11:37:25.320-07:00</updated><title type='text'>Newline in C# TextBox</title><content type='html'>To insert a new line in C# TextBox, "\r\n" or System.Environment.NewLine must be used and NOT just "\n". That is, a new line is a carriage return followed by a line feed, analogous to what we have in conventional type writers.&lt;br /&gt;&lt;br /&gt;Example:&lt;br /&gt;MyTextBox.Text = "Hello\r\nWorld";&lt;br /&gt;and&lt;br /&gt;MyTextBox.Text = "Hello" + System.Environment.NewLine+"World";&lt;br /&gt;&lt;br /&gt;works, but NOT&lt;br /&gt;&lt;br /&gt;MyTextBox.Text = "Hello\nWorld";&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10716302-111350384531935343?l=techietalks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://techietalks.blogspot.com/feeds/111350384531935343/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10716302&amp;postID=111350384531935343' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10716302/posts/default/111350384531935343'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10716302/posts/default/111350384531935343'/><link rel='alternate' type='text/html' href='http://techietalks.blogspot.com/2005/04/newline-in-c-textbox.html' title='Newline in C# TextBox'/><author><name>Sreeram</name><uri>http://www.blogger.com/profile/14544335977459968556</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-10716302.post-111343020510426789</id><published>2005-04-13T15:08:00.000-07:00</published><updated>2005-04-13T15:10:05.106-07:00</updated><title type='text'>C to C#</title><content type='html'>Here is a link to an MSDN Page that has some .NET Framework equivalent for C runtime functions&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vclib/html/vclrfRun-TimeRoutinesNETFrameworkEquivalents.asp"&gt;http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vclib/html/vclrfRun-TimeRoutinesNETFrameworkEquivalents.asp&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10716302-111343020510426789?l=techietalks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://techietalks.blogspot.com/feeds/111343020510426789/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10716302&amp;postID=111343020510426789' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10716302/posts/default/111343020510426789'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10716302/posts/default/111343020510426789'/><link rel='alternate' type='text/html' href='http://techietalks.blogspot.com/2005/04/c-to-c.html' title='C to C#'/><author><name>Sreeram</name><uri>http://www.blogger.com/profile/14544335977459968556</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-10716302.post-111187918489533696</id><published>2005-03-26T15:06:00.000-08:00</published><updated>2005-03-26T15:19:44.896-08:00</updated><title type='text'>Looping command in MS-DOS</title><content type='html'>The main purpose of this write up is to explain a use of "FOR" in MS-DOS to run a command various times with just a numerical parameter in it changing sequentially.&lt;br /&gt;&lt;br /&gt;Suppose there is a folder "fol" that contains sub-folders with names fol01, fol02.... fol99. Let it be that we need to delete only folders fol11, fol12... fol20. To do so, the following DOS command comes handy:&lt;br /&gt;&lt;br /&gt;FOR /L %var in (11, 1, 20) DO del fol\fol%var&lt;br /&gt;&lt;br /&gt;In general, the syntax for the command is&lt;br /&gt;&lt;br /&gt;FOR /L %variable in (start, step, end) DO command&lt;br /&gt;(where start, step and end are integers)&lt;br /&gt;&lt;br /&gt;If this command is being used within a batch file, %%variable must be used instead of&lt;br /&gt;%variable. This is because %i (where i is an integer) stands for the ith input parameter to a batch file. Hence, the system would take %variable for an input parameter value and not the loop iterator variable. This is solved by using %%variable.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10716302-111187918489533696?l=techietalks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://techietalks.blogspot.com/feeds/111187918489533696/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10716302&amp;postID=111187918489533696' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10716302/posts/default/111187918489533696'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10716302/posts/default/111187918489533696'/><link rel='alternate' type='text/html' href='http://techietalks.blogspot.com/2005/03/looping-command-in-ms-dos.html' title='Looping command in MS-DOS'/><author><name>Sreeram</name><uri>http://www.blogger.com/profile/14544335977459968556</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-10716302.post-111161905370163784</id><published>2005-03-23T15:04:00.000-08:00</published><updated>2005-03-23T15:04:13.700-08:00</updated><title type='text'></title><content type='html'>&lt;a href='http://photos1.blogger.com/img/8/2992/1024/HowGoogleWorks.jpg'&gt;&lt;img border='0' style='border:1px solid #000000; margin:2px' src='http://photos1.blogger.com/img/8/2992/200/HowGoogleWorks.jpg'&gt;&lt;/a&gt;&lt;br /&gt;How Google Works&amp;nbsp;&lt;a href='http://www.hello.com/' target='ext'&gt;&lt;img src='http://photos1.blogger.com/pbh.gif' alt='Posted by Hello' border='0' style='border:0px;padding:0px;background:transparent;' align='absmiddle'&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10716302-111161905370163784?l=techietalks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://techietalks.blogspot.com/feeds/111161905370163784/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10716302&amp;postID=111161905370163784' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10716302/posts/default/111161905370163784'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10716302/posts/default/111161905370163784'/><link rel='alternate' type='text/html' href='http://techietalks.blogspot.com/2005/03/how-google-works.html' title=''/><author><name>Sreeram</name><uri>http://www.blogger.com/profile/14544335977459968556</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-10716302.post-111160046334738790</id><published>2005-03-23T09:51:00.000-08:00</published><updated>2005-03-23T09:54:23.346-08:00</updated><title type='text'>Type conversion in C#</title><content type='html'>To convert one data type to another, the System.Convert class comes handy. It has built in public methods that can be called for type conversion.&lt;br /&gt;&lt;br /&gt;For example:&lt;br /&gt;&lt;br /&gt;System.Convert.ToInt32(myFloatValue); &lt;br /&gt;&lt;br /&gt;converts the float value in myFloatValue into integer. If it cannot covert, exceptions are thrown.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10716302-111160046334738790?l=techietalks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://techietalks.blogspot.com/feeds/111160046334738790/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10716302&amp;postID=111160046334738790' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10716302/posts/default/111160046334738790'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10716302/posts/default/111160046334738790'/><link rel='alternate' type='text/html' href='http://techietalks.blogspot.com/2005/03/type-conversion-in-c.html' title='Type conversion in C#'/><author><name>Sreeram</name><uri>http://www.blogger.com/profile/14544335977459968556</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-10716302.post-110873766006468881</id><published>2005-02-18T06:17:00.000-08:00</published><updated>2005-02-18T06:41:00.066-08:00</updated><title type='text'>C# Arrays</title><content type='html'>Array handling in C# is different from that in C++ or C.&lt;br /&gt;&lt;br /&gt;&lt;u&gt;To declare a 1D array:&lt;/u&gt;&lt;br /&gt;&lt;br /&gt;int[] test1DArray = new int[10]; // All arrays needs to be instantiated.&lt;br /&gt;&lt;br /&gt;test1DArray[1] = 10; //To access&lt;br /&gt;&lt;br /&gt;&lt;u&gt;To declare a 2D rectangular array:&lt;/u&gt;&lt;br /&gt;&lt;br /&gt;int[,] test2DRArray = new int[10,20];&lt;br /&gt;&lt;br /&gt;test2DRArray[1,2] = 10; //To access&lt;br /&gt;&lt;br /&gt;&lt;u&gt;To declare a 2D jagged array (where each row can contain different no. of columns):&lt;/u&gt;&lt;br /&gt;&lt;br /&gt;int[][] test2DJArray = new int[3][];&lt;br /&gt;&lt;br /&gt;test2DJArray[0] = new int[1];&lt;br /&gt;test2DJArray[1] = new int[2];&lt;br /&gt;test2DJArray[2] = new int[4];&lt;br /&gt;&lt;br /&gt;test2DJArray[2][3] = 10; //To access&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10716302-110873766006468881?l=techietalks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://techietalks.blogspot.com/feeds/110873766006468881/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10716302&amp;postID=110873766006468881' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10716302/posts/default/110873766006468881'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10716302/posts/default/110873766006468881'/><link rel='alternate' type='text/html' href='http://techietalks.blogspot.com/2005/02/c-arrays.html' title='C# Arrays'/><author><name>Sreeram</name><uri>http://www.blogger.com/profile/14544335977459968556</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-10716302.post-110858951495506351</id><published>2005-02-16T13:12:00.000-08:00</published><updated>2005-02-16T13:31:54.956-08:00</updated><title type='text'>Slow response on right clicks</title><content type='html'>The problem at hand is this: My PC at my lab, running Windows XP, was taking incruciatingly long time, at times around 30 seconds, to pop up the menu when right clicked on any "application" file, like doc, jpg, mp3 etc. However, it was working fine on exe files. Moreover, when double clicked on an application file, it was taking approximately the same long delay to launch the application.&lt;br /&gt;&lt;br /&gt;I started the trouble shooting by first looking through the task manager to see what process moves up in CPU time / memory usage when I right click an application file. That provided me with no great information as "explorer.exe" got up the list, however not taking much resources. I did an antivirus check, a spyware check etc., as well, but did not help. Then, I tried disabling the firewall, uninstalling Norton Antivirus, stopping IIS etc, as mentioned in some other forums.&lt;br /&gt;&lt;br /&gt;It was when I was about to give up and was thinking about backing the data and reformatting the computer that I learnt about a tool by name "FileMon.Exe" which monitors the files accessed by other files - didn't help! However, from the same site that provides FileMon, &lt;a href="http://www.sysinternals.com/"&gt;http://www.sysinternals.com/&lt;/a&gt;, I found a new utility called RegMon.Exe that monitors the activity on the registry and the various registry keys accessed by other programs. This one proved to be my saviour when I found that explorer.exe was the one taking too much time when I right click or launch an application file. However, explorer.exe was spending this time to probe the photoshop executable, may be to check file associations. This prompted me to uninstall Photoshop, but even after this, RegMon.exe continues to show that a registry key with the Photoshop executable as value was being probed and most of the time was spent there. Now, I did a search in registry using RegEdit and removed all values/keys that contains "Photoshop". I closed regedit, and, voila! the menus now pop-up with a bang!!&lt;br /&gt;&lt;br /&gt;So... next time,some similar problem arises... RegMon is my man!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10716302-110858951495506351?l=techietalks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://techietalks.blogspot.com/feeds/110858951495506351/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10716302&amp;postID=110858951495506351' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10716302/posts/default/110858951495506351'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10716302/posts/default/110858951495506351'/><link rel='alternate' type='text/html' href='http://techietalks.blogspot.com/2005/02/slow-response-on-right-clicks.html' title='Slow response on right clicks'/><author><name>Sreeram</name><uri>http://www.blogger.com/profile/14544335977459968556</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-10716302.post-110840180347714674</id><published>2005-02-14T09:17:00.000-08:00</published><updated>2005-02-14T09:23:23.480-08:00</updated><title type='text'>Passing by reference in C#</title><content type='html'>Here is the way to pass values by reference in C#.&lt;br /&gt;&lt;br /&gt;&lt;u&gt;Function Declaration&lt;/u&gt;&lt;br /&gt;void myFn(int x, &lt;u&gt;&lt;span style="color:#cc66cc;"&gt;ref&lt;/span&gt;&lt;/u&gt; int y)&lt;br /&gt;{&lt;br /&gt;  x = 5;&lt;br /&gt;  y = 10;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;u&gt;Function call&lt;/u&gt;&lt;br /&gt;&lt;br /&gt;int i,j;&lt;br /&gt;i = 2; j = 3;&lt;br /&gt;myFn(i, &lt;u&gt;&lt;span style="color:#cc66cc;"&gt;ref&lt;/span&gt;&lt;/u&gt; j);&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Here, i is passed by value to x and j is passed by reference to y.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10716302-110840180347714674?l=techietalks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://techietalks.blogspot.com/feeds/110840180347714674/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10716302&amp;postID=110840180347714674' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10716302/posts/default/110840180347714674'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10716302/posts/default/110840180347714674'/><link rel='alternate' type='text/html' href='http://techietalks.blogspot.com/2005/02/passing-by-reference-in-c.html' title='Passing by reference in C#'/><author><name>Sreeram</name><uri>http://www.blogger.com/profile/14544335977459968556</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-10716302.post-110833127925559045</id><published>2005-02-13T13:42:00.000-08:00</published><updated>2005-02-13T13:47:59.256-08:00</updated><title type='text'>Some essential Type convertions in C#</title><content type='html'>To convert from numerical datatypes like int, short, float, double etc., to string, use the ToString method of the numerical classes.&lt;br /&gt;&lt;br /&gt;Eg:-&lt;br /&gt;&lt;br /&gt;int x = 10;&lt;br /&gt;String S = x.ToString();&lt;br /&gt;&lt;br /&gt;To convert string to numerical datatypes, use each class's Parse function.&lt;br /&gt;&lt;br /&gt;Eg:-&lt;br /&gt;&lt;br /&gt;String S = System.Int32.Parse("10");&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10716302-110833127925559045?l=techietalks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://techietalks.blogspot.com/feeds/110833127925559045/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10716302&amp;postID=110833127925559045' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10716302/posts/default/110833127925559045'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10716302/posts/default/110833127925559045'/><link rel='alternate' type='text/html' href='http://techietalks.blogspot.com/2005/02/some-essential-type-convertions-in-c.html' title='Some essential Type convertions in C#'/><author><name>Sreeram</name><uri>http://www.blogger.com/profile/14544335977459968556</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-10716302.post-110799959996776252</id><published>2005-02-08T22:17:00.000-08:00</published><updated>2005-02-09T17:39:59.966-08:00</updated><title type='text'>Userlist Missing!!</title><content type='html'>The situation is this: Karthik's lab computer, with Windows XP installed, boots up normally. But when it reaches the Logon screen, it asks to click on any "listed" username... But to our great suprise, we see no users listed. We tried the double Ctrl+Alt+Del to login via the conventional, Windows 2000 style,  "text-box" based logon screen... It kicked out Administrator as well as Karthik, two of the three users of the system.&lt;br /&gt;&lt;br /&gt;Now, the regular troubleshooting sequence was tested... Restart... Safe Mode... Last Known Good Config... Naada! Nothing worked!! From the forum &lt;a href="http://www.experts-exchange.com"&gt;http://www.experts-exchange.com&lt;/a&gt; (Karthik paid 10 bucks for a 1 month membership!!!), the most important information I gained was abt the s/w Offline NT Password Registry Editor.  &lt;a href="http://home.eunet.no/~pnordahl/ntpasswd/"&gt;http://home.eunet.no/~pnordahl/ntpasswd/&lt;/a&gt;. The software can be downloaded free of cost and can be burnt onto a CD which will be bootable. Once booted from the CD, it loads a linux kernal and asks a few questions, answering which one may alter tha password of any user of the system, including adminstrator. The gist of the s/w, I think, is that it knows how to decode the cryptic password information stored in the registry's SAM file (usually found in \winnt\system32\config and is a part of registry).&lt;br /&gt;&lt;br /&gt;The site says abt SAM:&lt;br /&gt;&lt;br /&gt;"NT stores it's user information including crypted versions of the passwords in a file called 'sam', usually found in \winnt\system32\config. This file is a part of the registry, in a binary format previously undocumented, and not easily accessible. But thanks to a German(?) named B.D, I've now made a program that understands the registry. As far as I know, Microsoft provides no way of changing the password if you cannot log in as someone with appropriate privileges, except restoring the registry files from the rescuefloppy. "&lt;br /&gt;&lt;br /&gt;However, in his case, it didnt work, because it found no users in the registry. That means that the users part of his registry might have been corrupted.&lt;br /&gt;&lt;br /&gt;The next arrow in my quiver was to repair-intstall XP on his comp! But that too gave up on me, because it just restored the system files without touching the registry.&lt;br /&gt;&lt;br /&gt;Finally, unfortunately, we had to use the pick-axe method - To format C: and reinstall windows!&lt;br /&gt;&lt;br /&gt;The reason for the failure of userlist is still unknown. For me, it looks like something needs to be done regarding his power-supply, because power from it made my laptop touchpad go crazy, and this is the second time within a month where his system had to be restored this way. (The first time, it was some "security service failure" error even before it reached the login screen, which, again, remains anonymous to me till date).&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10716302-110799959996776252?l=techietalks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://techietalks.blogspot.com/feeds/110799959996776252/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10716302&amp;postID=110799959996776252' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10716302/posts/default/110799959996776252'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10716302/posts/default/110799959996776252'/><link rel='alternate' type='text/html' href='http://techietalks.blogspot.com/2005/02/userlist-missing.html' title='Userlist Missing!!'/><author><name>Sreeram</name><uri>http://www.blogger.com/profile/14544335977459968556</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-10716302.post-110792113899886372</id><published>2005-02-08T19:41:00.000-08:00</published><updated>2005-02-08T19:52:18.996-08:00</updated><title type='text'>Touch(me not?)pad Vs Laptop power</title><content type='html'>This happens on Monday, Jan the 6th, when I was at Karthik's lab to trouble shoot a problem (will post that abt interesting problem soon) with his comp... I was carrying my laptop with me , as usual, and started working on it from his lab to look up some info on google abt his comp probs.. Just then, my touch-pad was behaving like a touch-me not! It started to move my cursor erratically... And, the cursor behaved as if it were on an old car having starting problems... As always, with sleight of hand of an ex-IT help desk specialist of Chemical Engg dept (TTU), I did all troubleshooting I knew with Windows, including RESTARTING!!! Boy! Rarest ever, Windows was naughty with my mouse arrow, even after that..&lt;br /&gt;&lt;br /&gt;However, the reason this time was "close" to restarting.. This time, surprisingly ever, the touchpad behaved properly when I unhooked the power from my laptop... Strange! Strange!&lt;br /&gt;&lt;br /&gt;"Ok", I said.. Whatever, it work, alright.. so decided to listen to some songs via Karthik's speakers connected to my laptop (Scene unlimited!!).. and voila! the mouse arrow was mocking me again!! This time again, I guess the problem would be power itself, because the speaker was connected to the same outlet as to where I'd connected the power supply for my laptop...&lt;br /&gt;&lt;br /&gt;Hmm.. that was a another great session with trouble shooting Karthik's Lab-top!&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10716302-110792113899886372?l=techietalks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://techietalks.blogspot.com/feeds/110792113899886372/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10716302&amp;postID=110792113899886372' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10716302/posts/default/110792113899886372'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10716302/posts/default/110792113899886372'/><link rel='alternate' type='text/html' href='http://techietalks.blogspot.com/2005/02/touchme-notpad-vs-laptop-power.html' title='Touch(me not?)pad Vs Laptop power'/><author><name>Sreeram</name><uri>http://www.blogger.com/profile/14544335977459968556</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-10716302.post-110792020566655311</id><published>2005-02-08T19:36:00.000-08:00</published><updated>2005-02-08T23:52:06.893-08:00</updated><title type='text'>Aloha</title><content type='html'>A few days back, I was correcting my friend's use of "Chow" where she intended "Ciao", to say Good Bye.. From dictionary.com, I found out that "ciao" is of Italian origin and it means "I am your slave / servant". It also mentioned that a similiar term in Hawaiian is "Aloha"... As a reply to this message to my group (&lt;a href="http://groups.yahoo.com/group/nsscse99"&gt;http://groups.yahoo.com/group/nsscse99&lt;/a&gt;), my buddy Arun replied that we have seen the word "Aloha" in the context of networking in the book "Computer Networks" by Andrew S. Tanenbaum, the "Networking Bhagavad Geetha" for me... The same was mentioned to me by my buddy ("buggy" ??) Karthik as well...&lt;br /&gt;&lt;br /&gt;Back to Aloha, I havent paid much attention to it so far, but, when I googled for "Aloha networking", here is what I found from Webopedia.com:&lt;br /&gt;&lt;br /&gt;"A protocol for satellite and terrestrial radio transmissions. In pure Aloha, a user can transmit at any time but risks collisions with other users' messages. "Slotted Aloha" reduces the chance of collisions by dividing the channel into time slots and requiring that the user send only at the beginning of a time slot. Aloha was the basis for Ethernet, a local area network protocol."&lt;br /&gt;&lt;br /&gt;The other listing for this words in the site are as follows:&lt;br /&gt;&lt;br /&gt;"Aloha Networks, Inc. -- A San Francisco-based company specializing in providing satellite-based Internet access to large Internet Service Providers. Founded by the inventor of the Aloha system, Norman Abramson.&lt;br /&gt;&lt;br /&gt;@loha @home -- software from Media Synergy (www.mediasyn.com) that allows a user to add graphics, animation, and sound to e-mail messages. "&lt;br /&gt;&lt;br /&gt;Now that I know what Aloha is, i think its time to say "Aloha"....&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10716302-110792020566655311?l=techietalks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://techietalks.blogspot.com/feeds/110792020566655311/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10716302&amp;postID=110792020566655311' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10716302/posts/default/110792020566655311'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10716302/posts/default/110792020566655311'/><link rel='alternate' type='text/html' href='http://techietalks.blogspot.com/2005/02/aloha.html' title='Aloha'/><author><name>Sreeram</name><uri>http://www.blogger.com/profile/14544335977459968556</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></feed>
