<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" version="2.0">

<channel>
	<title>geek.phatus.com</title>
	
	<link>http://geek.phatus.com</link>
	<description />
	<lastBuildDate>Thu, 11 Mar 2010 07:25:42 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=abc</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/Geekphatuscom" /><feedburner:info xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" uri="geekphatuscom" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><feedburner:emailServiceId xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">Geekphatuscom</feedburner:emailServiceId><feedburner:feedburnerHostname xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">http://feedburner.google.com</feedburner:feedburnerHostname><item>
		<title>wpCLI – Virtual command line administration shell plug-in for WordPress</title>
		<link>http://geek.phatus.com/2010/02/wpcli-virtual-command-line-administration-shell-plug-in-for-wordpress/</link>
		<comments>http://geek.phatus.com/2010/02/wpcli-virtual-command-line-administration-shell-plug-in-for-wordpress/#comments</comments>
		<pubDate>Mon, 22 Feb 2010 21:28:28 +0000</pubDate>
		<dc:creator>Pyro222</dc:creator>
				<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://geek.phatus.com/?p=645</guid>
		<description><![CDATA[My apologies for the lack of content over the last few weeks. I&#8217;ve been hard at work on my first wordpress plug-in called wpCLI and I&#8217;m excited to present to you an alpha test release (v0.0.2) with it&#8217;s plethora of awesome web-admin features and possibilities.
Read on overview of its highlights and the current direction of [...]]]></description>
			<content:encoded><![CDATA[<p><img width='480' src="http://www.phatus.com/geekimages/wpcli011a.png"/><br />
My apologies for the lack of content over the last few weeks. I&#8217;ve been hard at work on my first wordpress plug-in called wpCLI and I&#8217;m excited to present to you an alpha test release (v0.0.2) with it&#8217;s plethora of awesome web-admin features and possibilities.<br />
Read on overview of its highlights and the current direction of the project. .<br />
wpCLI is a plugin geared towards Wordpress developers and admins who are looking to get a more intimate interaction with the wordpress environment through its semi-bash inspired virtual command line shell interface. As of the publishing of this post, there are currently only a handful of commands however rest assured that my obsession with this little toy will ensure that I continue to expand the contents and capabilities of the command library and the parser itself. To simplify things, wpCLI is designed so that writing your own interactive command involves little more than creating a small php class and a run function that is passed a string. There is much work and testing still to be done and like I mentioned before, this is my first Wordpress plug-in so there are surly many bugs, traps, and improvements to be made in the parser and command classes. However I strongly believe the possibilities are endless and the potential is great as the ideas continue to flow at a steady rate with this one.<br />
Here are some of its current features&#8230;</p>
<ul>
<li>An interactive virtual command line shell
<li>Ability to pipe output to other commands
<li>A command builder notepad that can be sent to the command line with the push of a button
<li>Can execute lightweight php code from the command builder or command line as well as pipe its output to another command (needs much more work and testing)
<li>Can execute JavaScript code from the command builder or command line
<li>Easily create user(s) (can create multiple users with comma seperation. also generates a password if none is specified)
<li>Delete posts, users and categories
<li>Create posts and categories
<li>Set status of comments
<li>echo command (useful for piping strings and creating html to display in the shell window)
<li>Retrieve information and data for posts, users, and categories
</ul>
<p>All without the necessity of page refreshes thus keeping global data intact and easily accessible. Test php functions, test JavaScript functions, instantiate objects. You name it, and in the right hands, wpCLI can probably do it, as it will in more and more hands as time and development progresses.</p>
<p>Some of the things I am currently working on or implementing to a hopeful 0.1.0 release of wpCLI are..</p>
<ul>
<li>Much command line parser improvements to be made
<li>Extensive help, sysinfo and data retrieval commands
<li>A tweet command that will allow you to easily tweet from the shell
<li>Finish implementing resume features for commands to interact with user
<li>Possibly a position in the DB for storing global values, settings and other data
<li>A filter command that can filter piped data to be viewed or piped along further
<li>Activate and deactivate plugins
<li>Invoke any wordpress function directly through a &#8220;wpexec&#8221; command (you can currently achieve similar results using the &#8220;php&#8221; command)
<li>Finish testing and implementing &#8220;php&#8221; command which allows direct execution of php code in the shell
<li>Ability to script wpCLI commands from command line or external files
<li>Convenience commands for most wordpress functions
<li>Delete multiple comments in one line (ie. &#8220;del comments 1..2000&#8243;)
<li>More documentation on use of wpCLI and how to create custom command classes
<li>Internationalize the plug-in
<li>Mail command
<li>You see where I&#8217;m going with this right?
</ul>
<p>I plan to continue to put as much of my spare time into this project as possible, however being a one man operation, I am quite limited in how much I can diversely test the plug-in so I highly encourage curious wordpress power-admins and developers to give this one a try on your test blogs and please do report requests, bugs, improvements etc.. at either the <a href="http://wpcli.phatus.com">project home</a> or the <a href="http://sourceforge.net/projects/wpcli/">sourceforge project site</a> and help work out the kinks. Donations are also another great way to help the development of wpCLI.<br />
Cheers Mates!</p>
<hr />
NOTE: Although wpCLI does not yet call any volatile wp functions, aside from deleting data like posts and categories, it is still in its testing phase. Please use with extreme care. Obviously I take no responsibility for anything that may result from wpCLI&#8217;s use.</p>
<p>Download: <a href="http://sourceforge.net/projects/wpcli/files/">Latest Release</a><br />
Project Home: <a href="http://wpcli.phatus.com">http://wpcli.phatus.com</a><br />
Documentation: <a href="http://sourceforge.net/apps/mediawiki/wpcli/index.php?title=Main_Page">Wiki</a> or <a href="http://sourceforge.net/projects/wpcli/">wpcli@SourceForge</a></p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/Geekphatuscom?a=V-EB6NMB4gc:uad4KLC96xo:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/Geekphatuscom?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Geekphatuscom?a=V-EB6NMB4gc:uad4KLC96xo:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/Geekphatuscom?i=V-EB6NMB4gc:uad4KLC96xo:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Geekphatuscom?a=V-EB6NMB4gc:uad4KLC96xo:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/Geekphatuscom?i=V-EB6NMB4gc:uad4KLC96xo:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Geekphatuscom?a=V-EB6NMB4gc:uad4KLC96xo:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/Geekphatuscom?i=V-EB6NMB4gc:uad4KLC96xo:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Geekphatuscom?a=V-EB6NMB4gc:uad4KLC96xo:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/Geekphatuscom?d=qj6IDK7rITs" border="0"></img></a>
</div>]]></content:encoded>
		<p><a href="http://geek.phatus.com/?p=645">wpCLI – Virtual command line administration shell plug-in for WordPress</a> - <a href="http://geek.phatus.com/">geek.phatus.com</a> </p>
			<wfw:commentRss>http://geek.phatus.com/2010/02/wpcli-virtual-command-line-administration-shell-plug-in-for-wordpress/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>View PDF files on the iPhone without installing a reader</title>
		<link>http://geek.phatus.com/2010/01/view-pdf-files-on-the-iphone-without-downloading-a-reader/</link>
		<comments>http://geek.phatus.com/2010/01/view-pdf-files-on-the-iphone-without-downloading-a-reader/#comments</comments>
		<pubDate>Sat, 23 Jan 2010 06:31:00 +0000</pubDate>
		<dc:creator>Pyro222</dc:creator>
				<category><![CDATA[iPhone]]></category>
		<category><![CDATA[pdf]]></category>
		<category><![CDATA[python]]></category>

		<guid isPermaLink="false">http://geek.phatus.com/?p=1145</guid>
		<description><![CDATA[Recently, I&#8217;ve built the necessity to read and study more text on the go. Until I can afford a kindle or perhaps a decent laptop, I thought I might give the iPhone a shot as a viable e-book reader. Sounded simple enough so I transfered my documents over to my phone only to quickly realize, [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://geek.phatus.com/2010/01/view-pdf-files-on-the-iphone-without-downloading-a-reader"><img style="float:right" src="http://www.phatus.com/geekimages/iphonepdf2.png"/></a>Recently, I&#8217;ve built the necessity to read and study more text on the go. Until I can afford a kindle or perhaps a decent laptop, I thought I might give the iPhone a shot as a viable e-book reader. Sounded simple enough so I transfered my documents over to my phone only to quickly realize, I had no pdf viewer. Or so I thought. Now I&#8217;m not much for the app store and I couldn&#8217;t seem to find a decent free app in the trusted repositories from cydia so I did some research and found that safari can actually read pdf documents. However, the problem with this method was that everyone seemed to suggest that one should email the document to themselves and open it from the web with safari. Quite inefficient and will only work if you have some form of Internet access. If you currently have a jailbroken iPhone, There is a much simpler way to access your pdf files in safari and should work with or without Internet access. Read on for a simple solution.</p>
<h2>The rundown</h2>
<p>In searching for a solution, I realized I could simply serve the files to myself through http. There are a server packages in the repositories however I remembered recently coming across a killer one line command from <a href="http://www.commandlinefu.com/commands/view/71/serve-current-directory-tree-at-httphostname8000">commandlinefu.com</a> that serves up the current working directory on port 8000 using python.<br />
In order to proceed you will need to have a jailbroken iPhone with python installed on it.</p>
<h2>Step-By-Step</h2>
<ol>
<li>To serve the files you will have to have first uploaded your pdf documents somewhere on your iphone.
<li>Next either open up your terminal app on the phone or ssh to it and cd to the parent directory containing the documents.
<li>Now simply type in &#8220;<a href="http://www.commandlinefu.com/commands/view/71/serve-current-directory-tree-at-httphostname8000">python -m SimpleHTTPServer</a>&#8221; to begin serving the current directory on port 8000. I believe you may also specify a port number at the end of the command. (you may need to be root to do this)
<li>Now open up safari and in the address bar type in &#8220;localhost:8000&#8243; and you will now see a directory listing of your documents folder in which you can now browse and open as you wish.<br />
<img src="http://www.phatus.com/geekimages/iphonepdf1.png"/></p>
<li>Don&#8217;t forget when you are finished to return to your terminal or ssh session and terminate the process.
</ol>
<h2>Sources</h2>
<p><a href="http://www.commandlinefu.com/commands/view/71/serve-current-directory-tree-at-httphostname8000">CommandlineFU.com</a></p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/Geekphatuscom?a=35JhLWjmxs4:EJcaL8foHek:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/Geekphatuscom?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Geekphatuscom?a=35JhLWjmxs4:EJcaL8foHek:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/Geekphatuscom?i=35JhLWjmxs4:EJcaL8foHek:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Geekphatuscom?a=35JhLWjmxs4:EJcaL8foHek:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/Geekphatuscom?i=35JhLWjmxs4:EJcaL8foHek:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Geekphatuscom?a=35JhLWjmxs4:EJcaL8foHek:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/Geekphatuscom?i=35JhLWjmxs4:EJcaL8foHek:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Geekphatuscom?a=35JhLWjmxs4:EJcaL8foHek:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/Geekphatuscom?d=qj6IDK7rITs" border="0"></img></a>
</div>]]></content:encoded>
		<p><a href="http://geek.phatus.com/?p=1145">View PDF files on the iPhone without installing a reader</a> - <a href="http://geek.phatus.com/">geek.phatus.com</a> </p>
			<wfw:commentRss>http://geek.phatus.com/2010/01/view-pdf-files-on-the-iphone-without-downloading-a-reader/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Create a simple and useful BASH clipboard</title>
		<link>http://geek.phatus.com/2010/01/create-a-simple-yet-very-useful-bash-clipboard/</link>
		<comments>http://geek.phatus.com/2010/01/create-a-simple-yet-very-useful-bash-clipboard/#comments</comments>
		<pubDate>Tue, 12 Jan 2010 11:02:15 +0000</pubDate>
		<dc:creator>Pyro222</dc:creator>
				<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://geek.phatus.com/?p=1106</guid>
		<description><![CDATA[Do you ever find yourself in a virtual terminal only to keep switching back and forth between windows for the same information over and over? Why not create a script that will display this information in your bash prompt when needed, and display nothing when not in need. While we&#8217;re at it, why not allow [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://geek.phatus.com/2010/01/create-a-simple-yet-very-useful-bash-clipboard/"><img style="float:right" src="http://www.phatus.com/geekimages/bcb.png"/></a>Do you ever find yourself in a virtual terminal only to keep switching back and forth between windows for the same information over and over? Why not create a script that will display this information in your bash prompt when needed, and display nothing when not in need. While we&#8217;re at it, why not allow it to execute the contents of the clipboard as well. Read on for a simple solution.</p>
<h2>The BASH script</h2>
<p>Here is a simple bash script that when called upon will store the specified data into a text file which will be displayed in your prompt for easy recall. It can also be executed line by line by using the &#8220;-e&#8221; option.<br />
Just paste the script below into a file called &#8220;bcb&#8221; then run &#8220;chmod 755 ./bcb&#8221;. Now you can copy the script somewhere like &#8220;/usr/bin&#8221; and have a custom and powerful bash clipboard at your fingertips.</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p1106code3'); return false;">View Code</a> BASH</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p11063"><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
</pre></td><td class="code" id="p1106code3"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">#!/bin/bash</span>
<span style="color: #007800;">o_fn</span>=<span style="color: #ff0000;">&quot;pathto/bashclip.dat&quot;</span> <span style="color: #666666; font-style: italic;">#clipboard data file</span>
<span style="color: #666666; font-style: italic;">#process command line</span>
<span style="color: #000000; font-weight: bold;">case</span> <span style="color: #ff0000;">&quot;$1&quot;</span> <span style="color: #000000; font-weight: bold;">in</span>
	-c<span style="color: #7a0874; font-weight: bold;">&#41;</span> <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;clearing clipboard.&quot;</span>; <span style="color: #c20cb9; font-weight: bold;">cat</span> <span style="color: #000000; font-weight: bold;">/</span>dev<span style="color: #000000; font-weight: bold;">/</span>null <span style="color: #000000; font-weight: bold;">&gt;</span> <span style="color: #ff0000;">&quot;<span style="color: #007800;">$o_fn</span>&quot;</span> <span style="color: #000000; font-weight: bold;">;;</span>		<span style="color: #666666; font-style: italic;">#clear data file</span>
	-a<span style="color: #7a0874; font-weight: bold;">&#41;</span> <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;appending $2 to clipboard.&quot;</span>; <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;$2&quot;</span> <span style="color: #000000; font-weight: bold;">&gt;&gt;</span> <span style="color: #ff0000;">&quot;<span style="color: #007800;">$o_fn</span>&quot;</span> <span style="color: #000000; font-weight: bold;">;;</span>	<span style="color: #666666; font-style: italic;">#append to data file</span>
	-n<span style="color: #7a0874; font-weight: bold;">&#41;</span> <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;new clipboard, added $2&quot;</span>.; <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;$2&quot;</span> <span style="color: #000000; font-weight: bold;">&gt;</span> <span style="color: #ff0000;">&quot;<span style="color: #007800;">$o_fn</span>&quot;</span> <span style="color: #000000; font-weight: bold;">;;</span>	<span style="color: #666666; font-style: italic;">#fresh entry</span>
	-e<span style="color: #7a0874; font-weight: bold;">&#41;</span> <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;Executing clipboard contents $2&quot;</span>; <span style="color: #000000; font-weight: bold;">while</span> <span style="color: #c20cb9; font-weight: bold;">read</span> LINE 
							<span style="color: #000000; font-weight: bold;">do</span>
							<span style="color: #007800;">$LINE</span> 
							<span style="color: #000000; font-weight: bold;">done</span> <span style="color: #000000; font-weight: bold;">&lt;</span> <span style="color: #007800;">$o_fn</span> <span style="color: #000000; font-weight: bold;">;;</span> <span style="color: #666666; font-style: italic;">#execute clipboard contents</span>
	-l<span style="color: #7a0874; font-weight: bold;">&#41;</span> <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;Listing contents&quot;</span>; <span style="color: #c20cb9; font-weight: bold;">cat</span> <span style="color: #007800;">$o_fn</span><span style="color: #000000; font-weight: bold;">;;</span> 
	<span style="color: #000000; font-weight: bold;">*</span><span style="color: #7a0874; font-weight: bold;">&#41;</span> <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;usage: $0 [-c] [-e] [-a 'text'] [-n 'text]&quot;</span> <span style="color: #000000; font-weight: bold;">;;</span> 
<span style="color: #000000; font-weight: bold;">esac</span></pre></td></tr></table></div>

<p>This script allows you to clear, append to, enter new, and execute the contents of the clipboard. You can even specify environment variables. For example (bcb -n &#8220;$PATH&#8221;) will store the contents of $PATH in the clipboard. Be sure to change the file location of &#8220;bashclip.dat&#8221; to a preferred location.</p>
<h2>configure .bashrc</h2>
<p>To have the clipboard display in your prompt, replace your &#8220;PS1=&#8221; entry in your &#8220;~/.bashrc&#8221; file with something like the following.</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p1106code4'); return false;">View Code</a> BASH</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p11064"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p1106code4"><pre class="bash" style="font-family:monospace;"><span style="color: #007800;">PS1</span>=<span style="color: #ff0000;">&quot;\[\033[36m\]<span style="color: #000099; font-weight: bold;">\$</span>(cat pathto/bashclip.dat)\[\033[m\]<span style="color: #000099; font-weight: bold;">\n</span>\[\e]0;<span style="color: #007800;">${debian_chroot:+($debian_chroot)}</span>\u@\h: \w\a\]<span style="color: #007800;">$PS1</span>&quot;</span></pre></td></tr></table></div>

<p>Thats it! Double check the location of bashclip.dat and you can now begin using your clipboard script.</p>
<h2>Syntax</h2>
<p>Here is a quick rundown of its use.</p>
<ul>
<li>To clear the clipboard type</li>
</li>
<p>bcb -c </p>
<li>To clear and add a new entry type</li>
<p>bcb -n &#8220;Text or $variable to add&#8221;</p>
<li>To Append to the clipboard type</li>
<p>bcb -a &#8220;append text or $variable&#8221;</p>
<li>To execute the contents of the clipboard type</li>
<p>bcb -e</p>
<li>To list the contents of the clipboard type</li>
<p>bcb -l
</ul>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/Geekphatuscom?a=7lrOLonM398:6EihhJFKioM:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/Geekphatuscom?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Geekphatuscom?a=7lrOLonM398:6EihhJFKioM:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/Geekphatuscom?i=7lrOLonM398:6EihhJFKioM:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Geekphatuscom?a=7lrOLonM398:6EihhJFKioM:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/Geekphatuscom?i=7lrOLonM398:6EihhJFKioM:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Geekphatuscom?a=7lrOLonM398:6EihhJFKioM:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/Geekphatuscom?i=7lrOLonM398:6EihhJFKioM:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Geekphatuscom?a=7lrOLonM398:6EihhJFKioM:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/Geekphatuscom?d=qj6IDK7rITs" border="0"></img></a>
</div>]]></content:encoded>
		<p><a href="http://geek.phatus.com/?p=1106">Create a simple and useful BASH clipboard</a> - <a href="http://geek.phatus.com/">geek.phatus.com</a> </p>
			<wfw:commentRss>http://geek.phatus.com/2010/01/create-a-simple-yet-very-useful-bash-clipboard/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Get updated road conditions in conky</title>
		<link>http://geek.phatus.com/2010/01/get-updated-road-conditions-in-conky/</link>
		<comments>http://geek.phatus.com/2010/01/get-updated-road-conditions-in-conky/#comments</comments>
		<pubDate>Tue, 05 Jan 2010 07:12:17 +0000</pubDate>
		<dc:creator>Pyro222</dc:creator>
				<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://geek.phatus.com/?p=987</guid>
		<description><![CDATA[For many, road conditions can be as crucial as anything else the day might throw your way, especially for those that live in inclement areas. You have undoubtedly seen many scripts for getting the weather in your conky setup so to compliment your already fabulous .conkyrc file, here is an easy way to grab the [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://geek.phatus.com/2010/01/get-updated-road-conditions-in-conky/"><img style="float:right" src="http://www.phatus.com/geekimages/roadconky.png"/></a>For many, road conditions can be as crucial as anything else the day might throw your way, especially for those that live in inclement areas. You have undoubtedly seen many scripts for getting the weather in your conky setup so to compliment your already fabulous .conkyrc file, here is an easy way to grab the current road conditions for your city, and display them into conky as well.<br />
Read on for step by step instructions.<br />
<h2>The Rundown</h2>
<p><del datetime="2010-01-07T08:33:19+00:00">This one is simple. Create and schedule a php script that will parse a feed and save the data to a file that conky will use to post the road condition data. </del><br />
EDIT: Turns out conky has a really cool rss variable. We only need tell conky where the feed is located.</p>
<h2>The Feed URL</h2>
<p>First things first we must setup our feed url. Thanks to John Resig (<a href="http://ejohn.org/blog/traffic-conditions-data/" rel="nofollow">ejohn.org</a>) who has broken down the yahoo live traffic feed, we can create our custom feed link with little to no effort.</p>
<p>The feed link will look something like this<br />
<br />
<a href="http://maps.yahoo.com/traffic.rss?csz=95821&#038;mag=5&#038;minsev=1" rel="nofollow">http://maps.yahoo.com/traffic.rss?csz=95821&#038;mag=5&#038;minsev=1</a><br />
<br />
The three values of concern in the url are as follows.</p>
<ul>
<li>csz &#8211; Location. Can be zip, city, or address.
<li>mag &#8211; Manification. (ie. 3 = 4miles; 5 = 40 miles)
<li>minsev &#8211; Minimum severity of the road condition. 1=lowest/minor, 5=highest/critical
</ul>
<p>You may also visit John&#8217;s <a href="http://ejohn.org/blog/traffic-conditions-data/" rel="nofollow">blog post</a> to generate a url automatically.<br />
Confirm the url by visiting it with your browser and once you like it, copy the url in a text file somewhere.</p>
<h2>.conkyrc</h2>
<ol>
<li>edit your ~/.conkyrc file as follows

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p987code6'); return false;">View Code</a> TEXT</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p9876"><td class="line_numbers"><pre>1
2
</pre></td><td class="code" id="p987code6"><pre class="text" style="font-family:monospace;">${color orange}ROAD CONDITIONS${hr 2}$color
${color white}${rss http://maps.yahoo.com/traffic.rss?csz=95670&amp;mag=5&amp;minsev=3 10 item_titles 10}</pre></td></tr></table></div>

</ol>
<p>That should do it. When all is said and done, you should have a nice little &#8220;Road Conditions&#8221; section at the bottom of conky with an easy to read list of current road conditions.<br />
<center><img src="http://www.phatus.com/geekimages/roadconky.png"/></center></p>
<p>Thanks for stopping by.</p>
<h2>Sources</h2>
<p><a href="http://ejohn.org/blog/traffic-conditions-data/" rel="nofollow">Traffic Conditions Data by John Resig</a> <font size ='small' color='grey' >(ejohn.org)</font><br />
<a href="http://www.softarea51.com/tutorials/parse_rss_with_php.html" rel="nofollow">Parse RSS With PHP</a> <font size ='small' color='grey' >(www.softarea51.com)</font><br />
<a href="http://maps.yahoo.com/traffic.rss" rel="nofollow">Yahoo Maps Traffic Feed</a> <font size ='small' color='grey' >(maps.yahoo.com/traffic.rss)</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/Geekphatuscom?a=v_UlWbkMnTs:hjmb2KrUJqY:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/Geekphatuscom?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Geekphatuscom?a=v_UlWbkMnTs:hjmb2KrUJqY:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/Geekphatuscom?i=v_UlWbkMnTs:hjmb2KrUJqY:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Geekphatuscom?a=v_UlWbkMnTs:hjmb2KrUJqY:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/Geekphatuscom?i=v_UlWbkMnTs:hjmb2KrUJqY:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Geekphatuscom?a=v_UlWbkMnTs:hjmb2KrUJqY:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/Geekphatuscom?i=v_UlWbkMnTs:hjmb2KrUJqY:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Geekphatuscom?a=v_UlWbkMnTs:hjmb2KrUJqY:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/Geekphatuscom?d=qj6IDK7rITs" border="0"></img></a>
</div>]]></content:encoded>
		<p><a href="http://geek.phatus.com/?p=987">Get updated road conditions in conky</a> - <a href="http://geek.phatus.com/">geek.phatus.com</a> </p>
			<wfw:commentRss>http://geek.phatus.com/2010/01/get-updated-road-conditions-in-conky/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Add updated weather to your BASH prompt</title>
		<link>http://geek.phatus.com/2010/01/add-updated-weather-to-your-bash-prompt/</link>
		<comments>http://geek.phatus.com/2010/01/add-updated-weather-to-your-bash-prompt/#comments</comments>
		<pubDate>Mon, 04 Jan 2010 19:12:48 +0000</pubDate>
		<dc:creator>Pyro222</dc:creator>
				<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://geek.phatus.com/?p=859</guid>
		<description><![CDATA[This post was inspired by a friend of mine. A complete weather junkie who is constantly checking the weather online. I once asked him if he would pay for a digital picture frame that only displayed live Doppler all day and he undoubtedly replied, &#8220;absolutely&#8221;. That project may be a ways off however, I&#8217;ve been [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://geek.phatus.com/2010/01/add-updated-weather-to-your-bash-prompt/"><img style="float:right" src="http://www.phatus.com/geekimages/weatherbashprompt2.png"/></a>This post was inspired by a friend of mine. A complete weather junkie who is constantly checking the weather online. I once asked him if he would pay for a digital picture frame that only displayed live Doppler all day and he undoubtedly replied, &#8220;absolutely&#8221;. That project may be a ways off however, I&#8217;ve been reading up on how to get more out of your bash prompt so I thought, for a  start, why not put the weather in your prompt. Not sure of its practicality but I can honestly say I know folks crazy enough to enjoy this. Read on for step by step instructions.</p>
<h2>The rundown</h2>
<p>The concept is fairly simple. Schedule a custom php script under crontab that will parse a weather rss feed and create a file containing weather info that we can use in our custom prompt. For the seasoned geek, thats probably all the info you needed, however, if you are new to bash or php, follow the tutorial below and I will outline a simple way to accomplish this.</p>
<h2>Writing the PHP script</h2>
<p>To proceed you will need to have a php-cli installed on your system. This will enable us to execute/script php code from the command line. For my Ubuntu system, I have installed the &#8220;php5-cli&#8221; package.</p>
<ol>
<li>First you need to setup a weather feed from WeatherBug. Go to <a href="http://rss.weatherbug.com/listfeeds.aspx">http://rss.weatherbug.com/listfeeds.aspx</a> and put in your location or postal code and hit the &#8220;Get Feed URL&#8221; button to get a weather feed url. The url will appear at the bottom textbox of the page. Be sure you check only the &#8220;Current Conditions (Text Only Version)&#8221; box and also be sure to select Fahrenheit, or Celsius.</li>
<p><img src="http://www.phatus.com/geekimages/weatherbash.png"/></p>
<li>Create a folder &#8220;~/weatherbash/&#8221; , under that folder create a new file called &#8220;weatherbash.php&#8221; and open it in your text editor of choice.
<li>Paste the following code into &#8220;weatherbash.php&#8221;.</li>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p859code12'); return false;">View Code</a> PHP</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p85912"><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
</pre></td><td class="code" id="p859code12"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?</span>
<span style="color: #000088;">$w_unit</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;f&quot;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$w_feed</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'http://feeds.weatherbug.com/rss.aspx?zipcode=95670&amp;feed=currtxt&amp;zcode=z4641'</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$data</span> <span style="color: #339933;">=</span> <span style="color: #990000;">file_get_contents</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$w_feed</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$s_pos</span> <span style="color: #339933;">=</span> <span style="color: #990000;">stripos</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$data</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;&lt;item&gt;&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$e_pos</span> <span style="color: #339933;">=</span> <span style="color: #990000;">stripos</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$data</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;&lt;/item&gt;&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$data</span> <span style="color: #339933;">=</span> <span style="color: #990000;">strip_tags</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">html_entity_decode</span> <span style="color: #009900;">&#40;</span><span style="color: #990000;">htmlspecialchars_decode</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">substr</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$data</span><span style="color: #339933;">,</span> <span style="color: #000088;">$s_pos</span><span style="color: #339933;">,</span> <span style="color: #000088;">$e_pos</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #990000;">preg_match_all</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'/([\d]+)/'</span><span style="color: #339933;">,</span> <span style="color: #000088;">$data</span><span style="color: #339933;">,</span> <span style="color: #000088;">$match</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$fp</span> <span style="color: #339933;">=</span> <span style="color: #990000;">fopen</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'wf.dat'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;w&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$w_data</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$w_data</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$match</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span><span style="color: #990000;">empty</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$w_data</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #990000;">fwrite</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$fp</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;t:&quot;</span><span style="color: #339933;">.</span><span style="color: #000088;">$w_data</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">.</span><span style="color: #0000ff;">&quot;.&quot;</span><span style="color: #339933;">.</span><span style="color: #000088;">$w_data</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">&quot;<span style="color: #006699; font-weight: bold;">$w_unit</span>&quot;</span> <span style="color: #339933;">.</span><span style="color: #0000ff;">&quot; h:&quot;</span><span style="color: #339933;">.</span><span style="color: #000088;">$w_data</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">2</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">.</span><span style="color: #0000ff;">&quot;% &quot;</span><span style="color: #339933;">.</span><span style="color: #0000ff;">&quot;w:&quot;</span><span style="color: #339933;">.</span><span style="color: #000088;">$w_data</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">3</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">.</span><span style="color: #0000ff;">&quot;mph&quot;</span><span style="color: #339933;">.</span><span style="color: #0000ff;">&quot; r:&quot;</span><span style="color: #339933;">.</span><span style="color: #000088;">$w_data</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">8</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">.</span><span style="color: #0000ff;">&quot;.&quot;</span><span style="color: #339933;">.</span><span style="color: #000088;">$w_data</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">9</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">.</span><span style="color: #0000ff;">'&quot;'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #990000;">fclose</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$fp</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></td></tr></table></div>

<li>Change the &#8220;$w_feed&#8221; variable on line 3 to = your new feed URL from the previous step. Also make sure you have the correct &#8220;$w_unit&#8221; on line 2 and you may also wish to change the filename and/or location on line 9.
<li>Save and copy &#8220;weatherbash.php&#8221; to anywhere you wish. I just put mine in &#8220;~/weatherbash&#8221;.
</ol>
<p>As you can see the script simply retrieves and extracts the &#8220;Temperature:&#8221; data from the feed. It then creates a file called wf.dat that will contain the values obtained from our feed. We will use this file in our prompt.</p>
<h2>Scheduling the php script</h2>
<p>Now we will set our new php script to run every 15 min. You can change this interval to more or less by changing the code below.</p>
<ol>
<li>First, open a terminal and type &#8220;crontab -e&#8221; (you may wish to be root for this section in which case make sure you use the complete path to the weatherbash.php script).
<li>Paste in the following code. Change your weatherbash.php location accordingly.</li>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p859code13'); return false;">View Code</a> TEXT</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p85913"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p859code13"><pre class="text" style="font-family:monospace;">15,30,45,59 * * * * php ~/weatherbash/weatherbash.php</pre></td></tr></table></div>

<li>Press &#8220;ctl&#8221;+&#8221;x&#8221; to exit, type &#8220;y&#8221; to save and enter to confirm filename.
</ol>
<p>Thats it for scheduling. Our script will now run every 15 minutes keeping our system weather file up-to-date.</p>
<h2>Set the bash prompt</h2>
<ol>
<li>To temporary use the prompt, simply type in the following code into your terminal session. (make sure you have run the php script at least once)

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p859code14'); return false;">View Code</a> BASH</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p85914"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p859code14"><pre class="bash" style="font-family:monospace;"><span style="color: #007800;">PS1</span>=<span style="color: #ff0000;">&quot;(\[\033[36m\]<span style="color: #000099; font-weight: bold;">\$</span>(head ~/weatherbash/wf.dat)\[\033[m\])<span style="color: #000099; font-weight: bold;">\n</span><span style="color: #007800;">$PS1</span>&quot;</span></pre></td></tr></table></div>

<li>To permanently set the prompt, simply find the &#8220;PS1 =&#8221; line in your &#8220;~/.bashrc&#8221; file and paste in the following code after the first quotation mark.</li>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p859code15'); return false;">View Code</a> BASH</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p85915"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p859code15"><pre class="bash" style="font-family:monospace;"><span style="color: #007800;">PS1</span>=<span style="color: #ff0000;">&quot;(\[\033[36m\]<span style="color: #000099; font-weight: bold;">\$</span>(head ~/weatherbash/wf.dat)\[\033[m\])<span style="color: #000099; font-weight: bold;">\n</span>***the rest of your current prompt goes here***&quot;</span></pre></td></tr></table></div>

</ol>
<p>You should now have a prompt that displays the current weather contitions.<br />
<center><img src="http://www.phatus.com/geekimages/weatherbashprompt2.png"/></center></p>
<p>Note: You can change the color of the prompt by changing the &#8220;36m&#8221; value. Also make sure your file locations are correct.</p>
<h2>Updates</h2>
<p>I&#8217;ve also recently plugged this data into my ~/.conkyrc and schedule conky to execute the script rather than cron.</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p859code16'); return false;">View Code</a> TEXT</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p85916"><td class="line_numbers"><pre>1
2
</pre></td><td class="code" id="p859code16"><pre class="text" style="font-family:monospace;">${color orange}WEATHER${hr 2}$color 
${color white}${execi 300 php /path_to/weatherbash.php &gt; /path_to/err.dat ; head /path_to/wf.dat | fold -s -w50}</pre></td></tr></table></div>

<p>the &#8220;> /path_to/err.dat&#8221; portion is to prevent the script from echoing any error data to conky and redirect it to a log file.<br />
<center><img src="http://www.phatus.com/geekimages/weatherconky.png"/></center><br />
For the serious geek, you could modify your fetch script to output raw data and play with those numbers using a huge number of <a href="http://conky.sourceforge.net/variables.html" rel="nofollow">Conky&#8217;s huge Cadillac array of objects</a>.<br />
You can also use the &#8220;rss&#8221; variable from conky to parse the feed into conky as well.</p>
<h2>Sources</h2>
<ul>
<li><a href="http://maketecheasier.com/8-useful-and-interesting-bash-prompts/2009/09/04" rel="nofollow">8 useful and interesting bash prompts</a> &#8211; <font size ='small' color='grey' >(maketecheasier.com)</font>
<li><a href="http://www.bitrepository.com/how-to-extract-numbers-from-a-string.html" rel="nofollow">How to extract numbers from a string (PHP)</a> &#8211; <font size ='small' color='grey' >(www.bitrepository.com)</font>
<li><a href="http://rss.weatherbug.com/listfeeds.aspx" rel="nofollow">WeatherBug Feeds</a> &#8211; <font size ='small' color='grey' >(rss.weatherbug.com)</font>
</ul>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/Geekphatuscom?a=vheTP01nU70:7i_8Jitb-24:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/Geekphatuscom?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Geekphatuscom?a=vheTP01nU70:7i_8Jitb-24:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/Geekphatuscom?i=vheTP01nU70:7i_8Jitb-24:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Geekphatuscom?a=vheTP01nU70:7i_8Jitb-24:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/Geekphatuscom?i=vheTP01nU70:7i_8Jitb-24:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Geekphatuscom?a=vheTP01nU70:7i_8Jitb-24:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/Geekphatuscom?i=vheTP01nU70:7i_8Jitb-24:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Geekphatuscom?a=vheTP01nU70:7i_8Jitb-24:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/Geekphatuscom?d=qj6IDK7rITs" border="0"></img></a>
</div>]]></content:encoded>
		<p><a href="http://geek.phatus.com/?p=859">Add updated weather to your BASH prompt</a> - <a href="http://geek.phatus.com/">geek.phatus.com</a> </p>
			<wfw:commentRss>http://geek.phatus.com/2010/01/add-updated-weather-to-your-bash-prompt/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Create a web-based retro-gaming system you can play from anywhere on just about anything</title>
		<link>http://geek.phatus.com/2009/12/create-a-web-based-retro-gaming-system-you-can-play-from-anywhere-on-just-about-anything/</link>
		<comments>http://geek.phatus.com/2009/12/create-a-web-based-retro-gaming-system-you-can-play-from-anywhere-on-just-about-anything/#comments</comments>
		<pubDate>Wed, 30 Dec 2009 06:49:38 +0000</pubDate>
		<dc:creator>Pyro222</dc:creator>
				<category><![CDATA[Games]]></category>
		<category><![CDATA[NostalgiaWare]]></category>
		<category><![CDATA[mame]]></category>
		<category><![CDATA[retro gaming]]></category>

		<guid isPermaLink="false">http://geek.phatus.com/?p=730</guid>
		<description><![CDATA[Wouldn&#8217;t it be great if you could play your old dos games from just about anywhere on just about any device. Accessible only by you,  available anywhere you have Internet access, and all on glorious port:80. With JPC, a Java x86 emulator, this can be a simple task. We can easily create a disk [...]]]></description>
			<content:encoded><![CDATA[<p>Wouldn&#8217;t it be great if you could play your old dos games from just about anywhere on just about any device. Accessible only by you,  available anywhere you have Internet access, and all on glorious port:80. With JPC, a Java x86 emulator, this can be a simple task. We can easily create a disk image that will contain your greatest hits of abandonware, and then run them from your browser through the power of the JPC applet. Read on for step by step instructions.</p>
<p><center><a href="http://geek.phatus.com/2009/12/create-a-web-based-retro-gaming-system-you-can-play-from-anywhere-on-just-about-anything/"><img src="http://www.phatus.com/geekimages/jpcrampart.png"/></a></center></p>
<h2>Download Files</h2>
<p>You will need to download the following files before we begin.</p>
<ul>
<li><a href="http://www-jpc.physics.ox.ac.uk/jars/JPCApplication.jar" rel="nofollow">JPC &#8211; Pure Java x86 PC Emulator</a> <font size ='small' color='grey' >(www-jpc.physics.ox.ac.uk)</font>
</ul>
<h2>Create Game Images</h2>
<ol>
<li>Create a folder somewhere called &#8220;jpc/&#8221;.
<li>Copy &#8220;<strong>JPCApplication.jar</strong>&#8221; to the &#8220;<strong>jpc/</strong>&#8221; folder.
<li>Now you must extract a file called &#8220;<strong>floppy.img</strong>&#8221; from &#8220;<strong>JPCApplication.jar</strong>&#8221; into the &#8220;<strong>jpc/</strong>&#8221; folder. If you are using Linux, this will most likely be as simple as opening up the jar file in your archive manager. Windows and Linux users can also use the <a href="http://www.jguru.com/faq/view.jsp?EID=1297115" rel="nofollow">jar command</a>. &#8220;<strong>floppy.img</strong>&#8221; is located in the jar archive under &#8220;<strong>resources/images</strong>&#8220;.
<li>Create a folder under &#8220;<strong>jpc/</strong>&#8221; called &#8220;<strong>games/</strong>&#8220;.
<li>Copy some games to the &#8220;<strong>jpc/games/</strong>&#8221; folder. (Visit <a href="http://www.abandonia.com/" rel="nofollow">abandonia</a> for some of the classics)
<li>Open the &#8220;<strong>JPCApplications.jar</strong>&#8221; applet by executing the command &#8220;<strong>java -jar JPCApplication.jar</strong>&#8221; under your &#8220;<strong>jpc/</strong>&#8221; folder.
<li>Once the applet has loaded, click on &#8220;<strong>Disks</strong>&#8220;, &#8220;<strong>Create Disk</strong>&#8220;.
<li>Browse to your &#8220;<strong>jpc/</strong>&#8221; folder and create a new image called &#8220;<strong>games1.img</strong>&#8220;.</li>
<p><center><strong><img src="http://www.phatus.com/geekimages/jpc1.png"/></strong></center></p>
<li>For the size of the image, I recommend keeping it around 25MB. JPC will download this image every time you access it from the web so your best bet will be to create multiple disk images which contain different collections of games.
</li>
<p><center><img src = "http://www.phatus.com/geekimages/jpc2.png"/></center></p>
<li>Now click &#8220;<strong>Disks</strong>&#8220;, &#8220;<strong>HD0</strong>&#8220;, &#8220;Choose Image&#8221; and select the &#8220;<strong>games1.img</strong>&#8221; you just created. (note: the system will most likely boot dos after each time you mount an image, just let it do its thing and then continue on)</li>
<li>Now click &#8220;<strong>Disks</strong>&#8220;, &#8220;<strong>HD1</strong>&#8220;, &#8220;<strong>Choose Directory</strong>&#8220;, and then select the &#8220;<strong>jpc/games/</strong>&#8221; folder.</li>
<li>Click on &#8220;<strong>File</strong>&#8220;, &#8220;<strong>Reset</strong>&#8221; to re-boot the system.</li>
<li>You should now be booted into dos. Now we must partition the new .img file we created. Run &#8220;<strong>fdisk</strong>&#8221; at the dos prompt and if it asks if you want fat32 support just choose yes.</li>
<p><center><img width='450' src = "http://www.phatus.com/geekimages/jpc3.png"/></center></p>
<li>Choose &#8220;<strong>5</strong>&#8221; to &#8220;Change current fixed drive&#8221; and at the following screen you should see your 25mb (or whatever size) partition in the list. Select the number of that partition (Mine was partition 1) and press enter.</li>
<p><center><img width='450' src = "http://www.phatus.com/geekimages/jpc4.png"/></center></p>
<li>once you return to the main menu, select &#8220;<strong>1</strong>&#8221; to create a new partition.</li>
<p><center><img width='450' src = "http://www.phatus.com/geekimages/jpc5.png"/></center><br />
<center><img width='450' src = "http://www.phatus.com/geekimages/jpc6.png"/></center></p>
<li>Select &#8220;<strong>1</strong>&#8221; for primary partition and select yes at the next screen when it asks if you want to use the maximum space available. If all went well, you should get a screen stating &#8220;partition created successfully&#8221; at the bottom.</li>
<p><center><img width='450' src = "http://www.phatus.com/geekimages/jpc7.png"/></center><br />
<center><img width='450' src = "http://www.phatus.com/geekimages/jpc8.png"/></center></p>
<li>Press &#8220;<strong>esc</strong>&#8221; to return to the main menu.</li>
<li>Press &#8220;<strong>esc</strong>&#8221; to exit fdisk and it will tell you to reboot. Press &#8220;<strong>esc</strong>&#8221; again to exit and simply select &#8220;<strong>file</strong>&#8220;, &#8220;<strong>reset</strong>&#8221; in the JPC applet to reboot.
<li>Now you must format the the new drive image. Type &#8220;<strong>format c:</strong>&#8221; and follow the on-screen format instructions.
<li>Once you have finished formatting, type &#8220;<strong>c:</strong>&#8221; and then &#8220;<strong>dir</strong>&#8221; to make sure the format worked properly.</li>
<p><center><img width='450' src = "http://www.phatus.com/geekimages/jpc9.png"/></center></p>
<li>Now change to d: drive by typing &#8220;<strong>d:</strong>&#8221; at the dos prompt and type &#8220;<strong>dir</strong>&#8221; to make sure it displays the contents of the &#8220;<strong>jpc/games/</strong>&#8221; folder we created earlier.
<li>Copy the Contents of the d: to the c: by typing &#8220;<strong>xcopy d: c: /s</strong>&#8220;.
<li>Restart jpc one more time and once it re-boots, type &#8220;<strong>c:</strong>&#8221; and then &#8220;<strong>dir</strong>&#8221; to verify the image file took the copy. If not, you may have some space issues and either need to use less games or create a larger image file.
<li>You have now just created your first game disk image. Delete the &#8220;<strong>games/</strong>&#8221; folder under &#8220;<strong>jpc/</strong>&#8220;. (or leave it if you wish to create more game images)
<li>To verify, you should now have a folder somewhere on your pc called &#8220;<strong>jpc/</strong>&#8220;. The &#8220;<strong>jpc/</strong>&#8221; folder contains only the &#8220;<strong>JPCApplication.jar</strong>&#8220;, &#8220;<strong>floppy.img</strong>&#8220;, and &#8220;<strong>games1.img</strong>&#8221; files.
</ol>
<p></p>
<h2>Let the games begin</h2>
<p>To be able to run your new retro gaming setup from any java enabled browser, you will need to first create an html document that will launch the applet for us. </p>
<ol>
<li>Copy and paste the following code into a file called &#8220;<strong>gamesjpc.html</strong>&#8221; under your &#8220;<strong>jpc/</strong>&#8221; folder. (You may also wish to play with <a href="http://www-jpc.physics.ox.ac.uk/download_applet.html" rel="nofollow">this code</a> from JPC)
</li>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p730code18'); return false;">View Code</a> PHP</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p73018"><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
</pre></td><td class="code" id="p730code18"><pre class="php" style="font-family:monospace;"><span style="color: #339933;">&lt;</span>html<span style="color: #339933;">&gt;&lt;</span>body<span style="color: #339933;">&gt;</span>
<span style="color: #339933;">&lt;</span>applet code<span style="color: #339933;">=</span>org<span style="color: #339933;">.</span>jpc<span style="color: #339933;">.</span>j2se<span style="color: #339933;">.</span>JPCApplet<span style="color: #339933;">.</span><span style="color: #000000; font-weight: bold;">class</span>
        archive<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;JPCApplication.jar&quot;</span>
        width<span style="color: #339933;">=</span><span style="color: #cc66cc;">800</span> height<span style="color: #339933;">=</span><span style="color: #cc66cc;">600</span><span style="color: #339933;">&gt;</span>
<span style="color: #339933;">&lt;</span>PARAM NAME <span style="color: #339933;">=</span> boot VALUE <span style="color: #339933;">=</span> fda<span style="color: #339933;">&gt;</span>
<span style="color: #339933;">&lt;</span>PARAM NAME <span style="color: #339933;">=</span> fda VALUE <span style="color: #339933;">=</span> floppy<span style="color: #339933;">.</span>img<span style="color: #339933;">&gt;</span>
<span style="color: #339933;">&lt;</span>PARAM NAME <span style="color: #339933;">=</span> hda VALUE <span style="color: #339933;">=</span> games1<span style="color: #339933;">.</span>img<span style="color: #339933;">&gt;</span>
<span style="color: #339933;">&lt;/</span>applet<span style="color: #339933;">&gt;</span>
<span style="color: #339933;">&lt;/</span>body<span style="color: #339933;">&gt;&lt;/</span>html<span style="color: #339933;">&gt;</span></pre></td></tr></table></div>

<li>Upload the &#8220;<strong>jpc/</strong>&#8221; folder to an obscure location (or password protected folder if you prefer) on your web server.
<li>Visit your new secret location (http://server.com/secretlocation/gamesjpc.html) and you should be ready to rock n&#8217; roll.
</ol>
<h2>NOTES</h2>
<p>Although JPC is a powerful application, it is still not perfect hence you may experience trouble playing certain games. My original intent was to write this tutorial for creating a mame system, however I was unsuccessful in getting dosMAME to run properly. You may wish to tinker with <a href="http://dioscuri.sourceforge.net/">DIOSCURI</a>. DIOSCURI allows you to tweak almost every aspect of their x86 computer hardware emulator which makes use of JPC&#8217;s memory and processor technology. You can also find an alternative floppy.img image file in the DIOSCURI zip download under &#8220;dioscuri_040/images/floppy/FreeDOS/&#8221;. Also, if you require a speed increase in JPC, visit <a href="http://www-jpc.physics.ox.ac.uk/download_applet.html" rel="nofollow">this link</a> and read the section at the bottom of the page on how to precompile classes. If anyone has any comments or suggestions, please feel free to email us at <a href="mailto:admin@phatus.com">admin@phatus.com</a></strong></p>
<h2>Resources</h2>
<ul>
<li><a href="http://www-jpc.physics.ox.ac.uk" rel="nofollow">JPC &#8211; Pure Java x86 PC Emulator</a><font size ='small' color='grey' > (www-jpc.physics.ox.ac.uk)<br />
</font></p>
<li><a href="http://dioscuri.sourceforge.net" rel="nofollow">DIOSCURI &#8211; PC Hardware Emulator</a><font size ='small' color='grey' > (http://dioscuri.sourceforge.net)</font>
<li><a href="http://www.dosdose.com/" rel="nofollow">dosdose</a><font size ='small' color='grey' > (http://www.dosdose.com)</font>
<li><a href="http://www.classicdosgames.com" rel="nofollow">Classic DOS Games</a><font size ='small' color='grey' > (http://www.classicdosgames.com)</font>
<li><a href="http://www.abandonia.com" rel="nofollow">Abandonia</a><font size ='small' color='grey' > (http://www.abadonia.com)</font>
</ul>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/Geekphatuscom?a=wxjJlCFz-Z4:hxCxlGkIwFc:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/Geekphatuscom?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Geekphatuscom?a=wxjJlCFz-Z4:hxCxlGkIwFc:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/Geekphatuscom?i=wxjJlCFz-Z4:hxCxlGkIwFc:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Geekphatuscom?a=wxjJlCFz-Z4:hxCxlGkIwFc:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/Geekphatuscom?i=wxjJlCFz-Z4:hxCxlGkIwFc:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Geekphatuscom?a=wxjJlCFz-Z4:hxCxlGkIwFc:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/Geekphatuscom?i=wxjJlCFz-Z4:hxCxlGkIwFc:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Geekphatuscom?a=wxjJlCFz-Z4:hxCxlGkIwFc:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/Geekphatuscom?d=qj6IDK7rITs" border="0"></img></a>
</div>]]></content:encoded>
		<p><a href="http://geek.phatus.com/?p=730">Create a web-based retro-gaming system you can play from anywhere on just about anything</a> - <a href="http://geek.phatus.com/">geek.phatus.com</a> </p>
			<wfw:commentRss>http://geek.phatus.com/2009/12/create-a-web-based-retro-gaming-system-you-can-play-from-anywhere-on-just-about-anything/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Matching “Real-Life” Interior Paint Colors for use in Google Sketchup</title>
		<link>http://geek.phatus.com/2009/12/matching-interior-paint-colors-for-use-in-google-sketchup/</link>
		<comments>http://geek.phatus.com/2009/12/matching-interior-paint-colors-for-use-in-google-sketchup/#comments</comments>
		<pubDate>Thu, 10 Dec 2009 22:34:19 +0000</pubDate>
		<dc:creator>Pyro222</dc:creator>
				<category><![CDATA[Home]]></category>
		<category><![CDATA[3d]]></category>
		<category><![CDATA[diy]]></category>
		<category><![CDATA[home improvement]]></category>
		<category><![CDATA[interior design]]></category>
		<category><![CDATA[paint]]></category>
		<category><![CDATA[paint colors]]></category>

		<guid isPermaLink="false">http://geek.phatus.com/?p=646</guid>
		<description><![CDATA[As a first time home buyer, one of the first things my wife and I needed to do was decide on paint colors. I was having trouble getting &#8220;real-life&#8221; colors to match up so I came up with a simple solution that is detailed step-by-step below. Of course there is no perfect way to achieve [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://geek.phatus.com/2009/12/matching-interior-paint-colors-for-use-in-google-sketchup/"><img style="float:right" src="http://www.phatus.com/geekimages/kitch.png"/></a>As a first time home buyer, one of the first things my wife and I needed to do was decide on paint colors. I was having trouble getting &#8220;real-life&#8221; colors to match up so I came up with a simple solution that is detailed step-by-step below. Of course there is no perfect way to achieve this as everyones monitor is set to different color, brightness and contrast levels, however we can get real close. Read on for step by step instructions.</p>
<h2><strong>Prep</strong></h2>
<ol>
<li>Make sure you have the latest version of <a href="http://sketchup.google.com/download/gsu.html">Google Sketchup</a> installed.
</li>
<li>You will also need some sort of paint program. MS paint might work for this, but why would you? For the examples below I will be using <a href="http://www.gimp.org/downloads/">The Gimp</a>.</li>
<li>You may also wish to head down to your local home improvement store and grab some paint samples that you like to start with. We will be using &#8220;<a href="http://www.behr.com/dsm-ext/v/index.jsp?vgnextoid=6bd8ea6621ca5110VgnVCM1000008119fea9RCRD&#038;vgnextfmt=default">Behr&#8217;s Virtual Color Center</a>&#8221; so this may only work for Behr colors however I have noticed many colors with the same names from different manufactures.</li>
</ol>
<h2><strong>Get a digital sample</strong></h2>
<ol>
<li> Go to <a href="http://www.behr.com/dsm-ext/v/index.jsp?vgnextoid=6bd8ea6621ca5110VgnVCM1000008119fea9RCRD&#038;vgnextfmt=default">Behr&#8217;s Virtual Color Center</a>, and type in the name of your paint in the search box in the bottom right. For our color we chose &#8220;Swiss Coffee&#8221;.</li>
<p><center><img src="http://www.phatus.com/geekimages/paintsketch1.png"/><br />
</center><br />
</p>
<li>Next you should see a results screen listing your color in various finishes. Click on the one that you would like and then click &#8220;Preview with ColorSmart&#8221; in the bottom right. In our case we choose the flat enamel.</li>
<p><center><img src="http://www.phatus.com/geekimages/paintsketch2.png"/></center><br />
<center><img src="http://www.phatus.com/geekimages/paintsketch3.png"/></center><br />
</p>
<li>Now you  should be presented with a new window with a virtual sample of your color. We will need a screen-shot of this window. If you are using windows you will have to press Alt+PrtScr to capture the window and then paste it into your paint program. If you are using Linux, press Alt+PrtScr and you will most likely be presented with the option to save the image as a file.</li>
<p><center><img src="http://www.phatus.com/geekimages/paintsketch4.png"/><br />
</center></p>
</ol>
<h2><strong>Get the RGB values of the digital sample</strong></h2>
<ol>
<li>Run &#8220;The Gimp&#8221; and open the screen-shot we took in the previous step. If you are using windows, simply click: Edit &#8211; Paste As &#8211; New Image.</li>
<p></p>
<li><img style="float:right" src="http://www.phatus.com/geekimages/eyedropper.png"/> Now that we have the image loaded, set the current color to the sample color by clicking on the eyedropper tool and then once again on the paint sample.</li>
<p><center><img src="http://www.phatus.com/geekimages/paintsketch12.png"/></center><br />
</p>
<li> Now click on the color selector to get the RGB values. Write down these values. In our case <strong>R=239, G=235, B=225</strong>.</li>
<p><center><img src="http://www.phatus.com/geekimages/paintsketch6.png"/></center>
</ol>
<h2>Set the color in Sketchup</h2>
<ol>
<li>Now you are ready to set the color and begin painting. Run Sketchup and open your model.</li>
<p></p>
<li>Select the paint bucket button in the top tool-bar. You will then be presented with a Materials window. Be sure &#8220;Colors&#8221; is selected in the drop-down box.</li>
<p><center><img src="http://www.phatus.com/geekimages/paintsketch7.png"/></center><br />
</p>
<li>Click on the Create Material button.</li>
<p><center><img src="http://www.phatus.com/geekimages/paintsketch8.png"/></center><br />
</p>
<li>Now select &#8220;RGB&#8221; from the &#8220;Picker&#8221; drop-down box and enter in the RGB values you wrote down earlier into the new material window. Also be sure to name the new material at the top.</li>
<p><center><img src="http://www.phatus.com/geekimages/paintsketch9.png"/></center></p>
<li> Select &#8220;Ok&#8221; and you are now ready to begin painting with an excellent digital re-creation of your real-life interior colors.</li>
</ol>
<p>Stay tuned for more to come..<br />
</p>
<p>Read the <a href="http://www.instructables.com/id/Matching-real-world-interior-paint-colors-for-use-/">Instructable</a>.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/Geekphatuscom?a=4VOMynmu1Uk:gpQ32lUlH0k:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/Geekphatuscom?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Geekphatuscom?a=4VOMynmu1Uk:gpQ32lUlH0k:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/Geekphatuscom?i=4VOMynmu1Uk:gpQ32lUlH0k:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Geekphatuscom?a=4VOMynmu1Uk:gpQ32lUlH0k:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/Geekphatuscom?i=4VOMynmu1Uk:gpQ32lUlH0k:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Geekphatuscom?a=4VOMynmu1Uk:gpQ32lUlH0k:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/Geekphatuscom?i=4VOMynmu1Uk:gpQ32lUlH0k:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Geekphatuscom?a=4VOMynmu1Uk:gpQ32lUlH0k:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/Geekphatuscom?d=qj6IDK7rITs" border="0"></img></a>
</div>]]></content:encoded>
		<p><a href="http://geek.phatus.com/?p=646">Matching “Real-Life” Interior Paint Colors for use in Google Sketchup</a> - <a href="http://geek.phatus.com/">geek.phatus.com</a> </p>
			<wfw:commentRss>http://geek.phatus.com/2009/12/matching-interior-paint-colors-for-use-in-google-sketchup/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Renegade BBS in Ubuntu LINUX (Telnet|Multi-Node) – Tutorial</title>
		<link>http://geek.phatus.com/2009/08/renegade-bbs-in-ubuntu-linux-telnetmulti-node/</link>
		<comments>http://geek.phatus.com/2009/08/renegade-bbs-in-ubuntu-linux-telnetmulti-node/#comments</comments>
		<pubDate>Tue, 18 Aug 2009 21:39:14 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[NostalgiaWare]]></category>
		<category><![CDATA[bbs]]></category>
		<category><![CDATA[renegade]]></category>
		<category><![CDATA[renegade bbs]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://geek.phatus.com/?p=377</guid>
		<description><![CDATA[A while ago I began thinking back about the the good old days when a dial-up BBS was the only thing even remotely resembling a basic website. Back when kids would unplug their parents phones over night and run their underground boards participating in a brilliant scene of hackers and phreakers that was decades ahead [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://geek.phatus.com/2009/08/renegade-bbs-in-ubuntu-linux-telnetmulti-node/"><img style="float:right" src="http://www.phatus.com/geekimages/renegadebbs.jpg" alt="" width="200" /></a>A while ago I began thinking back about the the good old days when a dial-up BBS was the only thing even remotely resembling a basic website. Back when kids would unplug their parents phones over night and run their underground boards participating in a brilliant scene of hackers and phreakers that was decades ahead of its time. Since most young hackers typically had little to no money, the free and legendary Renegade BBS always seemed to be at the heart of this scene. Dispensing tens, perhaps even hundreds of megabytes of underground information and warez to all who would dial-in and participate in her communities. Now days I pretty much only use Windows for games and recording so  I wanted to find a way to run a multi-node Renegade BBS under my Ubuntu system that you could telnet to. Read on to find out how I achieved this.<strong>DISCLAIMER</strong>: Before we begin, please note that I am not responsible for any damage done to your system as a result of the following processes. Also note that we will be opening multiple TCP ports for direct connection without any Linux authentication. This is most likely a security issue. PROCEED AT YOUR OWN RISK!</p>
<h2>Automated install&#8230;.</h2>
<p>If you wish to skip the hassle of manually installing renegade, I have created an automated install script below. This script is geared for Ubuntu/Debian systems however if you remove the control statement to check for dosbox in the script, you should be able to use this on just about any Linux system assuming that dosbox is properly installed on that system. Also don&#8217;t forget to run &#8220;chmod 755 renebuntu.sh&#8221; to make the script executable.</p>
<p><center><a href="http://www.phatus.com/geekimages/renebuntu.sh" title=”Download renegade bbs install script for linux"><img src="http://www.phatus.com/geekimages/shellscript.png" alt="" width="24" height="24" /><br />
Download renebuntu.sh</a><br />
(Linux Install script for renegadeBBS)</center></p>
<h2>Manual Install&#8230;.</h2>
<p><strong>step 1</strong> &#8211; Install files and support software.<br />
Install DosBox (Linux DOS Emulator)</p>
<blockquote><p>$ sudo apt-get install dosbox</p></blockquote>
<p>Create a folder under your home folder called renegade. NOTE: You may wish to create a new user account named &#8220;renegade&#8221; and grant it minimal permissions. If you choose to do this, be sure to login under the new account before proceeding.</p>
<blockquote><p>$ mkdir ~/renegade</p></blockquote>
<p>Get and Extract Renegade BBS</p>
<blockquote><p>$ cd ~/renegade<br />
$ wget http://mysite.verizon.net/tjm694/files/RGV110F.ZIP<br />
$ unzip rgv100f.zip</p></blockquote>
<p>Get and Extract the FOSSIL driver.</p>
<blockquote><p>$ mkdir foss<br />
$ cd foss<br />
$ wget http://fido.mbse.eu/files/local/comms/FCI0106.zip<br />
$ unzip FCI0106.zip<br />
$ cd ..</p></blockquote>
<p>Start DosBox</p>
<blockquote><p>$ dosbox</p></blockquote>
<p>Install Renegade BBS in dosbox.</p>
<blockquote><p>Z:\&gt; mount c ~/renegade<br />
Z:\&gt; c:<br />
C:\&gt; install</p></blockquote>
<p>When the installer asks you for the &#8220;main path&#8221; of the bbs, enter in &#8220;c:\&#8221;.</p>
<p>Keep the DosBox window open&#8230;</p>
<p><img src="http://www.phatus.com/geekimages/ren2.jpg" alt="renegade" /></p>
<p><strong>step 2</strong> &#8211; Create and modify the config files.<br />
To create a generic config file for DosBox, type the following command into DosBox.</p>
<blockquote><p>C:\&gt; config -writeconf n1.conf</p></blockquote>
<p>Exit DoxBox</p>
<blockquote><p>C:\&gt; exit</p></blockquote>
<p>Edit the config file</p>
<blockquote><p>$ gedit ~/renegade/n1.conf</p></blockquote>
<p>Find the section labeled [serial] and change its contents to read as follows..</p>
<blockquote><p>[serial]<br />
serial1=modem listenport:2000<br />
serial2=dummy<br />
serial3=disabled<br />
serial4=disabled</p></blockquote>
<p>Now find the section called [autoexec] and add in the following lines(it should be the last section).</p>
<blockquote><p>[autoexec]<br />
mount c ~/renegade<br />
c:<br />
cd foss<br />
fci.exe<br />
cd ..<br />
renegade.exe -N1</p></blockquote>
<p>Save the config file as n1.conf<br />
Now go back and change the listenport on serial1 from 2000 to 2001<br />
Also change the &#8220;-N1&#8243; argument after renegade.exe in the [autoexec] section to -N2 and save as n2.conf<br />
Repeat accordingly until you have created 4 separate config files n1 &#8211; n4.conf, utilizing listenports 2000 &#8211; 2003 and executing renegade.exe on nodes 1 &#8211; 4 using the -N argument.<br />
(I imagine you could essentially create as many nodes as you wish.)</p>
<p><img src="http://www.phatus.com/geekimages/ren3.jpg" alt="renegade" /></p>
<p><strong>step 3</strong> &#8211; Create launchers.<br />
Now we will create four launchers that will spawn each node of the BBS.</p>
<p>Right-Click on the desktop and click &#8220;Create Launcher&#8221;<br />
Change the application type to &#8220;Application in terminal&#8221; (optional).<br />
Name the launcher &#8220;RGN1&#8243;<br />
Under command type: &#8220;dosbox -conf ~/renegade/n1.conf&#8221;</p>
<p>Repeat process changing &#8220;RGN1 to RGN2&#8243; and &#8220;n1.conf&#8221; to &#8220;n2.conf&#8221; and so forth until you have created a launcher for all four nodes.</p>
<p><img src="http://www.phatus.com/geekimages/ren4.jpg" alt="renegade" /></p>
<p><strong>step 4</strong> &#8211; Start and test<br />
Now Launch the first node using the launcher (RGN1) that we created in the previous step.</p>
<p>Open a terminal window and type the following command to test the node.</p>
<blockquote><p>$ telnet localhost 2000</p></blockquote>
<p>If all went well in the setup process, you should see a generic Renegade login screen in your telnet session. Don&#8217;t forget to set your character encoding to &#8220;Western (IBM850)&#8221;.</p>
<p>You should be able to launch all four nodes and telnet to each of them on ports 2000-2003. Setup your port forwarding on your router accordingly, and invite your friends to check out your new hella underground hella leet Renegade BBS.</p>
<p>I realize there is still much testing and work to be done on this project so please feel free to send comments and suggestions to <a href="mailto:admin@phatus.com">admin@phatus.com</a></p>
<p>You can also view the instructable <a href="http://www.instructables.com/id/Renegade-BBS-in-Ubuntu-Linux-Telnet-Multi-Node/" title=”Renegade BBS install in linux instructable">here.</a></p>
<h2>References</h2>
<p>
<a href="http://nick.declario.com/blog/?p=207">nick.declario.com<br />
</a><br />
<a href="http://www.renegadebbs.net/news.php" title="Renegade Development Team site">	renegadebbs.net<br />
</a><br />
<a href="http://www.bbsdocumentary.com/software/IBM/DOS/RENEGADE/" title"THE ALL-TIME BBS SOFTWARE LIST">bbsdocumentary.com<br />
</a></ul></p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/Geekphatuscom?a=gOKt7wWNv_0:FNQ5_x5a_Xc:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/Geekphatuscom?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Geekphatuscom?a=gOKt7wWNv_0:FNQ5_x5a_Xc:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/Geekphatuscom?i=gOKt7wWNv_0:FNQ5_x5a_Xc:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Geekphatuscom?a=gOKt7wWNv_0:FNQ5_x5a_Xc:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/Geekphatuscom?i=gOKt7wWNv_0:FNQ5_x5a_Xc:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Geekphatuscom?a=gOKt7wWNv_0:FNQ5_x5a_Xc:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/Geekphatuscom?i=gOKt7wWNv_0:FNQ5_x5a_Xc:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Geekphatuscom?a=gOKt7wWNv_0:FNQ5_x5a_Xc:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/Geekphatuscom?d=qj6IDK7rITs" border="0"></img></a>
</div>]]></content:encoded>
		<p><a href="http://geek.phatus.com/?p=377">Renegade BBS in Ubuntu LINUX (Telnet|Multi-Node) – Tutorial</a> - <a href="http://geek.phatus.com/">geek.phatus.com</a> </p>
			<wfw:commentRss>http://geek.phatus.com/2009/08/renegade-bbs-in-ubuntu-linux-telnetmulti-node/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Carry your keys in your multitool – DIY</title>
		<link>http://geek.phatus.com/2009/08/swiss-army-keys-tutorial-and-instructable/</link>
		<comments>http://geek.phatus.com/2009/08/swiss-army-keys-tutorial-and-instructable/#comments</comments>
		<pubDate>Tue, 18 Aug 2009 03:44:49 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[DIY]]></category>
		<category><![CDATA[Hacks/Mods]]></category>
		<category><![CDATA[condense keys]]></category>
		<category><![CDATA[diy]]></category>
		<category><![CDATA[diy key mod]]></category>
		<category><![CDATA[key hack]]></category>
		<category><![CDATA[key mod]]></category>
		<category><![CDATA[keychain mod]]></category>
		<category><![CDATA[keychain substitute]]></category>
		<category><![CDATA[swiss army keys]]></category>

		<guid isPermaLink="false">http://geek.phatus.com/?p=199</guid>
		<description><![CDATA[ The minute I finished reading about the &#8220;Swiss Army Keys&#8221; project I found earlier, I immediately had to start fashioning my own. I documented my experience and have posted an Instructable on making something similar. Read on for a brief tutorial on how I made it.
Let me first state that I stumbled on this [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.instructables.com/id/Swiss-Army-Keys-Key-and-Leatherman-Mod/"><img style="float:right" width="150" height="125" src="http://www.phatus.com/geekimages/swiss/swisskeys.jpg"/></a> The minute I finished reading about the &#8220;Swiss Army Keys&#8221; project I found earlier, I immediately had to start fashioning my own. I documented my experience and have posted an <a href="http://www.instructables.com/id/Swiss-Army-Keys-Key-and-Leatherman-Mod/">Instructable</a> on making something similar. Read on for a brief tutorial on how I made it.</p>
<p>Let me first state that I stumbled on this Idea browsing through the <a href="http://www.edcforums.com/">edcforums</a>. There was a post a while back where someone had posted some pictures on building one of these sweet little babies. Check out the original <a href="http://edcforums.com/index.php?PHPSESSID=0a8996b694d19cb26f9ceb25d046211b&#038;topic=10477.msg129681#msg129681">forums thread started by shadeone here</a>. I take no credit for originating this idea, I&#8217;ve just documented my own experience building one.</p>
<p><strong>Materials</strong>
<ul>
<li>Leatherman Micra &#8211; ( I used a cheapo Husky clone that I got at home depot for $2)</li>
<li>Keys &#8211; (be sure to make copies of them first)</li>
<li>Drill</li>
<li>Something to cut the keys with &#8211; (I used a Dremel with a cutoff wheel</li>
</ul>
<p><center><img src="http://www.phatus.com/geekimages/swiss/1.jpg"/></p>
<p></center></p>
<p><strong>Disassemble the Multi Tool</strong><br />
Start by unscrewing and Disassembling the tool. Make sure you save all of the little parts and washers. Note that I was able to fit 3 keys per side so only undo one side if you are doing 3 keys or less.<br /><center><img src="http://www.phatus.com/geekimages/swiss/2.jpg"/></center></p>
<p><center><img src="http://www.phatus.com/geekimages/swiss/3.jpg"/></center></p>
<p><strong>Select a Matchup Piece</strong><br />
Set one piece aside to use to match your key against when you are cutting it.<br /><center><img src="http://www.phatus.com/geekimages/swiss/4.jpg"/></center></p>
<p><strong>Cut Your Keys</strong><br />
Cut down your keys to roughly match the end of the piece you picked in the previous step. You will be drilling a hole in them so be sure and leave as much meat as possible. You can fine tune it later.<center><img src="http://www.phatus.com/geekimages/swiss/5.jpg"/></center></p>
<p><strong>Mark and Drill the Holes</strong><br />
Place each key one at a time inside the tool in the direction you will be placing it and mark the hole with a fine point marker through the hole in the tool. I placed mine teeth down so it is easier to pull them out by hooking a fingernail in the grooves across the top.</p>
<p>Once you have marked all keys, mark your starting points with a punch or nail and drill your holes. The size of the hole may vary depending on what kind of multi tool you choose. Start small as you can always bore it out more if necessary.<br /><center><img src="http://www.phatus.com/geekimages/swiss/6.jpg"/></center></p>
<p><strong>Put it Back Together</strong><br />
Re-assemble the tool substituting the keys for the tools. Be careful of three things. 1) Be sure you put a washer in between any metal-on-metal contact. 2) Make sure you place the keyring attachment piece somewhere where it will not interfere with a key. 3) Most importantly, remember to leave a gap in the middle of each side for the pliers/cutters to fit into when you collapse the tool. ( I placed two keys all the way to one side, then a bunch of washers and then a key against the other side.</p>
<p>One little tip: If there is a skinny leather punch or mini screw driver piece, you can stick this through the hole when re-assembling the tool to help keep the washers and the pin in place. This also worked well to wiggle around to get everyting to fit together properly.</p>
<p>Enjoy!<br /><center><img src="http://www.phatus.com/geekimages/swiss/7.jpg"/></center></p>
<p><center><img src="http://www.phatus.com/geekimages/swiss/swisskeys.jpg"/></center></p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/Geekphatuscom?a=6Prdeke9TAw:mSVRXGFEFHw:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/Geekphatuscom?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Geekphatuscom?a=6Prdeke9TAw:mSVRXGFEFHw:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/Geekphatuscom?i=6Prdeke9TAw:mSVRXGFEFHw:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Geekphatuscom?a=6Prdeke9TAw:mSVRXGFEFHw:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/Geekphatuscom?i=6Prdeke9TAw:mSVRXGFEFHw:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Geekphatuscom?a=6Prdeke9TAw:mSVRXGFEFHw:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/Geekphatuscom?i=6Prdeke9TAw:mSVRXGFEFHw:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Geekphatuscom?a=6Prdeke9TAw:mSVRXGFEFHw:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/Geekphatuscom?d=qj6IDK7rITs" border="0"></img></a>
</div>]]></content:encoded>
		<p><a href="http://geek.phatus.com/?p=199">Carry your keys in your multitool – DIY</a> - <a href="http://geek.phatus.com/">geek.phatus.com</a> </p>
			<wfw:commentRss>http://geek.phatus.com/2009/08/swiss-army-keys-tutorial-and-instructable/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Who is the guy on the Incubus album covers?</title>
		<link>http://geek.phatus.com/2009/08/who-is-that-guy-on-the-incubus-album-covers/</link>
		<comments>http://geek.phatus.com/2009/08/who-is-that-guy-on-the-incubus-album-covers/#comments</comments>
		<pubDate>Mon, 17 Aug 2009 09:29:06 +0000</pubDate>
		<dc:creator>Pyro222</dc:creator>
				<category><![CDATA[Music]]></category>
		<category><![CDATA[Brandon Boyd]]></category>
		<category><![CDATA[charles mulholland]]></category>
		<category><![CDATA[chuck]]></category>
		<category><![CDATA[Chuck Boyd]]></category>
		<category><![CDATA[incubus]]></category>
		<category><![CDATA[Science]]></category>

		<guid isPermaLink="false">http://geek.phatus.com/?p=341</guid>
		<description><![CDATA[Today I came across one of my long lost and  most prized albums of all time. Incubus&#8217;s S.C.I.E.N.C.E LP. And inevitably there is one question that pops in my mind every time I see the cover. Who the hell is the dude with the mustache? The picture, for some reason, has always struck me [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://profile.myspace.com/index.cfm?fuseaction=user.viewprofile&#038;friendid=14716924"><a href="http://geek.phatus.com/2009/08/who-is-that-guy-on-the-incubus-album-covers/"><img style="float:right" src="http://www.phatus.com/geekimages/chuck2.jpg"/></a></a>Today I came across one of my long lost and  most prized albums of all time. Incubus&#8217;s S.C.I.E.N.C.E LP. And inevitably there is one question that pops in my mind every time I see the cover. Who the hell is the dude with the mustache? The picture, for some reason, has always struck me as somewhat intriguing and mysterious which only ads to the conundrum of this remarkable album. After years of wonderment, I finally took the time to do a little research on just who is Chuck, and found <a href="http://www.geocities.com/incu3602/chuck.html">this page</a> which still, unfortunately, leaves question however, it does shed some light on the subject.</p>
<p>
Apparently no one really knows who this guy actually is. Many rumors over the years have suggested things such as that he was a figure in some of the ol&#8217; Miller beer commercials, a porn star, and best of all, a girls cheerleading coach. Some have even speculated that he is former Marlboro Man &#8220;Chuck Boyd&#8221;, father of lead singer Brandon Boyd. In a reported interview with Brandon, he states that the picture is from 1974 and the only thing he is certain on is that &#8220;Chuck&#8221; is in fact Charles Mulholland, a <a href="http://www.geocities.com/incu3602/chuck.html"><img style="float:right" src="http://www.phatus.com/geekimages/chuck1.jpg"/></a>Salem cigarette model in 1976. He claims to have met Chuck during the filming of the &#8220;Pardon Me&#8221; video in which Brandon states that Chuck plays an older version of himself. According to the interview, Brandon thought it was a really cool picture so the band decided to throw it up on the album covers and then spread a bunch of ridiculous rumors about who he is. Brandon states that he was &#8220;the coolest guy I ever met&#8221;. But we still can only speculate the truth, I mean, Brandon admits to spreading rumors of his Identity and whats to say the band has ever stopped? I even dug up <a href="http://profile.myspace.com/index.cfm?fuseaction=user.viewprofile&#038;friendid=14716924">this MySpace Profile</a> in which the user claims to be THE Charles Mulholland himself. Check out the links and decide for yourself. As for getting down to the bottom of the matter, there is really no way to be absolutely certain but one thing I am sure of is that this may very well be one of the most entertaining hooks/gimmicks of all time for probably one of the best rock bands of all time.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/Geekphatuscom?a=xhG3u9iJwkQ:HELFBZ8b2ws:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/Geekphatuscom?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Geekphatuscom?a=xhG3u9iJwkQ:HELFBZ8b2ws:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/Geekphatuscom?i=xhG3u9iJwkQ:HELFBZ8b2ws:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Geekphatuscom?a=xhG3u9iJwkQ:HELFBZ8b2ws:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/Geekphatuscom?i=xhG3u9iJwkQ:HELFBZ8b2ws:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Geekphatuscom?a=xhG3u9iJwkQ:HELFBZ8b2ws:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/Geekphatuscom?i=xhG3u9iJwkQ:HELFBZ8b2ws:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Geekphatuscom?a=xhG3u9iJwkQ:HELFBZ8b2ws:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/Geekphatuscom?d=qj6IDK7rITs" border="0"></img></a>
</div>]]></content:encoded>
		<p><a href="http://geek.phatus.com/?p=341">Who is the guy on the Incubus album covers?</a> - <a href="http://geek.phatus.com/">geek.phatus.com</a> </p>
			<wfw:commentRss>http://geek.phatus.com/2009/08/who-is-that-guy-on-the-incubus-album-covers/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
