<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.codecarnage.com/~d/styles/itemcontent.css"?><rss xmlns:blogChannel="http://backend.userland.com/blogChannelModule" xmlns:dc="http://purl.org/dc/elements/1.1/" 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:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">
  <channel>
    <title>CodeCarnage</title>
    <description>modern web development</description>
    <link>http://www.codecarnage.com/code/</link>
    <docs>http://www.rssboard.org/rss-specification</docs>
    <generator>BlogEngine.NET 1.4.5.0</generator>
    <language>en-US</language>
    <blogChannel:blogRoll>http://www.codecarnage.com/code/opml.axd</blogChannel:blogRoll>
    <blogChannel:blink>http://www.dotnetblogengine.net/syndication.axd</blogChannel:blink>
    <dc:creator>Codecarnage</dc:creator>
    <dc:title>CodeCarnage</dc:title>
    <geo:lat>0.000000</geo:lat>
    <geo:long>0.000000</geo:long>
    <atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.codecarnage.com/codecarnage" /><feedburner:info uri="codecarnage" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><geo:lat>41.671761</geo:lat><geo:long>-83.606406</geo:long><item>
      <title>Firefox 3.5 Released!</title>
      <description>&lt;p&gt;
Firefox 3.5 has just been released.&amp;nbsp; Click the banner below to upgrade your internet browser if you haven&amp;#39;t already.
&lt;/p&gt;
&lt;p&gt;
&lt;script src="http://sfx-images.mozilla.org/utw/switch.js" type="text/javascript"&gt;
&lt;/script&gt;
&lt;span class="sfx-affiliates-utw-button size-468x60"&gt;
&lt;a style="display: none" href="http://addons.mozilla.org" title="Try Add-ons!" class="ff35"&gt;
&lt;img src="http://sfx-images.mozilla.org/utw/468x60_ff35.png" border="0" alt="You Rock.  Thanks for using Firefox. Try Add-ons!" /&gt;
&lt;/a&gt;
&lt;a style="display: none" href="http://www.mozilla.com/firefox/upgrade.html?from=sfx&amp;amp;uid=254479&amp;amp;t=478" title="Upgrade the Web to Firefox 3.5!" class="ff"&gt;
&lt;img src="http://sfx-images.mozilla.org/utw/468x60_ff.png" border="0" alt="Thanks for using Firefox.  Don't miss the upgrade.  Download Firefox 3.5!" /&gt;
&lt;/a&gt;
&lt;a style="display: none" href="http://www.mozilla.com/firefox/ie.html?from=sfx&amp;amp;uid=254479&amp;amp;t=480" title="Upgrade to Firefox 3.5!" class="ie"&gt;
&lt;img src="http://sfx-images.mozilla.org/utw/468x60_ie.png" border="0" alt="You don't use VHS...then why Internet Explorer?  Upgrade to Firefox 3.5!" /&gt;
&lt;/a&gt;
&lt;a href="http://www.mozilla.com/firefox/firefox.html?from=sfx&amp;amp;uid=254479&amp;amp;t=481" title="Upgrade to Firefox 3.5!" class="other"&gt;
&lt;img src="http://sfx-images.mozilla.org/utw/468x60_other.png" border="0" alt="You're settling for good when there's awesome.  Upgrade to Firefox 3.5!" /&gt;
&lt;/a&gt;
&lt;/span&gt;
&lt;script type="text/javascript"&gt;
init_utw()&lt;/script&gt;
&lt;/p&gt;
&lt;p&gt;
View some of the &lt;a href="http://www.mozilla.com/en-US/firefox/features/" target="_blank" title="Firefox 3.5 Features"&gt;new &amp;amp; improved features&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/c3zGIC0ShChSvuYcBPF9yE32X30/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/c3zGIC0ShChSvuYcBPF9yE32X30/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/c3zGIC0ShChSvuYcBPF9yE32X30/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/c3zGIC0ShChSvuYcBPF9yE32X30/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.codecarnage.com/~ff/codecarnage?a=v-A0S7fTx-o:uYWUkj2FeMM:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/codecarnage?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.codecarnage.com/~ff/codecarnage?a=v-A0S7fTx-o:uYWUkj2FeMM:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/codecarnage?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.codecarnage.com/~ff/codecarnage?a=v-A0S7fTx-o:uYWUkj2FeMM:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/codecarnage?i=v-A0S7fTx-o:uYWUkj2FeMM:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.codecarnage.com/~ff/codecarnage?a=v-A0S7fTx-o:uYWUkj2FeMM:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/codecarnage?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.codecarnage.com/~ff/codecarnage?a=v-A0S7fTx-o:uYWUkj2FeMM:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/codecarnage?i=v-A0S7fTx-o:uYWUkj2FeMM:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/codecarnage/~4/v-A0S7fTx-o" height="1" width="1"/&gt;</description>
      <link>http://feeds.codecarnage.com/~r/codecarnage/~3/v-A0S7fTx-o/post.aspx</link>
      <author>webmaster.nospam@nospam.codecarnage.com (sbumbaugh)</author>
      <comments>http://www.codecarnage.com/code/post/2009/06/30/firefox-35-released.aspx#comment</comments>
      <guid isPermaLink="false">http://www.codecarnage.com/code/post.aspx?id=6f880f71-73e8-405e-8015-b4c374e649eb</guid>
      <pubDate>Tue, 30 Jun 2009 15:57:00 -0700</pubDate>
      <category>General</category>
      <category>Tools</category>
      <dc:publisher>sbumbaugh</dc:publisher>
      <pingback:server>http://www.codecarnage.com/code/pingback.axd</pingback:server>
      <pingback:target>http://www.codecarnage.com/code/post.aspx?id=6f880f71-73e8-405e-8015-b4c374e649eb</pingback:target>
      <slash:comments>4</slash:comments>
      <trackback:ping>http://www.codecarnage.com/code/trackback.axd?id=6f880f71-73e8-405e-8015-b4c374e649eb</trackback:ping>
      <wfw:comment>http://www.codecarnage.com/code/post/2009/06/30/firefox-35-released.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.codecarnage.com/code/syndication.axd?post=6f880f71-73e8-405e-8015-b4c374e649eb</wfw:commentRss>
    <feedburner:origLink>http://www.codecarnage.com/code/post.aspx?id=6f880f71-73e8-405e-8015-b4c374e649eb</feedburner:origLink></item>
    <item>
      <title>Speed Up Filezilla</title>
      <description>&lt;a style="float: left" rel="filezilla-transfer" href="http://www.codecarnage.com/i/filezilla/medium/filezilla.jpg" title="Filezilla File Transfer Settings" class="thickbox"&gt;&lt;img src="/i/filezilla/thumb/filezilla.jpg" alt="Filezilla File Transfer Settings" /&gt;&lt;/a&gt;
&lt;p&gt;
&lt;a href="http://filezilla-project.org/" target="_blank" title="Filezilla"&gt;Filezilla&lt;/a&gt; is a great, open source, FTP client that I have been using for some time now.&amp;nbsp; If you&amp;#39;re undecided on an FTP client give it a try and &lt;a href="http://filezilla-project.org/download.php?type=client" target="_blank" title="Download Filezilla"&gt;download Filezilla&lt;/a&gt;.&amp;nbsp; When using Filezilla for the first time I recommend tweaking the file transfer settings.&amp;nbsp; Recently I had a couple co-workers new to Filezilla mention to me that file transfers were slow and taking a long time.&amp;nbsp; After taking a look I realized the default Filezilla file transfer settings were the culprit. 
&lt;/p&gt;
&lt;p&gt;
By default Filezilla is configured to support only one simultaneous file transfer.&amp;nbsp; On anything except the slowest connection this is going to be unneccesarily slow when transfering multiple files, particularly when those are small files that are not saturating your connection.&amp;nbsp; To adjust this setting, go to the Filezilla menu bar and select:
&lt;/p&gt;
&lt;div class="code"&gt;&lt;p&gt;
Edit --&amp;gt; Settings --&amp;gt; Transfers 
&lt;/p&gt;
&lt;/div&gt;&lt;p&gt;
and set &amp;quot;Maximum simultaneous transfers&amp;quot; to something higher than one.&amp;nbsp; I work on a very fast network and always set this to the maximum value of ten.
&lt;/p&gt;
&lt;p&gt;
So, if you&amp;#39;re using Filezilla nad can&amp;#39;t figure out why transfers are taking so long or why you can only transfer one file at a time, there&amp;#39;s a good chance that you&amp;#39;re only configured to transfer one file at a time. 
&lt;/p&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/j-5lQ7_dMd8JRTmMYqjD5oHvgPM/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/j-5lQ7_dMd8JRTmMYqjD5oHvgPM/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/j-5lQ7_dMd8JRTmMYqjD5oHvgPM/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/j-5lQ7_dMd8JRTmMYqjD5oHvgPM/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.codecarnage.com/~f/codecarnage?a=YZdbAACV"&gt;&lt;img src="http://feeds.feedburner.com/~f/codecarnage?d=41" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.codecarnage.com/~f/codecarnage?a=EBvw1tpI"&gt;&lt;img src="http://feeds.feedburner.com/~f/codecarnage?d=50" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.codecarnage.com/~f/codecarnage?a=NyRX9FfD"&gt;&lt;img src="http://feeds.feedburner.com/~f/codecarnage?i=NyRX9FfD" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.codecarnage.com/~f/codecarnage?a=Jz1ZLX3Q"&gt;&lt;img src="http://feeds.feedburner.com/~f/codecarnage?d=52" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.codecarnage.com/~f/codecarnage?a=9FFHeik7"&gt;&lt;img src="http://feeds.feedburner.com/~f/codecarnage?i=9FFHeik7" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/codecarnage/~4/11aCJbNFM7E" height="1" width="1"/&gt;</description>
      <link>http://feeds.codecarnage.com/~r/codecarnage/~3/11aCJbNFM7E/post.aspx</link>
      <author>webmaster.nospam@nospam.codecarnage.com (sbumbaugh)</author>
      <comments>http://www.codecarnage.com/code/post/2009/01/27/speed-up-filezilla.aspx#comment</comments>
      <guid isPermaLink="false">http://www.codecarnage.com/code/post.aspx?id=64bae3c2-9807-4869-b4ac-9e0a6dedf521</guid>
      <pubDate>Tue, 27 Jan 2009 18:41:00 -0700</pubDate>
      <category>Configuration</category>
      <category>General</category>
      <category>Tools</category>
      <dc:publisher>sbumbaugh</dc:publisher>
      <pingback:server>http://www.codecarnage.com/code/pingback.axd</pingback:server>
      <pingback:target>http://www.codecarnage.com/code/post.aspx?id=64bae3c2-9807-4869-b4ac-9e0a6dedf521</pingback:target>
      <slash:comments>40</slash:comments>
      <trackback:ping>http://www.codecarnage.com/code/trackback.axd?id=64bae3c2-9807-4869-b4ac-9e0a6dedf521</trackback:ping>
      <wfw:comment>http://www.codecarnage.com/code/post/2009/01/27/speed-up-filezilla.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.codecarnage.com/code/syndication.axd?post=64bae3c2-9807-4869-b4ac-9e0a6dedf521</wfw:commentRss>
    <feedburner:origLink>http://www.codecarnage.com/code/post.aspx?id=64bae3c2-9807-4869-b4ac-9e0a6dedf521</feedburner:origLink></item>
    <item>
      <title>Configuring Google Sites for Another Domain</title>
      <description>&lt;p&gt;
One nice feature of Google Sites is that the site can be configured to serve content from any subdomain.&amp;nbsp; For an overview of &lt;a href="http://sites.google.com/" target="_blank" title="Google Sites"&gt;Google Sites&lt;/a&gt;, check out my previous post, an &lt;a href="http://www.codecarnage.com/code/post.aspx?id=e198f668-772e-4e6c-9561-a3cc8b1e0123" title="Introduction to Google Sites"&gt;Introduction to Google Sites&lt;/a&gt;.&amp;nbsp; Although CNAME records (subdomains) can be mapped to the site, A records (hostnames) cannot be mapped.
&lt;/p&gt;
&lt;p&gt;
Configuring a subdomain to use with Google Sites is a simple process.&amp;nbsp; Below I will provide a guide for performing this configuration when using &lt;a href="http://www.godaddy.com" target="_blank" title="GoDaddy"&gt;GoDaddy&lt;/a&gt; as a domain registrar.&amp;nbsp; If you are using another registrar the process should be similiar.
&lt;/p&gt;
&lt;h3&gt;Domain Manager &lt;br /&gt;
&lt;/h3&gt;
&lt;p&gt;
Begin by accessing GoDaddy&amp;#39;s Domain Manager.&amp;nbsp; Locate the domain you would like to create your subdomain beneath.&amp;nbsp; For me, I clicked on the domain &lt;a href="http://www.lunchsummit.com" target="_blank" title="The Lunch Summit"&gt;lunchsummit.com&lt;/a&gt;.
&lt;/p&gt;
&lt;h3&gt;
Total DNS Control and MX Records &lt;/h3&gt;
&lt;p&gt;
Select the option for &amp;quot;Total DNS Control and MX Records.&amp;quot;&amp;nbsp; This will allow you to make changes to your DNS settings and is organized by record type.&amp;nbsp; The next step is to add a new CNAME Record by clicking the button, &amp;quot;Add new CNAME Record.&amp;quot;&amp;nbsp; For my site, &lt;a href="http://salsafest.lunchsummit.com" target="_blank" title="Salsa Fest!"&gt;salsafest.lunchsummit.com&lt;/a&gt; I created two alias names, salsafest and www.salsafest: 
&lt;/p&gt;
salsafest.lunchsummit.com 
&lt;ul&gt;
	&lt;li&gt;Host (Alias Name): salsafest&lt;/li&gt;
	&lt;li&gt;Points To: ghs.google.com&amp;nbsp;&lt;/li&gt;
	&lt;li&gt;TTL: 1 hour&lt;br /&gt;
	&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
&amp;nbsp;www.salsafest.lunchsummit.com
&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;Host (Alias Name): www.salsafest&lt;/li&gt;
	&lt;li&gt;Points To: ghs.google.com&lt;/li&gt;
	&lt;li&gt;TTL: 1 hour&lt;br /&gt;
	&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Configure Google Sites&lt;/h3&gt;
&lt;p&gt;
Once DNS is configured, Google Sites needs to be configured as well. Make sure you&amp;#39;re logged in to Google Sites and select:
&lt;/p&gt;
&lt;p&gt;
Site Settings --&amp;gt; Other Stuff --&amp;gt; Web Address 
&lt;/p&gt;
&lt;p&gt;
Once on the Web Address page, add the web address(es) you just configured in DNS.&amp;nbsp; For me, I entered the following:
&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;&lt;a href="http://www.codecarnage.com/code/admin/Pages/salsafest.lunchsummit.com" target="_blank" title="Salsa Fest!"&gt;salsafest.lunchsummit.com&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;www.salsafest.lunchsummit.com&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Summary&lt;/h3&gt;
&lt;p&gt;
Once everything is configured it may take a little time before the changes take effect. 
&lt;/p&gt;
&lt;p&gt;
For more information on this topic, see the &lt;a href="http://www.google.com/support/sites/" target="_blank" title="Google Sites Help"&gt;Google Sites Help&lt;/a&gt; article, &lt;a href="http://www.google.com/support/sites/bin/answer.py?hl=en&amp;amp;answer=99450" target="_blank" title="Changing the site URL for sites created under sites.google.com/site"&gt;Changing the site URL for sites created under sites.google.com/site&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/IhV2B560DXrt-VqvBVpOm72l-gs/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/IhV2B560DXrt-VqvBVpOm72l-gs/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/IhV2B560DXrt-VqvBVpOm72l-gs/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/IhV2B560DXrt-VqvBVpOm72l-gs/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.codecarnage.com/~f/codecarnage?a=wPabIPPj"&gt;&lt;img src="http://feeds.feedburner.com/~f/codecarnage?d=41" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.codecarnage.com/~f/codecarnage?a=ulitTCm1"&gt;&lt;img src="http://feeds.feedburner.com/~f/codecarnage?d=50" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.codecarnage.com/~f/codecarnage?a=UpudzLch"&gt;&lt;img src="http://feeds.feedburner.com/~f/codecarnage?i=UpudzLch" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.codecarnage.com/~f/codecarnage?a=lcFIID98"&gt;&lt;img src="http://feeds.feedburner.com/~f/codecarnage?d=52" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.codecarnage.com/~f/codecarnage?a=o61JOtBa"&gt;&lt;img src="http://feeds.feedburner.com/~f/codecarnage?i=o61JOtBa" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/codecarnage/~4/_wVaMGRFmQc" height="1" width="1"/&gt;</description>
      <link>http://feeds.codecarnage.com/~r/codecarnage/~3/_wVaMGRFmQc/post.aspx</link>
      <author>webmaster.nospam@nospam.codecarnage.com (sbumbaugh)</author>
      <comments>http://www.codecarnage.com/code/post/2009/01/22/configuring-google-sites-for-another-domain.aspx#comment</comments>
      <guid isPermaLink="false">http://www.codecarnage.com/code/post.aspx?id=11ddf026-9fed-4065-ab38-5283f7566203</guid>
      <pubDate>Thu, 22 Jan 2009 19:22:00 -0700</pubDate>
      <category>Configuration</category>
      <category>Hosting</category>
      <category>Web Development</category>
      <dc:publisher>sbumbaugh</dc:publisher>
      <pingback:server>http://www.codecarnage.com/code/pingback.axd</pingback:server>
      <pingback:target>http://www.codecarnage.com/code/post.aspx?id=11ddf026-9fed-4065-ab38-5283f7566203</pingback:target>
      <slash:comments>6</slash:comments>
      <trackback:ping>http://www.codecarnage.com/code/trackback.axd?id=11ddf026-9fed-4065-ab38-5283f7566203</trackback:ping>
      <wfw:comment>http://www.codecarnage.com/code/post/2009/01/22/configuring-google-sites-for-another-domain.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.codecarnage.com/code/syndication.axd?post=11ddf026-9fed-4065-ab38-5283f7566203</wfw:commentRss>
    <feedburner:origLink>http://www.codecarnage.com/code/post.aspx?id=11ddf026-9fed-4065-ab38-5283f7566203</feedburner:origLink></item>
    <item>
      <title>Introduction to Google Sites</title>
      <description>&lt;p&gt;
I&amp;#39;ve been playing with &lt;a href="http://sites.google.com/" target="_blank" title="Google Sites"&gt;Google Sites&lt;/a&gt; recently and found it to be a really nice site building tool, or at least a nice way to rapidly prototype a site.&amp;nbsp; Site architects are constrained to the toolsets provided; however, you can harness the power of &lt;a href="http://www.codecarnage.com/code/admin/Pages/Google%20Gadgets" target="_blank" title="http://www.google.com/webmasters/gadgets/"&gt;Google&amp;#39;s Gadgets&lt;/a&gt; as well as other &lt;a href="http://www.google.com/intl/en/options/" target="_blank" title="Google Apps"&gt;Google Apps&lt;/a&gt; that integrate with Google Sites. 
&lt;/p&gt;
&lt;p&gt;
With relatively little effort I was able to create a personal site, &lt;a href="http://salsafest.lunchsummit.com" target="_blank" title="Salsa Fest!"&gt;salsafest.lunchsummit.com&lt;/a&gt;, using Google Sites.&amp;nbsp; In just a few hours I had familiarized myself enough with the tool to create a decent site framework.&amp;nbsp; Now, this site is not going to win any awards, but it was perfect for sharing with friends.
&lt;/p&gt;
&lt;p&gt;
Some of the limitations and shortcomings I encountered include the following:
&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;No &lt;a href="http://www.google.com/support/sites/bin/answer.py?hl=en&amp;amp;answer=90970" target="_blank" title="Google AdSense support"&gt;Google AdSense support&lt;/a&gt;.&lt;/li&gt;
	&lt;li&gt;No scripting - there is no way to embed JavaScript into a page.&lt;/li&gt;
	&lt;li&gt;Limited SEO control - there is limited control over page titles, but I did not find way to control keywords or descriptions.&lt;/li&gt;
	&lt;li&gt;No CSS control - while you can edit your site&amp;#39;s &amp;quot;theme,&amp;quot; it only allows limited control of predefined items on the page.&amp;nbsp; There is no way to have or edit a custom CSS file.&lt;/li&gt;
	&lt;li&gt;Quirky controls - some of the controls I worked with wouldn&amp;#39;t always behave as expected.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
Here are some of the features that proved useful: 
&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;Custom site domain - it is a simple and straightforward process for serving your site from a &lt;a href="http://salsafest.lunchsummit.com/" target="_blank" title="Salsa Fest!"&gt;personalized subdomain&lt;/a&gt;. &lt;br /&gt;
	&lt;/li&gt;
	&lt;li&gt;Custom page name - there is full control over page names which can help boost SEO&lt;/li&gt;
	&lt;li&gt;Automatic sitemaps - Google Sites automatically generates a dynamic &lt;a href="http://salsafest.lunchsummit.com/site/ultimatesalsafest/system/feeds/sitemap" target="_blank" title="sitemap.xml"&gt;sitemap XML&lt;/a&gt; document for search engines as well as a &lt;a href="http://salsafest.lunchsummit.com/system/app/pages/sitemap/hierarchy" target="_blank" title="User sitemap"&gt;user sitemap&lt;/a&gt; page. &lt;/li&gt;
	&lt;li&gt;Analytics support - it is simple to add &lt;a href="http://www.google.com/analytics/" target="_blank" title="Google Analytics"&gt;Google Analytics&lt;/a&gt; tracking to sites.&lt;/li&gt;
	&lt;li&gt;Webmaster Tools - &lt;a href="http://www.google.com/webmasters/" target="_blank" title="Google Webmaster Tools"&gt;Google Webmaster Tools&lt;/a&gt; are also easily added to sites.&lt;/li&gt;
	&lt;li&gt;Docs - &lt;a href="http://docs.google.com/" target="_blank" title="Google Docs"&gt;Google Docs&lt;/a&gt; integrate with Google Sites as well, the Google Spreadsheet Forms are particularly useful for building things like &lt;a href="http://salsafest.lunchsummit.com/about-us/fan-mail" target="_blank" title="Contact Form"&gt;contact forms&lt;/a&gt;. &lt;/li&gt;
	&lt;li&gt;Calendar - it is easy to integrate &lt;a href="http://salsafest.lunchsummit.com/calendar" target="_blank" title="Salsa Fest calendar"&gt;calendars&lt;/a&gt; using &lt;a href="http://www.google.com/calendar" target="_blank" title="Google Calendar"&gt;Google Calendars&lt;/a&gt;. &lt;/li&gt;
	&lt;li&gt;ACL - limited access level control is also available, other Google Apps users can be added to the site as viewers, contributors or owners.&amp;nbsp; Additionally the site can be private or public.&lt;/li&gt;
	&lt;li&gt;Gadgets - there are a bunch of built-in official gadgets at hand that offer basic functionality such as adding text boxes, links, images, etc.&amp;nbsp; There are also gadgets that provide &lt;a href="http://salsafest.lunchsummit.com/salsas" target="_blank" title="Sortable list"&gt;list capabilities with sorting&lt;/a&gt;, &lt;a href="http://salsafest.lunchsummit.com/faqs" target="_blank" title="Table of contents"&gt;tables of contents&lt;/a&gt;, slideshows, etc. &lt;/li&gt;
&lt;/ul&gt;
&lt;ul class="google-sites-intro-img"&gt;
	&lt;li&gt;&lt;a rel="google-sites-overview" href="http://www.codecarnage.com/code/i/google-sites/medium/theme.jpg" title="Google Sites - Theme Customization" class="thickbox"&gt;&lt;img src="/code/i/google-sites/thumb/theme.jpg" alt="Google Sites - Theme Customization" width="212" /&gt;&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a rel="google-sites-overview" href="http://www.codecarnage.com/code/i/google-sites/medium/custom-list.jpg" title="Google Sites - Custom List Creation" class="thickbox"&gt;&lt;img src="/code/i/google-sites/thumb/custom-list.jpg" alt="Google Sites - Custom List Creation" width="212" /&gt;&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a rel="google-sites-overview" href="http://www.codecarnage.com/code/i/google-sites/medium/list-entry.jpg" title="Google Sites - List Entry" class="thickbox"&gt;&lt;img src="/code/i/google-sites/thumb/list-entry.jpg" alt="Google Sites - List Entry" width="212" /&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;p&gt;
All in all I would say Google Sites offers a lot of power and functionality for sites that don&amp;#39;t need to have a ton of polish, not to mention the price is right (it&amp;#39;s free).&amp;nbsp; If you&amp;#39;re building a non-commercial or personal website then give Google Sites a look.&amp;nbsp; It shouldn&amp;#39;t take a significant time investment to figure out whether or not it meets your needs.&amp;nbsp; I&amp;#39;ll try to post updates on some of the individual components of Google Sites in the future. 
&lt;/p&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/SdCq5hNccJWgvZHNbv-kylNARVU/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/SdCq5hNccJWgvZHNbv-kylNARVU/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/SdCq5hNccJWgvZHNbv-kylNARVU/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/SdCq5hNccJWgvZHNbv-kylNARVU/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.codecarnage.com/~f/codecarnage?a=WnrG699g"&gt;&lt;img src="http://feeds.feedburner.com/~f/codecarnage?d=41" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.codecarnage.com/~f/codecarnage?a=aKzZK0K8"&gt;&lt;img src="http://feeds.feedburner.com/~f/codecarnage?d=50" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.codecarnage.com/~f/codecarnage?a=qA06riyt"&gt;&lt;img src="http://feeds.feedburner.com/~f/codecarnage?i=qA06riyt" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.codecarnage.com/~f/codecarnage?a=4ytNW5bg"&gt;&lt;img src="http://feeds.feedburner.com/~f/codecarnage?d=52" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.codecarnage.com/~f/codecarnage?a=2q9Kwkna"&gt;&lt;img src="http://feeds.feedburner.com/~f/codecarnage?i=2q9Kwkna" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/codecarnage/~4/4yT4w4H059A" height="1" width="1"/&gt;</description>
      <link>http://feeds.codecarnage.com/~r/codecarnage/~3/4yT4w4H059A/post.aspx</link>
      <author>webmaster.nospam@nospam.codecarnage.com (sbumbaugh)</author>
      <comments>http://www.codecarnage.com/code/post/2009/01/20/introduction-to-google-sites.aspx#comment</comments>
      <guid isPermaLink="false">http://www.codecarnage.com/code/post.aspx?id=e198f668-772e-4e6c-9561-a3cc8b1e0123</guid>
      <pubDate>Tue, 20 Jan 2009 20:35:00 -0700</pubDate>
      <category>General</category>
      <category>Web Development</category>
      <category>Hosting</category>
      <dc:publisher>sbumbaugh</dc:publisher>
      <pingback:server>http://www.codecarnage.com/code/pingback.axd</pingback:server>
      <pingback:target>http://www.codecarnage.com/code/post.aspx?id=e198f668-772e-4e6c-9561-a3cc8b1e0123</pingback:target>
      <slash:comments>17</slash:comments>
      <trackback:ping>http://www.codecarnage.com/code/trackback.axd?id=e198f668-772e-4e6c-9561-a3cc8b1e0123</trackback:ping>
      <wfw:comment>http://www.codecarnage.com/code/post/2009/01/20/introduction-to-google-sites.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.codecarnage.com/code/syndication.axd?post=e198f668-772e-4e6c-9561-a3cc8b1e0123</wfw:commentRss>
    <feedburner:origLink>http://www.codecarnage.com/code/post.aspx?id=e198f668-772e-4e6c-9561-a3cc8b1e0123</feedburner:origLink></item>
    <item>
      <title>BlogEngine.NET ArgumentOutOfRangeException for RSS</title>
      <description>&lt;p&gt;
I can&amp;#39;t seem to replicate this error again, but yesterday I was receiving an ArgumentOutOfRangeException error when clicking the the &lt;a href="http://en.wikipedia.org/wiki/Rss" target="_blank" title="RSS"&gt;RSS&lt;/a&gt; subscription link on &lt;a href="http://www.stevebumbaugh.com" target="_blank" title="www.stevebumbaugh.com"&gt;www.stevebumbaugh.com&lt;/a&gt;.&amp;nbsp; After searching the web I found some information that implied there may have been time descrepencies between either my laptop (where I develop my site), the server (hosted somewhere at GoDaddy)&amp;nbsp; or BlogEngine.NET.&amp;nbsp; Adjusting the &amp;quot;Server time offset&amp;quot; on the BlogEngine.NET settings page fixed my issue (it was an hour off from our last time change in the fall).
&lt;/p&gt;
&lt;p&gt;
I&amp;#39;ll update this post with more information if I encounter this issue again or find more information on the topic, but for now I am unable to replicate the issue. 
&lt;/p&gt;
&lt;h2&gt;Update&lt;/h2&gt;
&lt;p&gt;
This is still an issue that I am having with my site, &lt;a href="http://www.stevebumbaugh.com/me/syndication.axd" target="_blank" title="http://www.stevebumbaugh.com/me/syndication.axd"&gt;http://www.stevebumbaugh.com/me/syndication.axd&lt;/a&gt;.&amp;nbsp; So, for now I am just fine tuning the server offset time, by setting to zero.&amp;nbsp; Unfortunately it&amp;#39;s annoying to have to keep adjusting it back and forth in order to keep accurate local time on the site. 
&lt;/p&gt;
&lt;p&gt;
Here is the full stack trace:
&lt;/p&gt;
&lt;p&gt;
&lt;font face="courier new,courier"&gt;[ArgumentOutOfRangeException: Specified argument was out of the range of valid values.&lt;br /&gt;
Parameter name: utcDate]&lt;br /&gt;
&amp;nbsp;&amp;nbsp; System.Web.HttpCachePolicy.UtcSetLastModified(DateTime utcDate) +3352787&lt;br /&gt;
&amp;nbsp;&amp;nbsp; System.Web.HttpCachePolicy.SetLastModified(DateTime date) +47&lt;br /&gt;
&amp;nbsp;&amp;nbsp; BlogEngine.Core.Utils.SetConditionalGetHeaders(DateTime date) in Utils.cs:129&lt;br /&gt;
&amp;nbsp;&amp;nbsp; BlogEngine.Core.Web.HttpHandlers.SyndicationHandler.SetHeaderInformation(HttpContext context, List`1 items, SyndicationFormat format) in SyndicationHandler.cs:293&lt;br /&gt;
&amp;nbsp;&amp;nbsp; BlogEngine.Core.Web.HttpHandlers.SyndicationHandler.ProcessRequest(HttpContext context) in SyndicationHandler.cs:65&lt;br /&gt;
&amp;nbsp;&amp;nbsp; System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +358&lt;br /&gt;
&amp;nbsp;&amp;nbsp; System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean&amp;amp; completedSynchronously) +64&lt;br /&gt;
&lt;/font&gt;&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/sFSKi6cFnZKy2YT0jRinohhI6Mw/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/sFSKi6cFnZKy2YT0jRinohhI6Mw/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/sFSKi6cFnZKy2YT0jRinohhI6Mw/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/sFSKi6cFnZKy2YT0jRinohhI6Mw/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.codecarnage.com/~f/codecarnage?a=7lX6aqAB"&gt;&lt;img src="http://feeds.feedburner.com/~f/codecarnage?d=41" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.codecarnage.com/~f/codecarnage?a=tRsyRAfr"&gt;&lt;img src="http://feeds.feedburner.com/~f/codecarnage?d=50" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.codecarnage.com/~f/codecarnage?a=k84IgtAp"&gt;&lt;img src="http://feeds.feedburner.com/~f/codecarnage?i=k84IgtAp" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.codecarnage.com/~f/codecarnage?a=SFg2VugZ"&gt;&lt;img src="http://feeds.feedburner.com/~f/codecarnage?d=52" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.codecarnage.com/~f/codecarnage?a=gL0YjWW5"&gt;&lt;img src="http://feeds.feedburner.com/~f/codecarnage?i=gL0YjWW5" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/codecarnage/~4/CxZ5Cv7TU-g" height="1" width="1"/&gt;</description>
      <link>http://feeds.codecarnage.com/~r/codecarnage/~3/CxZ5Cv7TU-g/post.aspx</link>
      <author>webmaster.nospam@nospam.codecarnage.com (sbumbaugh)</author>
      <comments>http://www.codecarnage.com/code/post/2009/01/17/blogengine-net-argumentoutofrangeexception-rss.aspx#comment</comments>
      <guid isPermaLink="false">http://www.codecarnage.com/code/post.aspx?id=80c67c38-552f-474b-ae23-6e4dc6c11d7c</guid>
      <pubDate>Sat, 17 Jan 2009 10:08:00 -0700</pubDate>
      <category>Web Development</category>
      <category>Hosting</category>
      <category>Configuration</category>
      <dc:publisher>sbumbaugh</dc:publisher>
      <pingback:server>http://www.codecarnage.com/code/pingback.axd</pingback:server>
      <pingback:target>http://www.codecarnage.com/code/post.aspx?id=80c67c38-552f-474b-ae23-6e4dc6c11d7c</pingback:target>
      <slash:comments>5</slash:comments>
      <trackback:ping>http://www.codecarnage.com/code/trackback.axd?id=80c67c38-552f-474b-ae23-6e4dc6c11d7c</trackback:ping>
      <wfw:comment>http://www.codecarnage.com/code/post/2009/01/17/blogengine-net-argumentoutofrangeexception-rss.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.codecarnage.com/code/syndication.axd?post=80c67c38-552f-474b-ae23-6e4dc6c11d7c</wfw:commentRss>
    <feedburner:origLink>http://www.codecarnage.com/code/post.aspx?id=80c67c38-552f-474b-ae23-6e4dc6c11d7c</feedburner:origLink></item>
    <item>
      <title>BlogEngine.NET Disappearing Page Slug</title>
      <description>&lt;h3&gt;Problem Background&lt;br /&gt;
&lt;/h3&gt;
&lt;p&gt;
While working&amp;nbsp; on my blog at &lt;a href="http://www.stevebumbaugh.com/" target="_blank" title="www.stevebumbaugh.com"&gt;www.stevebumbaugh.com&lt;/a&gt; I have come across with the MySQL implementation of BlogEngine.NET.&amp;nbsp; It is possible to create a page and set a custom slug that is different than the title.&amp;nbsp; When working on a &lt;a href="http://www.stevebumbaugh.com/me/page/ouray-jeep-jamboree-vacation-2008.aspx" target="_blank" title="Ouray Jeep Jamboree - Vacation 2008"&gt;post&lt;/a&gt; with a custom slug everything seems to work as expected.&amp;nbsp; Unfortuantely when I would come back to the page at a later time, the custom URL would change, resulting in a 404, page not found error.&amp;nbsp; Editing the page would reveal that the custom slug had reverted back to the default slug for the page. 
&lt;/p&gt;
&lt;h3&gt;Slugs &lt;br /&gt;
&lt;/h3&gt;
&lt;p&gt;
In BlogEngine.NET the slug can be used to define the page name.&amp;nbsp; For
instance, when viewing this post, the slug is
&lt;a href="http://www.codecarnage.com/code/post.aspx?id=4837a108-1d37-4647-8331-98321f561536" title="BlogEngine.NET Disappearing Page Slug"&gt;blogenginenet-disappearing-page-slug&lt;/a&gt;.&amp;nbsp; This allows the administrator to control page names for posts and custom pages.&amp;nbsp; This can also help with search engine optimization.&amp;nbsp; Unfortunately this functionality is not implemented for custom pages (it does not affect posts) created when using a database implementation instead of XML implementation of BlogEngine.NET. 
&lt;/p&gt;
&lt;p&gt;
The database table be_Pages does not contain a field for slugs as would be expected.&amp;nbsp; A look at the source code also confirms this,  the database provider implementation BlogEngine.Core.Providers.DbBlogProvider.InsertPage(Page page) ignores the Slug property of the Page object.&amp;nbsp; In contrast, XML provider BlogEngine.Core.Providers.XmlBlogProvider.InsertPage(Page page), does appear to save the slug; although, I have not tested this functionality.
&lt;/p&gt;
&lt;h3&gt;Conclusion &lt;br /&gt;
&lt;/h3&gt;
&lt;p&gt;
There is currently not a way to set custom page slugs in BlogEngine.NET when using MySQL.&amp;nbsp; When the custom slug is saved it seems to be cached in memory.&amp;nbsp; Once that cache expires the custom slug is lost because it has no way to be persisted to the database.&amp;nbsp; This is not really a big deal for me because I did not need a custom page name, but it did cause some confusion.&amp;nbsp; Updating the code to store the slug doesn&amp;#39;t seem like it would take too much effort if there really was a need to do so.
&lt;/p&gt;
&lt;h3&gt;Environment&lt;br /&gt;
&lt;/h3&gt;
&lt;ul&gt;
	&lt;li&gt;&lt;a href="http://www.godaddy.com/gdshop/hosting/shared.asp" target="_blank" title="GoDaddy Deluxe Hosting"&gt;GoDaddy Deluxe Hosting Plan&lt;/a&gt; (ASP.NET medium trust environment, IIS7, .NET 3.5)&lt;/li&gt;
	&lt;li&gt;&lt;a href="http://dev.mysql.com/downloads/mysql/5.0.html#downloads" target="_blank" title="MySQL 5"&gt;MySQL 5&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href="http://www.dotnetblogengine.net/" target="_blank" title="BlogEngine.NET"&gt;BlogEngine.NET 1.4.5&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/rJd0zoLocALS6hyYoC6YoVeRtFo/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/rJd0zoLocALS6hyYoC6YoVeRtFo/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/rJd0zoLocALS6hyYoC6YoVeRtFo/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/rJd0zoLocALS6hyYoC6YoVeRtFo/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.codecarnage.com/~f/codecarnage?a=CNtsiOMH"&gt;&lt;img src="http://feeds.feedburner.com/~f/codecarnage?d=41" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.codecarnage.com/~f/codecarnage?a=XFVCoyCz"&gt;&lt;img src="http://feeds.feedburner.com/~f/codecarnage?d=50" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.codecarnage.com/~f/codecarnage?a=83ptwXzJ"&gt;&lt;img src="http://feeds.feedburner.com/~f/codecarnage?i=83ptwXzJ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.codecarnage.com/~f/codecarnage?a=6HiTD8Y4"&gt;&lt;img src="http://feeds.feedburner.com/~f/codecarnage?d=52" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.codecarnage.com/~f/codecarnage?a=t2ytst0E"&gt;&lt;img src="http://feeds.feedburner.com/~f/codecarnage?i=t2ytst0E" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/codecarnage/~4/DxSHOSMtTKg" height="1" width="1"/&gt;</description>
      <link>http://feeds.codecarnage.com/~r/codecarnage/~3/DxSHOSMtTKg/post.aspx</link>
      <author>webmaster.nospam@nospam.codecarnage.com (sbumbaugh)</author>
      <comments>http://www.codecarnage.com/code/post/2008/12/11/blogenginenet-disappearing-page-slug.aspx#comment</comments>
      <guid isPermaLink="false">http://www.codecarnage.com/code/post.aspx?id=4837a108-1d37-4647-8331-98321f561536</guid>
      <pubDate>Thu, 11 Dec 2008 20:11:00 -0700</pubDate>
      <category>General</category>
      <category>Web Development</category>
      <category>Configuration</category>
      <dc:publisher>sbumbaugh</dc:publisher>
      <pingback:server>http://www.codecarnage.com/code/pingback.axd</pingback:server>
      <pingback:target>http://www.codecarnage.com/code/post.aspx?id=4837a108-1d37-4647-8331-98321f561536</pingback:target>
      <slash:comments>8</slash:comments>
      <trackback:ping>http://www.codecarnage.com/code/trackback.axd?id=4837a108-1d37-4647-8331-98321f561536</trackback:ping>
      <wfw:comment>http://www.codecarnage.com/code/post/2008/12/11/blogenginenet-disappearing-page-slug.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.codecarnage.com/code/syndication.axd?post=4837a108-1d37-4647-8331-98321f561536</wfw:commentRss>
    <feedburner:origLink>http://www.codecarnage.com/code/post.aspx?id=4837a108-1d37-4647-8331-98321f561536</feedburner:origLink></item>
    <item>
      <title>CodeCarnage First Month Milestone - Visitors from 19 Countries</title>
      <description>&lt;p&gt;
Well, I must say, I am extremely happy with how well the blog has done since it launched a month ago tomorrow.&amp;nbsp; In particular, my &lt;a href="http://www.codecarnage.com/code/post.aspx?id=1578b7bc-2dc5-4ff6-aee0-8fb5a311c2fa" title="BlogEngine.NET with MySQL on GoDaddy Deluxe Hosting"&gt;first post&lt;/a&gt; has driven a lot of traffic from Google and some people have been kind enough to leave comments thanking me for the help I provided.&amp;nbsp; You&amp;#39;re welcome.
&lt;/p&gt;
&lt;p&gt;
Here&amp;#39;s how the stats break down from &lt;a href="http://www.google.com/analytics/" target="_blank" title="Google Analytics"&gt;Google Analytics&lt;/a&gt; for the first month:
&lt;/p&gt;
&lt;blockquote&gt;
	&lt;strong&gt;October 26, 2008 - November 25, 2008&lt;/strong&gt;&lt;br /&gt;
	&lt;blockquote&gt;
		&lt;p&gt;
		687 Pageviews
		&lt;/p&gt;
		&lt;p&gt;
		147 Visits
		&lt;/p&gt;
		&lt;p&gt;
		19 Countries
		&lt;/p&gt;
		&lt;p&gt;
		16 States 
		&lt;/p&gt;
	&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;p&gt;
When I started, I didn&amp;#39;t think I would get much traffic outside of the &lt;a href="http://maps.google.com/maps?f=q&amp;amp;hl=en&amp;amp;geocode=&amp;amp;q=toledo,+oh&amp;amp;sll=37.0625,-95.677068&amp;amp;sspn=61.323728,135.351563&amp;amp;ie=UTF8&amp;amp;z=12&amp;amp;g=toledo,+oh&amp;amp;iwloc=addr" target="_blank" title="Toledo/Northwest Ohio"&gt;Toledo/Northwest Ohio&lt;/a&gt; region. All I can say is, &lt;a href="http://www.google.com" target="_blank" title="Google"&gt;Google&lt;/a&gt; is an amazing tool and I was quite surprised (and excited) when I started getting visits outside of the US. 
&lt;/p&gt;
&lt;p&gt;
&lt;a rel="analytics" href="http://www.codecarnage.com/code/i/google-analytics/2008-11-25/visitors.jpg" title="Map - Site Traffic Oct 26, 2008 - Nov 25, 2008 - 147 Visits from 19 Countries" class="thickbox"&gt;&lt;img src="/code/i/google-analytics/2008-11-25/thumb/visitors.jpg" alt="Map - Site Traffic Oct 26, 2008 - Nov 25, 2008 - 147 Visits from 19 Countries" width="640" /&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/TtTnE8k9KMT6T-TfeISVNBp9tyQ/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/TtTnE8k9KMT6T-TfeISVNBp9tyQ/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/TtTnE8k9KMT6T-TfeISVNBp9tyQ/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/TtTnE8k9KMT6T-TfeISVNBp9tyQ/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.codecarnage.com/~f/codecarnage?a=ofFaSjLx"&gt;&lt;img src="http://feeds.feedburner.com/~f/codecarnage?d=41" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.codecarnage.com/~f/codecarnage?a=kK2X4hUF"&gt;&lt;img src="http://feeds.feedburner.com/~f/codecarnage?d=50" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.codecarnage.com/~f/codecarnage?a=tTZ0PZ3H"&gt;&lt;img src="http://feeds.feedburner.com/~f/codecarnage?i=tTZ0PZ3H" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.codecarnage.com/~f/codecarnage?a=mJoFQ8kk"&gt;&lt;img src="http://feeds.feedburner.com/~f/codecarnage?d=52" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.codecarnage.com/~f/codecarnage?a=9IxL5qPR"&gt;&lt;img src="http://feeds.feedburner.com/~f/codecarnage?i=9IxL5qPR" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/codecarnage/~4/5QMy3q5F5hI" height="1" width="1"/&gt;</description>
      <link>http://feeds.codecarnage.com/~r/codecarnage/~3/5QMy3q5F5hI/post.aspx</link>
      <author>webmaster.nospam@nospam.codecarnage.com (sbumbaugh)</author>
      <comments>http://www.codecarnage.com/code/post/2008/11/24/codecarnage-first-month-milestone-visitors-from-19-countries.aspx#comment</comments>
      <guid isPermaLink="false">http://www.codecarnage.com/code/post.aspx?id=7f038e92-9ad4-4b70-966e-17dd4ccb358a</guid>
      <pubDate>Mon, 24 Nov 2008 22:07:00 -0700</pubDate>
      <category>General</category>
      <category>Web Development</category>
      <category>Hosting</category>
      <dc:publisher>sbumbaugh</dc:publisher>
      <pingback:server>http://www.codecarnage.com/code/pingback.axd</pingback:server>
      <pingback:target>http://www.codecarnage.com/code/post.aspx?id=7f038e92-9ad4-4b70-966e-17dd4ccb358a</pingback:target>
      <slash:comments>4</slash:comments>
      <trackback:ping>http://www.codecarnage.com/code/trackback.axd?id=7f038e92-9ad4-4b70-966e-17dd4ccb358a</trackback:ping>
      <wfw:comment>http://www.codecarnage.com/code/post/2008/11/24/codecarnage-first-month-milestone-visitors-from-19-countries.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.codecarnage.com/code/syndication.axd?post=7f038e92-9ad4-4b70-966e-17dd4ccb358a</wfw:commentRss>
    <feedburner:origLink>http://www.codecarnage.com/code/post.aspx?id=7f038e92-9ad4-4b70-966e-17dd4ccb358a</feedburner:origLink></item>
    <item>
      <title>Tracking Images with Thickbox and Google Analytics</title>
      <description>&lt;p&gt;
&lt;a href="http://jquery.com/demo/thickbox/" target="_blank" title="ThickBox"&gt;ThickBox&lt;/a&gt; is a nice tool for creating an image gallery, but there is no way for &lt;a href="http://www.google.com/analytics/" target="_blank" title="Google Analytics"&gt;Google Analytics&lt;/a&gt; to automatically track the images viewed.&amp;nbsp; If using Google Analytics, one solution is to modify ThickBox to call a function that registers the image click using the &lt;a href="http://code.google.com/apis/analytics/docs/gaJSApi.html" target="_blank" title="Google Analytics Tracking API"&gt;Google Analytics Tracking API&lt;/a&gt;. 
&lt;/p&gt;
&lt;p&gt;
For more information on configuring ThickBox, see my previous post &lt;a href="http://www.codecarnage.com/code/post.aspx?id=18a5ce0d-c542-4bc3-aa12-b2f253f27f72" target="_blank" title="Configuring jQuery and Thickbox with BlogEngine.NET"&gt;Configuring jQuery and Thickbox with BlogEngine.NET&lt;/a&gt;.
&lt;/p&gt;
&lt;h2&gt;
Add Tracking Function to Page
&lt;/h2&gt;
&lt;p&gt;
First, add a function to your page template that calls the &lt;a href="http://code.google.com/apis/analytics/docs/gaJSApi.html#_gat.GA_Tracker_._trackPageview" target="_blank" title="Google Analytics _trackPageview function"&gt;Google Analytics _trackPageview function&lt;/a&gt;.&amp;nbsp; This needs to be located within the page, after the Google Analytics initialization (&lt;font face="courier new,courier"&gt;var pageTracker = _gat._getTracker(&amp;quot;xxx&amp;quot;);&lt;/font&gt;).&amp;nbsp; This will provide a callback function that ThickBox can use to track ThickBoxed image gallery clicks. &amp;nbsp; 
&lt;/p&gt;
&lt;div class="code"&gt;&amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;gt;&lt;br /&gt;
&lt;p&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="rem"&gt;//&amp;lt;![CDATA[&lt;br /&gt;&lt;/span&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwrd"&gt;function&lt;/span&gt; trackThickbox(caption, url, imageGroup) {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwrd"&gt;try&lt;/span&gt; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; pageTracker._trackPageview(url);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; } &lt;span class="kwrd"&gt;catch&lt;/span&gt; (e) { }&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="rem"&gt;//]]&amp;gt;&lt;br /&gt;&lt;/span&gt;
&amp;lt;/script&amp;gt;
&amp;nbsp;&amp;nbsp;
&lt;/p&gt;
&lt;/div&gt;&lt;h2&gt;Add Callback to Thickbox.js &lt;br /&gt;
&lt;/h2&gt;
&lt;p&gt;
Next, locate the tb_show function within the &lt;a href="http://www.codecarnage.com/code/js/jquery/thickbox-3.1/thickbox.js?TB_iframe=true&amp;amp;height=400&amp;amp;width=800" title="ThickBox source" class="thickbox"&gt;thickbox.js&lt;/a&gt; file.&amp;nbsp; Add a callback to the trackThickbox() function that was just added to the page template.
&lt;/p&gt;
&lt;div class="code"&gt;&lt;p&gt;
&lt;span class="kwrd"&gt;function&lt;/span&gt; tb_show(caption, url, imageGroup) {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwrd"&gt;try&lt;/span&gt; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwrd"&gt;if&lt;/span&gt; (trackThickbox) {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; trackThickbox(caption, url, imageGroup);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; } &lt;span class="kwrd"&gt;catch&lt;/span&gt; (e) { }&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;...&lt;br /&gt;
}&amp;nbsp;
&lt;/p&gt;
&lt;/div&gt;&lt;h2&gt;Summary&lt;/h2&gt;
&lt;p&gt;
These relatively simple updates allow sites to track image clicks via Google Analytics and ThickBox.&amp;nbsp; There is an example of this in action at &lt;a href="http://www.stevebumbaugh.com/me/post.aspx?id=672e72cf-c12e-4fba-a23a-e8a901b49dee" target="_blank" title="The Mounds November 2008"&gt;www.stevebumbaugh.com&lt;/a&gt;.&amp;nbsp; In addition to Google Analytics this solution could probably be used with other web analytic suites that allow custom page tracking.&amp;nbsp; To implement tracking with another web analytics suite, the &lt;font face="courier new,courier"&gt;trackThickbox &lt;/font&gt;function would need to be reimplemented with whatever API call is specific to that suite.&amp;nbsp; There are probably other ways to achieve this as well, but no simplier solutions come to mind.&amp;nbsp; Any alternative suggestions or improvements are welcome. 
&lt;/p&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/lvminmHJSnc1eNgVCUSb6ktRdZA/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/lvminmHJSnc1eNgVCUSb6ktRdZA/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/lvminmHJSnc1eNgVCUSb6ktRdZA/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/lvminmHJSnc1eNgVCUSb6ktRdZA/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.codecarnage.com/~f/codecarnage?a=4ds63tpY"&gt;&lt;img src="http://feeds.feedburner.com/~f/codecarnage?d=41" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.codecarnage.com/~f/codecarnage?a=69ymRNlv"&gt;&lt;img src="http://feeds.feedburner.com/~f/codecarnage?d=50" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.codecarnage.com/~f/codecarnage?a=luqfGl4y"&gt;&lt;img src="http://feeds.feedburner.com/~f/codecarnage?i=luqfGl4y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.codecarnage.com/~f/codecarnage?a=3MmEB0lY"&gt;&lt;img src="http://feeds.feedburner.com/~f/codecarnage?d=52" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.codecarnage.com/~f/codecarnage?a=BzCiHFyr"&gt;&lt;img src="http://feeds.feedburner.com/~f/codecarnage?i=BzCiHFyr" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/codecarnage/~4/rKK7bLopnLo" height="1" width="1"/&gt;</description>
      <link>http://feeds.codecarnage.com/~r/codecarnage/~3/rKK7bLopnLo/post.aspx</link>
      <author>webmaster.nospam@nospam.codecarnage.com (sbumbaugh)</author>
      <comments>http://www.codecarnage.com/code/post/2008/11/24/tracking-images-with-thickbox-and-google-analytics.aspx#comment</comments>
      <guid isPermaLink="false">http://www.codecarnage.com/code/post.aspx?id=c37399b4-6089-49ee-9c3a-0a4e4b5292d5</guid>
      <pubDate>Mon, 24 Nov 2008 20:12:00 -0700</pubDate>
      <category>Search Engines (SEO)</category>
      <category>Web Development</category>
      <category>Configuration</category>
      <category>JavaScript</category>
      <dc:publisher>sbumbaugh</dc:publisher>
      <pingback:server>http://www.codecarnage.com/code/pingback.axd</pingback:server>
      <pingback:target>http://www.codecarnage.com/code/post.aspx?id=c37399b4-6089-49ee-9c3a-0a4e4b5292d5</pingback:target>
      <slash:comments>12</slash:comments>
      <trackback:ping>http://www.codecarnage.com/code/trackback.axd?id=c37399b4-6089-49ee-9c3a-0a4e4b5292d5</trackback:ping>
      <wfw:comment>http://www.codecarnage.com/code/post/2008/11/24/tracking-images-with-thickbox-and-google-analytics.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.codecarnage.com/code/syndication.axd?post=c37399b4-6089-49ee-9c3a-0a4e4b5292d5</wfw:commentRss>
    <feedburner:origLink>http://www.codecarnage.com/code/post.aspx?id=c37399b4-6089-49ee-9c3a-0a4e4b5292d5</feedburner:origLink></item>
    <item>
      <title>Configuring jQuery and Thickbox with BlogEngine.NET</title>
      <description>&lt;p&gt;
Over on my blog at &lt;a href="http://www.stevebumbaugh.com" target="_blank" title="www.stevebumbaugh.com"&gt;www.stevebumbaugh.com&lt;/a&gt; I wanted to create a nice Web 2.0 image gallery using &lt;a href="http://jquery.com/demo/thickbox/" target="_blank" title="ThickBox"&gt;ThickBox&lt;/a&gt;, which is dependent on the &lt;a href="http://jquery.com/" target="_blank" title="jQuery"&gt;jQuery&lt;/a&gt; JavaScript Library.&amp;nbsp; Additionally I wanted to have jQuery configured as it is very handy and only a matter of time before I needed it.&amp;nbsp; I&amp;#39;ve been using it for about a year now and feel lost without it.&amp;nbsp; It&amp;#39;s both a powerful and lightweight JavaScript library that seems to have steadily gained popularity since it was released in 2006.&amp;nbsp; Apparently Microsoft and Nokia have recognized the power of jQuery as well, they are both moving to make jQuery part of their upcoming development platforms that include &lt;a href="http://msdn.microsoft.com/en-us/vstudio/default.aspx" target="_blank" title="Microsoft Visual Studio"&gt;Microsoft&amp;#39;s Visual Studio&lt;/a&gt; and &lt;a href="http://www.s60.com/life/thisiss60/s60indetail/technologiesandfeatures/webruntime/webruntimedetail" target="_blank" title="Nokia Web Run-Time"&gt;Nokia&amp;#39;s Web Run-Time&lt;/a&gt;.
&lt;/p&gt;
&lt;h2&gt;Environment&lt;/h2&gt;
&lt;ul&gt;
	&lt;li&gt;&lt;a href="http://www.dotnetblogengine.net/" target="_blank" title="BlogEngine.NET"&gt;BlogEngine.NET 1.4.5&lt;/a&gt;&amp;nbsp;&lt;/li&gt;
	&lt;li&gt;&lt;a href="http://jquery.com/" target="_blank" title="jQuery 1.2.6"&gt;jQuery 1.2.6&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href="http://jquery.com/demo/thickbox/" target="_blank" title="ThickBox 3.1"&gt;ThickBox 3.1&lt;/a&gt; &lt;br /&gt;
	&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Configuring jQuery 1.2.6 &lt;/h2&gt;
&lt;p&gt;
jQuery is simple enough to install if there are not any conflicting JavaScript libraries configured.&amp;nbsp; To install, download the file &lt;a href="http://www.codecarnage.com/code/js/jquery/jquery-1.2.6.js" target="_blank" title="jquery source"&gt;jquery-1.2.6.js&lt;/a&gt; from &lt;a href="http://docs.jquery.com/Downloading_jQuery" target="_blank" title="Download jQuery"&gt;jquery.com&lt;/a&gt;, add it to your project and add a script reference to the &amp;lt;head/&amp;gt; section of the site.&amp;nbsp; For &lt;a href="http://www.dotnetblogengine.net/" target="_blank" title="BlogEngine.NET"&gt;BlogEngine.NET&lt;/a&gt; add the script reference to the site.master file for the current theme. For this site, that reference looks like the following:
&lt;/p&gt;
&lt;div class="code"&gt;&lt;p&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="rem"&gt;//&amp;lt;![CDATA[&lt;br /&gt;&lt;/span&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; $(document).ready(&lt;span class="kwrd"&gt;function&lt;/span&gt;() {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; alert(&amp;#39;If jQuery &lt;span class="kwrd"&gt;is&lt;/span&gt; working properly you will see &lt;span class="kwrd"&gt;this&lt;/span&gt; message.&amp;#39;);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; });&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="rem"&gt;//]]&amp;gt;&lt;br /&gt;&lt;/span&gt;
&amp;lt;/script&amp;gt;
&lt;/p&gt;
&lt;/div&gt;&lt;p&gt;
If jQuery is working properly an &lt;a href="#" target="_blank" class="jquerythickboxalert"&gt;alert box&lt;/a&gt; will display, stating this fact once the page loads.&amp;nbsp; This test will fail when using BlogEngine.NET because there is another JavaScript library in place that is interfering with the &lt;a href="http://docs.jquery.com/Core" target="_blank" title="jQuery Variable"&gt;jQuery variable &amp;#39;$&amp;#39;&lt;/a&gt;.&amp;nbsp; In FireFox 3 the error message reads, &amp;quot;$ is not defined,&amp;quot; in Internet Explorer 7 the message reads, &amp;quot;Object expected.&amp;quot;&amp;nbsp; This can be resolved by reassigning&amp;nbsp;the jQuery variable by placing the following code beneath the jQuery script reference:
&lt;/p&gt;
&lt;div class="code"&gt;&lt;p&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;/code/js/jquery/jquery-1.2.6.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; $j = jQuery.noConflict();&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&amp;lt;/script&amp;gt;
&lt;/p&gt;
&lt;/div&gt;&lt;p&gt;
Now, update the test code to use the new jQuery variable &amp;#39;$j&amp;#39;:
&lt;/p&gt;
&lt;div class="code"&gt;&lt;p&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="rem"&gt;//&amp;lt;![CDATA[&lt;br /&gt;&lt;/span&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; $j(document).ready(&lt;span class="kwrd"&gt;function&lt;/span&gt;() {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; alert(&amp;#39;If jQuery &lt;span class="kwrd"&gt;is&lt;/span&gt; working properly you will see &lt;span class="kwrd"&gt;this&lt;/span&gt; message.&amp;#39;);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; });&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="rem"&gt;//]]&amp;gt;&lt;br /&gt;&lt;/span&gt;
&amp;lt;/script&amp;gt;
&lt;/p&gt;
&lt;/div&gt;&lt;p&gt;
Now jQuery should be configured and the test code above should display the &lt;a href="#" target="_blank" class="jquerythickboxalert"&gt;test message&lt;/a&gt;. 
&lt;/p&gt;
&lt;h2&gt;Configuring ThickBox 3.1 &lt;br /&gt;
&lt;/h2&gt;
&lt;p&gt;
ThickBox is a &lt;a href="http://www.lokeshdhakar.com/projects/lightbox2/" target="_blank" title="Lightbox"&gt;Lightbox&lt;/a&gt; clone that is built using jQuery.&amp;nbsp; Both can be used to display modal style windows containing images, but Thickbox can also display inline html content, iframed content and AJAX content.&amp;nbsp; It is also very lightweight coming in around 10k compressed.&amp;nbsp; 
&lt;/p&gt;
&lt;p&gt;
To install ThickBox, &lt;a href="http://jquery.com/demo/thickbox/" target="_blank" title="ThickBox"&gt;download&lt;/a&gt; the thickbox.js, the thickbox.css and the loadingAnimation.gif.&amp;nbsp; Next, add thickbox.js and thickbox.css references to the &amp;lt;head/&amp;gt; section of the site.master file.&amp;nbsp; Make sure the thickbox.js &amp;lt;script&amp;gt; block follows the &amp;lt;script&amp;gt; block for jQuery as well as the jQuery.noConflict(); inline script call: 
&lt;/p&gt;
&lt;div class="code"&gt;&lt;p&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;/code/js/jquery/jquery-1.2.6.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; $j = jQuery.noConflict();&amp;nbsp; &amp;nbsp;&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;/code/js/jquery/thickbox-3.1/thickbox.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;style type=&amp;quot;text/css&amp;quot; media=&amp;quot;all&amp;quot;&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="preproc"&gt;@import&lt;/span&gt; &amp;quot;/code/css/thickbox-3.1/thickbox.css&amp;quot;;&lt;br /&gt;
&amp;lt;/style&amp;gt;
&lt;/p&gt;
&lt;/div&gt;&lt;p&gt;
Open thickbox.js and adjust the variable tb_pathToImage to the path to 
&lt;a href="http://www.codecarnage.com/code/i/thickbox-3.1/loadingAnimation.gif" title="ThickBox loadingAnimation.gif" class="thickbox"&gt;loadingAnimation.gif&lt;/a&gt;.&amp;nbsp; Since the default jQuery variable &amp;#39;$&amp;#39; has been replaced with &amp;#39;$j&amp;#39; the thickbox.js source needs to be updated to reflect this.&amp;nbsp; All the jQuery references &amp;#39;$&amp;#39; in the thickbox.js file need to be updated to &amp;#39;$j&amp;#39;.&amp;nbsp; Careful not to blindly replace all &amp;#39;$&amp;#39; with &amp;#39;$j&amp;#39; in the file though.&amp;nbsp; There is a regular expression contained within the file that will break if it is modified:
&lt;/p&gt;
&lt;div class="code"&gt;&lt;p&gt;
&lt;span class="kwrd"&gt;var&lt;/span&gt; urlString = /\.jpg$|\.jpeg$|\.png$|\.gif$|\.bmp$/; 
&lt;/p&gt;
&lt;/div&gt;&lt;p&gt;
A global replace of &amp;#39;$(&amp;#39; with &amp;#39;$j(&amp;#39; should safely update the jQuery variable without overwriting the regular expression.&amp;nbsp; The modified file should look like this: &lt;a href="http://www.codecarnage.com/code/js/jquery/thickbox-3.1/thickbox.js?TB_iframe=true&amp;amp;height=400&amp;amp;width=800" title="Modified thickbox.js" class="thickbox"&gt;thickbox.js&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;
Additionally, there is a conflict between the thickbox.css file and the style.css file within the BlogEngine.NET theme.&amp;nbsp; Using &lt;a href="http://getfirebug.com/" target="_blank" title="Firebug"&gt;Firebug&lt;/a&gt; I was able to determine that the first line of thickbox.css was causing the problem.&amp;nbsp; Commenting it out resolves the problem:
&lt;/p&gt;
&lt;div class="code"&gt;/* *{padding: 0; margin: 0;} */&lt;/div&gt;&lt;p&gt;
The modified file should look like this: &lt;a href="http://www.codecarnage.com/code/css/thickbox-3.1/thickbox.css?TB_iframe=true&amp;amp;height=400&amp;amp;width=800" title="Modified thickbox.css" class="thickbox"&gt;thickbox.css.&lt;/a&gt;
&lt;/p&gt;
&lt;h2&gt;Summary&lt;/h2&gt;
&lt;p&gt;
As expected when using multiple, interdependent technologies there are integration challenges to overcome or work around.&amp;nbsp; Having previous experience setting up jQuery and ThickBox was invaluable to me when configuring it to work here and made it pretty simple.&amp;nbsp; Hopefully this post will help people not as familiar with these technologies get jQuery and/or ThickBox up and running with BlogEngine.NET.&amp;nbsp; I hope to put them to good use soon, but for now you can see the photo gallery that started this project at &lt;a href="http://www.stevebumbaugh.com/me/post.aspx?id=672e72cf-c12e-4fba-a23a-e8a901b49dee" target="_blank" title="Jeep Mounds Photo Gallery"&gt;www.stevebumbaugh.com&lt;/a&gt;. 
&lt;/p&gt;
&lt;h2&gt;
jQuery News&lt;/h2&gt;
&lt;p&gt;
More information on jQuery, Microsoft and Nokia: 
&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;&lt;a href="http://jquery.com/blog/2008/09/28/jquery-microsoft-nokia/" target="_blank" title="jQuery, Microsoft, and Nokia"&gt;jQuery, Microsoft, and Nokia&lt;/a&gt; &lt;em&gt;(jQuery Blog)&lt;/em&gt;&lt;br /&gt;
	&lt;/li&gt;
	&lt;li&gt;&lt;a href="http://weblogs.asp.net/scottgu/archive/2008/09/28/jquery-and-microsoft.aspx" target="_blank" title="jQuery and Microsoft"&gt;jQuery and Microsoft&lt;/a&gt; &lt;em&gt;(ScottGu&amp;#39;s Blog)&lt;/em&gt;&lt;br /&gt;
	&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
&lt;script type="text/javascript"&gt;
//&lt;![CDATA[
$j('.jquerythickboxalert').click(function() {
alert('If jQuery is working properly you will see this message.');
return false;
});
//]]&gt;
&lt;/script&gt;
&lt;/p&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/qhz9cAAFODGnkIL06HuhxcRkYBM/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/qhz9cAAFODGnkIL06HuhxcRkYBM/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/qhz9cAAFODGnkIL06HuhxcRkYBM/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/qhz9cAAFODGnkIL06HuhxcRkYBM/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.codecarnage.com/~f/codecarnage?a=mXwDWYJz"&gt;&lt;img src="http://feeds.feedburner.com/~f/codecarnage?d=41" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.codecarnage.com/~f/codecarnage?a=AtVTHz5k"&gt;&lt;img src="http://feeds.feedburner.com/~f/codecarnage?d=50" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.codecarnage.com/~f/codecarnage?a=nK52so9L"&gt;&lt;img src="http://feeds.feedburner.com/~f/codecarnage?i=nK52so9L" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.codecarnage.com/~f/codecarnage?a=Mz4mf9Ak"&gt;&lt;img src="http://feeds.feedburner.com/~f/codecarnage?d=52" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.codecarnage.com/~f/codecarnage?a=KDzytCrX"&gt;&lt;img src="http://feeds.feedburner.com/~f/codecarnage?i=KDzytCrX" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/codecarnage/~4/C1jWVU9TQ_A" height="1" width="1"/&gt;</description>
      <link>http://feeds.codecarnage.com/~r/codecarnage/~3/C1jWVU9TQ_A/post.aspx</link>
      <author>webmaster.nospam@nospam.codecarnage.com (sbumbaugh)</author>
      <comments>http://www.codecarnage.com/code/post/2008/11/16/jquery-thickbox-blogengine-net.aspx#comment</comments>
      <guid isPermaLink="false">http://www.codecarnage.com/code/post.aspx?id=18a5ce0d-c542-4bc3-aa12-b2f253f27f72</guid>
      <pubDate>Sun, 16 Nov 2008 10:56:00 -0700</pubDate>
      <category>Web Development</category>
      <category>Configuration</category>
      <category>Hosting</category>
      <category>JavaScript</category>
      <dc:publisher>sbumbaugh</dc:publisher>
      <pingback:server>http://www.codecarnage.com/code/pingback.axd</pingback:server>
      <pingback:target>http://www.codecarnage.com/code/post.aspx?id=18a5ce0d-c542-4bc3-aa12-b2f253f27f72</pingback:target>
      <slash:comments>19</slash:comments>
      <trackback:ping>http://www.codecarnage.com/code/trackback.axd?id=18a5ce0d-c542-4bc3-aa12-b2f253f27f72</trackback:ping>
      <wfw:comment>http://www.codecarnage.com/code/post/2008/11/16/jquery-thickbox-blogengine-net.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.codecarnage.com/code/syndication.axd?post=18a5ce0d-c542-4bc3-aa12-b2f253f27f72</wfw:commentRss>
    <feedburner:origLink>http://www.codecarnage.com/code/post.aspx?id=18a5ce0d-c542-4bc3-aa12-b2f253f27f72</feedburner:origLink></item>
    <item>
      <title>Missing Google AdSense Ads</title>
      <description>&lt;p&gt;
As you&amp;#39;ve probably noticed, I&amp;#39;m using &lt;a href="https://www.google.com/adsense/" target="_blank" title="Google AdSense"&gt;Google AdSense&lt;/a&gt; service to place ads on this blog.&amp;nbsp; Recently I decided to place a row of ads at the bottom of each post and some, but not all, of the ads on my &lt;a href="http://www.codecarnage.com/" title="www.codecarnage.com"&gt;home page&lt;/a&gt; disappeared.&amp;nbsp; Interestingly there were not any missing ads on other pages.&amp;nbsp; I also checked the AdSense Site Diagnostics and there were not any blocked URL&amp;#39;s listed.&amp;nbsp; After a quick search of the &lt;a href="https://www.google.com/adsense/support/bin/answer.py?hl=en&amp;amp;answer=10036" target="_blank" title="Why aren't ads appearing on my site?"&gt;AdSense Help&lt;/a&gt; I determined my &lt;a href="http://www.codecarnage.com/" title="www.codecarnage.com"&gt;home page&lt;/a&gt; was exceeding the maximum number of ads per page.&amp;nbsp; So, for now, I&amp;#39;ve removed the ads that were appended to the posts. 
&lt;/p&gt;
&lt;p&gt;
&lt;img src="/code/i/posts/adsense/adsense-missing.jpg" alt="AdSense Problem" title="AdSense Problem" /&gt;
&lt;img src="/code/i/posts/adsense/adsense.jpg" alt="AdSense Solved" title="AdSense Solved" /&gt;
&lt;/p&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/NXHcByjb0I0dPrqVxjcRGk2ymmw/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/NXHcByjb0I0dPrqVxjcRGk2ymmw/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/NXHcByjb0I0dPrqVxjcRGk2ymmw/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/NXHcByjb0I0dPrqVxjcRGk2ymmw/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.codecarnage.com/~f/codecarnage?a=uk3KprT3"&gt;&lt;img src="http://feeds.feedburner.com/~f/codecarnage?d=41" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.codecarnage.com/~f/codecarnage?a=yv7UdDjy"&gt;&lt;img src="http://feeds.feedburner.com/~f/codecarnage?d=50" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.codecarnage.com/~f/codecarnage?a=cAJz9Dh3"&gt;&lt;img src="http://feeds.feedburner.com/~f/codecarnage?i=cAJz9Dh3" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.codecarnage.com/~f/codecarnage?a=L1MW3ama"&gt;&lt;img src="http://feeds.feedburner.com/~f/codecarnage?d=52" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.codecarnage.com/~f/codecarnage?a=uheWj1rE"&gt;&lt;img src="http://feeds.feedburner.com/~f/codecarnage?i=uheWj1rE" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/codecarnage/~4/eIHl3XQhOIM" height="1" width="1"/&gt;</description>
      <link>http://feeds.codecarnage.com/~r/codecarnage/~3/eIHl3XQhOIM/post.aspx</link>
      <author>webmaster.nospam@nospam.codecarnage.com (sbumbaugh)</author>
      <comments>http://www.codecarnage.com/code/post/2008/11/11/missing-google-adsense-ads.aspx#comment</comments>
      <guid isPermaLink="false">http://www.codecarnage.com/code/post.aspx?id=3eb79ae9-9423-47ad-a69a-53d060e61c66</guid>
      <pubDate>Tue, 11 Nov 2008 19:46:00 -0700</pubDate>
      <category>Web Development</category>
      <category>Hosting</category>
      <dc:publisher>sbumbaugh</dc:publisher>
      <pingback:server>http://www.codecarnage.com/code/pingback.axd</pingback:server>
      <pingback:target>http://www.codecarnage.com/code/post.aspx?id=3eb79ae9-9423-47ad-a69a-53d060e61c66</pingback:target>
      <slash:comments>2</slash:comments>
      <trackback:ping>http://www.codecarnage.com/code/trackback.axd?id=3eb79ae9-9423-47ad-a69a-53d060e61c66</trackback:ping>
      <wfw:comment>http://www.codecarnage.com/code/post/2008/11/11/missing-google-adsense-ads.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.codecarnage.com/code/syndication.axd?post=3eb79ae9-9423-47ad-a69a-53d060e61c66</wfw:commentRss>
    <feedburner:origLink>http://www.codecarnage.com/code/post.aspx?id=3eb79ae9-9423-47ad-a69a-53d060e61c66</feedburner:origLink></item>
  </channel>
</rss>
