<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:pingback="http://madskills.com/public/xml/rss/module/pingback/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:creativeCommons="http://backend.userland.com/creativeCommonsRssModule" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">
  <channel>
    <title>Travis's lame ol' blog</title>
    <link>http://travis.servebeer.com/blog.net/</link>
    <description>yay, Travis finally changed his blog!</description>
    <language>en-us</language>
    <copyright>Travis Hardiman</copyright>
    <lastBuildDate>Mon, 06 Feb 2012 21:59:33 PST</lastBuildDate>
    <generator>newtelligence dasBlog 2.2.8279.16125</generator>
    <managingEditor>travis.hardiman+dasblog@gmail.com</managingEditor>
    <webMaster>travis.hardiman+dasblog@gmail.com</webMaster>
    <atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/Traviblog" /><feedburner:info uri="traviblog" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><geo:lat>43.214357</geo:lat><geo:long>-77.555569</geo:long><image><link>http://www.feedburner.com</link><url>http://www.feedburner.com/fb/images/pub/fb_pwrd.gif</url><title>This Feed Powered by FeedBurner.com</title></image><feedburner:browserFriendly>This is an XML content feed. It is intended to be viewed in a newsreader or syndicated to another site.</feedburner:browserFriendly><item><title>musicForProgramming(); [del.icio.us]</title><link>http://musicforprogramming.net/</link><category>development</category><category>music</category><dc:creator>travis</dc:creator><pubDate>Mon, 06 Feb 2012 21:59:33 PST</pubDate><guid isPermaLink="false">http://www.delicious.com/url/b2d0c1ab673f256dd14b4ba4c64c1aa4#travis</guid><description>A series of mixes intended for listening
while programming to aid concentration
and increase productivity (also compatible
with other activities).&lt;img src="http://feeds.feedburner.com/~r/Traviblog/~4/XRqxZudAWo0" height="1" width="1"/&gt;</description><wfw:commentRss>http://feeds.delicious.com/v2/rss/url/b2d0c1ab673f256dd14b4ba4c64c1aa4</wfw:commentRss></item><item><title>And a good time was had by all. [Flickr]</title><link>http://www.flickr.com/photos/diesel_travis/6827342341/</link><category></category><dc:creator>T-Rav</dc:creator><pubDate>Sun, 05 Feb 2012 19:14:14 PST</pubDate><guid isPermaLink="false">tag:flickr.com,2005:/photo/6827342341</guid><description>&lt;p&gt;&lt;a href="http://www.flickr.com/people/diesel_travis/"&gt;T-Rav&lt;/a&gt; posted a photo:&lt;/p&gt;
	
&lt;p&gt;&lt;a href="http://www.flickr.com/photos/diesel_travis/6827342341/" title="And a good time was had by all."&gt;&lt;img src="http://farm8.staticflickr.com/7149/6827342341_ff920559cc_m.jpg" width="240" height="180" alt="And a good time was had by all." /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Genny Bock&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/Traviblog/~4/jkE2SOIyStI" height="1" width="1"/&gt;</description><enclosure url="http://farm8.staticflickr.com/7149/6827342341_ff920559cc_b.jpg" length="0" type="image/jpeg" /><dc:date.Taken>2012-02-06T03:12:03-08:00</dc:date.Taken></item><item><title>If you look really close, you can see the reflection of a crappy phone [Flickr]</title><link>http://www.flickr.com/photos/diesel_travis/6790140417/</link><category>coffee</category><category>frenchpress</category><category>2012</category><dc:creator>T-Rav</dc:creator><pubDate>Mon, 30 Jan 2012 08:44:31 PST</pubDate><guid isPermaLink="false">tag:flickr.com,2005:/photo/6790140417</guid><description>&lt;p&gt;&lt;a href="http://www.flickr.com/people/diesel_travis/"&gt;T-Rav&lt;/a&gt; posted a photo:&lt;/p&gt;
	
&lt;p&gt;&lt;a href="http://www.flickr.com/photos/diesel_travis/6790140417/" title="If you look really close, you can see the reflection of a crappy phone"&gt;&lt;img src="http://farm8.staticflickr.com/7030/6790140417_dd6e603a1d_m.jpg" width="180" height="240" alt="If you look really close, you can see the reflection of a crappy phone" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;French press is awesome.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/Traviblog/~4/huuBkusxhlw" height="1" width="1"/&gt;</description><enclosure url="http://farm8.staticflickr.com/7030/6790140417_dd6e603a1d_b.jpg" length="0" type="image/jpeg" /><dc:date.Taken>2012-01-30T16:41:56-08:00</dc:date.Taken></item><item><title>Social Folders [del.icio.us]</title><link>http://socialfolders.me/</link><category>backup</category><category>software</category><category>download</category><category>socialmedia</category><dc:creator>travis</dc:creator><pubDate>Fri, 27 Jan 2012 11:30:25 PST</pubDate><guid isPermaLink="false">http://www.delicious.com/url/8083fb419f77fe98398f672c4b8e084b#travis</guid><description>sync media from social networks back down to your computer&lt;img src="http://feeds.feedburner.com/~r/Traviblog/~4/6kG7_fSxrKA" height="1" width="1"/&gt;</description><wfw:commentRss>http://feeds.delicious.com/v2/rss/url/8083fb419f77fe98398f672c4b8e084b</wfw:commentRss></item><item><title>HTML5 Please [del.icio.us]</title><link>http://html5please.us/</link><category>development</category><category>html</category><category>reference</category><category>css3</category><category>html5</category><dc:creator>travis</dc:creator><pubDate>Mon, 23 Jan 2012 10:56:35 PST</pubDate><guid isPermaLink="false">http://www.delicious.com/url/ef9844451e50d988802d9013767ecfc2#travis</guid><description>Look up HTML5 features, know if they are ready for use, and if so find out how you should use them – with polyfills, fallbacks or as they are.&lt;img src="http://feeds.feedburner.com/~r/Traviblog/~4/OY60SKli1Xo" height="1" width="1"/&gt;</description><wfw:commentRss>http://feeds.delicious.com/v2/rss/url/ef9844451e50d988802d9013767ecfc2</wfw:commentRss></item><item><title>Just chilling at the beach [Flickr]</title><link>http://www.flickr.com/photos/diesel_travis/6744906579/</link><category></category><dc:creator>T-Rav</dc:creator><pubDate>Sun, 22 Jan 2012 14:07:17 PST</pubDate><guid isPermaLink="false">tag:flickr.com,2005:/photo/6744906579</guid><description>&lt;p&gt;&lt;a href="http://www.flickr.com/people/diesel_travis/"&gt;T-Rav&lt;/a&gt; posted a photo:&lt;/p&gt;
	
&lt;p&gt;&lt;a href="http://www.flickr.com/photos/diesel_travis/6744906579/" title="Just chilling at the beach"&gt;&lt;img src="http://farm8.staticflickr.com/7031/6744906579_8d10866d62_m.jpg" width="240" height="180" alt="Just chilling at the beach" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Emmett's idea.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/Traviblog/~4/VE-H3pOHYaA" height="1" width="1"/&gt;</description><enclosure url="http://farm8.staticflickr.com/7031/6744906579_8d10866d62_b.jpg" length="0" type="image/jpeg" /><dc:date.Taken>2012-01-22T21:03:22-08:00</dc:date.Taken></item><item><title>Visual Studio Achievements - Visual Studio Gallery [del.icio.us]</title><link>http://visualstudiogallery.msdn.microsoft.com/bc7a433b-b594-48d4-bba2-a2f24774d02f</link><category>VisualStudio</category><category>development</category><category>dev</category><dc:creator>travis</dc:creator><pubDate>Wed, 18 Jan 2012 09:18:15 PST</pubDate><guid isPermaLink="false">http://www.delicious.com/url/472009406b4d1a6993d6f175019091a0#travis</guid><description>Gamifying Visual Studio.&lt;img src="http://feeds.feedburner.com/~r/Traviblog/~4/6jKPEQUM6L4" height="1" width="1"/&gt;</description><wfw:commentRss>http://feeds.delicious.com/v2/rss/url/472009406b4d1a6993d6f175019091a0</wfw:commentRss></item><item><title>With great power comes great responsibility [Flickr]</title><link>http://www.flickr.com/photos/diesel_travis/6676555295/</link><category></category><dc:creator>T-Rav</dc:creator><pubDate>Tue, 10 Jan 2012 18:42:28 PST</pubDate><guid isPermaLink="false">tag:flickr.com,2005:/photo/6676555295</guid><description>&lt;p&gt;&lt;a href="http://www.flickr.com/people/diesel_travis/"&gt;T-Rav&lt;/a&gt; posted a photo:&lt;/p&gt;
	
&lt;p&gt;&lt;a href="http://www.flickr.com/photos/diesel_travis/6676555295/" title="With great power comes great responsibility"&gt;&lt;img src="http://farm8.staticflickr.com/7007/6676555295_eed9a9f043_m.jpg" width="240" height="180" alt="With great power comes great responsibility" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;What kind of person gives their child chocolate right before bedtime?!&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/Traviblog/~4/pUFw5n9fYaw" height="1" width="1"/&gt;</description><enclosure url="http://farm8.staticflickr.com/7007/6676555295_eed9a9f043_b.jpg" length="0" type="image/jpeg" /><dc:date.Taken>2012-01-11T02:23:47-08:00</dc:date.Taken></item><item><title>HUBOT [del.icio.us]</title><link>http://hubot.github.com/</link><category>javascript</category><category>development</category><category>node.js</category><category>coffeescript</category><category>github</category><dc:creator>travis</dc:creator><pubDate>Tue, 10 Jan 2012 08:26:47 PST</pubDate><guid isPermaLink="false">http://www.delicious.com/url/ed0c0f90991594168379a1f751183c9b#travis</guid><description>Hubot is your company's robot. Install him in your company to dramatically improve and reduce employee efficiency.&lt;img src="http://feeds.feedburner.com/~r/Traviblog/~4/xBLw9l-raUc" height="1" width="1"/&gt;</description><wfw:commentRss>http://feeds.delicious.com/v2/rss/url/ed0c0f90991594168379a1f751183c9b</wfw:commentRss></item><item><title>EaselJS: A Javascript Library for Working with the HTML5 Canvas Element. [del.icio.us]</title><link>http://easeljs.com/</link><category>development</category><category>canvas</category><category>html5</category><category>javascript</category><dc:creator>travis</dc:creator><pubDate>Tue, 10 Jan 2012 08:25:35 PST</pubDate><guid isPermaLink="false">http://www.delicious.com/url/825ba8ab6dfcf3ea9a900901d6a52c40#travis</guid><description>a javascript library for working with
the html5 canvas element&lt;img src="http://feeds.feedburner.com/~r/Traviblog/~4/cw_G9tAKoAM" height="1" width="1"/&gt;</description><wfw:commentRss>http://feeds.delicious.com/v2/rss/url/825ba8ab6dfcf3ea9a900901d6a52c40</wfw:commentRss></item><item><title>TABLEIZER! -- Spreadsheets to HTML Tables Tool [del.icio.us]</title><link>http://tableizer.journalistopia.com/</link><category>excel</category><category>html</category><dc:creator>travis</dc:creator><pubDate>Tue, 03 Jan 2012 08:33:24 PST</pubDate><guid isPermaLink="false">http://www.delicious.com/url/eb933a3831bd206d13dcf9da88ccd651#travis</guid><description>paste in xls data, get html table&lt;img src="http://feeds.feedburner.com/~r/Traviblog/~4/GIudQV96Jo4" height="1" width="1"/&gt;</description><wfw:commentRss>http://feeds.delicious.com/v2/rss/url/eb933a3831bd206d13dcf9da88ccd651</wfw:commentRss></item><item><title>Sherry's new vs old [Flickr]</title><link>http://www.flickr.com/photos/diesel_travis/6608091269/</link><category></category><dc:creator>T-Rav</dc:creator><pubDate>Sat, 31 Dec 2011 11:04:43 PST</pubDate><guid isPermaLink="false">tag:flickr.com,2005:/photo/6608091269</guid><description>&lt;p&gt;&lt;a href="http://www.flickr.com/people/diesel_travis/"&gt;T-Rav&lt;/a&gt; posted a photo:&lt;/p&gt;
	
&lt;p&gt;&lt;a href="http://www.flickr.com/photos/diesel_travis/6608091269/" title="Sherry's new vs old"&gt;&lt;img src="http://farm8.staticflickr.com/7175/6608091269_4c04db3e77_m.jpg" width="240" height="180" alt="Sherry's new vs old" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Subes&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/Traviblog/~4/77rFIndDE14" height="1" width="1"/&gt;</description><enclosure url="http://farm8.staticflickr.com/7175/6608091269_4c04db3e77_b.jpg" length="0" type="image/jpeg" /><dc:date.Taken>2011-12-31T18:54:07-08:00</dc:date.Taken></item><item><title>The Always Up-To-Date Guide to Rooting Any Android Phone [del.icio.us]</title><link>http://lifehacker.com/5789397/the-always-up+to+date-guide-to-rooting-any-android-phone</link><category>android</category><dc:creator>travis</dc:creator><pubDate>Sun, 18 Dec 2011 15:37:23 PST</pubDate><guid isPermaLink="false">http://www.delicious.com/url/6dacde2d01cc68858c41f19aa8da2a5d#travis</guid><description>rooting your android phone with superineclick&lt;img src="http://feeds.feedburner.com/~r/Traviblog/~4/9PL6xQffbqE" height="1" width="1"/&gt;</description><wfw:commentRss>http://feeds.delicious.com/v2/rss/url/6dacde2d01cc68858c41f19aa8da2a5d</wfw:commentRss></item><item><title>Moment.js - A lightweight javascript date library [del.icio.us]</title><link>http://www.momentjs.com/</link><category>javascript</category><category>date</category><category>development</category><dc:creator>travis</dc:creator><pubDate>Fri, 11 Nov 2011 19:16:11 PST</pubDate><guid isPermaLink="false">http://www.delicious.com/url/32f4aa2f576de6ccf1cee872eca46e29#travis</guid><description>Moment.js is a javascript date library that helps create, manipulate, and format dates without extending the Date prototype.&lt;img src="http://feeds.feedburner.com/~r/Traviblog/~4/usT3CI9BWdg" height="1" width="1"/&gt;</description><wfw:commentRss>http://feeds.delicious.com/v2/rss/url/32f4aa2f576de6ccf1cee872eca46e29</wfw:commentRss></item><item><title>Saxonica: XSLT and XQuery Processing [del.icio.us]</title><link>http://sourceforge.net/projects/saxon/files/Saxon-HE/</link><category>xml</category><category>xslt</category><category>xquery</category><category>xpath</category><category>developer</category><dc:creator>travis</dc:creator><pubDate>Fri, 28 Oct 2011 10:40:18 PDT</pubDate><guid isPermaLink="false">http://www.delicious.com/url/5c4fb469d0a494251946f8903805ac3e#travis</guid><description>Source and binaries for Java and .Net for advanced xml parsing, supporting latest spec drafts. Saxonica is a co-author of the specs.

Documentation at http://www.saxonica.com/&lt;img src="http://feeds.feedburner.com/~r/Traviblog/~4/wXrcT0u9jgA" height="1" width="1"/&gt;</description><wfw:commentRss>http://feeds.delicious.com/v2/rss/url/5c4fb469d0a494251946f8903805ac3e</wfw:commentRss></item><item>
      <trackback:ping>http://travis.servebeer.com/blog.net/Trackback.aspx?guid=7bb462ea-906f-4ef7-a6c1-ee8377a9bbb7</trackback:ping>
      <pingback:server>http://travis.servebeer.com/blog.net/pingback.aspx</pingback:server>
      <pingback:target>http://travis.servebeer.com/blog.net/PermaLink,guid,7bb462ea-906f-4ef7-a6c1-ee8377a9bbb7.aspx</pingback:target>
      <dc:creator>Travis</dc:creator>
      <wfw:comment>http://travis.servebeer.com/blog.net/CommentView,guid,7bb462ea-906f-4ef7-a6c1-ee8377a9bbb7.aspx</wfw:comment>
      <wfw:commentRss>http://travis.servebeer.com/blog.net/SyndicationService.asmx/GetEntryCommentsRss?guid=7bb462ea-906f-4ef7-a6c1-ee8377a9bbb7</wfw:commentRss>
      
      <title>Adding An Easy Shortcut to the JSHint javascript validator to Visual Studio</title>
      <guid isPermaLink="false">http://travis.servebeer.com/blog.net/PermaLink,guid,7bb462ea-906f-4ef7-a6c1-ee8377a9bbb7.aspx</guid>
      <link>http://travis.servebeer.com/blog.net/2011/05/13/Adding+An+Easy+Shortcut+To+The+JSHint+Javascript+Validator+To+Visual+Studio.aspx</link>
      <pubDate>Fri, 13 May 2011 18:36:30 GMT</pubDate>
      <description>&lt;body xmlns="http://www.w3.org/1999/xhtml"&gt;&#xD;
        &lt;p&gt;&#xD;
I went to add &lt;a href="http://travis.servebeer.com/blog.net/2009/08/31/Adding+An+Easy+Shortcut+To+The+JSLint+Javascript+Validator+To+Visual+Studio.aspx"&gt;JSLint&#xD;
to my Visual Studio tools&lt;/a&gt; and was disappointed that the WSH version has disappeared&#xD;
(or was discontinued). Luckily the new and improved &lt;a href="http://www.jshint.com/"&gt;JSHint&lt;/a&gt; supports&#xD;
a &lt;a href="https://github.com/jshint/jshint/blob/master/env/wsh.js"&gt;WSH wrapper&lt;/a&gt;.&#xD;
&lt;/p&gt;&#xD;
        &lt;ol&gt;&#xD;
          &lt;li&gt;&#xD;
            &lt;p&gt;&#xD;
Grab &lt;a href="https://github.com/jshint/jshint/"&gt;JSHLint&lt;/a&gt;.&#xD;
&lt;/p&gt;&#xD;
          &lt;/li&gt;&#xD;
          &lt;li&gt;&#xD;
            &lt;p&gt;&#xD;
In Visual Studio → Tools → External Tools…&#xD;
&lt;/p&gt;&#xD;
          &lt;/li&gt;&#xD;
          &lt;li&gt;&#xD;
            &lt;p&gt;&#xD;
Add a new tool with the following field values: &#xD;
&lt;/p&gt;&#xD;
            &lt;dl&gt;&#xD;
              &lt;dt&gt;Title:&lt;/dt&gt;&#xD;
              &lt;dd&gt;&amp;amp;JSHint&lt;/dd&gt;&#xD;
              &lt;dt&gt;Command:&lt;/dt&gt;&#xD;
              &lt;dd&gt;%systemroot%\system32\cscript.exe&lt;/dd&gt;&#xD;
              &lt;dt&gt;Arguments:&lt;/dt&gt;&#xD;
              &lt;dd&gt;//Nologo "&lt;var&gt;%YourJSHintPath%&lt;/var&gt;\env\wsh.js" $(ItemPath)&lt;/dd&gt;&#xD;
              &lt;dt&gt;Initial directory:&lt;/dt&gt;&#xD;
              &lt;dd&gt;"&lt;var&gt;%YourJSHintPath%&lt;/var&gt;\"&lt;/dd&gt;&#xD;
              &lt;dt&gt;Use Output window&lt;/dt&gt;&#xD;
              &lt;dd&gt;checked&lt;/dd&gt;&#xD;
            &lt;/dl&gt;&#xD;
            &lt;p&gt;&#xD;
              &lt;a href="http://www.flickr.com/photos/diesel_travis/5716546978/in/photostream/"&gt;&#xD;
                &lt;img src="http://farm3.static.flickr.com/2267/5716546978_fc85d569c9.jpg" width="500" height="365" alt="JSHint-VSTools-Adding"&gt;&lt;/img&gt;&#xD;
              &lt;/a&gt;&#xD;
            &lt;/p&gt;&#xD;
          &lt;/li&gt;&#xD;
          &lt;li&gt;&#xD;
            &lt;p&gt;&#xD;
Open up any *.js file you'd like to validate&#xD;
&lt;/p&gt;&#xD;
          &lt;/li&gt;&#xD;
          &lt;li&gt;&#xD;
            &lt;p&gt;&#xD;
Select the all new JSHint from your tools menu: &#xD;
&lt;/p&gt;&#xD;
            &lt;p&gt;&#xD;
              &lt;a href="http://www.flickr.com/photos/diesel_travis/5715982755/sizes/o/in/photostream/"&gt;&#xD;
                &lt;img src="http://farm4.static.flickr.com/3128/5715982755_d6fb3e85dd.jpg" width="500" height="340" alt="JSHint-VSTools-Running"&gt;&lt;/img&gt;&#xD;
              &lt;/a&gt;&#xD;
            &lt;/p&gt;&#xD;
          &lt;/li&gt;&#xD;
        &lt;/ol&gt;&#xD;
        &lt;p&gt;&#xD;
The output that JSHint provides appears to be much more useful than the old JSLint&#xD;
version as well.&#xD;
&lt;/p&gt;&#xD;
        &lt;img width="0" height="0" src="http://travis.servebeer.com/blog.net/aggbug.ashx?id=7bb462ea-906f-4ef7-a6c1-ee8377a9bbb7"&gt;&lt;/img&gt;&#xD;
      &lt;/body&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/ioTx7lAV1VKYjSiHzCGUTYh71F0/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/ioTx7lAV1VKYjSiHzCGUTYh71F0/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/ioTx7lAV1VKYjSiHzCGUTYh71F0/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/ioTx7lAV1VKYjSiHzCGUTYh71F0/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/Traviblog/~4/FuW5zdASUJY" height="1" width="1"/&gt;</description>
      <comments>http://travis.servebeer.com/blog.net/CommentView,guid,7bb462ea-906f-4ef7-a6c1-ee8377a9bbb7.aspx</comments>
      <category>javascript</category>
      <category>programming</category>
    <creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/3.0/</creativeCommons:license></item>
    <item>
      <trackback:ping>http://travis.servebeer.com/blog.net/Trackback.aspx?guid=172a971e-e40f-4184-ad35-e3a6b1572e8c</trackback:ping>
      <pingback:server>http://travis.servebeer.com/blog.net/pingback.aspx</pingback:server>
      <pingback:target>http://travis.servebeer.com/blog.net/PermaLink,guid,172a971e-e40f-4184-ad35-e3a6b1572e8c.aspx</pingback:target>
      <dc:creator>Travis</dc:creator>
      <wfw:comment>http://travis.servebeer.com/blog.net/CommentView,guid,172a971e-e40f-4184-ad35-e3a6b1572e8c.aspx</wfw:comment>
      <wfw:commentRss>http://travis.servebeer.com/blog.net/SyndicationService.asmx/GetEntryCommentsRss?guid=172a971e-e40f-4184-ad35-e3a6b1572e8c</wfw:commentRss>
      
      <title>Embedding an XSLT as a string in a DLL binary</title>
      <guid isPermaLink="false">http://travis.servebeer.com/blog.net/PermaLink,guid,172a971e-e40f-4184-ad35-e3a6b1572e8c.aspx</guid>
      <link>http://travis.servebeer.com/blog.net/2010/07/26/Embedding+An+XSLT+As+A+String+In+A+DLL+Binary.aspx</link>
      <pubDate>Mon, 26 Jul 2010 18:00:05 GMT</pubDate>
      <description>&lt;body xmlns="http://www.w3.org/1999/xhtml"&gt;&#xD;
        &lt;a href="http://www.flickr.com/photos/diesel_travis/4819182556/sizes/o/in/photostream/" style="display:block;float:right;"&gt;&#xD;
          &lt;img src="http://farm5.static.flickr.com/4082/4819182556_7eefd75c20_d.jpg" width="500" height="233" alt="Project Properties - Resources" style="display:block;"&gt;&lt;/img&gt;&#xD;
        &lt;/a&gt;&#xD;
        &lt;p&gt;&#xD;
If you want to distribute a class library that relies on an XSL document and only&#xD;
want to worry about a single DLL then this is probably the easiest solution. In Visual&#xD;
Studio follow these commands (and save): Project Properties → Resources → Add Existing&#xD;
file&#xD;
&lt;/p&gt;&#xD;
        &lt;p&gt;&#xD;
In this case, I am embedding a file named &lt;var&gt;Core.xsl&lt;/var&gt; with a key named &lt;var&gt;Core&lt;/var&gt;.&#xD;
That will generate a bit of code that looks like this:&#xD;
&lt;/p&gt;&#xD;
        &lt;h4&gt;~/Properties/Resources.resx:&#xD;
&lt;/h4&gt;&#xD;
        &lt;pre class="xml" style="clear:both;"&gt;&amp;lt;data name="Core" type="System.Resources.ResXFileRef, System.Windows.Forms"&amp;gt;&#xD;
	&amp;lt;value&amp;gt;..\Resources\Core.xsl;System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;utf-8&amp;lt;/value&amp;gt;&#xD;
&amp;lt;/data&amp;gt;&lt;/pre&gt;&#xD;
        &lt;h4&gt;~/Properties/Resources.Designer.cs:&#xD;
&lt;/h4&gt;&#xD;
        &lt;pre class="cs" style="clear:both;"&gt;public static string Core {&#xD;
	get {&#xD;
		return ResourceManager.GetString("Core", resourceCulture);&#xD;
	}&#xD;
}&lt;/pre&gt;&#xD;
        &lt;img src="http://farm5.static.flickr.com/4078/4818559695_a00bb0862a_d.jpg" width="474" height="264" alt="XSL file properties" style="clear: left; float: right;"&gt;&lt;/img&gt;&#xD;
        &lt;p&gt;&#xD;
Be sure to set the properties of the file so that its &lt;var&gt;Build Action&lt;/var&gt; is set&#xD;
as an &lt;code&gt;Embedded Resource&lt;/code&gt;.&#xD;
&lt;/p&gt;&#xD;
        &lt;p&gt;&#xD;
Now when you compile, the entire contents of the XSL file get embedded directly into&#xD;
the DLL as a string. You can now use the new property like this:&#xD;
&lt;/p&gt;&#xD;
        &lt;pre class="cs" style="clear:both;"&gt;public static XslCompiledTransform GetXsl(XmlDocument xDoc)&#xD;
{&#xD;
	bool enableDocumentFunction = false;&#xD;
	bool enableScript = true;&#xD;
	XsltSettings xslSettings = new XsltSettings(enableDocumentFunction, enableScript);&#xD;
&#xD;
	// only enable debugging in DEBUG mode&#xD;
	bool isDebug = true;&#xD;
#if (!DEBUG)&#xD;
	isDebug = false;&#xD;
#endif&#xD;
&#xD;
	XslCompiledTransform xsl = new XslCompiledTransform(isDebug);&#xD;
	xsl.Load(xDoc, xslSettings, new XmlUrlResolver());&#xD;
&#xD;
	return xsl;&#xD;
}&#xD;
&#xD;
public static XslCompiledTransform GetXsl()&#xD;
{&#xD;
	XmlDocument xDoc = new XmlDocument();&#xD;
	xDoc.LoadXml(Properties.Resources.Core);&#xD;
	XslCompiledTransform xsl = GetXsl(null, xDoc);&#xD;
	return xsl;&#xD;
}&lt;/pre&gt;&#xD;
        &lt;h4&gt;Previous XSLT stuff:&#xD;
&lt;/h4&gt;&#xD;
        &lt;p&gt;&#xD;
          &lt;a href="http://travis.servebeer.com/blog.net/2010/07/19/Compiling+An+XSLT+Into+A+DLL+Binary.aspx"&gt;Compiling&#xD;
An XSLT Into A DLL Binary&lt;/a&gt;&#xD;
        &lt;/p&gt;&#xD;
        &lt;img width="0" height="0" src="http://travis.servebeer.com/blog.net/aggbug.ashx?id=172a971e-e40f-4184-ad35-e3a6b1572e8c"&gt;&lt;/img&gt;&#xD;
      &lt;/body&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/sTpIaOAeHXu7P9Xtf5y4_KwN9Vo/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/sTpIaOAeHXu7P9Xtf5y4_KwN9Vo/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/sTpIaOAeHXu7P9Xtf5y4_KwN9Vo/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/sTpIaOAeHXu7P9Xtf5y4_KwN9Vo/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/Traviblog/~4/QQuRvFXyRKQ" height="1" width="1"/&gt;</description>
      <comments>http://travis.servebeer.com/blog.net/CommentView,guid,172a971e-e40f-4184-ad35-e3a6b1572e8c.aspx</comments>
      <category>programming</category>
      <category>xml/xslt/xpath</category>
    <creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/3.0/</creativeCommons:license></item>
    <item>
      <trackback:ping>http://travis.servebeer.com/blog.net/Trackback.aspx?guid=50db1b9f-1022-4715-b1bb-f4fcdf7ba1c8</trackback:ping>
      <pingback:server>http://travis.servebeer.com/blog.net/pingback.aspx</pingback:server>
      <pingback:target>http://travis.servebeer.com/blog.net/PermaLink,guid,50db1b9f-1022-4715-b1bb-f4fcdf7ba1c8.aspx</pingback:target>
      <dc:creator>Travis</dc:creator>
      <wfw:comment>http://travis.servebeer.com/blog.net/CommentView,guid,50db1b9f-1022-4715-b1bb-f4fcdf7ba1c8.aspx</wfw:comment>
      <wfw:commentRss>http://travis.servebeer.com/blog.net/SyndicationService.asmx/GetEntryCommentsRss?guid=50db1b9f-1022-4715-b1bb-f4fcdf7ba1c8</wfw:commentRss>
      
      <title>Compiling an XSLT into a DLL binary</title>
      <guid isPermaLink="false">http://travis.servebeer.com/blog.net/PermaLink,guid,50db1b9f-1022-4715-b1bb-f4fcdf7ba1c8.aspx</guid>
      <link>http://travis.servebeer.com/blog.net/2010/07/19/Compiling+An+XSLT+Into+A+DLL+Binary.aspx</link>
      <pubDate>Mon, 19 Jul 2010 22:51:30 GMT</pubDate>
      <description>&lt;body xmlns="http://www.w3.org/1999/xhtml"&gt;&#xD;
        &lt;img src="http://farm5.static.flickr.com/4134/4819182574_af35276dbd_o.png" alt="Project Properties - Pre-Build Event" width="619" height="383" style="float:right;"&gt;&lt;/img&gt;&#xD;
        &lt;p&gt;&#xD;
Did you know that Microsoft &lt;a href="#20100719-1"&gt;provides&lt;/a&gt;&lt;a href="#20100719-2"&gt;tools&lt;/a&gt; to&#xD;
compile XSLT files into DLLs? Neither did I before a client recently suggested that&#xD;
I do that on a recent project. It turns out it's extremely easy.&#xD;
&lt;/p&gt;&#xD;
        &lt;p&gt;&#xD;
Fire up your &lt;a href="http://sourceforge.net/projects/console/"&gt;favorite console&lt;/a&gt; and&#xD;
run the following:&#xD;
&lt;/p&gt;&#xD;
        &lt;p&gt;&#xD;
          &lt;code class="cmd"&gt;"%PROGRAMFILES%\Microsoft SDKs\Windows\v6.0A\bin\xsltc.exe" /out:&lt;var&gt;SomeProjectPath&lt;/var&gt;\bin\&lt;var&gt;SomeXsltDllFileName&lt;/var&gt;.dll&#xD;
/class:&lt;var&gt;SomeXsltClassName&lt;/var&gt;&lt;var&gt;PathAndFileNameOfXslt&lt;/var&gt;.xsl&lt;/code&gt;&#xD;
        &lt;/p&gt;&#xD;
        &lt;p&gt;&#xD;
          &lt;code&gt;xsltc.exe&lt;/code&gt; might be located somewhere else on your PC and be sure to update&#xD;
the appropriate info in the command above. If it works you can add a reference to&#xD;
this new DLL in your project and use the new class in your code:&#xD;
&lt;/p&gt;&#xD;
        &lt;pre class="cs"&gt;XslCompiledTransform xsl = new XslCompiledTransform();&#xD;
xsl.Load(typeof(&lt;var&gt;SomeXsltClassName&lt;/var&gt;));&lt;/pre&gt;&#xD;
        &lt;p&gt;&#xD;
You can also add a pre-build event command line to your project:&#xD;
&lt;/p&gt;&#xD;
        &lt;p&gt;&#xD;
          &lt;code class="cmd"&gt;"%PROGRAMFILES%\Microsoft SDKs\Windows\v6.0A\bin\xsltc.exe" /out:$(ProjectDir)bin\&lt;var&gt;SomeXsltDllFileName&lt;/var&gt;.dll&#xD;
/class:&lt;var&gt;SomeXsltClassName&lt;/var&gt; $(ProjectDir)&lt;var&gt;RelativePathAndFileNameOfXsltInProject&lt;/var&gt;.xsl&lt;/code&gt;&#xD;
        &lt;/p&gt;&#xD;
        &lt;p&gt;&#xD;
Then every time you hit &lt;kbd&gt;CTRL&lt;/kbd&gt;+&lt;kbd&gt;SHIFT&lt;/kbd&gt;+&lt;kbd&gt;B&lt;/kbd&gt; it will build&#xD;
your XSLT's DLL automagically each time. Here's a sample of what your output should&#xD;
look like:&#xD;
&lt;/p&gt;&#xD;
        &lt;pre class="output" style="overflow:scroll;"&gt;------ Build started: Project: ProjectName, Configuration: Debug Any CPU ------&#xD;
Build started 7/22/2010 2:36:11 PM.&#xD;
&#xD;
Target PreBuildEvent:&#xD;
    "%PROGRAMFILES%\Microsoft SDKs\Windows\v6.0A\bin\xsltc.exe" /settings:script+ /out:D:\Projects\ProjectName\bin\SomeXsltDllFileName.dll /class:SomeXsltClassName D:\Projects\ProjectName\Xslt\NameOfXslt.xsl&#xD;
    Microsoft (R) XSLT Compiler version 3.5.30729&#xD;
    [Microsoft (R) .NET Framework version 2.0.50727]&#xD;
    Copyright (C) Microsoft Corporation. All rights reserved.&#xD;
    &#xD;
Target CoreCompile:&#xD;
    C:\WINDOWS\Microsoft.NET\Framework\v3.5\Csc.exe /noconfig /nowarn:1701,1702 /errorreport:prompt /warn:4 /define:DEBUG;TRACE /reference:bin\SomeXsltDllFileName.dll /reference:bin\SomeXsltDllFileName.script.dll /debug+ /debug:full /filealign:512 /optimize- /out:obj\Debug\ProjectName.dll /target:library ClassFiles.cs&#xD;
&#xD;
Compile complete -- 0 errors, 0 warnings&#xD;
&#xD;
Target _CopyFilesMarkedCopyLocal:&#xD;
    Copying file from "bin\SomeXsltDllFileName.dll" to "bin\Debug\SomeXsltDllFileName.dll".&#xD;
    Copying file from "bin\SomeXsltDllFileName.script.dll" to "bin\Debug\SomeXsltDllFileName.script.dll".&#xD;
Target CopyFilesToOutputDirectory:&#xD;
    Copying file from "obj\Debug\ProjectName.dll" to "bin\Debug\ProjectName.dll".&#xD;
    ProjectName -&amp;gt; D:\Projects\ProjectName\bin\Debug\ProjectName.dll&#xD;
    Copying file from "obj\Debug\ProjectName.pdb" to "bin\Debug\ProjectName.pdb".&#xD;
&#xD;
Build succeeded.&#xD;
&#xD;
Time Elapsed 00:00:02.31&lt;/pre&gt;&#xD;
        &lt;h4&gt;More info:&#xD;
&lt;/h4&gt;&#xD;
        &lt;ul&gt;&#xD;
          &lt;li id="20100719-1"&gt;&#xD;
            &lt;a href="http://msdn.microsoft.com/en-us/library/bb399419.aspx"&gt;How to: Perform an&#xD;
XSLT Transformation by Using an Assembly&lt;/a&gt;&#xD;
          &lt;/li&gt;&#xD;
          &lt;li id="20100719-2"&gt;&#xD;
            &lt;a href="http://msdn.microsoft.com/en-us/library/bb399405.aspx"&gt;XSLT Compiler (xsltc.exe)&lt;/a&gt;&#xD;
          &lt;/li&gt;&#xD;
        &lt;/ul&gt;&#xD;
        &lt;img width="0" height="0" src="http://travis.servebeer.com/blog.net/aggbug.ashx?id=50db1b9f-1022-4715-b1bb-f4fcdf7ba1c8"&gt;&lt;/img&gt;&#xD;
      &lt;/body&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/DdPOdsYTn9X71LwrXflZeye30PY/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/DdPOdsYTn9X71LwrXflZeye30PY/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/DdPOdsYTn9X71LwrXflZeye30PY/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/DdPOdsYTn9X71LwrXflZeye30PY/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/Traviblog/~4/dXJCQWy8kpY" height="1" width="1"/&gt;</description>
      <comments>http://travis.servebeer.com/blog.net/CommentView,guid,50db1b9f-1022-4715-b1bb-f4fcdf7ba1c8.aspx</comments>
      <category>programming</category>
      <category>xml/xslt/xpath</category>
    <creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/3.0/</creativeCommons:license></item>
    <item>
      <trackback:ping>http://travis.servebeer.com/blog.net/Trackback.aspx?guid=248a1d17-6555-4a5f-9fda-a8fbbda4c540</trackback:ping>
      <pingback:server>http://travis.servebeer.com/blog.net/pingback.aspx</pingback:server>
      <pingback:target>http://travis.servebeer.com/blog.net/PermaLink,guid,248a1d17-6555-4a5f-9fda-a8fbbda4c540.aspx</pingback:target>
      <dc:creator>Travis</dc:creator>
      <wfw:comment>http://travis.servebeer.com/blog.net/CommentView,guid,248a1d17-6555-4a5f-9fda-a8fbbda4c540.aspx</wfw:comment>
      <wfw:commentRss>http://travis.servebeer.com/blog.net/SyndicationService.asmx/GetEntryCommentsRss?guid=248a1d17-6555-4a5f-9fda-a8fbbda4c540</wfw:commentRss>
      
      <title>Adding An Easy Shortcut to the JSLint javascript validator to Visual Studio</title>
      <guid isPermaLink="false">http://travis.servebeer.com/blog.net/PermaLink,guid,248a1d17-6555-4a5f-9fda-a8fbbda4c540.aspx</guid>
      <link>http://travis.servebeer.com/blog.net/2009/08/31/Adding+An+Easy+Shortcut+To+The+JSLint+Javascript+Validator+To+Visual+Studio.aspx</link>
      <pubDate>Mon, 31 Aug 2009 20:38:09 GMT</pubDate>
      <description>&lt;body xmlns="http://www.w3.org/1999/xhtml"&gt;&#xD;
        &lt;p&gt;&#xD;
          &lt;strong&gt;Update:&lt;/strong&gt;&#xD;
          &lt;a href="http://travis.servebeer.com/blog.net/2011/05/13/Adding+An+Easy+Shortcut+To+The+JSHint+Javascript+Validator+To+Visual+Studio.aspx"&gt;2011-05-13:&#xD;
JSLint WSH no longer available, see JSHint WSH&lt;/a&gt;.&#xD;
&lt;/p&gt;&#xD;
        &lt;hr&gt;&lt;/hr&gt;&#xD;
        &lt;p&gt;&#xD;
Ever &lt;a href="http://twitter.com/travis/status/3535412717" title="me too!"&gt;wish that&#xD;
Visual Studio had a JSLint add-in&lt;/a&gt;? Inspired by &lt;a href="http://twitter.com/happygiraffe/statuses/3561385301" title="thx @happygiraffe!"&gt;a&#xD;
reply to my tweet&lt;/a&gt;, I discovered the following solution.&#xD;
&lt;/p&gt;&#xD;
        &lt;ol&gt;&#xD;
          &lt;li&gt;&#xD;
            &lt;p&gt;&#xD;
Grab the &lt;a href="http://jslint.com/wsh/" title="jscript can be useful"&gt;WSH version&#xD;
of JSLint&lt;/a&gt;.&#xD;
&lt;/p&gt;&#xD;
          &lt;/li&gt;&#xD;
          &lt;li&gt;&#xD;
            &lt;p&gt;&#xD;
Add this &lt;code&gt;jslint.bat&lt;/code&gt; file to the same folder you have JSLint in: &#xD;
&lt;/p&gt;&#xD;
            &lt;pre&gt;@echo off&#xD;
cscript jslint.js //Nologo &amp;lt; %1&#xD;
echo.&#xD;
echo Done.&lt;/pre&gt;&#xD;
          &lt;/li&gt;&#xD;
          &lt;li&gt;&#xD;
            &lt;p&gt;&#xD;
In Visual Studio → Tools → External Tools…&#xD;
&lt;/p&gt;&#xD;
          &lt;/li&gt;&#xD;
          &lt;li&gt;&#xD;
            &lt;p&gt;&#xD;
Add a new tool with the following field values: &#xD;
&lt;/p&gt;&#xD;
            &lt;dl&gt;&#xD;
              &lt;dt&gt;Title:&lt;/dt&gt;&#xD;
              &lt;dd&gt;&amp;amp;JSLint&lt;/dd&gt;&#xD;
              &lt;dt&gt;Command:&lt;/dt&gt;&#xD;
              &lt;dd&gt;&#xD;
                &lt;var&gt;%YourJSLintPath%&lt;/var&gt;\jslint.bat&lt;/dd&gt;&#xD;
              &lt;dt&gt;Arguments:&lt;/dt&gt;&#xD;
              &lt;dd&gt;$(ItemPath)&lt;/dd&gt;&#xD;
              &lt;dt&gt;Initial directory:&lt;/dt&gt;&#xD;
              &lt;dd&gt;&#xD;
                &lt;var&gt;%YourJSLintPath%&lt;/var&gt;\&lt;/dd&gt;&#xD;
              &lt;dt&gt;Use Output window&lt;/dt&gt;&#xD;
              &lt;dd&gt;checked&lt;/dd&gt;&#xD;
            &lt;/dl&gt;&#xD;
            &lt;p&gt;&#xD;
              &lt;a href="http://www.flickr.com/photos/diesel_travis/3874801853/" title="VS: External Tools by T-Rav, on Flickr"&gt;&#xD;
                &lt;img src="http://farm3.static.flickr.com/2664/3874801853_f73d435536_o.png" width="471" height="458" alt="VS: External Tools"&gt;&lt;/img&gt;&#xD;
              &lt;/a&gt;&#xD;
            &lt;/p&gt;&#xD;
          &lt;/li&gt;&#xD;
          &lt;li&gt;&#xD;
            &lt;p&gt;&#xD;
Open up any *.js file you'd like to validate&#xD;
&lt;/p&gt;&#xD;
          &lt;/li&gt;&#xD;
          &lt;li&gt;&#xD;
            &lt;p&gt;&#xD;
Select the all new JSLint from your tools menu: &#xD;
&lt;/p&gt;&#xD;
            &lt;p&gt;&#xD;
              &lt;a href="http://www.flickr.com/photos/diesel_travis/3875590908/" title="VS: Tools Menu by T-Rav, on Flickr"&gt;&#xD;
                &lt;img src="http://farm3.static.flickr.com/2657/3875590908_73f59376b9_o.png" width="309" height="502" alt="VS: Tools Menu"&gt;&lt;/img&gt;&#xD;
              &lt;/a&gt;&#xD;
            &lt;/p&gt;&#xD;
          &lt;/li&gt;&#xD;
          &lt;li&gt;&#xD;
            &lt;p&gt;&#xD;
Try not to let JSLint hurt your feelings too much: &#xD;
&lt;/p&gt;&#xD;
            &lt;p&gt;&#xD;
              &lt;a href="http://www.flickr.com/photos/diesel_travis/3874801933/" title="VS: Output From JSLint by T-Rav, on Flickr"&gt;&#xD;
                &lt;img src="http://farm3.static.flickr.com/2487/3874801933_081bc4c19b_o.png" width="459" height="228" alt="VS: Output From JSLint"&gt;&lt;/img&gt;&#xD;
              &lt;/a&gt;&#xD;
            &lt;/p&gt;&#xD;
          &lt;/li&gt;&#xD;
        &lt;/ol&gt;&#xD;
        &lt;p&gt;&#xD;
In short, &lt;a href="http://jslint.com/" title="yes it is!"&gt;JSLint is awesome&lt;/a&gt;.&#xD;
&lt;/p&gt;&#xD;
        &lt;img width="0" height="0" src="http://travis.servebeer.com/blog.net/aggbug.ashx?id=248a1d17-6555-4a5f-9fda-a8fbbda4c540"&gt;&lt;/img&gt;&#xD;
      &lt;/body&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/R5fN6OoE_DhRx50LRx5vyq9lg6U/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/R5fN6OoE_DhRx50LRx5vyq9lg6U/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/R5fN6OoE_DhRx50LRx5vyq9lg6U/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/R5fN6OoE_DhRx50LRx5vyq9lg6U/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/Traviblog/~4/JtEkqL3Qc20" height="1" width="1"/&gt;</description>
      <comments>http://travis.servebeer.com/blog.net/CommentView,guid,248a1d17-6555-4a5f-9fda-a8fbbda4c540.aspx</comments>
      <category>javascript</category>
      <category>programming</category>
    <creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/3.0/</creativeCommons:license></item>
    <item>
      <trackback:ping>http://travis.servebeer.com/blog.net/Trackback.aspx?guid=3da25e3b-46a0-448c-84ee-6524c14b410a</trackback:ping>
      <pingback:server>http://travis.servebeer.com/blog.net/pingback.aspx</pingback:server>
      <pingback:target>http://travis.servebeer.com/blog.net/PermaLink,guid,3da25e3b-46a0-448c-84ee-6524c14b410a.aspx</pingback:target>
      <dc:creator>Travis</dc:creator>
      <wfw:comment>http://travis.servebeer.com/blog.net/CommentView,guid,3da25e3b-46a0-448c-84ee-6524c14b410a.aspx</wfw:comment>
      <wfw:commentRss>http://travis.servebeer.com/blog.net/SyndicationService.asmx/GetEntryCommentsRss?guid=3da25e3b-46a0-448c-84ee-6524c14b410a</wfw:commentRss>
      <slash:comments>2</slash:comments>
      
      <title>Welcome to the new TraviBlog</title>
      <guid isPermaLink="false">http://travis.servebeer.com/blog.net/PermaLink,guid,3da25e3b-46a0-448c-84ee-6524c14b410a.aspx</guid>
      <link>http://travis.servebeer.com/blog.net/2009/06/08/Welcome+To+The+New+TraviBlog.aspx</link>
      <pubDate>Mon, 08 Jun 2009 07:40:07 GMT</pubDate>
      <description>&lt;body xmlns="http://www.w3.org/1999/xhtml"&gt;&#xD;
        &lt;p&gt;&#xD;
Hello and welcome to the newly re-skinned TraviBlog. This site is running on a version&#xD;
of dasBlog. I forget which version I originally downloaded, but I've heavily modified&#xD;
the source to be standards-compliant, accessible, removed as many images as possible&#xD;
and also added this &lt;a href="http://ecoiron.blogspot.com/2007/01/emergy-c-low-wattage-palette.html"&gt;ugly&#xD;
theme&lt;/a&gt;. Really though, who cares about the theme since most people read blogs in&#xD;
an RSS reader right?&#xD;
&lt;/p&gt;&#xD;
        &lt;p&gt;&#xD;
If you want the source feel free to post a comment and let me know and I can generate&#xD;
a huge diff file showing the changes that I've made to the original source.&#xD;
&lt;/p&gt;&#xD;
        &lt;img width="0" height="0" src="http://travis.servebeer.com/blog.net/aggbug.ashx?id=3da25e3b-46a0-448c-84ee-6524c14b410a"&gt;&lt;/img&gt;&#xD;
      &lt;/body&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/S_5BUPd30e2WaAOsvD4qwqB8WTk/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/S_5BUPd30e2WaAOsvD4qwqB8WTk/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/S_5BUPd30e2WaAOsvD4qwqB8WTk/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/S_5BUPd30e2WaAOsvD4qwqB8WTk/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/Traviblog/~4/2Y-RT4WgRxo" height="1" width="1"/&gt;</description>
      <comments>http://travis.servebeer.com/blog.net/CommentView,guid,3da25e3b-46a0-448c-84ee-6524c14b410a.aspx</comments>
      <category>dasBlog</category>
      <category>meta</category>
    <creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/3.0/</creativeCommons:license></item>
    <item>
      <trackback:ping>http://travis.servebeer.com/blog.net/Trackback.aspx?guid=bb101316-e8f8-4b7c-bf77-1e1994832318</trackback:ping>
      <pingback:server>http://travis.servebeer.com/blog.net/pingback.aspx</pingback:server>
      <pingback:target>http://travis.servebeer.com/blog.net/PermaLink,guid,bb101316-e8f8-4b7c-bf77-1e1994832318.aspx</pingback:target>
      <dc:creator>Travis</dc:creator>
      <wfw:comment>http://travis.servebeer.com/blog.net/CommentView,guid,bb101316-e8f8-4b7c-bf77-1e1994832318.aspx</wfw:comment>
      <wfw:commentRss>http://travis.servebeer.com/blog.net/SyndicationService.asmx/GetEntryCommentsRss?guid=bb101316-e8f8-4b7c-bf77-1e1994832318</wfw:commentRss>
      
      <title>Brilliant CSS for the KBD element</title>
      <guid isPermaLink="false">http://travis.servebeer.com/blog.net/PermaLink,guid,bb101316-e8f8-4b7c-bf77-1e1994832318.aspx</guid>
      <link>http://travis.servebeer.com/blog.net/2009/02/16/Brilliant+CSS+For+The+KBD+Element.aspx</link>
      <pubDate>Mon, 16 Feb 2009 12:07:00 GMT</pubDate>
      <description>&lt;body xmlns="http://www.w3.org/1999/xhtml"&gt;&#xD;
        &lt;p&gt;&#xD;
          &lt;a href="http://stackoverflow.com/questions/31657/what-html-tags-are-allowed-on-stack-overflow/31979#31979"&gt;Stack&#xD;
Overflow recently implemented&lt;/a&gt; some brilliant CSS for &lt;a href="http://www.w3.org/TR/html401/struct/text.html#edef-KBD"&gt;&lt;code&gt;&amp;lt;kbd&amp;gt;&lt;/code&gt;&lt;/a&gt; tags: &#xD;
&lt;/p&gt;&#xD;
        &lt;pre&gt;kbd&#xD;
{&#xD;
	padding: 5px 3px;&#xD;
	white-space: nowrap;&#xD;
	color: #000;&#xD;
	background-color: #EEE;&#xD;
	border-top: solid 2px #CCC;&#xD;
	border-right: solid 4px #AAA;&#xD;
	border-bottom: solid 5px #888;&#xD;
	border-left: solid 3px #BBB;&#xD;
}&lt;/pre&gt;&#xD;
        &lt;p&gt;&#xD;
There's something inherently beautiful about CSS used to style HTML to look like the&#xD;
physical object it represents.&#xD;
&lt;/p&gt;&#xD;
        &lt;p&gt;&#xD;
Example: &lt;kbd&gt;CTRL&lt;/kbd&gt;+&lt;kbd&gt;C&lt;/kbd&gt;&lt;/p&gt;&#xD;
        &lt;img width="0" height="0" src="http://travis.servebeer.com/blog.net/aggbug.ashx?id=bb101316-e8f8-4b7c-bf77-1e1994832318"&gt;&lt;/img&gt;&#xD;
      &lt;/body&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/Q8cIuQtyLowyrlep7_PPgCB1JF0/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Q8cIuQtyLowyrlep7_PPgCB1JF0/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/Q8cIuQtyLowyrlep7_PPgCB1JF0/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Q8cIuQtyLowyrlep7_PPgCB1JF0/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/Traviblog/~4/KcLxPZngVFQ" height="1" width="1"/&gt;</description>
      <comments>http://travis.servebeer.com/blog.net/CommentView,guid,bb101316-e8f8-4b7c-bf77-1e1994832318.aspx</comments>
      <category>tech</category>
    <creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/3.0/</creativeCommons:license></item>
    <item>
      <trackback:ping>http://travis.servebeer.com/blog.net/Trackback.aspx?guid=3d16d433-4447-42a4-8f09-24f730fec1a2</trackback:ping>
      <pingback:server>http://travis.servebeer.com/blog.net/pingback.aspx</pingback:server>
      <pingback:target>http://travis.servebeer.com/blog.net/PermaLink,guid,3d16d433-4447-42a4-8f09-24f730fec1a2.aspx</pingback:target>
      <dc:creator>Travis</dc:creator>
      <wfw:comment>http://travis.servebeer.com/blog.net/CommentView,guid,3d16d433-4447-42a4-8f09-24f730fec1a2.aspx</wfw:comment>
      <wfw:commentRss>http://travis.servebeer.com/blog.net/SyndicationService.asmx/GetEntryCommentsRss?guid=3d16d433-4447-42a4-8f09-24f730fec1a2</wfw:commentRss>
      
      <title>Conversations around the Campfire: an Obama/McCain CSS comparison</title>
      <guid isPermaLink="false">http://travis.servebeer.com/blog.net/PermaLink,guid,3d16d433-4447-42a4-8f09-24f730fec1a2.aspx</guid>
      <link>http://travis.servebeer.com/blog.net/2008/09/22/Conversations+Around+The+Campfire+An+ObamaMcCain+CSS+Comparison.aspx</link>
      <pubDate>Mon, 22 Sep 2008 19:47:00 GMT</pubDate>
      <description>&lt;body xmlns="http://www.w3.org/1999/xhtml"&gt;&#xD;
        &lt;p&gt;&#xD;
This conversation originated at work when we started comparing the CSS used by McCain&#xD;
and Obama (thanks for the link &lt;a href="https://twitter.com/samuelcole"&gt;Sam&lt;/a&gt;!)...&#xD;
&lt;/p&gt;&#xD;
        &lt;blockquote&gt;&#xD;
          &lt;dl&gt;&#xD;
            &lt;dt&gt;&#xD;
              &lt;a title="Damn Ralph" href="http://www.damnralph.com/"&gt;Ralph&lt;/a&gt; W. &lt;/dt&gt;&#xD;
            &lt;dd&gt;&#xD;
              &lt;a href="http://js.johnmccain.com/App_Themes/McCain08/newstyles.css"&gt;http://js.johnmccain.com/App_Themes/McCain08/newstyles.css&lt;/a&gt;&#xD;
            &lt;/dd&gt;&#xD;
            &lt;dt&gt;Travis H. &lt;/dt&gt;&#xD;
            &lt;dd&gt;&#xD;
haha&lt;/dd&gt;&#xD;
            &lt;dd&gt;&#xD;
compare with: &lt;a href="http://www.barackobama.com/css/globalv3.css"&gt;http://www.barackobama.com/css/globalv3.css&lt;/a&gt;&lt;/dd&gt;&#xD;
            &lt;dd&gt;&#xD;
even by the file names alone you can tell that obama's is a more scalable solution&lt;/dd&gt;&#xD;
            &lt;dt&gt;&#xD;
              &lt;a title="Damn Ralph" href="http://www.damnralph.com/"&gt;Ralph&lt;/a&gt; W. &lt;/dt&gt;&#xD;
            &lt;dd&gt;&#xD;
It's even localized&lt;/dd&gt;&#xD;
            &lt;dd&gt;&#xD;
              &lt;pre&gt;/* Espanol Navigation 2.0&#xD;
-------------------------------------------------------------- */&lt;/pre&gt;&#xD;
            &lt;/dd&gt;&#xD;
            &lt;dt&gt;Travis H. &lt;/dt&gt;&#xD;
            &lt;dd&gt;&#xD;
i like how the absolute last section of mccain's is for the header&lt;/dd&gt;&#xD;
            &lt;dt&gt;Ernie B. &lt;/dt&gt;&#xD;
            &lt;dd&gt;&#xD;
that is so fitting&lt;/dd&gt;&#xD;
            &lt;dt&gt;&#xD;
              &lt;a title="Damn Ralph" href="http://www.damnralph.com/"&gt;Ralph&lt;/a&gt; W. &lt;/dt&gt;&#xD;
            &lt;dd&gt;&#xD;
cause you can only get head in the white house by going down&lt;/dd&gt;&#xD;
            &lt;dt&gt;Travis H. &lt;/dt&gt;&#xD;
            &lt;dd&gt;&#xD;
              &lt;pre&gt;TEXT-TRANSFORM: uppercase;&lt;/pre&gt;&#xD;
            &lt;/dd&gt;&#xD;
            &lt;dt&gt;Ernie B. &lt;/dt&gt;&#xD;
            &lt;dd&gt;&#xD;
hahaha&lt;/dd&gt;&#xD;
            &lt;dt&gt;&#xD;
              &lt;a title="Damn Ralph" href="http://www.damnralph.com/"&gt;Ralph&lt;/a&gt; W. &lt;/dt&gt;&#xD;
            &lt;dd&gt;&#xD;
that's great&lt;/dd&gt;&#xD;
            &lt;dt&gt;Travis H. &lt;/dt&gt;&#xD;
            &lt;dd&gt;&#xD;
it looks like his css was developed by the department of redundancy department since&#xD;
the font-family is defined in almost every selector&lt;/dd&gt;&#xD;
            &lt;dt&gt;&#xD;
              &lt;a title="Damn Ralph" href="http://www.damnralph.com/"&gt;Ralph&lt;/a&gt; W. &lt;/dt&gt;&#xD;
            &lt;dd&gt;&#xD;
more of the same&lt;/dd&gt;&#xD;
            &lt;dt&gt;Travis H. &lt;/dt&gt;&#xD;
            &lt;dd&gt;&#xD;
haha, good one&lt;/dd&gt;&#xD;
            &lt;dt&gt;Ernie B. &lt;/dt&gt;&#xD;
            &lt;dd&gt;&#xD;
may as well be tables&lt;/dd&gt;&#xD;
            &lt;dt&gt;Travis H. &lt;/dt&gt;&#xD;
            &lt;dd&gt;&#xD;
              &lt;pre&gt;INPUT.groovybutton {&lt;/pre&gt;&#xD;
            &lt;/dd&gt;&#xD;
            &lt;dd&gt;&#xD;
not that there's anything wrong with that&lt;/dd&gt;&#xD;
            &lt;dd&gt;&#xD;
i love this class name:&lt;/dd&gt;&#xD;
            &lt;dd&gt;&#xD;
              &lt;pre&gt;DIV.actioncenterbluebutton_red A {&lt;/pre&gt;&#xD;
            &lt;/dd&gt;&#xD;
            &lt;dd&gt;&#xD;
interesting, Obama's uses EM sizing while McCain's uses PX&lt;/dd&gt;&#xD;
            &lt;dt&gt;&#xD;
              &lt;a title="Damn Ralph" href="http://www.damnralph.com/"&gt;Ralph&lt;/a&gt; W. &lt;/dt&gt;&#xD;
            &lt;dd&gt;&#xD;
not that there's anything wrong with that&lt;/dd&gt;&#xD;
            &lt;dt&gt;Ernie B. &lt;/dt&gt;&#xD;
            &lt;dd&gt;&#xD;
also fitting&lt;/dd&gt;&#xD;
            &lt;dt&gt;Travis H. &lt;/dt&gt;&#xD;
            &lt;dd&gt;&#xD;
I swear it's as if their CSS files directly correspond with their campaigns&lt;/dd&gt;&#xD;
            &lt;dd&gt;&#xD;
Obama knows the IE6 hack:&lt;/dd&gt;&#xD;
            &lt;dd&gt;&#xD;
              &lt;pre&gt;* html #nav li * { position: relative; }&lt;/pre&gt;&#xD;
            &lt;/dd&gt;&#xD;
            &lt;dd&gt;&#xD;
interesting, they also use CSS sprites&lt;/dd&gt;&#xD;
            &lt;dd&gt;&#xD;
those trendy fuckers&lt;/dd&gt;&#xD;
            &lt;dd&gt;&#xD;
wow and their spanish classnames are actually spanish!&lt;/dd&gt;&#xD;
            &lt;dd&gt;&#xD;
              &lt;pre&gt;#nav-donacion {&lt;/pre&gt;&#xD;
            &lt;/dd&gt;&#xD;
            &lt;dt&gt;&#xD;
              &lt;a title="Damn Ralph" href="http://www.damnralph.com/"&gt;Ralph&lt;/a&gt; W. &lt;/dt&gt;&#xD;
            &lt;dd&gt;&#xD;
McCain blocks those classes at the firewall...see what I did there?&lt;/dd&gt;&#xD;
          &lt;/dl&gt;&#xD;
          &lt;p&gt;&#xD;
            &lt;em&gt;This conversation has been reproduced without anyone's permission&lt;/em&gt;&#xD;
          &lt;/p&gt;&#xD;
        &lt;/blockquote&gt;&#xD;
        &lt;img width="0" height="0" src="http://travis.servebeer.com/blog.net/aggbug.ashx?id=3d16d433-4447-42a4-8f09-24f730fec1a2"&gt;&lt;/img&gt;&#xD;
      &lt;/body&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/HKyMKV4VskewpxlOwN4TMHMO5g4/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/HKyMKV4VskewpxlOwN4TMHMO5g4/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/HKyMKV4VskewpxlOwN4TMHMO5g4/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/HKyMKV4VskewpxlOwN4TMHMO5g4/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/Traviblog/~4/UBTWMZALGKA" height="1" width="1"/&gt;</description>
      <comments>http://travis.servebeer.com/blog.net/CommentView,guid,3d16d433-4447-42a4-8f09-24f730fec1a2.aspx</comments>
      <category>politix</category>
      <category>tech</category>
    <creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/3.0/</creativeCommons:license></item>
    <item>
      <trackback:ping>http://travis.servebeer.com/blog.net/Trackback.aspx?guid=10c8ab2c-ee47-4010-af93-96070855b7c7</trackback:ping>
      <pingback:server>http://travis.servebeer.com/blog.net/pingback.aspx</pingback:server>
      <pingback:target>http://travis.servebeer.com/blog.net/PermaLink,guid,10c8ab2c-ee47-4010-af93-96070855b7c7.aspx</pingback:target>
      <dc:creator>Travis</dc:creator>
      <wfw:comment>http://travis.servebeer.com/blog.net/CommentView,guid,10c8ab2c-ee47-4010-af93-96070855b7c7.aspx</wfw:comment>
      <wfw:commentRss>http://travis.servebeer.com/blog.net/SyndicationService.asmx/GetEntryCommentsRss?guid=10c8ab2c-ee47-4010-af93-96070855b7c7</wfw:commentRss>
      <slash:comments>2</slash:comments>
      
      <title>Conversations around the Campfire: an Apple/Palin comparison</title>
      <guid isPermaLink="false">http://travis.servebeer.com/blog.net/PermaLink,guid,10c8ab2c-ee47-4010-af93-96070855b7c7.aspx</guid>
      <link>http://travis.servebeer.com/blog.net/2008/09/19/Conversations+Around+The+Campfire+An+ApplePalin+Comparison.aspx</link>
      <pubDate>Fri, 19 Sep 2008 10:17:00 GMT</pubDate>
      <description>&lt;body xmlns="http://www.w3.org/1999/xhtml"&gt;&#xD;
        &lt;p&gt;&#xD;
This conversation originated at work when &lt;a title="Damn Ralph" href="http://www.damnralph.com/"&gt;Ralph&lt;/a&gt; and&#xD;
I started flaming our resident MacTard developer, Ernie.&#xD;
&lt;/p&gt;&#xD;
        &lt;blockquote&gt;&#xD;
          &lt;dl&gt;&#xD;
            &lt;dt&gt;Travis H. &lt;/dt&gt;&#xD;
            &lt;dd&gt;&#xD;
*grabs some gasoline*&lt;/dd&gt;&#xD;
            &lt;dt&gt;Travis H. &lt;/dt&gt;&#xD;
            &lt;dd&gt;&#xD;
Mac's are the Sarah Palin of the computing world&lt;/dd&gt;&#xD;
            &lt;dt&gt;Ernie B. &lt;/dt&gt;&#xD;
            &lt;dd&gt;&#xD;
in what respect, charlie?&lt;/dd&gt;&#xD;
            &lt;dt&gt;&#xD;
              &lt;a title="Damn Ralph" href="http://www.damnralph.com/"&gt;Ralph&lt;/a&gt; W. &lt;/dt&gt;&#xD;
            &lt;dd&gt;&#xD;
not true...Mac's do not have Tina Fey glasses&lt;/dd&gt;&#xD;
            &lt;dt&gt;Travis H. &lt;/dt&gt;&#xD;
            &lt;dd&gt;&#xD;
"we're enterprise ready, we sold an ipod in Russia"&lt;/dd&gt;&#xD;
            &lt;dt&gt;Travis H. &lt;/dt&gt;&#xD;
            &lt;dd&gt;&#xD;
also, i heard that the iphone 3g is retarded&lt;/dd&gt;&#xD;
            &lt;dt&gt;Travis H. &lt;/dt&gt;&#xD;
            &lt;dd&gt;&#xD;
and that the nano is pregnant&lt;/dd&gt;&#xD;
            &lt;dt&gt;&#xD;
              &lt;a title="Damn Ralph" href="http://www.damnralph.com/"&gt;Ralph&lt;/a&gt; W. &lt;/dt&gt;&#xD;
            &lt;dd&gt;&#xD;
3g has down syndrome ... get it right&lt;/dd&gt;&#xD;
            &lt;dt&gt;Travis H. &lt;/dt&gt;&#xD;
            &lt;dd&gt;&#xD;
you can put EFI in a PC, but it's still a pig&lt;/dd&gt;&#xD;
            &lt;dt&gt;&#xD;
              &lt;a title="Damn Ralph" href="http://www.damnralph.com/"&gt;Ralph&lt;/a&gt; W. &lt;/dt&gt;&#xD;
            &lt;dd&gt;&#xD;
What's the difference between Ernie on a PC and Ernie on a Mac?&lt;/dd&gt;&#xD;
            &lt;dt&gt;&#xD;
              &lt;a title="Damn Ralph" href="http://www.damnralph.com/"&gt;Ralph&lt;/a&gt; W. &lt;/dt&gt;&#xD;
            &lt;dd&gt;&#xD;
Lipstick&lt;/dd&gt;&#xD;
          &lt;/dl&gt;&#xD;
        &lt;/blockquote&gt;&#xD;
        &lt;p&gt;&#xD;
I have to pick on &lt;a title="Ern" href="http://ern.tumblr.com/"&gt;Ern&lt;/a&gt; while I can,&#xD;
I think pretty soon I might be the only developer in the company on a non-Mac PC.&#xD;
&lt;/p&gt;&#xD;
        &lt;p&gt;&#xD;
          &lt;em&gt;This conversation has been reproduced without anyone's permission&lt;/em&gt;&#xD;
        &lt;/p&gt;&#xD;
        &lt;img width="0" height="0" src="http://travis.servebeer.com/blog.net/aggbug.ashx?id=10c8ab2c-ee47-4010-af93-96070855b7c7"&gt;&lt;/img&gt;&#xD;
      &lt;/body&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/HClT4x-5nR9Q2v3KCz3GbhbiqhM/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/HClT4x-5nR9Q2v3KCz3GbhbiqhM/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/HClT4x-5nR9Q2v3KCz3GbhbiqhM/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/HClT4x-5nR9Q2v3KCz3GbhbiqhM/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/Traviblog/~4/q9_PpdWfXUQ" height="1" width="1"/&gt;</description>
      <comments>http://travis.servebeer.com/blog.net/CommentView,guid,10c8ab2c-ee47-4010-af93-96070855b7c7.aspx</comments>
      <category>politix</category>
      <category>tech</category>
    <creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/3.0/</creativeCommons:license></item>
    <item>
      <trackback:ping>http://travis.servebeer.com/blog.net/Trackback.aspx?guid=53c07d2d-5915-4245-930f-038b36a2e386</trackback:ping>
      <pingback:server>http://travis.servebeer.com/blog.net/pingback.aspx</pingback:server>
      <pingback:target>http://travis.servebeer.com/blog.net/PermaLink,guid,53c07d2d-5915-4245-930f-038b36a2e386.aspx</pingback:target>
      <dc:creator>Travis</dc:creator>
      <wfw:comment>http://travis.servebeer.com/blog.net/CommentView,guid,53c07d2d-5915-4245-930f-038b36a2e386.aspx</wfw:comment>
      <wfw:commentRss>http://travis.servebeer.com/blog.net/SyndicationService.asmx/GetEntryCommentsRss?guid=53c07d2d-5915-4245-930f-038b36a2e386</wfw:commentRss>
      <slash:comments>7</slash:comments>
      
      <title>Replacing Notepad with Notepad 2 on XP SP3, the easiest way possible</title>
      <guid isPermaLink="false">http://travis.servebeer.com/blog.net/PermaLink,guid,53c07d2d-5915-4245-930f-038b36a2e386.aspx</guid>
      <link>http://travis.servebeer.com/blog.net/2008/07/16/Replacing+Notepad+With+Notepad+2+On+XP+SP3+The+Easiest+Way+Possible.aspx</link>
      <pubDate>Wed, 16 Jul 2008 13:21:00 GMT</pubDate>
      <description>&lt;body xmlns="http://www.w3.org/1999/xhtml"&gt;&#xD;
        &lt;p&gt;&#xD;
After installing SP3 on XP I noticed that Notepad was reverted back to its crappy&#xD;
self, so I decided to write a handy batch script to install &lt;a href="http://www.flos-freeware.ch/notepad2.html"&gt;Notepad2&lt;/a&gt; again.&#xD;
This script will work in XP SP2+. Place the batch file in the same directory as notepad2.exe&#xD;
and run it.&#xD;
&lt;/p&gt;&#xD;
        &lt;h3&gt;InstallNotepad2XP.bat&#xD;
&lt;/h3&gt;&#xD;
        &lt;pre&gt;@echo off&#xD;
echo *IMPORTANT*&#xD;
echo This will kill all open instances of Notepad.&#xD;
echo To cancel, end this batch file now (ctrl+c), or hit any key to continue.&#xD;
pause&#xD;
echo Killing all instances of notepad running...&#xD;
TASKKILL /F /IM notepad.exe /T&#xD;
echo Backing up...&#xD;
call :backup %systemroot%\servicepackfiles\i386&#xD;
call :backup %systemroot%&#xD;
call :backup %systemroot%\System32&#xD;
call :backup %systemroot%\System32\dllcache&#xD;
echo Installing...&#xD;
copy notepad2.exe %systemroot%\servicepackfiles\i386\notepad.exe /y&#xD;
copy notepad2.exe %systemroot%\notepad.exe /y&#xD;
copy notepad2.exe %systemroot%\System32\notepad.exe /y&#xD;
copy notepad2.exe %systemroot%\System32\dllcache\notepad.exe /y&#xD;
echo Done.&#xD;
pause&#xD;
goto :end&#xD;
:backup&#xD;
call set npath=%1&#xD;
set count=0&#xD;
for %%i in (%npath%\notepad.original*.exe) do (&#xD;
set nname=%%i&#xD;
set /a count=count+1&#xD;
)&#xD;
echo backing up to %npath%\notepad.original%count%.exe&#xD;
copy %npath%\notepad.exe %npath%\notepad.original%count%.exe /y&#xD;
:end&lt;/pre&gt;&#xD;
        &lt;img width="0" height="0" src="http://travis.servebeer.com/blog.net/aggbug.ashx?id=53c07d2d-5915-4245-930f-038b36a2e386"&gt;&lt;/img&gt;&#xD;
      &lt;/body&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/SjOtSRPkYKfa0NuuSCegycoLnco/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/SjOtSRPkYKfa0NuuSCegycoLnco/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/SjOtSRPkYKfa0NuuSCegycoLnco/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/SjOtSRPkYKfa0NuuSCegycoLnco/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/Traviblog/~4/cvfmNXKi7_w" height="1" width="1"/&gt;</description>
      <comments>http://travis.servebeer.com/blog.net/CommentView,guid,53c07d2d-5915-4245-930f-038b36a2e386.aspx</comments>
      <category>tech</category>
    <creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/3.0/</creativeCommons:license></item>
    <item>
      <trackback:ping>http://travis.servebeer.com/blog.net/Trackback.aspx?guid=caa0b44c-47ce-4fa0-a4df-5626d6b768ab</trackback:ping>
      <pingback:server>http://travis.servebeer.com/blog.net/pingback.aspx</pingback:server>
      <pingback:target>http://travis.servebeer.com/blog.net/PermaLink,guid,caa0b44c-47ce-4fa0-a4df-5626d6b768ab.aspx</pingback:target>
      <dc:creator>Travis</dc:creator>
      <wfw:comment>http://travis.servebeer.com/blog.net/CommentView,guid,caa0b44c-47ce-4fa0-a4df-5626d6b768ab.aspx</wfw:comment>
      <wfw:commentRss>http://travis.servebeer.com/blog.net/SyndicationService.asmx/GetEntryCommentsRss?guid=caa0b44c-47ce-4fa0-a4df-5626d6b768ab</wfw:commentRss>
      
      <title>So That's What Happened To Doogie Howser, M.D.</title>
      <guid isPermaLink="false">http://travis.servebeer.com/blog.net/PermaLink,guid,caa0b44c-47ce-4fa0-a4df-5626d6b768ab.aspx</guid>
      <link>http://travis.servebeer.com/blog.net/2008/07/16/So+Thats+What+Happened+To+Doogie+Howser+MD.aspx</link>
      <pubDate>Wed, 16 Jul 2008 10:28:00 GMT</pubDate>
      <description>&lt;body xmlns="http://www.w3.org/1999/xhtml"&gt;&#xD;
        &lt;object type="application/x-shockwave-flash" data="http://widgets.clearspring.com/o/4876179bb94ab3d9/487dfa98c0b554f7/4876179bb94ab3d9/b0031db4" id="W4876179bb94ab3d9487dfa98c0b554f7" height="304" width="354"&gt;&#xD;
          &lt;param value="http://widgets.clearspring.com/o/4876179bb94ab3d9/487dfa98c0b554f7/4876179bb94ab3d9/b0031db4" name="movie"&gt;&lt;/param&gt;&#xD;
          &lt;param value="transparent" name="wmode"&gt;&lt;/param&gt;&#xD;
          &lt;param value="all" name="allowNetworking"&gt;&lt;/param&gt;&#xD;
          &lt;param value="always" name="allowScriptAccess"&gt;&lt;/param&gt;&#xD;
        &lt;/object&gt;&#xD;
        &lt;p&gt;&#xD;
It's actually kinda &lt;a href="http://drhorrible.com/"&gt;funny&lt;/a&gt;.&#xD;
&lt;/p&gt;&#xD;
        &lt;p&gt;&#xD;
(if you were looking for more &lt;a href="http://www.hulu.com/doogie-howser-md" title="really, can anyone get enough doogie?"&gt;Doogie,&#xD;
Hulu&lt;/a&gt; will save the day)&#xD;
&lt;/p&gt;&#xD;
        &lt;img width="0" height="0" src="http://travis.servebeer.com/blog.net/aggbug.ashx?id=caa0b44c-47ce-4fa0-a4df-5626d6b768ab"&gt;&lt;/img&gt;&#xD;
      &lt;/body&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/uIP0wuZ9b-bUWN1ZiBxBzB970MM/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/uIP0wuZ9b-bUWN1ZiBxBzB970MM/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/uIP0wuZ9b-bUWN1ZiBxBzB970MM/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/uIP0wuZ9b-bUWN1ZiBxBzB970MM/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/Traviblog/~4/0rfBZO4sRXQ" height="1" width="1"/&gt;</description>
      <comments>http://travis.servebeer.com/blog.net/CommentView,guid,caa0b44c-47ce-4fa0-a4df-5626d6b768ab.aspx</comments>
      <category>KS</category>
    <creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/3.0/</creativeCommons:license></item>
    <item>
      <trackback:ping>http://travis.servebeer.com/blog.net/Trackback.aspx?guid=69fcbb7d-79ba-448e-b8a0-3040f5ba50d6</trackback:ping>
      <pingback:server>http://travis.servebeer.com/blog.net/pingback.aspx</pingback:server>
      <pingback:target>http://travis.servebeer.com/blog.net/PermaLink,guid,69fcbb7d-79ba-448e-b8a0-3040f5ba50d6.aspx</pingback:target>
      <dc:creator>Travis</dc:creator>
      <wfw:comment>http://travis.servebeer.com/blog.net/CommentView,guid,69fcbb7d-79ba-448e-b8a0-3040f5ba50d6.aspx</wfw:comment>
      <wfw:commentRss>http://travis.servebeer.com/blog.net/SyndicationService.asmx/GetEntryCommentsRss?guid=69fcbb7d-79ba-448e-b8a0-3040f5ba50d6</wfw:commentRss>
      <slash:comments>2</slash:comments>
      
      <title>JavaScript is just as easy as Ruby (even without jQuery!)</title>
      <guid isPermaLink="false">http://travis.servebeer.com/blog.net/PermaLink,guid,69fcbb7d-79ba-448e-b8a0-3040f5ba50d6.aspx</guid>
      <link>http://travis.servebeer.com/blog.net/2008/05/22/JavaScript+Is+Just+As+Easy+As+Ruby+Even+Without+JQuery.aspx</link>
      <pubDate>Thu, 22 May 2008 00:02:00 GMT</pubDate>
      <description>&lt;body xmlns="http://www.w3.org/1999/xhtml"&gt;&#xD;
        &lt;p&gt;&#xD;
Ernie sent &lt;a href="http://project.ioni.st/post/2169#snippet_2169"&gt;this ruby snippet&lt;/a&gt; and&#xD;
marveled at its brilliant simplicity:&#xD;
&lt;/p&gt;&#xD;
        &lt;pre&gt;&#xD;
class Date  &#xD;
  def at_some_point  &#xD;
    (at_midnight..tomorrow.at_midnight).to_a.rand  &#xD;
  end &#xD;
end &#xD;
&#xD;
Date.today.at_some_point # =&amp;gt; Tue May 21 10:23:00 -0500 2008 &#xD;
Date.today.at_some_point # =&amp;gt; Tue May 21 02:10:00 -0500 2008 &#xD;
Date.today.at_some_point # =&amp;gt; Tue May 21 18:28:00 -0500 2008 &#xD;
Date.today.at_some_point # =&amp;gt; Tue May 21 07:25:00 -0500 2008&#xD;
&lt;/pre&gt;&#xD;
        &lt;p&gt;&#xD;
I recalled using &lt;code&gt;Date.prototype&lt;/code&gt; in JavaScript in the past to add some &lt;a href="http://www.refactormycode.com/codes/38-go-back-to-yesterday#refactor_164"&gt;helpful&#xD;
date functions&lt;/a&gt;, so I thought I'd see if I could write a similar function just&#xD;
as elegantly:&#xD;
&lt;/p&gt;&#xD;
        &lt;pre&gt;&#xD;
Date.prototype.atSomePoint = function() {&#xD;
    return new Date(rand(this.atMidnight().valueOf(), this.tomorrow().atMidnight().valueOf()));&#xD;
};&#xD;
&#xD;
new Date().atSomePoint();   \\ Wed May 21 2008 06:33:28 GMT-0400 (Eastern Daylight Time)&#xD;
new Date().atSomePoint();   \\ Wed May 21 2008 12:57:13 GMT-0400 (Eastern Daylight Time)&#xD;
new Date().atSomePoint();   \\ Wed May 21 2008 08:37:44 GMT-0400 (Eastern Daylight Time)&#xD;
&lt;/pre&gt;&#xD;
        &lt;p&gt;&#xD;
Unfortunately &lt;code&gt;.atMidnight()&lt;/code&gt; and &lt;code&gt;.tomorrow()&lt;/code&gt; don't exist&#xD;
in JavaScript's Date object by default (that I know of), so I had to write those helpers&#xD;
as well as a random number helper, &lt;code&gt;rand()&lt;/code&gt;:&#xD;
&lt;/p&gt;&#xD;
        &lt;pre&gt;&#xD;
Date.prototype.atMidnight = function() {&#xD;
    this.setHours(0);&#xD;
    this.setMinutes(0);&#xD;
    this.setSeconds(0);&#xD;
    return this;&#xD;
};&#xD;
&#xD;
Date.prototype.tomorrow = function() {&#xD;
    this.setDate(this.getDate() + 1);&#xD;
    return this;&#xD;
};&#xD;
&#xD;
function rand(lowerBound, upperBound) {&#xD;
    return Math.floor((upperBound - (lowerBound - 1)) * Math.random()) + lowerBound;&#xD;
}&#xD;
&lt;/pre&gt;&#xD;
        &lt;p&gt;&#xD;
While I probably would never find a use for &lt;code&gt;.atSomePoint()&lt;/code&gt;, it certainly&#xD;
was easy enough to write.&#xD;
&lt;/p&gt;&#xD;
        &lt;img width="0" height="0" src="http://travis.servebeer.com/blog.net/aggbug.ashx?id=69fcbb7d-79ba-448e-b8a0-3040f5ba50d6"&gt;&lt;/img&gt;&#xD;
      &lt;/body&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/wG40wAw_RKZeHpihs-Zmhoko2K4/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/wG40wAw_RKZeHpihs-Zmhoko2K4/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/wG40wAw_RKZeHpihs-Zmhoko2K4/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/wG40wAw_RKZeHpihs-Zmhoko2K4/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/Traviblog/~4/DXnO_IM7-7M" height="1" width="1"/&gt;</description>
      <comments>http://travis.servebeer.com/blog.net/CommentView,guid,69fcbb7d-79ba-448e-b8a0-3040f5ba50d6.aspx</comments>
      <category>tech</category>
    <creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/3.0/</creativeCommons:license></item>
  </channel>
</rss>

