<?xml version="1.0" encoding="utf-8"?>
<feed xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xml:lang="en-us" xmlns="http://www.w3.org/2005/Atom">
  <title>Random Blahgging</title>
  <link rel="alternate" type="text/html" href="http://blog.jasonbunting.com/" />
  <link rel="self" href="http://blog.jasonbunting.com/SyndicationService.asmx/GetAtom" />
  <icon>favicon.ico</icon>
  <updated>2008-04-09T07:25:31.2387873-07:00</updated>
  <author>
    <name>Jason Bunting</name>
  </author>
  <subtitle />
  <id>http://blog.jasonbunting.com/</id>
  <generator uri="http://www.dasblog.net" version="2.0.7180.0">DasBlog</generator>
  <entry>
    <title>Long time, no blog</title>
    <link rel="alternate" type="text/html" href="http://blog.jasonbunting.com/PermaLink,guid,150f64c2-ce54-4fc2-ab5d-079d3f50ab9f.aspx" />
    <id>http://blog.jasonbunting.com/PermaLink,guid,150f64c2-ce54-4fc2-ab5d-079d3f50ab9f.aspx</id>
    <published>2008-03-11T11:16:03.3591934-07:00</published>
    <updated>2008-03-11T11:16:03.3591934-07:00</updated>
    <category term="Everything" label="Everything" scheme="http://blog.jasonbunting.com/CategoryView,category,Everything.aspx" />
    <category term="Randomness" label="Randomness" scheme="http://blog.jasonbunting.com/CategoryView,category,Randomness.aspx" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>
Long ago I realized that I was <em>not</em> to be a prolific blogger, but would be
the antithesis thereof; yet I still feel guilt over not doing it. Not for the sake
of others, mind you, but because spouting my opinion/knowledge (or illusion thereof)
is something I innately enjoy doing. Spouting my opinion here is less rewarding than
doing so face-to-face - I like the immediate gratification it provides. Not to mention
the fact that my opinions/knowledge are much better presented in the context of an
active analog conversation than a seemingly-passive digital one. Yes, I know, I know,
dialog does exist in our digital version of face-to-face reality, but it really isn't
the same and I don't know that I have determined, for myself, if it is as valuable.
</p>
        <p>
Anyway, I do hope to blog more if for nothing more than the opportunity to write,
which is something I enjoy and need to work on.
</p>
        <img width="0" height="0" src="http://blog.jasonbunting.com/aggbug.ashx?id=150f64c2-ce54-4fc2-ab5d-079d3f50ab9f" />
      </div>
    </content>
  </entry>
  <entry>
    <title>Is C# becoming more like JavaScript?</title>
    <link rel="alternate" type="text/html" href="http://blog.jasonbunting.com/PermaLink,guid,897fba72-df01-45c1-8206-8135d917235e.aspx" />
    <id>http://blog.jasonbunting.com/PermaLink,guid,897fba72-df01-45c1-8206-8135d917235e.aspx</id>
    <published>2007-11-01T11:38:15.443-07:00</published>
    <updated>2007-11-01T12:44:27.333625-07:00</updated>
    <category term="ASP.NET" label="ASP.NET" scheme="http://blog.jasonbunting.com/CategoryView,category,ASP.NET.aspx" />
    <category term="C#" label="C#" scheme="http://blog.jasonbunting.com/CategoryView,category,C%23.aspx" />
    <category term="Everything" label="Everything" scheme="http://blog.jasonbunting.com/CategoryView,category,Everything.aspx" />
    <category term="JavaScript" label="JavaScript" scheme="http://blog.jasonbunting.com/CategoryView,category,JavaScript.aspx" />
    <category term="Software" label="Software" scheme="http://blog.jasonbunting.com/CategoryView,category,Software.aspx" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>
          <style type="text/css">


.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }</style>
I sure hope so! <a href="http://blah.winsmarts.com/2006/05/17/demystifying-c-30--part-2-anonymous-types.aspx" target="_blank">I
noticed this quite some time ago</a> when I first saw the syntax for anonymous types
in C#. Being a lover of JavaScript, I quite like the ability to do things in C# in
a manner consistent with the syntax I am used to using in JavaScript (my current favorite
programming language, especially thanks to <a title="MochiKit makes JavaScript suck less!" href="http://www.mochikit.com/" target="_blank">MochiKit</a>).
The syntax I refer to is partly alluded to in <a href="http://weblogs.asp.net/leftslipper/archive/2007/09/24/using-c-3-0-anonymous-types-as-dictionaries.aspx" target="_blank">this
post by Eilon Lipton</a> (first time I have ever heard of Eilon), where he talks about
substituting an anonymous type for a <span class="csharpcode">Dictionary&lt;<span class="kwrd">string</span>, <span class="kwrd">string</span>&gt;</span>,
using said Dictionary for setting attributes on HTML tags he is creating in C#. Sound
familiar? I mentioned something similar in <a href="http://jasonbunting.com/blahg/PermaLink,guid,ca16cf2b-c604-4817-ba9c-1b2a1f762327.aspx" target="_blank">my
post yesterday</a>.
</p>
        <p>
To illustrate the syntax I keep referring to, here is what I am used to doing in JavaScript,
particularly with MochiKit - let's say I want to create a div element programmatically
(and let's spit it out as HTML so we can better get the gist of things):
</p>
        <pre class="csharpcode">
          <span class="kwrd">
          </span>toHTML(DIV({id:<span class="str">"myDiv"</span>, <span class="kwrd">class</span>:<span class="str">"myCssClass"</span>},
P({ style:<span class="str">"font-weight:bold"</span> }, <span class="str">"Hello
World!"</span>)));</pre>
        <style type="text/css">
.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }</style>
        <p>
The HTML rendered looks like:
</p>
        <pre class="csharpcode">
          <span class="kwrd">&lt;</span>
          <span class="html">div</span>
          <span class="attr">class</span>
          <span class="kwrd">="myCssClass"</span>
          <span class="attr">id</span>
          <span class="kwrd">="myDiv"</span>
          <span class="kwrd">&gt;</span>
          <span class="kwrd">&lt;</span>
          <span class="html">p</span>
          <span class="attr">style</span>
          <span class="kwrd">="font-weight:
bold;"</span>
          <span class="kwrd">&gt;</span>Hello World!<span class="kwrd">&lt;/</span><span class="html">p</span><span class="kwrd">&gt;</span><span class="kwrd">&lt;/</span><span class="html">div</span><span class="kwrd">&gt;</span></pre>
        <style type="text/css">
.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }</style>
        <p>
So, rather than declaring a the JavaScript function "DIV" or "P"
(which create div and paragraph DOM elements, respectively) with every possible option
as a parameter to said function (e.g. id, style, class, etc.), you simply pass in
an anonymous object which contains values for the properties you care about setting.
This is a fairly typical way of doing things in JavaScript, and despite the protests
from the academic portion of my brain as well as <a href="http://blogs.msdn.com/abhinaba/archive/2005/09/19/471101.aspx" target="_blank">other
developers</a>, I would love to be able to do the same in C#.
</p>
        <p>
 
</p>
        <div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:7638ac75-7195-4635-b798-3d5806b5e096" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px">Technorati
Tags: <a href="http://technorati.com/tags/JavaScript/" rel="tag">JavaScript</a> , <a href="http://technorati.com/tags/C#/" rel="tag">C#</a> , <a href="http://technorati.com/tags/ASP.NET/" rel="tag">ASP.NET</a> , <a href="http://technorati.com/tags/Anonymous%20Types/" rel="tag">Anonymous
Types</a></div>
        <img width="0" height="0" src="http://blog.jasonbunting.com/aggbug.ashx?id=897fba72-df01-45c1-8206-8135d917235e" />
      </div>
    </content>
  </entry>
  <entry>
    <title>Use ASP.NET Objects, Not Literal HTML Strings</title>
    <link rel="alternate" type="text/html" href="http://blog.jasonbunting.com/PermaLink,guid,ca16cf2b-c604-4817-ba9c-1b2a1f762327.aspx" />
    <id>http://blog.jasonbunting.com/PermaLink,guid,ca16cf2b-c604-4817-ba9c-1b2a1f762327.aspx</id>
    <published>2007-10-31T12:38:37.38-07:00</published>
    <updated>2007-10-31T13:16:16.739875-07:00</updated>
    <category term="ASP.NET" label="ASP.NET" scheme="http://blog.jasonbunting.com/CategoryView,category,ASP.NET.aspx" />
    <category term="Everything" label="Everything" scheme="http://blog.jasonbunting.com/CategoryView,category,Everything.aspx" />
    <category term="JavaScript" label="JavaScript" scheme="http://blog.jasonbunting.com/CategoryView,category,JavaScript.aspx" />
    <category term="Software" label="Software" scheme="http://blog.jasonbunting.com/CategoryView,category,Software.aspx" />
    <category term="Work" label="Work" scheme="http://blog.jasonbunting.com/CategoryView,category,Work.aspx" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>
Since learning about <a href="http://www.subsonicproject.com/" target="_blank">the
SubSonic project</a> last week, I have spent a bit of time reading up on it, watching
screencasts about it, playing with it, and reading <a href="http://blog.wekeroad.com/" target="_blank">the
blog of its creator, Rob Conery</a>. In his post "<a href="http://blog.wekeroad.com/2007/10/25/how-mvc-jquery-and-subsonic-will-make-you-smile/" target="_blank">How
MVC, jQuery, and SubSonic Will Make You Smile</a>," Rob talks about the use of
.NET 3.5's extension methods, in particular extending a <span style="color: rgb(43,145,175)">Dictionary</span>&lt;<span style="color: rgb(0,0,255)">string</span>, <span style="color: rgb(0,0,255)">string</span>&gt;
to return HTML for a drop down list (HTML select); here is what his version of the
extension method looks like:
</p>
        <p>
 
</p>
        <div class="csharpcode">
          <div class="csharpcode">
            <pre class="alt">
              <span class="lnum"> 1: </span>
              <span class="kwrd">public</span>
              <span class="kwrd">static</span>
              <span class="kwrd">string</span> ToHtmlSelect(<span class="kwrd">this</span> Dictionary&lt;<span class="kwrd">string</span>, <span class="kwrd">string</span>&gt;
listItems, <span class="kwrd">string</span> name,<br /><span class="kwrd">object</span> selectedValue, <span class="kwrd">object</span> attributes)</pre>
            <pre>
              <span class="lnum"> 2: </span>{</pre>
            <pre class="alt">
              <span class="lnum"> 3: </span>
              <span class="rem">// input formats</span>
            </pre>
            <pre>
              <span class="lnum"> 4: </span>
              <span class="kwrd">string</span> selectFormat
= <span class="str">"&lt;select name='{0}' id='{0}' {1}&gt;\r\n{2}\r\n &lt;/select&gt;"</span>;</pre>
            <pre class="alt">
              <span class="lnum"> 5: </span>
              <span class="kwrd">string</span> optionFormat
= <span class="str">"\t&lt;option value='{0}' {1}&gt;{2}&lt;/option&gt;\r\n"</span>;</pre>
            <pre>
              <span class="lnum"> 6: </span> </pre>
            <pre class="alt">
              <span class="lnum"> 7: </span>
              <span class="rem">// output</span>
            </pre>
            <pre>
              <span class="lnum"> 8: </span> StringBuilder sb = <span class="kwrd">new</span> StringBuilder();</pre>
            <pre class="alt">
              <span class="lnum"> 9: </span> </pre>
            <pre>
              <span class="lnum"> 10: </span>
              <span class="kwrd">foreach</span> (<span class="kwrd">string</span> s <span class="kwrd">in</span> listItems.Keys)</pre>
            <pre class="alt">
              <span class="lnum"> 11: </span> {</pre>
            <pre>
              <span class="lnum"> 12: </span>
              <span class="kwrd">string</span> selectedFlag
= <span class="str">""</span>;</pre>
            <pre class="alt">
              <span class="lnum"> 13: </span>
              <span class="kwrd">string</span> text
= listItems[s];</pre>
            <pre>
              <span class="lnum"> 14: </span>
              <span class="kwrd">string</span>
              <span class="kwrd">value</span> =
s;</pre>
            <pre class="alt">
              <span class="lnum"> 15: </span>
              <span class="kwrd">if</span> (<span class="kwrd">value</span>.ToLower().Equals(selectedValue.ToString().ToLower()))</pre>
            <pre>
              <span class="lnum"> 16: </span> selectedFlag = <span class="str">"selected=true"</span>;</pre>
            <pre class="alt">
              <span class="lnum"> 17: </span> sb.AppendFormat(optionFormat, s.ToString(),
selectedFlag, text);</pre>
            <pre>
              <span class="lnum"> 18: </span> }</pre>
            <pre class="alt">
              <span class="lnum"> 19: </span>
              <span class="kwrd">string</span> result
= <span class="kwrd">string</span>.Format(selectFormat, name, attributes.ToAttributeList(),
sb.ToString());</pre>
            <pre>
              <span class="lnum"> 20: </span>
              <span class="kwrd">return</span> result;</pre>
            <pre class="alt">
              <span class="lnum"> 21: </span>}</pre>
          </div>
          <style type="text/css">
.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }</style>
          <style type="text/css">
.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }</style>
          <style type="text/css">
.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }</style>
          <a href="http://11011.net/software/vspaste">
          </a>
          <a href="http://11011.net/software/vspaste">
          </a>
          <pre>
          </pre>
        </div>
        <pre class="code">
        </pre>
        <p>
 
</p>
        <p>
He also mentions that (on line 19) there is another extension method that "hangs
off the object class" which basically enumerates all of the properties of an
object, creating a name/value pair attribute list. He doesn't give the code of that
extension method, which he states "is ScottGu magic at work and something he <a href="http://weblogs.asp.net/scottgu/archive/2007/10/14/asp-net-mvc-framework.aspx" target="_blank">shows
in his MVC demos</a>." I have yet to watch those demos myself, but the code is
probably something akin to this:
</p>
        <p>
 
</p>
        <div class="csharpcode">
          <pre class="alt">
            <span class="lnum"> 1: </span>
            <span class="kwrd">public</span>
            <span class="kwrd">static</span>
            <span class="kwrd">string</span> ToAttributeList(<span class="kwrd">this</span><span class="kwrd">object</span> attributes) </pre>
          <pre>
            <span class="lnum"> 2: </span>{</pre>
          <pre class="alt">
            <span class="lnum"> 3: </span> StringBuilder sb = <span class="kwrd">new</span> StringBuilder();</pre>
          <pre>
            <span class="lnum"> 4: </span>
            <span class="kwrd">foreach</span> (PropertyDescriptor
property <span class="kwrd">in</span> TypeDescriptor.GetProperties(attributes)) </pre>
          <pre class="alt">
            <span class="lnum"> 5: </span> {</pre>
          <pre>
            <span class="lnum"> 6: </span> sb.AppendFormat(<span class="str">"{0}='{1}'
"</span>, property.Name, property.GetValue(attributes).ToString());</pre>
          <pre class="alt">
            <span class="lnum"> 7: </span> }</pre>
          <pre>
            <span class="lnum"> 8: </span>
            <span class="kwrd">return</span> sb.ToString();</pre>
          <pre class="alt">
            <span class="lnum"> 9: </span>}</pre>
        </div>
        <style type="text/css">
.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }</style>
        <style type="text/css">
.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }</style>
        <p>
 
</p>
        <p>
This allows you to pass anonymous types, specifying what might normally be optional
parameters, a la something I have been doing in JavaScript for a while using <a title="MochiKit - It makes JavaScript suck less!" href="http://www.mochikit.com/" target="_blank">MochiKit</a> (other
JavaScript libs exploit the same literal JavaScript object notation in their function
signatures). The idea is that you don't need to have a structured method signature
that accepts all possible options - you can pass in what you want to specify as a
part of an anonymous object. This will make more sense if you have spent any time
doing this in JavaScript or want to wait a moment and read on.
</p>
        <p>
Anyway, the whole reason I was even posting on this subject is because of a comment
made on Rob's post by one Joe Chung, wherein he states:
</p>
        <blockquote>
          <p>
            <em>"Seeing StringBuilder-generated HTML makes me sad for the future of ASP.NET.
Object-oriented ASP spaghetti code is still spaghetti code."</em>
          </p>
        </blockquote>
        <p>
He is referring to the string hacking done in the ToHtmlSelect extension method. I
too don't care for it, and simply wanted to show a nicer way of doing this, which
leverages <strong>objects we already have access to</strong> in ASP.NET which do that
grunt work for us.
</p>
        <p>
Here is my version of Rob's method (which I still have issues with, but for now we
will let those go for the sake of staying on topic) - note, there are no literal strings
for those that despise them:
</p>
        <div class="csharpcode">
          <pre class="alt">
            <span class="lnum"> 1: </span>
            <span class="kwrd">public</span>
            <span class="kwrd">static</span>
            <span class="kwrd">string</span> ToHtmlSelect(<span class="kwrd">this</span> Dictionary&lt;<span class="kwrd">string</span>, <span class="kwrd">string</span>&gt;
listItems, <span class="kwrd">object</span> selectedValue,<br /><span class="kwrd">object</span> attributes)</pre>
          <pre>
            <span class="lnum"> 2: </span>{</pre>
          <pre class="alt">
            <span class="lnum"> 3: </span> DropDownList htmlSelect = <span class="kwrd">new</span> DropDownList();</pre>
          <pre>
            <span class="lnum"> 4: </span> htmlSelect.Attributes.AddAttributes(attributes);</pre>
          <pre class="alt">
            <span class="lnum"> 5: </span>
            <span class="kwrd">foreach</span> (<span class="kwrd">string</span> key <span class="kwrd">in</span> listItems.Keys)</pre>
          <pre>
            <span class="lnum"> 6: </span> {</pre>
          <pre class="alt">
            <span class="lnum"> 7: </span> ListItem item = <span class="kwrd">new</span> ListItem(listItems[key],
key);</pre>
          <pre>
            <span class="lnum"> 8: </span> item.Selected = (key.ToLower().Equals(selectedValue.ToString().ToLower()));</pre>
          <pre class="alt">
            <span class="lnum"> 9: </span> htmlSelect.Items.Add(item);</pre>
          <pre>
            <span class="lnum"> 10: </span> }</pre>
          <pre class="alt">
            <span class="lnum"> 11: </span>
            <span class="kwrd">return</span> htmlSelect.ToHtml();</pre>
          <pre>
            <span class="lnum"> 12: </span>}</pre>
        </div>
        <style type="text/css">
.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }</style>
        <p>
 
</p>
        <p>
Now, my version does not use the ToAttributeList() extension method hanging off of  <span class="kwrd">object</span> -
mine uses something a bit different, but an extension method nonetheless (although
a bit naive, it will suffice for our purposes):
</p>
        <p>
 
</p>
        <div class="csharpcode">
          <pre class="alt">
            <span class="lnum"> 1: </span>
            <span class="kwrd">public</span>
            <span class="kwrd">static</span>
            <span class="kwrd">void</span> AddAttributes(<span class="kwrd">this</span> System.Web.UI.AttributeCollection
attributeCollection,<br /><span class="kwrd">object</span> attributes)</pre>
          <pre>
            <span class="lnum"> 2: </span>{</pre>
          <pre class="alt">
            <span class="lnum"> 3: </span>
            <span class="kwrd">foreach</span> (PropertyDescriptor
property <span class="kwrd">in</span> TypeDescriptor.GetProperties(attributes))</pre>
          <pre>
            <span class="lnum"> 4: </span> {</pre>
          <pre class="alt">
            <span class="lnum"> 5: </span> attributeCollection.Add(property.Name,
property.GetValue(attributes).ToString());</pre>
          <pre>
            <span class="lnum"> 6: </span> }</pre>
          <pre class="alt">
            <span class="lnum"> 7: </span>}</pre>
        </div>
        <style type="text/css">
.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }</style>
        <style type="text/css">
.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }</style>
        <p>
 
</p>
        <p>
My extension method hangs instead off of System.Web.UI.AttributeCollection because
my version of the ToHtmlSelect() method works with the System.Web.UI.DropDownList
object, which uses that as the place to store its attributes.
</p>
        <p>
The other key to mine is the following extension method which wraps a technique I
have been using for over 2 years to create HTML (I didn't figure it out on my own,
but can't remember where I saw this exactly - I think in the Google Group for the
AjaxPro.NET component back when it was simply Ajax.NET):
</p>
        <p>
 
</p>
        <div class="csharpcode">
          <pre class="alt">
            <span class="lnum"> 1: </span>
            <span class="kwrd">public</span>
            <span class="kwrd">static</span>
            <span class="kwrd">string</span> ToHtml(<span class="kwrd">this</span> Control
control)</pre>
          <pre>
            <span class="lnum"> 2: </span>{</pre>
          <pre class="alt">
            <span class="lnum"> 3: </span> StringWriter sw = <span class="kwrd">new</span> StringWriter();</pre>
          <pre>
            <span class="lnum"> 4: </span> HtmlTextWriter htw = <span class="kwrd">new</span> HtmlTextWriter(sw);</pre>
          <pre class="alt">
            <span class="lnum"> 5: </span> control.RenderControl(htw);</pre>
          <pre>
            <span class="lnum"> 6: </span>
            <span class="kwrd">return</span> sw.ToString();</pre>
          <pre class="alt">
            <span class="lnum"> 7: </span>}</pre>
        </div>
        <style type="text/css">
.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }</style>
        <style type="text/css">
.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }</style>
        <p>
 
</p>
        <p>
Note - this can be used for all sorts of Control-derived ASP.NET HTML wrapper objects
to get you some HTML without string hacking in your layers of code:
</p>
        <p>
 
</p>
        <div class="csharpcode">
          <pre class="alt">
            <span class="lnum"> 1: </span>Calendar c = <span class="kwrd">new</span> Calendar();</pre>
          <pre>
            <span class="lnum"> 2: </span>
            <span class="kwrd">string</span> calendarHtml =
c.ToHtml();</pre>
        </div>
        <style type="text/css">
.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }</style>
        <style type="text/css">
.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }</style>
        <p>
 
</p>
        <p>
Notice Joe - no literal strings! That should make you happy (I know it makes me happy!).
</p>
        <p>
Now, I love hacking JavaScript as much as the next guy (been doing it hardcore for
the last 2.5 years even with ASP.NET because it is too much fun!), but hacking strings
to create HTML is still not that fun. Even in JavaScript I don't do it if I don't
have to, preferring to use functions that handle that for me (<a title="MochiKit - It makes JavaScript suck less!" href="http://www.mochikit.com/" target="_blank">MochiKit</a> has
some simple DOM functions for handling HTML creation).
</p>
        <p>
Anyway, hope this is of some use to someone out there!
</p>
        <p>
 
</p>
        <div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:b6a24d46-10d0-437a-9c38-7629e4598057" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px">Technorati
Tags: <a href="http://technorati.com/tags/Extension%20Methods/" rel="tag">Extension
Methods</a> , <a href="http://technorati.com/tags/SubSonic/" rel="tag">SubSonic</a> , <a href="http://technorati.com/tags/ASP.NET/" rel="tag">ASP.NET</a> , <a href="http://technorati.com/tags/C#/" rel="tag">C#</a> , <a href="http://technorati.com/tags/.NET%203.5/" rel="tag">.NET
3.5</a></div>
        <img width="0" height="0" src="http://blog.jasonbunting.com/aggbug.ashx?id=ca16cf2b-c604-4817-ba9c-1b2a1f762327" />
      </div>
    </content>
  </entry>
  <entry>
    <title>Pirates of the Great Salt Lake</title>
    <link rel="alternate" type="text/html" href="http://blog.jasonbunting.com/PermaLink,guid,b8235756-5afc-46c8-a288-bf7f10f9ac2e.aspx" />
    <id>http://blog.jasonbunting.com/PermaLink,guid,b8235756-5afc-46c8-a288-bf7f10f9ac2e.aspx</id>
    <published>2007-10-30T20:09:47.896-07:00</published>
    <updated>2008-04-09T07:25:31.2387873-07:00</updated>
    <category term="Everything" label="Everything" scheme="http://blog.jasonbunting.com/CategoryView,category,Everything.aspx" />
    <category term="Randomness" label="Randomness" scheme="http://blog.jasonbunting.com/CategoryView,category,Randomness.aspx" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>
This looks like a future cult classic:
</p>
        <p>
 
</p>
        <div align="center">
          <div class="wlWriterSmartContent" id="scid:5737277B-5D6D-4f48-ABFC-DD9C333F4C5D:d64bdd6a-3220-4e2e-80fe-53bae248c877" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px">
            <div>
              <embed width="480" height="233" border="2" align="top" volume="100" kioskmode="false" controller="true" autoplay="false" src="http://www.piratesofthegreatsaltlake.com/trailers/potgsl_trlr3_h.480.mov" />
            </div>
          </div>
        </div>
        <p>
 
</p>
        <p>
 
</p>
        <p>
          <a href="http://www.freethepirates.com" target="_blank">
            <img style="border-top-style: none; border-right-style: none; border-left-style: none; border-bottom-style: none" height="90" alt="Free the Pirates of the Great Salt Lake" src="http://www.freethepirates.com/banners/freepirates_600x90.jpg" width="600" />
          </a>
        </p>
        <img width="0" height="0" src="http://blog.jasonbunting.com/aggbug.ashx?id=b8235756-5afc-46c8-a288-bf7f10f9ac2e" />
      </div>
    </content>
  </entry>
  <entry>
    <title>The Mormon Cult</title>
    <link rel="alternate" type="text/html" href="http://blog.jasonbunting.com/PermaLink,guid,012c7737-17ef-4963-82c7-f8ffb741d121.aspx" />
    <id>http://blog.jasonbunting.com/PermaLink,guid,012c7737-17ef-4963-82c7-f8ffb741d121.aspx</id>
    <published>2007-10-26T20:59:26.614875-07:00</published>
    <updated>2007-10-26T21:03:26.427375-07:00</updated>
    <category term="Everything" label="Everything" scheme="http://blog.jasonbunting.com/CategoryView,category,Everything.aspx" />
    <category term="Randomness" label="Randomness" scheme="http://blog.jasonbunting.com/CategoryView,category,Randomness.aspx" />
    <category term="Religion" label="Religion" scheme="http://blog.jasonbunting.com/CategoryView,category,Religion.aspx" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>
It's true - the Mormons <em>are</em> members of a cult! Most don't even realize it,
and those that do want to deny it; it remains utterly undeniable regardless!
</p>
        <p>
See for yourself - <a href="http://mormoncult.org/" target="_blank">this website</a> has
the incontrovertible evidence.
</p>
        <img width="0" height="0" src="http://blog.jasonbunting.com/aggbug.ashx?id=012c7737-17ef-4963-82c7-f8ffb741d121" />
      </div>
    </content>
  </entry>
  <entry>
    <title>Bill Gates isn't that evil...</title>
    <link rel="alternate" type="text/html" href="http://blog.jasonbunting.com/PermaLink,guid,d93de0a3-3ed7-4298-85e4-0fd657d8fa09.aspx" />
    <id>http://blog.jasonbunting.com/PermaLink,guid,d93de0a3-3ed7-4298-85e4-0fd657d8fa09.aspx</id>
    <published>2007-10-10T21:53:56.580375-07:00</published>
    <updated>2007-10-10T21:53:56.580375-07:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>
Say what you will about Microsoft and/or its founder, but you can't deny that Bill
Gates is now doing a lot of good in this world. <a href="http://www.msnbc.msn.com/id/21212128/site/newsweek/" target="_blank">A
recent Q&amp;A</a> with him and <a href="http://www.msnbc.msn.com/id/20920343/site/newsweek/" target="_blank">an
article he wrote</a> both highlight some charitable work being done by the Bill &amp;
Melinda Gates Foundation. 
</p>
        <p>
So, if you don't buy Microsoft products you may be hurting your fellow man. :P
</p>
        <img width="0" height="0" src="http://blog.jasonbunting.com/aggbug.ashx?id=d93de0a3-3ed7-4298-85e4-0fd657d8fa09" />
      </div>
    </content>
  </entry>
  <entry>
    <title>Rumiano Habanero Pepper Jack</title>
    <link rel="alternate" type="text/html" href="http://blog.jasonbunting.com/PermaLink,guid,88688b01-3d4e-4699-95d9-799f92955ecb.aspx" />
    <id>http://blog.jasonbunting.com/PermaLink,guid,88688b01-3d4e-4699-95d9-799f92955ecb.aspx</id>
    <published>2007-07-22T17:00:46-07:00</published>
    <updated>2007-07-22T21:25:41.14325-07:00</updated>
    <category term="Everything" label="Everything" scheme="http://blog.jasonbunting.com/CategoryView,category,Everything.aspx" />
    <category term="Food" label="Food" scheme="http://blog.jasonbunting.com/CategoryView,category,Food.aspx" />
    <category term="Randomness" label="Randomness" scheme="http://blog.jasonbunting.com/CategoryView,category,Randomness.aspx" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>
Many months ago, I noticed <a href="http://www.winderfarms.com/" target="_blank">Winder
Dairy</a> had some Habanero Pepper Jack cheese. I could hardly contain myself because
I <em>love</em> Habanero-based anything (I especially love Habanero hot sauce; I put
it on practically everything I eat) and I love Pepper Jack cheese to begin with, so
it sounded like a dream come true.
</p>
        <p>
It was disappointing to say the least. Not only was the cheese devoid of any noticeable
heat, it had some horrid taste to it that was anything but Habanero. Regular Pepper
Jack was better than this stuff by a long shot.
</p>
        <p>
Fast forward a few months and I find myself in our local Costco loitering, as I often
do, near the cold case in which they keep their cheeses, and I spy <a title="Rumiano's Habanero Pepper Jack" href="http://www.rumiano-cheese.com/catalog/index.php?main_page=product_info&amp;cPath=3_4&amp;products_id=29" target="_blank">Rumiano's
Habanero Pepper Jack</a>. Just looking at this fine specimen, I could immediately
tell that this was not the weak attempt at marrying the divine taste of Habanero pepper
and the smooth creaminess of Jack cheese that was the 'cheese' Winder Dairy sold me
earlier. So, I dropped the $7.00 it cost me for a couple pounds of the stuff and headed
home.
</p>
        <p>
I could barely wait to find out if this was everything I had hoped my first experience
with a "Habanero Pepper Jack" would be, so the minute I was in the house
I tore off the packaging. Immediately the smell of it hit me and I could tell it was
the real deal (if you know what Habaneros smell and taste like, one whiff of this
stuff would tell you the same). Capturing the taste of the Habanero while taming the
heat is a tricky task, but Rumiano has done it perfectly. The cheese <em>is</em> hot,
but not so hot that your tongue and throat blister (have you ever eaten a raw <a title="Red Savina Habanero" href="http://en.wikipedia.org/wiki/Red_Savina_pepper" target="_blank">Red
Savina Habanero</a>?).
</p>
        <p>
This stuff is great sliced thick on a garlic burger, shredded and used in a burrito,
or, as I most often eat it, sliced and eaten with crackers. This cheese is hot enough
that it makes the top of my head tingle once in a while. It is SO good. I am grateful
that Costco carried it, otherwise I might never have made its acquaintance. If you
are so lucky as to find it at Costco and like it, I would suggest buying all you can
- who knows if and when Costco will quit carrying it, and they have it for half of
what you would pay if you buy it from Rumiano's directly (and that is <em>before</em> shipping!).
</p>
        <img width="0" height="0" src="http://blog.jasonbunting.com/aggbug.ashx?id=88688b01-3d4e-4699-95d9-799f92955ecb" />
      </div>
    </content>
  </entry>
  <entry>
    <title>09 F9 11 02 9D 74 E3 5B D8 41 56 C5 63 56 88 C0</title>
    <link rel="alternate" type="text/html" href="http://blog.jasonbunting.com/PermaLink,guid,aef0d372-d258-48ff-ac7e-dffad10e82e5.aspx" />
    <id>http://blog.jasonbunting.com/PermaLink,guid,aef0d372-d258-48ff-ac7e-dffad10e82e5.aspx</id>
    <published>2007-05-02T16:47:06.7415-07:00</published>
    <updated>2007-05-02T16:47:06.7415-07:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>
My daughter came up to me yesterday and said "09 F9 11 02 9D 74 E3 5B D8 41 56 C5
63 56 88 C0" - I have absolutely no idea what she was talking about, but I thought
was interesting nonetheless.
</p>
        <img width="0" height="0" src="http://blog.jasonbunting.com/aggbug.ashx?id=aef0d372-d258-48ff-ac7e-dffad10e82e5" />
      </div>
    </content>
  </entry>
  <entry>
    <title>Dell continues to sell XP</title>
    <link rel="alternate" type="text/html" href="http://blog.jasonbunting.com/PermaLink,guid,b0c3c691-a570-4bd1-b5b7-8ac733a20e65.aspx" />
    <id>http://blog.jasonbunting.com/PermaLink,guid,b0c3c691-a570-4bd1-b5b7-8ac733a20e65.aspx</id>
    <published>2007-04-20T13:43:40.5-07:00</published>
    <updated>2007-04-20T13:43:40.5-07:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>
I loved seeing <a href="http://www.msnbc.msn.com/id/18230178/"><strong>this story</strong></a> today;
Vista is a worthless upgrade IMNSHO.
</p>
        <img width="0" height="0" src="http://blog.jasonbunting.com/aggbug.ashx?id=b0c3c691-a570-4bd1-b5b7-8ac733a20e65" />
      </div>
    </content>
  </entry>
  <entry>
    <title>I Couldn't Care Less</title>
    <link rel="alternate" type="text/html" href="http://blog.jasonbunting.com/PermaLink,guid,bff7682e-6acb-4469-af8e-9f79382bf4b4.aspx" />
    <id>http://blog.jasonbunting.com/PermaLink,guid,bff7682e-6acb-4469-af8e-9f79382bf4b4.aspx</id>
    <published>2007-04-04T21:19:50.46875-07:00</published>
    <updated>2007-04-04T21:19:50.46875-07:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>
ARGH! While reading comments on a blog today, I came across someone using a phrase
which, for some reason, really gets to me: "I could care less." Reading it or hearing
it, it really gets me. It is almost as bad as hearing someone say "irregardless,"
which, unfortunately, seems to be making inroads among those that should know better.
</p>
        <p>
Okay people - <em>think</em> about things before you say or write them. Help me live...
</p>
        <img width="0" height="0" src="http://blog.jasonbunting.com/aggbug.ashx?id=bff7682e-6acb-4469-af8e-9f79382bf4b4" />
      </div>
    </content>
  </entry>
  <entry>
    <title>Gay Advocacy Group Demonstrates at BYU</title>
    <link rel="alternate" type="text/html" href="http://blog.jasonbunting.com/PermaLink,guid,d9d067b0-6942-4fae-80cd-72367b246a28.aspx" />
    <id>http://blog.jasonbunting.com/PermaLink,guid,d9d067b0-6942-4fae-80cd-72367b246a28.aspx</id>
    <published>2007-03-22T15:39:17.594-07:00</published>
    <updated>2007-04-10T15:45:27.734375-07:00</updated>
    <category term="Everything" label="Everything" scheme="http://blog.jasonbunting.com/CategoryView,category,Everything.aspx" />
    <category term="Randomness" label="Randomness" scheme="http://blog.jasonbunting.com/CategoryView,category,Randomness.aspx" />
    <category term="Religion" label="Religion" scheme="http://blog.jasonbunting.com/CategoryView,category,Religion.aspx" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>
          <br />
          <a href="http://www.ksl.com/?nid=148&amp;sid=1019286" target="_blank">Here is the
story</a> from KSL's website. 
</p>
        <p>
Why are these people doing this? This group, calling themselves "Soulforce,"  "travels
to religious universities which, they say, discriminate against homosexuals." Hmm.
The word discriminate is too vague to know what they are really after, but if they
are really saying "we don't like your school because you believe that homosexuality
is somehow wrong as a lifestyle choice and we want you to accept it with open arms"
then they are really smoking crack, to put it in a politically-correct way. :P
</p>
        <p>
Hello? The LDS church does not accept homosexuality as a lifestyle choice,
and that is that. Non-negotiable. This is a very fundamental thing we are talking
about. I hate to do it, because it is so cliched, but it is so true: God created Adam
and Eve, not Adam and Steve. Capiche? 
</p>
        <p>
Now, does that mean we <em>hate</em> those that call themselves homosexuals or that
feel they suffer from so-called 'same-sex attraction' (SSA)? No. Years ago I was friends
with and used to share an apartment with someone suffering from SSA and I didn't treat
him poorly or think of him as a freak nor does God. However, when people openly engage
in homosexual activity, the act is what is condemned. And that does not mean we are
homophobic. Could it lead to homophobia? Sure. And that should be watched. However,
the LDS church and the schools it owns are not going to bow to your pressure.
</p>
        <p>
I don't know why, but the agenda of homosexual groups really gets on my nerves and
I guess that is why I blog about it particularly. Used to be that all they wanted
was tolerance. Then they wanted acceptance and validation for their lifestyle. Now
they will not tolerate the beliefs of those that once tolerated them. How nice - that
is right in line with something Elder Neal A. Maxwell <a href="http://library.lds.org/nxt/gateway.dll/Magazines/Ensign/1999.htm/ensign%20may%201999.htm/repent%20of%20our%20selfishness%20dampc%20568.htm" target="_blank">once
said</a>:
</p>
        <p>
"Today, in place of some traditionally shared values is a demanding conformity pushed,
ironically, by those who eventually will not tolerate those who once tolerated them."
</p>
        <img width="0" height="0" src="http://blog.jasonbunting.com/aggbug.ashx?id=d9d067b0-6942-4fae-80cd-72367b246a28" />
      </div>
    </content>
  </entry>
</feed>