<?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>marcparadise.com</title>
	<atom:link href="http://marcparadise.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://marcparadise.com</link>
	<description>Thoughts on technology, design, software development and - sometimes - life.</description>
	<lastBuildDate>Thu, 20 Oct 2011 14:30:20 +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>Moving On</title>
		<link>http://marcparadise.com/moving-on/</link>
		<comments>http://marcparadise.com/moving-on/#comments</comments>
		<pubDate>Thu, 20 Oct 2011 14:30:20 +0000</pubDate>
		<dc:creator>Marc Paradise</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[career]]></category>

		<guid isPermaLink="false">http://marcparadise.com/?p=25</guid>
		<description><![CDATA[It&#8217;s official. Friday is my last day at Chase Bank, where I&#8217;ve been employed for nearly 14 years. Chase has been a great place to work; this has been a difficult choice to make, but  it&#8217;s time for a change &#8230; <a href="http://marcparadise.com/moving-on/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s official. Friday is my last day at Chase Bank, where I&#8217;ve been employed for nearly 14 years. Chase has been a great place to work; this has been a difficult choice to make, but  it&#8217;s time for a change in  perspective.</p>
<p>I&#8217;m moving on to a company called <a title="Opscode" href="http://www.opscode.com/">Opscode.</a>  They&#8217;re based in Seattle, though I&#8217;ll be working from my home office most of the time.   Opscode owns and maintains the open source project &#8220;Chef&#8221; &#8211; an infrastructure tool for programmatic rapid deployment and configuration of servers and environments.</p>
<p>And to answer the inevitable &#8212; of course BBSSH will continue on <img src='http://marcparadise.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://marcparadise.com/moving-on/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Good news/bad news</title>
		<link>http://marcparadise.com/good-newsbad-news/</link>
		<comments>http://marcparadise.com/good-newsbad-news/#comments</comments>
		<pubDate>Mon, 22 Aug 2011 21:31:44 +0000</pubDate>
		<dc:creator>Marc Paradise</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://marcparadise.com/?p=23</guid>
		<description><![CDATA[The good news is that I&#8217;m making some good headway in a very early alpha release of BBSSH for PB. The bad news is that I can&#8217;t say much more than that about it &#160;]]></description>
			<content:encoded><![CDATA[<p>The good news is that I&#8217;m making some good headway in a very early alpha release of BBSSH for PB. The bad news is that I can&#8217;t say much more than that about it <img src='http://marcparadise.com/blog/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://marcparadise.com/good-newsbad-news/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>A word on the &#8216;open letter&#8217; at BGR.com</title>
		<link>http://marcparadise.com/a-word-on-the-open-letter-at-bgr-com/</link>
		<comments>http://marcparadise.com/a-word-on-the-open-letter-at-bgr-com/#comments</comments>
		<pubDate>Fri, 01 Jul 2011 14:52:58 +0000</pubDate>
		<dc:creator>Marc Paradise</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[bgr]]></category>
		<category><![CDATA[news]]></category>
		<category><![CDATA[rim]]></category>

		<guid isPermaLink="false">http://marcparadise.com/?p=16</guid>
		<description><![CDATA[This is in reference to the articles here. It&#8217;s a modified (edited for readability, minor corrections and rewording) re-post of my comment to the most recent of them. *** I had to take a step back here. If I saw &#8230; <a href="http://marcparadise.com/a-word-on-the-open-letter-at-bgr-com/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>This is in reference to the <a title="the first letter published at BGR" href="http://www.bgr.com/2011/06/30/open-letter-to-blackberry-bosses-senior-rim-exec-tells-all-as-company-crumbles-around-him/" target="_blank">articles</a> <a title="The second and third letters allegedly received by BGR" href="http://www.bgr.com/2011/07/01/more-letters-to-rim-employees-rally-alongside-anonymous-exec" target="_blank">here</a>. It&#8217;s a modified (edited for readability, minor corrections and rewording) re-post of my <a title="the original comment" href="http://www.bgr.com/2011/07/01/more-letters-to-rim-employees-rally-alongside-anonymous-exec/#comment-239948767" target="_blank">comment </a>to the most recent of them.</p>
<p>***</p>
<p>I had to take a step back here.  If I saw this on Ars Technica, Wired &#8211; hell, even CNet or ZDNet &#8212; I would believe it.  So why do I question the veracity because I&#8217;m seeing it on BGR?</p>
<p>I realized that it is a matter of reputation. You can trust that when Ars Technica states a source is verified, it has been verified.  The same with the others.  Because they run like news organizations and not blogs.  Reports are typically well researched and contain verifiable factual information.  In cases where we must accept their word for it, it&#8217;s repeatedly been proven correct over time.  (Note: this applies to what&#8217;s reported in the &#8220;news&#8221; areas of these sites, and not opinion/blog.)  When information is incorrect, they publish corrections and/or retractions.</p>
<p>Contrast this to BGR &#8211; they&#8217;ve a middling-to-decent track record with getting the scoop on various device leaks, but beyond that they report only rumors, analyst speculation, and unverifiable &#8216;exclusives&#8217; as news.  When they post something that&#8217;s later proven wrong, you&#8217;ll seldom if ever see them acknowledge this.</p>
<p>Given this rather well-known (in tech blog circles) lack of reputation, I have a hard time believing that a highly placed executive wishing  to write an anonymous &#8216;open letter&#8217; or even send emails supporting such an open letter would actually send them here to BGR  as opposed to an actual news organization.     I am not saying it didn&#8217;t happen &#8211; only that it raises at least the shadow of a doubt.</p>
<p>The choice of where these purported employees sent the letters will always cause that legitimacy to be called into question. Even if they are real &#8211; and certainly the first of them raised some potentially valid points &#8211; they can never be taken quite seriously because they were first published at bgr.com as &#8220;exclusives&#8221;.</p>
<p>I&#8217;m not saying these letters are fake &#8211; I really don&#8217;t know if they are.  But then &#8211; that&#8217;s my point.  I don&#8217;t know, and BGR doesn&#8217;t have the proven track record that will let me trust their assertion.  They haven&#8217;t <em>earned</em> the credibility required.</p>
]]></content:encoded>
			<wfw:commentRss>http://marcparadise.com/a-word-on-the-open-letter-at-bgr-com/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Part 2- hybrid/native SSH on playbook</title>
		<link>http://marcparadise.com/part-2-hybridnative-ssh-on-playbook/</link>
		<comments>http://marcparadise.com/part-2-hybridnative-ssh-on-playbook/#comments</comments>
		<pubDate>Wed, 29 Jun 2011 16:05:31 +0000</pubDate>
		<dc:creator>Marc Paradise</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[bbssh]]></category>
		<category><![CDATA[hacking]]></category>
		<category><![CDATA[PlayBook]]></category>
		<category><![CDATA[QNX]]></category>

		<guid isPermaLink="false">http://marcparadise.com/?p=14</guid>
		<description><![CDATA[I was looking at two different possible paths for the next step in the process of porting BBSSH to the PlayBook. A common problem to be addressed with both is packaging the app in such a way that it will &#8230; <a href="http://marcparadise.com/part-2-hybridnative-ssh-on-playbook/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I was looking at two different possible paths for the next step in the process of porting BBSSH to the PlayBook.</p>
<p>A common problem to be addressed with both is packaging the app in such a way that it will launch properly with a UI &#8211; but I&#8217;ve not yet gotten that far.</p>
<p>Option 1 -  a hybrid interface, using AIR to provide the UI and rendering only,  and a custom C library to manage terminal(s)  states, handle connections, etc.   This was the most appealing, because it&#8217;s relatively simple to make UIs in AIR; and the actual painting logic for a terminal is pretty straightforward.  State management (eg terminal emulation) is a lot more complex, and not something I really wanted to write in ActionScript.</p>
<p>Option 2- a &#8220;pure native&#8221; interface.  Since RIM has announced that there is no UI capability in the native toolkit, this means I&#8217;d need to use OpenGL to handle UI and rendering.</p>
<p>Both of these would be backed by a custom library to handle terminal state, telnet connectivity, libssh, etc.  This architecture will also make it trivial to provide additional services &#8211; such as running a local shell on the PB through the app, or using BBSSH bridged via bluetooth; similar in principle to the bridged BB apps we already have, this would let your connections, keys, etc remain on the BB while the PB app just does the rendering.</p>
<p>Unfortunately, I&#8217;ve run into a dead-end for Option 1.  I was looking at AIR native extensions as the best means of integrating native code and AIR UI.   Initially, it was promising &#8211; the AIR native extension capability is exactly what I need to do what I plan for BBSSH.  I ran into two problems according to the documentation: in order to build, I would need a prewritten C++ source file that is included with AIR&#8217;s proprietary EDK.  I have not been able to get this from any source.</p>
<p>Perhaps as importantly, the documentation states that the AIR for TV profile (that&#8217;s what is apparently on the BB) does not allow for native extensions to be deployed with AIR components.  According to those docs, I would need to have my extension pre-installed on the device by the manufacturer.</p>
<p>While this likely isn&#8217;t entirely true (RIM has said in a recent BerryReview interview that native integration is possible though unsupported; and I came across a blog post from Adobe that also said it would be available) &#8230; and I&#8221;d be tempted to push ahead anyway&#8230; the lack of the CPP file means that I can&#8217;t actually author an extension to test the theory.</p>
<p>This leads me to the pure OpenGL front-end, which is carrying its own set of headaches:</p>
<ul>
<li> there is no UI library that exists for OpenGL which runs on QNX. This means creating things like list controls (for connection, private key, macro management, shortcuts, etc), pop-up windows, entry fields, checkboxes etc from scratch or porting an OpenGL UI library to work with QNX.</li>
<li>OpenGL itself does not handle window management; and as far as I can tell (I&#8217;m still learning OpenGL) it can&#8217;t run independently of an OS-specific window management integration layer.  The standard libraries like GLUT have not been ported to work with QNX as far as I can find.</li>
</ul>
<p>Which means in order to get where I need to go, I need to look into the native windowing functionality of QNX and the  QNX OpenGL integration functions.  (Windowing and integration in this way may not be supported on the PB itself, which is a separate concern)</p>
<p>All in all, this part of the process is turning out to be just as much a headache as I expected it would be <img src='http://marcparadise.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  I&#8217;ve not given up yet, but the going is slow.  I&#8217;ll post news when I have it.</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://marcparadise.com/part-2-hybridnative-ssh-on-playbook/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Success! Working native SSH on PlayBook</title>
		<link>http://marcparadise.com/success-working-native-ssh-on-playbook/</link>
		<comments>http://marcparadise.com/success-working-native-ssh-on-playbook/#comments</comments>
		<pubDate>Wed, 22 Jun 2011 05:42:00 +0000</pubDate>
		<dc:creator>Marc Paradise</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[ARM]]></category>
		<category><![CDATA[native]]></category>
		<category><![CDATA[PlayBook]]></category>
		<category><![CDATA[QNX]]></category>
		<category><![CDATA[ssh]]></category>

		<guid isPermaLink="false">http://marcparadise.com/?p=7</guid>
		<description><![CDATA[Building on the work documented by Adam Bell and assisted by some nudging and hints  from Peter Hansen in #playbook-dev on freenode , I was able to successfully compile and build a basic SSH client for BlackBerry PlayBook.  This was &#8230; <a href="http://marcparadise.com/success-working-native-ssh-on-playbook/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p style="text-align: left;">Building on the work documented by <a href="http://blog.adambell.me/2011/05/qnx-native-binaries-and-blackberry.html">Adam Bell</a> and assisted by some nudging and hints  from <a href="http://peterhansen.ca">Peter Hansen</a> in #playbook-dev on freenode , I was able to successfully compile and build a basic SSH client for BlackBerry PlayBook.  This was a native ARM binary; this was done by porting <a href="http://libssh.org/">libssh</a> over to QNX , and writing a simple front end for it.</p>
<p style="text-align: left;"><a href="http://marcparadise.com/blog/wp-content/uploads/2011/06/ssh11.png"><img class="alignnone size-medium wp-image-11" title="ssh1" src="http://marcparadise.com/blog/wp-content/uploads/2011/06/ssh11-300x237.png" alt="" width="300" height="237" /></a></p>
<p>Of course, this can only be executed from an ssh session used to connect to the PlayBook &#8212; we&#8217;re a ways away from an app that you can launch from an icon &#8212; but it&#8217;s a major first step.  The other thing you might notice here is that I brought my own &#8220;libcrypt.so&#8221; files.</p>
<p>As it turns out, &#8220;libcrypt.so.1&#8243; is not present on the PlayBook device &#8211; and this is the library that is  required when building with -lcrypto in the Momentics IDE for QNX.</p>
<p>I cheated a bit by grabbing those ARM binaries from the QNX sdk and including them in my package; then used LD_LIBRARY_PATH to tell the PlayBook to find them in the current directory. I am hoping/assuming that this confusion will be resolved when the actual PB NDK is released. It&#8217;s worth mentioning that the other libraries I linked to (-lz, -lsocket, and -lpcap) seem to be working fine.</p>
<p>Meanwhile, up next is a native AIR plugin proof of concept.  This won&#8217;t initially be an SSH interface, but just a simple plugin that I can use to demonstrate that it&#8217;s possible to write a native extension using the tools currently available.</p>
<p>Wish me luck &#8211; as it may not be possible. (A couple of key libraries may be missing from the freely available AIR SDK. )</p>
]]></content:encoded>
			<wfw:commentRss>http://marcparadise.com/success-working-native-ssh-on-playbook/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
	</channel>
</rss>

