<?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>Tim Thorp Training &#38; Consulting &#187; tech tips</title>
	<atom:link href="http://www.timthorp.com/category/tech-tips/feed" rel="self" type="application/rss+xml" />
	<link>http://www.timthorp.com</link>
	<description>technology made simple.</description>
	<lastBuildDate>Mon, 19 Oct 2009 14:45:17 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Change Field Order in MySQL Table Structure using phpMyAdmin</title>
		<link>http://www.timthorp.com/tech-tips/change-field-order-in-mysql-table-structure-using-phpmyadmin</link>
		<comments>http://www.timthorp.com/tech-tips/change-field-order-in-mysql-table-structure-using-phpmyadmin#comments</comments>
		<pubDate>Mon, 19 Oct 2009 14:42:53 +0000</pubDate>
		<dc:creator>Tim Thorp</dc:creator>
				<category><![CDATA[tech tips]]></category>

		<guid isPermaLink="false">http://www.timthorp.com/tech-tips/change-field-order-in-mysql-table-structure-using-phpmyadmin</guid>
		<description><![CDATA[Sometimes a database admin wants to change the order of fields in their table. I find it handy when I want SELECT * to return the fields in a particular order. While there are no buttons to change the field order, you can do it with a simple SQL statement. In the following example, I [...]]]></description>
			<content:encoded><![CDATA[<p>Sometimes a database admin wants to change the order of fields in their table. I find it handy when I want SELECT * to return the fields in a particular order. While there are no buttons to change the field order, you can do it with a simple SQL statement. In the following example, I am changing the order of a field with the data type TINYTEXT, but it will work with any fieldtype: </p>

<div class="wp_codebox"><table><tr id="p622"><td class="code" id="p62code2"><pre class="sql" style="font-family:monospace;"><span style="color: #993333; font-weight: bold;">ALTER</span> <span style="color: #993333; font-weight: bold;">TABLE</span> <span style="color: #ff0000;">`nameoftable`</span> <span style="color: #993333; font-weight: bold;">MODIFY</span> <span style="color: #993333; font-weight: bold;">COLUMN</span> <span style="color: #ff0000;">`columnname1`</span> TINYTEXT AFTER <span style="color: #ff0000;">`columnname2`</span>;</pre></td></tr></table></div>

]]></content:encoded>
			<wfw:commentRss>http://www.timthorp.com/tech-tips/change-field-order-in-mysql-table-structure-using-phpmyadmin/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>XML-RPC with Windows Live Writer vs. Wordpress FCKeditor</title>
		<link>http://www.timthorp.com/tech-tips/xml-rpc-with-windows-live-writer-vs-wordpress-fckeditor</link>
		<comments>http://www.timthorp.com/tech-tips/xml-rpc-with-windows-live-writer-vs-wordpress-fckeditor#comments</comments>
		<pubDate>Thu, 15 Oct 2009 15:06:02 +0000</pubDate>
		<dc:creator>Tim Thorp</dc:creator>
				<category><![CDATA[tech tips]]></category>

		<guid isPermaLink="false">http://www.timthorp.com/tech-tips/xml-rpc-with-windows-live-writer-vs-wordpress-fckeditor</guid>
		<description><![CDATA[If you frequently blog, you may be frustrated by the built-in editor for Wordpress: FCKeditor. It has its limitations, but it is actually a pretty good web-based rich text editor. However, there is another choice. If you want to write using a desktop client, turn on XML-RPC in your Wordpress writing settings and connect to [...]]]></description>
			<content:encoded><![CDATA[<p>If you frequently blog, you may be frustrated by the built-in editor for Wordpress: FCKeditor. It has its limitations, but it is actually a pretty good web-based rich text editor. However, there is another choice. If you want to write using a desktop client, turn on XML-RPC in your Wordpress writing settings and connect to your blog with Windows Live Writer – it’s a great way to publish and edit posts and pages! </p>
]]></content:encoded>
			<wfw:commentRss>http://www.timthorp.com/tech-tips/xml-rpc-with-windows-live-writer-vs-wordpress-fckeditor/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Data Matchbacks in SQL, mySQL, Access</title>
		<link>http://www.timthorp.com/tech-tips/data-matchbacks-in-sql-mysql-access</link>
		<comments>http://www.timthorp.com/tech-tips/data-matchbacks-in-sql-mysql-access#comments</comments>
		<pubDate>Wed, 14 Oct 2009 21:08:03 +0000</pubDate>
		<dc:creator>Tim Thorp</dc:creator>
				<category><![CDATA[tech tips]]></category>

		<guid isPermaLink="false">http://www.timthorp.com/tech-tips/data-matchbacks-in-sql-mysql-access</guid>
		<description><![CDATA[To better understand where your customers come from and the value of your marketing investment, you can use a data matchback. For example, let’s say that you sent an email to a list of leads that you purchased and now you want to see how many of those email addresses have made a purchase, you [...]]]></description>
			<content:encoded><![CDATA[<p>To better understand where your customers come from and the value of your marketing investment, you can use a data matchback. For example, let’s say that you sent an email to a list of leads that you purchased and now you want to see how many of those email addresses have made a purchase, you would matchback customers to your list. The technique is simple and straight SQL. </p>
<ul class="bullets">
<li>Import customers into an empty table called “customers”</li>
<li>Import leads into another empty table in the same database called “leads” </li>
</ul>

<div class="wp_codebox"><table><tr id="p554"><td class="code" id="p55code4"><pre class="sql" style="font-family:monospace;"><span style="color: #993333; font-weight: bold;">SELECT</span> <span style="color: #66cc66;">*</span> <span style="color: #993333; font-weight: bold;">FROM</span> customers <span style="color: #993333; font-weight: bold;">INNER</span> <span style="color: #993333; font-weight: bold;">JOIN</span> leads <span style="color: #993333; font-weight: bold;">ON</span> customers<span style="color: #66cc66;">.</span>email<span style="color: #66cc66;">=</span>leads<span style="color: #66cc66;">.</span>email;</pre></td></tr></table></div>

<p>That should do it, however you may want to list the fields instead of using the * wildcard. To do this, just list the fields using the table.field convention so that it is clear which fields should be selected by the query. </p>
<p>One final tip: export the data to excel and analyze it in a pivot table. </p>
]]></content:encoded>
			<wfw:commentRss>http://www.timthorp.com/tech-tips/data-matchbacks-in-sql-mysql-access/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The 20 Minute WordPress Installation and Configuration</title>
		<link>http://www.timthorp.com/webdev/the-20-minute-wordpress-installation-and-configuration</link>
		<comments>http://www.timthorp.com/webdev/the-20-minute-wordpress-installation-and-configuration#comments</comments>
		<pubDate>Fri, 31 Oct 2008 19:24:46 +0000</pubDate>
		<dc:creator>Tim Thorp</dc:creator>
				<category><![CDATA[tech tips]]></category>
		<category><![CDATA[webdev]]></category>

		<guid isPermaLink="false">http://www.timthorp.com/?p=17</guid>
		<description><![CDATA[So, every time I follow the famous 5 minute WordPress Installation Guide, I do a few things differently. These extra steps make the installation take around 20 minutes (if I rush), but I am writing this note, primarily for myself to document my process and also as a guide for those who like doing things [...]]]></description>
			<content:encoded><![CDATA[<p>So, every time I follow the famous 5 minute WordPress Installation Guide, I do a few things differently. These extra steps make the installation take around 20 minutes (if I rush), but I am writing this note, primarily for myself to document my process and also as a guide for those who like doing things in the way I do them. Since the wordpress installation guide is so handy and thoughtful in its presentation, I am not trying to recreate it. This post is meant to supplement the instructions in the <a href="http://codex.wordpress.org/Installing_WordPress">wordpress installation guide</a>.</p>
<ol>
<li>Login to your web hosting server and create a database and assign user permissions. This is usually done in cpanel</li>
<li>Download the latest package at <a href="http://wordpress.org/download/">http://wordpress.org/download/</a> and unzip</li>
<li>Copy wp-config-sample.php as wp-config.php and edit the first lines 3-8 so that the database connection can be made. Get the secret key for lines 13-15 at <a href="http://api.wordpress.org/secret-key/1.1/">http://api.wordpress.org/secret-key/1.1/</a></li>
<li>Optional Step: add a theme to wp-content/themes (this can be done at a later time too, but I like doing it at the beginning). Note: the theme&#8217;s name is defined in its stylesheet and should be the same as the directory that holds it.</li>
<li>FTP all files to server</li>
<li>With your browser, visit domain.com/wp-admin/install.php and follow the onscreen instructions</li>
<li>Login and Add Users</li>
<li>If you want page titles in your URLs, go to Settings | Permalinks and choose a Custom Structure. I like<tt>/%category%/%postname%</tt></li>
<li>Go to Design | Themes and choose the theme that you previously uploaded</li>
<li>Go to Design | Widgets and choose the ones you need. I usually turn on Pages and Text</li>
<li>To prevent Comment SPAM, go to Plugins and turn on Akismet. Get your API key at <a href="http://wordpress.com/">www.wordpress.com</a>. If you are a returning user, your API key is the same every time. To get it, login and choose &#8220;Your Dashboard&#8221; (on the left) and &#8220;Profile&#8221; (on the right). The API key is at the top.</li>
<li>If Google Analytics will be used, install the tracking code.</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://www.timthorp.com/webdev/the-20-minute-wordpress-installation-and-configuration/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Pulling a Random Sample in MS Access</title>
		<link>http://www.timthorp.com/tech-tips/pulling-a-random-sample-in-ms-access</link>
		<comments>http://www.timthorp.com/tech-tips/pulling-a-random-sample-in-ms-access#comments</comments>
		<pubDate>Mon, 27 Oct 2008 20:30:49 +0000</pubDate>
		<dc:creator>Tim Thorp</dc:creator>
				<category><![CDATA[tech tips]]></category>

		<guid isPermaLink="false">http://www.timthorp.com/?p=16</guid>
		<description><![CDATA[I have a database with 500,000 records and I need to pull 12000 random records for analysis.  The WHERE clause is not necessary for the random sampling. It is just part of the query that was used in this case.The simplest way to do this is to randomize the sort order and use a [...]]]></description>
			<content:encoded><![CDATA[<p>I have a database with 500,000 records and I need to pull 12000 random records for analysis.  The WHERE clause is not necessary for the random sampling. It is just part of the query that was used in this case.The simplest way to do this is to randomize the sort order and use a SELECT limiter as follows.</p>

<div class="wp_codebox"><table><tr id="p166"><td class="code" id="p16code6"><pre class="sql" style="font-family:monospace;"><span style="color: #993333; font-weight: bold;">SELECT</span> TOP <span style="color: #cc66cc;">12000</span> customers<span style="color: #66cc66;">.</span>first_name<span style="color: #66cc66;">,</span> customers<span style="color: #66cc66;">.</span>last_name<span style="color: #66cc66;">,</span> customers<span style="color: #66cc66;">.</span>street_address<span style="color: #66cc66;">,</span> customers<span style="color: #66cc66;">.</span>city<span style="color: #66cc66;">,</span> customers<span style="color: #66cc66;">.</span>state<span style="color: #66cc66;">,</span> customers<span style="color: #66cc66;">.</span>zip<span style="color: #66cc66;">,</span> customers<span style="color: #66cc66;">.</span>country<span style="color: #66cc66;">,</span> customers<span style="color: #66cc66;">.</span>email
<span style="color: #993333; font-weight: bold;">FROM</span> customers
<span style="color: #993333; font-weight: bold;">WHERE</span> <span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#40;</span>customers<span style="color: #66cc66;">.</span>state<span style="color: #66cc66;">&#41;</span> <span style="color: #993333; font-weight: bold;">In</span> <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;NH&quot;</span><span style="color: #66cc66;">,</span><span style="color: #ff0000;">&quot;VT&quot;</span><span style="color: #66cc66;">,</span><span style="color: #ff0000;">&quot;ME&quot;</span><span style="color: #66cc66;">,</span><span style="color: #ff0000;">&quot;MA&quot;</span><span style="color: #66cc66;">,</span><span style="color: #ff0000;">&quot;RI&quot;</span><span style="color: #66cc66;">,</span><span style="color: #ff0000;">&quot;CT&quot;</span><span style="color: #66cc66;">,</span><span style="color: #ff0000;">&quot;NY&quot;</span><span style="color: #66cc66;">,</span><span style="color: #ff0000;">&quot;NJ&quot;</span><span style="color: #66cc66;">,</span><span style="color: #ff0000;">&quot;CA&quot;</span><span style="color: #66cc66;">,</span><span style="color: #ff0000;">&quot;WA&quot;</span><span style="color: #66cc66;">,</span><span style="color: #ff0000;">&quot;OR&quot;</span><span style="color: #66cc66;">,</span><span style="color: #ff0000;">&quot;DC&quot;</span><span style="color: #66cc66;">,</span><span style="color: #ff0000;">&quot;MD&quot;</span><span style="color: #66cc66;">,</span><span style="color: #ff0000;">&quot;PA&quot;</span><span style="color: #66cc66;">,</span><span style="color: #ff0000;">&quot;VA&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span> <span style="color: #993333; font-weight: bold;">AND</span> <span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#40;</span>customers<span style="color: #66cc66;">.</span>email<span style="color: #66cc66;">&#41;</span> <span style="color: #993333; font-weight: bold;">Is</span> <span style="color: #993333; font-weight: bold;">Not</span> <span style="color: #993333; font-weight: bold;">Null</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>
<span style="color: #993333; font-weight: bold;">ORDER</span> <span style="color: #993333; font-weight: bold;">BY</span> Rnd<span style="color: #66cc66;">&#40;</span>ID<span style="color: #66cc66;">&#41;</span>;</pre></td></tr></table></div>

]]></content:encoded>
			<wfw:commentRss>http://www.timthorp.com/tech-tips/pulling-a-random-sample-in-ms-access/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Splitting LASTNAME,FIRSTNAME columns in Excel</title>
		<link>http://www.timthorp.com/tech-tips/splitting-lastnamefirstname-columns-in-excel</link>
		<comments>http://www.timthorp.com/tech-tips/splitting-lastnamefirstname-columns-in-excel#comments</comments>
		<pubDate>Wed, 14 May 2008 14:10:38 +0000</pubDate>
		<dc:creator>Tim Thorp</dc:creator>
				<category><![CDATA[tech tips]]></category>
		<category><![CDATA[excel]]></category>
		<category><![CDATA[formula]]></category>
		<category><![CDATA[names]]></category>
		<category><![CDATA[split]]></category>

		<guid isPermaLink="false">http://www.timthorp.com/uncategorized/splitting-lastnamefirstname-columns-in-excel</guid>
		<description><![CDATA[Too often, office workers have to manipulate improperly structured data that comes from mega-systems. For example, if a person wanted to do a mail merge intro line, stating, &#8220;Dear &#60;firstname&#62;&#8221; but the name field held LASTNAME,FIRSTNAME, they would have a hard time, but here’s a way to handle it using an excel formula that pulls [...]]]></description>
			<content:encoded><![CDATA[<p class="MsoNormal">Too often, office workers have to manipulate improperly structured data that comes from mega-systems. For example, if a person wanted to do a mail merge intro line, stating, &#8220;Dear &lt;firstname&gt;&#8221; but the name field held LASTNAME,FIRSTNAME, they would have a hard time, but here’s a way to handle it using an excel formula that pulls it apart and displays the correct name in title case. I haven’t really tested it with special names including extra things like sir or esquire, but it works pretty good for most names.</p>
<p class="MsoNormal">Assuming cell A1 holds a name like THORP,TIMOTHY – this formula will result in Timothy Thorp</p>

<div class="wp_codebox"><table><tr id="p1410"><td class="code" id="p14code10"><pre class="excel" style="font-family:monospace;">=PROPER(CONCATENATE(TRIM(RIGHT(A1, LEN(A1)- FIND(&quot;,&quot;,A1,1))), &quot; &quot;, LEFT(A1,FIND(&quot;,&quot;,A1,1)-1)))</pre></td></tr></table></div>

<p class="MsoNormal">Explanation of each function in the order that it is processed:</p>
<p class="MsoNormal">LEN() counts the number of characters in the name (in this example, 13)</p>
<p class="MsoNormal">FIND() returns the character position of the comma (in this example, 6)</p>
<p class="MsoNormal">RIGHT() returns the calculated number of characters to the right of the comma (in this example, chars 7-13 or TIMOTHY)</p>
<p class="MsoNormal">LEFT() returns all of the characters from the beginning of the name up to the comma (in this example, characters 1-5 or THORP)</p>
<p class="MsoNormal">TRIM() removes extra blank spaces around the comma in case they are present</p>
<p class="MsoNormal">CONCATENATE() squishes the first and last name into one column together</p>
<p class="MsoNormal">PROPER() puts the name in title case (first letter of each word capitalized)</p>
<p class="MsoNormal">From there, you can use the fill handle to copy the formula down the column and Excel Text to Columns and/or paste special to separate things out as you need.</p>
<p class="MsoNormal">To get the first name by itself :</p>

<div class="wp_codebox"><table><tr id="p1411"><td class="code" id="p14code11"><pre class="excel" style="font-family:monospace;">=PROPER(TRIM(RIGHT(A1, LEN(A1)- FIND(&quot;,&quot;,A1,1))))</pre></td></tr></table></div>

<p class="MsoNormal">To get the last name by itself:</p>

<div class="wp_codebox"><table><tr id="p1412"><td class="code" id="p14code12"><pre class="excel" style="font-family:monospace;">=PROPER(LEFT(A1,FIND(&quot;,&quot;,A1,1)-1))</pre></td></tr></table></div>

<p class="MsoNormal">
]]></content:encoded>
			<wfw:commentRss>http://www.timthorp.com/tech-tips/splitting-lastnamefirstname-columns-in-excel/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
