<?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>The Mindful Coder &#187; Tools</title>
	<atom:link href="http://themindfulcoder.com/category/tools/feed/" rel="self" type="application/rss+xml" />
	<link>http://themindfulcoder.com</link>
	<description>Code, yes. But think about it a little first.</description>
	<lastBuildDate>Sun, 27 Nov 2011 20:18:11 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>XCode 4 &amp; The broken Application Loader</title>
		<link>http://themindfulcoder.com/2011/04/xcode-4-the-broken-application-loader/</link>
		<comments>http://themindfulcoder.com/2011/04/xcode-4-the-broken-application-loader/#comments</comments>
		<pubDate>Mon, 11 Apr 2011 03:13:51 +0000</pubDate>
		<dc:creator>The Fat Oracle</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[iOS]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[Application Loader]]></category>
		<category><![CDATA[Organizer]]></category>
		<category><![CDATA[XCode]]></category>

		<guid isPermaLink="false">http://themindfulcoder.com/2011/04/xcode-4-the-broken-application-loader/</guid>
		<description><![CDATA[TweetI tried uploading an app to the App store from XCode 4’s Organizer and it would keep throwing up an IO error. com.apple.transporter.util.StreamUtil.readBytes(Ljava/io/InputStream;) Tried again and again to no avail. I suspected that it could be something to do with XCode 4 because the App loader was working fine a few days back.  I hit [...]]]></description>
			<content:encoded><![CDATA[<div id="tweetbutton130" class="tw_button" style="float:right;margin-left:10px;"><a href="http://twitter.com/share?url=http%3A%2F%2Fthemindfulcoder.com%2F2011%2F04%2Fxcode-4-the-broken-application-loader%2F&amp;text=RT%20%40fatoracle%20XCode%204%20%26amp%3B%20The%20broken%20Application%20Loader&amp;related=fatoracle&amp;lang=en&amp;count=horizontal&amp;counturl=http%3A%2F%2Fthemindfulcoder.com%2F2011%2F04%2Fxcode-4-the-broken-application-loader%2F" class="twitter-share-button"  style="width:55px;height:22px;background:transparent url('http://themindfulcoder.com/wp-content/plugins/wp-tweet-button/tweetn.png') no-repeat  0 0;text-align:left;text-indent:-9999px;display:block;">Tweet</a></div><fb:like href='http://themindfulcoder.com/2011/04/xcode-4-the-broken-application-loader/' send='true' layout='standard' show_faces='true' width='450' height='65' action='recommend' colorscheme='light' font='lucida+grande'></fb:like><p>I tried uploading an app to the App store from XCode 4’s Organizer and it would keep throwing up an IO error.</p>
<p>com.apple.transporter.util.StreamUtil.readBytes(Ljava/io/InputStream;)</p>
<p>Tried again and again to no avail. I suspected that it could be something to do with XCode 4 because the App loader was working fine a few days back.  I hit up the issue on stackoverflow and looks like many people had faced this issue. Most had gotten the issue resolved by uninstalling XCode 4 and rolling back to 3.x.</p>
<p>I was too lazy to do that and decided to just roll back Application Loader from 1.4.1 to an older version. Downloaded 1.3 and installed it. Upload worked!!!!</p>
<p>Download Application Loader 1.3 from Apple here:</p>
<p><a title="http://oranj.us/2x" href="http://oranj.us/2x">http://oranj.us/2x</a></p>
<p>or</p>
<p>direct link:</p>
<p><a title="http://itunesconnect.apple.com/apploader/ApplicationLoader_1.3.dmg " href="http://itunesconnect.apple.com/apploader/ApplicationLoader_1.3.dmg ">http://itunesconnect.apple.com/apploader/ApplicationLoader_1.3.dmg </a></p>
]]></content:encoded>
			<wfw:commentRss>http://themindfulcoder.com/2011/04/xcode-4-the-broken-application-loader/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Signing your Android App</title>
		<link>http://themindfulcoder.com/2010/09/signing-your-android-app/</link>
		<comments>http://themindfulcoder.com/2010/09/signing-your-android-app/#comments</comments>
		<pubDate>Wed, 15 Sep 2010 19:07:09 +0000</pubDate>
		<dc:creator>The Fat Oracle</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[eclipse]]></category>
		<category><![CDATA[jarsigner]]></category>
		<category><![CDATA[keytool]]></category>

		<guid isPermaLink="false">http://themindfulcoder.com/2010/09/signing-your-android-app/</guid>
		<description><![CDATA[TweetI was going through the official Android documentation for signing an app that you then want to send to users or to put in the market and it struck me that there’s too much information on that page for most scenarios. So here is a quick 1-2-3 on how to get it all done in [...]]]></description>
			<content:encoded><![CDATA[<div id="tweetbutton118" class="tw_button" style="float:right;margin-left:10px;"><a href="http://twitter.com/share?url=http%3A%2F%2Fthemindfulcoder.com%2F2010%2F09%2Fsigning-your-android-app%2F&amp;text=RT%20%40fatoracle%20Signing%20your%20Android%20App&amp;related=fatoracle&amp;lang=en&amp;count=horizontal&amp;counturl=http%3A%2F%2Fthemindfulcoder.com%2F2010%2F09%2Fsigning-your-android-app%2F" class="twitter-share-button"  style="width:55px;height:22px;background:transparent url('http://themindfulcoder.com/wp-content/plugins/wp-tweet-button/tweetn.png') no-repeat  0 0;text-align:left;text-indent:-9999px;display:block;">Tweet</a></div><fb:like href='http://themindfulcoder.com/2010/09/signing-your-android-app/' send='true' layout='standard' show_faces='true' width='450' height='65' action='recommend' colorscheme='light' font='lucida+grande'></fb:like><p>I was going through the official Android documentation for signing an app that you then want to send to users or to put in the market and it struck me that there’s too much information on that page for most scenarios. So here is a quick 1-2-3 on how to get it all done in 5 minutes flat.</p>
<p>This guide assumes you are using Eclipse for Android development (Why wouldn’t you?). I also used Windows when writing this up but the steps on mac/linux are very similar. </p>
<ol>
<li>In Eclipse Package Explorer, right click on the Package of your app, go to Android Tools—&gt;Export Unsigned Application Package      <br /><a href="http://themindfulcoder.com/wp-content/uploads/2010/09/image.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://themindfulcoder.com/wp-content/uploads/2010/09/image_thumb.png" width="522" height="507" /></a> </li>
<li>Save the apk file in an appropriate location      <br /><a href="http://themindfulcoder.com/wp-content/uploads/2010/09/image1.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://themindfulcoder.com/wp-content/uploads/2010/09/image_thumb1.png" width="524" height="373" /></a> </li>
<li>You will be shown a warning outlining the next steps required.
<p><a href="http://themindfulcoder.com/wp-content/uploads/2010/09/image2.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://themindfulcoder.com/wp-content/uploads/2010/09/image_thumb2.png" width="523" height="413" /></a> </li>
<li>Next, we need to generate a key to sign our app with. The key is stored in a keystore file that ends with a .keystore extension. To generate a keystore we just the JDK’s keytool which is in your jdk\bin folder. If you have the jdk\bin folder added to your PATH environment variable, you can run it via command line from any location. Else, you will need to run the following steps from the &lt;your jdk folder&gt;\bin location. </li>
<li>Open a command prompt window and execute the following command. I have chosen to do so in the same folder where I placed MyApp.apk in step 2
<p><em>H:\scrap\SigningAppsDemo&gt;keytool -genkey -v -keystore themindfulcoder.keystore -alias themindfulcoder -keyalg RSA -validity 20000</em></p>
<p>Here, I have chosen to create a keystore called <em>themindfulcoder.keystore</em> so that I can reuse this key to sign other apps, not just my current app. I have also given it an alias <em>themindfulcoder</em>. You need to specify a validity period for the key starting from the day it was generated and I have given it an arbitrary value of 20000 – basically a *really* long time.</p>
<p><strong>Note (Windows users)</strong>: When running the above command, if you face any exceptions, you should try to check if you have privileges to the folder you are in. Even better, to be safe just select to ‘run as administrator’ when opening command prompt. </p>
</li>
<li>When you run the above command, you will be asked several questions. Answer them based on how you want the certificate signed. You should now have a key.      <br /><a href="http://themindfulcoder.com/wp-content/uploads/2010/09/image3.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://themindfulcoder.com/wp-content/uploads/2010/09/image_thumb3.png" width="518" height="415" /></a> </li>
<li>Next step, we use the key to sign the app. To sign the app, we use the JDK’s jarsigner tool. Assuming you are now in the folder where your apk file and key are place, run the jarsigner tool as follows:
<p><em>H:\scrap\SigningAppsDemo&gt;jarsigner -verbose -keystore themindfulcoder.keystore M        <br />yApp.apk themindfulcoder         </p>
<p></em>The “<em>theminduflcoder” </em>that you see at the end of that command is the alias that we used when generating the themindfulcoder.keystore. </li>
<li>When you run the above command, you will be asked for the passphrase that you used when generating the keystore. Enter it. You will have a signed app at the end of it!
<p><a href="http://themindfulcoder.com/wp-content/uploads/2010/09/image4.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://themindfulcoder.com/wp-content/uploads/2010/09/image_thumb4.png" width="523" height="192" /></a> </li>
<li>Optional but just to make sure your app was signed correctly, run the jarsigner command again with the –verify option. I chose to run it with –verbose as well so as to see the details.      <br />After running, if you see “jar verified”, you are set. </li>
</ol>
<p>&#160;</p>
<p>And that’s it! You now have a signed app that you can put up somewhere for others to download, upload to the Android Market or send to your testers.</p>
<p>Here are some things to keep in mind when performing the above steps.</p>
<ol>
<li>So as to keep it clean and simple, perform the above steps so that your apk file, your keystore etc all end up in one folder. </li>
<li>You are probably wondering about the choice the an arbitrary validity value of 20000 days when creating the key. If you are going to submit your app to the Android market, keep in mind that all apps submitted must have be valid till at least 1 day after 22 October 2033. This is from the <a href="http://developer.android.com/guide/publishing/app-signing.html" target="_blank">Android documentation</a> (Read the signing strategies part &#8211; useful):       <br /> <br />
<blockquote>
<p>Market server enforces this requirement to ensure that users can seamlessly upgrade Market applications when new versions are available.</p>
</blockquote>
</li>
</ol>
<p>&#160;</p>
<p>Useful? Let me know if you found this useful, too verbose, missing something subtle when you tried the steps out – anything at all. I want to hit the sweet spot of not too much, not too little next time I write a 1-2-3.</p>
]]></content:encoded>
			<wfw:commentRss>http://themindfulcoder.com/2010/09/signing-your-android-app/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Apple Mail on Widescreen monitors</title>
		<link>http://themindfulcoder.com/2009/09/apple-mail-on-widescreen-monitors/</link>
		<comments>http://themindfulcoder.com/2009/09/apple-mail-on-widescreen-monitors/#comments</comments>
		<pubDate>Wed, 09 Sep 2009 19:29:51 +0000</pubDate>
		<dc:creator>The Fat Oracle</dc:creator>
				<category><![CDATA[Tools]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[Leopard]]></category>
		<category><![CDATA[Letterbox]]></category>
		<category><![CDATA[Mail]]></category>
		<category><![CDATA[OS X]]></category>
		<category><![CDATA[Snow leopard]]></category>

		<guid isPermaLink="false">http://themindfulcoder.com/?p=45</guid>
		<description><![CDATA[TweetI don&#8217;t know why Apple doesn&#8217;t provide the three column layout that MS Outlook, Thunderbird and other clients have built in. On widescreen monitors, there really is no other layout that makes better use of the space available. I found a nice little Mail plugin that almost satisfies my needs. It&#8217;s called Letterbox and is [...]]]></description>
			<content:encoded><![CDATA[<div id="tweetbutton45" class="tw_button" style="float:right;margin-left:10px;"><a href="http://twitter.com/share?url=http%3A%2F%2Fthemindfulcoder.com%2F2009%2F09%2Fapple-mail-on-widescreen-monitors%2F&amp;text=RT%20%40fatoracle%20Apple%20Mail%20on%20Widescreen%20monitors&amp;related=fatoracle&amp;lang=en&amp;count=horizontal&amp;counturl=http%3A%2F%2Fthemindfulcoder.com%2F2009%2F09%2Fapple-mail-on-widescreen-monitors%2F" class="twitter-share-button"  style="width:55px;height:22px;background:transparent url('http://themindfulcoder.com/wp-content/plugins/wp-tweet-button/tweetn.png') no-repeat  0 0;text-align:left;text-indent:-9999px;display:block;">Tweet</a></div><fb:like href='http://themindfulcoder.com/2009/09/apple-mail-on-widescreen-monitors/' send='true' layout='standard' show_faces='true' width='450' height='65' action='recommend' colorscheme='light' font='lucida+grande'></fb:like><p>I don&#8217;t know why Apple doesn&#8217;t provide the three column layout that MS Outlook, Thunderbird and other clients have built in. On widescreen monitors, there really is no other layout that makes better use of the space available.</p>
<p>I found a nice little Mail plugin that almost satisfies my needs. It&#8217;s called Letterbox and is downloadable from <a href="http://harnly.net/software/letterbox/" target="_blank">http://harnly.net/software/letterbox/</a>. My only gripe &#8211; and its probably something Letterbox doesn&#8217;t have much control over &#8211; is that the layout of the &#8216;fields&#8217; shown in the middle column don&#8217;t work perfect for the 3 column layout. Ideally the way Apple lays out the fields in the middle column should be replaced by how the fields are laid out in Outlook with the date, size etc being shown as sub-text below the from and the subject.</p>
<p>Still works great!</p>
<p><a href="http://themindfulcoder.com/wp-content/uploads/2009/09/2009-09-09_1515.png"><img class="size-large wp-image-47 alignleft" title="2009-09-09_1515" src="http://themindfulcoder.com/wp-content/uploads/2009/09/2009-09-09_1515-1024x588.png" alt="2009-09-09_1515" width="430" height="247" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://themindfulcoder.com/2009/09/apple-mail-on-widescreen-monitors/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

