<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>OmegaDelta &#187; dev</title>
	<atom:link href="http://omegadelta.net/tag/dev/feed/" rel="self" type="application/rss+xml" />
	<link>http://omegadelta.net</link>
	<description>It&#039;s good</description>
	<lastBuildDate>Thu, 17 May 2012 11:43:02 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>Another Year, another Symbolication Problem</title>
		<link>http://omegadelta.net/2012/04/03/another-year-another-symbolication-problem/</link>
		<comments>http://omegadelta.net/2012/04/03/another-year-another-symbolication-problem/#comments</comments>
		<pubDate>Mon, 02 Apr 2012 22:05:01 +0000</pubDate>
		<dc:creator>Will</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[dev]]></category>
		<category><![CDATA[iOS]]></category>

		<guid isPermaLink="false">http://omegadelta.net/?p=3461</guid>
		<description><![CDATA[For me, this is an annual event it seems: struggling to get XCode to symbolicate stuff so it&#8217;s actually useful. The task: get symbols in my Instruments so I can see which bloody method is taking 10 seconds to execute. The problem always seems to be Spotlight, which is used to locate the builds. To [...]]]></description>
			<content:encoded><![CDATA[<p>For me, this is an annual event it seems: struggling to get XCode to symbolicate stuff so it&#8217;s actually useful. The task: get symbols in my Instruments so I can see which bloody method is taking 10 seconds to execute.</p>
<p>The problem always seems to be Spotlight, which is used to locate the builds.</p>
<p>To cut a long story short: XCode places the dSYM files for the *current* build in <code>~/Library/Developer/Xcode/DerivedData</code> and the dSYM&#8217;s for your archived builds in <code>~/Library/Developer/Xcode/Archives/</code> (if you&#8217;re using finder you&#8217;ll have to use &#8216;show package contents&#8217; on the builds to see what&#8217;s inside).</p>
<p>Aside: is your Library directory hidden in Lion: <code>chflags nohidden ~/Library/</code> to unhide.</p>
<p>Now the last time I was trying to symbolicate it was crash dumps, and some advice on SO advised me to add the DerivedData folder to my Spotlight exclusions so the symbolicator doesn&#8217;t get confused (I believe it worked at the time), of course this messes with <strong>symbolication</strong> Instruments, so be sure to remove it.</p>
<p>I love it when you can avoid Spotlight altogether, which just seems so flakey for things like this – and there is a <a href="http://stackoverflow.com/a/7840013/72176">good way</a> (<a href="http://stackoverflow.com/a/8702682/72176">alt</a>). I&#8217;ll summarise it here:</p>
<ol>
<li>With Instruments stopped, click on File -> Re-Symbolicate Document</li>
<li>Search for your app name</li>
<li>Click &#8220;Locate&#8221; and choose your dSYM from <code>~/Library/Developer/DerivedData/APP_NAME-XXXXXXX/Build/Products/[BUILD_TYPE]-[DEVICE-TYPE]/</code></li>
<li>Click the Start button to begin profiling</li>
</ol>
<p>With step 4, it&#8217;s possible you may have multiple folders with the same app name. The easiest way to find the one you need is to order by modification date, and pick the most recent.</p>
<p>For me, this fixed up Instruments on a per-execution basis, without needing to trick Spotlight into action.  I expect once Spotlight has a chance to sort itself out, it may <i>just work</i> but you won&#8217;t find me holding my breath.</p>
]]></content:encoded>
			<wfw:commentRss>http://omegadelta.net/2012/04/03/another-year-another-symbolication-problem/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Hashbangs vs pushState</title>
		<link>http://omegadelta.net/2012/02/22/hashbangs-vs-pushstate/</link>
		<comments>http://omegadelta.net/2012/02/22/hashbangs-vs-pushstate/#comments</comments>
		<pubDate>Wed, 22 Feb 2012 02:21:13 +0000</pubDate>
		<dc:creator>Will</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[dev]]></category>
		<category><![CDATA[hashbang]]></category>
		<category><![CDATA[javascript]]></category>

		<guid isPermaLink="false">http://omegadelta.net/?p=3433</guid>
		<description><![CDATA[When Twitter jumped on the hashbang bandwagon, it prompted me to consider it too. I even did up a quick prototype on Geospike to see it working. Something made me uneasy though, so I put in on ice. I&#8217;m happy I did, as these are some very convincing arguments against hashbangs, and for pushState. Using [...]]]></description>
			<content:encoded><![CDATA[<p>When Twitter jumped on the hashbang bandwagon, it prompted me to consider it too. I even did up a quick prototype on Geospike to see it working. Something made me uneasy though, so I put in on ice.</p>
<p>I&#8217;m happy I did, as these are some very <a href="http://danwebb.net/2011/5/28/it-is-about-the-hashbangs">convincing arguments against hashbangs, and for pushState</a>.  Using pushState alone means you can&#8217;t support IE, but as the author states &#8220;are page refreshes that bad?&#8221; – it is possible to make page loads fast, and this is a good example of something degrading gracefully.</p>
<p>Interesting summary of the <a href="http://storify.com/timhaines/hashbang-conversation">conversation</a>, and more <a href="http://badassjs.com/post/840846392/location-hash-is-dead-long-live-html5-pushstate">pushState</a> info.</p>
]]></content:encoded>
			<wfw:commentRss>http://omegadelta.net/2012/02/22/hashbangs-vs-pushstate/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>stdin, stdout, stderr with proc_open in PHP</title>
		<link>http://omegadelta.net/2012/02/08/stdin-stdout-stderr-with-proc_open-in-php/</link>
		<comments>http://omegadelta.net/2012/02/08/stdin-stdout-stderr-with-proc_open-in-php/#comments</comments>
		<pubDate>Tue, 07 Feb 2012 14:59:32 +0000</pubDate>
		<dc:creator>Will</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[dev]]></category>
		<category><![CDATA[gaa]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://omegadelta.net/?p=3423</guid>
		<description><![CDATA[Want to use PHP as part of your toolchain? It&#8217;s a bit painful. If you want to pipe in some data from memory, and read it back into memory (why not! using tmp files is for wimps). here&#8217;s the solution, thanks to richard at 2006 dot atterer dot net // $command is the command to [...]]]></description>
			<content:encoded><![CDATA[<p>Want to use PHP as part of your toolchain? It&#8217;s a bit painful. If you want to pipe in some data from memory, and read it back into memory (why not! using tmp files is for wimps).</p>
<p>here&#8217;s the solution, thanks to <a href="http://au.php.net/manual/en/function.proc-open.php#64116">richard at 2006 dot atterer dot net</a></p>
<pre>

// $command is the command to run, $stdin is your input.  You get back $stdout and $stderr and $returnValue
// you'll probably want to wrap this in a function ;)

$descriptorSpec = array(0 => array("pipe", "r"),
                           1 => array('pipe', 'w'),
                           2 => array('pipe', 'w'));
  $process = proc_open($command, $descriptorSpec, $pipes);
  $txOff = 0; $txLen = strlen($stdin);
  $stdout = ''; $stdoutDone = FALSE;
  $stderr = ''; $stderrDone = FALSE;
  stream_set_blocking($pipes[0], 0); // Make stdin/stdout/stderr non-blocking
  stream_set_blocking($pipes[1], 0);
  stream_set_blocking($pipes[2], 0);
  if ($txLen == 0) fclose($pipes[0]);
  while (TRUE) {
    $rx = array(); // The program's stdout/stderr
    if (!$stdoutDone) $rx[] = $pipes[1];
    if (!$stderrDone) $rx[] = $pipes[2];
    $tx = array(); // The program's stdin
    if ($txOff < $txLen) $tx[] = $pipes[0];
    $ex = NULL;
    stream_select($rx, $tx, $ex, NULL, NULL); // Block til r/w possible
    if (!empty($tx)) {
      $txRet = fwrite($pipes[0], substr($stdin, $txOff, 8192));
      if ($txRet !== FALSE) $txOff += $txRet;
      if ($txOff >= $txLen) fclose($pipes[0]);
    }
    foreach ($rx as $r) {
      if ($r == $pipes[1]) {
        $stdout .= fread($pipes[1], 8192);
        if (feof($pipes[1])) { fclose($pipes[1]); $stdoutDone = TRUE; }
      } else if ($r == $pipes[2]) {
        $stderr .= fread($pipes[2], 8192);
        if (feof($pipes[2])) { fclose($pipes[2]); $stderrDone = TRUE; }
      }
    }
    if (!is_resource($process)) break;
    if ($txOff >= $txLen &#038;&#038; $stdoutDone &#038;&#038; $stderrDone) break;
  }
  $returnValue = proc_close($process);
</pre>
<p>I previously had an implementation using `fwrite` and `stream_get_contents` as some other people, and the docs suggested, which works fine for small inputs, but once you get something bigger than ~200k input, it can completely deadlock.</p>
<p>This implementation is better as it reads and writes the data when needed, keeping everything flowing and alive.</p>
]]></content:encoded>
			<wfw:commentRss>http://omegadelta.net/2012/02/08/stdin-stdout-stderr-with-proc_open-in-php/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[[UIDevice currentDevice] uniqueIdentifier] Substitute</title>
		<link>http://omegadelta.net/2012/02/02/uidevice-currentdevice-uniqueidentifier-substitute/</link>
		<comments>http://omegadelta.net/2012/02/02/uidevice-currentdevice-uniqueidentifier-substitute/#comments</comments>
		<pubDate>Thu, 02 Feb 2012 13:42:33 +0000</pubDate>
		<dc:creator>Will</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[deprecation]]></category>
		<category><![CDATA[dev]]></category>
		<category><![CDATA[iOS]]></category>
		<category><![CDATA[workaround]]></category>

		<guid isPermaLink="false">http://omegadelta.net/?p=3408</guid>
		<description><![CDATA[Identifying devices uniquely is handy. Apple deprecated their uniqueIdentifier property, with the severe warning &#8220;Do not use the uniqueIdentifier property&#8221;, so it&#8217;s time to migrate before they remove it altogether or start rejecting apps *sigh*. With that in mind, I created a replacement method for UIDevice: UDID. It uses the device&#8217;s MAC address to generate [...]]]></description>
			<content:encoded><![CDATA[<p>Identifying devices uniquely is handy. Apple deprecated their <code>uniqueIdentifier</code> property, with the severe warning &#8220;Do not use the uniqueIdentifier property&#8221;, so it&#8217;s time to migrate before they remove it altogether or start rejecting apps <em>*sigh*</em>.</p>
<p>With that in mind, I created a replacement method for UIDevice: <code>UDID</code>.  It uses the device&#8217;s MAC address to generate a unique ID that is the same length as the old UDIDs. I was inspired by some other people&#8217;s solutions, but rolled my own implementation which I feel is neater, and more compatible (as it generates similar 40char UDIDs). <a href="https://github.com/WilliamDenniss/UIDevice-UDID">You can fork it on github</a>.</p>
<p>It&#8217;s not a drop-in replacement, for fear of monkey patching over an existing method. Just do a find &#038; replace with: <code>[[UIDevice currentDevice] UDID]</code>.</p>
<p>Of course: consider if device identifiers are right for you. To identify a specific install of your app (which can be migrated from one iPhone another due to loss/upgrading), generating a UUID and saving that as a NSUserDefault would work best (since it will transfer with the app data).</p>
<p>License: public domain.</p>
]]></content:encoded>
			<wfw:commentRss>http://omegadelta.net/2012/02/02/uidevice-currentdevice-uniqueidentifier-substitute/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Turbocharging git on Mac OS X</title>
		<link>http://omegadelta.net/2012/01/23/turbocharging-git-on-mac-os-x/</link>
		<comments>http://omegadelta.net/2012/01/23/turbocharging-git-on-mac-os-x/#comments</comments>
		<pubDate>Mon, 23 Jan 2012 08:11:51 +0000</pubDate>
		<dc:creator>Will</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[dev]]></category>
		<category><![CDATA[diff]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[merge]]></category>
		<category><![CDATA[tools]]></category>

		<guid isPermaLink="false">http://omegadelta.net/?p=3372</guid>
		<description><![CDATA[This weekend I discovered two awesome graphical tools to improve my git experience on Mac OS X: The most awesome is KDiff3 (search for &#8216;Apple Mac OSX binary&#8217; on that page for the Mac binary). This is a three-way merge tool with an editing panel below. Seriously where has this been all my life? Amazing. [...]]]></description>
			<content:encoded><![CDATA[<p>This weekend I discovered two awesome graphical tools to improve my git experience on Mac OS X:</p>
<p>The most awesome is <a href="http://kdiff3.sourceforge.net/">KDiff3</a> (search for &#8216;Apple Mac OSX binary&#8217; on that page for the Mac binary). This is a three-way merge tool with an editing panel below. Seriously where has this been all my life? Amazing.</p>
<p>Download it, and install – make sure it&#8217;s in your system PATH. Then simply run <code>git config --global merge.tool kdiff3</code> to set it as your default merge tool.  Now every time you get a conflict, your <code>git mergetool</code> command will actually be rather helpful!  Basically you are shown the base revision (that both branches split from) in the middle, one branch either side, and an editor below allowing you to pick which side you want and/or edit the file directly.</p>
<p>The second tool I (re)discovered was <a href="http://www.sourcetreeapp.com/">SourceTree</a> (<a href="http://itunes.apple.com/au/app/sourcetree-git-hg/id411678673?mt=12">Mac App Store DL Link</a>).  It is a Mac GUI client for git. I&#8217;m pretty comfortable with the command line, but what I love about this tool is it allows me to review my changes before I commit them (either staged or unstaged), discard hunks I don&#8217;t want, and of course open the file in question for editing.  Very convenient. <code>git diff</code> is nice and all, but I love having that handy &#8216;discard hunk&#8217; button in SourceTree so I can skip my silly changes.  For me this is the most useful feature, though no doubt there are others. Oh and it&#8217;s free (it&#8217;s a bit confusing, as there is a &#8220;trial&#8221; period, but after the trial you simply register for free, and are given a license).</p>
<p><span id="more-3372"></span></p>
<p>Refs:<br />
1. <a href="http://progit.org/book/ch7-1.html">Some useful git config tips</a><br />
2. <a href="http://stackoverflow.com/questions/187064/graphical-diff-for-mac-os-x"> Graphical Diff Tools for Mac OS X</a><br />
3. <a href="http://stackoverflow.com/questions/426026/git-on-windows-how-do-you-set-up-a-mergetool">Setting up mergetool on windows</a></p>
]]></content:encoded>
			<wfw:commentRss>http://omegadelta.net/2012/01/23/turbocharging-git-on-mac-os-x/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Migrating data in a Rails migration</title>
		<link>http://omegadelta.net/2012/01/11/migrating-data-in-a-rails-migration/</link>
		<comments>http://omegadelta.net/2012/01/11/migrating-data-in-a-rails-migration/#comments</comments>
		<pubDate>Wed, 11 Jan 2012 02:50:52 +0000</pubDate>
		<dc:creator>Will</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[dev]]></category>
		<category><![CDATA[rails]]></category>

		<guid isPermaLink="false">http://omegadelta.net/?p=3336</guid>
		<description><![CDATA[Turns out it&#8217;s easy to whack any old piece of code into the migration for migrating your data, for example these work well for some arbitrary SQL statements (I used UPDATE ones&#8230;) ActiveRecord::Base.connection.select_one('SELECT COUNT(*) FROM mytable') ActiveRecord::Base.connection.execute('SELECT * FROM mytable') Thanks revgeorge.]]></description>
			<content:encoded><![CDATA[<p>Turns out it&#8217;s easy to whack any old piece of code into the migration for migrating your data, for example these work well for some arbitrary SQL statements (I used UPDATE ones&#8230;)</p>
<pre class="brush:sql">
ActiveRecord::Base.connection.select_one('SELECT COUNT(*) FROM mytable')
ActiveRecord::Base.connection.execute('SELECT * FROM mytable')
</pre>
<p>Thanks <a href="http://ask.metafilter.com/28980/How-do-I-write-arbitrary-SQL-queries-in-Ruby-on-Rails#456303">revgeorge</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://omegadelta.net/2012/01/11/migrating-data-in-a-rails-migration/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>AppleIDs and multiple iOS developer accounts</title>
		<link>http://omegadelta.net/2011/12/19/appleids-and-multiple-ios-developer-accounts/</link>
		<comments>http://omegadelta.net/2011/12/19/appleids-and-multiple-ios-developer-accounts/#comments</comments>
		<pubDate>Mon, 19 Dec 2011 08:23:18 +0000</pubDate>
		<dc:creator>Will</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[dev]]></category>
		<category><![CDATA[iOS]]></category>

		<guid isPermaLink="false">http://omegadelta.net/?p=3276</guid>
		<description><![CDATA[&#8220;In the iOS Development Ecosystem the people are represented by two separate, yet equally important groups. The iOS Developer Users who create apps and the iTunesConnect Users who upload the apps. These are their stories.&#8221; An iOS team is actually in two parts: the iOS Developer Team, accessed via the Member Center, and a completely [...]]]></description>
			<content:encoded><![CDATA[<p>&#8220;In the iOS Development Ecosystem the people are represented by two separate, yet equally important groups. The iOS Developer Users who create apps and the iTunesConnect Users who upload the apps. These are their stories.&#8221;</p>
<p>An iOS team is actually in two parts: the iOS Developer Team, accessed via the Member Center, and a completely separate iTunes Connect team.</p>
<p>It turns out that the one AppleID can belong to multiple iOS developer teams, and Apple asks you when you login to the member center which team you want to use.  However iTunes Connect has no such feature, and each AppleID can only belong to one iTunes Connect &#8220;team&#8221;.</p>
<p>So you can re-use AppleIDs for developer accounts, but not itunes connect accounts. It&#8217;s up to you I guess if you want a totally separate AppleID for each team, or just each iTunes connect account.</p>
]]></content:encoded>
			<wfw:commentRss>http://omegadelta.net/2011/12/19/appleids-and-multiple-ios-developer-accounts/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>monit</title>
		<link>http://omegadelta.net/2011/12/18/monit/</link>
		<comments>http://omegadelta.net/2011/12/18/monit/#comments</comments>
		<pubDate>Sun, 18 Dec 2011 01:49:33 +0000</pubDate>
		<dc:creator>Will</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[deploy]]></category>
		<category><![CDATA[dev]]></category>
		<category><![CDATA[linux]]></category>

		<guid isPermaLink="false">http://omegadelta.net/?p=3271</guid>
		<description><![CDATA[Monit for linux is a great way to make sure Apache is running. I set it up with the help of this fantastic tutorial. My steps after the break. Install yum install monit Configure on boot /sbin/service chkconfig --levels 235 monit on Create the config file vi /etc/monit.d/monitrc With something like: set daemon 30 set [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://mmonit.com/monit/">Monit for linux</a> is a great way to make sure Apache is running.</p>
<p>I set it up with the help of this <a href="http://www.dullnicker.com/dnb/?p=83">fantastic tutorial</a>. My steps after the break.</p>
<p><span id="more-3271"></span></p>
<p>Install</p>
<pre>
yum install monit
</pre>
<p>Configure on boot</p>
<pre>
/sbin/service chkconfig --levels 235 monit on
</pre>
<p>Create the config file</p>
<pre>
vi /etc/monit.d/monitrc
</pre>
<p>With something like:</p>
<pre>
set daemon 30
set logfile syslog facility log_daemon
set mailserver localhost
set mail-format { from: monit@www.example.com }
set alert you@example.com

check process sshd with pidfile /var/run/sshd.pid
start program "/etc/init.d/sshd start"
stop program "/etc/init.d/sshd stop"
if failed port 22 protocol ssh then restart
if 5 restarts within 5 cycles then timeout

check process apache with pidfile /var/run/httpd.pid
group www
start program = "/etc/init.d/httpd start"
stop program = "/etc/init.d/httpd stop"
if failed host www.example.com port 80 protocol http
and request "/monit/token" then restart
if cpu is greater than 60% for 2 cycles then alert
if cpu > 80% for 5 cycles then restart
if totalmem > 500 MB for 5 cycles then restart
if children > 250 then restart
if loadavg(5min) greater than 10 for 8 cycles then stop
if 3 restarts within 5 cycles then timeout
</pre>
<p><ocde>set daemon</code> is used to specify the <a href="http://mmonit.com/monit/documentation/monit.html#daemon_mode">number of seconds between each check</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://omegadelta.net/2011/12/18/monit/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>NSDateFormatter format specifiers</title>
		<link>http://omegadelta.net/2011/12/13/nsdateformatter-format-specifiers/</link>
		<comments>http://omegadelta.net/2011/12/13/nsdateformatter-format-specifiers/#comments</comments>
		<pubDate>Tue, 13 Dec 2011 12:02:37 +0000</pubDate>
		<dc:creator>Will</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[dev]]></category>
		<category><![CDATA[iOS]]></category>

		<guid isPermaLink="false">http://omegadelta.net/?p=3265</guid>
		<description><![CDATA[Ever wanted the list of format specifiers? As per the docs, it is here. Anything in single quotes is put through as-is.]]></description>
			<content:encoded><![CDATA[<p>Ever wanted the list of format specifiers?</p>
<p>As per the <a href="http://developer.apple.com/library/ios/#documentation/Cocoa/Conceptual/DataFormatting/Articles/dfDateFormatting10_4.html">docs</a>, it is <a href="http://unicode.org/reports/tr35/tr35-10.html#Date_Format_Patterns">here</a>.</p>
<p>Anything in single quotes is put through as-is.</p>
]]></content:encoded>
			<wfw:commentRss>http://omegadelta.net/2011/12/13/nsdateformatter-format-specifiers/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Android Market Resources</title>
		<link>http://omegadelta.net/2011/12/13/android-market-resources/</link>
		<comments>http://omegadelta.net/2011/12/13/android-market-resources/#comments</comments>
		<pubDate>Tue, 13 Dec 2011 09:23:37 +0000</pubDate>
		<dc:creator>Will</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[dev]]></category>

		<guid isPermaLink="false">http://omegadelta.net/?p=3260</guid>
		<description><![CDATA[Confused about what each of the images do and how they&#8217;re cropped? Look no further than this awesome test app! Market link here. Some high quality phone image marketing resources. I like this one.]]></description>
			<content:encoded><![CDATA[<p>Confused about what each of the images do and how they&#8217;re cropped?</p>
<p>Look no further than this <a href="http://xayin.com/thisisatest.html">awesome test app</a>! Market link <a href="https://market.android.com/details?id=com.xayin.android.thisisatest">here</a>.</p>
<p>Some <a href="http://speckyboy.com/2010/02/17/40-detailed-and-high-quality-mobile-phone-psd-source-files/">high</a> <a href="http://www.webanddesigners.com/20-free-phone-and-ipad-gui-psd-and-vector-templates-for-web-designers/">quality</a> <a href="http://www.designscollage.com/2011/04/65-outstanding-mobile-phones-gui-design-psd-packs/">phone</a> image marketing resources. I like <a href="http://bharathp666.deviantart.com/art/Google-nexus-one-V2-Templates-150971548">this one</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://omegadelta.net/2011/12/13/android-market-resources/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

