<?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>joesiewert.com &#187; Technology</title>
	<atom:link href="http://www.joesiewert.com/category/technology/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.joesiewert.com</link>
	<description>technology, business, social media, linux and a few other things</description>
	<lastBuildDate>Mon, 21 Jun 2010 21:15:55 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Dear Foursquare: A SMS User&#8217;s Wish List</title>
		<link>http://www.joesiewert.com/2010/06/dear-foursquare-a-sms-users-wish-list/</link>
		<comments>http://www.joesiewert.com/2010/06/dear-foursquare-a-sms-users-wish-list/#comments</comments>
		<pubDate>Mon, 21 Jun 2010 20:00:43 +0000</pubDate>
		<dc:creator>Joe</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[foursquare]]></category>
		<category><![CDATA[Fred Wilson]]></category>
		<category><![CDATA[product design]]></category>
		<category><![CDATA[SMS]]></category>
		<category><![CDATA[startups]]></category>
		<category><![CDATA[text messaging]]></category>

		<guid isPermaLink="false">http://www.joesiewert.com/?p=436</guid>
		<description><![CDATA[Dear Foursquare, After 550 check-ins to date, primarily via SMS, I have a wish list of enhancements that would make Foursquare via SMS so much easier to use. First a little background.  I&#8217;m a huge fan of the service and want it to succeed, but the SMS experience is frustrating at best.  The biggest problem is getting [...]]]></description>
			<content:encoded><![CDATA[<p>Dear Foursquare,</p>
<p>After <a href="http://foursquare.com/user/joesiewert">550 check-ins</a> to date, primarily via SMS, I have a wish list of enhancements that would make Foursquare via SMS so much easier to use.</p>
<p>First a little background.  I&#8217;m a huge <a href="http://www.joesiewert.com/tag/foursquare/">fan of the service</a> and want it to succeed, but the SMS experience is frustrating at best.  The biggest problem is getting the SMS check-in to link up with the corresponding Foursquare venue.  I know I&#8217;m not alone as I see similar problems reported on the <a href="http://getsatisfaction.com/foursquare/products/foursquare_the_text_messaging_sms_part">Get Satisfaction</a> support site and a <a href="http://twitter.com/#search?q=%40foursquare%20sms">Twitter search</a> turned up <a href="http://twitter.com/kuratowa/status/16509529828">some</a> <a href="http://twitter.com/itoldyouso/status/15683527762">frustrated</a> <a href="http://twitter.com/partyliz/status/15677930704">comments</a> as well.</p>
<p style="text-align: center;"><a href="http://www.joesiewert.com/wp-content/uploads/2010/06/foursquare_sad.png"><img class="aligncenter size-full wp-image-461" title="foursquare_sad" src="http://www.joesiewert.com/wp-content/uploads/2010/06/foursquare_sad.png" alt="" width="204" height="265" /></a></p>
<p>I realize SMS users probably make up a tiny percentage of the overall Foursquare user base.  I know the apps for the iPhone and Android devices provide a much better experience.  But at its core, Foursquare is about sharing your location with friends and I think this functionality is achievable with any mobile device.</p>
<p>SMS is like the mobile equivalent of the command line on the PC.  Ultimately a simple yet extremely powerful way of interacting with computer systems.  <a href="http://twitter.com/fredwilson">Fred Wilson</a> wrote about <a href="http://www.avc.com/a_vc/2009/07/dont-ignore-the-least-common-denominator.html">the importance of SMS</a> last summer, calling it the least common denominator for mobile apps.</p>
<blockquote><p>I think it is critical, particularly early on in the  commercialization of a mobile web service, for there to be an easy and  quick SMS interface.</p></blockquote>
<p>For your consideration, here is my wish list:</p>
<ul>
<li>Allow user to change location via SMS.  If you are <a href="http://getsatisfaction.com/foursquare/topics/sms_checkins_changing_location_issue">traveling to different cities</a> (even suburbs) and the venue you want to check-in to doesn&#8217;t match your current city, the check-in fails.
<ul>
<li>Could be as simple as texting your city or zip:  &#8220;in Minneapolis, MN&#8221; or &#8220;in 55415&#8243;</li>
</ul>
</li>
<li>If a check-in isn&#8217;t recognized, send back a list of close venue matches.  If I see the right venue, let me text back the number from the list and check me in there instead.</li>
<li>If I don&#8217;t see the venue I want in the results, post my raw check-in anyway (it does this today), but then on the <a href="http://foursquare.com/history">history page</a> let me go back later and link my raw check-in to the correct venue.</li>
<li>Better SMS documentation would help tremendously.  SMS users have pieced a lot together through trial and error, but it would be great to know how some things are working in the background.
<ul>
<li>For example, I&#8217;ve heard there are aliases for venues and I have seen old venue names work from time to time, but it would be helpful to know exactly how this works.</li>
</ul>
</li>
</ul>
<p>I know there are higher priorities for a fast growing startup with limited resources, but I think a great SMS experience is an important component of the product and it can help grow and maintain the Foursquare user base.  If there is any way I can help improve the SMS experience let me know.</p>
<p>If you are a Foursquare user that shares these frustrations leave a  comment here or on the <a href="http://getsatisfaction.com/foursquare/topics/dear_foursquare_a_sms_users_wish_list">corresponding post on Get Satisfaction</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.joesiewert.com/2010/06/dear-foursquare-a-sms-users-wish-list/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Getting Started With Windows 7 Gadgets</title>
		<link>http://www.joesiewert.com/2010/04/getting-started-with-windows-7-gadgets/</link>
		<comments>http://www.joesiewert.com/2010/04/getting-started-with-windows-7-gadgets/#comments</comments>
		<pubDate>Wed, 21 Apr 2010 04:24:16 +0000</pubDate>
		<dc:creator>Joe</dc:creator>
				<category><![CDATA[Software Development]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[gadgets]]></category>
		<category><![CDATA[how-tos]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Windows 7]]></category>
		<category><![CDATA[XML]]></category>

		<guid isPermaLink="false">http://www.joesiewert.com/?p=389</guid>
		<description><![CDATA[I spent the last few days playing with gadgets in Windows 7 and learning the basics to build one.  The basic structure is surprisingly simple, requiring only an XML configuration file and a HTML file for the UI and logic.  Gadgets are actually just little web applications running inside of Internet Explorer, so they can [...]]]></description>
			<content:encoded><![CDATA[<p>I spent the last few days playing with gadgets in Windows 7 and learning the basics to build one.  The basic structure is surprisingly simple, requiring only an XML configuration file and a HTML file for the UI and logic.  Gadgets are actually just little web applications running inside of Internet Explorer, so they can leverage CSS and JavaScript as well.</p>
<p>I found a few good gadget tutorials to get started:</p>
<ul>
<li><a href="http://msdn.microsoft.com/en-us/library/dd370867(VS.85).aspx">Introduction to the Gadget Platform</a></li>
<li><a href="http://msdn.microsoft.com/en-us/library/bb456468(VS.85).aspx">Developing a Gadget for Windows Sidebar</a></li>
<li><a href="http://msdn.microsoft.com/en-us/magazine/cc163370.aspx">Build Your Own Windows Vista Sidebar Gadget</a></li>
</ul>
<p>Here is a quick tutorial for building a gadget.  I&#8217;m doing this in Windows 7, but I think it will work on Vista too.</p>
<ul>
<li>Navigate to C:\Users\YourUserName\AppData\Local\Microsoft\Windows Sidebar\Gadgets</li>
<li>Create a folder called HelloWorld.gadget</li>
<li>In the folder create a file called gadget.xml and helloworld.html</li>
</ul>
<p>Add the following code to gadget.xml:</p>
<pre class="brush: xml;">
&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;
&lt;gadget&gt;
  &lt;name&gt;Hello World&lt;/name&gt;
  &lt;version&gt;1.0.0.0&lt;/version&gt;
  &lt;author name=&quot;Your name&quot;&gt;
    &lt;info url=&quot;http://www.mysite.com/my-gadget&quot; text=&quot;mysite.com&quot;/&gt;
  &lt;/author&gt;
  &lt;copyright&gt;&amp;#169; 2010&lt;/copyright&gt;
  &lt;description&gt;This gadget says hello!&lt;/description&gt;
  &lt;hosts&gt;
    &lt;host name=&quot;sidebar&quot;&gt;
      &lt;base type=&quot;HTML&quot; apiVersion=&quot;1.0.0&quot; src=&quot;helloworld.html&quot;/&gt;
      &lt;permissions&gt;Full&lt;/permissions&gt;
      &lt;platform minPlatformVersion=&quot;1.0&quot;/&gt;
    &lt;/host&gt;
  &lt;/hosts&gt;
&lt;/gadget&gt;
</pre>
<p>Add the following code to helloworld.html:</p>
<pre class="brush: xml;">
&lt;html&gt;
&lt;script type=&quot;text/javascript&quot;&gt;
function DoInit() {
    document.body.style.width = 90;
    document.body.style.height= 55;
    document.body.style.margin=0;
}
&lt;/script&gt;
&lt;body onload=&quot;DoInit();&quot;&gt;
&lt;br&gt;
&lt;center&gt;Hello World!&lt;/center&gt;
&lt;/body&gt;
&lt;/html&gt;
</pre>
<p>After code is added to those files you can try the gadget out.  Go to Control Panel\All Control Panel Items\Desktop Gadgets and you should see your newly created gadget.  Give it a click and it will pop up on the side of your screen.  That&#8217;s all there is to creating a simple gadget.  Obviously this gadget isn&#8217;t incredibly useful, but it gives you the basic idea to build on.</p>
<p style="text-align: center;"><a href="http://www.joesiewert.com/wp-content/uploads/2010/04/windows_7_gadget_menu.jpg"><img class="aligncenter size-full wp-image-403" title="Windows 7 Gadget Menu" src="http://www.joesiewert.com/wp-content/uploads/2010/04/windows_7_gadget_menu.jpg" alt="" width="582" height="495" /></a></p>
<p style="text-align: center;"><a href="http://www.joesiewert.com/wp-content/uploads/2010/04/windows_7_gadgets.jpg"><img class="aligncenter size-full wp-image-402" title="Windows 7 Gadgets" src="http://www.joesiewert.com/wp-content/uploads/2010/04/windows_7_gadgets.jpg" alt="" width="147" height="416" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.joesiewert.com/2010/04/getting-started-with-windows-7-gadgets/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>How To Use The Foursquare API With OAuth And PHP</title>
		<link>http://www.joesiewert.com/2010/04/how-to-use-the-foursquare-api-with-oauth-and-php/</link>
		<comments>http://www.joesiewert.com/2010/04/how-to-use-the-foursquare-api-with-oauth-and-php/#comments</comments>
		<pubDate>Tue, 13 Apr 2010 05:33:38 +0000</pubDate>
		<dc:creator>Joe</dc:creator>
				<category><![CDATA[Software Development]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[foursquare]]></category>
		<category><![CDATA[how-tos]]></category>
		<category><![CDATA[OAuth]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.joesiewert.com/?p=355</guid>
		<description><![CDATA[I started playing with the Foursquare API and one of the first things you need to do is figure out how to authenticate with Foursquare to make calls to the API. It took me awhile to figure this out and start making successful calls, so I thought others could benefit from a detailed tutorial. The [...]]]></description>
			<content:encoded><![CDATA[<p>I started playing with the <a href="http://foursquare.com/developers/">Foursquare API</a> and one of the first things you need to do is figure out how to authenticate with Foursquare to make calls to the API.  It took me awhile to figure this out and start making successful calls, so I thought others could benefit from a detailed tutorial.  The goal of this tutorial is to demonstrate how to make calls to the Foursquare API using <a href="http://oauth.net/">OAuth authentication</a> and PHP.  Foursquare has a helpful <a href="http://groups.google.com/group/foursquare-api">API discussion group</a> I recommend checking out.  Here are a few starting points that are helpful for this tutorial:</p>
<ul>
<li><a href="http://groups.google.com/group/foursquare-api/web/api-documentation">Foursquare API documentation</a></li>
<li><a href="http://groups.google.com/group/foursquare-api/web/oauth">Foursquare OAuth authentication</a></li>
</ul>
<h2>Setup your environment</h2>
<p>Here is what you’ll need to complete this tutorial:</p>
<ul>
<li>Your favorite text editor and web browser</li>
<li>A web server with PHP (if you need to set one up quick, see my <a href="http://www.joesiewert.com/2010/01/how-to-setup-xampp-for-web-development/">XAMPP tutorial</a>)</li>
<li>The <a href="http://github.com/jmathai/foursquare-async">foursquare-asyc library</a></li>
<li>My two example files (you can either <a href="http://www.joesiewert.com/wp-content/uploads/2010/04/foursquare_oauth_files.zip">download these</a> or create them as we go)</li>
<li>If you don’t have one already, create a <a href="http://foursquare.com/signup/">Foursquare account</a></li>
<li>A bunch of patience.  This stuff can be frustrating.</li>
</ul>
<p>To begin, setup a project folder on your web server with the necessary files for this example.</p>
<p>Create a folder called “test” and create files inside that folder called index.php and callback.php.  Then download the <a href="http://github.com/jmathai/foursquare-async">foursquare-async library</a> (click &#8220;Download Source&#8221; in the upper right corner).  Extract the files EpiCurl.php, EpiFoursquare.php and EpiOAuth.php to the test folder.</p>
<p>You now should have a folder called test that is accessible via a browser that contains these files:</p>
<ul>
<li>index.php</li>
<li>callback.php</li>
<li>EpiCurl.php</li>
<li>EpiFoursquare.php</li>
<li>EpiOAuth.php</li>
</ul>
<p>Note:  Depending on your server configuration you may need to manually enable <a href="http://en.wikipedia.org/wiki/CURL">cURL</a> support.  I did this example using XAMPP and needed to turn it on.  In the php.ini file (C:\xampp\php\php.ini) uncomment the line &#8220;extension=php_curl.dll&#8221; and then restart Apache.  If you get an error like this later in the tutorial it might indicate you need to enable cURL.</p>
<p>Possible cURL error:<br />
<strong>Fatal error</strong>: Call to undefined function curl_multi_init() in <strong>C:\xampp\htdocs\test\EpiCurl.php</strong> on line <strong>24</strong></p>
<h2>OAuth overview</h2>
<p>You can authenticate with Foursquare’s API in one of two ways.  The simpler, but less secure way is through <a href="http://en.wikipedia.org/wiki/Basic_access_authentication">basic access authentication</a>.  This method requires the user to provide their credentials (username/password) to your application and those credentials get passed right in the web request to the API.  It gets the job done, but makes the user’s data more vulnerable.  The user is also trusting that the application is storing their credentials securely.</p>
<p>The more secure option we will use in this example is <a href="http://en.wikipedia.org/wiki/OAuth">OAuth authentication</a>.  OAuth does a better job of protecting the user&#8217;s credentials and also gives the user greater control over what applications have access to their account.  For example, instead of giving a random application your Foursquare credentials, you instead click on a link within the application that sends you to Foursquare to provide your credentials.  Then Foursquare sends you back to the application with appropriate access keys for the application to use.  Authenticating this way means that your credentials stay between you and Foursquare.  The application you are giving access to only gets the OAuth access keys and doesn&#8217;t see or store your actual Foursquare credentials.  It sounds complicated, but hopefully this tutorial will clear it up a little.  OAuth is becoming more of a standard and as an end user you are probably already authenticating with different applications and web services this way.</p>
<p>Here are the steps for the OAuth workflow that this example will accomplish:</p>
<ol>
<li>Get request key and secret</li>
<li>Provide a link to the Foursquare authorization page</li>
<li>The user will approve or deny access and be redirected back to your application</li>
<li>Get access key and secret (and store in your application database, but we don&#8217;t need to for this example)</li>
<li>Use access key and secret to make API calls</li>
</ol>
<h2>Register with Foursquare to get your key and secret</h2>
<p>The first thing we need to do is register our application with Foursquare to get a request key and secret for our application.  Go to <a href="http://foursquare.com/oauth/register">http://foursquare.com/oauth/register</a>, login and fill in the required information.</p>
<ul>
<li>Application Name:  OAuth Test
<ul>
<li>Give your application a name (My Foursquare App)</li>
</ul>
</li>
<li>Application Web Site:  <a href="http://localhost/">http://localhost/</a>
<ul>
<li>Provide the site where you will host your application (www.mysite.com/my-foursquare-app)</li>
</ul>
</li>
<li>Callback URL:  <a href="http://localhost/test/callback.php">http://localhost/test/callback.php</a>
<ul>
<li>This is the URL that Foursquare will send the user to after authenticating (www.mysite.com/my-foursquare-app/callback.php)</li>
</ul>
</li>
</ul>
<p><a href="http://www.joesiewert.com/wp-content/uploads/2010/04/foursquare_oauth_registration.jpg"><img class="size-full wp-image-363 alignnone" title="foursquare_oauth_registration" src="http://www.joesiewert.com/wp-content/uploads/2010/04/foursquare_oauth_registration.jpg" alt="" width="359" height="212" /></a></p>
<p>Click &#8220;Register&#8221; and Foursquare should generate a new key and secret for your application.  Your key and secret will be different than mine.</p>
<p><a href="http://www.joesiewert.com/wp-content/uploads/2010/04/foursquare_oauth_settings.jpg"><img class="size-full wp-image-364 alignnone" title="foursquare_oauth_settings" src="http://www.joesiewert.com/wp-content/uploads/2010/04/foursquare_oauth_settings.jpg" alt="" width="470" height="336" /></a></p>
<p>You can always return to <a href="http://foursquare.com/oauth/">http://foursquare.com/oauth/</a> to change these details or reset your key and secret.  At this point your application is registered and you have a key and secret to use.</p>
<h2>Add code to the index.php file</h2>
<p>The second task is filling in the index.php file with some code.  Open up index.php and add the following code.  Also if you are curious I am using the <a href="http://wordpress.org/extend/plugins/syntaxhighlighter/">SyntaxHighlighter Evolved plug-in</a> for displaying code.</p>
<pre class="brush: php;">
&lt;?php

//Put in the key and secret for your Foursquare app
//Your values will be different than mine
$consumer_key = &quot;XB1NE31CJ4U22EF2GA53C4ULR3SL2BG21G1M5VTRCZ3K1XW5&quot;;
$consumer_secret = &quot;3RHRD1KJLGFFHKDMD4SCE11NHNDCFUPOIPOQW4VGKLADFKC1&quot;;
$loginurl = &quot;&quot;;

//Includes the foursquare-asyc library files
require_once('EpiCurl.php');
require_once('EpiOAuth.php');
require_once('EpiFoursquare.php');

session_start();
try{
  $foursquareObj = new EpiFoursquare($consumer_key, $consumer_secret);
  $results = $foursquareObj-&gt;getAuthorizeUrl();
  $loginurl = $results['url'] . &quot;?oauth_token=&quot; . $results['oauth_token'];
  $_SESSION['secret'] = $results['oauth_token_secret'];
} catch (Execption $e) {
  //If there is a problem throw an exception
}

echo &quot;&lt;a href='&quot; . $loginurl . &quot;'&gt;Login Via Foursquare&lt;/a&gt;&quot;;  //Display the Foursquare login link
echo &quot;&lt;br&gt;&quot;;
//This is your OAuth token and secret generated above
//The OAuth token is part of the Foursquare link above
//They are dynamic and will change each time you refresh the page
//If everything is working correctly both of these will show up when you open index.php
var_dump($results['oauth_token']);
echo &quot;&lt;br&gt;&quot;;
var_dump($_SESSION['secret']);

?&gt;
</pre>
<p>Now open index.php in your browser and you should see the following, only your two values will be different.</p>
<p><a href="http://www.joesiewert.com/wp-content/uploads/2010/04/foursquare_oauth_login.jpg"><img class="size-full wp-image-365 alignnone" title="foursquare_oauth_login" src="http://www.joesiewert.com/wp-content/uploads/2010/04/foursquare_oauth_login.jpg" alt="" width="585" height="108" /></a></p>
<h2>Add code to the callback.php file</h2>
<p>Before you go to the login link you created, we need to add code to the callback.php file.  Now open that one and add this code.</p>
<pre class="brush: php;">
&lt;?php

//Put in the key and secret for your Foursquare app
//Your values will be different than mine
$consumer_key = &quot;XB1NE31CJ4U22EF2GA53C4ULR3SL2BG21G1M5VTRCZ3K1XW5&quot;;
$consumer_secret = &quot;3RHRD1KJLGFFHKDMD4SCE11NHNDCFUPOIPOQW4VGKLADFKC1&quot;;

//Includes the foursquare-asyc library files
require_once('EpiCurl.php');
require_once('EpiOAuth.php');
require_once('EpiFoursquare.php');

session_start();
$foursquareObj = new EpiFoursquare($consumer_key, $consumer_secret);
$foursquareObj-&gt;setToken($_REQUEST['oauth_token'],$_SESSION['secret']);
$token = $foursquareObj-&gt;getAccessToken();
$foursquareObj-&gt;setToken($token-&gt;oauth_token, $token-&gt;oauth_token_secret);

try {
   //Making a call to the API
   $foursquareTest = $foursquareObj-&gt;get_user();
   print_r($foursquareTest-&gt;response);
 } catch (Exception $e) {
   echo &quot;Error: &quot; . $e;
 }

?&gt;
</pre>
<h2>Test it out</h2>
<p>Now we are ready to try it all out and make a call to the Foursquare API.  This first call is going to bring back your user information.</p>
<p>Open up index.php in your browser again and click the login link.  This is the part where the user leaves your application and goes to authenticate with Foursquare directly.</p>
<p><a href="http://www.joesiewert.com/wp-content/uploads/2010/04/foursquare_oauth_access.jpg"><img class="size-full wp-image-366 alignnone" title="foursquare_oauth_access" src="http://www.joesiewert.com/wp-content/uploads/2010/04/foursquare_oauth_access.jpg" alt="" width="776" height="176" /></a></p>
<p>Notice that your OAuth token is along for the ride in the URL:</p>
<p><a href="http://www.joesiewert.com/wp-content/uploads/2010/04/foursquare_oauth_foursquare_url.jpg"><img class="size-full wp-image-369 alignnone" title="foursquare_oauth_foursquare_url" src="http://www.joesiewert.com/wp-content/uploads/2010/04/foursquare_oauth_foursquare_url.jpg" alt="" width="792" height="33" /></a></p>
<p>Click on &#8220;Allow&#8221; and Foursquare will send the user to the callback page you created.</p>
<p><a href="http://www.joesiewert.com/wp-content/uploads/2010/04/foursquare_oauth_callback_url.jpg"><img class="size-full wp-image-368 alignnone" title="foursquare_oauth_callback_url" src="http://www.joesiewert.com/wp-content/uploads/2010/04/foursquare_oauth_callback_url.jpg" alt="" width="752" height="33" /></a></p>
<p>If everything worked correctly you will see your user information in the browser.</p>
<p>Try a few more API calls.  This will call back your check-in history:</p>
<pre class="brush: php;">
//Making a call to the API
$foursquareTest = $foursquareObj-&gt;get_history();
print_r($foursquareTest-&gt;response);
</pre>
<p>If you want to make a call with parameters it looks like this.  This will get your user information along with your badges and mayorships:</p>
<pre class="brush: php;">
//Making a call to the API
$params = array(&quot;badges&quot;=&gt;1, &quot;mayor&quot;=&gt;1);
$foursquareTest = $foursquareObj-&gt;get_user($params);
print_r($foursquareTest-&gt;response);
</pre>
<p>As you look through the <a href="http://groups.google.com/group/foursquare-api/web/api-documentation">API documentation</a> you will notice the different methods described like this:</p>
<p>URL: http://api.foursquare.com/v1/<strong>venue</strong><br />
Formats: XML, JSON<br />
HTTP Method(s): <strong>GET</strong><br />
Requires Authentication: No, but recommended<br />
Parameters:</p>
<ul>
<li><strong>vid</strong> &#8211; the ID for the venue for which you want information</li>
</ul>
<p>To call the venue details method above in our example we just need to change a couple things.  We know this method takes in the single parameter <strong>vid</strong> and we can grab a venue&#8217;s ID from its Foursquare URL.  22242 in my example corresponds to the venue <a href="http://foursquare.com/venue/22242">Town Talk Diner</a>.  On the next line, combine the HTTP method (<strong>GET</strong>) with the method name from the URL (<strong>venue</strong>) to form <strong>get_venue</strong>.</p>
<pre class="brush: php;">
//Making a call to the API
$params = array(&quot;vid&quot;=&gt;22242);
$foursquareTest = $foursquareObj-&gt;get_venue($params);
print_r($foursquareTest-&gt;response);
</pre>
<p>Note that every time you go through this process and click &#8220;Allow&#8221; Foursquare adds another entry for your application.  You can go to your <a href="http://foursquare.com/settings">Foursquare settings</a> page to clean these up.  If you were building out an application you would want to save the user&#8217;s OAuth information in a database so they don&#8217;t have to re-authenticate each time.  For this example the OAuth information is just getting placed in a temporary browser session and thus we have to re-authenticate each time.</p>
<p><a href="http://www.joesiewert.com/wp-content/uploads/2010/04/foursquare_oauth_connections.jpg"><img class="alignnone size-full wp-image-374" title="foursquare_oauth_connections" src="http://www.joesiewert.com/wp-content/uploads/2010/04/foursquare_oauth_connections.jpg" alt="" width="584" height="180" /></a></p>
<p>Hopefully at this point you are making calls to the API and getting data back.  To go beyond these basic calls refer to the <a href="http://groups.google.com/group/foursquare-api/web/api-documentation">Foursquare API documentation</a> to see everything that is available.  Also refer to the <a href="http://wiki.github.com/jmathai/foursquare-async/">wiki page for the foursquare-asyc library</a> to learn more about how it works.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.joesiewert.com/2010/04/how-to-use-the-foursquare-api-with-oauth-and-php/feed/</wfw:commentRss>
		<slash:comments>57</slash:comments>
		</item>
		<item>
		<title>Thoughts On Eat.ly</title>
		<link>http://www.joesiewert.com/2010/04/thoughts-on-eatly/</link>
		<comments>http://www.joesiewert.com/2010/04/thoughts-on-eatly/#comments</comments>
		<pubDate>Sat, 10 Apr 2010 21:14:59 +0000</pubDate>
		<dc:creator>Joe</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[Social Media]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Eat.ly]]></category>
		<category><![CDATA[foursquare]]></category>
		<category><![CDATA[startups]]></category>
		<category><![CDATA[Twitter]]></category>

		<guid isPermaLink="false">http://www.joesiewert.com/?p=336</guid>
		<description><![CDATA[Eat.ly is a new web service that lets you &#8220;track, share and discover food.&#8221;  It&#8217;s basically a photo blog, similar to DailyBooth, but focused around food.  You take photos of what you eat, provide a few details and email them to Eat.ly for publishing. I&#8217;m intrigued by it because it&#8217;s simple, visual, social and nicely [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.eat.ly/">Eat.ly</a> is a new web service that lets you &#8220;track, share and discover food.&#8221;  It&#8217;s basically a photo blog, similar to <a href="http://dailybooth.com/">DailyBooth</a>, but focused around food.  You take photos of what you eat, provide a few details and email them to Eat.ly for publishing.</p>
<p style="text-align: center;"><a href="http://www.joesiewert.com/wp-content/uploads/2010/04/eatly_logo.jpg"><img class="aligncenter size-full wp-image-343" title="Eat.ly Logo" src="http://www.joesiewert.com/wp-content/uploads/2010/04/eatly_logo.jpg" alt="" width="300" height="171" /></a></p>
<p>I&#8217;m intrigued by it because it&#8217;s simple, visual, social and nicely complements other location/real-time services like <a href="http://www.joesiewert.com/tag/foursquare/">Foursquare</a> and Twitter.  Since many locations on Foursquare revolve around food and drink, Eat.ly adds a nice visual context to the great food you find.  Eat.ly nicely integrates with Foursquare and Twitter, so you can update your Eat.ly stream and check-in/tweet at the same time.</p>
<p>There is also a health component to Eat.ly where users can rank how healthy a meal looks.  I&#8217;m curious to see where they take this idea.  I think there is an opportunity to provide additional functionality around logging calories, daily food group servings and maybe other metrics from various dieting programs.  It could be a very helpful tool for people who closely track what they eat.</p>
<p>Eat.ly is well positioned to take advantage of a growing trend as well.  The New York Times just ran a piece about a growing number of <a href="http://www.nytimes.com/2010/04/07/dining/07camera.html">people who keep photo food diaries</a>.  Unfortunately I didn&#8217;t see Eat.ly mentioned in the article.</p>
<p><a href="http://twitter.com/ericfriedman">Eric Friedman</a>, one of the people behind Eat.ly, posted about the project recently and discusses how it&#8217;s <a href="http://www.marketing.fm/2010/03/29/what-is-eat-ly-too-small-to-fail/">easier than ever to start a small web project</a>.  He blogs regularly at <a href="http://www.marketing.fm/">Marketing.FM</a>.</p>
<p style="text-align: center;"><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="400" height="225" 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://vimeo.com/moogaloop.swf?clip_id=10692312&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" /><embed type="application/x-shockwave-flash" width="400" height="225" src="http://vimeo.com/moogaloop.swf?clip_id=10692312&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://www.joesiewert.com/2010/04/thoughts-on-eatly/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>56K Modems, The National Broadband Plan And Google’s Fiber Network</title>
		<link>http://www.joesiewert.com/2010/04/56k-modems-the-national-broadband-plan-and-google%e2%80%99s-fiber-network/</link>
		<comments>http://www.joesiewert.com/2010/04/56k-modems-the-national-broadband-plan-and-google%e2%80%99s-fiber-network/#comments</comments>
		<pubDate>Tue, 06 Apr 2010 21:07:29 +0000</pubDate>
		<dc:creator>Joe</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[National Broadband Plan]]></category>

		<guid isPermaLink="false">http://www.joesiewert.com/?p=324</guid>
		<description><![CDATA[The other weekend I was pulling apart and reconfiguring some old PCs.  I pulled out a 56K modem from one PC and it made me stop and think about how long it’s been since I used one.  I was first able to use broadband around 2001.  Broadband infrastructure has come a long way in the [...]]]></description>
			<content:encoded><![CDATA[<p>The other weekend I was pulling apart and reconfiguring some old PCs.  I pulled out a <a href="http://en.wikipedia.org/wiki/56_kbit/s_modem">56K modem</a> from one PC and it made me stop and think about how long it’s been since I used one.  I was first able to use broadband around 2001.  Broadband infrastructure has come a long way in the last decade.  Gone are the days of listening to that loud modem dialup sound and tying up the home phone line for hours at a time (for that matter who even needs a landline anymore?).  We’ve gone from downloading content at painfully slow speeds to being able to stream entire movies on demand.  It’s now possible to get an internet connection almost anywhere too whether your <a href="http://www.virginamerica.com/va/press/2009/May/Virgin_America_First_Airline_to_Offer_Fleetwide_WiFi.html">37,000 feet up in the air</a> or on your cell phone on a rural stretch of highway.</p>
<div id="attachment_328" class="wp-caption aligncenter" style="width: 360px"><a href="http://www.joesiewert.com/wp-content/uploads/2010/04/56k_modem.jpg"><img class="size-full wp-image-328" title="56K Modem" src="http://www.joesiewert.com/wp-content/uploads/2010/04/56k_modem.jpg" alt="" width="350" height="262" /></a><p class="wp-caption-text">Remember these?</p></div>
<p>Despite great progress in the broadband area, there are many opportunities for improvement in areas like speed, coverage and affordability.  The <a href="http://www.broadband.gov/">National Broadband Plan</a> is an internet roadmap that will try to address the following six goals (quoted from <a href="http://www.broadband.gov/">the site</a>).</p>
<ol>
<li>At least 100 million U.S. homes should have affordable access to actual download speeds of at least 100 megabits per second and actual upload speeds of at least 50 megabits per second.</li>
<li>The United States should lead the world in mobile innovation, with the fastest and most extensive wireless networks of any nation.</li>
<li>Every American should have affordable access to robust broadband service, and the means and skills to subscribe if they so choose.</li>
<li>Every community should have affordable access to at least 1 Gbps broadband service to anchor institutions such as schools, hospitals and government buildings.</li>
<li>To ensure the safety of Americans, every first responder should have access to a nationwide public safety wireless network.</li>
<li>To ensure that America leads in the clean energy economy, every American should be able to use broadband to track and manage their real-time energy consumption.</li>
</ol>
<p>I’m glad that the U.S. government is thinking about long term internet infrastructure needs and is trying to plan for it now.  There are many challenges and it will require collaboration with private telecommunications companies.  Existing infrastructure needs to be replaced with fiber, rural areas need to move past 56K connectivity and wireless networks need to expand coverage and support a rapidly growing number of users.  There is a great conversation around the plan at <a href="http://www.avc.com/a_vc/2010/03/the-national-broadband-plan.html">Fred Wilson’s AVC.com</a> and another conversation there about the parallels of broadband infrastructure to the development of the <a href="http://www.avc.com/a_vc/2010/03/the-nyc-subway-system.html">NYC subway system</a>.</p>
<p>While the government works on developing its plan, Google has decided to do an <a href="http://googleblog.blogspot.com/2010/02/think-big-with-gig-our-experimental.html">experiment of its own</a>.  Their plan is to build fiber broadband networks in a small number of cities across the U.S.  Google plans to deliver 1 gigabit per second fiber connections to homes, which is about 100 times faster than most broadband connections today.</p>
<p>It’s an exciting experiment and it’s great to see a private company putting up its own capital to push the broadband envelope.  Google received an <a href="http://googleblog.blogspot.com/2010/03/next-steps-for-our-experimental-fiber.html">overwhelming response</a> from communities across the country that want to be part of the experiment.  Communities quickly mobilized grassroots campaigns to vie for Google’s attention.  <a href="http://www.cnn.com/2010/TECH/03/02/google.kansas.topeka/index.html">Topeka, Kansas</a> renamed itself to Google, <a href="http://www.wearefeelinglucky.com/">Greenville, SC</a> made a people-powered LED Google sign and <a href="http://www.googletwinports.com/index.php">Duluth, MN and Superior, WI</a> collaborated on a joint campaign.  Google won’t be able to build in all of them, but it clearly shows that cities everywhere are passionate and eager for better broadband.</p>
<p style="text-align: center;"><a href="http://www.joesiewert.com/wp-content/uploads/2010/04/google_led_sign_greenville_sc.jpg"><img class="aligncenter size-full wp-image-329" title="google_led_sign_greenville_sc" src="http://www.joesiewert.com/wp-content/uploads/2010/04/google_led_sign_greenville_sc.jpg" alt="" width="574" height="383" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.joesiewert.com/2010/04/56k-modems-the-national-broadband-plan-and-google%e2%80%99s-fiber-network/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Send Email With sSMTP And Gmail</title>
		<link>http://www.joesiewert.com/2010/03/send-email-with-ssmtp-and-gmail/</link>
		<comments>http://www.joesiewert.com/2010/03/send-email-with-ssmtp-and-gmail/#comments</comments>
		<pubDate>Sun, 28 Mar 2010 22:04:19 +0000</pubDate>
		<dc:creator>Joe</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Gmail]]></category>
		<category><![CDATA[how-tos]]></category>
		<category><![CDATA[sSMTP]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://www.joesiewert.com/?p=121</guid>
		<description><![CDATA[When I setup the server that runs this website I wanted to receive emails from my contact page and also from my backup jobs that run overnight.  There are many open source mail servers (MTAs) that can accomplish this, but most are overkill for just sending a few emails. sSMTP is a simple, lightweight MTA that [...]]]></description>
			<content:encoded><![CDATA[<p>When I setup the server that runs this website I wanted to receive emails from my <a href="http://www.joesiewert.com/contact/">contact page</a> and also from my backup jobs that run overnight.  There are many open source <a href="http://en.wikipedia.org/wiki/Message_transfer_agent">mail servers (MTAs)</a> that can accomplish this, but most are overkill for just sending a few emails.</p>
<p><a href="http://packages.ubuntu.com/jaunty/ssmtp">sSMTP</a> is a simple, lightweight MTA that will forward messages on a server to a configured mail server.  In my configuration sSMTP forwards mail from my <a href="http://www.ubuntu.com/">Ubuntu</a> server to Gmail.  With this configuration I don&#8217;t have to run a full mail server and can just send the few messages I have to Gmail to do the heavy lifting.</p>
<p style="text-align: center;"><a href="http://www.joesiewert.com/wp-content/uploads/2010/03/gmail_linux.jpg"><img class="aligncenter size-full wp-image-241" title="gmail_linux" src="http://www.joesiewert.com/wp-content/uploads/2010/03/gmail_linux.jpg" alt="" width="250" height="112" /></a></p>
<p><a href="http://www.nixtutor.com/linux/send-mail-with-gmail-and-ssmtp/">Nixtutor</a> has a great article explaining how to configure this.  Here are the steps I used to get this working.</p>
<p>1.  Install sSMTP</p>
<p>From the command line:</p>
<pre>sudo apt-get install ssmtp</pre>
<p>2.  Configure sSMTP to send mail through your Gmail account</p>
<p>Open <strong>/etc/ssmtp/ssmtp.conf</strong> and set the following according to your own Gmail credentials.  The first four lines were already in my config file and just needed to be set.  I needed to manually add the last three lines.</p>
<pre>root=username@gmail.com
mailhub=smtp.gmail.com:587
hostname=username@gmail.com
FromLineOverride=YES
UseSTARTTLS=YES
AuthUser=username
AuthPass=password</pre>
<p>Open <strong>etc/ssmtp/revaliases</strong> and add each user account you want to send mail from.  Most likely you will want to add the root account and your primary user account.</p>
<pre>root:username@gmail.com:smtp.gmail.com:587
linuxusername:username@gmail.com:smtp.gmail.com:587</pre>
<p>3.  Test out the configuration by sending an email to yourself</p>
<p>From the command line:</p>
<pre>sudo ssmtp username@gmail.com</pre>
<p>Then type in your email message, hit enter and then ctrl + d to send the email.  If everything is working correctly, your email will show up in your inbox.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.joesiewert.com/2010/03/send-email-with-ssmtp-and-gmail/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Boxee And Support Via Social Media</title>
		<link>http://www.joesiewert.com/2010/03/boxee-and-support-via-social-media/</link>
		<comments>http://www.joesiewert.com/2010/03/boxee-and-support-via-social-media/#comments</comments>
		<pubDate>Tue, 09 Mar 2010 23:18:49 +0000</pubDate>
		<dc:creator>Joe</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[Social Media]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Boxee]]></category>
		<category><![CDATA[home theater PCs]]></category>
		<category><![CDATA[startups]]></category>
		<category><![CDATA[Twitter]]></category>

		<guid isPermaLink="false">http://www.joesiewert.com/?p=202</guid>
		<description><![CDATA[This past weekend my project was upgrading a home theater PC (HTPC) with some better hardware.  I also wanted to give the latest version of Boxee another try on a freshly configured PC.  I first tried the beta version from a couple months ago on another HTPC (I&#8217;ve got two running) and despite being initially impressed, [...]]]></description>
			<content:encoded><![CDATA[<p>This past weekend my project was upgrading a <a href="http://en.wikipedia.org/wiki/Home_theater_PC">home theater PC</a> (HTPC) with some better hardware.  I also wanted to give the latest version of <a href="http://www.boxee.tv/">Boxee</a> another try on a freshly configured PC.  <a href="http://www.joesiewert.com/wp-content/uploads/2010/03/boxee_logo.png"><img class="alignright size-full wp-image-204" title="Boxee Logo" src="http://www.joesiewert.com/wp-content/uploads/2010/03/boxee_logo.png" alt="" width="160" height="199" /></a>I first tried the <a href="http://techcrunch.com/2010/01/07/boxee-beta-download/">beta version</a> from a couple months ago on another HTPC (I&#8217;ve got two running) and despite being initially impressed, I was quickly turned off by sluggish and choppy streaming video and a somewhat unresponsive UI.</p>
<p>I thought the streaming issues might be caused by the wireless connection to the PC.  In a perfect world I would have it plugged in with a network cable, but the layout at home prevents this.  Furthermore, I&#8217;m able to stream content through a web browser from Netflix and Hulu with pretty good consistency on the same PC.</p>
<p>The UI at first glance looks nice and slick.  Everything is well designed to display on a TV and be viewed from across the room.  In my case I only have a mouse connected to the PC and find navigation to be difficult.  Mouse clicks don&#8217;t always register and clicking back to previous screens often doesn&#8217;t work.  I also find the worst scenario is when you start a streaming video, it begins to chop, you try to click back to stop the video, the click doesn&#8217;t register and you are essentially stuck and have to completely restart the PC.  In my case this hard reboot sent my PC into a cycle of endless blue screens and reboots.</p>
<p>In short, my second go around with the new beta version wasn&#8217;t any better than the first.  Disappointed, I left a little frustration out on <a href="http://twitter.com/joesiewert/statuses/10100120112">Twitter</a> and to my surprise I heard back from <a href="http://twitter.com/boxee_help">Boxee&#8217;s support account</a>.  We had a short conversation and I sent the log file to them.  I really like how social media tools are helping customers and businesses connect like this and was impressed that Boxee was out there listening for customer feedback.</p>
<p style="text-align: center;"><a href="http://www.joesiewert.com/wp-content/uploads/2010/03/boxee_twitter_1.jpg"><img class="aligncenter size-full wp-image-206" title="boxee_twitter_1" src="http://www.joesiewert.com/wp-content/uploads/2010/03/boxee_twitter_1.jpg" alt="" width="561" height="247" /></a><a href="http://www.joesiewert.com/wp-content/uploads/2010/03/boxee_twitter_2.jpg"></a></p>
<p style="text-align: center;">
<p style="text-align: center;"><a href="http://www.joesiewert.com/wp-content/uploads/2010/03/boxee_twitter_2.jpg"><img class="aligncenter size-full wp-image-205" title="boxee_twitter_2" src="http://www.joesiewert.com/wp-content/uploads/2010/03/boxee_twitter_2.jpg" alt="" width="496" height="242" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.joesiewert.com/2010/03/boxee-and-support-via-social-media/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How To Setup XAMPP For Web Development</title>
		<link>http://www.joesiewert.com/2010/01/how-to-setup-xampp-for-web-development/</link>
		<comments>http://www.joesiewert.com/2010/01/how-to-setup-xampp-for-web-development/#comments</comments>
		<pubDate>Mon, 25 Jan 2010 20:57:14 +0000</pubDate>
		<dc:creator>Joe</dc:creator>
				<category><![CDATA[Software Development]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Apache]]></category>
		<category><![CDATA[how-tos]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[XAMPP]]></category>

		<guid isPermaLink="false">http://www.joesiewert.com/?p=169</guid>
		<description><![CDATA[XAMPP is a software package that makes it quick and easy to install Apache, MySQL, PHP and Perl on any OS.  If you need to get a local web development environment setup quickly this is a great option.  For convenience, many features are turned on by default, so while great for local development, XAMPP is [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.apachefriends.org/en/xampp.html">XAMPP</a> is a software package that makes it quick and easy to install Apache, MySQL, PHP and Perl on any OS.  If you need to get a local web development environment setup quickly this is a great option.  For convenience, many features are turned on by default, so while great for local development, XAMPP is not designed to be secure and ready for a production environment out of the box.</p>
<p>The XAMPP installation is straightforward, but I wanted to provide some screenshots to guide a new user through to loading a test page in the browser successfully.  If anything is confusing, leave a comment below.</p>
<p>There are installs available for Linux, Windows, Mac OS X and Solaris.  The steps below are written for the Windows install.</p>
<p>To start, download <a href="http://www.apachefriends.org/en/xampp-windows.html#641">XAMPP for Windows</a>.  I recommend getting the EXE install.  Run the installer and select the installation destination on your PC.  I recommend sticking with the C:\ default for simplicity.</p>
<p style="text-align: center;"><a href="http://www.joesiewert.com/wp-content/uploads/2010/01/xampp_installer.jpg"><img class="size-full wp-image-168  aligncenter" title="xampp_installer" src="http://www.joesiewert.com/wp-content/uploads/2010/01/xampp_installer.jpg" alt="" width="531" height="400" /></a></p>
<p>After the install is done you can start up Apache and MySQL from the XAMPP Control Panel.  If the control panel doesn’t show up right away you can launch it from the Start Menu.</p>
<p style="text-align: center;"><a href="http://www.joesiewert.com/wp-content/uploads/2010/01/xampp_control_panel.jpg"><img class="aligncenter size-full wp-image-165" title="xampp_control_panel" src="http://www.joesiewert.com/wp-content/uploads/2010/01/xampp_control_panel.jpg" alt="" width="450" height="386" /></a></p>
<p>If you have the built in Windows firewall running, it will ask you if you want to unblock Apache and MySQL the first time.  Go ahead and click Unblock.</p>
<p style="text-align: center;"><a href="http://www.joesiewert.com/wp-content/uploads/2010/01/xampp_firewall.jpg"><img class="aligncenter size-full wp-image-166" title="xampp_firewall" src="http://www.joesiewert.com/wp-content/uploads/2010/01/xampp_firewall.jpg" alt="" width="438" height="316" /></a></p>
<p>Next open up your favorite browser and navigate to <a href="http://localhost/">http://localhost/</a>.</p>
<p>If Apache is running correctly you should see a splash screen where you can select your language.  After selecting that it will take you to the XAMPP home page below which gives you status information and details about the installed software packages.  You can also get to <a href="http://www.phpmyadmin.net/home_page/index.php">phpMyAdmin</a> from here for working with your MySQL installation.</p>
<p style="text-align: center;"><a href="http://www.joesiewert.com/wp-content/uploads/2010/01/xampp_home_page.jpg"><img class="aligncenter size-full wp-image-171" title="xampp_home_page" src="http://www.joesiewert.com/wp-content/uploads/2010/01/xampp_home_page.jpg" alt="" width="950" height="265" /></a></p>
<p>Now that the Apache web server is running, lets test it out with a simple Hello World example in PHP.</p>
<p>Navigate to the htdocs folder in your XAMPP installation (C:\xampp\htdocs by default).  Any web projects you add here will be accessible through the browser.</p>
<p>Create a new folder in C:\xampp\htdocs named hello.</p>
<p>Then create a file in the hello folder called index.php and use your favorite text editor to put this code in it.  I like <a href="http://notepad-plus.sourceforge.net/uk/site.htm">Notepad ++</a>, but Notepad works fine too.</p>
<pre class="brush: php;">
&lt;?php
echo 'Hello world!';
?&gt;
</pre>
<p>Now go back to your browser and navigate to <a href="http://localhost/hello/index.php">http://localhost/hello/index.php</a></p>
<p>If everything worked correctly your page should load with the classic programming greeting.  You now have a basic web development environment to play around in.</p>
<p style="text-align: center;"><a href="http://www.joesiewert.com/wp-content/uploads/2010/01/xampp_hello_world.jpg"><img class="aligncenter size-full wp-image-173" title="xampp_hello_world" src="http://www.joesiewert.com/wp-content/uploads/2010/01/xampp_hello_world.jpg" alt="" width="322" height="62" /></a></p>
<p>Got a question?  Leave a comment below.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.joesiewert.com/2010/01/how-to-setup-xampp-for-web-development/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Do You Play Foursquare?</title>
		<link>http://www.joesiewert.com/2010/01/do-you-play-foursquare/</link>
		<comments>http://www.joesiewert.com/2010/01/do-you-play-foursquare/#comments</comments>
		<pubDate>Wed, 13 Jan 2010 20:24:02 +0000</pubDate>
		<dc:creator>Joe</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[Social Media]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[foursquare]]></category>
		<category><![CDATA[SMS]]></category>
		<category><![CDATA[startups]]></category>
		<category><![CDATA[text messaging]]></category>

		<guid isPermaLink="false">http://www.joesiewert.com/?p=143</guid>
		<description><![CDATA[Foursquare is going to explode in popularity this year.  Foursquare is a mobile web service that launched last year that makes a game out of connecting with friends and exploring cities.  It&#8217;s played on your phone and if you&#8217;re a fan of all things web and go out often, you&#8217;ll be addicted in no time.  I [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: left;"><a href="http://foursquare.com/">Foursquare</a> is going to explode in popularity this year.  Foursquare is a mobile web service that launched last year that makes a game out of connecting with friends and exploring cities.  It&#8217;s played on your phone and if you&#8217;re a fan of all things web and go out often, you&#8217;ll be addicted in no time.  I will try to explain the basics here, but the best way to understand Foursquare is to go try it out.</p>
<p style="text-align: center;"><img class="aligncenter size-full wp-image-156" title="Foursquare Logo" src="http://www.joesiewert.com/wp-content/uploads/2010/01/foursquare_logo.jpg" alt="Foursquare Logo" width="360" height="150" /></p>
<p><strong>What Is Foursquare?</strong></p>
<p>Foursquare describes itself as part friend finder, social city guide and nightlife game.  So what does that mean?</p>
<p><strong>Friend Finder</strong></p>
<ul>
<li>Users &#8220;check-in&#8221; to venues from a mobile device.  A venue can be any place people go like a restaurant, bar, museum, park, etc.</li>
<li>You add friends to your Foursquare account and can then see each other&#8217;s check-ins.  Makes meeting up with people on the fly easy!</li>
<li>Foursquare is integrated with Twitter and Facebook, so you can blast your check-ins out to a broader audience if you want.</li>
</ul>
<p><strong>Social City Guide</strong></p>
<ul>
<li>Each venue on Foursquare has its own profile page that shows all kinds of details about it.</li>
<li>Users can leave behind short tips at venues telling future users good things to order, try, do, etc.  It&#8217;s fun to check these when you visit a place for the first time.</li>
<li>Venues can create promotions for Foursquare users.  Think freebies and discounts!</li>
</ul>
<p><strong>Nightlife Game</strong></p>
<ul>
<li>Users that check-in at a venue the most often become the Mayor.  Creates an instant incentive for repeat visits.</li>
<li>Check-ins also earn users points and unlock badges for certain actions.  As Foursquare evolves I think the points will become more meaningful beyond bragging rights.</li>
</ul>
<p><strong>How Do You Play?</strong></p>
<p>Foursquare is meant to be played from your phone while you&#8217;re on the go.  There are Foursquare apps for the iPhone, Android devices, Palm devices and one is on the way for Blackberry too.  Users with phones that don&#8217;t have an app can use Foursquare&#8217;s mobile page instead (<a href="http://foursquare.com/mobile/">http://foursquare.com/mobile/</a>).  Finally, if you are like me, and don&#8217;t have a smartphone, you can still check-in with standard text messages.  The apps provide a more robust user experience, but texting still gets the job done.</p>
<p>To use text messaging send a text to 50500 in this form:</p>
<p><em>@ Ace Bar ! Playing skeeball</em></p>
<p>The @ designates the venue name and the ! designates your shout, which is a short message you can include with your check-in.  Note that you need to text in the exact name of the venue for the check-in to register correctly.  You can search venues from Foursquare&#8217;s <a href="http://foursquare.com/">main page</a> to get the exact name.  If the check-in is successful you should get a confirmation message back from Foursquare.</p>
<p><strong>For Businesses</strong></p>
<p>If you&#8217;re a local restaurant, bar, etc. you should definitely consider running a promotion on Foursquare.  It&#8217;s free to run an offer and can really entice users to stop by.  Find out more and sign-up for promotions here:  <a rel="nofollow" href="http://foursquare.com/businesses/">http://foursquare.com/businesses/</a>.</p>
<p><strong>For Developers</strong></p>
<p>Foursquare recently opened up an API to developers for building applications to interact with Foursquare.  Developers are already creating some neat software like <a href="http://play.mobzombies.com/">Mob Zombies</a>.  See more information and examples here:  <a href="http://foursquare.com/developers/">http://foursquare.com/developers/</a>.</p>
<p>Similar to how Twitter grew in popularity last year and everyone was asking if you tweet, I think this year we&#8217;ll see the same thing happen with Foursquare.  If you have any questions about how it works leave a comment below, check Foursquare&#8217;s <a href=" http://foursquare.com/help/">help page</a> or leave a question at their <a href="http://getsatisfaction.com/foursquare">Get Satisfaction</a> site.  Go play!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.joesiewert.com/2010/01/do-you-play-foursquare/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Bing Travel Search</title>
		<link>http://www.joesiewert.com/2009/12/bing-travel-search/</link>
		<comments>http://www.joesiewert.com/2009/12/bing-travel-search/#comments</comments>
		<pubDate>Tue, 22 Dec 2009 20:44:21 +0000</pubDate>
		<dc:creator>Joe</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[Bing]]></category>

		<guid isPermaLink="false">http://www.joesiewert.com/?p=134</guid>
		<description><![CDATA[I recently needed to book a plane ticket, which is something I hate doing because it seems nearly impossible to know when to buy to get the lowest price.  In the past I have used Kayak and Orbitz, which are good at identifying low prices at the times I want, but they are not good [...]]]></description>
			<content:encoded><![CDATA[<p>I recently needed to book a plane ticket, which is something I hate doing because it seems nearly impossible to know when to buy to get the lowest price.  In the past I have used <a href="http://www.kayak.com/">Kayak</a> and <a href="http://www.orbitz.com/">Orbitz</a>, which are good at identifying low prices at the times I want, but they are not good at providing future price predictions.</p>
<p><a href="http://www.bing.com/travel/">Bing</a> has a great fare predictor feature that suggests whether it is time to buy or if I should wait based on past fare observations.  It indicates the likelihood the fare will go up, down or stay the same and the potential price changes as well.  There is no guarantee it will be right, but it gives you a good sense about the direction the fare will go and in my case for this flight it was correct and I wound up getting a nice deal.  Check it out next time you need to go somewhere.</p>
<p><img class="aligncenter size-full wp-image-135" title="Bing Price Prediction" src="http://www.joesiewert.com/wp-content/uploads/2009/12/bing_travel.jpg" alt="Bing Price Prediction" width="541" height="751" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.joesiewert.com/2009/12/bing-travel-search/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
