<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-4816709533104512585</id><updated>2011-12-09T03:51:06.043-08:00</updated><category term='3.1'/><category term='KF3 beta-4 OSGi R4v4.2'/><category term='osgi'/><category term='OSGi R4v4.2'/><category term='R4v4.2'/><category term='Knopflerfish Pro 3'/><category term='desktop'/><category term='knopflerfish'/><category term='cpa'/><category term='KF3 beta-3'/><category term='KF3.1'/><category term='twitter'/><category term='security'/><category term='tutorial'/><category term='connections europe'/><category term='OSGi certified'/><category term='released'/><category term='KF3 beta-5'/><category term='3.2'/><category term='EventAdmin'/><title type='text'>Knopflerfish OSGi</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://knopflerfish.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4816709533104512585/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://knopflerfish.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Erik Wistrand</name><uri>http://www.blogger.com/profile/09657028260407729508</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://www.wistrand.com/images/ew_profile.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>31</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-4816709533104512585.post-2798919207674460751</id><published>2011-07-15T08:01:00.000-07:00</published><updated>2011-07-15T08:03:24.214-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='3.2'/><category scheme='http://www.blogger.com/atom/ns#' term='knopflerfish'/><category scheme='http://www.blogger.com/atom/ns#' term='released'/><category scheme='http://www.blogger.com/atom/ns#' term='osgi'/><title type='text'>Knopflerfish 3.2 released</title><content type='html'>Knopflerfish 3.2.0  has been released and is available for download at:&lt;br /&gt;&lt;a href="http://www.knopflerfish.org/download.html"&gt;http://www.knopflerfish.org/download.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Knopflerfish 3.2 is the second minor KF3 release and includes several improvement in the framework, the compendium services and the Knopflerfish services, resulting in a faster and more robust platform.&lt;br /&gt;&lt;br /&gt;The most important new feature and fixes are:&lt;br /&gt;- Refactored fragment handling and full support for dynamic fragments&lt;br /&gt;- Improved handling of hanging bundle threads in start and stop methods,&lt;br /&gt;- Bugfixes in Conditional Permission Admin&lt;br /&gt;- Improved HTTP server, better handling persistent connections as well as handling DoS attacks&lt;br /&gt;- Fixed stability issues in Component (SCR)&lt;br /&gt;- Improved Android / Dalvik support&lt;br /&gt;- New tutorials for Security and Android&lt;br /&gt;&lt;br /&gt;The release notes includes a complete description of all fixes in 3.2&lt;br /&gt;&lt;a href="http://www.knopflerfish.org/releases/3.2.0/release_notes.html"&gt;http://www.knopflerfish.org/releases/3.2.0/release_notes.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Regards,&lt;br /&gt;Christer&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4816709533104512585-2798919207674460751?l=knopflerfish.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://knopflerfish.blogspot.com/feeds/2798919207674460751/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4816709533104512585&amp;postID=2798919207674460751' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4816709533104512585/posts/default/2798919207674460751'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4816709533104512585/posts/default/2798919207674460751'/><link rel='alternate' type='text/html' href='http://knopflerfish.blogspot.com/2011/07/knopflerfish-32-released.html' title='Knopflerfish 3.2 released'/><author><name>Christer Larsson</name><uri>http://www.blogger.com/profile/05440980980062127245</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4816709533104512585.post-8554745649860935649</id><published>2011-07-13T01:25:00.000-07:00</published><updated>2011-07-13T02:23:52.113-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='knopflerfish'/><category scheme='http://www.blogger.com/atom/ns#' term='cpa'/><category scheme='http://www.blogger.com/atom/ns#' term='tutorial'/><category scheme='http://www.blogger.com/atom/ns#' term='osgi'/><category scheme='http://www.blogger.com/atom/ns#' term='security'/><title type='text'>Running Knopflerfish with Security turned on</title><content type='html'>For most users, the most common way of running Knopflerfish, or any OSGi container for that matter, is probably to run with security turned off. But in some contexts you need to turn security on. To overcome the set up hassle most users encounter the first time they get exposed to the ConditionalPermissionAdmin service in OSGi, and security in general in Java, we have created a hands on &lt;a href="http://www.knopflerfish.org/snapshots_trunk/current_trunk/docs/osgi_with_security.html"&gt;guide and tutorial on how to run Knopflerfish with Security turned On. &lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The small tutorial also includes some example bundles, including full sources. The examples are checked in to the KF SVN:&lt;br /&gt;&lt;a href="https://www.knopflerfish.org/svn/knopflerfish.org/trunk/osgi/bundles_examples/cpa/"&gt;https://www.knopflerfish.org/svn/knopflerfish.org/trunk/osgi/bundles_examples/cpa/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;/Christer&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4816709533104512585-8554745649860935649?l=knopflerfish.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://knopflerfish.blogspot.com/feeds/8554745649860935649/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4816709533104512585&amp;postID=8554745649860935649' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4816709533104512585/posts/default/8554745649860935649'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4816709533104512585/posts/default/8554745649860935649'/><link rel='alternate' type='text/html' href='http://knopflerfish.blogspot.com/2011/07/running-knopflerfish-with-security.html' title='Running Knopflerfish with Security turned on'/><author><name>Christer Larsson</name><uri>http://www.blogger.com/profile/05440980980062127245</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4816709533104512585.post-2231150617461313484</id><published>2011-04-14T15:18:00.000-07:00</published><updated>2011-04-14T15:29:45.217-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='knopflerfish'/><category scheme='http://www.blogger.com/atom/ns#' term='twitter'/><title type='text'>Knopflerfish is now on Twitter</title><content type='html'>Knopflerfish is now on Twitter:&lt;br /&gt;&lt;a href="http://twitter.com/knopflerfish"&gt;http://twitter.com/knopflerfish&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Be sure to follow us for Knopflerfish Updates Great and Small.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4816709533104512585-2231150617461313484?l=knopflerfish.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://knopflerfish.blogspot.com/feeds/2231150617461313484/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4816709533104512585&amp;postID=2231150617461313484' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4816709533104512585/posts/default/2231150617461313484'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4816709533104512585/posts/default/2231150617461313484'/><link rel='alternate' type='text/html' href='http://knopflerfish.blogspot.com/2011/04/knopflerfish-is-now-on-twitter.html' title='Knopflerfish is now on Twitter'/><author><name>Christer Larsson</name><uri>http://www.blogger.com/profile/05440980980062127245</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4816709533104512585.post-5689777990363040640</id><published>2011-03-10T10:02:00.000-08:00</published><updated>2011-03-10T10:07:05.699-08:00</updated><title type='text'>Knopflerfish web site temporarily down</title><content type='html'>The Knopflerfish web site is temporarily unavailable. This is due to a problem with the fiber connection. We estimate to have it up and running again tomorrow before lunch (CET).&lt;br /&gt;&lt;br /&gt;Sorry for the inconvenience.&lt;br /&gt;&lt;br /&gt;/Christer&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4816709533104512585-5689777990363040640?l=knopflerfish.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://knopflerfish.blogspot.com/feeds/5689777990363040640/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4816709533104512585&amp;postID=5689777990363040640' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4816709533104512585/posts/default/5689777990363040640'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4816709533104512585/posts/default/5689777990363040640'/><link rel='alternate' type='text/html' href='http://knopflerfish.blogspot.com/2011/03/knopflerfish-web-site-temporarily-down.html' title='Knopflerfish web site temporarily down'/><author><name>Christer Larsson</name><uri>http://www.blogger.com/profile/05440980980062127245</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4816709533104512585.post-4990069944126054222</id><published>2010-12-20T15:55:00.000-08:00</published><updated>2010-12-20T16:05:40.789-08:00</updated><title type='text'>Knopflerfish maven repository sees the light of day</title><content type='html'>We today took the first steps to publish maven artifacts of the Knopflerfish OSGi framework and bundles when Gunnar created a maven2 repo at:&lt;br /&gt;&lt;a href="http://www.knopflerfish.org/maven2/"&gt;http://www.knopflerfish.org/maven2/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The repository holds the frameworks and bundles from recent KF releases (2.3.3, 2.4, 3.0, 3.1)&lt;br /&gt;&lt;br /&gt;The convention used for group id and artifact id when creating the&lt;br /&gt;artifacts for the Knopflerfish bundles is that the artifact id is the&lt;br /&gt;last part of the bundle symbolic name (i.e., everything after the last&lt;br /&gt;'.')  and the group id the first part of the bundle symbolic name&lt;br /&gt;(i.e., everything to the left of the last '.') .&lt;br /&gt;&lt;br /&gt;Please note that the repo is still experimental.&lt;br /&gt;&lt;br /&gt;More info and updates to follow.&lt;br /&gt;&lt;br /&gt;Regards,&lt;br /&gt;Christer&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4816709533104512585-4990069944126054222?l=knopflerfish.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://knopflerfish.blogspot.com/feeds/4990069944126054222/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4816709533104512585&amp;postID=4990069944126054222' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4816709533104512585/posts/default/4990069944126054222'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4816709533104512585/posts/default/4990069944126054222'/><link rel='alternate' type='text/html' href='http://knopflerfish.blogspot.com/2010/12/knopflerfish-maven-repository-sees.html' title='Knopflerfish maven repository sees the light of day'/><author><name>Christer Larsson</name><uri>http://www.blogger.com/profile/05440980980062127245</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4816709533104512585.post-5572451716741168832</id><published>2010-12-13T14:48:00.000-08:00</published><updated>2010-12-13T15:02:50.293-08:00</updated><title type='text'>Knopflerfish in Enterprise OSGi - the Nimble Distribution</title><content type='html'>&lt;a href="http://www.makewave.com/"&gt;Makewave&lt;/a&gt; and &lt;a href="http://www.paremus.com/"&gt;Paremus&lt;/a&gt; announced today the &lt;a href="http://www.paremus.com/products/products_nimble.html"&gt;Nimble Distribution, Knopflerfish Edition.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;As the name clearly indicates it is based on &lt;a href="http://www.knopflerfish.org"&gt;Knopflerfish OSGi&lt;/a&gt;. It also includes the Nimble resolver, remote services, as well as the Posh OSGi shell.&lt;br /&gt;&lt;br /&gt;The &lt;a href="http://www.makewave.com/site.en/news/docs/2010/pr_2010-12-13_makewave-paremus.shtml"&gt;press release&lt;/a&gt; has the full story.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4816709533104512585-5572451716741168832?l=knopflerfish.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://knopflerfish.blogspot.com/feeds/5572451716741168832/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4816709533104512585&amp;postID=5572451716741168832' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4816709533104512585/posts/default/5572451716741168832'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4816709533104512585/posts/default/5572451716741168832'/><link rel='alternate' type='text/html' href='http://knopflerfish.blogspot.com/2010/12/knopflerfish-in-enterprise-osgi-nimble.html' title='Knopflerfish in Enterprise OSGi - the Nimble Distribution'/><author><name>Christer Larsson</name><uri>http://www.blogger.com/profile/05440980980062127245</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4816709533104512585.post-7677061324651424956</id><published>2010-10-20T14:05:00.000-07:00</published><updated>2010-10-20T14:08:31.507-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='knopflerfish'/><category scheme='http://www.blogger.com/atom/ns#' term='released'/><category scheme='http://www.blogger.com/atom/ns#' term='osgi'/><category scheme='http://www.blogger.com/atom/ns#' term='KF3.1'/><category scheme='http://www.blogger.com/atom/ns#' term='3.1'/><title type='text'>Knopflerfish 3.1 released</title><content type='html'>Knopflerfish 3.1 has been released and is available for download at:&lt;br /&gt;&lt;a href="http://www.knopflerfish.org/download.html"&gt;http://www.knopflerfish.org/download.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Knopflerfish 3.1 is the first minor KF3 release. KF3.1 includes several improvement in the framework, the compendium services and the Knopflerfish services, resulting in a faster and more robust platform.&lt;br /&gt;&lt;br /&gt;The most important new feature and fixes are:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Updated framework with improved thread handling&amp;amp; asyncronous listeners.&lt;/li&gt;&lt;li&gt;Reduced bundle start-up time&lt;/li&gt;&lt;li&gt;Improved and faster log bundle&lt;/li&gt;&lt;li&gt;Several fixes and minor improvements in the desktop bundle&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;The &lt;a href="http://www.knopflerfish.org/releases/3.1.0/release_notes.html"&gt;release notes&lt;/a&gt; includes a complete description of all fixes in 3.1&lt;br /&gt;&lt;br /&gt;Regards,&lt;br /&gt;Christer&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4816709533104512585-7677061324651424956?l=knopflerfish.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://knopflerfish.blogspot.com/feeds/7677061324651424956/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4816709533104512585&amp;postID=7677061324651424956' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4816709533104512585/posts/default/7677061324651424956'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4816709533104512585/posts/default/7677061324651424956'/><link rel='alternate' type='text/html' href='http://knopflerfish.blogspot.com/2010/10/knopflerfish-31-released.html' title='Knopflerfish 3.1 released'/><author><name>Christer Larsson</name><uri>http://www.blogger.com/profile/05440980980062127245</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4816709533104512585.post-798760171645942424</id><published>2010-08-13T02:50:00.000-07:00</published><updated>2010-08-13T02:52:46.092-07:00</updated><title type='text'>Comment moderation turned on</title><content type='html'>Due to the increasing number of spam comments I decided to turn on comment moderation, at least for a while.&lt;br /&gt;&lt;br /&gt;Regards,&lt;br /&gt;Christer&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4816709533104512585-798760171645942424?l=knopflerfish.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://knopflerfish.blogspot.com/feeds/798760171645942424/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4816709533104512585&amp;postID=798760171645942424' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4816709533104512585/posts/default/798760171645942424'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4816709533104512585/posts/default/798760171645942424'/><link rel='alternate' type='text/html' href='http://knopflerfish.blogspot.com/2010/08/comment-moderation-turned-on.html' title='Comment moderation turned on'/><author><name>Christer Larsson</name><uri>http://www.blogger.com/profile/05440980980062127245</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4816709533104512585.post-4369064672582815119</id><published>2010-07-22T10:07:00.000-07:00</published><updated>2010-07-22T10:25:44.056-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='knopflerfish'/><category scheme='http://www.blogger.com/atom/ns#' term='OSGi R4v4.2'/><category scheme='http://www.blogger.com/atom/ns#' term='Knopflerfish Pro 3'/><category scheme='http://www.blogger.com/atom/ns#' term='OSGi certified'/><title type='text'>Knopflerfish Pro 3 first OSGi framework to become 4.2 certified</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.makewave.com/images/products/knopflerfish_pro_osgi_180x_blackbg.png"&gt;&lt;img style="float: right; margin: 0pt 0pt 10px 10px; cursor: pointer; width: 180px; height: 60px;" src="http://www.makewave.com/images/products/knopflerfish_pro_osgi_180x_blackbg.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Today we received a note at &lt;a href="http://www.makewave.com/"&gt;Makewave&lt;/a&gt; from the OSGi Alliance stating Knopflerfish Pro 3 is &lt;a href="http://www.osgi.org/Markets/Certified"&gt;certified for compliance  against the OSGi Release 4, Version 4.2 specifications&lt;/a&gt;.  In fact &lt;a href="http://www.makewave.com/site.en/products/knopflerfish_pro_osgi.shtml"&gt;Knopflerfish Pro 3&lt;/a&gt; is the first OSGi framework to be officially certified!&lt;br /&gt;&lt;br /&gt;I want to use this opportunity to also thank all the Knopflerfish developers and users out there for all their hard work and enthusiasm in finalizing KF3 and getting us certified.&lt;br /&gt;&lt;br /&gt;/Christer&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4816709533104512585-4369064672582815119?l=knopflerfish.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://knopflerfish.blogspot.com/feeds/4369064672582815119/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4816709533104512585&amp;postID=4369064672582815119' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4816709533104512585/posts/default/4369064672582815119'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4816709533104512585/posts/default/4369064672582815119'/><link rel='alternate' type='text/html' href='http://knopflerfish.blogspot.com/2010/07/knopflerfish-pro-3-first-osgi-framework.html' title='Knopflerfish Pro 3 first OSGi framework to become 4.2 certified'/><author><name>Christer Larsson</name><uri>http://www.blogger.com/profile/05440980980062127245</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4816709533104512585.post-2018192824757564393</id><published>2010-06-21T15:09:00.000-07:00</published><updated>2010-06-21T15:22:29.043-07:00</updated><title type='text'>Knopflerfish 3 Released</title><content type='html'>&lt;a href="http://www.knopflerfish.org/download.html"&gt;Knopflerfish 3.0&lt;/a&gt;  is the next major version of Knopflerfish OSGi,     designed to be compliant with the newly published OSGi R4 V4.2     specifications. KF3 fully implements     the core and service compendium functions according to OSGi R4 v4.2.  The     &lt;a href="http://www.knopflerfish.org/kf3_osgi_r4_v4.2.html"&gt; KF3  overview page &lt;/a&gt; describes     the development of KF3 in more detail.     KF3 also includes several other improvements and fixes.      The &lt;a href="http://www.knopflerfish.org/releases/3.0.0/release_notes.html"&gt;Release        Notes&lt;/a&gt; includes the complete list of features and fixes.&lt;br /&gt;&lt;br /&gt;With the release of KF3 the former main development branch (KF2), will enter maintenance mode. Before entering maintenance mode a KF 2.4 was built and released today. KF2.4 includes &lt;a href="http://www.knopflerfish.org/releases/2.4.0/release_notes.html"&gt;all fixes in the trunk&lt;/a&gt; since 2.3.3 and is probably the last minor release of KF2 (2.N.N). Maintenance releases (2.4.N) can still be expected.&lt;br /&gt;&lt;br /&gt;Regards,&lt;br /&gt;Christer&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4816709533104512585-2018192824757564393?l=knopflerfish.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://knopflerfish.blogspot.com/feeds/2018192824757564393/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4816709533104512585&amp;postID=2018192824757564393' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4816709533104512585/posts/default/2018192824757564393'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4816709533104512585/posts/default/2018192824757564393'/><link rel='alternate' type='text/html' href='http://knopflerfish.blogspot.com/2010/06/knopflerfish-3-released.html' title='Knopflerfish 3 Released'/><author><name>Christer Larsson</name><uri>http://www.blogger.com/profile/05440980980062127245</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4816709533104512585.post-3831717213191071264</id><published>2010-06-09T12:02:00.000-07:00</published><updated>2010-06-09T12:25:33.760-07:00</updated><title type='text'>Knopflerfish 3 RC1 released</title><content type='html'>Today we released &lt;a href="http://www.knopflerfish.org/download.html"&gt;Knopflerfish 3 RC1&lt;/a&gt;. This is the first release candidate of the upcoming KF3 release. The RC1 includes lots of &lt;a href="http://www.knopflerfish.org/releases/3.0.0.rc-1/release_notes.html"&gt;minor fixes and some new features&lt;/a&gt;.  A few highlights are:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;HTTP Server handles proxy connections far better. Also added support for Content-Encoding: gzip&lt;/li&gt;&lt;li&gt;Desktop bundle recognizes Bundle-Icon manifest header: Bundle Selection is improved&lt;/li&gt;&lt;li&gt;TrayIcon update to use Java6 standard SystemTray and TrayIcon classes. This means you will get the KF TrayIcon on OSX and Linux desktops (KDE, Gnome) as well! &lt;/li&gt;&lt;/ul&gt;The official KF 3.0 release is  now scheduled for public release on Mon 21 Jun 2010.&lt;br /&gt;&lt;br /&gt;/Christer&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4816709533104512585-3831717213191071264?l=knopflerfish.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://knopflerfish.blogspot.com/feeds/3831717213191071264/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4816709533104512585&amp;postID=3831717213191071264' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4816709533104512585/posts/default/3831717213191071264'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4816709533104512585/posts/default/3831717213191071264'/><link rel='alternate' type='text/html' href='http://knopflerfish.blogspot.com/2010/06/knopflerfish-3-rc1-released.html' title='Knopflerfish 3 RC1 released'/><author><name>Christer Larsson</name><uri>http://www.blogger.com/profile/05440980980062127245</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4816709533104512585.post-2289331412765104526</id><published>2010-05-12T11:07:00.000-07:00</published><updated>2010-05-12T11:28:05.354-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='knopflerfish'/><category scheme='http://www.blogger.com/atom/ns#' term='OSGi R4v4.2'/><category scheme='http://www.blogger.com/atom/ns#' term='KF3 beta-5'/><title type='text'>Knopflerfish 3 beta-5 released, fully implementing OSGi R4 v4.2</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_MbVpeGdnojs/S-ry1Rl94rI/AAAAAAAAABo/2T4hNPsJtMc/s1600/kf-desktop.png"&gt;&lt;img style="float: right; margin: 0pt 0pt 10px 10px; cursor: pointer; width: 128px; height: 132px;" src="http://3.bp.blogspot.com/_MbVpeGdnojs/S-ry1Rl94rI/AAAAAAAAABo/2T4hNPsJtMc/s200/kf-desktop.png" alt="" id="BLOGGER_PHOTO_ID_5470451694464524978" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Today we &lt;a href="http://www.knopflerfish.org/download.html#kf3"&gt;released beta-5&lt;/a&gt; of the upcoming KF3 release. With this beta-5 release KF3 now fully implements     the core and service compendium functions according to &lt;a href="http://www.osgi.org/Specifications/HomePage"&gt;OSGi R4 v4.2&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Besides completing the 4.2 implementation Beta-5 includes several minor improvements. E.g. improved Event Admin, Desktop and Framework Commands bundles. The &lt;a href="http://www.knopflerfish.org/releases/3.0.0.beta-5/release_notes.html"&gt;release notes&lt;/a&gt; has the full story.&lt;br /&gt;&lt;br /&gt;One clearly visible change is of course the change to the &lt;a href="http://tango.freedesktop.org/Tango_Desktop_Project"&gt;Tango Icon set&lt;/a&gt; in the desktop and other bundles:&lt;br /&gt;&lt;br /&gt;A final KF3 release is scheduled in a few weeks from now.&lt;br /&gt;&lt;br /&gt;/Christer&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4816709533104512585-2289331412765104526?l=knopflerfish.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://knopflerfish.blogspot.com/feeds/2289331412765104526/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4816709533104512585&amp;postID=2289331412765104526' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4816709533104512585/posts/default/2289331412765104526'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4816709533104512585/posts/default/2289331412765104526'/><link rel='alternate' type='text/html' href='http://knopflerfish.blogspot.com/2010/05/knopflerfish-3-beta-5-released-fully.html' title='Knopflerfish 3 beta-5 released, fully implementing OSGi R4 v4.2'/><author><name>Christer Larsson</name><uri>http://www.blogger.com/profile/05440980980062127245</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_MbVpeGdnojs/S-ry1Rl94rI/AAAAAAAAABo/2T4hNPsJtMc/s72-c/kf-desktop.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4816709533104512585.post-7128888980634885191</id><published>2010-03-26T07:40:00.000-07:00</published><updated>2010-03-26T09:32:07.934-07:00</updated><title type='text'>Knopflerfish OSGi runs the ITS App Store for CVIS</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_MbVpeGdnojs/S6zhd5I2ZKI/AAAAAAAAABg/0gQNvoxzC0Y/s1600/kf_cvis_appstore.png"&gt;&lt;img style="float: right; margin: 0pt 0pt 10px 10px; cursor: pointer; width: 200px; height: 150px;" src="http://4.bp.blogspot.com/_MbVpeGdnojs/S6zhd5I2ZKI/AAAAAAAAABg/0gQNvoxzC0Y/s200/kf_cvis_appstore.png" alt="" id="BLOGGER_PHOTO_ID_5452981152509224098" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;I've been enjoying one week in Amsterdam at &lt;a href="http://www.amsterdam.intertraffic.com/nl/en/Pages/default.aspx"&gt;Intertraffic&lt;/a&gt; and the &lt;a href="http://www.cooperativemobilityshowcase.eu/nl/en/pages/default.aspx"&gt;Cooperative Mobility Showcase&lt;/a&gt;. There the &lt;a href="http://www.ertico.com/en/news/press/showcase.htm"&gt;CVIS project has been on display&lt;/a&gt;, demonstrating a wide range of ITS services.&lt;br /&gt;&lt;br /&gt;The &lt;a href="http://www.cvisproject.org/"&gt;Cooperative Vehicle-Infrastructure Systems (CVIS) Project&lt;/a&gt; is one of Europe’s flagship projects for cooperative mobility, providing a universal platform for vehicle-to-vehicle (V2V) and vehicle-to-infrastructure (V2I) communication and services. This universal platform includes no less than &lt;a href="http://www.knopflerfish.org/"&gt;Knopflerfish OSGi&lt;/a&gt;!&lt;br /&gt;&lt;br /&gt;The CVIS architecture includes the concept of the "ITS App Store" with the full range of vehicle-to-vehicle and vehicle-to-infrastructure applications. This is all implemented in OSGi, which is ideally suited for such an environment where applications (bundles) are downloaded and executed on a vehicle device.&lt;br /&gt;&lt;br /&gt;This week was really a stress test for Knopflerfish. There was more than 20 applications running at the same time, almost 150 bundles, all with the possibility to run in the background, exchanging data with vehicles as they passed by.&lt;br /&gt;&lt;br /&gt;So where there no problems? Of course there were and after this show you realize why Apple has such a strict certification policy for apps in their app store. Knopflerfish is not flawless, but the vast majority of the problems was actually related to badly written apps (bundles). Once they were corrected the whole system performed were nicely.&lt;br /&gt;&lt;br /&gt;Also as a comparison with the iPhone. They allow ONE app at a time, NO background processing. We had 25 apps, almost ALL doing background processing, receiving and sending data asynchronously.&lt;br /&gt;&lt;br /&gt;Final word - be thread safe ;-)&lt;br /&gt;&lt;br /&gt;/Christer - directly from Schiphol&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4816709533104512585-7128888980634885191?l=knopflerfish.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://knopflerfish.blogspot.com/feeds/7128888980634885191/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4816709533104512585&amp;postID=7128888980634885191' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4816709533104512585/posts/default/7128888980634885191'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4816709533104512585/posts/default/7128888980634885191'/><link rel='alternate' type='text/html' href='http://knopflerfish.blogspot.com/2010/03/knopflerfish-osgi-runs-its-app-store.html' title='Knopflerfish OSGi runs the ITS App Store for CVIS'/><author><name>Christer Larsson</name><uri>http://www.blogger.com/profile/05440980980062127245</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_MbVpeGdnojs/S6zhd5I2ZKI/AAAAAAAAABg/0gQNvoxzC0Y/s72-c/kf_cvis_appstore.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4816709533104512585.post-6948420894978795216</id><published>2010-03-11T15:36:00.000-08:00</published><updated>2010-03-11T15:51:52.827-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='knopflerfish'/><category scheme='http://www.blogger.com/atom/ns#' term='KF3 beta-4 OSGi R4v4.2'/><title type='text'>KF3 / OSGi R4v4.2 well under way,  beta-4 released, nighly builds available</title><content type='html'>The development with KF3 is well under way and last week we &lt;a href="http://www.knopflerfish.org/download.html#kf3"&gt;released the fourth beta release of KF3.0&lt;/a&gt;. From an OSGi R4v4.2 point of view all main features are in place. The framework implements all 4.2 features as well as the fundamental Compendium Services. The main remaining work is to update Declarative Services / SCR to 4.2.&lt;br /&gt;&lt;br /&gt;Since some time nightly builds are running for KF3. The results were unintentionally well hidden on the KF web site. This is now corrected and there is a link from the &lt;a href="http://www.knopflerfish.org/download.html"&gt;KF downloads&lt;/a&gt; section.&lt;br /&gt;&lt;br /&gt;The direct link to KF3 nightly builds is:&lt;br /&gt;&lt;a href="http://www.knopflerfish.org/snapshots_branches_kf3/"&gt;http://www.knopflerfish.org/snapshots_branches_kf3/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;/Christer&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4816709533104512585-6948420894978795216?l=knopflerfish.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://knopflerfish.blogspot.com/feeds/6948420894978795216/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4816709533104512585&amp;postID=6948420894978795216' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4816709533104512585/posts/default/6948420894978795216'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4816709533104512585/posts/default/6948420894978795216'/><link rel='alternate' type='text/html' href='http://knopflerfish.blogspot.com/2010/03/kf3-osgi-r4v42-well-under-way-beta-4.html' title='KF3 / OSGi R4v4.2 well under way,  beta-4 released, nighly builds available'/><author><name>Christer Larsson</name><uri>http://www.blogger.com/profile/05440980980062127245</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4816709533104512585.post-6427623570516431318</id><published>2009-11-12T23:07:00.000-08:00</published><updated>2009-11-12T23:56:39.349-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='knopflerfish'/><category scheme='http://www.blogger.com/atom/ns#' term='desktop'/><category scheme='http://www.blogger.com/atom/ns#' term='osgi'/><category scheme='http://www.blogger.com/atom/ns#' term='EventAdmin'/><title type='text'>Knopflerfish tooltip - Using the desktop bundle to generate events</title><content type='html'>A handy feature in the KF desktop is the ability to generate events "by hand".&lt;br /&gt;&lt;br /&gt;In the desktop there is an "Events" tab that displays all the events received. There is a filter function to select a subset of events.&lt;br /&gt;&lt;br /&gt;In this view you can also generate and send new events.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_MbVpeGdnojs/Sv0Js6CTtzI/AAAAAAAAAAs/KGekpbDuom0/s1600-h/Picture+11.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 289px;" src="http://2.bp.blogspot.com/_MbVpeGdnojs/Sv0Js6CTtzI/AAAAAAAAAAs/KGekpbDuom0/s400/Picture+11.png" alt="" id="BLOGGER_PHOTO_ID_5403485795012294450" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Clicking on "Send" will bring up the following dialog in which you can specify the event topic as well as any number of event properties.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_MbVpeGdnojs/Sv0IzBHijPI/AAAAAAAAAAk/-d7zStFDkMY/s1600-h/Picture+13.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 312px; height: 400px;" src="http://2.bp.blogspot.com/_MbVpeGdnojs/Sv0IzBHijPI/AAAAAAAAAAk/-d7zStFDkMY/s400/Picture+13.png" alt="" id="BLOGGER_PHOTO_ID_5403484800480873714" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;In the example above pressing Send will send out an event using the EventAdmin service with the topic foo and the event property "bar" with the value 10.&lt;br /&gt;&lt;br /&gt;This can be a very useful and handy function when testing or debugging an OSGi  bundle that uses the EventAdmin service.&lt;br /&gt;&lt;br /&gt;/Christer&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4816709533104512585-6427623570516431318?l=knopflerfish.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://knopflerfish.blogspot.com/feeds/6427623570516431318/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4816709533104512585&amp;postID=6427623570516431318' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4816709533104512585/posts/default/6427623570516431318'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4816709533104512585/posts/default/6427623570516431318'/><link rel='alternate' type='text/html' href='http://knopflerfish.blogspot.com/2009/11/knopflerfish-tooltop-using-desktop.html' title='Knopflerfish tooltip - Using the desktop bundle to generate events'/><author><name>Christer Larsson</name><uri>http://www.blogger.com/profile/05440980980062127245</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_MbVpeGdnojs/Sv0Js6CTtzI/AAAAAAAAAAs/KGekpbDuom0/s72-c/Picture+11.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4816709533104512585.post-6982132270160310331</id><published>2009-10-29T10:37:00.000-07:00</published><updated>2009-10-29T10:53:43.278-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='knopflerfish'/><category scheme='http://www.blogger.com/atom/ns#' term='R4v4.2'/><category scheme='http://www.blogger.com/atom/ns#' term='KF3 beta-3'/><category scheme='http://www.blogger.com/atom/ns#' term='osgi'/><title type='text'>Knopflerfish 3 beta-3 released - KF 3.0 gets closer!</title><content type='html'>Today Jan built and &lt;a href="http://www.knopflerfish.org/releases/3.0.0.beta-3/"&gt;released the beta-3 version&lt;/a&gt; of &lt;a href="http://www.knopflerfish.org/kf3_osgi_r4_v4.2.html"&gt;KF3&lt;/a&gt;. Extension bundles are now fully implemented in the framework which  means the KF beta-3 framework now fully implements &lt;a href="http://www.osgi.org/Download/Release4V42?info=nothanks"&gt;OSGi R4 V4.2&lt;/a&gt;. Of the OSGi compendium, declarative services (SCR) only remains to be updated to V4.2. We plan to have SCR completed in a very near future, i.e. week(s) from now. KF3 is getting closer!&lt;br /&gt;&lt;br /&gt;/Christer&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4816709533104512585-6982132270160310331?l=knopflerfish.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://knopflerfish.blogspot.com/feeds/6982132270160310331/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4816709533104512585&amp;postID=6982132270160310331' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4816709533104512585/posts/default/6982132270160310331'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4816709533104512585/posts/default/6982132270160310331'/><link rel='alternate' type='text/html' href='http://knopflerfish.blogspot.com/2009/10/knopflerfish-3-beta-3-released-kf-30.html' title='Knopflerfish 3 beta-3 released - KF 3.0 gets closer!'/><author><name>Christer Larsson</name><uri>http://www.blogger.com/profile/05440980980062127245</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4816709533104512585.post-7914087123573035906</id><published>2009-10-28T14:54:00.000-07:00</published><updated>2009-10-28T16:43:54.372-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='knopflerfish'/><category scheme='http://www.blogger.com/atom/ns#' term='connections europe'/><category scheme='http://www.blogger.com/atom/ns#' term='osgi'/><title type='text'>The OSGi framework beauty contest in Ludwigsburg</title><content type='html'>Yesterday I attended the &lt;a href="http://germany.osgiusers.org/Main/HomePage"&gt;OSGi Users Group Germany&lt;/a&gt; meeting in Ludwigsburg. One of the sessions was an OSGi framework beauty contest between Knopflerfish (me), Felix (Karl Pauls + Felix Meschberger), Equinox (Jeff McAffer) and mBedded Server (Roman Roelofsen). I think it was a pretty good session, but difficult to judge from where I was sitting.  Nor can I say there was a clear winner, except maybe for the OSGi technology itself which we all praised. I also got several comments afterwards that we all seemed so friendly to each other where they had expected us to be more aggressive. Well, if you put a Swiss, a Canadian and a Swede on stage you will not get a dog fight, you will get peace, love and understanding, unless it is ice-hockey.&lt;br /&gt;&lt;br /&gt;I was impressed by the event itself, +50 people and generally a good quality of the sessions from what I could judge. That said from my somewhat limited understanding based on 6 years of German at school. But there is clearly a strong momentum around OSGi in Germany at the moment. No doubt about that. There were quite a bit of discussions on the tooling for OSGi, which I will get back to  in another blog entry later.&lt;br /&gt;&lt;br /&gt;In the evening I had a very nice Schwäbisches dinner together with 2 gentlemen from Deutsche Telekom, discussing, among many things, OSGi in the residential home gateway. Very interesting discussions which gave me some new ideas for the panel session I'm doing next week: &lt;em&gt;Evolution of the "Digital Furnace": Residential    Gateways and Set-top Boxes&lt;/em&gt;, at the &lt;a href="http://www.parksassociates.com/events/europe/2009/amsterdam/index.htm"&gt;Connections Summit 2010&lt;/a&gt; on Nov 4th in Amsterdam. I hope to see you there!&lt;br /&gt;&lt;br /&gt;/Christer&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4816709533104512585-7914087123573035906?l=knopflerfish.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://knopflerfish.blogspot.com/feeds/7914087123573035906/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4816709533104512585&amp;postID=7914087123573035906' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4816709533104512585/posts/default/7914087123573035906'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4816709533104512585/posts/default/7914087123573035906'/><link rel='alternate' type='text/html' href='http://knopflerfish.blogspot.com/2009/10/osgi-framework-beauty-contest-in.html' title='The OSGi framework beauty contest in Ludwigsburg'/><author><name>Christer Larsson</name><uri>http://www.blogger.com/profile/05440980980062127245</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4816709533104512585.post-271296320564546014</id><published>2009-10-21T14:46:00.000-07:00</published><updated>2009-10-21T15:09:03.493-07:00</updated><title type='text'>Knopflerfish at the OSGi Users Forum Germany Oct 27</title><content type='html'>We've been invited to take part in a panel session at the &lt;a href="http://germany.osgiusers.org/Main/HomePage"&gt;OSGi Users Forum Germany&lt;/a&gt; meeting on the 27th of October in Ludwigsburg, Germany.&lt;br /&gt;&lt;br /&gt;The panel will be a beauty contest between the major OSGi frameworks, comparing the pros and cons. I'm convinced this will be a very interesting panel discussion. We should actually have them more often at other OSGi events. The full agenda for the event is &lt;a href="http://germany.osgiusers.org/Main/AgendaUFGTreffen2009"&gt;here.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Hope to see you there!&lt;br /&gt;&lt;br /&gt;/Christer&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4816709533104512585-271296320564546014?l=knopflerfish.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://knopflerfish.blogspot.com/feeds/271296320564546014/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4816709533104512585&amp;postID=271296320564546014' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4816709533104512585/posts/default/271296320564546014'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4816709533104512585/posts/default/271296320564546014'/><link rel='alternate' type='text/html' href='http://knopflerfish.blogspot.com/2009/10/knopflerfish-at-osgi-users-forum.html' title='Knopflerfish at the OSGi Users Forum Germany Oct 27'/><author><name>Christer Larsson</name><uri>http://www.blogger.com/profile/05440980980062127245</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4816709533104512585.post-225345788847908572</id><published>2009-10-15T09:09:00.000-07:00</published><updated>2009-10-15T09:14:58.297-07:00</updated><title type='text'>Knopflerfish 3 beta-2 released</title><content type='html'>Knopflerfish 3 beta-2 has just been released. With this 2nd beta release the security parts of OSGi R4 v4.2 are implemented. What remains to reach full v4.2 compliance are some functions related to extension bundles and the 4.2 updates to declarative services.&lt;br /&gt;&lt;br /&gt;More information on this release can be found in the &lt;a href="http://www.knopflerfish.org/releases/3.0.0.beta-2/release_notes.html"&gt;release notes.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;You can download KF3 beta-2 from&lt;a href="file:///Users/cl/work/kf_web/install/download.html#kf3"&gt; here.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;/Christer&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4816709533104512585-225345788847908572?l=knopflerfish.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://knopflerfish.blogspot.com/feeds/225345788847908572/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4816709533104512585&amp;postID=225345788847908572' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4816709533104512585/posts/default/225345788847908572'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4816709533104512585/posts/default/225345788847908572'/><link rel='alternate' type='text/html' href='http://knopflerfish.blogspot.com/2009/10/knopflerfish-3-beta-2-released.html' title='Knopflerfish 3 beta-2 released'/><author><name>Christer Larsson</name><uri>http://www.blogger.com/profile/05440980980062127245</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4816709533104512585.post-2823288419786207740</id><published>2009-10-15T03:17:00.000-07:00</published><updated>2009-10-15T03:26:27.983-07:00</updated><title type='text'>2nd annual OSGi survey</title><content type='html'>Kirk Knoernschild from the Burton Group is making a &lt;a href="http://techdistrict.kirkk.com/2009/10/14/2nd-annual-osgi-survey/"&gt;2nd Annual OSGi Survey.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;1o quick on-line questions. The actual survey is here:&lt;br /&gt;&lt;a href="http://www.surveymonkey.com/s.aspx?sm=YxNKaaoJDptcElhf83spFg_3d_3d"&gt;http://www.surveymonkey.com/s.aspx?sm=YxNKaaoJDptcElhf83spFg_3d_3d&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I hope you all know what to answer on question 5 ;-)&lt;br /&gt;&lt;br /&gt;The result from last years survey can be found here:&lt;br /&gt;&lt;a href="http://apsblog.burtongroup.com/2008/06/osgi-survey-res.html"&gt;http://apsblog.burtongroup.com/2008/06/osgi-survey-res.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;/Christer&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4816709533104512585-2823288419786207740?l=knopflerfish.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://knopflerfish.blogspot.com/feeds/2823288419786207740/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4816709533104512585&amp;postID=2823288419786207740' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4816709533104512585/posts/default/2823288419786207740'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4816709533104512585/posts/default/2823288419786207740'/><link rel='alternate' type='text/html' href='http://knopflerfish.blogspot.com/2009/10/2nd-annual-osgi-survey.html' title='2nd annual OSGi survey'/><author><name>Christer Larsson</name><uri>http://www.blogger.com/profile/05440980980062127245</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4816709533104512585.post-4658456736064279942</id><published>2009-10-06T00:20:00.000-07:00</published><updated>2009-10-06T00:32:52.014-07:00</updated><title type='text'>JavaFX and OSGi (Knopflerfish)</title><content type='html'>&lt;span style="font-family:arial;"&gt;&lt;span style="font-family: lucida grande;font-size:100%;" &gt;Johan Vos over at &lt;a href="http://www.lodgon.com/"&gt;Lodgon&lt;/a&gt; is doing interesting stuff with JavaFX and OSGi and has posted an entry in his blog where he describes how to &lt;a href="http://blogs.lodgon.com/johan/JavaFX_and_OSGi_part_1"&gt;launch Knopflerfish from within a JavaFX environment.&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;/Christer&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4816709533104512585-4658456736064279942?l=knopflerfish.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://knopflerfish.blogspot.com/feeds/4658456736064279942/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4816709533104512585&amp;postID=4658456736064279942' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4816709533104512585/posts/default/4658456736064279942'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4816709533104512585/posts/default/4658456736064279942'/><link rel='alternate' type='text/html' href='http://knopflerfish.blogspot.com/2009/10/javafx-and-osgi-knopflerfish.html' title='JavaFX and OSGi (Knopflerfish)'/><author><name>Christer Larsson</name><uri>http://www.blogger.com/profile/05440980980062127245</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4816709533104512585.post-5231880730715826380</id><published>2009-06-12T01:11:00.000-07:00</published><updated>2009-06-12T01:45:10.354-07:00</updated><title type='text'>Knopflerfish 3 branch available (OSGi 4.2)</title><content type='html'>Knopflerfish 3 is the upcoming implementation of the OSGi 4.2 specification. A preview is now available.&lt;br /&gt;&lt;br /&gt;Highlights include&lt;br /&gt;&lt;ul&gt;&lt;li&gt;the new launcher common for all OSGi frameworks.&lt;br /&gt;(good news if you need to embed KF in your own application)&lt;/li&gt;&lt;li&gt;lazy bundle activation&lt;/li&gt;&lt;li&gt;...and of course updated OSGi  API files&lt;/li&gt;&lt;/ul&gt;Currently there is no prebuilt distribution, but it's simple to build:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt; &gt; svn co &lt;a href="https://www.knopflerfish.org/svn/knopflerfish.org/branches/kf3/"&gt;https://www.knopflerfish.org/svn/knopflerfish.org/branches/kf3/&lt;/a&gt;&lt;br /&gt;&gt; cd kf3&lt;br /&gt;&gt; ant all&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;We'll post progress on the KF3 work here and plan to release an alpha build soon&lt;br /&gt;&lt;br /&gt;/Erik W&lt;span style="font-family:courier new;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4816709533104512585-5231880730715826380?l=knopflerfish.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://knopflerfish.blogspot.com/feeds/5231880730715826380/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4816709533104512585&amp;postID=5231880730715826380' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4816709533104512585/posts/default/5231880730715826380'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4816709533104512585/posts/default/5231880730715826380'/><link rel='alternate' type='text/html' href='http://knopflerfish.blogspot.com/2009/06/knopflerfish-3-branch-available-osgi-42.html' title='Knopflerfish 3 branch available (OSGi 4.2)'/><author><name>Erik Wistrand</name><uri>http://www.blogger.com/profile/09657028260407729508</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://www.wistrand.com/images/ew_profile.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4816709533104512585.post-523189291901398036</id><published>2009-01-03T13:44:00.000-08:00</published><updated>2009-01-03T14:16:20.250-08:00</updated><title type='text'>Knopflerfish on Android/Dalvik VM</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_tDVSOAkz56M/SV_gZkg198I/AAAAAAAAAl0/LaTrrwVSM5o/s1600-h/knopflerfish_on_android.png"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 178px; height: 320px;" src="http://1.bp.blogspot.com/_tDVSOAkz56M/SV_gZkg198I/AAAAAAAAAl0/LaTrrwVSM5o/s320/knopflerfish_on_android.png" alt="" id="BLOGGER_PHOTO_ID_5287191217459034050" border="0" /&gt;&lt;/a&gt;Thanks to Yuuki at Makewave Japan we got KF up and running on the Android/Dalvik VM platform. Also, full credits to the &lt;a href="http://blog.luminis.nl/roller/luminis/entry/osgi_on_google_android_using"&gt;original work&lt;/a&gt; from Karl and Marcel at Luminis who figured out how to use the DexFile API about a year ago.&lt;br /&gt;&lt;br /&gt;The images shows the KF http and text consoles running on the Android emulator.&lt;br /&gt;&lt;br /&gt;As of revision 2624 in the KF trunk, the necessary code to install and start "dexified" bundles is added to the KF framework. Additionally, fixes have been done to the KF http server (actually, in the jsdk bundle to solve a &lt;a href="http://code.google.com/p/android/issues/detail?id=917"&gt;bug in dalvik&lt;/a&gt;) to allow you to run a web server on Android.&lt;br /&gt;&lt;br /&gt;The KF ant build system also contains support for adding the necessary &lt;span style="font-family:courier new;"&gt;classes.dex&lt;/span&gt; file to the framework and bundles.&lt;br /&gt;&lt;br /&gt;Currently, we do not distribute such a dexified version, but you could build it yourself by downloading the &lt;a href="http://code.google.com/android/"&gt;Android SDK&lt;/a&gt; and building KF with&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family: courier new;"&gt;&gt; ant -DANDROID_HOME=[path to android sdk installation dir]&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;you can then launch the framework (after pushing the necessary files to the emulator) using&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family: courier new;"&gt;&gt; adb shell&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;# cd [kf_dir]&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;# dalvikvm -classpath framework.jar org.knopflerfish.framework.Main \&lt;br /&gt; -xargs my.xargs&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;/E&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_tDVSOAkz56M/SV_hWlx4zeI/AAAAAAAAAl8/s6SVxkpAxkY/s1600-h/knopflerfish_on_android_shell.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 309px;" src="http://4.bp.blogspot.com/_tDVSOAkz56M/SV_hWlx4zeI/AAAAAAAAAl8/s6SVxkpAxkY/s320/knopflerfish_on_android_shell.png" alt="" id="BLOGGER_PHOTO_ID_5287192265770978786" border="0" /&gt;&lt;/a&gt;&lt;path to="" android="" installation="" dir=""&gt;&lt;br /&gt;&lt;/path&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4816709533104512585-523189291901398036?l=knopflerfish.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://knopflerfish.blogspot.com/feeds/523189291901398036/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4816709533104512585&amp;postID=523189291901398036' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4816709533104512585/posts/default/523189291901398036'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4816709533104512585/posts/default/523189291901398036'/><link rel='alternate' type='text/html' href='http://knopflerfish.blogspot.com/2009/01/knopflerfish-on-androiddalvik-vm.html' title='Knopflerfish on Android/Dalvik VM'/><author><name>Erik Wistrand</name><uri>http://www.blogger.com/profile/09657028260407729508</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://www.wistrand.com/images/ew_profile.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_tDVSOAkz56M/SV_gZkg198I/AAAAAAAAAl0/LaTrrwVSM5o/s72-c/knopflerfish_on_android.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4816709533104512585.post-6109973865857794075</id><published>2008-12-20T12:16:00.000-08:00</published><updated>2008-12-20T12:40:29.720-08:00</updated><title type='text'>Knopflerfish 2.2 released</title><content type='html'>Knopflerfish 2.2. is now released and is available for download at:&lt;br /&gt;&lt;br /&gt;     &lt;a href="http://www.knopflerfish.org/download.html"&gt;http://www.knopflerfish.org/download.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;This is a maintenance release of Knopflerfish.&lt;br /&gt;&lt;br /&gt;The main new feature in this release is the new Graph View in the&lt;br /&gt;desktop. Another desktop change is that it is now completely&lt;br /&gt;self-contained, just install and use it on any R4 framework.&lt;br /&gt;&lt;br /&gt;We've made a few screen videos of the new graph view:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Starting the framework:&lt;/span&gt;&lt;br /&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/p-0hDHeIfEY&amp;amp;hl=en&amp;amp;fs=1&amp;amp;ap=%2526fmt%3D18"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;embed src="http://www.youtube.com/v/p-0hDHeIfEY&amp;amp;hl=en&amp;amp;fs=1&amp;amp;ap=%2526fmt%3D18" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Starting/stopping/uninstalling bundles:&lt;/span&gt;&lt;br /&gt;&lt;object width="480" height="295"&gt;&lt;param name="movie" value="http://www.youtube.com/v/aDZqW3NXbis&amp;amp;hl=en&amp;amp;fs=1&amp;amp;ap=%2526fmt%3D18"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;embed src="http://www.youtube.com/v/aDZqW3NXbis&amp;amp;hl=en&amp;amp;fs=1&amp;amp;ap=%2526fmt%3D18" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="295"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;A short highlight of other features and fixes are:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Framework 4.0.11&lt;br /&gt;&lt;/li&gt; &lt;ul&gt;&lt;li&gt;The OS name alias handling is now up to date&lt;/li&gt; &lt;li&gt;An issue with paths in the BundleClassPath manifest header has been fixed&lt;/li&gt; &lt;li&gt;Fragment handling during uninstall&lt;/li&gt; &lt;li&gt;A possible deadlock between registerService and refreshPackages have been removed&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;Event admin 2.0.3&lt;/li&gt;&lt;ul&gt;&lt;li&gt;Improved error handling and logging&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;Http Service 2.1.1&lt;/li&gt;&lt;ul&gt;&lt;li&gt;The actual port of a HttpService instance (specified with port 0) is now presented as a service property&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;Framework commands 2.0.5&lt;/li&gt;&lt;ul&gt;&lt;li&gt;Support for specifying an arbitrary filer expression added to several of the commands&lt;/li&gt;&lt;li&gt;The call command no longer requires the service implementation class to be public&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;Comm-win32 2.0.1&lt;/li&gt;&lt;ul&gt;&lt;li&gt;Added Windows Vista as supported osname&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;The &lt;a href="http://www.knopflerfish.org/release_notes_2.2.html"&gt;release &lt;/a&gt;&lt;a href="http://www.knopflerfish.org/release_notes_2.2.html"&gt;notes&lt;/a&gt; have the complete list of features and fixes:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Enjoy!&lt;br /&gt;&lt;br /&gt;/Gunnar, Christer, Erik&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4816709533104512585-6109973865857794075?l=knopflerfish.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://knopflerfish.blogspot.com/feeds/6109973865857794075/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4816709533104512585&amp;postID=6109973865857794075' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4816709533104512585/posts/default/6109973865857794075'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4816709533104512585/posts/default/6109973865857794075'/><link rel='alternate' type='text/html' href='http://knopflerfish.blogspot.com/2008/12/knopflerfish-22-released.html' title='Knopflerfish 2.2 released'/><author><name>Erik Wistrand</name><uri>http://www.blogger.com/profile/09657028260407729508</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://www.wistrand.com/images/ew_profile.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4816709533104512585.post-1403007390348619286</id><published>2008-12-18T02:18:00.001-08:00</published><updated>2008-12-18T02:23:44.366-08:00</updated><title type='text'>Unexpected blog post</title><content type='html'>Some of you might have noticed a seemingly non-OSGi, non-KF related, Swedish-language entry on this blog, mostly containing band photos. &lt;br /&gt;&lt;br /&gt;It &lt;span style="font-weight:bold;"&gt;was &lt;/span&gt;totally unrelated to OSGi. I mistakenly posted my latest entry intended for my photo blog &lt;a href="http://oud.blogspot.com"&gt;Obsessive Username Disorder&lt;/a&gt; on the KF blog.&lt;br /&gt;&lt;br /&gt;The entry is now removed, but feel free to read the OUD blog too :)&lt;br /&gt;&lt;br /&gt;/E&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4816709533104512585-1403007390348619286?l=knopflerfish.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://knopflerfish.blogspot.com/feeds/1403007390348619286/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4816709533104512585&amp;postID=1403007390348619286' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4816709533104512585/posts/default/1403007390348619286'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4816709533104512585/posts/default/1403007390348619286'/><link rel='alternate' type='text/html' href='http://knopflerfish.blogspot.com/2008/12/unexpected-blog-post.html' title='Unexpected blog post'/><author><name>Erik Wistrand</name><uri>http://www.blogger.com/profile/09657028260407729508</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://www.wistrand.com/images/ew_profile.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4816709533104512585.post-2884981732121133928</id><published>2008-12-12T06:19:00.000-08:00</published><updated>2008-12-12T06:29:39.501-08:00</updated><title type='text'>New graph view in the KF desktop</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_tDVSOAkz56M/SUJzlQ_xC2I/AAAAAAAAAlc/_CgY-b9o1Oo/s1600-h/desktop_graph.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 216px;" src="http://3.bp.blogspot.com/_tDVSOAkz56M/SUJzlQ_xC2I/AAAAAAAAAlc/_CgY-b9o1Oo/s320/desktop_graph.png" alt="" id="BLOGGER_PHOTO_ID_5278908797286419298" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Available as of revision 2598.  It's actually pretty useful, not only cool. Try it out by downloading the latest night build from&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.knopflerfish.org/snapshots/current_trunk/"&gt;http://www.knopflerfish.org/snapshots/current_trunk&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;...and select "Graph" from the view menu. Nodes are bundles. The left side shows packages imports and exports, the right side shows services. Exports are drawn upwards in the graph, imports downward.&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Double-click on nodes moves to another bundle (using animation)&lt;/li&gt;&lt;li&gt;Right-click shows a popup menu with some common operations&lt;/li&gt;&lt;li&gt;The faded icons on the bottom are the bundle history.&lt;/li&gt;&lt;/ul&gt;Also, we've made the desktop bundle completely standalone, so you can now easyly install it in any OSGi framework. (try it on Eclipse Ganymede with approximate 240 bundles!)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;/E&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4816709533104512585-2884981732121133928?l=knopflerfish.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://knopflerfish.blogspot.com/feeds/2884981732121133928/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4816709533104512585&amp;postID=2884981732121133928' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4816709533104512585/posts/default/2884981732121133928'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4816709533104512585/posts/default/2884981732121133928'/><link rel='alternate' type='text/html' href='http://knopflerfish.blogspot.com/2008/12/new-graph-view-in-kf-desktop.html' title='New graph view in the KF desktop'/><author><name>Erik Wistrand</name><uri>http://www.blogger.com/profile/09657028260407729508</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://www.wistrand.com/images/ew_profile.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_tDVSOAkz56M/SUJzlQ_xC2I/AAAAAAAAAlc/_CgY-b9o1Oo/s72-c/desktop_graph.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4816709533104512585.post-3690111676677966834</id><published>2008-09-14T09:08:00.001-07:00</published><updated>2008-09-14T09:25:01.186-07:00</updated><title type='text'>Knopflerfish OSGi on the iPod Touch/iPhone 2.1</title><content type='html'>Well, I don't have any iPhone, but I do have an iPod touch. I'm happy to report that Knopflerfish OSGi runs well on the newly released 2.1 firmware and JamVM 1.5.1.&lt;br /&gt;&lt;br /&gt;Quite fun, for being a Sunday. The somewhat hard part was to jailbreak my ipod touch. Then you just install JamVM, copy the usual Knopflerfish directory and do a "java -jar framework.jar"&lt;br /&gt;&lt;br /&gt;The snapshots below show the KF http and tty consoles.&lt;br /&gt;&lt;br /&gt;/E&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_tDVSOAkz56M/SM04xHMtupI/AAAAAAAAAZ0/6i2zIW1EpD8/s1600-h/knopflerfish_osgi_iphone_ipod_touch_2.png"&gt;&lt;img style="cursor: pointer; width: 171px; height: 255px;" src="http://1.bp.blogspot.com/_tDVSOAkz56M/SM04xHMtupI/AAAAAAAAAZ0/6i2zIW1EpD8/s320/knopflerfish_osgi_iphone_ipod_touch_2.png" alt="" id="BLOGGER_PHOTO_ID_5245911557353618066" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_tDVSOAkz56M/SM045kBKWlI/AAAAAAAAAZ8/De6WRLfHcgo/s1600-h/knopflerfish_osgi_iphone_ipod_touch_1.png"&gt;&lt;img style="cursor: pointer; width: 170px; height: 255px;" src="http://4.bp.blogspot.com/_tDVSOAkz56M/SM045kBKWlI/AAAAAAAAAZ8/De6WRLfHcgo/s320/knopflerfish_osgi_iphone_ipod_touch_1.png" alt="" id="BLOGGER_PHOTO_ID_5245911702528744018" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4816709533104512585-3690111676677966834?l=knopflerfish.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://knopflerfish.blogspot.com/feeds/3690111676677966834/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4816709533104512585&amp;postID=3690111676677966834' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4816709533104512585/posts/default/3690111676677966834'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4816709533104512585/posts/default/3690111676677966834'/><link rel='alternate' type='text/html' href='http://knopflerfish.blogspot.com/2008/09/knopflerfish-osgi-on-ipod-touchiphone.html' title='Knopflerfish OSGi on the iPod Touch/iPhone 2.1'/><author><name>Erik Wistrand</name><uri>http://www.blogger.com/profile/09657028260407729508</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://www.wistrand.com/images/ew_profile.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_tDVSOAkz56M/SM04xHMtupI/AAAAAAAAAZ0/6i2zIW1EpD8/s72-c/knopflerfish_osgi_iphone_ipod_touch_2.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4816709533104512585.post-3039931076413928534</id><published>2008-09-13T06:02:00.000-07:00</published><updated>2008-09-13T06:19:10.797-07:00</updated><title type='text'>Desktop Preferences editor</title><content type='html'>As of revision 2498, there's a new display in the Swing Desktop: a Preferences editor. It displays and edits both Java &lt;span style="font-family:courier new;"&gt;java.util.prefs&lt;/span&gt; and OSGi &lt;span style="font-family:courier new;"&gt;org.osgi.service.prefs&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;Grab if from the latest&lt;a href="http://www.knopflerfish.org/snapshots/current_trunk/"&gt; trunk release&lt;/a&gt;!&lt;br /&gt;&lt;br /&gt;/E&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_tDVSOAkz56M/SMu6tYCRfFI/AAAAAAAAAZk/ixvTst8AnOc/s1600-h/desktop_prefs.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://4.bp.blogspot.com/_tDVSOAkz56M/SMu6tYCRfFI/AAAAAAAAAZk/ixvTst8AnOc/s320/desktop_prefs.png" alt="" id="BLOGGER_PHOTO_ID_5245491479711939666" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;P.S. To actually implement the prefs editor, we sneaked in a part of the R4.1 spec, namely the &lt;span style="font-family: courier new;"&gt;Bundle.getBundleContext()&lt;/span&gt; method. For the curious, this was because no admin service was defined to the OSGi prefs API, thus making it necessary to grab other bundle's context (yeah, with the appropriate permisson). Still, the prefs editor will work on older/other frameworks (including the big four) thanks to some reflection hacks :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4816709533104512585-3039931076413928534?l=knopflerfish.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://knopflerfish.blogspot.com/feeds/3039931076413928534/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4816709533104512585&amp;postID=3039931076413928534' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4816709533104512585/posts/default/3039931076413928534'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4816709533104512585/posts/default/3039931076413928534'/><link rel='alternate' type='text/html' href='http://knopflerfish.blogspot.com/2008/09/desktop-preferences-editor.html' title='Desktop Preferences editor'/><author><name>Erik Wistrand</name><uri>http://www.blogger.com/profile/09657028260407729508</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://www.wistrand.com/images/ew_profile.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_tDVSOAkz56M/SMu6tYCRfFI/AAAAAAAAAZk/ixvTst8AnOc/s72-c/desktop_prefs.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4816709533104512585.post-6737638982070352030</id><published>2008-08-29T06:20:00.000-07:00</published><updated>2008-08-31T11:44:31.043-07:00</updated><title type='text'>Knopflerfish OSGi on the iPhone</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_tDVSOAkz56M/SLf4X8--evI/AAAAAAAAAYc/4T-MYWnpYsg/s1600-h/kf_on_iphone_1.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="http://3.bp.blogspot.com/_tDVSOAkz56M/SLf4X8--evI/AAAAAAAAAYc/4T-MYWnpYsg/s320/kf_on_iphone_1.jpg" alt="" id="BLOGGER_PHOTO_ID_5239929781859810034" border="0" /&gt;&lt;/a&gt;We have reports of KF running on the iPhone (firmware 2.0.2 + JamVM 1.5)! The photo shows the KF HTTP admin UI up and running.&lt;br /&gt;&lt;br /&gt;/E&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Update 2008-08-31&lt;/span&gt;: We just got two more screenshots of KF on the iPhone (thanks Yuuki!):&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_tDVSOAkz56M/SLrk339yKbI/AAAAAAAAAZE/Uu5X-aZnPhk/s1600-h/console.PNG"&gt;&lt;img style="cursor: pointer;" src="http://2.bp.blogspot.com/_tDVSOAkz56M/SLrk339yKbI/AAAAAAAAAZE/Uu5X-aZnPhk/s200/console.PNG" alt="" id="BLOGGER_PHOTO_ID_5240752764966021554" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_tDVSOAkz56M/SLrlE4L1TFI/AAAAAAAAAZM/uKqro7SUX-o/s1600-h/httpconsole.PNG"&gt;&lt;img style="cursor: pointer;" src="http://1.bp.blogspot.com/_tDVSOAkz56M/SLrlE4L1TFI/AAAAAAAAAZM/uKqro7SUX-o/s200/httpconsole.PNG" alt="" id="BLOGGER_PHOTO_ID_5240752988363246674" border="0" /&gt;&lt;/a&gt;&lt;pre wrap=""&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family: arial; font-style: italic;"&gt;the TTY console and the HTTP console, click for larger views&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4816709533104512585-6737638982070352030?l=knopflerfish.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://knopflerfish.blogspot.com/feeds/6737638982070352030/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4816709533104512585&amp;postID=6737638982070352030' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4816709533104512585/posts/default/6737638982070352030'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4816709533104512585/posts/default/6737638982070352030'/><link rel='alternate' type='text/html' href='http://knopflerfish.blogspot.com/2008/08/knopflerfish-osgi-on-iphone.html' title='Knopflerfish OSGi on the iPhone'/><author><name>Erik Wistrand</name><uri>http://www.blogger.com/profile/09657028260407729508</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://www.wistrand.com/images/ew_profile.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_tDVSOAkz56M/SLf4X8--evI/AAAAAAAAAYc/4T-MYWnpYsg/s72-c/kf_on_iphone_1.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4816709533104512585.post-6684403110977596484</id><published>2008-08-28T06:12:00.000-07:00</published><updated>2008-08-28T13:53:59.108-07:00</updated><title type='text'>Desktop event displayer</title><content type='html'>We're working on making the Knopflerfish graphical desktop better! The first step, available as of &lt;a href="http://www.knopflerfish.org/snapshots/2.1.1.snapshot_trunk_2482/"&gt;build 2482&lt;/a&gt;, is support for framework events. Now any event topic can be displayed in a manner similar to the log view.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_tDVSOAkz56M/SLalO-TK-QI/AAAAAAAAAYM/bQUxK-qCYDg/s1600-h/events1.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://2.bp.blogspot.com/_tDVSOAkz56M/SLalO-TK-QI/AAAAAAAAAYM/bQUxK-qCYDg/s320/events1.png" alt="" id="BLOGGER_PHOTO_ID_5239556893152311554" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Yes, multiple event views may be open at the same time, listening to different topics and filters. Also, events can be manually entered and posted (even using an existing event as a template):&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_tDVSOAkz56M/SLalhuyaFuI/AAAAAAAAAYU/gnTB5h11bZ0/s1600-h/events2.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://1.bp.blogspot.com/_tDVSOAkz56M/SLalhuyaFuI/AAAAAAAAAYU/gnTB5h11bZ0/s320/events2.png" alt="" id="BLOGGER_PHOTO_ID_5239557215405872866" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;It's available in the &lt;a href="http://www.knopflerfish.org/snapshots/2.1.1.snapshot_trunk_2482/osgi/jars/desktop/desktop_all-2.1.0.jar"&gt;desktop bundle version 2.1.0&lt;/a&gt;, which should run on your OSGi framework of choice.&lt;br /&gt;&lt;br /&gt;Do try it out.&lt;br /&gt;&lt;br /&gt;/Erik W&lt;br /&gt;&lt;br /&gt;P.S. Yeah, you can use the trunk's &lt;a href="http://www.knopflerfish.org/snapshots/current_trunk/repository.xml"&gt;bundle repository&lt;/a&gt; for even easier install.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4816709533104512585-6684403110977596484?l=knopflerfish.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://knopflerfish.blogspot.com/feeds/6684403110977596484/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4816709533104512585&amp;postID=6684403110977596484' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4816709533104512585/posts/default/6684403110977596484'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4816709533104512585/posts/default/6684403110977596484'/><link rel='alternate' type='text/html' href='http://knopflerfish.blogspot.com/2008/08/desktop-event-displayer.html' title='Desktop event displayer'/><author><name>Erik Wistrand</name><uri>http://www.blogger.com/profile/09657028260407729508</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://www.wistrand.com/images/ew_profile.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_tDVSOAkz56M/SLalO-TK-QI/AAAAAAAAAYM/bQUxK-qCYDg/s72-c/events1.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4816709533104512585.post-3074357126948989746</id><published>2008-06-18T07:09:00.000-07:00</published><updated>2008-12-09T16:05:15.147-08:00</updated><title type='text'>Welcome to the Knopflerfish blog</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.knopflerfish.org/download.html#2.1.0"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="http://4.bp.blogspot.com/_tDVSOAkz56M/SFkYArLu1YI/AAAAAAAAAXE/O8y-UmZ6D5A/s200/bones_100.png" alt="" id="BLOGGER_PHOTO_ID_5213224443529057666" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;...because it feels much easier to blog :)&lt;br /&gt;&lt;br /&gt;and, yes, there's a new &lt;a href="http://www.knopflerfish.org/download.html#2.1.0"&gt;KF 2.10 release&lt;/a&gt; as well as new logo!&lt;br /&gt;&lt;br /&gt;/E&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4816709533104512585-3074357126948989746?l=knopflerfish.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://knopflerfish.blogspot.com/feeds/3074357126948989746/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4816709533104512585&amp;postID=3074357126948989746' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4816709533104512585/posts/default/3074357126948989746'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4816709533104512585/posts/default/3074357126948989746'/><link rel='alternate' type='text/html' href='http://knopflerfish.blogspot.com/2008/06/welcome-to-knopflerfish-blog.html' title='Welcome to the Knopflerfish blog'/><author><name>Erik Wistrand</name><uri>http://www.blogger.com/profile/09657028260407729508</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://www.wistrand.com/images/ew_profile.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_tDVSOAkz56M/SFkYArLu1YI/AAAAAAAAAXE/O8y-UmZ6D5A/s72-c/bones_100.png' height='72' width='72'/><thr:total>0</thr:total></entry></feed>
