<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" gd:etag="W/&quot;DE4AQHk_fyp7ImA9WhdSGEo.&quot;"><id>tag:blogger.com,1999:blog-2129560695527408325</id><updated>2011-07-28T13:15:41.747-05:00</updated><category term="Alt.Net" /><category term="logging" /><category term="AOP" /><category term="virtualization" /><category term="rules" /><category term="Channel 9" /><category term="skills" /><category term="MVC" /><category term="finance" /><category term="Free ASP.Net book" /><category term="kaizenconf" /><category term="books" /><category term="Calendar" /><category term="Outlook" /><category term="hosting" /><category term="events" /><category term="Windows Live Writer" /><category term="projects" /><category term="Rhino Mocks" /><category term="DeSerialize" /><category term="Serialize" /><category term="validation" /><category term="ASP.NET MVC" /><category term="ASP.NET" /><category term="c#" /><category term="Scripting" /><category term="Web Development" /><category term="XmlSerializer" /><category term="agile" /><category term="HeroesHappenHere" /><category term="ORM" /><category term="kanban" /><category term="10-4" /><category term="StringWriter" /><category term="MOSS" /><category term="DDD" /><category term="VS2008 Launch" /><category term="code" /><category term="Apache" /><category term="LinqToSql" /><category term="database" /><category term="HDTV" /><category term="DataContext" /><category term="Firefly" /><category term="LINQ" /><category term="IQToolkit" /><category term="miscellaneous" /><category term="charts" /><category term="VMWare" /><category term="64-bit" /><category term="SQL Server 2008" /><category term="Subversion" /><category term="StringReader" /><category term="Windsor" /><category term="Rails" /><category term="graphics" /><category term="Entertainment" /><category term="XML" /><category term="games" /><category term="improvement" /><category term="fluent interface" /><category term="blog" /><category term="links" /><category term="&quot;Connections_Refused&quot;" /><category term="Web Deployment" /><category term="WSS" /><category term="Google" /><category term="cool" /><category term="WCF" /><category term="Ruby" /><category term="Sharepoint" /><category term="pain" /><category term="ie7" /><category term="dsl" /><category term="VS2010" /><category term="NHibernate" /><category term="Php" /><category term="quality" /><category term="MySql" /><category term="testing" /><category term=".NET" /><category term="Serialization" /><category term="windows vista" /><title>The Pirates' Code</title><subtitle type="html" /><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://thepiratescode.blogspot.com/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://thepiratescode.blogspot.com/" /><link rel="next" type="application/atom+xml" href="http://www.blogger.com/feeds/2129560695527408325/posts/default?start-index=26&amp;max-results=25&amp;redirect=false&amp;v=2" /><author><name>Sea Monkey Ferdinand</name><uri>http://www.blogger.com/profile/15095815749668410403</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>59</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/ThePiratesCode" /><feedburner:info uri="thepiratescode" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><entry gd:etag="W/&quot;Ak4CRHc_fyp7ImA9WxBXFUQ.&quot;"><id>tag:blogger.com,1999:blog-2129560695527408325.post-5266944569126930085</id><published>2010-01-27T07:29:00.000-06:00</published><updated>2010-01-27T07:29:25.947-06:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-01-27T07:29:25.947-06:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="quality" /><category scheme="http://www.blogger.com/atom/ns#" term="code" /><title>Quality vs. Speed</title><content type="html">This article from Uncle Bob is a few years old, but it's message is timeless:&amp;nbsp;&lt;a href="http://www.artima.com/weblogs/viewpost.jsp?thread=51769"&gt;The Tortoise and the Hare&lt;/a&gt;. An excerpt:&lt;br /&gt;
&lt;blockquote&gt;We often blame managers for schedule pressure. We often complain that our companies set unreasonable deadlines and have unrealistic expectations. This might be true, but it's only half the problem. The other half, the most important half, is within us.&amp;nbsp;We&amp;nbsp;consider our worth as programmers to be more associated with speed than with quality. And that's a tragedy; because it leads us to create messes. It leads us down the slower path. By rushing we ruin our chance to truly go fast.&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2129560695527408325-5266944569126930085?l=thepiratescode.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://thepiratescode.blogspot.com/feeds/5266944569126930085/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2129560695527408325&amp;postID=5266944569126930085" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2129560695527408325/posts/default/5266944569126930085?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2129560695527408325/posts/default/5266944569126930085?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ThePiratesCode/~3/gVFymF-7Byc/quality-vs-speed.html" title="Quality vs. Speed" /><author><name>David</name><uri>http://www.blogger.com/profile/11162788467924657301</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="20" height="32" src="http://inwhack.blogspot.com/dsa.JPG" /></author><thr:total>0</thr:total><feedburner:origLink>http://thepiratescode.blogspot.com/2010/01/quality-vs-speed.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D08MRX45fip7ImA9WxBQFUQ.&quot;"><id>tag:blogger.com,1999:blog-2129560695527408325.post-7775156981371913123</id><published>2010-01-15T16:47:00.004-06:00</published><updated>2010-01-15T16:51:24.026-06:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-01-15T16:51:24.026-06:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="SQL Server 2008" /><category scheme="http://www.blogger.com/atom/ns#" term="&quot;Connections_Refused&quot;" /><title>SQL Server 2008 install gotcha</title><content type="html">Warning for when you install Microsoft's SQL Server 2008.&lt;br /&gt;&lt;br /&gt;If you plan to connect to the database server from a different machine using the network, you will need to enable the TCP/IP protocol.  To do that you need to run the SQL Server Configuration Manager under Microsoft SQL Server 2008 -&gt; Configuration Tools.  Then select SQL Server Network Configuration.  Right click on TCP/IP and select Enable.&lt;br /&gt;&lt;br /&gt;Hours of frustration just avoided.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2129560695527408325-7775156981371913123?l=thepiratescode.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://thepiratescode.blogspot.com/feeds/7775156981371913123/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2129560695527408325&amp;postID=7775156981371913123" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2129560695527408325/posts/default/7775156981371913123?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2129560695527408325/posts/default/7775156981371913123?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ThePiratesCode/~3/s8oXHEx5Fcg/sql-server-2008-install-gotcha.html" title="SQL Server 2008 install gotcha" /><author><name>Michael Penrow</name><uri>http://www.blogger.com/profile/07761239108516914219</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://thepiratescode.blogspot.com/2010/01/sql-server-2008-install-gotcha.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0cFSXs_fCp7ImA9WxBRGE4.&quot;"><id>tag:blogger.com,1999:blog-2129560695527408325.post-574051503349067914</id><published>2010-01-06T21:53:00.011-06:00</published><updated>2010-01-06T22:36:58.544-06:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-01-06T22:36:58.544-06:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="&quot;Connections_Refused&quot;" /><title>"Connections_Refused" error in IIS logs.</title><content type="html">We had a production issue other day for some reason IIS was not responding rest all other services are working great, we are able to login to production box, stop and start services but IIS was not responding. We checked individual component memory use, process, and recycled MSDTC, restarted IIS, didn't help any of these, so restarted the server. Later everything came back to normal.&lt;br /&gt;&lt;br /&gt;After sometime, another production box behaved similar, we quickly restarted the server, problem solved.&lt;br /&gt;&lt;br /&gt;Later one of our testing team member reported that one of testing server is not responding. Instead of restarting the server, we decided to take testing server take out from cluster and started investigating the problem.&lt;br /&gt;&lt;br /&gt;We started looking into EventLog all sources, IIS logs, System activity logs, and all our custom log entries in DB. No luck. Nothing suspecious.&lt;br /&gt;We thought take a deeper looking to IIS logs once again and we found a lead, this time, below are the details.&lt;br /&gt;&lt;br /&gt;The following errors were found in the httperr3.log on&lt;br /&gt;applicationServer1:&lt;br /&gt;&lt;br /&gt;2009-12-03 12:49:41 - - - - - - - - - 3_Connections_Refused&lt;br /&gt;-2009-12-03 12:49:46 - - - - - - - - - 1_Connections_Refused&lt;br /&gt;-2009-12-03 12:50:41 - - - - - - - - - 3_Connections_Refused&lt;br /&gt;-2009-12-03 12:50:46 - - - - - - - - - 1_Connections_Refused –&lt;br /&gt;… many similar lines follow.&lt;br /&gt;&lt;br /&gt;The httperr1.log file on ApplicationServer2 contained the following:&lt;br /&gt;2009-12-03 12:13:41 - - - - - - - - - 3_Connections_Refused&lt;br /&gt;-2009-12-03 12:13:46 - - - - - - - - - 1_Connections_Refused&lt;br /&gt;-2009-12-03 12:13:56 - - - - - - - - - 2_Connections_Refused&lt;br /&gt;-2009-12-03 12:14:46 - - - - - - - - - 4_Connections_Refused&lt;br /&gt;-2009-12-03 12:14:55 - - - - - - - - - 1_Connections_Refused –&lt;br /&gt;… many similar lines follow.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Microsoft KB 934878 at &lt;a href="http://support.microsoft.com/kb/934878"&gt;http://support.microsoft.com/kb/934878&lt;/a&gt; identifies this error log message specifically, and says: “This issue occurs if less than 20 megabytes (MB) of nonpaged pool memory is available on the server. When less than 20 megabytes (MB) of nonpaged pool memory is available, the Http.sys kernel mode driver stops accepting new connections.” Our application servers in the Test environment were affected in an identical way, with the same messages in the log files, so we were able to isolate and diagnose the problem further. It turns out the Mitsubishi DiamondLink Remote Agent seems to have a slow memory leak in the kernel’s nonpaged memory pool. During the failure in the Test environment, this process was seen to be using almost 95 Megabytes of memory (see the screenshot below). Once this process was killed, IIS began accepting connections again.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_ElhwvnjDnjM/S0Vgt2jZRiI/AAAAAAAAAA0/lBLAbVLhEoI/s1600-h/image002.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5423847667091981858" style="WIDTH: 293px; CURSOR: hand; HEIGHT: 320px" alt="" src="http://4.bp.blogspot.com/_ElhwvnjDnjM/S0Vgt2jZRiI/AAAAAAAAAA0/lBLAbVLhEoI/s320/image002.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;We have also tracked the nonpaged memory usage for the DevManRA process on a still operational server over the course of an hour. During this time, the memory consumption can be seen increasing by about 345 K:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_ElhwvnjDnjM/S0Vh2CtRn9I/AAAAAAAAABE/BVsAWFzlqSo/s1600-h/image003.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5423848907305230290" style="WIDTH: 320px; CURSOR: hand; HEIGHT: 313px" alt="" src="http://1.bp.blogspot.com/_ElhwvnjDnjM/S0Vh2CtRn9I/AAAAAAAAABE/BVsAWFzlqSo/s320/image003.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Given these conditions, we concluded that the DevManRA.exe process consumed enough nonpaged memory in production this morning to cause IIS to reject all new connections. In this case, rebooting the server would fix the problem as the DevManRA process would be recycled and would start consuming memory again from zero.&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2129560695527408325-574051503349067914?l=thepiratescode.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://thepiratescode.blogspot.com/feeds/574051503349067914/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2129560695527408325&amp;postID=574051503349067914" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2129560695527408325/posts/default/574051503349067914?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2129560695527408325/posts/default/574051503349067914?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ThePiratesCode/~3/B8Xu9HwokxI/connectionsrefused-error-on-iis-logs.html" title="&quot;Connections_Refused&quot; error in IIS logs." /><author><name>Shiva</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://bp3.blogger.com/_ElhwvnjDnjM/R8efltgkH0I/AAAAAAAAAAM/pADzrNxM2LI/S220/ShivaOnCar.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/_ElhwvnjDnjM/S0Vgt2jZRiI/AAAAAAAAAA0/lBLAbVLhEoI/s72-c/image002.jpg" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://thepiratescode.blogspot.com/2010/01/connectionsrefused-error-on-iis-logs.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEcNRnozfip7ImA9WxBRGE4.&quot;"><id>tag:blogger.com,1999:blog-2129560695527408325.post-5336455963832561676</id><published>2010-01-06T21:45:00.001-06:00</published><updated>2010-01-06T21:48:17.486-06:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-01-06T21:48:17.486-06:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Outlook" /><category scheme="http://www.blogger.com/atom/ns#" term="Calendar" /><category scheme="http://www.blogger.com/atom/ns#" term="events" /><title>Adding events to outlook calendar</title><content type="html">'Save following code to .vbs file.&lt;br /&gt;&lt;br /&gt;const ALL_DAY = 1440 '60 minutes/hour * 24 hours/day&lt;br /&gt;const WORK_DAY = 480 '60 minutes/hour * 8 hours/day&lt;br /&gt;&lt;br /&gt;AddCalendarItem "Family Day", "", ALL_DAY, #2/15/2010#&lt;br /&gt;AddCalendarItem "New Year’s Day", "", ALL_DAY, #1/1/2011#&lt;br /&gt;&lt;br /&gt;Wscript.Echo "Holidays have been imported."&lt;br /&gt;&lt;br /&gt;Sub AddCalendarItem(subject, body, duration, start)&lt;br /&gt;Const olAppointmentItem = 1&lt;br /&gt;&lt;br /&gt;Set objOutlook = CreateObject("Outlook.Application")&lt;br /&gt;Set objAppointment = objOutlook.CreateItem(olAppointmentItem)&lt;br /&gt;&lt;br /&gt;objAppointment.Start = start&lt;br /&gt;&lt;br /&gt;If 1440 = duration Then&lt;br /&gt;objAppointment.AllDayEvent = True&lt;br /&gt;Else&lt;br /&gt;objAppointment.Duration = duration&lt;br /&gt;End If&lt;br /&gt;&lt;br /&gt;objAppointment.Subject = subject&lt;br /&gt;objAppointment.Body = body&lt;br /&gt;objAppointment.BusyStatus = 3 'OOO&lt;br /&gt;&lt;br /&gt;objAppointment.Save&lt;br /&gt;End Sub&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2129560695527408325-5336455963832561676?l=thepiratescode.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://thepiratescode.blogspot.com/feeds/5336455963832561676/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2129560695527408325&amp;postID=5336455963832561676" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2129560695527408325/posts/default/5336455963832561676?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2129560695527408325/posts/default/5336455963832561676?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ThePiratesCode/~3/sn48vRyL19I/adding-events-to-outlook-calendar.html" title="Adding events to outlook calendar" /><author><name>Shiva</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://bp3.blogger.com/_ElhwvnjDnjM/R8efltgkH0I/AAAAAAAAAAM/pADzrNxM2LI/S220/ShivaOnCar.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://thepiratescode.blogspot.com/2010/01/adding-events-to-outlook-calendar.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkMMSHk8cCp7ImA9WxBTEkU.&quot;"><id>tag:blogger.com,1999:blog-2129560695527408325.post-1235097944151776192</id><published>2009-12-08T07:38:00.003-06:00</published><updated>2009-12-08T07:54:49.778-06:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-12-08T07:54:49.778-06:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Channel 9" /><category scheme="http://www.blogger.com/atom/ns#" term="VS2010" /><category scheme="http://www.blogger.com/atom/ns#" term="10-4" /><title /><content type="html">I have been following these little vidoes lately. Some cool stuff. &lt;br /&gt;&lt;a href="http://channel9.msdn.com/shows/10-4/"&gt;Vidoes on VS2010 from Channel 9&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2129560695527408325-1235097944151776192?l=thepiratescode.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://thepiratescode.blogspot.com/feeds/1235097944151776192/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2129560695527408325&amp;postID=1235097944151776192" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2129560695527408325/posts/default/1235097944151776192?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2129560695527408325/posts/default/1235097944151776192?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ThePiratesCode/~3/5fdf8ZhtTqY/i-have-been-following-these-little.html" title="" /><author><name>Shiva</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://bp3.blogger.com/_ElhwvnjDnjM/R8efltgkH0I/AAAAAAAAAAM/pADzrNxM2LI/S220/ShivaOnCar.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://thepiratescode.blogspot.com/2009/12/i-have-been-following-these-little.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0EBSHo-eip7ImA9WxBTEUk.&quot;"><id>tag:blogger.com,1999:blog-2129560695527408325.post-4413131350659658597</id><published>2009-12-06T19:32:00.003-06:00</published><updated>2009-12-06T19:34:19.452-06:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-12-06T19:34:19.452-06:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="NHibernate" /><title>NHibernate for Windows applications</title><content type="html">Check out Ayende's excellent MSDN article on using NHibernate in Windows apps...&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://msdn.microsoft.com/en-us/magazine/ee819139.aspx"&gt;http://msdn.microsoft.com/en-us/magazine/ee819139.aspx&lt;/a&gt;&lt;/div&gt;&lt;div&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/2129560695527408325-4413131350659658597?l=thepiratescode.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://thepiratescode.blogspot.com/feeds/4413131350659658597/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2129560695527408325&amp;postID=4413131350659658597" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2129560695527408325/posts/default/4413131350659658597?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2129560695527408325/posts/default/4413131350659658597?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ThePiratesCode/~3/Zms9LoBJQ0E/nhibernate-for-windows-applications.html" title="NHibernate for Windows applications" /><author><name>David</name><uri>http://www.blogger.com/profile/11162788467924657301</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="20" height="32" src="http://inwhack.blogspot.com/dsa.JPG" /></author><thr:total>0</thr:total><feedburner:origLink>http://thepiratescode.blogspot.com/2009/12/nhibernate-for-windows-applications.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkAGRn88eSp7ImA9WxNaF00.&quot;"><id>tag:blogger.com,1999:blog-2129560695527408325.post-7482574735653690651</id><published>2009-12-01T16:48:00.004-06:00</published><updated>2009-12-01T17:05:27.171-06:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-12-01T17:05:27.171-06:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="VMWare" /><category scheme="http://www.blogger.com/atom/ns#" term="virtualization" /><category scheme="http://www.blogger.com/atom/ns#" term="pain" /><title>Recovering a lost VMWare datastore</title><content type="html">In case anyone else runs into this...&lt;br /&gt;&lt;br /&gt;We have a VMWare ESX Server (version 3.5) that's has a a 2TB iSCSI datastore that hosts a handful of VMs. Well, today the VMWare server got rebooted, and afterwards all of the VMs in that datastore showed up as "inaccessible". And the event log had some messages like this:&lt;br /&gt;&lt;blockquote&gt;LVM: 4476: vml.[big long number]:1 may be snapshot: disabling access. See&lt;br /&gt;resignaturing section i ([bunch of numbers])&lt;/blockquote&gt;&lt;br /&gt;Uh....panic?&lt;br /&gt;&lt;br /&gt;Anyway, the resolution is to follow the (not obvious to me) steps in this post: &lt;a href="http://theether.net/kb/100026"&gt;http://theether.net/kb/100026&lt;/a&gt;. Thank you, thank you, thank you. The datastore has been recovered with the VMs intact.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2129560695527408325-7482574735653690651?l=thepiratescode.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://thepiratescode.blogspot.com/feeds/7482574735653690651/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2129560695527408325&amp;postID=7482574735653690651" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2129560695527408325/posts/default/7482574735653690651?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2129560695527408325/posts/default/7482574735653690651?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ThePiratesCode/~3/MEdrYyBwUys/recovering-lost-vmware-datastore.html" title="Recovering a lost VMWare datastore" /><author><name>David</name><uri>http://www.blogger.com/profile/11162788467924657301</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="20" height="32" src="http://inwhack.blogspot.com/dsa.JPG" /></author><thr:total>1</thr:total><feedburner:origLink>http://thepiratescode.blogspot.com/2009/12/recovering-lost-vmware-datastore.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0cFRHk9eSp7ImA9WxNUFUw.&quot;"><id>tag:blogger.com,1999:blog-2129560695527408325.post-6831604651337151125</id><published>2009-11-05T22:46:00.005-06:00</published><updated>2009-11-06T08:50:15.761-06:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-11-06T08:50:15.761-06:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="MySql" /><category scheme="http://www.blogger.com/atom/ns#" term="cool" /><category scheme="http://www.blogger.com/atom/ns#" term=".NET" /><category scheme="http://www.blogger.com/atom/ns#" term="code" /><category scheme="http://www.blogger.com/atom/ns#" term="c#" /><category scheme="http://www.blogger.com/atom/ns#" term="IQToolkit" /><title>Linq and MySql Coolness</title><content type="html">&lt;p&gt;&lt;br /&gt;I have been messing around with this cool framework called &lt;a href="http://www.codeplex.com/IQToolkit"&gt;IQToolkit&lt;/a&gt;.  I was able to get some simple CRUD running against MySql pretty quickly.  The code is database independent so you can change the App.Config to say SQLLite without any code changes and it just works.&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;It is short on simple samples so here is what I threw together playing around.  You can get the code &lt;a href="http://code.google.com/p/mysqllinqtest/"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2129560695527408325-6831604651337151125?l=thepiratescode.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://thepiratescode.blogspot.com/feeds/6831604651337151125/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2129560695527408325&amp;postID=6831604651337151125" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2129560695527408325/posts/default/6831604651337151125?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2129560695527408325/posts/default/6831604651337151125?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ThePiratesCode/~3/Grevf9dREaE/linq-and-mysql-coolness.html" title="Linq and MySql Coolness" /><author><name>Jeremy Newman</name><uri>http://www.blogger.com/profile/09149469384242987402</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://thepiratescode.blogspot.com/2009/11/linq-and-mysql-coolness.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CE8HRHo7eip7ImA9WxJVEUk.&quot;"><id>tag:blogger.com,1999:blog-2129560695527408325.post-6494212850777480054</id><published>2009-06-27T17:39:00.004-05:00</published><updated>2009-06-27T17:47:15.402-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-06-27T17:47:15.402-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="rules" /><category scheme="http://www.blogger.com/atom/ns#" term="fluent interface" /><category scheme="http://www.blogger.com/atom/ns#" term="validation" /><category scheme="http://www.blogger.com/atom/ns#" term="dsl" /><title>Simple .Net Rules Engine</title><content type="html">I just posted the start of a project on google code. It is posted under the New BSD Licence. If anyone is interested in contributing send me an email. The code is &lt;a href="http://code.google.com/p/simple-rules/"&gt;http://code.google.com/p/simple-rules/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Snippet...&lt;br /&gt;&lt;code&gt;&lt;br /&gt;Employee.Rules&lt;br /&gt;    .Add( "Terminate all hourly employees" )&lt;br /&gt;    .When( Employee.is_hourly )&lt;br /&gt;    .And( Employee.is_active )&lt;br /&gt;    .Then( Employee.terminate );&lt;br /&gt;&lt;/code&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2129560695527408325-6494212850777480054?l=thepiratescode.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://thepiratescode.blogspot.com/feeds/6494212850777480054/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2129560695527408325&amp;postID=6494212850777480054" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2129560695527408325/posts/default/6494212850777480054?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2129560695527408325/posts/default/6494212850777480054?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ThePiratesCode/~3/6HsVQsG1S7A/simple-net-rules-engine.html" title="Simple .Net Rules Engine" /><author><name>Jeremy Newman</name><uri>http://www.blogger.com/profile/09149469384242987402</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://thepiratescode.blogspot.com/2009/06/simple-net-rules-engine.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D04ASXo4eip7ImA9WxVUGEk.&quot;"><id>tag:blogger.com,1999:blog-2129560695527408325.post-3541850756850623261</id><published>2009-03-23T17:02:00.003-05:00</published><updated>2009-03-23T17:05:48.432-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-03-23T17:05:48.432-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="ASP.NET MVC" /><category scheme="http://www.blogger.com/atom/ns#" term="Free ASP.Net book" /><title>Free ASP.NET MVC eBook Tutorial for download.</title><content type="html">&lt;a href="http://weblogs.asp.net/scottgu/archive/2009/03/10/free-asp-net-mvc-ebook-tutorial.aspx"&gt;Download&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I just downloaded, haven't read. At glance I see unit tests too.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2129560695527408325-3541850756850623261?l=thepiratescode.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://thepiratescode.blogspot.com/feeds/3541850756850623261/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2129560695527408325&amp;postID=3541850756850623261" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2129560695527408325/posts/default/3541850756850623261?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2129560695527408325/posts/default/3541850756850623261?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ThePiratesCode/~3/YARvPwFDN5w/free-aspnet-mvc-ebook-tutorial-for.html" title="Free ASP.NET MVC eBook Tutorial for download." /><author><name>Shiva</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://bp3.blogger.com/_ElhwvnjDnjM/R8efltgkH0I/AAAAAAAAAAM/pADzrNxM2LI/S220/ShivaOnCar.jpg" /></author><thr:total>1</thr:total><feedburner:origLink>http://thepiratescode.blogspot.com/2009/03/free-aspnet-mvc-ebook-tutorial-for.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEEDRH44eCp7ImA9WxVXFUQ.&quot;"><id>tag:blogger.com,1999:blog-2129560695527408325.post-8614905659187680546</id><published>2009-02-14T01:10:00.006-06:00</published><updated>2009-02-14T01:31:15.030-06:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-02-14T01:31:15.030-06:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="LinqToSql" /><category scheme="http://www.blogger.com/atom/ns#" term="DataContext" /><category scheme="http://www.blogger.com/atom/ns#" term="Scripting" /><category scheme="http://www.blogger.com/atom/ns#" term="LINQ" /><category scheme="http://www.blogger.com/atom/ns#" term="database" /><title>LINQ To SQL Automapping</title><content type="html">I had tried to use LinqToSql before on a project and found that is was pretty cumbersome.  I do still try to learn as much as possible concerning this topic when I can given I normally use NHibernate and am pretty happy with it.  I get tired of all of this extra crap I have to do... Doesn't matter which framework I am using.&lt;br /&gt;&lt;br /&gt;  So I was messing around this evening (working on a small sql scripting utility) when I realized you can query from SqlServer using LinqToSql and Poco's and no presupplied mapping information.  You just create a data context, connect to the database, build your poco and tell the datacontext to get you some data for the given object.  It automatically takes care of the mapping for you.&lt;br /&gt;&lt;br /&gt;  I was pleasantly surprised when I realized this.  Though I have not tried to do any inserts or updates as of yet, using the data context in this way, it does work great for queries.  I am querying the information schema views from SqlServer to load database information for scripting operations and it is a breeze.&lt;br /&gt;&lt;br /&gt;  Now the hard part.  How to turn these table objects into something that I can load the actual table data into...  Reflection Emit anyone?&lt;br /&gt;&lt;br /&gt;Suggestions would be great...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2129560695527408325-8614905659187680546?l=thepiratescode.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://thepiratescode.blogspot.com/feeds/8614905659187680546/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2129560695527408325&amp;postID=8614905659187680546" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2129560695527408325/posts/default/8614905659187680546?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2129560695527408325/posts/default/8614905659187680546?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ThePiratesCode/~3/aIZybAS6FIQ/linq-to-sql-automapping.html" title="LINQ To SQL Automapping" /><author><name>Jeremy Newman</name><uri>http://www.blogger.com/profile/09149469384242987402</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>2</thr:total><feedburner:origLink>http://thepiratescode.blogspot.com/2009/02/linq-to-sql-automapping.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0ABQX08fip7ImA9WxRUEEQ.&quot;"><id>tag:blogger.com,1999:blog-2129560695527408325.post-6929467627967736380</id><published>2008-11-18T07:21:00.004-06:00</published><updated>2008-11-19T07:02:30.376-06:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-11-19T07:02:30.376-06:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="skills" /><title>Typing skills</title><content type="html">I've said in the past that my most valuable high school class was typing. It looks like &lt;a href="http://www.codinghorror.com/blog/archives/001188.html"&gt;Jeff Atwood would agree&lt;/a&gt;. And I agree with him that programmers should strive to be efficient typists.&lt;br /&gt;&lt;br /&gt;But I won't go so far as to agree that "coding is just typing", even jokingly. Too many people believe that programming is a mechanical process, and we can't reinforce that mistaken belief. Coding is &lt;span style="font-style: italic;"&gt;hard&lt;/span&gt;, typing isn't.&lt;br /&gt;&lt;br /&gt;UPDATE: Check out &lt;a href="http://www.lostechies.com/blogs/jimmy_bogard/archive/2008/11/18/programmers-are-not-typists-first.aspx"&gt;Jimmy Bogard's thoughts&lt;/a&gt; on this: "We’re thinkers first, coders second." Yes.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2129560695527408325-6929467627967736380?l=thepiratescode.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://thepiratescode.blogspot.com/feeds/6929467627967736380/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2129560695527408325&amp;postID=6929467627967736380" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2129560695527408325/posts/default/6929467627967736380?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2129560695527408325/posts/default/6929467627967736380?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ThePiratesCode/~3/tsX5OTK4Nyc/typing-skills.html" title="Typing skills" /><author><name>David</name><uri>http://www.blogger.com/profile/11162788467924657301</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="20" height="32" src="http://inwhack.blogspot.com/dsa.JPG" /></author><thr:total>1</thr:total><feedburner:origLink>http://thepiratescode.blogspot.com/2008/11/typing-skills.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUMAR30_eSp7ImA9WxRVF00.&quot;"><id>tag:blogger.com,1999:blog-2129560695527408325.post-7979557356741768663</id><published>2008-11-14T16:40:00.002-06:00</published><updated>2008-11-14T16:57:26.341-06:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-11-14T16:57:26.341-06:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="kanban" /><category scheme="http://www.blogger.com/atom/ns#" term="kaizenconf" /><title>Kanban in a Small Team</title><content type="html">A couple of us (myself included) recently had the opportunity to attend &lt;a href="http://www.kaizenconf.com/"&gt;KaizenConf&lt;/a&gt;. It was, in a word, &lt;span style="font-style: italic;"&gt;amazing&lt;/span&gt;. We brought back a whole lot of stuff from the conference, but the one thing that has had the most impact in the shortest amount of time is our adoption of &lt;a href="http://en.wikipedia.org/wiki/Kanban"&gt;Kanban&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;We had been noticing that at the start and end of our iterations, we'd be a little slow, either getting started or wrapping up and not wanting to start anything new on a Friday. Kanban completely eliminates that and does a whole lot more. The concept of pulling from the "done" side of the board instead of pushing from the backlog of work has really turned our process around. It takes a different way of thinking from what we're all used to, but everyone has adapted really quickly. Everything seems to be more smooth and natural as we switch between tasks. Maybe it's just excitement or the newness of it all, but throughput seems to have increased as well.&lt;br /&gt;&lt;br /&gt;We're still working out a few things - the limit of stories per category, how big to make the stories, things like that. It's all to be expected though. We're taking the advice of everyone at the conference and starting small with a pretty simple board and testing the waters. Everyone seems to love it though, and we all constantly have new ideas. I'd definitely recommend trying this out if everyone on your team is willing to give it a shot.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://kaizenconf.pbwiki.com/Kanban+in+Small+Teams"&gt;Here's a link&lt;/a&gt; to the KaizenConf wiki page from the open session on Kanban in Smal Teams. Be sure to check it out if you're interested in Kanban.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2129560695527408325-7979557356741768663?l=thepiratescode.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://thepiratescode.blogspot.com/feeds/7979557356741768663/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2129560695527408325&amp;postID=7979557356741768663" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2129560695527408325/posts/default/7979557356741768663?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2129560695527408325/posts/default/7979557356741768663?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ThePiratesCode/~3/g9EoTF3A19c/kanban-in-small-team.html" title="Kanban in a Small Team" /><author><name>Conrad</name><uri>http://www.blogger.com/profile/14342549929753017428</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="31" height="26" src="http://bp1.blogger.com/_TvQiCB-ZzAM/SHwWSyAUHSI/AAAAAAAAABY/SOWIZ51tleY/S220/ukulele_playing.jpg" /></author><thr:total>2</thr:total><feedburner:origLink>http://thepiratescode.blogspot.com/2008/11/kanban-in-small-team.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0MMQ306fyp7ImA9WxRVFUw.&quot;"><id>tag:blogger.com,1999:blog-2129560695527408325.post-150368226246000647</id><published>2008-11-12T13:35:00.003-06:00</published><updated>2008-11-12T13:51:22.317-06:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-11-12T13:51:22.317-06:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="WSS" /><category scheme="http://www.blogger.com/atom/ns#" term="Sharepoint" /><category scheme="http://www.blogger.com/atom/ns#" term="MOSS" /><title>SharePoint 2007, MOSS, WSS3.0</title><content type="html">Today successfully deployed our applications to test environment and working as expected without any issues.&lt;br /&gt;&lt;br /&gt;Migrated about 800K documents from HummingBird system to SharePoint2007.&lt;br /&gt;&lt;br /&gt;Developed custom Webservices in SharePoint using SharePoint API and TDD it in VisualStudio2008.&lt;br /&gt;&lt;br /&gt;Used CAML queries for searching through managed properties. Awesome fast. Used U2U &lt;br /&gt;CAML builder tool to build CAML queries (they are little complex to write).&lt;br /&gt;&lt;br /&gt;Learned SharePoint2007 Administration and configuration.&lt;br /&gt;&lt;br /&gt;and lot more.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2129560695527408325-150368226246000647?l=thepiratescode.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://thepiratescode.blogspot.com/feeds/150368226246000647/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2129560695527408325&amp;postID=150368226246000647" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2129560695527408325/posts/default/150368226246000647?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2129560695527408325/posts/default/150368226246000647?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ThePiratesCode/~3/9TpxDIJl37M/sharepoint-2007-moss-wss30.html" title="SharePoint 2007, MOSS, WSS3.0" /><author><name>Shiva</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://bp3.blogger.com/_ElhwvnjDnjM/R8efltgkH0I/AAAAAAAAAAM/pADzrNxM2LI/S220/ShivaOnCar.jpg" /></author><thr:total>2</thr:total><feedburner:origLink>http://thepiratescode.blogspot.com/2008/11/sharepoint-2007-moss-wss30.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkcDQHk7fCp7ImA9WxdQGEU.&quot;"><id>tag:blogger.com,1999:blog-2129560695527408325.post-4082399817318878275</id><published>2008-06-19T07:43:00.003-05:00</published><updated>2008-06-19T07:54:31.704-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-06-19T07:54:31.704-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="NHibernate" /><title>NHibernate mappings</title><content type="html">&lt;a href="http://codebetter.com/blogs/jeremy.miller/archive/2008/06/18/working-faster-and-fewer-mapping-errors-with-nhibernate.aspx"&gt;Jeremy Miller&lt;/a&gt; has posted about how to verify your NHibernate mappings using the slick &lt;code&gt;PersistenceSpecification&lt;/code&gt; class, and how you can replace your xml mapping files with code using &lt;code&gt;ClassMap&lt;T&gt;&lt;/code&gt;.&lt;br /&gt;&lt;br /&gt;Our group is a bunch of NHibernate noobs, so I'm sure we're not using the best methods. We test our methods with simple integration tests. For example, to test that we can load an entity from the database, we'll:&lt;ol&gt;&lt;li&gt;Create the entity.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Create a stand-alone NHibernate session.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Use that session to save the entity.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Reset the session factory.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Get an instance of the entity's repository.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Query the entity using the repository.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Run a bunch of asserts to verify the properties on the loaded entity match the properties of the original entity.&lt;/li&gt;&lt;/ol&gt;This does a fine job of catching any mapping problems, but the tests are kind of long. So I find Jeremy's method quite compelling.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2129560695527408325-4082399817318878275?l=thepiratescode.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://thepiratescode.blogspot.com/feeds/4082399817318878275/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2129560695527408325&amp;postID=4082399817318878275" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2129560695527408325/posts/default/4082399817318878275?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2129560695527408325/posts/default/4082399817318878275?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ThePiratesCode/~3/MU78a_qEtSA/nhibernate-mappings.html" title="NHibernate mappings" /><author><name>David</name><uri>http://www.blogger.com/profile/11162788467924657301</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="20" height="32" src="http://inwhack.blogspot.com/dsa.JPG" /></author><thr:total>1</thr:total><feedburner:origLink>http://thepiratescode.blogspot.com/2008/06/nhibernate-mappings.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D04DSHo_fCp7ImA9WxdQGE8.&quot;"><id>tag:blogger.com,1999:blog-2129560695527408325.post-7023783138896314734</id><published>2008-06-18T16:47:00.002-05:00</published><updated>2008-06-18T16:52:59.444-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-06-18T16:52:59.444-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="logging" /><category scheme="http://www.blogger.com/atom/ns#" term="Windsor" /><title>Windsor's Logging Facility</title><content type="html">Casey Charlton has a nice post on &lt;a href="http://devlicio.us/blogs/casey/archive/2008/06/18/logging-with-castle-windsor-the-logging-facility-and-log4net.aspx"&gt;using Windsor's Logging Facility&lt;/a&gt;. My only question, though, is why would setting the logger through a public property be superior to setting it through a constructor?&lt;br /&gt;&lt;br /&gt;Here, we just have our own static class in our framework library called Log that wraps log4net. This saves us from messing with dependency injection - all your class has to do is call &lt;code&gt;Log.Debug("whatever")&lt;/code&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2129560695527408325-7023783138896314734?l=thepiratescode.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://thepiratescode.blogspot.com/feeds/7023783138896314734/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2129560695527408325&amp;postID=7023783138896314734" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2129560695527408325/posts/default/7023783138896314734?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2129560695527408325/posts/default/7023783138896314734?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ThePiratesCode/~3/afOHUhih4P4/windsors-logging-facility.html" title="Windsor's Logging Facility" /><author><name>David</name><uri>http://www.blogger.com/profile/11162788467924657301</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="20" height="32" src="http://inwhack.blogspot.com/dsa.JPG" /></author><thr:total>2</thr:total><feedburner:origLink>http://thepiratescode.blogspot.com/2008/06/windsors-logging-facility.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0IFQ34zcSp7ImA9WxdREUs.&quot;"><id>tag:blogger.com,1999:blog-2129560695527408325.post-6060108241612732588</id><published>2008-05-30T11:28:00.004-05:00</published><updated>2008-05-30T11:38:32.089-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-05-30T11:38:32.089-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="agile" /><title>Be the grease</title><content type="html">There's a good article on InfoQ about &lt;a href="http://www.infoq.com/news/2008/05/handling-interruptions"&gt;handling interruptions&lt;/a&gt;. Perhaps one of the team members needs to be dedicated to handling these things:&lt;blockquote&gt;On similar lines Gojko Adzic, added his part of the story when he was working as an architect on a project but spent most of his time on working as a software lubricant. Being a lubricant included tasks like answering questions to new people, coordinating various threads, interfacing with clients and attending all sorts meetings. Gojko added, when he tried to be productive on the programming related tasks a lot of other team members had to act as lubricants and this was pulling the team velocity down. This is when he decided to take all the secondary work with him and let all other members on the team focus on primary tasks.&lt;/blockquote&gt;That describes what I do pretty well. I spend most of time in meetings, handling issues, documenting stuff, etc., so that the rest of the team can focus on writing code. Any time I actually get to spend writing production code is gravy. (Well, from my perspective it's gravy. The rest of the team probably thinks, "Oh, $#@%! The boss is in the code again!")&lt;br /&gt;&lt;br /&gt;We do have one person on our team besides me that handles the bulk of the support for legacy applications because he's a massive knowledge silo when it comes to them. It seems to comes in spurts. He may go weeks without dealing with any of these old apps, and then there will be a bad week where he spends more time on support than anything else. We need to fix that.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2129560695527408325-6060108241612732588?l=thepiratescode.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://thepiratescode.blogspot.com/feeds/6060108241612732588/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2129560695527408325&amp;postID=6060108241612732588" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2129560695527408325/posts/default/6060108241612732588?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2129560695527408325/posts/default/6060108241612732588?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ThePiratesCode/~3/mBvUSzn3kc8/be-grease.html" title="Be the grease" /><author><name>David</name><uri>http://www.blogger.com/profile/11162788467924657301</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="20" height="32" src="http://inwhack.blogspot.com/dsa.JPG" /></author><thr:total>0</thr:total><feedburner:origLink>http://thepiratescode.blogspot.com/2008/05/be-grease.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkYFSHcyfSp7ImA9WxdSEkQ.&quot;"><id>tag:blogger.com,1999:blog-2129560695527408325.post-1175387786186107167</id><published>2008-05-20T09:25:00.004-05:00</published><updated>2008-05-20T09:35:19.995-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-05-20T09:35:19.995-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="WCF" /><title>Serializing DateTime issue</title><content type="html">I ran into an issue today while working on a testing utility that submits transactions to a web service. That transaction contains a couple of DateTime values, and they weren't showing up at the web service with time zone information. For example, the utility was sending this:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&amp;lt;time&amp;gt;2008-05-18T14:00:00&amp;lt;/time&amp;gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;But time zone is important to the web service. It needs this:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&amp;lt;time&amp;gt;2008-05-18T14:00:00-05:00&amp;lt;/time&amp;gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;The way to fix this is to add the following underneath the &lt;code&gt;&amp;lt;configuration&amp;gt;&lt;/code&gt; section in the client's app.config file:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&amp;lt;system.xml.serialization&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;lt;dateTimeSerialization mode="Local"/&amp;gt;&lt;br /&gt;&amp;lt;/system.xml.serialization&amp;gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Interestingly, I've written similar utilities using Visual Studio 2005 and .NET Framework 2.0 and this wasn't an issue. I didn't have to include any special configuration to get the time zone offset to show up - it just did. &lt;br /&gt;&lt;br /&gt;However, I used Visual Studio 2008 and WCF today, and the time zone offset disappeared. Nice one.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2129560695527408325-1175387786186107167?l=thepiratescode.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://thepiratescode.blogspot.com/feeds/1175387786186107167/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2129560695527408325&amp;postID=1175387786186107167" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2129560695527408325/posts/default/1175387786186107167?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2129560695527408325/posts/default/1175387786186107167?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ThePiratesCode/~3/w9RuQUBrWYs/serializing-datetime-issue.html" title="Serializing DateTime issue" /><author><name>David</name><uri>http://www.blogger.com/profile/11162788467924657301</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="20" height="32" src="http://inwhack.blogspot.com/dsa.JPG" /></author><thr:total>1</thr:total><feedburner:origLink>http://thepiratescode.blogspot.com/2008/05/serializing-datetime-issue.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0EMSXw_eyp7ImA9WxdTF0U.&quot;"><id>tag:blogger.com,1999:blog-2129560695527408325.post-9146163186478257363</id><published>2008-05-14T13:22:00.003-05:00</published><updated>2008-05-14T13:28:08.243-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-05-14T13:28:08.243-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="agile" /><category scheme="http://www.blogger.com/atom/ns#" term="links" /><title>Links on May 14, 2008</title><content type="html">&lt;a href="http://devlicio.us/blogs/casey/archive/2008/05/14/the-only-certainty-is-change.aspx"&gt;Casey Charlton&lt;/a&gt; reminds us about some of the fundamentals of agile development and the Time-Quality-Functionality triangle. I would substitute "scope" for "functionality", if only because I'm a lazy typist.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://davybrion.com/blog/2008/05/easy-non-blocking-locking/"&gt;Davy Brion&lt;/a&gt; shows us how to set a time out on a lock. Like Davy, our whole team is reading &lt;a href="http://www.pragprog.com/titles/mnee/release-it"&gt;Release It!&lt;/a&gt; right now. We don't build systems nearly as large as described in the book, but we're still finding some great tips in there.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2129560695527408325-9146163186478257363?l=thepiratescode.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://thepiratescode.blogspot.com/feeds/9146163186478257363/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2129560695527408325&amp;postID=9146163186478257363" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2129560695527408325/posts/default/9146163186478257363?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2129560695527408325/posts/default/9146163186478257363?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ThePiratesCode/~3/WO_OQ6HxQK0/links-on-may-14-2008.html" title="Links on May 14, 2008" /><author><name>David</name><uri>http://www.blogger.com/profile/11162788467924657301</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="20" height="32" src="http://inwhack.blogspot.com/dsa.JPG" /></author><thr:total>0</thr:total><feedburner:origLink>http://thepiratescode.blogspot.com/2008/05/links-on-may-14-2008.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEQMQHg_fCp7ImA9WxdTE04.&quot;"><id>tag:blogger.com,1999:blog-2129560695527408325.post-3744172235749031277</id><published>2008-05-09T07:27:00.003-05:00</published><updated>2008-05-09T07:33:01.644-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-05-09T07:33:01.644-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="miscellaneous" /><category scheme="http://www.blogger.com/atom/ns#" term="improvement" /><title>It's the little things</title><content type="html">&lt;a href="http://del.icio.us/raganwald/weblog#2008-05-08"&gt;Raganwald&lt;/a&gt; links to &lt;a href="http://www.stubbleblog.com/index.php/2008/05/deliberate-practice/"&gt;this post&lt;/a&gt; by Tony Stubblebine on improvement:&lt;blockquote&gt;The idea is that how good (or expert) you become at a skill has a lot more to do with how you go about doing your work than it has to do with merely performing the skill a large number of times or over a long length of time. An expert will break down the skills that are required to be expert and focus on improving those skills either during practice (sports) or during the course of day-to-day activities (business).&lt;/blockquote&gt;RTWT.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2129560695527408325-3744172235749031277?l=thepiratescode.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://thepiratescode.blogspot.com/feeds/3744172235749031277/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2129560695527408325&amp;postID=3744172235749031277" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2129560695527408325/posts/default/3744172235749031277?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2129560695527408325/posts/default/3744172235749031277?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ThePiratesCode/~3/DNQffl0_nNY/its-little-things.html" title="It's the little things" /><author><name>David</name><uri>http://www.blogger.com/profile/11162788467924657301</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="20" height="32" src="http://inwhack.blogspot.com/dsa.JPG" /></author><thr:total>0</thr:total><feedburner:origLink>http://thepiratescode.blogspot.com/2008/05/its-little-things.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEcERHg_fip7ImA9WxZbFU8.&quot;"><id>tag:blogger.com,1999:blog-2129560695527408325.post-3194065426505239044</id><published>2008-04-18T07:24:00.002-05:00</published><updated>2008-04-18T07:33:25.646-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-04-18T07:33:25.646-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="projects" /><category scheme="http://www.blogger.com/atom/ns#" term="miscellaneous" /><title>Prioritization</title><content type="html">Tim Ottinger has three short posts about setting up a  "funnel" to prioritize the team's work.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://blog.objectmentor.com/articles/2008/04/17/building-magic-funnels-part-1"&gt;Part 1&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://blog.objectmentor.com/articles/2008/04/17/building-magic-funnels-part-2-pragmatic-pedantry"&gt;Part 2&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://blog.objectmentor.com/articles/2008/04/17/magic-funnel-part-3-coveys-miracle"&gt;Part 3&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Part 3 gets into Stephen Covey's methods of breaking down work by what is important and what is urgent. &lt;a href="http://lifeatthebar.wordpress.com/2006/07/03/urgent-or-important/"&gt;This post&lt;/a&gt; helped clarify the difference for me.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2129560695527408325-3194065426505239044?l=thepiratescode.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://thepiratescode.blogspot.com/feeds/3194065426505239044/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2129560695527408325&amp;postID=3194065426505239044" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2129560695527408325/posts/default/3194065426505239044?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2129560695527408325/posts/default/3194065426505239044?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ThePiratesCode/~3/2dhnNlaLcYw/prioritization.html" title="Prioritization" /><author><name>David</name><uri>http://www.blogger.com/profile/11162788467924657301</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="20" height="32" src="http://inwhack.blogspot.com/dsa.JPG" /></author><thr:total>0</thr:total><feedburner:origLink>http://thepiratescode.blogspot.com/2008/04/prioritization.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Ck4ER3s5fip7ImA9WxZbE0s.&quot;"><id>tag:blogger.com,1999:blog-2129560695527408325.post-5796832486004380694</id><published>2008-04-16T10:46:00.000-05:00</published><updated>2008-04-16T10:48:26.526-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-04-16T10:48:26.526-05:00</app:edited><title>Tulsa - Ruby Workshop</title><content type="html">This will take place on April 26th, from 10 AM to 4 PM in Tulsa, OK.&lt;br /&gt;Check it out.. &lt;a href="http://tulsarb.org/wiki/Tulsa_Ruby_Workshop"&gt;Tulsa Ruby Workshop&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2129560695527408325-5796832486004380694?l=thepiratescode.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://thepiratescode.blogspot.com/feeds/5796832486004380694/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2129560695527408325&amp;postID=5796832486004380694" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2129560695527408325/posts/default/5796832486004380694?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2129560695527408325/posts/default/5796832486004380694?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ThePiratesCode/~3/p5iunk7MQUc/tulsa-ruby-workshop.html" title="Tulsa - Ruby Workshop" /><author><name>Shiva</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://bp3.blogger.com/_ElhwvnjDnjM/R8efltgkH0I/AAAAAAAAAAM/pADzrNxM2LI/S220/ShivaOnCar.jpg" /></author><thr:total>1</thr:total><feedburner:origLink>http://thepiratescode.blogspot.com/2008/04/tulsa-ruby-workshop.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DU4DQ3Y-eSp7ImA9WxZVF00.&quot;"><id>tag:blogger.com,1999:blog-2129560695527408325.post-3832355069167305406</id><published>2008-03-28T07:34:00.002-05:00</published><updated>2008-03-28T07:39:32.851-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-03-28T07:39:32.851-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="NHibernate" /><category scheme="http://www.blogger.com/atom/ns#" term="links" /><title>Transactions and interceptors</title><content type="html">&lt;a href="http://www.lostechies.com/blogs/rhouston/default.aspx"&gt;Ray Houston&lt;/a&gt; has a couple of nice posts over at the &lt;a href="http://www.lostechies.com/"&gt;Los Techies&lt;/a&gt; site:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.lostechies.com/blogs/rhouston/archive/2008/03/27/a-simple-closure-to-handle-try-catch-around-transactions.aspx"&gt;A Simple Closure To Handle Try/Catch Around Transactions&lt;/a&gt; - simplify your transaction management&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.lostechies.com/blogs/rhouston/archive/2008/03/27/creating-a-timestamp-interceptor-in-nhibernate.aspx"&gt;Creating a Timestamp Interceptor in NHibernate&lt;/a&gt; - essentially, how to automatically set the CreatedAt and CreatedBy fields on entities.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2129560695527408325-3832355069167305406?l=thepiratescode.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://thepiratescode.blogspot.com/feeds/3832355069167305406/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2129560695527408325&amp;postID=3832355069167305406" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2129560695527408325/posts/default/3832355069167305406?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2129560695527408325/posts/default/3832355069167305406?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ThePiratesCode/~3/L739tSE3Osg/transactions-and-interceptors.html" title="Transactions and interceptors" /><author><name>David</name><uri>http://www.blogger.com/profile/11162788467924657301</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="20" height="32" src="http://inwhack.blogspot.com/dsa.JPG" /></author><thr:total>0</thr:total><feedburner:origLink>http://thepiratescode.blogspot.com/2008/03/transactions-and-interceptors.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkcCSXYyeyp7ImA9WxZWFUw.&quot;"><id>tag:blogger.com,1999:blog-2129560695527408325.post-6245922815203365411</id><published>2008-03-14T11:55:00.003-05:00</published><updated>2008-03-14T12:01:08.893-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-03-14T12:01:08.893-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Alt.Net" /><category scheme="http://www.blogger.com/atom/ns#" term="NHibernate" /><category scheme="http://www.blogger.com/atom/ns#" term="LINQ" /><category scheme="http://www.blogger.com/atom/ns#" term="ORM" /><title>ORM pseudo-smackdown</title><content type="html">There's an &lt;a href="http://tech.groups.yahoo.com/group/altdotnet/message/4236"&gt;interesting thread&lt;/a&gt; on the Alt.Net list about LINQ to SQL, NHibernate, and some other ORMs. It's pertinent to us since we're evaluating ORMs at the moment.&lt;br /&gt;&lt;br /&gt;In the aggregate, it looks to me like NHibernate is the favorite for sophisticated projects, perhaps LINQ to SQL is fine for simple stuff, and the Entity Framework is a big unknown.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2129560695527408325-6245922815203365411?l=thepiratescode.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://thepiratescode.blogspot.com/feeds/6245922815203365411/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2129560695527408325&amp;postID=6245922815203365411" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2129560695527408325/posts/default/6245922815203365411?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2129560695527408325/posts/default/6245922815203365411?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ThePiratesCode/~3/8hCLXYuprBA/orm-pseudo-smackdown.html" title="ORM pseudo-smackdown" /><author><name>David</name><uri>http://www.blogger.com/profile/11162788467924657301</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="20" height="32" src="http://inwhack.blogspot.com/dsa.JPG" /></author><thr:total>0</thr:total><feedburner:origLink>http://thepiratescode.blogspot.com/2008/03/orm-pseudo-smackdown.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUAGSX48fyp7ImA9WxZWFU0.&quot;"><id>tag:blogger.com,1999:blog-2129560695527408325.post-1006120382187740049</id><published>2008-03-14T10:05:00.003-05:00</published><updated>2008-03-14T10:15:28.077-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-03-14T10:15:28.077-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="HeroesHappenHere" /><category scheme="http://www.blogger.com/atom/ns#" term="VS2008 Launch" /><title>HeroesHappenHere - Microsoft</title><content type="html">Team, &lt;br /&gt;&lt;a href="http://www.microsoft.com/heroeshappenhere/register/default.mspx"&gt;HeroesHappenHere&lt;/a&gt; event scheduled on May 6 at St. Louis, MO. (Tulsa and KansasCity is already soldout. :)) They give away lot of softwares for free to all attendees. Other day my colleague attended the similar event in Calgary, he got VS2008, SQL2008 and much more full version with licence for free. First come first serve. Hurry up, don't miss it.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2129560695527408325-1006120382187740049?l=thepiratescode.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://thepiratescode.blogspot.com/feeds/1006120382187740049/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2129560695527408325&amp;postID=1006120382187740049" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2129560695527408325/posts/default/1006120382187740049?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2129560695527408325/posts/default/1006120382187740049?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ThePiratesCode/~3/2IF7Vo60z7s/heroeshappenhere-microsoft.html" title="HeroesHappenHere - Microsoft" /><author><name>Shiva</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://bp3.blogger.com/_ElhwvnjDnjM/R8efltgkH0I/AAAAAAAAAAM/pADzrNxM2LI/S220/ShivaOnCar.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://thepiratescode.blogspot.com/2008/03/heroeshappenhere-microsoft.html</feedburner:origLink></entry></feed>

