<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://devlicio.us/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Brendan Tompkins : ASP.NET</title><link>http://devlicio.us/blogs/brendantompkins/archive/tags/ASP.NET/default.aspx</link><description>Tags: ASP.NET</description><dc:language>en</dc:language><generator>CommunityServer 2008.5 SP1 (Build: 31106.3070)</generator><item><title>Using Embedded Resources for HTML Email Templates</title><link>http://devlicio.us/blogs/brendantompkins/archive/2007/10/24/using-embedded-resources-for-html-email-templates.aspx</link><pubDate>Wed, 24 Oct 2007 15:23:00 GMT</pubDate><guid isPermaLink="false">40756a8b-6212-4073-9d98-6c26781577de:38712</guid><dc:creator>Brendan Tompkins</dc:creator><slash:comments>11</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://devlicio.us/blogs/brendantompkins/rsscomments.aspx?PostID=38712</wfw:commentRss><comments>http://devlicio.us/blogs/brendantompkins/archive/2007/10/24/using-embedded-resources-for-html-email-templates.aspx#comments</comments><description>
&lt;p&gt;Most web applications need to send out email for a variety of purposes, right?&amp;nbsp;&amp;nbsp; I like to use email as a sort of extended user interface - allowing entry points to let the user conveniently do work by getting an email and clicking on a link.&amp;nbsp; I&amp;#39;ve struggled for a while with a good way of managing email templates to use in my applications.&amp;nbsp; I recently found a good project that simplifies the process of templating - See &lt;a href="http://www.codeproject.com/script/Articles/list_articles.asp?userid=2247710"&gt;Alexander Kleshchevnikov&amp;#39;s&lt;/a&gt; excellent solution for&lt;span id="intelliTXT"&gt; &lt;a href="http://www.codeproject.com/useritems/mailtemplates.asp"&gt;managing and sending emails inside a web application&lt;/a&gt;.&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;I like his template approach, but I don&amp;#39;t like to keep my template files in a directory with my web project, mainly because it tightly couples these files and a certain directory structure to the classes that actually do the email work.&amp;nbsp; This makes my classes harder to test, re-use and deploy.&amp;nbsp; I recently figured out how to embed these templates into my class&amp;#39; assembly files, making the class much more useful.&amp;nbsp; &lt;/p&gt;

&lt;p&gt;To embed a resource, just drop it in your project, and select &amp;quot;Embedded Resource&amp;quot;&amp;nbsp;&lt;/p&gt;

&lt;p&gt;&lt;img src="http://devlicio.us/photos/brendan/images/38713/original.aspx" height="387" width="500" alt="" /&gt;&lt;br /&gt;&lt;/p&gt;

&lt;p&gt;Using Alexander&amp;#39;s solution for templating, and an embedded resource html file for a template, the code to use this resource looks like this:&lt;br /&gt;&lt;/p&gt;

&lt;pre name="code" class="c-sharp"&gt;        public static void SendRegisterNotification(User user)
        {
            Hashtable templateVars = new Hashtable();
            templateVars.Add(&amp;quot;FirstName&amp;quot;, user.FirstName);
            templateVars.Add(&amp;quot;LastName&amp;quot;, user.LastName);
            templateVars.Add(&amp;quot;Login&amp;quot;, user.UserId);
            templateVars.Add(&amp;quot;Password&amp;quot;, user.Password);

            Parser parser = new Parser(templateVars);
            Assembly asm = Assembly.GetExecutingAssembly();
            Stream stream = asm.GetManifestResourceStream(asm.GetName().Name +
                &amp;quot;.Registration.htm&amp;quot;);

            using (StreamReader reader = new StreamReader(stream))
            {
                parser.TemplateBlock  = reader.ReadToEnd();
            }

            // Send email
            System.Net.Mail.MailMessage message = 
                  new System.Net.Mail.MailMessage();
            message.To.Add(user.Email);
            message.From = new MailAddress(&amp;quot;brendan.tompkins@gmail.com&amp;quot;);
            message.Subject = &amp;quot;Your StreetTurns.Com Account Information&amp;quot;;
            message.Body = parser.Parse();
            message.IsBodyHtml = true;
            SmtpClient sc = new SmtpClient(&amp;quot;StreetTurns.Com&amp;quot;);
            sc.Send(message);
        }
&lt;/pre&gt;

&lt;p&gt;&lt;b&gt;Yes, but what about Modifying your Templates?&lt;/b&gt;
&lt;/p&gt;

&lt;p&gt;&lt;b&gt;&lt;/b&gt;As &lt;a href="http://codebetter.com/blogs/jeremy.miller/default.aspx"&gt;Jeremy Miller&lt;/a&gt; has pointed out, you shouldn&amp;#39;t be afraid to compile and release your code.&amp;nbsp; If you are, you need some serious work on your build process.&amp;nbsp; To me, the benefit of having one class that I can drop anywhere without worrying about permissions, file paths, and all that far outweighs the need to re-build the DLL when I make a text change.&lt;/p&gt;

&lt;p&gt;I&amp;#39;m pretty happy about the way this all works.&amp;nbsp; For more on embedded resources, ther&amp;#39;s some information &lt;a href="http://aspalliance.com/726"&gt;here&lt;/a&gt; and &lt;a href="http://aspnet.4guysfromrolla.com/articles/080906-1.aspx"&gt;here&lt;/a&gt; about how you can access your resources via a URL in a web app.&lt;br /&gt;&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://devlicio.us/aggbug.aspx?PostID=38712" width="1" height="1"&gt;</description><category domain="http://devlicio.us/blogs/brendantompkins/archive/tags/ASP.NET/default.aspx">ASP.NET</category><category domain="http://devlicio.us/blogs/brendantompkins/archive/tags/Resources/default.aspx">Resources</category><category domain="http://devlicio.us/blogs/brendantompkins/archive/tags/Featured/default.aspx">Featured</category></item><item><title>Formatting Code with dp.SyntaxHighlighter</title><link>http://devlicio.us/blogs/brendantompkins/archive/2006/11/08/formatting-code-with-dp-syntaxhighlighter.aspx</link><pubDate>Wed, 08 Nov 2006 21:15:00 GMT</pubDate><guid isPermaLink="false">40756a8b-6212-4073-9d98-6c26781577de:496</guid><dc:creator>Brendan Tompkins</dc:creator><slash:comments>22</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://devlicio.us/blogs/brendantompkins/rsscomments.aspx?PostID=496</wfw:commentRss><comments>http://devlicio.us/blogs/brendantompkins/archive/2006/11/08/formatting-code-with-dp-syntaxhighlighter.aspx#comments</comments><description>&lt;p&gt;I've run across a cool syntax highlighter for use on web sites called &lt;a href="http://www.dreamprojections.com/syntaxhighlighter/"&gt;dp.SyntaxHighlighter&lt;/a&gt;. It highlights (and more) the following languages:&lt;br&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;a href="http://www.dreamprojections.com/syntaxhighlighter/Tests/CSharp.html"&gt;C#&lt;/a&gt;&lt;/li&gt;

&lt;li&gt;&lt;a href="http://www.dreamprojections.com/syntaxhighlighter/Tests/CSS.html"&gt;CSS&lt;/a&gt;&lt;/li&gt;

&lt;li&gt;&lt;a href="http://www.dreamprojections.com/syntaxhighlighter/Tests/Cpp.html"&gt;C++&lt;/a&gt;&lt;/li&gt;

&lt;li&gt;&lt;a href="http://www.dreamprojections.com/syntaxhighlighter/Tests/Delphi.html"&gt;Delphi&lt;/a&gt;&lt;/li&gt;

&lt;li&gt;&lt;a href="http://www.dreamprojections.com/syntaxhighlighter/Tests/Java.html"&gt;Java&lt;/a&gt;&lt;/li&gt;

&lt;li&gt;&lt;a href="http://www.dreamprojections.com/syntaxhighlighter/Tests/JavaScript.html"&gt;JavaScript&lt;/a&gt;&lt;/li&gt;

&lt;li&gt;&lt;a href="http://www.dreamprojections.com/syntaxhighlighter/Tests/PHP.html"&gt;PHP&lt;/a&gt;&lt;/li&gt;

&lt;li&gt;&lt;a href="http://www.dreamprojections.com/syntaxhighlighter/Tests/Python.html"&gt;Python&lt;/a&gt;&lt;/li&gt;

&lt;li&gt;&lt;a href="http://www.dreamprojections.com/syntaxhighlighter/Tests/Ruby.html"&gt;Ruby&lt;/a&gt;&lt;/li&gt;

&lt;li&gt;&lt;a href="http://www.dreamprojections.com/syntaxhighlighter/Tests/SQL.html"&gt;SQL&lt;/a&gt;&lt;/li&gt;

&lt;li&gt;&lt;a href="http://www.dreamprojections.com/syntaxhighlighter/Tests/VB.html"&gt;Visual Basic&lt;/a&gt;&lt;/li&gt;

&lt;li&gt;&lt;a href="http://www.dreamprojections.com/syntaxhighlighter/Tests/XML.html"&gt;XML / HTML&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Not only that, but it does a fantastic job of rendering too.. check out this little snippet of C# code.&lt;/p&gt;&lt;p&gt;

&lt;textarea name="code" class="c#:nogutter" cols="50" rows="10"&gt;  
		/// &amp;lt;summary&amp;gt;
		/// Gets a polygon from a string
		/// &amp;lt;/summary&amp;gt;
		/// &amp;lt;param name="strPoly"&amp;gt;(0,253),(370,115),(417,122),(456,92),(563,101),(303,477),(0,479)&amp;lt;/param&amp;gt;
		/// &amp;lt;returns&amp;gt;&amp;lt;/returns&amp;gt;
		public PointF[] GetPolygon(string strPoly)
		{
				strPoly = strPoly.TrimStart(new char [] {'('});
				strPoly = strPoly.TrimEnd(new char [] {')'});
				strPoly = strPoly.Replace("),(", ":");
				string [] strPointCoords = strPoly.Split(new char[] {':'});
			
				PointF[] points = (strPointCoords.Length &amp;gt; 0) ? new PointF[strPointCoords.Length] : null;
				for(int i = 0; i&amp;lt; strPointCoords.Length; i++)
				{
					string [] pair = strPointCoords[i].Split(new char [] {','});
					points[i] = new PointF(Convert.ToInt16(pair[0]), Convert.ToInt16(pair[1]));
				}
				return points;
		}
&lt;/textarea&gt;

&lt;/p&gt;&lt;p&gt;You have to install some javascript(s) and styles along with your blog engine, but once that's done, all you have to do to get the output you see here is wrap your code in some &amp;lt;textarea&amp;gt; tags.&lt;/p&gt;&lt;p&gt;&amp;nbsp;-Brendan&lt;br&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://devlicio.us/aggbug.aspx?PostID=496" width="1" height="1"&gt;</description><category domain="http://devlicio.us/blogs/brendantompkins/archive/tags/ASP.NET/default.aspx">ASP.NET</category></item><item><title>Building a Better Jobs Site...</title><link>http://devlicio.us/blogs/brendantompkins/archive/2006/10/10/Building-a-Better-Jobs-Site_2E00__2E00__2E00_.aspx</link><pubDate>Tue, 10 Oct 2006 13:53:00 GMT</pubDate><guid isPermaLink="false">40756a8b-6212-4073-9d98-6c26781577de:286</guid><dc:creator>Brendan Tompkins</dc:creator><slash:comments>11</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://devlicio.us/blogs/brendantompkins/rsscomments.aspx?PostID=286</wfw:commentRss><comments>http://devlicio.us/blogs/brendantompkins/archive/2006/10/10/Building-a-Better-Jobs-Site_2E00__2E00__2E00_.aspx#comments</comments><description>&lt;p&gt;I&amp;#39;m thrilled to announce &lt;a href="http://jobs.codebetter.com"&gt;Jobs.CodeBetter.Com&lt;/a&gt;; a new job board and job ad syndication service created by  &lt;a href="http://www.codebetter.com/blogs/eric.wise"&gt;Eric Wise&lt;/a&gt; and myself over at &lt;a href="http://codebetter.com"&gt;CodeBetter&lt;/a&gt;.&amp;nbsp;
&amp;quot;Oh no, not another job site!&amp;quot; you&amp;#39;re thinking.&amp;nbsp; Yes, we were
influenced by other new jobs posting sites, but we think we can do
better for a variety of reasons.&lt;br /&gt;&lt;br /&gt;We&amp;#39;re focused - We&amp;#39;re syndicating to only highly focused blog sites, like &lt;a href="http://devlicio.us//" target="_blank"&gt;here&lt;/a&gt;, &lt;a href="http://codebetter.com/" target="_blank"&gt;codebetter.com&lt;/a&gt;, &lt;a href="http://hanselman.com/" target="_blank"&gt;hanselman.com&lt;/a&gt;, &lt;a href="http://winsmarts.com/" target="_blank"&gt;winsmarts.com&lt;/a&gt;
- this allows companies who post jobs access to the &amp;quot;cream of the
crop&amp;quot; of developers. &amp;nbsp; If you&amp;#39;re reading these sites, you&amp;#39;re no mort. :)&lt;br /&gt;&lt;br /&gt;We&amp;#39;ve
setup a revenue model for affiliates that works. &amp;nbsp; We give our
affiliates a premium for each job posted via a link from their sites,
even if they bookmark us and come back to post a job later. &amp;nbsp;In fact,
we&amp;#39;ll pay our affiliates for every job posted by that person into the
future. &amp;nbsp;It can be a great way for bloggers to monetize content. This
is what makes it all work.&amp;nbsp; Eric says it best &lt;a href="http://codebetter.com/blogs/eric.wise/archive/2006/10/10/Codebetter-does-job-searches-better_2100_.aspx"&gt;on his announcement post&lt;/a&gt;:&lt;/p&gt;&lt;blockquote&gt;...we acknowledge that we owe the blogosphere in general a lot for the success of &lt;a href="http://codebetter.com/" target="_blank"&gt;&lt;font color="#0000cc"&gt;Codebetter.com&lt;/font&gt;&lt;/a&gt;.&amp;nbsp;
As such, we want to ensure that all of our friends and contacts in the
blogosphere can make money right along with us.&amp;nbsp; Thus we have launched
an affiliate program, if you have a technical blog/site, all you have
to do is register as an affiliate and then put some javascript on your
site.&amp;nbsp; This javascript randomly displays active jobs from our feed ala
Google Adwords.&amp;nbsp; You will be create a referral code during to put into
the script, and if employers find us and post jobs because of you, you
will receive $105 for every ad they post, for life.&amp;nbsp; In this way, not
only do we help fund our brothers and sisters in the blogosphere, but
we also add value to employers as unlike other job sites where your job
exists only in one place, when you post with us your job can be shown
on potentially dozens of other sites.&lt;br /&gt;&lt;/blockquote&gt;&lt;p&gt;&lt;strong&gt;It&amp;#39;s good blog fodder too&lt;/strong&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Eric
and I jammed on this project.&amp;nbsp; I&amp;#39;m not one to toot my own horn, but we
did this in a very short timeframe... We used some really good IMO
tools... &lt;a href="http://devlicio.us/ControlPanel/Blogs/www.sourcegear.com"&gt;SourceGear&amp;#39;s Vault&lt;/a&gt;
allowed us to work remotely together easily. We used many of the new
ASP.NET 2.0 and SQL 2005 features... there&amp;#39;s a lot of cool stuff in
there that we hope to blog about in the future.&amp;nbsp; One post I&amp;#39;m going to do very soon
is an explanation on how we created our JavaScript syndication ads.&amp;nbsp; Ever
wonder how sites like Google and Blogads create the ads you see on
affiliate sites?&amp;nbsp; I&amp;#39;m going to show you how we did it... so stay tuned.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;So, thanks for reading this, and please help us out by spreading the word!&lt;/p&gt;&lt;p&gt; Brendan&lt;br /&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://devlicio.us/aggbug.aspx?PostID=286" width="1" height="1"&gt;</description><category domain="http://devlicio.us/blogs/brendantompkins/archive/tags/ASP.NET/default.aspx">ASP.NET</category><category domain="http://devlicio.us/blogs/brendantompkins/archive/tags/sql2005/default.aspx">sql2005</category></item><item><title>Speed Up VS 2005 Web Development - Kick your App_Code Habit</title><link>http://devlicio.us/blogs/brendantompkins/archive/2006/09/22/Speed-Up-VS-2005-Web-Development-_2D00_-Kick-your-App_5F00_Code-Habit.aspx</link><pubDate>Fri, 22 Sep 2006 20:28:00 GMT</pubDate><guid isPermaLink="false">40756a8b-6212-4073-9d98-6c26781577de:81</guid><dc:creator>Brendan Tompkins</dc:creator><slash:comments>31</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://devlicio.us/blogs/brendantompkins/rsscomments.aspx?PostID=81</wfw:commentRss><comments>http://devlicio.us/blogs/brendantompkins/archive/2006/09/22/Speed-Up-VS-2005-Web-Development-_2D00_-Kick-your-App_5F00_Code-Habit.aspx#comments</comments><description>&lt;p&gt;Scott Guthrie talks about &lt;a href="http://weblogs.asp.net/scottgu/archive/2006/09/22/Tip_2F00_Trick_3A00_-Optimizing-ASP.NET-2.0-Web-Project-Build-Performance-with-VS-2005.aspx"&gt;how to speed up build times for Visual Studio 2005&lt;/a&gt;.. It&amp;#39;s a great read, and definitely something to know inside and out if you&amp;#39;re doing ASP.NET development with VS 2005. You&amp;#39;ve got to hand it to a person in his position doing down and dirty blog posts to help us little guys out, from what I hear and from recent personal experience, he&amp;#39;s very accessible.&lt;br /&gt;&lt;br /&gt;In his post about build performance, he actually has a good nugget of wisdom about overall performance of the IDE as well. He mentions this:&lt;br /&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;&lt;font face="arial" size="2"&gt;Keep the number of files in your /app_code
directory small.&amp;nbsp; If you end up having a lot of class files&amp;nbsp;within this
directory, I&amp;#39;d recommend you instead add a separate class library
project to your VS solution and move these classes within that instead
since&amp;nbsp;class library projects compile faster than compiling classes
using the /app_code directory.&amp;nbsp; &lt;/font&gt;&lt;br /&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;This will speed build time, &lt;em&gt;but will also speed up your design time experience as well.&lt;/em&gt;&amp;nbsp; Why you ask?&amp;nbsp; &lt;br /&gt; &lt;/p&gt;&lt;p&gt;I recently spent some time on the phone with &lt;a href="http://blogs.msdn.com/bradleyb/"&gt;Bradley Bartz&lt;/a&gt; from MS, who explained this very slowly and patiently to me. I hope he&amp;#39;ll let me know if this isn&amp;#39;t right, but from my understanding, &lt;em&gt;Every time you make a change to a file in the App_Code directory, this invalidates the Visual Studio&amp;#39;s internal cache of classes in this folder&lt;/em&gt;. The very next time you try to open a designer for an ASPX page or ASCX control, VS has to re-compile this folder to get the metadata it needs for the design-time rendering of the control. This can cause the IDE to slow to a crawl.&amp;nbsp; One the classes are cached, things speed up significantly in the IDE.&lt;br /&gt; &lt;/p&gt;&lt;p&gt;This was a big eye opener for me.&amp;nbsp; I&amp;#39;d been using the App_Code folder as an easy way to get a globally accessible class in my web projects. If it was stuff that only was related to the current web site, I felt this was a good choice for where to put the code.&amp;nbsp; The problem was, I was banging up against this slowness all the time. I&amp;#39;d get some class designed, tab over to a page or control to do some databinding and find myself waiting in frustration, my development rhythm shot. Little did I know that I was waiting on a compilation of the entire App_Code folder.&amp;nbsp; &lt;br /&gt;&lt;/p&gt;&lt;p&gt;So, I&amp;#39;m going to seriously wean myself off of this folder, in favor of a separate dll project for these situations where I need a class to be visible across controls or pages.&lt;br /&gt;&lt;br /&gt;-Brendan&lt;br /&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://devlicio.us/aggbug.aspx?PostID=81" width="1" height="1"&gt;</description><category domain="http://devlicio.us/blogs/brendantompkins/archive/tags/ASP.NET/default.aspx">ASP.NET</category><category domain="http://devlicio.us/blogs/brendantompkins/archive/tags/Visual+Studio/default.aspx">Visual Studio</category></item><item><title>Why are ASP.NET Developers Jumping Ship?</title><link>http://devlicio.us/blogs/brendantompkins/archive/2006/09/15/Why-are-ASP.NET-Developers-Jumping-Ship_3F00_.aspx</link><pubDate>Fri, 15 Sep 2006 13:25:00 GMT</pubDate><guid isPermaLink="false">40756a8b-6212-4073-9d98-6c26781577de:12</guid><dc:creator>Brendan Tompkins</dc:creator><slash:comments>43</slash:comments><description>&lt;p&gt;James Avery talks about &lt;a target="_blank" title="Site: .Avery Blog" href="http://dotavery.com/blog/archive/2006/09/11/20376.aspx" class="bl_itemtitle"&gt;Pete Wright leaving Microsoft&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;I have a ton of respect for Pete and look forward to reading about
his new experiences. I know more and more .NET developers who are
playing around with RoR in their spare time, I wonder how many will
convert over the next couple years?&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;I too wonder how many ASP.NET developers will jump ship to RoR.&amp;nbsp; My interest has definitely been peaked, ever since &lt;a href="http://codebetter.com/blogs/brendan.tompkins/archive/2006/01/18/136721.aspx"&gt;I first saw that great Rails demo&lt;/a&gt;. &lt;/p&gt;
&lt;p&gt;Other than wondering how many will defect, I also wonder &lt;em&gt;why&lt;/em&gt; ASP.NET developers are jumping ship.. Could it be that...&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;VS.NET is no fun to use&lt;/strong&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Our &lt;a href="http://codebetter.com/blogs/brendan.tompkins/archive/2006/03/10/140542.aspx"&gt;IDE is currently in a fairly broken state&lt;/a&gt; (if you use VS 2005 for web development, you know what I&amp;#39;m talking about). I&amp;#39;ve taken to watching lots of &lt;a href="http://videos.google.com"&gt;Google Videos&lt;/a&gt; while I wait for builds, gets, controls to load, etc.&amp;nbsp; It&amp;#39;s impossible to get a good web development rhythm going with the IDE currently.&amp;nbsp; Frankly, I think that this has been a major factor.&amp;nbsp; It&amp;#39;s not something that&amp;#39;s easy to put your finger on, but after months and months of mild frustration with development, playing with RoR is a lot more fun than playing with a new future MS technology. Perhaps SP1 will fix this?&amp;nbsp; &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Everything else currently released by MS is less than thrilling&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;I&amp;#39;m talking about ASP.NET 2.0 and C# 2.0 here. With ASP.NET we&amp;#39;ve been handed &lt;a href="http://weblogs.asp.net/scottgu/archive/2005/08/21/423201.aspx"&gt;a new project model&lt;/a&gt; with debatable &lt;a href="http://http//odetocode.com/Blogs/scott/archive/2005/12/04/2573.aspx"&gt;benefit&lt;/a&gt;.&amp;nbsp; At least for me and my team, it&amp;#39;s caused more problems than it&amp;#39;s solved. Also, there&amp;#39;s not much new to implement in our day to day coding.&amp;nbsp; Yes, we&amp;#39;ve been given some new controls, but these mostly solve problems that if you&amp;#39;ve been doing ASP.NET development for a while, you&amp;#39;ve already solved (membership, master pages, etc). So at best, a seasoned ASP.NET Developer is faced with the task of ripping out working code and replacing it. Whoohooo. Fun.&lt;/p&gt;
&lt;p&gt;The only thing I can say that&amp;#39;s been given to me by MS in the last two years that I really use, saves coding time, and gives me warm fuzzies about MS are C# generics.&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;I know there&amp;#39;s good stuff coming&lt;br /&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Now, I know there&amp;#39;s good stuff on the horizon.&amp;nbsp; ATLAS, WPF, WCF to name a few.&amp;nbsp; Some very smart people over at &lt;a href="http://www.codebetter.com"&gt;CodeBetter&lt;/a&gt; seem to be very excited about these new things.&amp;nbsp; I for one can wait.&amp;nbsp; But this current state of things is giving me enough time to poke around with things like &lt;a target="_blank" href="http://www.rubyonrails.org"&gt;RoR&lt;/a&gt;.&amp;nbsp; If RoR can be compelling and fun enough, it&amp;#39;s going to grab some converts.&amp;nbsp; MS better hurry up and throw us some bones.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;-Brendan&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://devlicio.us/aggbug.aspx?PostID=12" width="1" height="1"&gt;</description><category domain="http://devlicio.us/blogs/brendantompkins/archive/tags/ASP.NET/default.aspx">ASP.NET</category><category domain="http://devlicio.us/blogs/brendantompkins/archive/tags/RoR/default.aspx">RoR</category><category domain="http://devlicio.us/blogs/brendantompkins/archive/tags/VS/default.aspx">VS</category></item></channel></rss>