<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://elinux.org/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://elinux.org/index.php?title=Extend_and_improve_infrastructure_for_KBUS_messaging&amp;feed=atom&amp;action=history</id>
		<title>Extend and improve infrastructure for KBUS messaging - Revision history</title>
		<link rel="self" type="application/atom+xml" href="http://elinux.org/index.php?title=Extend_and_improve_infrastructure_for_KBUS_messaging&amp;feed=atom&amp;action=history"/>
		<link rel="alternate" type="text/html" href="http://elinux.org/index.php?title=Extend_and_improve_infrastructure_for_KBUS_messaging&amp;action=history"/>
		<updated>2013-05-21T12:53:40Z</updated>
		<subtitle>Revision history for this page on the wiki</subtitle>
		<generator>MediaWiki 1.21alpha</generator>

	<entry>
		<id>http://elinux.org/index.php?title=Extend_and_improve_infrastructure_for_KBUS_messaging&amp;diff=33385&amp;oldid=prev</id>
		<title>Tibs: Remove linebreaks which make list items hard to read</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/index.php?title=Extend_and_improve_infrastructure_for_KBUS_messaging&amp;diff=33385&amp;oldid=prev"/>
				<updated>2011-01-31T22:45:33Z</updated>
		
		<summary type="html">&lt;p&gt;Remove linebreaks which make list items hard to read&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
			&lt;tr style='vertical-align: top;'&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Older revision&lt;/td&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Revision as of 22:45, 31 January 2011&lt;/td&gt;
			&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 72:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 72:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* The KBUS [http://kbus-messaging.org/ home page].&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* The KBUS [http://kbus-messaging.org/ home page].&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* The main repositories are in its [http://code.google.com/p/kbus/ Google code project]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* The main repositories are in its [http://code.google.com/p/kbus/ Google code project]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* The initial development of KBUS was funded by [http://www.kynesim.co.uk Kynesim],&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* The initial development of KBUS was funded by [http://www.kynesim.co.uk Kynesim], and the [http://kynesim.blogspot.com/ Kynesim blog] has announcements and occasional posts about KBUS&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;and the [http://kynesim.blogspot.com/ Kynesim blog] has announcements and occasional&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* The main KBUS documentation can be read [http://html.kbus.googlecode.com/hg/docs/html/index.html here].&amp;#160; An introductory paper prepared for EuroPython2010 is [http://presentations.kbus.googlecode.com/hg/talks/europython2010.html here in HTML], or [http://presentations.kbus.googlecode.com/hg/talks/europython2010.pdf here as PDF].&amp;#160; Other presentations and talks can be found in the [http://code.google.com/p/kbus/source/checkout?repo=presentations presentations] repository.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;posts about KBUS&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* I had a showcase table at the ELCE 2010 meeting in Cambridge, giving out this [http://kbus.googlecode.com/files/kbus.pdf handout]. It has a summary on the front, and some C code on the back.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* The main KBUS documentation can be read&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;[http://html.kbus.googlecode.com/hg/docs/html/index.html here].&amp;#160; An introductory&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;paper prepared for EuroPython2010 is&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;[http://presentations.kbus.googlecode.com/hg/talks/europython2010.html here in&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;HTML], or [http://presentations.kbus.googlecode.com/hg/talks/europython2010.pdf here&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;as PDF].&amp;#160; Other presentations and talks can be found in the&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;[http://code.google.com/p/kbus/source/checkout?repo=presentations presentations]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;repository.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* I had a showcase table at the ELCE 2010 meeting in Cambridge, giving out this&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;[http://kbus.googlecode.com/files/kbus.pdf handout]. It has a summary on the front,&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;and some C code on the back.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;== Scope ==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;== Scope ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 91:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 80:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Experience shows that I'm not particularly good at estimating, but here goes...&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Experience shows that I'm not particularly good at estimating, but here goes...&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* '''Bring all APIs to a consistent level:''' 4-6 weeks work, depending on the&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* '''Bring all APIs to a consistent level:''' 4-6 weeks work, depending on the decision made about the C++ library. This should include updating the KBUS documentation.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;decision made about the C++ library. This should include updating the KBUS&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* '''Provide Poky/OpenEmbedded recipes:''' For someone with experience of Poky/OpenEmbedded, presumably a week, including testing and documentation. For someone without such experience, somewhat longer.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;documentation.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* '''Provide DEB and RPM packages:''' I don't have enough experience to quote for this, but time needs to be allowed for creation of packages for Debian/Ubuntu/MeeGo/Fedora (presumably), possibly at several versions, with adequate testing and provision of a PPA or equivalent, followed by submission upstream. Someone (presumably the candidate) should then provide an ongoing commitment to look after the packages.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* '''Provide Poky/OpenEmbedded recipes:''' For someone with experience of&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* '''Provide a good set of examples:''' This is, by its nature, somewhat unbounded (so someone should monitor progress!), but I'd suggest an initial 2 weeks for deciding what would be useful, and then&amp;#160; at least 2 weeks for coding and documentation.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Poky/OpenEmbedded, presumably a week, including testing and documentation. For&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* '''Show/document use with Binder in Android:''' Start with an allowance of 4 weeks, to produce some solid examples of real use.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;someone without such experience, somewhat longer.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* '''Provide a Java Message Services API:''' 2 weeks to produce a good estimate of feasability and actual requirement, to be followed by a sensible quote for the actual time needed to produce a good implementation.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* '''Provide DEB and RPM packages:''' I don't have enough experience to quote for&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* '''Provide a good Limpet exemplar:''' I would suggest an initial implementation in Python, followed by an equivalent using any of the other APIs. Allow 4 weeks for the first implementation, to include good testing and documentation, and 2-4 weeks for the second.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;this, but time needs to be allowed for creation of packages for&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* '''Design a Javascript API and provide some implementations:''' 2 weeks to document a preferred API. Estimates for particular engines (and choice of which engines are desirable) to be done thereafter.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Debian/Ubuntu/MeeGo/Fedora (presumably), possibly at several versions, with adequate&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* '''Investigate use as a low-level driver for DBUS:''' 2-4 weeks for an initial investigation (depending if the candidate needs to learn how DBUS works), followed by further work if it is deemed a sensible approach.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;testing and provision of a PPA or equivalent, followed by submission upstream.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Someone (presumably the candidate) should then provide an ongoing commitment to look&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;after the packages.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* '''Provide a good set of examples:''' This is, by its nature, somewhat unbounded&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;(so someone should monitor progress!), but I'd suggest an initial 2 weeks for&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;deciding what would be useful, and then&amp;#160; at least 2 weeks for coding and&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;documentation.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* '''Show/document use with Binder in Android:''' Start with an allowance of 4&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;weeks, to produce some solid examples of real use.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* '''Provide a Java Message Services API:''' 2 weeks to produce a good estimate of&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;feasability and actual requirement, to be followed by a sensible quote for the&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;actual time needed to produce a good implementation.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* '''Provide a good Limpet exemplar:''' I would suggest an initial implementation in&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Python, followed by an equivalent using any of the other APIs. Allow 4 weeks for the&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;first implementation, to include good testing and documentation, and 2-4 weeks for&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;the second.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* '''Design a Javascript API and provide some implementations:''' 2 weeks to&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;document a preferred API. Estimates for particular engines (and choice of which&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;engines are desirable) to be done thereafter.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* '''Investigate use as a low-level driver for DBUS:''' 2-4 weeks for an initial&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;investigation (depending if the candidate needs to learn how DBUS works), followed&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;by further work if it is deemed a sensible approach.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key elinux:diff:version:1.11a:oldid:33343:newid:33385 --&gt;
&lt;/table&gt;</summary>
		<author><name>Tibs</name></author>	</entry>

	<entry>
		<id>http://elinux.org/index.php?title=Extend_and_improve_infrastructure_for_KBUS_messaging&amp;diff=33343&amp;oldid=prev</id>
		<title>Wmat: Added body of kbus proposal page.</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/index.php?title=Extend_and_improve_infrastructure_for_KBUS_messaging&amp;diff=33343&amp;oldid=prev"/>
				<updated>2011-01-31T20:15:28Z</updated>
		
		<summary type="html">&lt;p&gt;Added body of kbus proposal page.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Extend and improve infrastructure for KBUS messaging&lt;br /&gt;
&lt;br /&gt;
; Summary: Extend and improve infrastructure for KBUS messaging&lt;br /&gt;
&lt;br /&gt;
; Proposer: Tony Ibbs &amp;lt;tibs@tonyibbs.co.uk&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&lt;br /&gt;
KBUS is a lightweight, simple to use, reliable kernel-mediated messaging system&lt;br /&gt;
for Linux. It was developed specifically for use on embedded systems. It can&lt;br /&gt;
be used via low-level file access (&amp;lt;code&amp;gt;open&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;read&amp;lt;/code&amp;gt;,&lt;br /&gt;
&amp;lt;code&amp;gt;write&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ioctl&amp;lt;/code&amp;gt;), but also has a C library, and APIs&lt;br /&gt;
for Python, Java and C++. The unit-tests use the Python API.  We have just&lt;br /&gt;
begun the process of submitting the KBUS kernel module to the Linux kernel.&lt;br /&gt;
&lt;br /&gt;
I would like to propose the following:&lt;br /&gt;
&lt;br /&gt;
'''Bring all APIs to a consistent level:''' At the moment, the different&lt;br /&gt;
language bindings are at different stages. The Java binding does not yet make&lt;br /&gt;
all KBUS functionality available. The C++ binding includes some ideas which&lt;br /&gt;
could usefully be incorporated elsewhere. The internal code of the Python API&lt;br /&gt;
could do with some review, as it is the oldest. Finally, the C++ binding does&lt;br /&gt;
not use exceptions or RTTI (to allow its use in constrained conditions) and it&lt;br /&gt;
may be worth providing a &amp;quot;traditional&amp;quot; C++ API (with full use of exceptions)&lt;br /&gt;
as well.&lt;br /&gt;
&lt;br /&gt;
'''Provide Poky/OpenEmbedded recipes:'''  The aim is to make it easier for&lt;br /&gt;
people to incorporate KBUS into their projects.&lt;br /&gt;
&lt;br /&gt;
'''Provide DEB and RPM packages:''' If KBUS does get into the kernel, then&lt;br /&gt;
packaging the associated libraries for the most popular Linux distributions&lt;br /&gt;
would be very useful. If KBUS does not get into the kernel, packaging the&lt;br /&gt;
kernel module is more or less essential.&lt;br /&gt;
&lt;br /&gt;
'''Provide a good set of examples:''' Specifically, examples of &amp;quot;how to do&lt;br /&gt;
common tasks&amp;quot;. The &amp;lt;tt&amp;gt;kmsg&amp;lt;/tt&amp;gt; example program is useful, but not&lt;br /&gt;
particularly realistic. We hope one of Kynesim's customers will be releasing&lt;br /&gt;
its KBUS-using code later in the year, but KBUS is only a small part of the&lt;br /&gt;
whole. Actual targetted &amp;quot;how-to&amp;quot; examples are needed.&lt;br /&gt;
&lt;br /&gt;
'''Show/document use with Binder in Android:''' KBUS has been used within&lt;br /&gt;
Kynesim to communicate between the Java and Linux levels of Android, in&lt;br /&gt;
conjunction with Binder. This works rather well. Documentation and decent&lt;br /&gt;
example code needs to be made available.&lt;br /&gt;
&lt;br /&gt;
'''Provide a Java Message Services API:''' At ELCE 2010 several people said it&lt;br /&gt;
would be useful to do this, and that it would make KBUS more accessible to&lt;br /&gt;
Java programmers.&lt;br /&gt;
&lt;br /&gt;
'''Provide a good Limpet exemplar:''' KBUS deliberately isolates its buses&lt;br /&gt;
(the &amp;quot;goldfish bowl&amp;quot; metaphor). However, it is sometimes desirable for a&lt;br /&gt;
program to believe it is talking via KBUS whilst messages are actually being&lt;br /&gt;
proxied between devices (possibly between machines). KBUS terms such proxies&lt;br /&gt;
&amp;quot;Limpets&amp;quot;. KBUS message headers provide extra fields to help with this, and&lt;br /&gt;
part of the C library provides helper functions. There are simplified C and&lt;br /&gt;
Python Limpet examples in the repositories, but they are not suitable for&lt;br /&gt;
deployment. Ideally, implementations for two of the APIs would be written (C&lt;br /&gt;
and Python would be simplest).&lt;br /&gt;
&lt;br /&gt;
'''Design a Javascript API and provide some implementations:''' One of the&lt;br /&gt;
obvious uses for KBUS is communicating between a browser and other software.&lt;br /&gt;
It would be useful to define a &amp;quot;standard&amp;quot; Javascript API.  Even more&lt;br /&gt;
useful would be implementations for some of the commoner Javascript engines.&lt;br /&gt;
&lt;br /&gt;
'''Investigate use as a reliable low-level driver for DBUS:''' This was raised&lt;br /&gt;
as a suggestion at ELCE 2010. The potential should be investigated, and if&lt;br /&gt;
feasible, a tentative implementation should be attempted.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Related work ==&lt;br /&gt;
&lt;br /&gt;
* The KBUS [http://kbus-messaging.org/ home page].&lt;br /&gt;
* The main repositories are in its [http://code.google.com/p/kbus/ Google code project]&lt;br /&gt;
* The initial development of KBUS was funded by [http://www.kynesim.co.uk Kynesim],&lt;br /&gt;
and the [http://kynesim.blogspot.com/ Kynesim blog] has announcements and occasional&lt;br /&gt;
posts about KBUS&lt;br /&gt;
* The main KBUS documentation can be read&lt;br /&gt;
[http://html.kbus.googlecode.com/hg/docs/html/index.html here].  An introductory&lt;br /&gt;
paper prepared for EuroPython2010 is&lt;br /&gt;
[http://presentations.kbus.googlecode.com/hg/talks/europython2010.html here in&lt;br /&gt;
HTML], or [http://presentations.kbus.googlecode.com/hg/talks/europython2010.pdf here&lt;br /&gt;
as PDF].  Other presentations and talks can be found in the&lt;br /&gt;
[http://code.google.com/p/kbus/source/checkout?repo=presentations presentations]&lt;br /&gt;
repository.&lt;br /&gt;
* I had a showcase table at the ELCE 2010 meeting in Cambridge, giving out this&lt;br /&gt;
[http://kbus.googlecode.com/files/kbus.pdf handout]. It has a summary on the front,&lt;br /&gt;
and some C code on the back.&lt;br /&gt;
&lt;br /&gt;
== Scope ==&lt;br /&gt;
&lt;br /&gt;
Experience shows that I'm not particularly good at estimating, but here goes...&lt;br /&gt;
&lt;br /&gt;
* '''Bring all APIs to a consistent level:''' 4-6 weeks work, depending on the&lt;br /&gt;
decision made about the C++ library. This should include updating the KBUS&lt;br /&gt;
documentation.&lt;br /&gt;
* '''Provide Poky/OpenEmbedded recipes:''' For someone with experience of&lt;br /&gt;
Poky/OpenEmbedded, presumably a week, including testing and documentation. For&lt;br /&gt;
someone without such experience, somewhat longer.&lt;br /&gt;
* '''Provide DEB and RPM packages:''' I don't have enough experience to quote for&lt;br /&gt;
this, but time needs to be allowed for creation of packages for&lt;br /&gt;
Debian/Ubuntu/MeeGo/Fedora (presumably), possibly at several versions, with adequate&lt;br /&gt;
testing and provision of a PPA or equivalent, followed by submission upstream.&lt;br /&gt;
Someone (presumably the candidate) should then provide an ongoing commitment to look&lt;br /&gt;
after the packages.&lt;br /&gt;
* '''Provide a good set of examples:''' This is, by its nature, somewhat unbounded&lt;br /&gt;
(so someone should monitor progress!), but I'd suggest an initial 2 weeks for&lt;br /&gt;
deciding what would be useful, and then  at least 2 weeks for coding and&lt;br /&gt;
documentation.&lt;br /&gt;
* '''Show/document use with Binder in Android:''' Start with an allowance of 4&lt;br /&gt;
weeks, to produce some solid examples of real use.&lt;br /&gt;
* '''Provide a Java Message Services API:''' 2 weeks to produce a good estimate of&lt;br /&gt;
feasability and actual requirement, to be followed by a sensible quote for the&lt;br /&gt;
actual time needed to produce a good implementation.&lt;br /&gt;
* '''Provide a good Limpet exemplar:''' I would suggest an initial implementation in&lt;br /&gt;
Python, followed by an equivalent using any of the other APIs. Allow 4 weeks for the&lt;br /&gt;
first implementation, to include good testing and documentation, and 2-4 weeks for&lt;br /&gt;
the second.&lt;br /&gt;
* '''Design a Javascript API and provide some implementations:''' 2 weeks to&lt;br /&gt;
document a preferred API. Estimates for particular engines (and choice of which&lt;br /&gt;
engines are desirable) to be done thereafter.&lt;br /&gt;
* '''Investigate use as a low-level driver for DBUS:''' 2-4 weeks for an initial&lt;br /&gt;
investigation (depending if the candidate needs to learn how DBUS works), followed&lt;br /&gt;
by further work if it is deemed a sensible approach.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Contractor Candidates ==&lt;br /&gt;
&lt;br /&gt;
The obvious candidate for much of this work would be myself (particularly for&lt;br /&gt;
the first item). Other employees of Kynesim (several of whom have also&lt;br /&gt;
contributed to or used KBUS) are also obvious candidates.  However, if someone&lt;br /&gt;
else was chosen for some or all of the work, this would be a good thing in&lt;br /&gt;
spreading knowledge of KBUS, and I would be very happy to give any necessary&lt;br /&gt;
support.&lt;br /&gt;
&lt;br /&gt;
== Comments ==&lt;br /&gt;
&lt;br /&gt;
[[Category:Project proposals 2011]]&lt;/div&gt;</summary>
		<author><name>Wmat</name></author>	</entry>

	</feed>