<?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-8159117</id><updated>2012-01-31T10:29:05.780-06:00</updated><category term='yui'/><category term='javascript'/><category term='funny'/><category term='tool'/><category term='hacks'/><category term='amazon'/><category term='unix'/><category term='jott'/><category term='browser specific'/><category term='grep'/><category term='Eclipse'/><category term='coding'/><category term='example'/><category term='search'/><category term='search engine'/><category term='web development'/><category term='music'/><category term='error'/><category term='phone'/><category term='tip'/><category term='null'/><category term='google'/><title type='text'>Random Thoughts</title><subtitle type='html'>I am a computer programmer, so I'll list tips and tricks about software and web development.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://cvermule.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8159117/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://cvermule.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Cecil Vermule</name><uri>https://profiles.google.com/102789088956775878784</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-xfgTWl4uVEI/AAAAAAAAAAI/AAAAAAAAAAA/7Wwqhezms7g/s512-c/photo.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>40</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-8159117.post-3283402852595592287</id><published>2008-09-10T15:02:00.000-05:00</published><updated>2008-09-10T15:02:06.612-05:00</updated><title type='text'>The candidates from a Web Developer's perspective.</title><content type='html'>&lt;a href="http://www.idolhands.com/personal/obama-is-restful/"&gt;Obama is RESTful » Idol Hands: Days in the Life of an Alpha Geek&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I'm sorry to include just a link, but it's not my posting so I'm just passing the link along.&lt;div class="blogger-post-footer"&gt;This feed is copyrighted and from http://cvermule.blogspot.com/.&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8159117-3283402852595592287?l=cvermule.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.idolhands.com/personal/obama-is-restful/' title='The candidates from a Web Developer&apos;s perspective.'/><link rel='replies' type='application/atom+xml' href='http://cvermule.blogspot.com/feeds/3283402852595592287/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8159117&amp;postID=3283402852595592287&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8159117/posts/default/3283402852595592287'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8159117/posts/default/3283402852595592287'/><link rel='alternate' type='text/html' href='http://cvermule.blogspot.com/2008/09/candidates-from-web-developers.html' title='The candidates from a Web Developer&apos;s perspective.'/><author><name>Cecil Vermule</name><uri>https://profiles.google.com/102789088956775878784</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-xfgTWl4uVEI/AAAAAAAAAAI/AAAAAAAAAAA/7Wwqhezms7g/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8159117.post-3758923306490296606</id><published>2008-08-11T11:21:00.004-05:00</published><updated>2008-08-11T11:25:21.411-05:00</updated><title type='text'>Techie Crossing</title><content type='html'>Click &lt;a href="http://www.techiecrossing.com"&gt;here&lt;/a&gt; to search for technical jobs.&lt;div class="blogger-post-footer"&gt;This feed is copyrighted and from http://cvermule.blogspot.com/.&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8159117-3758923306490296606?l=cvermule.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.techiecrossing.com' title='Techie Crossing'/><link rel='replies' type='application/atom+xml' href='http://cvermule.blogspot.com/feeds/3758923306490296606/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8159117&amp;postID=3758923306490296606&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8159117/posts/default/3758923306490296606'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8159117/posts/default/3758923306490296606'/><link rel='alternate' type='text/html' href='http://cvermule.blogspot.com/2008/08/techie-crossing.html' title='Techie Crossing'/><author><name>Cecil Vermule</name><uri>https://profiles.google.com/102789088956775878784</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-xfgTWl4uVEI/AAAAAAAAAAI/AAAAAAAAAAA/7Wwqhezms7g/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8159117.post-279313056960268073</id><published>2008-07-31T10:55:00.000-05:00</published><updated>2008-07-31T10:55:07.126-05:00</updated><title type='text'>Firebug Lite</title><content type='html'>&lt;a href="http://getfirebug.com/lite.html"&gt;Firebug Lite&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;From the makers of Firebug for Firefox, now comes Firebug Lite.  Firebug Lite is available for all browsers that have javascript enabled.&lt;br /&gt;&lt;br /&gt;Firebug Lite can run as a &lt;a href="javascript:var firebug=document.createElement('script');firebug.setAttribute('src','http://getfirebug.com/releases/lite/1.2/firebug-lite-compressed.js');document.body.appendChild(firebug);(function(){if(window.pi&amp;&amp;window.firebug){firebug.init();}else{setTimeout(arguments.callee);}})();void(firebug);"&gt;bookmarklet&lt;/a&gt; or as an include file in any page for your project and all you have to do is hit F12 to access it once it is on your page (only available for includes).&lt;br /&gt;&lt;br /&gt;Since it is a lite version, it does not include all of the functions available to the normal Firebug plugin.  It will come in handy though.  You can inspect the css, the js, or the DOM.&lt;div class="blogger-post-footer"&gt;This feed is copyrighted and from http://cvermule.blogspot.com/.&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8159117-279313056960268073?l=cvermule.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://getfirebug.com/lite.html' title='Firebug Lite'/><link rel='replies' type='application/atom+xml' href='http://cvermule.blogspot.com/feeds/279313056960268073/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8159117&amp;postID=279313056960268073&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8159117/posts/default/279313056960268073'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8159117/posts/default/279313056960268073'/><link rel='alternate' type='text/html' href='http://cvermule.blogspot.com/2008/07/firebug-lite.html' title='Firebug Lite'/><author><name>Cecil Vermule</name><uri>https://profiles.google.com/102789088956775878784</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-xfgTWl4uVEI/AAAAAAAAAAI/AAAAAAAAAAA/7Wwqhezms7g/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8159117.post-6795815599068538123</id><published>2008-06-04T10:46:00.001-05:00</published><updated>2008-06-04T10:46:05.845-05:00</updated><title type='text'>Introducing...</title><content type='html'>&lt;div style="width:400px; text-align: center;"&gt;&lt;embed type="application/x-shockwave-flash" wmode="transparent" src="http://w286.photobucket.com/pbwidget.swf?pbwurl=http://w286.photobucket.com/albums/ll117/Vermule/506622db.pbw" height="300" width="400"&gt;&lt;a href="http://i286.photobucket.com/redirect/album?action=slideshow&amp;landing=/slideshows&amp;type=116" target="_blank"&gt;&lt;img src="http://pic.photobucket.com/slideshows/btn.gif" style="float:left;border-width: 0;" &gt;&lt;/a&gt;&lt;a href="http://s286.photobucket.com/albums/ll117/Vermule/?action=view&amp;current=506622db.pbw" target="_blank"&gt;&lt;img src="http://pic.photobucket.com/slideshows/btn_viewallimages.gif" style="float:left;border-width: 0;" &gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;This feed is copyrighted and from http://cvermule.blogspot.com/.&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8159117-6795815599068538123?l=cvermule.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cvermule.blogspot.com/feeds/6795815599068538123/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8159117&amp;postID=6795815599068538123&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8159117/posts/default/6795815599068538123'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8159117/posts/default/6795815599068538123'/><link rel='alternate' type='text/html' href='http://cvermule.blogspot.com/2008/06/introducing.html' title='Introducing...'/><author><name>Cecil Vermule</name><uri>https://profiles.google.com/102789088956775878784</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-xfgTWl4uVEI/AAAAAAAAAAI/AAAAAAAAAAA/7Wwqhezms7g/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8159117.post-7639977497832114904</id><published>2008-01-25T09:49:00.001-06:00</published><updated>2008-01-25T09:54:01.221-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='tip'/><category scheme='http://www.blogger.com/atom/ns#' term='grep'/><category scheme='http://www.blogger.com/atom/ns#' term='search'/><category scheme='http://www.blogger.com/atom/ns#' term='unix'/><title type='text'>Like grep, but not</title><content type='html'>This code is like using grep.  However, grep only returns the lines that contain the actual text you are searching for.  This code allows you to return x number of lines before and after the text you are searching for along with the line itself.  This command came in handy searching for information in the uds log files.&lt;br /&gt;&lt;br /&gt;nawk 'c--&gt;0;$0~s{if(b)for(c=b+1;c&gt;1;c--)print r[(NR-c+1)%b];print;c=a}b{r[NR%b]=$0}' b=2 a=4 s="fetchHotel" file&lt;br /&gt;&lt;br /&gt;b is the number of lines to print before the line encountered and a is the number of lines to print after the line is encountered.&lt;br /&gt;&lt;br /&gt;s=”string”  string you are looking for (in this case fetchHotel)&lt;br /&gt;and file is the file you are looking in.&lt;br /&gt;&lt;br /&gt;By Kris Chappell&lt;div class="blogger-post-footer"&gt;This feed is copyrighted and from http://cvermule.blogspot.com/.&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8159117-7639977497832114904?l=cvermule.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cvermule.blogspot.com/feeds/7639977497832114904/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8159117&amp;postID=7639977497832114904&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8159117/posts/default/7639977497832114904'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8159117/posts/default/7639977497832114904'/><link rel='alternate' type='text/html' href='http://cvermule.blogspot.com/2008/01/like-grep-but-not.html' title='Like grep, but not'/><author><name>Cecil Vermule</name><uri>https://profiles.google.com/102789088956775878784</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-xfgTWl4uVEI/AAAAAAAAAAI/AAAAAAAAAAA/7Wwqhezms7g/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8159117.post-763745359114968628</id><published>2007-12-06T11:35:00.001-06:00</published><updated>2007-12-06T13:19:16.822-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='tool'/><category scheme='http://www.blogger.com/atom/ns#' term='jott'/><category scheme='http://www.blogger.com/atom/ns#' term='phone'/><title type='text'>I found this new service,...</title><content type='html'>&lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;I found this new service, I was pointed to what it called jott.  It is at &lt;a href="http://www.jott.com" target="_blank"&gt;http://www.jott.com&lt;/a&gt;.  It is a new service.  A friend at work pointed me to it.  I thought you would like to know.  Here is a link. &lt;a target='_blank' href='http://www.jott.com/Show.aspx?id=5712ba6d-b9ea-4ea3-9079-3eddb9026acf'&gt;listen&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Powered by &lt;a target='_blank' href='http://jott.com'&gt;Jott&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;This feed is copyrighted and from http://cvermule.blogspot.com/.&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8159117-763745359114968628?l=cvermule.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cvermule.blogspot.com/feeds/763745359114968628/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8159117&amp;postID=763745359114968628&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8159117/posts/default/763745359114968628'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8159117/posts/default/763745359114968628'/><link rel='alternate' type='text/html' href='http://cvermule.blogspot.com/2007/12/i-found-this-new-service.html' title='I found this new service,...'/><author><name>Cecil Vermule</name><uri>https://profiles.google.com/102789088956775878784</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-xfgTWl4uVEI/AAAAAAAAAAI/AAAAAAAAAAA/7Wwqhezms7g/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8159117.post-494822430233808395</id><published>2007-09-14T15:22:00.000-05:00</published><updated>2007-09-14T15:23:33.097-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='hacks'/><category scheme='http://www.blogger.com/atom/ns#' term='search'/><category scheme='http://www.blogger.com/atom/ns#' term='google'/><category scheme='http://www.blogger.com/atom/ns#' term='search engine'/><title type='text'>Google Hacks</title><content type='html'>Security Cameras&lt;br /&gt;---------------------------------------------&lt;br /&gt;inurl:"viewerframe?mode=motion"&lt;br /&gt;intitle:"Live View / - AXIS"&lt;br /&gt;inurl:IndexFrame.shtml "Axis Video Server"&lt;br /&gt;inurl:LvAppl Intitle:liveapplet&lt;br /&gt;intitle:"WJ-NT104 Main"&lt;br /&gt;intitle:"enc-rz30 home"&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Unspidered Sites&lt;br /&gt;----------------------------------------------&lt;br /&gt;"robots.txt" "disallow:" filetype:txt&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Frontpage User Info&lt;br /&gt;----------------------------------------------&lt;br /&gt;inurl:_vti_pvt "service.pwd"&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;PHP Photo Albums&lt;br /&gt;----------------------------------------------&lt;br /&gt;inurl:"phphotoalbum/upload"&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;VNC User Info&lt;br /&gt;----------------------------------------------&lt;br /&gt;"vnc desktop" inurl:5800&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Networked Printers&lt;br /&gt;----------------------------------------------&lt;br /&gt;inurl:"port_255" -htm&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;phpAdmin Accounts&lt;br /&gt;----------------------------------------------&lt;br /&gt;intitle:phpMyAdmin "Welcome to phpMyAdmin ***" "running on * as root@*"&lt;div class="blogger-post-footer"&gt;This feed is copyrighted and from http://cvermule.blogspot.com/.&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8159117-494822430233808395?l=cvermule.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cvermule.blogspot.com/feeds/494822430233808395/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8159117&amp;postID=494822430233808395&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8159117/posts/default/494822430233808395'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8159117/posts/default/494822430233808395'/><link rel='alternate' type='text/html' href='http://cvermule.blogspot.com/2007/09/google-hacks.html' title='Google Hacks'/><author><name>Cecil Vermule</name><uri>https://profiles.google.com/102789088956775878784</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-xfgTWl4uVEI/AAAAAAAAAAI/AAAAAAAAAAA/7Wwqhezms7g/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8159117.post-2917811309980423344</id><published>2007-07-19T14:21:00.001-05:00</published><updated>2007-07-19T14:21:00.654-05:00</updated><title type='text'>What a use for Google Earth</title><content type='html'>&lt;embed src="http://services.brightcove.com/services/viewer/federated_f8/271557392" bgcolor="#FFFFFF" flashVars="videoId=1114191318&amp;playerId=271557392&amp;viewerSecureGatewayURL=https://services.brightcove.com/services/amfgateway&amp;servicesURL=http://services.brightcove.com/services&amp;cdnURL=http://admin.brightcove.com&amp;domain=embed&amp;autoStart=false&amp;" base="http://admin.brightcove.com" name="flashObj" width="300" height="260" seamlesstabbing="false" type="application/x-shockwave-flash" swLiveConnect="true" pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash"&gt;&lt;/embed&gt;&lt;p&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;This feed is copyrighted and from http://cvermule.blogspot.com/.&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8159117-2917811309980423344?l=cvermule.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cvermule.blogspot.com/feeds/2917811309980423344/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8159117&amp;postID=2917811309980423344&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8159117/posts/default/2917811309980423344'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8159117/posts/default/2917811309980423344'/><link rel='alternate' type='text/html' href='http://cvermule.blogspot.com/2007/07/what-use-for-google-earth.html' title='What a use for Google Earth'/><author><name>Cecil Vermule</name><uri>https://profiles.google.com/102789088956775878784</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-xfgTWl4uVEI/AAAAAAAAAAI/AAAAAAAAAAA/7Wwqhezms7g/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8159117.post-2343999506314843743</id><published>2007-06-26T16:37:00.000-05:00</published><updated>2007-06-26T16:39:40.727-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='null'/><category scheme='http://www.blogger.com/atom/ns#' term='Eclipse'/><title type='text'>Eclipse can detect null pointer reference</title><content type='html'>Eclipse has the ability to detect null pointer reference but it's not enable by default.  To do so, go to the preferences.  In the Java&gt;Compiler&gt;Errors/Warning page, click on "Potential programming problems".  There's a "Null reference:" drop list.&lt;br /&gt;You can set it to "Error", "Warning", or "Ignore".&lt;br /&gt;&lt;br /&gt;In Eclipse 3.3 there's also a setting for "Potential null pointer access" in the same section.&lt;div class="blogger-post-footer"&gt;This feed is copyrighted and from http://cvermule.blogspot.com/.&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8159117-2343999506314843743?l=cvermule.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cvermule.blogspot.com/feeds/2343999506314843743/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8159117&amp;postID=2343999506314843743&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8159117/posts/default/2343999506314843743'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8159117/posts/default/2343999506314843743'/><link rel='alternate' type='text/html' href='http://cvermule.blogspot.com/2007/06/eclipse-can-detect-null-pointer.html' title='Eclipse can detect null pointer reference'/><author><name>Cecil Vermule</name><uri>https://profiles.google.com/102789088956775878784</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-xfgTWl4uVEI/AAAAAAAAAAI/AAAAAAAAAAA/7Wwqhezms7g/s512-c/photo.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8159117.post-8146810638906877334</id><published>2007-03-22T11:22:00.000-05:00</published><updated>2007-03-22T16:36:26.100-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='web development'/><category scheme='http://www.blogger.com/atom/ns#' term='yui'/><category scheme='http://www.blogger.com/atom/ns#' term='coding'/><title type='text'>YUI-EXT - A cool tool</title><content type='html'>A friend a work linked me to this. It's a neat javascript package. It's an extension off of &lt;a href="http://developer.yahoo.com/yui/" target="_blank"&gt;Yahoo! User Interface (YUI) Library&lt;/a&gt;. It is called yui-ext.&lt;br /&gt;&lt;br /&gt;If you are not familiar with YUI, it "...is a javascript library that is a set of utilities and controls, written in JavaScript, for building richly interactive web applications using techniques such as DOM scripting, DHTML and AJAX. The YUI Library also includes several core CSS resources. All components in the YUI Library have been released as open source under a &lt;a href="http://developer.yahoo.com/yui/license.txt"&gt;BSD license&lt;/a&gt; and are free for all uses." (Quote from &lt;a href="http://developer.yahoo.com/yui/"&gt;http://developer.yahoo.com/yui/&lt;/a&gt;.)&lt;br /&gt;&lt;br /&gt;This library takes the YUI another level.  It is a bit hefty at a 345kb js file download for the users.&lt;div class="blogger-post-footer"&gt;This feed is copyrighted and from http://cvermule.blogspot.com/.&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8159117-8146810638906877334?l=cvermule.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.yui-ext.com/deploy/yui-ext/docs/' title='YUI-EXT - A cool tool'/><link rel='replies' type='application/atom+xml' href='http://cvermule.blogspot.com/feeds/8146810638906877334/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8159117&amp;postID=8146810638906877334&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8159117/posts/default/8146810638906877334'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8159117/posts/default/8146810638906877334'/><link rel='alternate' type='text/html' href='http://cvermule.blogspot.com/2007/03/yui-ext-cool-tool.html' title='YUI-EXT - A cool tool'/><author><name>Cecil Vermule</name><uri>https://profiles.google.com/102789088956775878784</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-xfgTWl4uVEI/AAAAAAAAAAI/AAAAAAAAAAA/7Wwqhezms7g/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8159117.post-6223241487363824646</id><published>2007-03-09T11:49:00.000-06:00</published><updated>2007-03-09T12:52:58.181-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='music'/><category scheme='http://www.blogger.com/atom/ns#' term='amazon'/><title type='text'>Musicovery</title><content type='html'>&lt;a href="http://bp3.blogger.com/_qyXOKgKXk8M/RfGf6iZicsI/AAAAAAAAABk/MuLNqC9sV4M/s1600-h/musicovery.JPG" target="_blank"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://bp3.blogger.com/_qyXOKgKXk8M/RfGf6iZicsI/AAAAAAAAABk/MuLNqC9sV4M/s320/musicovery.JPG" border="0" alt="Musicovery" id="BLOGGER_PHOTO_ID_5039985286019445442" /&gt;&lt;/a&gt;&lt;a href="http://bp2.blogger.com/_qyXOKgKXk8M/RfGgsSZictI/AAAAAAAAABs/s0jMptvfGg4/s1600-h/musicovery-panel-1.JPG" target="_blank"&gt;&lt;img style="float:right; cursor:pointer; cursor:hand;" src="http://bp2.blogger.com/_qyXOKgKXk8M/RfGgsSZictI/AAAAAAAAABs/s0jMptvfGg4/s320/musicovery-panel-1.JPG" border="0" alt="Musicovery Options Panel View 1" id="BLOGGER_PHOTO_ID_5039986140717937362" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://bp0.blogger.com/_qyXOKgKXk8M/RfGiMyZicvI/AAAAAAAAAB8/b1N6BsFJwJQ/s1600-h/musicovery-panel-2.JPG" target="_blank"&gt;&lt;img style="float:right; cursor:pointer; cursor:hand;" src="http://bp0.blogger.com/_qyXOKgKXk8M/RfGiMyZicvI/AAAAAAAAAB8/b1N6BsFJwJQ/s320/musicovery-panel-2.JPG" border="0"  alt="Musicovery Options Panel View 1" id="BLOGGER_PHOTO_ID_5039987798575313650" /&gt;&lt;/a&gt;&lt;br /&gt;I found this site courtesy of &lt;a href="http://www.i-am-bored.com/" target="_blank" title="http://www.i-am-bored.com"&gt;http://www.i-am-bored.com&lt;/a&gt;.  The name of the site is &lt;a href="http://musicovery.com/" target="_blank" title="Musicovery"&gt;Musicovery&lt;/a&gt;.  This is a site where you can listen to music based upon your "Mood" or "Dance" setting.  You can also select what kinds of genres that you do and don't want to listen to, the time frame of music, and whether they are hits or not.&lt;br /&gt;&lt;br /&gt;The program maps songs in an order and gives you the ability to pause the current song or to switch to the next song.  As you switch to the next songs in the list, it updates the song "map."  The site also provides links to &lt;a href="http://amazon.com/" target="_blank" title="Amazon"&gt;Amazon&lt;/a&gt; and &lt;a href="http://itunes.com/" target="_blank" title="iTunes"&gt;iTunes&lt;/a&gt; so that you can buy the track.&lt;br /&gt;&lt;br /&gt;For an example, the settings I chose were a high tempo with dance being middle of the road.  I also chose to have music only in the 2000's and to play hits and non-hits. With the genre's of: rap, R &amp; B, metal, rock, vocal pop, pop, electro, soundtrack, funk, and disco.&lt;br /&gt;&lt;br /&gt;I got results such as: Killers, "Mr. Brightside"; Type O Negative, "Life is killing me"; Gorillaz, "Clint Eastwood"; Will Smith, "Men in black"; Armand van Helden, "Come Play With Me"; American Hi Fi, "Flavour of the week"; White Stripes, "Blue Orchid"; Rihanna, "Pon de replay".&lt;br /&gt;&lt;br /&gt;I think this is a pretty neat site.&lt;div class="blogger-post-footer"&gt;This feed is copyrighted and from http://cvermule.blogspot.com/.&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8159117-6223241487363824646?l=cvermule.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://musicovery.com' title='Musicovery'/><link rel='replies' type='application/atom+xml' href='http://cvermule.blogspot.com/feeds/6223241487363824646/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8159117&amp;postID=6223241487363824646&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8159117/posts/default/6223241487363824646'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8159117/posts/default/6223241487363824646'/><link rel='alternate' type='text/html' href='http://cvermule.blogspot.com/2007/03/musicovery.html' title='Musicovery'/><author><name>Cecil Vermule</name><uri>https://profiles.google.com/102789088956775878784</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-xfgTWl4uVEI/AAAAAAAAAAI/AAAAAAAAAAA/7Wwqhezms7g/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp3.blogger.com/_qyXOKgKXk8M/RfGf6iZicsI/AAAAAAAAABk/MuLNqC9sV4M/s72-c/musicovery.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8159117.post-116300680730746311</id><published>2006-11-08T11:21:00.000-06:00</published><updated>2007-03-22T16:37:23.683-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='web development'/><title type='text'>favicon.ico</title><content type='html'>A favicon (short for "favorites icon"), also known as a page icon, is an icon associated with a particular website or webpage. A web designer can create such an icon, and many graphical web browsers—such as recent versions of Internet Explorer, Firefox, Mozilla, Opera, Safari, iCab, AOL Explorer, Epiphany, Konqueror, and Flock—can then make use of them. Browsers that support favicons may display them in the browser's URL bar, next to the site's name in lists of bookmarks, and next to the page's title in a tabbed document interface.&lt;br /&gt;&lt;br /&gt;The original means of defining a favicon was by placing a file called favicon.ico in the root directory of a webserver. This would then automatically be used in Internet Explorer's favorites (bookmarks) display. Later, however, a more flexible system was created, using HTML to indicate the location of an icon for any given page. This is achieved by adding two link elements in the &amp;lt;head&amp;gt; section of the document as detailed below. In this way, any appropriately sized (16×16 pixels or larger) image can be used, and although many still use the .ico format, other browsers now also support the animated GIF and PNG image formats.&lt;br /&gt;&lt;br /&gt;The "favicon.ico" facility is by no means essential to your website's operation. In fact, few people even notice its existence, and its really too small to put anything useful in it.&lt;br /&gt;&lt;br /&gt;However, creating one can save your site some bandwidth if you have created a &lt;a title="http://www.thesitewizard.com/archive/custom404.shtml" href="http://www.thesitewizard.com/archive/custom404.shtml" target="_blank"&gt;custom 404 File Not Found error file&lt;/a&gt; - that file will be sent by your web server everytime there is a request for a nonexistent "favicon.ico" file.&lt;br /&gt;&lt;br /&gt;Perhaps more importantly, creating such an icon adds to the professionalism of your site, marking you as a web designer who attends to detail.&lt;div class="blogger-post-footer"&gt;This feed is copyrighted and from http://cvermule.blogspot.com/.&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8159117-116300680730746311?l=cvermule.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://en.wikipedia.org/wiki/Favicon' title='favicon.ico'/><link rel='replies' type='application/atom+xml' href='http://cvermule.blogspot.com/feeds/116300680730746311/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8159117&amp;postID=116300680730746311&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8159117/posts/default/116300680730746311'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8159117/posts/default/116300680730746311'/><link rel='alternate' type='text/html' href='http://cvermule.blogspot.com/2006/11/faviconico.html' title='favicon.ico'/><author><name>Cecil Vermule</name><uri>https://profiles.google.com/102789088956775878784</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-xfgTWl4uVEI/AAAAAAAAAAI/AAAAAAAAAAA/7Wwqhezms7g/s512-c/photo.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8159117.post-115497956404359634</id><published>2006-08-07T14:33:00.000-05:00</published><updated>2007-03-22T16:38:06.599-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='web development'/><category scheme='http://www.blogger.com/atom/ns#' term='example'/><category scheme='http://www.blogger.com/atom/ns#' term='browser specific'/><category scheme='http://www.blogger.com/atom/ns#' term='coding'/><title type='text'>IE Bug Using document.getElementById()</title><content type='html'>If you are using either document.getElementById() or prototype's $() and you have an element in your page with it's name that is the same as the id of an element that comes after it, DON'T DO IT!!!&lt;br /&gt;&lt;br /&gt;IE treats the id and name attributes of elements equally when using document.getElementById().&lt;br /&gt;&lt;br /&gt;For an example, use the following HTML code.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;html&gt;&lt;br /&gt;&amp;lt;body&gt;&lt;br /&gt;name: testMe&lt;br /&gt;&amp;lt;input type="text" name="testMe" value="First Element" /&gt;&amp;lt;br /&gt;&lt;br /&gt;name: dontTestMe     id: testMe&lt;br /&gt;&amp;lt;input type="text" name="dontTestMe" id="testMe" value="Second Element" /&gt;&lt;br /&gt;&amp;lt;br /&gt;&lt;br /&gt;&amp;lt;input type="button" onclick="alert(document.getElementById('testMe').value);" value="Click me to see what happens." " /&gt;&lt;br /&gt;&amp;lt;/body&gt;&lt;br /&gt;&amp;lt;/html&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;h1&gt;Working Example&lt;/h1&gt;&lt;br /&gt;name: testMe&lt;br /&gt;&lt;input value="First Element" name="testMe"&gt;&lt;br /&gt;&lt;br /&gt;name: dontTestMe     id: testMe&lt;br /&gt;&lt;input id="testMe" value="Second Element" name="dontTestMe"&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;input onclick="alert(document.getElementById('testMe').value);" type="button" value="Click me to see what happens."&gt;&lt;div class="blogger-post-footer"&gt;This feed is copyrighted and from http://cvermule.blogspot.com/.&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8159117-115497956404359634?l=cvermule.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cvermule.blogspot.com/feeds/115497956404359634/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8159117&amp;postID=115497956404359634&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8159117/posts/default/115497956404359634'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8159117/posts/default/115497956404359634'/><link rel='alternate' type='text/html' href='http://cvermule.blogspot.com/2006/08/ie-bug-using-documentgetelementbyid.html' title='IE Bug Using document.getElementById()'/><author><name>Cecil Vermule</name><uri>https://profiles.google.com/102789088956775878784</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-xfgTWl4uVEI/AAAAAAAAAAI/AAAAAAAAAAA/7Wwqhezms7g/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8159117.post-114866768078323464</id><published>2006-05-26T13:14:00.000-05:00</published><updated>2007-03-22T16:39:06.547-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='error'/><category scheme='http://www.blogger.com/atom/ns#' term='funny'/><title type='text'>Security Warning on MSDN</title><content type='html'>&lt;a href="http://photos1.blogger.com/blogger/6524/539/1600/securityWarning.jpg"&gt;&lt;img style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://photos1.blogger.com/blogger/6524/539/400/securityWarning.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I got this warning when trying to go to MSDN from a search.&lt;br /&gt;&lt;br /&gt;How comical is this!?&lt;div class="blogger-post-footer"&gt;This feed is copyrighted and from http://cvermule.blogspot.com/.&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8159117-114866768078323464?l=cvermule.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cvermule.blogspot.com/feeds/114866768078323464/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8159117&amp;postID=114866768078323464&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8159117/posts/default/114866768078323464'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8159117/posts/default/114866768078323464'/><link rel='alternate' type='text/html' href='http://cvermule.blogspot.com/2006/05/security-warning-on-msdn.html' title='Security Warning on MSDN'/><author><name>Cecil Vermule</name><uri>https://profiles.google.com/102789088956775878784</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-xfgTWl4uVEI/AAAAAAAAAAI/AAAAAAAAAAA/7Wwqhezms7g/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8159117.post-114545606225795116</id><published>2006-05-02T16:53:00.000-05:00</published><updated>2006-05-02T16:56:33.070-05:00</updated><title type='text'>SQL index tip</title><content type='html'>This where clause can be made more simple and avoid unnecessary formatting by Oracle if you use the default Oracle format for the date test.  Sometimes function calls will cause Oracle to disregard the index.&lt;br /&gt; &lt;br /&gt;This:&lt;br /&gt;&lt;code&gt;update rad.dcd10dm&lt;br /&gt;...&lt;br /&gt;where dep &gt; to_date('03/20/2006', 'MM/DD/YYYY');&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Can be coded like this:&lt;br /&gt;&lt;code&gt;update rad.dcd10dm&lt;br /&gt;...&lt;br /&gt;where dep &gt; '20-mar-06';&lt;/code&gt;&lt;div class="blogger-post-footer"&gt;This feed is copyrighted and from http://cvermule.blogspot.com/.&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8159117-114545606225795116?l=cvermule.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cvermule.blogspot.com/feeds/114545606225795116/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8159117&amp;postID=114545606225795116&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8159117/posts/default/114545606225795116'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8159117/posts/default/114545606225795116'/><link rel='alternate' type='text/html' href='http://cvermule.blogspot.com/2006/05/sql-index-tip.html' title='SQL index tip'/><author><name>Cecil Vermule</name><uri>https://profiles.google.com/102789088956775878784</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-xfgTWl4uVEI/AAAAAAAAAAI/AAAAAAAAAAA/7Wwqhezms7g/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8159117.post-114545620798829313</id><published>2006-04-26T09:16:00.000-05:00</published><updated>2006-04-26T10:09:35.843-05:00</updated><title type='text'>Oracle Tuning</title><content type='html'>For most efficient access, the order that tables are specified can make a difference. The optimiser will re-order table access based on the indexes available. If access paths on two tables seem equally efficient, Oracle will use the order of tables specified in the FROM clause to determine the execution path.&lt;br /&gt;The rule is to place the table that reduces the number of returned rows by the largest factor last. This table tends to be the one that has most WHERE conditions reducing the data, or it is the smallest table. If in doubt, consult the DBA team.&lt;br /&gt;Just to remind you that this order of tables is important only if you are using Rule Based Optimizer. If that is the case, then table with fewer rows should be listed LAST in the FROM clause (because that should be the driving table, and parser processes table names from right to left).&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;2.5 WHERE Clause&lt;br /&gt;The bulk of SQL performance tuning relates to the careful specification of the WHERE clause. Each clause within the WHERE clause can be executed with varying degrees of efficiency. The efficiency of a particular WHERE clause is a function of the size of the table, and the indexes that are available on the selecting column(s).&lt;br /&gt;2.5.1 Access Paths and Indexes&lt;br /&gt;To obtain a row from a given table in the database, Oracle uses an access path. An access path is a mechanism of obtaining particular rows. A set of access paths for all tables involved in a query and the internal Oracle operations that join the results from the access paths form a complete execution plan.&lt;br /&gt;Oracle supports many different access paths, of which at least one is available for every row required for each table used within a query. The following table shows the types of access paths supported by Oracle, where ranked number one is the most efficient and ranked 15 is the least efficient. Oracle uses the relative efficiencies in this table as part of the process of determining cost for a particular execution plan..&lt;br /&gt;&lt;br /&gt;Rank Condition&lt;br /&gt;1 Single row by ROWID&lt;br /&gt;2 Single row by cluster join (only for clustered table)&lt;br /&gt;3 Single row by hash cluster key with unique or primary key (only for hash clusters)&lt;br /&gt;4 Single row by unique or primary key (where unique index exists)&lt;br /&gt;5 cluster join (for cluster tables)&lt;br /&gt;6 Hash cluster key (for cluster columns)&lt;br /&gt;7 Indexed cluster key (for clustered columns)&lt;br /&gt;8 Composite Index&lt;br /&gt;9 Single column indexes&lt;br /&gt;10 Bounded range searches&lt;br /&gt;11 Unbounded range searches on indexes columns&lt;br /&gt;12 Sort-merge join (join of non-indexed columns)&lt;br /&gt;13 MAX or MIN of indexed column (where these group functions appear in the column list of the SQL statement.&lt;br /&gt;14 ORDER BY on indexed columns&lt;br /&gt;15 Full table scan. This access path is always available.&lt;br /&gt;An index is an additional database structure that is manually created but automatically maintained by Oracle. One or more columns in a single table may be included in a single indexed, and there may be many indexes for a particular table.&lt;br /&gt;An index allows rapid access to particular rows in a table when a WHERE clause selects &lt;br /&gt;* all of the columns referenced by a particular index &lt;br /&gt;* the leading columns of an index created over multiple columns.&lt;br /&gt;Unless an index exists on columns used in the WHERE clause, access paths that use indexes are not available.&lt;br /&gt;Cluster and hash indexes are characteristics of the way that tables are physically built in the database. As we can see from the table listed above that indexes and clustering make the most efficient access paths available to Oracle.&lt;br /&gt;Accesses to non indexed columns in tables can only be made via a full table scan. For large tables, a full table scan will take a long time and is to be avoided. If the application needs to locate records in a large table by a non indexed column, seek advice from the DBA team.&lt;br /&gt;&lt;br /&gt;3 Summary&lt;br /&gt;This section summarises the following good practices which application developers should bear in mind when developing SQL scripts: &lt;br /&gt;* Table Aliases - always use table aliases when more than one table is involved in a query. The advantages of this method are to prevent future syntax errors when ambiguously named columns is added to table.The SQL statement is more readable. &lt;br /&gt;* Sequencing of WHERE clause conditions - Note that non-index WHERE clause conditions are evaluated one by one after retrieving the rows. The AND statements are evaluated bottom-up, and the OR statements are evaluated top-down. Always place complex AND conditions in the beginning and placing complex OR conditions at the end. &lt;br /&gt;* Reduce the number of trips to the database - Every time a SQL is executed the statements are parsed, indexes are evaluated, variables are bound, and in a client-server environment, SQL and results are transferred over the network. In order to maintain efficiency developers should minimises the number of statements executed. &lt;br /&gt;* WHERE vs HAVING - HAVING filters the groups after the rows have been fetched, sorted and grouped. WHERE filters the rows when they are fetched. Therefore, the WHERE statement will reduce the overheads involved in reading the data blocks and sorting. This in turn improves the performance. &lt;br /&gt;* EXISTS in place of DISTINCT - EXISTS does not result in sorting and it is more efficient when an index is available. DISTINCT is always sorts the results and eliminates the duplicates. &lt;br /&gt;* NOT EXISTS in place of NOT IN - NOT IN with a sub-query results in an internal sort. Replacing NOT IN (sub-query) with NOT EXISTS (co-related sub-query) may improve performance. Use this method ONLY WHEN an index is available for co-related sub-query. &lt;br /&gt;* Using Indexes - Using indexes improves the performance only when the number of records to be retrieved are about 20% of total records in the table. To make the indexes available always avoid using calculations on indexed columns, and indexed_column &lt;&gt; value or using indexed_column IS NULL statements.&lt;div class="blogger-post-footer"&gt;This feed is copyrighted and from http://cvermule.blogspot.com/.&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8159117-114545620798829313?l=cvermule.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cvermule.blogspot.com/feeds/114545620798829313/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8159117&amp;postID=114545620798829313&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8159117/posts/default/114545620798829313'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8159117/posts/default/114545620798829313'/><link rel='alternate' type='text/html' href='http://cvermule.blogspot.com/2006/04/oracle-tuning.html' title='Oracle Tuning'/><author><name>Cecil Vermule</name><uri>https://profiles.google.com/102789088956775878784</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-xfgTWl4uVEI/AAAAAAAAAAI/AAAAAAAAAAA/7Wwqhezms7g/s512-c/photo.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8159117.post-112008010701648947</id><published>2006-04-18T16:21:00.000-05:00</published><updated>2006-04-26T10:13:35.036-05:00</updated><title type='text'>Data Access using ADO.NET Objects</title><content type='html'>prepared by John Papproth&lt;br /&gt;on June 29th, 2005&lt;br /&gt;&lt;br /&gt;ADO.NET is a disconnected data access model.&lt;br /&gt;The model contains several classes that are found in the System.Data namespace.&lt;br /&gt;&lt;br /&gt;There are two mirrored class groups in Visual Studio.NET 2003:&lt;br /&gt;SQL prefixed classes (SQLConnection, SQLDataAdapter) are especially tuned for a Microsoft SQL Server Environment.&lt;br /&gt;OleDb prefixed classes (OleDbConnection, OleDbDataAdapter) are intended for non SQL Server Environments such as Oracle, DB2, and Microsoft Access.&lt;br /&gt;&lt;br /&gt;The following example uses Microsoft Access, the OleDb ADO.NET objects, and Visual Basic.NET to create a simple form driven update.&lt;br /&gt;&lt;br /&gt;Example:&lt;br /&gt;1. Create the data base and tables.&lt;br /&gt;2. Create the form.&lt;br /&gt;3. Create the ADO.NET class references.&lt;br /&gt;4. Write code to instantiate the classes.&lt;br /&gt;&lt;br /&gt;1. Create the data base and tables. &lt;br /&gt;Create an Access Database.&lt;br /&gt;Create a Table within the Access Database.&lt;br /&gt;&lt;br /&gt;2. Create the form. &lt;br /&gt;Create one label and textbox pair for each column in your table.&lt;br /&gt;&lt;br /&gt;3. Create the ADO.NET class references. &lt;br /&gt;&lt;code&gt;Private cn As OleDb.OleDbConnection&lt;br /&gt;Private da As OleDb.OleDbDataAdapter&lt;br /&gt;Private ds As DataSet&lt;br /&gt;Private dt As DataTable&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;4. Write code to instantiate the classes. &lt;br /&gt;&lt;br /&gt;Create the connection&lt;br /&gt;&lt;code&gt;cn = New OleDb.OleDbConnection&lt;br /&gt;cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" &amp; _&lt;br /&gt;"Data Source=" &amp; _&lt;br /&gt;Application.StartupPath &amp; "\YourDatabaseNameHere.mdb"&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Create a new adapter, and set the connection in the command objects&lt;br /&gt;(Replace the Select * with your Column Names)&lt;br /&gt;&lt;code&gt;da = New OleDb.OleDbDataAdapter("Select * from YourTableNameHere", cn)&lt;br /&gt;da.SelectCommand.Connection = cn&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Create an empty dataset&lt;br /&gt;&lt;code&gt;ds = New DataSet&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Fill the dataset&lt;br /&gt;&lt;code&gt;da.Fill(ds, "YourTableNameHere")&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Create the data table&lt;br /&gt;&lt;code&gt;dt = ds.Tables("YourTableNameHere")&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Bind the fields to the data table&lt;br /&gt;&lt;br /&gt;Binding a combo box control:&lt;br /&gt;&lt;code&gt;cboComboBox.DataSource = dt&lt;br /&gt;cboComboBox.DisplayMember = "YourColumnNameHere"&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Binding a text box control:&lt;br /&gt;&lt;code&gt;txtTextBox.DataBindings.Add("Text", dt, "YourColumnNameHere")&lt;/code&gt;&lt;div class="blogger-post-footer"&gt;This feed is copyrighted and from http://cvermule.blogspot.com/.&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8159117-112008010701648947?l=cvermule.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cvermule.blogspot.com/feeds/112008010701648947/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8159117&amp;postID=112008010701648947&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8159117/posts/default/112008010701648947'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8159117/posts/default/112008010701648947'/><link rel='alternate' type='text/html' href='http://cvermule.blogspot.com/2006/04/data-access-using-adonet-objects.html' title='Data Access using ADO.NET Objects'/><author><name>Cecil Vermule</name><uri>https://profiles.google.com/102789088956775878784</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-xfgTWl4uVEI/AAAAAAAAAAI/AAAAAAAAAAA/7Wwqhezms7g/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8159117.post-114417736284541464</id><published>2006-04-04T14:01:00.000-05:00</published><updated>2006-04-17T12:04:47.120-05:00</updated><title type='text'>Texas Cowboy</title><content type='html'>A Texas cowboy was tending to his herd in a remote pasture when suddenly a brand new BMW advanced out of a dust cloud towards him. The driver, a young man in a Brioni suit, Gucci shoes, Ray Ban sunglasses and YSL tie, leaned out the window and asked the cowboy... "If I tell you exactly how many cows and calves you have in your herd, will you give me a calf?"&lt;br /&gt;&lt;br /&gt;The cowboy looks at the man, obviously a yuppie, then looks at his peacefully grazing herd and calmly answers, "Sure, Why not?"&lt;br /&gt;&lt;br /&gt;The yuppie parks his car, whips out his Dell notebook computer, connects it to his AT&amp;T cell phone, and surfs to a NASA page on the Internet where he calls up a GPS satellite navigation system to get an exact fix on his location which he then feeds to another NASA satellite that scans the area in an ultra-high-resolution photo. The young man then opens the digital photo in Adobe Photoshop and exports it to an image processing facility in Hamburg, Germany.&lt;br /&gt;&lt;br /&gt;Within seconds, he receives an email on his Palm Pilot that the image has been processed and the data stored. He then accesses a MS-SQL database through an ODBC connected Excel spreadsheet with hundreds of complex formulas. He uploads all of this data via an email on his Blackberry and, after a few minutes, receives a response. Finally, he prints out a full-color, 150-page report on his hi-tech, miniaturized HP LaserJet printer and turns to the cowboy and says, "You have exactly 1586 cows and calves."&lt;br /&gt;&lt;br /&gt;"That's right. Well, I guess you can take one of my calves," says the cowboy. He watches the young man select one of the animals and looks on amused as the young man stuffs it into the trunk of his car.&lt;br /&gt;&lt;br /&gt;Then the cowboy says to the young man, "Hey, if I can tell you exactly what your business is, will you give me back my calf?"&lt;br /&gt;&lt;br /&gt;The young man thinks about it for a second and then says, "Okay, why not?"&lt;br /&gt;&lt;br /&gt;"You're a consultant for the U. S. Government," says the cowboy.&lt;br /&gt;&lt;br /&gt;"Wow! That's correct," says the yuppie, "but how did you guess that?"&lt;br /&gt;&lt;br /&gt;"Simple," answered the cowboy. "You showed up here even though nobody called you; you want to get paid for an answer I already knew, to a question that I never asked; and you don't know anything about cows."&lt;br /&gt;&lt;br /&gt;"Now give me back my dog."&lt;div class="blogger-post-footer"&gt;This feed is copyrighted and from http://cvermule.blogspot.com/.&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8159117-114417736284541464?l=cvermule.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cvermule.blogspot.com/feeds/114417736284541464/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8159117&amp;postID=114417736284541464&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8159117/posts/default/114417736284541464'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8159117/posts/default/114417736284541464'/><link rel='alternate' type='text/html' href='http://cvermule.blogspot.com/2006/04/texas-cowboy.html' title='Texas Cowboy'/><author><name>Cecil Vermule</name><uri>https://profiles.google.com/102789088956775878784</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-xfgTWl4uVEI/AAAAAAAAAAI/AAAAAAAAAAA/7Wwqhezms7g/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8159117.post-114417726468499163</id><published>2006-04-04T14:00:00.000-05:00</published><updated>2006-04-04T14:12:49.066-05:00</updated><title type='text'>Some Actual Tech Support Transcripts</title><content type='html'>&lt;strong&gt;Call 1&lt;/strong&gt;&lt;br /&gt;&lt;em&gt;Tech support&lt;/em&gt;: What kind of computer do you have? &lt;br /&gt;&lt;em&gt;Female customer&lt;/em&gt;: A white one... &lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Call 2&lt;/strong&gt;&lt;br /&gt;&lt;em&gt;Customer&lt;/em&gt;: Hi, this is Celine. I can't get my diskette out. &lt;br /&gt;&lt;em&gt;Tech support&lt;/em&gt;: Have you tried pushing the button? &lt;br /&gt;&lt;em&gt;Customer&lt;/em&gt;: Yes, sure, it's really stuck. &lt;br /&gt;&lt;em&gt;Tech support&lt;/em&gt;: That doesn't sound good; I'll make a note. &lt;br /&gt;&lt;em&gt;Customer&lt;/em&gt;: No . Wait a minute... I hadn't inserted it yet... it's still on my desk... Sorry.... &lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Call 3&lt;/strong&gt;&lt;br /&gt;&lt;em&gt;Tech support&lt;/em&gt;: Click on the 'my computer' icon on to the left of the screen. &lt;br /&gt;&lt;em&gt;Customer&lt;/em&gt;: Your left or my left? &lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Call 4&lt;/strong&gt;&lt;br /&gt;&lt;em&gt;Tech support&lt;/em&gt;: Good day. How may I help you? &lt;br /&gt;&lt;em&gt;Male customer&lt;/em&gt;: Hello... I can't print. &lt;br /&gt;&lt;em&gt;Tech support&lt;/em&gt;: Would you click on "start" for me and... &lt;br /&gt;&lt;em&gt;Customer&lt;/em&gt;: Listen pal; don't start getting technical on me! I'm not Bill Gates. - &lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Call 5&lt;/strong&gt;&lt;br /&gt;&lt;em&gt;Customer&lt;/em&gt;: Hi, good afternoon, this is Martha, I can't print. Every time I try, it says 'Can't find printer'. I've even lifted the printer and placed it in front of the monitor, but the computer still says he can't find it... &lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Call 6&lt;/strong&gt;&lt;br /&gt;&lt;em&gt;Customer&lt;/em&gt;: I have problems printing in red... &lt;br /&gt;&lt;em&gt;Tech support&lt;/em&gt;: Do you have a color printer? &lt;br /&gt;&lt;em&gt;Customer&lt;/em&gt;: Aaaah....................thank you. &lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Call 7&lt;/strong&gt;&lt;br /&gt;&lt;em&gt;Tech support&lt;/em&gt;: What's on your monitor now, ma'am? &lt;br /&gt;&lt;em&gt;Customer&lt;/em&gt;: A teddy bear my boyfriend bought for me at the 7-11. &lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Call 8&lt;/strong&gt;&lt;br /&gt;&lt;em&gt;Customer&lt;/em&gt;: My keyboard is not working anymore. &lt;br /&gt;&lt;em&gt;Tech support&lt;/em&gt;: Are you sure it's plugged into the computer? &lt;br /&gt;&lt;em&gt;Customer&lt;/em&gt;: No. I can't get behind the computer. &lt;br /&gt;&lt;em&gt;Tech support&lt;/em&gt;: Pick up your keyboard and walk 10 paces back. &lt;br /&gt;&lt;em&gt;Customer&lt;/em&gt;: OK &lt;br /&gt;&lt;em&gt;Tech support&lt;/em&gt;: Did the keyboard come with you? &lt;br /&gt;&lt;em&gt;Customer&lt;/em&gt;: Yes &lt;br /&gt;&lt;em&gt;Tech support&lt;/em&gt;: That means the keyboard is not plugged in. Is there another keyboard? &lt;br /&gt;&lt;em&gt;Customer&lt;/em&gt;: Yes, there's another one here. Ah...that one does work... &lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Call 9&lt;/strong&gt;&lt;br /&gt;&lt;em&gt;Tech support&lt;/em&gt;: Your password is the small letter a as in apple, a capital letter V as in Victor, the number 7. &lt;br /&gt;&lt;em&gt;Customer&lt;/em&gt;: Is that 7 in capital letters? &lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Call 10&lt;/strong&gt;&lt;br /&gt;&lt;em&gt;Customer&lt;/em&gt;: I can't get on the Internet. &lt;br /&gt;&lt;em&gt;Tech support&lt;/em&gt;: Are you sure you used the right password? &lt;br /&gt;&lt;em&gt;Customer&lt;/em&gt;: Yes, I'm sure. I saw my colleague do it. &lt;br /&gt;Tech? support: Can you tell me what the password was? &lt;br /&gt;&lt;em&gt;Customer&lt;/em&gt;: Five stars. &lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Call 11&lt;/strong&gt;&lt;br /&gt;&lt;em&gt;Tech support&lt;/em&gt;: What anti-virus program do you use? &lt;br /&gt;&lt;em&gt;Customer&lt;/em&gt;: Netscape. &lt;br /&gt;&lt;em&gt;Tech support&lt;/em&gt;: That's not an anti-virus program. &lt;br /&gt;&lt;em&gt;Customer&lt;/em&gt;: Oh, sorry...Internet Explorer. &lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Call 12&lt;/strong&gt;&lt;br /&gt;&lt;em&gt;Customer&lt;/em&gt;: I have a huge problem. A friend has placed a screen saver on my computer, but every time I move the mouse, it disappears. &lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Call 13&lt;/strong&gt;&lt;br /&gt;&lt;em&gt;Tech support&lt;/em&gt;: How may I help you? &lt;br /&gt;&lt;em&gt;Customer&lt;/em&gt;: I'm writing my first e-mail. &lt;br /&gt;&lt;em&gt;Tech support&lt;/em&gt;: OK, and what seems to be the problem? &lt;br /&gt;&lt;em&gt;Customer&lt;/em&gt;: Well, I have the letter 'a' in the address, but how do I get the circle around it? &lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Call 14&lt;/strong&gt;&lt;br /&gt;A woman customer called the Canon help desk with a problem with her printer. &lt;br /&gt;&lt;em&gt;Tech support&lt;/em&gt;: Are you running it under Windows? &lt;br /&gt;&lt;em&gt;Customer&lt;/em&gt;: "No, my desk is next to the door, but that is a good point. The man sitting in the cubicle next to me is under a window, and his printer is working fine." &lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Call 15&lt;/strong&gt;&lt;br /&gt;&lt;em&gt;Tech support&lt;/em&gt;: "Okay, Bob, let's press the control and escape keys at the same time. That brings up a task list in the middle of the screen. Now type the letter "P" to bring up the Program Manager." &lt;br /&gt;&lt;em&gt;Customer&lt;/em&gt;: I don't have a P. &lt;br /&gt;&lt;em&gt;Tech support&lt;/em&gt;: On your keyboard, Bob. &lt;br /&gt;&lt;em&gt;Customer&lt;/em&gt;: What do you mean? &lt;br /&gt;&lt;em&gt;Tech support&lt;/em&gt;: "P".....on your keyboard, Bob. &lt;br /&gt;&lt;em&gt;Customer&lt;/em&gt;: I'M NOT GOING TO DO THAT!&lt;div class="blogger-post-footer"&gt;This feed is copyrighted and from http://cvermule.blogspot.com/.&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8159117-114417726468499163?l=cvermule.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cvermule.blogspot.com/feeds/114417726468499163/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8159117&amp;postID=114417726468499163&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8159117/posts/default/114417726468499163'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8159117/posts/default/114417726468499163'/><link rel='alternate' type='text/html' href='http://cvermule.blogspot.com/2006/04/some-actual-tech-support-transcripts.html' title='Some Actual Tech Support Transcripts'/><author><name>Cecil Vermule</name><uri>https://profiles.google.com/102789088956775878784</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-xfgTWl4uVEI/AAAAAAAAAAI/AAAAAAAAAAA/7Wwqhezms7g/s512-c/photo.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8159117.post-114315284125165526</id><published>2006-03-23T16:26:00.000-06:00</published><updated>2006-03-23T16:27:21.263-06:00</updated><title type='text'>JavaScript Tip</title><content type='html'>When dynamically creating an anchor in javascript, be sure to set not only the innerText (the text that appears between the open and closing tags), but also the innerHTML. Otherwise, if you try to view the said anchor in Firefox, it doesn't render.&lt;br /&gt;&lt;br /&gt;Example:&lt;br /&gt;&lt;code&gt;&lt;br /&gt;var linkClose = document.createElement("A");&lt;br /&gt;&lt;br /&gt;linkClose.href = "javascript:void(null)";&lt;br /&gt;linkClose.innerText = "Close Window";&lt;br /&gt;linkClose.innerHTML = "Close Window";&lt;br /&gt;&lt;/code&gt;&lt;div class="blogger-post-footer"&gt;This feed is copyrighted and from http://cvermule.blogspot.com/.&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8159117-114315284125165526?l=cvermule.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cvermule.blogspot.com/feeds/114315284125165526/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8159117&amp;postID=114315284125165526&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8159117/posts/default/114315284125165526'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8159117/posts/default/114315284125165526'/><link rel='alternate' type='text/html' href='http://cvermule.blogspot.com/2006/03/javascript-tip.html' title='JavaScript Tip'/><author><name>Cecil Vermule</name><uri>https://profiles.google.com/102789088956775878784</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-xfgTWl4uVEI/AAAAAAAAAAI/AAAAAAAAAAA/7Wwqhezms7g/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8159117.post-114243537028255260</id><published>2006-03-15T09:07:00.000-06:00</published><updated>2006-03-15T09:09:30.296-06:00</updated><title type='text'>Why Computers Sometimes Crash! by Dr. Seuss.</title><content type='html'>If a packet hits a pocket on a socket on a port, and the bus is interrupted at a very last resort, and the access of the memory makes your floppy disk abort, then the socket packet pocket has an error to report.&lt;br /&gt; &lt;br /&gt;If your cursor finds a menu item followed by a dash, and the double-clicking icon puts your window in the trash, and your data is corrupted cause the index doesn't hash, then your situation's hopeless and your system's gonna crash!&lt;br /&gt;&lt;br /&gt;If the label on the cable on the table at your house, says the network is connected to the button on your mouse, but your packets want to tunnel to another protocol, that's repeatedly rejected by the printer down the hall...&lt;br /&gt;&lt;br /&gt;And your screen is all distorted by the side effects of gauss, so your icons in the window are as wavy as a souse; then you may as well reboot and go out with a bang, 'cuz sure as I'm a poet, this whole sucker's gonna hang.&lt;br /&gt;&lt;br /&gt;When the copy on your floppy's getting sloppy in the disk, and the macro code instructions's putting everything at risk, then you'll have to flash the memory and you'll want to RAM your ROM, and then quickly switch the power off and go and tell your Mom!&lt;br /&gt;&lt;br /&gt;Well, that certainly clears things up for me. How about you?&lt;div class="blogger-post-footer"&gt;This feed is copyrighted and from http://cvermule.blogspot.com/.&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8159117-114243537028255260?l=cvermule.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cvermule.blogspot.com/feeds/114243537028255260/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8159117&amp;postID=114243537028255260&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8159117/posts/default/114243537028255260'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8159117/posts/default/114243537028255260'/><link rel='alternate' type='text/html' href='http://cvermule.blogspot.com/2006/03/why-computers-sometimes-crash-by-dr.html' title='Why Computers Sometimes Crash! by Dr. Seuss.'/><author><name>Cecil Vermule</name><uri>https://profiles.google.com/102789088956775878784</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-xfgTWl4uVEI/AAAAAAAAAAI/AAAAAAAAAAA/7Wwqhezms7g/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8159117.post-112361649771114426</id><published>2005-08-09T14:41:00.000-05:00</published><updated>2005-08-09T14:41:40.966-05:00</updated><title type='text'>JavaScript Datepicker Test</title><content type='html'>I've been looking for a good javascript calendar to use as a date picker.  It's hard to find one that is as easy to implement as this one.&lt;br /&gt;&lt;br /&gt;This calendar holds true to the "plug-n-play" mentality.&lt;div class="blogger-post-footer"&gt;This feed is copyrighted and from http://cvermule.blogspot.com/.&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8159117-112361649771114426?l=cvermule.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.nsftools.com/tips/DatePickerTest.htm' title='JavaScript Datepicker Test'/><link rel='replies' type='application/atom+xml' href='http://cvermule.blogspot.com/feeds/112361649771114426/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8159117&amp;postID=112361649771114426&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8159117/posts/default/112361649771114426'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8159117/posts/default/112361649771114426'/><link rel='alternate' type='text/html' href='http://cvermule.blogspot.com/2005/08/javascript-datepicker-test.html' title='JavaScript Datepicker Test'/><author><name>Cecil Vermule</name><uri>https://profiles.google.com/102789088956775878784</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-xfgTWl4uVEI/AAAAAAAAAAI/AAAAAAAAAAA/7Wwqhezms7g/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8159117.post-112309786300620245</id><published>2005-08-03T14:32:00.000-05:00</published><updated>2005-08-03T14:37:43.013-05:00</updated><title type='text'>Why Projects Fail</title><content type='html'>&lt;ol&gt;&lt;br /&gt; &lt;li&gt;It takes one woman nine months to have a baby. It cannot be done in one month by impregnating nine women.&lt;/li&gt;&lt;br /&gt; &lt;li&gt;Nothing is impossible for the person who doesn't have to do it.&lt;/li&gt;&lt;br /&gt; &lt;li&gt;You can con a sucker into committing to an impossible deadline, but you cannot con him into meeting it.&lt;/li&gt;&lt;br /&gt; &lt;li&gt;At the heart of every large project is a small project trying to get out.&lt;/li&gt;&lt;br /&gt; &lt;li&gt;The more desperate the situation the more optimistic the situatee.&lt;/li&gt;&lt;br /&gt; &lt;li&gt;A problem shared is a buck passed.&lt;/li&gt;&lt;br /&gt; &lt;li&gt;A change freeze is like the abominable snowman: it is a myth and would anyway melt when heat is applied.&lt;/li&gt;&lt;br /&gt; &lt;li&gt;A user will tell you anything you ask, but nothing more.&lt;/li&gt;&lt;br /&gt; &lt;li&gt;Of several possible interpretations of a communication, the least convenient is the correct one.&lt;/li&gt;&lt;br /&gt; &lt;li&gt;What you don't know hurts you&lt;/li&gt;&lt;br /&gt; &lt;li&gt;There's never enough time to do it right first time but there's always enough time to go back and do it again.&lt;/li&gt;&lt;br /&gt; &lt;li&gt;The bitterness of poor quality lasts long after the sweetness of making a date is forgotten.&lt;/li&gt;&lt;br /&gt; &lt;li&gt;I know that you believe that you understand what you think I said, but I am not sure you realise that what you heard is not what I meant.&lt;/li&gt;&lt;br /&gt; &lt;li&gt;What is not on paper has not been said.&lt;/li&gt;&lt;br /&gt; &lt;li&gt;A little risk management saves a lot of fan cleaning.&lt;/li&gt;&lt;br /&gt; &lt;li&gt;If you can keep your head while all about you are losing theirs, you haven't understood the plan.&lt;/li&gt;&lt;br /&gt; &lt;li&gt;If at first you don't succeed, remove all evidence you ever tried.&lt;/li&gt;&lt;br /&gt; &lt;li&gt;Feather and down are padding, changes and contingencies will be real events.&lt;/li&gt;&lt;br /&gt; &lt;li&gt;There are no good project managers - only lucky ones.&lt;/li&gt;&lt;br /&gt; &lt;li&gt;The more you plan the luckier you get.&lt;/li&gt;&lt;br /&gt; &lt;li&gt;A project is one small step for the project sponsor, one giant leap for the project manager.&lt;/li&gt;&lt;br /&gt; &lt;li&gt;Good project management is not so much knowing what to do and when, as knowing what excuses to give and when.&lt;/li&gt;&lt;br /&gt; &lt;li&gt;If everything is going exactly to plan, something somewhere is going massively wrong.&lt;/li&gt;&lt;br /&gt; &lt;li&gt;Everyone asks for a strong project manger - when they get them they don't want them. &lt;/li&gt;&lt;br /&gt; &lt;li&gt;Overtime is a figment of the naïve project manager's imagination.&lt;/li&gt;&lt;br /&gt; &lt;li&gt;Quantitative project management is for predicting cost and schedule overruns well in advance.&lt;/li&gt;&lt;br /&gt; &lt;li&gt;The sooner you begin coding the later you finish.&lt;/li&gt;&lt;br /&gt; &lt;li&gt;Metrics are learned men's excuses.&lt;/li&gt;&lt;br /&gt; &lt;li&gt;For a project manager overruns are as certain as death and taxes.&lt;/li&gt;&lt;br /&gt; &lt;li&gt;Some project finish on time in spite of project management best practices.&lt;/li&gt;&lt;br /&gt; &lt;li&gt;Fast - cheap - good - you can have any two.&lt;/li&gt;&lt;br /&gt; &lt;li&gt;There is such a thing as an unrealistic timescale.&lt;/li&gt;&lt;br /&gt; &lt;li&gt;The project would not have been started if the truth had been told about the cost and timescale.&lt;/li&gt;&lt;br /&gt; &lt;li&gt;A two-year project will take three years, a three year project will never finish.&lt;/li&gt;&lt;br /&gt; &lt;li&gt;When the weight of the project paperwork equals the weight of the project itself, the project can be considered complete.&lt;/li&gt;&lt;br /&gt; &lt;li&gt;A badly planned project will take three times longer than expected - A well planned project only twice as long as expected.&lt;/li&gt;&lt;br /&gt; &lt;li&gt;Warning: dates in a calendar are closer than they appear to be.&lt;/li&gt;&lt;br /&gt; &lt;li&gt;Anything that can be changed will be changed until there is no time left to change anything.&lt;/li&gt;&lt;br /&gt; &lt;li&gt;There is no such thing as scope creep, only scope gallop.&lt;/li&gt;&lt;br /&gt; &lt;li&gt;A project gets a year late one day at a time.&lt;/li&gt;&lt;br /&gt; &lt;li&gt;If you're 6 months late on a milestone due next week but really believe you can make it, you're a project manager.&lt;/li&gt;&lt;br /&gt; &lt;li&gt;No project has ever finished on time, within budget, to requirement&lt;/li&gt;&lt;br /&gt; &lt;li&gt;Yours won't be the first to.&lt;/li&gt;&lt;br /&gt; &lt;li&gt;Activity is not achievement.&lt;/li&gt;&lt;br /&gt; &lt;li&gt;Managing IT people is like herding cats.&lt;/li&gt;&lt;br /&gt; &lt;li&gt;If you don't know how to do a task, start it, then ten people who know less than you will tell you how to do it.&lt;/li&gt;&lt;br /&gt; &lt;li&gt;If you don't plan, it doesn't work. If you do plan, it doesn't work either. Why plan!&lt;/li&gt;&lt;br /&gt; &lt;li&gt;The person who says it will take the longest and cost the most is the only one with a clue how to do the job.&lt;/li&gt;&lt;br /&gt; &lt;li&gt;The sooner you get behind schedule, the more time you have to make it up.&lt;/li&gt;&lt;br /&gt; &lt;li&gt;The nice thing about not planning is that failure comes as a complete surprise rather than being preceded by a period of worry and depression.&lt;/li&gt;&lt;br /&gt; &lt;li&gt;Good control reveals problems early - which only mean you'll have longer to worry about them.&lt;/li&gt;&lt;br /&gt;&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;This feed is copyrighted and from http://cvermule.blogspot.com/.&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8159117-112309786300620245?l=cvermule.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cvermule.blogspot.com/feeds/112309786300620245/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8159117&amp;postID=112309786300620245&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8159117/posts/default/112309786300620245'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8159117/posts/default/112309786300620245'/><link rel='alternate' type='text/html' href='http://cvermule.blogspot.com/2005/08/why-projects-fail.html' title='Why Projects Fail'/><author><name>Cecil Vermule</name><uri>https://profiles.google.com/102789088956775878784</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-xfgTWl4uVEI/AAAAAAAAAAI/AAAAAAAAAAA/7Wwqhezms7g/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8159117.post-112309812773098940</id><published>2005-08-02T14:40:00.000-05:00</published><updated>2005-08-03T14:42:24.983-05:00</updated><title type='text'>Abbott &amp; Costello's Purchase a Computer</title><content type='html'>Costello Wants to buy a Computer from Abbott and phones his store:&lt;br /&gt;&lt;br /&gt;   ABBOTT: Super Duper computer store. Can I help you?&lt;br /&gt;   COSTELLO: Thanks. I'm setting up an office in my den, and I'm thinking about buying a computer.&lt;br /&gt;   &lt;br /&gt;   ABBOTT: Mac?&lt;br /&gt;   COSTELLO: No, the names Lou.&lt;br /&gt;   &lt;br /&gt;   ABBOTT: Your computer?&lt;br /&gt;   COSTELLO: I don't own a computer. I want to buy one.&lt;br /&gt;   &lt;br /&gt;   ABBOTT: Mac?&lt;br /&gt;   COSTELLO: I told you, my names Lou.&lt;br /&gt;   &lt;br /&gt;   ABBOTT: What about Windows?&lt;br /&gt;   COSTELLO: Why? Will it get stuffy in here?&lt;br /&gt;   &lt;br /&gt;   ABBOTT: Do you want a computer with windows?&lt;br /&gt;   COSTELLO: I don't know. What will I see when I look in the windows?&lt;br /&gt;   &lt;br /&gt;   ABBOTT: Wallpaper.&lt;br /&gt;   COSTELLO: Never mind the windows. I need a computer and software.&lt;br /&gt;   &lt;br /&gt;   ABBOTT: Software for windows?&lt;br /&gt;   COSTELLO: No. On the computer! I need something I can use to write proposals, track expenses and run my business. What have you got?&lt;br /&gt;   &lt;br /&gt;   ABBOTT: Office.&lt;br /&gt;   COSTELLO: Yeah, for my office. Can you recommend anything?&lt;br /&gt;   &lt;br /&gt;   ABBOTT: I just did.&lt;br /&gt;   COSTELLO: You just did what?&lt;br /&gt;   &lt;br /&gt;   ABBOTT: Recommend something.&lt;br /&gt;   COSTELLO: You recommended something?&lt;br /&gt;   &lt;br /&gt;   ABBOTT: Yes.&lt;br /&gt;   COSTELLO: For my office?&lt;br /&gt;   &lt;br /&gt;   ABBOTT: Yes.&lt;br /&gt;   COSTELLO: OK, what did you recommend for my office?&lt;br /&gt;   &lt;br /&gt;   ABBOTT: Office.&lt;br /&gt;   COSTELLO: Yes, for my office!&lt;br /&gt;   &lt;br /&gt;   ABBOTT: I recommend office with windows.&lt;br /&gt;   COSTELLO: I already have an office and it has windows! OK, lets just  say,I'm sitting at my computer and I want to type a proposal. What do I need?&lt;br /&gt;   &lt;br /&gt;   ABBOTT: Word.&lt;br /&gt;   COSTELLO: What word?&lt;br /&gt;   &lt;br /&gt;   ABBOTT: Word in Office.&lt;br /&gt;   COSTELLO: The only word in office is office.&lt;br /&gt;   &lt;br /&gt;   ABBOTT: The Word in Office for Windows.&lt;br /&gt;   COSTELLO: Which word in office for windows?&lt;br /&gt;   &lt;br /&gt;   ABBOTT: The Word you get when you click the blue "W."&lt;br /&gt;   COSTELLO: I'm going to click your blue "w" if you don't start with some straight answers. OK, forget that. Can I watch movies on the Internet?&lt;br /&gt;   &lt;br /&gt;   ABBOTT: Yes, you want Real One.&lt;br /&gt;   COSTELLO: Maybe a real one, maybe a cartoon. What I watch is none of  your business. Just tell me what I need!&lt;br /&gt;   &lt;br /&gt;   ABBOTT: Real One.&lt;br /&gt;   COSTELLO: If its a long movie I also want to see reel 2, 3 &amp; 4. Can I watch them?&lt;br /&gt;   &lt;br /&gt;   ABBOTT: Of course.&lt;br /&gt;   COSTELLO: Great, with what?&lt;br /&gt;   &lt;br /&gt;   ABBOTT: Real One.&lt;br /&gt;   COSTELLO; OK, I'm at my computer and I want to watch a movie. What do  I do?&lt;br /&gt;   &lt;br /&gt;   ABBOTT: You click the blue "1."&lt;br /&gt;   COSTELLO: I click the blue one what?&lt;br /&gt;   &lt;br /&gt;   ABBOTT: The blue "1."&lt;br /&gt;   COSTELLO: Is that different from the blue w?&lt;br /&gt;   &lt;br /&gt;   ABBOTT: The blue 1 is Real One and the blue W is Word.&lt;br /&gt;   COSTELLO: What word?&lt;br /&gt;   &lt;br /&gt;   ABBOTT: The Word in Office for Windows.&lt;br /&gt;   COSTELLO: But there's three words in "office for windows"!&lt;br /&gt;   &lt;br /&gt;   ABBOTT: No, just one. but its the most popular Word in the world.&lt;br /&gt;   COSTELLO: It is?&lt;br /&gt;   &lt;br /&gt;   ABBOTT: Yes, but to be fair, there aren't many other Words left. It pretty much wiped out all the other Words out there.&lt;br /&gt;   COSTELLO: And that word is real one?&lt;br /&gt;   &lt;br /&gt;   ABBOTT: Real One has nothing to do with Word. Real One isn't even part of Office.&lt;br /&gt;   COSTELLO: Stop! Don't start that again. What about financial bookkeeping you have anything I can track my money with?&lt;br /&gt;   &lt;br /&gt;   ABBOTT: Money.&lt;br /&gt;   COSTELLO: That's right. What do you have?&lt;br /&gt;   &lt;br /&gt;   ABBOTT: Money.&lt;br /&gt;   COSTELLO: I need money to track my money?&lt;br /&gt;   &lt;br /&gt;   ABBOTT: It comes bundled with your computer.&lt;br /&gt;   COSTELLO: What's bundled to my computer?&lt;br /&gt;   &lt;br /&gt;   ABBOTT: Money.&lt;br /&gt;   COSTELLO: Money comes with my computer?&lt;br /&gt;   &lt;br /&gt;   ABBOTT: Yes. No extra charge.&lt;br /&gt;   COSTELLO: I get a bundle of money with my computer? How much?&lt;br /&gt;   &lt;br /&gt;   ABBOTT: One copy.&lt;br /&gt;   COSTELLO: Isn't it illegal to copy money?&lt;br /&gt;   &lt;br /&gt;   ABBOTT: Microsoft gave us a license to copy money.&lt;br /&gt;   COSTELLO: They can give you a license to copy money?&lt;br /&gt;   &lt;br /&gt;   ABBOTT: Why not? THEY OWN IT!&lt;br /&gt;   &lt;br /&gt;   (LATER ON)&lt;br /&gt;   &lt;br /&gt;   COSTELLO: How do I turn my computer off??&lt;br /&gt;   ABBOTT: Click on "START"..........&lt;div class="blogger-post-footer"&gt;This feed is copyrighted and from http://cvermule.blogspot.com/.&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8159117-112309812773098940?l=cvermule.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cvermule.blogspot.com/feeds/112309812773098940/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8159117&amp;postID=112309812773098940&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8159117/posts/default/112309812773098940'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8159117/posts/default/112309812773098940'/><link rel='alternate' type='text/html' href='http://cvermule.blogspot.com/2005/08/abbott-costellos-purchase-computer.html' title='Abbott &amp; Costello&apos;s Purchase a Computer'/><author><name>Cecil Vermule</name><uri>https://profiles.google.com/102789088956775878784</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-xfgTWl4uVEI/AAAAAAAAAAI/AAAAAAAAAAA/7Wwqhezms7g/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8159117.post-112007464065012632</id><published>2005-06-29T14:36:00.000-05:00</published><updated>2005-06-29T14:50:40.676-05:00</updated><title type='text'>Selecting specific objects on a Hibernate Query Join</title><content type='html'>I ran into a problem when I was trying to select specific columns from multiple tables in a join. I was having trouble casting the returned fields into an object type.&lt;br /&gt;&lt;br /&gt;I thought that I would share the two different solutions that I came up with when I found in the Hibernate documentation.&lt;br /&gt;&lt;br /&gt;Let me know if you have questions...since I just found this, I may or may not be able to answer it, but I'll try.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="font-size:130%;"&gt;Queries may return multiple objects and/or properties as an array of type Object[]&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;code&gt;select mother, offspr, mate&lt;br /&gt;from eg.DomesticCat as mother&lt;br /&gt;inner join mother.mate as mate&lt;br /&gt;left outer join mother.kittens as offspr&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;When this is done, you have to iterate over the Object array and cast it back into the object type that each one is and call the constructor of&lt;br /&gt;the item you are using.&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&lt;code&gt;   for (Iterator lIterator=lFamilyList.iterator();&lt;/code&gt;&lt;br /&gt;&lt;code&gt;                              lIterator.hasNext();)&lt;/code&gt;&lt;br /&gt;&lt;code&gt;   {&lt;/code&gt;&lt;br /&gt;&lt;code&gt;      Object[] lObjectArray = (Object[]) lIterator.next();&lt;/code&gt;&lt;br /&gt;&lt;code&gt;      Family lFamily = new Family((String) lObjectArray [0],&lt;/code&gt;&lt;br /&gt;&lt;code&gt;                                  (String) lObjectArray [1],&lt;/code&gt;&lt;br /&gt;&lt;code&gt;                                  (String) lObjectArray [2]);&lt;/code&gt;&lt;br /&gt;&lt;code&gt;      System.out.println("Mother: " + lFamily.getMother());&lt;/code&gt;&lt;br /&gt;&lt;code&gt;      System.out.println("Mate: " + lFamily.getMate());&lt;/code&gt;&lt;br /&gt;&lt;code&gt;      System.out.println("Offspr: " + lFamily.getOffspr());&lt;/code&gt;&lt;br /&gt;&lt;code&gt;   }&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="font-size:130%;"&gt;or as an actual typesafe Java object&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;code&gt;select new Family(mother, mate, offspr)&lt;br /&gt;from eg.DomesticCat as mother&lt;br /&gt;join mother.mate as mate&lt;br /&gt;left join mother.kittens as offspr&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;When this is done, you just have to cast it back to it's appropriate class when you iterate.&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;   for (Iterator lIterator = lFamilyList.iterator();&lt;/code&gt;&lt;br /&gt;&lt;code&gt;                                lIterator.hasNext();)&lt;/code&gt;&lt;br /&gt;&lt;code&gt;   {&lt;/code&gt;&lt;br /&gt;&lt;code&gt;      Family lFamily = (Family) lIterator.next();&lt;/code&gt;&lt;br /&gt;&lt;code&gt;      System.out.println("Mother: " + lFamily.getMother());&lt;/code&gt;&lt;br /&gt;&lt;code&gt;      System.out.println("Mate: " + lFamily.getMate());&lt;/code&gt;&lt;br /&gt;&lt;code&gt;      System.out.println("Offspr: " + lFamily.getOffspr());&lt;/code&gt;&lt;br /&gt;&lt;code&gt;   }&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="font-size:130%;"&gt;assuming that the class Family has an appropriate constructor. &lt;/span&gt;&lt;/strong&gt;&lt;div class="blogger-post-footer"&gt;This feed is copyrighted and from http://cvermule.blogspot.com/.&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8159117-112007464065012632?l=cvermule.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cvermule.blogspot.com/feeds/112007464065012632/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8159117&amp;postID=112007464065012632&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8159117/posts/default/112007464065012632'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8159117/posts/default/112007464065012632'/><link rel='alternate' type='text/html' href='http://cvermule.blogspot.com/2005/06/selecting-specific-objects-on.html' title='Selecting specific objects on a Hibernate Query Join'/><author><name>Cecil Vermule</name><uri>https://profiles.google.com/102789088956775878784</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-xfgTWl4uVEI/AAAAAAAAAAI/AAAAAAAAAAA/7Wwqhezms7g/s512-c/photo.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8159117.post-111826717490605361</id><published>2005-06-08T16:45:00.000-05:00</published><updated>2006-04-04T14:17:02.630-05:00</updated><title type='text'>EL OR LA COMPUTER</title><content type='html'>A Spanish teacher was explaining to her class that in Spanish, unlike English, nouns are designated as either masculine or feminine.&lt;br /&gt;&lt;br /&gt;"House" for instance, is feminine: "la casa."&lt;br /&gt;&lt;br /&gt;"Pencil," however, is masculine: "el lapiz."&lt;br /&gt;&lt;br /&gt;A student asked, "What gender is 'computer'?"&lt;br /&gt;&lt;br /&gt;Instead of giving the answer, the teacher split the class into two groups, male and female, and asked them to decide for themselves whether "computer" should be a masculine or a feminine noun.&lt;br /&gt;&lt;br /&gt;Each group was asked to give four reasons for its recommendation.&lt;br /&gt;&lt;br /&gt;The men's group decided that "computer" should definitely be of the feminine gender ("la computadora"), because:&lt;br /&gt;&lt;ol&gt;&lt;br /&gt; &lt;li&gt;No one but their creator understands their internal logic&lt;/li&gt;&lt;br /&gt; &lt;li&gt;The native language they use to communicate with "other computers" is incomprehensible to everyone else&lt;/li&gt;&lt;br /&gt; &lt;li&gt;Even the smallest mistakes are stored in long term memory for retrieval later&lt;/li&gt;&lt;br /&gt; &lt;li&gt;As soon as you make a commitment to one, you find yourself being changed by them "for the better".&lt;/li&gt;&lt;br /&gt;&lt;/ol&gt;&lt;br /&gt;The women's group, however, concluded that computers should be Masculine ("el computador"), because:&lt;br /&gt;&lt;ol&gt;&lt;br /&gt; &lt;li&gt;In order to do anything with them, you have to first get their attention, and then turn them on&lt;/li&gt;&lt;br /&gt; &lt;li&gt;They have a lot of data but still can't think for themselves&lt;/li&gt;&lt;br /&gt; &lt;li&gt;They are supposed to help you solve problems, but half the time they ARE the problem&lt;/li&gt;&lt;br /&gt; &lt;li&gt;As soon as you commit to one, you realize that if you had waited a little longer, you could have gotten a better model.&lt;/li&gt;&lt;br /&gt;&lt;/ol&gt;&lt;br /&gt;The women won.&lt;div class="blogger-post-footer"&gt;This feed is copyrighted and from http://cvermule.blogspot.com/.&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8159117-111826717490605361?l=cvermule.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cvermule.blogspot.com/feeds/111826717490605361/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8159117&amp;postID=111826717490605361&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8159117/posts/default/111826717490605361'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8159117/posts/default/111826717490605361'/><link rel='alternate' type='text/html' href='http://cvermule.blogspot.com/2005/06/el-or-la-computer.html' title='EL OR LA COMPUTER'/><author><name>Cecil Vermule</name><uri>https://profiles.google.com/102789088956775878784</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-xfgTWl4uVEI/AAAAAAAAAAI/AAAAAAAAAAA/7Wwqhezms7g/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8159117.post-110867083264778980</id><published>2005-02-17T13:55:00.000-06:00</published><updated>2005-02-17T14:07:12.650-06:00</updated><title type='text'>Limiting Characters entered in an html text field Part 2</title><content type='html'>This is another version of the checkKey() method in the previous posting. It is also usable on IE or Netscape. This function goes about comparing the current key to a string of allowed characters. If it is allowed, it returns true. Otherwise, it returns false. This function is allowing a-z, A-Z, 0-9, -, *, and a space. (Also the Home, End, Delete, and Arrow Keys.)&lt;br /&gt;&lt;br /&gt;&amp;lt;script type="text/javascript"&amp;gt;&lt;br /&gt;function isValidKey(pEvent)&lt;br /&gt;{&lt;br /&gt;var key;&lt;br /&gt;var keychar;&lt;br /&gt;var lAllowedChars = "abcdefghijklmnopqrstuvwxyz0123456789-*' ";&lt;br /&gt;&lt;br /&gt;if (window.event)&lt;br /&gt;key = window.event.keyCode;&lt;br /&gt;else if (pEvent)&lt;br /&gt;key = pEvent.which;&lt;br /&gt;else&lt;br /&gt;return true;&lt;br /&gt;&lt;br /&gt;keychar = String.fromCharCode(key).toLowerCase();&lt;br /&gt;&lt;br /&gt;// control keys&lt;br /&gt;if ((key==null) (key==0) (key==8)&lt;br /&gt;(key==9) (key==13) (key==27))&lt;br /&gt;return true;&lt;br /&gt;&lt;br /&gt;// alphas, numbers, and allow characters&lt;br /&gt;else if (((lAllowedChars).indexOf(keychar) &gt; -1))&lt;br /&gt;return true;&lt;br /&gt;else&lt;br /&gt;return false;&lt;br /&gt;}&lt;br /&gt;&amp;lt;/script&amp;gt;&lt;div class="blogger-post-footer"&gt;This feed is copyrighted and from http://cvermule.blogspot.com/.&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8159117-110867083264778980?l=cvermule.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cvermule.blogspot.com/feeds/110867083264778980/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8159117&amp;postID=110867083264778980&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8159117/posts/default/110867083264778980'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8159117/posts/default/110867083264778980'/><link rel='alternate' type='text/html' href='http://cvermule.blogspot.com/2005/02/limiting-characters-entered-in-html_17.html' title='Limiting Characters entered in an html text field Part 2'/><author><name>Cecil Vermule</name><uri>https://profiles.google.com/102789088956775878784</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-xfgTWl4uVEI/AAAAAAAAAAI/AAAAAAAAAAA/7Wwqhezms7g/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8159117.post-110867009351550670</id><published>2005-02-17T13:35:00.000-06:00</published><updated>2006-12-20T04:21:45.256-06:00</updated><title type='text'>Limiting Characters entered in an html text field Part 1</title><content type='html'>This script allows numeric, &amp; decimal.  You also have to filter out the Home, End, &amp; Arrow keys so they can be used.  When you call the function, you must be sure to pass the event.  The event to call when filtering keys is the onkeypress event.  Notice that the function returns a true or false; and the onkeypress event in the html returns this value so that the body knows whether to allow the key or not.  This function filters on IE or Netscape.  The "evt.which" statement is the Netscape equivalent to IE's "evt.keyCode."&lt;br /&gt;&lt;br /&gt;This is the script that should go in your &amp;lt;head&amp;gt;&amp;lt;/head&amp;gt;:&lt;br /&gt;&lt;br /&gt;&amp;lt;script type="text/javascript"&amp;gt;&lt;br /&gt;//Allows only 0-9 &amp; .(decimal)&lt;br /&gt;//The Home, End, &amp;amp; Arrow Keys had to be filtered as well&lt;br /&gt;function checkKey(evt)&lt;br /&gt;{&lt;br /&gt;evt = (evt) ? evt : event;&lt;br /&gt;var charCode = (evt.charCode) ? evt.charCode : ((evt.keyCode) ? evt.keyCode : ((evt.which) ? evt.which : 0));&lt;br /&gt;if (evt.shiftKey)&lt;br /&gt;{&lt;br /&gt;return false;&lt;br /&gt;}&lt;br /&gt;if (charCode &amp;gt; 31 &amp;&amp;amp; (charCode &amp;lt; 48  charCode &amp;gt; 57))&lt;br /&gt;{&lt;br /&gt;if (charCode == 110  charCode == 190  charCode == 46  (charCode &amp;gt;= 35 &amp;&amp;amp; charCode &amp;lt;= 39))&lt;br /&gt;{/*Do nothing...we want these characters allowed.*/}&lt;br /&gt;else if (charCode &amp;lt; 96  charCode &amp;gt; 106)&lt;br /&gt;{&lt;br /&gt;return false;&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;return true;&lt;br /&gt;}&lt;br /&gt;&amp;lt;/script&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;This is an example of the html that should go in your &amp;lt;body&amp;gt;&amp;lt;/body&amp;gt;:&lt;br /&gt;&lt;br /&gt;&amp;lt;body&amp;gt;&lt;br /&gt;&amp;lt;input type="text" onkeypress="return checkKey(event);" id="number"/&amp;gt;&lt;br /&gt;&amp;lt;/body&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;em&gt;&lt;span style="font-size:85%;"&gt;NOTE: The JavaScript used above uses the single line if-statement.  Please see my posting about the single line if-statement for an explanation on how to use this.&lt;/span&gt;&lt;/em&gt;&lt;/strong&gt;&lt;div class="blogger-post-footer"&gt;This feed is copyrighted and from http://cvermule.blogspot.com/.&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8159117-110867009351550670?l=cvermule.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cvermule.blogspot.com/feeds/110867009351550670/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8159117&amp;postID=110867009351550670&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8159117/posts/default/110867009351550670'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8159117/posts/default/110867009351550670'/><link rel='alternate' type='text/html' href='http://cvermule.blogspot.com/2005/02/limiting-characters-entered-in-html.html' title='Limiting Characters entered in an html text field Part 1'/><author><name>Cecil Vermule</name><uri>https://profiles.google.com/102789088956775878784</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-xfgTWl4uVEI/AAAAAAAAAAI/AAAAAAAAAAA/7Wwqhezms7g/s512-c/photo.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8159117.post-110865901556478195</id><published>2005-02-17T10:46:00.000-06:00</published><updated>2005-02-17T10:51:17.046-06:00</updated><title type='text'>Accessing an Access Db using JavaScript</title><content type='html'>&amp;lt;SCRIPT LANGUAGE="javascript"&amp;gt;&lt;br /&gt;var conn = new ActiveXObject("ADODB.Connection");&lt;br /&gt;var connectionstring = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=c:/sabe/Sabe.mdb; Persist Security Info=False";&lt;br /&gt;&lt;br /&gt;conn.Open(connectionstring);&lt;br /&gt;&lt;br /&gt;var rs = new ActiveXObject("ADODB.Recordset");&lt;br /&gt;&lt;br /&gt;rs.Open("SELECT [itemname] FROM item", conn);&lt;br /&gt;&lt;br /&gt;while(!rs.eof)&lt;br /&gt;{&lt;br /&gt;alert(rs(0));&lt;br /&gt;rs.movenext;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;rs.close;&lt;br /&gt;conn.close;&lt;br /&gt;&amp;lt;/SCRIPT&amp;gt;&lt;div class="blogger-post-footer"&gt;This feed is copyrighted and from http://cvermule.blogspot.com/.&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8159117-110865901556478195?l=cvermule.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cvermule.blogspot.com/feeds/110865901556478195/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8159117&amp;postID=110865901556478195&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8159117/posts/default/110865901556478195'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8159117/posts/default/110865901556478195'/><link rel='alternate' type='text/html' href='http://cvermule.blogspot.com/2005/02/accessing-access-db-using-javascript.html' title='Accessing an Access Db using JavaScript'/><author><name>Cecil Vermule</name><uri>https://profiles.google.com/102789088956775878784</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-xfgTWl4uVEI/AAAAAAAAAAI/AAAAAAAAAAA/7Wwqhezms7g/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8159117.post-110805433281838445</id><published>2005-02-10T10:12:00.000-06:00</published><updated>2005-02-10T11:56:26.323-06:00</updated><title type='text'>Date Validation with JavaScript</title><content type='html'>This is a small bit of html to show you how you can use JavaScript to validate dates. This is also leap year compliant.&lt;br /&gt;&lt;br /&gt;&lt;input type="button" value="Click her for an example" onclick="window.open('http://www12.brinkster.com/cvermule/DateValidationExample.html', '_blank', 'resizable=no, toolbar=no, height=25, width=300, menubar=no');"/&gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;html&amp;gt;&lt;br /&gt;&amp;lt;head&amp;gt;&lt;br /&gt;&amp;lt;script type="text/javascript"&amp;gt;&lt;br /&gt;function isValidDate(dateStr)&lt;br /&gt;{&lt;br /&gt;if (dateStr == "MM/DD/YYYY")&lt;br /&gt;{&lt;br /&gt;return false;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;// dateStr must be of format month day year with either slashes&lt;br /&gt;// or dashes separating the parts. Some minor changes would have&lt;br /&gt;// to be made to use day month year or another format.&lt;br /&gt;// This function returns True if the date is valid.&lt;br /&gt;var slash1 = dateStr.indexOf("/");&lt;br /&gt;&lt;br /&gt;if (slash1 == -1)&lt;br /&gt;{&lt;br /&gt;slash1 = dateStr.indexOf("-");&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;// if no slashes or dashes, invalid date&lt;br /&gt;if (slash1 == -1)&lt;br /&gt;{&lt;br /&gt;return false;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;var dateMonth = dateStr.substring(0, slash1)&lt;br /&gt;var dateMonthAndYear = dateStr.substring(slash1+1, dateStr.length);&lt;br /&gt;var slash2 = dateMonthAndYear.indexOf("/");&lt;br /&gt;&lt;br /&gt;if (slash2 == -1)&lt;br /&gt;{&lt;br /&gt;slash2 = dateMonthAndYear.indexOf("-");&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;// if not a second slash or dash, invalid date&lt;br /&gt;if (slash2 == -1)&lt;br /&gt;{&lt;br /&gt;return false;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;var dateDay = dateMonthAndYear.substring(0, slash2);&lt;br /&gt;var dateYear = dateMonthAndYear.substring(slash2+1, dateMonthAndYear.length);&lt;br /&gt;&lt;br /&gt;if ( (dateMonth == "")  (dateDay == "")  (dateYear == "") )&lt;br /&gt;{&lt;br /&gt;return false;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;// if any non-digits in the month, invalid date&lt;br /&gt;for (var x=0; x &amp;lt; dateMonth.length; x++)&lt;br /&gt;{&lt;br /&gt;var digit = dateMonth.substring(x, x+1);&lt;br /&gt;&lt;br /&gt;if ((digit &amp;lt; "0")  (digit &amp;gt; "9"))&lt;br /&gt;{&lt;br /&gt;return false;&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;// convert the text month to a number&lt;br /&gt;var numMonth = 0;&lt;br /&gt;&lt;br /&gt;for (var x=0; x &amp;lt; dateMonth.length; x++)&lt;br /&gt;{&lt;br /&gt;digit = dateMonth.substring(x, x+1);&lt;br /&gt;numMonth *= 10;&lt;br /&gt;numMonth += parseInt(digit);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;if ((numMonth &amp;lt;= 0)  (numMonth &amp;gt; 12))&lt;br /&gt;{&lt;br /&gt;return false;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;// if any non-digits in the day, invalid date&lt;br /&gt;for (var x=0; x &amp;lt; dateDay.length; x++)&lt;br /&gt;{&lt;br /&gt;digit = dateDay.substring(x, x+1);&lt;br /&gt;if ((digit &amp;lt; "0")  (digit &amp;gt; "9"))&lt;br /&gt;{&lt;br /&gt;return false;&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;// convert the text day to a number&lt;br /&gt;var numDay = 0;&lt;br /&gt;&lt;br /&gt;for (var x=0; x &amp;lt; dateDay.length; x++)&lt;br /&gt;{&lt;br /&gt;digit = dateDay.substring(x, x+1);&lt;br /&gt;numDay *= 10;&lt;br /&gt;numDay += parseInt(digit);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;if ((numDay &amp;lt;= 0)  (numDay &amp;gt; 31))&lt;br /&gt;{&lt;br /&gt;return false;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;// February can't be greater than 29 (leap year calculation comes later)&lt;br /&gt;if ((numMonth == 2) &amp;&amp;amp; (numDay &amp;gt; 29)) { return false; }&lt;br /&gt;&lt;br /&gt;// check for months with only 30 days&lt;br /&gt;if ((numMonth == 4)  (numMonth == 6)  (numMonth == 9)  (numMonth == 11))&lt;br /&gt;{&lt;br /&gt;if (numDay &amp;gt; 30)&lt;br /&gt;{&lt;br /&gt;return false;&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;// if any non-digits in the year, invalid date&lt;br /&gt;for (var x=0; x &amp;lt; dateYear.length; x++)&lt;br /&gt;{&lt;br /&gt;digit = dateYear.substring(x, x+1);&lt;br /&gt;&lt;br /&gt;if ((digit &amp;lt; "0")  (digit &amp;gt; "9"))&lt;br /&gt;{&lt;br /&gt;return false;&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;// convert the text year to a number&lt;br /&gt;var numYear = 0;&lt;br /&gt;&lt;br /&gt;for (var x=0; x &amp;lt; dateYear.length; x++)&lt;br /&gt;{&lt;br /&gt;digit = dateYear.substring(x, x+1);&lt;br /&gt;numYear *= 10;&lt;br /&gt;numYear += parseInt(digit);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;// Year must be a 2-digit year or a 4-digit year&lt;br /&gt;if ( dateYear.length != 4 )&lt;br /&gt;{&lt;br /&gt;return false;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;// check for leap year if the month and day is Feb 29&lt;br /&gt;if ((numMonth == 2) &amp;&amp;amp; (numDay == 29))&lt;br /&gt;{&lt;br /&gt;var div4 = numYear % 4;&lt;br /&gt;var div100 = numYear % 100;&lt;br /&gt;var div400 = numYear % 400;&lt;br /&gt;&lt;br /&gt;// if not divisible by 4, then not a leap year so Feb 29 is invalid&lt;br /&gt;if (div4 != 0)&lt;br /&gt;{&lt;br /&gt;return false;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;// at this point, year is divisible by 4. So if year is divisible by&lt;br /&gt;// 100 and not 400, then its not a leap year so Feb 29 is invalid&lt;br /&gt;if ((div100 == 0) &amp;&amp;amp; (div400 != 0))&lt;br /&gt;{&lt;br /&gt;return false;&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;// date is valid&lt;br /&gt;return true;&lt;br /&gt;}&lt;br /&gt;&amp;lt;/script&amp;gt;&lt;br /&gt;&amp;lt;/head&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;body&amp;gt;&lt;br /&gt;&amp;lt;form name="aForm" id="aForm"&amp;gt;&lt;br /&gt;&amp;lt;input type="text" name="aDate" id="aDate" value="MM/DD/YYYY"/&amp;gt;&lt;br /&gt;&amp;lt;input type="button" value="Check Date" onclick="alert(isValidDate(document.aForm.aDate.value));"/&amp;gt;&lt;br /&gt;&amp;lt;/form&amp;gt;&lt;br /&gt;&amp;lt;/body&amp;gt;&lt;br /&gt;&amp;lt;/html&amp;gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;This feed is copyrighted and from http://cvermule.blogspot.com/.&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8159117-110805433281838445?l=cvermule.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cvermule.blogspot.com/feeds/110805433281838445/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8159117&amp;postID=110805433281838445&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8159117/posts/default/110805433281838445'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8159117/posts/default/110805433281838445'/><link rel='alternate' type='text/html' href='http://cvermule.blogspot.com/2005/02/date-validation-with-javascript.html' title='Date Validation with JavaScript'/><author><name>Cecil Vermule</name><uri>https://profiles.google.com/102789088956775878784</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-xfgTWl4uVEI/AAAAAAAAAAI/AAAAAAAAAAA/7Wwqhezms7g/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8159117.post-110758109361640260</id><published>2005-02-04T23:24:00.000-06:00</published><updated>2005-04-25T16:34:34.463-05:00</updated><title type='text'>A lazy Day.</title><content type='html'>&lt;div style="text-align: center;"&gt;&lt;br /&gt;It's just one of those days when you feel like doing nothing.&lt;br /&gt;&lt;br /&gt;&lt;div style=" MARGIN-BOTTOM: 10px; MARGIN-LEFT: 10px"&gt;&lt;a title="photo sharing" href="http://www.flickr.com/photos/vermule/4281820/"&gt;&lt;img style="BORDER-RIGHT: #000000 2px solid; BORDER-TOP: #000000 2px solid; BORDER-LEFT: #000000 2px solid; BORDER-BOTTOM: #000000 2px solid" alt="" src="http://photos3.flickr.com/4281820_d834bd45f3_m.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="MARGIN-TOP: 0px;font-size:12;" &gt;&lt;a href="http://www.flickr.com/photos/vermule/4281820/"&gt;My Wife &amp; Cat&lt;/a&gt;&lt;br /&gt;Uploaded by &lt;a href="http://www.flickr.com/people/vermule/"&gt;vermule&lt;/a&gt;. &lt;/span&gt;&lt;/div&gt;&lt;br clear="all"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;This feed is copyrighted and from http://cvermule.blogspot.com/.&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8159117-110758109361640260?l=cvermule.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cvermule.blogspot.com/feeds/110758109361640260/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8159117&amp;postID=110758109361640260&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8159117/posts/default/110758109361640260'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8159117/posts/default/110758109361640260'/><link rel='alternate' type='text/html' href='http://cvermule.blogspot.com/2005/02/lazy-day.html' title='A lazy Day.'/><author><name>Cecil Vermule</name><uri>https://profiles.google.com/102789088956775878784</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-xfgTWl4uVEI/AAAAAAAAAAI/AAAAAAAAAAA/7Wwqhezms7g/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8159117.post-109769492356425513</id><published>2004-10-13T14:11:00.000-05:00</published><updated>2004-10-13T16:48:22.530-05:00</updated><title type='text'>Can you use JavaScript to read and write to a file?</title><content type='html'>Now I was searching high and low for the answer to this question. The big answer that I got was, JavaScript cannot read or write to files. However, it is possible to do this using ActiveX embedded into your JavaScript. The following is the code to do this.&lt;br /&gt;&lt;br /&gt;//-------------------------------------------------------&lt;br /&gt;function WriteToFile()&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;var filename = "data.txt";&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;var fso = new ActiveXObject("Scripting.FileSystemObject");&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if (fso.FileExists(filename))&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;var a, ForAppending, file;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ForAppending = 8;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;file = fso.OpenTextFile(filename, ForAppending, false);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;file.WriteLine(name);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;file.WriteLine(password);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;else&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;var file = fso.CreateTextFile(filename, true);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;file.WriteLine(name);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;file.WriteLine(password);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;file.Close();&lt;br /&gt;}&lt;br /&gt;//-------------------------------------------------------&lt;br /&gt;function ReadFromFile()&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;var fso, a, ForReading;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ForReading = 1;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;fso = new ActiveXObject("Scripting.FileSystemObject");&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;file = fso.OpenTextFile(filename, ForReading, false);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;var name = file.readline();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;var password = file.readline();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;file.Close();&lt;br /&gt;}&lt;br /&gt;//-------------------------------------------------------&lt;br /&gt;&lt;br /&gt;In IE you can use the &lt;a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/script56/html/FSOoriFileSystemObject.asp"&gt;FileSystemObject&lt;/a&gt; to read and write to/from files.&lt;br /&gt;&lt;br /&gt;You can get to a reference on how to do this all &lt;a href="http://www.webreference.com/js/column71/index.html"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;This feed is copyrighted and from http://cvermule.blogspot.com/.&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8159117-109769492356425513?l=cvermule.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cvermule.blogspot.com/feeds/109769492356425513/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8159117&amp;postID=109769492356425513&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8159117/posts/default/109769492356425513'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8159117/posts/default/109769492356425513'/><link rel='alternate' type='text/html' href='http://cvermule.blogspot.com/2004/10/can-you-use-javascript-to-read-and.html' title='Can you use JavaScript to read and write to a file?'/><author><name>Cecil Vermule</name><uri>https://profiles.google.com/102789088956775878784</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-xfgTWl4uVEI/AAAAAAAAAAI/AAAAAAAAAAA/7Wwqhezms7g/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8159117.post-109683801241577320</id><published>2004-10-03T16:10:00.002-05:00</published><updated>2004-10-05T17:52:02.000-05:00</updated><title type='text'>My approach to drop down menus using JavaScript</title><content type='html'>Drop down menu&lt;br /&gt;&amp;lt;div&amp;gt;&lt;br /&gt;&amp;lt;iframe&amp;gt;&amp;lt;/iframe&amp;gt;&lt;br /&gt;&amp;lt;div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;&amp;lt;/div&amp;gt;&lt;br /&gt;&lt;br /&gt;Hide outer div by setting the Style.Visibility to "hidden".&lt;br /&gt;&lt;br /&gt;Show it when you want to by setting Style.Visibility to "visible".&lt;br /&gt;&lt;br /&gt;Be sure to set the z-index of the internal div higher than the z-index of the iframe; if you do not, then the iframe will show over the div instead of under. Div tags are windowed elements while iframes are considered windowless. That means that unless you set the z-index higher, the iframe will always show over the div.&lt;br /&gt;&lt;br /&gt;For an example, please contact me until I have a link up for an example.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;This feed is copyrighted and from http://cvermule.blogspot.com/.&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8159117-109683801241577320?l=cvermule.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cvermule.blogspot.com/feeds/109683801241577320/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8159117&amp;postID=109683801241577320&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8159117/posts/default/109683801241577320'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8159117/posts/default/109683801241577320'/><link rel='alternate' type='text/html' href='http://cvermule.blogspot.com/2004/10/my-approach-to-drop-down-menus-using_03.html' title='My approach to drop down menus using JavaScript'/><author><name>Cecil Vermule</name><uri>https://profiles.google.com/102789088956775878784</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-xfgTWl4uVEI/AAAAAAAAAAI/AAAAAAAAAAA/7Wwqhezms7g/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8159117.post-109536387918824252</id><published>2004-09-16T14:42:00.000-05:00</published><updated>2004-09-16T14:54:40.476-05:00</updated><title type='text'>Programmer's Genesis</title><content type='html'>&lt;strong&gt;&lt;span style="font-size:25px;"&gt;1.&lt;/span&gt;&lt;/strong&gt; In the beginning GOD created the Bit and the Byte. And from those he created the Word.&lt;br /&gt;&lt;strong&gt;&lt;span style="font-size:25px;"&gt;2.&lt;/span&gt;&lt;/strong&gt; And there were two Bytes in the Word; and nothing else existed. And God separated the One from the Zero; and he saw it was Good.&lt;br /&gt;&lt;strong&gt;&lt;span style="font-size:25px;"&gt;3.&lt;/span&gt;&lt;/strong&gt; And God said - Let the Data be; And so it happened. And God said - Let the Data go to their proper places. And he created floppy disks and hard disks and compact disks.&lt;br /&gt;&lt;strong&gt;&lt;span style="font-size:25px;"&gt;4.&lt;/span&gt;&lt;/strong&gt; And God said - Let the computers be, so there would be a place to put floppy disks and hard disks and compact disks. Thus God created computers and called them hardware.&lt;br /&gt;&lt;strong&gt;&lt;span style="font-size:25px;"&gt;5.&lt;/span&gt;&lt;/strong&gt; And there was no Software yet. But God created programs; small and big...And told them - Go and multiply yourselves and fill all the Memory.&lt;br /&gt;&lt;strong&gt;&lt;span style="font-size:25px;"&gt;6.&lt;/span&gt;&lt;/strong&gt; And God said -I will create the Programmer; And the Programmer will make new programs and govern over the computers and programs and Data.&lt;br /&gt;&lt;strong&gt;&lt;span style="font-size:25px;"&gt;7.&lt;/span&gt;&lt;/strong&gt; And God created the Programmer; and put him at Data Center; And God showed the Programmer the Catalog Tree and said You can use all the volumes and sub-volumes but DO NOT USE Windows.&lt;br /&gt;&lt;strong&gt;&lt;span style="font-size:25px;"&gt;8.&lt;/span&gt;&lt;/strong&gt; And God said - It is not Good for the programmer to be alone. He took a bone from the Programmer's body and created a creature that would look up at the Programmer; and admire the Programmer; and love the things the Programmer does; And God called the creature: the User.&lt;br /&gt;&lt;strong&gt;&lt;span style="font-size:25px;"&gt;9.&lt;/span&gt;&lt;/strong&gt; And the Programmer and the User were left under the naked DOS and it was Good.&lt;br /&gt;&lt;strong&gt;&lt;span style="font-size:25px;"&gt;10.&lt;/span&gt;&lt;/strong&gt; But Bill was smarter than all the other creatures of God. And Bill said to the User - Did God really tell you not to run any programs?&lt;br /&gt;&lt;strong&gt;&lt;span style="font-size:25px;"&gt;11.&lt;/span&gt;&lt;/strong&gt; And the User answered - God told us that we can use every program and every piece of Data but told us not to run Windows or we will die.&lt;br /&gt;&lt;strong&gt;&lt;span style="font-size:25px;"&gt;12.&lt;/span&gt;&lt;/strong&gt; And Bill said to the User - How can you talk about something you did not even try. The moment you run Windows you will become equal to God. You will be able to create anything you like by a simple click of your mouse.&lt;br /&gt;&lt;strong&gt;&lt;span style="font-size:25px;"&gt;13.&lt;/span&gt;&lt;/strong&gt; And the User saw that the fruits of the Windows were nicer and easier to use. And the User saw that any knowledge was useless - since Windows could replace it.&lt;br /&gt;&lt;strong&gt;&lt;span style="font-size:25px;"&gt;14.&lt;/span&gt;&lt;/strong&gt; So the User installed the Windows on his computer; and said to the Programmer that it was good.&lt;br /&gt;&lt;strong&gt;&lt;span style="font-size:25px;"&gt;15.&lt;/span&gt;&lt;/strong&gt; And the Programmer immediately started to look for new drivers. And God asked him - What are you looking for? And the Programmer answered: " I am looking for new drivers because I can not find them in the DOS". And God said :" Who told you need drivers? Did you run Windows?" And the Programmer said :" It was Bill who told us to!"&lt;br /&gt;&lt;strong&gt;&lt;span style="font-size:25px;"&gt;16.&lt;/span&gt;&lt;/strong&gt; And God said to Bill - Because of what you did you will be hated by all the creatures. And the User will always be unhappy with you. And you will always sell Windows.&lt;br /&gt;&lt;strong&gt;&lt;span style="font-size:25px;"&gt;17.&lt;/span&gt;&lt;/strong&gt; And God said to the User - Because of what you did, the Windows will disappoint you and eat up all your Resources; and you will have to use lousy programs; and you will always rely on the Programmers help.&lt;br /&gt;&lt;strong&gt;&lt;span style="font-size:25px;"&gt;18.&lt;/span&gt;&lt;/strong&gt; And God said to the Programmer - Because you listened to the User you will never be happy. All your programs will have errors and you will have to fix them and fix them to the end of time.&lt;br /&gt;&lt;strong&gt;&lt;span style="font-size:25px;"&gt;19.&lt;/span&gt;&lt;/strong&gt; And God threw them out of the Data Center and locked the door and secured it with a password.&lt;br /&gt;&lt;strong&gt;&lt;span style="font-size:25px;"&gt;20.&lt;/span&gt;&lt;/strong&gt; GENERAL PROTECTION FAULT&lt;div class="blogger-post-footer"&gt;This feed is copyrighted and from http://cvermule.blogspot.com/.&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8159117-109536387918824252?l=cvermule.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cvermule.blogspot.com/feeds/109536387918824252/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8159117&amp;postID=109536387918824252&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8159117/posts/default/109536387918824252'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8159117/posts/default/109536387918824252'/><link rel='alternate' type='text/html' href='http://cvermule.blogspot.com/2004/09/programmers-genesis.html' title='Programmer&apos;s Genesis'/><author><name>Cecil Vermule</name><uri>https://profiles.google.com/102789088956775878784</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-xfgTWl4uVEI/AAAAAAAAAAI/AAAAAAAAAAA/7Wwqhezms7g/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8159117.post-109511095247009122</id><published>2004-09-13T16:19:00.000-05:00</published><updated>2004-09-16T14:46:26.873-05:00</updated><title type='text'>Capturing the close event.</title><content type='html'>When programming a thin-client application using HTML and JavaScript and you want to capture the closing event, it is not as easy as one thinks if you are not used to it.  It is easy, but you actually have to do some research and think before attempting to do it.  I have two examples.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Example 1:&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;In the onBeforeUnload event of the body tag, you can set the the event.returnValue to something.&lt;br /&gt;&lt;br /&gt;ex.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;body onBeforeUnload="event.returnValue = 'Would you like to close?';"&amp;gt;&lt;br /&gt;&lt;br /&gt;By setting the &lt;em&gt;event.returnValue&lt;/em&gt; to something you are prompted with a dialog that includes the following message:&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;em&gt;Are you sure you wish to navigate away from this page?&lt;/em&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;em&gt;Press OK to continue, or Cancel to stay on the current page.&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;Your message will appear in between each of the statements.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Example 2:&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;You can simply provide the users with a button to close/exit and prompt them with a dialog box.  One of the easiest ways to do this is with a JavaScript confirm.&lt;br /&gt;&lt;br /&gt;ex. &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;function myConfirm()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;var saved;&lt;br /&gt;		&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;saved = confirm("Changes have been made.\nClose without saving?");&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return saved;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;	&lt;br /&gt;By assigning the confirm to the &lt;em&gt;saved&lt;/em&gt; variable, we are capturing the result.  With the result is what you determine what you are going to do.  If they click OK, a 1 (one) is returned for true.  If they click Cancel, a 0 (zero) is returned for false.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Note:&lt;/strong&gt; When you use example 2, the user can still click the &lt;em&gt;X&lt;/em&gt;, use the close in the file menu, or use the close in system menu to close without you having any control.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Note:&lt;/strong&gt; These solutions are Internet Explorer (IE) specific.&lt;div class="blogger-post-footer"&gt;This feed is copyrighted and from http://cvermule.blogspot.com/.&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8159117-109511095247009122?l=cvermule.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cvermule.blogspot.com/feeds/109511095247009122/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8159117&amp;postID=109511095247009122&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8159117/posts/default/109511095247009122'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8159117/posts/default/109511095247009122'/><link rel='alternate' type='text/html' href='http://cvermule.blogspot.com/2004/09/capturing-close-event.html' title='Capturing the close event.'/><author><name>Cecil Vermule</name><uri>https://profiles.google.com/102789088956775878784</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-xfgTWl4uVEI/AAAAAAAAAAI/AAAAAAAAAAA/7Wwqhezms7g/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8159117.post-109424822747768106</id><published>2004-09-03T16:44:00.000-05:00</published><updated>2004-09-03T16:53:54.846-05:00</updated><title type='text'>CSS, DHTML, and Tabs</title><content type='html'>For work we are writing a thin-client application that uses tabs. We have been boggled in how we are going to do this. Looking at how others have done this we saw CSS, Tables, JavaScript, and a whole slew of different combonations of these. JavaScript was always involved, but some used only CSS, some used only Tables, some used both.&lt;br /&gt;&lt;br /&gt;So far in playing with it, I haven't used one table and I have a nice look. One tag that helped with some of the groupings of fields was the &lt;fieldset style="width:25px;"&gt;&amp;lt;fieldset&amp;gt;&lt;/fieldset&gt; tag. It creates a frame around the group of buttons, input objects, or plain ol' text. It creates a real nice effect.&lt;br /&gt;&lt;br /&gt;At first I was using the CSS like you would a table. Thinking of the rows, but then another programmer said, "Hey..." He made me rethink how I was doing it. Now I'm using the positioning and reusing of classes. It's really nice! I think I'm going to have to redo my website and incorporate some CSS.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;This feed is copyrighted and from http://cvermule.blogspot.com/.&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8159117-109424822747768106?l=cvermule.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cvermule.blogspot.com/feeds/109424822747768106/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8159117&amp;postID=109424822747768106&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8159117/posts/default/109424822747768106'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8159117/posts/default/109424822747768106'/><link rel='alternate' type='text/html' href='http://cvermule.blogspot.com/2004/09/css-dhtml-and-tabs.html' title='CSS, DHTML, and Tabs'/><author><name>Cecil Vermule</name><uri>https://profiles.google.com/102789088956775878784</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-xfgTWl4uVEI/AAAAAAAAAAI/AAAAAAAAAAA/7Wwqhezms7g/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8159117.post-109413834928920993</id><published>2004-09-02T10:20:00.000-05:00</published><updated>2004-09-02T10:19:09.290-05:00</updated><title type='text'>You and Your Boss: The Subtle Differences</title><content type='html'>If you take a long time, you're slow.&lt;br /&gt;But if your boss takes a long time, he's thorough.&lt;br /&gt;&lt;br /&gt;If you don't do it, you're lazy.&lt;br /&gt;But if your boss doesn't do it, he's too busy.&lt;br /&gt;&lt;br /&gt;If you make a mistake, you're an goober.&lt;br /&gt;But if your boss makes a mistake, he's 'only human'.&lt;br /&gt;&lt;br /&gt;If you take a stand, you're being bull-headed.&lt;br /&gt;But if your boss does it, he's being firm.&lt;br /&gt;&lt;br /&gt;If you overlooked a rule of etiquette, you're being rude.&lt;br /&gt;But if your boss skips a few rules, he's being original.&lt;br /&gt;&lt;br /&gt;If you do something without being told, you're overstepping your&lt;br /&gt;authority.&lt;br /&gt;But if your boss does the same thing, he's taking initiative.&lt;br /&gt;&lt;br /&gt;If you're on a day off sick, you're 'always' sick.&lt;br /&gt;But if your boss is a day off sick, he must be very ill.&lt;br /&gt;&lt;br /&gt;If you're out of the office, you're wandering around.&lt;br /&gt;But if your boss is out of the office, he's on business.&lt;br /&gt;&lt;br /&gt;If you apply for leave, you must be going for an interview.&lt;br /&gt;But if your boss applies for leave, it's because he's overworked.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;This feed is copyrighted and from http://cvermule.blogspot.com/.&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8159117-109413834928920993?l=cvermule.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cvermule.blogspot.com/feeds/109413834928920993/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8159117&amp;postID=109413834928920993&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8159117/posts/default/109413834928920993'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8159117/posts/default/109413834928920993'/><link rel='alternate' type='text/html' href='http://cvermule.blogspot.com/2004/09/you-and-your-boss-subtle-differences.html' title='You and Your Boss: The Subtle Differences'/><author><name>Cecil Vermule</name><uri>https://profiles.google.com/102789088956775878784</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-xfgTWl4uVEI/AAAAAAAAAAI/AAAAAAAAAAA/7Wwqhezms7g/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8159117.post-109408328685484460</id><published>2004-09-01T19:00:00.000-05:00</published><updated>2004-10-05T17:56:05.196-05:00</updated><title type='text'>A recommended blog</title><content type='html'>&lt;a href="http://papproth.blogspot.com/"&gt;http://papproth.blogspot.com/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The author has been a professional programmer for many years.  He has worked in a private company, as a contractor, and as a teacher.&lt;div class="blogger-post-footer"&gt;This feed is copyrighted and from http://cvermule.blogspot.com/.&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8159117-109408328685484460?l=cvermule.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cvermule.blogspot.com/feeds/109408328685484460/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8159117&amp;postID=109408328685484460&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8159117/posts/default/109408328685484460'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8159117/posts/default/109408328685484460'/><link rel='alternate' type='text/html' href='http://cvermule.blogspot.com/2004/09/recommended-blog.html' title='A recommended blog'/><author><name>Cecil Vermule</name><uri>https://profiles.google.com/102789088956775878784</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-xfgTWl4uVEI/AAAAAAAAAAI/AAAAAAAAAAA/7Wwqhezms7g/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8159117.post-109405614645925542</id><published>2004-09-01T11:28:00.000-05:00</published><updated>2004-09-01T11:29:06.460-05:00</updated><title type='text'>The Janitor</title><content type='html'>An unemployed man goes to apply for a job with Microsoft as a janitor. &lt;br /&gt;The manager arranges for him to take an aptitude test (section: floors, sweeping and cleaning). &lt;br /&gt;&lt;br /&gt;After the test, the manager says, "You will be employed at minimum wage, $5.15 an hour. Let me have your e-mail address, so that I can send you a form to complete and tell you where to report for work on your first day." &lt;br /&gt;&lt;br /&gt;Taken aback, the man protests that he has neither a computer nor an e-mail address. To this the MS manager replies, "Well, then, that means that you virtually don't exist and can therefore hardly expect to be employed." &lt;br /&gt;&lt;br /&gt;Stunned, the man leaves. &lt;br /&gt;&lt;br /&gt;Not knowing where to turn and having only $10 in his wallet, he decides to buy a 25-pound box of tomatoes at the supermarket. Within less than two hours, he sells all the tomatoes individually at 100% profit. Repeating the process several more times that day, he ends up with almost $100 before going to sleep that night. And thus it dawns on him that he could quite easily make a living selling tomatoes. &lt;br /&gt;&lt;br /&gt;Getting up early every day and going to bed late, he multiplies his profits quickly. After a short time he acquires a cart to transport several dozen boxes of tomatoes, only to have to trade it in again so that he can buy a pickup truck to support his expanding business. &lt;br /&gt;&lt;br /&gt;By the end of the second year, he is the owner of a fleet of pickup trucks and manages a staff of a hundred former unemployed people, all selling tomatoes. &lt;br /&gt;&lt;br /&gt;Planning for the future of his wife and children, he decides to buy some life insurance. Consulting with an insurance adviser, he picks an insurance plan to fit his new circumstances. At the end of the telephone conversation, the adviser asks him for his e-mail address in order to send the final documents electronically. &lt;br /&gt;&lt;br /&gt;When the man replies that he has no e-mail, the adviser is stunned. "What, you don't have e-mail? How on earth have you managed to amass such wealth without the Internet, e-mail and e-commerce? &lt;br /&gt;&lt;br /&gt;Just imagine where you would be now, if you had been connected to the Internet from the very start!" &lt;br /&gt;&lt;br /&gt;After a moment of thought, the tomato millionaire replied, "Why, of course! I would be a floor cleaner at Microsoft!"&lt;div class="blogger-post-footer"&gt;This feed is copyrighted and from http://cvermule.blogspot.com/.&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8159117-109405614645925542?l=cvermule.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cvermule.blogspot.com/feeds/109405614645925542/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8159117&amp;postID=109405614645925542&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8159117/posts/default/109405614645925542'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8159117/posts/default/109405614645925542'/><link rel='alternate' type='text/html' href='http://cvermule.blogspot.com/2004/09/janitor.html' title='The Janitor'/><author><name>Cecil Vermule</name><uri>https://profiles.google.com/102789088956775878784</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-xfgTWl4uVEI/AAAAAAAAAAI/AAAAAAAAAAA/7Wwqhezms7g/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8159117.post-109404765918435728</id><published>2004-09-01T08:57:00.000-05:00</published><updated>2004-09-01T09:46:37.960-05:00</updated><title type='text'>The infamous first...</title><content type='html'>This first post is just a little about me...&lt;br /&gt;&lt;br /&gt;I am a Java programmer working in the hospitality industry. I have experience with the following programming languages: C, C++, C#, VBScript, Visual Basic 6.0, Visual Basic.NET, JavaScript, Java(J2SE, J2EE), J++, J#, HTML, XML, Perl (very little, so far), &amp;amp; SQL.&lt;br /&gt;&lt;br /&gt;My website is located at &lt;a href="http://www12.brinkster.com/cvermule/"&gt;http://www12.brinkster.com/cvermule/&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;I also have certifications at &lt;a href="http://www.brainbench.com/"&gt;http://www.brainbench.com/&lt;/a&gt;, transcript ID 4655166.&lt;br /&gt;&lt;br /&gt;I have a wife of 2 years this September 21st. No kids, but we're trying. Closest to a child right now is our cat Kira. She is our spoiled brat.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;This feed is copyrighted and from http://cvermule.blogspot.com/.&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8159117-109404765918435728?l=cvermule.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cvermule.blogspot.com/feeds/109404765918435728/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8159117&amp;postID=109404765918435728&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8159117/posts/default/109404765918435728'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8159117/posts/default/109404765918435728'/><link rel='alternate' type='text/html' href='http://cvermule.blogspot.com/2004/09/infamous-first.html' title='The infamous first...'/><author><name>Cecil Vermule</name><uri>https://profiles.google.com/102789088956775878784</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-xfgTWl4uVEI/AAAAAAAAAAI/AAAAAAAAAAA/7Wwqhezms7g/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry></feed>
