<?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>Kastang</title>
	<atom:link href="http://kastang.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://kastang.com</link>
	<description>Ramblings of a Geek</description>
	<lastBuildDate>Sat, 21 Aug 2010 16:17:26 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>HowTo: AWStats and phpMyAdmin to Display Properly Using Nginx and Apache</title>
		<link>http://kastang.com/blog/2010/08/howto-awstats-and-phpmyadmin-to-display-properly-using-nginx-and-apache/</link>
		<comments>http://kastang.com/blog/2010/08/howto-awstats-and-phpmyadmin-to-display-properly-using-nginx-and-apache/#comments</comments>
		<pubDate>Sat, 21 Aug 2010 16:17:26 +0000</pubDate>
		<dc:creator>Josh</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Apache]]></category>
		<category><![CDATA[AWStats]]></category>
		<category><![CDATA[Nginx]]></category>
		<category><![CDATA[phpMyAdmin]]></category>

		<guid isPermaLink="false">http://kastang.com/?p=566</guid>
		<description><![CDATA[I am now using Nginx to handle the static content on my server while using Apache to handle the dynamic content. Overall I am very happy with the switch. One issue I had was the images in AWStats and phpMyAdmin were not displaying because the static file regular expression I am using was overriding my [...]]]></description>
			<content:encoded><![CDATA[<p>I am now using Nginx to handle the static content on my server while using Apache to handle the dynamic content. Overall I am very happy with the switch. One issue I had was the images in AWStats and phpMyAdmin were not displaying because the static file regular expression I am using was overriding my /awstats location rule. The fix is quite easy. A new rule needs to be setup to override the original static file regular expression. </p>
<p>This code will only work if you are using Nginx to forward non static requests to Apache.</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"> location ~<span style="color: #000000; font-weight: bold;">*</span> ^<span style="color: #000000; font-weight: bold;">/</span><span style="color: #7a0874; font-weight: bold;">&#40;</span>awstats<span style="color: #000000; font-weight: bold;">|</span>phpmyadmin<span style="color: #7a0874; font-weight: bold;">&#41;</span> <span style="color: #7a0874; font-weight: bold;">&#123;</span>
                proxy_pass http:<span style="color: #000000; font-weight: bold;">//</span>127.0.0.1:<span style="color: #000000;">8080</span>;
                include <span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>nginx<span style="color: #000000; font-weight: bold;">/</span>proxy.conf;
        <span style="color: #7a0874; font-weight: bold;">&#125;</span></pre></div></div>

<p>If you are already setup using Nginx + Apache, chances are you have a file similar to this below. If you have the proxy configurations copied and pasted into your files I would recommend making an includes file to keep your configuration files clean and readable.</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">proxy_redirect off;
&nbsp;
proxy_set_header Host <span style="color: #007800;">$host</span>;
proxy_set_header X-Real-IP <span style="color: #007800;">$remote_addr</span>;
proxy_set_header X-Forwarded-For <span style="color: #007800;">$proxy_add_x_forwarded_for</span>;
&nbsp;
client_max_body_size 10m;
client_body_buffer_size 128k;
&nbsp;
proxy_connect_timeout <span style="color: #000000;">90</span>;
proxy_send_timeout <span style="color: #000000;">90</span>;
proxy_read_timeout <span style="color: #000000;">90</span>;
&nbsp;
proxy_buffer_size 32k;
proxy_buffers <span style="color: #000000;">8</span> 16k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;</pre></div></div>

<p>Quite simple to accomplish, though I will admit it took me a few minutes to figure out. Hope this helps. </p>
]]></content:encoded>
			<wfw:commentRss>http://kastang.com/blog/2010/08/howto-awstats-and-phpmyadmin-to-display-properly-using-nginx-and-apache/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Push Daily Weather to your iPhone using Prowl</title>
		<link>http://kastang.com/blog/2010/08/push-daily-weather-to-your-iphone-using-prowl/</link>
		<comments>http://kastang.com/blog/2010/08/push-daily-weather-to-your-iphone-using-prowl/#comments</comments>
		<pubDate>Fri, 13 Aug 2010 13:18:13 +0000</pubDate>
		<dc:creator>Josh</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Prowl]]></category>
		<category><![CDATA[Weather]]></category>

		<guid isPermaLink="false">http://kastang.com/?p=556</guid>
		<description><![CDATA[Below is a PHP script that will pull your daily local weather forecast from Weather Bug and push it to your iPhone using Prowl. One requirement is you have the Prowl iPhone app on your iPhone or iTouch. Prowl is $2.99 in the App Store. This script also requires PHP to be installed on your [...]]]></description>
			<content:encoded><![CDATA[<p>Below is a PHP script that will pull your daily local weather forecast from Weather Bug and push it to your iPhone using Prowl. One requirement is you have the Prowl iPhone app on your iPhone or iTouch. Prowl is $2.99 in the App Store. This script also requires PHP to be installed on your server/desktop machine. I have tested this script with a handful of random Zip Codes around the US. If I happen to come up with any special conditions, I will update the script below.  </p>
<p>Before running this script, make sure you change the XXXXX's in <code>$xml</code> to your local zip code and change YOUR_API_KEY_HERE in <code>$prowl</code> to your Prowl API code. You will also need to change <code>includes('API/ProwlPHP')</code> to the location of <a href="http://github.com/Fenric/ProwlPHP">ProwlPHP</a> on your server.</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;">&nbsp;
<span style="color: #009933; font-style: italic;">/**
 * This script pulls a local XML weather forcast from
 * Weatherbug. Pushes the current days weather to a
 * device running prowl.
 *
 * This script requires ProwlPHP, and a valid Prowl API code.
 *
 * @author Kastang (josh at kastang.com)
 */</span>
    <span style="color: #b1b100;">include</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'API/ProwlPHP.php'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
    <span style="color: #666666; font-style: italic;">//Change the XXXXX's to your local zip code.</span>
    <span style="color: #000088;">$xml</span> <span style="color: #339933;">=</span> <span style="color: #990000;">simplexml_load_file</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;http://feeds.weatherbug.com/rss.aspx?zipcode=XXXXX&amp;feed=fcst&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
    <span style="color: #666666; font-style: italic;">//Parse the description from Weatherbug.</span>
    prowl<span style="color: #009900;">&#40;</span><span style="color: #990000;">substr</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">ltrim</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">strip_tags</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$xml</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">channel</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">item</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">description</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: #cc66cc;">0</span><span style="color: #339933;">,-</span><span style="color: #cc66cc;">22</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
    <span style="color: #666666; font-style: italic;">//Push the weather to Prowl.</span>
    <span style="color: #000000; font-weight: bold;">function</span> prowl<span style="color: #009900;">&#40;</span><span style="color: #000088;">$weather</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        <span style="color: #000088;">$prowl</span> <span style="color: #339933;">=</span><span style="color: #000000; font-weight: bold;">new</span> Prowl<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'YOUR_API_KEY_HERE'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
        <span style="color: #000088;">$prowl</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">push</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span>
                        <span style="color: #0000ff;">'application'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Weather'</span><span style="color: #339933;">,</span>
                        <span style="color: #0000ff;">'event'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'Today'</span><span style="color: #339933;">,</span>
                        <span style="color: #0000ff;">'description'</span><span style="color: #339933;">=&gt;</span><span style="color: #000088;">$weather</span><span style="color: #339933;">,</span>
                        <span style="color: #0000ff;">'priority'</span><span style="color: #339933;">=&gt;</span><span style="color: #cc66cc;">0</span><span style="color: #339933;">,</span>
                    <span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span><span style="color: #009900; font-weight: bold;">true</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span></pre></div></div>

<p>I have this setup daily to run at 8am using cron. Below is an example you should add to crontab if you want to do the same thing:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #000000;">0</span> <span style="color: #000000;">8</span> <span style="color: #000000; font-weight: bold;">*</span> <span style="color: #000000; font-weight: bold;">*</span> <span style="color: #000000; font-weight: bold;">*</span> <span style="color: #000000; font-weight: bold;">/</span>path<span style="color: #000000; font-weight: bold;">/</span>to<span style="color: #000000; font-weight: bold;">/</span>weather.php</pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://kastang.com/blog/2010/08/push-daily-weather-to-your-iphone-using-prowl/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Push Twitter Replies to your iPhone using Prowl</title>
		<link>http://kastang.com/blog/2010/08/push-twitter-replies-to-iphone-using-prowl/</link>
		<comments>http://kastang.com/blog/2010/08/push-twitter-replies-to-iphone-using-prowl/#comments</comments>
		<pubDate>Wed, 11 Aug 2010 23:19:24 +0000</pubDate>
		<dc:creator>Josh</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Twitter]]></category>
		<category><![CDATA[CLI]]></category>
		<category><![CDATA[Prowl]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://kastang.com/?p=537</guid>
		<description><![CDATA[Yesterday I bought Prowl for the iPhone. Prowl is similar to Growl on OSX systems. Prowl pushes notifications to your iPhone or iTouch. One of the first uses I thought to use Prowl for was pushing my @replies and mentions from Twitter to my iPhone. I wanted to run the script from my Ubuntu server [...]]]></description>
			<content:encoded><![CDATA[<p>Yesterday I bought Prowl for the iPhone. Prowl is similar to Growl on OSX systems. Prowl pushes notifications to your iPhone or iTouch. One of the first uses I thought to use Prowl for was pushing my @replies and mentions from Twitter to my iPhone. I wanted to run the script from my Ubuntu server rather then keeping my desktop on 24/7. I did a quick search online and didn't find any command line options for achieving such a task.  I decided to code a quick and dirty PHP script to accomplish what I wanted to do.</p>
<p>This is a quick hack. There are probably more efficient ways of accomplishing this task. I used <a href="http://github.com/Fenric/ProwlPHP">ProwlPHP</a> to link to the Prowl API.</p>
<p>I assume you know PHP and know how to navigate in Terminal. This is a command line app, it will run on any computer/server running PHP. I have extensively commented the script. Hopefully it is easy to follow along.</p>
<p>Quick Instructions:</p>
<ol>
<li>Download the newest version of ProwlPHP and copy it a directory.</li>
<li>Create a file lastreply.txt and stick in in the same directory as the below code will be copied into. This file needs to have read and write permissions.</li>
<li>Copy the below code into another file. Alter the ProwlPHP includes directory on line 2, and add your Prowl API key, Twitter Username, and Twitter Password in the constructor.</li>
</ol>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">//CHANGE THIS PATH TO WHERE ProwlPHP IS LOCATED ON</span>
<span style="color: #666666; font-style: italic;">//YOUR SERVER</span>
<span style="color: #b1b100;">include</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'../API/ProwlPHP.php'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$t</span> <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> Twitter<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #009933; font-style: italic;">/**
 * @class Twitter
 * This class integrates Twitter and Prowl notifications with the
 * iPhone. When this script runs it checks to see if any new
 * Twitter mentions have occured on your account since last check.
 * If any exist, the Tweet is sent to Prowl and will be notified
 * via push on your iPhone.
 *
 * This class uses ProwlPHP located at:
 * 			http://github.com/Fenric/ProwlPHP
 *
 * @author Kastang (josh dot kastang at gmail dot com)
 */</span>
<span style="color: #000000; font-weight: bold;">class</span> Twitter <span style="color: #009900;">&#123;</span>
&nbsp;
    <span style="color: #000000; font-weight: bold;">var</span> <span style="color: #000088;">$xml</span><span style="color: #339933;">;</span>
    <span style="color: #000000; font-weight: bold;">var</span> <span style="color: #000088;">$lastID</span><span style="color: #339933;">;</span>
    <span style="color: #000000; font-weight: bold;">var</span> <span style="color: #000088;">$tUser</span><span style="color: #339933;">;</span>
    <span style="color: #000000; font-weight: bold;">var</span> <span style="color: #000088;">$tPass</span><span style="color: #339933;">;</span>
    <span style="color: #000000; font-weight: bold;">var</span> <span style="color: #000088;">$prowl</span><span style="color: #339933;">;</span>
&nbsp;
    <span style="color: #009933; font-style: italic;">/**
     * Constructor for Twitter Class. Three lines need to be edited
     * below before running the file: prowl, tUser, and tPass.
     */</span>
    <span style="color: #000000; font-weight: bold;">function</span> __construct<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
&nbsp;
        <span style="color: #666666; font-style: italic;">//EDIT THE 3 LINES BELOW</span>
        <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">prowl</span> <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> Prowl<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'YOUR PROWL API KEY'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">tUser</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;TWITTER USERNAME&quot;</span><span style="color: #339933;">;</span>
        <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">tPass</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;TWITTER PASSWORD&quot;</span><span style="color: #339933;">;</span>
&nbsp;
        <span style="color: #666666; font-style: italic;">//XML info loaded from Twitter API.</span>
        <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">xml</span> <span style="color: #339933;">=</span> <span style="color: #990000;">simplexml_load_string</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">getReplies</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
        <span style="color: #666666; font-style: italic;">//Opens the lastreply file which contants the</span>
        <span style="color: #666666; font-style: italic;">//id of the last mentioned tweet.</span>
        <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">lastID</span> <span style="color: #339933;">=</span> <span style="color: #990000;">file_get_contents</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;lastreply.txt&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
        <span style="color: #666666; font-style: italic;">//If the file is empty (probably the first time</span>
        <span style="color: #666666; font-style: italic;">//you are using the script). It will pull the</span>
        <span style="color: #666666; font-style: italic;">//newest mention id from your twitter feed and</span>
        <span style="color: #666666; font-style: italic;">//store it in the file.</span>
        <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">lastID</span> <span style="color: #339933;">==</span> <span style="color: #009900; font-weight: bold;">null</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
            <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">lastID</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">xml</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">status</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">id</span><span style="color: #339933;">;</span>
            <span style="color: #000088;">$full</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;@&quot;</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">xml</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">status</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">user</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">screen_name</span> <span style="color: #339933;">.</span>
                    <span style="color: #0000ff;">&quot;: &quot;</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">xml</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">status</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">text</span><span style="color: #339933;">;</span>
            <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">prowl</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$full</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
            <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">updateNewest</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">xml</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">status</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">id</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #009900;">&#125;</span>
&nbsp;
        <span style="color: #666666; font-style: italic;">//Checks for new Twitter Mentions.</span>
        <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">checkForUpdates</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
&nbsp;
    <span style="color: #009933; font-style: italic;">/**
     * Checks for updates.
     */</span>
    <span style="color: #000000; font-weight: bold;">function</span> checkForUpdates<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        <span style="color: #666666; font-style: italic;">//first run boolean.</span>
        <span style="color: #000088;">$first</span> <span style="color: #339933;">=</span> <span style="color: #009900; font-weight: bold;">true</span><span style="color: #339933;">;</span>
&nbsp;
        <span style="color: #666666; font-style: italic;">//For each mention in the XML array, check to see if</span>
        <span style="color: #666666; font-style: italic;">//the current ID is greater then the last recorded ID.</span>
        <span style="color: #666666; font-style: italic;">//If it is, push the current Tweet to Prowl, if it isn't,</span>
        <span style="color: #666666; font-style: italic;">//check to see if it is the first run, if it is, break out</span>
        <span style="color: #666666; font-style: italic;">//of the for loop, if it isn't the first run, update the</span>
        <span style="color: #666666; font-style: italic;">//lastreply.txt file and break from the forloop.</span>
        <span style="color: #b1b100;">for</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$i</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span> <span style="color: #000088;">$i</span> <span style="color: #339933;">&amp;</span>lt<span style="color: #339933;">;</span> <span style="color: #cc66cc;">10</span><span style="color: #339933;">;</span> <span style="color: #000088;">$i</span><span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>             <span style="color: #000088;">$curr</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">xml</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">status</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$i</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">id</span><span style="color: #339933;">;</span>
            <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$curr</span> <span style="color: #339933;">&gt;</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">lastID</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
                <span style="color: #000088;">$first</span> <span style="color: #339933;">=</span> <span style="color: #009900; font-weight: bold;">false</span><span style="color: #339933;">;</span>
                <span style="color: #000088;">$full</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;@&quot;</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">xml</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">status</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$i</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">user</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">screen_name</span> <span style="color: #339933;">.</span>
                        <span style="color: #0000ff;">&quot;: &quot;</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">xml</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">status</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$i</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">text</span><span style="color: #339933;">;</span>
                <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">prowl</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$full</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
            <span style="color: #009900;">&#125;</span> <span style="color: #b1b100;">else</span> <span style="color: #009900;">&#123;</span>
                <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$first</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
                    <span style="color: #b1b100;">break</span><span style="color: #339933;">;</span>
                <span style="color: #009900;">&#125;</span> <span style="color: #b1b100;">else</span> <span style="color: #009900;">&#123;</span>
                    <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">updateNewest</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">xml</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">status</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$i</span> <span style="color: #339933;">-</span> <span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">id</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
                    <span style="color: #b1b100;">break</span><span style="color: #339933;">;</span>
                <span style="color: #009900;">&#125;</span>
            <span style="color: #009900;">&#125;</span>
        <span style="color: #009900;">&#125;</span>
    <span style="color: #009900;">&#125;</span>
&nbsp;
    <span style="color: #009933; font-style: italic;">/**
     * Writes the newest @reply id to a file.
     */</span>
    <span style="color: #000000; font-weight: bold;">function</span> updateNewest<span style="color: #009900;">&#40;</span><span style="color: #000088;">$id</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        <span style="color: #000088;">$file</span> <span style="color: #339933;">=</span> <span style="color: #990000;">fopen</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;lastreply.txt&quot;</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: #990000;">fwrite</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$file</span><span style="color: #339933;">,</span> <span style="color: #000088;">$id</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;">$file</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
&nbsp;
    <span style="color: #009933; font-style: italic;">/**
     * Push the Tweet to Prowl. This code is modified from
     * example.php in the ProwlPHP API Wrapper.
     */</span>
    <span style="color: #000000; font-weight: bold;">function</span> prowl<span style="color: #009900;">&#40;</span><span style="color: #000088;">$tweet</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
&nbsp;
        <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">prowl</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">push</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span>
            <span style="color: #0000ff;">'application'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'Twitter'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'event'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'Reply'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'description'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #000088;">$tweet</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'priority'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">,</span>
                <span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span> <span style="color: #009900; font-weight: bold;">true</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
&nbsp;
    <span style="color: #009933; font-style: italic;">/**
     * Gets replies from Twitter. In order to grab replies, you
     * must be authenticated.
     */</span>
    <span style="color: #000000; font-weight: bold;">function</span> getReplies<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        <span style="color: #000088;">$twitterHost</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;http://twitter.com/statuses/mentions.xml&quot;</span><span style="color: #339933;">;</span>
        <span style="color: #000088;">$curl</span><span style="color: #339933;">;</span>
        <span style="color: #000088;">$curl</span> <span style="color: #339933;">=</span> <span style="color: #990000;">curl_init</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #990000;">curl_setopt</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$curl</span><span style="color: #339933;">,</span> CURLOPT_CONNECTTIMEOUT<span style="color: #339933;">,</span> <span style="color: #cc66cc;">2</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #990000;">curl_setopt</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$curl</span><span style="color: #339933;">,</span> CURLOPT_HEADER<span style="color: #339933;">,</span> <span style="color: #009900; font-weight: bold;">false</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #990000;">curl_setopt</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$curl</span><span style="color: #339933;">,</span> CURLOPT_HTTPAUTH<span style="color: #339933;">,</span> CURLAUTH_BASIC<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #990000;">curl_setopt</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$curl</span><span style="color: #339933;">,</span> CURLOPT_RETURNTRANSFER<span style="color: #339933;">,</span> <span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #990000;">curl_setopt</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$curl</span><span style="color: #339933;">,</span> CURLOPT_USERPWD<span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;<span style="color: #006699; font-weight: bold;">$this-&gt;tUser</span>:<span style="color: #006699; font-weight: bold;">$this-&gt;tPass</span>&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #990000;">curl_setopt</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$curl</span><span style="color: #339933;">,</span> CURLOPT_HTTP_VERSION<span style="color: #339933;">,</span> CURL_HTTP_VERSION_1_1<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #990000;">curl_setopt</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$curl</span><span style="color: #339933;">,</span> CURLOPT_URL<span style="color: #339933;">,</span> <span style="color: #000088;">$twitterHost</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #000088;">$result</span> <span style="color: #339933;">=</span> <span style="color: #990000;">curl_exec</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$curl</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #990000;">curl_close</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$curl</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #990000;">header</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'Content-Type: application/xml; charset=ISO-8859-1'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #b1b100;">return</span> <span style="color: #000088;">$result</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>I chose to add an entry in my crontab to run this script every 10 minutes. The time can be adjusted to suit your needs. Personally I do not see a need to ping Twitter more then once every ten minutes.</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">*/</span><span style="color: #000000;">10</span> <span style="color: #000000; font-weight: bold;">*</span> <span style="color: #000000; font-weight: bold;">*</span> <span style="color: #000000; font-weight: bold;">*</span> <span style="color: #000000; font-weight: bold;">*</span> curl <span style="color: #000000; font-weight: bold;">/</span>path<span style="color: #000000; font-weight: bold;">/</span>to<span style="color: #000000; font-weight: bold;">/</span>replies.php</pre></div></div>

<p>If all goes well, you should see something like this when someone mentions you in a tweet:</p>
<div id="attachment_547" class="wp-caption aligncenter" style="width: 394px"><a href="http://kastang.com/blog/wp-content/uploads/2010/08/photo-1.png"><img class="size-full wp-image-547 " title="Prowl iPhone Lockscreen" src="http://kastang.com/blog/wp-content/uploads/2010/08/photo-1.png" alt="Prowl pushing a notification to the iPhone. " width="384" height="576" /></a><p class="wp-caption-text">Prowl pushing a notification to the iPhone. </p></div>
<p>It is possible to setup a redirection within Prowl to automatically launch your Twitter client of choice when you get a Twitter based notification. You can also open Prowl and view all notifications:</p>
<div id="attachment_548" class="wp-caption aligncenter" style="width: 394px"><a href="http://kastang.com/blog/wp-content/uploads/2010/08/photo-2.png"><img class="size-full wp-image-548 " title="Prowl Main Screen" src="http://kastang.com/blog/wp-content/uploads/2010/08/photo-2.png" alt="Prowl Main Screen" width="384" height="576" /></a><p class="wp-caption-text">Prowl Main Screen</p></div>
<p>The script should be fairly easy to modify. I will probably add Direct Messaging next to my Prowl Push Notifications.</p>
]]></content:encoded>
			<wfw:commentRss>http://kastang.com/blog/2010/08/push-twitter-replies-to-iphone-using-prowl/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Installing and Configuring WoW on Linux</title>
		<link>http://kastang.com/blog/2010/08/installing-and-configuring-wow-on-linux/</link>
		<comments>http://kastang.com/blog/2010/08/installing-and-configuring-wow-on-linux/#comments</comments>
		<pubDate>Sat, 07 Aug 2010 17:39:46 +0000</pubDate>
		<dc:creator>Josh</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[WoW]]></category>

		<guid isPermaLink="false">http://kastang.com/?p=492</guid>
		<description><![CDATA[A few months ago I wrote a blog post answering some frequently asked questions about playing World of Warcraft on Linux (more specifically, on Ubuntu). I am making a return to WoW after an extensive break. During my break I did a fresh install of Ubuntu 10.04. I am in the process of reinstalling WoW [...]]]></description>
			<content:encoded><![CDATA[<p>A few months ago I wrote a <a href="http://kastang.com/blog/2010/01/wow-on-linux/">blog post</a> answering some frequently asked questions about playing World of Warcraft on Linux (more specifically, on Ubuntu). I am making a return to WoW after an extensive break. During my break I did a fresh install of Ubuntu 10.04. I am in the process of reinstalling WoW on my Ubuntu partition. While reinstalling and reconfiguring WoW for my system, I took a few screenshots and notes. Hopefully they will be helpful for anyone who wants to play WoW on Linux.</p>
<p>This guide is tailored to Ubuntu 10.04 users, but should be similar for any Debian based OS users. I like to think everything is fairly straight forward. I assume you have some sort of basic Linux knowledge before attempting this guide. For example, if you do not know how to navigate around in Terminal, you probably shouldn't try this.</p>
<h2>Prerequisites</h2>
<p>Before installing Wine or WoW a few things need to be done with your system.</p>
<ul>
<li><strong>Update your graphics drivers</strong>: Updating your graphic drivers is probably the most important thing to do to ensure stable performance in WoW. Both NVidia and ATI have made great improvement over the past few years in improving the quality of their Linux drivers. Each release seems to increase the stability and performance of their cards.</li>
<li><strong>Turn off special effects</strong>: If you are using Compiz (or an equivalent) turn it off before trying to play WoW. 9/10 times it will severely diminish performance and cause system lockups. If you use Gnome or KDE, I suggest switching to more lightweight option such as XFCE. This is not mandatory, XFCE my desktop environment of choice. If you want to give XFCE a try, in terminal type: <code>sudo apt-get install xubuntu-desktop</code></li>
</ul>
<h2>Install and Configuring Wine</h2>
<p>Make sure you have the newest version of Wine installed. If you are using Ubuntu, open terminal and type the following:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">sudo</span> apt-add-repository ppa:ubuntu-wine<span style="color: #000000; font-weight: bold;">/</span>ppa
<span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">apt-get</span> update
<span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">apt-get</span> <span style="color: #c20cb9; font-weight: bold;">install</span> wine</pre></div></div>

<p>The above commands will install the newest version of Wine on your system. At the time of this writing, the newest version is Wine 1.2. After issuing the above commands, type <code>wine --version</code> in Terminal to make sure you have the newest version available. To check the newest version, head over to <a href="http://www.winehq.org/" target="_blank">WineHQ</a> and check the latest Stable Release version.</p>
<p>Generally speaking the newest version of Wine is always the best. Occasionally a bug will occur in a build in which case you will have to manually install a previous version. World of Warcraft is a very well supported game in the Wine community so the chances of such a bug happening are slim.</p>
<p>For now, only one optional change needs to be made in the Wine Configuration. If you are only using a single monitor system, you can probably skip this. If you are using dual (or more) monitors, you should set an emulate desktop. Type <code>winecfg</code> in terminal. Click the Graphics tab, and check the "Emulate a virtual desktop" checkbox. Enter the screen resolution of the monitor you are going to play WoW on under Desktop Size. What this does is create a virtual desktop for Wine programs to run in. This is sometimes needed because certain games may appear distorted or overlap to a second monitor in full screen mode. If you are using Dual Monitors for example, you will need this activated so you can play correctly in full windowed mode and still be able to access your second monitor while playing WoW.</p>
<h2>Installing WoW from Scratch</h2>
<p><em>*If you have WoW installed on a seperate Windows partition you can use it rather then installing from scratch. If you do, ignore the installation instructions below and scroll down to Special Cases at the bottom of this post. </em></p>
<p>After Wine is installed and configured we can start the installation process. This process is pretty straight forward. I am using the WoW Online installer since I do not own the physical WoW discs. You can download the WoW Installer directly from Battle.net <a href="https://www.worldofwarcraft.com/account/download/clients/pc/InstallWoW.exe">here</a>. If this link does not work, login to your Battle.net account and download the Windows version of the WoW Installer.</p>
<p>After the file downloads, open terminal and navigate to the directory where InstallWoW.exe is located and run:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">wine InstallWoW.exe</pre></div></div>

<p>If this is your first time using Wine, the process may take a few extra seconds while configuration files are created. Your screen may also flicker a few times, don't worry, its normal. If all goes well, a screen should pop up asking which version of WoW you want to install. Select WoLK. You should see the following screen shortly after:</p>
<div id="attachment_495" class="wp-caption aligncenter" style="width: 476px"><a href="http://kastang.com/blog/wp-content/uploads/2010/08/WoWDownloading.png"><img class="size-full wp-image-495 " title="WoWDownloading" src="http://kastang.com/blog/wp-content/uploads/2010/08/WoWDownloading.png" alt="WoW Downloading" width="466" height="328" /></a><p class="wp-caption-text">WoW Installer downloading the required files to continue. </p></div>
<p>After the required files are done downloading, you may receive an error about some system components failing the minimum requirements. This is most likely due to Ubuntu not reporting the proper system information.  Ignore any such warnings and click Install.</p>
<div id="attachment_498" class="wp-caption aligncenter" style="width: 434px"><a href="http://kastang.com/blog/wp-content/uploads/2010/08/FailMinimumReqs.png"><img class="size-full wp-image-498   " title="FailMinimumReqs" src="http://kastang.com/blog/wp-content/uploads/2010/08/FailMinimumReqs.png" alt="" width="424" height="312" /></a><p class="wp-caption-text">Ignore any failing minimum requirements warnings. </p></div>
<p>Next you will be prompted to select an install location for WoW. I personally chose C:\Program Files inside of Wine. You can safely choose whichever directory you want. For future reference, the "C" drive Wine creates is mapped to <code>~/.wine/drive_c/</code>. In my example, my WoW folder will be: <code>~/.wine/drive_c/Program\ Files/World\ of\ Warcraft/</code></p>
<div id="attachment_501" class="wp-caption aligncenter" style="width: 456px"><a href="http://kastang.com/blog/wp-content/uploads/2010/08/InstallDirectory.png"><img class="size-full wp-image-501 " title="InstallDirectory" src="http://kastang.com/blog/wp-content/uploads/2010/08/InstallDirectory.png" alt="" width="446" height="350" /></a><p class="wp-caption-text">Choosing the WoW Install Directoy. </p></div>
<p>The longest part of the install when 7.5 GB of WoLK files are being downloaded and installed. I am receiving pretty constant speeds from Blizzards servers of around 800-900KB/s with spikes sometimes around 1.5MB/s. The install part will take a few hours to complete. I would recommend getting to this step before bed.</p>
<div id="attachment_503" class="wp-caption aligncenter" style="width: 485px"><a href="http://kastang.com/blog/wp-content/uploads/2010/08/WoLKInstalling.png"><img class="size-full wp-image-503" title="WoLKInstalling" src="http://kastang.com/blog/wp-content/uploads/2010/08/WoLKInstalling.png" alt="" width="475" height="355" /></a><p class="wp-caption-text">WOLK Installing</p></div>
<p>After the base install of WOLK is done, the game will automatically launch the Blizzard updater and patch WoW to the newest version. If all goes well, this should be done automatically, without issue. In my case, Wine froze while updating to Patch 3.3.3. If the game freezes on you during updating, open terminal and type:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">killall</span> wineserver
wine ~<span style="color: #000000; font-weight: bold;">/</span>.wine<span style="color: #000000; font-weight: bold;">/</span>drive_c<span style="color: #000000; font-weight: bold;">/</span>Program\ Files<span style="color: #000000; font-weight: bold;">/</span>World\ of\ Warcraft<span style="color: #000000; font-weight: bold;">/</span>Launcher.exe</pre></div></div>

<p>The launcher should re-launch and the game should continue to upload without any issues.</p>
<h2>Configuring WoW</h2>
<p>By now WoW should be installed and fully patched. Before running the game, I recommend editing the Config.wtf file before launching WoW for the first time.</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">#Copy your original Config file to a new location.</span>
<span style="color: #c20cb9; font-weight: bold;">cp</span> ~<span style="color: #000000; font-weight: bold;">/</span>.wine<span style="color: #000000; font-weight: bold;">/</span>drive_c<span style="color: #000000; font-weight: bold;">/</span>Program\ Files<span style="color: #000000; font-weight: bold;">/</span>World\ of\ Warcraft<span style="color: #000000; font-weight: bold;">/</span>WTF<span style="color: #000000; font-weight: bold;">/</span>Config.wtf ~
<span style="color: #666666; font-style: italic;">#Remove the original</span>
<span style="color: #c20cb9; font-weight: bold;">rm</span> ~<span style="color: #000000; font-weight: bold;">/</span>.wine<span style="color: #000000; font-weight: bold;">/</span>drive_c<span style="color: #000000; font-weight: bold;">/</span>Program\ Files<span style="color: #000000; font-weight: bold;">/</span>World\ of\ Warcraft<span style="color: #000000; font-weight: bold;">/</span>WTF<span style="color: #000000; font-weight: bold;">/</span>Config.wtf
<span style="color: #666666; font-style: italic;">#Create a new Config.wtf file and copy the below inside it</span>
<span style="color: #c20cb9; font-weight: bold;">vi</span> ~<span style="color: #000000; font-weight: bold;">/</span>.wine<span style="color: #000000; font-weight: bold;">/</span>drive_c<span style="color: #000000; font-weight: bold;">/</span>Program\ Files<span style="color: #000000; font-weight: bold;">/</span>World\ of\ Warcraft<span style="color: #000000; font-weight: bold;">/</span>WTF<span style="color: #000000; font-weight: bold;">/</span>Config.wtf</pre></div></div>

<p>This config file sets all of the performance settings to the lowest possible setting(don't worry, you'll adjust these later. Just for the initial launch it makes life easier), sets OpenGL by default, accepts the TOS and EULA, and sets a low screen resolution.<br />
<code><br />
SET readTOS "1"<br />
SET readEULA "1"<br />
SET readScanning "-1"<br />
SET readContest "-1"<br />
SET readTerminationWithoutNotice "-1"<br />
SET installType "Retail"<br />
SET locale "enUS"<br />
SET movie "0"<br />
SET showToolsUI "1"<br />
SET portal "us"<br />
SET realmList "us.logon.worldofwarcraft.com"<br />
SET patchlist "us.version.worldofwarcraft.com"<br />
SET hwDetect "0"<br />
SET gxWindow "1"<br />
SET gxRefresh "60"<br />
SET gxMultisampleQuality "0.000000"<br />
SET gxFixLag "0"<br />
SET videoOptionsVersion "3"<br />
SET textureFilteringMode "0"<br />
SET Gamma "1.000000"<br />
SET Sound_OutputDriverName "System Default"<br />
SET Sound_MusicVolume "0.40000000596046"<br />
SET Sound_AmbienceVolume "0.60000002384186"<br />
SET farclip "177"<br />
SET particleDensity "0.10000000149012"<br />
SET baseMip "1"<br />
SET environmentDetail "0.5"<br />
SET weatherDensity "0"<br />
SET ffxGlow "0"<br />
SET ffxDeath "0"<br />
SET gxResolution "1024x760"<br />
SET gxApi "opengl"<br />
</code></p>
<p>Now you should be good to boot the game for the first time. You should have a WoW Icon on your Desktop. If you do, double click on it and it will launch the WoW screen. If you do not have a WoW Icon on your desktop, enter the following command in terminal:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">wine ~<span style="color: #000000; font-weight: bold;">/</span>.wine<span style="color: #000000; font-weight: bold;">/</span>drive_c<span style="color: #000000; font-weight: bold;">/</span>Program\ Files<span style="color: #000000; font-weight: bold;">/</span>World\ of\ Warcraft<span style="color: #000000; font-weight: bold;">/</span>Wow.exe</pre></div></div>

<p>If you did not have a WoW Icon on your Desktop, look at the bottom of this post to see how to create an Alias to launch WoW through terminal.</p>
<p>From here it is up to you to configure the settings to your liking. I recommend taking it slow, gradually update the settings until you are happy with the performance. Personally speaking, most of my settings are very similar to the settings I would play with in Windows. Both ATI and NVidia Linux drivers have come a long way in recent years. You should not see much a performance loss between playing on Windows or Linux. In some instances, you may even see a performance boost.</p>
<h2>AddOns</h2>
<p>Generally speaking, all AddOns will work fine under Linux. Rather then manually installing my AddOns, I prefer having a program do the manual work for me. One of my favorite programs for such a task is <a href="http://www.wowmatrix.com/" target="_blank">WoWMatrix</a>. As far as I know, WoWMatrix is the only AddOn updater I know that offers a native Linux client.</p>
<p>Download WoWMatrix Linux version from WoWMatrix and execute the following commands:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">#Navigate to where wowmatrix.tar.gz file was downloaded</span>
<span style="color: #c20cb9; font-weight: bold;">tar</span> zxvf wowmatrix.tar.gz
.<span style="color: #000000; font-weight: bold;">/</span>wowmatrix</pre></div></div>

<p>If all goes well, WoWMatrix should launch and ask where your WoW folder is located. In the window, right click in the white space and click Show Hidden Files. Navigate to ~/.wine/drive_c/Program\ Files/World\ of\ Warcraft/ - After the folder is selected, accept the license agreement. The rest should be self explanatory.</p>
<p>As with configuring your video performance, I recommend gradually adding AddOns. Make sure none cause issues.</p>
<h2>Create a Terminal Alias for WoW</h2>
<p>If for some reason a Desktop icon was not created, or you do not use a windows manager, you can create an alias to launch WoW via Terminal. If you use bash, add this to your <code>~/.bash_aliases</code> file:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #7a0874; font-weight: bold;">alias</span> <span style="color: #007800;">wow</span>=<span style="color: #ff0000;">'wine ~/.wine/drive_c/Program\ Files/World\ of\ Warcraft/Wow.exe'</span></pre></div></div>

<p>After changes are made to your aliases file, you will need to apply the changes by typing <code>source ~/.bash_aliases</code> in Terminal. From now on you will be able to type <code>wow</code> in Terminal and the game will execute.</p>
<h2>Special Cases</h2>
<p>Unless you were previously directed to read this section, skip it.</p>
<p><strong>Using an existing WoW Install:</strong></p>
<p>If you already have WoW installed on a Windows partition, you have two options to choose from:</p>
<ul>
<li>Running WoW directly from your Windows partition.</li>
<li>Copying your WoW directory from your Windows partition to your Ubuntu parition.</li>
</ul>
<p>I am assuming you do not have your Windows partition mounted. If this is the case you will first need to know the which partition your Windows is located:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">$ <span style="color: #c20cb9; font-weight: bold;">sudo</span> fdisk <span style="color: #660033;">-l</span>
&nbsp;
   Device Boot      Start         End      Blocks   Id  System
<span style="color: #000000; font-weight: bold;">/</span>dev<span style="color: #000000; font-weight: bold;">/</span>sda1   <span style="color: #000000; font-weight: bold;">*</span>           <span style="color: #000000;">1</span>          <span style="color: #000000;">13</span>      <span style="color: #000000;">102400</span>    <span style="color: #000000;">7</span>  HPFS<span style="color: #000000; font-weight: bold;">/</span>NTFS
Partition <span style="color: #000000;">1</span> does not end on cylinder boundary.
<span style="color: #000000; font-weight: bold;">/</span>dev<span style="color: #000000; font-weight: bold;">/</span>sda2              <span style="color: #000000;">13</span>       <span style="color: #000000;">31871</span>   <span style="color: #000000;">255897600</span>    <span style="color: #000000;">7</span>  HPFS<span style="color: #000000; font-weight: bold;">/</span>NTFS
<span style="color: #000000; font-weight: bold;">/</span>dev<span style="color: #000000; font-weight: bold;">/</span>sda3           <span style="color: #000000;">31871</span>       <span style="color: #000000;">44648</span>   <span style="color: #000000;">102631425</span>    <span style="color: #000000;">5</span>  Extended
<span style="color: #000000; font-weight: bold;">/</span>dev<span style="color: #000000; font-weight: bold;">/</span>sda5           <span style="color: #000000;">31871</span>       <span style="color: #000000;">44029</span>    <span style="color: #000000;">97654784</span>   <span style="color: #000000;">83</span>  Linux
<span style="color: #000000; font-weight: bold;">/</span>dev<span style="color: #000000; font-weight: bold;">/</span>sda6           <span style="color: #000000;">44029</span>       <span style="color: #000000;">44527</span>     <span style="color: #000000;">3998720</span>   <span style="color: #000000;">82</span>  Linux swap <span style="color: #000000; font-weight: bold;">/</span> Solaris
<span style="color: #000000; font-weight: bold;">/</span>dev<span style="color: #000000; font-weight: bold;">/</span>sda7           <span style="color: #000000;">44527</span>       <span style="color: #000000;">44648</span>      <span style="color: #000000;">975872</span>   <span style="color: #000000;">83</span>  Linux</pre></div></div>

<p>Issue the above command. it will display a list off all partitions on your hard drives. Look for the largest NTFS filesystem, this will most likely be your Windows partition. In my case, my Windows partition is located on <code>/dev/sda2</code>.</p>
<p>Now that you know which partition Windows is installed on, execute the following commands:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">mkdir</span> <span style="color: #660033;">-p</span> <span style="color: #000000; font-weight: bold;">/</span>media<span style="color: #000000; font-weight: bold;">/</span>Windows
<span style="color: #666666; font-style: italic;">#REPLACE /dev/sda2 with your Windows partition.</span>
<span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">mount</span> <span style="color: #000000; font-weight: bold;">/</span>dev<span style="color: #000000; font-weight: bold;">/</span>sda2 <span style="color: #000000; font-weight: bold;">/</span>media<span style="color: #000000; font-weight: bold;">/</span>Windows</pre></div></div>

<p>This will create a directory for your Windows partition to reside in then mount the partition to the newly created folder.  I recommend you copy your existing WoW install your Ubuntu partition. For consistency, we will move your WoW folder to Wine virtual directories. This is not necessary though, the WoW folder can be placed anywhere on your Ubuntu HD.</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">cp</span> <span style="color: #660033;">-r</span> <span style="color: #000000; font-weight: bold;">/</span>media<span style="color: #000000; font-weight: bold;">/</span>Windows<span style="color: #000000; font-weight: bold;">/</span>path<span style="color: #000000; font-weight: bold;">/</span>to<span style="color: #000000; font-weight: bold;">/</span>World\ of\ Warcraft<span style="color: #000000; font-weight: bold;">/</span> ~<span style="color: #000000; font-weight: bold;">/</span>.wine<span style="color: #000000; font-weight: bold;">/</span>drive_c<span style="color: #000000; font-weight: bold;">/</span>Program\ Files<span style="color: #000000; font-weight: bold;">/</span></pre></div></div>

<p>This will take awhile to complete. I suggest starting the copy and walking away for an hour.</p>
<p>If you choose to use your Windows partition to run WoW instead of copying it to Ubuntu, you should automount your NTFS drive on boot. Look up how to by editing your fstab file. I will not cover this in my guide.</p>
<h2>Conclusion</h2>
<p>If you are at this point, chances are you have a working WoW install. Congratulations!</p>
]]></content:encoded>
			<wfw:commentRss>http://kastang.com/blog/2010/08/installing-and-configuring-wow-on-linux/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>AWStats on Ubuntu 10.04 Server</title>
		<link>http://kastang.com/blog/2010/07/awstats-on-ubuntu-10-04-server/</link>
		<comments>http://kastang.com/blog/2010/07/awstats-on-ubuntu-10-04-server/#comments</comments>
		<pubDate>Thu, 29 Jul 2010 15:28:17 +0000</pubDate>
		<dc:creator>Josh</dc:creator>
				<category><![CDATA[Computer]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[AWStats]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://kastang.com/?p=461</guid>
		<description><![CDATA[Yesterday I finalized moving my websites to my new Linode. With all the base configuration done, it is time to start installing some monitoring and stats tools. AWStats in particular is one of my favorite tools for analyzing web traffic. This guide assumes you are using Apache2, Ubuntu 10.04(though I would assume to process would [...]]]></description>
			<content:encoded><![CDATA[<p>Yesterday I finalized moving my websites to my new Linode. With all the base configuration done, it is time to start installing some monitoring and stats tools. AWStats in particular is one of my favorite tools for analyzing web traffic. </p>
<p>This guide assumes you are using Apache2, Ubuntu 10.04(though I would assume to process would be similar for Ubuntu 9.xx), and have root access to your box. Also I assume you have Apache properly setup with a working access.log file.</p>
<h2>Installing AWStats</h2>
<p>Ubuntu 10.04 has AWStats available in their repositories:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">apt-get</span> <span style="color: #c20cb9; font-weight: bold;">install</span> awstats</pre></div></div>

<p>The Ubuntu Repo. does not have the newest version of AWStats. The repo has 6.9 while the newest, stable, version is 6.95. The 6.9 install that Ubuntu provides should be enough for most people. If you wish, you can install the newest version manually and continue following afterwards. </p>
<h2>Configuring AWStats</h2>
<p><em>AWStats does offer some sort of automated configuration process. I have never used or tested this function. If you are not comfortable with manual configuration you may want to look up the automated configuration option. </em></p>
<p>I have multiple domains I wish to track. I needed to make a copy of the default <code>awstats.conf</code> file for each domain. I used the format <code>awstats.mydomain.ext.conf</code> for my configuration file name. In my case, <code>mydomain.ext</code> is <code>kastang.com</code>. You will have to create a copy of <code>awstats.conf</code> for each domain you want to monitor.</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">cp</span> <span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>awstats<span style="color: #000000; font-weight: bold;">/</span>awstats.conf <span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>awstats<span style="color: #000000; font-weight: bold;">/</span>awstats.yourdomain.ext.conf</pre></div></div>

<p>Open <code>awstats.yourdomain.ext.conf</code>, find and modify the following fields:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">#Path to access.log for your domain</span>
<span style="color: #007800;">LogFile</span>=<span style="color: #ff0000;">&quot;/var/log/apache2/access.log&quot;</span> 
&nbsp;
<span style="color: #666666; font-style: italic;">#I recommend '1' for more detailed information</span>
<span style="color: #007800;">LogFormat</span>=<span style="color: #000000;">1</span>  
&nbsp;
<span style="color: #007800;">SiteDomain</span>=<span style="color: #ff0000;">&quot;yourdomain.ext&quot;</span>
&nbsp;
<span style="color: #007800;">HostAliases</span>=<span style="color: #ff0000;">&quot;localhost 127.0.0.1 yourdomain.ext&quot;</span></pre></div></div>

<p>Now we can generate the initial stats for AWStats based off of your existing access.log file. You need to run this command for every domain you have configured.</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>lib<span style="color: #000000; font-weight: bold;">/</span>cgi-bin<span style="color: #000000; font-weight: bold;">/</span>awstats.pl <span style="color: #660033;">-config</span>=yourdomain.ext <span style="color: #660033;">-update</span></pre></div></div>

<p>Check the output for any errors. If it successfully Finds/Parses your access.log file you should be good to continue. If you have any errors, double check your configuration file and make sure the path to the access.log is correct.</p>
<h2>Configuring Apache</h2>
<p>After configuring AWStats, we need to tell Apache where to point when the AWStats address is accessed.</p>
<p>Navigate to /etc/apache2/sites-available/. If you have no VirtualHosts setup, you will want to place the following code in 'default'. If you have VirtualHosts setup, add this code inside the <code>VirtualHost</code> tag for each domain you want to monitor.</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">Alias <span style="color: #000000; font-weight: bold;">/</span>awstatsclasses <span style="color: #ff0000;">&quot;/usr/share/awstats/lib/&quot;</span>
Alias <span style="color: #000000; font-weight: bold;">/</span>awstats-icon<span style="color: #000000; font-weight: bold;">/</span> <span style="color: #ff0000;">&quot;/usr/share/awstats/icon/&quot;</span>
Alias <span style="color: #000000; font-weight: bold;">/</span>awstatscss <span style="color: #ff0000;">&quot;/usr/share/doc/awstats/examples/css&quot;</span>
ScriptAlias <span style="color: #000000; font-weight: bold;">/</span>cgi-bin<span style="color: #000000; font-weight: bold;">/</span> <span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>lib<span style="color: #000000; font-weight: bold;">/</span>cgi-bin<span style="color: #000000; font-weight: bold;">/</span>
ScriptAlias <span style="color: #000000; font-weight: bold;">/</span>awstats<span style="color: #000000; font-weight: bold;">/</span> <span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>lib<span style="color: #000000; font-weight: bold;">/</span>cgi-bin<span style="color: #000000; font-weight: bold;">/</span>
Options ExecCGI <span style="color: #660033;">-MultiViews</span> +SymLinksIfOwnerMatch</pre></div></div>

<p>Reload the Apache configuration:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>init.d<span style="color: #000000; font-weight: bold;">/</span>apache2 reload</pre></div></div>

<p>Check to make sure you do not have and errors or warnings. Depending how you originally setup your Apache config, the /cgi-bin/ ScriptAlias may already be implemented. In this case, just remove that line from the configuration file. (Don't forget to reload the configuration after all changes).</p>
<p>You should now be able to navigate to <code>http://yourdomain.ext/awstats/awstats.pl</code> and see the existing webstats from your access.log file.</p>
<h2>Automating AWStats updates</h2>
<p>AWStats will not automatically update by default. I cuggest using Cron to automate the process:</p>
<p>Add this to crontab and it will update stats once every three hours. You can adjust the timing to suit your needs. I have seen AWStats update on a weekly basis, daily basis, and even sometimes every couple minutes. You will need to add a separate crontab line for each domain AWStat is monitoring.</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #000000;">0</span> <span style="color: #000000; font-weight: bold;">*/</span><span style="color: #000000;">3</span> <span style="color: #000000; font-weight: bold;">*</span> <span style="color: #000000; font-weight: bold;">*</span> <span style="color: #000000; font-weight: bold;">*</span> root <span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>lib<span style="color: #000000; font-weight: bold;">/</span>cgi-bin<span style="color: #000000; font-weight: bold;">/</span>awstats.pl <span style="color: #660033;">-config</span>=yourdomain.ext <span style="color: #660033;">-update</span> <span style="color: #000000; font-weight: bold;">&amp;</span>gt;<span style="color: #000000; font-weight: bold;">/</span>dev<span style="color: #000000; font-weight: bold;">/</span>null</pre></div></div>

<h2>Securing AWStats</h2>
<p>If you are at this step, you should have a working AWStats. One issue is AWStats does not come secured by default. They do offer to enable Authentication in the configuration, but I think it is just easier to generate a simple <code>.htaccess</code> file. This method is a quick and dirty method for securing AWStats. If you require a more sophisticated method of securing AWStats, please consult the official documentation.</p>
<p>Navigate to <code>/usr/lib/cgi-bin/</code> this is where awstats.pl is located. </p>
<p>Create a new .htpasswd file:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">htpasswd <span style="color: #660033;">-cb</span> <span style="color: #000000; font-weight: bold;">/</span>path<span style="color: #000000; font-weight: bold;">/</span>to<span style="color: #000000; font-weight: bold;">/</span>.htpasswd username password</pre></div></div>

<p>Create a new .htaccess file with the following inside:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">AuthName <span style="color: #ff0000;">&quot;AWStats Authentication&quot;</span>
AuthType Basic
AuthUserFile <span style="color: #000000; font-weight: bold;">/</span>path<span style="color: #000000; font-weight: bold;">/</span>to<span style="color: #000000; font-weight: bold;">/</span>.htpasswd
Require valid-user</pre></div></div>

<p>Now if all goes well, when you refresh your browser you will be prompted to enter a username and password to access AWStats. </p>
<p>This should get you to a point where AWStats is usable and (reasonably) secure. From here you can add Plugins or further configure AWStats to fit your individual needs. </p>
]]></content:encoded>
			<wfw:commentRss>http://kastang.com/blog/2010/07/awstats-on-ubuntu-10-04-server/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>My Thoughts on SGU Season 1</title>
		<link>http://kastang.com/blog/2010/07/my-thoughts-on-sgu-season-1/</link>
		<comments>http://kastang.com/blog/2010/07/my-thoughts-on-sgu-season-1/#comments</comments>
		<pubDate>Wed, 28 Jul 2010 20:58:36 +0000</pubDate>
		<dc:creator>Josh</dc:creator>
				<category><![CDATA[Television]]></category>
		<category><![CDATA[Stargate]]></category>

		<guid isPermaLink="false">http://kastang.com/?p=429</guid>
		<description><![CDATA[NOTE: Season 1 and Season 2 spoilers in this post. Read at your own risk. SGU 1.0 The first half of SGU was rough in my opinion. I had high expectations for the series even before it aired (which is always a mistake). After watching Air 1/2/3, it was obvious to see SGU would be [...]]]></description>
			<content:encoded><![CDATA[<p><strong><em>NOTE: Season 1 and Season 2 spoilers in this post. Read at your own risk.</em></strong></p>
<p><strong><br />
<h2>SGU 1.0</h2>
<p></strong><br />
The first half of SGU was rough in my opinion. I had high expectations for the series even before it aired (which is always a mistake). After watching Air 1/2/3, it was obvious to see SGU would be darker then either SG1 or SGA was. I was fine with that. In fact, I was excited to see a sort of BSG themed Stargate series. After the premier though, things started to go down hill. My main issue was the overuse of communication stones. They took too much from issues surrounding the Destiny too early in the series. The communication stones should have existed only for emergencies (if at all). At times I felt as if I was watching a Lifetime drama during the extended Earth based communication stone scenes. The overuse of the communication stones almost seemed like the writers could not figure out how to write 45 minutes of material without filler space. Some episodes such as Time, were absolutely horrible. SG1 and SGA have both successfully mastered time travel, SGU has failed horribly in this regard. Near the end of Season 1.0, things started to fall into place. In particular Justice. Justice was a very well written episode that would later fuel events in Season 1.5. Most importantly the episode had an amazing cliffhanger. I think this episode alone is what kept quite a few viewers coming back after the mid season break.</p>
<p><strong>Best Episode</strong>: Justice<br />
<strong> Worst Episode</strong>: Time</p>
<p><strong><br />
<h2>SGU 1.5</h2>
<p></strong><br />
<a href="http://kastang.com/blog/wp-content/uploads/2010/07/sgu_space_alien.jpg"><img class="alignleft size-full wp-image-436" title="sgu_alien" src="http://kastang.com/blog/wp-content/uploads/2010/07/sgu_space_alien.jpg" alt="SGU Alien" width="293" height="209" /></a>I was happy to see SGU make a comeback after a rocky start. I believe it was a combination of the lesser use of the communication stones, the formal introduction to an alien enemy (and a damn cool looking one at that), space battles, and conflicts between Camile and Young that really had me hooked until the finale. One of my favorite episodes in the entire season was Human. Human showed the much needed background of Rush. It showed how much he sacrificed to get where he is today. It also shows an explanation as to why he is not bothered about never returning to earth again. I believe some episodes should have been extended to more then a single episode, and some events should have been better explained though (see below).</p>
<p>The finale is what really brought the entire season together for me. The revelation of the brainwashes Telford and the invasion of the Lucian Alliance was not expected at all. One important event that I believe will carry into next season is the portrayal of how truly horrible Young is as a military leader. With Telford physically on the ship now (and apparently surviving, see  the Season 2 trailer below), I can imagine him taking over command of the Destiny. I would imagine some of those loyal to Young (Greer, Scott) would try to keep Young in power but would eventually be over powered by civilians and other military personnel. I am not quite sure if Telford taking control would be a good or a bad thing yet as we have never really met the non-brainwashed version of Telford until very recently. Yet again, Stargate pulls out a great cliffhanger (though this one I think is more predictable then the mid-series finale) for the finale.</p>
<p><strong>Things I would like to see next season:</strong></p>
<p><strong>Longer Story Arcs!</strong><br />
The episode “Faith” should not have only consisted of only a single episode. The background of the episode was great: A solar system with a habitable planet that should not exist. If that wasn't enough, there was a man made structure on the planet that conclusively proved that some form of advanced alien live was on the planet before. I understand that the Destiny only had limited time before jumping back into FTL, but it wouldn’t have been impossible to show a few flashbacks of those who decided to stay on the planet. I hate to say it, but perhaps leaving a communication stone behind wouldn't have hurt either. It would have been interesting to see if the aliens ever came. If they did were they friendly or did they brutally murder everyone on the planet? I hope this episode is revisited sometime Season 2.</p>
<p><strong>The Fate of Franklin</strong><br />
Franklin was probably my favorite sub plot so far in SGU. I was shocked to see Franklin vanished after he used the chair. My original reasoning was the ship helped him ascend, but later I realised that would be very unlikey because the ship is millions of years old and Ancients did not have the ability to ascend that many millions of years ago. My second thought was he was integrated into the ships systems. While this is still possible, I would have assumed he would have made some sort of an appearance especially during the invasion of the Lucian Alliance. I had a little hope when the Lucian Alliance member was disintegrated. I thought it was Franklin helping the crew protect the Destiny, but later it was because of the Gamma star and failing shields.</p>
<p>This is a topic that absolutely must be brought up next season. There is no way the writers can just write Franklin off by having him disappear.</p>
<p><strong>Chloe<br />
<span style="font-weight: normal;">Chloe needs a clearly defined purpose to be considered a main character. In my opinion Chloe should have been background character from the beginning. During the entire duration of the first season, I can recall one episode where she actually served any type of real purpose. If the writers can not work her into the story in a meaningful way, she should be knocked off the show.</span></strong></p>
<p><strong>Season 2 Teaser Trailer (SPOILERS):</strong><br />
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="640" height="385" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/UbtmcGoOI54&amp;hl=en_US&amp;fs=1" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="640" height="385" src="http://www.youtube.com/v/UbtmcGoOI54&amp;hl=en_US&amp;fs=1" allowscriptaccess="always" allowfullscreen="true"></embed></object><br />
<strong> </strong></p>
<p>The Season 2 teaser trailer for SGU was released last week at Comic-Con. The trailer looks very promising, though it does ruin a significant amount regarding this seasons cliffhanger ending.</p>
<p>I have picked out the following bits of information from the trailer: <strong>(SPOILERS BELOW)</strong></p>
<ul>
<li>All of the Earth crew leave the Destiny (presumably they are forced out at the beginning of the season) but somehow regain control of the ship again.</li>
<li>Rush finds the real bridge. It appears he is not going to tell anyone about it though. Good to see Rush is staying in character.</li>
<li>Greer, Telford, Chloe, and TJ  survive the end of Season 1.</li>
<li>More Camile Communication Stone drama.</li>
<li>Chloe is infected with some Alien bug that is changing her DNA.</li>
<li>Rush is working on a highly complicated puzzle (maybe linked to him finding the bridge).</li>
<li>Rush says: "Ultimately I control this ship" - Maybe a reference to another Mutiny episode.</li>
<li>Young may be forced out of leader of the Destiny.</li>
</ul>
<p>Season 2 looks like it has a good amount of action associated with it. I am disappointed to see more communication stone drama though. I hope it will be kept at a minimum. With this trailer and other rumors floating around regarding alliances, space battles, finding out Destinys real mission, and SGA cast guest appearances. I think this season will make up for the shortcomings of last season plus some.</p>
]]></content:encoded>
			<wfw:commentRss>http://kastang.com/blog/2010/07/my-thoughts-on-sgu-season-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Stargate, Doctor Who, Torchwood, and Battlestar Galactica Watching Order</title>
		<link>http://kastang.com/blog/2010/07/stargate-doctor-who-torchwood-and-battlestar-galactica-watching-order/</link>
		<comments>http://kastang.com/blog/2010/07/stargate-doctor-who-torchwood-and-battlestar-galactica-watching-order/#comments</comments>
		<pubDate>Sat, 10 Jul 2010 20:44:36 +0000</pubDate>
		<dc:creator>Josh</dc:creator>
				<category><![CDATA[Television]]></category>
		<category><![CDATA[Battlestar Galactica]]></category>
		<category><![CDATA[Doctor Who]]></category>
		<category><![CDATA[Torchwood]]></category>

		<guid isPermaLink="false">http://kastang.com/?p=404</guid>
		<description><![CDATA[A few weeks ago a friend asked my opinion on the proper watching order of Stargate, Doctor Who, Torchwood, and Battlestar Galactica. I decided to clean up what I sent him and display it for anyone who may find this information handy. I have also included Netflix and Hulu links to material that is available [...]]]></description>
			<content:encoded><![CDATA[<p>A few weeks ago a friend asked my opinion on the proper watching order of Stargate, Doctor Who, Torchwood, and Battlestar Galactica. I decided to clean up what I sent him and display it for anyone who may find this information handy. I have also included Netflix and Hulu links to material that is available for Instant streaming.</p>
<p><strong><br />
</strong></p>
<p><strong></p>
<h2>---Stargate---</h2>
<p></strong></p>
<p><strong> </strong>Stargate consists of:</p>
<ul>
<li>Stargate (1994): Original movie</li>
<li>Stargate SG-1 (SG1): 10 Seasons + 2 Movies</li>
<li>Stargate Atlantis (SGA): 5 Seasons</li>
<li>Stargate Universe (SGU): 1 Season – Continuing October 2010</li>
</ul>
<p>Watching Order:</p>
<p>When dealing with a total of 16 seasons and 3 movies the correct viewing order can be confusing. I recommend using <a href="http://ln.hixie.ch/?count=1&amp;start=1218332918" target="_blank">this website</a> as a basis for your viewing. From my experience, this watching order is the easiest to follow without switching series every episode. Note as of July 2010, Stargate Universe has not been added to the list. It belongs in spot #15.</p>
<p>Quoted from Hixie's Natural Log:</p>
<blockquote>
<ol>
<li>Stargate movie</li>
<li>Stargate SG-1, episodes 1.1 to 8.2</li>
<li>Stargate Atlantis, episodes 1.1 to 1.15</li>
<li>Stargate SG-1, episodes 8.3 to 8.20</li>
<li>Stargate Atlantis, episodes 1.16 to 2.1</li>
<li>Stargate SG-1, episodes 9.1 to 10.2</li>
<li>Stargate Atlantis, episodes 2.2 to 3.4</li>
<li>Stargate SG-1, episodes 10.3 to 10.12</li>
<li>Stargate Atlantis, episodes 3.5 to 3.19</li>
<li>Stargate SG-1, episodes 10.13 to 10.20</li>
<li>Stargate: The Ark of Truth</li>
<li>Stargate Atlantis, episodes 3.20 to 5.1</li>
<li>Stargate: Continuum</li>
<li>Stargate Atlantis, episodes 5.2 onwards.</li>
</ol>
</blockquote>
<p>Stargate SG-1 is available for free on <a href="http://www.hulu.com/stargate-sg-1">Hulu</a> until at least January 31, 2011. Currently, the complete series of SGA is only available for streaming on Amazon ($1.99 an episode), or the physical <a href="http://www.amazon.com/gp/product/B002EL4RLQ?ie=UTF8&amp;tag=kauibl-20&amp;linkCode=as2&amp;camp=1789&amp;creative=390957&amp;creativeASIN=B002EL4RLQ">DVD</a><img style="border: none !important; margin: 0px !important;" src="http://www.assoc-amazon.com/e/ir?t=kauibl-20&amp;l=as2&amp;o=1&amp;a=B002EL4RLQ" border="0" alt="" width="1" height="1" /> which is much cheaper then purchasing each individual episode for $1.99 a piece (or $20-30 a season streaming).</p>
<p><strong><br />
</strong></p>
<p><strong><br />
<h2>---Doctor Who and Torchwood---</h2>
<p></strong></p>
<p>Netflix + Doctor Who + Torchwood = Amazing.</p>
<p><strong><span style="font-weight: normal;">Torchwood can be watched independently from Doctor Who. I personally chose to watch most of Doctor Who first without watching Torchwood in detail. I am half way through Series 2 of Torchwood and have not encountered anything more then minor references to the Doctor Who series.</span></strong></p>
<p>Watching Order for those who want to watch TW and DW together:</p>
<ul>
<li>DW Series 1: [<a href="http://www.netflix.com/WiMovie/Doctor_Who_Season_1/70050023">Netflix</a>]</li>
<li>DW Children in Need Mini Episode [<a href="http://www.youtube.com/watch?v=P3I-VwvkT4o">YouTube</a>]</li>
<li>DW Series 2:  [<a href="http://www.netflix.com/WiMovie/Doctor_Who_Season_2/70059039">Netflix</a>]</li>
<li>TW S1: [<a href="http://www.netflix.com/Movie/Torchwood_Season_1/70076093">Netflix</a>]</li>
<li>DW Series 3:  [<a href="http://www.netflix.com/WiMovie/Doctor_Who_Season_3/70072597">Netflix</a>]</li>
<li>DW Time Crash – Mini Episode <a href="http://en.wikipedia.org/wiki/Time_Crash">[</a><a href="http://www.youtube.com/watch?v=szuP0oBZX4g">YouTube</a>]</li>
<li>TW S2: [<a href="http://www.netflix.com/Movie/Torchwood_Season_2/70089556">Netflix</a>]</li>
<li>DW Series 4: [<a href="http://www.netflix.com/WiMovie/Doctor_Who_Season_4/70106734">Netflix</a>]</li>
<li>DW Music of the Spheres Mini Episode [<a href="http://www.youtube.com/watch?v=IvHcE0dgHy4">YouTube</a>]</li>
<li>DW The Next Doctor [<a href="http://www.netflix.com/WiMovie/Doctor_Who_The_Next_Doctor/70122493">Netflix</a>]</li>
<li>DW Planet of the Dead [<a href="http://www.netflix.com/WiMovie/Doctor_Who_Planet_of_the_Dead/70119509">Netflix</a>]</li>
<li>TW Children of Earth [<a href="http://www.netflix.com/WiMovie/Torchwood_Children_of_Earth/70095638">Netflix</a>]</li>
<li>DW The Water of Mars* [<a href="http://www.amazon.com/gp/product/B002ZHKZFG?ie=UTF8&amp;tag=kauibl-20&amp;linkCode=as2&amp;camp=1789&amp;creative=390957&amp;creativeASIN=B002ZHKZFG">Amazon</a><img style="border: none !important; margin: 0px !important;" src="http://www.assoc-amazon.com/e/ir?t=kauibl-20&amp;l=as2&amp;o=1&amp;a=B002ZHKZFG" border="0" alt="" width="1" height="1" />]</li>
<li>DW The End of Time* [<a href="http://www.amazon.com/gp/product/B002ZHKZDS?ie=UTF8&amp;tag=kauibl-20&amp;linkCode=as2&amp;camp=1789&amp;creative=390957&amp;creativeASIN=B002ZHKZDS">Amazon</a><img style="border: none !important; margin: 0px !important;" src="http://www.assoc-amazon.com/e/ir?t=kauibl-20&amp;l=as2&amp;o=1&amp;a=B002ZHKZDS" border="0" alt="" width="1" height="1" />]</li>
<li>DW 2010: E1 - E13 [<a href="http://www.bbc.co.uk/programmes/b00rs69w">BBC One</a>] (UK only)</li>
</ul>
<p>* - Not available on Netflix Instant Streaming or any other known legal streaming source</p>
<p><strong><br />
</strong></p>
<p><strong></p>
<h2>---Battlestar Galactica---</h2>
<p></strong></p>
<p>Battlestar Galactica is much more straight forward then Stargate or Doctor Who/Torchwood combination.</p>
<ul>
<li>Mini-Series/Season 1**</li>
<li>Season 2**</li>
<li>The Resistance (Webisodes) [<a href="http://video.syfy.com/shows/battlestar/the_resistance">Syfy</a>]</li>
<li>Season 3**</li>
<li>Razor**</li>
<li>The Face of the Enemy(Webisodes) [<a href="http://video.syfy.com/shows/battlestar/the_resistance#////shows/battlestar/the_resistance/face-of-the-enemy--webisode-1/v1133102">Syfy</a>]</li>
<li>Season 4**</li>
<li>The Plan**</li>
</ul>
<p>**Amazon offers streaming episodes of BSG for $1.99 per episode ($9.99 - $12.99 per movie). In many cases it is cheaper to buy the actual DVD new (or used) from Amazon. I would personally recommend picking up the Complete Series of BSG on <a href="http://www.amazon.com/gp/product/B001993Y2C?ie=UTF8&amp;tag=kauibl-20&amp;linkCode=as2&amp;camp=1789&amp;creative=390957&amp;creativeASIN=B001993Y2C">Blu Ray</a><img style="border: none !important; margin: 0px !important;" src="http://www.assoc-amazon.com/e/ir?t=kauibl-20&amp;l=as2&amp;o=1&amp;a=B001993Y2C" border="0" alt="" width="1" height="1" /> or <a href="http://www.amazon.com/gp/product/B0026RHR6K?ie=UTF8&amp;tag=kauibl-20&amp;linkCode=as2&amp;camp=1789&amp;creative=390957&amp;creativeASIN=B0026RHR6K">DVD</a><img style="border: none !important; margin: 0px !important;" src="http://www.assoc-amazon.com/e/ir?t=kauibl-20&amp;l=as2&amp;o=1&amp;a=B0026RHR6K" border="0" alt="" width="1" height="1" />. The Complete Series has everything with the exception of "The Face of the Enemy" Webisodes.</p>
<p><strong> </strong></p>
]]></content:encoded>
			<wfw:commentRss>http://kastang.com/blog/2010/07/stargate-doctor-who-torchwood-and-battlestar-galactica-watching-order/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Star Trek NX-01 1/1000 Scale Model</title>
		<link>http://kastang.com/blog/2010/02/star-trek-nx-01-model/</link>
		<comments>http://kastang.com/blog/2010/02/star-trek-nx-01-model/#comments</comments>
		<pubDate>Mon, 01 Mar 2010 04:26:12 +0000</pubDate>
		<dc:creator>Josh</dc:creator>
				<category><![CDATA[Models]]></category>
		<category><![CDATA[Model]]></category>
		<category><![CDATA[NX-01 Kit]]></category>
		<category><![CDATA[Star Trek]]></category>

		<guid isPermaLink="false">http://kastang.com/?p=343</guid>
		<description><![CDATA[Today I built my 1/1000th scale Star Trek Enterprise NX-01 model kit that has been sitting on my desk for a few weeks. As I am new to model building, I was originally hesitant to purchase this kit after reading the not so great Amazon reviews. Eventually I decided to take the risk and purchase [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://kastang.com/blog/wp-content/uploads/2010/02/IMG_0895.jpg"><img class="alignleft size-medium wp-image-350" style="margin-top: 2px; margin-bottom: 2px; margin-left: 5px; margin-right: 5px; border: 1px solid black;" title="NX-01 Model Box" src="http://kastang.com/blog/wp-content/uploads/2010/02/IMG_0895-300x225.jpg" alt="" width="300" height="225" /></a>Today I built my <a href="http://www.amazon.com/gp/product/B001BOZVD0?ie=UTF8&amp;tag=kauibl-20&amp;linkCode=as2&amp;camp=1789&amp;creative=390957&amp;creativeASIN=B001BOZVD0">1/1000th scale Star Trek Enterprise NX-01</a><img style="border: none !important; margin: 0px !important;" src="http://www.assoc-amazon.com/e/ir?t=kauibl-20&amp;l=as2&amp;o=1&amp;a=B001BOZVD0" border="0" alt="" width="1" height="1" /> model kit that has been sitting on my desk for a few weeks. As I am new to model building, I was originally hesitant to purchase this kit after reading the not so great Amazon reviews. Eventually I decided to take the risk and purchase it because the NX-01 is one of my favorite ships from the Enterprise series. This model is the first Star Trek related model I have built, but certainly won't be the last. Other then a few hiccups, the few hours it took to assemble were enjoyable.</p>
<p><strong>What I liked:</strong></p>
<ul>
<li>The attention to detail is very impressive. Round2 really took their time to capture as much of the NX-01 detail as possible.</li>
<li>Most of the pieces in the kit are numbered somewhere on the actual piece.</li>
<li>The kit includes extras of the extremely small pieces. This was a live saver for myself personally. While assembling the kit, I dropped a piece that I could hardly see in my hand on the rug, there was no chance I would find that piece. Luckily that piece in particular had an extra included in the kit.</li>
<li>The kit includes decals for both the Enterprise (NX-01) and Columbia (NX-02). The different deflector dish for the NX-02 is also included in the kit.</li>
<li>The directions are on one large sheet of paper and for the most part very easy to understand. On the back side of the direction sheet is the decal instructions and placement diagrams. They are also clear and easy to understand, no need to guess where to place the decals. The direction sheet also includes an optional color chart for the minor details on the ship to add more details.</li>
<li>For the most part, the pieces snap together without any issue.</li>
</ul>
<p><strong>What I didn't like:</strong></p>
<ul>
<li>The kit does not detail how to paint the pattern for the saucer displayed on the box.</li>
<li>While the ship is possible to build without glue, a few pieces almost require it. For example, the nacelles will not stay in place without the addition of glue.</li>
</ul>
<p><strong>Some Tips:</strong></p>
<ul>
<li>A modeling knife and tweezers are an absolute must. Many of the pieces in this kit are less then 1/8th of an inch long. They are very difficult to handle especially if you have fat fingers like I do. Some holes on the saucer are not completely cut through, they need to be cut with the modeling knife before inserting the pieces.</li>
<li>Modeling glue is also handy. Even though the kit says it is not required, some items such as the nacelles really need to be glued to keep them from falling off if the slightest movment to the model happens.</li>
<li>The nacelles go on after the top and bottom saucer are snapped together. (This was the only confusion on the directions I experienced)</li>
<li>Don't try to force any piece in, most should go in without issue. If you put a considerable amount of pressure on any piece, there is a good chance you will break the saucer. If you are having trouble fitting any pieces in, try trimming it with a modeling knife.</li>
</ul>
<p><strong>Additional Pictures:</strong></p>
<p><strong>
<a href='http://kastang.com/blog/2010/02/star-trek-nx-01-model/img_0895/' title='NX-01 Model Box'><img width="150" height="150" src="http://kastang.com/blog/wp-content/uploads/2010/02/IMG_0895-150x150.jpg" class="attachment-thumbnail" alt="NX-01 Model Box" title="NX-01 Model Box" /></a>
<a href='http://kastang.com/blog/2010/02/star-trek-nx-01-model/img_0903/' title='NX-01 Contents'><img width="150" height="150" src="http://kastang.com/blog/wp-content/uploads/2010/02/IMG_0903-150x150.jpg" class="attachment-thumbnail" alt="NX-01 Contents" title="NX-01 Contents" /></a>
<a href='http://kastang.com/blog/2010/02/star-trek-nx-01-model/img_0909/' title='Complete NX-01'><img width="150" height="150" src="http://kastang.com/blog/wp-content/uploads/2010/02/IMG_0909-150x150.jpg" class="attachment-thumbnail" alt="Complete NX-01" title="Complete NX-01" /></a>
<a href='http://kastang.com/blog/2010/02/star-trek-nx-01-model/img_0906/' title='IMG_0906'><img width="150" height="150" src="http://kastang.com/blog/wp-content/uploads/2010/02/IMG_0906-150x150.jpg" class="attachment-thumbnail" alt="IMG_0906" title="IMG_0906" /></a>
<a href='http://kastang.com/blog/2010/02/star-trek-nx-01-model/img_0907/' title='IMG_0907'><img width="150" height="150" src="http://kastang.com/blog/wp-content/uploads/2010/02/IMG_0907-150x150.jpg" class="attachment-thumbnail" alt="IMG_0907" title="IMG_0907" /></a>
<a href='http://kastang.com/blog/2010/02/star-trek-nx-01-model/img_0908/' title='IMG_0908'><img width="150" height="150" src="http://kastang.com/blog/wp-content/uploads/2010/02/IMG_0908-150x150.jpg" class="attachment-thumbnail" alt="IMG_0908" title="IMG_0908" /></a>
</p>
<p></strong></p>
<p><strong> </strong></p>
<p><strong> </strong></p>
<p>Overall, for the price of the kit I am not disappointed with it one bit. Fully assembled, the model is around 9 inches long. I am still deciding if I want to paint the model, for that reason I have decided not put the decals on yet. If I do decide to paint it and it turns out nicely, I may buy the same kit again and put the Columbia deflector dish and decals on it.</p>
<p>My next project will most likely be the much larger <a href="http://www.amazon.com/gp/product/B001J8R7QW?ie=UTF8&amp;tag=kauibl-20&amp;linkCode=as2&amp;camp=1789&amp;creative=390957&amp;creativeASIN=B001J8R7QW">1/350th Star Trek USS Enterprise A</a><img style="border: none !important; margin: 0px !important;" src="http://www.assoc-amazon.com/e/ir?t=kauibl-20&amp;l=as2&amp;o=1&amp;a=B001J8R7QW" border="0" alt="" width="1" height="1" /> (around 32" assembled) unless I can get my hands on a larger scale model of the NX-01. I estimate my next project to take a few months to complete as I plan to attempt to incorporate lighting in it if at all possible.</p>
]]></content:encoded>
			<wfw:commentRss>http://kastang.com/blog/2010/02/star-trek-nx-01-model/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>World of Warcraft Account Security</title>
		<link>http://kastang.com/blog/2010/01/world-of-warcraft-account-security/</link>
		<comments>http://kastang.com/blog/2010/01/world-of-warcraft-account-security/#comments</comments>
		<pubDate>Tue, 26 Jan 2010 03:28:42 +0000</pubDate>
		<dc:creator>Josh</dc:creator>
				<category><![CDATA[Computer]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Mac]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[WoW]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[World of Warcraft]]></category>

		<guid isPermaLink="false">http://kastang.com/?p=286</guid>
		<description><![CDATA[Recently there has been discussions in my Guild regarding World of Warcraft account security. I believe this is a perfect opportunity to give my opinion on measures that I believe must be taken to ensure increased general security of your computer along with your World of Warcraft account. One thing I must make clear is there is no [...]]]></description>
			<content:encoded><![CDATA[<p>Recently there has been discussions in my Guild regarding World of Warcraft account security. I believe this is a perfect opportunity to give my opinion on measures that I believe must be taken to ensure increased general security of your computer along with your World of Warcraft account.</p>
<p>One thing I must make clear is there is no such thing as a completely secure networked computer. The suggestions listed below are simply extra precautions that must be taken to minimize the chance of your computer being compromised.</p>
<p><em>* - Applies to World of Warcraft only.</em></p>
<p><strong>G</strong><strong>et an Authenticator*<br />
<span style="font-weight: normal;">Having an Authenticator will virtually eliminate the chance of your account being compromised. The Blizzard Authenticator costs $6.50 from the <a href="http://us.blizzard.com/store/search.xml?rhtml=y&amp;q=authenticator">Blizzard Store</a>. If you are an iPhone/iTouch user, you can download the <a href="http://itunes.apple.com/us/app/battle-net-mobile-authenticator/id306862897?mt=8">Mobile Authenticator</a> for free. Having an Authenticator is no excuse not to do the remaining suggestions.</span></strong></p>
<p><strong>Web Browser<br />
<span style="font-weight: normal;">Use a secure browser. For the sake of speaking, that pretty much means anything besides Internet Explorer. My personal recommendation is <a href="http://www.google.com/chrome">Google Chrome</a></span><a href="http://www.google.com/chrome"> </a><span style="font-weight: normal;">or <a href="http://getfirefox.com">Firefox</a>. For each, I highly recommend the <a href="https://chrome.google.com/extensions/detail/bhmmomiinigofkjcapegjjndpbikblnp">WOT</a> plugin.</span></strong></p>
<blockquote><p>WOT’s safe browsing tool warns you about risky sites that can’t be trusted: Online shops that cheat customers; download sites that deliver malware; sites that send spam; and those with inappropriate content for kids.</p></blockquote>
<p>Web of Trust provides an additional layer of security when visiting websites. WOT is community managed, meaning if someone spots a phishing website, they can report it. The report is upload to WOT servers, if you try to access the website that has received a poor rating, WOT will block you from going to the website without your express permission. If you use Firefox, in addition to <a href="https://addons.mozilla.org/en-US/firefox/addon/3456">WOT</a>, I also highly suggest <a href="https://addons.mozilla.org/en-US/firefox/addon/722">NoScript</a>. Currently, Google Chrome does not have a  NoScript extension available.</p>
<p><strong>Passwords<br />
<span style="font-weight: normal;">Your World of Warcraft password should be entirely different from any other service you use. Generally speaking, a password should be at least 8 characters long with upper/lower case letters, numbers, and symbols. Your World of Warcraft password (along with other sensitive passwords) should be changed at least once a month. It takes 2 minutes to do, don't be lazy. An example of a good password would be 'I3n&amp;$VW49*'.</span></strong></p>
<p><span style="font-weight: normal;"><strong>Anti-Virus, etc.<br />
<span style="font-weight: normal;">Windows users - Having AV software is not full proof. Consider it just another way to decrease the chances of having malicious software installed on your computer (for a long period of time). I personally recommend <a href="http://avira.com">Avira</a> or <a href="http://eset.com">NOD32</a>. Along with AV software, I also recommend <a href="http://www.safer-networking.org/index2.html">Spybot</a> and <a href="http://www.malwarebytes.org/">Malwarebytes</a> (Free Edition is fine). Malwarebytes is specifically targeted to Malware, harmful software that is generally not picked up by AV software. AV software should be set to automatically update and run daily (Both NOD32 and Avira provide this option, as do many other AV's such as AVG and Avast).  I would recommend running anti-malware software at minimum once a week. </span></strong></span></p>
<p><span style="font-weight: normal;"><strong><span style="font-weight: normal;">For Mac(OSX)/Linux users, The options for security software is rather slim. I can recommend <a href="http://www.clamxav.com/">ClamXav</a>(Mac) and <a href="http://www.clamav.net/">Clamav</a>(Linux) for virus scanning. I also recommend <a href="http://rkhunter.sourceforge.net/">rkhunter</a> for OSX/Linux systems. Generally speaking, there is not much more that can be done for OSX systems in terms of AV software. Sadly, Apple has spread false information on commercials by suggesting OSX is immune to viruses, until OSX suffers a mass attack, it is unlikely much further production of AV software will occur. As for Linux systems, there are other precautions that can be taken, but I will assume if you use Linux, you should know how to properly secure your system.</span></strong></span></p>
<p><span style="font-weight: normal;"><strong><span style="font-weight: normal;">Note: Debian based distrobutions can run the follow command to download rkhunter and clamav:</span></strong></span></p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">apt-get</span> <span style="color: #c20cb9; font-weight: bold;">install</span> clamav rkhunter
<span style="color: #666666; font-style: italic;">#rkhunter -c to run</span>
<span style="color: #666666; font-style: italic;">#clamscan -r in '/' directory to run</span></pre></div></div>

<p><span style="font-weight: normal;"><span style="font-weight: normal;"><strong>Updates<br />
<span style="font-weight: normal;">Windows users - Automatic Updates should be turned on. Keep your system updated at all times. Microsoft is constantly releasing security patches to fix potential vulnerabilities in your system. If you are still using XP (or anything older) update to Windows 7 as soon as possible. When updates for your system become available, do not postpone restarting your computer to take effect, do it immediately when it asks. </span></strong></span></span></p>
<p>OSX users - By Default, OSX will check for System Updates once a week (This setting can be changed in System Preferences -&gt; Software Update). Install updates whenever they are available.</p>
<p>Linux users - If you are using a Debian based system, the following commands can be executed from a Terminal:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">apt-get</span> update
<span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">apt-get</span> upgrade</pre></div></div>

<p>Other non-Debian based Distributions should consult the proper documentation.</p>
<p><strong>Common Sense<br />
<span style="font-weight: normal;">Be smart when you use your computer. </span> </strong></p>
<p><strong></p>
<ul>
<li><span style="font-weight: normal;">One precaution that should be taken is when reading email. Never click on links masked by anchor tags (HTML), especially World of Warcraft related emails. If you receive an email from Blizzard asking you to log in to your account, or a beta key, it is most likely a scam.</span></li>
<li><span style="font-weight: normal;">When using your laptop on a public network, be very careful to use SSL connections while logging in/reading email or any other services. If you are on a public network, you should always assume that someone is watching and logging everything you do (this includes cleartext logins). For maximum security, I recommend always using hardwired connection wherever possible (this includes on a home network also). </span></li>
<li><span style="font-weight: normal;">If at any point you find your computer acting strange, immediately stop what you are doing, update and run your protection software.</span></li>
<li><span style="font-weight: normal;">If your World of Warcraft account is compromised, and virus scans show up nothing on your computer. Do not assume one is not there. Change the password for your email and WoW account on a different computer, then work on finding out what caused the security breach on your WoW computer. </span></li>
</ul>
<p></strong></p>
<p><span style="font-weight: normal;"><strong>Conclusion<br />
<span style="font-weight: normal;">Everything above may seem like a lot to take in at first, especially if you have little to no protection on your computer to begin with. The hour or two it will take to setup will be well worth it if your World of Warcraft account becomes compromised. Not only will following my suggestions increase the overall security of your system, it will also save you from possible embarrassment if your account becomes compromised. Once you get everything setup, it should not take more then a half hour of manual work per week to keep your system up to date and secure. </span><span style="font-weight: normal;">I will repeat again, having this security software in place will not make your computer full proof against attack. The above software will only minimize the chances of your system becoming compromised.</span></strong></span></p>
]]></content:encoded>
			<wfw:commentRss>http://kastang.com/blog/2010/01/world-of-warcraft-account-security/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Wintergrasp Tokens &#8211; Possible to Have Over 100</title>
		<link>http://kastang.com/blog/2010/01/wintergrasp-tokens/</link>
		<comments>http://kastang.com/blog/2010/01/wintergrasp-tokens/#comments</comments>
		<pubDate>Thu, 14 Jan 2010 03:32:38 +0000</pubDate>
		<dc:creator>Josh</dc:creator>
				<category><![CDATA[Computer]]></category>
		<category><![CDATA[WoW]]></category>
		<category><![CDATA[Wintergrasp]]></category>
		<category><![CDATA[World of Warcraft]]></category>

		<guid isPermaLink="false">http://kastang.com/?p=278</guid>
		<description><![CDATA[Not sure if this is common knowledge or not, but today I found out it is possible to have more then 100 Wintergrasp Tokens. I assumed the limit was 100 just like all other battlegrounds. After tonights victory in Wintergrasp I noticed that I had 101 tokens. I looked on WowHead to verify, it appears [...]]]></description>
			<content:encoded><![CDATA[<p>Not sure if this is common knowledge or not, but today I found out it is possible to have more then 100 Wintergrasp Tokens. I assumed the limit was 100 just like all other battlegrounds. After tonights victory in Wintergrasp I noticed that I had 101 tokens. I looked on WowHead to verify, it appears the limit for WG tokens is 1000. Makes me wonder if badges will be mailed if someone actually hits the 1000 badge cap.</p>
<p><a href="http://kastang.com/blog/wp-content/uploads/2010/01/WG_Tokens.png"><img class="size-medium wp-image-277 alignnone" title="WG_Tokens" src="http://kastang.com/blog/wp-content/uploads/2010/01/WG_Tokens-228x300.png" alt="" width="228" height="300" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://kastang.com/blog/2010/01/wintergrasp-tokens/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
~               
