<?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-7811924547316084783</id><updated>2012-02-17T03:08:34.231+08:00</updated><category term='uddi'/><category term='javascript'/><category term='lan'/><category term='bugs'/><category term='new'/><category term='fedora'/><category term='adobe'/><category term='wsdl'/><category term='dhtml'/><category term='ip'/><category term='audio'/><category term='gateway'/><category term='css'/><category term='configuration'/><category term='browser'/><category term='classes'/><category term='internet'/><category term='forms'/><category term='windows'/><category term='developer'/><category term='port'/><category term='flex builder'/><category term='file'/><category term='solaris'/><category term='embed'/><category term='xp'/><category term='vb.net'/><category term='database'/><category term='macromedia flash'/><category term='.net framework'/><category term='linux'/><category term='xml'/><category term='soap'/><category term='php'/><category term='os'/><category term='tracking'/><category term='speaky'/><category term='oop'/><category term='website'/><category term='gui'/><category term='data grid'/><category term='introductions'/><category term='isp'/><category term='compatibility'/><category term='ado.net'/><category term='sql'/><category term='dns'/><category term='event handling'/><category term='html'/><category term='dates'/><category term='subnet mask'/><category term='server'/><category term='asp.net'/><category term='calculation'/><category term='network'/><category term='google'/><title type='text'>iThinkThings</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://liveandonthewire.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7811924547316084783/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://liveandonthewire.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Susanna</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_xEg__V4PcQ8/Sfq6_ekE_hI/AAAAAAAAAEA/cTCxsv94ITY/S220/DSC01247.JPG'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>28</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-7811924547316084783.post-3278273723429592402</id><published>2008-04-07T06:41:00.002+08:00</published><updated>2008-04-07T06:44:36.893+08:00</updated><title type='text'>hard reboot</title><content type='html'>this blog has been permanently shut down.&lt;br /&gt;sorry for any inconvenience caused.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7811924547316084783-3278273723429592402?l=liveandonthewire.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://liveandonthewire.blogspot.com/feeds/3278273723429592402/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7811924547316084783&amp;postID=3278273723429592402' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7811924547316084783/posts/default/3278273723429592402'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7811924547316084783/posts/default/3278273723429592402'/><link rel='alternate' type='text/html' href='http://liveandonthewire.blogspot.com/2008/04/hard-reboot.html' title='hard reboot'/><author><name>Susanna</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_xEg__V4PcQ8/Sfq6_ekE_hI/AAAAAAAAAEA/cTCxsv94ITY/S220/DSC01247.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7811924547316084783.post-4557922589224073979</id><published>2007-07-26T17:10:00.000+08:00</published><updated>2007-07-26T17:17:44.597+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='website'/><category scheme='http://www.blogger.com/atom/ns#' term='html'/><category scheme='http://www.blogger.com/atom/ns#' term='css'/><title type='text'>Once,  Again</title><content type='html'>AH.&lt;br /&gt;&lt;br /&gt;A lesson I learnt long ago, at the initial stages of working in this job as Software Engineer... &amp; I forgot how to do it AGAIN.&lt;br /&gt;&lt;br /&gt;To remove the border for hyperlinked image, use the border property:&lt;br /&gt;&lt;br /&gt;&lt; href = "whateveryourlinkis" border = "0"&gt;&lt;br /&gt;&lt;br /&gt;As for the underline in the hyperlinked text and the default blue colour, use CSS to be rid of it:&lt;br /&gt;&lt;br /&gt;a:link&lt;br /&gt;{&lt;br /&gt;    text-decoration: none;&lt;br /&gt;    /*this can be any other colour you want, not necessarily black*/&lt;br /&gt;    color: #000000;&lt;br /&gt;}&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7811924547316084783-4557922589224073979?l=liveandonthewire.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://liveandonthewire.blogspot.com/feeds/4557922589224073979/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7811924547316084783&amp;postID=4557922589224073979' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7811924547316084783/posts/default/4557922589224073979'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7811924547316084783/posts/default/4557922589224073979'/><link rel='alternate' type='text/html' href='http://liveandonthewire.blogspot.com/2007/07/once-again.html' title='Once,  Again'/><author><name>Susanna</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_xEg__V4PcQ8/Sfq6_ekE_hI/AAAAAAAAAEA/cTCxsv94ITY/S220/DSC01247.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7811924547316084783.post-6263758564737429419</id><published>2007-07-16T12:30:00.000+08:00</published><updated>2007-07-16T12:37:54.256+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='tracking'/><category scheme='http://www.blogger.com/atom/ns#' term='website'/><category scheme='http://www.blogger.com/atom/ns#' term='google'/><title type='text'>Google Analytics</title><content type='html'>Tracking stuff to monitor Internet traffic to your website etc. Free. Kinda cool. Check it out.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.google.com/analytics/"&gt;Google Analytics&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://extensions.joomla.org/component/option,com_mtree/task,viewlink/link_id,1233/Itemid,35/"&gt;Module for adding Google Analytics to a Joomla site&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://templates.estime.fi/content/view/23/35/"&gt;How to install &amp;amp; configure the Joomla Google Analytics module&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7811924547316084783-6263758564737429419?l=liveandonthewire.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://liveandonthewire.blogspot.com/feeds/6263758564737429419/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7811924547316084783&amp;postID=6263758564737429419' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7811924547316084783/posts/default/6263758564737429419'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7811924547316084783/posts/default/6263758564737429419'/><link rel='alternate' type='text/html' href='http://liveandonthewire.blogspot.com/2007/07/google-analytics.html' title='Google Analytics'/><author><name>Susanna</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_xEg__V4PcQ8/Sfq6_ekE_hI/AAAAAAAAAEA/cTCxsv94ITY/S220/DSC01247.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7811924547316084783.post-9000756086393574339</id><published>2007-07-04T13:16:00.000+08:00</published><updated>2007-07-04T13:20:54.969+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='developer'/><category scheme='http://www.blogger.com/atom/ns#' term='flex builder'/><category scheme='http://www.blogger.com/atom/ns#' term='adobe'/><title type='text'>Adobe Flex Builder 3 Beta Release (Code Name Moxie)</title><content type='html'>Hehehe. Using it for the first time, since I've just undertaken a new project at work.&lt;br /&gt;&lt;br /&gt;It's cool.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.adobe.com/devnet/flex/"&gt;Flex Developer Center&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7811924547316084783-9000756086393574339?l=liveandonthewire.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://liveandonthewire.blogspot.com/feeds/9000756086393574339/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7811924547316084783&amp;postID=9000756086393574339' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7811924547316084783/posts/default/9000756086393574339'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7811924547316084783/posts/default/9000756086393574339'/><link rel='alternate' type='text/html' href='http://liveandonthewire.blogspot.com/2007/07/adobe-flex-builder-3-beta-release-code.html' title='Adobe Flex Builder 3 Beta Release (Code Name Moxie)'/><author><name>Susanna</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_xEg__V4PcQ8/Sfq6_ekE_hI/AAAAAAAAAEA/cTCxsv94ITY/S220/DSC01247.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7811924547316084783.post-6514456373058988023</id><published>2007-06-29T16:19:00.000+08:00</published><updated>2007-06-29T16:21:17.263+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='compatibility'/><category scheme='http://www.blogger.com/atom/ns#' term='html'/><category scheme='http://www.blogger.com/atom/ns#' term='browser'/><title type='text'>HTML &amp; Browser Compatibility</title><content type='html'>&lt;a href="http://hsivonen.iki.fi/doctype/"&gt;Activating the Right Layout Mode Using the Doctype Declaration&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7811924547316084783-6514456373058988023?l=liveandonthewire.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://liveandonthewire.blogspot.com/feeds/6514456373058988023/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7811924547316084783&amp;postID=6514456373058988023' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7811924547316084783/posts/default/6514456373058988023'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7811924547316084783/posts/default/6514456373058988023'/><link rel='alternate' type='text/html' href='http://liveandonthewire.blogspot.com/2007/06/html-browser-compatibility.html' title='HTML &amp; Browser Compatibility'/><author><name>Susanna</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_xEg__V4PcQ8/Sfq6_ekE_hI/AAAAAAAAAEA/cTCxsv94ITY/S220/DSC01247.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7811924547316084783.post-7195878128697535470</id><published>2007-06-29T15:08:00.000+08:00</published><updated>2007-06-29T15:12:07.218+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='macromedia flash'/><category scheme='http://www.blogger.com/atom/ns#' term='embed'/><category scheme='http://www.blogger.com/atom/ns#' term='html'/><title type='text'>SWFObject</title><content type='html'>&lt;a href="http://blog.deconcept.com/swfobject/"&gt;SWFObject: Javascript Flash Player detection &amp;amp; Embed Script&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7811924547316084783-7195878128697535470?l=liveandonthewire.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://liveandonthewire.blogspot.com/feeds/7195878128697535470/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7811924547316084783&amp;postID=7195878128697535470' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7811924547316084783/posts/default/7195878128697535470'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7811924547316084783/posts/default/7195878128697535470'/><link rel='alternate' type='text/html' href='http://liveandonthewire.blogspot.com/2007/06/swfobject.html' title='SWFObject'/><author><name>Susanna</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_xEg__V4PcQ8/Sfq6_ekE_hI/AAAAAAAAAEA/cTCxsv94ITY/S220/DSC01247.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7811924547316084783.post-1482952049668945110</id><published>2007-06-27T15:18:00.000+08:00</published><updated>2007-06-27T15:20:26.992+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='vb.net'/><category scheme='http://www.blogger.com/atom/ns#' term='windows'/><category scheme='http://www.blogger.com/atom/ns#' term='.net framework'/><title type='text'>VB.NET: Multithreading</title><content type='html'>&lt;a href="http://www.devx.com/DevX/10MinuteSolution/20365/0/page/1"&gt;Add Multithreading to Your VB.NET Applications (from devX.com)&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7811924547316084783-1482952049668945110?l=liveandonthewire.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://liveandonthewire.blogspot.com/feeds/1482952049668945110/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7811924547316084783&amp;postID=1482952049668945110' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7811924547316084783/posts/default/1482952049668945110'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7811924547316084783/posts/default/1482952049668945110'/><link rel='alternate' type='text/html' href='http://liveandonthewire.blogspot.com/2007/06/vbnet-multithreading.html' title='VB.NET: Multithreading'/><author><name>Susanna</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_xEg__V4PcQ8/Sfq6_ekE_hI/AAAAAAAAAEA/cTCxsv94ITY/S220/DSC01247.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7811924547316084783.post-488033427129539101</id><published>2007-06-20T15:19:00.000+08:00</published><updated>2007-06-20T15:22:29.166+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='vb.net'/><category scheme='http://www.blogger.com/atom/ns#' term='classes'/><category scheme='http://www.blogger.com/atom/ns#' term='windows'/><category scheme='http://www.blogger.com/atom/ns#' term='.net framework'/><title type='text'>IComparer vs. IComparable</title><content type='html'>Why does the .NET framework insist on being sooooo.... complicated?&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.devx.com/dotnet/Article/21089/1954?pf=true"&gt;Sorting In The .NET Framework&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7811924547316084783-488033427129539101?l=liveandonthewire.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://liveandonthewire.blogspot.com/feeds/488033427129539101/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7811924547316084783&amp;postID=488033427129539101' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7811924547316084783/posts/default/488033427129539101'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7811924547316084783/posts/default/488033427129539101'/><link rel='alternate' type='text/html' href='http://liveandonthewire.blogspot.com/2007/06/icomparer-vs-icomparable.html' title='IComparer vs. IComparable'/><author><name>Susanna</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_xEg__V4PcQ8/Sfq6_ekE_hI/AAAAAAAAAEA/cTCxsv94ITY/S220/DSC01247.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7811924547316084783.post-6439708874213392123</id><published>2007-06-15T11:54:00.000+08:00</published><updated>2007-06-15T11:56:02.432+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='vb.net'/><category scheme='http://www.blogger.com/atom/ns#' term='windows'/><category scheme='http://www.blogger.com/atom/ns#' term='.net framework'/><title type='text'>VB.NET: Collections</title><content type='html'>For reading (which I almost &lt;span style="font-weight: bold;"&gt;never&lt;/span&gt; get around to):&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.15seconds.com/issue/030429.htm"&gt;http://www.15seconds.com/issue/030429.htm&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7811924547316084783-6439708874213392123?l=liveandonthewire.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://liveandonthewire.blogspot.com/feeds/6439708874213392123/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7811924547316084783&amp;postID=6439708874213392123' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7811924547316084783/posts/default/6439708874213392123'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7811924547316084783/posts/default/6439708874213392123'/><link rel='alternate' type='text/html' href='http://liveandonthewire.blogspot.com/2007/06/vbnet-collections.html' title='VB.NET: Collections'/><author><name>Susanna</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_xEg__V4PcQ8/Sfq6_ekE_hI/AAAAAAAAAEA/cTCxsv94ITY/S220/DSC01247.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7811924547316084783.post-1396724191038091630</id><published>2007-06-12T11:47:00.000+08:00</published><updated>2007-06-12T11:51:07.657+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='vb.net'/><category scheme='http://www.blogger.com/atom/ns#' term='gui'/><category scheme='http://www.blogger.com/atom/ns#' term='windows'/><category scheme='http://www.blogger.com/atom/ns#' term='.net framework'/><title type='text'>Trees... Trees... &amp; MORE Trees...</title><content type='html'>Source: &lt;a href="http://www.vbcity.com/forums/faq.asp?fid=15&amp;cat=TreeView%2FListView&amp;amp;#TID34020"&gt;vbCity&lt;/a&gt;&lt;br /&gt;&lt;b&gt;&lt;u&gt;&lt;br /&gt;The Basics of a TreeView&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;You'll be familiar with the look and feel of a treeview from the Windows Explorer. Its name of course refers to a regular tree, that has one trunk and many branches and where each branch can have smaller branches. The stem is the treeview object itself, the "branches" are called nodes. The main difference between a branch and a node is that the thickness of a node doesn't need to decrease; on the contrary: the 'ends' can easily be the thickest part of the whole: that is contain the most items.&lt;br /&gt;&lt;br /&gt;In principle the number of items and childnodes is unlimited (read: a number you will not easily reach &lt;img src="http://www.vbcity.com/forums/smiles/wink.gif" alt="wink" _base_target="_self" align="middle" height="18" width="21" /&gt; ) Each node can contain an item collection (child nodes) and has a parent. Using the item collection and the parent property, you can go through all branches. If you go 'down', you will know you have reached the end when there are no more childitems (GetNodeCount = 0) and you have reached a toplevel node when the parent is the listview object itself.&lt;br /&gt;&lt;br /&gt;Populating the treeview during runtime is very easy: just go to the Collection property and press the "..." button. You can play around with the possibilities. To populate during runtime:&lt;br /&gt;&lt;br /&gt;&lt;small&gt;&lt;b&gt;Code:&lt;/b&gt;&lt;/small&gt;&lt;div id="CODE"&gt;&lt;span class="k"&gt;Dim&lt;/span&gt; N &lt;span class="k"&gt;As&lt;/span&gt; TreeNode&lt;br /&gt;&lt;br /&gt;&lt;span class="c"&gt;'Method 1: straightforward adding of nodes &lt;/span&gt;&lt;br /&gt;&lt;span class="k"&gt;With&lt;/span&gt; &lt;span class="k"&gt;Me&lt;/span&gt;.TreeView1.Nodes&lt;br /&gt;    &lt;span class="c"&gt;'add text &lt;/span&gt;&lt;br /&gt;    .Add(&lt;span class="s"&gt;"AddByText"&lt;/span&gt;)&lt;br /&gt;    &lt;span class="c"&gt;'since with..end with is used: read TreeView1.Nodes.Add .... &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;    &lt;span class="c"&gt;'every add method returns the newly created node. You can use &lt;/span&gt;&lt;br /&gt;    &lt;span class="c"&gt;'this concept set the result to a variable or to directly add &lt;/span&gt;&lt;br /&gt;    &lt;span class="c"&gt;'a childnode: &lt;/span&gt;&lt;br /&gt;    .Add(&lt;span class="s"&gt;"AddByText2"&lt;/span&gt;).Nodes.Add(&lt;span class="s"&gt;"ChildOfAddByText"&lt;/span&gt;)&lt;br /&gt;&lt;br /&gt;    &lt;span class="c"&gt;'this, you can take as far as you want &lt;/span&gt;&lt;br /&gt;    .Add(&lt;span class="s"&gt;"AddByText3"&lt;/span&gt;).Nodes.Add(&lt;span class="s"&gt;"ChildOfAddByText"&lt;/span&gt;).Nodes.Add(&lt;span class="s"&gt;"Another child"&lt;/span&gt;)&lt;br /&gt;&lt;br /&gt;    &lt;span class="c"&gt;'-- &lt;/span&gt;&lt;br /&gt;    N = .Add(&lt;span class="s"&gt;"AddByText, Attach To Variable"&lt;/span&gt;)&lt;br /&gt;    N.Nodes.Add(&lt;span class="s"&gt;"Child one"&lt;/span&gt;)&lt;br /&gt;    N.Nodes.Add(&lt;span class="s"&gt;"Child two"&lt;/span&gt;)&lt;br /&gt;    &lt;span class="c"&gt;' -- &lt;/span&gt;&lt;br /&gt;    &lt;span class="k"&gt;With&lt;/span&gt; .Add(&lt;span class="s"&gt;"AddByText Use WithTo Add ChildNodes"&lt;/span&gt;).Nodes&lt;br /&gt;        .Add(&lt;span class="s"&gt;"Child 1"&lt;/span&gt;)&lt;br /&gt;        .Add(&lt;span class="s"&gt;"Child 2"&lt;/span&gt;)&lt;br /&gt;        .Add(&lt;span class="s"&gt;"Child 3"&lt;/span&gt;).Nodes.Add(&lt;span class="s"&gt;"Subchild 1"&lt;/span&gt;)&lt;br /&gt;    &lt;span class="k"&gt;End&lt;/span&gt; &lt;span class="k"&gt;With&lt;/span&gt;&lt;br /&gt;&lt;span class="k"&gt;End&lt;/span&gt; &lt;span class="k"&gt;With&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="c"&gt;'for clarity, from here on, the treeview1 name will be added.  &lt;/span&gt;&lt;br /&gt;&lt;span class="c"&gt;'In everyday use, you'll probably find the use of with..end with &lt;/span&gt;&lt;br /&gt;&lt;span class="c"&gt;'a lot easier (I know I do..) &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="c"&gt;'Method 2: adding by node &lt;/span&gt;&lt;br /&gt;&lt;span class="c"&gt;'Like virtually every .Net method you can directly assign an object: &lt;/span&gt;&lt;br /&gt;&lt;span class="k"&gt;Me&lt;/span&gt;.TreeView1.Nodes.Add(&lt;span class="k"&gt;New&lt;/span&gt; TreeNode(&lt;span class="s"&gt;"AddByNode"&lt;/span&gt;))&lt;br /&gt;&lt;br /&gt;&lt;span class="c"&gt;'check out the overloading possibilities of using New() &lt;/span&gt;&lt;br /&gt;&lt;span class="c"&gt;'Another advantage of this method is that you can add a complete branch. &lt;/span&gt;&lt;br /&gt;&lt;span class="c"&gt;'(N is already declared as TreeNode above) &lt;/span&gt;&lt;br /&gt;N = &lt;span class="k"&gt;New&lt;/span&gt; TreeNode(&lt;span class="s"&gt;"MainNodeToAdd"&lt;/span&gt;)&lt;br /&gt;N.Nodes.Add(&lt;span class="s"&gt;"Child 1"&lt;/span&gt;)&lt;br /&gt;N.Nodes.Add(&lt;span class="s"&gt;"Child 2"&lt;/span&gt;)&lt;br /&gt;&lt;br /&gt;&lt;span class="c"&gt;'you can for instance add this newly created node to all main branches: &lt;/span&gt;&lt;br /&gt;&lt;span class="k"&gt;Dim&lt;/span&gt; enumNode &lt;span class="k"&gt;As&lt;/span&gt; TreeNode&lt;br /&gt;&lt;span class="k"&gt;For&lt;/span&gt; &lt;span class="k"&gt;Each&lt;/span&gt; enumNode &lt;span class="k"&gt;In&lt;/span&gt; TreeView1.Nodes&lt;br /&gt;    enumNode.Nodes.Add(N.Clone) &lt;span class="c"&gt;'&lt;- the clone() method is needed &lt;/span&gt;&lt;br /&gt;&lt;span class="k"&gt;Next&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="c"&gt;'Adding will always add the the node at the end of the collection. &lt;/span&gt;&lt;br /&gt;&lt;span class="c"&gt;'Of course you can also insert at a specified location: &lt;/span&gt;&lt;br /&gt;&lt;span class="k"&gt;Me&lt;/span&gt;.TreeView1.Nodes.Insert(2, &lt;span class="k"&gt;New&lt;/span&gt; TreeNode(&lt;span class="s"&gt;"I am inserted at the 3th position"&lt;/span&gt;))&lt;br /&gt;&lt;br /&gt;&lt;span class="c"&gt;'removing is done much in the same way: &lt;/span&gt;&lt;br /&gt;N = TreeView1.Nodes.Add(&lt;span class="s"&gt;"I need to be removed"&lt;/span&gt;).Nodes.Add(&lt;span class="s"&gt;"and all children too"&lt;/span&gt;)&lt;br /&gt;TreeView1.Nodes.Remove(N)&lt;br /&gt;&lt;br /&gt;&lt;span class="c"&gt;'to clear all branches of any node you can use clear() &lt;/span&gt;&lt;br /&gt;N.Nodes.Add(&lt;span class="s"&gt;"This child you will not see"&lt;/span&gt;)&lt;br /&gt;N.Nodes.Clear()&lt;br /&gt;&lt;br /&gt;&lt;span class="c"&gt;'if you  use Clear on the treeview nodes itself, you &lt;/span&gt;&lt;br /&gt;&lt;span class="c"&gt;' would once again have an empty treeview &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="c"&gt;'once an item has been added, it is part of the item collection in nodes &lt;/span&gt;&lt;br /&gt;&lt;span class="c"&gt;'this means you can access it by its index &lt;/span&gt;&lt;br /&gt;TreeView1.Nodes(0).Text = &lt;span class="s"&gt;"I have index 0"&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="c"&gt;'the behaviour of the treenode can be controlled completely in code. &lt;/span&gt;&lt;br /&gt;&lt;span class="c"&gt;'you can make it expand &lt;/span&gt;&lt;br /&gt;TreeView1.Nodes(0).Expand()&lt;br /&gt;&lt;br /&gt;&lt;span class="c"&gt;'and retract again &lt;/span&gt;&lt;br /&gt;TreeView1.Nodes(0).Collapse()&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;This is just the basic functionality. There are a lot more properties on a treeview. Some are inherited, some are specific to the treeview object. The sample above should give enough information to create your own treeview. Have fun &lt;img src="http://www.vbcity.com/forums/smiles/thumb-up.gif" alt="thumb up!" _base_target="_self" align="middle" height="20" width="26" /&gt;&lt;br /&gt;&lt;br /&gt;To finish: an example&lt;br /&gt;&lt;small&gt;&lt;b&gt;Code:&lt;/b&gt;&lt;/small&gt;&lt;div id="CODE"&gt;&lt;br /&gt;&lt;span class="c"&gt;'this example will fill a treeview with the hours of the day. &lt;/span&gt;&lt;br /&gt;&lt;span class="c"&gt;'the hours will be divided in 15 minute blocks and the blocks  &lt;/span&gt;&lt;br /&gt;&lt;span class="c"&gt;'will be divided in minutes &lt;/span&gt;&lt;br /&gt;&lt;span class="k"&gt;Sub&lt;/span&gt; Example()&lt;br /&gt;    &lt;span class="k"&gt;Dim&lt;/span&gt; N &lt;span class="k"&gt;As&lt;/span&gt; &lt;span class="k"&gt;New&lt;/span&gt; TreeNode(), I &lt;span class="k"&gt;As&lt;/span&gt; &lt;span class="k"&gt;Integer&lt;/span&gt;, J &lt;span class="k"&gt;As&lt;/span&gt; &lt;span class="k"&gt;Integer&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;    &lt;span class="c"&gt;'create a 15 minute block &lt;/span&gt;&lt;br /&gt;    &lt;span class="k"&gt;For&lt;/span&gt; I = 0 &lt;span class="k"&gt;To&lt;/span&gt; 3&lt;br /&gt;        &lt;span class="k"&gt;With&lt;/span&gt; N.Nodes.Add((I * 15).ToString &amp; &lt;span class="s"&gt;"-"&lt;/span&gt; &amp;amp; ((I + 1) * 15 - 1).ToString)&lt;br /&gt;            &lt;span class="c"&gt;'add the minutes &lt;/span&gt;&lt;br /&gt;            &lt;span class="k"&gt;For&lt;/span&gt; J = 0 &lt;span class="k"&gt;To&lt;/span&gt; 14&lt;br /&gt;                .Nodes.Add((J + I * 15).ToString)&lt;br /&gt;            &lt;span class="k"&gt;Next&lt;/span&gt;&lt;br /&gt;        &lt;span class="k"&gt;End&lt;/span&gt; &lt;span class="k"&gt;With&lt;/span&gt;&lt;br /&gt;    &lt;span class="k"&gt;Next&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;    &lt;span class="c"&gt;'add the hours and immediately add the blocks to the hours as well &lt;/span&gt;&lt;br /&gt;    &lt;span class="k"&gt;Dim&lt;/span&gt; NodeToAdd &lt;span class="k"&gt;As&lt;/span&gt; TreeNode&lt;br /&gt;    &lt;span class="k"&gt;For&lt;/span&gt; I = 1 &lt;span class="k"&gt;To&lt;/span&gt; 24&lt;br /&gt;        NodeToAdd = N.Clone&lt;br /&gt;        NodeToAdd.Text = I.ToString&lt;br /&gt;        TreeView1.Nodes.Add(NodeToAdd)&lt;br /&gt;    &lt;span class="k"&gt;Next&lt;/span&gt;&lt;br /&gt;&lt;span class="k"&gt;End&lt;/span&gt; &lt;span class="k"&gt;Sub&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="c"&gt;'the sub when a time has been chosen &lt;/span&gt;&lt;br /&gt;&lt;span class="k"&gt;Private&lt;/span&gt; &lt;span class="k"&gt;Sub&lt;/span&gt; ItemChosen(&lt;span class="k"&gt;ByVal&lt;/span&gt; sender &lt;span class="k"&gt;As&lt;/span&gt; Object, &lt;span class="k"&gt;ByVal&lt;/span&gt; e &lt;span class="k"&gt;As&lt;/span&gt; System.EventArgs) Handles TreeView1.DoubleClick&lt;br /&gt;    &lt;span class="k"&gt;Dim&lt;/span&gt; N &lt;span class="k"&gt;As&lt;/span&gt; TreeNode = CType(sender, Windows.Forms.TreeView).SelectedNode&lt;br /&gt;    &lt;span class="k"&gt;If&lt;/span&gt; N.GetNodeCount(&lt;span class="k"&gt;False&lt;/span&gt;) = 0 &lt;span class="k"&gt;Then&lt;/span&gt; &lt;span class="c"&gt;'it is 'last' in the line &lt;/span&gt;&lt;br /&gt;        &lt;span class="k"&gt;Dim&lt;/span&gt; S &lt;span class="k"&gt;As&lt;/span&gt; &lt;span class="k"&gt;String&lt;/span&gt; = N.Text&lt;br /&gt;        &lt;span class="k"&gt;If&lt;/span&gt; S.Length = 1 &lt;span class="k"&gt;Then&lt;/span&gt; S = S.Insert(0, &lt;span class="s"&gt;"0"&lt;/span&gt;)&lt;br /&gt;        S = N.Parent.Parent.Text &amp; &lt;span class="s"&gt;":"&lt;/span&gt; &amp;amp; S&lt;br /&gt;        MessageBox.Show(&lt;span class="s"&gt;"You have selected: "&lt;/span&gt; &amp; S)&lt;br /&gt;    &lt;span class="k"&gt;End&lt;/span&gt; &lt;span class="k"&gt;If&lt;/span&gt;&lt;br /&gt;&lt;span class="k"&gt;End&lt;/span&gt; &lt;span class="k"&gt;Sub&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7811924547316084783-1396724191038091630?l=liveandonthewire.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://liveandonthewire.blogspot.com/feeds/1396724191038091630/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7811924547316084783&amp;postID=1396724191038091630' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7811924547316084783/posts/default/1396724191038091630'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7811924547316084783/posts/default/1396724191038091630'/><link rel='alternate' type='text/html' href='http://liveandonthewire.blogspot.com/2007/06/trees-trees-more-trees.html' title='Trees... Trees... &amp; MORE Trees...'/><author><name>Susanna</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_xEg__V4PcQ8/Sfq6_ekE_hI/AAAAAAAAAEA/cTCxsv94ITY/S220/DSC01247.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7811924547316084783.post-9098237895109783741</id><published>2007-06-11T17:11:00.000+08:00</published><updated>2007-06-11T17:12:14.012+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='vb.net'/><category scheme='http://www.blogger.com/atom/ns#' term='classes'/><category scheme='http://www.blogger.com/atom/ns#' term='windows'/><category scheme='http://www.blogger.com/atom/ns#' term='.net framework'/><title type='text'>For Later</title><content type='html'>&lt;a href="http://www.startvbdotnet.com/controls/treeview.aspx"&gt;About the TreeView Control&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7811924547316084783-9098237895109783741?l=liveandonthewire.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://liveandonthewire.blogspot.com/feeds/9098237895109783741/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7811924547316084783&amp;postID=9098237895109783741' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7811924547316084783/posts/default/9098237895109783741'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7811924547316084783/posts/default/9098237895109783741'/><link rel='alternate' type='text/html' href='http://liveandonthewire.blogspot.com/2007/06/for-later.html' title='For Later'/><author><name>Susanna</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_xEg__V4PcQ8/Sfq6_ekE_hI/AAAAAAAAAEA/cTCxsv94ITY/S220/DSC01247.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7811924547316084783.post-4361838791623393900</id><published>2007-06-07T12:13:00.000+08:00</published><updated>2007-06-07T12:18:51.071+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='vb.net'/><category scheme='http://www.blogger.com/atom/ns#' term='forms'/><category scheme='http://www.blogger.com/atom/ns#' term='classes'/><category scheme='http://www.blogger.com/atom/ns#' term='.net framework'/><category scheme='http://www.blogger.com/atom/ns#' term='event handling'/><title type='text'>Shorties</title><content type='html'>I'm learning new stuff every day...&lt;br /&gt;&lt;br /&gt;Use F7 key for bringing up the code window in VB.NET 2005. F5 for running/testing/debugging the program.&lt;br /&gt;&lt;br /&gt;#Region "Name of Region" for categorising your blocks of code into separate expandable &amp; collapsible nodes.&lt;br /&gt;&lt;br /&gt;Use For Each loops to run through lists or classes or dictionaries &amp;amp; the like.&lt;br /&gt;&lt;br /&gt;Whenever a particular section of code keeps getting reused a considerable number of times, it warrants making it into a separate subprocedure or function of its own.&lt;br /&gt;&lt;br /&gt;Put short comment lines into parts of conditional blocks of code where nothing is done/executed. This is for future purposes, to prevent you thinking it's an error of sorts &amp;amp; waste time tweaking the code unnecessarily.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7811924547316084783-4361838791623393900?l=liveandonthewire.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://liveandonthewire.blogspot.com/feeds/4361838791623393900/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7811924547316084783&amp;postID=4361838791623393900' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7811924547316084783/posts/default/4361838791623393900'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7811924547316084783/posts/default/4361838791623393900'/><link rel='alternate' type='text/html' href='http://liveandonthewire.blogspot.com/2007/06/shorties.html' title='Shorties'/><author><name>Susanna</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_xEg__V4PcQ8/Sfq6_ekE_hI/AAAAAAAAAEA/cTCxsv94ITY/S220/DSC01247.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7811924547316084783.post-6551759659694657495</id><published>2007-05-31T10:25:00.000+08:00</published><updated>2007-05-31T10:30:23.724+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='dates'/><category scheme='http://www.blogger.com/atom/ns#' term='calculation'/><category scheme='http://www.blogger.com/atom/ns#' term='vb.net'/><category scheme='http://www.blogger.com/atom/ns#' term='windows'/><category scheme='http://www.blogger.com/atom/ns#' term='.net framework'/><category scheme='http://www.blogger.com/atom/ns#' term='data grid'/><title type='text'>VB.NET: The Number Of Days Between Dates</title><content type='html'>Yay! My code works...&lt;br /&gt;&lt;br /&gt;'Retrieve the earliest &amp; latest date recorded in info.csv to get the range of days covered&lt;br /&gt;Sub GetNumberOfDays()&lt;br /&gt;&lt;br /&gt;       Dim begDate As DateTime&lt;br /&gt;       Dim endDate As DateTime&lt;br /&gt;       Dim numRows As Integer&lt;br /&gt;       Dim timeDiff As TimeSpan&lt;br /&gt;       Dim numDays As Integer&lt;br /&gt;&lt;br /&gt;       Try&lt;br /&gt;           begDate = CDate(dgvReport.Rows(0).Cells(0).Value)&lt;br /&gt;           numRows = dgvReport.RowCount&lt;br /&gt;           endDate = CDate(dgvReport.Rows(numRows - 2).Cells(0).Value)&lt;br /&gt;           timeDiff = endDate.Date - begDate.Date&lt;br /&gt;           numDays = timeDiff.Days&lt;br /&gt;       Catch ex As Exception&lt;br /&gt;           MessageBox.Show(ex.ToString)&lt;br /&gt;       End Try&lt;br /&gt;     &lt;br /&gt;       MessageBox.Show(CStr(numDays))&lt;br /&gt;&lt;br /&gt;End Sub&lt;br /&gt;&lt;br /&gt;My tribute to &lt;a href="http://articles.techrepublic.com.com/5100-3513-6169819.html"&gt;TechRepublic&lt;/a&gt; for passing on the tip. Thanks&lt;span style="text-decoration: underline;"&gt;&lt;/span&gt; Irina Medvinskaya!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7811924547316084783-6551759659694657495?l=liveandonthewire.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://liveandonthewire.blogspot.com/feeds/6551759659694657495/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7811924547316084783&amp;postID=6551759659694657495' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7811924547316084783/posts/default/6551759659694657495'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7811924547316084783/posts/default/6551759659694657495'/><link rel='alternate' type='text/html' href='http://liveandonthewire.blogspot.com/2007/05/vbnet-number-of-days-between-dates.html' title='VB.NET: The Number Of Days Between Dates'/><author><name>Susanna</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_xEg__V4PcQ8/Sfq6_ekE_hI/AAAAAAAAAEA/cTCxsv94ITY/S220/DSC01247.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7811924547316084783.post-6425981542146889020</id><published>2007-05-29T12:15:00.000+08:00</published><updated>2007-05-29T12:25:51.316+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='server'/><category scheme='http://www.blogger.com/atom/ns#' term='configuration'/><category scheme='http://www.blogger.com/atom/ns#' term='network'/><category scheme='http://www.blogger.com/atom/ns#' term='port'/><category scheme='http://www.blogger.com/atom/ns#' term='internet'/><category scheme='http://www.blogger.com/atom/ns#' term='isp'/><category scheme='http://www.blogger.com/atom/ns#' term='lan'/><category scheme='http://www.blogger.com/atom/ns#' term='windows'/><category scheme='http://www.blogger.com/atom/ns#' term='dns'/><category scheme='http://www.blogger.com/atom/ns#' term='ip'/><category scheme='http://www.blogger.com/atom/ns#' term='gateway'/><category scheme='http://www.blogger.com/atom/ns#' term='xp'/><category scheme='http://www.blogger.com/atom/ns#' term='subnet mask'/><title type='text'>How to set up a static IP address on a Windows XP computer</title><content type='html'>&lt;p&gt;Source: &lt;a href="http://portforward.com/networking/static-xp.htm"&gt;PortForward.com&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;It is very important to setup a static ip address, if you are going to use port forwarding. When you have port forwarding setup, your router forwards ports to an ip address that you specify. This will probably work when you initially set it up, but after restarting your computer it may get a different ip address. When this happens the ports will no longer be forwarded to your computer's ip address. So the port forwarding configuration will not work.&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;  &lt;p&gt; &lt;b&gt;What is an ip address?&lt;/b&gt;&lt;br /&gt;IP addresses are four sets of numbers separated by periods that allow computers to identify each other. Every computer has at least one ip address, and two computers should never have the same ip address. If they do, neither of them will be able to connect to the internet. There is a lot of information at the following link. You don't need all of it. But if you want to know more about how networks work, you'll find it there. For more information on ip addresses, subnets, and gateways go &lt;a href="http://portforward.com/networking/subnetting.htm"&gt;here&lt;/a&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;Dynamic vs Static IPs&lt;/b&gt;&lt;br /&gt;Most routers assign dynamic IP addresses by default. They do this because dynamic ip address networks require no configuration. The end user can simply plug their computer in, and their network will work. When ip addresses are assigned dynamically, the router is the one that assigns them. Every time a computer reboots it asks the router for an ip address. The router then hands it an ip address that has not already been handed out to another computer. This is important to note. When you set your computer to a static ip address, the router does not know that a computer is using that ip address. So the very same ip address may be handed to another computer later, and that will prevent both computers from connecting to the internet. So when you asign a static IP addresses, it's important to assign an IP address that will not be handed out to other computers by the dynamic IP address server. The dynamic IP address server is generally refered to as the dhcp server. &lt;/p&gt; &lt;b&gt;Setting up a static ip for windows XP.&lt;/b&gt; &lt;p&gt; If you have a printer, before you begin print out this page!&lt;br /&gt;Step 1:&lt;br /&gt;Open up the start menu, and click &lt;b&gt;Run&lt;/b&gt;.  You should now see the following window.&lt;br /&gt;&lt;/p&gt;&lt;center&gt;&lt;img src="http://portforward.com/networking/winxp-run.jpg" /&gt;&lt;/center&gt; &lt;p&gt; Step 2:&lt;br /&gt;Type cmd in the &lt;b&gt;Open:&lt;/b&gt; box, and click &lt;b&gt;Okay&lt;/b&gt;.  The will bring up a black command prompt window.&lt;br /&gt;&lt;/p&gt;&lt;center&gt;&lt;img src="http://portforward.com/networking/winxp-command.jpg" /&gt;&lt;/center&gt;&lt;br /&gt;Step 3:&lt;br /&gt;&lt;p&gt;The command prompt may look different on your screen, but it doesn't really matter.  Type &lt;b&gt;ipconfig /all&lt;/b&gt; in that window, and  then press the &lt;b&gt;enter&lt;/b&gt; key.  This will display a lot of information.  If it scrolls off the top you may need to enlarge the window.&lt;br /&gt;&lt;/p&gt;&lt;center&gt;&lt;img src="http://portforward.com/networking/winxp-ipconfig.jpg" /&gt;&lt;/center&gt;&lt;br /&gt;Step 4:&lt;br /&gt;&lt;p&gt;I want you to write down some of the information in this window. Take down the IP address, Subnet Mask, Default Gateway, and Name Servers. Make sure to note which is which. We are going to use this information a little bit later.&lt;br /&gt;&lt;br /&gt;The name server entries are a bit complicated.  Name Server is just another name for DNS(domain name server) server. Some router's act as a proxy between the actual name servers and your computer.   You will know when this is the case, because the Default Gateway will list the same ip address as the Name Servers entry.   We need to have the correct Name Server IP addresses.  If we do not, you will not be able to browse the web.  There  are a couple ways to get these.  The first way is to log into your router's web interface, and look at your router's  status page.  On that page you should see an entry for DNS Servers, or Name Servers.  Write down the ip adresses of your  Name Servers.  Another way to get the correct Name Servers to use, is to give your ISP a call.  They should know  the ip addresses of your Name Servers right off.  If they ask you why you need them, you can tell them you are trying to  setup a static IP address on your computer.  If they try to sell you a static external ip address, don't buy it.  That's  an entirely different thing that what you are trying to setup. &lt;br /&gt;&lt;br /&gt;Type &lt;b&gt;exit&lt;/b&gt; in this window, then press the &lt;b&gt;enter&lt;/b&gt; key to close it.   &lt;/p&gt; &lt;p&gt; Step 5:&lt;br /&gt;Once again open the start menu.  This time click &lt;b&gt;Control Panel&lt;/b&gt;.&lt;br /&gt;&lt;/p&gt;&lt;center&gt;&lt;img src="http://portforward.com/networking/winxp-cp.jpg" /&gt;&lt;/center&gt;&lt;br /&gt;Step 6:&lt;br /&gt;&lt;p&gt;Double click &lt;b&gt;Network Connections&lt;/b&gt;.&lt;br /&gt;&lt;/p&gt;&lt;center&gt;&lt;img src="http://portforward.com/networking/winxp-nc.jpg" /&gt;&lt;/center&gt;&lt;br /&gt;Step 7:&lt;br /&gt;&lt;p&gt;You may have several network connections in this window. I want you to right click on the one you use to connect to the internet. Then click &lt;b&gt;properties&lt;/b&gt;. &lt;br /&gt;&lt;br /&gt;If you are unsure of which one that is, right click it and then click &lt;b&gt;disable&lt;/b&gt;.  Open a new copy of your web browser?   Did it open a webpage?  If you can not, then you've found your internet connection.  Close that browser window. Go ahead and right click the network connection again and then click &lt;b&gt;enable&lt;/b&gt;.    Once again open up a new web browser.  You should see a webpage. Close the browser window.  Right click on the network connection and click &lt;b&gt;properties&lt;/b&gt; at the bottom.&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;center&gt;&lt;img src="http://portforward.com/networking/winxp-lac.jpg" /&gt;&lt;/center&gt;&lt;br /&gt;Step 8:&lt;br /&gt;&lt;p&gt;You should now have the above window on your screen.  Click the &lt;b&gt;properties&lt;/b&gt; button to open up the properties window of this internet connection.   &lt;/p&gt;&lt;center&gt;&lt;img src="http://portforward.com/networking/winxp-lacp.jpg" /&gt;&lt;/center&gt;&lt;br /&gt;Step 9:&lt;br /&gt;&lt;p&gt;Click &lt;b&gt;Internet Protocol(TCP/IP)&lt;/b&gt; and then the &lt;b&gt;Properties&lt;/b&gt; button.  You will now see the following screen.&lt;br /&gt;&lt;/p&gt;&lt;center&gt;&lt;img src="http://portforward.com/networking/winxp-tcpip.jpg" /&gt;&lt;/center&gt;&lt;br /&gt;Step 10:&lt;br /&gt;&lt;p&gt;Before you make any changes, write down the settings that you see on this page. If something goes wrong you can always change the settings back to what they were! You should see a dot in the &lt;b&gt;Obtain an IP address automatically&lt;/b&gt; box.   If you do not, your connection is already setup for a static ip.  Just close all these windows and you are done.&lt;br /&gt;&lt;br /&gt;I realize this guide is fairly difficult to understand, so I've added a new section here that will help you determine exactly what ip address to set your computer to. &lt;/p&gt;&lt;center&gt; &lt;form name="StaticIP"&gt; &lt;table&gt; &lt;tbody&gt;&lt;tr&gt;         &lt;td&gt;Enter your computer's default gateway: &lt;/td&gt;         &lt;td&gt;&lt;input name="RouterIP" type="text"&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;         &lt;td&gt;Enter your computer's current IP Address: &lt;/td&gt;         &lt;td&gt;&lt;input name="CompIP" type="text"&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;  &lt;td colspan="2"&gt;&lt;br /&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;         &lt;td&gt;First Computer's Static IP: &lt;/td&gt;         &lt;td&gt;&lt;input name="Comp1" type="text"&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;         &lt;td&gt;Second Computer's Static IP: &lt;/td&gt;         &lt;td&gt;&lt;input name="Comp2" type="text"&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;         &lt;td&gt;Third Computer's Static IP: &lt;/td&gt;         &lt;td&gt;&lt;input name="Comp3" type="text"&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;         &lt;td&gt;Forth Computer's Static IP: &lt;/td&gt;         &lt;td&gt;&lt;input name="Comp4" type="text"&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;         &lt;td&gt;Fifth Computer's Static IP: &lt;/td&gt;         &lt;td&gt;&lt;input name="Comp5" type="text"&gt;&lt;/td&gt; &lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt; &lt;button type="button" onclick="FindIPs()"&gt;Find Static IP Addresses&lt;/button&gt; &lt;/form&gt; &lt;/center&gt; Click the &lt;b&gt;Use the following IP Address&lt;/b&gt;. Now pick one of the static ip addresses listed above and then enter it into the IP Address box in the Internet Protocol TCP/IP Properties page.&lt;br /&gt;&lt;br /&gt;Put the subnet mask we previously found in the &lt;b&gt;subnet mask&lt;/b&gt; section.  The default gateway should go into the &lt;b&gt;Default gateway&lt;/b&gt; box.   Enter the dns servers we prevoiusly found into the two &lt;b&gt;DNS Server&lt;/b&gt; boxes.  Click okay all the way out of this menu. &lt;br /&gt;&lt;br /&gt;If you find that you can not pull up webpages, the problem is most likely the dns numbers you entered. Give your ISP a call, and they will be able to tell you which dns servers to use. This is a question they answer all of the time. They will be able to tell you what you should use right away.&lt;br /&gt;&lt;br /&gt;That's it you should be done! If you can't connect to the internet go back and change your configuration back to what it originally was.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7811924547316084783-6425981542146889020?l=liveandonthewire.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://liveandonthewire.blogspot.com/feeds/6425981542146889020/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7811924547316084783&amp;postID=6425981542146889020' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7811924547316084783/posts/default/6425981542146889020'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7811924547316084783/posts/default/6425981542146889020'/><link rel='alternate' type='text/html' href='http://liveandonthewire.blogspot.com/2007/05/how-to-set-up-static-ip-address-on.html' title='How to set up a static IP address on a Windows XP computer'/><author><name>Susanna</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_xEg__V4PcQ8/Sfq6_ekE_hI/AAAAAAAAAEA/cTCxsv94ITY/S220/DSC01247.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7811924547316084783.post-1993384889533048101</id><published>2007-05-28T18:23:00.001+08:00</published><updated>2007-05-28T18:33:41.151+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='vb.net'/><category scheme='http://www.blogger.com/atom/ns#' term='file'/><category scheme='http://www.blogger.com/atom/ns#' term='windows'/><category scheme='http://www.blogger.com/atom/ns#' term='.net framework'/><category scheme='http://www.blogger.com/atom/ns#' term='data grid'/><title type='text'>VB.NET: Data Grid View &amp; Reading From CSV File</title><content type='html'>Oh my goodness. It's really been ages since I did VB programming. I am so so lost! Today's code:&lt;br /&gt;&lt;br /&gt;Public Class frmReport&lt;br /&gt;&lt;br /&gt;   Private Sub btnGenerateReport_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnGenerateReport.Click&lt;br /&gt;&lt;br /&gt;       'Datagridview dgvReport settings&lt;br /&gt;       Me.Controls.Add(dgvReport)&lt;br /&gt;&lt;br /&gt;       dgvReport.ColumnCount = 5&lt;br /&gt;       With dgvReport.ColumnHeadersDefaultCellStyle&lt;br /&gt;           .ForeColor = Color.White&lt;br /&gt;           .Font = New Font(dgvReport.Font, FontStyle.Bold)&lt;br /&gt;       End With&lt;br /&gt;&lt;br /&gt;       With dgvReport&lt;br /&gt;           .Name = "dgvReport"&lt;br /&gt;           .Location = New Point(8, 8)&lt;br /&gt;           .Size = New Size(500, 250)&lt;br /&gt;           .AutoSizeRowsMode = _&lt;br /&gt;               DataGridViewAutoSizeRowsMode.DisplayedCellsExceptHeaders&lt;br /&gt;           .ColumnHeadersBorderStyle = DataGridViewHeaderBorderStyle.Single&lt;br /&gt;           .CellBorderStyle = DataGridViewCellBorderStyle.Single&lt;br /&gt;           .GridColor = Color.Black&lt;br /&gt;           .RowHeadersVisible = False&lt;br /&gt;&lt;br /&gt;           'Define top column names in dgvReport&lt;br /&gt;           .Columns(0).Name = "Date-Time"&lt;br /&gt;           .Columns(1).Name = "Action"&lt;br /&gt;           .Columns(2).Name = "Area"&lt;br /&gt;           .Columns(3).Name = "Section"&lt;br /&gt;           .Columns(4).Name = "Link"&lt;br /&gt;           .Columns(4).DefaultCellStyle.Font = _&lt;br /&gt;               New Font(Me.dgvReport.DefaultCellStyle.Font, FontStyle.Italic)&lt;br /&gt;&lt;br /&gt;           .SelectionMode = DataGridViewSelectionMode.FullRowSelect&lt;br /&gt;           .MultiSelect = False&lt;br /&gt;           .Dock = DockStyle.Fill&lt;br /&gt;       End With&lt;br /&gt;&lt;br /&gt;       'Open file info.csv &amp; read&lt;br /&gt;       Using MyReader As New Microsoft.VisualBasic.FileIO.TextFieldParser _&lt;br /&gt;       ("C:\Susanna's Work Stuff\Projects\DiGi\DiGi MDL\2007_05_28\reports\reports\bin\info.csv")&lt;br /&gt;&lt;br /&gt;           'Specify that reading from a comma-delimited file&lt;br /&gt;           MyReader.TextFieldType = FileIO.FieldType.Delimited&lt;br /&gt;           MyReader.SetDelimiters(",")&lt;br /&gt;           Dim currentRow As String()&lt;br /&gt;           While Not MyReader.EndOfData&lt;br /&gt;               Try&lt;br /&gt;                   currentRow = MyReader.ReadFields()&lt;br /&gt;                   With Me.dgvReport.Rows&lt;br /&gt;                       .Add(currentRow)    'Add new row to dgvReport&lt;br /&gt;                   End With&lt;br /&gt;               Catch ex As Microsoft.VisualBasic.FileIO.MalformedLineException&lt;br /&gt;                   MsgBox("Line " &amp;amp; ex.Message &amp;amp; _&lt;br /&gt;                   "is not valid and will be skipped.")&lt;br /&gt;               End Try&lt;br /&gt;           End While&lt;br /&gt;       End Using&lt;br /&gt;&lt;br /&gt;   End Sub&lt;br /&gt;&lt;br /&gt;End Class&lt;br /&gt;&lt;br /&gt;Got the chunk off 2 different MSDN pages. Thankfully it worked, after a bit of tweaking! Phew! All in a day's work...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7811924547316084783-1993384889533048101?l=liveandonthewire.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://liveandonthewire.blogspot.com/feeds/1993384889533048101/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7811924547316084783&amp;postID=1993384889533048101' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7811924547316084783/posts/default/1993384889533048101'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7811924547316084783/posts/default/1993384889533048101'/><link rel='alternate' type='text/html' href='http://liveandonthewire.blogspot.com/2007/05/vbnet-data-grid-view-reading-from-csv.html' title='VB.NET: Data Grid View &amp; Reading From CSV File'/><author><name>Susanna</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_xEg__V4PcQ8/Sfq6_ekE_hI/AAAAAAAAAEA/cTCxsv94ITY/S220/DSC01247.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7811924547316084783.post-761962631241820302</id><published>2007-05-28T15:42:00.001+08:00</published><updated>2007-05-28T15:55:52.271+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='introductions'/><category scheme='http://www.blogger.com/atom/ns#' term='vb.net'/><category scheme='http://www.blogger.com/atom/ns#' term='classes'/><category scheme='http://www.blogger.com/atom/ns#' term='.net framework'/><category scheme='http://www.blogger.com/atom/ns#' term='oop'/><title type='text'>VB.NET Classes</title><content type='html'>Creating classes in VB.NET:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.homeandlearn.co.uk/NET/nets11p2.html"&gt;homeandlearn&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.vbdotnetheaven.com/UploadFile/mahesh/BuildingClassLibrary04262005091233AM/BuildingClassLibrary.aspx"&gt;vbdotnetheaven&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.developerfusion.co.uk/show/1047/2/"&gt;developerfusion&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7811924547316084783-761962631241820302?l=liveandonthewire.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://liveandonthewire.blogspot.com/feeds/761962631241820302/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7811924547316084783&amp;postID=761962631241820302' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7811924547316084783/posts/default/761962631241820302'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7811924547316084783/posts/default/761962631241820302'/><link rel='alternate' type='text/html' href='http://liveandonthewire.blogspot.com/2007/05/vbnet-classes.html' title='VB.NET Classes'/><author><name>Susanna</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_xEg__V4PcQ8/Sfq6_ekE_hI/AAAAAAAAAEA/cTCxsv94ITY/S220/DSC01247.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7811924547316084783.post-5897715867681725062</id><published>2007-05-25T14:37:00.000+08:00</published><updated>2007-05-25T17:41:17.937+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='sql'/><category scheme='http://www.blogger.com/atom/ns#' term='introductions'/><category scheme='http://www.blogger.com/atom/ns#' term='vb.net'/><category scheme='http://www.blogger.com/atom/ns#' term='.net framework'/><category scheme='http://www.blogger.com/atom/ns#' term='database'/><title type='text'>Using Data Readers, SQL Server</title><content type='html'>&lt;a href="http://www.startvbdotnet.com/ado/sqlserver.aspx"&gt;http://www.startvbdotnet.com/ado/sqlserver.aspx&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.java2s.com/Code/VB/Database-ADO.net/SqlDataReader.htm"&gt;http://www.java2s.com/Code/VB/Database-ADO.net/SqlDataReader.htm&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Need to find out:&lt;br /&gt;- what ORM is&lt;br /&gt;- difference between SqlDataReader &amp;amp; SqlDataAdapter in VB.NET&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7811924547316084783-5897715867681725062?l=liveandonthewire.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://liveandonthewire.blogspot.com/feeds/5897715867681725062/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7811924547316084783&amp;postID=5897715867681725062' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7811924547316084783/posts/default/5897715867681725062'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7811924547316084783/posts/default/5897715867681725062'/><link rel='alternate' type='text/html' href='http://liveandonthewire.blogspot.com/2007/05/using-data-readers-sql-server.html' title='Using Data Readers, SQL Server'/><author><name>Susanna</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_xEg__V4PcQ8/Sfq6_ekE_hI/AAAAAAAAAEA/cTCxsv94ITY/S220/DSC01247.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7811924547316084783.post-9156413728027219702</id><published>2007-05-25T08:53:00.000+08:00</published><updated>2007-05-25T09:09:07.881+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='vb.net'/><category scheme='http://www.blogger.com/atom/ns#' term='.net framework'/><category scheme='http://www.blogger.com/atom/ns#' term='database'/><category scheme='http://www.blogger.com/atom/ns#' term='oop'/><title type='text'>VB.NET: Web Methods, Sessions, Database Operations</title><content type='html'>Some code I wrote that I want to  remember:&lt;br /&gt;&lt;br /&gt;&amp;#60;webmethod&amp;#40;enablesession&amp;#58;&amp;#61;true,Description&amp;#61;"Post feedback on session id, start time, end time"&amp;#41;&amp;#62; _&lt;br /&gt;  Public Function PostFeedback() As String&lt;br /&gt;      Dim sID As String = HttpContext.Current.Session.SessionID&lt;br /&gt;      Dim connString As String = System.Web.Configuration.WebConfigurationManager.ConnectionStrings.Item(connStringID).ConnectionString&lt;br /&gt;      Dim myConn As SqlConnection = New SqlConnection(connString)&lt;br /&gt;      Dim insertCommand, selectCommand, updateCommand As SqlCommand&lt;br /&gt;      Dim myReader As SqlDataReader&lt;br /&gt;      Dim end_time As DateTime&lt;br /&gt;      Const delay As Single = 10&lt;br /&gt;      Dim msg As String = "none"&lt;br /&gt;&lt;br /&gt;      myConn.Open()&lt;br /&gt;&lt;br /&gt;      'check whether there are any existing session ids in feedback table that matches current session id&lt;br /&gt;      selectCommand = New SqlCommand("select feedback_session_id, feedback_end_time from feedback where feedback_session_id = '" &amp; sID &amp;amp; "'", myConn)&lt;br /&gt;      myReader = selectCommand.ExecuteReader()&lt;br /&gt;&lt;br /&gt;      If myReader.HasRows = True Then&lt;br /&gt;&lt;br /&gt;          myReader.Read()&lt;br /&gt;&lt;br /&gt;          If myReader("feedback_end_time").Equals(DBNull.Value) Then&lt;br /&gt;&lt;br /&gt;              myReader.Close()&lt;br /&gt;              msg = "1"&lt;br /&gt;              'insert end time into feedback_end_time where the feedback_end_time field is empty&lt;br /&gt;              updateCommand = New SqlCommand("update feedback set feedback_end_time = " &amp; Now() &amp;amp; "where feedback_session_id = '" &amp; sID &amp;amp; "')", myConn)&lt;br /&gt;              updateCommand.ExecuteNonQuery()&lt;br /&gt;&lt;br /&gt;          Else&lt;br /&gt;&lt;br /&gt;              msg = "2"&lt;br /&gt;              end_time = myReader("feedback_end_time")&lt;br /&gt;              myReader.Close()&lt;br /&gt;&lt;br /&gt;              If (DateTime.Now - end_time).TotalMinutes &lt; delay Then&lt;br /&gt;&lt;br /&gt;                    'if difference between start time &amp; end time less than 10 mins then update feedback_end_time&lt;br /&gt;                    updateCommand = New SqlCommand("update feedback set feedback_end_time = " &amp; Now() &amp; "where feedback_session_id = '" &amp; sID &amp; "')", myConn)&lt;br /&gt;                    updateCommand.ExecuteNonQuery()&lt;br /&gt;&lt;br /&gt;                Else&lt;br /&gt;&lt;br /&gt;                    'if more than 10 mins, insert new row into feedback table with session id &amp; start time&lt;br /&gt;                    insertCommand = New SqlCommand("insert into feedback(feedback_session_id, feedback_start_time) values('" &amp; sID &amp; "', '" &amp; Now() &amp; "')", myConn)&lt;br /&gt;                    insertCommand.ExecuteNonQuery()&lt;br /&gt;&lt;br /&gt;                End If&lt;br /&gt;&lt;br /&gt;            End If&lt;br /&gt;&lt;br /&gt;        Else&lt;br /&gt;&lt;br /&gt;            msg = "3"&lt;br /&gt;            myReader.Close()&lt;br /&gt;            'insert new row into feedback table with session id &amp; start time&lt;br /&gt;            insertCommand = New SqlCommand("insert into feedback(feedback_session_id, feedback_start_time) values('" &amp; sID &amp; "','" &amp; Now() &amp; "')", myConn)&lt;br /&gt;            insertCommand.ExecuteNonQuery()&lt;br /&gt;&lt;br /&gt;        End If&lt;br /&gt;&lt;br /&gt;        myConn.Close()&lt;br /&gt;&lt;br /&gt;        Return msg '"Inserted " &amp; sID.ToString&lt;br /&gt;&lt;br /&gt;    End Function&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7811924547316084783-9156413728027219702?l=liveandonthewire.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://liveandonthewire.blogspot.com/feeds/9156413728027219702/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7811924547316084783&amp;postID=9156413728027219702' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7811924547316084783/posts/default/9156413728027219702'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7811924547316084783/posts/default/9156413728027219702'/><link rel='alternate' type='text/html' href='http://liveandonthewire.blogspot.com/2007/05/vbnet-web-methods-sessions-database.html' title='VB.NET: Web Methods, Sessions, Database Operations'/><author><name>Susanna</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_xEg__V4PcQ8/Sfq6_ekE_hI/AAAAAAAAAEA/cTCxsv94ITY/S220/DSC01247.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7811924547316084783.post-7307524676628237984</id><published>2007-05-23T17:05:00.000+08:00</published><updated>2007-05-25T10:03:04.171+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='sql'/><category scheme='http://www.blogger.com/atom/ns#' term='vb.net'/><category scheme='http://www.blogger.com/atom/ns#' term='ado.net'/><category scheme='http://www.blogger.com/atom/ns#' term='.net framework'/><category scheme='http://www.blogger.com/atom/ns#' term='database'/><title type='text'>Database Interaction In ADO.NET</title><content type='html'>&lt;a href="http://www.programmersheaven.com/2/Les_VBNET_13_p1"&gt;http://www.programmersheaven.com/2/Les_VBNET_13_p1&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.programmersheaven.com/2/Les_VBNET_13_p2"&gt;http://www.programmersheaven.com/2/Les_VBNET_13_p2&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;SQL Command Execution Methods:&lt;br /&gt;&lt;br /&gt;&lt;table border="0" width="90%"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td valign="top"&gt;&lt;span style=";font-family:verdana,Helvetica,Sans-Serif;font-size:10;"  &gt;ExecuteNonQuery&lt;/span&gt;&lt;/td&gt; &lt;td valign="top"&gt;&lt;span style=";font-family:verdana,Helvetica,Sans-Serif;font-size:10;"  &gt;Executes an SQL statement on the connected data source. You can use it for DDL statements, action queries (e.g., INSERT, UPDATE, and DELETE operations), and ad hoc queries. This method returns the number of rows affected but doesn't return output parameters or result sets.&lt;/span&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td valign="top"&gt;&lt;span style=";font-family:verdana,Helvetica,Sans-Serif;font-size:10;"  &gt;ExecuteReader&lt;/span&gt;&lt;/td&gt; &lt;td valign="top"&gt;&lt;span style=";font-family:verdana,Helvetica,Sans-Serif;font-size:10;"  &gt;Executes an SQL SELECT statement on the data source and returns a fast forward-only result.&lt;/span&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td valign="top"&gt;&lt;span style=";font-family:verdana,Helvetica,Sans-Serif;font-size:10;"  &gt;ExecuteScalar&lt;/span&gt;&lt;/td&gt; &lt;td valign="top"&gt;&lt;span style=";font-family:verdana,Helvetica,Sans-Serif;font-size:10;"  &gt;Executes a stored procedure or an SQL statement that returns a single scalar value. It returns the first row of the result set's first column to the calling application and ignores any other returned values.&lt;/span&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td valign="top"&gt;&lt;span style=";font-family:verdana,Helvetica,Sans-Serif;font-size:10;"  &gt;ExecuteXMLReader&lt;/span&gt;&lt;/td&gt; &lt;td valign="top"&gt;&lt;span style=";font-family:verdana,Helvetica,Sans-Serif;font-size:10;"  &gt;Executes a FOR XML SELECT statement that returns an XML data stream from the data source. The ExecuteXMLReader method is compatible only with SQL Server 2000 and later releases.&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;Source: &lt;a href="http://msdn2.microsoft.com/en-us/library/aa175757%28SQL.80%29.aspx"&gt;MSDN&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7811924547316084783-7307524676628237984?l=liveandonthewire.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://liveandonthewire.blogspot.com/feeds/7307524676628237984/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7811924547316084783&amp;postID=7307524676628237984' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7811924547316084783/posts/default/7307524676628237984'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7811924547316084783/posts/default/7307524676628237984'/><link rel='alternate' type='text/html' href='http://liveandonthewire.blogspot.com/2007/05/database-access-in-adonet.html' title='Database Interaction In ADO.NET'/><author><name>Susanna</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_xEg__V4PcQ8/Sfq6_ekE_hI/AAAAAAAAAEA/cTCxsv94ITY/S220/DSC01247.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7811924547316084783.post-8748578202101531832</id><published>2007-05-23T16:11:00.000+08:00</published><updated>2007-05-23T16:13:45.782+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='vb.net'/><category scheme='http://www.blogger.com/atom/ns#' term='asp.net'/><category scheme='http://www.blogger.com/atom/ns#' term='internet'/><category scheme='http://www.blogger.com/atom/ns#' term='.net framework'/><category scheme='http://www.blogger.com/atom/ns#' term='oop'/><title type='text'>OOP In VB.NET - Building Classes</title><content type='html'>&lt;a href="http://www.vbdotnetheaven.com/UploadFile/mahesh/BuildingClassLibrary04262005091233AM/BuildingClassLibrary.aspx"&gt;vbdotnetheaven&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.developerfusion.co.uk/show/1047/2/"&gt;developerfusion&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7811924547316084783-8748578202101531832?l=liveandonthewire.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://liveandonthewire.blogspot.com/feeds/8748578202101531832/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7811924547316084783&amp;postID=8748578202101531832' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7811924547316084783/posts/default/8748578202101531832'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7811924547316084783/posts/default/8748578202101531832'/><link rel='alternate' type='text/html' href='http://liveandonthewire.blogspot.com/2007/05/oop-in-vbnet-building-classes.html' title='OOP In VB.NET - Building Classes'/><author><name>Susanna</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_xEg__V4PcQ8/Sfq6_ekE_hI/AAAAAAAAAEA/cTCxsv94ITY/S220/DSC01247.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7811924547316084783.post-7293409637214065788</id><published>2007-05-23T11:07:00.000+08:00</published><updated>2007-05-23T11:25:28.021+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='vb.net'/><category scheme='http://www.blogger.com/atom/ns#' term='asp.net'/><category scheme='http://www.blogger.com/atom/ns#' term='.net framework'/><title type='text'>Timestamp</title><content type='html'>Dim s As Long = DateTime.Now.Ticks&lt;br /&gt;MsgBox("Time: " &amp; (s * 10 ^ -9) &amp;amp; " seconds")&lt;br /&gt;&lt;br /&gt;*The Ticks property is to get 100 nanosecond intervals since 1 January 1, 00:00:00.&lt;br /&gt;&lt;br /&gt;Source: &lt;a href="http://www.thescripts.com/forum/thread351451.html"&gt;the scripts developer network&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7811924547316084783-7293409637214065788?l=liveandonthewire.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://liveandonthewire.blogspot.com/feeds/7293409637214065788/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7811924547316084783&amp;postID=7293409637214065788' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7811924547316084783/posts/default/7293409637214065788'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7811924547316084783/posts/default/7293409637214065788'/><link rel='alternate' type='text/html' href='http://liveandonthewire.blogspot.com/2007/05/timestamp.html' title='Timestamp'/><author><name>Susanna</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_xEg__V4PcQ8/Sfq6_ekE_hI/AAAAAAAAAEA/cTCxsv94ITY/S220/DSC01247.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7811924547316084783.post-7916169461902240225</id><published>2007-05-22T21:13:00.000+08:00</published><updated>2007-05-22T21:24:00.654+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='uddi'/><category scheme='http://www.blogger.com/atom/ns#' term='asp.net'/><category scheme='http://www.blogger.com/atom/ns#' term='soap'/><category scheme='http://www.blogger.com/atom/ns#' term='xml'/><category scheme='http://www.blogger.com/atom/ns#' term='internet'/><category scheme='http://www.blogger.com/atom/ns#' term='gui'/><category scheme='http://www.blogger.com/atom/ns#' term='.net framework'/><category scheme='http://www.blogger.com/atom/ns#' term='wsdl'/><title type='text'>Heapfuls</title><content type='html'>Been having an awful lotta new info to absorb into brain. Wahhh. Here's some:&lt;br /&gt;&lt;em&gt;&lt;/em&gt;&lt;br /&gt;&lt;em&gt;Ping:&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;A utility to determine whether a specific IP address is accessible. It works by sending a packet to the specified address and waiting for a reply. PING is used primarily to troubleshoot Internet connections. There are many freeware and shareware Ping utilities available for personal computers.&lt;br /&gt;&lt;br /&gt;It is often believed that "Ping" is an abbreviation for Packet Internet Groper, but Ping's author has stated that the names comes from the sound that a sonar makes.&lt;br /&gt;&lt;br /&gt;Source: &lt;a href="http://www.webopedia.com/TERM/P/PING.html"&gt;Webopedia&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;em&gt;Web Service:&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;The term Web services describes a standardized way of integrating Web-based applications using the XML, SOAP, WSDL and UDDI open standards over an Internet protocol backbone. XML is used to tag the data, SOAP is used to transfer the data, WSDL is used for describing the services available and UDDI is used for listing what services are available. Used primarily as a means for businesses to communicate with each other and with clients, Web services allow organizations to communicate data without intimate knowledge of each other's IT systems behind the firewall.&lt;br /&gt;Unlike traditional client/server models, such as a Web server/Web page system, Web services do not provide the user with a GUI. Web services instead share business logic, data and processes through a programmatic interface across a network. The applications interface, not the users. Developers can then add the Web service to a GUI (such as a Web page or an executable program) to offer specific functionality to users.&lt;br /&gt;&lt;br /&gt;Web services allow different applications from different sources to communicate with each other without time-consuming custom coding, and because all communication is in XML, Web services are not tied to any one operating system or programming language. For example, Java can talk with Perl, Windows applications can talk with UNIX applications.&lt;br /&gt;&lt;br /&gt;Web services do not require the use of browsers or HTML.&lt;br /&gt;&lt;br /&gt;Web services are sometimes called application services.&lt;br /&gt;&lt;br /&gt;Source: &lt;a href="http://www.webopedia.com/TERM/W/Web_services.html"&gt;Webopedia&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;em&gt;Serialisation:&lt;br /&gt;&lt;/em&gt;&lt;a href="http://aspalliance.com/983_Introducing_Serialization_in_NET"&gt;http://aspalliance.com/983_Introducing_Serialization_in_NET&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7811924547316084783-7916169461902240225?l=liveandonthewire.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://liveandonthewire.blogspot.com/feeds/7916169461902240225/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7811924547316084783&amp;postID=7916169461902240225' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7811924547316084783/posts/default/7916169461902240225'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7811924547316084783/posts/default/7916169461902240225'/><link rel='alternate' type='text/html' href='http://liveandonthewire.blogspot.com/2007/05/ping-utility-to-determine-whether.html' title='Heapfuls'/><author><name>Susanna</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_xEg__V4PcQ8/Sfq6_ekE_hI/AAAAAAAAAEA/cTCxsv94ITY/S220/DSC01247.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7811924547316084783.post-2366822292786756524</id><published>2007-05-21T19:47:00.000+08:00</published><updated>2007-05-21T20:14:17.720+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='file'/><category scheme='http://www.blogger.com/atom/ns#' term='audio'/><category scheme='http://www.blogger.com/atom/ns#' term='html'/><title type='text'>Sound Embeds In HTML</title><content type='html'>Now this is a sure giveaway at what an amateur I am. Nonetheless, the existence of this blog serves as a reminder of lessons learnt, if nothing more.&lt;br /&gt;&lt;br /&gt;So here I have some code I got from elsewhere on how to embed sound files in HTML:&lt;br /&gt;&lt;br /&gt;&amp;#60;embed src &amp;#61;&amp;#34;your_waveormp3etc_filename&amp;#34; width &amp;#61; &amp;#34;275&amp;#34;height &amp;#61; &amp;#34;24&amp;#34; autostart &amp;#61; &amp;#34;false&amp;#34; loop &amp;#61; &amp;#34;false&amp;#34;&amp;#62;&amp;#60;&amp;#47;embed &amp;#62;&lt;br /&gt;&lt;br /&gt;The src parameter is the source audio file. The autostart determines whether the file plays automatically when the page loads.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7811924547316084783-2366822292786756524?l=liveandonthewire.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://liveandonthewire.blogspot.com/feeds/2366822292786756524/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7811924547316084783&amp;postID=2366822292786756524' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7811924547316084783/posts/default/2366822292786756524'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7811924547316084783/posts/default/2366822292786756524'/><link rel='alternate' type='text/html' href='http://liveandonthewire.blogspot.com/2007/05/sound-embeds-in-html.html' title='Sound Embeds In HTML'/><author><name>Susanna</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_xEg__V4PcQ8/Sfq6_ekE_hI/AAAAAAAAAEA/cTCxsv94ITY/S220/DSC01247.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7811924547316084783.post-2958936752737674935</id><published>2007-05-18T15:32:00.000+08:00</published><updated>2007-05-18T15:35:42.071+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='dhtml'/><category scheme='http://www.blogger.com/atom/ns#' term='event handling'/><title type='text'>Event Browser Compatibility</title><content type='html'>&lt;a href="http://www.quirksmode.org/js/events_compinfo.html"&gt;&lt;/a&gt;&lt;a href="http://www.quirksmode.org/js/events_compinfo.html"&gt;http://www.quirksmode.org/js/events_compinfo.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7811924547316084783-2958936752737674935?l=liveandonthewire.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://liveandonthewire.blogspot.com/feeds/2958936752737674935/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7811924547316084783&amp;postID=2958936752737674935' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7811924547316084783/posts/default/2958936752737674935'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7811924547316084783/posts/default/2958936752737674935'/><link rel='alternate' type='text/html' href='http://liveandonthewire.blogspot.com/2007/05/event-browser-compatibility.html' title='Event Browser Compatibility'/><author><name>Susanna</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_xEg__V4PcQ8/Sfq6_ekE_hI/AAAAAAAAAEA/cTCxsv94ITY/S220/DSC01247.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7811924547316084783.post-6846425380871052761</id><published>2007-05-18T12:26:00.000+08:00</published><updated>2007-05-21T12:36:44.681+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='os'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='fedora'/><category scheme='http://www.blogger.com/atom/ns#' term='solaris'/><title type='text'>Fedora</title><content type='html'>Ooh wah wee.&lt;br /&gt;&lt;br /&gt;What can I say? I think I like learning new things.&lt;br /&gt;&lt;br /&gt;Boss gave instructions to download Fedora &amp;amp; Solaris OS. Eheh. Again, more new stuff I have never before touched in my life...&lt;br /&gt;&lt;br /&gt;Here goes.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://fedoraproject.org/wiki/Distribution/Download"&gt;Downloading Fedora Core&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7811924547316084783-6846425380871052761?l=liveandonthewire.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://liveandonthewire.blogspot.com/feeds/6846425380871052761/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7811924547316084783&amp;postID=6846425380871052761' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7811924547316084783/posts/default/6846425380871052761'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7811924547316084783/posts/default/6846425380871052761'/><link rel='alternate' type='text/html' href='http://liveandonthewire.blogspot.com/2007/05/fedora.html' title='Fedora'/><author><name>Susanna</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_xEg__V4PcQ8/Sfq6_ekE_hI/AAAAAAAAAEA/cTCxsv94ITY/S220/DSC01247.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7811924547316084783.post-1767044272833546262</id><published>2007-05-16T18:13:00.000+08:00</published><updated>2007-05-18T14:49:40.761+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='bugs'/><category scheme='http://www.blogger.com/atom/ns#' term='file'/><category scheme='http://www.blogger.com/atom/ns#' term='php'/><title type='text'>Squash That Bug!</title><content type='html'>Sometimes programming goes awry for the slightest of errors. In our lingo, we call those nasty things bugs.&lt;br /&gt;&lt;br /&gt;I just spent maybe half an hour debugging a code that went wrong just because I forgot the "$" in front of a couple of my variable names.&lt;br /&gt;&lt;br /&gt;Aargh. That's programming for you...&lt;br /&gt;&lt;br /&gt;Anyways, I've learnt quite a bit of stuff on PHP by now. One of which is file operations such as reading &amp; writing to the file.&lt;br /&gt;&lt;br /&gt;Here, I'm gonna be awful nice &amp;amp; share...&lt;br /&gt;&lt;br /&gt;Reading from a file:&lt;br /&gt;&lt;br /&gt;$c_file = "counter.txt";&lt;br /&gt;$check_counter = fopen($c_file, "r");&lt;br /&gt;$curr_counter = fread($check_counter, filesize($c_file));&lt;br /&gt;fclose($check_counter);&lt;br /&gt;&lt;br /&gt;The code reads a counter value stored in the file counter.txt. $check_counter is a file handler which opens the file for reading (specified by the parameter "r"). $curr_counter is the variable which is assigned the value of the counter read from the file. The last line quite obviously closes the file after reading.&lt;br /&gt;&lt;br /&gt;Writing to a file:&lt;br /&gt;&lt;br /&gt;//read counter value from file counter.txt&lt;br /&gt;$counter_file = "counter.txt";&lt;br /&gt;$get_counter = fopen($counter_file, "r");&lt;br /&gt;$counter = fread($get_counter, filesize($counter_file));&lt;br /&gt;&lt;br /&gt;//close the counter.txt file&lt;br /&gt;fclose($get_counter);&lt;br /&gt;&lt;br /&gt;//open counter.txt file for writing&lt;br /&gt;$alter_counter = fopen($counter_file, "w");&lt;br /&gt;&lt;br /&gt;//decrement counter value by 1&lt;br /&gt;$new_counter = $counter-1;&lt;br /&gt;&lt;br /&gt;//write new decremented counter value to counter.txt then close the file&lt;br /&gt;fwrite($alter_counter, $new_counter);&lt;br /&gt;fclose($alter_counter);&lt;br /&gt;&lt;br /&gt;This code writes a new counter value to the file counter.txt in 2 steps. First the value is read from the file then the file closed, then in the 2nd part minus 1 from $counter &amp; store the new value in the file counter.txt.&lt;br /&gt;&lt;br /&gt;I'm sure there are more efficient ways of doing this. If any veteran out there sees this &amp;amp; doesn't mind sparing me a lesson on how, please drop a comment.&lt;br /&gt;&lt;br /&gt;&amp; in the meantime, I spent more than half my day trying to figure out how to either call javascript functions from within PHP script or using javascript code to read my counter value from the file. All just to find a way of disabling the form elements when the registration limit is reached (determined by the counter value of zero). Only to talk to my boss later in the evening &amp;amp; realise that he doesn't mind me just echoing a statement in the window to the effect that the user is informed that their registration is rejected because the registration limit has been reached.&lt;br /&gt;&lt;br /&gt;Hmmph.&lt;br /&gt;&lt;br /&gt;Oh well, at least I &lt;span style="font-weight: bold;"&gt;am&lt;/span&gt; learning new things everyday. I did learn that there is such a thing as server side Javascript. &amp;amp; I did learn those small bits about event handling for stuff that should happen when HTML code loads onto a page. It's done like this:&lt;br /&gt;&lt;br /&gt;&lt; onload="check_limit()"&gt;&lt;br /&gt;&lt;br /&gt;check_limit() being the javascript function, of course. The comment tags are just so that this post gets by the blogger specifications since HTML tags aren't technically allowed on the post :P&lt;br /&gt;&lt;br /&gt;Okies, enough rambling. I aim to be home soon.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7811924547316084783-1767044272833546262?l=liveandonthewire.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://liveandonthewire.blogspot.com/feeds/1767044272833546262/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7811924547316084783&amp;postID=1767044272833546262' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7811924547316084783/posts/default/1767044272833546262'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7811924547316084783/posts/default/1767044272833546262'/><link rel='alternate' type='text/html' href='http://liveandonthewire.blogspot.com/2007/05/squash-that-bug.html' title='Squash That Bug!'/><author><name>Susanna</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_xEg__V4PcQ8/Sfq6_ekE_hI/AAAAAAAAAEA/cTCxsv94ITY/S220/DSC01247.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7811924547316084783.post-365657396005863972</id><published>2007-05-16T11:06:00.000+08:00</published><updated>2007-05-18T14:48:07.931+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='forms'/><category scheme='http://www.blogger.com/atom/ns#' term='event handling'/><title type='text'>Event Handling &amp; Forms Forms Forms</title><content type='html'>The long &amp; short of it is that I'm needing to re-examine Javascript again. Something about it scares me, even though from previous experiences I've seen that it's not anywhere near being an inconquerable giant like say, Java, which I haven't &lt;span style="font-weight: bold;"&gt;ever&lt;/span&gt; touched at all before.&lt;br /&gt;&lt;br /&gt;Yet, that is.&lt;br /&gt;&lt;br /&gt;In any case, today's task  involves looking into how to check a decrementing counter to decide whether a form's elements/controls (am I using the right term here?) should be disabled. Hence the need to read up on event handling.&lt;br /&gt;&lt;br /&gt;I'm in a hurry to find code for an on load sorta event thingy, but I'm bookmarking this page to read later... It's pretty interesting:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.quirksmode.org/js/introevents.html"&gt;Introduction To Events&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Oh, &amp;amp; this one too:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.boutell.com/newfaq/creating/formurl.html"&gt;GET vs. POST&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Forms. The simple yet ever enduring pain of web programming...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7811924547316084783-365657396005863972?l=liveandonthewire.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://liveandonthewire.blogspot.com/feeds/365657396005863972/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7811924547316084783&amp;postID=365657396005863972' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7811924547316084783/posts/default/365657396005863972'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7811924547316084783/posts/default/365657396005863972'/><link rel='alternate' type='text/html' href='http://liveandonthewire.blogspot.com/2007/05/event-handling-forms-forms-forms.html' title='Event Handling &amp; Forms Forms Forms'/><author><name>Susanna</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_xEg__V4PcQ8/Sfq6_ekE_hI/AAAAAAAAAEA/cTCxsv94ITY/S220/DSC01247.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7811924547316084783.post-645144283877878204</id><published>2007-05-15T17:17:00.000+08:00</published><updated>2007-05-18T14:45:10.604+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='speaky'/><category scheme='http://www.blogger.com/atom/ns#' term='introductions'/><category scheme='http://www.blogger.com/atom/ns#' term='new'/><title type='text'>Here We Go</title><content type='html'>New blog. New adventures.&lt;br /&gt;&lt;br /&gt;But this time it's solely about my techie tracks. I am not really a true blue tech person, though I am still trying to be (by means of my current Software Engineer job eheh).&lt;br /&gt;&lt;br /&gt;The main purpose of this little blotting corner is basically to dump my tech jargon &amp; to spill any valuable lessons I pick up along the way. So, if you're willing to delve into all this stuff along with me, let's get going...&lt;br /&gt;&lt;br /&gt;There's a whole big Internet frontier &amp;amp; beyond to explore, &amp; it doesn't just end at the IE browser. Hehe. Yups yups. Bring a crowd, I expect a quite a spectacle of blunders &amp;amp; victories. Let the trekking begin, &amp;amp; the journey commence!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7811924547316084783-645144283877878204?l=liveandonthewire.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://liveandonthewire.blogspot.com/feeds/645144283877878204/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7811924547316084783&amp;postID=645144283877878204' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7811924547316084783/posts/default/645144283877878204'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7811924547316084783/posts/default/645144283877878204'/><link rel='alternate' type='text/html' href='http://liveandonthewire.blogspot.com/2007/05/here-we-go.html' title='Here We Go'/><author><name>Susanna</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_xEg__V4PcQ8/Sfq6_ekE_hI/AAAAAAAAAEA/cTCxsv94ITY/S220/DSC01247.JPG'/></author><thr:total>0</thr:total></entry></feed>
