﻿<?xml version="1.0" encoding="utf-8"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><docs>http://www.rssboard.org/rss-specification</docs><title>LightningHammer - Blog</title><language>en-us</language><atom:link href="http://www.lightninghammer.com/Rss.aspx?ContentID=1256121" rel="self" type="application/rss+xml" /><itunes:author>www.lightninghammer.com</itunes:author><itunes:owner><itunes:name>Keith Storm</itunes:name><itunes:email /></itunes:owner><itunes:category text="" /><itunes:explicit>no</itunes:explicit><link>http://www.lightninghammer.com</link><pubDate>Mon, 16 Nov 2020 06:25:07 GMT</pubDate><description>LightningHammer - Blog</description><itunes:summary>LightningHammer - Blog</itunes:summary><lastBuildDate>Wed, 12 Sep 2012 20:51:37 GMT</lastBuildDate><item><title>Upward Sports launches coaching apps</title><link>http://www.lightninghammer.com/upward-sports-launches-coaching-apps</link><pubDate>Wed, 12 Sep 2012 05:00:00 GMT</pubDate><itunes:author /><dc:creator>Keith Storm</dc:creator><description><![CDATA[<p><img alt="" src="http://www.lightninghammer.com/Websites/lightninghammer/images/portfolio/uscb-preview.png" class="alignRight" width="100" />We've been hinting at a big project we've been working for a couple of months and the time has come to let everyone know what we've been working on. Introducing Upward Basketball Coach and Upward Cheerleading Coach. We worked closely with Upward Sports to create the applications precisely as they desired. </p>
<table>
    <tbody>
        <tr>
            <td><a href="http://itunes.apple.com/us/artist/upward-sports/id535127221?uo=4" target="itunes_store"><img alt="" src="http://www.lightninghammer.com/Websites/lightninghammer/images/services/App_Store_Badge_EN.jpg" width="100" /></a></td>
            <td><a href="https://play.google.com/store/search?q=Upward+Sports+Coach" target="_blank"><img alt="" src="http://www.lightninghammer.com/Websites/lightninghammer/images/services/google-play-logo.png" width="100" /></a></td>
        </tr>
    </tbody>
</table>
<p><a href="http://www.lightninghammer.com/upward-sports-launches-coaching-apps">Click here to read more...</a></p>]]></description><itunes:summary>We've been hinting at a big project we've been working for a couple of months and the time has come to let everyone know what we've been working on. Introducing Upward Basketball Coach and Upward Cheerleading Coach. We worked closely with Upward Sports to create the applications precisely as they desired. 

    
        
            
            
        
    

Click here to read more...</itunes:summary><content:encoded><![CDATA[<p><img alt="" src="http://www.lightninghammer.com/Websites/lightninghammer/images/portfolio/uscb-preview.png" class="alignRight" />We've been hinting at a big project we've been working for a couple of months and the time has come to let everyone know what we've been working on. Introducing Upward Basketball Coach and Upward Cheerleading Coach. We worked closely with <a href="http://www.upward.org">Upward Sports</a> to create the applications precisely as they desired. Features of the apps include:</p>
<ul>
    <li>Manage player / cheerleader and guardian information</li>
    <li>Access to practice plans</li>
    <li>Substitute players on game day (Basketball Coach)</li>
    <li>View Cheers / Chants (Cheerleading Coach)</li>
    <li>Keep track of star distribution for each game</li>
</ul>
<p>The Apps are available now for iPhone, iPod Touch, iPad, and Android devices. Visit the <a href="http://itunes.apple.com/us/artist/upward-sports/id535127221?uo=4" target="itunes_store">App Store</a> or <a href="https://play.google.com/store/search?q=Upward+Sports+Coach" target="_blank">Google Play</a> to download your copy today. </p>
<br />
<p><a href="http://itunes.apple.com/us/artist/upward-sports/id535127221?uo=4" target="itunes_store"><img alt="" src="http://www.lightninghammer.com/Websites/lightninghammer/images/services/App_Store_Badge_EN.jpg" /></a>
<a href="https://play.google.com/store/search?q=Upward+Sports+Coach" target="_blank"><img alt="" src="http://www.lightninghammer.com/Websites/lightninghammer/images/services/google-play-logo.png" width="233" /></a></p>]]></content:encoded><guid>http://www.lightninghammer.com/upward-sports-launches-coaching-apps</guid></item><item><title>Carolina Park - Website Development</title><link>http://www.lightninghammer.com/carolina-park-website-development</link><pubDate>Thu, 09 Aug 2012 05:00:00 GMT</pubDate><itunes:author /><dc:creator>Keith Storm</dc:creator><description><![CDATA[<div class="sitePreview right"><a href="http://www.carolinaparksc.com" target="_blank"><img src="http://www.lightninghammer.com/websites/lightninghammer/images/portfolio/carolinapark-preview.jpg" alt="Carolina Park" /></a></div>
<p>"Carolina Park is a 1,700-acre master-planned community conveniently located in Mount Pleasant, South Carolina. Shaped by the principles of “smart growth,” Carolina Park is a family-friendly place where neighbors enjoy an active, connected lifestyle and where work, recreation, education and gracious living all take place in one amenity-packed, environmentally conscious setting."
</p>
<p>The site was designed and developed by LightningHammer in conjunction with the talented team at <a href="http://www.brandfarmers.com" target="_blank">BrandFarmers</a>.</p>]]></description><itunes:summary>
"Carolina Park is a 1,700-acre master-planned community conveniently located in Mount Pleasant, South Carolina. Shaped by the principles of “smart growth,” Carolina Park is a family-friendly place where neighbors enjoy an active, connected lifestyle and where work, recreation, education and gracious living all take place in one amenity-packed, environmentally conscious setting."

The site was designed and developed by LightningHammer in conjunction with the talented team at BrandFarmers.</itunes:summary><content:encoded><![CDATA[<div class="sitePreview right"><a href="http://www.carolinaparksc.com" target="_blank"><img src="http://www.lightninghammer.com/websites/lightninghammer/images/portfolio/carolinapark-preview.jpg" alt="Carolina Park" /></a></div>
<p>"Carolina Park is a 1,700-acre master-planned community conveniently located in Mount Pleasant, South Carolina. Shaped by the principles of “smart growth,” Carolina Park is a family-friendly place where neighbors enjoy an active, connected lifestyle and where work, recreation, education and gracious living all take place in one amenity-packed, environmentally conscious setting."
</p>
<p>The site was designed and developed by LightningHammer in conjunction with the talented team at <a href="http://www.brandfarmers.com" target="_blank">BrandFarmers</a>.</p>
<p><a href="http://www.carolinaparksc.com" target="_blank">Check out the site here.</a></p>]]></content:encoded><guid>http://www.lightninghammer.com/carolina-park-website-development</guid></item><item><title>Springdale, SC - Website Development</title><link>http://www.lightninghammer.com/springdale-sc-website-development</link><pubDate>Wed, 08 Aug 2012 05:00:00 GMT</pubDate><itunes:author /><dc:creator>Keith Storm</dc:creator><description><![CDATA[<div class="sitePreview right"><a href="http://www.springdalesc.com" target="_blank"><img src="http://www.lightninghammer.com/websites/lightninghammer/images/portfolio/springdale-preview.jpg" alt="Springdale, SC" /></a></div>
<p>We are proud to announce the launch of the newly created website for the Town of Springdale, South Carolina. Springdale is located just outside of Columbia, South Carolina, and features a small town charm, southern hospitality, and family values that have flourished in this community.</p>
<p>The site was designed and developed by LightningHammer with photography provided by r.g. photography.</p>
<p><a href="http://www.springdalesc.com" target="_blank">Check out the site here.</a></p>]]></description><itunes:summary>
We are proud to announce the launch of the newly created website for the Town of Springdale, South Carolina. Springdale is located just outside of Columbia, South Carolina, and features a small town charm, southern hospitality, and family values that have flourished in this community.
The site was designed and developed by LightningHammer with photography provided by r.g. photography.
Check out the site here.</itunes:summary><content:encoded><![CDATA[<div class="sitePreview right"><a href="http://www.springdalesc.com" target="_blank"><img src="http://www.lightninghammer.com/websites/lightninghammer/images/portfolio/springdale-preview.jpg" alt="Springdale, SC" /></a></div>
<p>We are proud to announce the launch of the newly created website for the Town of Springdale, South Carolina. Springdale is located just outside of Columbia, South Carolina, and features a small town charm, southern hospitality, and family values that have flourished in this community.</p>
<p>The site was designed and developed by LightningHammer with photography provided by r.g. photography.</p>
<p><a href="http://www.springdalesc.com" target="_blank">Check out the site here.</a></p>]]></content:encoded><guid>http://www.lightninghammer.com/springdale-sc-website-development</guid></item><item><title>Fountain Inn Civic Center Mobile Version 2.0 hits the App Store</title><link>http://www.lightninghammer.com/fountain-inn-civic-center-mobile-version-20-hits-the-app-store</link><pubDate>Wed, 27 Jun 2012 05:00:00 GMT</pubDate><itunes:author /><dc:creator>Keith Storm</dc:creator><description><![CDATA[<p>Version 2.0 of the mobile app for the Fountain Inn Center for the Visual and Performing Arts has hit the app store. This version has a completely updated user interface as well as a few other notable upgrades including: Consolidated events list Dynamic weather updates Updated map view with capabilities to list nearby food and accommodations Check-in with Foursquare The App is available for FREE on the App Store for iPhone, iPod touch, and iPad. So if you're looking to have a great time at a...</p>]]></description><itunes:summary>Version 2.0 of the mobile app for the Fountain Inn Center for the Visual and Performing Arts has hit the app store. This version has a completely updated user interface as well as a few other notable upgrades including: Consolidated events list Dynamic weather updates Updated map view with capabilities to list nearby food and accommodations Check-in with Foursquare The App is available for FREE on the App Store for iPhone, iPod touch, and iPad. So if you're looking to have a great time at a...</itunes:summary><content:encoded><![CDATA[<p><img alt="" src="http://www.lightninghammer.com/Websites/lightninghammer/images/Blog/fipa-app-small.png" class="alignRight" />Version 2.0 of the mobile app for the Fountain Inn Center for the Visual and Performing Arts has hit the app store. This version has a completely updated user interface as well as a few other notable upgrades including:</p>
<ul>
    <li>Consolidated events list</li>
    <li>Dynamic weather updates</li>
    <li>Updated map view with capabilities to list nearby food and accommodations</li>
    <li>Check-in with Foursquare</li>
</ul>
<p>The App is available for FREE on the App Store for iPhone, iPod touch, and iPad. So if you're looking to have a great time at an affordable price, check out the Fountain Inn Center for the Visual and Performing Arts Mobile.</p>
<p>Look for a specially designed iPad interface coming soon.</p>
<br />
<p><a href="http://itunes.apple.com/us/app/fountain-inn-center-for-visual/id453530500" target="_blank"><img alt="" src="http://www.lightninghammer.com/Websites/lightninghammer/images/services/App_Store_Badge_EN.jpg" /></a></p>]]></content:encoded><guid>http://www.lightninghammer.com/fountain-inn-civic-center-mobile-version-20-hits-the-app-store</guid></item><item><title>LightningCMS Feature Additions: Blog Pagination</title><link>http://www.lightninghammer.com/lightningcms-feature-additions-blog-pagination</link><pubDate>Wed, 27 Jun 2012 05:00:00 GMT</pubDate><itunes:author /><dc:creator>LH Admin</dc:creator><description><![CDATA[<p>Hot off the development floor comes another new feature for the LightningCMS blog element; blog pagination. Blog pagination is a simple feature that now displays a page navigation feature at the bottom of your blog lists that allows you to navigate to older blog posts by clicking on the desired page.  Note: pages generated by blog pagination are dynamic pages and will NOT count against the page limits of your website. To enable blog pagination, simply check the box to enable pagination and ...</p>]]></description><itunes:summary>Hot off the development floor comes another new feature for the LightningCMS blog element; blog pagination. Blog pagination is a simple feature that now displays a page navigation feature at the bottom of your blog lists that allows you to navigate to older blog posts by clicking on the desired page.  Note: pages generated by blog pagination are dynamic pages and will NOT count against the page limits of your website. To enable blog pagination, simply check the box to enable pagination and ...</itunes:summary><content:encoded><![CDATA[<p>Hot off the development floor comes another new feature for the LightningCMS blog element; blog pagination. Blog pagination is a simple feature that now displays a page navigation feature at the bottom of your blog lists that allows you to navigate to older blog posts by clicking on the desired page. </p>
<p><strong>Note:</strong> pages generated by blog pagination are dynamic pages and will NOT count against the page limits of your website.</p>
<p>To enable blog pagination, simply check the box to enable pagination and enter the desired number of posts per page. The default is 20 posts per page and the maximum allowed is 1,000 posts per page. This feature is only available on blogs that are using one of the list settings (list, list with body, or list with summary).</p>
<p style="text-align: center;"><img alt="" src="http://www.lightninghammer.com/Websites/lightninghammer/images/Blog/pagination-settings.png" /></p>
<p>After you have enabled pagination, a page navigation control will automatically be added to the bottom of your blog list. This list is also very easily styled using the built in CSS files for your website. </p>
<p style="text-align: center;"><img alt="" src="http://www.lightninghammer.com/Websites/lightninghammer/images/Blog/pagination-nav.png" /></p>]]></content:encoded><guid>http://www.lightninghammer.com/lightningcms-feature-additions-blog-pagination</guid></item><item><title>LightningCMS Feature Additions: Blog Pings</title><link>http://www.lightninghammer.com/lightningcms-feature-additions-blog-pings</link><pubDate>Fri, 15 Jun 2012 05:00:00 GMT</pubDate><itunes:author /><dc:creator>LH Admin</dc:creator><description><![CDATA[<p>Several new updates are headed to LightningCMS this summer. The first update is now available for the LightningCMS blog element in the form of XML-RPC pings. XML-RPC pings are a way of notifying websites that your blog content has been updated. </p>]]></description><itunes:summary>Several new updates are headed to LightningCMS this summer. The first update is now available for the LightningCMS blog element in the form of XML-RPC pings. XML-RPC pings are a way of notifying websites that your blog content has been updated. </itunes:summary><content:encoded><![CDATA[<p>Several new updates are headed to LightningCMS this summer. The first update is now available for the LightningCMS blog element in the form of XML-RPC pings. XML-RPC pings are a way of notifying websites that your blog content has been updated. This is especially helpful with SEO (Search Engine Optimization), because it can notify popular search engines to come to your site and index the new content.</p>
<p>Setup is very simple, just go to the "Advanced" settings of your blog element and select "Ping the most common blog search services". This will ping the most common services. You can also add a list of custom services you would like to ping.</p>
<p><img alt="" src="http://www.lightninghammer.com/Websites/lightninghammer/images/Blog/Pings.png" /></p>
<p>Check it out and happy blogging! Stay tuned for more LightningCMS updates.</p>]]></content:encoded><guid>http://www.lightninghammer.com/lightningcms-feature-additions-blog-pings</guid></item><item><title>Do You Need Responsive Web Design?</title><link>http://www.lightninghammer.com/do-you-need-responsive-web-design</link><pubDate>Wed, 23 May 2012 05:00:00 GMT</pubDate><itunes:author /><dc:creator>LH Admin</dc:creator><description><![CDATA[<p>A new buzzword going around the industry is "responsive web design".  You may have heard it, you may not have, but it's likely you have seen some websites using it. If you have your own webpage, or your company does, you have probably come across the issue that your website doesn't work exactly how it should in every browser, every size, or every device.  It looks too small, too large, or text and images scroll off the page.  Responsive web design tries to remedy this problem, and...</p>]]></description><itunes:summary>A new buzzword going around the industry is "responsive web design".  You may have heard it, you may not have, but it's likely you have seen some websites using it. If you have your own webpage, or your company does, you have probably come across the issue that your website doesn't work exactly how it should in every browser, every size, or every device.  It looks too small, too large, or text and images scroll off the page.  Responsive web design tries to remedy this problem, and...</itunes:summary><content:encoded><![CDATA[<img alt="" src="http://www.lightninghammer.com/Websites/lightninghammer/images/hmm.jpg" style="float: left;" />
<p>A new buzzword going around the industry is "responsive web design".  You may have heard it, you may not have, but it's likely you have seen some websites using it.</p>
<p>If you have your own webpage, or your company does, you have probably come across the issue that your website doesn't work exactly how it should in every browser, every size, or every device.  It looks too small, too large, or text and images scroll off the page.  Responsive web design tries to remedy this problem, and some pretty creative solutions can be achieved using this method.</p>
<p>Years ago when the idea of using CSS was just starting to become more than a curiosity, it was always a good idea to make your websites "fluid", meaning whatever size you scale your browser window to, the web page content slides around to fit the screen.  It sounds good in theory, and it worked well enough for a while, but with the introduction of really large wide screens, and really small mobile screens, your content can end up looking very unsightly.  It is predicted in the next three to five years, mobile browsing will surpass desktop browsing.  That means there will be some pretty ugly and unreadable websites out there if you view them with your smartphone.</p>
<p>As designers, we have been making websites fit the "lowest common denominator" of screen sizes.  It used to be 800x600 pixels, now it is 1024x768 pixels.  With the wild popularity of mobile browsing, however, our need to support a wide variety of screen sizes has become a necessity.  Clients will want a site that works on desktops, but they want their site to also work on iPhones.  We design another template for the iPhone, which is a decent enough solution.  But what if they come back and say, "we now want it to work on iPad.  Or the NEW iPAD!".  Well, now we have to design 2 more templates, add more code to the site to redirect, and create potentially that many more breaking points.  To prevent from making template after template, there has to be a better way...  a way to make the websites adapt to their environment.  And thus we come to responsive web design.</p>
<p>The definition of responsive web design, as defined by wikipedia, is "<em>a web site is crafted to use Cascading Style Sheets 3 media queries, an extension of the @media rule, with fluid proportion-based grids, to adapt the layout to the viewing environment, and probably also use flexible images. As a result, users across a broad range of devices and browsers will have access to a single source of content, laid out so as to be easy to read and navigate with a minimum of resizing, panning, and scrolling.</em>"  Okay.  But what does that mean in layman's terms?  Basically, it means that the web page will "adapt" to the device or browser viewing it.  On a screen that has a lot of real estate, the webpage may show a big pretty image of your establishment, with some thumbnail images under that for each of your departments, with some nice descriptive text.  </p>
<p><img alt="" src="http://www.lightninghammer.com/Websites/lightninghammer/images/responsive1.jpg" /> </p>
<p>Scale your browser down a little bit, and your page will magically scale your big pretty image, make the thumbnails smaller, and condense some of the text under the departments.  Scale that down some more, and now your title shows instead of the big image, your departments become just text links, and the page text reduces by a few points.  Show it on a smart phone, and it shows whatever will fit on the device.  However your site is viewed, the presentation is clean, consistent, and properly styled.  </p>
<p>Now, as the client, what does this mean for you?  Do you need to immediately update your site to this responsive thing?  Well, not necessarily-- not yet, anyway.  But, if you are considering refreshing your site, coming up with a new design, or moving to a new platform, it might not be a bad idea to consider it.  The smartphone market isn't getting any smaller, and many of your potential customers will most likely be viewing you on a mobile device sometime in the future.  As of now, this method is one of the best ways to make sure your message is received how you want it to be on each of those devices. </p>]]></content:encoded><guid>http://www.lightninghammer.com/do-you-need-responsive-web-design</guid></item><item><title>Services Revamp</title><link>http://www.lightninghammer.com/services-revamp</link><pubDate>Tue, 28 Feb 2012 06:00:00 GMT</pubDate><itunes:author /><dc:creator>Keith Storm</dc:creator><description><![CDATA[<p>Over the past couple of weeks we've been working to revamp our site to further showcase the services we provide. We thought it was a little out of date and we wanted to bring it up to speed with our current offerings. Take a look below for a quick overview. </p>]]></description><itunes:summary>Over the past couple of weeks we've been working to revamp our site to further showcase the services we provide. We thought it was a little out of date and we wanted to bring it up to speed with our current offerings. Take a look below for a quick overview. </itunes:summary><content:encoded><![CDATA[<p>Over the past couple of weeks we've been working to revamp our site to further showcase the services we provide. We thought it was a little out of date and we wanted to bring it up to speed with our current offerings. Take a look below for a quick overview.</p>
<p style="text-align: center;"><img alt="" src="http://www.lightninghammer.com/Websites/lightninghammer/images/Blog/services-revamp-1.jpg" /></p>
<p>First, you'll notice we created a services bar for the home page so customers could immediately see and navigate to our primary services.</p>
<p style="text-align: center;"><a href="http://www.lightninghammer.com/services"><img alt="" src="http://www.lightninghammer.com/Websites/lightninghammer/images/Blog/services-revamp-2.jpg" /></a></p>
<p>Secondly, we redesigned our <a href="http://www.lightninghammer.com/services">services page</a> to display our four main services with illustrations and a brief summary. We also thought customers would like to see other clients we've worked with in the past so we have showcased a few of them here as well.</p>
<p><strong>Web Design & Development</strong></p>
<p style="text-align: center;"><a href="http://www.lightninghammer.com/web-design-development"><img alt="" src="http://www.lightninghammer.com/Websites/lightninghammer/images/Blog/services-revamp-4.jpg" /></a></p>
<p>On our web design and development page, we started over and placed an illustration of our development process. We have used new CSS3 techniques to create a dynamic pop-up menu when you hover over a stage in the process. Below our process we have listed several of our niche markets that we specialize in.</p>
<p><strong>Mobile Apps</strong></p>
<p><strong><a href="http://www.lightninghammer.com/mobile-apps"><img alt="" src="http://www.lightninghammer.com/Websites/lightninghammer/images/Blog/services-revamp-3.jpg" /></a><br />
</strong></p>
<p>Finally, we gave our mobile apps page a complete makeover. Since mobile apps are becoming a major part of our business, why not showcase it?</p>
<p>We're still in the process of working on our web apps and graphic design pages so we'll keep you updated when we get those wrapped up. Until then, feel free to take a look around the site and don't hesitate to <a href="http://www.lightninghammer.com/contact">contact us</a>.</p>]]></content:encoded><guid>http://www.lightninghammer.com/services-revamp</guid></item><item><title>Tailored Software - Identity</title><link>http://www.lightninghammer.com/tailored-software-identity</link><pubDate>Mon, 27 Feb 2012 06:00:00 GMT</pubDate><itunes:author /><dc:creator>Keith Storm</dc:creator><description><![CDATA[<p>Tailored software, previously known as Integrys IT, approached us to help them completely rebrand their company. They were looking to start fresh and refocus their service offerings.  Tailored Software offers custom software development services specializing in Microsoft Access and Microsoft .Net. We helped Tailored software with a complete identity package including logo design, branding, marketing materials, and a CMS powered website. </p>]]></description><itunes:summary>Tailored software, previously known as Integrys IT, approached us to help them completely rebrand their company. They were looking to start fresh and refocus their service offerings.  Tailored Software offers custom software development services specializing in Microsoft Access and Microsoft .Net. We helped Tailored software with a complete identity package including logo design, branding, marketing materials, and a CMS powered website. </itunes:summary><content:encoded><![CDATA[<div class="sitePreview right">
<img alt="" src="http://www.lightninghammer.com/websites/lightninghammer/images/portfolio/tailored-preview.jpg" />
</div>
<p>Tailored software, previously known as Integrys IT, approached us to help them completely rebrand their company. They were looking to start fresh and refocus their service offerings. </p>
<p>Tailored Software offers custom software development services specializing in Microsoft Access and Microsoft .Net.</p>
<p>We helped Tailored software with a complete identity package including logo design, branding, marketing materials, and a CMS powered website.</p>
<p><a href="http://www.tailoredsoftware.com" target="_blank">Click here to check out their new site.</a></p>
<p><br />
</p>
<p><br />
</p>]]></content:encoded><guid>http://www.lightninghammer.com/tailored-software-identity</guid></item><item><title>B2B Media - Website Development</title><link>http://www.lightninghammer.com/b2b-media-website-development</link><pubDate>Mon, 13 Feb 2012 06:00:00 GMT</pubDate><itunes:author /><dc:creator>Keith Storm</dc:creator><description><![CDATA[<p>B2B Media, a Vomela affiliated company specializing in fleet vehicle graphics, has launched a newly designed and developed website. They were looking for an easy to maintain system that was scalable for the future; LightningCMS was the answer. The site was designed in-house by B2B Media and developed by LightningHammer. </p>]]></description><itunes:summary>B2B Media, a Vomela affiliated company specializing in fleet vehicle graphics, has launched a newly designed and developed website. They were looking for an easy to maintain system that was scalable for the future; LightningCMS was the answer. The site was designed in-house by B2B Media and developed by LightningHammer. </itunes:summary><content:encoded><![CDATA[<div class="sitePreview right"><img src="http://www.lightninghammer.com/websites/lightninghammer/images/portfolio/b2b-preview.jpg" alt="B2B Media" /></div>
<p>B2B Media, a Vomela affiliated company specializing in fleet vehicle graphics, has launched a newly designed and developed website. They were looking for an easy to maintain system that was scalable for the future; LightningCMS was the answer. The site was designed in-house by B2B Media and developed by LightningHammer.</p>
<p><a href="http://b2bmedia.com" target="_blank">Check out the site here.</a></p>]]></content:encoded><guid>http://www.lightninghammer.com/b2b-media-website-development</guid></item><item><title>LightningCMS Update - Hidden, disabled, and linked pages</title><link>http://www.lightninghammer.com/lightningcms-update-hidden-disabled-and-linked-pages</link><pubDate>Fri, 10 Feb 2012 06:00:00 GMT</pubDate><itunes:author /><dc:creator>Keith Storm</dc:creator><description><![CDATA[<p>Good news! A commonly requested update has now been rolled into LightningCMS; hidden, disabled, and linked pages no longer count towards your page limit. Often times a client would request a link in their site navigation to an external website or they wanted a parent category link that was not clickable. </p>]]></description><itunes:summary>Good news! A commonly requested update has now been rolled into LightningCMS; hidden, disabled, and linked pages no longer count towards your page limit. Often times a client would request a link in their site navigation to an external website or they wanted a parent category link that was not clickable. </itunes:summary><content:encoded><![CDATA[<p>Good news! A commonly requested update has now been rolled into LightningCMS; hidden, disabled, and linked pages no longer count towards your page limit.</p>
<p>Often times a client would request a link in their site navigation to an external website or they wanted a parent category link that was not clickable. Before today these pages would count against the site's total page limit. This will allow much more flexibility with the LightningCMS navigation system.</p>
<p>More updates to LightningCMS will be coming next week. Keep the suggestions and comments coming!</p>]]></content:encoded><guid>http://www.lightninghammer.com/lightningcms-update-hidden-disabled-and-linked-pages</guid></item><item><title>Abbeville Chamber of Commerce - Website Development</title><link>http://www.lightninghammer.com/abbeville-chamber-of-commerce-website-development</link><pubDate>Wed, 01 Feb 2012 06:00:00 GMT</pubDate><itunes:author /><dc:creator>Keith Storm</dc:creator><description><![CDATA[<p>Previously hosted on a Joomla! content management system, the Chamber was having a hard time keeping the site up to date.  LightningHammer designed and created a new site that would match the new branding for the City of Abbeville's new website. Along with an easy to use LightningCMS setup, the site is integrated with a ChamberMaster software solution. </p>]]></description><itunes:summary>Previously hosted on a Joomla! content management system, the Chamber was having a hard time keeping the site up to date.  LightningHammer designed and created a new site that would match the new branding for the City of Abbeville's new website. Along with an easy to use LightningCMS setup, the site is integrated with a ChamberMaster software solution. </itunes:summary><content:encoded><![CDATA[<div class="sitePreview right">
<img src="http://www.lightninghammer.com/websites/lightninghammer/images/portfolio/chamber-preview.jpg" alt="Abbeville Chamber of Commerce" />
</div>
<p>Previously hosted on a Joomla! content management system, the Chamber was having a hard time keeping the site up to date. </p>
<p>LightningHammer designed and created a new site that would match the new branding for the City of Abbeville's new website. Along with an easy to use LightningCMS setup, the site is integrated with a ChamberMaster software solution.</p>
<p>We have very much enjoyed working on projects with the City of Abbeville. It is a truly majestic old town and if you're in the area, you should stop in. You won't be disappointed.</p>
<p><a href="http://www.visitabbevillesc.com" target="_blank">Take a look at the site here.</a></p>]]></content:encoded><guid>http://www.lightninghammer.com/abbeville-chamber-of-commerce-website-development</guid></item><item><title>Abbeville, South Carolina - Website Development</title><link>http://www.lightninghammer.com/abbeville-south-carolina-website-development</link><pubDate>Tue, 01 Nov 2011 05:00:00 GMT</pubDate><itunes:author /><dc:creator>Keith Storm</dc:creator><description><![CDATA[<p>The City of Abbeville had been living with the limitations of their state hosted website for a while and they were ready for an update. They enlisted us to create a custom website design for them as well as provide a CMS (Content Management System) so they could keep the site updated and fresh.  The new fresh website the City has now is super user-friendly, beautiful easy-buttons, access to permits, an event calendar and so much more. Check it out and tell your friends! </p>]]></description><itunes:summary>The City of Abbeville had been living with the limitations of their state hosted website for a while and they were ready for an update. They enlisted us to create a custom website design for them as well as provide a CMS (Content Management System) so they could keep the site updated and fresh.  The new fresh website the City has now is super user-friendly, beautiful easy-buttons, access to permits, an event calendar and so much more. Check it out and tell your friends! </itunes:summary><content:encoded><![CDATA[<div class="sitePreview right">
<img alt="" src="http://www.lightninghammer.com/Websites/lightninghammer/images/portfolio/abbeville-preview.jpg" />
</div>
<p>The City of Abbeville had been living with the limitations of their state hosted website for a while and they were ready for an update. They enlisted us to create a custom website design for them as well as provide a CMS (Content Management System) so they could keep the site updated and fresh. </p>
<p>The new fresh website the City has now is super user-friendly, beautiful easy-buttons, access to permits, an event calendar and so much more. Check it out and tell your friends! Check it out at: <a href="http://www.abbevillecitysc.com" target="_blank">www.abbevillecitysc.com</a></p>]]></content:encoded><guid>http://www.lightninghammer.com/abbeville-south-carolina-website-development</guid></item><item><title>Carolina Pride launches new website</title><link>http://www.lightninghammer.com/carolina-pride-launches-new-website</link><pubDate>Sat, 01 Oct 2011 05:00:00 GMT</pubDate><itunes:author /><dc:creator>Keith Storm</dc:creator><description><![CDATA[<p>Carolina Pride, a popular name in the food industry, has decided to use LightningHammer as their website provider. Customers can browse the many products offered by Carolina Pride including nutrition information and meal tips. Plan your next meal with Carolina Pride! </p>]]></description><itunes:summary>Carolina Pride, a popular name in the food industry, has decided to use LightningHammer as their website provider. Customers can browse the many products offered by Carolina Pride including nutrition information and meal tips. Plan your next meal with Carolina Pride! </itunes:summary><content:encoded><![CDATA[<div class="sitePreview right"><img alt="" src="http://www.lightninghammer.com/Websites/lightninghammer/images/portfolio/carolinapride-preview.jpg" />
</div>
<p>Carolina Pride, a popular name in the food industry, has decided to use LightningHammer as their website provider. Customers can browse the many products offered by Carolina Pride including nutrition information and meal tips.</p>
<p>Plan your next meal with Carolina Pride!</p>
<p><a href="http://www.carolinapride.com" target="_blank">Check out the website here.</a></p>]]></content:encoded><guid>http://www.lightninghammer.com/carolina-pride-launches-new-website</guid></item><item><title>Governor's School for the Arts site launched</title><link>http://www.lightninghammer.com/governors-school-for-the-arts-site-launched</link><pubDate>Thu, 01 Sep 2011 05:00:00 GMT</pubDate><itunes:author /><dc:creator>Keith Storm</dc:creator><description><![CDATA[<p>LightningHammer was selected by The Governor's School for the Arts Foundation to design and develop a new website. The foundation works in collaboration with the South Carolina Governor's School for the Arts and Humanities to create extraordinary experiences for students, teachers, donors and the state-wide community. We enlisted the talents of artist Allison Reich to create the new design, while the site is powered by LightningCMS.  Click here to visit the site. </p>]]></description><itunes:summary>LightningHammer was selected by The Governor's School for the Arts Foundation to design and develop a new website. The foundation works in collaboration with the South Carolina Governor's School for the Arts and Humanities to create extraordinary experiences for students, teachers, donors and the state-wide community. We enlisted the talents of artist Allison Reich to create the new design, while the site is powered by LightningCMS.  Click here to visit the site. </itunes:summary><content:encoded><![CDATA[<div class="sitePreview right">
<img alt="" src="http://www.lightninghammer.com/Websites/lightninghammer/images/portfolio/gsa-preview.jpg" />
</div>
<p>LightningHammer was selected by The Governor's School for the Arts Foundation to design and develop a new website. The foundation works in collaboration with the South Carolina Governor's School for the Arts and Humanities to create extraordinary experiences for students, teachers, donors and the state-wide community.</p>
<p>We enlisted the talents of artist <a href="http://www.allisonsbackstage.com" target="_blank">Allison Reich</a> to create the new design, while the site is powered by LightningCMS. </p>
<p><a href="http://www.gsafoundation.net" target="_blank">Click here to visit the site.</a><br />
<br />
</p>]]></content:encoded><guid>http://www.lightninghammer.com/governors-school-for-the-arts-site-launched</guid></item><item><title>Four new websites launched</title><link>http://www.lightninghammer.com/four-new-websites-launched</link><pubDate>Thu, 25 Aug 2011 05:00:00 GMT</pubDate><itunes:author /><dc:creator>Keith Storm</dc:creator><description><![CDATA[<p>We've been working like busy little bees around here the past few months. So busy we haven't had a chance you fill you in on what we've been up to. Over the past few months we have launched four new websites (and we have a couple more that are almost ready). </p>]]></description><itunes:summary>We've been working like busy little bees around here the past few months. So busy we haven't had a chance you fill you in on what we've been up to. Over the past few months we have launched four new websites (and we have a couple more that are almost ready). </itunes:summary><content:encoded><![CDATA[<p>We've been working like busy little bees around here the past few months. So busy we haven't had a chance you fill you in on what we've been up to. Over the past few months we have launched four new websites (and we have a couple more that are almost ready). Take a look below to see what we've been up to:</p>
<p> </p>
<div class="sitePreview right"><img alt="" src="http://www.lightninghammer.com/Websites/lightninghammer/images/Blog/la-preview.jpg" /></div>
<h3>Laura Ashley, USA</h3>
<p>In conjunction with The Bounce Agency, we upgraded Laura Ashley's USA website to a content management powered e-commerce system. Laura Ashley USA now has complete control over their website and are expanding their e-commerce offerings rapidly.</p>
<p><strong>Visit the site:</strong> <a href="http://www.lauraashley-usa.com"><br />
http://www.lauraashley-usa.com</a></p>
<br class="clear" />
<p> </p>
<div class="sitePreview right"><img alt="" src="http://www.lightninghammer.com/Websites/lightninghammer/images/Blog/frederica-preview.jpg" /></div>
<h3>Frederica Living</h3>
<p>Unique. Breathtaking. Unforgettable. These are some of the words that come to mind when asked to paint the picture of Frederica. Website design was provided by The Bounce Agency and the site is powered by LightningCMS</p>
<p><strong>Visit the site:</strong> <a href="http://www.fredericaliving.com">http://www.fredericaliving.com</a></p>
<br class="clear" />
<p> </p>
<div class="sitePreview right"><img alt="" src="http://www.lightninghammer.com/Websites/lightninghammer/images/Blog/rmt-preview.jpg" /></div>
<h3>ReturnMeTagz.com</h3>
<p>ReturnMeTagz is an automated system to help honest people return lost items. If your item is lost, ReturnMeTagz provides a safe private method for people to contact you about your lost possession.</p>
<p><strong>Visit the site:</strong> <a href="http://www.returnmetagz.com">http://www.returnmetagz.com</a></p>
<br class="clear" />
<p> </p>
<div class="sitePreview right"><img alt="" src="http://www.lightninghammer.com/Websites/lightninghammer/images/Blog/phillips-preview.jpg" /></div>
<h3>Phillips Staffing</h3>
<p>We upgraded Phillips Staffing a more robust content management system that allowed complete control over the website. We also facilitated the integration of social media services such as facebook and twitter.</p>
<p><strong>Visit the site:</strong> <a href="http://www.phillipsstaffing.com">http://www.phillipsstaffing.com</a></p>]]></content:encoded><guid>http://www.lightninghammer.com/four-new-websites-launched</guid></item><item><title>Introducing the Freedom Weekend Check-In Challenge</title><link>http://www.lightninghammer.com/introducing-the-freedom-weekend-check-in-challenge</link><pubDate>Fri, 20 May 2011 05:00:00 GMT</pubDate><itunes:author /><dc:creator>Keith Storm</dc:creator><description><![CDATA[<p><img alt="" src="http://www.lightninghammer.com/Websites/lightninghammer/Images/Blog/497-d43e0ab33f09773c8b88766748450447-100.png" class="alignLeft" />Go out to Freedom Weekend Aloft over Memorial Day Weekend and you could win a FREE Xbox 360, Flip MinoHD, or iPod Shuffle. We've come up with the Freedom Weekend Check-In Challenge. When you "check in" to Freedom Weekend Aloft on Gowalla you'll be entered to win one of our great prizes. </p>
<p>Want to learn more? <a href="http://www.lightninghammer.com/checkin">Click here to see the details</a>.</p>]]></description><itunes:summary>Go out to Freedom Weekend Aloft over Memorial Day Weekend and you could win a FREE Xbox 360, Flip MinoHD, or iPod Shuffle. We've come up with the Freedom Weekend Check-In Challenge. When you "check in" to Freedom Weekend Aloft on Gowalla you'll be entered to win one of our great prizes. 
Want to learn more? Click here to see the details.</itunes:summary><content:encoded><![CDATA[<p><img alt="" src="http://www.lightninghammer.com/Websites/lightninghammer/Images/Blog/497-d43e0ab33f09773c8b88766748450447-100.png" class="alignLeft" />Go out to Freedom Weekend Aloft over Memorial Day Weekend and you could win a FREE Xbox 360, Flip MinoHD, or iPod Shuffle. We've come up with the Freedom Weekend Check-In Challenge. When you "check in" to Freedom Weekend Aloft on Gowalla you'll be entered to win one of our great prizes. </p>
<p>Want to learn more? <a href="http://www.lightninghammer.com/checkin">Click here to see the details</a>.</p>]]></content:encoded><guid>http://www.lightninghammer.com/introducing-the-freedom-weekend-check-in-challenge</guid></item><item><title>Congratulations to Keith Storm on becoming an Appcelerator TCAD</title><link>http://www.lightninghammer.com/congratulations-to-keith-storm-on-becoming-an-appcelerator-tcad</link><pubDate>Wed, 04 May 2011 05:00:00 GMT</pubDate><itunes:author /><dc:creator>LightningHammer</dc:creator><description><![CDATA[<p><img alt="" class="alignRight" src="http://www.lightninghammer.com/Websites/lightninghammer/Images/Blog/tcad_badge_med.png" />Congratulations to Keith Storm, our Lead Developer, on becoming an Appcelerator Titanium Certified App Developer (TCAD). Keith is now certified to create mobile apps using the Appcelerator Titanium platform for iOS and Android. We already have a couple of mobile apps showcased in our <a href="http://www.lightninghammer.com/mobile-apps">portfolio</a>, but expect many more to come.</p>
<p>Do you have a mobile strategy? <a href="http://www.lightninghammer.com/contact">Contact us</a> today to find out how we can help. </p>]]></description><itunes:summary>Congratulations to Keith Storm, our Lead Developer, on becoming an Appcelerator Titanium Certified App Developer (TCAD). Keith is now certified to create mobile apps using the Appcelerator Titanium platform for iOS and Android. We already have a couple of mobile apps showcased in our portfolio, but expect many more to come.
Do you have a mobile strategy? Contact us today to find out how we can help. </itunes:summary><content:encoded><![CDATA[<p><img alt="" class="alignRight" src="http://www.lightninghammer.com/Websites/lightninghammer/Images/Blog/tcad_badge_med.png" />Congratulations to Keith Storm, our Lead Developer, on becoming an Appcelerator Titanium Certified App Developer (TCAD). Keith is now certified to create mobile apps using the Appcelerator Titanium platform for iOS and Android. We already have a couple of mobile apps showcased in our <a href="http://www.lightninghammer.com/mobile-apps">portfolio</a>, but expect many more to come.</p>
<p>Do you have a mobile strategy? <a href="http://www.lightninghammer.com/contact">Contact us</a> today to find out how we can help. </p>]]></content:encoded><guid>http://www.lightninghammer.com/congratulations-to-keith-storm-on-becoming-an-appcelerator-tcad</guid></item><item><title>Come check in with us on Gowalla, and grab our custom stamp.</title><link>http://www.lightninghammer.com/come-check-in-with-us-on-gowalla-and-grab-our-custom-stamp</link><pubDate>Mon, 25 Apr 2011 05:00:00 GMT</pubDate><itunes:author /><dc:creator>Keith Storm</dc:creator><description><![CDATA[<p><img alt="" src="http://www.lightninghammer.com/Websites/lightninghammer/Images/Blog/gowalla-stamp.png" class="alignLeft" />At LightningHammer, we're big fans of the location based service <a href="http://gowal.la/s/6dHL" target="_blank">Gowalla</a>. So when we heard some more custom stamps were up for grabs, we jumped on the opportunity to snag one for ourselves.</p>
<p>The next time you're in the downtown Greenville area, feel free to add our stamp to your <a href="http://gowal.la/s/6dHL">Gowalla</a> passport. Not using Gowalla yet? It's FREE and it's a blast. Give it a try and let us know how you like it.</p>]]></description><itunes:summary>At LightningHammer, we're big fans of the location based service Gowalla. So when we heard some more custom stamps were up for grabs, we jumped on the opportunity to snag one for ourselves.
The next time you're in the downtown Greenville area, feel free to add our stamp to your Gowalla passport. Not using Gowalla yet? It's FREE and it's a blast. Give it a try and let us know how you like it.</itunes:summary><content:encoded><![CDATA[<p><img alt="" src="http://www.lightninghammer.com/Websites/lightninghammer/Images/Blog/gowalla-stamp.png" class="alignLeft" />At LightningHammer, we're big fans of the location based service <a href="http://gowal.la/s/6dHL" target="_blank">Gowalla</a>. So when we heard some more custom stamps were up for grabs, we jumped on the opportunity to snag one for ourselves.</p>
<p>The next time you're in the downtown Greenville area, feel free to add our stamp to your <a href="http://gowal.la/s/6dHL">Gowalla</a> passport. Not using Gowalla yet? It's FREE and it's a blast. Give it a try and let us know how you like it.</p>]]></content:encoded><guid>http://www.lightninghammer.com/come-check-in-with-us-on-gowalla-and-grab-our-custom-stamp</guid></item><item><title>Cool and Easy Sketch/Cut-out Effect in Photoshop</title><link>http://www.lightninghammer.com/cool-and-easy-sketchcut-out-effect-in-photoshop</link><pubDate>Wed, 30 Mar 2011 05:00:00 GMT</pubDate><itunes:author /><dc:creator>Roger Frederick</dc:creator><description><![CDATA[<p>Sometimes I need to make some icons that have a unique look to them, but I am required to use some source photography to create it.  For this project, I needed something that looked like a pen sketch, but had a nice "sticker-like" quality to it.  I came up with a really simple and easy way to process each photo quickly to create the icons. First, our source image: It could be anything, but luckily this had a white background so I won't have to do a lot to actually cut it out. Next, you...</p>]]></description><itunes:summary>Sometimes I need to make some icons that have a unique look to them, but I am required to use some source photography to create it.  For this project, I needed something that looked like a pen sketch, but had a nice "sticker-like" quality to it.  I came up with a really simple and easy way to process each photo quickly to create the icons. First, our source image: It could be anything, but luckily this had a white background so I won't have to do a lot to actually cut it out. Next, you...</itunes:summary><content:encoded><![CDATA[<p>Sometimes I need to make some icons that have a unique look to them, but I am required to use some source photography to create it.  For this project, I needed something that looked like a pen sketch, but had a nice "sticker-like" quality to it.  I came up with a really simple and easy way to process each photo quickly to create the icons.</p>
<p>First, our source image:</p>
<p><img alt="" src="http://www.lightninghammer.com/Websites/lightninghammer/Images/tut1.jpg" /> </p>
<p>It could be anything, but luckily this had a white background so I won't have to do a lot to actually cut it out.</p>
<p>Next, you want to <strong>duplicate</strong> your layer, and apply <strong>color dodge</strong> in the layer control. </p>
<p><img alt="" src="http://www.lightninghammer.com/Websites/lightninghammer/Images/tut2.jpg" /> </p>
<p>Next, we want to <strong>invert</strong> our layer by going to Image-> Adjustments -><strong> Invert</strong>.</p>
<p>Then, move up to Filter-> Other-> <strong>Minimum</strong> and create the <strong>sketch effect</strong>. A 1 or 2 should be fine, the larger the number the heavier the effect.</p>
<p><img alt="" src="http://www.lightninghammer.com/Websites/lightninghammer/Images/tut3.jpg" /> </p>
<p>At this point you can see, our Layer 1 copy is making the sketch effect appear over Layer 1.</p>
<p>Next, we'll make an easy cutout of the picture.  Since my background is all white, this next process will work well.  If your background is busy, you may have to use the lasso tool or quick selection tool to make your cutout marquee.</p>
<p>First, select the Layer 1 copy (that had the sketch effect on).  I then use the magic wand set at <strong>tolerance: 32 </strong>with <strong>antialias</strong> checked, and click on the background area.</p>
<p><img alt="" src="http://www.lightninghammer.com/Websites/lightninghammer/Images/tut4.jpg" /> </p>
<p> </p>
<p>Then, go up to Select-> Modify-> <strong>Contract</strong><img alt="" src="http://www.lightninghammer.com/Websites/lightninghammer/Images/tut5.jpg" style="float: right;" /> </p>
<p>Set the Contract by to 3, and click OK.</p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> You should now have a marquee around the background area that has a nice buffer around the image.  Invert the selection by pressing Shift+Ctrl+I and then copy the selected visible area into a new layer by pressing <strong>Ctrl+Shift+C</strong> then <strong>Ctrl+V</strong>.  You should now have a cutout of the image on the top layer.</p>
<p> <img alt="" src="http://www.lightninghammer.com/Websites/lightninghammer/Images/tut6.jpg" /></p>
<p>Next, click the visibility icons on the layers we aren't using-- Layer1 copy and Layer1.</p>
<p>Then right click the Layer 2 and modify the <strong>Blending Options...</strong></p>
<p>For my example, I'll set the<strong> Stroke</strong> to size 8 and color<strong> </strong>white,  but you can adjust this as necessary.</p>
<p><img alt="" src="http://www.lightninghammer.com/Websites/lightninghammer/Images/tut7.jpg" /><br />
 </p>
<p>Then I'll set the <strong>Drop Shadow</strong> to 120 degrees, 5px distance, 38% spread, and 18px for size.  These will depend on your image and how deep you want the cutout to raise off the page.</p>
<p><img alt="" src="http://www.lightninghammer.com/Websites/lightninghammer/Images/tut8.jpg" /></p>
<p>At this point the icon is mostly set up.  If you wanted it to appear in natural color, you could stop right here.  However, I wanted mine to be black and white, so I'll add one more filter. </p>
<p>I'll add a <strong>Color Overlay</strong> and set the blend mode to Color, and pick black.</p>
<p>
</p>
<p><img alt="" src="http://www.lightninghammer.com/Websites/lightninghammer/Images/tut9.jpg" /> </p>
<p>And there you have it!  A nice sketch look from the photo, with a cutout effect.   The effect of the sketch will change depending on the image size that you start with.  The smaller the image, the more pronounced the sketch effect will look. </p>
<p><img alt="" src="http://www.lightninghammer.com/Websites/lightninghammer/Images/tut10.jpg" /> </p>]]></content:encoded><guid>http://www.lightninghammer.com/cool-and-easy-sketchcut-out-effect-in-photoshop</guid></item><item><title>facePLANT - Windows Live Writer Facebook Plugin source code released</title><link>http://www.lightninghammer.com/faceplant-windows-live-writer-facebook-plugin-source-code-released</link><pubDate>Wed, 30 Mar 2011 05:00:00 GMT</pubDate><itunes:author /><dc:creator>Keith Storm</dc:creator><description><![CDATA[<p>I haven't had much time to keep up with facePLANT, the Windows Live Writer plug-in for Facebook, so I decided I would post the source code on here so any developer can download and extend as they please. This code is provided as is and there is no implied warranty. It is free to use in personal and commercial applications. </p>]]></description><itunes:summary>I haven't had much time to keep up with facePLANT, the Windows Live Writer plug-in for Facebook, so I decided I would post the source code on here so any developer can download and extend as they please. This code is provided as is and there is no implied warranty. It is free to use in personal and commercial applications. </itunes:summary><content:encoded><![CDATA[<p><img alt="" src="http://www.lightninghammer.com/Websites/lightninghammer/Images/Blog/faceplant-1.jpg" class="alignRight" />I haven't had much time to keep up with facePLANT, the Windows Live Writer plug-in for Facebook, so I decided I would post the source code on here so any developer can download and extend as they please. </p>
<p>This code is provided as is and there is no implied warranty. It is free to use in personal and commercial applications. Thanks and sorry for the lack of updates on this project. </p>]]></content:encoded><guid>http://www.lightninghammer.com/faceplant-windows-live-writer-facebook-plugin-source-code-released</guid><enclosure url="http://www.lightninghammer.com/Websites/lightninghammer/Blog/695492/facePLANT.zip" length="3076838" type="application/x-zip-compressed" /></item><item><title>Opening native apps using Appcelerator Titanium</title><link>http://www.lightninghammer.com/opening-native-apps-using-appcelerator-titanium</link><pubDate>Tue, 29 Mar 2011 05:00:00 GMT</pubDate><itunes:author /><dc:creator>Keith Storm</dc:creator><description><![CDATA[<p>Ever needed to open a native app from your Appcelerator Titanium project? Read below for a simple method I put together. The below method works for Android and iOS. </p>]]></description><itunes:summary>Ever needed to open a native app from your Appcelerator Titanium project? Read below for a simple method I put together. The below method works for Android and iOS. </itunes:summary><content:encoded><![CDATA[<p>Ever needed to open a native app from your Appcelerator Titanium project? Read below for a simple method I put together. </p>
<p>The below method works for Android and iOS. My particular method was used to open the native twitter client.</p>
<div class="autosnippet" name="autosnippet:codeblock1:yes">
// Enclose in Try / Catch in case of Android
try {
     // canOpenURL only works in iOS
     if (Ti.Platform.canOpenURL(e.rowData.tweetUrl)){
          // Open the native twitter client url: twitter://status?id=statusidnumber
          Ti.Platform.openURL(e.rowData.tweetUrl);
     } else {
          // If it can't open the twitter client open the twitter site: http://twitter.com/user/statuses/statusidnumber
          Ti.Platform.openURL(e.rowData.fallbackUrl);
     }
} catch (err) {
     // Android will catch an error because it can't call canOpenURL
     Ti.API.error(err);
     Ti.Platform.openURL(e.rowData.fallbackUrl);
}
</div>
<div name="codeblock1"></div>
<p>
</p>
<p>Every app uses a unique URL scheme. If you don't know the URL scheme for the app you're trying to open, check out <a target="_blank" href="http://handleopenurl.com/">http://handleopenurl.com/</a> for a great reference of iOS URL schemes.</p>]]></content:encoded><guid>http://www.lightninghammer.com/opening-native-apps-using-appcelerator-titanium</guid></item><item><title>Design Tip: Let's Make Shiny Buttons in Illustrator</title><link>http://www.lightninghammer.com/design-tip-lets-make-shiny-buttons-in-illustrator</link><pubDate>Fri, 25 Mar 2011 05:00:00 GMT</pubDate><itunes:author /><dc:creator>Allison Reich</dc:creator><description><![CDATA[<p>Shiny Buttons Tutorial Ok, are you ready to learn some basic steps to create shiny looking vector buttons in Illustrator? Let's get started. First you must have Illustrator! </p>]]></description><itunes:summary>Shiny Buttons Tutorial Ok, are you ready to learn some basic steps to create shiny looking vector buttons in Illustrator? Let's get started. First you must have Illustrator! </itunes:summary><content:encoded><![CDATA[<p>Shiny Buttons Tutorial<br />
<br />
Ok, are you ready to learn some basic steps to create shiny looking vector buttons in Illustrator?</p>
<p>Let's get started. First you must have Illustrator! Now lets create a squarish blue button. Create a gradient square with no outline. You can choose any color you wish, I chose a nice blue.<br />
<img alt="" style="width: 694px; height: 427px;" src="http://www.lightninghammer.com/Websites/lightninghammer/Images/1.jpg" /></p>
<p>Now, lets just select the square and copy and paste.<br />
<img alt="" style="width: 694px; height: 427px;" src="http://www.lightninghammer.com/Websites/lightninghammer/Images/2.jpg" /> </p>
<p>Next, place  the copied square over the other one.. should 'snap' together. so now you have 2 squares laying on top of one another. Then, select both squares... in the Illustrator menu, go to EFFECT >STYLIZE>ROUND CORNERS. For this example I chose a size of .4 as you see below.<br />
<img alt="" style="width: 694px; height: 427px;" src="http://www.lightninghammer.com/Websites/lightninghammer/Images/3.jpg" /></p>
<p>Next, lets draw a rectangle.. slightly wider than the square. Place the top of the rectangle to about center of the square, this would be the "shine". Now, select the top square and bring it forward over the rectangle, so now the rectangle sits between both squares, as you see below.<br />
<img alt="" style="width: 694px; height: 427px;" src="http://www.lightninghammer.com/Websites/lightninghammer/Images/4.jpg" /></p>
<p>Now we join the 2 pieces. Select the rectangle and the top square... go to your PATHFINDER window and choose INTERSECT button under "Shape Modes". Your result should look something similar to the image below.<br />
<img alt="" style="width: 694px; height: 428px;" src="http://www.lightninghammer.com/Websites/lightninghammer/Images/5.jpg" /></p>
<p>Now here is where we concentrate on the gradient placements. Lets select the main big square and flip it so the lighter gradient is on the top. I could've done this in step one, but you always seem to end up playing with the gradients to the correct colors and shades anyway. So we want a nice, pretty light shade at the very top... almost to white, but not quite. </p>
<p>Now, lets select the "shine" part, the bottom section of the button. We want the gradient of that to have a dark shade at the top to a lighter shade at the bottom. This will make it pop. As I said you will have to play and adjust the gradients. The example of this is below.<br />
<img alt="" style="width: 694px; height: 428px;" src="http://www.lightninghammer.com/Websites/lightninghammer/Images/7.jpg" /></p>
<p>Now we are near the finish line. Its time to add your text for your button. I made mine big and bold so it will stand out.<br />
<img alt="" style="width: 694px; height: 428px;" src="http://www.lightninghammer.com/Websites/lightninghammer/Images/8.jpg" /></p>
<p>Now, since the text is part of the button, it should reflect the shine as well so it look like it's part of the button. First select the bottom "shine" part of the button, COPY, then PASTE as below.<br />
<img alt="" style="width: 694px; height: 428px;" src="http://www.lightninghammer.com/Websites/lightninghammer/Images/9.jpg" /></p>
<p>So now we don't really want the shine to be blue. We need to show a gradient shadow effect. So take the copied bottom piece and make it a gradient of a medium  grey color to an opacity of 0. Now place the copied bottom grey gradient and lay it over top of the button over the text... so you see something like the image below:<br />
<img alt="" style="width: 694px; height: 428px;" src="http://www.lightninghammer.com/Websites/lightninghammer/Images/11.jpg" /></p>
<p>Now, select that gradient and lower the transparency. I lowered mine to about a 9. Pretty low. All depends how dark your grey color is. So there you have it, a shiny button!<br />
<img alt="" style="width: 694px; height: 428px;" src="http://www.lightninghammer.com/Websites/lightninghammer/Images/12.jpg" /></p>
<p>Next, you can add a border if you like or a shadow. I added a gradient border on my button. Now I just cheated and did it quickly by copying the large main square, then paste it.. create a slightly darker shade at the top.. maybe even a center shade and then a darker shade for the bottom of the square. Enlarge the square a bit to your desired border size. Place back over the button and select it, and ARRANGE it and SEND TO BACK. Y0u may have to play with centering it and sizing. But there you have it.. a shiny button with a border!<br />
<img alt="" style="width: 694px; height: 428px;" src="http://www.lightninghammer.com/Websites/lightninghammer/Images/13.jpg" /></p>
<p>Try it out! Enjoy and Good luck!<br />
<br />
Allison Reich of <a target="_blank" href="http://www.allisonsbackstage.com">AllisonsBackstage.com</a> and <a target="_blank" href="http://www.lightninghammer.com">LightningHammer.com</a><br />
<a href="mailto:Allison.Reich@lightninghammer.com">Allison.Reich@lightninghammer.com</a> </p>]]></content:encoded><guid>http://www.lightninghammer.com/design-tip-lets-make-shiny-buttons-in-illustrator</guid></item><item><title>Joshua Jay gets Unreal</title><link>http://www.lightninghammer.com/joshua-jay-gets-unreal</link><pubDate>Thu, 10 Mar 2011 06:00:00 GMT</pubDate><itunes:author /><dc:creator>Keith Storm</dc:creator><description><![CDATA[<p>We're back at it again with Allison's Backstage. This time we created a new site for Joshua Jay's Unreal. Allison worked with Joshua Jay and Vinny DePonto to create the sleek design, while we took care of the HTML, CSS, and ticket sales through EventBrite. </p>]]></description><itunes:summary>We're back at it again with Allison's Backstage. This time we created a new site for Joshua Jay's Unreal. Allison worked with Joshua Jay and Vinny DePonto to create the sleek design, while we took care of the HTML, CSS, and ticket sales through EventBrite. </itunes:summary><content:encoded><![CDATA[<div class="sitePreview right"><img alt="" src="http://www.lightninghammer.com/Websites/lightninghammer/Images/portfolio/joshuajay-preview.jpg" /></div>
<p>We're back at it again with <a target="_blank" href="http://www.allisonsbackstage.com">Allison's Backstage</a>. This time we created a new site for Joshua Jay's Unreal. Allison worked with Joshua Jay and Vinny DePonto to create the sleek design, while we took care of the HTML, CSS, and ticket sales through <a target="_blank" href="http://www.eventbrite.com/org/944146081">EventBrite</a>. </p>
<p>Interested in a site like this? <a href="http://www.lightninghammer.com/contact">Contact us</a> and/or Allison at <a href="mailto:Allison@allisonsbackstage.com">Allison@allisonsbackstage.com</a> and we will build the site you have always wanted!</p>
<p><a href="http://www.joshuajaysunreal.com" target="_blank">View the site.</a></p>]]></content:encoded><guid>http://www.lightninghammer.com/joshua-jay-gets-unreal</guid></item><item><title>Is your website mobile friendly?</title><link>http://www.lightninghammer.com/is-your-website-mobile-friendly</link><pubDate>Wed, 09 Mar 2011 06:00:00 GMT</pubDate><itunes:author /><dc:creator>Keith Storm</dc:creator><description><![CDATA[<p>With the dawn of the smartphone, it is increasingly important that a website is usable not only on a desktop or laptop, but on a mobile device as well. Analysts are predicting that the future of web browsing will be dominated by mobile devices, with the personal computer taking a back seat. Fortunately, LightningCMS is up to the challenge and easily lends itself to duplicating your website content and displaying it in a mobile friendly template. </p>]]></description><itunes:summary>With the dawn of the smartphone, it is increasingly important that a website is usable not only on a desktop or laptop, but on a mobile device as well. Analysts are predicting that the future of web browsing will be dominated by mobile devices, with the personal computer taking a back seat. Fortunately, LightningCMS is up to the challenge and easily lends itself to duplicating your website content and displaying it in a mobile friendly template. </itunes:summary><content:encoded><![CDATA[<img alt="" src="http://www.lightninghammer.com/Websites/lightninghammer/Images/Blog/lh-preview.jpg" class="alignRight" />
<p>With the dawn of the smartphone, it is increasingly important that a website is usable not only on a desktop or laptop, but on a mobile device as well. Analysts are predicting that the future of web browsing will be dominated by mobile devices, with the personal computer taking a back seat.</p>
<p>Fortunately, <a href="http://www.lightninghammer.com/cms">LightningCMS</a> is up to the challenge and easily lends itself to duplicating your website content and displaying it in a mobile friendly template. Take our site for example. If you visit our site with a standard web browser, you will see the standard website in all it's glory, including high resolution photos and animated javascripts. </p>
<p>That information is too heavy for mobile browsing. Therefore, when you navigate to our site using a mobile device it will automatically redirect you to a lightweight version of our site. <img alt="" src="http://www.lightninghammer.com/Websites/lightninghammer/Images/Blog/mobile-web.png" class="alignRight" />The graphics are scaled down and the information is designed to quickly find the most important information. This makes the mobile browsing experience much easier for the visitor.</p>
<p>Not sure how many people are visiting your site with mobile devices? That information is easily viewable when using Google Analytics in conjunction with your website. You can see what screen resolutions visitors are using including what mobile browsers they are using. </p>
<p>Don't lose customers because of a mobile unfriendly site. <a href="http://www.lightninghammer.com/contact">Contact us today and see how we can help.</a></p>
<p> </p>]]></content:encoded><guid>http://www.lightninghammer.com/is-your-website-mobile-friendly</guid></item><item><title>@MikeSuper gets a website upgrade courtesy of @LightningHammer and @Allie1138</title><link>http://www.lightninghammer.com/mikesuper-gets-a-website-upgrade</link><pubDate>Tue, 22 Feb 2011 06:00:00 GMT</pubDate><itunes:author /><dc:creator>Keith Storm</dc:creator><description><![CDATA[<p>Mike Super, 2011 Entertainer of the Year and winner of NBC's hit series PHENOMENON, has given us the wonderful opportunity to develop his new website. The new design was crafted by the talented Allison's Backstage Design. Behind the scenes the site is powered by LightningCMS along with custom integration of twitter and youtube. </p>]]></description><itunes:summary>Mike Super, 2011 Entertainer of the Year and winner of NBC's hit series PHENOMENON, has given us the wonderful opportunity to develop his new website. The new design was crafted by the talented Allison's Backstage Design. Behind the scenes the site is powered by LightningCMS along with custom integration of twitter and youtube. </itunes:summary><content:encoded><![CDATA[<div class="sitePreview right"><img alt="" src="http://www.lightninghammer.com/Websites/lightninghammer/Images/Blog/mikesuper-preview.jpg" /></div>
<p>Mike Super, 2011 Entertainer of the Year and winner of NBC's hit series PHENOMENON, has given us the wonderful opportunity to develop his new website. </p>
<p>The new design was crafted by the talented <a href="http://www.allisonsbackstage.com/">Allison's Backstage Design</a>. Behind the scenes the site is powered by LightningCMS along with custom integration of twitter and youtube. The new site has moved away from the use of Flash and now relies on modern CSS and Javascript. </p>
<p>Look for more exciting work with Mike Super including online interactive applications and mobile applications for iPhone and Android.</p>
<p>During development of the website, we had the pleasure of seeing Mike's show live at The Peace Center. Mike is a truly talented entertainer and if you ever get the chance, check out his show. You won't be disappointed. </p>
<p><a href="http://www.lightninghammer.com/mike-super">Click here to view case study.</a></p>]]></content:encoded><guid>http://www.lightninghammer.com/mikesuper-gets-a-website-upgrade</guid></item><item><title>Celebrate @FreedomWeekend with the new website and mobile app.</title><link>http://www.lightninghammer.com/celebrate-freedomweekend-with-a-new-website-and-mobile-app</link><pubDate>Wed, 16 Feb 2011 06:00:00 GMT</pubDate><itunes:author /><dc:creator>Keith Storm</dc:creator><description><![CDATA[<p>Spring is just around the corner and Freedom Weekend Aloft is drawing near. What better way to enjoy the event than with an updated website and FREE mobile app? For the first time, we have simultaneously released a website powered by LightningCMS and a supporting mobile phone application. </p>]]></description><itunes:summary>Spring is just around the corner and Freedom Weekend Aloft is drawing near. What better way to enjoy the event than with an updated website and FREE mobile app? For the first time, we have simultaneously released a website powered by LightningCMS and a supporting mobile phone application. </itunes:summary><content:encoded><![CDATA[<p><a target="_blank" href="http://www.freedomweekend.org"><img alt="" src="http://www.lightninghammer.com/Websites/lightninghammer/Images/Blog/fwa-preview.png" class="alignRight" /></a>Spring is just around the corner and <a href="http://www.freedomweekend.org" target="_blank">Freedom Weekend Aloft</a> is drawing near. What better way to enjoy the event than with an updated website and <strong>FREE </strong>mobile app? For the first time, we have simultaneously released a website powered by LightningCMS and a supporting mobile phone application. </p>
<p>The website has a new streamlined design while allowing Freedom Weekend Aloft to maintain all website content.</p>
<p> The mobile app is an extension of the website, allowing users to keep up with Freedom Weekend Aloft news, weather updates, browse the event schedule, see what's being said about <a target="_blank" href="http://www.twitter.com/freedomweekend">@FreedomWeekend</a> on twitter, and get walking or driving directions to event locations. If you've got an iPhone or android device, why not download the <strong>FREE </strong>app so you can have all the information you need directly at your fingertips.</p>
<p>Freedom Weekend Aloft is a great event for couples, families, and anyone in between. The event will be held Friday, May 27th - Monday, May 30th 2011. Don't forget to mark it on your calendar!</p>
<p><a href="http://www.freedomweekend.org" target="_blank">Click here to view the site.</a></p>
<p> </p>
<p></p>]]></content:encoded><guid>http://www.lightninghammer.com/celebrate-freedomweekend-with-a-new-website-and-mobile-app</guid></item><item><title>Launched: A trio of new websites</title><link>http://www.lightninghammer.com/launched-a-trio-of-new-websites</link><pubDate>Tue, 25 Jan 2011 06:00:00 GMT</pubDate><itunes:author /><dc:creator>Keith Storm</dc:creator><description><![CDATA[<p>Business has been constantly growing at LightningHammer since we opened up shop. We had a great holiday and we are pushing forward into 2011. We've been so busy designing and developing that we haven't had a chance to post a few of our recent projects. </p>]]></description><itunes:summary>Business has been constantly growing at LightningHammer since we opened up shop. We had a great holiday and we are pushing forward into 2011. We've been so busy designing and developing that we haven't had a chance to post a few of our recent projects. </itunes:summary><content:encoded><![CDATA[<img alt="" src="http://www.lightninghammer.com/Websites/lightninghammer/Images/Blog/jw_so_fh-preview.png" class="alignRight" />
<p>Business has been constantly growing at LightningHammer since we opened up shop. We had a great holiday and we are pushing forward into 2011. We've been so busy designing and developing that we haven't had a chance to post a few of our recent projects. </p>
<p style="text-decoration: underline;"><strong>JungWoo, USA</strong></p>
<p>JungWoo, USA is an international designer and manufacturer of plastic injection mold tools.</p>
<p><a href="http://www.lightninghammer.com/jungwoo-usa">View the site</a></p>
<p style="text-decoration: underline;"><strong>Smoke Oil</strong></p>
<p>Smoke Oil is a fueling company specializing in truck to truck and fleet fueling services.</p>
<p><a href="http://www.lightninghammer.com/smoke-oil">View the site</a></p>
<p style="text-decoration: underline;"><strong>First Health - Reid Heart Center</strong></p>
<p>Reid Heart Center is the latest in a long legacy of innovation, from award-winning orthopedics, to the most advanced diagnostics, a wide variety of cancer treatment options, robotic surgery and the region’s only true open MRI.</p>
<p><a href="http://www.lightninghammer.com/reid-heart-center">View the site</a></p>]]></content:encoded><guid>http://www.lightninghammer.com/launched-a-trio-of-new-websites</guid></item><item><title>UPDATED: It's Five O'Clock Somewhere! hits the App Store</title><link>http://www.lightninghammer.com/its-five-oclock-somewhere-hits-the-app-store</link><pubDate>Sat, 15 Jan 2011 06:00:00 GMT</pubDate><itunes:author /><dc:creator>Keith Storm</dc:creator><description><![CDATA[<p>UPDATED: "It's Five O'Clock Somewhere!" is now available on the Android Market. LightningHammer, in conjunction with SOTA Development, has released "It's Five O'Clock Somewhere!" to the Apple App Store. "It's Five O'Clock Somewhere!" is an application that will display locations where it is currently five o'clock from your current location. </p>]]></description><itunes:summary>UPDATED: "It's Five O'Clock Somewhere!" is now available on the Android Market. LightningHammer, in conjunction with SOTA Development, has released "It's Five O'Clock Somewhere!" to the Apple App Store. "It's Five O'Clock Somewhere!" is an application that will display locations where it is currently five o'clock from your current location. </itunes:summary><content:encoded><![CDATA[<img alt="" src="http://www.lightninghammer.com/Websites/lightninghammer/Images/fiveoclock.jpg" class="alignRight" />
<p><strong>UPDATED: "It's Five O'Clock Somewhere!" is now available on the Android Market.</strong> </p>
<p>LightningHammer, in conjunction with SOTA Development, has released "It's Five O'Clock Somewhere!" to the Apple App Store. "It's Five O'Clock Somewhere!" is an application that will display locations where it is currently five o'clock from your current location. Not only does it display where it is five o'clock, it also displays featured drinks from each area. </p>
<p>See a drink you like? You can view the mixing instructions and add it to your favorite drinks so you can go back to it later. Users can also view a "most popular" list of drinks as well as browse drinks by city and keyword. </p>
<p>Stay tuned for future upgrades including Google Maps integration and user added content.</p>
<p>Version 1.1 is now available! </p>
<p><a href="http://itunes.apple.com/us/app/its-five-oclock-somewhere/id405507483?mt=8&ls=1">Check it out on the App Store.</a> or <a href="http://www.lightninghammer.com/its-five-oclock-somewhere">click here</a> to view more details and screen shots. </p>]]></content:encoded><guid>http://www.lightninghammer.com/its-five-oclock-somewhere-hits-the-app-store</guid></item><item><title>Holiday Hours</title><link>http://www.lightninghammer.com/holiday-hours</link><pubDate>Thu, 23 Dec 2010 06:00:00 GMT</pubDate><itunes:author /><dc:creator>Admin</dc:creator><description><![CDATA[<p>
Our office will be closed from Noon on the 23rd of December to Monday, January 3rd.  </p>]]></description><itunes:summary>
Our office will be closed from Noon on the 23rd of December to Monday, January 3rd.  </itunes:summary><content:encoded><![CDATA[<p></p>
<p><img alt="" style="float: left;" src="http://www.lightninghammer.com/Websites/lightninghammer/Images/tree.jpg" />Our office will be closed from Noon on the 23rd of December to Monday, January 3rd.  We will still be responding to emergency tickets and all scheduled projects will still follow their assigned milestones.  If you have any emergency issues please go to our <a href="http://www.lightninghammer.com/contact">contact page</a> and call our toll free number or submit a web form.  <span style="color: #00b050;">Merry Christmas and Happy Holidays!</span> </p>]]></content:encoded><guid>http://www.lightninghammer.com/holiday-hours</guid></item><item><title>United Tool and Mold website revamp</title><link>http://www.lightninghammer.com/united-tool-and-mold-revamp-their-website</link><pubDate>Fri, 29 Oct 2010 05:00:00 GMT</pubDate><itunes:author /><dc:creator>Keith Storm</dc:creator><description><![CDATA[<div class="sitePreview right"><img alt="" src="http://www.lightninghammer.com/Websites/lightninghammer/Images/Blog/utm-preview.jpg" /></div>
<p>LightningHammer has just released a new revamped website for United Tool and Mold. The website has a new updated look and feel along with new updated content, photos, and integrated google maps. </p>
<p>Site Features include:</p>
<p>Swing by the site and take a look: <a href="http://www.utminc.com" target="_blank">http://www.utminc.com</a></p>]]></description><itunes:summary>
LightningHammer has just released a new revamped website for United Tool and Mold. The website has a new updated look and feel along with new updated content, photos, and integrated google maps. 
Site Features include:
Swing by the site and take a look: http://www.utminc.com</itunes:summary><content:encoded><![CDATA[<div class="sitePreview right"><img alt="" src="http://www.lightninghammer.com/Websites/lightninghammer/Images/Blog/utm-preview.jpg" /></div>
<p>LightningHammer has just released a new revamped website for United Tool and Mold. The website has a new updated look and feel along with new updated content, photos, and integrated google maps. </p>
<ul>
    <li>LightningCMS</li>
    <li>Google maps integration</li>
</ul>
<p>Swing by the site and take a look: <a href="http://www.utminc.com" target="_blank">http://www.utminc.com</a></p>]]></content:encoded><guid>http://www.lightninghammer.com/united-tool-and-mold-revamp-their-website</guid></item><item><title>LightningHammer serves up a CMS and Video Production for Kreative Kustom Motorsports</title><link>http://www.lightninghammer.com/lightninghammer-serves-up-a-cms-and-video-production-for-kreative-kustom-motorsports</link><pubDate>Fri, 22 Oct 2010 05:00:00 GMT</pubDate><itunes:author /><dc:creator>Keith Storm</dc:creator><description><![CDATA[<div class="sitePreview right"><img alt="" src="http://www.lightninghammer.com/Websites/lightninghammer/Images/Blog/kkm-preview.jpg" /></div>
<p>We are back at it again with Rhem Galloway of <a target="_blank" href="http://www.rhemgallowaydesign.com/">Rhem Galloway Design, LLC</a>. Rhem approached us to take her website design for Kreative Kustom Motorsports and turn it into a site with CMS capabilities. We customized LightningCMS to provide a back-end CMS to match and maintain Rhem's highly custom design.</p>
<p>On top of the website, Kreative Kustom Motorsports wanted to wow their customers with a 3D Logo introduction video. We converted their Logo to 3D and created all the animation with Lightwave 3D®. Once the animation was running smoothly we teamed up with Idryonis Studios where they added sound, music, and special effects.  </p>]]></description><itunes:summary>
We are back at it again with Rhem Galloway of Rhem Galloway Design, LLC. Rhem approached us to take her website design for Kreative Kustom Motorsports and turn it into a site with CMS capabilities. We customized LightningCMS to provide a back-end CMS to match and maintain Rhem's highly custom design.
On top of the website, Kreative Kustom Motorsports wanted to wow their customers with a 3D Logo introduction video. We converted their Logo to 3D and created all the animation with Lightwave 3D®. Once the animation was running smoothly we teamed up with Idryonis Studios where they added sound, music, and special effects.  </itunes:summary><content:encoded><![CDATA[<div class="sitePreview right"><img alt="" src="http://www.lightninghammer.com/Websites/lightninghammer/Images/Blog/kkm-preview.jpg" /></div>
<p>We are back at it again with Rhem Galloway of <a target="_blank" href="http://www.rhemgallowaydesign.com/">Rhem Galloway Design, LLC</a>. Rhem approached us to take her website design for Kreative Kustom Motorsports and turn it into a site with CMS capabilities. We customized LightningCMS to provide a back-end CMS to match and maintain Rhem's highly custom design.</p>
<p>On top of the website, Kreative Kustom Motorsports wanted to wow their customers with a 3D Logo introduction video. We converted their Logo to 3D and created all the animation with Lightwave 3D®. Once the animation was running smoothly we teamed up with Idryonis Studios where they added sound, music, and special effects.  </p>
<p>Site Features include:</p>
<ul>
    <li>LightningCMS</li>
    <li>Custom Photo Gallery mapped to LightningCMS back-end photo gallery editor</li>
    <li>3D Logo Introduction</li>
</ul>
<p>So if you're in the market to customize your car, or if you just want to see a pretty cool website check them out at <a target="_blank" href="http://www.kreativekustommotorsports.com">http://www.kreativekustommotorsports.com</a></p>
<object width="640" height="385">
<param name="movie" value="http://www.youtube.com/v/Ys5ZPxvMfwM?fs=1&hl=en_US&rel=0&hd=1">
<param name="allowFullScreen" value="true">
<param name="allowscriptaccess" value="always"><embed src="http://www.youtube.com/v/Ys5ZPxvMfwM?fs=1&hl=en_US&rel=0&hd=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" height="385" width="640"></object>]]></content:encoded><guid>http://www.lightninghammer.com/lightninghammer-serves-up-a-cms-and-video-production-for-kreative-kustom-motorsports</guid></item><item><title>LightningHammer and Bounce launch two sites.</title><link>http://www.lightninghammer.com/lightninghammer-and-bounce-launch-two-sites</link><pubDate>Wed, 18 Aug 2010 05:00:00 GMT</pubDate><itunes:author /><dc:creator>Keith Storm</dc:creator><description><![CDATA[<p>In the past few months we have had a wonderful opportunity to work with <a target="_blank" href="http://www.thebounceagency.com">The Bounce Agency</a> on a few web projects. The Bounce Agency provided their superb vision and we turned it into reality. Take a look below to see the first of many projects developed with The Bounce Agency.</p>]]></description><itunes:summary>In the past few months we have had a wonderful opportunity to work with The Bounce Agency on a few web projects. The Bounce Agency provided their superb vision and we turned it into reality. Take a look below to see the first of many projects developed with The Bounce Agency.</itunes:summary><content:encoded><![CDATA[<p>In the past few months we have had a wonderful opportunity to work with <a href="http://www.thebounceagency.com" target="_blank">The Bounce Agency</a> on a few web projects. The Bounce Agency provided their superb vision and we turned it into reality. Take a look below to see the first of many projects developed with The Bounce Agency.</p>
<div class="sitePreview right"><img alt="" src="http://www.lightninghammer.com/Websites/lightninghammer/Images/Blog/daretoshare-preview.jpg" /></div>
<p><strong>Dare to Share - Piedmont Pride<br />
</strong>Piedmont Pride is a website that was developed for employees of Piedmont Medical Center to share their experiences and well...pride. </p>
<p>The site is powered by LightningCMS and integrates several video testimonials captured by the employees. Don't forget the "Nurse Betty" video that was shot and produced by The Bounce Agency.</p>
<br class="clear" />
<div class="sitePreview left"><img alt="" src="http://www.lightninghammer.com/Websites/lightninghammer/Images/Blog/fortmill-preview.jpg" /></div>
<p> <strong>Fort Mill Medical Center<br />
</strong>The Fort Mill Medical website is an online campaign to build a new Hospital / medical center in the Fort Mill community. If you live in Fort Mill or one of the surrounding communities, why don't you stop by and take a look.</p>
<p><a href="http://www.OnlyFortMillMedicalCenter.com" target="_blank">http://www.OnlyFortMillMedicalCenter.com</a> <br class="clear" />
</p>]]></content:encoded><guid>http://www.lightninghammer.com/lightninghammer-and-bounce-launch-two-sites</guid></item><item><title>Filter Real Estate launches new website</title><link>http://www.lightninghammer.com/filter-real-estate-launches-new-website</link><pubDate>Wed, 18 Aug 2010 05:00:00 GMT</pubDate><itunes:author /><dc:creator>Keith Storm</dc:creator><description><![CDATA[<div class="sitePreview"><img alt="" src="http://www.lightninghammer.com/Websites/lightninghammer/Images/Blog/filter-preview.jpg" /></div>
<p>In conjunction with Rhem Galloway of <a href="http://www.rhemgallowaydesign.com/" target="_blank">Rhem Galloway Design, LLC</a>, LightningHammer has launched a new website for Filter Real Estate. </p>
<p>Filter Real Estate offers various services and plans to serve as a hub for Real Estate news and information. </p>
<br class="clear" />
<p> </p>]]></description><itunes:summary>
In conjunction with Rhem Galloway of Rhem Galloway Design, LLC, LightningHammer has launched a new website for Filter Real Estate. 
Filter Real Estate offers various services and plans to serve as a hub for Real Estate news and information. 

 </itunes:summary><content:encoded><![CDATA[<div class="sitePreview right"><img alt="" src="http://www.lightninghammer.com/Websites/lightninghammer/Images/Blog/filter-preview.jpg" /></div>
<p>In conjunction with Rhem Galloway of <a target="_blank" href="http://www.rhemgallowaydesign.com/">Rhem Galloway Design, LLC</a>, LightningHammer has launched a new website for Filter Real Estate. </p>
<p>Filter Real Estate offers various services and plans to serve as a hub for Real Estate news and information. </p>
<p>Site Features include:</p>
<ul>
    <li>LightningCMS</li>
    <li>Social Media Integration</li>
    <li>3rd Party RSS feed integration</li>
</ul>
<p>Planned updates are a client login portal where files and correspondence will be shared between Filter and their clients.</p>
<p>View the site at: <a target="_blank" href="http://www.filter-inc.com">http://www.filter-inc.com</a> </p>]]></content:encoded><guid>http://www.lightninghammer.com/filter-real-estate-launches-new-website</guid></item><item><title>New Websites Launched</title><link>http://www.lightninghammer.com/new-websites-launched</link><pubDate>Thu, 01 Jul 2010 19:50:26 GMT</pubDate><itunes:author /><dc:creator>Keith Storm</dc:creator><description><![CDATA[<p>We’ve been pretty busy the past few weeks and we haven’t had the opportunity to write about the latest sites we’ve been working on. Take a look to see the latest sites we have launched.</p>
<h2>City of Fountain Inn</h2>
<p><a href="http://www.lightninghammer.com/websites/lightninghammer/images/blog/fountaininn_screen1.jpg"><img src="http://www.lightninghammer.com/websites/lightninghammer/images/blog/fountaininn_screen1_thumb.jpg" alt="fountaininn_screen1" title="fountaininn_screen1" style="border-width: 0px; display: inline; border-style: solid;" /></a> </p>
<p>The site is powered by LightningCMS and has our dynamic weather and time of day system integrated. Soon the site design will update depending on the time of day and even the weather.</p>
<p><em>Launch Website: <a target="_blank" href="http://www.fountaininn.org">http://www.fountaininn.org</a></em></p>
<h2>FindCarolinaDentists.com</h2>
<p><a href="http://www.lightninghammer.com/websites/lightninghammer/images/blog/fcd_screen1.jpg"><img width="590" height="413" src="http://www.lightninghammer.com/websites/lightninghammer/images/blog/fcd_screen1_thumb.jpg" alt="fcd_screen1" title="fcd_screen1" style="border: 0px none; display: inline;" /></a> </p>
<p>We redesigned and upgraded FindCarolinaDentists.com with new features allowing dentists to sign up for premium memberships. The premium memberships allow for on-site advertising, photo galleries, promotions, and much more. </p>
<p><em>Launch Website: <a target="_blank" href="http://www.findcarolinadentists.com">http://www.findcarolinadentists.com</a></em></p>
<p></p>
<h2>Eversouth Development</h2>
<p><a href="http://www.lightninghammer.com/websites/lightninghammer/images/blog/eversouth_screen1.jpg"><img width="590" height="485" src="http://www.lightninghammer.com/websites/lightninghammer/images/blog/eversouth_screen1_thumb.jpg" alt="eversouth_screen1" title="eversouth_screen1" style="border: 0px none; display: inline;" /></a> </p>
<p>Eversouth Development is a commercial real estate development company based in Greenville, South Carolina. They needed a new website to effectively showcase their development portfolio. The site is powered by LightningCMS and features a custom web design by LightningHammer.</p>
<p><em>Launch Website: <a target="_blank" href="http://www.eversouth.com">http://www.eversouth.com</a></em></p>
<h2>Rising Tide</h2>
<p><a href="http://www.lightninghammer.com/websites/lightninghammer/images/blog/risingtide_screen1.jpg"><img width="590" height="393" src="http://www.lightninghammer.com/websites/lightninghammer/images/blog/risingtide_screen1_thumb.jpg" alt="risingtide_screen1" title="risingtide_screen1" style="border: 0px none; display: inline;" /></a> </p>
<p>Rising Tide offers Sports and Event Marketing. The site is powered by LightningCMS.</p>
<p><em>Launch Website: <a target="_blank" href="http://www.risingtideco.com">http://www.risingtideco.com</a></em></p>
<h2></h2>
<h2>Hill Marketing and PR</h2>
<h2><a href="http://www.lightninghammer.com/websites/lightninghammer/images/blog/hill_screen1.jpg"><img width="590" height="527" src="http://www.lightninghammer.com/websites/lightninghammer/images/blog/hill_screen1_thumb.jpg" alt="hill_screen1" title="hill_screen1" style="border: 0px none; display: inline;" /></a> </h2>
<p><em>Launch Website: <a target="_blank" href="http://www.hillmarketingpr.com">http://www.hillmarketingpr.com</a></em></p>
<h2><em></em></h2>
<h2>Virtual Sidekick</h2>
<p><a href="http://www.lightninghammer.com/websites/lightninghammer/images/blog/virtual_screen1.jpg"><img width="590" height="438" src="http://www.lightninghammer.com/websites/lightninghammer/images/blog/virtual_screen1_thumb.jpg" alt="virtual_screen1" title="virtual_screen1" style="border: 0px none; display: inline;" /></a> </p>
<p><em>Launch Website: <a target="_blank" href="http://www.yourvirtualsidekick.com">http://www.yourvirtualsidekick.com</a></em></p>]]></description><itunes:summary>We’ve been pretty busy the past few weeks and we haven’t had the opportunity to write about the latest sites we’ve been working on. Take a look to see the latest sites we have launched.
City of Fountain Inn
 
The site is powered by LightningCMS and has our dynamic weather and time of day system integrated. Soon the site design will update depending on the time of day and even the weather.
Launch Website: http://www.fountaininn.org
FindCarolinaDentists.com
 
We redesigned and upgraded FindCarolinaDentists.com with new features allowing dentists to sign up for premium memberships. The premium memberships allow for on-site advertising, photo galleries, promotions, and much more. 
Launch Website: http://www.findcarolinadentists.com

Eversouth Development
 
Eversouth Development is a commercial real estate development company based in Greenville, South Carolina. They needed a new website to effectively showcase their development portfolio. The site is powered by LightningCMS and features a custom web design by LightningHammer.
Launch Website: http://www.eversouth.com
Rising Tide
 
Rising Tide offers Sports and Event Marketing. The site is powered by LightningCMS.
Launch Website: http://www.risingtideco.com

Hill Marketing and PR
 
Launch Website: http://www.hillmarketingpr.com

Virtual Sidekick
 
Launch Website: http://www.yourvirtualsidekick.com</itunes:summary><content:encoded><![CDATA[<p>We’ve been pretty busy the past few weeks and we haven’t had the opportunity to write about the latest sites we’ve been working on. Take a look to see the latest sites we have launched.</p>
<h2>City of Fountain Inn</h2>
<p><a href="http://www.lightninghammer.com/websites/lightninghammer/images/blog/fountaininn_screen1.jpg"><img src="http://www.lightninghammer.com/websites/lightninghammer/images/blog/fountaininn_screen1_thumb.jpg" alt="fountaininn_screen1" title="fountaininn_screen1" style="border-width: 0px; display: inline; border-style: solid;" /></a> </p>
<p>The site is powered by LightningCMS and has our dynamic weather and time of day system integrated. Soon the site design will update depending on the time of day and even the weather.</p>
<p><em>Launch Website: <a target="_blank" href="http://www.fountaininn.org">http://www.fountaininn.org</a></em></p>
<h2>FindCarolinaDentists.com</h2>
<p><a href="http://www.lightninghammer.com/websites/lightninghammer/images/blog/fcd_screen1.jpg"><img width="590" height="413" src="http://www.lightninghammer.com/websites/lightninghammer/images/blog/fcd_screen1_thumb.jpg" alt="fcd_screen1" title="fcd_screen1" style="border: 0px none; display: inline;" /></a> </p>
<p>We redesigned and upgraded FindCarolinaDentists.com with new features allowing dentists to sign up for premium memberships. The premium memberships allow for on-site advertising, photo galleries, promotions, and much more. </p>
<p><em>Launch Website: <a target="_blank" href="http://www.findcarolinadentists.com">http://www.findcarolinadentists.com</a></em></p>
<p></p>
<h2>Eversouth Development</h2>
<p><a href="http://www.lightninghammer.com/websites/lightninghammer/images/blog/eversouth_screen1.jpg"><img width="590" height="485" src="http://www.lightninghammer.com/websites/lightninghammer/images/blog/eversouth_screen1_thumb.jpg" alt="eversouth_screen1" title="eversouth_screen1" style="border: 0px none; display: inline;" /></a> </p>
<p>Eversouth Development is a commercial real estate development company based in Greenville, South Carolina. They needed a new website to effectively showcase their development portfolio. The site is powered by LightningCMS and features a custom web design by LightningHammer.</p>
<p><em>Launch Website: <a target="_blank" href="http://www.eversouth.com">http://www.eversouth.com</a></em></p>
<h2>Rising Tide</h2>
<p><a href="http://www.lightninghammer.com/websites/lightninghammer/images/blog/risingtide_screen1.jpg"><img width="590" height="393" src="http://www.lightninghammer.com/websites/lightninghammer/images/blog/risingtide_screen1_thumb.jpg" alt="risingtide_screen1" title="risingtide_screen1" style="border: 0px none; display: inline;" /></a> </p>
<p>Rising Tide offers Sports and Event Marketing. The site is powered by LightningCMS.</p>
<p><em>Launch Website: <a target="_blank" href="http://www.risingtideco.com">http://www.risingtideco.com</a></em></p>
<h2></h2>
<h2>Hill Marketing and PR</h2>
<h2><a href="http://www.lightninghammer.com/websites/lightninghammer/images/blog/hill_screen1.jpg"><img width="590" height="527" src="http://www.lightninghammer.com/websites/lightninghammer/images/blog/hill_screen1_thumb.jpg" alt="hill_screen1" title="hill_screen1" style="border: 0px none; display: inline;" /></a> </h2>
<p><em>Launch Website: <a target="_blank" href="http://www.hillmarketingpr.com">http://www.hillmarketingpr.com</a></em></p>
<h2><em></em></h2>
<h2>Virtual Sidekick</h2>
<p><a href="http://www.lightninghammer.com/websites/lightninghammer/images/blog/virtual_screen1.jpg"><img width="590" height="438" src="http://www.lightninghammer.com/websites/lightninghammer/images/blog/virtual_screen1_thumb.jpg" alt="virtual_screen1" title="virtual_screen1" style="border: 0px none; display: inline;" /></a> </p>
<p><em>Launch Website: <a target="_blank" href="http://www.yourvirtualsidekick.com">http://www.yourvirtualsidekick.com</a></em></p>]]></content:encoded><guid>http://www.lightninghammer.com/new-websites-launched</guid></item><item><title>facePLANT Windows Live Writer Plugin UPDATED</title><link>http://www.lightninghammer.com/faceplant-windows-live-writer-plugin-updated</link><pubDate>Tue, 19 Jan 2010 06:00:00 GMT</pubDate><itunes:author /><dc:creator>Keith Storm</dc:creator><description><![CDATA[<p><strong>** UPDATE **</strong> I have released the source code for this project. <a href="http://www.lightninghammer.com/faceplant-windows-live-writer-facebook-plugin-source-code-released">Click Here</a>. </p>
<p><strong>DOWNLOAD: </strong><a href="http://www.lightninghammer.com/websites/lightninghammer/images/files/facePLANT.zip">facePLANT.zip (264.68 kb)</a></p>
<p>It’s been a while since we touched upon the facePLANT plugin we created for Windows Live Writer. We had some people that had trouble getting it to work, so we did some testing of our own. We created some new facebook accounts, did some debugging and as it turns out facebook is now implementing some new permissions requirements when it comes to updating your status.</p>
<p>Facebook now requires all applications to get “Extended Permission” in order for them to update your facebook status. We did some tweaking of the code, and now it will prompt you to grant permission for the “Windows Live Writer” application to update your facebook status.</p>
<p>Once you have granted access, facePLANT should have no problems updating your status. So give it a download and let us know if you experience any problems.</p>
<p><strong>Installation Instructions:</strong></p>
<ol>
    <li>Download the Zip file from above. </li>
    <li>Extract the DLL’s into your WLW Plugins directory (<em>Ex. C:Program Files (x86)Windows LiveWriterPlugins</em>) </li>
    <li>Run Windows Live Writer </li>
    <li><em>Optional: You may configure the default message by going to Tools > Options > Plugins > facePLANT > options button</em> </li>
</ol>
<p><strong>DOWNLOAD: </strong><a href="http://www.lightninghammer.com/websites/lightninghammer/images/files/facePLANT.zip">facePLANT.zip (264.68 kb)</a></p>]]></description><itunes:summary>** UPDATE ** I have released the source code for this project. Click Here. 
DOWNLOAD: facePLANT.zip (264.68 kb)
It’s been a while since we touched upon the facePLANT plugin we created for Windows Live Writer. We had some people that had trouble getting it to work, so we did some testing of our own. We created some new facebook accounts, did some debugging and as it turns out facebook is now implementing some new permissions requirements when it comes to updating your status.
Facebook now requires all applications to get “Extended Permission” in order for them to update your facebook status. We did some tweaking of the code, and now it will prompt you to grant permission for the “Windows Live Writer” application to update your facebook status.
Once you have granted access, facePLANT should have no problems updating your status. So give it a download and let us know if you experience any problems.
Installation Instructions:

    Download the Zip file from above. 
    Extract the DLL’s into your WLW Plugins directory (Ex. C:Program Files (x86)Windows LiveWriterPlugins) 
    Run Windows Live Writer 
    Optional: You may configure the default message by going to Tools &gt; Options &gt; Plugins &gt; facePLANT &gt; options button 

DOWNLOAD: facePLANT.zip (264.68 kb)</itunes:summary><content:encoded><![CDATA[<p><strong>** UPDATE **</strong> I have released the source code for this project. <a href="http://www.lightninghammer.com/faceplant-windows-live-writer-facebook-plugin-source-code-released">Click Here</a>. </p>
<p><strong>DOWNLOAD: </strong><a href="http://www.lightninghammer.com/websites/lightninghammer/images/files/facePLANT.zip">facePLANT.zip (264.68 kb)</a></p>
<p>It’s been a while since we touched upon the facePLANT plugin we created for Windows Live Writer. We had some people that had trouble getting it to work, so we did some testing of our own. We created some new facebook accounts, did some debugging and as it turns out facebook is now implementing some new permissions requirements when it comes to updating your status.</p>
<p>Facebook now requires all applications to get “Extended Permission” in order for them to update your facebook status. We did some tweaking of the code, and now it will prompt you to grant permission for the “Windows Live Writer” application to update your facebook status.</p>
<p>Once you have granted access, facePLANT should have no problems updating your status. So give it a download and let us know if you experience any problems.</p>
<p><strong>Installation Instructions:</strong></p>
<ol>
    <li>Download the Zip file from above. </li>
    <li>Extract the DLL’s into your WLW Plugins directory (<em>Ex. C:Program Files (x86)Windows LiveWriterPlugins</em>) </li>
    <li>Run Windows Live Writer </li>
    <li><em>Optional: You may configure the default message by going to Tools > Options > Plugins > facePLANT > options button</em> </li>
</ol>
<p><strong>DOWNLOAD: </strong><a href="http://www.lightninghammer.com/websites/lightninghammer/images/files/facePLANT.zip">facePLANT.zip (264.68 kb)</a></p>]]></content:encoded><guid>http://www.lightninghammer.com/faceplant-windows-live-writer-plugin-updated</guid></item><item><title>We have a winner!</title><link>http://www.lightninghammer.com/we-have-a-winner</link><pubDate>Sat, 05 Jun 2010 01:36:03 GMT</pubDate><itunes:author /><dc:creator>Keith Storm</dc:creator><description><![CDATA[<p>We have a winner for our <a href="http://blog.lightninghammer.com/post/2009/10/22/Trick-or-Treat-and-win-a-2425-iTunes-gift-card.aspx">Halloween iTunes gift card giveaway</a>!</p>
<p>Congratulations to <strong>GiraffeDiva (Dana)</strong>, the winner of our $25 iTunes gift card.</p>
<p>Of course you’re curious of how we selected the winner. Well since we’re software developers after all, we decided we would write a program to do it. If you like you may take a look at the page we created <a href="http://www.lightninghammer.com/randomwinner.aspx">here</a>.</p>
<p>Here is how it works:</p>
<ol>
<li>Input a list of names with each name on a new line.</li>
<li>Click the “Get Winner” button.</li>
</ol>
<p>The page takes the list of names and sorts them into a random order, then it picks one of the names at random. Of course, with the more names the more random it will get.</p>
<p>Feel free to use our page to for your own contests, or if you would like to make your own page here is some code to get you going:</p>
<p><strong>ASP.NET Code:</strong></p>
<div id="codeSnippetWrapper" style="border: 1px solid silver; margin: 20px 0px 10px; padding: 4px; overflow: auto; text-align: left; line-height: 12pt; background-color: #f4f4f4; width: 97.5%; font-family: 'Courier New',courier,monospace; direction: ltr; max-height: 200px; font-size: 8pt; cursor: text;">
<div id="codeSnippet" style="border-style: none; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: #f4f4f4; width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;">
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: white; width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"><span id="lnum1" style="color: #606060">   1:</span> <span style="color: #008000"><!-- Text Area to collect names !--></span></pre>
<!--CRLF-->
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: #f4f4f4; width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"><span id="lnum2" style="color: #606060">   2:</span> <span style="color: #0000ff"><</span><span style="color: #800000">asp:TextBox</span> <span style="color: #ff0000">id</span><span style="color: #0000ff">="txtNames"</span> <span style="color: #ff0000">runat</span><span style="color: #0000ff">="server"</span> <span style="color: #ff0000">TextMode</span><span style="color: #0000ff">="multiline"</span> <span style="color: #ff0000">validationgroup</span><span style="color: #0000ff">="winner"</span> <span style="color: #ff0000">CssClass</span><span style="color: #0000ff">="field"</span> <span style="color: #0000ff">/><</span><span style="color: #800000">br</span> <span style="color: #0000ff">/></span></pre>
<!--CRLF-->
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: white; width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"><span id="lnum3" style="color: #606060">   3:</span>  </pre>
<!--CRLF-->
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: #f4f4f4; width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"><span id="lnum4" style="color: #606060">   4:</span> <span style="color: #008000"><!-- Submit Button !--></span></pre>
<!--CRLF-->
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: white; width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"><span id="lnum5" style="color: #606060">   5:</span> <span style="color: #0000ff"><</span><span style="color: #800000">asp:Button</span> <span style="color: #ff0000">id</span><span style="color: #0000ff">="btnSubmit"</span> <span style="color: #ff0000">runat</span><span style="color: #0000ff">="server"</span> <span style="color: #ff0000">Text</span><span style="color: #0000ff">="Get Winner"</span>  <span style="color: #ff0000">OnClick</span><span style="color: #0000ff">="btnSubmit_Click"</span> <span style="color: #ff0000">validationgroup</span><span style="color: #0000ff">="winner"</span> <span style="color: #0000ff">/><</span><span style="color: #800000">br</span> <span style="color: #0000ff">/><</span><span style="color: #800000">br</span> <span style="color: #0000ff">/></span></pre>
<!--CRLF-->
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: #f4f4f4; width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"><span id="lnum6" style="color: #606060">   6:</span>  </pre>
<!--CRLF-->
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: white; width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"><span id="lnum7" style="color: #606060">   7:</span> <span style="color: #008000"><!-- Label to display Winner !--></span></pre>
<!--CRLF-->
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: #f4f4f4; width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"><span id="lnum8" style="color: #606060">   8:</span> <span style="color: #0000ff"><</span><span style="color: #800000">asp:Label</span> <span style="color: #ff0000">id</span><span style="color: #0000ff">="lblWinner"</span> <span style="color: #ff0000">runat</span><span style="color: #0000ff">="Server"</span> <span style="color: #ff0000">CssClass</span><span style="color: #0000ff">="winner"</span> <span style="color: #ff0000">visible</span><span style="color: #0000ff">="false"</span> <span style="color: #0000ff">/></span></pre>
<!--CRLF--></div>
</div>
<p><strong>C# Code:</strong></p>
<div id="codeSnippetWrapper" style="border: 1px solid silver; margin: 20px 0px 10px; padding: 4px; overflow: auto; text-align: left; line-height: 12pt; background-color: #f4f4f4; width: 97.5%; font-family: 'Courier New',courier,monospace; direction: ltr; max-height: 200px; font-size: 8pt; cursor: text;">
<div id="codeSnippet" style="border-style: none; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: #f4f4f4; width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;">
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: white; width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"><span id="lnum1" style="color: #606060">   1:</span> <span style="color: #0000ff">using</span> System;</pre>
<!--CRLF-->
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: #f4f4f4; width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"><span id="lnum2" style="color: #606060">   2:</span> <span style="color: #0000ff">using</span> System.Collections.Generic;</pre>
<!--CRLF-->
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: white; width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"><span id="lnum3" style="color: #606060">   3:</span> <span style="color: #0000ff">using</span> System.Web;</pre>
<!--CRLF-->
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: #f4f4f4; width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"><span id="lnum4" style="color: #606060">   4:</span> <span style="color: #0000ff">using</span> System.Web.UI;</pre>
<!--CRLF-->
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: white; width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"><span id="lnum5" style="color: #606060">   5:</span> <span style="color: #0000ff">using</span> System.Web.UI.WebControls;</pre>
<!--CRLF-->
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: #f4f4f4; width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"><span id="lnum6" style="color: #606060">   6:</span>  </pre>
<!--CRLF-->
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: white; width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"><span id="lnum7" style="color: #606060">   7:</span> <span style="color: #0000ff">public</span> <span style="color: #0000ff">partial</span> <span style="color: #0000ff">class</span> randomwinner : System.Web.UI.Page</pre>
<!--CRLF-->
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: #f4f4f4; width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"><span id="lnum8" style="color: #606060">   8:</span> {</pre>
<!--CRLF-->
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: white; width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"><span id="lnum9" style="color: #606060">   9:</span>     <span style="color: #0000ff">protected</span> <span style="color: #0000ff">void</span> btnSubmit_Click(<span style="color: #0000ff">object</span> sender, EventArgs e)</pre>
<!--CRLF-->
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: #f4f4f4; width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"><span id="lnum10" style="color: #606060">  10:</span>     {</pre>
<!--CRLF-->
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: white; width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"><span id="lnum11" style="color: #606060">  11:</span>         <span style="color: #008000">// Get Random Winner        </span></pre>
<!--CRLF-->
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: #f4f4f4; width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"><span id="lnum12" style="color: #606060">  12:</span>         List<<span style="color: #0000ff">string</span>> names = <span style="color: #0000ff">new</span> List<<span style="color: #0000ff">string</span>>();</pre>
<!--CRLF-->
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: white; width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"><span id="lnum13" style="color: #606060">  13:</span>         names.AddRange( txtNames.Text.Split(<span style="color: #006080">'\n'</span>) );</pre>
<!--CRLF-->
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: #f4f4f4; width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"><span id="lnum14" style="color: #606060">  14:</span>  </pre>
<!--CRLF-->
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: white; width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"><span id="lnum15" style="color: #606060">  15:</span>         <span style="color: #008000">// shuffle list </span></pre>
<!--CRLF-->
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: #f4f4f4; width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"><span id="lnum16" style="color: #606060">  16:</span>         names = MixList(names);</pre>
<!--CRLF-->
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: white; width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"><span id="lnum17" style="color: #606060">  17:</span>  </pre>
<!--CRLF-->
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: #f4f4f4; width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"><span id="lnum18" style="color: #606060">  18:</span>         <span style="color: #008000">// Now pick a random item from the shuffled list</span></pre>
<!--CRLF-->
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: white; width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"><span id="lnum19" style="color: #606060">  19:</span>         <span style="color: #0000ff">int</span> count = names.Count;        </pre>
<!--CRLF-->
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: #f4f4f4; width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"><span id="lnum20" style="color: #606060">  20:</span>         Random RandomNumber = <span style="color: #0000ff">new</span> Random();</pre>
<!--CRLF-->
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: white; width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"><span id="lnum21" style="color: #606060">  21:</span>         <span style="color: #0000ff">int</span> x = RandomNumber.Next(0, count-1);</pre>
<!--CRLF-->
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: #f4f4f4; width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"><span id="lnum22" style="color: #606060">  22:</span>  </pre>
<!--CRLF-->
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: white; width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"><span id="lnum23" style="color: #606060">  23:</span>         lblWinner.Text = <span style="color: #006080">"And the winner is: "</span> + names[x];</pre>
<!--CRLF-->
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: #f4f4f4; width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"><span id="lnum24" style="color: #606060">  24:</span>         lblWinner.Visible = <span style="color: #0000ff">true</span>;</pre>
<!--CRLF-->
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: white; width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"><span id="lnum25" style="color: #606060">  25:</span>     }</pre>
<!--CRLF-->
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: #f4f4f4; width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"><span id="lnum26" style="color: #606060">  26:</span>  </pre>
<!--CRLF-->
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: white; width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"><span id="lnum27" style="color: #606060">  27:</span>     <span style="color: #0000ff">private</span> List<<span style="color: #0000ff">string</span>> MixList(List<<span style="color: #0000ff">string</span>> inputList)</pre>
<!--CRLF-->
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: #f4f4f4; width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"><span id="lnum28" style="color: #606060">  28:</span>     {</pre>
<!--CRLF-->
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: white; width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"><span id="lnum29" style="color: #606060">  29:</span>          List<<span style="color: #0000ff">string</span>> randomList = <span style="color: #0000ff">new</span> List<<span style="color: #0000ff">string</span>>();</pre>
<!--CRLF-->
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: #f4f4f4; width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"><span id="lnum30" style="color: #606060">  30:</span>          <span style="color: #0000ff">if</span> (inputList.Count == 0)</pre>
<!--CRLF-->
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: white; width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"><span id="lnum31" style="color: #606060">  31:</span>               <span style="color: #0000ff">return</span> randomList;</pre>
<!--CRLF-->
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: #f4f4f4; width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"><span id="lnum32" style="color: #606060">  32:</span>  </pre>
<!--CRLF-->
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: white; width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"><span id="lnum33" style="color: #606060">  33:</span>          Random r = <span style="color: #0000ff">new</span> Random();</pre>
<!--CRLF-->
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: #f4f4f4; width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"><span id="lnum34" style="color: #606060">  34:</span>          <span style="color: #0000ff">int</span> randomIndex = 0;</pre>
<!--CRLF-->
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: white; width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"><span id="lnum35" style="color: #606060">  35:</span>          <span style="color: #0000ff">while</span> (inputList.Count > 0)</pre>
<!--CRLF-->
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: #f4f4f4; width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"><span id="lnum36" style="color: #606060">  36:</span>          {</pre>
<!--CRLF-->
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: white; width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"><span id="lnum37" style="color: #606060">  37:</span>               randomIndex = r.Next(0, inputList.Count); <span style="color: #008000">//Choose a random object in the list</span></pre>
<!--CRLF-->
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: #f4f4f4; width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"><span id="lnum38" style="color: #606060">  38:</span>               randomList.Add(inputList[randomIndex]); <span style="color: #008000">//add it to the new, random list<</span></pre>
<!--CRLF-->
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: white; width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"><span id="lnum39" style="color: #606060">  39:</span>               inputList.RemoveAt(randomIndex); <span style="color: #008000">//remove to avoid duplicates</span></pre>
<!--CRLF-->
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: #f4f4f4; width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"><span id="lnum40" style="color: #606060">  40:</span>          }</pre>
<!--CRLF-->
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: white; width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"><span id="lnum41" style="color: #606060">  41:</span>  </pre>
<!--CRLF-->
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: #f4f4f4; width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"><span id="lnum42" style="color: #606060">  42:</span>          <span style="color: #008000">//clean up</span></pre>
<!--CRLF-->
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: white; width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"><span id="lnum43" style="color: #606060">  43:</span>          inputList.Clear();</pre>
<!--CRLF-->
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: #f4f4f4; width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"><span id="lnum44" style="color: #606060">  44:</span>          inputList = <span style="color: #0000ff">null</span>;</pre>
<!--CRLF-->
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: white; width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"><span id="lnum45" style="color: #606060">  45:</span>          r = <span style="color: #0000ff">null</span>;</pre>
<!--CRLF-->
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: #f4f4f4; width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"><span id="lnum46" style="color: #606060">  46:</span>  </pre>
<!--CRLF-->
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: white; width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"><span id="lnum47" style="color: #606060">  47:</span>          <span style="color: #0000ff">return</span> randomList; <span style="color: #008000">//return the new random list</span></pre>
<!--CRLF-->
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: #f4f4f4; width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"><span id="lnum48" style="color: #606060">  48:</span>     }</pre>
<!--CRLF-->
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: white; width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"><span id="lnum49" style="color: #606060">  49:</span> }</pre>
<!--CRLF--></div>
</div>
<p> </p>
<p>The code is pretty basic. There’s not a lot of error checking in there, but since we were the ones using it, it worked well.</p>]]></description><itunes:summary>We have a winner for our Halloween iTunes gift card giveaway!
Congratulations to GiraffeDiva (Dana), the winner of our $25 iTunes gift card.
Of course you’re curious of how we selected the winner. Well since we’re software developers after all, we decided we would write a program to do it. If you like you may take a look at the page we created here.
Here is how it works:

Input a list of names with each name on a new line.
Click the “Get Winner” button.

The page takes the list of names and sorts them into a random order, then it picks one of the names at random. Of course, with the more names the more random it will get.
Feel free to use our page to for your own contests, or if you would like to make your own page here is some code to get you going:
ASP.NET Code:


   1: 

   2: asp:TextBox id="txtNames" runat="server" TextMode="multiline" validationgroup="winner" CssClass="field" /&gt;br /&gt;

   3:  

   4: 

   5: asp:Button id="btnSubmit" runat="server" Text="Get Winner"  OnClick="btnSubmit_Click" validationgroup="winner" /&gt;br /&gt;br /&gt;

   6:  

   7: 

   8: asp:Label id="lblWinner" runat="Server" CssClass="winner" visible="false" /&gt;


C# Code:


   1: using System;

   2: using System.Collections.Generic;

   3: using System.Web;

   4: using System.Web.UI;

   5: using System.Web.UI.WebControls;

   6:  

   7: public partial class randomwinner : System.Web.UI.Page

   8: {

   9:     protected void btnSubmit_Click(object sender, EventArgs e)

  10:     {

  11:         // Get Random Winner        

  12:         Liststring&gt; names = new Liststring&gt;();

  13:         names.AddRange( txtNames.Text.Split('\n') );

  14:  

  15:         // shuffle list 

  16:         names = MixList(names);

  17:  

  18:         // Now pick a random item from the shuffled list

  19:         int count = names.Count;        

  20:         Random RandomNumber = new Random();

  21:         int x = RandomNumber.Next(0, count-1);

  22:  

  23:         lblWinner.Text = "And the winner is: " + names[x];

  24:         lblWinner.Visible = true;

  25:     }

  26:  

  27:     private Liststring&gt; MixList(Liststring&gt; inputList)

  28:     {

  29:          Liststring&gt; randomList = new Liststring&gt;();

  30:          if (inputList.Count == 0)

  31:               return randomList;

  32:  

  33:          Random r = new Random();

  34:          int randomIndex = 0;

  35:          while (inputList.Count &gt; 0)

  36:          {

  37:               randomIndex = r.Next(0, inputList.Count); //Choose a random object in the list

  38:               randomList.Add(inputList[randomIndex]); //add it to the new, random list

  39:               inputList.RemoveAt(randomIndex); //remove to avoid duplicates

  40:          }

  41:  

  42:          //clean up

  43:          inputList.Clear();

  44:          inputList = null;

  45:          r = null;

  46:  

  47:          return randomList; //return the new random list

  48:     }

  49: }


 
The code is pretty basic. There’s not a lot of error checking in there, but since we were the ones using it, it worked well.</itunes:summary><content:encoded><![CDATA[<p>We have a winner for our <a href="http://blog.lightninghammer.com/post/2009/10/22/Trick-or-Treat-and-win-a-2425-iTunes-gift-card.aspx">Halloween iTunes gift card giveaway</a>!</p>
<p>Congratulations to <strong>GiraffeDiva (Dana)</strong>, the winner of our $25 iTunes gift card.</p>
<p>Of course you’re curious of how we selected the winner. Well since we’re software developers after all, we decided we would write a program to do it. If you like you may take a look at the page we created <a href="http://www.lightninghammer.com/randomwinner.aspx">here</a>.</p>
<p>Here is how it works:</p>
<ol>
<li>Input a list of names with each name on a new line.</li>
<li>Click the “Get Winner” button.</li>
</ol>
<p>The page takes the list of names and sorts them into a random order, then it picks one of the names at random. Of course, with the more names the more random it will get.</p>
<p>Feel free to use our page to for your own contests, or if you would like to make your own page here is some code to get you going:</p>
<p><strong>ASP.NET Code:</strong></p>
<div id="codeSnippetWrapper" style="border: 1px solid silver; margin: 20px 0px 10px; padding: 4px; overflow: auto; text-align: left; line-height: 12pt; background-color: #f4f4f4; width: 97.5%; font-family: 'Courier New',courier,monospace; direction: ltr; max-height: 200px; font-size: 8pt; cursor: text;">
<div id="codeSnippet" style="border-style: none; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: #f4f4f4; width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;">
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: white; width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"><span id="lnum1" style="color: #606060">   1:</span> <span style="color: #008000"><!-- Text Area to collect names !--></span></pre>
<!--CRLF-->
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: #f4f4f4; width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"><span id="lnum2" style="color: #606060">   2:</span> <span style="color: #0000ff"><</span><span style="color: #800000">asp:TextBox</span> <span style="color: #ff0000">id</span><span style="color: #0000ff">="txtNames"</span> <span style="color: #ff0000">runat</span><span style="color: #0000ff">="server"</span> <span style="color: #ff0000">TextMode</span><span style="color: #0000ff">="multiline"</span> <span style="color: #ff0000">validationgroup</span><span style="color: #0000ff">="winner"</span> <span style="color: #ff0000">CssClass</span><span style="color: #0000ff">="field"</span> <span style="color: #0000ff">/><</span><span style="color: #800000">br</span> <span style="color: #0000ff">/></span></pre>
<!--CRLF-->
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: white; width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"><span id="lnum3" style="color: #606060">   3:</span>  </pre>
<!--CRLF-->
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: #f4f4f4; width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"><span id="lnum4" style="color: #606060">   4:</span> <span style="color: #008000"><!-- Submit Button !--></span></pre>
<!--CRLF-->
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: white; width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"><span id="lnum5" style="color: #606060">   5:</span> <span style="color: #0000ff"><</span><span style="color: #800000">asp:Button</span> <span style="color: #ff0000">id</span><span style="color: #0000ff">="btnSubmit"</span> <span style="color: #ff0000">runat</span><span style="color: #0000ff">="server"</span> <span style="color: #ff0000">Text</span><span style="color: #0000ff">="Get Winner"</span>  <span style="color: #ff0000">OnClick</span><span style="color: #0000ff">="btnSubmit_Click"</span> <span style="color: #ff0000">validationgroup</span><span style="color: #0000ff">="winner"</span> <span style="color: #0000ff">/><</span><span style="color: #800000">br</span> <span style="color: #0000ff">/><</span><span style="color: #800000">br</span> <span style="color: #0000ff">/></span></pre>
<!--CRLF-->
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: #f4f4f4; width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"><span id="lnum6" style="color: #606060">   6:</span>  </pre>
<!--CRLF-->
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: white; width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"><span id="lnum7" style="color: #606060">   7:</span> <span style="color: #008000"><!-- Label to display Winner !--></span></pre>
<!--CRLF-->
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: #f4f4f4; width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"><span id="lnum8" style="color: #606060">   8:</span> <span style="color: #0000ff"><</span><span style="color: #800000">asp:Label</span> <span style="color: #ff0000">id</span><span style="color: #0000ff">="lblWinner"</span> <span style="color: #ff0000">runat</span><span style="color: #0000ff">="Server"</span> <span style="color: #ff0000">CssClass</span><span style="color: #0000ff">="winner"</span> <span style="color: #ff0000">visible</span><span style="color: #0000ff">="false"</span> <span style="color: #0000ff">/></span></pre>
<!--CRLF--></div>
</div>
<p><strong>C# Code:</strong></p>
<div id="codeSnippetWrapper" style="border: 1px solid silver; margin: 20px 0px 10px; padding: 4px; overflow: auto; text-align: left; line-height: 12pt; background-color: #f4f4f4; width: 97.5%; font-family: 'Courier New',courier,monospace; direction: ltr; max-height: 200px; font-size: 8pt; cursor: text;">
<div id="codeSnippet" style="border-style: none; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: #f4f4f4; width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;">
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: white; width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"><span id="lnum1" style="color: #606060">   1:</span> <span style="color: #0000ff">using</span> System;</pre>
<!--CRLF-->
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: #f4f4f4; width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"><span id="lnum2" style="color: #606060">   2:</span> <span style="color: #0000ff">using</span> System.Collections.Generic;</pre>
<!--CRLF-->
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: white; width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"><span id="lnum3" style="color: #606060">   3:</span> <span style="color: #0000ff">using</span> System.Web;</pre>
<!--CRLF-->
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: #f4f4f4; width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"><span id="lnum4" style="color: #606060">   4:</span> <span style="color: #0000ff">using</span> System.Web.UI;</pre>
<!--CRLF-->
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: white; width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"><span id="lnum5" style="color: #606060">   5:</span> <span style="color: #0000ff">using</span> System.Web.UI.WebControls;</pre>
<!--CRLF-->
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: #f4f4f4; width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"><span id="lnum6" style="color: #606060">   6:</span>  </pre>
<!--CRLF-->
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: white; width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"><span id="lnum7" style="color: #606060">   7:</span> <span style="color: #0000ff">public</span> <span style="color: #0000ff">partial</span> <span style="color: #0000ff">class</span> randomwinner : System.Web.UI.Page</pre>
<!--CRLF-->
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: #f4f4f4; width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"><span id="lnum8" style="color: #606060">   8:</span> {</pre>
<!--CRLF-->
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: white; width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"><span id="lnum9" style="color: #606060">   9:</span>     <span style="color: #0000ff">protected</span> <span style="color: #0000ff">void</span> btnSubmit_Click(<span style="color: #0000ff">object</span> sender, EventArgs e)</pre>
<!--CRLF-->
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: #f4f4f4; width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"><span id="lnum10" style="color: #606060">  10:</span>     {</pre>
<!--CRLF-->
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: white; width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"><span id="lnum11" style="color: #606060">  11:</span>         <span style="color: #008000">// Get Random Winner        </span></pre>
<!--CRLF-->
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: #f4f4f4; width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"><span id="lnum12" style="color: #606060">  12:</span>         List<<span style="color: #0000ff">string</span>> names = <span style="color: #0000ff">new</span> List<<span style="color: #0000ff">string</span>>();</pre>
<!--CRLF-->
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: white; width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"><span id="lnum13" style="color: #606060">  13:</span>         names.AddRange( txtNames.Text.Split(<span style="color: #006080">'\n'</span>) );</pre>
<!--CRLF-->
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: #f4f4f4; width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"><span id="lnum14" style="color: #606060">  14:</span>  </pre>
<!--CRLF-->
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: white; width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"><span id="lnum15" style="color: #606060">  15:</span>         <span style="color: #008000">// shuffle list </span></pre>
<!--CRLF-->
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: #f4f4f4; width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"><span id="lnum16" style="color: #606060">  16:</span>         names = MixList(names);</pre>
<!--CRLF-->
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: white; width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"><span id="lnum17" style="color: #606060">  17:</span>  </pre>
<!--CRLF-->
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: #f4f4f4; width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"><span id="lnum18" style="color: #606060">  18:</span>         <span style="color: #008000">// Now pick a random item from the shuffled list</span></pre>
<!--CRLF-->
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: white; width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"><span id="lnum19" style="color: #606060">  19:</span>         <span style="color: #0000ff">int</span> count = names.Count;        </pre>
<!--CRLF-->
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: #f4f4f4; width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"><span id="lnum20" style="color: #606060">  20:</span>         Random RandomNumber = <span style="color: #0000ff">new</span> Random();</pre>
<!--CRLF-->
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: white; width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"><span id="lnum21" style="color: #606060">  21:</span>         <span style="color: #0000ff">int</span> x = RandomNumber.Next(0, count-1);</pre>
<!--CRLF-->
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: #f4f4f4; width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"><span id="lnum22" style="color: #606060">  22:</span>  </pre>
<!--CRLF-->
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: white; width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"><span id="lnum23" style="color: #606060">  23:</span>         lblWinner.Text = <span style="color: #006080">"And the winner is: "</span> + names[x];</pre>
<!--CRLF-->
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: #f4f4f4; width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"><span id="lnum24" style="color: #606060">  24:</span>         lblWinner.Visible = <span style="color: #0000ff">true</span>;</pre>
<!--CRLF-->
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: white; width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"><span id="lnum25" style="color: #606060">  25:</span>     }</pre>
<!--CRLF-->
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: #f4f4f4; width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"><span id="lnum26" style="color: #606060">  26:</span>  </pre>
<!--CRLF-->
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: white; width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"><span id="lnum27" style="color: #606060">  27:</span>     <span style="color: #0000ff">private</span> List<<span style="color: #0000ff">string</span>> MixList(List<<span style="color: #0000ff">string</span>> inputList)</pre>
<!--CRLF-->
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: #f4f4f4; width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"><span id="lnum28" style="color: #606060">  28:</span>     {</pre>
<!--CRLF-->
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: white; width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"><span id="lnum29" style="color: #606060">  29:</span>          List<<span style="color: #0000ff">string</span>> randomList = <span style="color: #0000ff">new</span> List<<span style="color: #0000ff">string</span>>();</pre>
<!--CRLF-->
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: #f4f4f4; width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"><span id="lnum30" style="color: #606060">  30:</span>          <span style="color: #0000ff">if</span> (inputList.Count == 0)</pre>
<!--CRLF-->
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: white; width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"><span id="lnum31" style="color: #606060">  31:</span>               <span style="color: #0000ff">return</span> randomList;</pre>
<!--CRLF-->
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: #f4f4f4; width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"><span id="lnum32" style="color: #606060">  32:</span>  </pre>
<!--CRLF-->
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: white; width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"><span id="lnum33" style="color: #606060">  33:</span>          Random r = <span style="color: #0000ff">new</span> Random();</pre>
<!--CRLF-->
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: #f4f4f4; width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"><span id="lnum34" style="color: #606060">  34:</span>          <span style="color: #0000ff">int</span> randomIndex = 0;</pre>
<!--CRLF-->
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: white; width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"><span id="lnum35" style="color: #606060">  35:</span>          <span style="color: #0000ff">while</span> (inputList.Count > 0)</pre>
<!--CRLF-->
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: #f4f4f4; width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"><span id="lnum36" style="color: #606060">  36:</span>          {</pre>
<!--CRLF-->
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: white; width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"><span id="lnum37" style="color: #606060">  37:</span>               randomIndex = r.Next(0, inputList.Count); <span style="color: #008000">//Choose a random object in the list</span></pre>
<!--CRLF-->
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: #f4f4f4; width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"><span id="lnum38" style="color: #606060">  38:</span>               randomList.Add(inputList[randomIndex]); <span style="color: #008000">//add it to the new, random list<</span></pre>
<!--CRLF-->
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: white; width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"><span id="lnum39" style="color: #606060">  39:</span>               inputList.RemoveAt(randomIndex); <span style="color: #008000">//remove to avoid duplicates</span></pre>
<!--CRLF-->
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: #f4f4f4; width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"><span id="lnum40" style="color: #606060">  40:</span>          }</pre>
<!--CRLF-->
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: white; width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"><span id="lnum41" style="color: #606060">  41:</span>  </pre>
<!--CRLF-->
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: #f4f4f4; width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"><span id="lnum42" style="color: #606060">  42:</span>          <span style="color: #008000">//clean up</span></pre>
<!--CRLF-->
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: white; width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"><span id="lnum43" style="color: #606060">  43:</span>          inputList.Clear();</pre>
<!--CRLF-->
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: #f4f4f4; width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"><span id="lnum44" style="color: #606060">  44:</span>          inputList = <span style="color: #0000ff">null</span>;</pre>
<!--CRLF-->
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: white; width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"><span id="lnum45" style="color: #606060">  45:</span>          r = <span style="color: #0000ff">null</span>;</pre>
<!--CRLF-->
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: #f4f4f4; width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"><span id="lnum46" style="color: #606060">  46:</span>  </pre>
<!--CRLF-->
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: white; width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"><span id="lnum47" style="color: #606060">  47:</span>          <span style="color: #0000ff">return</span> randomList; <span style="color: #008000">//return the new random list</span></pre>
<!--CRLF-->
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: #f4f4f4; width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"><span id="lnum48" style="color: #606060">  48:</span>     }</pre>
<!--CRLF-->
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: white; width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"><span id="lnum49" style="color: #606060">  49:</span> }</pre>
<!--CRLF--></div>
</div>
<p> </p>
<p>The code is pretty basic. There’s not a lot of error checking in there, but since we were the ones using it, it worked well.</p>]]></content:encoded><guid>http://www.lightninghammer.com/we-have-a-winner</guid></item><item><title>Trick or Treat and win a $25 iTunes gift card</title><link>http://www.lightninghammer.com/trick-or-treat-and-win-a-25-itunes-gift-card</link><pubDate>Mon, 07 Jun 2010 19:21:39 GMT</pubDate><itunes:author /><dc:creator>Keith Storm</dc:creator><description><![CDATA[<p><img width="587" height="389" style="border-width: 0px; display: inline; border-style: solid;" title="halloween-contest2" src="http://www.lightninghammer.com/websites/lightninghammer/images/blog/halloween-contest2.png" alt="halloween-contest2" /></p>
<p>How would you like to get a $25 iTunes gift card in your Halloween bucket? Well now is your chance. On October 31st we are will be giving away said gift card to one lucky contestant of our 1st annual Halloween giveaway. It’s easy to enter, just follow the 2 rules:</p>
<p><strong style="color: red;">FIRST:</strong> Choose from <strong style="color: red; font-size: 16px;">ONE</strong> of the following:</p>
<ul>
    <li><a href="http://www.facebook.com/LightningHammer" target="_blank"><strong>Become a fan of LightningHammer on facebook</strong>.</a> </li>
</ul>
<ul>
    <li><a href="http://twitter.com/lightninghammer" target="_blank"><strong>Follow LightningHammer on twitter and post a link to this article.</strong></a> </li>
</ul>
<ul>
    <li><strong>Post this article to </strong><a href="http://digg.com/submit/?url=http://blog.lightninghammer.com/post/2009/10/22/Trick-or-Treat-and-win-a-2425-iTunes-gift-card.aspx" target="_blank"><strong>digg</strong></a><strong>, </strong><a href="http://del.icio.us/post?url=http://blog.lightninghammer.com/post/2009/10/22/Trick-or-Treat-and-win-a-2425-iTunes-gift-card.aspx&title=Trick%20or%20Treat%20and%20win%20a%20$25%20iTunes%20gift%20card" target="_blank"><strong>del.icio.us</strong></a><strong>, or </strong><a href="http://www.stumbleupon.com/submit?url=http://blog.lightninghammer.com/post/2009/10/22/Trick-or-Treat-and-win-a-2425-iTunes-gift-card.aspx" target="_blank"><strong>stumbleupon</strong></a> </li>
</ul>
<ul>
    <li><strong>Mention LightningHammer in a post on your blog and link back to this post.</strong> </li>
</ul>
<p><em>(You may complete more than one if you like, but it will not increase your chances of winning).</em></p>
<p><strong style="color: red;">SECOND:</strong> <a href="http://blog.lightninghammer.com/post/2009/10/22/Trick-or-Treat-and-win-a-2425-iTunes-gift-card.aspx#addcomment"><strong>Leave a Comment on this post</strong></a><strong> letting us know which of the above steps you completed</strong>.</p>
<p><a class="halloweenbtn" href="http://blog.lightninghammer.com/post/2009/10/22/Trick-or-Treat-and-win-a-2425-iTunes-gift-card.aspx#addcomment">Comment</a></p>
<p><strong>We WILL NOT send you SPAM or sell your Email address to anyone. We only need your email to contact you if you are the winner.</strong></p>
<p>Once you’ve completed those 2 steps you are entered into the contest. The deadline to enter is 11:59 PM, October 31st. The drawing will be held November 1st, 2009.</p>
<p>If you have any problems submitting your entry please <a href="contact.aspx"></a><a href="http://blog.lightninghammer.com/contact.aspx">Contact us.</a></p>
<p>Happy Halloween!</p>
<p><strong>Rules:</strong></p>
<p><small>1. Only 1 submission per person will be counted in the drawing.</small></p>
<p><small>2. Employees of LightningHammer are not eligible. Void where prohibited or restricted by law. Giveaway is subject to all applicable federal, state, and local laws and regulations.</small></p>
<p><small>3. Only United States citizens are eligible for this promotion.</small></p>]]></description><itunes:summary>
How would you like to get a $25 iTunes gift card in your Halloween bucket? Well now is your chance. On October 31st we are will be giving away said gift card to one lucky contestant of our 1st annual Halloween giveaway. It’s easy to enter, just follow the 2 rules:
FIRST: Choose from ONE of the following:

    Become a fan of LightningHammer on facebook. 


    Follow LightningHammer on twitter and post a link to this article. 


    Post this article to digg, del.icio.us, or stumbleupon 


    Mention LightningHammer in a post on your blog and link back to this post. 

(You may complete more than one if you like, but it will not increase your chances of winning).
SECOND: Leave a Comment on this post letting us know which of the above steps you completed.
Comment
We WILL NOT send you SPAM or sell your Email address to anyone. We only need your email to contact you if you are the winner.
Once you’ve completed those 2 steps you are entered into the contest. The deadline to enter is 11:59 PM, October 31st. The drawing will be held November 1st, 2009.
If you have any problems submitting your entry please Contact us.
Happy Halloween!
Rules:
1. Only 1 submission per person will be counted in the drawing.
2. Employees of LightningHammer are not eligible. Void where prohibited or restricted by law. Giveaway is subject to all applicable federal, state, and local laws and regulations.
3. Only United States citizens are eligible for this promotion.</itunes:summary><content:encoded><![CDATA[<p><img width="587" height="389" style="border-width: 0px; display: inline; border-style: solid;" title="halloween-contest2" src="http://www.lightninghammer.com/websites/lightninghammer/images/blog/halloween-contest2.png" alt="halloween-contest2" /></p>
<p>How would you like to get a $25 iTunes gift card in your Halloween bucket? Well now is your chance. On October 31st we are will be giving away said gift card to one lucky contestant of our 1st annual Halloween giveaway. It’s easy to enter, just follow the 2 rules:</p>
<p><strong style="color: red;">FIRST:</strong> Choose from <strong style="color: red; font-size: 16px;">ONE</strong> of the following:</p>
<ul>
    <li><a href="http://www.facebook.com/LightningHammer" target="_blank"><strong>Become a fan of LightningHammer on facebook</strong>.</a> </li>
</ul>
<ul>
    <li><a href="http://twitter.com/lightninghammer" target="_blank"><strong>Follow LightningHammer on twitter and post a link to this article.</strong></a> </li>
</ul>
<ul>
    <li><strong>Post this article to </strong><a href="http://digg.com/submit/?url=http://blog.lightninghammer.com/post/2009/10/22/Trick-or-Treat-and-win-a-2425-iTunes-gift-card.aspx" target="_blank"><strong>digg</strong></a><strong>, </strong><a href="http://del.icio.us/post?url=http://blog.lightninghammer.com/post/2009/10/22/Trick-or-Treat-and-win-a-2425-iTunes-gift-card.aspx&title=Trick%20or%20Treat%20and%20win%20a%20$25%20iTunes%20gift%20card" target="_blank"><strong>del.icio.us</strong></a><strong>, or </strong><a href="http://www.stumbleupon.com/submit?url=http://blog.lightninghammer.com/post/2009/10/22/Trick-or-Treat-and-win-a-2425-iTunes-gift-card.aspx" target="_blank"><strong>stumbleupon</strong></a> </li>
</ul>
<ul>
    <li><strong>Mention LightningHammer in a post on your blog and link back to this post.</strong> </li>
</ul>
<p><em>(You may complete more than one if you like, but it will not increase your chances of winning).</em></p>
<p><strong style="color: red;">SECOND:</strong> <a href="http://blog.lightninghammer.com/post/2009/10/22/Trick-or-Treat-and-win-a-2425-iTunes-gift-card.aspx#addcomment"><strong>Leave a Comment on this post</strong></a><strong> letting us know which of the above steps you completed</strong>.</p>
<p><a class="halloweenbtn" href="http://blog.lightninghammer.com/post/2009/10/22/Trick-or-Treat-and-win-a-2425-iTunes-gift-card.aspx#addcomment">Comment</a></p>
<p><strong>We WILL NOT send you SPAM or sell your Email address to anyone. We only need your email to contact you if you are the winner.</strong></p>
<p>Once you’ve completed those 2 steps you are entered into the contest. The deadline to enter is 11:59 PM, October 31st. The drawing will be held November 1st, 2009.</p>
<p>If you have any problems submitting your entry please <a href="contact.aspx"></a><a href="http://blog.lightninghammer.com/contact.aspx">Contact us.</a></p>
<p>Happy Halloween!</p>
<p><strong>Rules:</strong></p>
<p><small>1. Only 1 submission per person will be counted in the drawing.</small></p>
<p><small>2. Employees of LightningHammer are not eligible. Void where prohibited or restricted by law. Giveaway is subject to all applicable federal, state, and local laws and regulations.</small></p>
<p><small>3. Only United States citizens are eligible for this promotion.</small></p>]]></content:encoded><guid>http://www.lightninghammer.com/trick-or-treat-and-win-a-25-itunes-gift-card</guid></item><item><title>New Template Gallery and Sign Up Form</title><link>http://www.lightninghammer.com/new-template-gallery-and-sign-up-form</link><pubDate>Mon, 07 Jun 2010 19:22:21 GMT</pubDate><itunes:author /><dc:creator>Keith Storm</dc:creator><description><![CDATA[<p>We have just launched a new Template Gallery to showcase all of our <strong>FREE</strong> LightningCMS template. There are 45 <strong>FREE</strong> templates to choose from. <a href="http://www.lightninghammer.com/cms#templates">Click here to view the entire gallery</a>.</p>
<p>Please welcome the two newest additions of the template gallery:</p>
<p><strong>Efficiency – Deft</strong></p>
<p><a href="http://www.lightninghammer.com/websites/lightninghammer/images/blog/Efficiency-Deft.png"><img width="556" height="418" style="border: 0px none; display: inline;" title="Efficiency-Deft" alt="Efficiency-Deft" src="http://www.lightninghammer.com/websites/lightninghammer/images/blog/Efficiency-Deft_thumb.png" /></a> </p>
<p><strong>Efficiency – Reverie</strong></p>
<p><a href="http://www.lightninghammer.com/websites/lightninghammer/images/blog/Efficiency-Reverie.png"><img width="556" height="418" style="border: 0px none; display: inline;" title="Efficiency-Reverie" alt="Efficiency-Reverie" src="http://www.lightninghammer.com/websites/lightninghammer/images/blog/Efficiency-Reverie_thumb.png" /></a> </p>
<p></p>
<p>As well as the <a href="http://www.lightninghammer.com/cms#templates">Template Gallery</a>, we have also added a new <a href="http://www.lightninghammer.com/cms/signup">online signup form</a> so you can get started with LightningCMS in 3 easy steps. </p>
<p>Our <strong>FREE</strong> LightningCMS sites feature:</p>
<ul>
    <li>3 Content Pages</li>
    <li>Blog (blog pages DO NOT count towards your 3 page limit).</li>
    <li>Calendar</li>
    <li>Photo Gallery</li>
    <li>Video</li>
    <li><a href="http://www.lightninghammer.com/cms">and more…</a></li>
</ul>
<p>So what are you waiting for? Sign up for your <strong>FREE</strong> site today!! This is not a trial, there are no hidden costs. Don’t believe us; <a href="http://www.lightninghammer.com/cms#pricing">view our pricing</a>.</p>
<p>Click here to sign up for your free website today: <a href="http://www.lightninghammer.com/cms/signup">http://www.lightninghammer.com/cms/signup</a></p>]]></description><itunes:summary>We have just launched a new Template Gallery to showcase all of our FREE LightningCMS template. There are 45 FREE templates to choose from. Click here to view the entire gallery.
Please welcome the two newest additions of the template gallery:
Efficiency – Deft
 
Efficiency – Reverie
 

As well as the Template Gallery, we have also added a new online signup form so you can get started with LightningCMS in 3 easy steps. 
Our FREE LightningCMS sites feature:

    3 Content Pages
    Blog (blog pages DO NOT count towards your 3 page limit).
    Calendar
    Photo Gallery
    Video
    and more…

So what are you waiting for? Sign up for your FREE site today!! This is not a trial, there are no hidden costs. Don’t believe us; view our pricing.
Click here to sign up for your free website today: http://www.lightninghammer.com/cms/signup</itunes:summary><content:encoded><![CDATA[<p>We have just launched a new Template Gallery to showcase all of our <strong>FREE</strong> LightningCMS template. There are 45 <strong>FREE</strong> templates to choose from. <a href="http://www.lightninghammer.com/cms#templates">Click here to view the entire gallery</a>.</p>
<p>Please welcome the two newest additions of the template gallery:</p>
<p><strong>Efficiency – Deft</strong></p>
<p><a href="http://www.lightninghammer.com/websites/lightninghammer/images/blog/Efficiency-Deft.png"><img width="556" height="418" style="border: 0px none; display: inline;" title="Efficiency-Deft" alt="Efficiency-Deft" src="http://www.lightninghammer.com/websites/lightninghammer/images/blog/Efficiency-Deft_thumb.png" /></a> </p>
<p><strong>Efficiency – Reverie</strong></p>
<p><a href="http://www.lightninghammer.com/websites/lightninghammer/images/blog/Efficiency-Reverie.png"><img width="556" height="418" style="border: 0px none; display: inline;" title="Efficiency-Reverie" alt="Efficiency-Reverie" src="http://www.lightninghammer.com/websites/lightninghammer/images/blog/Efficiency-Reverie_thumb.png" /></a> </p>
<p></p>
<p>As well as the <a href="http://www.lightninghammer.com/cms#templates">Template Gallery</a>, we have also added a new <a href="http://www.lightninghammer.com/cms/signup">online signup form</a> so you can get started with LightningCMS in 3 easy steps. </p>
<p>Our <strong>FREE</strong> LightningCMS sites feature:</p>
<ul>
    <li>3 Content Pages</li>
    <li>Blog (blog pages DO NOT count towards your 3 page limit).</li>
    <li>Calendar</li>
    <li>Photo Gallery</li>
    <li>Video</li>
    <li><a href="http://www.lightninghammer.com/cms">and more…</a></li>
</ul>
<p>So what are you waiting for? Sign up for your <strong>FREE</strong> site today!! This is not a trial, there are no hidden costs. Don’t believe us; <a href="http://www.lightninghammer.com/cms#pricing">view our pricing</a>.</p>
<p>Click here to sign up for your free website today: <a href="http://www.lightninghammer.com/cms/signup">http://www.lightninghammer.com/cms/signup</a></p>]]></content:encoded><guid>http://www.lightninghammer.com/new-template-gallery-and-sign-up-form</guid></item><item><title>Spooky Times...</title><link>http://www.lightninghammer.com/spooky-times</link><pubDate>Mon, 07 Jun 2010 19:22:56 GMT</pubDate><itunes:author /><dc:creator>Keith Storm</dc:creator><description><![CDATA[<p>Halloween is approaching fast and we wanted to show some spirit for the holiday and the upcoming holiday season, so we gave our site a frightening facelift. The site has a new halloween themed background, but we decided to step it up a notch and make the theme update with the time of day. Stop by the site throughout the day and night to see if you can catch all the themes.</p>
<p>But if you don't feel like waiting, check out the pics and links below to view the new themes:</p>
<h3>Dawn</h3>
<p><a href="http://www.lightninghammer.com/websites/lightninghammer/images/blog/lh_halloween_dawn.png"></a><a href="http://www.lightninghammer.com/?holiday=halloween&tod=dawn" target="_blank"><img width="570" height="269" style="border-width: 0px; display: inline; border-style: solid;" title="lh_halloween_dawn" src="http://www.lightninghammer.com/websites/lightninghammer/images/blog/lh_halloween_dawn_1.png" alt="lh_halloween_dawn" /></a></p>
<h3>Day</h3>
<p><a href="http://www.lightninghammer.com/?holiday=halloween&tod=day"><img width="570" height="268" style="border-width: 0px; display: inline; border-style: solid;" title="lh_halloween_day" src="http://www.lightninghammer.com/websites/lightninghammer/images/blog/lh_halloween_day.png" alt="lh_halloween_day" /></a></p>
<h3>Dusk</h3>
<p><a href="http://www.lightninghammer.com/?holiday=halloween&tod=dusk"><img width="570" height="268" style="border-width: 0px; display: inline; border-style: solid;" title="lh_halloween_dusk" src="http://www.lightninghammer.com/websites/lightninghammer/images/blog/lh_halloween_dusk.png" alt="lh_halloween_dusk" /></a></p>
<h3>Night</h3>
<p><a href="http://www.lightninghammer.com/?holiday=halloween&tod=night"><img width="570" height="268" style="border-width: 0px; display: inline; border-style: solid;" title="lh_halloween_night" src="http://www.lightninghammer.com/websites/lightninghammer/images/blog/lh_halloween_night.png" alt="lh_halloween_night" /></a></p>
<h3>Midnight</h3>
<p><a href="http://www.lightninghammer.com/?holiday=halloween&tod=midnight"><img width="570" height="268" style="border-width: 0px; display: inline; border-style: solid;" title="lh_halloween_mid'night" src="http://www.lightninghammer.com/websites/lightninghammer/images/blog/lh_halloween_mid'night.png" alt="lh_halloween_mid'night" /></a></p>
<p>Like what you see? Want to integrate a time of day theme into your website? <a href="http://blog.lightninghammer.com/contact.aspx">Contact Us</a> to see what we can do for you.</p>]]></description><itunes:summary>Halloween is approaching fast and we wanted to show some spirit for the holiday and the upcoming holiday season, so we gave our site a frightening facelift. The site has a new halloween themed background, but we decided to step it up a notch and make the theme update with the time of day. Stop by the site throughout the day and night to see if you can catch all the themes.
But if you don't feel like waiting, check out the pics and links below to view the new themes:
Dawn

Day

Dusk

Night

Midnight

Like what you see? Want to integrate a time of day theme into your website? Contact Us to see what we can do for you.</itunes:summary><content:encoded><![CDATA[<p>Halloween is approaching fast and we wanted to show some spirit for the holiday and the upcoming holiday season, so we gave our site a frightening facelift. The site has a new halloween themed background, but we decided to step it up a notch and make the theme update with the time of day. Stop by the site throughout the day and night to see if you can catch all the themes.</p>
<p>But if you don't feel like waiting, check out the pics and links below to view the new themes:</p>
<h3>Dawn</h3>
<p><a href="http://www.lightninghammer.com/websites/lightninghammer/images/blog/lh_halloween_dawn.png"></a><a href="http://www.lightninghammer.com/?holiday=halloween&tod=dawn" target="_blank"><img width="570" height="269" style="border-width: 0px; display: inline; border-style: solid;" title="lh_halloween_dawn" src="http://www.lightninghammer.com/websites/lightninghammer/images/blog/lh_halloween_dawn_1.png" alt="lh_halloween_dawn" /></a></p>
<h3>Day</h3>
<p><a href="http://www.lightninghammer.com/?holiday=halloween&tod=day"><img width="570" height="268" style="border-width: 0px; display: inline; border-style: solid;" title="lh_halloween_day" src="http://www.lightninghammer.com/websites/lightninghammer/images/blog/lh_halloween_day.png" alt="lh_halloween_day" /></a></p>
<h3>Dusk</h3>
<p><a href="http://www.lightninghammer.com/?holiday=halloween&tod=dusk"><img width="570" height="268" style="border-width: 0px; display: inline; border-style: solid;" title="lh_halloween_dusk" src="http://www.lightninghammer.com/websites/lightninghammer/images/blog/lh_halloween_dusk.png" alt="lh_halloween_dusk" /></a></p>
<h3>Night</h3>
<p><a href="http://www.lightninghammer.com/?holiday=halloween&tod=night"><img width="570" height="268" style="border-width: 0px; display: inline; border-style: solid;" title="lh_halloween_night" src="http://www.lightninghammer.com/websites/lightninghammer/images/blog/lh_halloween_night.png" alt="lh_halloween_night" /></a></p>
<h3>Midnight</h3>
<p><a href="http://www.lightninghammer.com/?holiday=halloween&tod=midnight"><img width="570" height="268" style="border-width: 0px; display: inline; border-style: solid;" title="lh_halloween_mid'night" src="http://www.lightninghammer.com/websites/lightninghammer/images/blog/lh_halloween_mid'night.png" alt="lh_halloween_mid'night" /></a></p>
<p>Like what you see? Want to integrate a time of day theme into your website? <a href="http://blog.lightninghammer.com/contact.aspx">Contact Us</a> to see what we can do for you.</p>]]></content:encoded><guid>http://www.lightninghammer.com/spooky-times</guid></item><item><title>Taking it to the streets with GreasyBlocks.com</title><link>http://www.lightninghammer.com/taking-it-to-the-streets-with-greasyblockscom</link><pubDate>Mon, 07 Jun 2010 19:23:45 GMT</pubDate><itunes:author /><dc:creator>Keith Storm</dc:creator><description><![CDATA[<p>Back in my high school years I was an avid car enthusiast; especially when it came to fast cars and racing. Needless to say, I was extremely excited when I was approached by and old friend, Ben Howard, to hear out his idea for a new online automotive magazine. He wanted to do something none of the other magazines are doing; feature the cars that are not getting the attention they deserve. From July to August, Ben and I had several brainstorming sessions, and in early September it was time to get down to business.</p>
<p>I must have researched 50 different competitors trying to see what we could do to set GreasyBlocks.com apart from the rest. Ben showed us his idea for the logo design and a light bulb went off in our heads. The development team at LightningHammer knew exactly what to do. We kept everything behind closed doors; giving Ben just enough teasers to let him know we were creating something unlike any other automotive magazine on the market.</p>
<p>The day finally came to send Ben the screenshot of his new magazine. I was quite nervous not knowing what Ben’s reaction would be. I sent him the screenshot through instant messenger and eagerly awaited his reply.</p>
<p><a href="http://www.lightninghammer.com/websites/lightninghammer/images/blog/placement.jpg"><img width="242" height="182" style="border-width: 0px; display: inline; border-style: solid;" title="Screenshot" src="http://www.lightninghammer.com/websites/lightninghammer/images/blog/placement_thumb.jpg" alt="Screenshot" /></a></p>
<p>After a few moments the reply came through: “OMGFG{!FLJSHWM]ZCXC!!!!!!!!”</p>
<p>I didn’t know what to think. Did he like it? Did he hate it? The fact was that he LOVED IT. It was so far beyond his expectations that he was momentarily speechless. We had succeeded at our goal. The next step was to take this picture and convert it to something that works on the web.</p>
<p>Being proficient in CSS techniques is a big plus when it comes to piecing together a website with this much design detail. We worked away putting all the pieces together before handing it over to Ben so he could begin writing. Social networking played a huge part in the marketing and anticipation of this site. Through facebook, flickr, and various automotive forums the anticipation of the site launch was through the roof.</p>
<p>The site launched at 11:00 PM EST on Monday, September 21st and it was an instant hit. Everyone that viewed the site raved about the design and applauded Ben’s determination. We expect to have a long and mutually beneficial relationship with Ben and GreasyBlocks.com. GreasyBlocks.com has something for every automotive enthusiast; imports, domestics, euros, you name it.</p>
<p>Some of the site features include:</p>
<ul>
    <li>CMS (Content Management System) </li>
    <li>Flickr Integration </li>
    <li>Partner / Sponsorship / Advertising Management </li>
</ul>
<p>Stop by the site at <a href="http://www.greasyblocks.com">www.greasyblocks.com</a> and let us know what you think.</p>
<p><a href="http://www.lightninghammer.com/websites/lightninghammer/images/blog/greasyblocks_large.jpg"><img width="485" height="482" style="border-width: 0px; display: inline; border-style: solid;" title="greasyblocks_large" src="http://www.lightninghammer.com/websites/lightninghammer/images/blog/greasyblocks_large_thumb.jpg" alt="greasyblocks_large" /></a></p>
<p>Interested in the development process of this site? Stay tuned to our blog. We will have some “Making of” posts coming soon.</p>]]></description><itunes:summary>Back in my high school years I was an avid car enthusiast; especially when it came to fast cars and racing. Needless to say, I was extremely excited when I was approached by and old friend, Ben Howard, to hear out his idea for a new online automotive magazine. He wanted to do something none of the other magazines are doing; feature the cars that are not getting the attention they deserve. From July to August, Ben and I had several brainstorming sessions, and in early September it was time to get down to business.
I must have researched 50 different competitors trying to see what we could do to set GreasyBlocks.com apart from the rest. Ben showed us his idea for the logo design and a light bulb went off in our heads. The development team at LightningHammer knew exactly what to do. We kept everything behind closed doors; giving Ben just enough teasers to let him know we were creating something unlike any other automotive magazine on the market.
The day finally came to send Ben the screenshot of his new magazine. I was quite nervous not knowing what Ben’s reaction would be. I sent him the screenshot through instant messenger and eagerly awaited his reply.

After a few moments the reply came through: “OMGFG{!FLJSHWM]ZCXC!!!!!!!!”
I didn’t know what to think. Did he like it? Did he hate it? The fact was that he LOVED IT. It was so far beyond his expectations that he was momentarily speechless. We had succeeded at our goal. The next step was to take this picture and convert it to something that works on the web.
Being proficient in CSS techniques is a big plus when it comes to piecing together a website with this much design detail. We worked away putting all the pieces together before handing it over to Ben so he could begin writing. Social networking played a huge part in the marketing and anticipation of this site. Through facebook, flickr, and various automotive forums the anticipation of the site launch was through the roof.
The site launched at 11:00 PM EST on Monday, September 21st and it was an instant hit. Everyone that viewed the site raved about the design and applauded Ben’s determination. We expect to have a long and mutually beneficial relationship with Ben and GreasyBlocks.com. GreasyBlocks.com has something for every automotive enthusiast; imports, domestics, euros, you name it.
Some of the site features include:

    CMS (Content Management System) 
    Flickr Integration 
    Partner / Sponsorship / Advertising Management 

Stop by the site at www.greasyblocks.com and let us know what you think.

Interested in the development process of this site? Stay tuned to our blog. We will have some “Making of” posts coming soon.</itunes:summary><content:encoded><![CDATA[<p>Back in my high school years I was an avid car enthusiast; especially when it came to fast cars and racing. Needless to say, I was extremely excited when I was approached by and old friend, Ben Howard, to hear out his idea for a new online automotive magazine. He wanted to do something none of the other magazines are doing; feature the cars that are not getting the attention they deserve. From July to August, Ben and I had several brainstorming sessions, and in early September it was time to get down to business.</p>
<p>I must have researched 50 different competitors trying to see what we could do to set GreasyBlocks.com apart from the rest. Ben showed us his idea for the logo design and a light bulb went off in our heads. The development team at LightningHammer knew exactly what to do. We kept everything behind closed doors; giving Ben just enough teasers to let him know we were creating something unlike any other automotive magazine on the market.</p>
<p>The day finally came to send Ben the screenshot of his new magazine. I was quite nervous not knowing what Ben’s reaction would be. I sent him the screenshot through instant messenger and eagerly awaited his reply.</p>
<p><a href="http://www.lightninghammer.com/websites/lightninghammer/images/blog/placement.jpg"><img width="242" height="182" style="border-width: 0px; display: inline; border-style: solid;" title="Screenshot" src="http://www.lightninghammer.com/websites/lightninghammer/images/blog/placement_thumb.jpg" alt="Screenshot" /></a></p>
<p>After a few moments the reply came through: “OMGFG{!FLJSHWM]ZCXC!!!!!!!!”</p>
<p>I didn’t know what to think. Did he like it? Did he hate it? The fact was that he LOVED IT. It was so far beyond his expectations that he was momentarily speechless. We had succeeded at our goal. The next step was to take this picture and convert it to something that works on the web.</p>
<p>Being proficient in CSS techniques is a big plus when it comes to piecing together a website with this much design detail. We worked away putting all the pieces together before handing it over to Ben so he could begin writing. Social networking played a huge part in the marketing and anticipation of this site. Through facebook, flickr, and various automotive forums the anticipation of the site launch was through the roof.</p>
<p>The site launched at 11:00 PM EST on Monday, September 21st and it was an instant hit. Everyone that viewed the site raved about the design and applauded Ben’s determination. We expect to have a long and mutually beneficial relationship with Ben and GreasyBlocks.com. GreasyBlocks.com has something for every automotive enthusiast; imports, domestics, euros, you name it.</p>
<p>Some of the site features include:</p>
<ul>
    <li>CMS (Content Management System) </li>
    <li>Flickr Integration </li>
    <li>Partner / Sponsorship / Advertising Management </li>
</ul>
<p>Stop by the site at <a href="http://www.greasyblocks.com">www.greasyblocks.com</a> and let us know what you think.</p>
<p><a href="http://www.lightninghammer.com/websites/lightninghammer/images/blog/greasyblocks_large.jpg"><img width="485" height="482" style="border-width: 0px; display: inline; border-style: solid;" title="greasyblocks_large" src="http://www.lightninghammer.com/websites/lightninghammer/images/blog/greasyblocks_large_thumb.jpg" alt="greasyblocks_large" /></a></p>
<p>Interested in the development process of this site? Stay tuned to our blog. We will have some “Making of” posts coming soon.</p>]]></content:encoded><guid>http://www.lightninghammer.com/taking-it-to-the-streets-with-greasyblockscom</guid></item><item><title>Fountain Inn Civic Center site launch</title><link>http://www.lightninghammer.com/fountain-inn-civic-center-site-launch</link><pubDate>Mon, 07 Jun 2010 19:24:28 GMT</pubDate><itunes:author /><dc:creator>Keith Storm</dc:creator><description><![CDATA[<p style="text-align: center;"><a href="http://www.lightninghammer.com/websites/lightninghammer/images/blog/ficc_med_1.jpg"><img width="500" height="358" title="ficc_med" style="border-width: 0px; display: inline; border-style: solid;" alt="ficc_med" src="http://www.lightninghammer.com/websites/lightninghammer/images/blog/ficc_med_thumb_1.jpg" /></a> </p>
<p>We are excited to announce the launch of <a href="http://www.ficiviccenter.org" target="_blank">FICivicCenter.org</a>. The website is powered by <a href="http://www.lightninghammer.com/cms">LightningCMS</a> and boasts several usability features. Through the <a href="http://www.ficiviccenter.org" target="_blank">FICivicCenter.org</a> website, users can view the latest upcoming events, order tickets, view videos, and connect through social networks like facebook and twitter. </p>
<p>The dynamic website invites people of all ages to come out and see what the Fountain Inn Civic Center has to offer. See you there!</p>]]></description><itunes:summary> 
We are excited to announce the launch of FICivicCenter.org. The website is powered by LightningCMS and boasts several usability features. Through the FICivicCenter.org website, users can view the latest upcoming events, order tickets, view videos, and connect through social networks like facebook and twitter. 
The dynamic website invites people of all ages to come out and see what the Fountain Inn Civic Center has to offer. See you there!</itunes:summary><content:encoded><![CDATA[<p style="text-align: center;"><a href="http://www.lightninghammer.com/websites/lightninghammer/images/blog/ficc_med_1.jpg"><img width="500" height="358" title="ficc_med" style="border-width: 0px; display: inline; border-style: solid;" alt="ficc_med" src="http://www.lightninghammer.com/websites/lightninghammer/images/blog/ficc_med_thumb_1.jpg" /></a> </p>
<p>We are excited to announce the launch of <a href="http://www.ficiviccenter.org" target="_blank">FICivicCenter.org</a>. The website is powered by <a href="http://www.lightninghammer.com/cms">LightningCMS</a> and boasts several usability features. Through the <a href="http://www.ficiviccenter.org" target="_blank">FICivicCenter.org</a> website, users can view the latest upcoming events, order tickets, view videos, and connect through social networks like facebook and twitter. </p>
<p>The dynamic website invites people of all ages to come out and see what the Fountain Inn Civic Center has to offer. See you there!</p>]]></content:encoded><guid>http://www.lightninghammer.com/fountain-inn-civic-center-site-launch</guid></item><item><title>Fast CSS Rollover Images with CSS Sprites</title><link>http://www.lightninghammer.com/fast-css-rollover-images-with-css-sprites</link><pubDate>Mon, 07 Jun 2010 19:25:28 GMT</pubDate><itunes:author /><dc:creator>Keith Storm</dc:creator><description><![CDATA[<h3>What is a CSS Sprite?</h3>
<p>The term "CSS sprite" isn't exactly self-explanatory, but it is something every web developer should become acquainted with. A CSS sprite is a method of combining several images into a single image. Below is an example of a CSS sprite: </p>
<p><a href="http://www.lightninghammer.com/websites/lightninghammer/images/blog/slidebuttongrid.jpg"><img width="480" height="254" title="slidebuttongrid" style="border-width: 0px; display: inline; border-style: solid;" alt="slidebuttongrid" src="http://www.lightninghammer.com/websites/lightninghammer/images/blog/slidebuttongrid_thumb.jpg" /></a> </p>
<h3>Why you should use CSS Sprites?</h3>
<p>One word explains it all: speed. If the image above was sliced into 6 separate images, your web browser would have to make 6 separate HTTP requests. The more HTTP requests the browser has to make, the slower the website will load. The browser may have to download a larger file, but there is only one round trip to the server for all 6 images. This technique is very useful to load an entire icon set for your website. </p>
<h3>Implementation</h3>
<p>Now let’s get our hands dirty. We are going to use our sprite from above, an html unordered list for placement, and some simple CSS to move the image around.</p>
<p><strong>The (X)HTML</strong></p>
<div id="codeSnippetWrapper" style="border: 1px solid silver; padding: 4px; font-size: 8pt; margin: 20px 0px 10px; overflow: auto; width: 97.5%; cursor: text; direction: ltr; max-height: 200px; line-height: 12pt; font-family: 'courier new',courier,monospace; background-color: #f4f4f4; text-align: left;">
<div id="codeSnippet" style="padding: 0px; font-size: 8pt; overflow: visible; width: 100%; color: black; direction: ltr; border-style: none; line-height: 12pt; font-family: 'courier new',courier,monospace; background-color: #f4f4f4; text-align: left;">
<pre style="padding: 0px; font-size: 8pt; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-style: none; line-height: 12pt; font-family: 'courier new',courier,monospace; background-color: white; text-align: left;"><span id="lnum1" style="color: #606060;">   1:</span> <span style="color: #006080;"><</span><span style="color: #0000ff;">ul</span> id="<span style="color: #0000ff;">menu</span>"<span style="color: #006080;">></span></pre>
<!--CRLF-->
<pre style="padding: 0px; font-size: 8pt; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-style: none; line-height: 12pt; font-family: 'courier new',courier,monospace; background-color: #f4f4f4; text-align: left;"><span id="lnum2" style="color: #606060;">   2:</span>     <span style="color: #006080;"><</span><span style="color: #0000ff;">li</span><span style="color: #006080;">></span><span style="color: #006080;"><</span>a class="cms" href="#"<span style="color: #006080;">></span>Content Manager<span style="color: #006080;"><</span>/a<span style="color: #006080;">></span><span style="color: #006080;"><</span>/<span style="color: #0000ff;">li</span><span style="color: #006080;">></span></pre>
<!--CRLF-->
<pre style="padding: 0px; font-size: 8pt; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-style: none; line-height: 12pt; font-family: 'courier new',courier,monospace; background-color: white; text-align: left;"><span id="lnum3" style="color: #606060;">   3:</span>     <span style="color: #006080;"><</span><span style="color: #0000ff;">li</span><span style="color: #006080;">></span><span style="color: #006080;"><</span>a class="modules" href="#"<span style="color: #006080;">></span>Plug-in Modules<span style="color: #006080;"><</span>/a<span style="color: #006080;">></span><span style="color: #006080;"><</span>/<span style="color: #0000ff;">li</span><span style="color: #006080;">></span></pre>
<!--CRLF-->
<pre style="padding: 0px; font-size: 8pt; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-style: none; line-height: 12pt; font-family: 'courier new',courier,monospace; background-color: #f4f4f4; text-align: left;"><span id="lnum4" style="color: #606060;">   4:</span>     <span style="color: #006080;"><</span><span style="color: #0000ff;">li</span><span style="color: #006080;">></span><span style="color: #006080;"><</span>a class="framework" href="#"<span style="color: #006080;">></span><span style="color: #cc6633;">.Net</span> Framework<span style="color: #006080;"><</span>/a<span style="color: #006080;">></span><span style="color: #006080;"><</span>/<span style="color: #0000ff;">li</span><span style="color: #006080;">></span></pre>
<!--CRLF-->
<pre style="padding: 0px; font-size: 8pt; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-style: none; line-height: 12pt; font-family: 'courier new',courier,monospace; background-color: white; text-align: left;"><span id="lnum5" style="color: #606060;">   5:</span> <span style="color: #006080;"><</span>/<span style="color: #0000ff;">ul</span><span style="color: #006080;">></span></pre>
<!--CRLF--></div>
</div>
<p></p>
<p>By default an unordered list will be displayed vertically, so we want to do some CSS to position them horizontally:</p>
<div id="codeSnippetWrapper" style="border: 1px solid silver; padding: 4px; font-size: 8pt; margin: 20px 0px 10px; overflow: auto; width: 97.5%; cursor: text; direction: ltr; max-height: 200px; line-height: 12pt; font-family: 'courier new',courier,monospace; background-color: #f4f4f4; text-align: left;">
<div id="codeSnippet" style="padding: 0px; font-size: 8pt; overflow: visible; width: 100%; color: black; direction: ltr; border-style: none; line-height: 12pt; font-family: 'courier new',courier,monospace; background-color: #f4f4f4; text-align: left;">
<pre style="padding: 0px; font-size: 8pt; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-style: none; line-height: 12pt; font-family: 'courier new',courier,monospace; background-color: white; text-align: left;"><span id="lnum1" style="color: #606060;">   1:</span> #<span style="color: #0000ff;">menu</span>{</pre>
<!--CRLF-->
<pre style="padding: 0px; font-size: 8pt; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-style: none; line-height: 12pt; font-family: 'courier new',courier,monospace; background-color: #f4f4f4; text-align: left;"><span id="lnum2" style="color: #606060;">   2:</span>     <span style="color: #0000ff;">width</span>: <span style="color: #006080;">480px;</span></pre>
<!--CRLF-->
<pre style="padding: 0px; font-size: 8pt; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-style: none; line-height: 12pt; font-family: 'courier new',courier,monospace; background-color: white; text-align: left;"><span id="lnum3" style="color: #606060;">   3:</span>     <span style="color: #0000ff;">height</span>: <span style="color: #006080;">127px;</span></pre>
<!--CRLF-->
<pre style="padding: 0px; font-size: 8pt; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-style: none; line-height: 12pt; font-family: 'courier new',courier,monospace; background-color: #f4f4f4; text-align: left;"><span id="lnum4" style="color: #606060;">   4:</span>     <span style="color: #0000ff;">margin</span>: <span style="color: #006080;">0px;</span></pre>
<!--CRLF-->
<pre style="padding: 0px; font-size: 8pt; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-style: none; line-height: 12pt; font-family: 'courier new',courier,monospace; background-color: white; text-align: left;"><span id="lnum5" style="color: #606060;">   5:</span>     <span style="color: #0000ff;">padding</span>: <span style="color: #006080;">0px;</span></pre>
<!--CRLF-->
<pre style="padding: 0px; font-size: 8pt; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-style: none; line-height: 12pt; font-family: 'courier new',courier,monospace; background-color: #f4f4f4; text-align: left;"><span id="lnum6" style="color: #606060;">   6:</span>     <span style="color: #0000ff;">list-style</span>: <span style="color: #006080;">none;</span></pre>
<!--CRLF-->
<pre style="padding: 0px; font-size: 8pt; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-style: none; line-height: 12pt; font-family: 'courier new',courier,monospace; background-color: white; text-align: left;"><span id="lnum7" style="color: #606060;">   7:</span> }</pre>
<!--CRLF-->
<pre style="padding: 0px; font-size: 8pt; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-style: none; line-height: 12pt; font-family: 'courier new',courier,monospace; background-color: #f4f4f4; text-align: left;"><span id="lnum8" style="color: #606060;">   8:</span>  </pre>
<!--CRLF-->
<pre style="padding: 0px; font-size: 8pt; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-style: none; line-height: 12pt; font-family: 'courier new',courier,monospace; background-color: white; text-align: left;"><span id="lnum9" style="color: #606060;">   9:</span> #<span style="color: #0000ff;">menu</span> <span style="color: #0000ff;">li</span>{</pre>
<!--CRLF-->
<pre style="padding: 0px; font-size: 8pt; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-style: none; line-height: 12pt; font-family: 'courier new',courier,monospace; background-color: #f4f4f4; text-align: left;"><span id="lnum10" style="color: #606060;">  10:</span>     <span style="color: #0000ff;">width</span>: <span style="color: #006080;">160px;</span></pre>
<!--CRLF-->
<pre style="padding: 0px; font-size: 8pt; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-style: none; line-height: 12pt; font-family: 'courier new',courier,monospace; background-color: white; text-align: left;"><span id="lnum11" style="color: #606060;">  11:</span>     <span style="color: #0000ff;">height</span>: <span style="color: #006080;">127px;</span></pre>
<!--CRLF-->
<pre style="padding: 0px; font-size: 8pt; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-style: none; line-height: 12pt; font-family: 'courier new',courier,monospace; background-color: #f4f4f4; text-align: left;"><span id="lnum12" style="color: #606060;">  12:</span>     <span style="color: #0000ff;">float</span>: <span style="color: #006080;">left;</span></pre>
<!--CRLF-->
<pre style="padding: 0px; font-size: 8pt; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-style: none; line-height: 12pt; font-family: 'courier new',courier,monospace; background-color: white; text-align: left;"><span id="lnum13" style="color: #606060;">  13:</span> }</pre>
<!--CRLF--></div>
</div>
<p>The unordered list was set to 480 pixels wide. This is the width of the entire sprite so that all icons will display on the same line. We could have set the unordered list to 320 pixels wide and the 3rd remaining icon would have appeared beneath the first two icons. The list items are set to float:left; this makes the items scroll horizontally instead of vertically or in “block” mode.</p>
<p>Now we will set the CSS that adds the sprite to the background of our hyperlinks:</p>
<div id="codeSnippetWrapper" style="border: 1px solid silver; padding: 4px; font-size: 8pt; margin: 20px 0px 10px; overflow: auto; width: 97.5%; cursor: text; direction: ltr; max-height: 200px; line-height: 12pt; font-family: 'courier new',courier,monospace; background-color: #f4f4f4; text-align: left;">
<div id="codeSnippet" style="padding: 0px; font-size: 8pt; overflow: visible; width: 100%; color: black; direction: ltr; border-style: none; line-height: 12pt; font-family: 'courier new',courier,monospace; background-color: #f4f4f4; text-align: left;">
<pre style="padding: 0px; font-size: 8pt; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-style: none; line-height: 12pt; font-family: 'courier new',courier,monospace; background-color: white; text-align: left;"><span id="lnum1" style="color: #606060;">   1:</span> #<span style="color: #0000ff;">menu</span> <span style="color: #0000ff;">li</span> a{</pre>
<!--CRLF-->
<pre style="padding: 0px; font-size: 8pt; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-style: none; line-height: 12pt; font-family: 'courier new',courier,monospace; background-color: #f4f4f4; text-align: left;"><span id="lnum2" style="color: #606060;">   2:</span>     <span style="color: #0000ff;">display</span>: <span style="color: #006080;">block;</span></pre>
<!--CRLF-->
<pre style="padding: 0px; font-size: 8pt; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-style: none; line-height: 12pt; font-family: 'courier new',courier,monospace; background-color: white; text-align: left;"><span id="lnum3" style="color: #606060;">   3:</span>     <span style="color: #0000ff;">width</span>: <span style="color: #006080;">160px;</span></pre>
<!--CRLF-->
<pre style="padding: 0px; font-size: 8pt; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-style: none; line-height: 12pt; font-family: 'courier new',courier,monospace; background-color: #f4f4f4; text-align: left;"><span id="lnum4" style="color: #606060;">   4:</span>     <span style="color: #0000ff;">height</span>: <span style="color: #006080;">127px;</span></pre>
<!--CRLF-->
<pre style="padding: 0px; font-size: 8pt; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-style: none; line-height: 12pt; font-family: 'courier new',courier,monospace; background-color: white; text-align: left;"><span id="lnum5" style="color: #606060;">   5:</span>     <span style="color: #0000ff;">overflow</span>:<span style="color: #006080;">hidden;</span></pre>
<!--CRLF-->
<pre style="padding: 0px; font-size: 8pt; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-style: none; line-height: 12pt; font-family: 'courier new',courier,monospace; background-color: #f4f4f4; text-align: left;"><span id="lnum6" style="color: #606060;">   6:</span>     <span style="color: #0000ff;">text-indent</span>: <span style="color: #006080;">-999px;</span></pre>
<!--CRLF-->
<pre style="padding: 0px; font-size: 8pt; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-style: none; line-height: 12pt; font-family: 'courier new',courier,monospace; background-color: white; text-align: left;"><span id="lnum7" style="color: #606060;">   7:</span>     <span style="color: #0000ff;">background</span>: url(images/slidebuttongrid<span style="color: #cc6633;">.jpg</span><span style="color: #006080;">) 0px 0px;</span></pre>
<!--CRLF-->
<pre style="padding: 0px; font-size: 8pt; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-style: none; line-height: 12pt; font-family: 'courier new',courier,monospace; background-color: #f4f4f4; text-align: left;"><span id="lnum8" style="color: #606060;">   8:</span> }</pre>
<!--CRLF-->
<pre style="padding: 0px; font-size: 8pt; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-style: none; line-height: 12pt; font-family: 'courier new',courier,monospace; background-color: white; text-align: left;"><span id="lnum9" style="color: #606060;">   9:</span>  </pre>
<!--CRLF-->
<pre style="padding: 0px; font-size: 8pt; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-style: none; line-height: 12pt; font-family: 'courier new',courier,monospace; background-color: #f4f4f4; text-align: left;"><span id="lnum10" style="color: #606060;">  10:</span> #<span style="color: #0000ff;">menu</span> <span style="color: #0000ff;">li</span> a<span style="color: #cc6633;">.cms</span>{</pre>
<!--CRLF-->
<pre style="padding: 0px; font-size: 8pt; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-style: none; line-height: 12pt; font-family: 'courier new',courier,monospace; background-color: white; text-align: left;"><span id="lnum11" style="color: #606060;">  11:</span>     <span style="color: #0000ff;">background-position</span>: <span style="color: #006080;">0px 0px;</span></pre>
<!--CRLF-->
<pre style="padding: 0px; font-size: 8pt; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-style: none; line-height: 12pt; font-family: 'courier new',courier,monospace; background-color: #f4f4f4; text-align: left;"><span id="lnum12" style="color: #606060;">  12:</span> }</pre>
<!--CRLF-->
<pre style="padding: 0px; font-size: 8pt; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-style: none; line-height: 12pt; font-family: 'courier new',courier,monospace; background-color: white; text-align: left;"><span id="lnum13" style="color: #606060;">  13:</span>  </pre>
<!--CRLF-->
<pre style="padding: 0px; font-size: 8pt; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-style: none; line-height: 12pt; font-family: 'courier new',courier,monospace; background-color: #f4f4f4; text-align: left;"><span id="lnum14" style="color: #606060;">  14:</span> #<span style="color: #0000ff;">menu</span> <span style="color: #0000ff;">li</span> a<span style="color: #cc6633;">.modules</span>{</pre>
<!--CRLF-->
<pre style="padding: 0px; font-size: 8pt; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-style: none; line-height: 12pt; font-family: 'courier new',courier,monospace; background-color: white; text-align: left;"><span id="lnum15" style="color: #606060;">  15:</span>     <span style="color: #0000ff;">background-position</span>: <span style="color: #006080;">-160px 0px;</span></pre>
<!--CRLF-->
<pre style="padding: 0px; font-size: 8pt; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-style: none; line-height: 12pt; font-family: 'courier new',courier,monospace; background-color: #f4f4f4; text-align: left;"><span id="lnum16" style="color: #606060;">  16:</span> }</pre>
<!--CRLF-->
<pre style="padding: 0px; font-size: 8pt; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-style: none; line-height: 12pt; font-family: 'courier new',courier,monospace; background-color: white; text-align: left;"><span id="lnum17" style="color: #606060;">  17:</span>  </pre>
<!--CRLF-->
<pre style="padding: 0px; font-size: 8pt; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-style: none; line-height: 12pt; font-family: 'courier new',courier,monospace; background-color: #f4f4f4; text-align: left;"><span id="lnum18" style="color: #606060;">  18:</span> #<span style="color: #0000ff;">menu</span> <span style="color: #0000ff;">li</span> a<span style="color: #cc6633;">.framework</span>{</pre>
<!--CRLF-->
<pre style="padding: 0px; font-size: 8pt; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-style: none; line-height: 12pt; font-family: 'courier new',courier,monospace; background-color: white; text-align: left;"><span id="lnum19" style="color: #606060;">  19:</span>     <span style="color: #0000ff;">background-position</span>: <span style="color: #006080;">-320px 0px;</span></pre>
<!--CRLF-->
<pre style="padding: 0px; font-size: 8pt; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-style: none; line-height: 12pt; font-family: 'courier new',courier,monospace; background-color: #f4f4f4; text-align: left;"><span id="lnum20" style="color: #606060;">  20:</span> }</pre>
<!--CRLF--></div>
</div>
<p>We have set all the anchors (<a>) for the unordered list with the same properties and background sprite. Then we individually set the background position for each menu item. The negative background position causes the background image to start displaying the background sprite at 160 pixels from the left boundary of the sprite. Since each anchor is set to a fixed width and height only the portion of the sprite we want to display will be shown. </p>
<p>Finally, we want this to be a rollover menu, so we are going to add :hover classes to the anchors:</p>
<div id="codeSnippetWrapper" style="border: 1px solid silver; padding: 4px; font-size: 8pt; margin: 20px 0px 10px; overflow: auto; width: 97.5%; cursor: text; direction: ltr; max-height: 200px; line-height: 12pt; font-family: 'courier new',courier,monospace; background-color: #f4f4f4; text-align: left;">
<div id="codeSnippet" style="padding: 0px; font-size: 8pt; overflow: visible; width: 100%; color: black; direction: ltr; border-style: none; line-height: 12pt; font-family: 'courier new',courier,monospace; background-color: #f4f4f4; text-align: left;">
<pre style="padding: 0px; font-size: 8pt; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-style: none; line-height: 12pt; font-family: 'courier new',courier,monospace; background-color: white; text-align: left;"><span id="lnum1" style="color: #606060;">   1:</span> a<span style="color: #cc6633;">.cms</span>:hover{</pre>
<!--CRLF-->
<pre style="padding: 0px; font-size: 8pt; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-style: none; line-height: 12pt; font-family: 'courier new',courier,monospace; background-color: #f4f4f4; text-align: left;"><span id="lnum2" style="color: #606060;">   2:</span>     <span style="color: #0000ff;">background-position</span>: 0px <span style="color: #006080;">-127px;</span></pre>
<!--CRLF-->
<pre style="padding: 0px; font-size: 8pt; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-style: none; line-height: 12pt; font-family: 'courier new',courier,monospace; background-color: white; text-align: left;"><span id="lnum3" style="color: #606060;">   3:</span> }</pre>
<!--CRLF-->
<pre style="padding: 0px; font-size: 8pt; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-style: none; line-height: 12pt; font-family: 'courier new',courier,monospace; background-color: #f4f4f4; text-align: left;"><span id="lnum4" style="color: #606060;">   4:</span>  </pre>
<!--CRLF-->
<pre style="padding: 0px; font-size: 8pt; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-style: none; line-height: 12pt; font-family: 'courier new',courier,monospace; background-color: white; text-align: left;"><span id="lnum5" style="color: #606060;">   5:</span> a<span style="color: #cc6633;">.modules</span>:hover{</pre>
<!--CRLF-->
<pre style="padding: 0px; font-size: 8pt; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-style: none; line-height: 12pt; font-family: 'courier new',courier,monospace; background-color: #f4f4f4; text-align: left;"><span id="lnum6" style="color: #606060;">   6:</span>     <span style="color: #0000ff;">background-position</span>: -160px <span style="color: #006080;">-127px;</span></pre>
<!--CRLF-->
<pre style="padding: 0px; font-size: 8pt; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-style: none; line-height: 12pt; font-family: 'courier new',courier,monospace; background-color: white; text-align: left;"><span id="lnum7" style="color: #606060;">   7:</span> }</pre>
<!--CRLF-->
<pre style="padding: 0px; font-size: 8pt; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-style: none; line-height: 12pt; font-family: 'courier new',courier,monospace; background-color: #f4f4f4; text-align: left;"><span id="lnum8" style="color: #606060;">   8:</span>  </pre>
<!--CRLF-->
<pre style="padding: 0px; font-size: 8pt; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-style: none; line-height: 12pt; font-family: 'courier new',courier,monospace; background-color: white; text-align: left;"><span id="lnum9" style="color: #606060;">   9:</span> a<span style="color: #cc6633;">.framework</span>:hover{</pre>
<!--CRLF-->
<pre style="padding: 0px; font-size: 8pt; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-style: none; line-height: 12pt; font-family: 'courier new',courier,monospace; background-color: #f4f4f4; text-align: left;"><span id="lnum10" style="color: #606060;">  10:</span>     <span style="color: #0000ff;">background-position</span>: -320px <span style="color: #006080;">-127px;</span></pre>
<!--CRLF-->
<pre style="padding: 0px; font-size: 8pt; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-style: none; line-height: 12pt; font-family: 'courier new',courier,monospace; background-color: white; text-align: left;"><span id="lnum11" style="color: #606060;">  11:</span> }</pre>
<!--CRLF--></div>
</div>
<h3>The End Result</h3>
<style>
    #grid-menu{
    width: 480px;
    height: 127px;
    margin: 0px;
    padding: 0px;
    list-style: none;
    }
    #grid-menu li{
    width: 160px;
    height: 127px;
    float: left;
    }
    #grid-menu li a{
    display: block;
    width: 160px;
    height: 127px;
    overflow:hidden;
    text-indent: -999px;
    background: url(image.axd?picture=slidebuttongrid.jpg) 0px 0px;
    }
    #grid-menu li a.cms{
    background-position: 0px 0px;
    }
    #grid-menu li a.modules{
    background-position: -160px 0px;
    }
    #grid-menu li a.framework{
    background-position: -320px 0px;
    }
    #grid-menu li a.cms:hover{
    background-position: 0px -127px;
    }
    #grid-menu li a.modules:hover{
    background-position: -160px -127px;
    }
    #grid-menu li a.framework:hover{
    background-position: -320px -127px;
    }
</style>
<ul id="grid-menu">
    <li><a class="cms" href="#">Content Manager</a> </li>
    <li><a class="modules" href="#">Plug-in Modules</a> </li>
    <li><a class="framework" href="#">.Net Framework</a> </li>
</ul>
<p> </p>]]></description><itunes:summary>What is a CSS Sprite?
The term "CSS sprite" isn't exactly self-explanatory, but it is something every web developer should become acquainted with. A CSS sprite is a method of combining several images into a single image. Below is an example of a CSS sprite: 
 
Why you should use CSS Sprites?
One word explains it all: speed. If the image above was sliced into 6 separate images, your web browser would have to make 6 separate HTTP requests. The more HTTP requests the browser has to make, the slower the website will load. The browser may have to download a larger file, but there is only one round trip to the server for all 6 images. This technique is very useful to load an entire icon set for your website. 
Implementation
Now let’s get our hands dirty. We are going to use our sprite from above, an html unordered list for placement, and some simple CSS to move the image around.
The (X)HTML


   1: ul id="menu"&gt;

   2:     li&gt;a class="cms" href="#"&gt;Content Manager/a&gt;/li&gt;

   3:     li&gt;a class="modules" href="#"&gt;Plug-in Modules/a&gt;/li&gt;

   4:     li&gt;a class="framework" href="#"&gt;.Net Framework/a&gt;/li&gt;

   5: /ul&gt;



By default an unordered list will be displayed vertically, so we want to do some CSS to position them horizontally:


   1: #menu{

   2:     width: 480px;

   3:     height: 127px;

   4:     margin: 0px;

   5:     padding: 0px;

   6:     list-style: none;

   7: }

   8:  

   9: #menu li{

  10:     width: 160px;

  11:     height: 127px;

  12:     float: left;

  13: }


The unordered list was set to 480 pixels wide. This is the width of the entire sprite so that all icons will display on the same line. We could have set the unordered list to 320 pixels wide and the 3rd remaining icon would have appeared beneath the first two icons. The list items are set to float:left; this makes the items scroll horizontally instead of vertically or in “block” mode.
Now we will set the CSS that adds the sprite to the background of our hyperlinks:


   1: #menu li a{

   2:     display: block;

   3:     width: 160px;

   4:     height: 127px;

   5:     overflow:hidden;

   6:     text-indent: -999px;

   7:     background: url(images/slidebuttongrid.jpg) 0px 0px;

   8: }

   9:  

  10: #menu li a.cms{

  11:     background-position: 0px 0px;

  12: }

  13:  

  14: #menu li a.modules{

  15:     background-position: -160px 0px;

  16: }

  17:  

  18: #menu li a.framework{

  19:     background-position: -320px 0px;

  20: }


We have set all the anchors () for the unordered list with the same properties and background sprite. Then we individually set the background position for each menu item. The negative background position causes the background image to start displaying the background sprite at 160 pixels from the left boundary of the sprite. Since each anchor is set to a fixed width and height only the portion of the sprite we want to display will be shown. 
Finally, we want this to be a rollover menu, so we are going to add :hover classes to the anchors:


   1: a.cms:hover{

   2:     background-position: 0px -127px;

   3: }

   4:  

   5: a.modules:hover{

   6:     background-position: -160px -127px;

   7: }

   8:  

   9: a.framework:hover{

  10:     background-position: -320px -127px;

  11: }


The End Result

    #grid-menu{
    width: 480px;
    height: 127px;
    margin: 0px;
    padding: 0px;
    list-style: none;
    }
    #grid-menu li{
    width: 160px;
    height: 127px;
    float: left;
    }
    #grid-menu li a{
    display: block;
    width: 160px;
    height: 127px;
    overflow:hidden;
    text-indent: -999px;
    background: url(image.axd?picture=slidebuttongrid.jpg) 0px 0px;
    }
    #grid-menu li a.cms{
    background-position: 0px 0px;
    }
    #grid-menu li a.modules{
    background-position: -160px 0px;
    }
    #grid-menu li</itunes:summary><content:encoded><![CDATA[<h3>What is a CSS Sprite?</h3>
<p>The term "CSS sprite" isn't exactly self-explanatory, but it is something every web developer should become acquainted with. A CSS sprite is a method of combining several images into a single image. Below is an example of a CSS sprite: </p>
<p><a href="http://www.lightninghammer.com/websites/lightninghammer/images/blog/slidebuttongrid.jpg"><img width="480" height="254" title="slidebuttongrid" style="border-width: 0px; display: inline; border-style: solid;" alt="slidebuttongrid" src="http://www.lightninghammer.com/websites/lightninghammer/images/blog/slidebuttongrid_thumb.jpg" /></a> </p>
<h3>Why you should use CSS Sprites?</h3>
<p>One word explains it all: speed. If the image above was sliced into 6 separate images, your web browser would have to make 6 separate HTTP requests. The more HTTP requests the browser has to make, the slower the website will load. The browser may have to download a larger file, but there is only one round trip to the server for all 6 images. This technique is very useful to load an entire icon set for your website. </p>
<h3>Implementation</h3>
<p>Now let’s get our hands dirty. We are going to use our sprite from above, an html unordered list for placement, and some simple CSS to move the image around.</p>
<p><strong>The (X)HTML</strong></p>
<div id="codeSnippetWrapper" style="border: 1px solid silver; padding: 4px; font-size: 8pt; margin: 20px 0px 10px; overflow: auto; width: 97.5%; cursor: text; direction: ltr; max-height: 200px; line-height: 12pt; font-family: 'courier new',courier,monospace; background-color: #f4f4f4; text-align: left;">
<div id="codeSnippet" style="padding: 0px; font-size: 8pt; overflow: visible; width: 100%; color: black; direction: ltr; border-style: none; line-height: 12pt; font-family: 'courier new',courier,monospace; background-color: #f4f4f4; text-align: left;">
<pre style="padding: 0px; font-size: 8pt; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-style: none; line-height: 12pt; font-family: 'courier new',courier,monospace; background-color: white; text-align: left;"><span id="lnum1" style="color: #606060;">   1:</span> <span style="color: #006080;"><</span><span style="color: #0000ff;">ul</span> id="<span style="color: #0000ff;">menu</span>"<span style="color: #006080;">></span></pre>
<!--CRLF-->
<pre style="padding: 0px; font-size: 8pt; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-style: none; line-height: 12pt; font-family: 'courier new',courier,monospace; background-color: #f4f4f4; text-align: left;"><span id="lnum2" style="color: #606060;">   2:</span>     <span style="color: #006080;"><</span><span style="color: #0000ff;">li</span><span style="color: #006080;">></span><span style="color: #006080;"><</span>a class="cms" href="#"<span style="color: #006080;">></span>Content Manager<span style="color: #006080;"><</span>/a<span style="color: #006080;">></span><span style="color: #006080;"><</span>/<span style="color: #0000ff;">li</span><span style="color: #006080;">></span></pre>
<!--CRLF-->
<pre style="padding: 0px; font-size: 8pt; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-style: none; line-height: 12pt; font-family: 'courier new',courier,monospace; background-color: white; text-align: left;"><span id="lnum3" style="color: #606060;">   3:</span>     <span style="color: #006080;"><</span><span style="color: #0000ff;">li</span><span style="color: #006080;">></span><span style="color: #006080;"><</span>a class="modules" href="#"<span style="color: #006080;">></span>Plug-in Modules<span style="color: #006080;"><</span>/a<span style="color: #006080;">></span><span style="color: #006080;"><</span>/<span style="color: #0000ff;">li</span><span style="color: #006080;">></span></pre>
<!--CRLF-->
<pre style="padding: 0px; font-size: 8pt; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-style: none; line-height: 12pt; font-family: 'courier new',courier,monospace; background-color: #f4f4f4; text-align: left;"><span id="lnum4" style="color: #606060;">   4:</span>     <span style="color: #006080;"><</span><span style="color: #0000ff;">li</span><span style="color: #006080;">></span><span style="color: #006080;"><</span>a class="framework" href="#"<span style="color: #006080;">></span><span style="color: #cc6633;">.Net</span> Framework<span style="color: #006080;"><</span>/a<span style="color: #006080;">></span><span style="color: #006080;"><</span>/<span style="color: #0000ff;">li</span><span style="color: #006080;">></span></pre>
<!--CRLF-->
<pre style="padding: 0px; font-size: 8pt; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-style: none; line-height: 12pt; font-family: 'courier new',courier,monospace; background-color: white; text-align: left;"><span id="lnum5" style="color: #606060;">   5:</span> <span style="color: #006080;"><</span>/<span style="color: #0000ff;">ul</span><span style="color: #006080;">></span></pre>
<!--CRLF--></div>
</div>
<p></p>
<p>By default an unordered list will be displayed vertically, so we want to do some CSS to position them horizontally:</p>
<div id="codeSnippetWrapper" style="border: 1px solid silver; padding: 4px; font-size: 8pt; margin: 20px 0px 10px; overflow: auto; width: 97.5%; cursor: text; direction: ltr; max-height: 200px; line-height: 12pt; font-family: 'courier new',courier,monospace; background-color: #f4f4f4; text-align: left;">
<div id="codeSnippet" style="padding: 0px; font-size: 8pt; overflow: visible; width: 100%; color: black; direction: ltr; border-style: none; line-height: 12pt; font-family: 'courier new',courier,monospace; background-color: #f4f4f4; text-align: left;">
<pre style="padding: 0px; font-size: 8pt; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-style: none; line-height: 12pt; font-family: 'courier new',courier,monospace; background-color: white; text-align: left;"><span id="lnum1" style="color: #606060;">   1:</span> #<span style="color: #0000ff;">menu</span>{</pre>
<!--CRLF-->
<pre style="padding: 0px; font-size: 8pt; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-style: none; line-height: 12pt; font-family: 'courier new',courier,monospace; background-color: #f4f4f4; text-align: left;"><span id="lnum2" style="color: #606060;">   2:</span>     <span style="color: #0000ff;">width</span>: <span style="color: #006080;">480px;</span></pre>
<!--CRLF-->
<pre style="padding: 0px; font-size: 8pt; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-style: none; line-height: 12pt; font-family: 'courier new',courier,monospace; background-color: white; text-align: left;"><span id="lnum3" style="color: #606060;">   3:</span>     <span style="color: #0000ff;">height</span>: <span style="color: #006080;">127px;</span></pre>
<!--CRLF-->
<pre style="padding: 0px; font-size: 8pt; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-style: none; line-height: 12pt; font-family: 'courier new',courier,monospace; background-color: #f4f4f4; text-align: left;"><span id="lnum4" style="color: #606060;">   4:</span>     <span style="color: #0000ff;">margin</span>: <span style="color: #006080;">0px;</span></pre>
<!--CRLF-->
<pre style="padding: 0px; font-size: 8pt; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-style: none; line-height: 12pt; font-family: 'courier new',courier,monospace; background-color: white; text-align: left;"><span id="lnum5" style="color: #606060;">   5:</span>     <span style="color: #0000ff;">padding</span>: <span style="color: #006080;">0px;</span></pre>
<!--CRLF-->
<pre style="padding: 0px; font-size: 8pt; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-style: none; line-height: 12pt; font-family: 'courier new',courier,monospace; background-color: #f4f4f4; text-align: left;"><span id="lnum6" style="color: #606060;">   6:</span>     <span style="color: #0000ff;">list-style</span>: <span style="color: #006080;">none;</span></pre>
<!--CRLF-->
<pre style="padding: 0px; font-size: 8pt; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-style: none; line-height: 12pt; font-family: 'courier new',courier,monospace; background-color: white; text-align: left;"><span id="lnum7" style="color: #606060;">   7:</span> }</pre>
<!--CRLF-->
<pre style="padding: 0px; font-size: 8pt; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-style: none; line-height: 12pt; font-family: 'courier new',courier,monospace; background-color: #f4f4f4; text-align: left;"><span id="lnum8" style="color: #606060;">   8:</span>  </pre>
<!--CRLF-->
<pre style="padding: 0px; font-size: 8pt; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-style: none; line-height: 12pt; font-family: 'courier new',courier,monospace; background-color: white; text-align: left;"><span id="lnum9" style="color: #606060;">   9:</span> #<span style="color: #0000ff;">menu</span> <span style="color: #0000ff;">li</span>{</pre>
<!--CRLF-->
<pre style="padding: 0px; font-size: 8pt; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-style: none; line-height: 12pt; font-family: 'courier new',courier,monospace; background-color: #f4f4f4; text-align: left;"><span id="lnum10" style="color: #606060;">  10:</span>     <span style="color: #0000ff;">width</span>: <span style="color: #006080;">160px;</span></pre>
<!--CRLF-->
<pre style="padding: 0px; font-size: 8pt; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-style: none; line-height: 12pt; font-family: 'courier new',courier,monospace; background-color: white; text-align: left;"><span id="lnum11" style="color: #606060;">  11:</span>     <span style="color: #0000ff;">height</span>: <span style="color: #006080;">127px;</span></pre>
<!--CRLF-->
<pre style="padding: 0px; font-size: 8pt; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-style: none; line-height: 12pt; font-family: 'courier new',courier,monospace; background-color: #f4f4f4; text-align: left;"><span id="lnum12" style="color: #606060;">  12:</span>     <span style="color: #0000ff;">float</span>: <span style="color: #006080;">left;</span></pre>
<!--CRLF-->
<pre style="padding: 0px; font-size: 8pt; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-style: none; line-height: 12pt; font-family: 'courier new',courier,monospace; background-color: white; text-align: left;"><span id="lnum13" style="color: #606060;">  13:</span> }</pre>
<!--CRLF--></div>
</div>
<p>The unordered list was set to 480 pixels wide. This is the width of the entire sprite so that all icons will display on the same line. We could have set the unordered list to 320 pixels wide and the 3rd remaining icon would have appeared beneath the first two icons. The list items are set to float:left; this makes the items scroll horizontally instead of vertically or in “block” mode.</p>
<p>Now we will set the CSS that adds the sprite to the background of our hyperlinks:</p>
<div id="codeSnippetWrapper" style="border: 1px solid silver; padding: 4px; font-size: 8pt; margin: 20px 0px 10px; overflow: auto; width: 97.5%; cursor: text; direction: ltr; max-height: 200px; line-height: 12pt; font-family: 'courier new',courier,monospace; background-color: #f4f4f4; text-align: left;">
<div id="codeSnippet" style="padding: 0px; font-size: 8pt; overflow: visible; width: 100%; color: black; direction: ltr; border-style: none; line-height: 12pt; font-family: 'courier new',courier,monospace; background-color: #f4f4f4; text-align: left;">
<pre style="padding: 0px; font-size: 8pt; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-style: none; line-height: 12pt; font-family: 'courier new',courier,monospace; background-color: white; text-align: left;"><span id="lnum1" style="color: #606060;">   1:</span> #<span style="color: #0000ff;">menu</span> <span style="color: #0000ff;">li</span> a{</pre>
<!--CRLF-->
<pre style="padding: 0px; font-size: 8pt; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-style: none; line-height: 12pt; font-family: 'courier new',courier,monospace; background-color: #f4f4f4; text-align: left;"><span id="lnum2" style="color: #606060;">   2:</span>     <span style="color: #0000ff;">display</span>: <span style="color: #006080;">block;</span></pre>
<!--CRLF-->
<pre style="padding: 0px; font-size: 8pt; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-style: none; line-height: 12pt; font-family: 'courier new',courier,monospace; background-color: white; text-align: left;"><span id="lnum3" style="color: #606060;">   3:</span>     <span style="color: #0000ff;">width</span>: <span style="color: #006080;">160px;</span></pre>
<!--CRLF-->
<pre style="padding: 0px; font-size: 8pt; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-style: none; line-height: 12pt; font-family: 'courier new',courier,monospace; background-color: #f4f4f4; text-align: left;"><span id="lnum4" style="color: #606060;">   4:</span>     <span style="color: #0000ff;">height</span>: <span style="color: #006080;">127px;</span></pre>
<!--CRLF-->
<pre style="padding: 0px; font-size: 8pt; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-style: none; line-height: 12pt; font-family: 'courier new',courier,monospace; background-color: white; text-align: left;"><span id="lnum5" style="color: #606060;">   5:</span>     <span style="color: #0000ff;">overflow</span>:<span style="color: #006080;">hidden;</span></pre>
<!--CRLF-->
<pre style="padding: 0px; font-size: 8pt; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-style: none; line-height: 12pt; font-family: 'courier new',courier,monospace; background-color: #f4f4f4; text-align: left;"><span id="lnum6" style="color: #606060;">   6:</span>     <span style="color: #0000ff;">text-indent</span>: <span style="color: #006080;">-999px;</span></pre>
<!--CRLF-->
<pre style="padding: 0px; font-size: 8pt; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-style: none; line-height: 12pt; font-family: 'courier new',courier,monospace; background-color: white; text-align: left;"><span id="lnum7" style="color: #606060;">   7:</span>     <span style="color: #0000ff;">background</span>: url(images/slidebuttongrid<span style="color: #cc6633;">.jpg</span><span style="color: #006080;">) 0px 0px;</span></pre>
<!--CRLF-->
<pre style="padding: 0px; font-size: 8pt; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-style: none; line-height: 12pt; font-family: 'courier new',courier,monospace; background-color: #f4f4f4; text-align: left;"><span id="lnum8" style="color: #606060;">   8:</span> }</pre>
<!--CRLF-->
<pre style="padding: 0px; font-size: 8pt; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-style: none; line-height: 12pt; font-family: 'courier new',courier,monospace; background-color: white; text-align: left;"><span id="lnum9" style="color: #606060;">   9:</span>  </pre>
<!--CRLF-->
<pre style="padding: 0px; font-size: 8pt; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-style: none; line-height: 12pt; font-family: 'courier new',courier,monospace; background-color: #f4f4f4; text-align: left;"><span id="lnum10" style="color: #606060;">  10:</span> #<span style="color: #0000ff;">menu</span> <span style="color: #0000ff;">li</span> a<span style="color: #cc6633;">.cms</span>{</pre>
<!--CRLF-->
<pre style="padding: 0px; font-size: 8pt; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-style: none; line-height: 12pt; font-family: 'courier new',courier,monospace; background-color: white; text-align: left;"><span id="lnum11" style="color: #606060;">  11:</span>     <span style="color: #0000ff;">background-position</span>: <span style="color: #006080;">0px 0px;</span></pre>
<!--CRLF-->
<pre style="padding: 0px; font-size: 8pt; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-style: none; line-height: 12pt; font-family: 'courier new',courier,monospace; background-color: #f4f4f4; text-align: left;"><span id="lnum12" style="color: #606060;">  12:</span> }</pre>
<!--CRLF-->
<pre style="padding: 0px; font-size: 8pt; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-style: none; line-height: 12pt; font-family: 'courier new',courier,monospace; background-color: white; text-align: left;"><span id="lnum13" style="color: #606060;">  13:</span>  </pre>
<!--CRLF-->
<pre style="padding: 0px; font-size: 8pt; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-style: none; line-height: 12pt; font-family: 'courier new',courier,monospace; background-color: #f4f4f4; text-align: left;"><span id="lnum14" style="color: #606060;">  14:</span> #<span style="color: #0000ff;">menu</span> <span style="color: #0000ff;">li</span> a<span style="color: #cc6633;">.modules</span>{</pre>
<!--CRLF-->
<pre style="padding: 0px; font-size: 8pt; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-style: none; line-height: 12pt; font-family: 'courier new',courier,monospace; background-color: white; text-align: left;"><span id="lnum15" style="color: #606060;">  15:</span>     <span style="color: #0000ff;">background-position</span>: <span style="color: #006080;">-160px 0px;</span></pre>
<!--CRLF-->
<pre style="padding: 0px; font-size: 8pt; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-style: none; line-height: 12pt; font-family: 'courier new',courier,monospace; background-color: #f4f4f4; text-align: left;"><span id="lnum16" style="color: #606060;">  16:</span> }</pre>
<!--CRLF-->
<pre style="padding: 0px; font-size: 8pt; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-style: none; line-height: 12pt; font-family: 'courier new',courier,monospace; background-color: white; text-align: left;"><span id="lnum17" style="color: #606060;">  17:</span>  </pre>
<!--CRLF-->
<pre style="padding: 0px; font-size: 8pt; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-style: none; line-height: 12pt; font-family: 'courier new',courier,monospace; background-color: #f4f4f4; text-align: left;"><span id="lnum18" style="color: #606060;">  18:</span> #<span style="color: #0000ff;">menu</span> <span style="color: #0000ff;">li</span> a<span style="color: #cc6633;">.framework</span>{</pre>
<!--CRLF-->
<pre style="padding: 0px; font-size: 8pt; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-style: none; line-height: 12pt; font-family: 'courier new',courier,monospace; background-color: white; text-align: left;"><span id="lnum19" style="color: #606060;">  19:</span>     <span style="color: #0000ff;">background-position</span>: <span style="color: #006080;">-320px 0px;</span></pre>
<!--CRLF-->
<pre style="padding: 0px; font-size: 8pt; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-style: none; line-height: 12pt; font-family: 'courier new',courier,monospace; background-color: #f4f4f4; text-align: left;"><span id="lnum20" style="color: #606060;">  20:</span> }</pre>
<!--CRLF--></div>
</div>
<p>We have set all the anchors (<a>) for the unordered list with the same properties and background sprite. Then we individually set the background position for each menu item. The negative background position causes the background image to start displaying the background sprite at 160 pixels from the left boundary of the sprite. Since each anchor is set to a fixed width and height only the portion of the sprite we want to display will be shown. </p>
<p>Finally, we want this to be a rollover menu, so we are going to add :hover classes to the anchors:</p>
<div id="codeSnippetWrapper" style="border: 1px solid silver; padding: 4px; font-size: 8pt; margin: 20px 0px 10px; overflow: auto; width: 97.5%; cursor: text; direction: ltr; max-height: 200px; line-height: 12pt; font-family: 'courier new',courier,monospace; background-color: #f4f4f4; text-align: left;">
<div id="codeSnippet" style="padding: 0px; font-size: 8pt; overflow: visible; width: 100%; color: black; direction: ltr; border-style: none; line-height: 12pt; font-family: 'courier new',courier,monospace; background-color: #f4f4f4; text-align: left;">
<pre style="padding: 0px; font-size: 8pt; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-style: none; line-height: 12pt; font-family: 'courier new',courier,monospace; background-color: white; text-align: left;"><span id="lnum1" style="color: #606060;">   1:</span> a<span style="color: #cc6633;">.cms</span>:hover{</pre>
<!--CRLF-->
<pre style="padding: 0px; font-size: 8pt; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-style: none; line-height: 12pt; font-family: 'courier new',courier,monospace; background-color: #f4f4f4; text-align: left;"><span id="lnum2" style="color: #606060;">   2:</span>     <span style="color: #0000ff;">background-position</span>: 0px <span style="color: #006080;">-127px;</span></pre>
<!--CRLF-->
<pre style="padding: 0px; font-size: 8pt; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-style: none; line-height: 12pt; font-family: 'courier new',courier,monospace; background-color: white; text-align: left;"><span id="lnum3" style="color: #606060;">   3:</span> }</pre>
<!--CRLF-->
<pre style="padding: 0px; font-size: 8pt; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-style: none; line-height: 12pt; font-family: 'courier new',courier,monospace; background-color: #f4f4f4; text-align: left;"><span id="lnum4" style="color: #606060;">   4:</span>  </pre>
<!--CRLF-->
<pre style="padding: 0px; font-size: 8pt; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-style: none; line-height: 12pt; font-family: 'courier new',courier,monospace; background-color: white; text-align: left;"><span id="lnum5" style="color: #606060;">   5:</span> a<span style="color: #cc6633;">.modules</span>:hover{</pre>
<!--CRLF-->
<pre style="padding: 0px; font-size: 8pt; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-style: none; line-height: 12pt; font-family: 'courier new',courier,monospace; background-color: #f4f4f4; text-align: left;"><span id="lnum6" style="color: #606060;">   6:</span>     <span style="color: #0000ff;">background-position</span>: -160px <span style="color: #006080;">-127px;</span></pre>
<!--CRLF-->
<pre style="padding: 0px; font-size: 8pt; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-style: none; line-height: 12pt; font-family: 'courier new',courier,monospace; background-color: white; text-align: left;"><span id="lnum7" style="color: #606060;">   7:</span> }</pre>
<!--CRLF-->
<pre style="padding: 0px; font-size: 8pt; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-style: none; line-height: 12pt; font-family: 'courier new',courier,monospace; background-color: #f4f4f4; text-align: left;"><span id="lnum8" style="color: #606060;">   8:</span>  </pre>
<!--CRLF-->
<pre style="padding: 0px; font-size: 8pt; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-style: none; line-height: 12pt; font-family: 'courier new',courier,monospace; background-color: white; text-align: left;"><span id="lnum9" style="color: #606060;">   9:</span> a<span style="color: #cc6633;">.framework</span>:hover{</pre>
<!--CRLF-->
<pre style="padding: 0px; font-size: 8pt; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-style: none; line-height: 12pt; font-family: 'courier new',courier,monospace; background-color: #f4f4f4; text-align: left;"><span id="lnum10" style="color: #606060;">  10:</span>     <span style="color: #0000ff;">background-position</span>: -320px <span style="color: #006080;">-127px;</span></pre>
<!--CRLF-->
<pre style="padding: 0px; font-size: 8pt; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-style: none; line-height: 12pt; font-family: 'courier new',courier,monospace; background-color: white; text-align: left;"><span id="lnum11" style="color: #606060;">  11:</span> }</pre>
<!--CRLF--></div>
</div>
<h3>The End Result</h3>
<style>
    #grid-menu{
    width: 480px;
    height: 127px;
    margin: 0px;
    padding: 0px;
    list-style: none;
    }
    #grid-menu li{
    width: 160px;
    height: 127px;
    float: left;
    }
    #grid-menu li a{
    display: block;
    width: 160px;
    height: 127px;
    overflow:hidden;
    text-indent: -999px;
    background: url(image.axd?picture=slidebuttongrid.jpg) 0px 0px;
    }
    #grid-menu li a.cms{
    background-position: 0px 0px;
    }
    #grid-menu li a.modules{
    background-position: -160px 0px;
    }
    #grid-menu li a.framework{
    background-position: -320px 0px;
    }
    #grid-menu li a.cms:hover{
    background-position: 0px -127px;
    }
    #grid-menu li a.modules:hover{
    background-position: -160px -127px;
    }
    #grid-menu li a.framework:hover{
    background-position: -320px -127px;
    }
</style>
<ul id="grid-menu">
    <li><a class="cms" href="#">Content Manager</a> </li>
    <li><a class="modules" href="#">Plug-in Modules</a> </li>
    <li><a class="framework" href="#">.Net Framework</a> </li>
</ul>
<p> </p>]]></content:encoded><guid>http://www.lightninghammer.com/fast-css-rollover-images-with-css-sprites</guid></item><item><title>SpeedyMap in Development</title><link>http://www.lightninghammer.com/speedymap-in-development</link><pubDate>Sat, 05 Jun 2010 01:36:03 GMT</pubDate><itunes:author /><dc:creator>Roger</dc:creator><description><![CDATA[<p><a href="http://blog.lightninghammer.com/image.axd?picture=speedymap.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; margin-left: 0px; border-top: 0px; margin-right: 0px; border-right: 0px" title="speedymap" border="0" alt="speedymap" align="right" src="http://blog.lightninghammer.com/image.axd?picture=speedymap_thumb.png" width="190" height="72" /></a> LightningHammer has recently started development on its SpeedyMap widget.  SpeedyMap will allow users to drop interactive map modules on their web pages using a small snippet of code, all managed at the LightningHammer SpeedyMap website.  A number of locations can be marked on the map, and searches can be made against those locations through the interface.  There will be a free version with limitations, and up to two annual-pay versions for a more robust feature set.  Stay tuned for more information about SpeedyMap!</p>]]></description><itunes:summary> LightningHammer has recently started development on its SpeedyMap widget.  SpeedyMap will allow users to drop interactive map modules on their web pages using a small snippet of code, all managed at the LightningHammer SpeedyMap website.  A number of locations can be marked on the map, and searches can be made against those locations through the interface.  There will be a free version with limitations, and up to two annual-pay versions for a more robust feature set.  Stay tuned for more information about SpeedyMap!</itunes:summary><content:encoded><![CDATA[<p><a href="http://blog.lightninghammer.com/image.axd?picture=speedymap.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; margin-left: 0px; border-top: 0px; margin-right: 0px; border-right: 0px" title="speedymap" border="0" alt="speedymap" align="right" src="http://blog.lightninghammer.com/image.axd?picture=speedymap_thumb.png" width="190" height="72" /></a> LightningHammer has recently started development on its SpeedyMap widget.  SpeedyMap will allow users to drop interactive map modules on their web pages using a small snippet of code, all managed at the LightningHammer SpeedyMap website.  A number of locations can be marked on the map, and searches can be made against those locations through the interface.  There will be a free version with limitations, and up to two annual-pay versions for a more robust feature set.  Stay tuned for more information about SpeedyMap!</p>]]></content:encoded><guid>http://www.lightninghammer.com/speedymap-in-development</guid></item><item><title>New Multimedia Partner</title><link>http://www.lightninghammer.com/new-multimedia-partner</link><pubDate>Mon, 07 Jun 2010 19:27:19 GMT</pubDate><itunes:author /><dc:creator>Roger</dc:creator><description><![CDATA[<p>  LightningHammer is happy to announce our recent partnership with Idryonis Studios.</p>
<p>  Idryonis Studios, LLC is an independent production company specializing in cutting-edge <a href="http://www.idryonis.com" target="_blank"><img width="151" height="151" style="border-width: 0px; display: inline; margin-left: 0px; margin-right: 0px; float: left; border-style: solid;" title="idryicon" src="http://www.lightninghammer.com/websites/lightninghammer/images/blog/idryicon.png" alt="idryicon" /></a>interactive content for entertainment, education, and marketing. From spectacular motion graphics to engaging interactive games - if you need to see it, hear it, or <em>feel</em> it, Idryonis can handle the job. </p>
<p>They have been involved with a few very cool high profile projects, one of the most recent can be seen <a href="http://www.gonastarcenter.com/" target="_blank">here</a>.  As we join forces to do new projects we’ll keep our news updated.</p>]]></description><itunes:summary>  LightningHammer is happy to announce our recent partnership with Idryonis Studios.
  Idryonis Studios, LLC is an independent production company specializing in cutting-edge interactive content for entertainment, education, and marketing. From spectacular motion graphics to engaging interactive games - if you need to see it, hear it, or feel it, Idryonis can handle the job. 
They have been involved with a few very cool high profile projects, one of the most recent can be seen here.  As we join forces to do new projects we’ll keep our news updated.</itunes:summary><content:encoded><![CDATA[<p>  LightningHammer is happy to announce our recent partnership with Idryonis Studios.</p>
<p>  Idryonis Studios, LLC is an independent production company specializing in cutting-edge <a href="http://www.idryonis.com" target="_blank"><img width="151" height="151" style="border-width: 0px; display: inline; margin-left: 0px; margin-right: 0px; float: left; border-style: solid;" title="idryicon" src="http://www.lightninghammer.com/websites/lightninghammer/images/blog/idryicon.png" alt="idryicon" /></a>interactive content for entertainment, education, and marketing. From spectacular motion graphics to engaging interactive games - if you need to see it, hear it, or <em>feel</em> it, Idryonis can handle the job. </p>
<p>They have been involved with a few very cool high profile projects, one of the most recent can be seen <a href="http://www.gonastarcenter.com/" target="_blank">here</a>.  As we join forces to do new projects we’ll keep our news updated.</p>]]></content:encoded><guid>http://www.lightninghammer.com/new-multimedia-partner</guid></item><item><title>Low Cost Website Management with LightningCMS</title><link>http://www.lightninghammer.com/low-cost-website-management-with-lightningcms</link><pubDate>Sat, 05 Jun 2010 01:36:03 GMT</pubDate><itunes:author /><dc:creator>Keith Storm</dc:creator><description><![CDATA[<img style="display: inline; margin-left: 0px; margin-right: 0px" alt="LightningCMS" src="http://www.lightninghammer.com/images/egg-guy2.png" align="right" />   <p>LightningHammer is proud to introduce LightningCMS. LightningCMS makes website management a snap, whether you’re a web designer, business owner, or even a blogger. You can manage your own website without writing a single line of code. Choose one of our pre-built design templates and you can have your website in just a few minutes. Want a custom built design? We can do that for you as well. </p>  <p>Not Convinced? <a href="http://www.lightninghammer.com/cms">Check out all the features, pricing, and some video demonstrations.</a></p>]]></description><itunes:summary>   LightningHammer is proud to introduce LightningCMS. LightningCMS makes website management a snap, whether you’re a web designer, business owner, or even a blogger. You can manage your own website without writing a single line of code. Choose one of our pre-built design templates and you can have your website in just a few minutes. Want a custom built design? We can do that for you as well.   Not Convinced? Check out all the features, pricing, and some video demonstrations.</itunes:summary><content:encoded><![CDATA[<img style="display: inline; margin-left: 0px; margin-right: 0px" alt="LightningCMS" src="http://www.lightninghammer.com/images/egg-guy2.png" align="right" />   <p>LightningHammer is proud to introduce LightningCMS. LightningCMS makes website management a snap, whether you’re a web designer, business owner, or even a blogger. You can manage your own website without writing a single line of code. Choose one of our pre-built design templates and you can have your website in just a few minutes. Want a custom built design? We can do that for you as well. </p>  <p>Not Convinced? <a href="http://www.lightninghammer.com/cms">Check out all the features, pricing, and some video demonstrations.</a></p>]]></content:encoded><guid>http://www.lightninghammer.com/low-cost-website-management-with-lightningcms</guid></item><item><title>Simple Counter Extension fix for BlogEngine.NET 1.5</title><link>http://www.lightninghammer.com/simple-counter-extension-fix-for-blogenginenet-15</link><pubDate>Sat, 05 Jun 2010 01:36:03 GMT</pubDate><itunes:author /><dc:creator>Keith Storm</dc:creator><description><![CDATA[<div class="text">   <p>I was installing the <a href="http://nyveldt.com/blog/post/Simple-BlogEngineNET-Download-Counter-Extension.aspx" target="_blank">Simple Counter Extension</a> for BlogEngine.Net (created by <a href="http://nyveldt.com/blog/" target="_blank">Al Nyveldt</a>) today when I ran into a slight glitch. My download counts were being tallied properly in the downloadcounts.xml file. However, when I logged in to check my download counts on each link they all said “0”.</p>    <p>That couldn’t be right so I refreshed my cache and still nothing. The problem was that the string in the downloadcounts.xml file was not matching the string from the generated html.</p>    <p>Here are the two strings:</p>    <p><strong>downloadcounts.xml</strong></p>    <div id="codeSnippetWrapper" style="border-right: silver 1px solid; padding-right: 4px; border-top: silver 1px solid; padding-left: 4px; font-size: 8pt; padding-bottom: 4px; margin: 20px 0px 10px; overflow: auto; border-left: silver 1px solid; width: 97.5%; cursor: text; direction: ltr; max-height: 200px; line-height: 12pt; padding-top: 4px; border-bottom: silver 1px solid; font-family: 'Courier New',courier,monospace; background-color: #f4f4f4; text-align: left">     <div id="codeSnippet" style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New',courier,monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none">       <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New',courier,monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"><span id="lnum1" style="color: #606060">   1:</span> <files> </pre>
<!--CRLF-->

      <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New',courier,monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"><span id="lnum2" style="color: #606060">   2:</span>     <file count=<span style="color: #006080">"1"</span>>2009/6/facePLANT.zip</file> </pre>
<!--CRLF-->

      <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New',courier,monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"><span id="lnum3" style="color: #606060">   3:</span> </files></pre>
<!--CRLF--></div>
  </div>

  <p><strong>Genderated HTML</strong></p>

  <div id="codeSnippetWrapper" style="border-right: silver 1px solid; padding-right: 4px; border-top: silver 1px solid; padding-left: 4px; font-size: 8pt; padding-bottom: 4px; margin: 20px 0px 10px; overflow: auto; border-left: silver 1px solid; width: 97.5%; cursor: text; direction: ltr; max-height: 200px; line-height: 12pt; padding-top: 4px; border-bottom: silver 1px solid; font-family: 'Courier New',courier,monospace; background-color: #f4f4f4; text-align: left">
    <div id="codeSnippet" style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New',courier,monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none">
      <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New',courier,monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"><span id="lnum1" style="color: #606060">   1:</span> <span style="color: #0000ff"><</span><span style="color: #800000">a</span> <span style="color: #ff0000">href</span><span style="color: #0000ff">="/file.axd?file=<strong>2009%2f6%2ffacePLANT.zip</strong>"</span><span style="color: #0000ff">></span></pre>
<!--CRLF--></div>
  </div>

  <p>The solution was to add one line code to the SimpleDownloadCounter.cs file. Just open the file and update the UpdateDisplay method:</p>

  <div id="codeSnippetWrapper" style="border-right: silver 1px solid; padding-right: 4px; border-top: silver 1px solid; padding-left: 4px; font-size: 8pt; padding-bottom: 4px; margin: 20px 0px 10px; overflow: auto; border-left: silver 1px solid; width: 97.5%; cursor: text; direction: ltr; max-height: 200px; line-height: 12pt; padding-top: 4px; border-bottom: silver 1px solid; font-family: 'Courier New',courier,monospace; background-color: #f4f4f4; text-align: left">
    <div id="codeSnippet" style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New',courier,monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none">
      <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New',courier,monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"><span id="lnum1" style="color: #606060">   1:</span> private <span style="color: #0000ff">string</span> UpdateDisplay(<span style="color: #0000ff">string</span> body)</pre>
<!--CRLF-->

      <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New',courier,monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"><span id="lnum2" style="color: #606060">   2:</span>   {</pre>
<!--CRLF-->

      <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New',courier,monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"><span id="lnum3" style="color: #606060">   3:</span>     <span style="color: #0000ff">if</span> (body.Contains(<span style="color: #006080">"file.axd?file="</span>))</pre>
<!--CRLF-->

      <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New',courier,monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"><span id="lnum4" style="color: #606060">   4:</span>     {</pre>
<!--CRLF-->

      <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New',courier,monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"><span id="lnum5" style="color: #606060">   5:</span>       <span style="color: #0000ff">int</span> pos = body.IndexOf(<span style="color: #006080">"file.axd?file="</span>);</pre>
<!--CRLF-->

      <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New',courier,monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"><span id="lnum6" style="color: #606060">   6:</span>       <span style="color: #0000ff">while</span> (pos > 0)</pre>
<!--CRLF-->

      <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New',courier,monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"><span id="lnum7" style="color: #606060">   7:</span>       {</pre>
<!--CRLF-->

      <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New',courier,monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"><span id="lnum8" style="color: #606060">   8:</span>         pos = pos + 14;</pre>
<!--CRLF-->

      <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New',courier,monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"><span id="lnum9" style="color: #606060">   9:</span>         <span style="color: #0000ff">string</span> filename = body.Substring(pos, body.IndexOf(<span style="color: #006080">"\""</span>, pos) - pos);</pre>
<!--CRLF-->

      <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New',courier,monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"><span id="lnum10" style="color: #606060">  10:</span>         filename = Uri.UnescapeDataString(filename);</pre>
<!--CRLF-->

      <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New',courier,monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"><span id="lnum11" style="color: #606060">  11:</span>         <span style="color: #0000ff">int</span> count = GetFileCount(filename);</pre>
<!--CRLF-->

      <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New',courier,monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"><span id="lnum12" style="color: #606060">  12:</span>         <span style="color: #0000ff">int</span> linkTextEnds = body.IndexOf(<span style="color: #006080">"</a>"</span>, pos);</pre>
<!--CRLF-->

      <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New',courier,monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"><span id="lnum13" style="color: #606060">  13:</span>         body = body.Insert(linkTextEnds, <span style="color: #006080">" [Downloads: "</span> + count.ToString() + <span style="color: #006080">"]"</span>);</pre>
<!--CRLF-->

      <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New',courier,monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"><span id="lnum14" style="color: #606060">  14:</span>         pos = body.IndexOf(<span style="color: #006080">"file.axd?file="</span>, pos);</pre>
<!--CRLF-->

      <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New',courier,monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"><span id="lnum15" style="color: #606060">  15:</span>       }</pre>
<!--CRLF-->

      <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New',courier,monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"><span id="lnum16" style="color: #606060">  16:</span>     }</pre>
<!--CRLF-->

      <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New',courier,monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"><span id="lnum17" style="color: #606060">  17:</span>     <span style="color: #0000ff">return</span> body;</pre>
<!--CRLF-->

      <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New',courier,monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"><span id="lnum18" style="color: #606060">  18:</span>   }</pre>
<!--CRLF--></div>
  </div>
</div>

<div class="text">
  <br /></div>

<div class="text">
  <p>I added line 10:</p>

  <div id="codeSnippetWrapper" style="border-right: silver 1px solid; padding-right: 4px; border-top: silver 1px solid; padding-left: 4px; font-size: 8pt; padding-bottom: 4px; margin: 20px 0px 10px; overflow: auto; border-left: silver 1px solid; width: 97.5%; cursor: text; direction: ltr; max-height: 200px; line-height: 12pt; padding-top: 4px; border-bottom: silver 1px solid; font-family: 'Courier New',courier,monospace; background-color: #f4f4f4; text-align: left">
    <div id="codeSnippet" style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New',courier,monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none">
      <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New',courier,monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"><span id="lnum1" style="color: #606060">   1:</span> filename = Uri.UnescapeDataString(filename);</pre>
<!--CRLF--></div>
  </div>

  <p> </p>

  <p>This will remove the URL Encoding from the HTML link before it tries to look it up in the xml file. Now the strings match and the counter works as intended.</p>
</div>]]></description><itunes:summary>   I was installing the Simple Counter Extension for BlogEngine.Net (created by Al Nyveldt) today when I ran into a slight glitch. My download counts were being tallied properly in the downloadcounts.xml file. However, when I logged in to check my download counts on each link they all said “0”.    That couldn’t be right so I refreshed my cache and still nothing. The problem was that the string in the downloadcounts.xml file was not matching the string from the generated html.    Here are the two strings:    downloadcounts.xml                   1:  


         2:     "1"&gt;2009/6/facePLANT.zip 


         3: 

  

  Genderated HTML

  
    
         1: a href="/file.axd?file=2009%2f6%2ffacePLANT.zip"&gt;

  

  The solution was to add one line code to the SimpleDownloadCounter.cs file. Just open the file and update the UpdateDisplay method:

  
    
         1: private string UpdateDisplay(string body)


         2:   {


         3:     if (body.Contains("file.axd?file="))


         4:     {


         5:       int pos = body.IndexOf("file.axd?file=");


         6:       while (pos &gt; 0)


         7:       {


         8:         pos = pos + 14;


         9:         string filename = body.Substring(pos, body.IndexOf("\"", pos) - pos);


        10:         filename = Uri.UnescapeDataString(filename);


        11:         int count = GetFileCount(filename);


        12:         int linkTextEnds = body.IndexOf("", pos);


        13:         body = body.Insert(linkTextEnds, " [Downloads: " + count.ToString() + "]");


        14:         pos = body.IndexOf("file.axd?file=", pos);


        15:       }


        16:     }


        17:     return body;


        18:   }

  



  


  I added line 10:

  
    
         1: filename = Uri.UnescapeDataString(filename);

  

   

  This will remove the URL Encoding from the HTML link before it tries to look it up in the xml file. Now the strings match and the counter works as intended.
</itunes:summary><content:encoded><![CDATA[<div class="text">   <p>I was installing the <a href="http://nyveldt.com/blog/post/Simple-BlogEngineNET-Download-Counter-Extension.aspx" target="_blank">Simple Counter Extension</a> for BlogEngine.Net (created by <a href="http://nyveldt.com/blog/" target="_blank">Al Nyveldt</a>) today when I ran into a slight glitch. My download counts were being tallied properly in the downloadcounts.xml file. However, when I logged in to check my download counts on each link they all said “0”.</p>    <p>That couldn’t be right so I refreshed my cache and still nothing. The problem was that the string in the downloadcounts.xml file was not matching the string from the generated html.</p>    <p>Here are the two strings:</p>    <p><strong>downloadcounts.xml</strong></p>    <div id="codeSnippetWrapper" style="border-right: silver 1px solid; padding-right: 4px; border-top: silver 1px solid; padding-left: 4px; font-size: 8pt; padding-bottom: 4px; margin: 20px 0px 10px; overflow: auto; border-left: silver 1px solid; width: 97.5%; cursor: text; direction: ltr; max-height: 200px; line-height: 12pt; padding-top: 4px; border-bottom: silver 1px solid; font-family: 'Courier New',courier,monospace; background-color: #f4f4f4; text-align: left">     <div id="codeSnippet" style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New',courier,monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none">       <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New',courier,monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"><span id="lnum1" style="color: #606060">   1:</span> <files> </pre>
<!--CRLF-->

      <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New',courier,monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"><span id="lnum2" style="color: #606060">   2:</span>     <file count=<span style="color: #006080">"1"</span>>2009/6/facePLANT.zip</file> </pre>
<!--CRLF-->

      <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New',courier,monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"><span id="lnum3" style="color: #606060">   3:</span> </files></pre>
<!--CRLF--></div>
  </div>

  <p><strong>Genderated HTML</strong></p>

  <div id="codeSnippetWrapper" style="border-right: silver 1px solid; padding-right: 4px; border-top: silver 1px solid; padding-left: 4px; font-size: 8pt; padding-bottom: 4px; margin: 20px 0px 10px; overflow: auto; border-left: silver 1px solid; width: 97.5%; cursor: text; direction: ltr; max-height: 200px; line-height: 12pt; padding-top: 4px; border-bottom: silver 1px solid; font-family: 'Courier New',courier,monospace; background-color: #f4f4f4; text-align: left">
    <div id="codeSnippet" style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New',courier,monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none">
      <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New',courier,monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"><span id="lnum1" style="color: #606060">   1:</span> <span style="color: #0000ff"><</span><span style="color: #800000">a</span> <span style="color: #ff0000">href</span><span style="color: #0000ff">="/file.axd?file=<strong>2009%2f6%2ffacePLANT.zip</strong>"</span><span style="color: #0000ff">></span></pre>
<!--CRLF--></div>
  </div>

  <p>The solution was to add one line code to the SimpleDownloadCounter.cs file. Just open the file and update the UpdateDisplay method:</p>

  <div id="codeSnippetWrapper" style="border-right: silver 1px solid; padding-right: 4px; border-top: silver 1px solid; padding-left: 4px; font-size: 8pt; padding-bottom: 4px; margin: 20px 0px 10px; overflow: auto; border-left: silver 1px solid; width: 97.5%; cursor: text; direction: ltr; max-height: 200px; line-height: 12pt; padding-top: 4px; border-bottom: silver 1px solid; font-family: 'Courier New',courier,monospace; background-color: #f4f4f4; text-align: left">
    <div id="codeSnippet" style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New',courier,monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none">
      <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New',courier,monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"><span id="lnum1" style="color: #606060">   1:</span> private <span style="color: #0000ff">string</span> UpdateDisplay(<span style="color: #0000ff">string</span> body)</pre>
<!--CRLF-->

      <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New',courier,monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"><span id="lnum2" style="color: #606060">   2:</span>   {</pre>
<!--CRLF-->

      <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New',courier,monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"><span id="lnum3" style="color: #606060">   3:</span>     <span style="color: #0000ff">if</span> (body.Contains(<span style="color: #006080">"file.axd?file="</span>))</pre>
<!--CRLF-->

      <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New',courier,monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"><span id="lnum4" style="color: #606060">   4:</span>     {</pre>
<!--CRLF-->

      <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New',courier,monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"><span id="lnum5" style="color: #606060">   5:</span>       <span style="color: #0000ff">int</span> pos = body.IndexOf(<span style="color: #006080">"file.axd?file="</span>);</pre>
<!--CRLF-->

      <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New',courier,monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"><span id="lnum6" style="color: #606060">   6:</span>       <span style="color: #0000ff">while</span> (pos > 0)</pre>
<!--CRLF-->

      <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New',courier,monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"><span id="lnum7" style="color: #606060">   7:</span>       {</pre>
<!--CRLF-->

      <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New',courier,monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"><span id="lnum8" style="color: #606060">   8:</span>         pos = pos + 14;</pre>
<!--CRLF-->

      <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New',courier,monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"><span id="lnum9" style="color: #606060">   9:</span>         <span style="color: #0000ff">string</span> filename = body.Substring(pos, body.IndexOf(<span style="color: #006080">"\""</span>, pos) - pos);</pre>
<!--CRLF-->

      <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New',courier,monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"><span id="lnum10" style="color: #606060">  10:</span>         filename = Uri.UnescapeDataString(filename);</pre>
<!--CRLF-->

      <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New',courier,monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"><span id="lnum11" style="color: #606060">  11:</span>         <span style="color: #0000ff">int</span> count = GetFileCount(filename);</pre>
<!--CRLF-->

      <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New',courier,monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"><span id="lnum12" style="color: #606060">  12:</span>         <span style="color: #0000ff">int</span> linkTextEnds = body.IndexOf(<span style="color: #006080">"</a>"</span>, pos);</pre>
<!--CRLF-->

      <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New',courier,monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"><span id="lnum13" style="color: #606060">  13:</span>         body = body.Insert(linkTextEnds, <span style="color: #006080">" [Downloads: "</span> + count.ToString() + <span style="color: #006080">"]"</span>);</pre>
<!--CRLF-->

      <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New',courier,monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"><span id="lnum14" style="color: #606060">  14:</span>         pos = body.IndexOf(<span style="color: #006080">"file.axd?file="</span>, pos);</pre>
<!--CRLF-->

      <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New',courier,monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"><span id="lnum15" style="color: #606060">  15:</span>       }</pre>
<!--CRLF-->

      <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New',courier,monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"><span id="lnum16" style="color: #606060">  16:</span>     }</pre>
<!--CRLF-->

      <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New',courier,monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"><span id="lnum17" style="color: #606060">  17:</span>     <span style="color: #0000ff">return</span> body;</pre>
<!--CRLF-->

      <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New',courier,monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"><span id="lnum18" style="color: #606060">  18:</span>   }</pre>
<!--CRLF--></div>
  </div>
</div>

<div class="text">
  <br /></div>

<div class="text">
  <p>I added line 10:</p>

  <div id="codeSnippetWrapper" style="border-right: silver 1px solid; padding-right: 4px; border-top: silver 1px solid; padding-left: 4px; font-size: 8pt; padding-bottom: 4px; margin: 20px 0px 10px; overflow: auto; border-left: silver 1px solid; width: 97.5%; cursor: text; direction: ltr; max-height: 200px; line-height: 12pt; padding-top: 4px; border-bottom: silver 1px solid; font-family: 'Courier New',courier,monospace; background-color: #f4f4f4; text-align: left">
    <div id="codeSnippet" style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New',courier,monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none">
      <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New',courier,monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"><span id="lnum1" style="color: #606060">   1:</span> filename = Uri.UnescapeDataString(filename);</pre>
<!--CRLF--></div>
  </div>

  <p> </p>

  <p>This will remove the URL Encoding from the HTML link before it tries to look it up in the xml file. Now the strings match and the counter works as intended.</p>
</div>]]></content:encoded><guid>http://www.lightninghammer.com/simple-counter-extension-fix-for-blogenginenet-15</guid></item><item><title>Update your facebook status with facePLANT</title><link>http://www.lightninghammer.com/update-your-facebook-status-with-faceplant</link><pubDate>Wed, 24 Jun 2009 05:00:00 GMT</pubDate><itunes:author /><dc:creator>Keith Storm</dc:creator><description><![CDATA[<div class="note_content text_align_ltr direction_ltr clearfix">
<p>
<strong>**UPDATE** </strong>I have released the source code for the project. <a href="http://www.lightninghammer.com/faceplant-windows-live-writer-facebook-plugin-source-code-released">Click here</a>.</p>
<p>I have finally found some time to finish up facePLANT. facePLANT is a simple Windows Live Writer (WLW) plug-in that updates your facebook status with a link to your blog post. facePLANT utilizes the Facebook Developer Toolkit and it interfaces with the facebook api and the tinyurl api (to create a short url to your post).</p>
<p>
</p>
<p>This plug-in is in the Beta stage, but should be pretty stable.</p>
<p>
</p>
<p><a href="http://blog.lightninghammer.com/post/2010/01/19/facePLANT-Windows-Live-Writer-Plugin-UPDATED.aspx">Click Here to Download</a><a href="http://www.lightninghammer.com/file.axd?file=2009%2f7%2ffacePLANT.zip"> the latest version<br />
</a></p>
<p>
</p>
<p><strong>Installation Instructions:</strong></p>
<p>
</p>
<ol>
    <li>Download the Zip file from above. </li>
    <li>Extract the DLL’s into your WLW Plugins directory (<em>Ex. C:Program Files (x86)Windows LiveWriterPlugins</em>) </li>
    <li>Run Windows Live Writer </li>
    <li><em>Optional: You may configure the default message by going to Tools > Options > Plugins > facePLANT > options button</em> </li>
</ol>
<p>If you run into trouble don’t hesitate to ask for help.</p>
<p>
</p>
<p><strong>Next Steps:</strong></p>
<p>
</p>
<p>Create an installer package and upload to Windows Live for the world to download.</p>
<p>
</p>
</div>
<p><a href="http://www.lightninghammer.com/file.axd?file=2009%2f7%2ffacePLANT.zip"><br />
</a></p>]]></description><itunes:summary>

**UPDATE** I have released the source code for the project. Click here.
I have finally found some time to finish up facePLANT. facePLANT is a simple Windows Live Writer (WLW) plug-in that updates your facebook status with a link to your blog post. facePLANT utilizes the Facebook Developer Toolkit and it interfaces with the facebook api and the tinyurl api (to create a short url to your post).


This plug-in is in the Beta stage, but should be pretty stable.


Click Here to Download the latest version



Installation Instructions:



    Download the Zip file from above. 
    Extract the DLL’s into your WLW Plugins directory (Ex. C:Program Files (x86)Windows LiveWriterPlugins) 
    Run Windows Live Writer 
    Optional: You may configure the default message by going to Tools &gt; Options &gt; Plugins &gt; facePLANT &gt; options button 

If you run into trouble don’t hesitate to ask for help.


Next Steps:


Create an installer package and upload to Windows Live for the world to download.




</itunes:summary><content:encoded><![CDATA[<div class="note_content text_align_ltr direction_ltr clearfix">
<p>
<strong>**UPDATE** </strong>I have released the source code for the project. <a href="http://www.lightninghammer.com/faceplant-windows-live-writer-facebook-plugin-source-code-released">Click here</a>.</p>
<p>I have finally found some time to finish up facePLANT. facePLANT is a simple Windows Live Writer (WLW) plug-in that updates your facebook status with a link to your blog post. facePLANT utilizes the Facebook Developer Toolkit and it interfaces with the facebook api and the tinyurl api (to create a short url to your post).</p>
<p>
</p>
<p>This plug-in is in the Beta stage, but should be pretty stable.</p>
<p>
</p>
<p><a href="http://blog.lightninghammer.com/post/2010/01/19/facePLANT-Windows-Live-Writer-Plugin-UPDATED.aspx">Click Here to Download</a><a href="http://www.lightninghammer.com/file.axd?file=2009%2f7%2ffacePLANT.zip"> the latest version<br />
</a></p>
<p>
</p>
<p><strong>Installation Instructions:</strong></p>
<p>
</p>
<ol>
    <li>Download the Zip file from above. </li>
    <li>Extract the DLL’s into your WLW Plugins directory (<em>Ex. C:Program Files (x86)Windows LiveWriterPlugins</em>) </li>
    <li>Run Windows Live Writer </li>
    <li><em>Optional: You may configure the default message by going to Tools > Options > Plugins > facePLANT > options button</em> </li>
</ol>
<p>If you run into trouble don’t hesitate to ask for help.</p>
<p>
</p>
<p><strong>Next Steps:</strong></p>
<p>
</p>
<p>Create an installer package and upload to Windows Live for the world to download.</p>
<p>
</p>
</div>
<p><a href="http://www.lightninghammer.com/file.axd?file=2009%2f7%2ffacePLANT.zip"><br />
</a></p>]]></content:encoded><guid>http://www.lightninghammer.com/update-your-facebook-status-with-faceplant</guid></item><item><title>Setup Windows Live Writer with BlogEngine.NET</title><link>http://www.lightninghammer.com/setup-windows-live-writer-with-blogenginenet</link><pubDate>Sat, 05 Jun 2010 01:36:03 GMT</pubDate><itunes:author /><dc:creator>Keith Storm</dc:creator><description><![CDATA[<div class="text">   <p>So you want to edit your blog straight from your desktop? There’s a nifty <strong>FREE</strong> program out there from Microsoft; Windows Live Writer. Here are our installation specs:</p>    <ol>     <li><a href="http://www.dotnetblogengine.net/" target="_blank">BlogEngine.NET 1.5</a> (Ours is setup to use SQL Server) </li>      <li><a href="http://windowslivewriter.spaces.live.com/" target="_blank">Windows Live Writer 2009</a> </li>   </ol>    <p>Now that you have those two installed, setup is a snap. There are just a few steps to configure Windows Live Writer. First you have to select the blog service.</p>    <p>Since we are using BlogEngine.NET (MetaWeblog API) we will select “Other blog service”.</p>    <p>Next provide your blog URL and login credentials.</p>    <p>If you have your blog installed in a sub-directory of your website you will use the sub-directory location:</p>    <p><a href="http://www.mysite.com/blog">http://www.mysite.com/blog</a></p>    <p>Otherwise, if your blog is installed at the root, you will use the root url:</p>    <p><a href="http://www.myblog.com/">http://www.myblog.com</a> or <a href="http://blog.mysite.com/">http://blog.mysite.com</a></p>    <p>BlogEngine.NET 1.5 supports Really Simple Discovery (RSD), so windows live writer will automatically determine the correct settings to post, edit, and delete posts. Finish the setup by naming your blog in Windows Live writer, and then you’re good to post until your heart is content.</p>    <p>Another great feature of Windows Live Writer is the use of <a href="http://gallery.live.com/results.aspx?c=0&bt=9&pl=8&st=5" target="_blank">plug-ins</a>. One useful plug-in I’ve found is the <a href="http://gallery.live.com/liveItemDetail.aspx?li=6b2b5ffe-936a-4cb3-869c-c01de29de176&bt=9" target="_blank">Twitter Notify</a> plug-in. This will allow you configure and post twitter updates for your blog posts.</p> </div>]]></description><itunes:summary>   So you want to edit your blog straight from your desktop? There’s a nifty FREE program out there from Microsoft; Windows Live Writer. Here are our installation specs:         BlogEngine.NET 1.5 (Ours is setup to use SQL Server)       Windows Live Writer 2009        Now that you have those two installed, setup is a snap. There are just a few steps to configure Windows Live Writer. First you have to select the blog service.    Since we are using BlogEngine.NET (MetaWeblog API) we will select “Other blog service”.    Next provide your blog URL and login credentials.    If you have your blog installed in a sub-directory of your website you will use the sub-directory location:    http://www.mysite.com/blog    Otherwise, if your blog is installed at the root, you will use the root url:    http://www.myblog.com or http://blog.mysite.com    BlogEngine.NET 1.5 supports Really Simple Discovery (RSD), so windows live writer will automatically determine the correct settings to post, edit, and delete posts. Finish the setup by naming your blog in Windows Live writer, and then you’re good to post until your heart is content.    Another great feature of Windows Live Writer is the use of plug-ins. One useful plug-in I’ve found is the Twitter Notify plug-in. This will allow you configure and post twitter updates for your blog posts. </itunes:summary><content:encoded><![CDATA[<div class="text">   <p>So you want to edit your blog straight from your desktop? There’s a nifty <strong>FREE</strong> program out there from Microsoft; Windows Live Writer. Here are our installation specs:</p>    <ol>     <li><a href="http://www.dotnetblogengine.net/" target="_blank">BlogEngine.NET 1.5</a> (Ours is setup to use SQL Server) </li>      <li><a href="http://windowslivewriter.spaces.live.com/" target="_blank">Windows Live Writer 2009</a> </li>   </ol>    <p>Now that you have those two installed, setup is a snap. There are just a few steps to configure Windows Live Writer. First you have to select the blog service.</p>    <p>Since we are using BlogEngine.NET (MetaWeblog API) we will select “Other blog service”.</p>    <p>Next provide your blog URL and login credentials.</p>    <p>If you have your blog installed in a sub-directory of your website you will use the sub-directory location:</p>    <p><a href="http://www.mysite.com/blog">http://www.mysite.com/blog</a></p>    <p>Otherwise, if your blog is installed at the root, you will use the root url:</p>    <p><a href="http://www.myblog.com/">http://www.myblog.com</a> or <a href="http://blog.mysite.com/">http://blog.mysite.com</a></p>    <p>BlogEngine.NET 1.5 supports Really Simple Discovery (RSD), so windows live writer will automatically determine the correct settings to post, edit, and delete posts. Finish the setup by naming your blog in Windows Live writer, and then you’re good to post until your heart is content.</p>    <p>Another great feature of Windows Live Writer is the use of <a href="http://gallery.live.com/results.aspx?c=0&bt=9&pl=8&st=5" target="_blank">plug-ins</a>. One useful plug-in I’ve found is the <a href="http://gallery.live.com/liveItemDetail.aspx?li=6b2b5ffe-936a-4cb3-869c-c01de29de176&bt=9" target="_blank">Twitter Notify</a> plug-in. This will allow you configure and post twitter updates for your blog posts.</p> </div>]]></content:encoded><guid>http://www.lightninghammer.com/setup-windows-live-writer-with-blogenginenet</guid></item><item><title>We have a place to rest our boots.</title><link>http://www.lightninghammer.com/we-have-a-place-to-rest-our-boots</link><pubDate>Sat, 05 Jun 2010 01:36:03 GMT</pubDate><itunes:author /><dc:creator>Keith Storm</dc:creator><description><![CDATA[<a title="201 Riverplace by LightningHammer, on Flickr" href="http://www.flickr.com/photos/lightninghammer/3698680804/"><img style="display: inline; margin: 10px 10px 0px 0px" height="240" alt="201 Riverplace" src="http://farm3.static.flickr.com/2506/3698680804_9001f7dc03_m.jpg" width="160" align="left" /></a>  <p>We have established our base of operations at River Place in downtown Greenville. This wonderful location sits directly on the Reedy River and is walking distance from the Reedy River Falls. We are very excited to be residing at this great location. Look us up on <a href="http://maps.google.com/maps?q=201+river+street+greenville+sc&oe=utf-8&rls=org.mozilla:en-US:official&client=firefox-a&um=1&ie=UTF-8&split=0&gl=us&ei=BxMOSs3MMtGJtgeGnon4Bw&sa=X&oi=geocode_result&ct=title&resnum=1">Google Maps</a>.</p>]]></description><itunes:summary>  We have established our base of operations at River Place in downtown Greenville. This wonderful location sits directly on the Reedy River and is walking distance from the Reedy River Falls. We are very excited to be residing at this great location. Look us up on Google Maps.</itunes:summary><content:encoded><![CDATA[<a title="201 Riverplace by LightningHammer, on Flickr" href="http://www.flickr.com/photos/lightninghammer/3698680804/"><img style="display: inline; margin: 10px 10px 0px 0px" height="240" alt="201 Riverplace" src="http://farm3.static.flickr.com/2506/3698680804_9001f7dc03_m.jpg" width="160" align="left" /></a>  <p>We have established our base of operations at River Place in downtown Greenville. This wonderful location sits directly on the Reedy River and is walking distance from the Reedy River Falls. We are very excited to be residing at this great location. Look us up on <a href="http://maps.google.com/maps?q=201+river+street+greenville+sc&oe=utf-8&rls=org.mozilla:en-US:official&client=firefox-a&um=1&ie=UTF-8&split=0&gl=us&ei=BxMOSs3MMtGJtgeGnon4Bw&sa=X&oi=geocode_result&ct=title&resnum=1">Google Maps</a>.</p>]]></content:encoded><guid>http://www.lightninghammer.com/we-have-a-place-to-rest-our-boots</guid></item><item><title>Facebook Windows Live Writer Plugin – Development Begins</title><link>http://www.lightninghammer.com/facebook-windows-live-writer-plugin-development-begins</link><pubDate>Tue, 23 Jun 2009 05:00:00 GMT</pubDate><itunes:author /><dc:creator>Keith Storm</dc:creator><description><![CDATA[<p class="text"><strong>**UPDATE 2**</strong> The source code for the project is available <a href="http://www.lightninghammer.com/faceplant-windows-live-writer-facebook-plugin-source-code-released">here</a>.</p>
<p>**<strong>UDPATE**</strong> Download the latest version here: <a href="http://blog.lightninghammer.com/post/2010/01/19/facePLANT-Windows-Live-Writer-Plugin-UPDATED.aspx">facePLANT</a></p>
<p>
</p>
<p>I’ve been playing a lot with Windows Live Writer the past few weeks and I was surprised at the small amount of facebook enabled applications; so I wrote one:</p>
<p>
</p>
<p><a href="http://blog.lightninghammer.com/image.axd?picture=faceplant-1.jpg"><img width="240" height="84" style="border-width: 0px; display: inline; border-style: solid;" title="faceplant-1" src="http://www.lightninghammer.com/websites/lightninghammer/images/blog/faceplant-1_thumb.jpg" alt="faceplant-1" /></a></p>
<p>
</p>
<p>This plug-in functions in similar fashion to the <a href="http://gallery.live.com/liveItemDetail.aspx?li=6b2b5ffe-936a-4cb3-869c-c01de29de176" target="_blank">Twitter Notify</a> plug-in, except it publishes to your facebook profile instead. This application is still in the alpha stage so we have a good bit more testing to do.</p>
<p>
</p>
<p>Stay tuned in the next week for a downloadable beta version and more detailed specs.</p>
<p>
</p>]]></description><itunes:summary>**UPDATE 2** The source code for the project is available here.
**UDPATE** Download the latest version here: facePLANT


I’ve been playing a lot with Windows Live Writer the past few weeks and I was surprised at the small amount of facebook enabled applications; so I wrote one:





This plug-in functions in similar fashion to the Twitter Notify plug-in, except it publishes to your facebook profile instead. This application is still in the alpha stage so we have a good bit more testing to do.


Stay tuned in the next week for a downloadable beta version and more detailed specs.

</itunes:summary><content:encoded><![CDATA[<p class="text"><strong>**UPDATE 2**</strong> The source code for the project is available <a href="http://www.lightninghammer.com/faceplant-windows-live-writer-facebook-plugin-source-code-released">here</a>.</p>
<p>**<strong>UDPATE**</strong> Download the latest version here: <a href="http://blog.lightninghammer.com/post/2010/01/19/facePLANT-Windows-Live-Writer-Plugin-UPDATED.aspx">facePLANT</a></p>
<p>
</p>
<p>I’ve been playing a lot with Windows Live Writer the past few weeks and I was surprised at the small amount of facebook enabled applications; so I wrote one:</p>
<p>
</p>
<p><a href="http://blog.lightninghammer.com/image.axd?picture=faceplant-1.jpg"><img width="240" height="84" style="border-width: 0px; display: inline; border-style: solid;" title="faceplant-1" src="http://www.lightninghammer.com/websites/lightninghammer/images/blog/faceplant-1_thumb.jpg" alt="faceplant-1" /></a></p>
<p>
</p>
<p>This plug-in functions in similar fashion to the <a href="http://gallery.live.com/liveItemDetail.aspx?li=6b2b5ffe-936a-4cb3-869c-c01de29de176" target="_blank">Twitter Notify</a> plug-in, except it publishes to your facebook profile instead. This application is still in the alpha stage so we have a good bit more testing to do.</p>
<p>
</p>
<p>Stay tuned in the next week for a downloadable beta version and more detailed specs.</p>
<p>
</p>]]></content:encoded><guid>http://www.lightninghammer.com/facebook-windows-live-writer-plugin-development-begins</guid></item></channel></rss>