<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="http://feeds.feedburner.com/~d/styles/rss2full.xsl" type="text/xsl" media="screen"?><?xml-stylesheet href="http://feeds.feedburner.com/~d/styles/itemcontent.css" type="text/css" media="screen"?><rss 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:atom="http://www.w3.org/2005/Atom" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>ilovecode</title>
	
	<link>http://www.ilovecode.com</link>
	<description>Just some Ramblings</description>
	<pubDate>Tue, 25 Nov 2008 17:01:03 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.5</generator>
	<language>en</language>
			<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/Ilovecode" type="application/rss+xml" /><item>
		<title>And the Award goes to .Net 3.5!</title>
		<link>http://feeds.feedburner.com/~r/Ilovecode/~3/465263047/</link>
		<comments>http://www.ilovecode.com/2008/11/25/and-the-award-goes-to-net-35/#comments</comments>
		<pubDate>Tue, 25 Nov 2008 17:01:03 +0000</pubDate>
		<dc:creator>Sara</dc:creator>
		
		<category><![CDATA[Useless Info]]></category>

		<category><![CDATA[.net 3.5]]></category>

		<category><![CDATA[agile]]></category>

		<guid isPermaLink="false">http://www.ilovecode.com/?p=272</guid>
		<description><![CDATA[  A few weeks ago I made a post containing reasons to choose .NET 3.5 over 2.0 for new projects and I just heard this week that we will get to use 3.5. Yay! 
To me this was a no-brainer if only for the simple fact that we are redeveloping a coldfusion app into .NET; [...] ]]></description>
			<content:encoded><![CDATA[<p> A few weeks ago I made a post containing <a href="http://www.ilovecode.com/2008/10/26/reasons-to-choose-net-35-over-20/">reasons to choose .NET 3.5</a> over 2.0 for new projects and I just heard this week that we will get to use 3.5. Yay! </p>
<p>To me this was a no-brainer if only for the simple fact that we are redeveloping a coldfusion app into .NET; so we might as well use the latest and greatest framework out there, right? Well, not everyone thought so but this post help convince some people to let us go ahead.</p>
<p>We are still in the requirements and design phase so I haven&#8217;t gotten to play around with it much but I&#8217;m looking forward to it. I just bought 3 .NET books and one agile development book (new to agile dev) and they should be here tomorrow. It&#8217;s Christmas early! </p>
<p>Can anyone recommend any good books on 3.5, SQLServer 2008, or Agile Development?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ilovecode.com/2008/11/25/and-the-award-goes-to-net-35/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.ilovecode.com/2008/11/25/and-the-award-goes-to-net-35/</feedburner:origLink></item>
		<item>
		<title>Reasons to Choose .NET 3.5 Over 2.0</title>
		<link>http://feeds.feedburner.com/~r/Ilovecode/~3/432900416/</link>
		<comments>http://www.ilovecode.com/2008/10/26/reasons-to-choose-net-35-over-20/#comments</comments>
		<pubDate>Sun, 26 Oct 2008 20:23:27 +0000</pubDate>
		<dc:creator>Sara</dc:creator>
		
		<category><![CDATA[Useless Info]]></category>

		<category><![CDATA[.net]]></category>

		<category><![CDATA[Jobs]]></category>

		<guid isPermaLink="false">http://www.ilovecode.com/?p=271</guid>
		<description><![CDATA[  I think most of you know that since moving back to the states, I&#8217;ve primarily been developing with ASP.NET 2.0 and only use PHP outside of work. I wish we could use .NET 3.5, but I work on Department of State projects and 3.5 hasn&#8217;t been approved for use yet so I&#8217;m stuck with [...] ]]></description>
			<content:encoded><![CDATA[<p> I think most of you know that since moving back to the states, I&#8217;ve primarily been developing with ASP.NET 2.0 and only use PHP outside of work. I wish we could use .NET 3.5, but I work on Department of State projects and 3.5 hasn&#8217;t been approved for use yet so I&#8217;m stuck with 2.0 for now. In a couple of weeks though, I will be switching jobs and working on projects for the USDA (Dept. of Agriculture). </p>
<p>My team will be redeveloping an existing application that uses a combination of Coldfusion and Cobol and we will get to use .NET. We had a conference call on Thursday with the new team (they are in Kansas). They use Visual Studio 2008 TFS, but thought they were going to go with 2.0 instead of 3.5. I asked if there was anyway we could go with 3.5 instead since we will be starting from the ground-up and they said the decision was almost made to go with 2.0, but we could put a list of reasons to choose 3.5 together and they would present  it to the decision making folks. </p>
<p>So, that night I rolled up my sleeves and got to researching and writing. I read a lot of .net blogs so I knew the basics of what made 3.5 so great, but really wanted to provide some good examples. I think I compiled a halfway decent list and a few blogs in particular really helped explain the benefits such as Mark&#8217;s <a href="http://www.search-this.com/2008/06/16/3-c-30-shortcuts/">C# Shortcuts</a> and Scott Guthrie&#8217;s <a href="http://weblogs.asp.net/scottgu/archive/2007/11/19/visual-studio-2008-and-net-3-5-released.aspx">Summary on Visual Studio 2008 and .NET 3.5</a>.</p>
<p>I do not know if this argument was persuasive yet and may not know for another couple of weeks. I am posting this so in case someone else needs to convince their boss or client to choose 3.5, this might prove helpful. If you know of any other reasons as well, I would love to hear them. This is written from the viewpoint of someone who doesn&#8217;t have any experience with the 3.5 framework. Thanks to my friends (Ben, Nancy, Doug, and Jenn) for helping review this and adding their own thoughts to it! </p>
<div id="paper">
<h1>Introduction</h1>
<p>Microsoft .Net 3.5 was released almost a year ago (November 19, 2007) and has been out long enough for any kinks in the system to have been worked out. While the 3.5 Framework was built on top of 2.0, it has some great features which make it easier to develop applications as well as facilitating a better end-user experience. Some of the enhancements to the 3.5 framework are: </p>
<ul>
<li>Support for LINQ </li>
<li>New Data Controls</li>
<li>Cleaner Coding via Language Improvements</li>
<li>Built-in ASP.NET AJAX support</li>
</ul>
<h1>LINQ</h1>
<p>One of the enhancements we are most excited about is LINQ, which stands for Language Integrated Query. LINQ allows developers to build a query dynamically not only on databases, but also on objects and XML. We prefer to use stored procedures in our development and LINQ can also be used with the procedures.</p>
<h2>LINQ to SQL</h2>
<p>LINQ to SQL is an Object Relational Mapping implementation which allows developers to easily model a relational database and execute queries (to include inserts and updates). LINQ makes it very easy to query the database. Below is an example which shows how easily you can pull data from the database:</p>
<table>
<tr>
<th>Easy way to Query Data using LINQ</th>
</tr>
<tr>
<td><em>//Create data context for LINQ</em></td>
</tr>
<tr class="alt">
<td>DataContext db = new DataContext(connectionString);</td>
</tr>
<tr>
<td>Table<Customers> customers = db.GetTable<Customers>();</td>
</tr>
<tr class="alt">
<td><em>//Query database</em></td>
</tr>
<tr>
<td>var custs = from c in customers select c;</td>
</tr>
</table>
<h2>LINQ to Dataset</h2>
<p>In ASP.NET 2.0, neither the <span class="code">DataTable</span> nor the <span class="code">DataSet</span> implement <span class="code">IEnumerable<T></span> or <span class="code">IQueryable<T></span>, but LINQ to DataSet treats <span class="code">DataTables</span> as enumerations of <span class="code">DataRow</span> Objects and lets developers query <span class="code">DataSets</span> and <span class="code">DataTables</span>. </p>
<h1>New Data Controls</h1>
<p>In ASP.NET 2.0, the <span class="code">GridView</span>,  <span class="code">DataView</span>, and <span class="code">FormView</span> all have paging built in out of the box, but it has its limitations such as having the paging interface appear detached from the actual control itself. The <span class="code"><strong>DataPager</strong></span> control offered in 3.5, addresses these limitations by allowing the paging functionality to be independent of the control and appear anywhere on the web page.</p>
<p>The <span class="code"><strong>ListView</strong></span> is a new control which combines the best functionality of the <span class="code">DataGrid</span> (editing features) and the <span class="code">Repeater</span> (templating, control over markup) controls.</p>
<h1>Cleaner Coding and Language Improvements</h1>
<h2>Improved HTML Markup</h2>
<p>ASP.NET has never had a good reputation for generating clean HTML. While ASP.NET 2.0 provided more control over the HTML markup generated than 1.1, some of the controls still produced the same garbage, but with the new data controls in ASP.NET 3.5, the developer has more control over the HTML that is rendered which is a great thing for the end-users.</p>
<h2>Automatic Properties</h2>
<p>This improvement is best explained visually. Below is a nice “before and after” example but basically this would be an immense time saver especially when dealing in migration issues when many “supporting” methods and properties need to be re- created to facilitate platform migration. </p>
<p>In 2.0, the developer needed to declare a private property and then set Getters and Setters to access that property as in the example below:</p>
<table>
<tr>
<th> Properties in the .NET 2.0 Framework</th>
</tr>
<tr class="alt">
<td>public string</td>
</tr>
<tr >
<td>{</td>
</tr>
<tr class="alt">
<td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;get { return _address; }</td>
</tr>
<tr>
<td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;set { _address = value; }</td>
</tr>
<tr class="alt">
<td>}</td>
</tr>
</table>
<p>In 3.5, the C# compiler creates the Getters and Setters and the private field automatically. This is just an obvious time saver and makes code much cleaner for review and maintenance.</p>
<table>
<tr>
<th>Automatic Properties in the .NET 3.5 Framework</th>
</tr>
<tr>
<td>public string Address {get; set;}</td>
</tr>
</table>
<h2>Object Initializers</h2>
<p>In 2.0, when developers instantiate an object with a default constructor, they need to call the constructor, and assign values individually to the object’s properties:</p>
<table>
<tr>
<th>Instantiating a class in the .NET 2.0 Framework</th>
</tr>
<tr>
<td>Employee emp = new Employee();</td>
</tr>
<tr class="alt">
<td>emp.FirstName = “Sara”;</td>
</tr>
<tr>
<td>emp.LastName = “Smith”;</td>
</tr>
<tr class="alt">
<td>emp.EmployeeID = “SI-12345”;</td>
</tr>
</table>
<p>In 3.5, the C# compiler automatically generates the appropriate property setter code(s):</p>
<table>
<tr>
<th>Object Initializers in the .NET 3.5 Framework</th>
</tr>
<tr>
<td>Employee emp = new Employee { FirstName=”Sara”, LastName=”Smith”};</td>
</tr>
</table>
<h2>Collection Initializers</h2>
<p>When developers need to add a series of objects to a Collection in 2.0, it is necessary to add each object one by one to the collection. In 3.5 however, the C# compiler supports collection initializers which allows us to add as many objects as we want during the initialization process rather than adding them individually:</p>
<table>
<tr>
<th>Collection Initializers in the .NET 3.5 Framework</th>
</tr>
<tr>
<td>List<Employee> employees = new List<Employee> {</td>
</tr>
<tr class="alt">
<td>&nbsp;&nbsp;new Employee { FirstName=”Sara”, LastName=”Smith”},</td>
</tr>
<tr>
<td>&nbsp;&nbsp;new Employee { FirstName=”Ben”, LastName=”Jones”}</td>
</tr>
<tr class="alt">
<td>};</td>
</tr>
</table>
<h2>Type Inference</h2>
<p>This is something developers are used to seeing in JavaScript, but in 3.5, the C# compiler can infer what type of variable is being created simply by looking at the value being assigned.  This type of intuitive functionality becomes a great “on the fly” feature</p>
<table>
<tr>
<th>Type Inference in the .NET 3.5 Framework</th>
</tr>
<tr>
<td>var message = “Choose .NET 3.5!”;</td>
</tr>
</table>
<h1>Built-In ASP.Net AJAX</h1>
<p>AJAX provides end-users with a rich, interactive, user-experience. .NET 2.0 required a separate download to work with ASP.NET AJAX, but 3.5 has this functionality built-in along with extra improvements. Visual Studio 2008 is optimized to work with the 3.5 framework. </p>
<h1>Conclusion</h1>
<p>As developers, the .Net 3.5 Framework provides us with a more concise and efficient way to work with objects and collections as well as working with data. With new controls like the <span class="code">ListView</span> and <span class="code">DataPager</span>, we have complete control over the markup sent to the browser, while still providing data paging and data manipulation capabilities. Using .Net 3.5 instead of 2.0 will allow us to build better applications, and build them quickly thus making the foundation for future releases and maintenance much more accommodating.  .NET 3.5 has been thoroughly tested and is recommended for any new projects.</p>
<p>For projects still in their infancy and their future is not set in stone, taking the pro-active leap to incorporate a technology whose future is virtually guaranteed is the type of forward thinking decision which can only benefit all parties concerned. Since much of the product support is provided by the development community, as developers continue to move to 3.5, support for 2.0 will dwindle. We recommend using it over 2.0 because in the long run an application written in 3.5 will require less rewrites and make for a better final product for the user. </p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.ilovecode.com/2008/10/26/reasons-to-choose-net-35-over-20/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.ilovecode.com/2008/10/26/reasons-to-choose-net-35-over-20/</feedburner:origLink></item>
		<item>
		<title>$2.19 Domains</title>
		<link>http://feeds.feedburner.com/~r/Ilovecode/~3/429559528/</link>
		<comments>http://www.ilovecode.com/2008/10/23/219-domains/#comments</comments>
		<pubDate>Thu, 23 Oct 2008 11:23:07 +0000</pubDate>
		<dc:creator>Sara</dc:creator>
		
		<category><![CDATA[Useless Info]]></category>

		<category><![CDATA[domains]]></category>

		<guid isPermaLink="false">http://www.ilovecode.com/?p=270</guid>
		<description><![CDATA[  GoDaddy is having a sale on new domains right now. They are offering 1-Year Domain Name Registration for $1.99 with code 199TEST. 20-cent ICANN fee applies, making it $2.19 per domain.
If you have any domains you have been wanting to buy, now is the time to do it. It doesn&#8217;t look like this works [...] ]]></description>
			<content:encoded><![CDATA[<p> <a href="http://www.godaddy.com/default.aspx">GoDaddy</a> is having a sale on new domains right now. They are offering 1-Year Domain Name Registration for $1.99 with code 199TEST. 20-cent ICANN fee applies, making it $2.19 per domain.</p>
<p>If you have any domains you have been wanting to buy, now is the time to do it. It doesn&#8217;t look like this works on renewals.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ilovecode.com/2008/10/23/219-domains/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.ilovecode.com/2008/10/23/219-domains/</feedburner:origLink></item>
		<item>
		<title>Job Hunting Sucks</title>
		<link>http://feeds.feedburner.com/~r/Ilovecode/~3/422044498/</link>
		<comments>http://www.ilovecode.com/2008/10/15/job-hunting-sucks/#comments</comments>
		<pubDate>Wed, 15 Oct 2008 22:36:45 +0000</pubDate>
		<dc:creator>Sara</dc:creator>
		
		<category><![CDATA[Useless Info]]></category>

		<category><![CDATA[Jobs]]></category>

		<guid isPermaLink="false">http://www.ilovecode.com/?p=269</guid>
		<description><![CDATA[  I may or may not be looking for a new job soon. Let me explain. 
I work for a government contractor and our contracts with the government last for a certain amount of time and then we either have to rebid or they can get extended. The contract I work on looks like it [...] ]]></description>
			<content:encoded><![CDATA[<p> I may or may not be looking for a new job soon. Let me explain. </p>
<p>I work for a government contractor and our contracts with the government last for a certain amount of time and then we either have to rebid or they can get extended. The contract I work on looks like it won&#8217;t get renewed and will get recompeted by small businesses (my company is not considered a small business). The contract expires in December but it looks like we may have a 120 day extension, but nothing in writing yet which makes me uncomfortable. </p>
<p>This is the way it is with gvmt. contractors so it is really no big shock it just kind of sucks. I love the work I do and I really love the people I work with. Now, I have only been with the job for 9 months now, so the expectation is that I would see the job until the end and then the company would put me on another contract. Some of the people who have been there longer would be pulled off first and put onto other contracts. One of my concerns is if other people are pulled off, will the people who are left on the contract (like myself) have the support we need to be successful in our job. </p>
<p>The other major concern is I may not like the job that I am being moved to. When I accepted this job, I had two other offers on the table but I chose this because of the type of work and my first impressions of the people. When I am looking for a job, I am as much interviewing them as they are interviewing me. By just being placed in another position, it takes the choice away from me which I don&#8217;t like.</p>
<p>So in the meantime, I am updating my resume and starting to bookmark jobs. I won&#8217;t know more for a couple of weeks which is driving me crazy. I can handle any situation as long as I know what it is. It&#8217;s the unknowing that really sucks.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ilovecode.com/2008/10/15/job-hunting-sucks/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.ilovecode.com/2008/10/15/job-hunting-sucks/</feedburner:origLink></item>
		<item>
		<title>I Am Such a Sucker for Threadless.com</title>
		<link>http://feeds.feedburner.com/~r/Ilovecode/~3/380407284/</link>
		<comments>http://www.ilovecode.com/2008/09/01/i-am-such-a-sucker-for-threadlesscom/#comments</comments>
		<pubDate>Mon, 01 Sep 2008 11:18:39 +0000</pubDate>
		<dc:creator>Sara</dc:creator>
		
		<category><![CDATA[Useless Info]]></category>

		<category><![CDATA[threadless]]></category>

		<guid isPermaLink="false">http://www.ilovecode.com/?p=268</guid>
		<description><![CDATA[  I had stopped going to threadless.com because I am definitely weak to their genius business model. Every couple of weeks or so, they release new designs for a limited release which definitely creates demand. I know if I see a shirt I like, I need to buy it soon or it can be gone. [...] ]]></description>
			<content:encoded><![CDATA[<p> I had stopped going to <a href="http://threadless.com/?from=ses5909">threadless.com</a> because I am definitely weak to their genius business model. Every couple of weeks or so, they release new designs for a limited release which definitely creates demand. I know if I see a shirt I like, I need to buy it soon or it can be gone. </p>
<p>Today is the last day of their $12 sale and I ended up buying 9 shirts! Here are some I bought:</p>
<p><center><a href="http://www.threadless.com/product/580/Sticks_of_Shame?from=ses5909"><img src="http://media.threadless.com/product/580/minizoom.jpg" alt="Sticks of Shame" /></a> <a href="http://www.threadless.com/product/1394/Russian_Newborn?from=ses5909"><img src="http://media.threadless.com/product/1394/minizoom.jpg" alt="Russian Newborn" /></a></p>
<p><a href="http://www.threadless.com/product/696/Interpretive_Dance?from=ses5909"><img src="http://media.threadless.com/product/696/minizoom.jpg" alt="Interpretive Dance" /></a> <a href="http://www.threadless.com/product/755/Being_Vague_is_Almost_as?from=ses5909"><img src="http://media.threadless.com/product/755/minizoom.jpg" alt="Being Vague is Almost as..." /></a></p>
<p><a href="http://www.threadless.com/product/573/Stop_destroying_our_planet_It_s_where_I_keep?from=ses5909"><img src="http://media.threadless.com/product/573/minizoom.jpg" alt="Stop Destroying Our Planet" /></a> <a href="http://www.threadless.com/product/1319/Cake_Is_Awesome?from=ses5909"><img src="http://media.threadless.com/product/1319/minizoom.jpg" alt="Cake is Awesome" /></a></p>
<p><a href="http://www.threadless.com/product/799/To_Err_is_Human?from=ses5909"><img src="http://media.threadless.com/product/799/minizoom.jpg" alt="To Err is Human" /></a><br />
</center></p>
<p>What are some that you have bought?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ilovecode.com/2008/09/01/i-am-such-a-sucker-for-threadlesscom/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.ilovecode.com/2008/09/01/i-am-such-a-sucker-for-threadlesscom/</feedburner:origLink></item>
	</channel>
</rss>
