<?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-2436566557923080461</id><updated>2012-02-18T17:33:03.796-08:00</updated><category term='processes'/><category term='Visual Studio'/><category term='encryption'/><category term='SQL'/><category term='login'/><category term='Database'/><category term='computer'/><category term='Software Developement'/><category term='Software'/><category term='community'/><category term='task manager'/><category term='Developement'/><category term='password'/><category term='Programming'/><category term='Testing'/><title type='text'>Web Junky Fevered Monkey</title><subtitle type='html'>Paul's technical babble... self indulgent... geek thingy... bleh... thing!</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://hollystyles.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2436566557923080461/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://hollystyles.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Holly Styles</name><uri>https://profiles.google.com/101547237293725837156</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-tcvymqxeWuU/AAAAAAAAAAI/AAAAAAAAAAA/fFpkXI0MWcg/s512-c/photo.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>19</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-2436566557923080461.post-5355257156407424817</id><published>2011-12-09T06:03:00.001-08:00</published><updated>2011-12-09T06:03:38.290-08:00</updated><title type='text'>Window</title><content type='html'>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;a href="http://3.bp.blogspot.com/-fBEFWwynyUQ/TuIVOQNh3RI/AAAAAAAAAG8/ZZhZDqPIJjQ/s1600/image-upload-1-715594.jpg"&gt;&lt;img src="http://3.bp.blogspot.com/-fBEFWwynyUQ/TuIVOQNh3RI/AAAAAAAAAG8/ZZhZDqPIJjQ/s320/image-upload-1-715594.jpg"/&gt;&lt;/a&gt;&lt;br /&gt;&lt;span&gt;Not your typical office window&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2436566557923080461-5355257156407424817?l=hollystyles.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hollystyles.blogspot.com/feeds/5355257156407424817/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2436566557923080461&amp;postID=5355257156407424817' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2436566557923080461/posts/default/5355257156407424817'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2436566557923080461/posts/default/5355257156407424817'/><link rel='alternate' type='text/html' href='http://hollystyles.blogspot.com/2011/12/window.html' title='Window'/><author><name>Holly Styles</name><uri>https://profiles.google.com/101547237293725837156</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-tcvymqxeWuU/AAAAAAAAAAI/AAAAAAAAAAA/fFpkXI0MWcg/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-fBEFWwynyUQ/TuIVOQNh3RI/AAAAAAAAAG8/ZZhZDqPIJjQ/s72-c/image-upload-1-715594.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2436566557923080461.post-315291061348052196</id><published>2011-01-15T09:59:00.001-08:00</published><updated>2011-01-15T09:59:53.431-08:00</updated><title type='text'>Lighthouse</title><content type='html'>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;a href="http://2.bp.blogspot.com/_T4q0ywrtXeg/TTHgmIqSRAI/AAAAAAAAAF0/37N-ctsqVqQ/s1600/image-upload-50-792009.jpg"&gt;&lt;img src="http://2.bp.blogspot.com/_T4q0ywrtXeg/TTHgmIqSRAI/AAAAAAAAAF0/37N-ctsqVqQ/s320/image-upload-50-792009.jpg"/&gt;&lt;/a&gt;&lt;br /&gt;&lt;span&gt;Izzy's homework&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2436566557923080461-315291061348052196?l=hollystyles.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hollystyles.blogspot.com/feeds/315291061348052196/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2436566557923080461&amp;postID=315291061348052196' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2436566557923080461/posts/default/315291061348052196'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2436566557923080461/posts/default/315291061348052196'/><link rel='alternate' type='text/html' href='http://hollystyles.blogspot.com/2011/01/lighthouse.html' title='Lighthouse'/><author><name>Holly Styles</name><uri>https://profiles.google.com/101547237293725837156</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-tcvymqxeWuU/AAAAAAAAAAI/AAAAAAAAAAA/fFpkXI0MWcg/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_T4q0ywrtXeg/TTHgmIqSRAI/AAAAAAAAAF0/37N-ctsqVqQ/s72-c/image-upload-50-792009.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2436566557923080461.post-2806309083729686906</id><published>2010-12-18T08:32:00.001-08:00</published><updated>2010-12-18T08:35:23.270-08:00</updated><title type='text'>Snowman</title><content type='html'>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;a href="http://4.bp.blogspot.com/_lHC-5doSG9o/TQziFLptDMI/AAAAAAAAAAM/o9UGKDWsVP4/s1600/image-upload-52-738961.jpg"&gt;&lt;img src="http://2.bp.blogspot.com/_T4q0ywrtXeg/TQziyoNJzbI/AAAAAAAAAFs/3pCd8RwNMBk/s320/image-upload-52-738961.jpg"/&gt;&lt;/a&gt;&lt;br /&gt;&lt;span/&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2436566557923080461-2806309083729686906?l=hollystyles.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hollystyles.blogspot.com/feeds/2806309083729686906/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2436566557923080461&amp;postID=2806309083729686906' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2436566557923080461/posts/default/2806309083729686906'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2436566557923080461/posts/default/2806309083729686906'/><link rel='alternate' type='text/html' href='http://hollystyles.blogspot.com/2010/12/snowman.html' title='Snowman'/><author><name>Holly Styles</name><uri>https://profiles.google.com/101547237293725837156</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-tcvymqxeWuU/AAAAAAAAAAI/AAAAAAAAAAA/fFpkXI0MWcg/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_T4q0ywrtXeg/TQziyoNJzbI/AAAAAAAAAFs/3pCd8RwNMBk/s72-c/image-upload-52-738961.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2436566557923080461.post-864612346376149023</id><published>2008-08-19T05:11:00.000-07:00</published><updated>2008-08-19T05:14:51.214-07:00</updated><title type='text'>jwz of mozilla fame</title><content type='html'>So I just read the entire contents of &lt;a href="http://www.jwz.org/gruntle/"&gt;http://www.jwz.org/gruntle/&lt;/a&gt;  ... I kind of can't believe I'm admitting to this. Anyway it was a total time-sink, I'ts like I just eat too many cakes and I'm regretting it and feeling sick!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2436566557923080461-864612346376149023?l=hollystyles.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hollystyles.blogspot.com/feeds/864612346376149023/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2436566557923080461&amp;postID=864612346376149023' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2436566557923080461/posts/default/864612346376149023'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2436566557923080461/posts/default/864612346376149023'/><link rel='alternate' type='text/html' href='http://hollystyles.blogspot.com/2008/08/jwz-of-mozilla-fame.html' title='jwz of mozilla fame'/><author><name>Holly Styles</name><uri>https://profiles.google.com/101547237293725837156</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-tcvymqxeWuU/AAAAAAAAAAI/AAAAAAAAAAA/fFpkXI0MWcg/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2436566557923080461.post-6539656516377402936</id><published>2008-05-15T02:19:00.001-07:00</published><updated>2008-05-15T02:25:52.857-07:00</updated><title type='text'>Information Overload</title><content type='html'>The email server is refusing to get out of bed today, it's having a 'duvet' day :) &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_0"&gt;Personally&lt;/span&gt; I won't be complaining about that. In modern times I often feel there are to&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;o many&lt;/span&gt; ways to demand my attention. Email, &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;SMS&lt;/span&gt; Text, &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;IM&lt;/span&gt; ...&lt;br /&gt;&lt;br /&gt;Once upon a time you had to husband cattle and fish for squid before you could contact anybody with the written word. (Before paper, calf skin was used.) So nobody tried to get hold of you unless it was *really* important.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2436566557923080461-6539656516377402936?l=hollystyles.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hollystyles.blogspot.com/feeds/6539656516377402936/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2436566557923080461&amp;postID=6539656516377402936' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2436566557923080461/posts/default/6539656516377402936'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2436566557923080461/posts/default/6539656516377402936'/><link rel='alternate' type='text/html' href='http://hollystyles.blogspot.com/2008/05/information-overload.html' title='Information Overload'/><author><name>Holly Styles</name><uri>https://profiles.google.com/101547237293725837156</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-tcvymqxeWuU/AAAAAAAAAAI/AAAAAAAAAAA/fFpkXI0MWcg/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2436566557923080461.post-6905454560645871570</id><published>2008-05-13T14:31:00.001-07:00</published><updated>2012-01-31T05:38:46.259-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Software Developement'/><title type='text'>The Trouble With Programming</title><content type='html'>Just random though really.&lt;br /&gt;&lt;br /&gt;The trouble with programming is, it's a real pain in the ass! You can't escape this constant feeling that there's a better/faster/smarter way to do the same things and never quite finding it, but always feeling: "I'm that close...."&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Grrrr....&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2436566557923080461-6905454560645871570?l=hollystyles.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hollystyles.blogspot.com/feeds/6905454560645871570/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2436566557923080461&amp;postID=6905454560645871570' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2436566557923080461/posts/default/6905454560645871570'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2436566557923080461/posts/default/6905454560645871570'/><link rel='alternate' type='text/html' href='http://hollystyles.blogspot.com/2008/05/trouble-with-programming.html' title='The Trouble With Programming'/><author><name>Holly Styles</name><uri>https://profiles.google.com/101547237293725837156</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-tcvymqxeWuU/AAAAAAAAAAI/AAAAAAAAAAA/fFpkXI0MWcg/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2436566557923080461.post-8801238497145803848</id><published>2008-04-18T12:37:00.000-07:00</published><updated>2008-04-18T12:44:05.757-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='community'/><title type='text'>Stackoverflow will it be buzz or horror?</title><content type='html'>&lt;p style="margin-bottom: 0cm;"&gt;There's something going down in webland and it's called &lt;a href="http://stackoverflow.com/"&gt;stackoverflow.com&lt;/a&gt;. It's a collaboration between a couple of the interwebs' better programming bloggers: Jeff Atwood of &lt;a href="http://www.codinghorror.com/blog/"&gt;Coding Horror&lt;/a&gt; fame; and &lt;a href="http://www.joelonsoftware.com/"&gt;Joel Spolksey&lt;/a&gt; of Fogcreek Software. There's already a little landing page (Jeff must be busy because it's pretty lame at the moment it must be said) and a first podcast can be downloaded from there. I have been following the news on this and I really hope it  is going to be something new. I have no idea how Jeff and Joel are going to make this a different experience from the likes of Code Project or the infamous Experts Exchange but I really hope they pull it off. What struck me most about the podcast was that Joel didn't sound at all like I imagined he would. The joyous wit so abundant in his blog articles lead me to expect something very different. Anyway what I liked the most was just listening to these two great names talking shop just like thousands of ordinary hackers passionate about their world. So good luck J and J we are all waiting with baited breath.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2436566557923080461-8801238497145803848?l=hollystyles.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hollystyles.blogspot.com/feeds/8801238497145803848/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2436566557923080461&amp;postID=8801238497145803848' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2436566557923080461/posts/default/8801238497145803848'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2436566557923080461/posts/default/8801238497145803848'/><link rel='alternate' type='text/html' href='http://hollystyles.blogspot.com/2008/04/stackoverflow-will-it-be-buzz-or-horror.html' title='Stackoverflow will it be buzz or horror?'/><author><name>Holly Styles</name><uri>https://profiles.google.com/101547237293725837156</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-tcvymqxeWuU/AAAAAAAAAAI/AAAAAAAAAAA/fFpkXI0MWcg/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2436566557923080461.post-6427743153627209879</id><published>2008-04-15T15:37:00.000-07:00</published><updated>2008-04-15T15:38:13.944-07:00</updated><title type='text'>Taking better vacation photos</title><content type='html'>Taking pleasing photographs is not actually that difficult once you have memorised just a few basic techniques. Modern digital cameras allow you to see instant results, and you can instantly erase and take the shot again if your not happy. This has got to be the single biggest advantage of digital photo technology...&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.helium.com/items/1001424-taking-pleasing-photographs-actually"&gt;Read more...&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2436566557923080461-6427743153627209879?l=hollystyles.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hollystyles.blogspot.com/feeds/6427743153627209879/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2436566557923080461&amp;postID=6427743153627209879' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2436566557923080461/posts/default/6427743153627209879'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2436566557923080461/posts/default/6427743153627209879'/><link rel='alternate' type='text/html' href='http://hollystyles.blogspot.com/2008/04/taking-better-vacation-photos.html' title='Taking better vacation photos'/><author><name>Holly Styles</name><uri>https://profiles.google.com/101547237293725837156</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-tcvymqxeWuU/AAAAAAAAAAI/AAAAAAAAAAA/fFpkXI0MWcg/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2436566557923080461.post-8641849611276918817</id><published>2008-04-02T07:20:00.000-07:00</published><updated>2008-04-03T15:30:46.083-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='login'/><category scheme='http://www.blogger.com/atom/ns#' term='password'/><category scheme='http://www.blogger.com/atom/ns#' term='encryption'/><title type='text'>Password storage</title><content type='html'>With all the hype about the amount of personal information people are allowing to be seen in there Social bookmarking profiles, It got me thinking about password storage. Particularly as I've been brushing up on secure password storage for a new project. At a &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;minimum&lt;/span&gt; in your web application you should be hashing the users password and adding a salt before storing it in the database. When creating the 'Forgot your password' function I suddenly realised something. All those sites that email you your password when you forget it - instead of issuing a new one. Are almost certainly not hashing your password very securely, if at all !! you might want to think about that for a moment :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2436566557923080461-8641849611276918817?l=hollystyles.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hollystyles.blogspot.com/feeds/8641849611276918817/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2436566557923080461&amp;postID=8641849611276918817' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2436566557923080461/posts/default/8641849611276918817'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2436566557923080461/posts/default/8641849611276918817'/><link rel='alternate' type='text/html' href='http://hollystyles.blogspot.com/2008/04/password-storage.html' title='Password storage'/><author><name>Holly Styles</name><uri>https://profiles.google.com/101547237293725837156</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-tcvymqxeWuU/AAAAAAAAAAI/AAAAAAAAAAA/fFpkXI0MWcg/s512-c/photo.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2436566557923080461.post-7944460665266181764</id><published>2008-02-08T03:24:00.000-08:00</published><updated>2008-02-08T03:30:24.581-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Testing'/><category scheme='http://www.blogger.com/atom/ns#' term='Software'/><category scheme='http://www.blogger.com/atom/ns#' term='Developement'/><title type='text'>Bounds Testing</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_T4q0ywrtXeg/R6w8ixs7gCI/AAAAAAAAACo/vP6TUJGWfyE/s1600-h/TDDChuckle.GIF"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://1.bp.blogspot.com/_T4q0ywrtXeg/R6w8ixs7gCI/AAAAAAAAACo/vP6TUJGWfyE/s200/TDDChuckle.GIF" alt="" id="BLOGGER_PHOTO_ID_5164569440842121250" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Who says testing can't be fun ?&lt;br /&gt;&lt;br /&gt;A treeview control, the nodes are user configurable but they mustn't be allowed more than nine nodes. :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2436566557923080461-7944460665266181764?l=hollystyles.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hollystyles.blogspot.com/feeds/7944460665266181764/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2436566557923080461&amp;postID=7944460665266181764' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2436566557923080461/posts/default/7944460665266181764'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2436566557923080461/posts/default/7944460665266181764'/><link rel='alternate' type='text/html' href='http://hollystyles.blogspot.com/2008/02/bounds-testing.html' title='Bounds Testing'/><author><name>Holly Styles</name><uri>https://profiles.google.com/101547237293725837156</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-tcvymqxeWuU/AAAAAAAAAAI/AAAAAAAAAAA/fFpkXI0MWcg/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_T4q0ywrtXeg/R6w8ixs7gCI/AAAAAAAAACo/vP6TUJGWfyE/s72-c/TDDChuckle.GIF' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2436566557923080461.post-8678944781011721809</id><published>2008-02-07T03:08:00.000-08:00</published><updated>2008-02-07T03:17:56.879-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Visual Studio'/><title type='text'>Where did my IntelliSense go ?</title><content type='html'>Sometimes on larger projects, or rather solutions made up of multiple projects it's a hazard that you might get your references in a twist. if you do VS will get it's knickers in a twist and put something like the following in the task list:&lt;br /&gt;&lt;br /&gt;Warning: The dependency '[some.namespace Version=1.0.2959.19180, Culture=neutral' in project 'some project' cannot be copied to the run directory because it would overwrite the reference 'some.namespace', Version=1.0.2824.17691, Culture=neutral'.&lt;br /&gt;&lt;br /&gt;One of the symptoms that will bring this to your attention, is IntelliSense for objects and their methods in a referenced class library project will stop functioning. Gah! &lt;br /&gt;&lt;br /&gt;The golden rule I have found is when adding references between the projects in the solution, particularly if project A and Project B *BOTH* require a reference to project C. Make sure you add it from the Add a reference's Project tab, rather than browsing to the dll file. This way VS will see the circular dependency and sort it out, and IntelliSense will be restored, thank goodness, time for a cup of tea.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2436566557923080461-8678944781011721809?l=hollystyles.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hollystyles.blogspot.com/feeds/8678944781011721809/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2436566557923080461&amp;postID=8678944781011721809' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2436566557923080461/posts/default/8678944781011721809'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2436566557923080461/posts/default/8678944781011721809'/><link rel='alternate' type='text/html' href='http://hollystyles.blogspot.com/2008/02/where-did-my-intellisense-go.html' title='Where did my IntelliSense go ?'/><author><name>Holly Styles</name><uri>https://profiles.google.com/101547237293725837156</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-tcvymqxeWuU/AAAAAAAAAAI/AAAAAAAAAAA/fFpkXI0MWcg/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2436566557923080461.post-3129997285326004520</id><published>2008-01-24T00:56:00.000-08:00</published><updated>2008-01-24T01:30:16.972-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Database'/><category scheme='http://www.blogger.com/atom/ns#' term='SQL'/><title type='text'>Retrieving data with SQL queries: An introduction</title><content type='html'>Before we dive into the basics of SQL it is pertinent to give a little background on it's origins. SQL was originally coined SEQUEL by IBM in about...&lt;br /&gt;&lt;a href="http://www.helium.com/tm/813648/before-basics-pertinent-little" target="new"&gt;&lt;br /&gt;Read more&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2436566557923080461-3129997285326004520?l=hollystyles.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hollystyles.blogspot.com/feeds/3129997285326004520/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2436566557923080461&amp;postID=3129997285326004520' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2436566557923080461/posts/default/3129997285326004520'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2436566557923080461/posts/default/3129997285326004520'/><link rel='alternate' type='text/html' href='http://hollystyles.blogspot.com/2008/01/retrieving-data-with-sql-queries.html' title='Retrieving data with SQL queries: An introduction'/><author><name>Holly Styles</name><uri>https://profiles.google.com/101547237293725837156</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-tcvymqxeWuU/AAAAAAAAAAI/AAAAAAAAAAA/fFpkXI0MWcg/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2436566557923080461.post-6225535975139877431</id><published>2008-01-24T00:54:00.000-08:00</published><updated>2008-01-24T01:30:41.617-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='processes'/><category scheme='http://www.blogger.com/atom/ns#' term='task manager'/><category scheme='http://www.blogger.com/atom/ns#' term='computer'/><title type='text'>How to find out what's running on your PC (and why this is important)</title><content type='html'>In order for modern, multi-tasking, PC operating systems to run in a stable manner. Every program that runs does so within it's own process, alloca...&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.helium.com/tm/809287/order-modern-multi-tasking" target="new"&gt;Read more&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2436566557923080461-6225535975139877431?l=hollystyles.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hollystyles.blogspot.com/feeds/6225535975139877431/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2436566557923080461&amp;postID=6225535975139877431' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2436566557923080461/posts/default/6225535975139877431'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2436566557923080461/posts/default/6225535975139877431'/><link rel='alternate' type='text/html' href='http://hollystyles.blogspot.com/2008/01/how-to-find-out-whats-running-on-your.html' title='How to find out what&apos;s running on your PC (and why this is important)'/><author><name>Holly Styles</name><uri>https://profiles.google.com/101547237293725837156</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-tcvymqxeWuU/AAAAAAAAAAI/AAAAAAAAAAA/fFpkXI0MWcg/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2436566557923080461.post-9134935653328655805</id><published>2008-01-10T12:44:00.000-08:00</published><updated>2008-01-10T13:21:16.310-08:00</updated><title type='text'>Web Writing</title><content type='html'>I have often felt the call to write more stuff. I'm definitely not cut out to be a novelist or anything like that, but I do like throwing together the odd poem. Mostly I like to just get out ideas I have in my head or debrief myself over some experience I've had or some issue that challenged or got my interest at work.&lt;br /&gt;&lt;br /&gt;I recently discovered Helium, it's a bit like myLot but more up-market. I haven't done a great deal there yet but I have published a handful of articles. The titles are preselected and I came across one that was right up my street &lt;a href="http://www.helium.com/tm/776206/arrive-office-early-around"&gt;"A day in the life of web developer"&lt;/a&gt; so of course I couldn't pass that up!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2436566557923080461-9134935653328655805?l=hollystyles.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hollystyles.blogspot.com/feeds/9134935653328655805/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2436566557923080461&amp;postID=9134935653328655805' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2436566557923080461/posts/default/9134935653328655805'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2436566557923080461/posts/default/9134935653328655805'/><link rel='alternate' type='text/html' href='http://hollystyles.blogspot.com/2008/01/web-writing.html' title='Web Writing'/><author><name>Holly Styles</name><uri>https://profiles.google.com/101547237293725837156</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-tcvymqxeWuU/AAAAAAAAAAI/AAAAAAAAAAA/fFpkXI0MWcg/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2436566557923080461.post-8436735448160247054</id><published>2008-01-04T03:27:00.000-08:00</published><updated>2008-01-10T12:44:21.901-08:00</updated><title type='text'>Hairy Code</title><content type='html'>I have been in my latest hacker post for a couple of years now. I am still maintaining one of the key projects there that I was introduced to on my very first day. Yeah my first day! A new post and I was reading code dating back to the 'Classic ASP' days, migrated to 'ASP.NET Framework 1.1.' It was already about three years old. So the code was big fat and  very very hairy. I recalled in my mind someone mentioning that classic phrase "..hit the ground running." In my interview only a month previously. The relevance of that sentence was beginning to dawn on me.&lt;br /&gt;&lt;br /&gt;The code violates just about every principle going! particularly DRY (Don't repeat yourself) There are, for example: a total of three Data Layer tiers each of varying complexity and each reflecting the tastes of it's creator. One is abstract, the second is just a light layer that executes in-line SQL and the third (my own contribution) sits somewhere between the two and shows my preference for stored procedures as opposed to concatenated SQL. This... 'thing' is a monster! But, it works it's been out in the wild for half a decade being battered by it's users everyday. It's been down just twice for a handful of hours in the last two years and that was due to network hardware issues not the application.&lt;br /&gt;&lt;br /&gt;There are days when I hate the monster and can barely face it, then there are days like today as I bolt on yet another module/feature that I feal in awe of this mighty labyrinth of C# code. I have managed to slowly refactor large parts of this monster's code mop, combing wayward hairs of C# into neat re-usable classes. I read once on &lt;a href="http://www.joelonsoftware.com/articles/fog0000000069.html"&gt;Joel Spolskey's blog&lt;/a&gt; throwing away code and starting again is something you should never do. My monster stands testament to that ethos.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2436566557923080461-8436735448160247054?l=hollystyles.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hollystyles.blogspot.com/feeds/8436735448160247054/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2436566557923080461&amp;postID=8436735448160247054' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2436566557923080461/posts/default/8436735448160247054'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2436566557923080461/posts/default/8436735448160247054'/><link rel='alternate' type='text/html' href='http://hollystyles.blogspot.com/2008/01/hairy-code.html' title='Hairy Code'/><author><name>Holly Styles</name><uri>https://profiles.google.com/101547237293725837156</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-tcvymqxeWuU/AAAAAAAAAAI/AAAAAAAAAAA/fFpkXI0MWcg/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2436566557923080461.post-6009028156644651730</id><published>2007-07-23T04:25:00.000-07:00</published><updated>2008-01-24T01:41:05.400-08:00</updated><title type='text'>Handy web designer tips</title><content type='html'>1. Is your DOCTYPE being interpreted correctly?&lt;br /&gt;Load the suspect page, then place this in the address bar:&lt;br /&gt;&lt;pre&gt;&lt;code&gt;javascript:alert(document.compatMode);&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;You should get an alert box stating 'CSS1Compat' if the browser is using strict compliant mode. Or 'BackCompat' if it's in quirks mode&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2436566557923080461-6009028156644651730?l=hollystyles.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hollystyles.blogspot.com/feeds/6009028156644651730/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2436566557923080461&amp;postID=6009028156644651730' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2436566557923080461/posts/default/6009028156644651730'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2436566557923080461/posts/default/6009028156644651730'/><link rel='alternate' type='text/html' href='http://hollystyles.blogspot.com/2007/07/handy-web-designer-tips.html' title='Handy web designer tips'/><author><name>Holly Styles</name><uri>https://profiles.google.com/101547237293725837156</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-tcvymqxeWuU/AAAAAAAAAAI/AAAAAAAAAAA/fFpkXI0MWcg/s512-c/photo.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2436566557923080461.post-8463016831191248856</id><published>2007-07-12T12:39:00.000-07:00</published><updated>2007-07-12T12:52:45.349-07:00</updated><title type='text'>ASP.NET DataTable.Select method doesn't return rows.</title><content type='html'>&lt;p  style="margin-bottom: 0cm;font-family:verdana;"&gt;&lt;span style="font-size:100%;"&gt;You've got a small bug that only occurs on one particular server, that server is owned by someone else so you can't remote debug. You can't debug locally on your development machine, because there the bug is absent, everything works. So what do you do to diagnose the problem? Use the event log and or file system and print out your own debugging info.&lt;/span&gt;&lt;/p&gt; &lt;p  style="margin-bottom: 0cm;font-family:verdana;"&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;&lt;/span&gt; &lt;/p&gt; &lt;p style="margin-bottom: 0cm;"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:verdana;"&gt;So anyway the background. We have a large bespoke ASP.NET web application that manages recruitment for a large corporation. It's hosted on a private server that we have limited access to. A part of this distributed application is responsible for correspondence; email and letter merging for mass mailings. Within this component a couple of related DataTable objects are passed in along with an MS Word document template, and the data is merged. The first table contains a list of recipients, the other contains some repeating details (a list of required documents, or a list of booked courses for example) So it's a one to many relationship. The primary table is iterated one row at a time and pulls the related rows from the foreign key DataTable using the Select method of the that DataTable object. This returns an array of matching DataRow objects which are iterated into the template.&lt;/span&gt;&lt;/span&gt;  &lt;/p&gt; &lt;p style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p  style="margin-bottom: 0cm;font-family:courier new;"&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;string&lt;/span&gt; filter = key + &lt;span style="color: rgb(153, 0, 0);"&gt;“ =  “&lt;/span&gt; + keyVal;&lt;/p&gt; &lt;p  style="margin-bottom: 0cm;font-family:courier new;"&gt;&lt;span style="color: rgb(51, 204, 0);"&gt;DataRow&lt;/span&gt;[] rows = detail.Select(filter);&lt;/p&gt; &lt;p  style="margin-bottom: 0cm;font-family:courier new;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p  style="margin-bottom: 0cm;font-family:courier new;"&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;foreach&lt;/span&gt;(&lt;span style="color: rgb(51, 204, 0);"&gt;DataRow&lt;/span&gt; row &lt;span style="color: rgb(0, 0, 153);"&gt;in&lt;/span&gt; rows)&lt;/p&gt; &lt;p  style="margin-bottom: 0cm;font-family:courier new;"&gt;{&lt;/p&gt; &lt;p  style="margin-bottom: 0cm;font-family:courier new;"&gt;      &lt;span style="color: rgb(0, 153, 0);"&gt;/&lt;span style="color: rgb(0, 102, 0);"&gt;/merge the data into the template.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p face="courier new" style="margin-bottom: 0cm;"&gt;}&lt;/p&gt; &lt;p style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0cm;"&gt;&lt;span style="font-family:verdana;"&gt;The string filter argument for the Select method is a simple concatenation of the foreign key column name and the value to be selected. The key column is an auto identity integer column. The code was tested and worked perfectly on the development PC. However, on the staging server no rows were being returned even though we knew they existed. We couldn't debug on this server so we wrote our own debugging statements to the servers Application event log. So why would the filter return rows on the development computer but not another? We  decided to serialize the table including schema information to an xml file onto the servers file system to take a closer look&lt;/span&gt;  &lt;/p&gt; &lt;p style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p face="courier new" style="margin-bottom: 0cm;"&gt;&lt;span style="font-size:100%;"&gt;detail.TableName = &lt;span style="color: rgb(153, 0, 0);"&gt;“detail”&lt;/span&gt;; &lt;span style="color: rgb(0, 102, 0);"&gt;//Without this the WriteXml method throws an exception.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p face="courier new" style="margin-bottom: 0cm;"&gt;&lt;span style="font-size:100%;"&gt;detail.WriteXml(&lt;span style="color: rgb(153, 0, 0);"&gt;@“C:\Temp\detail.xml”&lt;/span&gt;&lt;span lang=""&gt;, &lt;span style="color: rgb(0, 0, 0);"&gt;XmlWriteMode.WriteSchema, &lt;span style="color: rgb(0, 0, 153);"&gt;false&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;);&lt;/span&gt;  &lt;/p&gt; &lt;p style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0cm;"&gt;&lt;span style="font-family:verdana;"&gt;And there was the answer.&lt;/span&gt;  &lt;/p&gt; &lt;p style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0cm;"&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;&amp;lt;xs:element&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;name&lt;/span&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;="ApplicantId"&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;type&lt;/span&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;="xs:string"&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;minOccurs&lt;/span&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;="0" /&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0cm; font-family: verdana;"&gt;On the development machine the foreign key column was being correctly recognised as being of integer data type:&lt;/p&gt; &lt;p style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0cm;"&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;&amp;lt;xs:element&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;name&lt;/span&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;="ApplicantId"&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;type&lt;/span&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;="xs:int"&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;minOccurs&lt;/span&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;="0" /&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0cm; font-family: verdana;"&gt;But, on the staging server it was showing in the schema as a string field!  &lt;/p&gt; &lt;p style="margin-bottom: 0cm; font-family: verdana;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0cm; font-family: verdana;"&gt;The fix was to change the filter to use single quote marks around the foreign key value.&lt;/p&gt; &lt;p style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0cm; font-family: courier new;"&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;string&lt;/span&gt; filter = key +&lt;span style="color: rgb(153, 0, 0);"&gt; “ =  '“&lt;/span&gt; + keyVal + &lt;span style="color: rgb(153, 0, 0);"&gt;“'”&lt;/span&gt;;&lt;/p&gt; &lt;p style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0cm; font-family: verdana;"&gt; As this works in both scenarios. So the rule of thumb would seem to be: To use single quotes around your criteria parameter. I often see single quotes in SQL statements for integer columns and it has always irked me (being a bit of a purist – typical of my ilk) But after today I have a new respect for it .I haven't figured out the exact reason for this behaviour as the .NET framework is exactly the same version on both machines. My gut instinct, and therefore prime suspect is: MDAC.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2436566557923080461-8463016831191248856?l=hollystyles.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hollystyles.blogspot.com/feeds/8463016831191248856/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2436566557923080461&amp;postID=8463016831191248856' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2436566557923080461/posts/default/8463016831191248856'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2436566557923080461/posts/default/8463016831191248856'/><link rel='alternate' type='text/html' href='http://hollystyles.blogspot.com/2007/07/aspnet-datatableselect-method-doesnt.html' title='ASP.NET DataTable.Select method doesn&apos;t return rows.'/><author><name>Holly Styles</name><uri>https://profiles.google.com/101547237293725837156</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-tcvymqxeWuU/AAAAAAAAAAI/AAAAAAAAAAA/fFpkXI0MWcg/s512-c/photo.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2436566557923080461.post-778697220751838584</id><published>2007-06-15T16:52:00.000-07:00</published><updated>2007-06-15T17:04:59.874-07:00</updated><title type='text'>Facebook API</title><content type='html'>So I thought it was about time I checked out Facebook. I don't know why I chose that particular site. There seems to be a new surge in web 2.0, in which it's now possible to program your blogs and sites. Integrating services that exist all over the internet, into little mini plugins. So I have spent an entire evening attempting the Facebook API tutorial. The hardest part was finding a free host that supported PHP version 5. I finaly found one at &lt;a href="http://www.byethost2.com"&gt;ByetHost2&lt;/a&gt; The major issue was none of them specified which version of PHP they had installed so I had to sign-up all of them and upload a phpinfo.php file to discover nearly all are still stuck on 4.2 !!!&lt;br /&gt;&lt;br /&gt;Anyway having finally got a host on the right version, I completed the tutorial. But, it doesn't work and I am disappointed. It is almost tomorrow and time for bed.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2436566557923080461-778697220751838584?l=hollystyles.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hollystyles.blogspot.com/feeds/778697220751838584/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2436566557923080461&amp;postID=778697220751838584' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2436566557923080461/posts/default/778697220751838584'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2436566557923080461/posts/default/778697220751838584'/><link rel='alternate' type='text/html' href='http://hollystyles.blogspot.com/2007/06/facebook-api.html' title='Facebook API'/><author><name>Holly Styles</name><uri>https://profiles.google.com/101547237293725837156</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-tcvymqxeWuU/AAAAAAAAAAI/AAAAAAAAAAA/fFpkXI0MWcg/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2436566557923080461.post-6325429793531067241</id><published>2007-06-05T04:39:00.000-07:00</published><updated>2007-07-11T12:08:51.797-07:00</updated><title type='text'>Site up and running</title><content type='html'>I finally have my site up and running and a domain to call home. See '&lt;a href="http://www.hollyathome.net/"&gt;Make the internet work for you&lt;/a&gt;' in My Links.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2436566557923080461-6325429793531067241?l=hollystyles.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hollystyles.blogspot.com/feeds/6325429793531067241/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2436566557923080461&amp;postID=6325429793531067241' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2436566557923080461/posts/default/6325429793531067241'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2436566557923080461/posts/default/6325429793531067241'/><link rel='alternate' type='text/html' href='http://hollystyles.blogspot.com/2007/06/site-up-and-running.html' title='Site up and running'/><author><name>Holly Styles</name><uri>https://profiles.google.com/101547237293725837156</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-tcvymqxeWuU/AAAAAAAAAAI/AAAAAAAAAAA/fFpkXI0MWcg/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry></feed>
