<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Nicholas Workshop</title>
	<atom:link href="http://nicholasworkshop.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://nicholasworkshop.wordpress.com</link>
	<description>Just a brilliant workshop</description>
	<lastBuildDate>Thu, 23 Feb 2012 23:10:15 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='nicholasworkshop.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>Nicholas Workshop</title>
		<link>http://nicholasworkshop.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://nicholasworkshop.wordpress.com/osd.xml" title="Nicholas Workshop" />
	<atom:link rel='hub' href='http://nicholasworkshop.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Find the User Agent Strings of any Mobile Devices</title>
		<link>http://nicholasworkshop.wordpress.com/2012/02/03/find-the-user-agent-strings-of-any-mobile-devices/</link>
		<comments>http://nicholasworkshop.wordpress.com/2012/02/03/find-the-user-agent-strings-of-any-mobile-devices/#comments</comments>
		<pubDate>Fri, 03 Feb 2012 03:08:37 +0000</pubDate>
		<dc:creator>Nicholas</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Website]]></category>
		<category><![CDATA[agent]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[browser]]></category>
		<category><![CDATA[database]]></category>
		<category><![CDATA[determine]]></category>
		<category><![CDATA[develop]]></category>
		<category><![CDATA[device broswer]]></category>
		<category><![CDATA[device browser]]></category>
		<category><![CDATA[explorer]]></category>
		<category><![CDATA[find]]></category>
		<category><![CDATA[galaxy]]></category>
		<category><![CDATA[how]]></category>
		<category><![CDATA[information]]></category>
		<category><![CDATA[mobile]]></category>
		<category><![CDATA[mobile device]]></category>
		<category><![CDATA[samsung]]></category>
		<category><![CDATA[scientia]]></category>
		<category><![CDATA[scientiamobile]]></category>
		<category><![CDATA[search]]></category>
		<category><![CDATA[string]]></category>
		<category><![CDATA[tera]]></category>
		<category><![CDATA[user]]></category>
		<category><![CDATA[user agent]]></category>
		<category><![CDATA[wurfl]]></category>

		<guid isPermaLink="false">http://nicholasworkshop.wordpress.com/?p=574</guid>
		<description><![CDATA[It&#8217;s quite often for a developer to make use of the user agent to determine what browser does a user used, especially for those who develop web services and websites. Recently I found a website which has a huge database of mobile device information, including the user agent string and even the functions supported in &#8230;<p><a href="http://nicholasworkshop.wordpress.com/2012/02/03/find-the-user-agent-strings-of-any-mobile-devices/" class="more-link">Read More</a></p><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=nicholasworkshop.wordpress.com&amp;blog=23778521&amp;post=574&amp;subd=nicholasworkshop&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s quite often for a developer to make use of the user agent to determine what browser does a user used, especially for those who develop web services and websites. Recently I found a website which has a huge database of mobile device information, including the user agent string and even the functions supported in the device browser.</p>
<p><a href="http://www.tera-wurfl.com/explore/search.php?action=browse"><strong>ScientiaMobile WURFL Explorer</strong></p>
<p>http://www.tera-wurfl.com/explore/search.php?action=browse</a></p>
<p><a href="http://www.tera-wurfl.com/explore/?action=wurfl_id&amp;id=samsung_gt_i9100_ver1"><strong>Tera-WURFL Explorer &#8211; Samsung GT-9100 (Galaxy SII)</strong></p>
<p>http://www.tera-wurfl.com/explore/?action=wurfl_id&#038;id=samsung_gt_i9100_ver1</a></p>
<p><a href="http://nicholasworkshop.files.wordpress.com/2012/02/screen-shot-2012-02-03-at-10-58-41-am.png"><img class="aligncenter size-full wp-image-607" title="Screen Shot 2012-02-03 at 10.58.41 AM" src="http://nicholasworkshop.files.wordpress.com/2012/02/screen-shot-2012-02-03-at-10-58-41-am.png?w=545&#038;h=341" alt="" width="545" height="341" /></a><a href="http://nicholasworkshop.files.wordpress.com/2012/02/screen-shot-2012-02-03-at-10-59-25-am.png"><img class="aligncenter size-full wp-image-608" title="Screen Shot 2012-02-03 at 10.59.25 AM" src="http://nicholasworkshop.files.wordpress.com/2012/02/screen-shot-2012-02-03-at-10-59-25-am.png?w=545&#038;h=422" alt="" width="545" height="422" /></a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/nicholasworkshop.wordpress.com/574/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/nicholasworkshop.wordpress.com/574/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/nicholasworkshop.wordpress.com/574/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/nicholasworkshop.wordpress.com/574/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/nicholasworkshop.wordpress.com/574/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/nicholasworkshop.wordpress.com/574/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/nicholasworkshop.wordpress.com/574/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/nicholasworkshop.wordpress.com/574/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/nicholasworkshop.wordpress.com/574/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/nicholasworkshop.wordpress.com/574/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/nicholasworkshop.wordpress.com/574/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/nicholasworkshop.wordpress.com/574/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/nicholasworkshop.wordpress.com/574/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/nicholasworkshop.wordpress.com/574/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=nicholasworkshop.wordpress.com&amp;blog=23778521&amp;post=574&amp;subd=nicholasworkshop&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://nicholasworkshop.wordpress.com/2012/02/03/find-the-user-agent-strings-of-any-mobile-devices/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/8975c3f31fd38e7b0122a4c91588d720?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">nickwph</media:title>
		</media:content>

		<media:content url="http://nicholasworkshop.files.wordpress.com/2012/02/screen-shot-2012-02-03-at-10-58-41-am.png" medium="image">
			<media:title type="html">Screen Shot 2012-02-03 at 10.58.41 AM</media:title>
		</media:content>

		<media:content url="http://nicholasworkshop.files.wordpress.com/2012/02/screen-shot-2012-02-03-at-10-59-25-am.png" medium="image">
			<media:title type="html">Screen Shot 2012-02-03 at 10.59.25 AM</media:title>
		</media:content>
	</item>
		<item>
		<title>InstaMusic Got 10,000 Downloads over Lunar New Year!</title>
		<link>http://nicholasworkshop.wordpress.com/2012/01/22/instamusic-got-10000-downloads-over-lunar-new-year/</link>
		<comments>http://nicholasworkshop.wordpress.com/2012/01/22/instamusic-got-10000-downloads-over-lunar-new-year/#comments</comments>
		<pubDate>Sun, 22 Jan 2012 05:17:09 +0000</pubDate>
		<dc:creator>Nicholas</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[InstaMusic]]></category>
		<category><![CDATA[Personal]]></category>
		<category><![CDATA[10000]]></category>
		<category><![CDATA[album]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[android market]]></category>
		<category><![CDATA[android static]]></category>
		<category><![CDATA[androidstatic]]></category>
		<category><![CDATA[develop]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[flattered]]></category>
		<category><![CDATA[how]]></category>
		<category><![CDATA[insta]]></category>
		<category><![CDATA[instamusic]]></category>
		<category><![CDATA[market]]></category>
		<category><![CDATA[minimal]]></category>
		<category><![CDATA[minimalism]]></category>
		<category><![CDATA[music]]></category>
		<category><![CDATA[player]]></category>
		<category><![CDATA[reason]]></category>
		<category><![CDATA[song]]></category>
		<category><![CDATA[started]]></category>
		<category><![CDATA[ten thousand]]></category>

		<guid isPermaLink="false">http://nicholasworkshop.wordpress.com/?p=540</guid>
		<description><![CDATA[Happy lunar new year to all. I am flattered. In less than a month since I put the InstaMusic to the Android Market on 27 Dec 2011, today it has already more than 10,000 downloads. To be honest, I never expected this. If you are uninitialized, InstaMusic is a music player android application with simple and stylish &#8230;<p><a href="http://nicholasworkshop.wordpress.com/2012/01/22/instamusic-got-10000-downloads-over-lunar-new-year/" class="more-link">Read More</a></p><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=nicholasworkshop.wordpress.com&amp;blog=23778521&amp;post=540&amp;subd=nicholasworkshop&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img class="alignright  wp-image-556" title="icon" src="http://nicholasworkshop.files.wordpress.com/2012/01/icon.png?w=131&#038;h=131" alt="" width="131" height="131" /></p>
<p>Happy lunar new year to all.</p>
<p><strong>I am flattered. In less than a month since I put the InstaMusic to the Android Market on 27 Dec 2011, today it has already more than 10,000 downloads. To be honest, I never expected this.</strong></p>
<p>If you are uninitialized, <strong><a href="https://market.android.com/details?id=com.nicholasworkshop.instamusic">InstaMusic</a></strong> is a music player android application with simple and stylish outlook.</p>
<p>There are all kinda music player in the world, in my opinion, a player with style and an pleasant appearance would always become the famous one. Here I would like to thank you for downloading and trying InstaMusic. Especially<strong> those fans of minimalism who supported me </strong>and<strong> AndroidStatic who gave InstaMusic a pleasant review in the post &#8220;<a href="http://www.androidstatic.com/instamusic-is-a-minimal-slick-music-player-that-you-should-download-now">Instamusic Is A Minimal, Slick Music Player That You Should Download Now</a>&#8220;.</strong></p>
<p>Looking back the day that I began my developmement, the reason for me to kick started is that I was really unstatisfied with the music players on the Android Market. Admittedly, I am a perfectionist and I want every part of a music player to meet user&#8217;s ways of thinking. So, I hate album artworks to be scratched and unable to tell what album is it. I also hate a song sung by different artists will be will be isolated from the album. And millions of things to list.</p>
<p>Okay, let&#8217;s get back to talk about the my next build of InstaMusic. I am sorry for the long waited update. In code level, I really did an upside down on InstaMusic. And as expected, lock screen player is implemented already, but there are just some bug and pressure testing work to do before it can really come out to meet its users.</p>
<p><a href="http://nicholasworkshop.files.wordpress.com/2012/01/screen-shot-2012-01-22-at-1-11-04-pm.png"><img class="aligncenter size-full wp-image-563" title="Screen Shot 2012-01-22 at 1.11.04 PM" src="http://nicholasworkshop.files.wordpress.com/2012/01/screen-shot-2012-01-22-at-1-11-04-pm.png?w=545&#038;h=488" alt="" width="545" height="488" /></a></p>
<p><a href="http://nicholasworkshop.files.wordpress.com/2012/01/screen-shot-2012-01-22-at-12-30-20-pm.png"><img class="aligncenter size-full wp-image-557" title="Screen Shot 2012-01-22 at 12.30.20 PM" src="http://nicholasworkshop.files.wordpress.com/2012/01/screen-shot-2012-01-22-at-12-30-20-pm.png?w=545&#038;h=328" alt="" width="545" height="328" /></a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/nicholasworkshop.wordpress.com/540/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/nicholasworkshop.wordpress.com/540/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/nicholasworkshop.wordpress.com/540/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/nicholasworkshop.wordpress.com/540/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/nicholasworkshop.wordpress.com/540/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/nicholasworkshop.wordpress.com/540/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/nicholasworkshop.wordpress.com/540/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/nicholasworkshop.wordpress.com/540/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/nicholasworkshop.wordpress.com/540/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/nicholasworkshop.wordpress.com/540/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/nicholasworkshop.wordpress.com/540/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/nicholasworkshop.wordpress.com/540/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/nicholasworkshop.wordpress.com/540/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/nicholasworkshop.wordpress.com/540/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=nicholasworkshop.wordpress.com&amp;blog=23778521&amp;post=540&amp;subd=nicholasworkshop&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://nicholasworkshop.wordpress.com/2012/01/22/instamusic-got-10000-downloads-over-lunar-new-year/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/8975c3f31fd38e7b0122a4c91588d720?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">nickwph</media:title>
		</media:content>

		<media:content url="http://nicholasworkshop.files.wordpress.com/2012/01/icon.png?w=300" medium="image">
			<media:title type="html">icon</media:title>
		</media:content>

		<media:content url="http://nicholasworkshop.files.wordpress.com/2012/01/screen-shot-2012-01-22-at-1-11-04-pm.png" medium="image">
			<media:title type="html">Screen Shot 2012-01-22 at 1.11.04 PM</media:title>
		</media:content>

		<media:content url="http://nicholasworkshop.files.wordpress.com/2012/01/screen-shot-2012-01-22-at-12-30-20-pm.png" medium="image">
			<media:title type="html">Screen Shot 2012-01-22 at 12.30.20 PM</media:title>
		</media:content>
	</item>
		<item>
		<title>Caffeine on Mac and Ubuntu</title>
		<link>http://nicholasworkshop.wordpress.com/2012/01/04/caffeine-on-mac-and-ubuntu/</link>
		<comments>http://nicholasworkshop.wordpress.com/2012/01/04/caffeine-on-mac-and-ubuntu/#comments</comments>
		<pubDate>Wed, 04 Jan 2012 05:03:17 +0000</pubDate>
		<dc:creator>Nicholas</dc:creator>
				<category><![CDATA[Personal]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[caffeine]]></category>
		<category><![CDATA[computer]]></category>
		<category><![CDATA[lock]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[screensaver]]></category>
		<category><![CDATA[sleep]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://nicholasworkshop.wordpress.com/?p=544</guid>
		<description><![CDATA[Caffeine has been a very useful app to instantly disable or enable the screensaver on mac. At least for me, I am using multiple computers in office and all of them except the one I am using will usually get idle. Getting into screensaver, however, is bad sometimes especially I was reading from that screen &#8230;<p><a href="http://nicholasworkshop.wordpress.com/2012/01/04/caffeine-on-mac-and-ubuntu/" class="more-link">Read More</a></p><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=nicholasworkshop.wordpress.com&amp;blog=23778521&amp;post=544&amp;subd=nicholasworkshop&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Caffeine has been a very useful app to instantly disable or enable the screensaver on mac. At least for me, I am using multiple computers in office and all of them except the one I am using will usually get idle. Getting into screensaver, however, is bad sometimes especially I was reading from that screen and type things on another screen, and not to mention the password input after the screen lock. Well anyway, I highly recommend it.</p>
<h1>Mac</h1>
<p>On mac, we can install it easily with the app store.</p>
<p><img class="aligncenter size-full wp-image-546" title="Screen Shot 2012-01-04 at 12.33.56 PM" src="http://nicholasworkshop.files.wordpress.com/2012/01/screen-shot-2012-01-04-at-12-33-56-pm.png?w=545" alt=""   /><a href="http://nicholasworkshop.files.wordpress.com/2012/01/screen-shot-2012-01-04-at-12-42-32-pm-1.png"><img class="aligncenter size-full wp-image-545" title="Screen Shot 2012-01-04 at 12.42.32 PM 1" src="http://nicholasworkshop.files.wordpress.com/2012/01/screen-shot-2012-01-04-at-12-42-32-pm-1.png?w=545&#038;h=382" alt="" width="545" height="382" /></a></p>
<h1>Ubuntu</h1>
<p>But in ubuntu, it is not available on the software center. But you can still get it through command line. Turn on terminal and input the following one by one.</p>
<p><pre class="brush: bash;">
sudo add-apt-repository ppa:caffeine-developers/ppa
sudo apt-get update
sudo apt-get install caffeine
</pre></p>
<p><a href="http://nicholasworkshop.files.wordpress.com/2012/01/screen-shot-2012-01-04-at-12-59-19-pm.png"><img class="aligncenter size-full wp-image-549" title="Screen Shot 2012-01-04 at 12.59.19 PM" src="http://nicholasworkshop.files.wordpress.com/2012/01/screen-shot-2012-01-04-at-12-59-19-pm.png?w=545" alt=""   /></a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/nicholasworkshop.wordpress.com/544/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/nicholasworkshop.wordpress.com/544/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/nicholasworkshop.wordpress.com/544/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/nicholasworkshop.wordpress.com/544/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/nicholasworkshop.wordpress.com/544/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/nicholasworkshop.wordpress.com/544/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/nicholasworkshop.wordpress.com/544/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/nicholasworkshop.wordpress.com/544/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/nicholasworkshop.wordpress.com/544/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/nicholasworkshop.wordpress.com/544/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/nicholasworkshop.wordpress.com/544/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/nicholasworkshop.wordpress.com/544/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/nicholasworkshop.wordpress.com/544/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/nicholasworkshop.wordpress.com/544/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=nicholasworkshop.wordpress.com&amp;blog=23778521&amp;post=544&amp;subd=nicholasworkshop&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://nicholasworkshop.wordpress.com/2012/01/04/caffeine-on-mac-and-ubuntu/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/8975c3f31fd38e7b0122a4c91588d720?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">nickwph</media:title>
		</media:content>

		<media:content url="http://nicholasworkshop.files.wordpress.com/2012/01/screen-shot-2012-01-04-at-12-33-56-pm.png" medium="image">
			<media:title type="html">Screen Shot 2012-01-04 at 12.33.56 PM</media:title>
		</media:content>

		<media:content url="http://nicholasworkshop.files.wordpress.com/2012/01/screen-shot-2012-01-04-at-12-42-32-pm-1.png" medium="image">
			<media:title type="html">Screen Shot 2012-01-04 at 12.42.32 PM 1</media:title>
		</media:content>

		<media:content url="http://nicholasworkshop.files.wordpress.com/2012/01/screen-shot-2012-01-04-at-12-59-19-pm.png" medium="image">
			<media:title type="html">Screen Shot 2012-01-04 at 12.59.19 PM</media:title>
		</media:content>
	</item>
		<item>
		<title>Detecting browsers of iPhone, iPod, iPad, Android and BlackBerry with JavaScript and PHP</title>
		<link>http://nicholasworkshop.wordpress.com/2011/12/09/detecting-browsers-of-iphone-ipod-ipad-android-and-blackberry-with-javascript-and-php/</link>
		<comments>http://nicholasworkshop.wordpress.com/2011/12/09/detecting-browsers-of-iphone-ipod-ipad-android-and-blackberry-with-javascript-and-php/#comments</comments>
		<pubDate>Thu, 08 Dec 2011 17:20:01 +0000</pubDate>
		<dc:creator>Nicholas</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://nicholasworkshop.wordpress.com/?p=524</guid>
		<description><![CDATA[To begin with, we need to understand that in the HTTP protocol, browser send its identity called user agent to the server to request the wanted webpage. Every browser has its only unique user agent value, and therefore we can check that value to identify the user browser. So, first we have to take a &#8230;<p><a href="http://nicholasworkshop.wordpress.com/2011/12/09/detecting-browsers-of-iphone-ipod-ipad-android-and-blackberry-with-javascript-and-php/" class="more-link">Read More</a></p><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=nicholasworkshop.wordpress.com&amp;blog=23778521&amp;post=524&amp;subd=nicholasworkshop&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>To begin with, we need to understand that in the HTTP protocol, browser send its identity called user agent to the server to request the wanted webpage. Every browser has its only unique user agent value, and therefore we can check that value to identify the user browser. So, first we have to take a look at some examples of user agents of mobile devices.</p>
<p>iPhone user agent</p>
<p><pre class="brush: plain;">
Mozilla/5.0 (iPhone; U; CPU like Mac OS X; en) AppleWebKit/420+ (KHTML, like Gecko) Version/3.0 Mobile/1A543a Safari/419.3
</pre></p>
<p>iPod Touch user agent</p>
<p><pre class="brush: plain;">
Mozilla/5.0 (iPod; U; CPU like Mac OS X; en) AppleWebKit/420.1 (KHTML, like Gecko) Version/3.0 Mobile/3A101a Safari/419.3
</pre></p>
<p>iPad user agent</p>
<p><pre class="brush: plain;">
Mozilla/5.0 (iPad; U; CPU OS 3_2 like Mac OS X; en-us) AppleWebKit/531.21.10 (KHTML, like Gecko) Version/4.0.4 Mobile/7B334b Safari/531.21.10
</pre></p>
<p>Android user agent</p>
<p><pre class="brush: plain;">
Mozilla/5.0 (Linux; U; Android 1.1; en-gb; dream) AppleWebKit/525.10+ (KHTML, like Gecko) Version/3.0.4 Mobile Safari/523.12.2
Mozilla/5.0 (Linux; U; Android 2.1; en-us; Nexus One Build/ERD62) AppleWebKit/530.17 (KHTML, like Gecko) Version/4.0 Mobile Safari/530.17
</pre></p>
<p>BlackBerry user agent</p>
<p><pre class="brush: plain;">
BlackBerry9000/4.6.0.266 Profile/MIDP-2.0 Configuration/CLDC-1.1 VendorID/120
</pre></p>
<p>After all, in programming, we gather these data to do the checking. First in JavaScript:</p>
<p><pre class="brush: jscript;">
if (/(iPhone|iPod|iPad)/.test(navigator.userAgent)) {
    /* This is iOS */
}
if (/Android/.test(navigator.userAgent)) {
    /* This is Android */
}
if (/BlackBerry)/.test(navigator.userAgent)) {
    /* This is BlackBerry */
}
if (/(iPhone|iPod|iPad|BlackBerry|Android)/.test(navigator.userAgent)) {
    /* This is one of the mentioned mobile device browsers */
}
</pre></p>
<p>And this is how it works in PHP:</p>
<p><pre class="brush: php;">
if (preg_match('/iPhone|iPod|iPad/', $_SERVER['HTTP_USER_AGENT'])) {
    /* This is iOS */
}
if (preg_match('/Android/', $_SERVER['HTTP_USER_AGENT'])) {
    /* This is Android */
}
if (preg_match('/BlackBerry/', $_SERVER['HTTP_USER_AGENT'])) {
    /* This is BlackBerry */
}
if (preg_match('/iPhone|iPod|iPad|BlackBerry|Android/', $_SERVER['HTTP_USER_AGENT'])) {
    /* This is one of the mentioned mobile device browsers */
}
</pre></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/nicholasworkshop.wordpress.com/524/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/nicholasworkshop.wordpress.com/524/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/nicholasworkshop.wordpress.com/524/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/nicholasworkshop.wordpress.com/524/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/nicholasworkshop.wordpress.com/524/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/nicholasworkshop.wordpress.com/524/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/nicholasworkshop.wordpress.com/524/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/nicholasworkshop.wordpress.com/524/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/nicholasworkshop.wordpress.com/524/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/nicholasworkshop.wordpress.com/524/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/nicholasworkshop.wordpress.com/524/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/nicholasworkshop.wordpress.com/524/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/nicholasworkshop.wordpress.com/524/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/nicholasworkshop.wordpress.com/524/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=nicholasworkshop.wordpress.com&amp;blog=23778521&amp;post=524&amp;subd=nicholasworkshop&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://nicholasworkshop.wordpress.com/2011/12/09/detecting-browsers-of-iphone-ipod-ipad-android-and-blackberry-with-javascript-and-php/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/8975c3f31fd38e7b0122a4c91588d720?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">nickwph</media:title>
		</media:content>
	</item>
		<item>
		<title>Show completions and quick help tips in Xcode</title>
		<link>http://nicholasworkshop.wordpress.com/2011/12/06/show-completions-and-quick-help-tips-in-xcode/</link>
		<comments>http://nicholasworkshop.wordpress.com/2011/12/06/show-completions-and-quick-help-tips-in-xcode/#comments</comments>
		<pubDate>Tue, 06 Dec 2011 04:18:09 +0000</pubDate>
		<dc:creator>Nicholas</dc:creator>
				<category><![CDATA[Cocos2D]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[?]]></category>
		<category><![CDATA[assist]]></category>
		<category><![CDATA[autocompletion]]></category>
		<category><![CDATA[cmd]]></category>
		<category><![CDATA[command]]></category>
		<category><![CDATA[common task]]></category>
		<category><![CDATA[completion]]></category>
		<category><![CDATA[completions]]></category>
		<category><![CDATA[control]]></category>
		<category><![CDATA[control + command + ?]]></category>
		<category><![CDATA[control + space]]></category>
		<category><![CDATA[ctl]]></category>
		<category><![CDATA[desc]]></category>
		<category><![CDATA[description]]></category>
		<category><![CDATA[eclipse]]></category>
		<category><![CDATA[fatigued]]></category>
		<category><![CDATA[figure]]></category>
		<category><![CDATA[hell]]></category>
		<category><![CDATA[linked]]></category>
		<category><![CDATA[memorize]]></category>
		<category><![CDATA[press]]></category>
		<category><![CDATA[quick help]]></category>
		<category><![CDATA[shortcuts]]></category>
		<category><![CDATA[space]]></category>
		<category><![CDATA[tedious]]></category>
		<category><![CDATA[troublesome]]></category>
		<category><![CDATA[understand]]></category>
		<category><![CDATA[xcode]]></category>

		<guid isPermaLink="false">http://nicholasworkshop.wordpress.com/?p=505</guid>
		<description><![CDATA[I know it is troublesome, tedious, or just like hell. Apple has his own way to do a common task. Very often, we need to use the autocompletion in IDE to assist coding so we do not need to memorize the billions of function names. In Eclipse, everything is automatic. A list of function names linked together &#8230;<p><a href="http://nicholasworkshop.wordpress.com/2011/12/06/show-completions-and-quick-help-tips-in-xcode/" class="more-link">Read More</a></p><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=nicholasworkshop.wordpress.com&amp;blog=23778521&amp;post=505&amp;subd=nicholasworkshop&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I know it is troublesome, tedious, or just like hell. Apple has his own way to do a common task. Very often, we need to use the autocompletion in <a href="http://en.wikipedia.org/wiki/Integrated_development_environment">IDE</a> to assist coding so we do not need to memorize the billions of function names. <strong>In Eclipse, <strong>everything is automatic.</strong></strong> A list of function names linked together with descriptions next to it pops up as soon as you type. <strong>In Xcode, where is it?</strong> Yes, you need to press shortcuts. For the<strong> completions, </strong>press<strong> &#8220;control + space&#8221;</strong>. But, where are the descriptions? It&#8217;s called <strong>&#8220;quick help&#8221;</strong>, press<strong> &#8220;control + command + ?&#8221;</strong> to open it. Look at the figure then you will understand. Good luck for your fatigued fingers.<br />
<a href="http://nicholasworkshop.files.wordpress.com/2011/12/quick-help-in-xcode1.png"><img class="aligncenter size-full wp-image-510" title="quick-help-in-xcode" src="http://nicholasworkshop.files.wordpress.com/2011/12/quick-help-in-xcode1.png?w=545&#038;h=337" alt="" width="545" height="337" /></a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/nicholasworkshop.wordpress.com/505/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/nicholasworkshop.wordpress.com/505/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/nicholasworkshop.wordpress.com/505/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/nicholasworkshop.wordpress.com/505/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/nicholasworkshop.wordpress.com/505/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/nicholasworkshop.wordpress.com/505/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/nicholasworkshop.wordpress.com/505/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/nicholasworkshop.wordpress.com/505/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/nicholasworkshop.wordpress.com/505/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/nicholasworkshop.wordpress.com/505/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/nicholasworkshop.wordpress.com/505/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/nicholasworkshop.wordpress.com/505/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/nicholasworkshop.wordpress.com/505/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/nicholasworkshop.wordpress.com/505/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=nicholasworkshop.wordpress.com&amp;blog=23778521&amp;post=505&amp;subd=nicholasworkshop&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://nicholasworkshop.wordpress.com/2011/12/06/show-completions-and-quick-help-tips-in-xcode/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/8975c3f31fd38e7b0122a4c91588d720?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">nickwph</media:title>
		</media:content>

		<media:content url="http://nicholasworkshop.files.wordpress.com/2011/12/quick-help-in-xcode1.png" medium="image">
			<media:title type="html">quick-help-in-xcode</media:title>
		</media:content>
	</item>
		<item>
		<title>How to rotate gizmos to fit a game object in Unity</title>
		<link>http://nicholasworkshop.wordpress.com/2011/11/28/how-to-rotate-gizmos-to-fit-a-game-object-in-unity/</link>
		<comments>http://nicholasworkshop.wordpress.com/2011/11/28/how-to-rotate-gizmos-to-fit-a-game-object-in-unity/#comments</comments>
		<pubDate>Mon, 28 Nov 2011 09:16:06 +0000</pubDate>
		<dc:creator>Nicholas</dc:creator>
				<category><![CDATA[C Sharp]]></category>
		<category><![CDATA[Game Engine]]></category>
		<category><![CDATA[Unity]]></category>
		<category><![CDATA[csharp]]></category>
		<category><![CDATA[cube]]></category>
		<category><![CDATA[cube in unity]]></category>
		<category><![CDATA[draw wire cube]]></category>
		<category><![CDATA[drawwirecube]]></category>
		<category><![CDATA[fit]]></category>
		<category><![CDATA[game object]]></category>
		<category><![CDATA[gameobject]]></category>
		<category><![CDATA[gameplay]]></category>
		<category><![CDATA[gizmos]]></category>
		<category><![CDATA[gizmos matrix]]></category>
		<category><![CDATA[how to]]></category>
		<category><![CDATA[local]]></category>
		<category><![CDATA[local to world matrix]]></category>
		<category><![CDATA[localtoworldmatrix]]></category>
		<category><![CDATA[matrix]]></category>
		<category><![CDATA[matrix of gizmos]]></category>
		<category><![CDATA[object transform]]></category>
		<category><![CDATA[one]]></category>
		<category><![CDATA[position]]></category>
		<category><![CDATA[position scale rotation]]></category>
		<category><![CDATA[rotate]]></category>
		<category><![CDATA[rotation]]></category>
		<category><![CDATA[scale]]></category>
		<category><![CDATA[transform]]></category>
		<category><![CDATA[transparent]]></category>
		<category><![CDATA[unity]]></category>
		<category><![CDATA[unity3d]]></category>
		<category><![CDATA[vector3]]></category>
		<category><![CDATA[vector3 one]]></category>
		<category><![CDATA[vector3 zero]]></category>
		<category><![CDATA[zero]]></category>

		<guid isPermaLink="false">http://nicholasworkshop.wordpress.com/?p=486</guid>
		<description><![CDATA[While you are making a cube in unity which is transparent in gameplay, you would probably want to make it visible only in editor mode with gizmos. However, gizmos doesn&#8217;t rotate with the object transform. So you can use the following tricks to rotate the gizmos to fit your object. The code shown is to &#8230;<p><a href="http://nicholasworkshop.wordpress.com/2011/11/28/how-to-rotate-gizmos-to-fit-a-game-object-in-unity/" class="more-link">Read More</a></p><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=nicholasworkshop.wordpress.com&amp;blog=23778521&amp;post=486&amp;subd=nicholasworkshop&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>While you are making a cube in unity which is transparent in gameplay, you would probably want to make it visible only in editor mode with gizmos. However, gizmos doesn&#8217;t rotate with the object transform. So you can use the following tricks to rotate the gizmos to fit your object. The code shown is to draw a cube which is totally the same as your object. <strong>By setting up the matrix of gizmos, we can transform gizmos to the local position, scale and rotation.</strong></p>
<p><pre class="brush: csharp;">
Gizmos.color = Color.green;
Gizmos.matrix = transform.localToWorldMatrix;
Gizmos.DrawWireCube(Vector3.zero,Vector3.one);
</pre></p>
<p><a href="http://nicholasworkshop.files.wordpress.com/2011/11/gizmos.png"><img class="aligncenter size-full wp-image-490" title="gizmos" src="http://nicholasworkshop.files.wordpress.com/2011/11/gizmos.png?w=545&#038;h=389" alt="" width="545" height="389" /></a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/nicholasworkshop.wordpress.com/486/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/nicholasworkshop.wordpress.com/486/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/nicholasworkshop.wordpress.com/486/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/nicholasworkshop.wordpress.com/486/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/nicholasworkshop.wordpress.com/486/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/nicholasworkshop.wordpress.com/486/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/nicholasworkshop.wordpress.com/486/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/nicholasworkshop.wordpress.com/486/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/nicholasworkshop.wordpress.com/486/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/nicholasworkshop.wordpress.com/486/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/nicholasworkshop.wordpress.com/486/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/nicholasworkshop.wordpress.com/486/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/nicholasworkshop.wordpress.com/486/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/nicholasworkshop.wordpress.com/486/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=nicholasworkshop.wordpress.com&amp;blog=23778521&amp;post=486&amp;subd=nicholasworkshop&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://nicholasworkshop.wordpress.com/2011/11/28/how-to-rotate-gizmos-to-fit-a-game-object-in-unity/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/8975c3f31fd38e7b0122a4c91588d720?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">nickwph</media:title>
		</media:content>

		<media:content url="http://nicholasworkshop.files.wordpress.com/2011/11/gizmos.png" medium="image">
			<media:title type="html">gizmos</media:title>
		</media:content>
	</item>
		<item>
		<title>Change author info for old commits in Git</title>
		<link>http://nicholasworkshop.wordpress.com/2011/11/25/change-author-info-for-old-commits-in-git/</link>
		<comments>http://nicholasworkshop.wordpress.com/2011/11/25/change-author-info-for-old-commits-in-git/#comments</comments>
		<pubDate>Fri, 25 Nov 2011 12:45:43 +0000</pubDate>
		<dc:creator>Nicholas</dc:creator>
				<category><![CDATA[Git]]></category>
		<category><![CDATA[Shell Script]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[Version Control]]></category>
		<category><![CDATA[alter]]></category>
		<category><![CDATA[author]]></category>
		<category><![CDATA[branch]]></category>
		<category><![CDATA[branches]]></category>
		<category><![CDATA[change author]]></category>
		<category><![CDATA[change name]]></category>
		<category><![CDATA[commit]]></category>
		<category><![CDATA[commit filter]]></category>
		<category><![CDATA[commit tree]]></category>
		<category><![CDATA[commits]]></category>
		<category><![CDATA[email]]></category>
		<category><![CDATA[filter]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[how]]></category>
		<category><![CDATA[how to]]></category>
		<category><![CDATA[informaion]]></category>
		<category><![CDATA[name]]></category>
		<category><![CDATA[repo]]></category>
		<category><![CDATA[repository]]></category>
		<category><![CDATA[shell]]></category>
		<category><![CDATA[shellscript]]></category>
		<category><![CDATA[system]]></category>
		<category><![CDATA[terminal]]></category>
		<category><![CDATA[update]]></category>
		<category><![CDATA[version]]></category>
		<category><![CDATA[version control]]></category>

		<guid isPermaLink="false">http://nicholasworkshop.wordpress.com/?p=449</guid>
		<description><![CDATA[While using hit, it is really usual to have regrets on the commits done, especially the name used. In order to change those information in your repository, open terminal (or cmd in windows), go to the folder of your git repositoy, and run the following commands. Remember, replace &#8220;old_name&#8221;, &#8220;new_name&#8221; and &#8220;new@email.address&#8221; with your own &#8230;<p><a href="http://nicholasworkshop.wordpress.com/2011/11/25/change-author-info-for-old-commits-in-git/" class="more-link">Read More</a></p><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=nicholasworkshop.wordpress.com&amp;blog=23778521&amp;post=449&amp;subd=nicholasworkshop&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>While using hit, it is really usual to have regrets on the commits done, especially the name used. In order to change those information in your repository, open terminal (or cmd in windows), go to the folder of your git repositoy, and run the following commands. <strong>Remember, replace &#8220;old_name&#8221;, &#8220;new_name&#8221; and &#8220;new@email.address&#8221; with your own information.</strong></p>
<p><pre class="brush: bash;">
git filter-branch --commit-filter '
  if [ &quot;$GIT_COMMITTER_NAME&quot; = &quot;old_name&quot; ];
  then
    GIT_COMMITTER_NAME=&quot;new_name&quot;;
    GIT_AUTHOR_NAME=&quot;new_name&quot;;
    GIT_COMMITTER_EMAIL=&quot;new@email.address&quot;;
    GIT_AUTHOR_EMAIL=&quot;new@email.address&quot;;
    git commit-tree &quot;$@&quot;;
  else
    git commit-tree &quot;$@&quot;;
  fi' HEAD
</pre></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/nicholasworkshop.wordpress.com/449/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/nicholasworkshop.wordpress.com/449/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/nicholasworkshop.wordpress.com/449/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/nicholasworkshop.wordpress.com/449/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/nicholasworkshop.wordpress.com/449/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/nicholasworkshop.wordpress.com/449/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/nicholasworkshop.wordpress.com/449/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/nicholasworkshop.wordpress.com/449/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/nicholasworkshop.wordpress.com/449/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/nicholasworkshop.wordpress.com/449/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/nicholasworkshop.wordpress.com/449/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/nicholasworkshop.wordpress.com/449/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/nicholasworkshop.wordpress.com/449/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/nicholasworkshop.wordpress.com/449/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=nicholasworkshop.wordpress.com&amp;blog=23778521&amp;post=449&amp;subd=nicholasworkshop&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://nicholasworkshop.wordpress.com/2011/11/25/change-author-info-for-old-commits-in-git/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/8975c3f31fd38e7b0122a4c91588d720?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">nickwph</media:title>
		</media:content>
	</item>
		<item>
		<title>Ssh with password saved</title>
		<link>http://nicholasworkshop.wordpress.com/2011/11/23/ssh-with-password-saved/</link>
		<comments>http://nicholasworkshop.wordpress.com/2011/11/23/ssh-with-password-saved/#comments</comments>
		<pubDate>Wed, 23 Nov 2011 10:07:49 +0000</pubDate>
		<dc:creator>Nicholas</dc:creator>
				<category><![CDATA[Shell Script]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[auth]]></category>
		<category><![CDATA[authentication]]></category>
		<category><![CDATA[authorize]]></category>
		<category><![CDATA[control]]></category>
		<category><![CDATA[dsa]]></category>
		<category><![CDATA[ios]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[keygen]]></category>
		<category><![CDATA[openssh]]></category>
		<category><![CDATA[password]]></category>
		<category><![CDATA[remote]]></category>
		<category><![CDATA[rsa]]></category>
		<category><![CDATA[sda]]></category>
		<category><![CDATA[server]]></category>
		<category><![CDATA[ssh]]></category>
		<category><![CDATA[ssh with password saved]]></category>
		<category><![CDATA[terminal]]></category>
		<category><![CDATA[verification]]></category>
		<category><![CDATA[verify]]></category>

		<guid isPermaLink="false">http://nicholasworkshop.wordpress.com/?p=456</guid>
		<description><![CDATA[Ssh is a very convenient way to remotely command or control other devices. We use ssh to push commits to git server, to access remote server, and even to manipulate the content of our iphones and ipads. However it&#8217;s usually distributing to type your long and elusive password every time. Therefore here I would like &#8230;<p><a href="http://nicholasworkshop.wordpress.com/2011/11/23/ssh-with-password-saved/" class="more-link">Read More</a></p><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=nicholasworkshop.wordpress.com&amp;blog=23778521&amp;post=456&amp;subd=nicholasworkshop&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Ssh is a very convenient way to remotely command or control other devices. We use ssh to push commits to git server, to access remote server, and even to manipulate the content of our iphones and ipads. However it&#8217;s usually distributing to type your long and elusive password every time. Therefore here I would like introduce a way to create a steady relationship between your computer and the remote server you wanna connect with.</p>
<p>The principle is this, ssh connection establishments requires verification using the computer unique key of both devices. in order to simplify this step, we can generate a public key of your computer in advanced and which allows other to identify you. While you put that public key in the remote device as authorized key, you can kinda fast forward the process.</p>
<p>step 1: open terminal and &#8220;ssh-keygen -t dsa&#8221;<br />
step 2: open &#8220;.ssh/id_dsa.pub&#8221; and copy content inside<br />
step 3: open new tab in terminal and ssh server<br />
step 4: paste all content into /home//.ssh/authorized_keys</p>
<p>a@A:~&gt; ssh-keygen -t rsa<br />
a@A:~&gt; ssh b@B mkdir -p .ssh<br />
a@A:~&gt; cat .ssh/id_rsa.pub | ssh b@B &#8216;cat &gt;&gt; .ssh/authorized_keys&#8217;</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/nicholasworkshop.wordpress.com/456/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/nicholasworkshop.wordpress.com/456/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/nicholasworkshop.wordpress.com/456/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/nicholasworkshop.wordpress.com/456/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/nicholasworkshop.wordpress.com/456/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/nicholasworkshop.wordpress.com/456/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/nicholasworkshop.wordpress.com/456/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/nicholasworkshop.wordpress.com/456/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/nicholasworkshop.wordpress.com/456/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/nicholasworkshop.wordpress.com/456/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/nicholasworkshop.wordpress.com/456/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/nicholasworkshop.wordpress.com/456/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/nicholasworkshop.wordpress.com/456/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/nicholasworkshop.wordpress.com/456/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=nicholasworkshop.wordpress.com&amp;blog=23778521&amp;post=456&amp;subd=nicholasworkshop&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://nicholasworkshop.wordpress.com/2011/11/23/ssh-with-password-saved/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/8975c3f31fd38e7b0122a4c91588d720?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">nickwph</media:title>
		</media:content>
	</item>
		<item>
		<title>Merge 2 unrelated branches in Bazaar</title>
		<link>http://nicholasworkshop.wordpress.com/2011/11/07/merge-2-unrelated-branches-in-bazaar/</link>
		<comments>http://nicholasworkshop.wordpress.com/2011/11/07/merge-2-unrelated-branches-in-bazaar/#comments</comments>
		<pubDate>Mon, 07 Nov 2011 05:07:58 +0000</pubDate>
		<dc:creator>Nicholas</dc:creator>
				<category><![CDATA[Bazaar]]></category>
		<category><![CDATA[Shell Script]]></category>
		<category><![CDATA[Version Control]]></category>
		<category><![CDATA[2 entirely unrelated branches]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[bazaar]]></category>
		<category><![CDATA[bazaar merge]]></category>
		<category><![CDATA[branch]]></category>
		<category><![CDATA[branch location]]></category>
		<category><![CDATA[branches]]></category>
		<category><![CDATA[bzr]]></category>
		<category><![CDATA[bzr explorer]]></category>
		<category><![CDATA[bzr merge]]></category>
		<category><![CDATA[cmd]]></category>
		<category><![CDATA[explorer]]></category>
		<category><![CDATA[how]]></category>
		<category><![CDATA[how to]]></category>
		<category><![CDATA[latest]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[merge]]></category>
		<category><![CDATA[merge branch]]></category>
		<category><![CDATA[other]]></category>
		<category><![CDATA[r0]]></category>
		<category><![CDATA[revision]]></category>
		<category><![CDATA[shell]]></category>
		<category><![CDATA[shell script]]></category>
		<category><![CDATA[shellscript]]></category>
		<category><![CDATA[source code]]></category>
		<category><![CDATA[terminal]]></category>
		<category><![CDATA[unrelated]]></category>
		<category><![CDATA[version]]></category>

		<guid isPermaLink="false">http://nicholasworkshop.wordpress.com/?p=468</guid>
		<description><![CDATA[To merge 2 entirely unrelated branches or projects, we need to specify 0 as first revision in revision range. Turn on terminal (in Mac) or cmd (in Windows) and get to your project folder. Merge with the following shell script. merge -r0..-1 means to merge from revision 0 to the latest revision.<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=nicholasworkshop.wordpress.com&amp;blog=23778521&amp;post=468&amp;subd=nicholasworkshop&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>To merge 2 entirely unrelated branches or projects, we need to specify 0 as first revision in revision range. Turn on terminal (in Mac) or cmd (in Windows) and get to your project folder. Merge with the following shell script. <code>merge -r0..-1</code> means to merge from revision 0 to the latest revision.</p>
<p><pre class="brush: bash;">
bzr merge [other_branch_location] -r0..-1
</pre></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/nicholasworkshop.wordpress.com/468/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/nicholasworkshop.wordpress.com/468/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/nicholasworkshop.wordpress.com/468/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/nicholasworkshop.wordpress.com/468/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/nicholasworkshop.wordpress.com/468/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/nicholasworkshop.wordpress.com/468/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/nicholasworkshop.wordpress.com/468/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/nicholasworkshop.wordpress.com/468/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/nicholasworkshop.wordpress.com/468/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/nicholasworkshop.wordpress.com/468/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/nicholasworkshop.wordpress.com/468/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/nicholasworkshop.wordpress.com/468/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/nicholasworkshop.wordpress.com/468/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/nicholasworkshop.wordpress.com/468/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=nicholasworkshop.wordpress.com&amp;blog=23778521&amp;post=468&amp;subd=nicholasworkshop&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://nicholasworkshop.wordpress.com/2011/11/07/merge-2-unrelated-branches-in-bazaar/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/8975c3f31fd38e7b0122a4c91588d720?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">nickwph</media:title>
		</media:content>
	</item>
		<item>
		<title>Animated sprites in Cocos2D</title>
		<link>http://nicholasworkshop.wordpress.com/2011/09/22/animated-sprites-in-cocos2d/</link>
		<comments>http://nicholasworkshop.wordpress.com/2011/09/22/animated-sprites-in-cocos2d/#comments</comments>
		<pubDate>Thu, 22 Sep 2011 09:41:43 +0000</pubDate>
		<dc:creator>Nicholas</dc:creator>
				<category><![CDATA[Cocos2D]]></category>
		<category><![CDATA[Objective-C]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[animated]]></category>
		<category><![CDATA[animated sprites]]></category>
		<category><![CDATA[animation]]></category>
		<category><![CDATA[ccspriteframecache]]></category>
		<category><![CDATA[ccspritesheet]]></category>
		<category><![CDATA[cocos2d]]></category>
		<category><![CDATA[comment]]></category>
		<category><![CDATA[comments]]></category>
		<category><![CDATA[game]]></category>
		<category><![CDATA[how]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[share]]></category>
		<category><![CDATA[sprite]]></category>
		<category><![CDATA[sprites]]></category>

		<guid isPermaLink="false">http://nicholasworkshop.wordpress.com/?p=412</guid>
		<description><![CDATA[I have been working with Cocos2D for a while and I am still a newbie. The way to deal with animations in Cocos2D 1.0.0 &#8211; the stable version currently &#8211; is different from the way before using CCSpriteSheet. Now Cocos2D adapts animations as cache shared in the project using CCSpriteFrameCache. It also requires a plist file &#8230;<p><a href="http://nicholasworkshop.wordpress.com/2011/09/22/animated-sprites-in-cocos2d/" class="more-link">Read More</a></p><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=nicholasworkshop.wordpress.com&amp;blog=23778521&amp;post=412&amp;subd=nicholasworkshop&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I have been working with Cocos2D for a while and I am still a newbie. The way to deal with animations in Cocos2D 1.0.0 &#8211; the stable version currently &#8211; is different from the way before using CCSpriteSheet. <strong>Now Cocos2D adapts animations as cache shared in the project using CCSpriteFrameCache.</strong> It also requires a plist file as well as a texture file.</p>
<p><strong>First</strong>, put the following assets into the project &#8220;Resources&#8221; folder to let the program use.</p>
<ul>
<li><strong><a href="https://github.com/cocos2d/cocos2d-iphone/blob/develop/Resources/animations/grossini.plist">grossini.plist</a></strong> &#8211; The file contain the <strong>animation information</strong> such as frame details.</li>
<li><strong><a href="https://github.com/cocos2d/cocos2d-iphone/blob/develop/Resources/animations/grossini.pvr.gz">grossini.pvr.gz</a></strong> &#8211; The <strong>texture</strong> file in pvr format which allow better performance in Cocos2D.</li>
</ul>
<p><strong>Second</strong>, add the following codes into the function init. <strong>Take a look at the comments for program explanation.</strong> =]</p>
<p><pre class="brush: objc; highlight: [1,4,8,13,20,23]; wrap-lines: true;">
// Capture the window size
CGSize size = [[CCDirector sharedDirector] winSize];

// Load the plist into the cache
CCSpriteFrameCache *cache = [CCSpriteFrameCache sharedSpriteFrameCache];
[cache addSpriteFramesWithFile:@&quot;grossini.plist&quot;];

// Create sprite with the first frame
CCSprite *sprite = [CCSprite spriteWithSpriteFrameName:@&quot;grossini_dance_01.png&quot;];
sprite.position = ccp( size.width/2, size.height/2);
sprite.anchorPoint = ccp(0.5f, 0.5f);

// Create array for the animation frames
NSMutableArray *animFrames = [NSMutableArray array];
for(int i = 0; i &lt; 14; i++) {
    CCSpriteFrame *frame = [cache spriteFrameByName:[NSString stringWithFormat:@&quot;grossini_dance_%02d.png&quot;,(i+1)]];
    [animFrames addObject:frame];
}

// Convert the array into animation
CCAnimation *animation = [CCAnimation animationWithFrames:animFrames];

// Run the sprite with the created animation and display it by adding it to the scene
[sprite runAction:[CCRepeatForever actionWithAction: [CCAnimate actionWithDuration:2.8f animation:animation restoreOriginalFrame:NO] ]];
[self addChild:sprite z:0];
</pre></p>
<p><strong>After all</strong>, don&#8217;t forget to deallocate the resources loaded in cache in function dealloc.</p>
<p><pre class="brush: objc; highlight: [1];">
// Deallocate the resource in cache
CCSpriteFrameCache *cache = [CCSpriteFrameCache sharedSpriteFrameCache];
[cache removeSpriteFramesFromFile:@&quot;animations/grossini.plist&quot;];
</pre></p>
<p><strong>Finally</strong>, this is a screenshot. Enjoy. XD</p>
<p><a href="http://nicholasworkshop.files.wordpress.com/2011/09/animated-sprite.png"><img class="aligncenter size-full wp-image-444" title="animated-sprite" src="http://nicholasworkshop.files.wordpress.com/2011/09/animated-sprite.png?w=545" alt=""   /></a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/nicholasworkshop.wordpress.com/412/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/nicholasworkshop.wordpress.com/412/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/nicholasworkshop.wordpress.com/412/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/nicholasworkshop.wordpress.com/412/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/nicholasworkshop.wordpress.com/412/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/nicholasworkshop.wordpress.com/412/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/nicholasworkshop.wordpress.com/412/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/nicholasworkshop.wordpress.com/412/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/nicholasworkshop.wordpress.com/412/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/nicholasworkshop.wordpress.com/412/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/nicholasworkshop.wordpress.com/412/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/nicholasworkshop.wordpress.com/412/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/nicholasworkshop.wordpress.com/412/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/nicholasworkshop.wordpress.com/412/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=nicholasworkshop.wordpress.com&amp;blog=23778521&amp;post=412&amp;subd=nicholasworkshop&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://nicholasworkshop.wordpress.com/2011/09/22/animated-sprites-in-cocos2d/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/8975c3f31fd38e7b0122a4c91588d720?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">nickwph</media:title>
		</media:content>

		<media:content url="http://nicholasworkshop.files.wordpress.com/2011/09/animated-sprite.png" medium="image">
			<media:title type="html">animated-sprite</media:title>
		</media:content>
	</item>
	</channel>
</rss>
