<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>ThePizzy.net/blog &#187; internet</title>
	<atom:link href="http://thepizzy.net/blog/tag/internet/feed/" rel="self" type="application/rss+xml" />
	<link>http://thepizzy.net/blog</link>
	<description>Solving the complex in 140 characters or less...</description>
	<lastBuildDate>Mon, 02 Jan 2012 15:55:48 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.4-alpha-19719</generator>
<xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
		<item>
		<title>TweetSuite WordPress Plugin + Ping.fm (Preview)</title>
		<link>http://thepizzy.net/blog/2009/03/tweetsuite-wordpress-plugin-pingfm-preview/</link>
		<comments>http://thepizzy.net/blog/2009/03/tweetsuite-wordpress-plugin-pingfm-preview/#comments</comments>
		<pubDate>Sat, 21 Mar 2009 16:41:23 +0000</pubDate>
		<dc:creator>[[Neo]]</dc:creator>
				<category><![CDATA[Ping.fm]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Thought Experiments]]></category>
		<category><![CDATA[TweetSuite]]></category>
		<category><![CDATA[Twitter]]></category>
		<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[beta]]></category>
		<category><![CDATA[dan zarrella]]></category>
		<category><![CDATA[database]]></category>
		<category><![CDATA[internet]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[site]]></category>
		<category><![CDATA[syndication]]></category>
		<category><![CDATA[tweetbacks]]></category>
		<category><![CDATA[twitter]]></category>

		<guid isPermaLink="false">http://thepizzy.net/blog/?p=319</guid>
		<description><![CDATA[A couple weeks ago, I found out that Twitter had a Search feature that showed real-time tweets for a keyword. I gave it a little thought, considered what it would...]]></description>
			<content:encoded><![CDATA[<p>A couple weeks ago, I found out that <a href="http://twitter.com" target="_blank">Twitter</a> had a <a href="http://search.twitter.com" target="_blank">Search feature</a> that showed real-time tweets for a keyword. I gave it a little thought, considered what it would take to actually write the software &#8211; and then wised up, and decided to see if someone already did the hard work.</p>
<p>Sure enough, <a title="@danzarrella" href="http://twitter.com/danzarrella" target="_blank">Dan Zarrella</a> over at <a href="http://danzarrella.com/" target="_blank">danzarrella.com</a> had. He wrote one for <a href="http://danzarrella.com/tweetbacks-beta.html" target="_blank">Tweetbacks</a>, and then expanded on it with <a href="http://danzarrella.com/beyond-tweetbacks-introducing-tweetsuite.html" target="_blank">TweetSuite</a>. So I gave them a shot.</p>
<p>I started with Tweetbacks on the <a href="http://freeformfrog.com/blog" target="_blank">FreeformFrog.com Blog</a> and everything seemed to be working fine &#8211; until one day when the Tweetbacks stopped. It just stopped finding them &#8211; even though I knew they were getting tweeted &#8211; because I was using <a href="http://ping.fm" target="_blank">Ping.fm</a> to syndicate my blog posts to the appropriate social networks.</p>
<p>I gave it a couple weeks, and then decided I was going to fix it. I was tired of not having my TweetBacks working &#8211; especially during my efforts pushing a Social Networking campaign at job.</p>
<p>So, I added @danzarrella, and asked&#8230;</p>
<blockquote><p><span class="entry-content">@<a href="http://twitter.com/danzarrella">danzarrella</a> do you have plans to integrate ping.fm posting in TweetSuite? If not, mind if I take a crack at it?<br />
from @neotsn at <a class="entry-date" rel="bookmark" href="http://twitter.com/neotsn/status/1350750034"><span class="published">4:32 PM Mar 18th</span></a> from web</span></p></blockquote>
<p><span class="entry-content">A few minutes later, I got a response&#8230;</span></p>
<blockquote><p><span class="entry-content"><span class="entry-content">@<a href="http://twitter.com/neotsn">neotsn</a> go to town<br />
from @danzarrella at </span><span class="meta entry-meta"><a class="entry-date" rel="bookmark" href="http://twitter.com/danzarrella/status/1350761852"><span class="published">4:34 PM Mar 18th</span></a> from <a href="http://www.tweetdeck.com/">TweetDeck</a> <a href="http://twitter.com/neotsn/status/1350750034">in reply to neotsn</a></span></span></p></blockquote>
<p><span class="entry-content"><span class="meta entry-meta">Excellent&#8230;now I had his blessing to hack his codes. And so I have&#8230;<br />
</span></span></p>
<p><span class="entry-content"><span class="meta entry-meta"><span id="more-319"></span><br />
</span></span></p>
<h2><span class="entry-content"><span class="meta entry-meta">The download is coming soon</span></span></h2>
<h3><span class="entry-content"><span class="meta entry-meta">I have to get my Ping.fm API Key approved before anyone but me can install the plugin.<br />
</span></span></h3>
<p><span class="entry-content"><span class="meta entry-meta">And now I present to you a general overview of what I wanted to accomplish, and how I did it. (<strong>Please note, this is a GENERAL overview with some examples</strong> &#8211; it&#8217;s not meant to be a how-to, so don&#8217;t try to just copy/paste the samples &#8211; there is much more to do than can be explained here). Let&#8217;s get started&#8230;</span></span></p>
<h2><span class="entry-content"><span class="meta entry-meta">Objectives&#8230;</span></span></h2>
<ol>
<li><span style="text-decoration: underline;"><strong>Make it post through Ping.fm</strong></span> &#8211; I syndicate all my stuff through <a href="http://twitterfeed.com" target="_blank">twitterfeed.com</a> and it pushes everything out through Ping.fm for me. Upon further investigation, I noticed that TweetSuite used its own publishing code to push out the updates &#8211; after it created its own shortened urls and attached them. So of course it would never find my updates &#8211; it didn&#8217;t know what urls to search for, because it didn&#8217;t create them.</li>
<li><span style="text-decoration: underline;"><strong>Make it find my tweets that were pushed through Ping.fm</strong></span> &#8211; After realizing that it stopped searching for blog titles and started searching for the shortened urls as the unique identifier on the web, I realized that I needed it to create my urls and push them out with my Ping.fm update text. That was the only way to let TweetSuite know that there were tweets out there about my blog, and obtw here&#8217;s the link.</li>
<li><span style="text-decoration: underline;"><strong>Clean up some of the things that were a little messy</strong></span> &#8211; Once I got poking around in the code, I noticed that it some parts of it were written a little redundantly, and in order for me to maintain understanding of what was going on, I needed to clean it up a little.</li>
</ol>
<h2>Let&#8217;s Code&#8230;</h2>
<p>Well, for starters, to accomplish #1, I had to write a function that would validate the user&#8217;s app key with Ping.fm:<br />
{code type=php}<br />
/* [[Neo]] */<br />
//BEGIN Ping.fm functions<br />
function pingfm_verify() {<br />
	// request app key verification<br />
	$ch = curl_init();<br />
	curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);<br />
	curl_setopt($ch, CURLOPT_POST, true);<br />
	curl_setopt($ch, CURLOPT_URL, &#8216;http://api.ping.fm/v1/user.validate&#8217;);<br />
	curl_setopt($ch, CURLOPT_POSTFIELDS, Array(<br />
		&#8216;api_key&#8217; =&gt; get_option(&#8216;tweetsuite_ping_api_key&#8217;),<br />
		&#8216;user_app_key&#8217; =&gt; get_option(&#8216;tweetsuite_ping_app_key&#8217;)<br />
	));<br />
	$output = curl_exec($ch);<br />
	// update database with response<br />
	if (preg_match(&#8216;/OK/&#8217;, $output)) {<br />
		echo &#8216;	&lt;strong&gt;Your key has been verified.&lt;/strong&gt; Your can now post to your<br />
				&lt;a href=&#8221;http://www.ping.fm&#8221; target=&#8221;_blank&#8221;&gt;Ping.fm&lt;/a&gt; account.&#8217;;<br />
		update_option(&#8216;tweetsuite_ping_keyVerified&#8217;, 1);<br />
	} else {<br />
		echo (&#8216;&lt;strong&gt;Your key could not be verified.&lt;/strong&gt;.&#8217;);<br />
		update_option(&#8216;tweetsuite_ping_keyVerified&#8217;, 0);<br />
		return false;<br />
	}<br />
}</p>
<p>// END Ping.fm Functions<br />
{/code}<br />
Just your basic <span style="font-family: 'Courier New'; line-height: 18px; white-space: pre;">curl</span><span style="font-family: Georgia; line-height: 19px; white-space: normal;"> function to contact </span><span style="font-family: 'Courier New'; line-height: 18px; white-space: pre;">http://api.ping.fm/v1/user.validate</span><span style="font-family: Georgia; line-height: 19px; white-space: normal;"> and pass the api_key and user_app_key to the api, per the <a href="http://groups.google.com/group/pingfm-developers/web/api-documentation?pli=1#user.validate" target="_blank">API Documentation</a> on <strong>user.validate</strong>. Depending on the response, store it to the database, and display the appropriate message.</span></p>
<p><span style="font-family: Georgia; line-height: 19px; white-space: normal;">Next, I had to implement the fields to make that happen. We&#8217;ll start with the database&#8230;</span><br />
{code type=php}<br />
/* [[Neo]] */<br />
//ADDED:<br />
	add_option(&#8216;tweetsuite_ping_api_key&#8217;,&#8217;333333333333333333333333333333333&#8242;);<br />
	add_option(&#8216;tweetsuite_ping_app_key&#8217;,&#8221;);<br />
	add_option(&#8216;tweetsuite_use_ping&#8217;,0);<br />
	add_option(&#8216;tweetsuite_ping_keyVerified&#8217;,0);<br />
//END ADD<br />
{/code}<br />
This sticks those fields into the wordpress database table &#8220;wp_options&#8221; where all the config values go. My developer&#8217;s api key, a blank user application key, a field for the checkbox &#8220;Do you want to use Ping.fm?&#8221; and one for whether or not the user_app_key successfully verified.</p>
<p>Then I create the user interface for those fields (as well as rearrange the rest of the fields since these have to flow right to make sense&#8230;<br />
{code type=php}<br />
/* [[Neo]] */<br />
//ADDED:<br />
	update_option(&#8216;tweetsuite_ping_app_key&#8217;, $_POST['tweetsuite_ping_app_key']);<br />
//END ADD</p>
<p>//tweetsuite_use_ping<br />
($_POST['tweetsuite_use_ping']) ? update_option(&#8216;tweetsuite_use_ping&#8217;, 1) : update_option(&#8216;tweetsuite_use_ping&#8217;, 0);<br />
{/code}</p>
<p>That part allows the database to be updated with the data from the fields below&#8230;<br />
{code type=html}<br />
&lt;!&#8211; /* [[Neo]] */ &#8211;&gt;<br />
&lt;!&#8211; BEGIN ADD &#8211;&gt;<br />
&lt;tr valign=&#8221;top&#8221;&gt;<br />
	&lt;th scope=&#8221;row&#8221;&gt;Ping.fm :: Use Ping.fm to publish new posts (via your default method)?:&lt;/th&gt;<br />
	&lt;td&gt;&lt;INPUT TYPE=CHECKBOX NAME=&#8221;tweetsuite_use_ping&#8221; &lt;?php if(get_option(&#8216;tweetsuite_use_ping&#8217;)) { echo &#8220;checked&#8221;; } ?&gt;&gt;<br />
		&lt;br /&gt;&lt;b&gt;["Send a Tweet when you publish" is required for this to work]&lt;/b&gt;<br />
	&lt;/td&gt;<br />
&lt;/tr&gt;<br />
&lt;tr valign=&#8221;top&#8221;&gt;<br />
	&lt;th scope=&#8221;row&#8221;&gt;Ping.fm :: Your Ping.fm &lt;a href=&#8221;http://ping.fm/key/&#8221; target=&#8221;_blank&#8221;&gt;Application Key&lt;/a&gt;:&lt;/th&gt;<br />
	&lt;td&gt;&lt;INPUT TYPE=text NAME=&#8221;tweetsuite_ping_app_key&#8221;  value=&#8217;&lt;?php echo get_option(&#8216;tweetsuite_ping_app_key&#8217;); ?&gt;&#8217; /&gt;&lt;br /&gt;&lt;?php if(get_option(&#8216;tweetsuite_ping_app_key&#8217;)) { echo pingfm_verify(); } ?&gt;<br />
	&lt;/td&gt;<br />
&lt;/tr&gt;<br />
&lt;!&#8211; END ADD &#8211;&gt;<br />
{/code}<br />
This is below the checkbox for &#8220;Send a Tweet when you publish a post?&#8221;&#8230;if that is checked, then if you check &#8220;Use Ping.fm to publish new posts (via your default method)?&#8221; and fill out the next field for &#8220;Your Ping.fm <a href="http://ping.fm/key/" target="_blank">Application Key</a>&#8221; then it will send your post details on Publish through Ping.fm instead of Twitter itself, appending the tinyurl associated with the post to your Ping.fm message. All this is done by editing the function that sends the tweets&#8230;<br />
{code type=php}<br />
function tweetsuite_send($msg) {<br />
	/* [[Neo]] */<br />
	//REMOVED:<br />
	//$prefix = urlencode(get_option(&#8216;tweetsuite_prefix&#8217;).&#8217; &#8216;);<br />
	//REPLACED:<br />
	$prefix = (get_option(tweetsuite_use_ping) and get_option(tweetsuite_ping_keyVerified)) ? get_option(&#8216;tweetsuite_prefix&#8217;).&#8217; &#8216; : urlencode(get_option(&#8216;tweetsuite_prefix&#8217;).&#8217; &#8216;);<br />
	$msg = $prefix.$msg;</p>
<p>	/* [[Neo]] */<br />
	//ADDED<br />
	if(get_option(tweetsuite_use_ping) and get_option(tweetsuite_ping_keyVerified)) {<br />
		$ch = curl_init();<br />
		curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);<br />
		curl_setopt($ch, CURLOPT_POST, true);<br />
		curl_setopt($ch, CURLOPT_URL, &#8216;http://api.ping.fm/v1/user.post&#8217;);<br />
		curl_setopt($ch, CURLOPT_POSTFIELDS, Array(<br />
			&#8216;api_key&#8217; =&gt; get_option(&#8216;tweetsuite_ping_api_key&#8217;),<br />
			&#8216;user_app_key&#8217; =&gt; get_option(&#8216;tweetsuite_ping_app_key&#8217;),<br />
			&#8216;post_method&#8217; =&gt; &#8220;default&#8221;,<br />
			&#8216;body&#8217; =&gt; $msg)<br />
		);<br />
		$output = curl_exec($ch);<br />
	} else {<br />
		//END ADD<br />
		$username = get_option(&#8216;tweetsuite_twitter_username&#8217;);<br />
		$password = get_option(&#8216;tweetsuite_twitter_password&#8217;);<br />
		if(($username) and ($password))  {<br />
			$url = &#8216;http://twitter.com/statuses/update.xml&#8217;;<br />
			$curl_handle = curl_init();<br />
			curl_setopt($curl_handle, CURLOPT_URL, &#8220;$url&#8221;);<br />
			curl_setopt($curl_handle, CURLOPT_CONNECTTIMEOUT, 2);<br />
			curl_setopt($curl_handle, CURLOPT_RETURNTRANSFER, 1);<br />
			curl_setopt($curl_handle, CURLOPT_POST, 1);<br />
			curl_setopt($curl_handle, CURLOPT_POSTFIELDS, &#8220;status=$msg&#8221;);<br />
			curl_setopt($curl_handle, CURLOPT_USERPWD, &#8220;$username:$password&#8221;);<br />
			$buffer = curl_exec($curl_handle);<br />
			curl_close($curl_handle);<br />
		}<br />
	/* [[Neo]] */<br />
	//ADDED<br />
	}<br />
	//END ADD<br />
}<br />
{/code}<br />
This starts off by swapping out the original <strong>urlencode()</strong> function for a conditional statement deciding if this is a ping.fm post or a twitter post. If it&#8217;s a ping.fm post, then we don&#8217;t want to <strong>urlencode()</strong> the prefix, because it sticks + signs where there should be spaces in the prefix to the title. However, if we don&#8217;t want to use ping.fm, then don&#8217;t mess with the original code.</p>
<p>Following that, it splits which method we used to post, based on the same criteria &#8211; make sure the checkbox is true for &#8220;tweetsuite_use_ping&#8221; and that the user&#8217;s app key is verified in &#8220;tweetsuite_ping_keyVerified&#8221;. If that&#8217;s the case, then post it through ping.fm &#8211; if any of that is not met, then go ahead and try to post it through twitter. If there is no username and password supplied on the options page, then we just won&#8217;t post anything.</p>
<p>Now&#8230;about the whole $msg &#8211; that part got skipped in the logic of everything. This was the tricky part, for me. Originally, I stumbled across an API Documentation page for the ping.fm method &#8220;url.shorten&#8221; and that was the very thing I needed &#8211; something to grab a ping.fm url, without passing it through ping.fm yet. However, I found out, after much frustration, that this method was mysteriously &#8220;depreciated&#8221; (which should be read as &#8220;edited off the page, and 404&#8242;d when you try to use it). But, I found <a href="http://groups.google.com/group/pingfm-developers/browse_thread/thread/e6bf14bd63fdb7df/e59e3c16424ad20f?lnk=gst&amp;q=url+shortening#e59e3c16424ad20f" target="_blank">another solution</a> in the knowledgebase at Ping.fm&#8230;<br />
{code type=php}<br />
function ts_send_tweet($postID) {<br />
	global $wpdb;<br />
	if(!is_int($postID))<br />
		$postID = $postID-&gt;ID;</p>
<p>	$table_name = $wpdb-&gt;prefix . &#8220;shorturls&#8221;;<br />
	$line = $wpdb-&gt;get_row(&#8220;select * from $table_name where postID=$postID&#8221;);<br />
	if($line-&gt;postID==$postID) {<br />
		/* [[Neo]] */<br />
		// ADDED: &#8220;*&#8221;.<br />
		$shorturl = &#8220;*&#8221;.$line-&gt;tinyurl;<br />
		$post = get_post($postID);<br />
		if(get_option(&#8216;tweetsuite_send_posts&#8217;))<br />
			tweetsuite_send(trim($post-&gt;post_title).&#8217; &#8216;.$shorturl);<br />
	}<br />
}<br />
{/code}<br />
The article said you can prepend a <strong>* </strong>to the front of a url and it would not shorten it (in addition to the fact that they said they wouldn&#8217;t re-shorten any URLs 24 characters or smaller). So, I went with the * solution, because we&#8217;re already providing short URLs, but don&#8217;t want to risk the functionality in future updates to allow for custom url shortening services.</p>
<p>And that accomplishes both #1 and #2. We have the TweetSuite posting its updates through the Ping.fm API, and pushing a shortened url out with the post. TweetSuite then becomes aware of this url at publish, and stores it in its database. Then the cron job that runs every 5 minutes searches on any version of the URL that was stored and pulls back all the entries from the search.twitter.com Atom feed &#8211; parses them, and updates the database with them.</p>
<p>The rest of the stuff I did in the plugin was merely cleaning up&#8230;for example, reading the shortened urls from the Atom feed. The original code was:<br />
{code type=php}<br />
if(stristr($tweet, &#8216;http://bit.ly&#8217;)) {<br />
	if(strstr($tweet, $bitly)) {<br />
		$add = true;<br />
	} else {<br />
		$add = false;<br />
	}<br />
}<br />
{/code}<br />
Because the urls are using alphanumeric sequences to track what link is what &#8211; and the url&#8217;s are case-sensitive, it was returning links that were not related to the post. For example, I got <a href="http://twitter.com/lukebuchanan/statuses/1332713478" target="_blank">someone&#8217;s tweet about Rush Limbaugh</a> because the bit.ly url (&#8220;http://bit.ly/fyhz&#8221;)was the same letters, but in a different case then my original &#8220;http://bit.ly/FyhZ&#8221;. So I changed the order of the search, did it for all the services currently supported, and cleaned up the code a little:<br />
{code type=php}&#8230;<br />
if(strstr($tweet, &#8216;http://bit.ly&#8217;)) { $add = (stristr($tweet, $bitly)) ? true : false; } else {<br />
&#8230;<br />
{/code}<br />
The function<strong> strstr() </strong>is <strong>not</strong> case-sensitive, and that&#8217;s ok for a search on the domain name &#8211; we want anything that looks close to &#8220;bit.ly&#8221; to return positive. However, once it does, it&#8217;s imperitive that we use the case-sensitive <strong>stristr()</strong> function to return a positive result only if the full url matches what we have in the database case-for-case.</p>
<h2>Wrapping up&#8230;</h2>
<p>I made a couple more additions to the code beyond that, some of them required for functionality, some of them for cosmetics. I&#8217;ve submitted my plugin version to Ping.fm to approve it, and take my Developer&#8217;s Key out of &#8220;Pending&#8221; status. Once that&#8217;s done, I&#8217;ll send it off to Dan Zarrella to take a look and see how he wants to move forward. Then I&#8217;ll be able to post the plugin for download (definitely here, but also on the WordPress Plugin directory.</p>
<h2>Continuing on&#8230;</h2>
<p>I have read through the comments on Dan&#8217;s blog from the people, and have taken note of the things that they are asking for. After reading the code, he had already been working on some of the features. There are 5 main ones that people are asking for, and I&#8217;ve already done one of them in this release:</p>
<ol>
<li><span style="text-decoration: line-through;">TweetThis link opens in a new window.</span></li>
<li>AutoUpgrade via WordPress Plugin Directory</li>
<li>Allow customized URL Shortening Services</li>
<li>TweetThis links for pre-installation posts</li>
<li>TweetThis links on the home page.</li>
</ol>
<p>I&#8217;ll be looking more into the other options and see what I can do.</p>
<h2>One More Thing&#8230;</h2>
<p>This post was syndicated through the TweetSuite + Ping.fm plugin <img src='http://thepizzy.net/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  .</p>

<!-- start wp-tags-to-technorati 1.02 -->

<p class='technorati-tags'>Technorati Tags: <a class='technorati-link' href='http://technorati.com/tag/beta' rel='tag' target='_blank'>beta</a>, <a class='technorati-link' href='http://technorati.com/tag/dan+zarrella' rel='tag' target='_blank'>dan zarrella</a>, <a class='technorati-link' href='http://technorati.com/tag/database' rel='tag' target='_blank'>database</a>, <a class='technorati-link' href='http://technorati.com/tag/internet' rel='tag' target='_blank'>internet</a>, <a class='technorati-link' href='http://technorati.com/tag/MySQL' rel='tag' target='_blank'>MySQL</a>, <a class='technorati-link' href='http://technorati.com/tag/PHP' rel='tag' target='_blank'>PHP</a>, <a class='technorati-link' href='http://technorati.com/tag/Ping.fm' rel='tag' target='_blank'>Ping.fm</a>, <a class='technorati-link' href='http://technorati.com/tag/site' rel='tag' target='_blank'>site</a>, <a class='technorati-link' href='http://technorati.com/tag/syndication' rel='tag' target='_blank'>syndication</a>, <a class='technorati-link' href='http://technorati.com/tag/tweetbacks' rel='tag' target='_blank'>tweetbacks</a>, <a class='technorati-link' href='http://technorati.com/tag/TweetSuite' rel='tag' target='_blank'>TweetSuite</a>, <a class='technorati-link' href='http://technorati.com/tag/twitter' rel='tag' target='_blank'>twitter</a>, <a class='technorati-link' href='http://technorati.com/tag/Wordpress' rel='tag' target='_blank'>WordPress</a></p>

<!-- end wp-tags-to-technorati -->
]]></content:encoded>
			<wfw:commentRss>http://thepizzy.net/blog/2009/03/tweetsuite-wordpress-plugin-pingfm-preview/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>How to sync your program’s plugins using Live Mesh</title>
		<link>http://thepizzy.net/blog/2009/03/how-to-use-live-mesh-to-sync-your-programs/</link>
		<comments>http://thepizzy.net/blog/2009/03/how-to-use-live-mesh-to-sync-your-programs/#comments</comments>
		<pubDate>Sun, 15 Mar 2009 02:05:44 +0000</pubDate>
		<dc:creator>[[Neo]]</dc:creator>
				<category><![CDATA[Cloud Computing]]></category>
		<category><![CDATA[How To]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[cloud computing]]></category>
		<category><![CDATA[computer]]></category>
		<category><![CDATA[digsby]]></category>
		<category><![CDATA[how do i set up live mesh]]></category>
		<category><![CDATA[internet]]></category>
		<category><![CDATA[live mesh]]></category>
		<category><![CDATA[microsoft]]></category>
		<category><![CDATA[network]]></category>
		<category><![CDATA[plugins]]></category>
		<category><![CDATA[sync]]></category>
		<category><![CDATA[synchronization]]></category>
		<category><![CDATA[theme]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://thepizzy.net/blog/?p=227</guid>
		<description><![CDATA[I&#8217;m sure you&#8217;ve been at work, thinking &#8220;Crap, I don&#8217;t want to go home and do this, because I don&#8217;t have the software there.&#8221; Or maybe you do have the...]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m sure you&#8217;ve been at work, thinking &#8220;Crap, I don&#8217;t want to go home and do this, because I don&#8217;t have the software there.&#8221; Or maybe you do have the software, but you don&#8217;t have some certain set of plugins (i.e. Photoshop Brushes for a graphic designer), and you need a way to get those things synchronized in both places at once. <strong>***As such, this experiment implies that I will NOT be using this program in two locations simultaneously.***</strong> (That&#8217;s not to say that it can&#8217;t be done &#8211; but it is to say that it will require more human intervention to resolve the file version conflicts than I wish to do.)</p>
<p>Well, I have an answer &#8211; and this example will use the <a title="Digsby.com" href="http://digsby.com" target="_blank">Digsby Instant Messenger</a> client. (I&#8217;ll get technical after the story below.) Here&#8217;s a little background&#8230;<span id="more-227"></span></p>
<blockquote><p>I&#8217;ve been using <a title="Trillian.cc" href="http://trillian.cc/" target="_blank">Trillian</a> for my instant messaging software of choice since it was version 0.74a back in 2001. And I have never had any problems with it. It&#8217;s been a great tool to keep the 20-odd screennames I had back in the day all organized with their appropriate buddy lists joined or separated as necessary. Fortunately, I was invited to use their new <a title="Trillian Astra" href="http://www.trillian.im/" target="_blank">Trillian Astra</a> beta program for the past couple years. Using the Astra alpha/beta releases has been nice, as all the features from the Pro accounts were available for testing &#8211; that was, until <a href="http://blog.ceruleanstudios.com/?p=420" target="_blank">Build 98</a>, when they turned on the Basic/Pro distinction. Much to the chagrin of the beta testers, there was a major uprising because of this, with a lot of focus by the users being put on Chat Logs and server-side synchronization. To the praise of <a href="http://ceruleanstudios.com/" target="_blank">Cerulean Studios</a>, they reinstated the Pro functionality until they gave fair warning in <a href="http://blog.ceruleanstudios.com/?p=426" target="_blank">Build 99</a>.</p>
<p>One user mentioned Digsby as an alternative to Trillian. I&#8217;ve used other clients like <a href="http://meebo.com" target="_blank">meebo.com</a> as a cross-platform web-based chat, and <a href="http://pidgin.im" target="_blank">Pidgin</a> when I used Linux on my laptop (and even tried the Windows version recently). However, Digsby is the only one that provides the closest functionality to Trillian with the many social networks that it connects you to &#8211; with the somewhat-noticeable lack of MySpace IM. (But who really uses that anyway?)</p>
<p>Ultimately, I gave Digsby a shot on my laptop, running Windows 7 Beta 1, and it seemed to serve its purposes very nicely. I don&#8217;t use the laptop for anything beyond quick internet checking with <a href="http://google.com/chrome" target="_blank">Google Chrome</a>, collecting my emails in <a href="http://getthunderbird.com" target="_blank">Thunderbird</a>, an alarm clock using <a href="http://getsongbird.com/" target="_blank">Songbird</a>, and sending IMs.</p>
<p>Later, when Trillian released Build 99, I wasn&#8217;t thrilled about the limited Basic functionality I was relegated to &#8211; but also am not prepared to spend the nominal $25 to upgrade to Pro just yet. (Maybe I will this summer.) So, I installed Digsby at work, and on my desktop computers, and was back in business.</p>
<p>I noticed that once I installed Digsby on the other computers, it migrated my accounts, buddy lists configuration (i.e. meta contacts), and most of my preferences over. It wasn&#8217;t until I discovered there were also customizable themes and when I had to look through chat logs on 3 computers, that I noticed a need for further synchronization.</p>
<p>So I set out thinking of a way to do this&#8230;and that&#8217;s where we start.</p></blockquote>
<p>I&#8217;ve been using <a href="https://www.mesh.com/Welcome/howto/setup.aspx" target="_blank">Live Mesh</a> since it was <a href="http://office.microsoft.com/en-us/groove/FX100487641033.aspx" target="_blank">Microsoft Groove</a> in Microsoft Office 12 Beta 1. And I thoroughly enjoyed the functionality of being able to keep a single copy of my website code (since I run multiple sites on <a href="http://the-spot.net" target="_blank">the-spot.network</a>), and be able to work on them at work, at home, or with my laptop outside of <a href="http://maps.google.com/maps?hl=en&amp;safe=off&amp;client=firefox-a&amp;ie=UTF8&amp;q=jamba+juice+fort+worth&amp;fb=1&amp;split=1&amp;gl=us&amp;view=map&amp;ei=7_a7SdjwOqeEygWGn92IBg&amp;cd=1&amp;ll=32.755773,-97.329082&amp;spn=0.012018,0.019312&amp;z=16" target="_blank">Jamba Juice in Sundance Square</a>, Fort Worth, TX.</p>
<p>You can do this with both Groove or Mesh, but for the purposes of this article (since I don&#8217;t have Microsoft Office installed on the laptop), we&#8217;ll do it with Mesh (plus Mesh is free, Groove is part of Office 2007).</p>
<h2>Warning: Please read before you proceed.</h2>
<p>I had to do this SEVERAL times before it actually worked. By &#8220;SEVERAL&#8221; I mean that I had to reinstall Digsby a LOT because I didn&#8217;t do it correctly, or the permissions weren&#8217;t setup properly before I tried syncing. If I were you, I&#8217;d try something simple first, like creating a folder in Program Files, and sticking a txt file in it, and see if you can get it to sync. Once you&#8217;ve followed the instructions and learned how, give it a shot with the program you have in mind.</p>
<h2>Ok, you can continue.</h2>
<div id="attachment_228" class="wp-caption alignleft" style="width: 160px"><strong><a href="http://www.mesh.com"><img class="size-thumbnail wp-image-228" title="Sign Up for Mesh.com" src="http://thepizzy.net/blog/wp-content/uploads/2009/03/2009-03-14_1329-150x150.png" alt="Welcome to Mesh.com" width="150" height="150" /></a></strong><p class="wp-caption-text">Step 1: Sign up for Mesh.com</p></div>
<h3><strong><strong><strong><strong>Step 1: Sign into or up for Mesh.com</strong></strong></strong></strong></h3>
<p>Assuming you&#8217;ve already got a <a href="https://signup.live.com/signup.aspx" target="_blank">Windows Live Account</a>, sign into the  <a href="http://www.mesh.com" target="_blank">Live Mesh website</a>, with your Windows Live ID. Once you sign in, you&#8217;ll be taken to your Live Mesh Devices page.</p>
<div id="attachment_229" class="wp-caption alignright" style="width: 160px"><a href="http://www.mesh.com"><strong><img class="size-thumbnail wp-image-229" title="Add your computer to Mesh" src="http://thepizzy.net/blog/wp-content/uploads/2009/03/2009-03-14_1337-150x150.png" alt="Step 2: Add your computer to Mesh" width="150" height="150" /></strong></a><p class="wp-caption-text">Step 2: Add your computers to Mesh</p></div>
<h3>Step 2: Add your computer to Mesh</h3>
<p>From the Devices page, click <strong>Add Device</strong>. Use the drop-down menu to select your computer’s operating system, and then click <strong>Install</strong>. This downloads the Live Mesh software to your computer. Once you’ve installed the software, you’re ready to begin synchronizing folders between: your computer and your Live Desktop, your computer and other devices in your mesh, or your computer and a friend’s computer.</p>
<div id="attachment_236" class="wp-caption alignleft" style="width: 160px"><a href="http://thepizzy.net/blog/wp-content/uploads/2009/03/untitled-2.png"><img class="size-thumbnail wp-image-236" title="Live Mesh Window" src="http://thepizzy.net/blog/wp-content/uploads/2009/03/untitled-2-150x150.png" alt="Step 2a: Your Live Mesh device window" width="150" height="150" /></a><p class="wp-caption-text">Step 2a: Your Live Mesh device window</p></div>
<p>Do Step 2 on all the computers you wish to sync.</p>
<h3>Step 3: What do you want to sync?</h3>
<p>Mesh gives you about 5GB of cloud storage space. Because everything you sync between computers is also stored in at the Live Mesh website on your &#8220;Live Desktop&#8221;, the cumulative sum of all the files you want to keep synchronized cannot exceed 5GB.</p>
<p>For my example, I want to sync my Digsby themes so that I can use my them on whatever computer I am using. So, I navigate to the Program Files folder, and find the Digsbyresskins folder.</p>
<h3>Step 4: Setting the right permissions</h3>
<p>First things first though &#8211; if you&#8217;re using Windows Vista and have the User Access Control activated, then you&#8217;re not going to be able to write anything to this folder without giving Administrative Privilages. This will prevent Mesh from syncing the files and folders to anything your Program Files directory. So let&#8217;s fix it&#8230;</p>
<ol>
<li><strong>Right click on skins</strong>, choose <strong>Properties</strong></li>
<li>Click the <strong>Security Tab</strong>, and hit the <strong>Edit</strong> button</li>
<li>Hit <strong>Continue </strong>on the UAC window, click the <strong>Add</strong> button</li>
<li>Type your username and domain if needed, and hit <strong>OK<br />
</strong></li>
<li><em>(***If, in Step 8, you don&#8217;t see any files showing up, you might need to start over and add the &#8220;all user accounts&#8221; to have full permissions by selecting &#8220;&lt;localhost&gt;users&#8221;, and giving it Full Control. Otherwise, go ahead and set that permission now, if you don&#8217;t anticipate any security issues in doing so.***)</em></li>
<li>Check the <strong>Full Control</strong> checkbox, and hit <strong>OK</strong>, and hit <strong>OK</strong> again to close all the windows.</li>
</ol>
<p>Do this same thing on the other computers you&#8217;d like to sync with, adding the appropriate username for your account on that particular computer. Now you should be able to write files to that folder without needing approval.</p>
<h3>
<div id="attachment_241" class="wp-caption alignright" style="width: 160px"><a href="http://thepizzy.net/blog/wp-content/uploads/2009/03/untitled-41.png"><img class="size-thumbnail wp-image-241" title="Add your folder" src="http://thepizzy.net/blog/wp-content/uploads/2009/03/untitled-41-150x150.png" alt="Step 5: Add your folder to your Live Mesh" width="150" height="150" /></a><p class="wp-caption-text">Step 5: Add your folder to your Live Mesh</p></div>
<p>Step 5: Add the folder to your Live Mesh</h3>
<p>Now you&#8217;re ready to add your folder to your Live Mesh:</p>
<ol>
<li>First, remove everything in the folder you want to use. In my case, I cut all the theme folders in <strong>skins</strong>.</li>
<li><strong>Right click on skins</strong>, choose <strong>Add folder to Live Mesh</strong>.</li>
<li>You&#8217;ll get a window that pops up, asking what you&#8217;d like to name the folder. I just used &#8220;Digsby-skins&#8221;. Hit <strong>OK</strong>.</li>
<li>Paste the themes back into <strong>skins</strong> and let them sync.</li>
</ol>
<h3>
<div id="attachment_242" class="wp-caption alignleft" style="width: 160px"><a href="http://thepizzy.net/blog/wp-content/uploads/2009/03/2009-03-12_19381.png"><img class="size-thumbnail wp-image-242" title="Progress Meters" src="http://thepizzy.net/blog/wp-content/uploads/2009/03/2009-03-12_19381-150x150.png" alt="Step 6: The progress meters" width="150" height="150" /></a><p class="wp-caption-text">Step 6: The progress meters</p></div>
<p>Step 6: Let the folder Sync to Live Desktop</h3>
<p>My entire Digsby installation is about 60MB, with the themes making up about 3MB of that. Depending on what you&#8217;re actually syncing, this size will vary greatly &#8211; and so will the time it takes for everything to upload. If you open the folder you&#8217;ve chosen to sync, you&#8217;ll see a sidebar pop out of the right hand side of the window that shows the progress of your device.</p>
<p><em>Note: You&#8217;ll only see the devices that you&#8217;ve told to sync with this folder. Mine shows my laptop because I&#8217;ve already done this, we&#8217;ll get to adding the other devices next.</em></p>
<h3>
<div id="attachment_244" class="wp-caption alignright" style="width: 160px"><a href="http://thepizzy.net/blog/wp-content/uploads/2009/03/untitled-81.png"><img class="size-thumbnail wp-image-244" title="Mesh Folder Icon" src="http://thepizzy.net/blog/wp-content/uploads/2009/03/untitled-81-150x150.png" alt="Step 7: Icon to setup new Mesh folder" width="150" height="150" /></a><p class="wp-caption-text">Step 7: Icon to setup new Mesh folder</p></div>
<p>Step 7: Setting it up on the other computer.</h3>
<p>For this to work, you should have the same program installed on the other computer. This is not meant for sharing a program from computer to computer &#8211; just accessories like themes, plugins, settings, etc.</p>
<p>To set up your other computer, start over with Step 1 &#8211; install Live Mesh, add the computer, configure the Security settings, cut the contents from the folder you&#8217;re going to sync.</p>
<p>Once you&#8217;ve added this computer to Live Mesh, you&#8217;ll see a desktop icon, in my case &#8220;Digsby-skins&#8221;.</p>
<ol>
<li><strong>Double click the icon</strong> to get the setup window</li>
<li><strong>Click Browse</strong> and <strong>Navigate to the directory</strong> you want the sync&#8217;d files stored in and hit <strong>OK</strong></li>
</ol>
<p>You&#8217;ll want to give it some time to download the files that the source computer has put up on the Live Desktop. You can base that timeframe by the activity of the Progress Meters on the right of the directory window, as the image in Step 6 shows.</p>
<h3>
<div id="attachment_246" class="wp-caption alignleft" style="width: 160px"><a href="http://thepizzy.net/blog/wp-content/uploads/2009/03/2009-03-12_19421.png"><img class="size-thumbnail wp-image-246" title="conflict notification" src="http://thepizzy.net/blog/wp-content/uploads/2009/03/2009-03-12_19421-150x150.png" alt="Step 8: Conflict Notification" width="150" height="150" /></a><p class="wp-caption-text">Step 8: Conflict Notification</p></div>
<p>Step 8: Add any files from the secondary computer to be sync&#8217;d</h3>
<p>Once you have finished syncing the files from the source computer, you can cut/paste the files you moved on the secondary computer, back to their original location. This allows you to Overwrite any files that might be duplicated on both machines, instead of having to resolve any conflicts manually.</p>
<p>After you have copied the files on the secondary computer back to their original location, check to see that they are showing up on the primary computer. If they are, then everything is working like it should.</p>
<h3>Step 9: Testing the synchronization</h3>
<p>When everything is finally sync&#8217;d back between both computers, give it a test. You should now be able to load your program in both places, and if you happen to add a new plugin in one location, it should be available on the other computer soon thereafter.</p>
<h2>That&#8217;s that&#8230;</h2>
<p>That is how I have set up my Digsby installation to share Themes, and how I will instruct one of my coworkers to sync her Photoshop brushes between office and home. Let me know what you&#8217;re using it for in the comments below.<br />
<center><br /><a href="http://twitter.com/neotsn"><img class="size-full wp-image-583  aligncenter" title="twitter.com/neotsn" src="http://thepizzy.net/blog/wp-content/uploads/2010/08/twitter-wordpress-neo12.png" alt="twitter.com/neotsn" width="350" height="125" /></a></center></p>

<!-- start wp-tags-to-technorati 1.02 -->

<p class='technorati-tags'>Technorati Tags: <a class='technorati-link' href='http://technorati.com/tag/cloud+computing' rel='tag' target='_blank'>cloud computing</a>, <a class='technorati-link' href='http://technorati.com/tag/computer' rel='tag' target='_blank'>computer</a>, <a class='technorati-link' href='http://technorati.com/tag/digsby' rel='tag' target='_blank'>digsby</a>, <a class='technorati-link' href='http://technorati.com/tag/how+do+i+set+up+live+mesh' rel='tag' target='_blank'>how do i set up live mesh</a>, <a class='technorati-link' href='http://technorati.com/tag/How+To' rel='tag' target='_blank'>How To</a>, <a class='technorati-link' href='http://technorati.com/tag/internet' rel='tag' target='_blank'>internet</a>, <a class='technorati-link' href='http://technorati.com/tag/live+mesh' rel='tag' target='_blank'>live mesh</a>, <a class='technorati-link' href='http://technorati.com/tag/microsoft' rel='tag' target='_blank'>microsoft</a>, <a class='technorati-link' href='http://technorati.com/tag/network' rel='tag' target='_blank'>network</a>, <a class='technorati-link' href='http://technorati.com/tag/plugins' rel='tag' target='_blank'>plugins</a>, <a class='technorati-link' href='http://technorati.com/tag/sync' rel='tag' target='_blank'>sync</a>, <a class='technorati-link' href='http://technorati.com/tag/synchronization' rel='tag' target='_blank'>synchronization</a>, <a class='technorati-link' href='http://technorati.com/tag/theme' rel='tag' target='_blank'>theme</a>, <a class='technorati-link' href='http://technorati.com/tag/Windows' rel='tag' target='_blank'>Windows</a></p>

<!-- end wp-tags-to-technorati -->
]]></content:encoded>
			<wfw:commentRss>http://thepizzy.net/blog/2009/03/how-to-use-live-mesh-to-sync-your-programs/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How To: Setup a UT3 Internet Server</title>
		<link>http://thepizzy.net/blog/2008/01/how-to-setup-a-ut3-internet-server/</link>
		<comments>http://thepizzy.net/blog/2008/01/how-to-setup-a-ut3-internet-server/#comments</comments>
		<pubDate>Sun, 13 Jan 2008 06:08:59 +0000</pubDate>
		<dc:creator>[[Neo]]</dc:creator>
				<category><![CDATA[How To]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[Servers]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Updates]]></category>
		<category><![CDATA[Admin]]></category>
		<category><![CDATA[bot]]></category>
		<category><![CDATA[configuration]]></category>
		<category><![CDATA[configuration script]]></category>
		<category><![CDATA[dedicated]]></category>
		<category><![CDATA[Firewall]]></category>
		<category><![CDATA[game]]></category>
		<category><![CDATA[gamespy]]></category>
		<category><![CDATA[internet]]></category>
		<category><![CDATA[internet server]]></category>
		<category><![CDATA[LAN]]></category>
		<category><![CDATA[localhost]]></category>
		<category><![CDATA[master server]]></category>
		<category><![CDATA[ports]]></category>
		<category><![CDATA[server]]></category>
		<category><![CDATA[server port]]></category>
		<category><![CDATA[server setup]]></category>
		<category><![CDATA[tournament]]></category>
		<category><![CDATA[UDP]]></category>
		<category><![CDATA[unreal]]></category>
		<category><![CDATA[unreal tournament]]></category>
		<category><![CDATA[user]]></category>
		<category><![CDATA[ut3]]></category>
		<category><![CDATA[ut3dedicated server]]></category>
		<category><![CDATA[video]]></category>
		<category><![CDATA[video game]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://thepizzy.net/blog/?p=98</guid>
		<description><![CDATA[Surprisingly there are no complete blog postings or forum topics that tell you how to set up a UT3 Internet Server from start to finish&#8230;so here we go: 1. Open...]]></description>
			<content:encoded><![CDATA[<p><img class="size-full wp-image-667 alignright" title="UT 3 Logo" src="http://thepizzy.net/blog/wp-content/uploads/2008/01/Unreal-Tournament-III-2.png" alt="" width="256" height="256" />Surprisingly there are no complete blog postings or forum topics that tell you how to set up a UT3 Internet Server from start to finish&#8230;so here we go: <span id="more-98"></span></p>
<p><span style="font-weight: bold;">1. Open the ports<br />
</span></p>
<div style="margin-left: 40px;">To play online, you need not only the <a href="http://wiki.unrealadmin.org/FAQ:UT3#Running_Behind_a_Router.2FFirewall">UT3 ports</a>, but also the <a href="http://forums.gameconfig.co.uk/viewtopic.php?p=26#26">GameSpy</a> ports:</p>
<p>UDP:</p>
<ul>
<li>6500 (Query)</li>
<li>6515 (Dplay UDP)</li>
<li>7777 (Port for UT3 &#8211; default is 7777, you can change in server setup)</li>
<li>13000 (Port for UT3)</li>
<li>13139 (Custom UDP Pings)</li>
<li>27900 (<span class="postbody">Master Server UDP Heartbeat)</span></li>
</ul>
<p>TCP:</p>
<ul>
<li>3783 (Voice)</li>
<li>6667 (IRC)</li>
<li>28900 (Master Server List Request)</li>
<li>29900 (GP Connection Manager)</li>
<li>29901 (GP Search Manager)</li>
</ul>
<p>Be sure to open the ports on your localhost as well (Windows Firewall, Linux Firewall, etc.)</p>
</div>
<p><span style="font-weight: bold;">2. Download the Dedicated Server Package.</span></p>
<div style="margin-left: 40px;">You can get the Windows package from the <a href="http://forums.epicgames.com/showthread.php?p=25101055#post25101055">EpicGames.com thread</a> or directly from <a href="http://www.fileplanet.com/182580/180000/fileinfo/Unreal-Tournament-3-Windows-Dedicated-Server">fileplanet</a>.<br />
You can get the Linux package <a href="http://forums.epicgames.com/showthread.php?t=593584">here</a>.</div>
<p><span style="font-weight: bold;">3. Install the Dedicated Server Package.</span></p>
<div style="margin-left: 40px;">Once you finish downloading, unzip it to some kind of temporary location.<br />
Run the SetupUT3.exe program, and follow through the install process.</div>
<p><span style="font-weight: bold;">4. Create your server&#8217;s GameSpy Account.<br />
</span></p>
<div style="margin-left: 40px;">Before you&#8217;re able to do anything, you need to load the original game, and create an account for the server to use. Every instance of online UT3 requires a GameSpy account to play.</p>
<ol>
<li>Load the game (and log out if automatically logged in)</li>
<li>Hit Create Profile at the bottom of the login screen</li>
<li>Type in credentials for your new account</li>
<li>Hit Create Profile, and then login to make sure they work.</li>
<li>Log out.</li>
</ol>
</div>
<p><span style="font-weight: bold;">5. Create the configuration script.</span></p>
<div style="margin-left: 40px;">I made my configuration script using <span style="text-decoration: line-through;"><a href="http://www.m3nt0r.de/ut3/startupgen.html">this website</a></span> <a title="the old one went 404, this one was found by Boz in the comments" href="http://darkweb.nl/tools/ut3cmd/" target="_blank">*this* website</a> (via Boz), simply because it was easier than <a href="http://wiki.unrealadmin.org/FAQ:UT3#Game_Types_.26_Mutators">reading the wiki</a> to figure out how everything works. Once that was done, I then went back to look at what everything was in the command line, and customized it according to the wiki.</p>
<p>Server:</p>
<ul>
<li><span style="font-weight: bold;">Port:</span> 7777</li>
<li><span style="font-weight: bold;">Login:</span> &lt;the new account you just created&gt;</li>
<li><span style="font-weight: bold;">Password:</span> &lt;the password for your new account&gt;</li>
<li><span style="font-weight: bold;">Server Description:</span> &lt;use <a href="http://www.penetrate.nl/UT3ServerDesc.php">this website</a> to create a description&gt;</li>
</ul>
<p>Players:</p>
<ul>
<li><span style="font-weight: bold;">Max Players:</span> ## (max on the server)</li>
<li><span style="font-weight: bold;">Min. Players:</span> ## (min real-players, not bots, before a match begins)</li>
<li><span style="font-weight: bold;">Number of Bots:</span> ## (number of bots in the game &#8211; bots quit as humans join, unless configured to be vs humans)</li>
<li><span style="font-weight: bold;">**Public Connections: </span>## (max number of advertised connections)</li>
<li><span style="font-weight: bold;">**Private Connections:</span> ## (reserve slots for local connections &#8211; i.e. you host the internet game on a server in your network, and you&#8217;re playing on another computer local to the server)</li>
<li><span style="font-weight: bold;">**Open Public Connections: </span>## (max number of public connections)</li>
</ul>
<p>** These I&#8217;m not really sure about the descriptions. &#8220;Public Connections&#8221; does show max advertised for the server, but not sure about the others)</p>
<p>Game Setup:</p>
</div>
<div style="margin-left: 40px;">
<ul>
<li><span style="font-weight: bold;">Game Mode:</span> &lt;choose your game type&gt;</li>
<li><span style="font-weight: bold;">Map Name:</span> &lt;be sure to choose an appropriate map for the game type. Find your maps available <a href="http://wiki.unrealadmin.org/FAQ:UT3#Enable_Mapvote">here</a> in the configuration line for your game mode. I&#8217;ll get to that configuration further down.&gt;</li>
<li><span style="font-weight: bold;">Goal Score:</span> ## &lt;max frags/caps before next map&gt;</li>
<li><span style="font-weight: bold;">Time Limit:</span> ## &lt;timelimit for the map&gt;</li>
<li><span style="font-weight: bold;">Versus Bots:</span> #.# &lt;here&#8217;s where you deicide if it will be humans vs bots&gt;</li>
<li><span style="font-weight: bold;">Bot Skill:</span> ## &lt;1-6 bot skill, 1: Novice &#8211; 6: Godlike&gt;</li>
</ul>
<p>Game Flags:</p>
<ul>
<li><span style="font-weight: bold;">Force Respawn:</span> &lt;make the user respawn upon death&gt;</li>
<li><span style="font-weight: bold;">Pure Server:</span> &lt;game mode is forced on all maps, even maps belonging to other game modes&gt;</li>
</ul>
<p>Mutators:</p>
<ul>
<li>Choose the mutators you want for the map</li>
</ul>
<p>Community Options:</p>
<ul>
<li><span style="font-weight: bold;">Allow Join in Progress: </span>&lt;allows people to join mid-game&gt;</li>
<li><span style="font-weight: bold;">Allow Invites:</span> &lt;allow users to invite others to the game&gt;</li>
<li><span style="font-weight: bold;">Uses Presence:</span> &lt;tell the Master Server that a user is playing on this server&gt;</li>
<li><span style="font-weight: bold;">Allow Join via Presence: </span>&lt;allow friends of a user to follow the user currently playing on the server&gt;</li>
</ul>
<p>Server Options:</p>
<ul>
<li>Advertise Server: &lt;show it in the server browser&gt;</li>
<li>Report Stats</li>
<li>Is LAN Only: &lt;only a lan server?&gt;</li>
<li>Is Dedicated: &lt;is it a dedicated server?&gt;</li>
</ul>
<p>Passwords:</p>
<ul>
<li>Game Password: &lt;password to join the server&gt;</li>
<li>Admin Password: &lt;admin joining password&gt;</li>
</ul>
<p>Once you have done all those settings on the site, you click Create Lines button and come up with some code&#8230;your code will be all scrunched up into one line. Broken down it looks something like this (for Vehicle CTF):</p>
<div style="margin-left: 40px;"><span style="font-style: italic;">ut3.exe Server<br />
vCTF-Suspense?<br />
ServerDescription=116000104000101000045000115000112000111000116000<br />
MaxPlayers=12?<br />
MinNetPlayers=1?<br />
NumPlay=4?<br />
NumPublicConnections=12?<br />
<span style="color: #ff0000;">NumPublicConnections=2?</span><br />
NumOpenPublicConnections=12?<br />
GoalScore=3?<br />
TimeLimit=20?<br />
VsBots=1.5?<br />
BotSkill=4?<br />
PureServer=1?<br />
bAllowJoinInProgress=True?<br />
bAllowInvites=True?<br />
bUsesPresence=True?<br />
bAllowJoinViaPresence=True?<br />
bShouldAdvertise=True?<br />
bUsesStats=True?<br />
bIsLanMatch=False?<br />
<span style="color: #3366ff;">GamePassword=playme?</span><br style="color: #3366ff;" /><span style="color: #3366ff;">AdminPassword=bigbawls</span></p>
<p><span style="color: #ff9900;">-Port=7777 </span><br />
<span style="color: #33cc00;">-Login=SurvurBocks</span><br style="color: #33cc00;" /><span style="color: #33cc00;">-Password=sekratshiz</span><br />
-log=DedicatedServer.log</p>
<p></span></div>
<p>Note the <span style="color: #ff0000;">red line</span> of text: Change that from &#8220;Num<span style="font-weight: bold;">Public</span>Connections&#8221; to Num<span style="font-weight: bold;">Private</span>Connections&#8221; &#8211; that is an error in the script creator&#8217;s website<br />
Also note the <span style="color: #ff9900;">orange line</span> of text: If you&#8217;re not using the default 7777 port number as described above, then change that information here.<br />
The <span style="color: #3366ff;">blue lines</span> of text are the server logins to play the game<br />
The <span style="color: #33cc00;">green lines</span> of text are the GameSpy credentials for your server.</p>
</div>
<p><span style="font-weight: bold;">5b. Optional: Edit the DefaultGame.ini file to allow for map voting.<br />
</span></p>
<div style="margin-left: 40px;">Chances are, you want to allow for map voting, or at least a map rotation&#8230;here&#8217;s how you do that:</p>
<ol>
<li>Locate the Dedicate Server files (e.g. &#8220;C:\Program Files\Unreal Tournament 3 (Dedicated)&#8221;) and navigate to &#8220;.\UTGame\Config&#8221;</li>
<li>Change the Properties on the DefaultGame.ini to remove &#8220;Read-Only&#8221;, and then open it in Notepad and search for &#8220;bAllowMapVoting&#8221;</li>
<li>Find your map-cycle-list <a href="http://wiki.unrealadmin.org/FAQ:UT3#Enable_Mapvote">here</a>.</li>
<li>Make sure your Game Mode is shown in the .ini file with maps to cycle. I know that on mine, the Vehicle CTF did not have a map rotation already in the .ini file, and I had to add it.</li>
</ol>
</div>
<p><span style="font-weight: bold;">6. Create the batch file to load the server.<br />
</span></p>
<div style="margin-left: 40px;">To make things easy on you, you&#8217;ll probably want to create a batch file to load the server with a single click. Here&#8217;s how you do that:</p>
<ol>
<li>Open Notepad</li>
<li>Start off with the location of the Dedicated Server files (e.g. cd &#8220;C:\Program Files\Unreal Tournament 3 (Dedicated)\Binaries&#8221;)</li>
<li>Then enter your commandline from above</li>
<li>You should then have a batch file that looks something like this (only 2 lines, cd and ut3.exe):<span style="font-style: italic;">cd &#8220;C:\Program Files\Unreal Tournament 3 (Dedicated)\Binaries&#8221;</span><br style="font-style: italic;" /><span style="font-style: italic;">ut3.exe Server</span><br />
[this should all be on one line]<span style="font-style: italic;">vCTF-Suspense?ServerDescription=11600010400010100<br />
0045000115000112000111000116000?MaxPlayers=12?Min<br />
NetPlayers=1?NumPlay=4?NumPublicConnections=12?Nu<br />
mPublicConnections=2?NumOpenPublicConnections=12?<br />
GoalScore=3?TimeLimit=20?VsBots=1.5?BotSkill=4?Pu<br />
reServer=1?bAllowJoinInProgress=True?bAllowInvite<br />
s=True?bUsesPresence=True?bAllowJoinViaPresence=T<br />
rue?bShouldAdvertise=True?bUsesStats=True?bIsLanM<br />
atch=False?GamePassword=playme?AdminPassword=bigb<br />
awls -Port=7777 -Login=SurvurBocks -Password=sekratshiz -log=DedicatedServer.log</span> [/end one line]</li>
<li>Save the file where ever you want to keep your server batch files, and then all you have to do is double click it to start your server.</li>
<li>When the batch file runs, it should call the ut3 console and start processing the attributes in there. When the last line says &#8220;Log: GAME PATH IS UTVehicleCTFGame_Content&#8221; (or whatever game mode you&#8217;ve chosen) then your server is up, and ready to be searched for in the Server list. You&#8217;ll have to play around with the filter to find your server.</li>
</ol>
</div>
<p>That&#8217;s all there is to it. At least, that&#8217;s all there was to mine.<br />
Happy Fraggin&#8217;!</p>
<p>Update: I don&#8217;t run my server much anymore &#8211; but when I did, it worked, and I followed these instructions. I can&#8217;t provide individual support for everyone that tries to create a server, but doesn&#8217;t figure it out by these steps. I documented everything I did, step-by-step, and put them here &#8211; I didn&#8217;t do anything extra or different from what&#8217;s here. So if you have trouble getting your server up, you&#8217;re just going to have to play around with it like everyone else did before you to get their server up.</p>
<p style="text-align: right; font-size: 8px;">Blogged with <a title="Flock" href="http://www.flock.com/blogged-with-flock" target="_new">Flock</a></p>
<p><!-- technorati tags begin --></p>
<p style="font-size: 10px; text-align: right;">Tags: <a rel="tag" href="http://technorati.com/tag/ut3dedicated%20server">ut3dedicated server</a>, <a rel="tag" href="http://technorati.com/tag/%20ut3"> ut3</a>, <a rel="tag" href="http://technorati.com/tag/%20dedicated"> dedicated</a>, <a rel="tag" href="http://technorati.com/tag/%20internet"> internet</a>, <a rel="tag" href="http://technorati.com/tag/%20server"> server</a>, <a rel="tag" href="http://technorati.com/tag/%20game"> game</a>, <a rel="tag" href="http://technorati.com/tag/%20unreal%20tournament"> unreal tournament</a>, <a rel="tag" href="http://technorati.com/tag/%20unreal"> unreal</a>, <a rel="tag" href="http://technorati.com/tag/%20tournament"> tournament</a>, <a rel="tag" href="http://technorati.com/tag/%20video%20game"> video game</a>, <a rel="tag" href="http://technorati.com/tag/%20video"> video</a>, <a rel="tag" href="http://technorati.com/tag/%20game"> game</a>, <a rel="tag" href="http://technorati.com/tag/%20configuration"> configuration</a></p>
<p><!-- technorati tags end --><br />
<a href="http://twitter.com/neotsn"><img class="size-full wp-image-583  aligncenter" title="twitter.com/neotsn" src="http://thepizzy.net/blog/wp-content/uploads/2010/08/twitter-wordpress-neo12.png" alt="twitter.com/neotsn" width="350" height="125" /></a></p>

<!-- start wp-tags-to-technorati 1.02 -->

<p class='technorati-tags'>Technorati Tags: <a class='technorati-link' href='http://technorati.com/tag/Admin' rel='tag' target='_blank'>Admin</a>, <a class='technorati-link' href='http://technorati.com/tag/bot' rel='tag' target='_blank'>bot</a>, <a class='technorati-link' href='http://technorati.com/tag/configuration' rel='tag' target='_blank'>configuration</a>, <a class='technorati-link' href='http://technorati.com/tag/configuration+script' rel='tag' target='_blank'>configuration script</a>, <a class='technorati-link' href='http://technorati.com/tag/dedicated' rel='tag' target='_blank'>dedicated</a>, <a class='technorati-link' href='http://technorati.com/tag/Firewall' rel='tag' target='_blank'>Firewall</a>, <a class='technorati-link' href='http://technorati.com/tag/game' rel='tag' target='_blank'>game</a>, <a class='technorati-link' href='http://technorati.com/tag/gamespy' rel='tag' target='_blank'>gamespy</a>, <a class='technorati-link' href='http://technorati.com/tag/internet' rel='tag' target='_blank'>internet</a>, <a class='technorati-link' href='http://technorati.com/tag/internet+server' rel='tag' target='_blank'>internet server</a>, <a class='technorati-link' href='http://technorati.com/tag/LAN' rel='tag' target='_blank'>LAN</a>, <a class='technorati-link' href='http://technorati.com/tag/localhost' rel='tag' target='_blank'>localhost</a>, <a class='technorati-link' href='http://technorati.com/tag/master+server' rel='tag' target='_blank'>master server</a>, <a class='technorati-link' href='http://technorati.com/tag/ports' rel='tag' target='_blank'>ports</a>, <a class='technorati-link' href='http://technorati.com/tag/server' rel='tag' target='_blank'>server</a>, <a class='technorati-link' href='http://technorati.com/tag/server+port' rel='tag' target='_blank'>server port</a>, <a class='technorati-link' href='http://technorati.com/tag/server+setup' rel='tag' target='_blank'>server setup</a>, <a class='technorati-link' href='http://technorati.com/tag/tournament' rel='tag' target='_blank'>tournament</a>, <a class='technorati-link' href='http://technorati.com/tag/UDP' rel='tag' target='_blank'>UDP</a>, <a class='technorati-link' href='http://technorati.com/tag/unreal' rel='tag' target='_blank'>unreal</a>, <a class='technorati-link' href='http://technorati.com/tag/unreal+tournament' rel='tag' target='_blank'>unreal tournament</a>, <a class='technorati-link' href='http://technorati.com/tag/user' rel='tag' target='_blank'>user</a>, <a class='technorati-link' href='http://technorati.com/tag/ut3' rel='tag' target='_blank'>ut3</a>, <a class='technorati-link' href='http://technorati.com/tag/ut3dedicated+server' rel='tag' target='_blank'>ut3dedicated server</a>, <a class='technorati-link' href='http://technorati.com/tag/video' rel='tag' target='_blank'>video</a>, <a class='technorati-link' href='http://technorati.com/tag/video+game' rel='tag' target='_blank'>video game</a>, <a class='technorati-link' href='http://technorati.com/tag/Windows' rel='tag' target='_blank'>Windows</a></p>

<!-- end wp-tags-to-technorati -->
]]></content:encoded>
			<wfw:commentRss>http://thepizzy.net/blog/2008/01/how-to-setup-a-ut3-internet-server/feed/</wfw:commentRss>
		<slash:comments>42</slash:comments>
		</item>
		<item>
		<title>[[Oracle]] and tsnlocal.net</title>
		<link>http://thepizzy.net/blog/2006/09/oracle-and-tsnlocalnet/</link>
		<comments>http://thepizzy.net/blog/2006/09/oracle-and-tsnlocalnet/#comments</comments>
		<pubDate>Thu, 21 Sep 2006 22:14:00 +0000</pubDate>
		<dc:creator>[[Neo]]</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[Servers]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[the-spot.net]]></category>
		<category><![CDATA[The-Spot.Network]]></category>
		<category><![CDATA[thepizzy.net]]></category>
		<category><![CDATA[tsnLocal.net]]></category>
		<category><![CDATA[Updates]]></category>
		<category><![CDATA[[[Oracle]]]]></category>
		<category><![CDATA[bind]]></category>
		<category><![CDATA[chat rooms]]></category>
		<category><![CDATA[DNS]]></category>
		<category><![CDATA[dns control]]></category>
		<category><![CDATA[domain name]]></category>
		<category><![CDATA[dyndns]]></category>
		<category><![CDATA[Email]]></category>
		<category><![CDATA[email server]]></category>
		<category><![CDATA[email settings]]></category>
		<category><![CDATA[exodus]]></category>
		<category><![CDATA[FileZilla]]></category>
		<category><![CDATA[FTP]]></category>
		<category><![CDATA[godaddy]]></category>
		<category><![CDATA[hamachi]]></category>
		<category><![CDATA[instant messaging]]></category>
		<category><![CDATA[internet]]></category>
		<category><![CDATA[Jabber]]></category>
		<category><![CDATA[jabber client]]></category>
		<category><![CDATA[jabber server]]></category>
		<category><![CDATA[Jabbin]]></category>
		<category><![CDATA[nameserver]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[pop]]></category>
		<category><![CDATA[server]]></category>
		<category><![CDATA[setup]]></category>
		<category><![CDATA[smtp]]></category>
		<category><![CDATA[sql]]></category>
		<category><![CDATA[sql capabilities]]></category>
		<category><![CDATA[VoIP]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[web server]]></category>
		<category><![CDATA[webpage]]></category>
		<category><![CDATA[webserver]]></category>
		<category><![CDATA[Wildfire]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://thepizzy.net/blog/?p=73</guid>
		<description><![CDATA[I&#8217;ve spent the last two weeks working on getting [[Oracle]] into the role she was designed to play&#8230;but have found it to be a bit more involved than I realized....]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-thumbnail wp-image-1191" title="oracle" src="http://thepizzy.net/blog/wp-content/uploads/2007/10/oracle-150x150.png" alt="" width="150" height="150" />I&#8217;ve spent the last two weeks working on getting [[Oracle]] into the role she was designed to play&#8230;but have found it to be a bit more involved than I realized.</p>
<p>Originally, I set up the server to be a <a title="[[Oracle]] Reborn, tsnlocal goes up beta" href="http://thepizzy.net/blog/2006/09/oracle-reborn-tsnlocal-goes-up-beta/" target="_blank">web server with php and sql capabilities</a>. Then I realized I needed to FTP files to the web server, so I installed <a href="http://filezilla.sourceforge.net/" target="_blank">FileZilla Server</a>. Once that was done, I started working on the webpage for tsnlocal.net. I got it up, and then wanted to play around with some other type of server, and decided on a Jabber server for instant messaging. I installed <a href="http://www.jivesoftware.org/index.jsp" target="_blank">Wildfire</a>.</p>
<p>Wildfire is extremely easy to setup and install &#8211; so once I finished that, I looked for a Jabber client. My first choice was a VoIP client called <a href="http://www.jabbin.com/int/" target="_blank">Jabbin</a>, but I couldn&#8217;t get it to connect to the server &#8211; probably because I don&#8217;t have a VoIP Protocol on the server to support it. So I went with what we use at work, <a href="http://exodus.jabberstudio.org/: target=">Exodus</a>. It&#8217;s a fairly functional Jabber client &#8211; with chat rooms, IM rosters, subscriptions, and file transfer&#8230;and a bunch of other stuff, including plugins.</p>
<p>Once the Jabber service was set up, and I figured out how to connect to it, I realized that telling people to use my dyndns domain name was not going to work. So I had to figure out how to get my Godaddy.com domain name to link directly to my IP address. But, come to find out, I have to have a Top Level Domain for an IP address, or my dyndns must be a nameserver registered with the NS Registry, in order to use it as a nameserver. I spent 2 days setting up BIND on Windows XP (because there was very little help on the internet for how to do it). Then I jacked around with the Total DNS control settings on godaddy, and got the webserver to work like it should &#8211; almost.</p>
<p>So now you can join the jabber server with yourname@jabber.tsnlocal.net. Now that I had that working, I noticed that there were email settings like pop.tsnlocal.net and smtp.tsnlocal.net that could be set up, so I decided to look into running my own email server. I got in #bloodshotgamer on irc.gamesurge.net and asked some of the tecky people I talk to in there what they&#8217;d recommend. Duck-Lap recommended qmail for linux, but mentined <a href="http://mailenable.com" target="_blank">MailEnable</a> for Windows. I was hoping for an IMAP service so I could run the webpage side of it, but that was not included with this. I might upgrade the service to something new later on, but for now, this was easy to install, and has easy administration, which is what I&#8217;m looking for since most of these other services aren&#8217;t critical to the function of the server. BIND was about the only thing that was hell to configure&#8230;everything else was easily figured out once I had the info and a general grasp of what it does and how it does it.</p>
<p>So now, [[Oracle]] does these things:<br />
- Web Server (Apache, PHP, MySQL)<br />
- FTP Server<br />
- DNS Server<br />
- Email Server<br />
- Jabber Server<br />
- TeamSpeak Voicechat Server<br />
- Hamachi server<br />
- Google Desktop distributed indexing server for the hamachi shares (the essence of tsnlocal)<br />
- and a keep-alive for the dyndns service linking my IP to the dynamic domain</p>
<p>That&#8217;s a lot for a little box&#8230;but I&#8217;m not done yet &#8211; I need to put ssh on it so I can telnet into it. I&#8217;m sure there are other things that I will find to do with it as time goes on too.</p>

<!-- start wp-tags-to-technorati 1.02 -->

<p class='technorati-tags'>Technorati Tags: <a class='technorati-link' href='http://technorati.com/tag/bind' rel='tag' target='_blank'>bind</a>, <a class='technorati-link' href='http://technorati.com/tag/chat+rooms' rel='tag' target='_blank'>chat rooms</a>, <a class='technorati-link' href='http://technorati.com/tag/DNS' rel='tag' target='_blank'>DNS</a>, <a class='technorati-link' href='http://technorati.com/tag/dns+control' rel='tag' target='_blank'>dns control</a>, <a class='technorati-link' href='http://technorati.com/tag/domain+name' rel='tag' target='_blank'>domain name</a>, <a class='technorati-link' href='http://technorati.com/tag/dyndns' rel='tag' target='_blank'>dyndns</a>, <a class='technorati-link' href='http://technorati.com/tag/Email' rel='tag' target='_blank'>Email</a>, <a class='technorati-link' href='http://technorati.com/tag/email+server' rel='tag' target='_blank'>email server</a>, <a class='technorati-link' href='http://technorati.com/tag/email+settings' rel='tag' target='_blank'>email settings</a>, <a class='technorati-link' href='http://technorati.com/tag/exodus' rel='tag' target='_blank'>exodus</a>, <a class='technorati-link' href='http://technorati.com/tag/FileZilla' rel='tag' target='_blank'>FileZilla</a>, <a class='technorati-link' href='http://technorati.com/tag/FTP' rel='tag' target='_blank'>FTP</a>, <a class='technorati-link' href='http://technorati.com/tag/godaddy' rel='tag' target='_blank'>godaddy</a>, <a class='technorati-link' href='http://technorati.com/tag/hamachi' rel='tag' target='_blank'>hamachi</a>, <a class='technorati-link' href='http://technorati.com/tag/instant+messaging' rel='tag' target='_blank'>instant messaging</a>, <a class='technorati-link' href='http://technorati.com/tag/internet' rel='tag' target='_blank'>internet</a>, <a class='technorati-link' href='http://technorati.com/tag/Jabber' rel='tag' target='_blank'>Jabber</a>, <a class='technorati-link' href='http://technorati.com/tag/jabber+client' rel='tag' target='_blank'>jabber client</a>, <a class='technorati-link' href='http://technorati.com/tag/jabber+server' rel='tag' target='_blank'>jabber server</a>, <a class='technorati-link' href='http://technorati.com/tag/Jabbin' rel='tag' target='_blank'>Jabbin</a>, <a class='technorati-link' href='http://technorati.com/tag/nameserver' rel='tag' target='_blank'>nameserver</a>, <a class='technorati-link' href='http://technorati.com/tag/PHP' rel='tag' target='_blank'>PHP</a>, <a class='technorati-link' href='http://technorati.com/tag/pop' rel='tag' target='_blank'>pop</a>, <a class='technorati-link' href='http://technorati.com/tag/server' rel='tag' target='_blank'>server</a>, <a class='technorati-link' href='http://technorati.com/tag/setup' rel='tag' target='_blank'>setup</a>, <a class='technorati-link' href='http://technorati.com/tag/smtp' rel='tag' target='_blank'>smtp</a>, <a class='technorati-link' href='http://technorati.com/tag/sql' rel='tag' target='_blank'>sql</a>, <a class='technorati-link' href='http://technorati.com/tag/sql+capabilities' rel='tag' target='_blank'>sql capabilities</a>, <a class='technorati-link' href='http://technorati.com/tag/VoIP' rel='tag' target='_blank'>VoIP</a>, <a class='technorati-link' href='http://technorati.com/tag/Web' rel='tag' target='_blank'>Web</a>, <a class='technorati-link' href='http://technorati.com/tag/web+server' rel='tag' target='_blank'>web server</a>, <a class='technorati-link' href='http://technorati.com/tag/webpage' rel='tag' target='_blank'>webpage</a>, <a class='technorati-link' href='http://technorati.com/tag/webserver' rel='tag' target='_blank'>webserver</a>, <a class='technorati-link' href='http://technorati.com/tag/Wildfire' rel='tag' target='_blank'>Wildfire</a>, <a class='technorati-link' href='http://technorati.com/tag/Windows' rel='tag' target='_blank'>Windows</a>, <a class='technorati-link' href='http://technorati.com/tag/%5B%5BOracle%5D%5D' rel='tag' target='_blank'>[[Oracle]]</a></p>

<!-- end wp-tags-to-technorati -->
]]></content:encoded>
			<wfw:commentRss>http://thepizzy.net/blog/2006/09/oracle-and-tsnlocalnet/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Back into the swing…</title>
		<link>http://thepizzy.net/blog/2006/09/back-into-the-swing/</link>
		<comments>http://thepizzy.net/blog/2006/09/back-into-the-swing/#comments</comments>
		<pubDate>Mon, 18 Sep 2006 04:16:23 +0000</pubDate>
		<dc:creator>[[Neo]]</dc:creator>
				<category><![CDATA[Servers]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[the-spot.net]]></category>
		<category><![CDATA[The-Spot.Network]]></category>
		<category><![CDATA[thepizzy.net]]></category>
		<category><![CDATA[tsnLocal.net]]></category>
		<category><![CDATA[Updates]]></category>
		<category><![CDATA[[[Oracle]]]]></category>
		<category><![CDATA[ajax]]></category>
		<category><![CDATA[computer]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[DNS]]></category>
		<category><![CDATA[dns server]]></category>
		<category><![CDATA[Frontpage]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[internet]]></category>
		<category><![CDATA[myspot]]></category>
		<category><![CDATA[oracle server]]></category>
		<category><![CDATA[search]]></category>
		<category><![CDATA[server capabilities]]></category>
		<category><![CDATA[ThePizzy]]></category>
		<category><![CDATA[tsn]]></category>
		<category><![CDATA[tsnlocal]]></category>
		<category><![CDATA[tsnX]]></category>
		<category><![CDATA[webpage]]></category>
		<category><![CDATA[website]]></category>
		<category><![CDATA[WYSIWYG]]></category>
		<category><![CDATA[wysiwyg editor]]></category>

		<guid isPermaLink="false">http://thepizzy.net/blog/?p=72</guid>
		<description><![CDATA[I am just now starting to get back into the swing of things for tsn. After working on some graphics for tsnlocal.net, and creating background for the [[Oracle]] server and...]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-thumbnail wp-image-1181" title="the-spot.net logo" src="http://thepizzy.net/blog/wp-content/uploads/2008/04/Untitled-2-150x150.png" alt="" width="150" height="150" />I am just now starting to get back into the swing of things for tsn.</p>
<p>After working on some graphics for tsnlocal.net, and creating background for the [[Oracle]] server and my computer, I&#8217;ve begun work on the next theme for tsnX: tsnX-dark. This one is a bit tricky because there is a combination of dark and light going on the same page that will require a different set of coding for the template to keep everything visible.</p>
<p>I&#8217;ve also been sparked to start working on some more stuff by a simple task they gave me at work &#8211; create a webpage, without using Frontpage and stuff, to display a server-is-down message in plain html. So I did it, all in Notepad++, and was actually pretty impressed that I could write a whole page using CSS and html from nothing, without using a WYSIWYG editor &#8211; I guess it&#8217;s still true that I know how to do it, it&#8217;s just easier for design purposes that I use an editor&#8230;.even though I still do the hard coding by hand.</p>
<p>Anyway, I&#8217;ve begun work on tsnX-dark, and am still working on tsnlocal.net and the [[Oracle]] server, to give it its own DNS server capabilities. If I am able to do that, then if [wizard] and I end up in the same house with faster internet, I&#8217;ll be able to host all my website from my own computers, instead of having to host them commercially.</p>
<p>I&#8217;m also going to restart the daunting task of creating the MySpot page&#8230;there is already one out there, but it&#8217;s just a simple New Posts search page&#8230;I have to get some other code in there and a new design on it to finish it up. I&#8217;m also going to make the server and user status on the tsnlocal page into an Auto-refreshing portion of the page via AJAX. Then I&#8217;m revamping thepizzy.net homepage to reflect the tsnX design and update the information that has apparently not been touched since tsn went down earlier this year.</p>
<p>It just takes the proper motivation and desire to work on this stuff &#8211; because if you&#8217;re not totally into the job, then the product is going to suck if you finish it. So look for changes.</p>

<!-- start wp-tags-to-technorati 1.02 -->

<p class='technorati-tags'>Technorati Tags: <a class='technorati-link' href='http://technorati.com/tag/ajax' rel='tag' target='_blank'>ajax</a>, <a class='technorati-link' href='http://technorati.com/tag/computer' rel='tag' target='_blank'>computer</a>, <a class='technorati-link' href='http://technorati.com/tag/CSS' rel='tag' target='_blank'>CSS</a>, <a class='technorati-link' href='http://technorati.com/tag/DNS' rel='tag' target='_blank'>DNS</a>, <a class='technorati-link' href='http://technorati.com/tag/dns+server' rel='tag' target='_blank'>dns server</a>, <a class='technorati-link' href='http://technorati.com/tag/Frontpage' rel='tag' target='_blank'>Frontpage</a>, <a class='technorati-link' href='http://technorati.com/tag/html' rel='tag' target='_blank'>html</a>, <a class='technorati-link' href='http://technorati.com/tag/internet' rel='tag' target='_blank'>internet</a>, <a class='technorati-link' href='http://technorati.com/tag/myspot' rel='tag' target='_blank'>myspot</a>, <a class='technorati-link' href='http://technorati.com/tag/oracle+server' rel='tag' target='_blank'>oracle server</a>, <a class='technorati-link' href='http://technorati.com/tag/search' rel='tag' target='_blank'>search</a>, <a class='technorati-link' href='http://technorati.com/tag/server+capabilities' rel='tag' target='_blank'>server capabilities</a>, <a class='technorati-link' href='http://technorati.com/tag/ThePizzy' rel='tag' target='_blank'>ThePizzy</a>, <a class='technorati-link' href='http://technorati.com/tag/tsn' rel='tag' target='_blank'>tsn</a>, <a class='technorati-link' href='http://technorati.com/tag/tsnlocal' rel='tag' target='_blank'>tsnlocal</a>, <a class='technorati-link' href='http://technorati.com/tag/tsnX' rel='tag' target='_blank'>tsnX</a>, <a class='technorati-link' href='http://technorati.com/tag/webpage' rel='tag' target='_blank'>webpage</a>, <a class='technorati-link' href='http://technorati.com/tag/website' rel='tag' target='_blank'>website</a>, <a class='technorati-link' href='http://technorati.com/tag/WYSIWYG' rel='tag' target='_blank'>WYSIWYG</a>, <a class='technorati-link' href='http://technorati.com/tag/wysiwyg+editor' rel='tag' target='_blank'>wysiwyg editor</a>, <a class='technorati-link' href='http://technorati.com/tag/%5B%5BOracle%5D%5D' rel='tag' target='_blank'>[[Oracle]]</a></p>

<!-- end wp-tags-to-technorati -->
]]></content:encoded>
			<wfw:commentRss>http://thepizzy.net/blog/2006/09/back-into-the-swing/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

