<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>brett weiss</title>
	<atom:link href="http://brettweiss.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://brettweiss.wordpress.com</link>
	<description>programmer / web developer</description>
	<lastBuildDate>Wed, 07 Dec 2011 04:49:22 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='brettweiss.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>brett weiss</title>
		<link>http://brettweiss.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://brettweiss.wordpress.com/osd.xml" title="brett weiss" />
	<atom:link rel='hub' href='http://brettweiss.wordpress.com/?pushpress=hub'/>
		<item>
		<title>GET Request Parameter with JavaScript</title>
		<link>http://brettweiss.wordpress.com/2011/05/09/get-request-parameter-with-javascript/</link>
		<comments>http://brettweiss.wordpress.com/2011/05/09/get-request-parameter-with-javascript/#comments</comments>
		<pubDate>Tue, 10 May 2011 01:59:12 +0000</pubDate>
		<dc:creator>Brett Weiss</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[WEB]]></category>

		<guid isPermaLink="false">http://brettweiss.wordpress.com/?p=231</guid>
		<description><![CDATA[I found an easy method to get url parameters with JavaScript. The beauty is that it uses a JavaScript closure to cache the values so that it can be called multiple times without unneeded processing: var urlParameter = (function() { var parameters = undefined; return function (paramName) { if (parameters == undefined) { parameters = [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=brettweiss.wordpress.com&amp;blog=5032382&amp;post=231&amp;subd=brettweiss&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I found an easy method to get url parameters with JavaScript. The beauty is that it uses a JavaScript closure to cache the values so that it can be called multiple times without unneeded processing:</p>
<pre>var urlParameter = (function() {
    var parameters = undefined;
    return function (paramName) {
        if (parameters == undefined) {
            parameters = {};
            var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&amp;');
            for (var i = 0; i &lt; hashes.length; i++) {
                hash = hashes[i].split('=');
                parameters[hash[0]] = hash[1];
            }
        }
        return parameters[paramName];
    }
}());</pre>
<p>Usage:</p>
<pre>urlParameter(parameterName);</pre>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/brettweiss.wordpress.com/231/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/brettweiss.wordpress.com/231/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/brettweiss.wordpress.com/231/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/brettweiss.wordpress.com/231/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/brettweiss.wordpress.com/231/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/brettweiss.wordpress.com/231/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/brettweiss.wordpress.com/231/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/brettweiss.wordpress.com/231/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/brettweiss.wordpress.com/231/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/brettweiss.wordpress.com/231/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/brettweiss.wordpress.com/231/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/brettweiss.wordpress.com/231/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/brettweiss.wordpress.com/231/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/brettweiss.wordpress.com/231/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=brettweiss.wordpress.com&amp;blog=5032382&amp;post=231&amp;subd=brettweiss&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://brettweiss.wordpress.com/2011/05/09/get-request-parameter-with-javascript/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/019e24b6ab4e41db5cee8b059f1277d0?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">brettweiss</media:title>
		</media:content>
	</item>
		<item>
		<title>JSF CommandLink onclick event</title>
		<link>http://brettweiss.wordpress.com/2009/10/29/jsf-commandlink-onclick-event/</link>
		<comments>http://brettweiss.wordpress.com/2009/10/29/jsf-commandlink-onclick-event/#comments</comments>
		<pubDate>Thu, 29 Oct 2009 20:57:01 +0000</pubDate>
		<dc:creator>Brett Weiss</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[dev]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[WEB]]></category>

		<guid isPermaLink="false">http://brettweiss.wordpress.com/?p=209</guid>
		<description><![CDATA[Note: this is fixed in JSF 1.2 but for those of us not there yet &#8230; The JSF CommandLink (h:commandLink) tag allows a link to act like an html form submit button. Much to my dismay I discovered that this tag doesn&#8217;t support the JavaScript onclick event. This is probably because JSF adds functionality for [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=brettweiss.wordpress.com&amp;blog=5032382&amp;post=209&amp;subd=brettweiss&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><strong>Note: this is fixed in JSF 1.2 but for those of us not there yet &#8230;</strong>
<p>The JSF CommandLink (h:commandLink) tag allows a link to act like an html form submit button. Much to my dismay I discovered that this tag doesn&#8217;t support the JavaScript onclick event. This is probably because JSF adds functionality for this event to simulate the form submit.</p>
<p>To solve this problem I wrote a JavaScript function that accepts an html element (CommandLink element) and a function I want to run onclick. After receiving these two arguments it will evaluate IF onclick functionality currently exists. If so, then it will ensure the function parameter passed in will be executed before the JSF provided onclick functionality. If not, then only the passed in function will be executed. Below is the JavaScript:</p>
<pre>
// random method I want to run onclick
someFunction = function() {
    alert('jsf ... yeah?');
}

// jsf commandLink onclick hack
jsfCommandLinkHack = function(link, onClickFunction) {
    // check the link exists
    if (link) {
        // get current (JSF) onclick functionality
        var clickFn = link.onclick;
	if (clickFn) { // add new functionality
		link.onclick = function() {
                     return (onClickFunction() == false) ? false : clickFn();
                }
        } else {
	    link.onclick = function() { return onClickFunction(); }
	}
    }
}

// handler
// element = form element
jsfCommandLinkHack(element, someFunction);
</pre>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/brettweiss.wordpress.com/209/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/brettweiss.wordpress.com/209/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/brettweiss.wordpress.com/209/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/brettweiss.wordpress.com/209/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/brettweiss.wordpress.com/209/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/brettweiss.wordpress.com/209/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/brettweiss.wordpress.com/209/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/brettweiss.wordpress.com/209/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/brettweiss.wordpress.com/209/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/brettweiss.wordpress.com/209/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/brettweiss.wordpress.com/209/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/brettweiss.wordpress.com/209/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/brettweiss.wordpress.com/209/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/brettweiss.wordpress.com/209/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=brettweiss.wordpress.com&amp;blog=5032382&amp;post=209&amp;subd=brettweiss&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://brettweiss.wordpress.com/2009/10/29/jsf-commandlink-onclick-event/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/019e24b6ab4e41db5cee8b059f1277d0?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">brettweiss</media:title>
		</media:content>
	</item>
		<item>
		<title>Version Control</title>
		<link>http://brettweiss.wordpress.com/2009/10/14/version-control/</link>
		<comments>http://brettweiss.wordpress.com/2009/10/14/version-control/#comments</comments>
		<pubDate>Thu, 15 Oct 2009 01:17:39 +0000</pubDate>
		<dc:creator>Brett Weiss</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[dev]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[scm]]></category>

		<guid isPermaLink="false">http://brettweiss.wordpress.com/?p=207</guid>
		<description><![CDATA[With Version Control being a hot topic around my office I&#8217;ve been collecting links. Thought I&#8217;d put them out here so I don&#8217;t lose them. SVN Book Fossil Branching Patterns<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=brettweiss.wordpress.com&amp;blog=5032382&amp;post=207&amp;subd=brettweiss&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>With Version Control being a hot topic around my office I&#8217;ve been collecting links. Thought I&#8217;d put them out here so I don&#8217;t lose them.</p>
<ul>
<li><a href="http://svnbook.red-bean.com/">SVN Book</a></li>
<li><a href="http://www.fossil-scm.org/index.html/doc/tip/www/selfhost.wiki">Fossil</a></li>
<li><a href="http://www.cmcrossroads.com/bradapp/acme/branching/">Branching Patterns</a></li>
</ul>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/brettweiss.wordpress.com/207/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/brettweiss.wordpress.com/207/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/brettweiss.wordpress.com/207/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/brettweiss.wordpress.com/207/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/brettweiss.wordpress.com/207/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/brettweiss.wordpress.com/207/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/brettweiss.wordpress.com/207/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/brettweiss.wordpress.com/207/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/brettweiss.wordpress.com/207/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/brettweiss.wordpress.com/207/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/brettweiss.wordpress.com/207/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/brettweiss.wordpress.com/207/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/brettweiss.wordpress.com/207/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/brettweiss.wordpress.com/207/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=brettweiss.wordpress.com&amp;blog=5032382&amp;post=207&amp;subd=brettweiss&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://brettweiss.wordpress.com/2009/10/14/version-control/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/019e24b6ab4e41db5cee8b059f1277d0?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">brettweiss</media:title>
		</media:content>
	</item>
		<item>
		<title>Ajax Experience 2009 &#8230; Day 3</title>
		<link>http://brettweiss.wordpress.com/2009/10/14/ajax-experience-2009-day-3/</link>
		<comments>http://brettweiss.wordpress.com/2009/10/14/ajax-experience-2009-day-3/#comments</comments>
		<pubDate>Wed, 14 Oct 2009 20:27:59 +0000</pubDate>
		<dc:creator>Brett Weiss</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[dev]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[WEB]]></category>

		<guid isPermaLink="false">http://brettweiss.wordpress.com/?p=102</guid>
		<description><![CDATA[The third and final day of the conference had a couple of highlights for me. SpritMe &#8211; Steve Sounders Steve sounders gave a quick presentation on his SpriteMe tool, which was really cool. SpriteMe basically takes a look at an entire web page and figures out the best way to reorganize images that doesn&#8217;t sacrifice [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=brettweiss.wordpress.com&amp;blog=5032382&amp;post=102&amp;subd=brettweiss&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>
<div>The third and final day of the conference had a couple of highlights for me.</div>
</p>
<p></p>
<h4>SpritMe &#8211; Steve Sounders</h4>
<p>Steve sounders gave a quick presentation on his SpriteMe tool, which was really cool. SpriteMe basically takes a look at an entire web page and figures out the best way to reorganize images that doesn&#8217;t sacrifice page layout, but decreases the number of http requests it takes to load a web page (thus decreasing page load time). Since I can&#8217;t do this presentation justice you&#8217;ll just have to check out the spriteme link: <a href="http://spriteme.org">http://spriteme.org</a></p>
<h4>Phone Gab &#8211; Brian Leroux</h4>
<p>This presentation started by explaining the problems with mobile phone development (behind the times, several mobile platforms &#8230; iPhone, Palm Pre, Android, etc.) and how PhoneGap can help solve these problems. Presenter went into some detail presenting the highlights and relative low-lights of PhoneGap.</p>
<p>The highlights included that PhoneGap is open source, can handle mobile development on multiple platforms, and every app can be written in html, css and javascript while still taking advantage of each platforms strengths. The low-lights being lack of testing and documentation, which were mostly due to the developers not thinking the concept with work and thus didn&#8217;t bother. To check out their site for more information on PhoneGap: <a href="http://www.phonegap.com/">http://www.phonegap.com/</a></p>
<h4>ARIA: Pushing Accessibility Even Further &#8211; Joe McCann</h4>
<p>ADA is the least you can do. But really not that great for Ajax  applications. WAI-ARIA spec is the top of the mountain. Most screen readers can  handle this format.</p>
<p>
<div><span style="font-weight:bold;">A</span>ccessible <span style="font-weight:bold;">R</span>ich <span style="font-weight:bold;">I</span>nternet<span style="font-weight:bold;"> A</span>pplications &#8211; addresses the accessibility of dynamic Web content for  people with disabilities. This is a newer W3C standard for supporting web  accessibility.</div>
</p>
<p>
<div>WAI-ARIA: <a href="http://www.w3.org/WAI/intro/aria.php">http://www.w3.org/WAI/intro/aria.php</a></div>
<div>Slides: <a href="http://www.slideshare.net/ajaxexperience2009/joe-mc-cann-tae-aria-presentation">http://www.slideshare.net/ajaxexperience2009/joe-mc-cann-tae-aria-presentation</a></div>
</p>
<p></p>
<h4>Progressive Enhancement</h4>
<p>All the presenters that dealt with any JavaScript or front end enhancements consistently talked about Progressive Enhancement. It&#8217;s a pretty interesting topic that I haven&#8217;t been incorporating in my development up until this point. In fact, I didn&#8217;t even know much about it until this conference. So I pulled the following link, which I thought gave a good explanation. I&#8217;m totally on the Progressive Enhancement boat. I love the concept of producing HTML as dumb as possible  then use CSS and JavaScript to add functionality based on browser  functions rather then user-agent.</p></div>
</p>
<p>
<div><a href="http://www.alistapart.com/articles/understandingprogressiveenhancement">http://www.alistapart.com/articles/understandingprogressiveenhancement</a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/brettweiss.wordpress.com/102/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/brettweiss.wordpress.com/102/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/brettweiss.wordpress.com/102/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/brettweiss.wordpress.com/102/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/brettweiss.wordpress.com/102/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/brettweiss.wordpress.com/102/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/brettweiss.wordpress.com/102/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/brettweiss.wordpress.com/102/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/brettweiss.wordpress.com/102/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/brettweiss.wordpress.com/102/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/brettweiss.wordpress.com/102/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/brettweiss.wordpress.com/102/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/brettweiss.wordpress.com/102/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/brettweiss.wordpress.com/102/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=brettweiss.wordpress.com&amp;blog=5032382&amp;post=102&amp;subd=brettweiss&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://brettweiss.wordpress.com/2009/10/14/ajax-experience-2009-day-3/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/019e24b6ab4e41db5cee8b059f1277d0?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">brettweiss</media:title>
		</media:content>
	</item>
		<item>
		<title>Ajax Experience 2009 &#8230; Day 2</title>
		<link>http://brettweiss.wordpress.com/2009/10/02/ajax-experience-2009-day-2/</link>
		<comments>http://brettweiss.wordpress.com/2009/10/02/ajax-experience-2009-day-2/#comments</comments>
		<pubDate>Sat, 03 Oct 2009 00:04:48 +0000</pubDate>
		<dc:creator>Brett Weiss</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Ajax]]></category>
		<category><![CDATA[dev]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[WEB]]></category>

		<guid isPermaLink="false">http://brettweiss.wordpress.com/?p=97</guid>
		<description><![CDATA[On day 2 of the Ajax Experience it started out with a presentation on ECMAScript Harmony and the Future of JavaScript. This presentation went into a lot of detail on the new standards in JavaScript. However, it didn&#8217;t cover the newer features. I also attended a presentation on Web Compatibility and Performance Testing given by [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=brettweiss.wordpress.com&amp;blog=5032382&amp;post=97&amp;subd=brettweiss&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>On day 2 of the Ajax Experience it started out with a presentation on ECMAScript Harmony and the Future of JavaScript. This presentation went into a lot of detail on the new standards in JavaScript. However, it didn&#8217;t cover the newer features.</p>
<p>I also attended a presentation on Web Compatibility and Performance Testing given by Imad Mouline and Ryan Breen of Gomez Inc. This was a good presentation on evaluating browser speeds. Not surprised to see that Google Chrome and Apple Safari showed the fastest browser times and that IE and Firefox were the slowest. This session also covered topics such as time to first byte and domain sharding.</p>
<p>Just after lunch I hit the vendor session IE8 given by Chris Bowen. This was a quick session by nature (all the vendor tech sessions were only a half hour). Chirs did a good job of showing the new developer tools in IE8. Two things I was glad to see is that the developer tools are finally on par with those offered by Firebug and that IE8 can emulate IE7.</p>
<p>The highlight on the second day for my money was Object Oriented CSS given by <a href="http://www.stubbornella.org/content/">Nicole Sullivan</a>.  The presentation offered a shift away from how I normally think of CSS (styling by element) to focusing on styling by class. The benfit being smaller more managable CSS files and fewer defined styles.</p>
<ul>
<li>Avoid Styling by location.</li>
<li>Define defaults.</li>
<li>If two styles are so close (aka heading 3 and heading 4 should have more of a difference then 1 pixel) then throw one out and only use one.</li>
<li>When adding classes to a style you may not know what one will take precedence.</li>
<li><a href="http://www.slideshare.net/stubbornella/what-is-object-oriented-css">Slideshow</a></li>
</ul>
<p>The final presentation of the day that I attended was on JavaScript patterns given by Stoyan Stefanov. This presentation quickly covered JavaScript patterns and anti-patterns. His <a href="http://www.jspatterns.com/">website</a> pretty much summed up his presentation. Also, here is the <a href="http://www.slideshare.net/stoyan/javascript-patterns">slideshow</a>.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/brettweiss.wordpress.com/97/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/brettweiss.wordpress.com/97/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/brettweiss.wordpress.com/97/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/brettweiss.wordpress.com/97/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/brettweiss.wordpress.com/97/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/brettweiss.wordpress.com/97/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/brettweiss.wordpress.com/97/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/brettweiss.wordpress.com/97/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/brettweiss.wordpress.com/97/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/brettweiss.wordpress.com/97/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/brettweiss.wordpress.com/97/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/brettweiss.wordpress.com/97/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/brettweiss.wordpress.com/97/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/brettweiss.wordpress.com/97/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=brettweiss.wordpress.com&amp;blog=5032382&amp;post=97&amp;subd=brettweiss&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://brettweiss.wordpress.com/2009/10/02/ajax-experience-2009-day-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/019e24b6ab4e41db5cee8b059f1277d0?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">brettweiss</media:title>
		</media:content>
	</item>
		<item>
		<title>Perform while loop in the Selenium IDE</title>
		<link>http://brettweiss.wordpress.com/2009/09/25/perform-while-loop-in-the-selenium-ide/</link>
		<comments>http://brettweiss.wordpress.com/2009/09/25/perform-while-loop-in-the-selenium-ide/#comments</comments>
		<pubDate>Sat, 26 Sep 2009 05:33:08 +0000</pubDate>
		<dc:creator>Brett Weiss</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[dev]]></category>
		<category><![CDATA[WEB]]></category>

		<guid isPermaLink="false">http://brettweiss.wordpress.com/?p=105</guid>
		<description><![CDATA[Using the Selenium IDE plugin with Firefox I was able to create a test script that loops through values held in a JavaScript array. I was then able to use each value from the array in a simple test. Below is a brief description on how to perform this task. First, you&#8217;ll need to go [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=brettweiss.wordpress.com&amp;blog=5032382&amp;post=105&amp;subd=brettweiss&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Using the Selenium IDE plugin with Firefox I was able to create a test script that loops through values held in a JavaScript array. I was then able to use each value from the array in a simple test. Below is a brief description on how to perform this task.</p>
<p>First, you&#8217;ll need to go out and add a JavaScript extension library to your Selenium IDE to support the while loop. You can find the JavaScript file and a &#8216;how-to&#8217; here:</p>
<p><a href="http://51elliot.blogspot.com/2008/02/selenium-ide-goto.html">http://51elliot.blogspot.com/2008/02/selenium-ide-goto.html</a></p>
<p>Second, write your test script.  My test is just a quick simple script that will: iterate through a JavaScript array of <a href="http://twitter.com">Twitter</a> account names, log to the Selenium IDE console the account name, open up that account&#8217;s Twitter page, and select each accounts <em>following</em> link. The script isn&#8217;t very elaborate, but you get the point.</p>
<p>You&#8217;ll notice (see below) that the script generously uses the <strong><em>getEval </em></strong>command provided by the Selenium IDE. This command tells the IDE to execute the JavaScript provided in the <strong>Target </strong>field. I also use the <strong>javascript{}</strong> notation in the Target field to get at my defined variables.</p>
<p>Here&#8217;s a screenshot of what my test looks like in the Selenium IDE:</p>
<div id="attachment_112" class="wp-caption aligncenter" style="width: 428px"><a href="http://brettweiss.files.wordpress.com/2009/09/whileloopinseleniumide1.jpg"><img class="size-full wp-image-112" title="whileLoopInSeleniumIde" src="http://brettweiss.files.wordpress.com/2009/09/whileloopinseleniumide1.jpg?w=620" alt="While Loop In Selenium"   /></a><p class="wp-caption-text">While Loop In Selenium</p></div>
<p>There are certainly other  Selenium commands that could have been used here to accomplish the same thing. Besides the <strong><em>getEval </em></strong>command the Selenium IDE supports a <strong><em>store </em></strong>command for storing variables as well as some short cut notation for getting at those variables. There is also a <strong><em>runScript</em></strong> command that works similar to the <strong>getEval </strong>command. You&#8217;ll need to research those on your own and decide what works best for you.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/brettweiss.wordpress.com/105/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/brettweiss.wordpress.com/105/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/brettweiss.wordpress.com/105/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/brettweiss.wordpress.com/105/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/brettweiss.wordpress.com/105/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/brettweiss.wordpress.com/105/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/brettweiss.wordpress.com/105/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/brettweiss.wordpress.com/105/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/brettweiss.wordpress.com/105/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/brettweiss.wordpress.com/105/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/brettweiss.wordpress.com/105/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/brettweiss.wordpress.com/105/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/brettweiss.wordpress.com/105/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/brettweiss.wordpress.com/105/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=brettweiss.wordpress.com&amp;blog=5032382&amp;post=105&amp;subd=brettweiss&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://brettweiss.wordpress.com/2009/09/25/perform-while-loop-in-the-selenium-ide/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/019e24b6ab4e41db5cee8b059f1277d0?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">brettweiss</media:title>
		</media:content>

		<media:content url="http://brettweiss.files.wordpress.com/2009/09/whileloopinseleniumide1.jpg" medium="image">
			<media:title type="html">whileLoopInSeleniumIde</media:title>
		</media:content>
	</item>
		<item>
		<title>Ajax Experience 2009 &#8230; Day 1</title>
		<link>http://brettweiss.wordpress.com/2009/09/20/ajax-experience-2009-day-1/</link>
		<comments>http://brettweiss.wordpress.com/2009/09/20/ajax-experience-2009-day-1/#comments</comments>
		<pubDate>Mon, 21 Sep 2009 02:05:17 +0000</pubDate>
		<dc:creator>Brett Weiss</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Ajax]]></category>
		<category><![CDATA[dev]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[WEB]]></category>

		<guid isPermaLink="false">http://brettweiss.wordpress.com/?p=84</guid>
		<description><![CDATA[Day 1 of the Ajax Experience opened up with The Future of Ajax: The Browser Reinvented. The presentation was given by Ben Galbraith (Co-Founder, ajaxian.com).  This was a really well done presentation. The focus was on new browser features that will greatly enhance ajax and web development. The Future of Ajax: highlights canvas &#8211; html [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=brettweiss.wordpress.com&amp;blog=5032382&amp;post=84&amp;subd=brettweiss&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Day 1 of the Ajax Experience opened up with <strong>The Future of Ajax: The Browser Reinvented</strong><strong>.</strong> The presentation was given by Ben Galbraith (Co-Founder, ajaxian.com).  This was a really well done presentation. The focus was on new browser features that will greatly enhance ajax and web development.</p>
<p><strong>The Future of Ajax: highlights</strong></p>
<ul>
<li>canvas &#8211; html 5.0 element for drawing graphics and creating animations when combined with JavaScript. Not supported in all browsers yet. After the conference I found this <a href="https://developer.mozilla.org/en/Canvas_tutorial">tutorial </a>from Mozilla.</li>
<li><a href="http://bespin.mozilla.com">Bespin </a>- online code editor that makes use of canvas and JavaScript. Very, very cool! I think this really shows off what&#8217;s possible.</li>
<li>Using the web to extend plugins with: <a href="http://gears.google.com/">Google Gears</a>, <a href="http://fluidapp.com/">Fluid</a>, <a href="http://labs.mozilla.com/blog/2007/10/prism">Mozilla Prism</a>, and <a href="http://ajaxian.com/archives/jetpack-extensions">JetPack</a>.</li>
</ul>
<p>For me the highlight of the day had to be the presentation by <a href="http://stevesouders.com/">Steve Sounders</a> on Even Faster Web Sites. Steve covered best practices for speeding up the loading of web pages along with several tools to help web developers evaluate and correct page load problems. Here are my notes from this presentation:</p>
<ul>
<li>Up to 80% of page loading time is spent on the front end and not the back end of the application. If back end processing is longer than this then either the server side code is bad or infrastructure has problems.</li>
<li>Tools for tracking web page load speeds include: <a href="http://developer.yahoo.com/yslow/">YSlow</a> and <a href="http://code.google.com/speed/page-speed/">Google Page Speed</a>. Both are Firebug plugins.</li>
<li>Some tips for increasing load times are: compress JavaScript files with <a href="http://developer.yahoo.net/blog/archives/2007/07/high_performanc_3.html">gzip</a>, move script tags to bottom of html page, and load JavaScript in parallel (all other elements on page will wait until external scrips are loaded).</li>
</ul>
<p><strong><span style="font-weight:normal;"><br />
</span></strong></p>
<div style="display:none;">Bing noted a 4.37 drop in revenue when page speed times were 2000ms longer. Yahoo saw in 5.9% drop in page views when page load times drop by 400ms. Google sees a .59% drop in page views when load times were up 400ms. AOL sees 50% more page views from users with faster internet speed. Shopzilla dropped their page load times by 5000ms which caused a 7 to 12 percent jump in revenue.</div>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/brettweiss.wordpress.com/84/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/brettweiss.wordpress.com/84/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/brettweiss.wordpress.com/84/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/brettweiss.wordpress.com/84/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/brettweiss.wordpress.com/84/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/brettweiss.wordpress.com/84/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/brettweiss.wordpress.com/84/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/brettweiss.wordpress.com/84/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/brettweiss.wordpress.com/84/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/brettweiss.wordpress.com/84/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/brettweiss.wordpress.com/84/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/brettweiss.wordpress.com/84/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/brettweiss.wordpress.com/84/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/brettweiss.wordpress.com/84/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=brettweiss.wordpress.com&amp;blog=5032382&amp;post=84&amp;subd=brettweiss&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://brettweiss.wordpress.com/2009/09/20/ajax-experience-2009-day-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/019e24b6ab4e41db5cee8b059f1277d0?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">brettweiss</media:title>
		</media:content>
	</item>
		<item>
		<title>Ajax Experience 2009</title>
		<link>http://brettweiss.wordpress.com/2009/09/20/ajax-experience-day-1/</link>
		<comments>http://brettweiss.wordpress.com/2009/09/20/ajax-experience-day-1/#comments</comments>
		<pubDate>Sun, 20 Sep 2009 22:24:19 +0000</pubDate>
		<dc:creator>Brett Weiss</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[dev]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[WEB]]></category>

		<guid isPermaLink="false">http://brettweiss.wordpress.com/?p=81</guid>
		<description><![CDATA[I recently had the opportunity to attend the Ajax Experience (09/2009) that was held in Boston. Going into the conference I wasn&#8217;t sure what to expect. A lot of my work as of late has been on back end functionality rather then on user experience. Despite this my interest lies in developing the complete application [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=brettweiss.wordpress.com&amp;blog=5032382&amp;post=81&amp;subd=brettweiss&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I recently had the opportunity to attend the Ajax Experience (09/2009) that was held in Boston. Going into the conference I wasn&#8217;t sure what to expect. A lot of my work as of late has been on back end functionality rather then on user experience. Despite this my interest lies in developing the complete application from front to back.</p>
<p>This conference didn&#8217;t disappoint. There, of course, was a large emphasis (to name a few) on user experience, ajax, javascript, Json, and mobile phone development.</p>
<p>I&#8217;ve now posted all three of my day by day impressions. These are really just a rambling of notes and links, but I felt it was important to post this stuff. Mainly so I don&#8217;t lose it. </p>
<p><strong>Overall Conference Rating (4.5 out of 5.0)</strong><br />
Speakers: 4.5<br />Sessions: 4.5 <br />Location: 4.5</p>
<p><strong>Conference Links</strong><br />
Conference: <a href="http://ajaxexperience.techtarget.com/conference/index.html">http://ajaxexperience.techtarget.com/conference/index.html</a><br />
Slide shows: <a href="http://www.slideshare.net/ajaxexperience2009/slideshows">http://www.slideshare.net/ajaxexperience2009/slideshows</a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/brettweiss.wordpress.com/81/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/brettweiss.wordpress.com/81/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/brettweiss.wordpress.com/81/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/brettweiss.wordpress.com/81/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/brettweiss.wordpress.com/81/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/brettweiss.wordpress.com/81/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/brettweiss.wordpress.com/81/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/brettweiss.wordpress.com/81/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/brettweiss.wordpress.com/81/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/brettweiss.wordpress.com/81/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/brettweiss.wordpress.com/81/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/brettweiss.wordpress.com/81/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/brettweiss.wordpress.com/81/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/brettweiss.wordpress.com/81/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=brettweiss.wordpress.com&amp;blog=5032382&amp;post=81&amp;subd=brettweiss&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://brettweiss.wordpress.com/2009/09/20/ajax-experience-day-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/019e24b6ab4e41db5cee8b059f1277d0?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">brettweiss</media:title>
		</media:content>
	</item>
		<item>
		<title>Google AppEngine Java &#8230; Initial Thoughts</title>
		<link>http://brettweiss.wordpress.com/2009/04/21/google-appengine-java-initial-thoughts/</link>
		<comments>http://brettweiss.wordpress.com/2009/04/21/google-appengine-java-initial-thoughts/#comments</comments>
		<pubDate>Wed, 22 Apr 2009 02:00:44 +0000</pubDate>
		<dc:creator>Brett Weiss</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[prototype.js]]></category>
		<category><![CDATA[WEB]]></category>

		<guid isPermaLink="false">http://brettweiss.wordpress.com/?p=72</guid>
		<description><![CDATA[So far I&#8217;m pretty excited about Google AppEngine running Java. While very few will probably end up using java (my guess is they&#8217;ll use some scripting language that runs on the JVM), I&#8217;m specifically working in Java. My initial impressions have been pretty positive of the Google AppEngine &#8211; Java. It&#8217;s been really easy to [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=brettweiss.wordpress.com&amp;blog=5032382&amp;post=72&amp;subd=brettweiss&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>So far I&#8217;m pretty excited about Google AppEngine running Java. While very few will probably end up using java (my guess is they&#8217;ll use some scripting language that runs on the JVM), I&#8217;m specifically working in Java. My initial impressions have been pretty positive of the Google AppEngine &#8211; Java. It&#8217;s been really easy to get started and the eclipse plugin is very simple to use. My only dislike is that Java should be a create once run anywhere. The AppEngine doesn&#8217;t prescribe to this and you do have to follow some AppEngine defined practices. But, so far I have no real complaints.</p>
<p>The application I&#8217;m creating is task list app, which is mostly based on an Access Database (booo) that a civil engineering friend had put together. I&#8217;ve decided to go straight Java standards and I&#8217;m not bringing in any web server frameworks (Struts, JSF, etc.). I&#8217;m not sure if any of those frameworks will even work properly with the AppEngine.  The application I&#8217;m writing should be fairly simple and Servlets and Jsps should be all I need. I will need a lot JavaScript so I have brought in <a href="http://www.prototypejs.org/">prototype.js</a> along with the <a href="http://script.aculo.us/">script.aculo.us</a> effects library.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/brettweiss.wordpress.com/72/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/brettweiss.wordpress.com/72/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/brettweiss.wordpress.com/72/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/brettweiss.wordpress.com/72/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/brettweiss.wordpress.com/72/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/brettweiss.wordpress.com/72/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/brettweiss.wordpress.com/72/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/brettweiss.wordpress.com/72/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/brettweiss.wordpress.com/72/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/brettweiss.wordpress.com/72/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/brettweiss.wordpress.com/72/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/brettweiss.wordpress.com/72/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/brettweiss.wordpress.com/72/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/brettweiss.wordpress.com/72/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=brettweiss.wordpress.com&amp;blog=5032382&amp;post=72&amp;subd=brettweiss&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://brettweiss.wordpress.com/2009/04/21/google-appengine-java-initial-thoughts/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/019e24b6ab4e41db5cee8b059f1277d0?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">brettweiss</media:title>
		</media:content>
	</item>
		<item>
		<title>Google AppEngine (Java)</title>
		<link>http://brettweiss.wordpress.com/2009/04/16/google-app-engine-java/</link>
		<comments>http://brettweiss.wordpress.com/2009/04/16/google-app-engine-java/#comments</comments>
		<pubDate>Fri, 17 Apr 2009 02:00:57 +0000</pubDate>
		<dc:creator>Brett Weiss</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Google]]></category>

		<guid isPermaLink="false">http://brettweiss.wordpress.com/?p=67</guid>
		<description><![CDATA[Here we go &#8230; I&#8217;m giving Java on the Google AppEngine a try. Now what kind of app can I develop?<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=brettweiss.wordpress.com&amp;blog=5032382&amp;post=67&amp;subd=brettweiss&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Here we go &#8230; I&#8217;m giving <a href="http://googleappengine.blogspot.com/2009/04/seriously-this-time-new-language-on-app.html">Java on the Google AppEngine</a> a try. Now what kind of app can I develop?</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/brettweiss.wordpress.com/67/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/brettweiss.wordpress.com/67/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/brettweiss.wordpress.com/67/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/brettweiss.wordpress.com/67/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/brettweiss.wordpress.com/67/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/brettweiss.wordpress.com/67/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/brettweiss.wordpress.com/67/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/brettweiss.wordpress.com/67/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/brettweiss.wordpress.com/67/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/brettweiss.wordpress.com/67/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/brettweiss.wordpress.com/67/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/brettweiss.wordpress.com/67/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/brettweiss.wordpress.com/67/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/brettweiss.wordpress.com/67/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=brettweiss.wordpress.com&amp;blog=5032382&amp;post=67&amp;subd=brettweiss&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://brettweiss.wordpress.com/2009/04/16/google-app-engine-java/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/019e24b6ab4e41db5cee8b059f1277d0?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">brettweiss</media:title>
		</media:content>
	</item>
		<item>
		<title>Run Django Development Server On Different Port</title>
		<link>http://brettweiss.wordpress.com/2008/11/28/run-django-development-server-on-different-port/</link>
		<comments>http://brettweiss.wordpress.com/2008/11/28/run-django-development-server-on-different-port/#comments</comments>
		<pubDate>Sat, 29 Nov 2008 01:35:30 +0000</pubDate>
		<dc:creator>Brett Weiss</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[Django]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[WEB]]></category>

		<guid isPermaLink="false">http://brettweiss.wordpress.com/?p=61</guid>
		<description><![CDATA[The development server included with Django runs by default on server port 8000. Changing this to run on a different port is extremely easy. The command is basically the same as to start the development server just with an extra port argument. So to run the Django development server on port 8080 the command would [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=brettweiss.wordpress.com&amp;blog=5032382&amp;post=61&amp;subd=brettweiss&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>The development server included with Django runs by default on server port 8000. Changing this to run on a different port is extremely easy. The command is basically the same as to start the development server just with an extra port argument. So to run the Django development server on port 8080 the command would be:</p>
<p>&gt; python manage.py runserver 8080</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/brettweiss.wordpress.com/61/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/brettweiss.wordpress.com/61/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/brettweiss.wordpress.com/61/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/brettweiss.wordpress.com/61/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/brettweiss.wordpress.com/61/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/brettweiss.wordpress.com/61/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/brettweiss.wordpress.com/61/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/brettweiss.wordpress.com/61/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/brettweiss.wordpress.com/61/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/brettweiss.wordpress.com/61/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/brettweiss.wordpress.com/61/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/brettweiss.wordpress.com/61/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/brettweiss.wordpress.com/61/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/brettweiss.wordpress.com/61/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=brettweiss.wordpress.com&amp;blog=5032382&amp;post=61&amp;subd=brettweiss&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://brettweiss.wordpress.com/2008/11/28/run-django-development-server-on-different-port/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/019e24b6ab4e41db5cee8b059f1277d0?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">brettweiss</media:title>
		</media:content>
	</item>
		<item>
		<title>Windows Vista Django dll issue running &#8216;python manage.py runserver&#8217;</title>
		<link>http://brettweiss.wordpress.com/2008/11/28/windows-vista-django-dll-issue-running-python-managepy-runserver/</link>
		<comments>http://brettweiss.wordpress.com/2008/11/28/windows-vista-django-dll-issue-running-python-managepy-runserver/#comments</comments>
		<pubDate>Fri, 28 Nov 2008 22:37:53 +0000</pubDate>
		<dc:creator>Brett Weiss</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[Django]]></category>

		<guid isPermaLink="false">http://brettweiss.wordpress.com/?p=52</guid>
		<description><![CDATA[So it&#8217;s been a lot of fun trying to get Django to play nicely with Windows Vista. I&#8217;ve been following the Django tutorial and have run into an issue when attempting to start the development server for the first time. I entered the command &#8216;python manage.py runserver&#8217; into my command window. I received a very [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=brettweiss.wordpress.com&amp;blog=5032382&amp;post=52&amp;subd=brettweiss&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>So it&#8217;s been a lot of fun trying to get Django to play nicely with Windows Vista. I&#8217;ve been following the <a href="http://www.djangoproject.com">Django</a> tutorial and have run into an issue when attempting to start the development server for the first time. I entered the command &#8216;python manage.py runserver&#8217; into my command window. I received a very cryptic side by side configuration error that prompted me to look at the Windows Event Viewer. Further investigation revealed the following error:</p>
<p>Activation context generation failed for &#8220;C:\Python\DLLs\_socket.pyd&#8221;.Error in manifest or policy file &#8220;C:\Python\DLLs\Microsoft.VC90.CRT.MANIFEST&#8221; on line 12. The value &#8220;../msvcr90.dll&#8221; of attribute &#8220;name&#8221; in element &#8220;urn:schemas-microsoft-com:asm.v1^file&#8221; is invalid.</p>
<p>I found the issue had to do with how the MANIFEST file, listed above, was trying to reference the msvcr90.dll file. It appears the reference was correct &#8216;../msvcr90.dll&#8217;, but for some reason it wasn&#8217;t finding the file, which was up one directory. As you can see from the above path the MANIFEST file lives in the Python DLLs directory. The msvcr90.dll lives in the Python root directory.</p>
<p>A slightly confusing side note is that a MANIFEST file with the same name also exists in the root Python directory. I&#8217;m too new to Python to know if perhaps the wrong MANIFEST file is being used or why this file would exisit in both spots.</p>
<p>After some failed attempts of hacking around the issue I finally caved and updated the MANIFEST file in the DLLs directory to point simply at  &#8216;msvcr90.dll&#8217; rather than &#8216;../msvcr90.dll&#8217;. Then I copied the msvcr90.dll file from the my root Python directory into the DLLs diretory where the MANIFEST file lived. That corrected the issue.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/brettweiss.wordpress.com/52/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/brettweiss.wordpress.com/52/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/brettweiss.wordpress.com/52/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/brettweiss.wordpress.com/52/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/brettweiss.wordpress.com/52/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/brettweiss.wordpress.com/52/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/brettweiss.wordpress.com/52/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/brettweiss.wordpress.com/52/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/brettweiss.wordpress.com/52/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/brettweiss.wordpress.com/52/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/brettweiss.wordpress.com/52/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/brettweiss.wordpress.com/52/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/brettweiss.wordpress.com/52/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/brettweiss.wordpress.com/52/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=brettweiss.wordpress.com&amp;blog=5032382&amp;post=52&amp;subd=brettweiss&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://brettweiss.wordpress.com/2008/11/28/windows-vista-django-dll-issue-running-python-managepy-runserver/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/019e24b6ab4e41db5cee8b059f1277d0?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">brettweiss</media:title>
		</media:content>
	</item>
		<item>
		<title>The Brett Weiss 2008 Python Initiative Kicked Into High Gear</title>
		<link>http://brettweiss.wordpress.com/2008/11/21/the-brett-weiss-2008-python-initiative-kicked-into-high-gear/</link>
		<comments>http://brettweiss.wordpress.com/2008/11/21/the-brett-weiss-2008-python-initiative-kicked-into-high-gear/#comments</comments>
		<pubDate>Sat, 22 Nov 2008 01:51:23 +0000</pubDate>
		<dc:creator>Brett Weiss</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[WEB]]></category>

		<guid isPermaLink="false">http://brettweiss.wordpress.com/?p=46</guid>
		<description><![CDATA[I&#8217;ve cranked up my learning Python into high gear this week. I&#8217;ve spent a lot of time at the Python site. I really like what they&#8217;ve assembled there. The getting started and installing of Python was extremely easy. Their tutorial for learning Python is also good and fairly easy to follow. I&#8217;m about a quarter [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=brettweiss.wordpress.com&amp;blog=5032382&amp;post=46&amp;subd=brettweiss&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve cranked up my learning <a href="http://www.python.org">Python</a> into high gear this week. I&#8217;ve spent a lot of time at the Python site. I really like what they&#8217;ve assembled there. The getting started and installing of Python was extremely easy. Their <a href="http://docs.python.org/tutorial/">tutorial</a> for learning Python is also good and fairly easy to follow. I&#8217;m about a quarter of the way done, but so far so good.</p>
<p>Along with Python I&#8217;ve been poking around on the <a href="http://www.djangoproject.com/">Django</a> web framework site. I also found this site helpful. As with the Python site it&#8217;s a great resource for tutorials, documentation, and links to Django focused bloggers. Everything I need in one spot. Thank you!</p>
<p>Once I get through the tutorials it&#8217;ll be time to write an actual application. I&#8217;m trying to come up with a test application that I can write in each programming language that I know. Yes, just to show off a bit. But, I&#8217;m stating with Python. The coolest part is that I don&#8217;t need to pay to host a Python application. I&#8217;ve been checking out the <a href="http://code.google.com/appengine/">Google App Engine</a>. What will Google come up with next. I&#8217;ve gone out and brought in the code locally and have had no issue getting their tutoral &#8216;guest book&#8217; application up and running. Pretty sweet.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/brettweiss.wordpress.com/46/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/brettweiss.wordpress.com/46/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/brettweiss.wordpress.com/46/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/brettweiss.wordpress.com/46/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/brettweiss.wordpress.com/46/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/brettweiss.wordpress.com/46/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/brettweiss.wordpress.com/46/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/brettweiss.wordpress.com/46/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/brettweiss.wordpress.com/46/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/brettweiss.wordpress.com/46/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/brettweiss.wordpress.com/46/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/brettweiss.wordpress.com/46/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/brettweiss.wordpress.com/46/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/brettweiss.wordpress.com/46/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=brettweiss.wordpress.com&amp;blog=5032382&amp;post=46&amp;subd=brettweiss&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://brettweiss.wordpress.com/2008/11/21/the-brett-weiss-2008-python-initiative-kicked-into-high-gear/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/019e24b6ab4e41db5cee8b059f1277d0?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">brettweiss</media:title>
		</media:content>
	</item>
		<item>
		<title>Apple please stop with the Mac vs PC ads.</title>
		<link>http://brettweiss.wordpress.com/2008/11/09/apple-please-stop-with-the-mac-vs-pc-ads/</link>
		<comments>http://brettweiss.wordpress.com/2008/11/09/apple-please-stop-with-the-mac-vs-pc-ads/#comments</comments>
		<pubDate>Sun, 09 Nov 2008 17:48:55 +0000</pubDate>
		<dc:creator>Brett Weiss</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[Mac]]></category>
		<category><![CDATA[PC]]></category>

		<guid isPermaLink="false">http://brettweiss.wordpress.com/?p=41</guid>
		<description><![CDATA[Warning what follows is a rant. In no way I&#8217;m I taking sides over what is a better computer Mac vs PC. Apple please stop with your Mac vs PC ads. I don&#8217;t think I can take anymore. They have become some of the most annoying commercials on TV. I enjoy the rips on Windows [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=brettweiss.wordpress.com&amp;blog=5032382&amp;post=41&amp;subd=brettweiss&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><em><strong>Warning what follows is a rant. In no way I&#8217;m I taking sides over what is a better computer Mac vs PC.</strong></em><br />
Apple please stop with your Mac vs PC ads. I don&#8217;t think I can take anymore. They have become some of the most annoying commercials on TV. I enjoy the rips on Windows / Microsoft as much as the next guy, but come on. Do I have to see eight of these commercials during a half hour of television. I&#8217;m to the point where I am embarrassed to tell people I own a Mac. Besides how long have these commercials been running for. It&#8217;s been at least three plus years. COME UP WITH SOMETHING NEW. Also, the music in the ads has to go. My son has electronic noise making toys that are not quite as annoying.</p>
<p>Look at the ads themselves. The one of seen most often is Mac ripping on Vista, while taking a shot at Microsoft&#8217;s ad budget. So, I&#8217;m watching a Mac ad that is ripping on ad budgets. Please!!!! I think the creative people hired by Mac have been watching to many political ads lately. And getting back to the ad budget rip &#8230; try watching a single television show where Mac computers are not jammed down your throat in product placement.</p>
<p>Believe it or not I&#8217;m a Apple / Mac fan. I think they make great products with excellent user interfaces. But, don&#8217;t try to sell me a new operating system that is basically just an upgrade to your previous system. <em>I&#8217;m still waiting for OS X Liger to be released.</em> And I like how Mac has conveniently forgotten that some of their core people, albeit stupid people, that didn&#8217;t want to switch from OS 9 to OS X. Whenever their is a drastic change in operating systems people want to push back. Maybe that is why some windows users don&#8217;t like Vista. It&#8217;s a core change. Personally, people I&#8217;ve talked to have had very few issues in it.</p>
<p>Anyway. I&#8217;m done for now. But, please stop playing the ads. Come up with something new.</p>
<p>Thanks.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/brettweiss.wordpress.com/41/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/brettweiss.wordpress.com/41/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/brettweiss.wordpress.com/41/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/brettweiss.wordpress.com/41/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/brettweiss.wordpress.com/41/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/brettweiss.wordpress.com/41/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/brettweiss.wordpress.com/41/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/brettweiss.wordpress.com/41/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/brettweiss.wordpress.com/41/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/brettweiss.wordpress.com/41/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/brettweiss.wordpress.com/41/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/brettweiss.wordpress.com/41/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/brettweiss.wordpress.com/41/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/brettweiss.wordpress.com/41/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=brettweiss.wordpress.com&amp;blog=5032382&amp;post=41&amp;subd=brettweiss&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://brettweiss.wordpress.com/2008/11/09/apple-please-stop-with-the-mac-vs-pc-ads/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/019e24b6ab4e41db5cee8b059f1277d0?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">brettweiss</media:title>
		</media:content>
	</item>
		<item>
		<title>Deploy Ruby On Rails To A Shared Host (Part 3 &#8211; FastCgi Processes)</title>
		<link>http://brettweiss.wordpress.com/2008/11/09/deploy-ruby-on-rails-to-a-shared-host-part-3-fastcgi-processes/</link>
		<comments>http://brettweiss.wordpress.com/2008/11/09/deploy-ruby-on-rails-to-a-shared-host-part-3-fastcgi-processes/#comments</comments>
		<pubDate>Sun, 09 Nov 2008 16:34:05 +0000</pubDate>
		<dc:creator>Brett Weiss</dc:creator>
				<category><![CDATA[Rails]]></category>
		<category><![CDATA[Deploy]]></category>

		<guid isPermaLink="false">http://brettweiss.wordpress.com/?p=39</guid>
		<description><![CDATA[FastCgi is in no way the best way to run a Rails application, but it&#8217;s what we have on most shared hosts. However, there are steps you can take to make running a Rails application with FastCgi more tolerable. 1. Update your dispatch.fcgi file. There are a couple of additions you can make to the [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=brettweiss.wordpress.com&amp;blog=5032382&amp;post=39&amp;subd=brettweiss&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>FastCgi is in no way the best way to run a Rails application, but it&#8217;s what we have on most shared hosts. However, there are steps you can take to make running a Rails application with FastCgi more tolerable.</p>
<p><strong>1.</strong> <strong>Update your dispatch.fcgi file.</strong> There are a couple of additions you can make to the dispatch.fcgi file that will help improve the performance of your application. I highly recommend implementing the <a href="http://chris.gaskett.com/articles/rails-keeping-fastcgi-alive/">pfrao</a> handler that was put together by Chris Gaskett with the following changes: First, I prefer to keep two fcgi processes alive (for complex applications). See my dispatch.fcgi code below. Second, help manage your server resources by changing the line in the dispatch.fcgi file that reads: <strong><em>RailsFCGIHandler.process!</em></strong> to be: <strong><em>RailsFCGIHandler.process! nil, 50</em></strong></p>
<p><strong>Here is my complete dispatch.fcgi file:</strong></p>
<pre>
#!/usr/bin/ruby

require File.dirname(__FILE__) + "/../config/environment"
require 'fcgi_handler'

class RailsFCGIHandler
  private
    # improved version of frao_handler by Chris Gaskett chris.gaskett.com
    # tries to keep two fcgi process alive
    # still might need a kill -9 sometimes if processes hangs
    def pfrao_handler(signal)
      dispatcher_log :info, "asked to terminate immediately"
      number_procs = `/bin/ps ux | /bin/grep -c fcgi$`.to_i
      # note: to_i produces 0 if conversion to integer is not successful
      case number_procs
      when 0
        dispatcher_log :info, "pfrao handler error, check number_procs query, paths. Exiting"
        exit
      when 1...2
        dispatcher_log :info, "pfrao handler restarting instead, only two process left"
        restart_handler(signal)
      else
        dispatcher_log :info, "pfrao handler agreed to exit, more than one process is running"
        exit
      end
    end
    alias_method :exit_now_handler, :pfrao_handler
end

RailsFCGIHandler.process! nil, 50
</pre>
<p><strong>2.</strong> <strong>Manage application fcgi processes using cron jobs.</strong> I&#8217;m not going to get into a lot of detail of managing cron jobs here, however, if you&#8217;re on Site5 you can manage cron jobs through their SiteAdmin Advanced Web Tools.</p>
<p>There are two cron jobs I would recommend. The first will kill all fcgi processes nightly (at a non peak time). This ensures that any rouge processes are properly killed. Here&#8217;s a sample of what this cron job would look like on Site5 (replace username with your username): <strong>pkill -9 -u username -f dispatch.fcgi</strong>.</p>
<p>The second cron job you <strong><span class="caps">MAY</span></strong> want to implement is to have the oldest fcgi process killed every few hours. This makes the assumption that the oldest process is a rouge process and runs the risk of killing a good process. I have found the performance loss of an unresponsive rouge process to be greater than that of killing a good process. But, opinion&#8217;s vary on how to handle this situation. The cron job would look something like (replace username with your username): : <strong>pkill -o -u username -f dispatch.fcgi</strong>.</p>
<p><strong>References</strong></p>
<ul>
<li><a href="http://chris.gaskett.com/articles/rails-keeping-fastcgi-alive/">pfrao</a></li>
<li><a href="http://weblog.textdrive.com/article/175/rails-optimizing-resource-usage">Optimize Rails Resources</a></li>
<li><a href="http://buddystumbler.blogspot.com/2007/04/site5-is-awful-rails-host-were-moving.html">I don&#8217;t necessarily think Site5 is awesome, but this is a good post</a></li>
</ul>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/brettweiss.wordpress.com/39/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/brettweiss.wordpress.com/39/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/brettweiss.wordpress.com/39/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/brettweiss.wordpress.com/39/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/brettweiss.wordpress.com/39/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/brettweiss.wordpress.com/39/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/brettweiss.wordpress.com/39/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/brettweiss.wordpress.com/39/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/brettweiss.wordpress.com/39/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/brettweiss.wordpress.com/39/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/brettweiss.wordpress.com/39/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/brettweiss.wordpress.com/39/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/brettweiss.wordpress.com/39/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/brettweiss.wordpress.com/39/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=brettweiss.wordpress.com&amp;blog=5032382&amp;post=39&amp;subd=brettweiss&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://brettweiss.wordpress.com/2008/11/09/deploy-ruby-on-rails-to-a-shared-host-part-3-fastcgi-processes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/019e24b6ab4e41db5cee8b059f1277d0?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">brettweiss</media:title>
		</media:content>
	</item>
	</channel>
</rss>
