<?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/"
	>

<channel>
	<title>Blog &#124; Plausible Labs</title>
	<atom:link href="http://www.plausible.coop/blog/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://www.plausible.coop/blog</link>
	<description>Just another WordPress weblog</description>
	<pubDate>Fri, 18 Jun 2010 18:12:15 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.7.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>A software&#8230; cooperative?</title>
		<link>http://www.plausible.coop/blog/?p=25</link>
		<comments>http://www.plausible.coop/blog/?p=25#comments</comments>
		<pubDate>Wed, 09 Jun 2010 19:24:15 +0000</pubDate>
		<dc:creator>landonf</dc:creator>
		
		<category><![CDATA[Plausible Labs]]></category>

		<guid isPermaLink="false">http://www.plausiblelabs.com/blog/?p=25</guid>
		<description><![CDATA[We often receive inquiries about how Plausible Labs works, what we do here, and what our goals were in deciding to form as a cooperative.
Since people are interested in how we&#8217;re organized and what it&#8217;s like to work here (more so now that we&#8217;re hiring), and our bylaws can be a bit overwhelming to read, [...]]]></description>
			<content:encoded><![CDATA[<p>We often receive inquiries about how Plausible Labs works, what we do here, and what our goals were in deciding to form as a cooperative.</p>
<p>Since people are interested in how we&#8217;re organized and what it&#8217;s like to work here (more so now that we&#8217;re <a href="http://www.plausiblelabs.com/blog/?p=23">hiring</a>), and <a href="http://www.plausible.coop/static/docs/Plausible_Labs_Bylaws.pdf">our bylaws</a> can be a bit overwhelming to read, I decided to put together a brief FAQ on what our cooperative is, how it&#8217;s run, and what our goals are as a company.</p>
<h4>How are employees compensated?</h4>
<p>Our goal is for salaries to be competitive and market rate. End of year profits are split between the cooperative and it&#8217;s members &#8212; last year we invested 25% of year-end profits back in the company, and distributed 75% to members. Profit sharing is entirely independent of rank or seniority at the company.</p>
<h4>How is the cooperative different from traditional company?</h4>
<p>Our main goal in forming the cooperative was to find a way to align employee&#8217;s own interests more closely with the corporation&#8217;s interests. In terms of legal structure, we&#8217;re very similar to a standard corporation &#8212; the main differences we&#8217;ve adopted to meet this goal are in terms of governance and shareholders.</p>
<p>In a standard stock corporation, the CEO is beholden to the board of directors, and the board is ultimately beholden to the shareholders. The same applies to our co-operative; we have both a yearly-elected board and a CEO, as well as shareholders. However, unlike most stock corporations, only members (employees) of the co-operative may be shareholders, and they may only hold one share.</p>
<p>The board is free to make day-to-day business decisions &#8212; while the position of CEO is required by California&#8217;s corporate law, the CEO can not act independently of the board. Likewise, there are certain decisions &#8212; such as modifying the bylaws &#8212; that require a full vote of all shareholders.</p>
<p>Since the board is beholden to the shareholders, and the shareholders may only be employees of the organization, it creates a unique alignment of the corporate, shareholder, and employee interests. Profit sharing is one facet of this &#8212; in deciding how to invest the corporation&#8217;s resources and time, the board and shareholders must also take into account the employee&#8217;s personal interests and the resulting affect on their end-of-year dividends.</p>
<h4>What&#8217;s the work/life balance like?</h4>
<p>It really depends on the state of the company and the member&#8217;s own short-term goals, but generally speaking, we stick to a 40 hour work week. Sometimes the opportunity demands more &#8212; back in March, we all agreed to fly out to NYC and spent two weeks of 12 hour days working on the <a href="http://www.plausible.coop/work/comics.xhtml">Comics</a> iPad application.</p>
<h4>What kind of work do you do?</h4>
<p>We&#8217;re currently focused on contracting work for iPhone and Android, and we&#8217;re especially interested in work related to publishing, media, and local/community involvement. We also release a number of our libraries and tools as <a href="http://www.plausible.coop/code/">open source</a>.</p>
<p>While we&#8217;re very interested in middleware, tools, and other product development, it requires funding. Our corporate structure requires us to be self-funded; we&#8217;ve engaged in contracting to build up our reserve of capital and bring on additional coworkers.</p>
<p>As we&#8217;ve grown, we&#8217;ve been able to better establish ourselves in the contracting market, charge reasonable rates for our services, and take on larger projects. It&#8217;s our goal to leverage this position to hire additional engineers and dedicate part of our contracting profits to product development, allowing us to eventually move the company to being more (but not entirely) product-focused.</p>
<h4>How do you become a member/employee? Do you have to buy your share?</h4>
<p>After an initial six month candidacy period, our bylaws require that &#8212; subject to a consensus vote &#8212; we either offer an employee full membership, or extend the candidacy period. If the candidate declines or we do not wish to offer full membership at that time, than the cooperative must either terminate the candidate&#8217;s employment or extend the candidacy period.</p>
<p>Each full member must be a share-holder in the cooperative corporation &#8212; a capital contribution (currently $1k) purchases the member&#8217;s share in the corporation. When a member leaves the cooperative, the coop will automatically redeem this amount in exchange for debt:</p>
<blockquote><p><em>Article IX (F): When a member&#8217;s membership in the corporation is terminated for any reason, the amount in her or his Member Account (including the original capital contribution) will automatically be redeemed in exchange for debt. The corporation shall repay the debt within five years of the membership termination, with interest accruing at the discount rate &#8212; as set by the Federal Reserve Bank of San Francisco &#8212; plus two percent (2%), on the amount outstanding at the end of each fiscal year.</em></p></blockquote>
<p>No capital contribution is required until a candidate&#8217;s application for full membership is offered and accepted, which will not occur until after a six month candidacy period. This is intended to provide the co-op members suitable time to evaluate whether they wish to extend an offer of full membership, and the candidate time to evaluate whether they wish to invest in their share of the co-operative. Like any investment in a corporation, the capital contribution provides a cooperative with additional working capital &#8212; however, in the case of Plausible Labs, the current contribution amount of $1,000 is not sufficiently large as to provide a significant percentage of our available capital, but it does help offset a small percentage of the hiring costs.</p>
<p>Some cooperatives &#8212; such as <a href="http://www.arizmendibakery.org/">Arizmendi Bakery</a> &#8212; tend to rely much more heavily on member contributions for working capital, and as such may have <a href="http://arizmendi.coop/node/309">higher contribution requirements</a>.</p>
<h4>More Questions?</h4>
<p>Have a question that isn&#8217;t covered here? Feel free to email us at contact@plausiblelabs.com.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.plausible.coop/blog/?feed=rss2&amp;p=25</wfw:commentRss>
		</item>
		<item>
		<title>User Interface Designer at Plausible Labs</title>
		<link>http://www.plausible.coop/blog/?p=28</link>
		<comments>http://www.plausible.coop/blog/?p=28#comments</comments>
		<pubDate>Tue, 08 Jun 2010 18:06:26 +0000</pubDate>
		<dc:creator>Terri</dc:creator>
		
		<category><![CDATA[Announcements]]></category>

		<category><![CDATA[Jobs]]></category>

		<guid isPermaLink="false">http://www.plausible.coop/blog/?p=28</guid>
		<description><![CDATA[Working at Plausible Labs
Plausible Labs is a worker-owned software cooperative based out of San Francisco. We&#8217;re self-funded and self-determined, with generous profit sharing and a member-elected board. Our company exists to advance our individual member&#8217;s interests, and as a member you&#8217;ll always have a direct stake in how the corporation is managed and the investments [...]]]></description>
			<content:encoded><![CDATA[<h4>Working at Plausible Labs</h4>
<p>Plausible Labs is a worker-owned software cooperative based out of San Francisco. We&#8217;re self-funded and self-determined, with generous profit sharing and a member-elected board. Our company exists to advance our individual member&#8217;s interests, and as a member you&#8217;ll always have a direct stake in how the corporation is managed and the investments we make in time and resources. If you&#8217;re interested in learning more about how we run the cooperative, our bylaws are <a href="http://www.plausiblelabs.com/static/docs/Plausible_Labs_Bylaws.pdf">posted here</a> and a brief FAQ is <a href="http://www.plausible.coop/blog/?p=25">posted here</a>.</p>
<p>Our office is located in the sunny Mission district of San Francisco, in a beautiful, open loft space with floor to ceiling windows. We believe the right tools and environment get the job done &#8212; Mac Pros, dual monitors and Aeron chairs are standard issue.</p>
<h4>User Interface Designer</h4>
<p>Our responsibilities to our clients and products are growing, and we could use an additional User Interface Designer to assist in our ongoing contract and product development work. Current projects are primarily in publishing and media, developing applications for the iPhone, iPad and Android platforms.</p>
<p>Requirements:</p>
<ul>
<li>A strong portfolio of interactive design work (software/mobile interface design preferred)</li>
<li>Mastery of the Adobe Creative Suite (we primarily use Photoshop)</li>
<li>Experience with OmniGraffle, Balsamiq Mockups, or other another software program for creating wireframes</li>
<li>Experience working with developers to implement your designs (bonus points if you know a little programming)</li>
<li>Familiar with (or willing to read) platform-specific documentation; Apple Human Interface Guidelines, Android UI Guidelines, etc.</li>
</ul>
<p>As a bonus, we&#8217;d love to talk to you if you also have talent in any of the following areas:</p>
<ul>
<li>Digital illustration (you can create icons and logos)</li>
<li>Branding/identity design</li>
</ul>
<p>We&#8217;re particularly keen in finding someone genuinely interested in joining and participating in the growth of our cooperative, and located in or able to commute to our offices at 18th &amp; York in San Francisco. We&#8217;re also starting up a NY office, so if you are located in New York City (or planning to move there), we&#8217;d love to talk to you.</p>
<p>Sound interesting? Please send your resume (in plain text or PDF), portfolio, and a brief note to: jobs@plausible.coop.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.plausible.coop/blog/?feed=rss2&amp;p=28</wfw:commentRss>
		</item>
		<item>
		<title>Android/iPhone Developer at Plausible Labs</title>
		<link>http://www.plausible.coop/blog/?p=23</link>
		<comments>http://www.plausible.coop/blog/?p=23#comments</comments>
		<pubDate>Thu, 20 May 2010 19:30:57 +0000</pubDate>
		<dc:creator>landonf</dc:creator>
		
		<category><![CDATA[Announcements]]></category>

		<category><![CDATA[Jobs]]></category>

		<guid isPermaLink="false">http://www.plausiblelabs.com/blog/?p=23</guid>
		<description><![CDATA[Working at Plausible Labs
Plausible Labs is a worker-owned software cooperative based out of  San Francisco. We&#8217;re self-funded and self-determined, with generous  profit sharing and a member-elected board. Our company exists to advance  our individual member&#8217;s interests, and as a member you&#8217;ll always have a  direct stake in how the corporation is [...]]]></description>
			<content:encoded><![CDATA[<h4>Working at Plausible Labs</h4>
<p>Plausible Labs is a worker-owned software cooperative based out of  San Francisco. We&#8217;re self-funded and self-determined, with generous  profit sharing and a member-elected board. Our company exists to advance  our individual member&#8217;s interests, and as a member you&#8217;ll always have a  direct stake in how the corporation is managed and the investments we  make in time and resources. If you&#8217;re interested in learning more about  how we run the cooperative, our bylaws are <a href="http://www.plausiblelabs.com/static/docs/Plausible_Labs_Bylaws.pdf">posted  here</a> and a brief FAQ is <a href="http://www.plausible.coop/blog/?p=25">posted here</a>.</p>
<p>Our office is located in the sunny Mission district of San Francisco,  in a beautiful, open loft space with floor to ceiling windows. We  believe the right tools and environment get the job done &#8212; Mac Pros,  dual monitors and Aeron chairs are standard issue.</p>
<h4>Android/iPhone Developer</h4>
<p>Our responsibilities to our clients and products are growing, and we could use an additional engineer to assist in our ongoing contract and product development work.</p>
<p>We&#8217;re currently looking for someone with 2+ years of experience with Java, preferably developing applications for desktop and/or mobile platforms &#8212; but iPhone/Objective-C developers are welcome to apply, too.</p>
<p>We&#8217;d especially love to talk to you if you&#8217;re also familiar with any of the following.</p>
<ul>
<li> iPhone / Mac OS X Objective-C Development</li>
<li>Server-side Java</li>
<li> Scala (or functional languages in general)</li>
<li> OpenGL</li>
</ul>
<p>We&#8217;re particularly keen in finding someone genuinely interested in joining and participating in the growth of our cooperative, and located in or able to commute to our offices at 18th &amp; York in San Francisco.</p>
<p>Sound interesting? Please send your resume and a brief note to: jobs@plausible.coop.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.plausible.coop/blog/?feed=rss2&amp;p=23</wfw:commentRss>
		</item>
		<item>
		<title>Plausible Blocks 1.1 Beta</title>
		<link>http://www.plausible.coop/blog/?p=22</link>
		<comments>http://www.plausible.coop/blog/?p=22#comments</comments>
		<pubDate>Mon, 08 Feb 2010 18:28:23 +0000</pubDate>
		<dc:creator>landonf</dc:creator>
		
		<category><![CDATA[Announcements]]></category>

		<category><![CDATA[Open Source]]></category>

		<category><![CDATA[iphone]]></category>

		<category><![CDATA[macosx]]></category>

		<category><![CDATA[objective-c]]></category>

		<category><![CDATA[plblocks]]></category>

		<guid isPermaLink="false">http://www.plausiblelabs.com/blog/?p=22</guid>
		<description><![CDATA[Plausible Blocks (PLBlocks) provides a drop-in runtime and toolchain for using blocks in iPhone 2.2+ and Mac OS X 10.5 applications. We&#8217;ve started using PLBlocks in shipping iPhone applications, and soon-to-ship Mac OS X applications, and have been working to add support for some key features &#8212; the new PLBlocks 1.1-beta2 is the first release [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://code.google.com/p/plblocks/">Plausible Blocks (PLBlocks)</a> provides a drop-in runtime and toolchain for using blocks in iPhone 2.2+ and Mac OS X 10.5 applications. We&#8217;ve started using PLBlocks in shipping iPhone applications, and soon-to-ship Mac OS X applications, and have been working to add support for some key features &#8212; the new PLBlocks 1.1-beta2 is the first release to include:</p>
<ul>
<li>Objective-C Garbage Collection Support</li>
<li>C/C++ support</li>
</ul>
<p>We&#8217;ve been using the new beta release for our own day-to-day development for a few weeks now, and hope you&#8217;ll help us test out some of the new features. The updated SDK is available for Leopard and Snow Leopard from the <a href="http://code.google.com/p/plblocks/">PLBlocks project page</a>.</p>
<p>If you&#8217;d like to read more about using blocks in your own software, we recommend:</p>
<ul>
<li>Joachim Bengtsson&#8217;s comprehensive <a href="http://thirdcog.eu/pwcblocks/">Programming with C Blocks</a></li>
<li> Mike Ash&#8217;s Series on Blocks and PLBlocks (<a href="http://www.mikeash.com/?page=pyblog/friday-qa-2008-12-26.html">Part 1 </a>and <a href="http://www.mikeash.com/?page=pyblog/friday-qa-2009-08-14-practical-blocks.html">Part 2</a>)</li>
<li> My Own &#8220;Using Blocks&#8221; Series (<a href="http://landonf.bikemonkey.org/code/iphone/Using_Blocks_1.20090704.html">Parts 1</a> and <a href="http://landonf.bikemonkey.org/code/iphone/Using_Blocks_2.20090710.html">Part 2</a>)</li>
</ul>
<h3>iPad Support</h3>
<p>We&#8217;ve verified that both PLBlocks 1.0 and 1.1-beta2 work with the iPad SDK, and plan on integrating Apple&#8217;s beta iPhoneOS compiler updates in a future preview release of PLBlocks for iPad developers.</p>
<p>The new iPad compiler also appears to support the use of blocks on iPhone OS 3.2+; we&#8217;ll be very excited to see official block support for the platform. The iPhone OS 3.2 SDK GCC sources can be found at <a href="http://opensource.apple.com/tarballs/seeds/">http://opensource.apple.com/tarballs/seeds/</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.plausible.coop/blog/?feed=rss2&amp;p=22</wfw:commentRss>
		</item>
		<item>
		<title>Welcome Chris Campbell!</title>
		<link>http://www.plausible.coop/blog/?p=20</link>
		<comments>http://www.plausible.coop/blog/?p=20#comments</comments>
		<pubDate>Tue, 12 Jan 2010 20:16:46 +0000</pubDate>
		<dc:creator>Terri</dc:creator>
		
		<category><![CDATA[Announcements]]></category>

		<guid isPermaLink="false">http://www.plausiblelabs.com/blog/?p=20</guid>
		<description><![CDATA[The Plausible Labs Engineering Team has doubled!
We are extremely pleased (and somewhat giddy) to announce that the incredibly talented Chris Campbell has joined the cooperative. Chris brings with him a decade of experience working at Sun, where he wrote the OpenGL-accelerated backend for Java2D and led the design and development of the Prism graphics engine [...]]]></description>
			<content:encoded><![CDATA[<p>The Plausible Labs Engineering Team has doubled!</p>
<p>We are extremely pleased (and somewhat giddy) to announce that the incredibly talented Chris Campbell has joined the cooperative. Chris brings with him a decade of experience working at <a href="http://www.sun.com/">Sun</a>, where he wrote the OpenGL-accelerated backend for <a href="http://openjdk.java.net/groups/2d/">Java2D</a> and led the design and development of the Prism graphics engine for <a href="http://javafx.com/">JavaFX</a>.</p>
<p>You can learn more about Chris on our <a href="/about#chrisCampbell">About</a> page, or on his blog: <a href="http://labonnesoupe.org/">http://labonnesoupe.org</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.plausible.coop/blog/?feed=rss2&amp;p=20</wfw:commentRss>
		</item>
		<item>
		<title>New Releases: PLBlocks 1.0 and PLCrashReporter 1.0 (and more!)</title>
		<link>http://www.plausible.coop/blog/?p=16</link>
		<comments>http://www.plausible.coop/blog/?p=16#comments</comments>
		<pubDate>Sun, 06 Sep 2009 20:55:57 +0000</pubDate>
		<dc:creator>landonf</dc:creator>
		
		<category><![CDATA[Announcements]]></category>

		<category><![CDATA[Open Source]]></category>

		<category><![CDATA[plblocks]]></category>

		<category><![CDATA[plcrashreporter]]></category>

		<category><![CDATA[pldatabase]]></category>

		<category><![CDATA[plinstruments]]></category>

		<guid isPermaLink="false">http://www.plausiblelabs.com/blog/?p=16</guid>
		<description><![CDATA[We&#8217;ve been working our way through our open source TODO list, and we&#8217;ve finished up some new releases of our projects that we&#8217;re pleased to announce:
PLBlocks 1.0
Plausible Blocks (PLBlocks) provides a drop-in runtime and toolchain for using blocks in iPhone 2.2+ and Mac OS X 10.5 applications. Both the runtime and compiler patches are direct [...]]]></description>
			<content:encoded><![CDATA[<p>We&#8217;ve been working our way through our open source TODO list, and we&#8217;ve finished up some new releases of our projects that we&#8217;re pleased to announce:</p>
<h3>PLBlocks 1.0</h3>
<p><a href="http://code.google.com/p/plblocks/">Plausible Blocks (PLBlocks)</a> provides a drop-in runtime and toolchain for using blocks in iPhone 2.2+ and Mac OS X 10.5 applications. Both the runtime and compiler patches are direct backports from Apple&#8217;s Snow Leopard source releases.</p>
<p>The final 1.0 release includes two fixes for issues reported against the beta release:</p>
<ul>
<li>Fixed support for using pre-compiled headers with blocks.</li>
<li>Work-around for rdar://7189835 - Xcode rewrites all occurrence of &#8216;gcc&#8217; in a<br />
compiler path when linking using g++</li>
</ul>
<p>We&#8217;re now using PLBlocks 1.0 for our own internal and client projects. The updated SDK is available for Leopard and Snow Leopard from the <a href="http://code.google.com/p/plblocks/">PLBlocks project page</a>.</p>
<p>If you&#8217;d like to read more about using blocks in your own software, we recommend:</p>
<ul>
<li>Joachim Bengtsson&#8217;s <a href="http://thirdcog.eu/pwcblocks/">Programming with C Blocks</a></li>
<li> Mike Ash&#8217;s Series on Blocks and PLBlocks (<a href="http://www.mikeash.com/?page=pyblog/friday-qa-2008-12-26.html">Part 1 </a>and <a href="http://www.mikeash.com/?page=pyblog/friday-qa-2009-08-14-practical-blocks.html">Part 2</a>)</li>
<li> My Own &#8220;Using Blocks&#8221; Series (<a href="http://landonf.bikemonkey.org/code/iphone/Using_Blocks_1.20090704.html">Parts 1</a> and <a href="http://landonf.bikemonkey.org/code/iphone/Using_Blocks_2.20090710.html">Part 2</a>)</li>
</ul>
<h3>PLCrashReporter 1.0</h3>
<p><a href="http://code.google.com/p/plcrashreporter">Plausible CrashReporter</a> provides an in-process crash reporting framework for use on both the iPhone and Mac OS X.</p>
<ul>
<li>iPhone 3GS-optimized (armv7) binaries</li>
<li>Mac OS X 10.5+ PowerPC and experimental x86-64 support.</li>
</ul>
<p>The latest release may be downloaded from the <a href="http://code.google.com/p/plcrashreporter/">PLCrashReporter project page.</a></p>
<p>Since crash reports are handled internally to your iPhone application, it supports crash reporting for in-development application versions, allows users to provide additional feedback when submitting a report, and even provides the opportunity to inform users of known issues and the need to upgrade.</p>
<p>If you&#8217;d like to include PLCrashReporter in your own application, we recommend perusing some of the open-source usage examples:</p>
<ul>
<li><a href="http://github.com/millenomi/slideapp/blob/master/Classes/L0MoverAppDelegate+MvrCrashReporting.m">E-mail submission example</a> from <a href="http://infinite-labs.net/mover/">Mover</a>. Submits PLCrashReporter reports using iPhone OS 3.0&#8217;s MFMailComposeViewController</li>
<li><a href="http://github.com/TheRealKerni/CrashReporterDemo/tree/master">Localized HTTP-based submission library and PHP server component</a> from the developers of <a href="http://worldviewmobileapp.com">WorldView</a>. Supports detection known crashes and informing users if the crash is known, or if a fix is available in a later version of the application. Additionally provides a web UI for managing crash reports.</li>
</ul>
<h3>PLDatabase 1.2.1</h3>
<p><a href="http://code.google.com/p/pldatabase/">Plausible Database</a> is an SQL database access library for Objective-C, initially focused on SQLite as an application database. The library supports both Mac OS X and iPhone development.</p>
<p>The new 1.2.1 release includes:</p>
<ul>
<li>Support for <a href="http://pldatabase.googlecode.com/svn/tags/pldatabase-1.2.1/docs/interface_p_l_database_migration_manager.html">in-application schema migrations</a>.</li>
<li>Binary release for Mac OS X 10.5+ x86-64</li>
</ul>
<p>The latest release may be downloaded from the <a href="http://code.google.com/p/pldatabase/">PLDatabase project page.</a><a href="http://code.google.com/p/plcrashreporter/"><br />
</a></p>
<h3>PLInstrument 1.0</h3>
<p>This is the first release of PLInstrument, a reproducible instrumentation library modeled on xUnit. The library is intended to facilitate the instrumentation of performance critical code, and provide easily comparable results over the lifetime of the code base.</p>
<p>We use PLInstrument to provide reproducible measurements of performance critical sections in our applications and libraries.</p>
<p>The 1.0 release may be downloaded from the <a href="http://code.google.com/p/plinstrument/">PLInstrument project page</a>.</p>
<h4>Example Usage</h4>
<pre class="codeBlock"><code>// If for some reason you wanted to measure the runtime of
// CGAffineTransform
- (PLInstrumentResult *) instrumentMirrorTransform {
    PLIAbsoluteTime start, finish;
    int iterations = 25000;

    start = PLICurrentTime();
    for (int i = 0 ; i &lt; iterations; i++) {
        CGAffineTransform mirrorTransform;
        mirrorTransform = CGAffineTransformMakeTranslation(0.0, 200.0f);
        mirrorTransform = CGAffineTransformScale(mirrorTransform, 1.0, -1.0);
    }
    finish = PLICurrentTime();

    return [PLInstrumentResult resultWithStartTime: start
                                           endTime: finish iterations: iterations];
}
</code></pre>
<h4>Results:</h4>
<pre class="codeBlock"><code>Instrumentation suite 'PLCoreGraphicsDemoInstruments' started at
    2008-12-20 18:51:46 -0800
Instrumentation case -[PLCoreGraphicsDemoInstruments instrumentMirrorTransform]
    completed (0.710000 us/iteration) at 2008-12-20 18:51:46 -0800
Instrumentation suite 'PLCoreGraphicsDemoInstruments' finished at
    2008-12-20 18:51:53 -0800
</code></pre>
]]></content:encoded>
			<wfw:commentRss>http://www.plausible.coop/blog/?feed=rss2&amp;p=16</wfw:commentRss>
		</item>
		<item>
		<title>PLBlocks 1.0-beta2 Released</title>
		<link>http://www.plausible.coop/blog/?p=11</link>
		<comments>http://www.plausible.coop/blog/?p=11#comments</comments>
		<pubDate>Sun, 12 Jul 2009 01:08:22 +0000</pubDate>
		<dc:creator>landonf</dc:creator>
		
		<category><![CDATA[Announcements]]></category>

		<category><![CDATA[Open Source]]></category>

		<category><![CDATA[iphone]]></category>

		<category><![CDATA[macosx]]></category>

		<category><![CDATA[objective-c]]></category>

		<category><![CDATA[plblocks]]></category>

		<guid isPermaLink="false">http://www.plausiblelabs.com/blog/?p=11</guid>
		<description><![CDATA[We&#8217;ve just released Plausible Blocks 1.0-beta2, which provides a drop-in runtime and Xcode-compatible compiler for using Blocks in your iPhone 2.2+ and Mac OS X 10.5 applications.
Changes
This release was focused on expanding the supported host and target architectures (thanks to everyone who provided testing!).

iPhone OS 2.2 and later are now supported.
The runtime is now available [...]]]></description>
			<content:encoded><![CDATA[<p>We&#8217;ve just released <a href="http://code.google.com/p/plblocks/">Plausible Blocks</a> 1.0-beta2, which provides a drop-in runtime and Xcode-compatible compiler for using Blocks in your iPhone 2.2+ and Mac OS X 10.5 applications.</p>
<h3>Changes</h3>
<p>This release was focused on expanding the supported host and target architectures (thanks to everyone who provided testing!).</p>
<ul>
<li>iPhone OS 2.2 and later are now supported.</li>
<li>The runtime is now available as an iPhone 3gs optimized armv6/armv7 universal binary.</li>
<li>Development is now supported on PowerPC systems.</li>
</ul>
<h3>Download</h3>
<p>The initial beta of Plausible Blocks is available for Leopard and Snow Leopard:</p>
<ul>
<li>Leopard: <a href="http://plblocks.googlecode.com/files/plblocks-1.0-beta2-leopard.dmg">plblocks-1.0-beta2-leopard.dmg</a></li>
<li>Snow Leopard: <a href="http://plblocks.googlecode.com/files/plblocks-1.0-beta2-snowleopard.dmg">plblocks-1.0-beta2-snowleopard.dmg</a></li>
<li>Project page: <a href="http://code.google.com/p/plblocks/"> http://code.google.com/p/plblocks/</a></li>
</ul>
<p>This beta release is provided for <strong>developer testing and experimentation</strong>. Plausible Blocks supports targeting Mac OS X 10.5 (PPC, i386, x86-64), iPhone OS 2.2+ (armv6, armv7), and iPhoneSimulator 2.2+ (i386). Garbage collection and Mac OS X 10.4 are currently unsupported.</p>
<h3>Further Reading</h3>
<p>If you&#8217;re interested in learning more about blocks, here are a few articles to get your started:</p>
<ul>
<li><a href="http://landonf.bikemonkey.org/code/iphone/Using_Blocks_1.20090704.html">Blocks Examples: NSOperationQueue and UIActionSheet</a> and <a href="http://landonf.bikemonkey.org/code/iphone/Using_Blocks_2.20090710.html">Using Blocks: Understanding the Memory Management Rules</a></li>
<li>Mike Ash&#8217;s <a href="http://www.mikeash.com/?page=pyblog/friday-qa-2008-12-26.html">Friday Q&amp;A on Blocks</a></li>
<li>Jim Dovey&#8217;s <a href="http://alanquatermain.net/post/138827791/blocks-episode-2-life-cycles">Blocks Life-Cycles</a> and <a href="http://alanquatermain.net/post/135882428/blocks-episode-1">Blocks Episode 1</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.plausible.coop/blog/?feed=rss2&amp;p=11</wfw:commentRss>
		</item>
		<item>
		<title>Blocks for iPhoneOS 3.0 and Mac OS X 10.5</title>
		<link>http://www.plausible.coop/blog/?p=8</link>
		<comments>http://www.plausible.coop/blog/?p=8#comments</comments>
		<pubDate>Fri, 03 Jul 2009 04:47:38 +0000</pubDate>
		<dc:creator>landonf</dc:creator>
		
		<category><![CDATA[Announcements]]></category>

		<category><![CDATA[Open Source]]></category>

		<category><![CDATA[iphone]]></category>

		<category><![CDATA[macosx]]></category>

		<category><![CDATA[objective-c]]></category>

		<category><![CDATA[plblocks]]></category>

		<guid isPermaLink="false">http://www.plausiblelabs.com/blog/?p=8</guid>
		<description><![CDATA[Introduction
Update Sept 3rd 2009: Check out our more recent posts on PLBlocks.
If you&#8217;ve been following the wide variety of developer features planned for Snow Leopard, you may have noticed Apple&#8217;s introduction of Blocks, which add closures to C and Objective-C, along with preliminary support for C++.
Blocks are a great addition to Objective-C, but unfortunately, are [...]]]></description>
			<content:encoded><![CDATA[<h3>Introduction</h3>
<p><strong>Update Sept 3rd 2009: Check out our<a href="http://www.plausiblelabs.com/blog/?tag=plblocks"> more recent posts</a> on PLBlocks.</strong></p>
<p>If you&#8217;ve been following the wide variety of developer features planned for <a href="http://www.apple.com/macosx/">Snow Leopard</a>, you may have noticed Apple&#8217;s introduction of Blocks, which add <a href="http://en.wikipedia.org/wiki/Closure_(computer_science)">closures</a> to C and Objective-C, along with preliminary support for C++.</p>
<p>Blocks are a great addition to Objective-C, but unfortunately, are only available in Mac OS X 10.6. We have a quite a bit of code that could be greatly simplified using blocks, and so I decided to spend some time back-porting block support to iPhoneOS 3.0 and Mac OS X 10.5.</p>
<p>The result, <a href="http://code.google.com/p/plblocks/">Plausible Blocks</a>, provides a drop-in runtime and Xcode compiler for using blocks in your iPhone and Mac OS X 10.5 applications, based on Apple&#8217;s Snow Leopard blocks runtime and compiler support.</p>
<p>Closures are not a new idea &#8212; originally conceived nearly 40 years ago, they&#8217;re a staple of many languages, from <a href="http://en.wikipedia.org/wiki/LISP#Lambda_expressions">Lisp</a> to <a href="http://en.wikipedia.org/wiki/JavaScript#Functional">JavaScript</a>. If you&#8217;ve used a functional language (or a language that borrowed some ideas from one), chances are very good that you&#8217;ve made use of closures:</p>
<h4><strong>Ruby</strong></h4>
<pre class="codeBlock">books.each { |book| puts (library.to_s + ': ' + book.title) }</pre>
<h4>JavaScript</h4>
<pre class="codeBlock">function setClickMessage (button, message) {
    button.addEventListener("click", function() {
        /* This is a closure */
        alert(message);
    }, false);
}</pre>
<h4>Scala</h4>
<pre class="codeBlock">def findBooks (title:String): Seq[Book] = books.filter { book =&gt;
    /* This is a closure */
    book.title == title
}</pre>
<h4>C and Objective-C Blocks</h4>
<pre class="codeBlock">NSArray *result = [values mapConcurrent: ^(id value) {
    /* Execute closure concurrently on available CPUs, collecting the results */
    return ExpensiveComputation(value);
}];</pre>
<p>Closures are well suited to modeling a wide variety of higher-level programming constructs, and in doing so, can greatly simplify your code and enable functionality that would simply be too cumbersome to implement any other way. For some additional information on blocks, and why they&#8217;re interesting, I&#8217;d suggest reading Mike Ash&#8217;s great <a href="http://www.mikeash.com/?page=pyblog/friday-qa-2008-12-26.html">Friday Q&amp;A on Blocks</a>, and my own <a href="http://landonf.bikemonkey.org/code/iphone/Using_Blocks_1.20090704.html">Using Blocks</a> post, which includes some sample code to get you started.</p>
<h3>Download</h3>
<p>The initial beta of Plausible Blocks is available for Leopard and Snow Leopard:</p>
<ul>
<li> Leopard: <a href="http://plblocks.googlecode.com/files/plblocks-1.0-beta1-leopard.dmg">plblocks-1.0-beta1-leopard.dmg</a></li>
<li> Snow Leopard: <a href="http://plblocks.googlecode.com/files/plblocks-1.0-beta1-snowleopard.dmg">plblocks-1.0-beta1-snowleopard.dmg</a></li>
<li>Project page: <a href="http://code.google.com/p/plblocks/"> http://code.google.com/p/plblocks/</a></li>
</ul>
<p>This beta release is provided for <strong>developer testing and experimentation</strong>, and <strong>should not</strong> be used for production software prior to further testing and review. Plausible Blocks supports targeting Mac OS X 10.5 (PPC, i386, x86-64), iPhone OS 3.0 (armv6), and iPhoneSimulator 3.0 (i386). Garbage collection and Mac OS X 10.4 are currently unsupported, and the SDK requires an Intel Mac.</p>
<p>The Plausible Blocks runtime makes use of custom, prefixed symbol names to avoid any binary conflicts that could occur should Apple add block support to iPhone OS, or when running your binaries on 10.6. The provided compilers are based directly on the Apple standard, stable compiler versions as shipped with the Mac OS X and iPhone SDKs.</p>
<h3>Installation &amp; Use</h3>
<p>Plausible Blocks is composed of two pieces:</p>
<ul>
<li>Plausible Blocks SDK: Supplies custom compilers for use in Xcode.</li>
<li>PLBlocks Runtime: A runtime library required by all applications making use of Plausible Blocks.</li>
</ul>
<p>To install the SDK, simply install the included &#8220;Plausible Blocks SDK&#8221; package. Once installed, an additional &#8220;GCC 4.2 (Plausible Blocks)&#8221; compiler will be available for selection in your Xcode project and targets. To build with the new compiler, simply select in either your project&#8217;s build settings, or on a per-target basis:</p>
<p style="text-align: center;"><img class="aligncenter" src="http://www.plausiblelabs.com/blog/wp-content/uploads/2009/07/plblocks-select-compiler.png" alt="" width="377" height="404" /></p>
<p>In addition to the SDK, you&#8217;ll need to include the PLBlocks runtime framework in your application. It is provided as an embeddable framework for Mac OS X, and as a <a href="http://landonf.bikemonkey.org/code/iphone/iPhone_Framework_Support.20081202.html">static framework</a> for iPhone applications.</p>
<p>To include in your project:</p>
<ol>
<li>Copy the Mac OS X or iPhone PLBlocks.framework to your project directory</li>
<li>Within Xcode, select &#8220;Add -&gt; Existing frameworks&#8221; and add the copied PLBlocks.framework to your project.</li>
<li>Ensure that PLBlocks.framework has been added to your targets &#8220;Link Binary With Libraries&#8221; section.</li>
<li>(Mac OS X Only) Add a new &#8220;Copy Files&#8221; build phase to copy PLBlocks.framework to your application&#8217;s &#8220;Framework&#8221; directory.</li>
<li>Set the project, or a specific target, to use the &#8220;GCC 4.2 (Plausible Blocks)&#8221; compiler.</li>
</ol>
<h3>Development</h3>
<p>The full PLBlocks source code is available from the <a href="http://code.google.com/p/plblocks/">PLBlocks project page</a>. If you&#8217;d like to contribute to the SDK, runtime, or simply discuss programming with blocks, please consider joining the development list at: <a href="http://groups.google.com/group/plblocks-devel">http://groups.google.com/group/plblocks-devel</a></p>
<p>To build PLBlocks, select one of the following targets:</p>
<ul>
<li> Disk Image: Builds entire project and generates a distribution DMG.</li>
<li> Package SDK: Builds SDK package, including all compilers, and Xcode plugins</li>
<li> Runtimes: Builds all runtimes</li>
</ul>
<p>The project should build on Mac OS X 10.5 and 10.6. In addition to Xcode 3.1.3 or 3.2, the iPhone 3.0 SDK is required.</p>
<p>Building the full SDK, including compilers, may take an extraordinarily long time. Unless you are experimenting with the compiler toolchain &#8212; or you are the type to enjoy watching paint dry &#8212; building only the Runtime targets during development is highly recommended.<br />
<a href="http://groups.google.com/group/plblocks-devel"></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.plausible.coop/blog/?feed=rss2&amp;p=8</wfw:commentRss>
		</item>
		<item>
		<title>Lingraphica&#8217;s SmallTalk App Launches with PLJukebox Library</title>
		<link>http://www.plausible.coop/blog/?p=5</link>
		<comments>http://www.plausible.coop/blog/?p=5#comments</comments>
		<pubDate>Wed, 20 May 2009 20:18:49 +0000</pubDate>
		<dc:creator>Terri</dc:creator>
		
		<category><![CDATA[Announcements]]></category>

		<category><![CDATA[coverflow]]></category>

		<category><![CDATA[iphone]]></category>

		<category><![CDATA[pljukebox]]></category>

		<guid isPermaLink="false">http://staging.plausiblelabs.com/blog/?p=5</guid>
		<description><![CDATA[
SmallTalk serves as a portable companion to Lingraphica&#8217;s signature speech-generating device for patients with aphasia.
SmallTalk contains a set of pictures and phrases useful for communicating in everyday situations. Users select an icon from the iPhone&#8217;s touchscreen to a play a pre-recorded phrase through the built-in speaker &#8212; Plausible Labs&#8217; PLJukebox user interface library is used [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.plausiblelabs.com/blog/wp-content/uploads/2009/05/smalltalk.jpg" alt="SmallTalk iPhone App" /></p>
<p><a href="http://www.aphasia.com/slp/product_smalltalk.aspx">SmallTalk</a> serves as a portable companion to <a href="http://www.aphasia.com/slp/index.aspx">Lingraphica&#8217;s</a> signature speech-generating device for patients with aphasia.</p>
<p>SmallTalk contains a set of pictures and phrases useful for communicating in everyday situations. Users select an icon from the iPhone&#8217;s touchscreen to a play a pre-recorded phrase through the built-in speaker &mdash; Plausible Labs&#8217; <a href="/code/pljukebox/">PLJukebox</a> user interface library is used for browsing and selecting phrases from the iPhone&#8217;s landscape view.</p>
<p>We&#8217;re thrilled to have our code included in such a wonderful application. You can download SmallTalk for free through the <a href="http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=310102858&amp;mt=8">iPhone App Store</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.plausible.coop/blog/?feed=rss2&amp;p=5</wfw:commentRss>
		</item>
	</channel>
</rss>
