<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>Tech Thought</title>
	
	<link>http://blog.evandavey.com</link>
	<description>Tech tips, hints, and general musings. PHP, Perl, Mysql, Javascript, AJAX, JSON, Linux, Mac OSX</description>
	<lastBuildDate>Thu, 08 Jul 2010 06:42:50 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/EvsTechThoughtOfTheDay" /><feedburner:info uri="evstechthoughtoftheday" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
		<title>How-to Fix: The application-identifier entitlement is not formatted correctly</title>
		<link>http://feedproxy.google.com/~r/EvsTechThoughtOfTheDay/~3/r5SZKIil8vM/how-to-fix-the-application-identifier-entitlement-is-not-formatted-correctly.html</link>
		<comments>http://blog.evandavey.com/2010/07/how-to-fix-the-application-identifier-entitlement-is-not-formatted-correctly.html#comments</comments>
		<pubDate>Thu, 08 Jul 2010 06:42:50 +0000</pubDate>
		<dc:creator>Ev</dc:creator>
				<category><![CDATA[How To]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[errors]]></category>
		<category><![CDATA[iTunes Connect]]></category>

		<guid isPermaLink="false">http://blog.evandavey.com/?p=649</guid>
		<description><![CDATA[A new error has started showing up when submitting iPhone Apps through iTunes Connect: &#8220;The application-identifier entitlement is not formatted correctly; it should contain your 10-character App ID Seed, followed by a dot, followed by your bundle identifier.&#8221; From what I can tell, the way to fix this to create a NEW entitlements file (see [...]]]></description>
			<content:encoded><![CDATA[<p>A new error has started showing up when submitting iPhone Apps through iTunes Connect:</p>
<blockquote><p>&#8220;The application-identifier entitlement is not formatted correctly; it should contain your 10-character App ID Seed, followed by a dot, followed by your bundle identifier.&#8221;</p></blockquote>
<p>From what I can tell, the way to fix this to create a NEW entitlements file (see my <a href="http://wp.me/pcvsl-4A">previous post</a> on creating adhoc builds for instructions on how to do this).  Previously we&#8217;d only had to create an entitlements file and uncheck &#8220;get-task-allow&#8221;.</p>
<p>However now it appears you also need to add a new &#8220;keychain-access-group&#8221; and add an item which includes your App Identifier (get this from the iTunes Provisioning Portal) and your bundle identifier (com.mycompany.bundle_name).</p>
<p>See an example below:</p>
<p><a href="http://blog.evandavey.com/wp-content/uploads/2010/07/itunes-submission-error1.png"><img class="aligncenter size-full wp-image-652" title="itunes-submission-error" src="http://blog.evandavey.com/wp-content/uploads/2010/07/itunes-submission-error1.png" alt="" width="562" height="130" /></a></p>
<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fblog.evandavey.com%2F2010%2F07%2Fhow-to-fix-the-application-identifier-entitlement-is-not-formatted-correctly.html&amp;layout=standard&amp;&amp;width=450&amp;action=like&amp;colorscheme=light" scrolling="no" frameborder="0" allowTransparency="true" style="border:none; overflow:hidden; width:450px;height:30px;margin-top:5px;"></iframe>]]></content:encoded>
			<wfw:commentRss>http://blog.evandavey.com/2010/07/how-to-fix-the-application-identifier-entitlement-is-not-formatted-correctly.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://blog.evandavey.com/2010/07/how-to-fix-the-application-identifier-entitlement-is-not-formatted-correctly.html</feedburner:origLink></item>
		<item>
		<title>Ikea Ad for Kevin Rudd</title>
		<link>http://feedproxy.google.com/~r/EvsTechThoughtOfTheDay/~3/02oAl6PAp-k/ikea-ad-for-kevin-rudd.html</link>
		<comments>http://blog.evandavey.com/2010/06/ikea-ad-for-kevin-rudd.html#comments</comments>
		<pubDate>Fri, 25 Jun 2010 06:33:20 +0000</pubDate>
		<dc:creator>Ev</dc:creator>
				<category><![CDATA[Humor]]></category>

		<guid isPermaLink="false">http://blog.evandavey.com/?p=643</guid>
		<description><![CDATA[Ikea has obviously had their marketing team working overtime to get this out for today&#8217;s papers:]]></description>
			<content:encoded><![CDATA[<p>Ikea has obviously had their marketing team working overtime to get this out for today&#8217;s papers:</p>
<p style="text-align: center;"><a href="http://blog.evandavey.com/wp-content/uploads/2010/06/kevinikeaad.jpg"><img class="aligncenter size-full wp-image-644" title="Kevin Ikea Ad" src="http://blog.evandavey.com/wp-content/uploads/2010/06/kevinikeaad.jpg" alt="" width="483" height="362" /></a></p>
<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fblog.evandavey.com%2F2010%2F06%2Fikea-ad-for-kevin-rudd.html&amp;layout=standard&amp;&amp;width=450&amp;action=like&amp;colorscheme=light" scrolling="no" frameborder="0" allowTransparency="true" style="border:none; overflow:hidden; width:450px;height:30px;margin-top:5px;"></iframe>]]></content:encoded>
			<wfw:commentRss>http://blog.evandavey.com/2010/06/ikea-ad-for-kevin-rudd.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blog.evandavey.com/2010/06/ikea-ad-for-kevin-rudd.html</feedburner:origLink></item>
		<item>
		<title>How To: iPhone SDK – Play and Record Audio concurrently</title>
		<link>http://feedproxy.google.com/~r/EvsTechThoughtOfTheDay/~3/N6NZ1vJxhsk/how-to-iphone-sdk-play-and-record-audio-concurrently.html</link>
		<comments>http://blog.evandavey.com/2010/04/how-to-iphone-sdk-play-and-record-audio-concurrently.html#comments</comments>
		<pubDate>Sun, 25 Apr 2010 02:06:49 +0000</pubDate>
		<dc:creator>Ev</dc:creator>
				<category><![CDATA[iPhone Development]]></category>
		<category><![CDATA[iphone]]></category>

		<guid isPermaLink="false">http://blog.evandavey.com/?p=635</guid>
		<description><![CDATA[Unfortunately, it&#8217;s quite a fiddly process to record audio and play it back at the same time on the iPhone.  By default, the sound output is very quiet from the iPhone&#8217;s speaker when you are recording sound.  So how do we fix this? First, setup your audio session to record audio: NSURL *url = [NSURL [...]]]></description>
			<content:encoded><![CDATA[<p>Unfortunately, it&#8217;s quite a fiddly process to record audio and play it back at the same time on the iPhone.  By default, the sound output is very quiet from the iPhone&#8217;s speaker when you are recording sound.  So how do we fix this?</p>
<p>First, setup your audio session to record audio:</p>
<pre>NSURL *url = [NSURL fileURLWithPath:@"/dev/null"];
NSDictionary *settings = [NSDictionary dictionaryWithObjectsAndKeys:
   [NSNumber numberWithFloat: 44100.0],                 AVSampleRateKey,
   [NSNumber numberWithInt: kAudioFormatAppleLossless], AVFormatIDKey,
   [NSNumber numberWithInt: 1],                         AVNumberOfChannelsKey,
   [NSNumber numberWithInt: AVAudioQualityMax],         AVEncoderAudioQualityKey, nil];

recorder = [[AVAudioRecorder alloc] initWithURL:url settings:settings error:&amp;error];
if (recorder) {
   [recorder prepareToRecord];
   recorder.meteringEnabled = YES;
   [recorder record];
} else {
   NSLog(@"Error: %@", error);
}
</pre>
<p>Then tell the device you want to record and play audio at the same time:</p>
<pre>AVAudioSession *audioSession = [AVAudioSession sharedInstance];
NSError *err = nil;
[audioSession setCategory :AVAudioSessionCategoryPlayAndRecord error:&amp;err];</pre>
<p>Then, and this is the key, allow the volume from the speakers to also be loud when recording:</p>
<pre>UInt32 audioRouteOverride = kAudioSessionOverrideAudioRoute_Speaker;
AudioSessionSetProperty (kAudioSessionProperty_OverrideAudioRoute,
sizeof(audioRouteOverride),&amp;audioRouteOverride);</pre>
<p>The end result?  You can happily play audio at full volume while recording from the device&#8217;s microphone.  Happy days.</p>
<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fblog.evandavey.com%2F2010%2F04%2Fhow-to-iphone-sdk-play-and-record-audio-concurrently.html&amp;layout=standard&amp;&amp;width=450&amp;action=like&amp;colorscheme=light" scrolling="no" frameborder="0" allowTransparency="true" style="border:none; overflow:hidden; width:450px;height:30px;margin-top:5px;"></iframe>]]></content:encoded>
			<wfw:commentRss>http://blog.evandavey.com/2010/04/how-to-iphone-sdk-play-and-record-audio-concurrently.html/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		<feedburner:origLink>http://blog.evandavey.com/2010/04/how-to-iphone-sdk-play-and-record-audio-concurrently.html</feedburner:origLink></item>
		<item>
		<title>WSP Digital</title>
		<link>http://feedproxy.google.com/~r/EvsTechThoughtOfTheDay/~3/rhzGGNI8eJI/wsp-digital.html</link>
		<comments>http://blog.evandavey.com/2010/04/wsp-digital.html#comments</comments>
		<pubDate>Fri, 23 Apr 2010 00:45:48 +0000</pubDate>
		<dc:creator>Ev</dc:creator>
				<category><![CDATA[News]]></category>
		<category><![CDATA[wsp]]></category>

		<guid isPermaLink="false">http://blog.evandavey.com/?p=623</guid>
		<description><![CDATA[WSP Digital, who provide a range of products and services, from the world leading EIATRACK service through to advanced iPhone development, launched their new website yesterday: Taking inspiration from origami in it&#8217;s design, look and feel, the website is a nice example of the power of WordPress to produce effective platforms to inform customers of your services.]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.wspdigital.com">WSP Digital</a>, who provide a range of <a href="http://www.wspdigital.com/products/">products</a> and <a href="http://www.wspdigital.com/solutions/">services</a>, from the world leading <a href="http://www.eiatrack.org">EIATRACK</a> service through to advanced <a href="http://www.wspdigital.com/solutions/mobile/iphone">iPhone development</a>, launched their new website yesterday:</p>
<p style="text-align: center;"><a href="http://blog.evandavey.com/wp-content/uploads/2010/04/wspdigital.png"><img class="size-medium wp-image-624  aligncenter" title="WSP Digital Website" src="http://blog.evandavey.com/wp-content/uploads/2010/04/wspdigital-300x273.png" alt="" width="300" height="273" /></a></p>
<p>Taking inspiration from origami in it&#8217;s design, look and feel, the website is a nice example of the power of WordPress to produce effective platforms to inform customers of your services.</p>
<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fblog.evandavey.com%2F2010%2F04%2Fwsp-digital.html&amp;layout=standard&amp;&amp;width=450&amp;action=like&amp;colorscheme=light" scrolling="no" frameborder="0" allowTransparency="true" style="border:none; overflow:hidden; width:450px;height:30px;margin-top:5px;"></iframe>]]></content:encoded>
			<wfw:commentRss>http://blog.evandavey.com/2010/04/wsp-digital.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blog.evandavey.com/2010/04/wsp-digital.html</feedburner:origLink></item>
		<item>
		<title>Facebook Connect Mobile: XML Schema Error on Mobile Devices</title>
		<link>http://feedproxy.google.com/~r/EvsTechThoughtOfTheDay/~3/66y3KWZauiI/facebook-connect-mobile-xml-schema-error-on-mobile-devices.html</link>
		<comments>http://blog.evandavey.com/2010/04/facebook-connect-mobile-xml-schema-error-on-mobile-devices.html#comments</comments>
		<pubDate>Mon, 19 Apr 2010 12:42:55 +0000</pubDate>
		<dc:creator>Ev</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[mobile]]></category>
		<category><![CDATA[facebook]]></category>

		<guid isPermaLink="false">http://blog.evandavey.com/?p=622</guid>
		<description><![CDATA[If you&#8217;re getting an XML error when you&#8217;re using Facebook Connect to post to a users stream using the function: $facebook-&#62;render_prompt_feed_url() Then ensure the following: You don&#8217;t have any double quotes in your attachment You don&#8217;t have any ampersands in your return URL For some reason the content is being placed in a hidden field [...]]]></description>
			<content:encoded><![CDATA[<div style="float: right;"><img class="size-full wp-image-629     alignright" title="Facebook-developers-logo" src="http://blog.evandavey.com/wp-content/uploads/2010/04/Facebook-developers-logo.png" alt="" width="137" height="144" /></div>
<p>If you&#8217;re getting an XML error when you&#8217;re using Facebook Connect to post to a users stream using the function:</p>
<p><strong>$facebook-&gt;render_prompt_feed_url()</strong></p>
<p>Then ensure the following:</p>
<ul>
<li>You don&#8217;t have any double quotes in your attachment</li>
<li>You don&#8217;t have any ampersands in your return URL</li>
</ul>
<p>For some reason the content is being placed in a hidden field on the page on &#8220;mobile&#8221; devices.  This isn&#8217;t escaping the contents of the post, and hence breaks if you have any of the above.</p>
<p>Highly frustrating!  Hope this helps someone.</p>
<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fblog.evandavey.com%2F2010%2F04%2Ffacebook-connect-mobile-xml-schema-error-on-mobile-devices.html&amp;layout=standard&amp;&amp;width=450&amp;action=like&amp;colorscheme=light" scrolling="no" frameborder="0" allowTransparency="true" style="border:none; overflow:hidden; width:450px;height:30px;margin-top:5px;"></iframe>]]></content:encoded>
			<wfw:commentRss>http://blog.evandavey.com/2010/04/facebook-connect-mobile-xml-schema-error-on-mobile-devices.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blog.evandavey.com/2010/04/facebook-connect-mobile-xml-schema-error-on-mobile-devices.html</feedburner:origLink></item>
		<item>
		<title>New iPhone: Torch, Flash and Front/Rear cameras?</title>
		<link>http://feedproxy.google.com/~r/EvsTechThoughtOfTheDay/~3/ptVp43Q0XYo/new-iphone-torch-flash-and-frontrear-cameras.html</link>
		<comments>http://blog.evandavey.com/2010/04/new-iphone-torch-flash-and-frontrear-cameras.html#comments</comments>
		<pubDate>Sat, 10 Apr 2010 02:26:53 +0000</pubDate>
		<dc:creator>Ev</dc:creator>
				<category><![CDATA[News]]></category>
		<category><![CDATA[iphone]]></category>

		<guid isPermaLink="false">http://blog.evandavey.com/?p=614</guid>
		<description><![CDATA[After the recent release to developers of iPhone SDK 4.0, the inevitable scramble to review the new APIs has been on in earnest.  One of the first things noticed were the following new AVCaptureDevice class properties: AVCaptureDevice &#8211; isFlashMode Supported AVCaptureDevice &#8211; isTorchMode Supported AVCaptureDevice &#8211; position (Front or Rear) These new properties relating to the iPhone SDK [...]]]></description>
			<content:encoded><![CDATA[<div>
<p><a href="http://blog.evandavey.com/wp-content/uploads/2010/04/iphonesdk.jpg"><img class="alignright" style="float: right;" title="iPhone SDK" src="http://blog.evandavey.com/wp-content/uploads/2010/04/iphonesdk.jpg" alt="" width="144" height="131" /></a><br />
After the recent release to developers of <a href="http://developer.apple.com/iphone">iPhone SDK 4.0</a>, the inevitable scramble to review the new APIs has been on in earnest.  One of the first things noticed were the following new AVCaptureDevice class properties:</p>
<ul>
<li>AVCaptureDevice &#8211; isFlashMode Supported</li>
<li>AVCaptureDevice &#8211; isTorchMode Supported</li>
<li>AVCaptureDevice &#8211; position (Front or Rear)</li>
</ul>
<p>These new properties relating to the iPhone SDK class AVCaptureDevice, a class used for audio and video capture and management, suggest that the new iPhone (to be announced at <a href="http://developer.apple.com/wwdc">WWDC</a> 2010??) may well include a &#8220;Flash&#8221;, a &#8220;Torch&#8221; and a front camera.</p>
<p>If this was to turn out to be true, then a front camera for the phone would make video calls possible, the ability to take photos while viewing the camera feed, and the flash would allow you to take photos in the dark!</p>
<p>All very cool new potential features.  Let&#8217;s keep our fingers crossed that this turns out to be the case!</p>
</div>
<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fblog.evandavey.com%2F2010%2F04%2Fnew-iphone-torch-flash-and-frontrear-cameras.html&amp;layout=standard&amp;&amp;width=450&amp;action=like&amp;colorscheme=light" scrolling="no" frameborder="0" allowTransparency="true" style="border:none; overflow:hidden; width:450px;height:30px;margin-top:5px;"></iframe>]]></content:encoded>
			<wfw:commentRss>http://blog.evandavey.com/2010/04/new-iphone-torch-flash-and-frontrear-cameras.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blog.evandavey.com/2010/04/new-iphone-torch-flash-and-frontrear-cameras.html</feedburner:origLink></item>
		<item>
		<title>Product Ecology: LCA and Compliance meet usability</title>
		<link>http://feedproxy.google.com/~r/EvsTechThoughtOfTheDay/~3/zAuBxxzanhc/product-ecology-lca-and-compliance-meet-usability.html</link>
		<comments>http://blog.evandavey.com/2010/04/product-ecology-lca-and-compliance-meet-usability.html#comments</comments>
		<pubDate>Sat, 03 Apr 2010 08:11:24 +0000</pubDate>
		<dc:creator>Ev</dc:creator>
				<category><![CDATA[News]]></category>
		<category><![CDATA[product ecology]]></category>
		<category><![CDATA[wsp]]></category>

		<guid isPermaLink="false">http://blog.evandavey.com/?p=610</guid>
		<description><![CDATA[WSP Digital today released Product Ecology, a new web based sustainability tool providing Life Cycle Assessment (LCA) and Product Compliance support. Aimed at product designers, industrial designers, product developers, engineers, environmental managers and brand owners the tool provides three key features: Compliance Navigator &#8211; a compliance guidance tool, covering EU RoHS, EU Batteries and EPEAT [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.wspdigital.com">WSP Digital</a> today released <a href="http://www.productecologyonline.com/www/">Product Ecology</a>, a new web based sustainability tool providing Life Cycle Assessment (<a href="http://en.wikipedia.org/wiki/Life_cycle_assessment">LCA</a>) and Product Compliance support.</p>
<p style="text-align: center;"><img class="aligncenter" title="Product Ecology Home Page" src="http://www.productecologyonline.com/www/wp-content/uploads/2010/04/homescreen-300x242.png" alt="" width="300" height="242" /></p>
<p>Aimed at product designers, industrial designers, product developers, engineers, environmental managers and brand owners the tool provides three key features:</p>
<ul>
<li>Compliance Navigator &#8211; a compliance guidance tool, covering EU RoHS, EU Batteries and EPEAT with EuP and many other compliance requirements to be rolled out over the coming weeks and months</li>
<li>Lifecycle Designer &#8211; an easy to use and powerful LCA tool backed by data from the Swiss <a href="http://www.ecoinvent.ch">EcoInvent</a> database</li>
<li>ecoCompare &#8211; a powerful material/process/transport/waste comparison tool</li>
</ul>
<p>It&#8217;s clear that the tool has been developed with usability in mind, providing a unique and powerful web-based tool for the design community.</p>
<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fblog.evandavey.com%2F2010%2F04%2Fproduct-ecology-lca-and-compliance-meet-usability.html&amp;layout=standard&amp;&amp;width=450&amp;action=like&amp;colorscheme=light" scrolling="no" frameborder="0" allowTransparency="true" style="border:none; overflow:hidden; width:450px;height:30px;margin-top:5px;"></iframe>]]></content:encoded>
			<wfw:commentRss>http://blog.evandavey.com/2010/04/product-ecology-lca-and-compliance-meet-usability.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blog.evandavey.com/2010/04/product-ecology-lca-and-compliance-meet-usability.html</feedburner:origLink></item>
		<item>
		<title>Online Tool to Convert .ICS file to Excel/CSV</title>
		<link>http://feedproxy.google.com/~r/EvsTechThoughtOfTheDay/~3/mGfi4s01X7I/online-tool-to-convert-ics-file-to-excelcsv.html</link>
		<comments>http://blog.evandavey.com/2010/02/online-tool-to-convert-ics-file-to-excelcsv.html#comments</comments>
		<pubDate>Sun, 14 Feb 2010 01:52:16 +0000</pubDate>
		<dc:creator>Ev</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[csv]]></category>
		<category><![CDATA[excel]]></category>
		<category><![CDATA[iCal]]></category>
		<category><![CDATA[ics]]></category>

		<guid isPermaLink="false">http://blog.evandavey.com/?p=605</guid>
		<description><![CDATA[I couldn&#8217;t find a decent way online to convert ICS files into an Excel type format for easy manipulation, or adding to documents etc.  So I&#8217;ve built a simple one that is now available online: http://csv2sql.evandavey.com/ical2csv.php This takes an iCal URL and provides you with a CSV file as a download.  Makes it much easier [...]]]></description>
			<content:encoded><![CDATA[<p>I couldn&#8217;t find a decent way online to convert <a href="http://en.wikipedia.org/wiki/ICalendar">ICS</a> files into an Excel type format for easy manipulation, or adding to documents etc.  So I&#8217;ve built a simple one that is now available online:</p>
<p><a href="http://csv2sql.evandavey.com/ical2csv.php">http://csv2sql.evandavey.com/ical2csv.php</a></p>
<p>This takes an iCal URL and provides you with a CSV file as a download.  Makes it much easier to get a list of dates from ICS files and use them for other purposes.</p>
<p>Also available is the <a href="http://csv2sql.evandavey.com">CSV2SQL</a> converter that I made last year, taking CSV files and coverting them into INSERT/UPDATE statements for use on a database.</p>
<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fblog.evandavey.com%2F2010%2F02%2Fonline-tool-to-convert-ics-file-to-excelcsv.html&amp;layout=standard&amp;&amp;width=450&amp;action=like&amp;colorscheme=light" scrolling="no" frameborder="0" allowTransparency="true" style="border:none; overflow:hidden; width:450px;height:30px;margin-top:5px;"></iframe>]]></content:encoded>
			<wfw:commentRss>http://blog.evandavey.com/2010/02/online-tool-to-convert-ics-file-to-excelcsv.html/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		<feedburner:origLink>http://blog.evandavey.com/2010/02/online-tool-to-convert-ics-file-to-excelcsv.html</feedburner:origLink></item>
		<item>
		<title>How-To: Force VMWare Restart/Shutdown (Mac)</title>
		<link>http://feedproxy.google.com/~r/EvsTechThoughtOfTheDay/~3/ZEcFcJBX1sc/how-to-force-vmware-restartshutdown-mac.html</link>
		<comments>http://blog.evandavey.com/2010/02/how-to-force-vmware-restartshutdown-mac.html#comments</comments>
		<pubDate>Thu, 11 Feb 2010 22:06:02 +0000</pubDate>
		<dc:creator>Ev</dc:creator>
				<category><![CDATA[How To]]></category>
		<category><![CDATA[mac osx]]></category>
		<category><![CDATA[vmware]]></category>

		<guid isPermaLink="false">http://blog.evandavey.com/?p=597</guid>
		<description><![CDATA[I love using VMWare Fusion on Mac, it&#8217;s perfect as I can run everything I need on one machine, and minimise my exposure to windows.  However, sometimes things go astray &#8211; windows &#8220;goes to sleep&#8221; and won&#8217;t come back to allow me to restart or shutdown the virtual machine.  How do you fix this? Hold [...]]]></description>
			<content:encoded><![CDATA[<p>I love using VMWare Fusion on Mac, it&#8217;s perfect as I can run everything I need on one machine, and minimise my exposure to windows.  However, sometimes things go astray &#8211; windows &#8220;goes to sleep&#8221; and won&#8217;t come back to allow me to restart or shutdown the virtual machine.  How do you fix this?</p>
<p><img class="alignnone size-full wp-image-598" title="Screen shot  2010-02-12 at 9.04.33 AM" src="http://blog.evandavey.com/wp-content/uploads/2010/02/Screen-shot-2010-02-12-at-9.04.33-AM.png" alt="Screen shot 2010-02-12 at 9.04.33 AM" width="272" height="124" /></p>
<p>Hold down the &#8220;option&#8221; key and then go to the &#8220;Virtual Machine&#8221; menu option. You&#8217;ll notice that the options switch from &#8220;Shutdown&#8221; to &#8220;Force Shutdown&#8221; when you hold down the &#8220;option&#8221; key.  Simply choose your required &#8220;Force&#8221; option and you should be back in business!</p>
<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fblog.evandavey.com%2F2010%2F02%2Fhow-to-force-vmware-restartshutdown-mac.html&amp;layout=standard&amp;&amp;width=450&amp;action=like&amp;colorscheme=light" scrolling="no" frameborder="0" allowTransparency="true" style="border:none; overflow:hidden; width:450px;height:30px;margin-top:5px;"></iframe>]]></content:encoded>
			<wfw:commentRss>http://blog.evandavey.com/2010/02/how-to-force-vmware-restartshutdown-mac.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blog.evandavey.com/2010/02/how-to-force-vmware-restartshutdown-mac.html</feedburner:origLink></item>
		<item>
		<title>How To: PHP OAuth Twitter</title>
		<link>http://feedproxy.google.com/~r/EvsTechThoughtOfTheDay/~3/cfJcD7mJunA/how-to-php-oauth-twitter.html</link>
		<comments>http://blog.evandavey.com/2010/02/how-to-php-oauth-twitter.html#comments</comments>
		<pubDate>Thu, 11 Feb 2010 12:17:24 +0000</pubDate>
		<dc:creator>Ev</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[How To]]></category>
		<category><![CDATA[oAuth]]></category>
		<category><![CDATA[Php]]></category>
		<category><![CDATA[twitter]]></category>

		<guid isPermaLink="false">http://blog.evandavey.com/?p=581</guid>
		<description><![CDATA[So, you&#8217;re building a web based twitter client in PHP.  Easy, just use a simple Twitter API client and call the Twitter API directly.  But what if you don&#8217;t want to store the user&#8217;s Twitter authentication information anywhere?  It&#8217;s a security risk anyway and some people don&#8217;t want to give up their account details to a [...]]]></description>
			<content:encoded><![CDATA[<p>So, you&#8217;re building a web based twitter client in PHP.  Easy, just use a simple Twitter API <a href="http://lab.arc90.com/2008/06/03/php-twitter-api-client/">client</a> and call the Twitter <a href="http://apiwiki.twitter.com/">API</a> directly.  But what if you don&#8217;t want to store the user&#8217;s Twitter authentication information anywhere?  It&#8217;s a security risk anyway and some people don&#8217;t want to give up their account details to a 3rd party.  So what to do?  The solution is to use <a href="http://www.oauth.org">OAuth</a> with <a href="http://apiwiki.twitter.com/OAuth-FAQ">Twitter</a>.<span id="more-581"></span></p>
<p>How do you do this?  I&#8217;d recommend taking the following steps:</p>
<ol>
<li>Get this great <a href="http://github.com/abraham/twitteroauth">OAuth Twitter PHP</a> library from <a href="http://abrah.am">Abraham Williams</a></li>
<li>Sign up for a Twitter application and get an <a href="https://twitter.com/apps">application</a> setup.  You&#8217;ll need the &#8220;Consumer Key&#8221; and &#8220;Consumer Secret&#8221; values from Twitter. You will also need to set a &#8220;callback url&#8221; that Twitter will send the user back to.  Make sure you set this correctly.</li>
<li>Include the &#8220;twitterOAuth.php&#8221; library provided by Adbraham Williams in your code</li>
</ol>
<p>Now, the process through which OAuth works with Twitter (and any other platform) is as follows:</p>
<p>Firstly, you need to get the user to authenticate with twitter and permit your application to perform actions on their behalf.  To do this, you need to send the user to twitter with a special &#8220;authorisation token&#8221;.</p>
<p>You request an authorisation token from Twitter, using your Consumer Key and Consumer Secret values you obtained when you signed up for a Twitter Application:</p>
<pre>$connection = new TwitterOAuth($consumer_key, $consumer_secret);
$request_token = $connection-&gt;getRequestToken();</pre>
<p>The $request_token returned contains the &#8220;request token&#8221; information, which you should store somewhere:</p>
<pre>$userData['Twitter_Request_Token'] = $token = $request_token['oauth_token'];
$userData['Twitter_Request_Token_Secret'] = $request_token['oauth_token_secret'];
$db-&gt;Save_User_Data($userData); // Replace with your own saving method</pre>
<p>Now that you have your request token, you can send the user off to Twitter to authenticate:</p>
<pre>$authenticateUrl = $connection-&gt;getAuthorizeURL($token);
header("Location: $authenticateUrl");
exit;</pre>
<p>Twitter will now authenticate the user and confirm they want your application to have access to their account.  Your next interaction will be on the &#8220;callback url&#8221; you setup when you created your Twitter application.  In this script you will need to use the &#8220;twitter request tokens&#8221; you saved previously to then request the &#8220;Access token&#8221; from Twitter:</p>
<pre>$to = new TwitterOAuth($consumer_key, $consumer_secret,
$userData['Twitter_Request_Token'], $userData['Twitter_Request_Token_Secret']);
$tok = $to-&gt;getAccessToken();</pre>
<p>Now that you&#8217;ve got the access token, you should save it as you&#8217;ll use this in future requests to Twitter:</p>
<pre>$userData['Twitter_Access_Token'] 	= $tok['oauth_token'];
$userData['Twitter_Access_Token_Secret'] = $tok['oauth_token_secret'];
$db-&gt;Save_User_Data($userData);</pre>
<p>Now confirm you have access to the user on Twitter:</p>
<pre>$to = new TwitterOAuth($consumer_key, $consumer_secret,
$userData['Twitter_Access_Token'], $userData['Twitter_Access_Token_Secret']);
$result = json_decode($to-&gt;OAuthRequest('https://twitter.com/account/verify_credentials.json', array(), 'GET'));
if ($result-&gt;id){
// Everything is fine
}</pre>
<p>Now you have access to Twitter via OAuth!  You can now run commands like this:</p>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">$to = new TwitterOAuth($consumer_key, $consumer_secret, $userData['Twitter_Access_Token'], $userData['Twitter_Access_Token_Secret']);</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"><span style="white-space: pre;"> </span>$result = json_decode($to-&gt;OAuthRequest(&#8216;https://twitter.com/statuses/update.json&#8217;, array(&#8216;status&#8217; =&gt; $tweet), &#8216;POST&#8217;));</div>
<pre>$to = new TwitterOAuth($consumer_key, $consumer_secret, $access_token, $access_token_secret);
$result = json_decode($to-&gt;OAuthRequest(
      'https://twitter.com/statuses/update.json',
       array('status' =&gt; $tweet), 'POST'));</pre>
<p>The above should give you a few pointers on how to actually get up and running using OAuth/PHP on Twitter.  I hope this post helps a few people get it all working.</p>
<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fblog.evandavey.com%2F2010%2F02%2Fhow-to-php-oauth-twitter.html&amp;layout=standard&amp;&amp;width=450&amp;action=like&amp;colorscheme=light" scrolling="no" frameborder="0" allowTransparency="true" style="border:none; overflow:hidden; width:450px;height:30px;margin-top:5px;"></iframe>]]></content:encoded>
			<wfw:commentRss>http://blog.evandavey.com/2010/02/how-to-php-oauth-twitter.html/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		<feedburner:origLink>http://blog.evandavey.com/2010/02/how-to-php-oauth-twitter.html</feedburner:origLink></item>
	</channel>
</rss>
