<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss version="2.0">
<channel>
    <title>DevMavens Feed</title>
    <link>http://DevMavens.com/</link>
    <description>DevMavens</description>
    <language>en-us</language>
    <docs>http://DevMavens.com/Rss</docs>
 
    <atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/Devmavens" type="application/rss+xml" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><item>
      <title>Static vs. Dynamic languages: What I really want</title>
      <author>Jeffrey Palermo</author>
      <link>http://feeds.jeffreypalermo.com/~r/jeffreypalermo/~3/GKNchHZmcpw/</link>
      <description>&lt;h2&gt;“I want static behavior between assemblies/libraries/packages but dynamic abilities within.” – JeffreyPalermo.com&lt;/h2&gt;  &lt;p&gt;With C# 4.0, code within method can be dynamic because of the new dynamic keyword.&amp;#160; This is a short post expressing what I want out of C#.&lt;/p&gt;  &lt;p&gt;I recently listened to a great debate about the advantages and shortcomings of both dynamic and static languages, and the biggest pain of 100% dynamic languages is that when using a library, you really don’t know what is supports except if the documentation is liberal and flawless.&amp;#160; There are no interface types to describe what properties and methods will be called once you pass the object in.&amp;#160; If the documentation doesn’t cover every API, you are forced to write characterization tests.&lt;/p&gt;  &lt;p&gt;The other big challenge is that when working with a dynamic language, you have to keep more of the system in your head in order to program.&amp;#160; You have to remember which object is overriding which method, and what objects have new functionality attached to them.&lt;/p&gt;  &lt;p&gt;Both of these points are only an issue between package boundaries.&amp;#160; Within a package, everything is fine because you own all that code.&amp;#160; All the conventions are yours.&amp;#160; This dovetails with the main strength of a static language:&amp;#160; All the APIs are self-describing.&amp;#160; Every method declares types on the arguments.&amp;#160; Objects explicitly implement interfaces.&lt;/p&gt;  &lt;p&gt;The problem with static languages is that this rigor is extended within the package as well forcing the programmer to write every method body using the same compiler strictness of typing.&lt;/p&gt;  &lt;p&gt;If we can have a dynamic keyword in C# so that code within a method body is dynamic, then some of this might already be achieved.&amp;#160; We’ll have to see.&amp;#160; Public interfaces that are at package boundaries need to be self-describing, from my point of view.&amp;#160; After that, writing dynamic code within controlled boundaries can make things go smoother.&amp;#160; &lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.jeffreypalermo.com/~ff/jeffreypalermo?a=GKNchHZmcpw:iOSp-YZ67nU:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jeffreypalermo?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.jeffreypalermo.com/~ff/jeffreypalermo?a=GKNchHZmcpw:iOSp-YZ67nU:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jeffreypalermo?i=GKNchHZmcpw:iOSp-YZ67nU:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/jeffreypalermo/~4/GKNchHZmcpw" height="1" width="1"/&gt; &lt;hr /&gt;Read more: &lt;a href="http://feeds.jeffreypalermo.com/~r/jeffreypalermo/~3/GKNchHZmcpw/"&gt;Static vs. Dynamic languages: What I really want&lt;/a&gt; | &lt;a href="http://feeds.jeffreypalermo.com/jeffreypalermo"&gt;Subscribe&lt;/a&gt;</description>
      <pubDate>Wed, 11 Nov 2009 21:21:00 GMT</pubDate>
      <guid>http://feeds.jeffreypalermo.com/~r/jeffreypalermo/~3/GKNchHZmcpw/</guid>
    </item>
 
    <item>
      <title>ASP.NET MVC wins with simplicity, not features</title>
      <author>Jeffrey Palermo</author>
      <link>http://feeds.jeffreypalermo.com/~r/jeffreypalermo/~3/xFrz-o8GZUE/</link>
      <description>&lt;p&gt;Hot on the heals of &lt;a href="http://www.hanselman.com/blog/DevConnectionsTheASPNETMVCFramework.aspx"&gt;DevConnections appearing to downplay ASP.NET MVC&lt;/a&gt; and folks like &lt;a href="http://jeffreypalermo.com/blog/dino-asp-net-mvc-is-much-better-than-ms-seems-to-think/"&gt;Dino Esposito taking notice&lt;/a&gt;, I want to provide my commentary on why the grassroots of the .Net developer community is so in love with ASP.NET MVC, even though Microsoft marketing isn’t really seeming to push it.&amp;#160; It’s odd, too, because with Entity Framework, the message from Microsoft is clear:&amp;#160; DataSets and Linq2Sql will still be supported. . . but . . . er. . .um, we recommend you start moving to Entity Framework.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Car vs. Motorcycle? Irrelevant analogy, I say&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Because of the way the &lt;a href="http://www.asp.net/learn/mvc-videos/video-8144.aspx"&gt;http://asp.net/mvc&lt;/a&gt; and &lt;a href="http://www.hanselman.com/blog/DevConnectionsTheASPNETMVCFramework.aspx"&gt;other folks&lt;/a&gt; present a car vs. motorcycle analogy, the message is loud and clear:&amp;#160; 9 of of 10 of you should be using Web Forms/car.&amp;#160; The remaining 1 psycho with a death wish can ride the motorcycle/MVC.&amp;#160; The problem is that reality is the following:&amp;#160; Web Forms is the 1985 Lincoln TownCar (or even modern cars) where every single function is a physical electric toggle switch, plush comfortable seats and a sunroof.&amp;#160; ASP.NET MVC is a 1950s Chevy.&amp;#160; Every Chevy owner could understand how that car worked because of its simplicity.&amp;#160; With the decked-out Lincoln, you needed to call in expert help if your electronic left mirror adjustment switch stopped working.&lt;/p&gt;  &lt;p&gt;Whether Microsoft says it or not, &lt;strong&gt;ASP.NET MVC is a much superior IHttpHandler than Web Forms&lt;/strong&gt;.&amp;#160; I say it in this way because both use the ASP.NET runtime, which has proven very solid over the years.&amp;#160; Because they are both linked to this core interface, they play nicely together.&amp;#160; (In fact, stay tuned for an article about how to utilize &lt;a href="http://mvccontrib.org"&gt;MvcContrib&lt;/a&gt;’s &lt;a href="http://www.lostechies.com/blogs/hex/archive/2009/11/01/asp-net-mvc-portable-areas-via-mvccontrib.aspx"&gt;Portable Areas&lt;/a&gt; feature by dropping in a DLL into a Web Forms app to instantly give that site a new section of urls and pages.)&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Why is ASP.NET MVC superior?&lt;/strong&gt;&amp;#160; How can I say this when Web Forms has so many more controls, so many more &lt;strong&gt;features&lt;/strong&gt;?&amp;#160; I say this because it is a framework, not a product.&amp;#160; I build products.&amp;#160; I use frameworks to build products.&amp;#160; I want my platform vendor to provide me with a simple and powerful framework so that I can build killer products for my clients.&amp;#160; Crowding the framework with &lt;strong&gt;features &lt;/strong&gt;actually hurts my ability to achieve my goal.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Web Forms will always have more features than ASP.NET MVC.&lt;/strong&gt;&amp;#160;&amp;#160; ASP.NET MVC will never provide as many features as Web Forms.&amp;#160; Chart control?&amp;#160; Nope.&amp;#160; How about the most basic grid?&amp;#160; I certainly hope not.&amp;#160; In fact, as one of the early and strongest community champions of ASP.NET MVC, I hope a grid never ships with it.&amp;#160; ASP.NET MVC has such grassroots excitement in the developer community because of the raw simplicity of it.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Simplicity will cause ASP.NET MVC to de facto replace Web Forms.&lt;/strong&gt;&amp;#160; I’ve said before that Web Forms will continue to power interesting web sites for decades to come.&amp;#160; I am glad for that.&amp;#160; It is a great framework, and I have delivered business critical applications with it.&amp;#160; ASP.NET MVC is the way into the future for ASP.NET, though.&amp;#160; After having a framework with tons of features and many strong control vendors who provide almost any functionality you can think of in a control, we (as in the average joe developer) long for a simpler way.&amp;#160; ASP.NET MVC latches onto some of the strength of Rails and PHP.&amp;#160; It is very easy to understand what is going on.&amp;#160; Very simple.&amp;#160; It doesn’t take an expert to decipher the flow of logic in the pages.&amp;#160; This is simpler to the exercise equipment craze of the 1990s giving way to the rise in popularity of simple running and bicycling that we have seen in the U.S this decade.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Conclusion&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Microsoft is not jumping up and down saying:&amp;#160; &lt;strong&gt;“You should be using ASP.NET MVC for all your new web applications!”&lt;/strong&gt;&amp;#160; It’s just the folks who have given the framework a chance who are saying it.&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.jeffreypalermo.com/~ff/jeffreypalermo?a=xFrz-o8GZUE:bDySOD5JCA8:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jeffreypalermo?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.jeffreypalermo.com/~ff/jeffreypalermo?a=xFrz-o8GZUE:bDySOD5JCA8:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jeffreypalermo?i=xFrz-o8GZUE:bDySOD5JCA8:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/jeffreypalermo/~4/xFrz-o8GZUE" height="1" width="1"/&gt; &lt;hr /&gt;Read more: &lt;a href="http://feeds.jeffreypalermo.com/~r/jeffreypalermo/~3/xFrz-o8GZUE/"&gt;ASP.NET MVC wins with simplicity, not features&lt;/a&gt; | &lt;a href="http://feeds.jeffreypalermo.com/jeffreypalermo"&gt;Subscribe&lt;/a&gt;</description>
      <pubDate>Wed, 11 Nov 2009 21:09:06 GMT</pubDate>
      <guid>http://feeds.jeffreypalermo.com/~r/jeffreypalermo/~3/xFrz-o8GZUE/</guid>
    </item>
 
    <item>
      <title>Dino: ASP.NET MVC is MUCH better than MS seems to think</title>
      <author>Jeffrey Palermo</author>
      <link>http://feeds.jeffreypalermo.com/~r/jeffreypalermo/~3/yFkHFWsi2ug/</link>
      <description>&lt;p&gt;&lt;a href="http://weblogs.asp.net/despos/archive/2009/11/11/asp-net-mvc-is-much-better-than-ms-seems-to-think.aspx"&gt;Dino Esposito&lt;/a&gt;, from whom many of us have read and learned a great deal over the years, has &lt;a href="http://weblogs.asp.net/despos/archive/2009/11/11/asp-net-mvc-is-much-better-than-ms-seems-to-think.aspx"&gt;recently expressed&lt;/a&gt; his love for ASP.NET MVC.&amp;#160; Moreover, he has also notice that the message from Microsoft is very tentative about the framework.&amp;#160; Because of the large market share of Web Forms, Microsoft seems hesitant to push ASP.NET MVC as THE NEW VERSION OF ASP.NET for fear that existing customers will worry about being left behind.&lt;/p&gt;  &lt;p&gt;I have &lt;a href="http://jeffreypalermo.com/blog/asp.net-mvc-rc-released/"&gt;previously predicted&lt;/a&gt; that with Visual Studio 2010, the majority of new ASP.NET projects would use the MVC flavor over the Web Forms flavor.&amp;#160; I stand by that because the IHttpHandler that is MVC is simpler to use and maintain than the System.Web.UI.Page (which is just an IHttpHandler).&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.jeffreypalermo.com/~ff/jeffreypalermo?a=yFkHFWsi2ug:oKAJ2yz9e5g:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jeffreypalermo?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.jeffreypalermo.com/~ff/jeffreypalermo?a=yFkHFWsi2ug:oKAJ2yz9e5g:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jeffreypalermo?i=yFkHFWsi2ug:oKAJ2yz9e5g:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/jeffreypalermo/~4/yFkHFWsi2ug" height="1" width="1"/&gt; &lt;hr /&gt;Read more: &lt;a href="http://feeds.jeffreypalermo.com/~r/jeffreypalermo/~3/yFkHFWsi2ug/"&gt;Dino: ASP.NET MVC is MUCH better than MS seems to think&lt;/a&gt; | &lt;a href="http://feeds.jeffreypalermo.com/jeffreypalermo"&gt;Subscribe&lt;/a&gt;</description>
      <pubDate>Wed, 11 Nov 2009 20:24:58 GMT</pubDate>
      <guid>http://feeds.jeffreypalermo.com/~r/jeffreypalermo/~3/yFkHFWsi2ug/</guid>
    </item>
 
    <item>
      <title>Chasing the SQL Injection that never was</title>
      <author>Oren Eini</author>
      <link>http://feedproxy.google.com/~r/AyendeRahien/~3/zJfR2_G2Hmo/chasing-the-sql-injection-that-never-was.aspx</link>
      <description>&lt;p&gt;So, I am sitting there quietly trying to get EF Prof to work in a way that I actually &lt;em&gt;like&lt;/em&gt;, when all of a sudden I realize that I am missing something very important, I can’t see the generated queries parameters in the profiler. &lt;/p&gt;  &lt;p&gt;Looking closely, I started investigating what appear to be a possible SQL injection issue with EF. My issue was that this query:&lt;/p&gt;  &lt;blockquote&gt;   &lt;div id="codeSnippetWrapper"&gt;     &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;entities.Posts.Where(x=&amp;gt;x.Title == “hello”)&lt;/pre&gt;

    &lt;br /&gt;&lt;/div&gt;
&lt;/blockquote&gt;

&lt;p&gt;Generated the following SQL:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;div id="codeSnippetWrapper"&gt;
    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;&lt;span style="color: #0000ff"&gt;SELECT&lt;/span&gt;&lt;br /&gt;1 &lt;span style="color: #0000ff"&gt;AS&lt;/span&gt; [C1],&lt;br /&gt;[Extent1].[Id] &lt;span style="color: #0000ff"&gt;AS&lt;/span&gt; [Id],&lt;br /&gt;[Extent1].[Title] &lt;span style="color: #0000ff"&gt;AS&lt;/span&gt; [Title],&lt;br /&gt;[Extent1].[Text] &lt;span style="color: #0000ff"&gt;AS&lt;/span&gt; [Text],&lt;br /&gt;[Extent1].[PostedAt] &lt;span style="color: #0000ff"&gt;AS&lt;/span&gt; [PostedAt],&lt;br /&gt;[Extent1].[BlogId] &lt;span style="color: #0000ff"&gt;AS&lt;/span&gt; [BlogId],&lt;br /&gt;[Extent1].[UserId] &lt;span style="color: #0000ff"&gt;AS&lt;/span&gt; [UserId]&lt;br /&gt;&lt;span style="color: #0000ff"&gt;FROM&lt;/span&gt; [dbo].[Posts] &lt;span style="color: #0000ff"&gt;AS&lt;/span&gt; [Extent1]&lt;br /&gt;&lt;span style="color: #0000ff"&gt;WHERE&lt;/span&gt; N&lt;span style="color: #006080"&gt;'hello'&lt;/span&gt; = [Extent1].[Title]&lt;/pre&gt;

    &lt;br /&gt;&lt;/div&gt;
&lt;/blockquote&gt;

&lt;p&gt;It literally drove me crazy. Eventually I tried &lt;em&gt;this&lt;/em&gt; query:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;div id="codeSnippetWrapper"&gt;
    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;var hello = &lt;span style="color: #006080"&gt;"hello"&lt;/span&gt;;&lt;br /&gt;entities.Posts.Where(x=&amp;gt;x.Title==hello);&lt;br /&gt;&lt;/pre&gt;

    &lt;br /&gt;&lt;/div&gt;
&lt;/blockquote&gt;

&lt;p&gt;Which generated:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;div id="codeSnippetWrapper"&gt;
    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;&lt;span style="color: #0000ff"&gt;SELECT&lt;/span&gt;&lt;br /&gt;1 &lt;span style="color: #0000ff"&gt;AS&lt;/span&gt; [C1],&lt;br /&gt;[Extent1].[Id] &lt;span style="color: #0000ff"&gt;AS&lt;/span&gt; [Id],&lt;br /&gt;[Extent1].[Title] &lt;span style="color: #0000ff"&gt;AS&lt;/span&gt; [Title],&lt;br /&gt;[Extent1].[Text] &lt;span style="color: #0000ff"&gt;AS&lt;/span&gt; [Text],&lt;br /&gt;[Extent1].[PostedAt] &lt;span style="color: #0000ff"&gt;AS&lt;/span&gt; [PostedAt],&lt;br /&gt;[Extent1].[BlogId] &lt;span style="color: #0000ff"&gt;AS&lt;/span&gt; [BlogId],&lt;br /&gt;[Extent1].[UserId] &lt;span style="color: #0000ff"&gt;AS&lt;/span&gt; [UserId]&lt;br /&gt;&lt;span style="color: #0000ff"&gt;FROM&lt;/span&gt; [dbo].[Posts] &lt;span style="color: #0000ff"&gt;AS&lt;/span&gt; [Extent1]&lt;br /&gt;&lt;span style="color: #0000ff"&gt;WHERE&lt;/span&gt; [Extent1].[Title] = @p__linq__1&lt;/pre&gt;

    &lt;br /&gt;&lt;/div&gt;
&lt;/blockquote&gt;

&lt;p /&gt;

&lt;p /&gt;

&lt;p&gt;This was more like it. &lt;/p&gt;

&lt;p&gt;It seems (and &lt;a href="http://thedatafarm.com"&gt;Julie Lerman&lt;/a&gt; confirmed it) that EF is sticking constant expressions directly into the SQL, and treating parameters differently. &lt;/p&gt;

&lt;p&gt;I am not quite sure &lt;em&gt;why&lt;/em&gt;, but from security standpoint, it is obviously not a problem if it does so for constants. It have a lot less hair now, though.&lt;/p&gt;&lt;img src="http://ayende.com/Blog/aggbug/11203.aspx" width="1" height="1" /&gt;&lt;p&gt;&lt;a target="_blank" href="http://theloungenet.com/feeds/redirect/DOTNETRSS/AYENDE/E90753EE8F3A9F830625CC10F0D94B09AA7C1E2F"&gt;&lt;img src="http://theloungenet.com/feeds/img/DOTNETRSS/AYENDE/E90753EE8F3A9F830625CC10F0D94B09AA7C1E2F"&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/AyendeRahien/~4/zJfR2_G2Hmo" height="1" width="1"/&gt; &lt;hr /&gt;Read more: &lt;a href="http://feedproxy.google.com/~r/AyendeRahien/~3/zJfR2_G2Hmo/chasing-the-sql-injection-that-never-was.aspx"&gt;Chasing the SQL Injection that never was&lt;/a&gt; | &lt;a href="http://feeds.feedburner.com/AyendeRahien"&gt;Subscribe&lt;/a&gt;</description>
      <pubDate>Wed, 11 Nov 2009 15:00:00 GMT</pubDate>
      <guid>http://feedproxy.google.com/~r/AyendeRahien/~3/zJfR2_G2Hmo/chasing-the-sql-injection-that-never-was.aspx</guid>
    </item>
 
    <item>
      <title>Configuring the PasswordRecovery To Send Email to an SSL-Enabled SMTP Client</title>
      <author>Scott Mitchell</author>
      <link>http://feedproxy.google.com/~r/ScottOnWriting/~3/oG6G7VrDX84/14030.aspx</link>
      <description>&lt;p&gt;ASP.NET's PasswordRecovery provides a mechanism for users to recover their forgotten passwords. Depending on how user passwords are saved, the PasswordRecovery control will either email a user their password or it will reset the user's password to a new, auto-generated one and email them this new password. In either case, the PasswordRecovery control sends an email message. To accommodate this, your web application should have the SMTP settings defined in &lt;font face="Courier New"&gt;Web.config&lt;/font&gt;'s &lt;font face="Courier New"&gt;&lt;system.net&gt;&lt;/system.net&gt;&lt;/font&gt;section as described in this article: &lt;em&gt;&lt;a href="http://www.4guysfromrolla.com/articles/072606-1.aspx"&gt;Sending Email in ASP.NET&lt;/a&gt;&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;Certain SMTP servers (such as GMail's) only accept connections over SSL. Unfortunately, you cannot specify whether to send emails via SSL from the &lt;font face="Courier New"&gt;&lt;system.net&gt;&lt;/system.net&gt;&lt;/font&gt;section; rather, you have to do it when you instantiate the &lt;a href="http://msdn.microsoft.com/en-us/library/system.net.mail.smtpclient.aspx"&gt;&lt;font face="Courier New"&gt;SmtpClient&lt;/font&gt; object&lt;/a&gt;, via its &lt;a href="http://msdn.microsoft.com/en-us/library/system.net.mail.smtpclient.enablessl.aspx"&gt;&lt;font face="Courier New"&gt;EnableSsl&lt;/font&gt; property&lt;/a&gt;. This is problematic if you need to have the PasswordRecovery control send the user her password via an SMTP server that requires SSL. The workaround is to create an event handler for the PasswordRecovery control's &lt;a href="http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.passwordrecovery.sendingmail.aspx"&gt;&lt;font face="Courier New"&gt;SendingMail&lt;/font&gt; event&lt;/a&gt;, where you create your own &lt;font face="Courier New"&gt;SmtpClient&lt;/font&gt; object, set its &lt;font face="Courier New"&gt;EnableSsl&lt;/font&gt; property, and use it to send the &lt;font face="Courier New"&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/system.net.mail.mailmessage.aspx"&gt;MailMessage&lt;/a&gt;&lt;/font&gt; object the PasswordRecovery control is getting ready to send.&lt;/p&gt;&lt;pre class="brush: vb"&gt;Protected Sub prResetPwd_SendingMail(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.MailMessageEventArgs) Handles prResetPwd.SendingMail
    Dim smtp As New SmtpClient
    smtp.EnableSsl = True

    Try
        smtp.Send(e.Message)
    Catch ex As Exception
        'Decide how to handle SMTP errors
    End Try

    'Instruct the control to cancel sending the email itself, since we just sent it
    e.Cancel = True
End Sub&lt;/pre&gt;
&lt;p&gt;Two things to note:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;The &lt;font face="Courier New"&gt;MailMessage&lt;/font&gt; object that the PasswordRecovery control is about to send is available via &lt;font face="Courier New"&gt;e.Message&lt;/font&gt;, and 
&lt;/li&gt;&lt;li&gt;It is important to set &lt;font face="Courier New"&gt;e.Cancel&lt;/font&gt; to True. This tells the PasswordRecovery control to &lt;em&gt;not&lt;/em&gt; send the email, which is what we want because we have already sent it with the &lt;font face="Courier New"&gt;SmtpClient&lt;/font&gt; object created in this event handler.&lt;/li&gt;&lt;/ol&gt;
&lt;p&gt;This concept can be extended to other ASP.NET Web controls that can automatically send emails (such as the CreateUserWizard control).&lt;/p&gt;
&lt;p&gt;Happy Programming!&lt;/p&gt; &lt;hr /&gt;Read more: &lt;a href="http://feedproxy.google.com/~r/ScottOnWriting/~3/oG6G7VrDX84/14030.aspx"&gt;Configuring the PasswordRecovery To Send Email to an SSL-Enabled SMTP Client&lt;/a&gt; | &lt;a href="http://feeds.feedburner.com/ScottOnWriting"&gt;Subscribe&lt;/a&gt;</description>
      <pubDate>Tue, 10 Nov 2009 17:54:00 GMT</pubDate>
      <guid>http://feedproxy.google.com/~r/ScottOnWriting/~3/oG6G7VrDX84/14030.aspx</guid>
    </item>
 
    <item>
      <title>Select N+1 is also applicable for user interface</title>
      <author>Oren Eini</author>
      <link>http://feedproxy.google.com/~r/AyendeRahien/~3/128CQToyDpc/select-n1-is-also-applicable-for-user-interface.aspx</link>
      <description>&lt;p&gt;I just opened Messenger for the first time in maybe a year, here is what it end up looking like (and this is the truncated list):&lt;/p&gt;  &lt;p&gt;&lt;a href="http://ayende.com/Blog/images/ayende_com/Blog/WindowsLiveWriter/SelectN1isalsoapplicableforuserinterface_1869/image_2.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; margin-left: 0px; border-top: 0px; margin-right: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://ayende.com/Blog/images/ayende_com/Blog/WindowsLiveWriter/SelectN1isalsoapplicableforuserinterface_1869/image_thumb.png" width="179" height="666" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;And it doesn’t seems to end…&lt;/p&gt;&lt;img src="http://ayende.com/Blog/aggbug/11202.aspx" width="1" height="1" /&gt;&lt;p&gt;&lt;a target="_blank" href="http://theloungenet.com/feeds/redirect/DOTNETRSS/AYENDE/AE4D4FED6971614659C16E761B05D4ED15419325"&gt;&lt;img src="http://theloungenet.com/feeds/img/DOTNETRSS/AYENDE/AE4D4FED6971614659C16E761B05D4ED15419325"&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/AyendeRahien/~4/128CQToyDpc" height="1" width="1"/&gt; &lt;hr /&gt;Read more: &lt;a href="http://feedproxy.google.com/~r/AyendeRahien/~3/128CQToyDpc/select-n1-is-also-applicable-for-user-interface.aspx"&gt;Select N+1 is also applicable for user interface&lt;/a&gt; | &lt;a href="http://feeds.feedburner.com/AyendeRahien"&gt;Subscribe&lt;/a&gt;</description>
      <pubDate>Tue, 10 Nov 2009 15:00:00 GMT</pubDate>
      <guid>http://feedproxy.google.com/~r/AyendeRahien/~3/128CQToyDpc/select-n1-is-also-applicable-for-user-interface.aspx</guid>
    </item>
 
    <item>
      <title>Download Podcasts with Powershell</title>
      <author>Scott Hanselman</author>
      <link>http://feedproxy.google.com/~r/ScottHanselman/~3/7gprmpbsbS0/DownloadPodcastsWithPowershell.aspx</link>
      <description>A number of people have mentioned to me that they didn't realize that Powershell is included by default in Windows 7. If you haven't yet jumped on the Powershell bandwagon, this is a good time. Powershell 2 includes a bunch of cool features like &lt;hr /&gt;Read more: &lt;a href="http://feedproxy.google.com/~r/ScottHanselman/~3/7gprmpbsbS0/DownloadPodcastsWithPowershell.aspx"&gt;Download Podcasts with Powershell&lt;/a&gt; | &lt;a href="http://feeds.feedburner.com/ScottHanselman"&gt;Subscribe&lt;/a&gt;</description>
      <pubDate>Tue, 10 Nov 2009 04:38:18 GMT</pubDate>
      <guid>http://feedproxy.google.com/~r/ScottHanselman/~3/7gprmpbsbS0/DownloadPodcastsWithPowershell.aspx</guid>
    </item>
 
    <item>
      <title>&amp;Uuml;ber Prof goes live</title>
      <author>Oren Eini</author>
      <link>http://feedproxy.google.com/~r/AyendeRahien/~3/unEF_GejZe4/uumlber-prof-goes-live.aspx</link>
      <description>&lt;p&gt;Über Prof is the codename for the multi-OR/M profiler that I have been working on for the last several weeks. &lt;/p&gt;  &lt;p&gt;Today is a good milestone, because it marks the shift from treating it as an experimental to production ready.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://ayende.com/Blog/images/ayende_com/Blog/WindowsLiveWriter/berProfgoeslive_EF/image_2.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; margin-left: 0px; border-top: 0px; margin-right: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://ayende.com/Blog/images/ayende_com/Blog/WindowsLiveWriter/berProfgoeslive_EF/image_thumb.png" width="560" height="125" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Über Prof also brings with it several changes to the way I mange the profiler profiles. Each profile (NHProf, HProf, L2SProf and EFProf, currently) is built on top of the same codebase, but contains slightly different functionality to fits it target audience. I might talk about exactly how we are doing that in a later post.&lt;/p&gt;  &lt;p&gt;That required making a small number of breaking changes:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;The executable filename was changed to NHProf.exe (or HProf.exe, or L2SProf.exe, etc)&lt;/li&gt;    &lt;li&gt;The appender filename was changed to HibernatingRhinos.Profiler.Appender.dll&lt;/li&gt;    &lt;li&gt;The appender type name was changed to HibernatingRhinos.Profiler.Appender.[profile].[profile]Profiler.Initialize();&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;In practice, those changes are annoying, but should be very easy to fix.&lt;/p&gt;  &lt;p&gt;Something important to note, however, is that NHibernate profiling and Hibernate profiling has been split.&lt;/p&gt;  &lt;p&gt;For NHibernate, we have &lt;a href="http://nhprof.com"&gt;NHProf&lt;/a&gt;, and for Hibernate, we have &lt;a href="http://hibernateprofiler.com/"&gt;HProf&lt;/a&gt;. &lt;/p&gt;  &lt;p&gt;I hope to have L2sProf out in public beta this week. And EFProf is currently in private beta for this week and hopefully poke its nose out as public beta next week.&lt;/p&gt;&lt;img src="http://ayende.com/Blog/aggbug/11205.aspx" width="1" height="1" /&gt;&lt;p&gt;&lt;a target="_blank" href="http://theloungenet.com/feeds/redirect/DOTNETRSS/AYENDE/2B23351162A1E066F7C93AFD0FC6C2CD8D5F7558"&gt;&lt;img src="http://theloungenet.com/feeds/img/DOTNETRSS/AYENDE/2B23351162A1E066F7C93AFD0FC6C2CD8D5F7558"&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/AyendeRahien/~4/unEF_GejZe4" height="1" width="1"/&gt; &lt;hr /&gt;Read more: &lt;a href="http://feedproxy.google.com/~r/AyendeRahien/~3/unEF_GejZe4/uumlber-prof-goes-live.aspx"&gt;&amp;Uuml;ber Prof goes live&lt;/a&gt; | &lt;a href="http://feeds.feedburner.com/AyendeRahien"&gt;Subscribe&lt;/a&gt;</description>
      <pubDate>Tue, 10 Nov 2009 03:03:00 GMT</pubDate>
      <guid>http://feedproxy.google.com/~r/AyendeRahien/~3/unEF_GejZe4/uumlber-prof-goes-live.aspx</guid>
    </item>
 
    <item>
      <title>Party with Palermo: PDC ‘09 edition – 6 days and counting</title>
      <author>Jeffrey Palermo</author>
      <link>http://feeds.jeffreypalermo.com/~r/jeffreypalermo/~3/K8IQxKndhL8/</link>
      <description>&lt;p&gt;&lt;a href="http://jeffreypalermo.com/files/media/image/WindowsLiveWriter/PartywithPalermoPDC09edition6daysandcoun_D207/image_6.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; margin: 0px 10px 0px 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" align="left" src="http://jeffreypalermo.com/files/media/image/WindowsLiveWriter/PartywithPalermoPDC09edition6daysandcoun_D207/image_thumb_2.png" width="129" height="129" /&gt;&lt;/a&gt; That’s right, folks!&amp;#160; For those of your coming to &lt;a href="http://microsoftpdc.com/"&gt;Microsoft’s Professional Developers’ Conference (PDC)&lt;/a&gt;, &lt;a href="http://partywithpalermo.com"&gt;Party with Palermo&lt;/a&gt; is going to kick the week off right.&amp;#160; The conference starts on Tuesday, so Monday night, we are going to get down and party to the turntables of &lt;a href="http://djcraig.com/"&gt;DJ Craig&lt;/a&gt;.&amp;#160; If you were at the Party with Palermo at Tech Ed,&amp;#160; you remember this DJ and how he had the uncanny ability to get folks like &lt;a href="http://blogs.tedneward.com/"&gt;Ted Neward&lt;/a&gt; and &lt;a href="http://blogs.msdn.com/saraford/"&gt;Sara Ford&lt;/a&gt; dancing like it was 199. . . 2009!&lt;/p&gt;  &lt;p&gt;&lt;a href="http://jeffreypalermo.com/files/media/image/WindowsLiveWriter/PartywithPalermoPDC09edition6daysandcoun_D207/image_2.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://jeffreypalermo.com/files/media/image/WindowsLiveWriter/PartywithPalermoPDC09edition6daysandcoun_D207/image_thumb.png" width="244" height="184" /&gt;&lt;/a&gt; &lt;a href="http://jeffreypalermo.com/files/media/image/WindowsLiveWriter/PartywithPalermoPDC09edition6daysandcoun_D207/image_4.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://jeffreypalermo.com/files/media/image/WindowsLiveWriter/PartywithPalermoPDC09edition6daysandcoun_D207/image_thumb_1.png" width="244" height="184" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Here is the skinny:&amp;#160; Monday night – 7pm-10pm before PDC.&amp;#160; Come to The Mayan, 6 blocks from the convention center in downtown L.A.&amp;#160; Party with Palermo.&amp;#160; &lt;a href="http://pdc09.partywithpalermo.com/"&gt;&lt;strong&gt;RSVP now&lt;/strong&gt;&lt;/a&gt;!&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;November 16, 2009 - Los Angeles, CA - 7:00PM - 10:00PM&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;The Mayan (&lt;a href="http://bit.ly/themayan"&gt;map&lt;/a&gt;, &lt;a href="http://clubmayan.com"&gt;website&lt;/a&gt;)    &lt;br /&gt;1038 South Hill St., Los Angeles, CA 90015    &lt;br /&gt;Ph: (213) 746-4287 - (six blocks from the convention center)    &lt;br /&gt;Cover charge is 1 business card.&amp;#160; This will get you in the door and register you for the grand prize drawings.&lt;/p&gt;  &lt;p&gt;Entertainment provided by: &lt;/p&gt;  &lt;h4&gt;&lt;a href="http://www.djcraig.net/"&gt;DJ Craig&lt;/a&gt;&lt;/h4&gt;  &lt;ul&gt;   &lt;li&gt;Free to attend &lt;/li&gt;    &lt;li&gt;Free drinks &lt;/li&gt;    &lt;li&gt;Free swag &lt;/li&gt;    &lt;li&gt;Eat before you come&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Sponsors: (&lt;a href="http://pdc09.partywithpalermo.com/main/requestforsponsors"&gt;find out how to become a sponsor&lt;/a&gt;)&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.headspringsystems.com/"&gt;&lt;img alt="" src="http://pdc09.partywithpalermo.com/images/headspring300.jpg" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.jetbrains.com/"&gt;&lt;img alt="" src="http://pdc09.partywithpalermo.com/images/JetBrains300.jpg" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.preemptive.com/"&gt;&lt;img alt="" src="http://pdc09.partywithpalermo.com/images/PreEmptive300.jpg" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.xceed.com/"&gt;&lt;img alt="" src="http://pdc09.partywithpalermo.com/images/Xceed300.jpg" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.devexpress.com/"&gt;&lt;img alt="" src="http://pdc09.partywithpalermo.com/images/Devexpress300.jpg" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.devmavens.com/"&gt;&lt;img alt="" src="http://pdc09.partywithpalermo.com/images/DevMavens.jpg" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.infragistics.com/"&gt;&lt;img alt="" src="http://pdc09.partywithpalermo.com/images/infragistics300.jpg" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;KEEP TABS ON HTTP://www.PartyWithPalermo.com --- THIS IS WHERE THE INFORMATION WILL BE POSTED.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://visitor.constantcontact.com/email.jsp?m=1102390194591&amp;amp;p=oi"&gt;Subscribe to the Party with Palermo newsletter&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;Feel free to blog and link back to this site. &lt;/em&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.jeffreypalermo.com/~ff/jeffreypalermo?a=K8IQxKndhL8:gbfIcCRQ5C4:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jeffreypalermo?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.jeffreypalermo.com/~ff/jeffreypalermo?a=K8IQxKndhL8:gbfIcCRQ5C4:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jeffreypalermo?i=K8IQxKndhL8:gbfIcCRQ5C4:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/jeffreypalermo/~4/K8IQxKndhL8" height="1" width="1"/&gt; &lt;hr /&gt;Read more: &lt;a href="http://feeds.jeffreypalermo.com/~r/jeffreypalermo/~3/K8IQxKndhL8/"&gt;Party with Palermo: PDC ‘09 edition – 6 days and counting&lt;/a&gt; | &lt;a href="http://feeds.jeffreypalermo.com/jeffreypalermo"&gt;Subscribe&lt;/a&gt;</description>
      <pubDate>Tue, 10 Nov 2009 01:55:55 GMT</pubDate>
      <guid>http://feeds.jeffreypalermo.com/~r/jeffreypalermo/~3/K8IQxKndhL8/</guid>
    </item>
 
    <item>
      <title>Answering YAGNI commentary</title>
      <author>Oren Eini</author>
      <link>http://feedproxy.google.com/~r/AyendeRahien/~3/txuUsIzup-s/answering-yagni-commentary.aspx</link>
      <description>&lt;p&gt;My post about &lt;a href="http://ayende.com/Blog/archive/2009/11/04/applying-yagni-in-impleo.aspx"&gt;applying YAGNI in Impleo&lt;/a&gt; has gotten a lot of comments, and instead of answering them one at a time, I think it would be useful to just have a post answering all of them together.&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;strong&gt;Ryan Riley: &lt;/strong&gt;I suppose I'm still wondering, how did WebForms appear as a result of YAGNI? I realize that's the original &lt;a href="http://ASP.NET"&gt;ASP.NET&lt;/a&gt; platform, but MVC seems simpler to me, and even simpler would be starting with HTML, CSS, and JavaScript (or, heaven forbid, classic ASP) with some AJAX.&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Ryan, it is quite simple. It is all about friction, using HTML, CSS &amp;amp; Javascript would have added more friction initially than the webforms solution.&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;strong&gt;Torkel: &lt;/strong&gt;Any plans to open source it?&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Highly unlikely.&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;strong&gt;Andrew:&lt;/strong&gt; I know we all hate Web Forms, yada yada yada, but if you need to just setup a few pages, it's dead easy and much faster than MVC, a WCF service or any other method to deliver content.  Hence why it makes perfect sense in this "I'm using YAGNI to the letter of the law" experiment.      &lt;br /&gt;But the reality is, you rarely have a project where you can work in this pure YAGNI way, since there almost always is requirements such as make it testible, make it easy to maintain, make it SOE friendly, etc. so working in &lt;a href="http://ASP.NET"&gt;ASP.NET&lt;/a&gt; Webforms a poor choice for the job.  But there does come a time where a project is "All we need is one page that shows data in a grid", it can be done in literally 10 minutes with a WebForm.&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;I agree, except that there is an additional thing that I want to bring to the table. The most important thing for me in most of my apps is the first customer demo. That is important for a host of reasons, but most importantly, because it make a product &lt;em&gt;real&lt;/em&gt;. Building fancy architecture and buzzward compliant development is usually in the way of that. The first customer demo is simple, stupid and should be out as soon as possible.&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;strong&gt;Dmitriy Nagirnyak: &lt;/strong&gt; &lt;/p&gt;    &lt;p&gt;Your own website framework?     &lt;br /&gt;Hmm.      &lt;br /&gt;What are the reason for starting it from scratch if there are some of them already available?      &lt;br /&gt;- Exercise?      &lt;br /&gt;- Lack of extensibility?      &lt;br /&gt;- Wrong architecture?      &lt;br /&gt;- "Just want my own" thing?      &lt;br /&gt;- others?&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Quite simple, I wanted something that would work the way I need it to work. Anything that adds friction to the process is not acceptable. I am willing to build my own thing to get a friction free process.&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;strong&gt;Richard Dingwall: &lt;/strong&gt;Article starts with YAGNI and ends up writing a whole new CMS from scratch! Ayende!!&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;See previous reply.&lt;/p&gt;&lt;img src="http://ayende.com/Blog/aggbug/11201.aspx" width="1" height="1" /&gt;&lt;p&gt;&lt;a target="_blank" href="http://theloungenet.com/feeds/redirect/DOTNETRSS/AYENDE/D0C5A15A239EAF9B5CB7A6A7BEF0A14E7F98FBED"&gt;&lt;img src="http://theloungenet.com/feeds/img/DOTNETRSS/AYENDE/D0C5A15A239EAF9B5CB7A6A7BEF0A14E7F98FBED"&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/AyendeRahien/~4/txuUsIzup-s" height="1" width="1"/&gt; &lt;hr /&gt;Read more: &lt;a href="http://feedproxy.google.com/~r/AyendeRahien/~3/txuUsIzup-s/answering-yagni-commentary.aspx"&gt;Answering YAGNI commentary&lt;/a&gt; | &lt;a href="http://feeds.feedburner.com/AyendeRahien"&gt;Subscribe&lt;/a&gt;</description>
      <pubDate>Mon, 09 Nov 2009 23:49:00 GMT</pubDate>
      <guid>http://feedproxy.google.com/~r/AyendeRahien/~3/txuUsIzup-s/answering-yagni-commentary.aspx</guid>
    </item>
 
  </channel>
</rss>
