<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="wordpress/2.3.3" -->
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	
	xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Run.To.The.Hills</title>
	<link>http://rob.runtothehills.org</link>
	<description>Talk is cheap. Show me the code.</description>
	<pubDate>Fri, 25 Sep 2009 15:37:55 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.3.3</generator>
	<language>en</language>
			<item>
		<title>Testing Images in posts RSS feed</title>
		<link>http://rob.runtothehills.org/archives/356</link>
		<comments>http://rob.runtothehills.org/archives/356#comments</comments>
		<pubDate>Fri, 25 Sep 2009 15:37:55 +0000</pubDate>
		<dc:creator>rob</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://rob.runtothehills.org/archives/356</guid>
		<description><![CDATA[

Image by jesuscm via Flickr

Just a small test to see if the image is delivered in the RSS feed. Dont get excited.
]]></description>
			<content:encoded><![CDATA[<p><img style="border-bottom: medium none; border-left: medium none; display: block; border-top: medium none; border-right: medium none" alt="a balloon at sunset" src="http://farm4.static.flickr.com/3529/3950846769_bd577345d6_m.jpg" />
<div style="margin: 1em; display: block; float: right" class="zemanta-img">
<p style="font-size: 0.8em" class="zemanta-img-attribution">Image by <a href="http://www.flickr.com/photos/14473732@N00/3950846769/">jesuscm</a> via Flickr</p>
</p></div>
<p>Just a small test to see if the image is delivered in the RSS feed. Dont get excited.</p>
]]></content:encoded>
			<wfw:commentRss>http://rob.runtothehills.org/archives/356/feed</wfw:commentRss>
	
		<media:thumbnail url="http://farm4.static.flickr.com/3529/3950846769_bd577345d6_m.jpg" />
		<media:content url="http://farm4.static.flickr.com/3529/3950846769_bd577345d6_m.jpg" medium="image">
			<media:title type="html">a balloon at sunset</media:title>
		</media:content>
	</item>
		<item>
		<title>Dynamic parameters in XPath WPF bindings.</title>
		<link>http://rob.runtothehills.org/archives/355</link>
		<comments>http://rob.runtothehills.org/archives/355#comments</comments>
		<pubDate>Thu, 12 Mar 2009 23:57:01 +0000</pubDate>
		<dc:creator>rob</dc:creator>
		
		<category><![CDATA[.Net]]></category>

		<category><![CDATA[Development]]></category>

		<guid isPermaLink="false">http://rob.runtothehills.org/archives/355</guid>
		<description><![CDATA[
Image via Wikipedia
Since its been a fair while since I posted anything with technical content, I thought I’d lighten the atmosphere with some hardcore XAML extending  
I was asked this question a while back, how to parameterize an XPath query in a binding. Well, it is a bit of problem, you know, ranking right [...]]]></description>
			<content:encoded><![CDATA[<p style="margin: 1em; width: 212px; display: block; float: right" class="zemanta-img" jquery1236875251867="865"><a href="http://commons.wikipedia.org/wiki/Image:XML.svg"><img style="border-bottom: medium none; border-left: medium none; display: block; border-top: medium none; border-right: medium none" alt="A graphical depiction of a very simple xml doc..." src="http://upload.wikimedia.org/wikipedia/commons/thumb/6/68/XML.svg/202px-XML.svg.png" width="202" height="230" /></a></p>
<p style="font-size: 0.8em" class="zemanta-img-attribution">Image via <a href="http://commons.wikipedia.org/wiki/Image:XML.svg">Wikipedia</a></p>
<p>Since its been a fair while since I posted anything with technical content, I thought I’d lighten the atmosphere with some hardcore XAML extending <img src='http://rob.runtothehills.org/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>I was asked this question a while back, how to parameterize an XPath query in a binding. Well, it is a <em>bit </em>of problem, you know, ranking right up there with global warming, world peace, North Korean space program crisis etc, and like most lazy developer’s (that’s a good thing btw!) I googled <em>first </em>to see what I could turn up.</p>
<p>There were plenty of scams for solving global warming, but not one for Dynamic XPaths in XAML bindings.</p>
<p>Nothing. Zilch. Nada. Zip. There was one post that made me think that it may well be a bit more difficult that I was expecting.</p>
<p><a href="http://karlhulme.wordpress.com/2007/02/14/xpath-variabledynamic-parameters-in-wpf-binding/" target="_blank">This post by Karl Hulme</a> almost did what I wanted but not quite. it still wasn’t flexible enough to perform the type of binding I wanted to solve this particular problem, which was, to basically externalise rich tool tip data that was held in an external file, so the client could easily update the data to be shown based on control names on a form. The tool tip had to show not only text, but other rich content that was configured from an XML data source.</p>
<p>So after much head scratching, I came up with what I thought was quite a neat solution. Although it doesn’t solve global warming I think it’s quite a neat solution to the XAML problem. It’s a combination of a Value Converter and a Markup Extension, which allows you to specify XPath bound data in a clean way right in the XAML. The tooltip is then templated using these two classes to display the additional content as well as its original content if any.</p>
<p> <a href="http://rob.runtothehills.org/archives/355#more-355" class="more-link">(more&#8230;)</a></p>
]]></content:encoded>
			<wfw:commentRss>http://rob.runtothehills.org/archives/355/feed</wfw:commentRss>
	
		<media:thumbnail url="http://upload.wikimedia.org/wikipedia/commons/thumb/6/68/XML.svg/202px-XML.svg.png" />
		<media:content url="http://upload.wikimedia.org/wikipedia/commons/thumb/6/68/XML.svg/202px-XML.svg.png" medium="image">
			<media:title type="html">A graphical depiction of a very simple xml doc...</media:title>
		</media:content>
	</item>
		<item>
		<title>Automation for business and pleasure.</title>
		<link>http://rob.runtothehills.org/archives/350</link>
		<comments>http://rob.runtothehills.org/archives/350#comments</comments>
		<pubDate>Tue, 10 Mar 2009 07:31:52 +0000</pubDate>
		<dc:creator>rob</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://rob.runtothehills.org/archives/350</guid>
		<description><![CDATA[I’m a big fan of automating anything that can be automated. Those of you that may know me, might even call me a bit of a fanatic. That’s the reason I got married, automatic dishwasher on the cheap. There’s a reason for my fanaticism, I believe that the more of me you remove from the [...]]]></description>
			<content:encoded><![CDATA[<p>I’m a big fan of automating anything that can be automated. Those of you that may know me, might even call me a bit of a fanatic. That’s the reason I got married, automatic dishwasher on the cheap. There’s a reason for my fanaticism, I believe that the more of <strong>me</strong> you remove from the loop, the less problems will occur. Well, not me in particular, I don’t think I’m <em>that </em>crap. Well, ok, I’d prefer it if you didn’t ask anyone’s opinion on that <img src='http://rob.runtothehills.org/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> Especially the wife.</p>
<p>The largest source of problems in a project is us bumbling humans, and we’re not just talking about the bugs that we introduce!. Damn those pesky humans.</p>
<h5>Automate Everything</h5>
<p>Ok, so how do we help obsolete ourselves? Build automation is a really good start. As Steve McConnell once said “The build is the heartbeat of the project. If the hearts not beating the project is dead.” If that metaphor’s good enough for Steve, its good enough for me. Automated building is one of the best tools to keep that heart beating.</p>
<p>So, one of the keys to having a project run as smoothly as possible is automating the builds. There are many reasons for wanting to automate the build :</p>
<p> <a href="http://rob.runtothehills.org/archives/350#more-350" class="more-link">(more&#8230;)</a></p>
]]></content:encoded>
			<wfw:commentRss>http://rob.runtothehills.org/archives/350/feed</wfw:commentRss>
	
	</item>
		<item>
		<title>Correction &#60;gulp&#62;</title>
		<link>http://rob.runtothehills.org/archives/337</link>
		<comments>http://rob.runtothehills.org/archives/337#comments</comments>
		<pubDate>Mon, 23 Feb 2009 20:02:12 +0000</pubDate>
		<dc:creator>rob</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://rob.runtothehills.org/archives/337</guid>
		<description><![CDATA[Well, not a big one, but one of my blogless friends has pointed out that I probably mean the Real Time scanner – but I’m 99% sure its called the On Demand scanner. 
Here’s the courtesy link to his website  
Either way, its the one that checks files as they’re accessed. 
McAfee.. helping keep [...]]]></description>
			<content:encoded><![CDATA[<p>Well, not a big one, but one of my blogless friends has pointed out that I probably mean the Real Time scanner – but I’m 99% sure its called the On Demand scanner. </p>
<p>Here’s the courtesy link to <a href="http://www.inkland.org.uk/" target="_blank">his website</a> <img src='http://rob.runtothehills.org/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Either way, its the one that checks files as they’re accessed. </p>
<p>McAfee.. helping keep files clean, and product deadlines away.</p>
<p> <img src='http://rob.runtothehills.org/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://rob.runtothehills.org/archives/337/feed</wfw:commentRss>
	
	</item>
		<item>
		<title>Epic Battles with McAfee</title>
		<link>http://rob.runtothehills.org/archives/336</link>
		<comments>http://rob.runtothehills.org/archives/336#comments</comments>
		<pubDate>Mon, 23 Feb 2009 17:17:46 +0000</pubDate>
		<dc:creator>rob</dc:creator>
		
		<category><![CDATA[.Net]]></category>

		<category><![CDATA[Development]]></category>

		<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://rob.runtothehills.org/archives/336</guid>
		<description><![CDATA[
Image via Wikipedia

What week, I’ve managed about 4 hours of actual development. The problem? McAfee’s on demand scanner. 
It all started Monday, whilst I was writing a templated ASP.Net control similar to the inbuilt Logon panel. The difference was that this control respects the privileges of the logged on user, using the Oracle security model [...]]]></description>
			<content:encoded><![CDATA[<div class="zemanta-img" style="display: block; float: right; margin: 1em; width: 212px" jquery1235407058686="1864"><a href="http://en.wikipedia.org/wiki/Image:Mcafee_logo.svg"><img style="border-right: medium none; border-top: medium none; display: block; border-left: medium none; border-bottom: medium none" height="45" alt="McAfee, Inc." src="http://upload.wikimedia.org/wikipedia/en/thumb/a/ad/Mcafee_logo.svg/202px-Mcafee_logo.svg.png" width="202" /></a>
<p class="zemanta-img-attribution" style="font-size: 0.8em">Image via <a href="http://en.wikipedia.org/wiki/Image:Mcafee_logo.svg">Wikipedia</a></p>
</p></div>
<p>What week, I’ve managed about 4 hours of actual development. The problem? McAfee’s on demand scanner. </p>
<p>It all started Monday, whilst I was writing a templated ASP.Net control similar to the inbuilt Logon panel. The difference was that this control respects the privileges of the logged on user, using the Oracle security model that we’re deep into.</p>
<p>Anyway, on using the panel I started getting unrecognised tag errors, and then Devstudio wouldn’t compile the project. At all. So, after a bit of cleaning and the usual go to the dos prompt, i really cleaned the project and tried again. Success. </p>
<p>All the errors went away. Hmm, i thought to myself. must be some cruft from left from the other day when one of the other office staff mistakenly unplugged my PC instead of the electric heater at her feet. Twice. </p>
<p>Any I’d scan-disked the PC and found nothing wrong so off I went merrily coding away. Then odd little errors started creeping in. Tags not recognised, xml schema errors from files I’d not touched for days. It never occurred to me that the On Demand scanner from McAfee could be the culprit. So after blaming myself first for a day, then DevStudio for a day, I started looking at all the other corporate software that was running on the PC. Keep in mind that it takes a day for this because these aren’t the worlds fastest PC’s (the fast ones are on order <img src='http://rob.runtothehills.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> ).</p>
<p>So finally I examine the McAfee On Demand logs. Holy smoke. over 4000 blocked actions in the last hour. Yes I work fast. Either that or there’s a lot of files making up our project <img src='http://rob.runtothehills.org/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Not only that, but the file it seemed to be scanning was the .ASPX file i just so happened to be working on. I’ll take that as the smoking gun.</p>
<p>So I think I’ve found the culprit, but trying to sort out what to do about it is a whole different story! </p>
<p>Remember that we’re dealing with a corporate IT department. Can I get rid of McAfee? No. I tried that already. Not enough rights. So I ring the IT department. Waivers for developers? modifications to the policies, different virus killer? No, No and NO. So, I’m kind of stuck here. It’s out of my hands now, but given that I’m on a daily rate, this could be getting expensive, and its only when the costs start mounting up that people notice. Nothing I try seems to stop the interference with VS2008, and meanwhile the project is kind of stood still. I haven’t been idle (of course!) I’ve installed a full automated build system whilst I’m waiting for this to get solved, but that’s in a VM where I can guarantee that its running exactly what I want, not what someone else thinks I need <img src='http://rob.runtothehills.org/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>I’ll keep y’all posted.</p>
<p>In the mean time, might I suggest :</p>
<p>1) Don’t use on demand scanners with development environments. Its not worth the hassle. This is the second time McAfee’s bitten me.</p>
<p>2) if you have to use on demand scanners, don’t use McAfee!.</p>
<p>If only real life development was that simple.</p>
<p>&#160;</p>
<div class="zemanta-pixie" style="margin-top: 10px; height: 15px"><a class="zemanta-pixie-a" title="Zemified by Zemanta" href="http://reblog.zemanta.com/zemified/05b96833-b15c-4b92-a484-02ed5cd58dbe/"><img class="zemanta-pixie-img" style="border-right: medium none; border-top: medium none; float: right; border-left: medium none; border-bottom: medium none" alt="Reblog this post [with Zemanta]" src="http://img.zemanta.com/reblog_e.png?x-id=05b96833-b15c-4b92-a484-02ed5cd58dbe" /></a></div>
]]></content:encoded>
			<wfw:commentRss>http://rob.runtothehills.org/archives/336/feed</wfw:commentRss>
	
		<media:thumbnail url="http://upload.wikimedia.org/wikipedia/en/thumb/a/ad/Mcafee_logo.svg/202px-Mcafee_logo.svg.png" />
		<media:content url="http://upload.wikimedia.org/wikipedia/en/thumb/a/ad/Mcafee_logo.svg/202px-Mcafee_logo.svg.png" medium="image">
			<media:title type="html">McAfee, Inc.</media:title>
		</media:content>
		<media:content url="http://img.zemanta.com/reblog_e.png?x-id=05b96833-b15c-4b92-a484-02ed5cd58dbe" medium="image">
			<media:title type="html">Reblog this post [with Zemanta]</media:title>
		</media:content>
	</item>
		<item>
		<title>Binding and DetailsView</title>
		<link>http://rob.runtothehills.org/archives/335</link>
		<comments>http://rob.runtothehills.org/archives/335#comments</comments>
		<pubDate>Wed, 11 Feb 2009 17:00:39 +0000</pubDate>
		<dc:creator>rob</dc:creator>
		
		<category><![CDATA[.Net]]></category>

		<category><![CDATA[Development]]></category>

		<guid isPermaLink="false">http://rob.runtothehills.org/archives/335</guid>
		<description><![CDATA[Since I’m doing more ASP.Net than I’d normally like to admit to, here’s a really useful little snippet that I struggled with earlier. After my google ninjitsu failed me I turned to figuring it out for myself.
Once I’d wiped the sweat from my forehead I came up with a solution. Whew.
Ok, the problem was that [...]]]></description>
			<content:encoded><![CDATA[<p>Since I’m doing more ASP.Net than I’d normally like to admit to, here’s a really useful little snippet that I struggled with earlier. After my google ninjitsu failed me I turned to figuring it out for myself.</p>
<p>Once I’d wiped the sweat from my forehead I came up with a solution. Whew.</p>
<p>Ok, the problem was that I have a typical master/detail gridview &amp; details view on a form which allows the user to select a row in the grid and then edit the details via the DetailsView. So far so good. I managed to get the whole thing hooked up declaratively using ObjectDataProviders so it felt almost like the XAML i know an love <img src='http://rob.runtothehills.org/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Anyway next on the agenda was the field validation. I’d re-templated the fields on the DetailsView so we’d got DropDownLists showing predefined lists take from the internal DataModel. Life was good. Throw in a few field validators and we’re good to go. Almost.</p>
<p>Since some of the fields on the form were just TextBoxes, I’d added the typical RequiredFieldValidator, but what about the lengths? These text boxes are mapped VarChar columns on the DB, they had an explicit length. I could hand code the length with the MaxLength property but that just means more work should the DB schema change on me. </p>
<p>If this were XAML we’d have it bound up in no time, but all my attempts in ASP failed miserably.</p>
<p>I know that the DataContext – oops sorry (!) – DataItem must be a DataRow from the table the grid was bound to, so there must be a property giving access to the rows columns. Sure enough, there’s the DataRows Table property we can use. Great! Saved! Effectively what I’d like to do would be bind up the MaxLength property to a DataColumns MaxLength propert. Sound simple. something like</p>
<p align="left">&lt;asp:TextBox MaxLength=&#8217;&lt;%# Table.Columns[&quot;GUR_FORENAME&quot;].MaxLength &gt;&#8217;&gt;</p>
<p>Not so fast buster. Unfortunately&#160; the above and all variations I tried didn’t seem to work. Even trying to Bind() to the table didn’t seem to work either</p>
<p>&lt;asp:TextBox MaxLength=&#8217;&lt;%# (Bind(“Table”) as DataTable).Columns[&quot;GUR_FORENAME&quot;].MaxLength &gt;&#8217;&gt;</p>
<p>Since Bind(“Table”) returns object, i thought i was in there! No such luck. Dozens of variations later, magic incantations, a full moon and some voodoo, I finally managed to get it working.</p>
<p>The final version of the binding expression I was after looked like this :</p>
<p>&lt;%# Eval(&quot;Table.Columns[\&quot;GUR_FORENAME\&quot;].MaxLength&quot;) %&gt;</p>
<p>I’m still freaked out by the fact the whole expression has to be <em>inside</em> the quotes. If Bind() really does return an object what the hell is it? If I had time to spare I’d <a href="http://www.red-gate.com/products/reflector/" target="_blank">reflector</a> through this, but unfortunately after spending too long on figuring out how to bind the max length, it’s something that will have to wait.</p>
<p>So, it looks like the ASP binding is a bit more flexible than first thought, and not surprisingly , the standard examples hint at!</p>
</p>
<div class="zemanta-pixie" style="margin-top: 10px; height: 15px"><a class="zemanta-pixie-a" title="Zemified by Zemanta" href="http://reblog.zemanta.com/zemified/24cea405-b043-47c9-beb2-73461c036dba/"><img class="zemanta-pixie-img" style="border-right: medium none; border-top: medium none; float: right; border-left: medium none; border-bottom: medium none" alt="Reblog this post [with Zemanta]" src="http://img.zemanta.com/reblog_e.png?x-id=24cea405-b043-47c9-beb2-73461c036dba" /></a></div>
]]></content:encoded>
			<wfw:commentRss>http://rob.runtothehills.org/archives/335/feed</wfw:commentRss>
	
		<media:thumbnail url="http://img.zemanta.com/reblog_e.png?x-id=24cea405-b043-47c9-beb2-73461c036dba" />
		<media:content url="http://img.zemanta.com/reblog_e.png?x-id=24cea405-b043-47c9-beb2-73461c036dba" medium="image">
			<media:title type="html">Reblog this post [with Zemanta]</media:title>
		</media:content>
	</item>
		<item>
		<title>Fix Oracle dot Net&#8230;</title>
		<link>http://rob.runtothehills.org/archives/334</link>
		<comments>http://rob.runtothehills.org/archives/334#comments</comments>
		<pubDate>Wed, 04 Feb 2009 17:10:36 +0000</pubDate>
		<dc:creator>rob</dc:creator>
		
		<category><![CDATA[.Net]]></category>

		<category><![CDATA[Development]]></category>

		<category><![CDATA[Hackery]]></category>

		<guid isPermaLink="false">http://rob.runtothehills.org/archives/334</guid>
		<description><![CDATA[
Image by Getty Images via Daylife

…is now up! FixOracle.Net in its first incarnation fixes the type of dodgy Oracle code we’re using on our current project, but since the ‘fixing engine’ is shared between the web site, the winform tool, and the command line tool, when I figure out what casts are missing, I’ll add [...]]]></description>
			<content:encoded><![CDATA[<div class="zemanta-img" style="display: block; float: right; margin: 1em; width: 123px" jquery1233766726280="940"><a href="http://www.daylife.com/image/04UDdQ5dy110R?utm_source=zemanta&amp;utm_medium=p&amp;utm_content=04UDdQ5dy110R&amp;utm_campaign=z1"><img style="border-right: medium none; border-top: medium none; display: block; border-left: medium none; border-bottom: medium none" height="150" alt="SAN FRANCISCO - SEPTEMBER 24:  The new Oracle ..." src="http://cache.daylife.com/imageserve/04UDdQ5dy110R/113x150.jpg" width="113" /></a>
<p class="zemanta-img-attribution" style="font-size: 0.8em">Image by <a href="http://www.daylife.com/source/Getty_Images">Getty Images</a> via <a href="http://www.daylife.com/">Daylife</a></p>
</p></div>
<p>…is now up! <a href="http://www.fixoracle.net" target="_blank">FixOracle.Net</a> in its first incarnation fixes the type of dodgy <a class="zem_slink" title="Oracle (comics)" href="http://en.wikipedia.org/wiki/Oracle_%28comics%29" rel="wikipedia">Oracle</a> code we’re using on our current project, but since the ‘fixing engine’ is shared between the web site, the winform tool, and the command line tool, when I figure out what casts are missing, I’ll add them too.</p>
<p>In the mean time <a href="http://www.fixoracle.net/">http://www.fixoracle.net</a> is where you need to go for the absolute best in web design and hot advert-clicking-for-your-friends action. </p>
<p>Well, they’re not going to click themselves.</p>
<p> <img src='http://rob.runtothehills.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<div class="zemanta-pixie" style="margin-top: 10px; height: 15px"><a class="zemanta-pixie-a" title="Zemified by Zemanta" href="http://reblog.zemanta.com/zemified/6c3aab93-b37b-49f6-ad11-5773622c77e0/"><img class="zemanta-pixie-img" style="border-right: medium none; border-top: medium none; float: right; border-left: medium none; border-bottom: medium none" alt="Reblog this post [with Zemanta]" src="http://img.zemanta.com/reblog_e.png?x-id=6c3aab93-b37b-49f6-ad11-5773622c77e0" /></a></div>
]]></content:encoded>
			<wfw:commentRss>http://rob.runtothehills.org/archives/334/feed</wfw:commentRss>
	
		<media:thumbnail url="http://cache.daylife.com/imageserve/04UDdQ5dy110R/113x150.jpg" />
		<media:content url="http://cache.daylife.com/imageserve/04UDdQ5dy110R/113x150.jpg" medium="image">
			<media:title type="html">SAN FRANCISCO - SEPTEMBER 24:  The new Oracle ...</media:title>
		</media:content>
		<media:content url="http://img.zemanta.com/reblog_e.png?x-id=6c3aab93-b37b-49f6-ad11-5773622c77e0" medium="image">
			<media:title type="html">Reblog this post [with Zemanta]</media:title>
		</media:content>
	</item>
		<item>
		<title>Fixing Oracle&#8217;s TableAdapters</title>
		<link>http://rob.runtothehills.org/archives/333</link>
		<comments>http://rob.runtothehills.org/archives/333#comments</comments>
		<pubDate>Fri, 30 Jan 2009 17:08:22 +0000</pubDate>
		<dc:creator>rob</dc:creator>
		
		<category><![CDATA[.Net]]></category>

		<category><![CDATA[Development]]></category>

		<guid isPermaLink="false">http://rob.runtothehills.org/archives/333</guid>
		<description><![CDATA[Ok, by now you know Oracles table adapters are broken. Just searching on google for a solution turns up a significant number of other people having the same issues. Broken code, bad ODP crashes inside devstudio etc etc etc. Google turns up nothing but bad news when you’re looking for a solution to ease the [...]]]></description>
			<content:encoded><![CDATA[<p>Ok, by now you know Oracles table adapters are broken. Just searching on google for a solution turns up a significant number of other people having the same issues. Broken code, bad ODP crashes inside devstudio etc etc etc. Google turns up nothing but bad news when you’re looking for a solution to ease the pain of using .Net and Oracle tools.!</p>
<p>Well, since the fixes are pretty easy to add, I’ve created a little tool to automate the process. Although the fixes are quite simple, they soon mount up when you got more than a couple of TableAdapters that change more than a couple of times during the life of the project. In fact fixing oracle’s bugs starts eating a significant part of your development time, beyond the most trivial projects with one or two adapters. Maybe we should start invoicing them for the time taken to fix their crap code <img src='http://rob.runtothehills.org/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>ok, enough of the idle banter. Since a picture is worth a thousand words here’s a screen grab of the tool to whet your appetite!</p>
<p><a href="http://rob.runtothehills.org/wp-content/uploads/2009/01/orablefixer.png"><img title="orablefixer" style="border-right: 0px; border-top: 0px; display: block; float: none; margin-left: auto; border-left: 0px; margin-right: auto; border-bottom: 0px" height="484" alt="orablefixer" src="http://rob.runtothehills.org/wp-content/uploads/2009/01/orablefixer-thumb.png" width="375" border="0" /></a></p>
<p>Ok, I admit I stole the graphic! Basically this fixes the current crop of problems that the ODT generates when you drag a stored procedure or table to the VS’s Dataset design surface. As an additional ‘fix’ it also makes the Adapters CommandCollection public if you tick the check box.</p>
<p>Making the CommandCollection public means that you don’t have to derive a class from the generated table adapter, or provide another partial class when you want to do things like change the connection string on the fly, or make the commands participate in a transaction.</p>
<p>For those of us unable to use an ORM too or we’re just stuck with Oracle and the default tools for legacy code, this should help a little. </p>
<p>Anyway, I’m going to register a domain for the tool, and provide an online version too, where you upload a source file to fix, and it returns the fixed version. Maybe when there’s a public domain showing how to fix Oracle’s deficiencies, they’ll release a patch for a bug that’s been on metalink for what feels like *eternity*.</p>
<p>Watch out for FixMyOracle.Net coming soon <img src='http://rob.runtothehills.org/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://rob.runtothehills.org/archives/333/feed</wfw:commentRss>
	
		<media:thumbnail url="http://rob.runtothehills.org/wp-content/uploads/2009/01/orablefixer-thumb.png" />
		<media:content url="http://rob.runtothehills.org/wp-content/uploads/2009/01/orablefixer-thumb.png" medium="image">
			<media:title type="html">orablefixer</media:title>
		</media:content>
	</item>
		<item>
		<title>The Value of time revisited!</title>
		<link>http://rob.runtothehills.org/archives/330</link>
		<comments>http://rob.runtothehills.org/archives/330#comments</comments>
		<pubDate>Fri, 23 Jan 2009 21:31:56 +0000</pubDate>
		<dc:creator>rob</dc:creator>
		
		<category><![CDATA[Development]]></category>

		<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://rob.runtothehills.org/archives/330</guid>
		<description><![CDATA[
Image via Wikipedia

After speaking to one of my friends about this, I must point out that my current client *IS* actually switched on enough to correct the situation by providing the best equipment they possibly could. It’s as pleasant change to have people in the chain who do value your time, and are more than [...]]]></description>
			<content:encoded><![CDATA[<div style="margin: 1em; display: block; float: right" class="zemanta-img"><a href="http://en.wikipedia.org/wiki/Image:Silver1930penny.jpg"><img style="border-bottom-style: none; border-right-style: none; display: block; border-top-style: none; border-left-style: none" alt="silver copy of a 1930 penny" src="http://upload.wikimedia.org/wikipedia/en/thumb/e/e3/Silver1930penny.jpg/202px-Silver1930penny.jpg" width="202" height="203" /></a>
<p style="font-size: 0.8em" class="zemanta-img-attribution">Image via <a href="http://en.wikipedia.org/wiki/Image:Silver1930penny.jpg">Wikipedia</a></p>
</p></div>
<p>After speaking to one of my friends about this, I must point out that my current client *IS* actually switched on enough to correct the situation by providing the best equipment they possibly could. It’s as pleasant change to have people in the chain who do value your time, and are more than willing to help remove any obstacles to you being productive. Although I did mention this in the previous post, it does read rather like they’re not paying attention, which they absolutely are.</p>
<p>My post was really about the real cost of loss of productivity and effectiveness in order to save pennies on equipment, where someone outside your project holds the budget, and thinks you’ll be spending 7.5 hours a day editing word documents and emailing.</p>
<p>Perhaps they should try creating a DocProject with half a dozen assemblies, and see how long it takes before they can use their PC again <img src='http://rob.runtothehills.org/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>I’ve turned this type of semi-rant into a small essay, with references to various sources citing just the kind of point’s I’ve brought up here. I’m in the middle of reformatting it, and removing the names to protect the guilty. When that’s done I’ll post the whole article here for your viewing displeasure!</p>
<p>&#160;</p>
</p>
<div style="margin-top: 10px; height: 15px" class="zemanta-pixie"><a class="zemanta-pixie-a" title="Zemified by Zemanta" href="http://reblog.zemanta.com/zemified/db6b54b9-f504-4644-bbec-58380434630a/"><img style="border-bottom-style: none; border-right-style: none; border-top-style: none; float: right; border-left-style: none" class="zemanta-pixie-img" alt="Reblog this post [with Zemanta]" src="http://img.zemanta.com/reblog_e.png?x-id=db6b54b9-f504-4644-bbec-58380434630a" /></a></div>
]]></content:encoded>
			<wfw:commentRss>http://rob.runtothehills.org/archives/330/feed</wfw:commentRss>
	
		<media:thumbnail url="http://upload.wikimedia.org/wikipedia/en/thumb/e/e3/Silver1930penny.jpg/202px-Silver1930penny.jpg" />
		<media:content url="http://upload.wikimedia.org/wikipedia/en/thumb/e/e3/Silver1930penny.jpg/202px-Silver1930penny.jpg" medium="image">
			<media:title type="html">silver copy of a 1930 penny</media:title>
		</media:content>
		<media:content url="http://img.zemanta.com/reblog_e.png?x-id=db6b54b9-f504-4644-bbec-58380434630a" medium="image">
			<media:title type="html">Reblog this post [with Zemanta]</media:title>
		</media:content>
	</item>
		<item>
		<title>The value of time.</title>
		<link>http://rob.runtothehills.org/archives/329</link>
		<comments>http://rob.runtothehills.org/archives/329#comments</comments>
		<pubDate>Wed, 21 Jan 2009 17:30:14 +0000</pubDate>
		<dc:creator>rob</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://rob.runtothehills.org/archives/329</guid>
		<description><![CDATA[
Image via Wikipedia

I’ll never understand how some people in IT departments don’t grasp the value of a developers time. Its a false economy to provide anything but the absolute fastest PC for a developer. I’m not really sure where the real problem lies. Is it that non-techie people rise to management positions without realising what [...]]]></description>
			<content:encoded><![CDATA[<div class="zemanta-img" style="display: block; float: right; margin: 1em; width: 212px"><a href="http://commons.wikipedia.org/wiki/Image:Samsung_SyncMaster_152X.JPG"><img style="border-right: medium none; border-top: medium none; display: block; border-left: medium none; border-bottom: medium none" height="152" alt="SyncMaster 152X is Samsung&#39;s 15" src="http://upload.wikimedia.org/wikipedia/commons/thumb/d/d0/Samsung_SyncMaster_152X.JPG/202px-Samsung_SyncMaster_152X.JPG" width="202" lcd="lcd" display.?="display.?" /></a>
<p class="zemanta-img-attribution" style="font-size: 0.8em">Image via <a href="http://commons.wikipedia.org/wiki/Image:Samsung_SyncMaster_152X.JPG">Wikipedia</a></p>
</p></div>
<p>I’ll never understand how some people in IT departments don’t grasp the value of a developers time. Its a false economy to provide anything but the absolute fastest PC for a developer. I’m not really sure where the real problem lies. Is it that non-techie people rise to management positions without realising what precisely their reports are doing?</p>
<p>Take the current client. We’re working on incredibly old PC’s – P4’s with 2gb of ram and 40gb.&#160; DevStudio is simply un-useable. I don’t care what the minimum supported spec says, it’s painful. We’ve managed to get some new PC’s ordered, but in most other places its simply not that easy. We still have to justify why we’d like large monitors for example.</p>
<p>Who creates those kinds of obstacles? How they *know* what size monitor I’ll need?</p>
<p> <a href="http://rob.runtothehills.org/archives/329#more-329" class="more-link">(more&#8230;)</a></p>
]]></content:encoded>
			<wfw:commentRss>http://rob.runtothehills.org/archives/329/feed</wfw:commentRss>
	
		<media:thumbnail url="http://upload.wikimedia.org/wikipedia/commons/thumb/d/d0/Samsung_SyncMaster_152X.JPG/202px-Samsung_SyncMaster_152X.JPG" />
		<media:content url="http://upload.wikimedia.org/wikipedia/commons/thumb/d/d0/Samsung_SyncMaster_152X.JPG/202px-Samsung_SyncMaster_152X.JPG" medium="image">
			<media:title type="html">SyncMaster 152X is Samsung&#39;s 15</media:title>
		</media:content>
	</item>
	</channel>
</rss>
