<?xml version="1.0"?>
<rss version="2.0" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/">
  <channel>
    <title>Jason Bock's Weblog</title>
    <link>http://www.jasonbock.net/JB</link>
    <description>Writing code, creating books, playing video games, and other stuff</description>
    <image>
      <url>http://www.jasonbock.net/JB/Images/Jason.jpg</url>
      <link>http://www.jasonbock.net/JB/Images/Jason.jpg</link>
      <title>Jason Bock's Weblog</title>
    </image>
    <language>en</language>
    <copyright>Copyright 2005 Jason Bock</copyright>
    <lastBuildDate>Fri, 16 May 2008 12:39:05 GMT</lastBuildDate>
    <managingEditor>jason@jasonbock.net</managingEditor>
    <item>
      <title>I Fought the Weeds, and the...Weeds Won</title>
      <link>http://www.jasonbock.net/JB/Default.aspx?blog=entry.445675ada60e4c768f609c2b70182268</link>
      <wfw:comment>http://www.jasonbock.net/JB/Default.aspx?blog=entry.445675ada60e4c768f609c2b70182268</wfw:comment>
      <comments>http://www.jasonbock.net/JB/Default.aspx?blog=entry.445675ada60e4c768f609c2b70182268#comments</comments>
      <wfw:commentRss>http://www.jasonbock.net/JB/CommentRss.aspx?entry=445675ada60e4c768f609c2b70182268</wfw:commentRss>
      <slash:comments>0</slash:comments>
      <description>&lt;P&gt;I give up.&lt;/P&gt;
&lt;P&gt;Last year, we stopped using a lawn service to treat our lawn. Ever since then, despite my best efforts, our lawn has gone to shit. Weeds everywhere. This morning, I tried to pull them, and after an hour's worth of work, I realized I barely made a dent in the weeds.&lt;/P&gt;
&lt;P&gt;I'm calling that service again this morning.&lt;/P&gt;</description>
      <pubDate>Thu, 15 May 2008 12:29:37 GMT</pubDate>
      <guid isPermaLink="false">445675ad-a60e-4c76-8f60-9c2b70182268</guid>
    </item>
    <item>
      <title>I'm In a Morbid Saint Video!!</title>
      <link>http://www.jasonbock.net/JB/Default.aspx?blog=entry.79b8725eb6a4403b870edd17444ca617</link>
      <wfw:comment>http://www.jasonbock.net/JB/Default.aspx?blog=entry.79b8725eb6a4403b870edd17444ca617</wfw:comment>
      <comments>http://www.jasonbock.net/JB/Default.aspx?blog=entry.79b8725eb6a4403b870edd17444ca617#comments</comments>
      <wfw:commentRss>http://www.jasonbock.net/JB/CommentRss.aspx?entry=79b8725eb6a4403b870edd17444ca617</wfw:commentRss>
      <slash:comments>2</slash:comments>
      <description>&lt;P&gt;Now this is quite bizarre (i.e. don't ask how I thought of this), but there was a band from Sheboygan in the late 80s called Morbid Saint. They were the death-speed metal "satan" band (for lack of a better term) and Sardonyx (the band I was in) was the Christian alternative. Not that we were any better or worse, and frankly it wasn't that big of a deal. We ended up talking to them a couple of times and while I didn't get into their singing some of the songs were decent. On a whim, I decided to YouTube 'em, and I found this video:&lt;/P&gt;
&lt;P&gt;&lt;EMBED src=http://www.youtube.com/v/dYu9P42WVNI&amp;amp;hl=en width=425 height=355 type=application/x-shockwave-flash wmode="transparent"&gt;&lt;/EMBED&gt;&lt;/P&gt;
&lt;P&gt;It's just a bunch of pictures, but I started looking at the pics, and I thought, hey, that's the battle of the bands we both did! I wonder if I got in on a picture...and I did (comes in around 1:18)!&lt;/P&gt;
&lt;P align=center&gt;&lt;IMG src="Images/MeInMorbidSaintPicture.jpg"&gt; &lt;/P&gt;
&lt;P&gt;Too funny :).&lt;/P&gt;
&lt;P&gt;By the way, the guys next to me are the members of Sardonyx. The guy to my left is Mike Gooding (drummer), the guy to my right is Bryon Zimmermann (bassist/singer) and to Bryon's right is Tim Heinen (guitarist).&lt;/P&gt;</description>
      <pubDate>Wed, 14 May 2008 19:07:19 GMT</pubDate>
      <guid isPermaLink="false">79b8725e-b6a4-403b-870e-dd17444ca617</guid>
    </item>
    <item>
      <title>The Power of Firehoses</title>
      <link>http://www.jasonbock.net/JB/Default.aspx?blog=entry.136d2e298bac4f37856faba6be7df151</link>
      <wfw:comment>http://www.jasonbock.net/JB/Default.aspx?blog=entry.136d2e298bac4f37856faba6be7df151</wfw:comment>
      <comments>http://www.jasonbock.net/JB/Default.aspx?blog=entry.136d2e298bac4f37856faba6be7df151#comments</comments>
      <wfw:commentRss>http://www.jasonbock.net/JB/CommentRss.aspx?entry=136d2e298bac4f37856faba6be7df151</wfw:commentRss>
      <slash:comments>0</slash:comments>
      <description>&lt;P&gt;My brother-in-law is a volunteer fireman - I think he'd get a kick out of this:&lt;/P&gt;
&lt;P&gt;&lt;EMBED src=http://www.youtube.com/v/VxT281HP1rc&amp;amp;hl=en width=425 height=355 type=application/x-shockwave-flash wmode="transparent"&gt;&lt;/EMBED&gt;&lt;/P&gt;</description>
      <pubDate>Wed, 14 May 2008 17:42:58 GMT</pubDate>
      <guid isPermaLink="false">136d2e29-8bac-4f37-856f-aba6be7df151</guid>
    </item>
    <item>
      <title>The Boys</title>
      <link>http://www.jasonbock.net/JB/Default.aspx?blog=entry.d7bdee45913d4b338933a5a1d332c36f</link>
      <wfw:comment>http://www.jasonbock.net/JB/Default.aspx?blog=entry.d7bdee45913d4b338933a5a1d332c36f</wfw:comment>
      <comments>http://www.jasonbock.net/JB/Default.aspx?blog=entry.d7bdee45913d4b338933a5a1d332c36f#comments</comments>
      <wfw:commentRss>http://www.jasonbock.net/JB/CommentRss.aspx?entry=d7bdee45913d4b338933a5a1d332c36f</wfw:commentRss>
      <slash:comments>1</slash:comments>
      <description>&lt;P&gt;I haven't posted a picture of my boys in a while - he's a great one we got recently:&lt;/P&gt;
&lt;P align=center&gt;&lt;IMG src="Images/HaydenAndRyan.jpg"&gt; &lt;/P&gt;</description>
      <pubDate>Wed, 14 May 2008 14:13:46 GMT</pubDate>
      <guid isPermaLink="false">d7bdee45-913d-4b33-8933-a5a1d332c36f</guid>
    </item>
    <item>
      <title>Fortunate</title>
      <link>http://www.jasonbock.net/JB/Default.aspx?blog=entry.944a55563fa249fc82fc5137f141efcc</link>
      <wfw:comment>http://www.jasonbock.net/JB/Default.aspx?blog=entry.944a55563fa249fc82fc5137f141efcc</wfw:comment>
      <comments>http://www.jasonbock.net/JB/Default.aspx?blog=entry.944a55563fa249fc82fc5137f141efcc#comments</comments>
      <wfw:commentRss>http://www.jasonbock.net/JB/CommentRss.aspx?entry=944a55563fa249fc82fc5137f141efcc</wfw:commentRss>
      <slash:comments>0</slash:comments>
      <description>&lt;P&gt;I'm sitting here this morning, coding away, listening to some great songs, and all I can think of is this word: fortunate.&lt;/P&gt;
&lt;P&gt;How fortunate I am to have the job that I do.&lt;/P&gt;
&lt;P&gt;How fortunate I am to have met such a wonderful person in Liz.&lt;/P&gt;
&lt;P&gt;How fortunate I am to have such amazing boys: Hayden and Ryan.&lt;/P&gt;
&lt;P&gt;How fortunate I am to have a house to live in.&lt;/P&gt;
&lt;P&gt;How fortunate I am to have great parents.&lt;/P&gt;
&lt;P&gt;How fortunate I am to have all the stuff that I do :).&lt;/P&gt;
&lt;P&gt;How fortunate I am to have the education I do.&lt;/P&gt;
&lt;P&gt;How fortunate I am to not have gone down other paths in my life.&lt;/P&gt;
&lt;P&gt;There are probably lots of other things I could think of, but that's the word of the day: fortunate. Yes, we all are responsible for our lives due to the choices we make, but sometimes things happen that we really didn't control, and sometimes those things can be amazing, wonderful things.&lt;/P&gt;
&lt;P&gt;Just think of what you're fortunate of. Blog it, if you wish.&lt;/P&gt;</description>
      <pubDate>Wed, 14 May 2008 13:41:47 GMT</pubDate>
      <guid isPermaLink="false">944a5556-3fa2-49fc-82fc-5137f141efcc</guid>
    </item>
    <item>
      <title>More Proof Bill O'Reilly Is a Top-Of-The-Line Asshat</title>
      <link>http://www.jasonbock.net/JB/Default.aspx?blog=entry.2989e232b78545c5ab692753f453ee4a</link>
      <wfw:comment>http://www.jasonbock.net/JB/Default.aspx?blog=entry.2989e232b78545c5ab692753f453ee4a</wfw:comment>
      <comments>http://www.jasonbock.net/JB/Default.aspx?blog=entry.2989e232b78545c5ab692753f453ee4a#comments</comments>
      <wfw:commentRss>http://www.jasonbock.net/JB/CommentRss.aspx?entry=2989e232b78545c5ab692753f453ee4a</wfw:commentRss>
      <slash:comments>1</slash:comments>
      <description>&lt;P&gt;Just in case you needed more proof:&lt;/P&gt;
&lt;P&gt;&lt;EMBED src=http://www.youtube.com/v/2tJjNVVwRCY&amp;amp;hl=en width=425 height=355 type=application/x-shockwave-flash wmode="transparent"&gt;&lt;/EMBED&gt;&lt;/P&gt;
&lt;P&gt;Wow, he was on "Inside Edition"?&lt;/P&gt;
&lt;P&gt;(Hat tip: &lt;A href="http://feeds.feedburner.com/~r/cynical-c/nxDH/~3/289514533/" target=_blank&gt;Cynical-C&lt;/A&gt;)&lt;/P&gt;</description>
      <pubDate>Tue, 13 May 2008 16:06:41 GMT</pubDate>
      <guid isPermaLink="false">2989e232-b785-45c5-ab69-2753f453ee4a</guid>
    </item>
    <item>
      <title>Implicit Conversion</title>
      <link>http://www.jasonbock.net/JB/Default.aspx?blog=entry.da6ddea1aa13427f87e88ab29c10bd1d</link>
      <wfw:comment>http://www.jasonbock.net/JB/Default.aspx?blog=entry.da6ddea1aa13427f87e88ab29c10bd1d</wfw:comment>
      <comments>http://www.jasonbock.net/JB/Default.aspx?blog=entry.da6ddea1aa13427f87e88ab29c10bd1d#comments</comments>
      <wfw:commentRss>http://www.jasonbock.net/JB/CommentRss.aspx?entry=da6ddea1aa13427f87e88ab29c10bd1d</wfw:commentRss>
      <slash:comments>1</slash:comments>
      <description>&lt;P&gt;Recently I ran into a problem where I had to dive into the C# bag of tricks. It's not a complicated trick and it's been around for quite some time (which is why I had to dive into the bag, rathen than skim the LINQ surface). But I've never used it until now, so here's a quick review of implicit conversions.&lt;/P&gt;
&lt;P&gt;I needed to create a percentage value. Basically, I wanted to restrict a &lt;CODE&gt;decimal&lt;/CODE&gt; between the values of 0 to 100 inclusive [1]. So rather than spread that rule around in code, I created a tiny struct:&lt;/P&gt;&lt;PRE&gt;using System;

namespace ImplicitConversion
{
    public struct Percentage
    {
        private decimal value;

        public Percentage(decimal value)
        {
            if(value &amp;lt; 0m || value &amp;gt; 100m)
            {
                throw new ArgumentException("The value must be between 0 and 100 inclusive.", "value");
            }

            this.value = value;
        }

        public decimal Value
        {
            get
            {
                return this.value;
            }
        }
    }
}
&lt;/PRE&gt;
&lt;P&gt;OK, that works [2], but then I created a function like this:&lt;/P&gt;&lt;PRE&gt;static void Report(Percentage one, Percentage two)
{
    Console.Out.WriteLine(one);
    Console.Out.WriteLine(two);
}
&lt;/PRE&gt;
&lt;P&gt;and I accidentally used it like this:&lt;/P&gt;&lt;PRE&gt;Program.Report(10m, 20m);
&lt;/PRE&gt;
&lt;P&gt;Of course, to fix it, I could've done this:&lt;/P&gt;&lt;PRE&gt;Program.Report(new Percentage(10m), 
   new Percentage(20m));
&lt;/PRE&gt;
&lt;P&gt;but that felt...unnatural. Why couldn't I just convert it? That would be so cool if I could...hey, wait a minute! C# has implicit conversion:&lt;/P&gt;&lt;PRE&gt;using System;

namespace ImplicitConversion
{
    public struct Percentage
    {
        private decimal value;

        public Percentage(decimal value)
        {
            if(value &amp;lt; 0m || value &amp;gt; 100m)
            {
                throw new ArgumentException("The value must be between 0 and 100 inclusive.", "value");
            }

            this.value = value;
        }

&lt;STRONG&gt;        public static implicit operator decimal(Percentage value)
        {
            return value.value;
        }

        public static implicit operator Percentage(decimal value)
        {
            return new Percentage(value);
        }

&lt;/STRONG&gt;        public decimal Value
        {
            get
            {
                return this.value;
            }
        }
    }
}
&lt;/PRE&gt;
&lt;P&gt;And all was well again.&lt;/P&gt;
&lt;P&gt;Again, I've never used implict (or explicit) conversion since C# came out. But in this case it seems like a natural fit.&lt;/P&gt;
&lt;P&gt;[1] Yes, I realize a percentage can be negative and go beyond the upper range I gave. Just ignore that for now.&lt;/P&gt;
&lt;P&gt;[2] I would've like to make it generic, but then I would've wanted to constrain the type to unsigned numerics, and that's not doable in the &lt;CODE&gt;where&lt;/CODE&gt; clauses. Plus, I just needed to get this done with the &lt;CODE&gt;decimal&lt;/CODE&gt; type, so I declared YAGNI :).&lt;/P&gt;</description>
      <pubDate>Mon, 12 May 2008 18:13:20 GMT</pubDate>
      <guid isPermaLink="false">da6ddea1-aa13-427f-87e8-8ab29c10bd1d</guid>
    </item>
    <item>
      <title>No Relation Between Vaccines and Autism</title>
      <link>http://www.jasonbock.net/JB/Default.aspx?blog=entry.e3bb8ffe2b054bfc86a7e512e5471a0b</link>
      <wfw:comment>http://www.jasonbock.net/JB/Default.aspx?blog=entry.e3bb8ffe2b054bfc86a7e512e5471a0b</wfw:comment>
      <comments>http://www.jasonbock.net/JB/Default.aspx?blog=entry.e3bb8ffe2b054bfc86a7e512e5471a0b#comments</comments>
      <wfw:commentRss>http://www.jasonbock.net/JB/CommentRss.aspx?entry=e3bb8ffe2b054bfc86a7e512e5471a0b</wfw:commentRss>
      <slash:comments>2</slash:comments>
      <description>&lt;P&gt;&lt;A href="http://www.badastronomy.com/bablog/2008/05/12/vaccines-do-not-cause-autism/" target=_blank&gt;This post&lt;/A&gt; sums it up very nicely. He says it with the data to back it up, and he also notes that he has a child that he would never wish such a disorder upon. But vaccines are not to blame, and he shows just how much worse things would be if kids wouldn't be vaccinated.&lt;/P&gt;
&lt;P&gt;Are my kids getting vaccinations? HELL YES.&lt;/P&gt;</description>
      <pubDate>Mon, 12 May 2008 17:42:02 GMT</pubDate>
      <guid isPermaLink="false">e3bb8ffe-2b05-4bfc-86a7-e512e5471a0b</guid>
    </item>
  </channel>
</rss>