<?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>Studge</title>
	<atom:link href="http://studge.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://studge.com</link>
	<description></description>
	<lastBuildDate>Wed, 17 Sep 2008 17:21:30 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Making Text Links Active</title>
		<link>http://studge.com/making-text-links-active/</link>
		<comments>http://studge.com/making-text-links-active/#comments</comments>
		<pubDate>Thu, 24 Apr 2008 19:42:03 +0000</pubDate>
		<dc:creator>Studge</dc:creator>
				<category><![CDATA[Entertainment]]></category>
		<category><![CDATA[Links]]></category>

		<guid isPermaLink="false">http://studge.com/making-text-links-active/</guid>
		<description><![CDATA[I ran across a great site that I now use to convert RapidShare (and other sites) text links from forums into active, clickable links.
Linktivator.com allows you to copy and paste text links that you find on other sites or forums and turn the links into active, clickable links.

]]></description>
			<content:encoded><![CDATA[<p>I ran across a great site that I now use to convert RapidShare (and other sites) text links from forums into active, clickable links.<span id="more-66"></span></p>
<p><a href="http://linktivator.com/">Linktivator.com</a> allows you to copy and paste text links that you find on other sites or forums and <a href="http://linktivator.com/">turn the links into active, clickable links</a>.<br />
<a href='http://linktivator.com' title='Linktivator.com - an online tool to turn your text links into active, clickable links.'><img style="display: block; margin: 10px auto;" src='http://studge.com/wp-content/uploads/2008/04/linktivator-screenshot.jpg' alt='Linktivator.com - an online tool to turn your text links into active, clickable links.' /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://studge.com/making-text-links-active/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Running Photoshop CS2 in Linux</title>
		<link>http://studge.com/running-photoshop-cs2-in-linux/</link>
		<comments>http://studge.com/running-photoshop-cs2-in-linux/#comments</comments>
		<pubDate>Sat, 23 Feb 2008 20:08:42 +0000</pubDate>
		<dc:creator>Studge</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Web Design]]></category>

		<guid isPermaLink="false">http://studge.com/howto-photoshop-cs2-in-linux/</guid>
		<description><![CDATA[Thanks to recent advances with Wine, it is now very easy to run Photoshop in Linux &#8211; but it&#8217;s not foolproof yet.  This tutorial was performed on a Pentium 4 desktop running Fedora 8 with Wine 0.9.55 and Adobe Photoshop CS2.
1. Install Wine
To install Wine in Fedora, we will use yum.  However, for [...]]]></description>
			<content:encoded><![CDATA[<p>Thanks to recent advances with <a href="http://www.winehq.org/">Wine</a>, it is now very easy to run Photoshop in Linux &#8211; but it&#8217;s not foolproof yet.  This tutorial was performed on a Pentium 4 desktop running Fedora 8 with Wine 0.9.55 and Adobe Photoshop CS2.<span id="more-63"></span></p>
<h3>1. Install Wine</h3>
<p>To install Wine in Fedora, we will use yum.  However, for other distributions, it should be widely available in your respective package manager or you can install from source.
<div class="code">
<pre><code>[root@localhost ~]# yum install wine*</code></pre>
</div>
<h3>2. Install Photoshop</h3>
<p>I installed Photoshop from the CD.  I attempted to run the setup files from Nautilus, but it failed and I continued the rest of the installation from the command line.  My CD was auto-mounted in the <code>/media/Photoshop CS2/</code> folder so I will navigate there to open the setup file. Be sure not to run the installation as root.</p>
<div class="code">
<pre><code>[user@localhost ~]$ cd "/media/Photoshop CS2"
[user@localhost ~]$ wine Setup.exe</code></pre>
</div>
<p>Now the normal Photoshop setup routine will initiate.  I selected my region and continued.  Next I was prompted for Gecko integration.  This is a result of using Wine and is required by the Adobe license screen to display an HTML version of the license in the program window.  I allowed it to install the integration, but it never completed.  I canceled the integration and it only affected the next screen that asks me to agree to the license &#8211; by not displaying the text of the license.  This is fine, so I selected Agree to continue on.  From here on out you can continue with the installation as you would on a Windows machine.</p>
<h3>3. Execution</h3>
<p>Everything in the installation went smoothly and didn&#8217;t garner any more attention than had I installed it on a regular PC running Windows.  To run Photoshop, I need to locate the executable and run it with Wine &#8211; just as we ran the setup executable with Wine.  When using Wine, it will create a folder that represents the C: Drive in Windows.  On a Fedora machine, this is <code>/home/user/.wine/drive_c/</code> and contains a Program Files directory.</p>
<div class="code">
<pre><code>[user@localhost ~]$ cd "/home/user/.wine/drive_c/Program Files/Adobe/Adobe Photoshop CS2/"
[user@localhost ~]$ wine Photoshop.exe</code></pre>
</div>
<p>This initiated and started Photoshop just fine.  I messed around with a few images and was pleased with the installation.  My next move was to create a menu shortcut for launching Photoshop.  I did this and then ran it again to insure my menu entry worked right and was presented with the following error:</p>
<div class="centered-image"><img src='http://studge.com/wp-content/uploads/2008/02/screenshot-adobe-photoshop.png' alt='Photoshop in Linux Error' /></div>
<p>I found that this is an error that occurs in a Windows installation of Photoshop when there is an issue with the preferences.  My current workaround is to wrap the Wine command to execute Photoshop in a shell script that will delete the preference file after Photoshop is closed.  This means that any saved preferences will be lost each time Photoshop is used.  Hopefully I can find out what is precisely going on here soon and come up with a more eloquent solution, but this will have to do in the meantime.  Here is the contents of <code>photoshop.sh</code> which I store in my <code>/home/user/bin</code> folder for easy execution:</p>
<div class="code">
<pre><code>#!/bin/bash
wine "/home/user/.wine/drive_c/Program Files/Adobe/Adobe Photoshop CS2/Photoshop.exe"
rm "/home/user/.wine/drive_c/windows/profiles/path/Application Data/Adobe/\
Photoshop/9.0/Adobe Photoshop CS2 Settings/Adobe Photoshop CS2 Prefs.psp"</code></pre>
</div>
<p>Be sure the set the script to executable after you write it with:</p>
<div class="code">
<pre><code>[user@localhost bin]$ chmod +x photoshop.sh</code></pre>
</div>
<p>Now you can create a menu entry or launcher that executes this script.</p>
]]></content:encoded>
			<wfw:commentRss>http://studge.com/running-photoshop-cs2-in-linux/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Open Addict Blocks Internet Explorer</title>
		<link>http://studge.com/open-addict-blocks-internet-explorer/</link>
		<comments>http://studge.com/open-addict-blocks-internet-explorer/#comments</comments>
		<pubDate>Thu, 19 Jul 2007 01:08:46 +0000</pubDate>
		<dc:creator>Studge</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Web Development]]></category>

		<guid isPermaLink="false">http://studge.com/open-addict-blocks-internet-explorer/</guid>
		<description><![CDATA[Rich Morgan, of Open Addict, has recently made a move to block Microsoft&#8217;s Internet Explorer from rendering his site. This move is justified by the fact the Microsoft does not seem concerned with helping to adopt web standards which causes web developers to have to tweak their sites and implement various, dirty workarounds to look [...]]]></description>
			<content:encoded><![CDATA[<p>Rich Morgan, of <a href="http://openaddict.com/">Open Addict</a>, has recently made a move to block Microsoft&#8217;s Internet Explorer from rendering his site.<span id="more-58"></span> This move is justified by the fact the Microsoft does not seem concerned with helping to adopt web standards which causes web developers to have to tweak their sites and implement various, dirty workarounds to look the way they are intended in IE.</p>
<p>I just updated the theme of this blog and, to no surprise, it does not render correctly in IE 6 or IE 7.  It looks exactly the same in Firefox, Opera and Konqueror though.  At Rich&#8217;s <a href="http://www.openaddict.com/forums/viewtopic.php?p=5512">forum</a>, he suggests that more people rally with him on this cause.  I am not yet prepared to cut IE users out entirely, but it is definitely in my head now.  If you are interested, he has also posted the short PHP code to stop IE from browsing:</p>
<div class="code">
<pre><code>&lt;?php
  if (eregi("MSIE",getenv("HTTP_USER_AGENT")) ||
  eregi("Internet Explorer",getenv("HTTP_USER_AGENT"))) {
    Header("Location: http://www.domain.com/ie_reject.html");
    exit;
  }
?&gt;</code></pre>
</div>
<p>You can place this snippet at the top of any page that you do not want to be seen in an IE browser.  Replace <code>domain.com</code> with your own domain name and be sure to create <code>ie_reject.html</code> with a little message explaining what just happened.  Rich&#8217;s message IE page can be seen <a href="http://www.openaddict.com/ie_reject.html">here</a>.</p>
<p>It would be absolutely amazing if this type of behavior became widespread, but I don&#8217;t have much faith in the movement.  Unfortunately, there are larger revolutions on the horizon.</p>
]]></content:encoded>
			<wfw:commentRss>http://studge.com/open-addict-blocks-internet-explorer/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Red Hat Dismisses Microsoft&#8217;s FUD</title>
		<link>http://studge.com/red-hat-dismisses-microsofts-fud/</link>
		<comments>http://studge.com/red-hat-dismisses-microsofts-fud/#comments</comments>
		<pubDate>Wed, 20 Jun 2007 13:45:51 +0000</pubDate>
		<dc:creator>Studge</dc:creator>
				<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://studge.com/red-hat-dismisses-microsofts-fud/</guid>
		<description><![CDATA[Microsoft has been threatening Linux users with a claim that the open source operating system infringes upon 235 of their software patents. The Redmond software giant has conveniently neglected to tell anyone specifically what these patents are.
A Patent Problem
Patenting software has only been well established in the United States since the early 1990s.  There [...]]]></description>
			<content:encoded><![CDATA[<p>Microsoft has been threatening Linux users with a claim that the open source operating system infringes upon 235 of their software patents.<span id="more-54"></span> The Redmond software giant has conveniently neglected to tell anyone specifically what these patents are.</p>
<h3>A Patent Problem</h3>
<p>Patenting software has only been well established in the United States since the early 1990s.  There is some controversy to the legality of patenting software.  It has been suggested that Microsoft began patenting any computer process they could.  Being able to patent a process rather than actual code would bar other developers from writing their own code for the same process &#8211; and effectively destroy innovation.</p>
<p>Microsoft has thousands of such patents and has offered deals to certain Linux distributors in order to protect that distribution&#8217;s users from being sued.  Novell, Linspire and Xandros have all bowed to Microsoft and teamed up with them &#8211; buckling under the weight of the fear, uncertainty and doubt that Microsoft is so fond of spreading.</p>
<p>Recently, Microsoft brought this offer to <a href="http://www.redhat.com/">Red Hat</a> &#8211; the most widespread Linux distribution in corporate America and the handler of the <a href="http://fedoraproject.org/">Fedora Project</a>.  Red Hat denied the deal.  Red Hat director of corporate communications Leigh Day was quoted as saying: &#8220;We continue to believe that open source and the innovation it represents should not be subject to an unsubstantiated tax that lacks transparency.&#8221;</p>
<p>Popular user distribution <a href="http://www.ubuntu.com/">Ubuntu</a> has also denied the deal.  <a href="http://www.canonical.com/">Canonical</a>&#8217;s CEO, <a href="http://en.wikipedia.org/wiki/Mark_Shuttleworth">Mark Shuttleworth</a>, posted on his blog: &#8220;Allegations of &#8216;infringement of unspecified patents&#8217; carry no weight whatsoever. We don&#8217;t think they have any legal merit, and they are no incentive for us to work with Microsoft on any of the wonderful things we could do together.&#8221;</p>
<p>I&#8217;m glad to see there are members of the community that will stand up to these bullies and fight for free software.</p>
]]></content:encoded>
			<wfw:commentRss>http://studge.com/red-hat-dismisses-microsofts-fud/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Drunk Driving in Austin Without Insurance While Looking for a Student Loan Consolidation Deal</title>
		<link>http://studge.com/drunk-driving-in-austin-without-insurance-while-looking-for-a-student-loan-consolidation-deal/</link>
		<comments>http://studge.com/drunk-driving-in-austin-without-insurance-while-looking-for-a-student-loan-consolidation-deal/#comments</comments>
		<pubDate>Tue, 05 Jun 2007 19:52:52 +0000</pubDate>
		<dc:creator>Studge</dc:creator>
				<category><![CDATA[Entertainment]]></category>
		<category><![CDATA[Web Development]]></category>

		<guid isPermaLink="false">http://studge.com/drunk-driving-in-austin-without-insurance-while-looking-for-a-student-loan-consolidation-deal/</guid>
		<description><![CDATA[Listed here is the top 20 highest paying Adwords keywords of 2006. This list paints a surprising portrait of Google&#039;s user base. Prices are in US Dollars.

$78.31 austin dwi
$73.67 school loan consolidation
$72.28 college loan consolidation
$70.76 car insurance quotes
$70.62 auto insurance quotes
$70.10 school consolidation
$67.72 consolidation college
$63.67 consolidation student
$63.59 student loan consolidation rates
$63.53 sell structured settlement
$63.12 structured [...]]]></description>
			<content:encoded><![CDATA[<p>Listed here is the top 20 highest paying Adwords keywords of 2006. This list paints a surprising portrait of Google&#039;s user base. Prices are in US Dollars.<span id="more-53"></span></p>
<ol>
<li>$78.31 austin dwi</li>
<li>$73.67 school loan consolidation</li>
<li>$72.28 college loan consolidation</li>
<li>$70.76 car insurance quotes</li>
<li>$70.62 auto insurance quotes</li>
<li>$70.10 school consolidation</li>
<li>$67.72 consolidation college</li>
<li>$63.67 consolidation student</li>
<li>$63.59 student loan consolidation rates</li>
<li>$63.53 sell structured settlement</li>
<li>$63.12 structured settlements</li>
<li>$62.05 federal student loan consolidation</li>
<li>$61.91 austin dwi attorney</li>
<li>$61.80 term life quote</li>
<li>$61.66 austin dwi attorney</li>
<li>$61.64 term life insurance quote</li>
<li>$61.54 auto insurance quote</li>
<li>$59.66 term insurance quote</li>
<li>$58.79 federal consolidation</li>
<li>$57.75 consolidate student loan</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://studge.com/drunk-driving-in-austin-without-insurance-while-looking-for-a-student-loan-consolidation-deal/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Create a Site Authentication Login with PHP and MySQL</title>
		<link>http://studge.com/create-a-site-authentication-login-with-php-and-mysql/</link>
		<comments>http://studge.com/create-a-site-authentication-login-with-php-and-mysql/#comments</comments>
		<pubDate>Wed, 23 May 2007 16:11:55 +0000</pubDate>
		<dc:creator>Studge</dc:creator>
				<category><![CDATA[(X)HTML]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Web Development]]></category>

		<guid isPermaLink="false">http://studge.com/create-a-site-authentication-login-with-php-and-mysql/</guid>
		<description><![CDATA[Setting up restricted access to certain pages is a breeze.  Here I will show a quick way to control who can view specific pages using a form based login system and a MySQL database of allowed users.
First we will set up the database table for storing the user login information.  We will be [...]]]></description>
			<content:encoded><![CDATA[<p>Setting up restricted access to certain pages is a breeze.  Here I will show a quick way to control who can view specific pages using a form based login system and a MySQL database of allowed users.<span id="more-51"></span></p>
<p>First we will set up the database table for storing the user login information.  We will be encrypting the passwords later on, here is the SQL code for the table:
<div class="code">
<pre><code>CREATE TABLE `users` (
  `id` int(4) NOT NULL auto_increment,
  `username` varchar(32) NOT NULL,
  `password` varchar(32) NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM</code></pre>
</div>
<p>I insert the users manually through my phpMyAdmin front-end.  If I am doing a site that has multiple users, then chances are good that I will be using a content management system, such as <a href="http://drupal.org/">Drupal</a>.  I use this authentication method for smaller sites and do not find it necessary to write a script for inserting users, but creating one would be relatively simple.  The one thing you need to be sure to do when inserting a new user is to select MD5 under the function section for the password (see screenshot below).  <a href="http://en.wikipedia.org/wiki/MD5">MD5</a> is a form of encryption that is easy to implement with PHP.</p>
<div class="centered-image"><img class="upped_image" src='http://studge.com/wp-content/uploads/2007/05/screenshot.jpg' alt='phpMyAdmin Screenshot' /></div>
<p>Now we have the MySQL end taken care of and we can focus on securing the pages.  For each page that we only want to be seen by authorized eyes, we need to put in some PHP code.  I put this code snippet as the first text after the <code>&lt;body&gt;</code> tag.  If you are using PHP4, then the code must be the very first text at the top of the web document.
<div class="code">
<pre><code >&lt;?php
  session_start();

  if (!isset($_SESSION['is_logged_in'])) {
    header("Location:login.php");
    die();
    }
?&gt;</code></pre>
</div>
<p>This snippet checks to see if a user has been authenticated for this session.  If not, then the user is redirected to a login form and the script dies.  If the user has been authenticated for this session, then the page continues to display the contents.  Now we need to create a login page.  The code above specifically refers to <code>login.php</code> so we will name the new page just that.  Here is my code for the login page:
<div class="code">
<pre><code>&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt;

&lt;html xmlns="http://www.w3.org/1999/xhtml"&gt;
  &lt;head&gt;
    &lt;title&gt;Login&lt;/title&gt;
  &lt;/head&gt;

  &lt;body&gt;
    &lt;form method="POST" action="check.php"&gt;
      Username:&lt;br /&gt;
      &lt;input type="text" name="username" /&gt;
      &lt;br /&gt;&lt;br /&gt;
      Password:&lt;br /&gt;
      &lt;input type="password" name="password" /&gt;
      &lt;br /&gt;&lt;br /&gt;
      &lt;input type="submit" id="subbut" value="Submit" /&gt;
    &lt;/form&gt;
  &lt;/body&gt;
&lt;/html&gt;</code></pre>
</div>
<p>You should notice in the above code that the form is posting to a file named <code>check.php</code>.  This file will query our previously created MySQL database to verify the user&#039;s credentials.  Here is how it is coded:
<div class="code">
<pre><code>&lt;?php
  session_start();

  if($_SERVER['REQUEST_METHOD'] == "POST") {
    mysql_connect("mysql.example.com", "username", "password");
    @mysql_select_db("database") or die( "Unable to connect to database");
    $username = mysql_real_escape_string($_POST['username']);
    $password = mysql_real_escape_string($_POST['password']);
    $result = mysql_query("SELECT * FROM users WHERE username='$username' AND
      password=md5('$password')");

    if(mysql_num_rows($result) &gt; 0) {
      $_SESSION['is_logged_in'] = 1;
    }
  }

  if(!isset($_SESSION['is_logged_in'])) {
    header("location:login.php");
  } else {
    header("location:authenticated.php");
  }
?&gt;</code></pre>
</div>
<p>I have created a page that requires this authentication for you to view, you can visit it <a href="http://studge.com/testbed/authenticated.php">here</a>.  It is named <code>authenticated.php</code> and that is why the <code>else</code> statement above references that page.  It will redirect you to the <code>login.php</code> page unless you have been authenticated.  The username and password are <code>user</code> and <code>password</code> respectively.  On the authenticated test page you are given to option of logging out.  This was done by creating a file named <code>logout.php</code> with the following code:
<div class="code">
<pre><code>&lt;?php
  session_start();
  session_destroy();

  header("location:authenticated.php");
?&gt;</code></pre>
</div>
<p>That&#039;s all there is to it.  If you have any questions you can leave a comment or use the <a href="http://studge.com/contact/">contact</a> page and I will get back to you as soon as possible.</p>
]]></content:encoded>
			<wfw:commentRss>http://studge.com/create-a-site-authentication-login-with-php-and-mysql/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>Displaying Click Counts with PHP and MySQL</title>
		<link>http://studge.com/displaying-click-counts-with-php-and-mysql/</link>
		<comments>http://studge.com/displaying-click-counts-with-php-and-mysql/#comments</comments>
		<pubDate>Sat, 19 May 2007 17:01:34 +0000</pubDate>
		<dc:creator>Studge</dc:creator>
				<category><![CDATA[(X)HTML]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Web Development]]></category>

		<guid isPermaLink="false">http://studge.com/displaying-click-counts-with-php-and-mysql/</guid>
		<description><![CDATA[Terry at SuperAff.com has asked about a follow up to a previous post Hiding Links With PHP and Counting Clicks with MySQL. In this article I demonstrated how to hide links (affiliate or otherwise) and count how many times each was clicked.  Here I will show how to throw together a simple MySQL query [...]]]></description>
			<content:encoded><![CDATA[<p>Terry at <a href="http://superaff.com/archives/2007/05/18/how-to-cloak-affiliate-links-click-tracking-with-php/">SuperAff.com</a> has asked about a follow up to a previous post <a href="http://studge.com/hiding-links-with-php-and-counting-clicks-with-mysql/">Hiding Links With PHP and Counting Clicks with MySQL</a>. In this article I demonstrated how to hide links<span id="more-50"></span> (affiliate or otherwise) and count how many times each was clicked.  Here I will show how to throw together a simple MySQL query to show you the click count.</p>
<p>First, you need to follow the aforementioned post to set up the click counter.  In the interest of not repeating myself, I will omit that code from this post.  Following is the PHP code that we will use:
<div class="code">
<pre><code >&lt;?php
  mysql_connect("mysql.example.com", "username", "password");
  @mysql_select_db("database") or die( "Unable to connect to database");
  $result = mysql_query("SELECT * FROM linkcount");

  $num = mysql_num_rows($result);

  mysql_close();

  echo "&lt;table&gt;&lt;tr&gt;&lt;td&gt;Link&lt;/td&gt;&lt;td&gt;Count&lt;/td&gt;&lt;/tr&gt;";

  for ($i=0; $i&lt;$num; $i++) {
	  if ($tmp = mysql_fetch_array($result)) {
		  extract($tmp);

		  echo "&lt;tr&gt;&lt;td&gt;$id&lt;/td&gt;";
		  echo "&lt;td&gt;$count&lt;/td&gt;&lt;/tr&gt;";
	  }
  }

  echo "&lt;/table&gt;";
?&gt;</code></pre>
</div>
<p>There are many different ways to code a front-end like this.  I am by no means a PHP expert, but I know enough to usually get the job done.  This code will give you a good starting point and you can elaborate on the code with some simple HTML to dress up the display table a bit.  I would usually advise against using tables in your web development ventures, but when it comes to returning MySQL queries there really isn&#039;t a better way.</p>
<p>To display these results in a Wordpress post, you will need a plugin to allow running custom PHP code.  Wordpress does not allow the execution of PHP code by default.  In this blog I only show the code and do not have a real need to embed it &#8211; so I do not currently use one of these plugins.  However, you can view the results of the above code <a href="http://studge.com/testbed/display-clicks.php">here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://studge.com/displaying-click-counts-with-php-and-mysql/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Drupal SEO</title>
		<link>http://studge.com/drupal-seo/</link>
		<comments>http://studge.com/drupal-seo/#comments</comments>
		<pubDate>Sat, 12 May 2007 12:46:35 +0000</pubDate>
		<dc:creator>Studge</dc:creator>
				<category><![CDATA[SEO]]></category>
		<category><![CDATA[Web Development]]></category>

		<guid isPermaLink="false">http://studge.com/drupal-seo/</guid>
		<description><![CDATA[Drupal is hands down my favorite content management system, but in order to use it there are a few initial steps you need to follow to get it working at our expected SEO performance level.
Note: This article will not cover the installation of Drupal. The first thing I do is turn on the clean URLs. [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://drupal.org">Drupal</a> is hands down my favorite content management system, but in order to use it there are a few initial steps you need to follow to get it working at our expected SEO performance level.<span id="more-49"></span></p>
<p><em>Note: This article will not cover the installation of Drupal.</em> The first thing I do is turn on the clean URLs.  This option is available when logged in as an administrator under Administer>Site Configuration>Clean URLs.  Drupal requires that you run the test first to determine whether or not your server is set up with PHP&#039;s <a href="http://en.wikipedia.org/wiki/Mod_rewrite">mod_rewrite</a> module.  This will enable the use of meaningful URLs, rather than PHP posting text.  To further compliment the use of clean URLs, we are going to install a Drupal module that will automatically name our posts and pages for us.  This module is <a href="http://drupal.org/project/pathauto">pathauto</a>, download the appropriate package and upload the <code>pathauto</code> folder into the <code>modules</code> folder on your server.  Be sure to enable it under Drupal&#039;s module section.  If you have already created content and are only now installing this module, then it is important that you navigate to the pathauto configuration section and have it bulk generate index aliases.</p>
<p>One problem with Drupal is the creation of duplicate pages.  For example: if you create a new post, then you will be presented with four different URLs for the same content:
<div class="code">
<pre><code>http://example.com/new-post

http://example.com/new-post/

http://example.com/node/2

http://example.com/node/2/</code></pre>
</div>
<p>This practice looks bad to search engines.  So, we need to edit our <code>.htaccess</code> file, located at the root of our webserver, to prevent it from using the trailing slash.  We will then edit our <code>robots.txt</code> file to prevent the search engines from indexing the <code>/node</code> area, thus preventing it from being an issue.</p>
<p>First we open out <code>.htaccess</code> file and add the following to the beginning of the file (replace <code>example\.com</code> with your domain name):
<div class="code">
<pre><code># remove trailing slashes
RewriteCond %{HTTP_HOST} ^(www.)?example\\.com$ [NC]
RewriteRule ^(.+)/$ http://%{HTTP_HOST}/$1 [R=301,L]</code></pre>
</div>
<p>Next we need to edit our <code>robots.txt</code> file to prevent the search engines from indexing our <code>/node</code> area.  Add the following line:
<div class="code">
<pre><code>Disallow: /node/</code></pre>
</div>
<p>That should take care of the basic SEO setbacks that come with a default installation of Drupal.  You may also want to implement the <a href="http://drupal.org/project/gsitemap">XML Sitemap</a> module to automatically produce a sitemap when new content is created.  It will also notify several search engines when it is updated.</p>
]]></content:encoded>
			<wfw:commentRss>http://studge.com/drupal-seo/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Set Gmail as the Default Mail Client in Linux</title>
		<link>http://studge.com/set-gmail-as-the-default-mail-client-in-linux/</link>
		<comments>http://studge.com/set-gmail-as-the-default-mail-client-in-linux/#comments</comments>
		<pubDate>Thu, 10 May 2007 22:35:34 +0000</pubDate>
		<dc:creator>Studge</dc:creator>
				<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://studge.com/set-gmail-as-the-default-mail-client-in-linux/</guid>
		<description><![CDATA[I use Gmail as my primary e-mail and wanted to be able to use it as my default client for my operating system.
We will be creating a script that, when activated, will call up Firefox and send us to the composition section of Gmail.  Then we will set this script up as the default [...]]]></description>
			<content:encoded><![CDATA[<p>I use <a href="http://mail.google.com">Gmail</a> as my primary e-mail and wanted to be able to use it as my default client for my operating system.<span id="more-47"></span></p>
<p>We will be creating a script that, when activated, will call up Firefox and send us to the composition section of Gmail.  Then we will set this script up as the default e-mail client and send the target e-mail address to it.  So, first we will put together a simple script and name it <code>gmailto.sh</code>.  Here is what it should be comprised of:
<div class="code">
<pre><code>#! /bin/sh

firefox "https://mail.google.com/mail?view=cm&amp;tf=0&amp;to=
`echo $1 | sed 's/mailto://'`"</code></pre>
</div>
<p>I placed this script in my <code>/home/user/bin</code> folder as I do all of my personal scripts and then made it executable with:
<div class="code">
<pre><code>[user@localhost bin]$ chmod u+x gmailto.sh</code></pre>
</div>
<p>Now all we have to do is specify this script as our default mail handler.  In Fedora, using Gnome, this menu is listed under System>Preferences>More Preferences>Preferred Applications.</p>
<div class="centered-image"><img src='http://studge.com/wp-content/uploads/2007/05/preferredapplications.jpg' alt='Preferred Applications' /></div>
<p>It is important to place the <code>%s</code> after calling the script in the Preferred Applications window so that it places the target address into your new message.</p>
]]></content:encoded>
			<wfw:commentRss>http://studge.com/set-gmail-as-the-default-mail-client-in-linux/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Creating Xbox ISOs in Linux</title>
		<link>http://studge.com/creating-xbox-isos-in-linux/</link>
		<comments>http://studge.com/creating-xbox-isos-in-linux/#comments</comments>
		<pubDate>Mon, 30 Apr 2007 14:22:55 +0000</pubDate>
		<dc:creator>Studge</dc:creator>
				<category><![CDATA[Entertainment]]></category>
		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://studge.com/creating-xbox-isos-in-linux/</guid>
		<description><![CDATA[One of the last remaining Windows applications that I had hung on to was the C-Xbox Tool.  It was used to convert games backups from my Xbox hard drive to FATX ISOs.
The problem had always been that there was not a suitable program written for Linux.  There were plenty of Xbox utilities for [...]]]></description>
			<content:encoded><![CDATA[<p>One of the last remaining Windows applications that I had hung on to was the C-Xbox Tool.  It was used to convert games backups from my Xbox hard drive to <a href="http://en.wikipedia.org/wiki/FATX">FATX</a> ISOs.<span id="more-45"></span></p>
<p>The problem had always been that there was not a suitable program written for Linux.  There were plenty of Xbox utilities for Linux that would extract or extract and upload an ISO, but nothing seemed to handle the repackaging task.  I had tried to run C-Xbox Tool under the Windows emulator <a href="http://winehq.com/">Wine</a>, but to no avail.  So, I just basically quit creating ISOs.  Until this weekend when I had encountered the glitch that occurs in <a href="http://www.amazon.com/gp/product/B0002B90SA?ie=UTF8&#038;tag=studge-20&#038;linkCode=as2&#038;camp=1789&#038;creative=9325&#038;creativeASIN=B0002B90SA">Star Wars Knights of the Old Republic II: The Sith Lords</a><img src="http://www.assoc-amazon.com/e/ir?t=studge-20&#038;l=as2&#038;o=1&#038;a=B0002B90SA" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" />.  There is a part in the very beginning that requires you to use the game disc to bypass the glitch.  I have long since lost the game disc and needed to make another one.  This is when I decided to see if I could get a different Windows Xbox utility to work &#8211; enter <a href="http://www.teamavalaunch.com/qwix/">Qwix</a>.  This program is developed by the entity responsible for the <a href="http://en.wikipedia.org/wiki/Avalaunch">Avalaunch</a> dashboard for the Xbox.  I was able to run this under Wine without any special parameters (see screenshot below) &#8211; but you cannot run it <em>exactly</em> the same as you would under Windows.</p>
<div class="centered-image"><a href='http://studge.com/wp-content/uploads/2007/04/qwix1.jpg' title='Screenshot of Qwix running under Wine in Linux.'><img src='http://studge.com/wp-content/uploads/2007/04/qwix1.thumbnail.jpg' alt='Screenshot of Qwix running under Wine in Linux.' /></a></div>
<p>There were two issues that I had to work around in order to get this to work.  First, I could not get the FTP to work in Qwix to get the game files.  So I had to transfer them, before creating the ISO, using my regular FTP client &#8211; in this case gFTP.  Second, I could not get Qwix to open the transferred game folder to create an ISO from it.  My solution for this was to move the folder into Wine&#039;s <em>simulated</em> C: drive environment.  There is a hidden folder under the user directory labeled <code>.wine</code>, and just below that is the <code>drive_c</code> folder.  The contents of this directory will look familiar to Windows users.  I copied the entire game folder into the <code>drive_c</code> folder and selected it on the <em>Local folder</em> line of the <em>Source</em> section of Qwix under the <em>Create ISO</em> tab from the left sidebar.  It created my ISO pretty fast &#8211; considering the size &#8211; and I was able to bypass the glitch in the game.</p>
]]></content:encoded>
			<wfw:commentRss>http://studge.com/creating-xbox-isos-in-linux/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

<!-- Dynamic Page Served (once) in 0.331 seconds -->
<!-- Cached page served by WP-Cache -->

