<?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/"
	>

<channel>
	<title>Keith Bentrup&#8217;s Portforlio &#187; Optimization</title>
	<atom:link href="http://portfolio.keithbentrup.com/archives/tag/optimization/feed" rel="self" type="application/rss+xml" />
	<link>http://portfolio.keithbentrup.com</link>
	<description>A brief sampling of my work</description>
	<lastBuildDate>Wed, 28 Jul 2010 18:09:48 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>More performance tips</title>
		<link>http://portfolio.keithbentrup.com/archives/187</link>
		<comments>http://portfolio.keithbentrup.com/archives/187#comments</comments>
		<pubDate>Tue, 11 Aug 2009 02:06:12 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Optimization]]></category>

		<guid isPermaLink="false">http://portfolio.keithbentrup.com/?p=187</guid>
		<description><![CDATA[I picked up a few more performance tips from this article. Notably, to make links  consistent by case. You&#8217;re liking already doing this as a single developer or perhaps a small team, but if there are many developers, I can imagine inconsistencies.  Also you should always close your tags. If you&#8217;re writing proper [...]]]></description>
			<content:encoded><![CDATA[<p>I picked up a few more performance tips from <a href="http://msdn.microsoft.com/en-us/library/ms533020(VS.85).aspx">this article</a>. Notably, to make links  <strong>consistent by case</strong>. You&#8217;re liking already doing this as a single developer or perhaps a small team, but if there are many developers, I can imagine inconsistencies.  Also you should always close your tags. If you&#8217;re writing proper XHTML, I&#8217;m sure you already are.</p>
<p><object style="margin:0px" width="425" height="355"><param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=high-performance-ajax-applications-1197671494632682-2&#038;stripped_title=high-performance-ajax-applications" /><param name="allowFullScreen" value="true"/><param name="allowScriptAccess" value="always"/><embed src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=high-performance-ajax-applications-1197671494632682-2&#038;stripped_title=high-performance-ajax-applications" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"></embed></object></p>
<p>From <a href="http://www.slideshare.net/julien.lecomte/high-performance-ajax-applications">this presentation</a>, I picked up a few more tidbits. Never use the <code>with</code> statement. When it&#8217;s used, the javascript processor will have to examine the object (up the prototype chain) and the scope (up the scope chain) leading to expensive look-ups. </p>
<p>Never use <code>eval</code> if possible. This includes sending javascript strings to <code>setTimeout</code> and <code>setInterval</code>. Evaluated code  must be compiled and interpreted. </p>
<p>Also <a href="http://www.julienlecomte.net/blog/2007/12/38/">this post</a> discusses the potential security concerns  and memory leaks associated with <code>innerHTML</code>.</p>
<p>Lastly, I want to point out an old tool that I was recently asked about for an IE6 problem. <a href="http://outofhanwell.com/ieleak/index.php?title=Main_Page">Drip</a> can be useful for detecting those IE6 problems.</p>
]]></content:encoded>
			<wfw:commentRss>http://portfolio.keithbentrup.com/archives/187/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CMS for Real Estate Team and Their Clients</title>
		<link>http://portfolio.keithbentrup.com/archives/91</link>
		<comments>http://portfolio.keithbentrup.com/archives/91#comments</comments>
		<pubDate>Thu, 25 Jun 2009 11:20:02 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Portfolio]]></category>
		<category><![CDATA[AJAX]]></category>
		<category><![CDATA[Blog]]></category>
		<category><![CDATA[CMS]]></category>
		<category><![CDATA[Joomla]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[Optimization]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[YUI]]></category>

		<guid isPermaLink="false">http://portfolio.keithbentrup.com/?p=91</guid>
		<description><![CDATA[The Century 21 Alliance Gold Team

Back-end architecture and server-side information:
The site is hosted using the common LAMP software solution stack controlled and maintained via cPanel and ssh access.
It runs Joomla 1.5, a free open source CMS and MVC web application framework.
A modifed version of minify, another PHP tool,  optimally delivers the site&#8217;s JavaScript and [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.c21gt.com">The Century 21 Alliance Gold Team</a><br />
<a href="http://www.c21gt.com"><img src="/img/c21gt-thumb.jpg" width="500" height="448"></a></p>
<p><strong>Back-end architecture and server-side information:</strong><br />
The site is hosted using the common <a href="http://en.wikipedia.org/wiki/LAMP_(software_bundle)">LAMP</a> software solution stack controlled and maintained via <a href="http://www.cpanel.net">cPanel</a> and <a href="http://en.wikipedia.org/wiki/Ssh">ssh</a> access.</p>
<p>It runs <a href="http://www.joomla.org/">Joomla 1.5</a>, a free open source <a href="http://en.wikipedia.org/wiki/Content_management_system">CMS</a> and <a href="http://en.wikipedia.org/wiki/Model-view-controller">MVC</a> web application framework.</p>
<p>A modifed version of <a href="http://code.google.com/p/minify/">minify</a>, another PHP tool,  optimally delivers the site&#8217;s <a href="http://en.wikipedia.org/wiki/JavaScript">JavaScript</a> and <a href="http://www.w3.org/Style/CSS/">CSS</a>. The site also incorporates most of the <a href="http://developer.yahoo.com/yslow/help/#guidelines">YSlow</a> and <a href="http://code.google.com/speed/page-speed/docs/rules_intro.html">Google Page Speed</a> best practices. </p>
<p>To futher optimize the ouput, the modified version of <a href="http://code.google.com/p/minify/">minify</a> invokes <a href="http://developer.yahoo.com/yui/compressor/">YUI compressor</a>, a <a href="http://java.sun.com/">Java</a> tool, a further compresses the <a href="http://en.wikipedia.org/wiki/JavaScript">JavaScript</a> and <a href="http://www.w3.org/Style/CSS/">CSS</a> using techniques such as local symbol replacement. </p>
<p><strong>User Interface Design Choices:</strong><br />
The front end compromises several interesting features &#8211; many from the <a href="http://developer.yahoo.com/yui/">YUI</a> Library.</p>
<p>Since all page transitions are controlled via <a href="http://en.wikipedia.org/wiki/Ajax_(programming)">Ajax</a> giving a visitor that fastest, most fluid user experience, the <a href="http://developer.yahoo.com/yui/history/">browser history manager</a> tracks the state of the application at all times so that the forward and back buttons maintain their functionality across all <a href="http://developer.yahoo.com/yui/articles/gbs/">&#8220;A&#8221; grade</a> browsers.</p>
<p>As the user hovers over points of interest in the application, the <a href="http://developer.yahoo.com/yui/container/tooltip/index.html">tooltip</a> provides and draws attention to relevant, contextual information.</p>
<p>The local market data is tied to a data store of all the known markets. As the user types, the field offers <a href="http://developer.yahoo.com/yui/autocomplete/">autocompletion</a> regardless of whether the user searches by city or zip code.</p>
<p>The chart itself is created dynamically using the <a href="http://code.google.com/apis/chart/">Google Chart API</a> and then watermarked using the <a href="http://www.php.net/gd">PHP GD library</a>. The results are cached for set intervals.</p>
<p>The <a href="http://developer.yahoo.com/yui/tabview/">tabs</a> of the market data provide convenient views in a small amount of space.</p>
<p><a href="http://developer.yahoo.com/yui/container/dialog/index.html">Dialogs</a> and modal <a href="http://developer.yahoo.com/yui/container/panel/">panels</a> with shadow overlays engage the user during specific actions to maximize their attention.</p>
<p>The weather module provides useful information about current, local weather from the National Weather Service. <a href="http://www.php.net/">PHP</a> parses their freely available <a href="http://en.wikipedia.org/wiki/XML">XML</a> data feeds and stores the results.</p>
<p>Both the weather and the market data are customized further depending upon how the user enters the page. The site is part of a <a href="http://adwords.google.com/">Google Adwords</a> Campaign and as such, if the visitor enters with certain information in the URL (passed as GET variables based on their Google search), the user will see customized results for both the weather and market data. Compare <a href="http://www.c21gt.com/?kw=Springfield">http://www.c21gt.com/?kw=Springfield</a> to <a href="http://www.c21gt.com/?kw=19081">http://www.c21gt.com/?kw=19081</a>. The server will also reverse lookup school district information to location to account for those searches.</p>
<p>The layout of the page is controlled via CSS. Some points of notes are the <a href="http://www.alistapart.com/articles/sprites/">sprited images</a> and the image-free rounded corners.</p>
<p>For many, more details about the site and several features not discussed, please feel free to contact <a href="mailto:keith@keithbentrup.com">me</a>. Walk-throughs are available via <a href="http://www.dimdim.com/">dimdim</a></p>
]]></content:encoded>
			<wfw:commentRss>http://portfolio.keithbentrup.com/archives/91/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
