<?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"
	>

<channel>
	<title>Ryan Pfister &#187; Uncategorized</title>
	<atom:link href="http://www.ryanpfister.com/category/uncategorized/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.ryanpfister.com</link>
	<description>Programmer, Pontificator, Prognosticator</description>
	<pubDate>Sat, 15 Nov 2008 03:03:04 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.3</generator>
	<language>en</language>
			<item>
		<title>FriendFlash &#8212; Recognize your Facebook friends on sight</title>
		<link>http://www.ryanpfister.com/2008/11/friendflash/</link>
		<comments>http://www.ryanpfister.com/2008/11/friendflash/#comments</comments>
		<pubDate>Sat, 15 Nov 2008 03:01:32 +0000</pubDate>
		<dc:creator>Ryan</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.ryanpfister.com/?p=59</guid>
		<description><![CDATA[I&#8217;ve completed my first Facebook application: FriendFlash. It displays a photo of one of your friends and you have to pick which one it is from a list of choices. I built it because I have a lot of random Facebook friends and sometimes I have trouble remembering what they all look like.
Check it out!
]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve completed my first Facebook application: FriendFlash. It displays a photo of one of your friends and you have to pick which one it is from a list of choices. I built it because I have a lot of random Facebook friends and sometimes I have trouble remembering what they all look like.</p>
<p><a href="http://apps.facebook.com/friendflash/">Check it out</a>!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ryanpfister.com/2008/11/friendflash/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Speak and print your daily tasks and events</title>
		<link>http://www.ryanpfister.com/2008/11/speak-and-print-your-daily-tasks-and-events/</link>
		<comments>http://www.ryanpfister.com/2008/11/speak-and-print-your-daily-tasks-and-events/#comments</comments>
		<pubDate>Sun, 02 Nov 2008 02:03:28 +0000</pubDate>
		<dc:creator>Ryan</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.ryanpfister.com/?p=52</guid>
		<description><![CDATA[I keep track of my tasks using Remember The Milk and my calendar using Google Calendar. However, I don&#8217;t have a Blackberry or other phone with Internet access, so sometimes it&#8217;s nice of have a paper copy of what I have to do on a particular day.
I created a Ruby script that reads in my [...]]]></description>
			<content:encoded><![CDATA[<p>I keep track of my tasks using <a href="http://www.rememberthemilk.com">Remember The Milk</a> and my calendar using <a href="http://calendar.google.com">Google Calendar</a>. However, I don&#8217;t have a Blackberry or other phone with Internet access, so sometimes it&#8217;s nice of have a paper copy of what I have to do on a particular day.</p>
<p>I created a Ruby script that reads in my tasks from the RTM private feed and my events from the Google Calendar private ical feed. It then assembles a text file of everything happening that day and prints it out. For fun, I rigged it up with the Microsoft text-to-speech API, so you can have your agenda read to you too.</p>
<p>If you&#8217;re interested in using it, I&#8217;ve released a copy of the source code under the Apache 2.0 license. <a href="http://www.ryanpfister.com/wp-content/agenda_code.txt">Get it here</a>.</p>
<p>Note that you&#8217;ll need a copy of the <a href="http://icalendar.rubyforge.org/">Ruby iCalendar library</a> for this to work.</p>
<p>Here&#8217;s a sample of the <a href="http://www.ryanpfister.com/wp-content/agenda_sample.txt">printer output</a> and the <a href="http://www.ryanpfister.com/wp-content/agenda_demo.mp3">speech output</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ryanpfister.com/2008/11/speak-and-print-your-daily-tasks-and-events/feed/</wfw:commentRss>
<enclosure url="http://www.ryanpfister.com/wp-content/agenda_demo.mp3" length="468950" type="audio/mpeg" />
		</item>
		<item>
		<title>Full Contact Search Code &#8212; Lessons in Google Authentication</title>
		<link>http://www.ryanpfister.com/2008/10/full-contact-search-code-lessons-in-google-authentication/</link>
		<comments>http://www.ryanpfister.com/2008/10/full-contact-search-code-lessons-in-google-authentication/#comments</comments>
		<pubDate>Mon, 06 Oct 2008 16:43:07 +0000</pubDate>
		<dc:creator>Ryan</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.ryanpfister.com/?p=45</guid>
		<description><![CDATA[Here&#8217;s the main code file for my Full Contact Search Application:
fullcontactsearch_code
I&#8217;m releasing it under the Apache license. Some of it is originally inspired from Google tutorials anyway. The portion of the code you may find useful is the self.GetAuthentication method. Basically, what you need to be able to do to permanently authenticate a user is:

Get [...]]]></description>
			<content:encoded><![CDATA[<p>Here&#8217;s the main code file for my Full Contact Search Application:<br />
<a href='http://www.ryanpfister.com/wp-content/fullcontactsearch_code.txt'>fullcontactsearch_code</a></p>
<p>I&#8217;m releasing it under the Apache license. Some of it is originally inspired from Google tutorials anyway. The portion of the code you may find useful is the <code>self.GetAuthentication</code> method. Basically, what you need to be able to do to permanently authenticate a user is:</p>
<ol>
<li>Get the user to sign in to a Google account.</li>
<li>Get the user to approve your Web site for access to a url scope (in my case, the Google Contacts feed)</li>
<li>Upgrade the single use token that Google returns to a session token.</li>
<li>Store that token in a database (in Google App Engine&#8217;s case, just use the built-in datastore).</li>
</ol>
<p>Then, next time a user visits the Web site, just look up the session key from your database and you&#8217;re good to go.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ryanpfister.com/2008/10/full-contact-search-code-lessons-in-google-authentication/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Drop.io - very cool file sharing</title>
		<link>http://www.ryanpfister.com/2008/09/dropio-very-cool-file-sharing/</link>
		<comments>http://www.ryanpfister.com/2008/09/dropio-very-cool-file-sharing/#comments</comments>
		<pubDate>Wed, 03 Sep 2008 01:55:46 +0000</pubDate>
		<dc:creator>Ryan</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.ryanpfister.com/?p=37</guid>
		<description><![CDATA[If you ever have to share files on the Internet, check out Drop.io. It&#8217;s the simplest, quickest way I&#8217;ve seen to get a file uploaded and a link sent out. And check out the Firefox extension, which allows drag-and-drop uploads from your computer. Sounds like a prime Google takeover target to me&#8230;
I&#8217;m probably going to [...]]]></description>
			<content:encoded><![CDATA[<p>If you ever have to share files on the Internet, check out <a href="http://drop.io/">Drop.io</a>. It&#8217;s the simplest, quickest way I&#8217;ve seen to get a file uploaded and a link sent out. And check out the Firefox extension, which allows drag-and-drop uploads from your computer. Sounds like a prime Google takeover target to me&#8230;</p>
<p>I&#8217;m probably going to use this for group projects this semester.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ryanpfister.com/2008/09/dropio-very-cool-file-sharing/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Executor: My new application launcher</title>
		<link>http://www.ryanpfister.com/2008/09/executor-my-new-application-launcher/</link>
		<comments>http://www.ryanpfister.com/2008/09/executor-my-new-application-launcher/#comments</comments>
		<pubDate>Wed, 03 Sep 2008 01:51:40 +0000</pubDate>
		<dc:creator>Ryan</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.ryanpfister.com/?p=34</guid>
		<description><![CDATA[I read about executor on lifehacker the other day. It&#8217;s a utility that enables you to launch programs using keyboard commands, such as &#8220;excel&#8221; for Excel. In the past, I&#8217;ve used Mike Lin&#8217;s MCL to do this. I&#8217;ve experimented with other launchers like Launchy, but I&#8217;ve found they&#8217;re too bloated and index way too many [...]]]></description>
			<content:encoded><![CDATA[<p>I read about <a href="http://executor.dk/">executor</a> on <a href="http://lifehacker.com/400566/executor-is-impressive-full+featured-app-launcher">lifehacker</a> the other day. It&#8217;s a utility that enables you to launch programs using keyboard commands, such as &#8220;excel&#8221; for Excel. In the past, I&#8217;ve used Mike Lin&#8217;s <a href="http://www.mlin.net/MCL.shtml">MCL</a> to do this. I&#8217;ve experimented with other launchers like Launchy, but I&#8217;ve found they&#8217;re too bloated and index way too many things. I usually just want to create a keyword that launches a specific shortcut. It needs to be fast and lean.</p>
<p>My main issue with MCL was that it was annoying to create keywords. Executor fixes that problem: you can either add shortcuts to a folder it scans, drag and drop shortcuts into its dialog box, or right-click a shortcut and hit &#8220;Send To&#8230;Executor.&#8221; Very handy. Plus, it has some great built in keywords. For instance, typing in &#8220;ip&#8221; will make your IP address appear in the bar, ready to be copy and pasted.</p>
<p>In terms of memory, it takes up less than 10 MB. Not as small as MCL, but acceptable.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ryanpfister.com/2008/09/executor-my-new-application-launcher/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Shell commands to upgrade to WP 2.6.1</title>
		<link>http://www.ryanpfister.com/2008/08/shell-commands-to-upgrade-to-wp-261/</link>
		<comments>http://www.ryanpfister.com/2008/08/shell-commands-to-upgrade-to-wp-261/#comments</comments>
		<pubDate>Sat, 30 Aug 2008 02:26:27 +0000</pubDate>
		<dc:creator>Ryan</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.ryanpfister.com/?p=31</guid>
		<description><![CDATA[Just upgraded this blog to WP 2.6.1 via ssh. Went just fine (knock on wood). Here&#8217;s the commands I used, for my own reference as much as anyone else&#8217;s:

wget http://wordpress.org/latest.tar.gz
rm -rf wp-includes
rm -rf wp-admin
tar -xzvf latest.tar.gz
cp -rpf wordpress/* .

Of course, you&#8217;ll want to replace &#8220;.&#8221; in the last line with the address of your wordpress [...]]]></description>
			<content:encoded><![CDATA[<p>Just upgraded this blog to WP 2.6.1 via ssh. Went just fine (knock on wood). Here&#8217;s the commands I used, for my own reference as much as anyone else&#8217;s:</p>
<p><code><br />
wget http://wordpress.org/latest.tar.gz<br />
rm -rf wp-includes<br />
rm -rf wp-admin<br />
tar -xzvf latest.tar.gz<br />
cp -rpf wordpress/* .<br />
</code></p>
<p>Of course, you&#8217;ll want to replace &#8220;.&#8221; in the last line with the address of your wordpress directory. In my case, I use the root directory.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ryanpfister.com/2008/08/shell-commands-to-upgrade-to-wp-261/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Ryan Pfisters: we&#8217;re not the only ones that share a name</title>
		<link>http://www.ryanpfister.com/2008/04/ryan-pfisters-were-not-the-only-ones-that-share-a-name/</link>
		<comments>http://www.ryanpfister.com/2008/04/ryan-pfisters-were-not-the-only-ones-that-share-a-name/#comments</comments>
		<pubDate>Fri, 11 Apr 2008 01:39:52 +0000</pubDate>
		<dc:creator>Ryan</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.ryanpfister.com/blog/?p=10</guid>
		<description><![CDATA[Check out this New York Times article on people with the same name that keep track of each other on the Internet.
Obvious quote of the day:
&#8220;Why do so many feel a connection — be it kinship or competition — with utter strangers just because they share a name? Social science, it turns out, has an [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.nytimes.com/2008/04/10/us/10names.html">Check out this New York Times article</a> on people with the same name that keep track of each other on the Internet.</p>
<p>Obvious quote of the day:</p>
<p>&#8220;Why do so many feel a connection — be it kinship or competition — with utter strangers just because they share a name? Social science, it turns out, has an answer. It is because human beings are unconsciously drawn to people and things that remind us of ourselves.&#8221;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ryanpfister.com/2008/04/ryan-pfisters-were-not-the-only-ones-that-share-a-name/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Guide to making a personal Web site (with a Penn State focus)</title>
		<link>http://www.ryanpfister.com/2008/04/guide-to-making-a-personal-web-site-with-a-penn-state-focus/</link>
		<comments>http://www.ryanpfister.com/2008/04/guide-to-making-a-personal-web-site-with-a-penn-state-focus/#comments</comments>
		<pubDate>Fri, 11 Apr 2008 01:37:40 +0000</pubDate>
		<dc:creator>Ryan</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.ryanpfister.com/blog/?p=9</guid>
		<description><![CDATA[If you&#8217;re a Penn State student (or anyone else) who wants a spot on the Internet, here&#8217;s my getting starting guide based on my own experiences.
Topics covered:

Hosting your site (where to save your files)
Creating and updating files
To dot.com or not to dot.com (or .org, or .net)

Hosting your site
For people to be able to view your [...]]]></description>
			<content:encoded><![CDATA[<p>If you&#8217;re a Penn State student (or anyone else) who wants a spot on the Internet, here&#8217;s my getting starting guide based on my own experiences.</p>
<p>Topics covered:</p>
<ul>
<li>Hosting your site (where to save your files)</li>
<li>Creating and updating files</li>
<li>To dot.com or not to dot.com (or .org, or .net)</li>
</ul>
<h2><strong>Hosting your site</strong></h2>
<p>For people to be able to view your site on the Internet, you need to put your files on a Web server. If you&#8217;re at Penn State, the university provides some free space for you to use. If you&#8217;re not (or you&#8217;ll be graduating soon &#8212; your PSU space ends 6 months after graduation), I recommend some free and cheap alternatives at the bottom of this section.</p>
<p><strong>At Penn State</strong></p>
<p>1. First you have to apply for Web space at <a href="https://www.work.psu.edu/webspace/">https://www.work.psu.edu/webspace/</a> The quiz questions are pretty obvious. It takes a few days to set up.</p>
<p>2. Now you need to open the folder Penn State created for you to store your files. On Windows, Open My Network Places from your desktop. Double-click &#8220;Add Network Place.&#8221; Type in: \\win.pass.psu.edu\xyz123 (replace xyz123 with your user id). Hit next and type in your username and password.</p>
<p>* NOTE: If you&#8217;re off-campus, you probably won&#8217;t be able to access your files directly like this. Instead, you&#8217;ll have to use SSH to upload your files (see below).</p>
<p>3. Your Penn State file space (Penn State calls it the &#8220;PASS space&#8221;) will show up. Open the www folder. This is where you will store all your Web site files.</p>
<p>Now you&#8217;re ready to go. Jump down to the section on creating and updating files. They will appear at http://www.personal.psu.edu/xyz123 (again, replacing xyz123 with your user name).</p>
<p><strong>Not at Penn State</strong></p>
<p>If you&#8217;re not at Penn State, you&#8217;ll need to find a place to host your files. Free Web hosts abound, but the only one I&#8217;ve used is <a href="http://geocities.yahoo.com/">Yahoo! Geocities</a>. It puts an annoying ad on your page, but the service has been around for a while so it&#8217;s probably pretty stable. You&#8217;ll also have to manually upload your files using their Web interface.</p>
<p>As an alternative to free Web hosts, I recommend &#8220;pay as you go&#8221; Web hosting from <a href="https://www.nearlyfreespeech.net/">NearlyFreeSpeech.NET</a>. You make an initial deposit and then they just draw against it. Fees are about $1 a gigabyte of transfer, so even five dollars could last you for years. I use this service for this Web site and I&#8217;ve had a great experience. The one downside is they have no Web-based tools for uploading files, so you&#8217;ll have to learn to use SSH.</p>
<p><strong>Using SSH</strong></p>
<p>If you can&#8217;t access your Web space using the &#8220;My Network Places&#8221; method above, you&#8217;ll have to use SSH to upload your files to your server.  I recommend <a href="http://winscp.net/eng/download.php">WinSCP</a> for Windows users. Download the standalone application.</p>
<p>To get files on your Web space, open the program and type in the server (ftp.personal.psu.edu for Penn State) and your user name and password. Click connect, accept the encryption key and your files should show up. Then just drag files from your hard drive to the Web server directory. If you need to make changes to files, just re-upload them and overwrite the old files.</p>
<p>Note that unlike with the &#8220;My Network Places&#8221; method, you won&#8217;t be able to edit your files directly on the server. Instead, you&#8217;ll have to edit them on your hard drive and then upload them.</p>
<h2><strong>Creating and updating files</strong></h2>
<p><a href="http://www.ryanpfister.com/portfoliotemplate.zip">Download my basic template</a> to get started. You can use your own files if you want, but I&#8217;m going to reference the template specifically.</p>
<ul>
<li>index.html is the main file.</li>
<li>works.html is where the list of stories is.</li>
<li>site.css is the stylesheet that controls how the pages look.</li>
<li>the png file is the mug shot that appears on the right side of the page.</li>
</ul>
<p>Just edit these files and drag them to your Web space. Also upload any other files you referenced. I recommend using a text editor to edit your files, but if you use a graphical editor, make sure your links are relative (e.g. don&#8217;t start with file://). Otherwise they won&#8217;t work on the Web site.</p>
<p>For an introduction to HTML and CSS editing, check out <a href="http://htmldog.com/">HTML Dog</a>. I&#8217;ll write a more specific tutorial later if I get around to it.</p>
<h2><strong><strong>To dot.com or not to dot.com<br />
</strong></strong></h2>
<p>Domains are cool. The address looks impressive on your resumé, you get every address @yourname.com and your url is a lot easier to remember.</p>
<p>You get a domain by registering it with a company called a registrar. My current favorite is <a href="http://1and1.com">1&amp;1</a> (which is also a hosting company). I like it because it&#8217;s reliable and its prices are on the cheaper end. Dot.com domains are $7/year; less common suffixes like .mobi are sometimes less. The company will keep your credit/debit card and charge you each year. Another perk of 1&amp;1 is that they offer private registration, so you don&#8217;t have to reveal your contact information on domain name registry listings.</p>
<p>Once you&#8217;ve registered your domain, you have two options. The first is to forward your domain to the url where your files are hosted. If you take this route, you have two options: masked forward or redirect. Under the first option, your domain stays in the address bar but the file inside come from your Web host. Under the second option, the real URL of your Web site appears in the address bar.</p>
<p>If you care about your domain staying in the address bar, pick the first option. Just keep in mind that urls of pages won&#8217;t show up in the address bar. So if someone likes your &#8220;works&#8221; page and they copy and paste the url, it will be the one for your main page, not the works page specifically. Of course if you have a Web site with just a few pages it&#8217;s probably not a big issue.</p>
<p>The second route for forwarding your domain is to use DNS. This works with paid Web hosts like NearlyFreeSpeech.NET. This method will keep your domain url in the address bar and let you type in specific urls. It takes a little doing to set up (maybe I&#8217;ll write up a tutorial later) but basically you need to have 1&amp;1 forward your name servers or DNS to your Web host.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ryanpfister.com/2008/04/guide-to-making-a-personal-web-site-with-a-penn-state-focus/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Goodbye, Netherlands Antilles</title>
		<link>http://www.ryanpfister.com/2008/03/goodbye-netherlands-antilles/</link>
		<comments>http://www.ryanpfister.com/2008/03/goodbye-netherlands-antilles/#comments</comments>
		<pubDate>Sun, 30 Mar 2008 16:51:22 +0000</pubDate>
		<dc:creator>Ryan</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.ryanpfister.com/blog/?p=8</guid>
		<description><![CDATA[Great. Just when I get the excellent idea from ma.tt to register ry.an, I find out that the Netherlands Antilles is scheduled to be abolished so the country code might disappear. Oh well&#8230;I guess I can&#8217;t expect geopolitics to cooperate with my naming ambitions all the time.
UPDATE: Looks like pfist.er is out as well.
]]></description>
			<content:encoded><![CDATA[<p>Great. Just when I get the excellent idea from ma.tt to register ry.an, I find out that the Netherlands Antilles is <a title="According to Wikipedia" href="http://en.wikipedia.org/wiki/.an">scheduled to be abolished</a> so the country code might disappear. Oh well&#8230;I guess I can&#8217;t expect geopolitics to cooperate with my naming ambitions all the time.</p>
<p>UPDATE: Looks like <a href="http://www.webhostingtalk.com/showthread.php?t=455614">pfist.er</a> is out as well.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ryanpfister.com/2008/03/goodbye-netherlands-antilles/feed/</wfw:commentRss>
		</item>
		<item>
		<title>New Wordpress</title>
		<link>http://www.ryanpfister.com/2008/03/new-wordpress/</link>
		<comments>http://www.ryanpfister.com/2008/03/new-wordpress/#comments</comments>
		<pubDate>Sun, 30 Mar 2008 16:44:51 +0000</pubDate>
		<dc:creator>Ryan</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.ryanpfister.com/blog/?p=7</guid>
		<description><![CDATA[Just upgraded to WP 2.5. I got some errors the first time around when I tried deleting wp-admin and wp-includes and then copying in the new versions &#8212; something about the wrong ABSPATH.
Instead, I just backed up my wp-config.php file and wp-content directory, deleted the old wp install, deployed WP 2.5, and then re-copied the [...]]]></description>
			<content:encoded><![CDATA[<p>Just upgraded to WP 2.5. I got some errors the first time around when I tried deleting wp-admin and wp-includes and then copying in the new versions &#8212; something about the wrong ABSPATH.</p>
<p>Instead, I just backed up my wp-config.php file and wp-content directory, deleted the old wp install, deployed WP 2.5, and then re-copied the wp-config.php and wp-content directories. Now everything is humming along successfully.  The new interface is pretty slick. Plus, I need to check out these caching options since I know this Web site will be super popular one day.</p>
<p>By the way, in reading about the new verison of WordPress, I came across a new ambition. Like <a href="http://ma.tt/about/">the founding developer of WordPress</a>, I want to become the number one Google hit for my first name as well.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ryanpfister.com/2008/03/new-wordpress/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
