<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>The Hogg Blog : Fun</title><link>http://blogs.msdn.com/thehoggblog/archive/tags/Fun/default.aspx</link><description>Tags: Fun</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>Merry Christmas and a Happy New Year!</title><link>http://blogs.msdn.com/thehoggblog/archive/2008/12/24/merry-christmas-and-a-happy-new-year.aspx</link><pubDate>Wed, 24 Dec 2008 23:08:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9252102</guid><dc:creator>Jason Hogg</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/thehoggblog/comments/9252102.aspx</comments><wfw:commentRss>http://blogs.msdn.com/thehoggblog/commentrss.aspx?PostID=9252102</wfw:commentRss><wfw:comment>http://blogs.msdn.com/thehoggblog/rsscomments.aspx?PostID=9252102</wfw:comment><description>&lt;P&gt;&amp;nbsp;I did a particularly lousy job of sending out Christmas cards this year, so figured I would instead make a last ditch effort to bring some joy to the world through my blog. As you may have seen we have had a pretty interesting winter so far in Seattle with record amounts of snow bringing the city to a near stand still.&amp;nbsp;The photo below shows the Microsoft campus from my office in B117.&amp;nbsp;&amp;nbsp;Merry Christmas (or Happy Holidays if the former offends you :-)) to all and best wishes for the coming year. &lt;/P&gt;
&lt;P&gt;&lt;IMG title="Snow at microsoft" style="WIDTH: 500px; HEIGHT: 375px" height=375 alt="Snow at microsoft" src="http://blogs.msdn.com/photos/jason_hogg/images/9252092/500x375.aspx" width=500 mce_src="http://blogs.msdn.com/photos/jason_hogg/images/9252092/500x375.aspx"&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9252102" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/thehoggblog/archive/tags/Fun/default.aspx">Fun</category></item><item><title>Sticky Notes for Your Code</title><link>http://blogs.msdn.com/thehoggblog/archive/2008/12/17/sticky-notes-for-your-code.aspx</link><pubDate>Thu, 18 Dec 2008 02:51:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9232640</guid><dc:creator>Jason Hogg</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/thehoggblog/comments/9232640.aspx</comments><wfw:commentRss>http://blogs.msdn.com/thehoggblog/commentrss.aspx?PostID=9232640</wfw:commentRss><wfw:comment>http://blogs.msdn.com/thehoggblog/rsscomments.aspx?PostID=9232640</wfw:comment><description>&lt;P&gt;If your desk is anything like mine it is cluttered with millions of sticky notes, each containing some snippet of information that at some point seemed worth writing down. If you have been dreaming of the day that you can have your VS environment look similar, then wait no longer! My good friend &lt;A class="" href="http://www.clariusconsulting.net/blogs/pga/" mce_href="http://www.clariusconsulting.net/blogs/pga/"&gt;Pablo Galliano&lt;/A&gt; has the perfect solution.&lt;/P&gt;
&lt;P&gt;Seriously though, Pablo is probably one of the leading experts at extending VS (in both natural and unnatural ways) and has written a cool little utility allowing you to add post-it notes to your code. Take a look &lt;A class="" href="http://www.stickynotes4code.com/Screenshots.aspx" mce_href="http://www.stickynotes4code.com/Screenshots.aspx"&gt;here &lt;/A&gt;for more information. &lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9232640" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/thehoggblog/archive/tags/Fun/default.aspx">Fun</category><category domain="http://blogs.msdn.com/thehoggblog/archive/tags/VS/default.aspx">VS</category></item><item><title>Oslo MGrammar Turtle Graphics for VS2008</title><link>http://blogs.msdn.com/thehoggblog/archive/2008/12/12/oslo-mgrammar-logo-for-vs2007.aspx</link><pubDate>Sat, 13 Dec 2008 04:16:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9204452</guid><dc:creator>Jason Hogg</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/thehoggblog/comments/9204452.aspx</comments><wfw:commentRss>http://blogs.msdn.com/thehoggblog/commentrss.aspx?PostID=9204452</wfw:commentRss><wfw:comment>http://blogs.msdn.com/thehoggblog/rsscomments.aspx?PostID=9204452</wfw:comment><description>&lt;P&gt;My colleague Joshy Joseph reminded me that the MGrammar based Turtle Graphics parser that I posted &lt;A class="" href="http://blogs.msdn.com/thehoggblog/archive/2008/11/25/a-logo-turtle-graphics-sample-in-mgrammar.aspx" mce_href="http://blogs.msdn.com/thehoggblog/archive/2008/11/25/a-logo-turtle-graphics-sample-in-mgrammar.aspx"&gt;here&lt;/A&gt;&amp;nbsp;was for VS2010. I have attached a newer version of the solution that Joshy coverted to run in VS2008. I noticed that Doug Finke has also done the same thing whilst also creating a couple of additional samples as well. Take a look at his &lt;A class="" href="http://dougfinke.com/blog/?cat=195" mce_href="http://dougfinke.com/blog/?cat=195"&gt;blog&lt;/A&gt; for more details... &lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9204452" width="1" height="1"&gt;</description><enclosure url="http://blogs.msdn.com/thehoggblog/attachment/9204452.ashx" length="2826604" type="application/x-zip-compressed" /><category domain="http://blogs.msdn.com/thehoggblog/archive/tags/Fun/default.aspx">Fun</category><category domain="http://blogs.msdn.com/thehoggblog/archive/tags/DSL/default.aspx">DSL</category><category domain="http://blogs.msdn.com/thehoggblog/archive/tags/PDC2008/default.aspx">PDC2008</category><category domain="http://blogs.msdn.com/thehoggblog/archive/tags/Software+Factories/default.aspx">Software Factories</category><category domain="http://blogs.msdn.com/thehoggblog/archive/tags/Oslo/default.aspx">Oslo</category><category domain="http://blogs.msdn.com/thehoggblog/archive/tags/_2600_quot_3B00_M_2600_quot_3B00_/default.aspx">&amp;quot;M&amp;quot;</category><category domain="http://blogs.msdn.com/thehoggblog/archive/tags/Turtle+Graphics/default.aspx">Turtle Graphics</category></item><item><title>WhoIs Shenanigans</title><link>http://blogs.msdn.com/thehoggblog/archive/2008/03/31/whois-shenanigans.aspx</link><pubDate>Tue, 01 Apr 2008 03:29:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8346967</guid><dc:creator>Jason Hogg</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/thehoggblog/comments/8346967.aspx</comments><wfw:commentRss>http://blogs.msdn.com/thehoggblog/commentrss.aspx?PostID=8346967</wfw:commentRss><wfw:comment>http://blogs.msdn.com/thehoggblog/rsscomments.aspx?PostID=8346967</wfw:comment><description>&lt;P&gt;I am sure that everyone has used a WhoIs utility (such as &lt;A href="http://www.internic.org/whois.html" mce_href="http://www.internic.org/whois.html"&gt;http://www.internic.org/whois.html&lt;/A&gt;) for querying the owner of a domain name such as microsoft.com. There is however an alternative to these Web forms which provides more information allowing you to search not just for strings matching a domain name, but also for strings matching registered hostnames of domain names. This provides hysterical insight into the minds of some Webmasters. For a laugh take a look at some of these hostnames registered with microsoft.com or google.com in them. &lt;/P&gt;
&lt;P&gt;MICROSOFT.COM.WILL.LIVE.FOREVER.BECOUSE.UNIXSUCKS.COM&lt;BR&gt;MICROSOFT.COM.WILL.BE.BEATEN.WITH.MY.SPANNER.NET&lt;BR&gt;MICROSOFT.COM.SOFTWARE.IS.NOT.USED.AT.REG.RU&lt;BR&gt;MICROSOFT.COM.SHOULD.GIVE.UP.BECAUSE.LINUXISGOD.COM&lt;BR&gt;MICROSOFT.COM.IS.NOT.HOSTED.BY.ACTIVEDOMAINDNS.NET&lt;BR&gt;MICROSOFT.COM.IS.GOD.BECOUSE.UNIXSUCKS.COM&lt;BR&gt;MICROSOFT.COM.HAS.ITS.OWN.CRACKLAB.COM&lt;BR&gt;MICROSOFT.COM&lt;/P&gt;
&lt;P&gt;GOOGLE.COM.ZOMBIED.AND.HACKED.BY.WWW.WEB-HACK.COM&lt;BR&gt;GOOGLE.COM.YAHOO.COM.MYSPACE.COM.YOUTUBE.COM.FACEBOOK.COM.THEYSUCK.DNSABOUT.COM&lt;BR&gt;GOOGLE.COM.IS.NOT.HOSTED.BY.ACTIVEDOMAINDNS.NET&lt;BR&gt;GOOGLE.COM.IS.HOSTED.ON.PROFITHOSTING.NET&lt;BR&gt;GOOGLE.COM.ACQUIRED.BY.CALITEC.NET&lt;BR&gt;GOOGLE.COM&lt;/P&gt;
&lt;P&gt;To see the complete list (r rated) try running the code yourself. Post a response with your funniest hostname or domain names other than these two that are particularly funny.&lt;/P&gt;&lt;FONT color=#0000ff size=2&gt;
&lt;P&gt;using&lt;/FONT&gt;&lt;FONT size=2&gt; System;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;
&lt;P&gt;using&lt;/FONT&gt;&lt;FONT size=2&gt; System.Collections.Generic;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;
&lt;P&gt;using&lt;/FONT&gt;&lt;FONT size=2&gt; System.Linq;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;
&lt;P&gt;using&lt;/FONT&gt;&lt;FONT size=2&gt; System.Text;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;
&lt;P&gt;using&lt;/FONT&gt;&lt;FONT size=2&gt; System.Net.Sockets;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;
&lt;P&gt;using&lt;/FONT&gt;&lt;FONT size=2&gt; System.IO; &lt;/P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;
&lt;P&gt;namespace&lt;/FONT&gt;&lt;FONT size=2&gt; WhoIsQuery&lt;/P&gt;
&lt;P&gt;{&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&amp;nbsp;&amp;nbsp; class&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#2b91af size=2&gt;Program&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; static&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;void&lt;/FONT&gt;&lt;FONT size=2&gt; Main(&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;string&lt;/FONT&gt;&lt;FONT size=2&gt;[] args)&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // A query that results in more than one result lists all possible results&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // so that a more precise query can be entered. &lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // A query with only one result returns just that result. &lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Send request to WhoIs Server&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#2b91af size=2&gt;&lt;FONT color=#008000&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;Console&lt;/FONT&gt;&lt;FONT size=2&gt;.WriteLine(&lt;/FONT&gt;&lt;FONT color=#a31515 size=2&gt;"Contacting Internic"&lt;/FONT&gt;&lt;FONT size=2&gt;);&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#2b91af size=2&gt;&lt;FONT color=#008000&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;TcpClient&lt;/FONT&gt;&lt;FONT size=2&gt; client = &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;new&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#2b91af size=2&gt;TcpClient&lt;/FONT&gt;&lt;FONT size=2&gt;(&lt;/FONT&gt;&lt;FONT color=#a31515 size=2&gt;"whois.internic.net"&lt;/FONT&gt;&lt;FONT size=2&gt;, 43);&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#2b91af size=2&gt;&lt;FONT color=#008000&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;StreamWriter&lt;/FONT&gt;&lt;FONT size=2&gt; writer = &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;new&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#2b91af size=2&gt;StreamWriter&lt;/FONT&gt;&lt;FONT size=2&gt;(client.GetStream());&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#008000&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;writer.WriteLine(&lt;/FONT&gt;&lt;FONT color=#a31515 size=2&gt;"microsoft.com"&lt;/FONT&gt;&lt;FONT size=2&gt;);&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#008000&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;writer.Flush();&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Retrieve response&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#2b91af size=2&gt;&lt;FONT color=#008000&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;StringBuilder&lt;/FONT&gt;&lt;FONT size=2&gt; output = &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;new&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#2b91af size=2&gt;StringBuilder&lt;/FONT&gt;&lt;FONT size=2&gt;();&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#2b91af size=2&gt;&lt;FONT color=#008000&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;StreamReader&lt;/FONT&gt;&lt;FONT size=2&gt; reader = &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;new&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#2b91af size=2&gt;StreamReader&lt;/FONT&gt;&lt;FONT size=2&gt;(client.GetStream());&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#008000&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;do&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;
&lt;P&gt;&lt;FONT color=#008000&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;{&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#008000&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;output.Append(reader.ReadLine() + &lt;/FONT&gt;&lt;FONT color=#2b91af size=2&gt;Environment&lt;/FONT&gt;&lt;FONT size=2&gt;.NewLine);&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#008000&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;}&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#008000&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;while&lt;/FONT&gt;&lt;FONT size=2&gt; (!reader.EndOfStream); &lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#2b91af size=2&gt;&lt;FONT color=#008000&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;Console&lt;/FONT&gt;&lt;FONT size=2&gt;.WriteLine(output);&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#2b91af size=2&gt;&lt;FONT color=#008000&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;Console&lt;/FONT&gt;&lt;FONT size=2&gt;.ReadLine();&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#008000&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/FONT&gt;}&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;
&lt;P&gt;}&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;/FONT&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8346967" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/thehoggblog/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://blogs.msdn.com/thehoggblog/archive/tags/Fun/default.aspx">Fun</category></item></channel></rss>